@uluops/registry-mcp 0.12.0 → 0.13.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
|
@@ -4,10 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
### Added
|
|
6
6
|
|
|
7
|
+
- `batch_users` accepts `format: 'envelope'` to expose validated found/missing user IDs, with canonical lowercase UUIDs deduplicated in request order. Default map output is preserved.
|
|
8
|
+
|
|
7
9
|
- Unsupported `name-v1` capability errors retain their code/tool context and explain that no keyword fallback was performed.
|
|
8
10
|
- Exact-name and literal-prefix discovery with `name`/`match` on `list_definitions` and `match` on `search_definitions`; existing keyword searches retain their behavior.
|
|
9
11
|
- Page, sort, and order on `search_definitions`, and optional FULLTEXT relevance in compact list rows.
|
|
10
12
|
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Pin `@uluops/registry-sdk` to 0.60.0 from public npm for the F19 response contract; replace the local Verdaccio SDK lock resolution for cold consumer installs.
|
|
16
|
+
|
|
11
17
|
### Fixed
|
|
12
18
|
|
|
13
19
|
- Resolve the SDK consumer lockfile against npmjs and refresh the existing sdk-core integrity for cold installs.
|
|
@@ -15,6 +21,9 @@
|
|
|
15
21
|
- List page requests without a limit now explicitly send limit 50, keeping offset calculation and server page size aligned.
|
|
16
22
|
- Numeric parameter coercion remains available for schemas with search combination refinements.
|
|
17
23
|
|
|
24
|
+
### Security
|
|
25
|
+
- Update the Hono override to 4.13.7 and resolve proxy-addr 2.0.8 to clear inherited production advisories before the F19 release.
|
|
26
|
+
|
|
18
27
|
## [0.11.4] - 2026-10-03
|
|
19
28
|
|
|
20
29
|
### Changed
|
package/README.md
CHANGED
|
@@ -198,7 +198,7 @@ Lifecycle refusals now carry `allowedTransitions`; blocked deletion carries `blo
|
|
|
198
198
|
|------|-------------|
|
|
199
199
|
| `record_execution` | Record a definition execution (idempotent). Admin-only — executions are recorded automatically by the runtime; user keys get a 403 explaining this |
|
|
200
200
|
| `get_user` | Get public user profile |
|
|
201
|
-
| `batch_users` | Batch user lookup (max 100) |
|
|
201
|
+
| `batch_users` | Batch user lookup (max 100); optional `format: 'envelope'` returns `{data,foundIds,missingIds}` |
|
|
202
202
|
|
|
203
203
|
### Analytics (P3)
|
|
204
204
|
| Tool | Description |
|
|
@@ -302,3 +302,10 @@ by OR-any and are not keyword searched. Actual FULLTEXT rows may include numeric
|
|
|
302
302
|
`relevance`, retained in compact list output. Search responses retain the full
|
|
303
303
|
list rows. A list request with `page` and no `limit` explicitly uses limit 50,
|
|
304
304
|
matching the API's default; MCP limits remain capped at 100.
|
|
305
|
+
|
|
306
|
+
`batch_users` defaults to the existing map (`format: 'map'` is also accepted).
|
|
307
|
+
With `format: 'envelope'`, UUID inputs are normalized to lowercase and deduplicated
|
|
308
|
+
in request order; both ID arrays use that order and canonical spelling. Unknown,
|
|
309
|
+
deleted, and null profiles appear in `missingIds`. The 100-input limit applies
|
|
310
|
+
before deduplication. The SDK requires consistent producer `found`/`notFound`
|
|
311
|
+
metadata and returns a response-validation error when it is absent or invalid.
|
|
@@ -8,10 +8,13 @@ import type { RegistryClient } from '@uluops/registry-sdk';
|
|
|
8
8
|
import { type McpServerToolRegistration } from '../types/index.js';
|
|
9
9
|
export declare const BatchUsersInputSchema: z.ZodObject<{
|
|
10
10
|
ids: z.ZodArray<z.ZodString, "many">;
|
|
11
|
+
format: z.ZodOptional<z.ZodEnum<["map", "envelope"]>>;
|
|
11
12
|
}, "strip", z.ZodTypeAny, {
|
|
12
13
|
ids: string[];
|
|
14
|
+
format?: "map" | "envelope" | undefined;
|
|
13
15
|
}, {
|
|
14
16
|
ids: string[];
|
|
17
|
+
format?: "map" | "envelope" | undefined;
|
|
15
18
|
}>;
|
|
16
19
|
export declare function registerBatchUsersTool(server: McpServerToolRegistration, registryClient: RegistryClient): void;
|
|
17
20
|
//# sourceMappingURL=batch-users.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-users.d.ts","sourceRoot":"","sources":["../../src/tools/batch-users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"batch-users.d.ts","sourceRoot":"","sources":["../../src/tools/batch-users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,cAAc,GAC7B,IAAI,CASN"}
|
|
@@ -7,8 +7,11 @@ import { z } from 'zod';
|
|
|
7
7
|
import { createToolHandler } from '../utils/tool-handler.js';
|
|
8
8
|
export const BatchUsersInputSchema = z.object({
|
|
9
9
|
ids: z.array(z.string().min(1)).min(1).max(100),
|
|
10
|
+
format: z.enum(['map', 'envelope']).optional(),
|
|
10
11
|
});
|
|
11
12
|
export function registerBatchUsersTool(server, registryClient) {
|
|
12
|
-
server.tool('batch_users', 'Batch lookup of public user profiles by IDs (max 100).', BatchUsersInputSchema.shape, createToolHandler(BatchUsersInputSchema, (n) =>
|
|
13
|
+
server.tool('batch_users', 'Batch lookup of public user profiles by IDs (max 100). Optional format=envelope returns data, foundIds and missingIds with lowercase UUIDs deduplicated in request order; default is a map.', BatchUsersInputSchema.shape, createToolHandler(BatchUsersInputSchema, (n) => n.format === 'envelope'
|
|
14
|
+
? registryClient.users.batch(n.ids, { format: 'envelope' })
|
|
15
|
+
: registryClient.users.batch(n.ids), { toolName: 'batch_users' }));
|
|
13
16
|
}
|
|
14
17
|
//# sourceMappingURL=batch-users.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-users.js","sourceRoot":"","sources":["../../src/tools/batch-users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-users.js","sourceRoot":"","sources":["../../src/tools/batch-users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CACpC,MAAiC,EACjC,cAA8B;IAE9B,MAAM,CAAC,IAAI,CACT,aAAa,EACb,6LAA6L,EAC7L,qBAAqB,CAAC,KAAK,EAC3B,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;QACrE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC3D,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CACpE,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uluops/registry-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.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.60.0",
|
|
66
66
|
"@uluops/sdk-core": "0.18.1",
|
|
67
67
|
"mcp-secure-server": "0.0.25-security",
|
|
68
68
|
"zod": "3.25.76"
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"vitest": "4.1.8"
|
|
82
82
|
},
|
|
83
83
|
"overrides": {
|
|
84
|
-
"hono": "4.13.
|
|
84
|
+
"hono": "4.13.7",
|
|
85
85
|
"@hono/node-server": "2.0.12"
|
|
86
86
|
}
|
|
87
87
|
}
|