@uluops/registry-mcp 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.10.0] - 2026-09-27
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- `render_definition` keeps the current stored-profile behavior when `render_profile` is omitted and returns an advisory recommending explicit `core`. The next major release will default omission to `core`; existing full-profile callers should pass `render_profile="uluops-full"`.
|
|
10
|
+
|
|
5
11
|
## [0.9.0] - 2026-09-26
|
|
6
12
|
|
|
7
13
|
### Added
|
package/README.md
CHANGED
|
@@ -108,6 +108,11 @@ compare_effectiveness({ type: "agent", name: "code-validator", versions: ["1.0.0
|
|
|
108
108
|
| `validate_definition` | Validate YAML without storing (accepts `yaml` or `file_path`) |
|
|
109
109
|
| `render_definition` | Get rendered markdown for a definition. `output_path` writes directly to a file |
|
|
110
110
|
|
|
111
|
+
For a portable prompt, pass `render_profile: "core"` explicitly. Until the
|
|
112
|
+
next major release, omitting `render_profile` retains the Registry's stored
|
|
113
|
+
profile and returns an advisory; the next major will default omission to
|
|
114
|
+
`core`. Pass `render_profile: "uluops-full"` to keep the full-profile behavior.
|
|
115
|
+
|
|
111
116
|
### Definition management (P1)
|
|
112
117
|
| Tool | Description |
|
|
113
118
|
|------|-------------|
|
|
@@ -11,7 +11,7 @@ export declare const RenderDefinitionInputSchema: z.ZodObject<{
|
|
|
11
11
|
type: z.ZodOptional<z.ZodEnum<["agent", "command", "workflow", "pipeline"]>>;
|
|
12
12
|
name: z.ZodString;
|
|
13
13
|
version: z.ZodDefault<z.ZodString>;
|
|
14
|
-
|
|
14
|
+
render_profile: z.ZodOptional<z.ZodEnum<["core", "uluops-full"]>>;
|
|
15
15
|
target: z.ZodOptional<z.ZodString>;
|
|
16
16
|
model: z.ZodOptional<z.ZodString>;
|
|
17
17
|
output_path: z.ZodOptional<z.ZodString>;
|
|
@@ -21,7 +21,7 @@ export declare const RenderDefinitionInputSchema: z.ZodObject<{
|
|
|
21
21
|
version: string;
|
|
22
22
|
overwrite: boolean;
|
|
23
23
|
type?: "agent" | "command" | "workflow" | "pipeline" | undefined;
|
|
24
|
-
|
|
24
|
+
render_profile?: "core" | "uluops-full" | undefined;
|
|
25
25
|
target?: string | undefined;
|
|
26
26
|
model?: string | undefined;
|
|
27
27
|
output_path?: string | undefined;
|
|
@@ -29,7 +29,7 @@ export declare const RenderDefinitionInputSchema: z.ZodObject<{
|
|
|
29
29
|
name: string;
|
|
30
30
|
type?: "agent" | "command" | "workflow" | "pipeline" | undefined;
|
|
31
31
|
version?: string | undefined;
|
|
32
|
-
|
|
32
|
+
render_profile?: "core" | "uluops-full" | undefined;
|
|
33
33
|
target?: string | undefined;
|
|
34
34
|
model?: string | undefined;
|
|
35
35
|
output_path?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-definition.d.ts","sourceRoot":"","sources":["../../src/tools/render-definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAEL,KAAK,yBAAyB,EAG/B,MAAM,mBAAmB,CAAC;AAc3B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BtC,CAAC;AAEH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,cAAc,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"render-definition.d.ts","sourceRoot":"","sources":["../../src/tools/render-definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAEL,KAAK,yBAAyB,EAG/B,MAAM,mBAAmB,CAAC;AAc3B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BtC,CAAC;AAEH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,cAAc,GAC7B,IAAI,CAsHN"}
|
|
@@ -24,9 +24,9 @@ export const RenderDefinitionInputSchema = z.object({
|
|
|
24
24
|
type: DefinitionTypeWithDefaultSchema,
|
|
25
25
|
name: z.string().min(1),
|
|
26
26
|
version: z.string().min(1).default('latest'),
|
|
27
|
-
|
|
27
|
+
render_profile: z
|
|
28
28
|
.enum(['core', 'uluops-full'])
|
|
29
|
-
.describe("Render profile. '
|
|
29
|
+
.describe("Render profile. Omission retains the Registry's stored profile (currently 'uluops-full'). Pass 'core' explicitly for a clean prompt with no UluOps-specific sections. Omission will select 'core' in the next major release.")
|
|
30
30
|
.optional(),
|
|
31
31
|
target: z
|
|
32
32
|
.string()
|
|
@@ -49,11 +49,22 @@ export const RenderDefinitionInputSchema = z.object({
|
|
|
49
49
|
.default(false),
|
|
50
50
|
});
|
|
51
51
|
export function registerRenderDefinitionTool(server, registryClient) {
|
|
52
|
-
const baseHandler = createToolHandler(RenderDefinitionInputSchema, (n) =>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
const baseHandler = createToolHandler(RenderDefinitionInputSchema, async (n) => {
|
|
53
|
+
const profileWasOmitted = n.renderProfile === undefined;
|
|
54
|
+
const effectiveRenderProfile = n.renderProfile ?? 'uluops-full';
|
|
55
|
+
const result = await registryClient.render.get(n.type, n.name, n.version, {
|
|
56
|
+
target: n.target,
|
|
57
|
+
model: n.model,
|
|
58
|
+
renderProfile: effectiveRenderProfile,
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
...result,
|
|
62
|
+
renderProfile: result.renderProfile ?? effectiveRenderProfile,
|
|
63
|
+
...(profileWasOmitted && {
|
|
64
|
+
advisory: "Omitted render_profile used 'uluops-full'. Pass render_profile='core' for a clean prompt; omission will select core in the next major release.",
|
|
65
|
+
}),
|
|
66
|
+
};
|
|
67
|
+
}, { toolName: 'render_definition' });
|
|
57
68
|
server.tool('render_definition', 'Get the rendered runtime output for a definition version. Use target to render for a specific harness (opencode, codex, gemini). Use output_path to write directly to a file.', RenderDefinitionInputSchema.shape, async (args) => {
|
|
58
69
|
const parsed = RenderDefinitionInputSchema.safeParse(args);
|
|
59
70
|
// RG4: this tool parses its own input, so resolve the session default
|
|
@@ -103,7 +114,7 @@ export function registerRenderDefinitionTool(server, registryClient) {
|
|
|
103
114
|
return baseHandler(args);
|
|
104
115
|
}
|
|
105
116
|
try {
|
|
106
|
-
const result = await registryClient.render.get(resolvedType, parsed.data.name, parsed.data.version, { target: parsed.data.target, model: parsed.data.model, renderProfile: parsed.data.
|
|
117
|
+
const result = await registryClient.render.get(resolvedType, parsed.data.name, parsed.data.version, { target: parsed.data.target, model: parsed.data.model, renderProfile: parsed.data.render_profile ?? 'uluops-full' });
|
|
107
118
|
// SDK RenderResult guarantees markdown: string
|
|
108
119
|
const { markdown } = result;
|
|
109
120
|
if (typeof markdown !== 'string') {
|
|
@@ -115,6 +126,10 @@ export function registerRenderDefinitionTool(server, registryClient) {
|
|
|
115
126
|
success: true,
|
|
116
127
|
output_path: absPath,
|
|
117
128
|
bytes: Buffer.byteLength(markdown, 'utf-8'),
|
|
129
|
+
renderProfile: result.renderProfile ?? parsed.data.render_profile ?? 'uluops-full',
|
|
130
|
+
...(parsed.data.render_profile === undefined && {
|
|
131
|
+
advisory: "Omitted render_profile used 'uluops-full'. Pass render_profile='core' for a clean prompt; omission will select core in the next major release.",
|
|
132
|
+
}),
|
|
118
133
|
});
|
|
119
134
|
}
|
|
120
135
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-definition.js","sourceRoot":"","sources":["../../src/tools/render-definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,+BAA+B,EAE/B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEnF;;;;;GAKG;AACH,SAAS,gBAAgB;IACvB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5C,
|
|
1
|
+
{"version":3,"file":"render-definition.js","sourceRoot":"","sources":["../../src/tools/render-definition.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uluops/registry-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "MCP server for the UluOps Registry API — definition management, versioning, and analytics",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
65
|
-
"@uluops/registry-sdk": "0.
|
|
65
|
+
"@uluops/registry-sdk": "^0.56.0",
|
|
66
66
|
"@uluops/sdk-core": "0.18.0",
|
|
67
67
|
"mcp-secure-server": "0.0.25-security",
|
|
68
68
|
"zod": "3.25.76"
|