Skip to content

Commit 4246e91

Browse files
committed
Merge worktree-wizards-purge-2026-05-27 — purge wizards references from all committed artifacts
2 parents b40e360 + 996683f commit 4246e91

19 files changed

Lines changed: 173 additions & 63 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
9999
### Changed
100100
- Conformance fixtures `provider-extension-new-subtype-success` and
101101
`provider-extension-missing-provider-fails` swap their test-only provider
102-
from `wizards-template-toolcall` (now meaningless — toolcall is core) to
103-
`wizards-template-briefing` (a hypothetical briefing template, clearly
102+
from `example-template-toolcall` (now meaningless — toolcall is core) to
103+
`example-template-briefing` (a hypothetical briefing template, clearly
104104
fictional). The fixtures still demonstrate `registry.register` of a new
105105
subtype, just using a name that doesn't collide with the new core
106106
subtype. TS / C# / Python adapter providers and fixture inputs/expected
@@ -176,7 +176,7 @@ documented behavior.
176176
- **5 conformance fixtures** under `fixtures/conformance/` exercising
177177
the contract cross-port:
178178
`provider-extension-new-subtype-success` (positive: a test-only
179-
`wizards-template-toolcall` provider registers `template.toolcall`),
179+
`example-template-toolcall` provider registers `template.toolcall`),
180180
`provider-extension-missing-provider-fails` (`ERR_UNKNOWN_SUBTYPE`),
181181
`provider-extension-dependency-cycle` (`ERR_PROVIDER_DEPENDENCY_CYCLE`),
182182
`provider-extension-missing-dependency`

docs/features/extending-with-providers.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ import {
5757
ATTR_SUBTYPE_STRING,
5858
} from "@metaobjectsdev/metadata";
5959

60-
export const wizardsToolcallProvider: MetaDataTypeProvider = {
61-
id: "wizards-template-toolcall",
60+
export const exampleToolcallProvider: MetaDataTypeProvider = {
61+
id: "example-template-toolcall",
6262
dependencies: ["metaobjects-core-types"],
6363
description: "Adds template.toolcall for LLM tool-use templates.",
6464
registerTypes(registry) {
@@ -105,10 +105,10 @@ dependency order, skipping any ambient discovery.**
105105
```ts
106106
// TypeScript
107107
import { loadMemory } from "@metaobjectsdev/sdk";
108-
import { wizardsToolcallProvider } from "./codegen/providers";
108+
import { exampleToolcallProvider } from "./codegen/providers";
109109

110110
const root = await loadMemory("./", {
111-
providers: [wizardsToolcallProvider], // composed AFTER core providers
111+
providers: [exampleToolcallProvider], // composed AFTER core providers
112112
});
113113
```
114114

@@ -120,7 +120,7 @@ var loader = MetaDataLoader.FromDirectory("./metadata", registry);
120120

121121
```python
122122
# Python
123-
loader = MetaDataLoader.from_directory("./metadata", providers=[wizards_toolcall_provider])
123+
loader = MetaDataLoader.from_directory("./metadata", providers=[example_toolcall_provider])
124124
```
125125

126126
```java

docs/ports/java.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@ class on the classpath, list its FQCN in
9999
alongside the core providers:
100100

101101
```java
102-
// src/main/java/com/example/wizards/WizardsToolcallProvider.java
103-
package com.example.wizards;
102+
// src/main/java/com/example/providers/ExampleToolcallProvider.java
103+
package com.example.providers;
104104

105105
import com.metaobjects.registry.MetaDataTypeProvider;
106106
import com.metaobjects.registry.MetaDataRegistry;
107107

108-
public class WizardsToolcallProvider implements MetaDataTypeProvider {
109-
@Override public String getProviderId() { return "wizards-template-toolcall"; }
108+
public class ExampleToolcallProvider implements MetaDataTypeProvider {
109+
@Override public String getProviderId() { return "example-template-toolcall"; }
110110
@Override public String[] getDependencies() { return new String[] { "core-types" }; }
111111
@Override public void registerTypes(MetaDataRegistry registry) {
112112
// registry.register(...) — see the cross-port contract
@@ -116,7 +116,7 @@ public class WizardsToolcallProvider implements MetaDataTypeProvider {
116116

117117
```
118118
# src/main/resources/META-INF/services/com.metaobjects.registry.MetaDataTypeProvider
119-
com.example.wizards.WizardsToolcallProvider
119+
com.example.providers.ExampleToolcallProvider
120120
```
121121

122122
The provider contract is structurally identical to TS / C# / Python (id +

docs/recipes/extending-metaobjects-with-providers.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Extending MetaObjects with a custom provider
22

33
This recipe walks through adding a new metamodel subtype to a downstream
4-
project — using the same `wizards-template-toolcall` example the conformance
4+
project — using the same `example-template-toolcall` example the conformance
55
fixtures use, so the example here matches a real test that runs in TS, C#,
66
and Python.
77

@@ -24,7 +24,7 @@ envelope your app needs to drive Anthropic's `tool_use` mode. You want:
2424
functions.
2525

2626
The recipe shows steps 1 + 2. Step 3 (the custom generator) follows the
27-
existing `wizardRegistry` pattern in this repo — see
27+
existing `exampleRegistry` pattern in this repo — see
2828
[`features/templates-and-payloads.md`](../features/templates-and-payloads.md)
2929
for how custom generators walk MO-typed metadata.
3030

@@ -33,7 +33,7 @@ for how custom generators walk MO-typed metadata.
3333
A provider is ~25 lines. Drop it next to your codegen config:
3434

3535
```ts
36-
// src/codegen/wizards-provider.ts
36+
// src/codegen/example-provider.ts
3737
import {
3838
type MetaDataTypeProvider,
3939
TYPE_TEMPLATE,
@@ -44,8 +44,8 @@ import {
4444
ATTR_SUBTYPE_STRING,
4545
} from "@metaobjectsdev/metadata";
4646

47-
export const wizardsProvider: MetaDataTypeProvider = {
48-
id: "wizards-template-toolcall",
47+
export const exampleProvider: MetaDataTypeProvider = {
48+
id: "example-template-toolcall",
4949
dependencies: ["metaobjects-core-types"],
5050
description: "Adds template.toolcall for LLM tool-use templates.",
5151
registerTypes(registry) {
@@ -89,12 +89,12 @@ Notable bits:
8989
// metaobjects.config.ts
9090
import { defineConfig } from "@metaobjectsdev/cli";
9191
import { entityFile, queriesFile, barrel, promptRender } from "@metaobjectsdev/codegen-ts/generators";
92-
import { wizardsProvider } from "./src/codegen/wizards-provider";
92+
import { exampleProvider } from "./src/codegen/example-provider";
9393

9494
export default defineConfig({
9595
outDir: "src/db/generated",
9696
dialect: "sqlite",
97-
providers: [wizardsProvider], // ← the new field
97+
providers: [exampleProvider], // ← the new field
9898
generators: [entityFile(), queriesFile(), barrel(), promptRender()],
9999
});
100100
```
@@ -108,20 +108,20 @@ tooling sees the same metamodel.
108108
```jsonc
109109
// metaobjects/meta.toolcalls.json
110110
{ "metadata.root": {
111-
"package": "wizards",
111+
"package": "examples",
112112
"children": [
113113
{ "object.value": {
114-
"name": "WizardCall",
114+
"name": "ToolCall",
115115
"children": [
116116
{ "field.string": { "name": "spell" } },
117117
{ "field.string": { "name": "target" } }
118118
]
119119
}},
120120
{ "template.toolcall": {
121-
"name": "InvokeWizard",
122-
"@payloadRef": "WizardCall",
123-
"@textRef": "wizards/invoke",
124-
"@toolName": "invoke_wizard"
121+
"name": "InvokeTool",
122+
"@payloadRef": "ToolCall",
123+
"@textRef": "tools/invoke",
124+
"@toolName": "invoke_tool"
125125
}}
126126
]
127127
}}
@@ -132,23 +132,23 @@ YAML works just as well:
132132
```yaml
133133
# metaobjects/meta.toolcalls.yaml
134134
metadata:
135-
package: wizards
135+
package: examples
136136
children:
137137
- object.value:
138-
name: WizardCall
138+
name: ToolCall
139139
children:
140140
- field.string: { name: spell }
141141
- field.string: { name: target }
142142
- template.toolcall:
143-
name: InvokeWizard
144-
"@payloadRef": WizardCall
145-
"@textRef": wizards/invoke
146-
"@toolName": invoke_wizard
143+
name: InvokeTool
144+
"@payloadRef": ToolCall
145+
"@textRef": tools/invoke
146+
"@toolName": invoke_tool
147147
```
148148
149149
Run `meta gen` and the loader recognizes `template.toolcall`, validates the
150150
three required attrs, and resolves `@payloadRef` against the package's
151-
`WizardCall` value-object.
151+
`ToolCall` value-object.
152152

153153
## 4. What you get from this
154154

@@ -160,8 +160,8 @@ Once the provider is wired, three things happen automatically:
160160
- **A traversable AST.** Custom code generators can walk
161161
`root.ownChildren().filter((c) => c.type === "template" && c.subType === "toolcall")`
162162
to find every toolcall declaration. The
163-
[`wizards-template-toolcall` example in
164-
the canonical pattern is the existing `wizardRegistry` generator: it walks
163+
[`example-template-toolcall` example in
164+
the canonical pattern is the existing `exampleRegistry` generator: it walks
165165
`root.ownChildren()` filtered by `(type, subType)` and emits one TS file per
166166
matched node. Custom toolcall generators do the same — emit
167167
`callEmit<Name>(params)` wrapper functions, one per toolcall declaration.
@@ -178,12 +178,12 @@ $ meta gen
178178
179179
$ meta verify
180180
✓ No metadata drift. 4 providers composed:
181-
metaobjects-core-types, metaobjects-forge, metaobjects-documentation, wizards-template-toolcall
181+
metaobjects-core-types, metaobjects-forge, metaobjects-documentation, example-template-toolcall
182182
```
183183

184184
## What happens when the provider is missing
185185

186-
Forget to add `providers: [wizardsProvider]` to `defineConfig` (or to delete
186+
Forget to add `providers: [exampleProvider]` to `defineConfig` (or to delete
187187
the provider entirely), and the same metadata fails to load:
188188

189189
```
@@ -208,7 +208,7 @@ is the API surface for loader composition. See the per-port quickstarts:
208208

209209
The provider object itself is structurally identical across languages
210210
(id + dependencies + description + a body that calls `registry.register` or
211-
`registry.extend`). A C# port of `wizardsProvider` reads exactly like the TS
211+
`registry.extend`). A C# port of `exampleProvider` reads exactly like the TS
212212
version with C# spelling.
213213

214214
## When NOT to write a provider
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata.root": {
3-
"package": "wizards",
3+
"package": "examples",
44
"children": []
55
}
66
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata.root": {
3-
"package": "wizards",
3+
"package": "examples",
44
"children": []
55
}
66
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata.root": {
3-
"package": "wizards",
3+
"package": "examples",
44
"children": []
55
}
66
}

fixtures/conformance/provider-extension-missing-provider-fails/input/meta.briefing.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata.root": {
3-
"package": "wizards",
3+
"package": "examples",
44
"children": [
55
{
66
"object.value": {

fixtures/conformance/provider-extension-new-subtype-success/expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata.root": {
3-
"package": "wizards",
3+
"package": "examples",
44
"children": [
55
{
66
"object.value": {

fixtures/conformance/provider-extension-new-subtype-success/input/meta.briefing.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata.root": {
3-
"package": "wizards",
3+
"package": "examples",
44
"children": [
55
{
66
"object.value": {

0 commit comments

Comments
 (0)