@weave-kit/engine 0.3.0 → 0.4.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.
Files changed (46) hide show
  1. package/README.md +6 -1
  2. package/dist/adapters/mcp/generate.d.ts +16 -9
  3. package/dist/adapters/mcp/generate.d.ts.map +1 -1
  4. package/dist/adapters/mcp/generate.js +107 -195
  5. package/dist/adapters/mcp/generate.js.map +1 -1
  6. package/dist/adapters/mcp/tools.d.ts +5 -6
  7. package/dist/adapters/mcp/tools.d.ts.map +1 -1
  8. package/dist/adapters/mcp/tools.js +36 -21
  9. package/dist/adapters/mcp/tools.js.map +1 -1
  10. package/dist/adapters/mcp/types.d.ts +3 -3
  11. package/dist/adapters/mcp/types.d.ts.map +1 -1
  12. package/dist/adapters/mcp/types.js +2 -2
  13. package/dist/adapters/mcp/types.js.map +1 -1
  14. package/dist/cli/commands/field-types.d.ts +13 -0
  15. package/dist/cli/commands/field-types.d.ts.map +1 -0
  16. package/dist/cli/commands/field-types.js +131 -0
  17. package/dist/cli/commands/field-types.js.map +1 -0
  18. package/dist/cli/commands/introspect.d.ts.map +1 -1
  19. package/dist/cli/commands/introspect.js +6 -1
  20. package/dist/cli/commands/introspect.js.map +1 -1
  21. package/dist/cli/index.js +13 -0
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/types/commands.d.ts +8 -0
  24. package/dist/cli/types/commands.d.ts.map +1 -1
  25. package/dist/cli/types/index.d.ts +1 -1
  26. package/dist/cli/types/index.d.ts.map +1 -1
  27. package/dist/cli/types/values.d.ts +2 -0
  28. package/dist/cli/types/values.d.ts.map +1 -1
  29. package/dist/cli/types/values.js +2 -0
  30. package/dist/cli/types/values.js.map +1 -1
  31. package/dist/core/storage/introspect.d.ts +3 -0
  32. package/dist/core/storage/introspect.d.ts.map +1 -1
  33. package/dist/core/storage/introspect.js +35 -6
  34. package/dist/core/storage/introspect.js.map +1 -1
  35. package/dist/core/tools/values.d.ts +13 -9
  36. package/dist/core/tools/values.d.ts.map +1 -1
  37. package/dist/core/tools/values.js +14 -11
  38. package/dist/core/tools/values.js.map +1 -1
  39. package/dist/core/types/field-type.d.ts +11 -0
  40. package/dist/core/types/field-type.d.ts.map +1 -1
  41. package/dist/runtime/fieldtypes/loader.d.ts.map +1 -1
  42. package/dist/runtime/fieldtypes/loader.js +10 -0
  43. package/dist/runtime/fieldtypes/loader.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -47,6 +47,9 @@ write.
47
47
  stays a derived cache.
48
48
  - **Schema as the source of truth** — `objects/<name>/schema.json` drives the tables, REST API and MCP
49
49
  surface; state-diff migrations to PostgreSQL.
50
+ - **Custom field types** — register business-semantic types (`money`, `address`, …) as thin, namespaced
51
+ layers over a built-in primitive; they inherit storage, REST/MCP/OpenAPI schemas and generated
52
+ types. Declared in a project-local, Git-committed `field-types/` directory.
50
53
  - **Governed REST API** — object CRUD with row-level (`all`/`own`/`team`) and field-level RBAC and a
51
54
  uniform error contract.
52
55
  - **MCP tool surface** — a streamable HTTP endpoint at `/mcp` with a per-identity tool surface and
@@ -95,7 +98,7 @@ Full documentation: **[docs.weavekit.io/engine](https://docs.weavekit.io/engine)
95
98
  - [Git-versioned metadata](https://docs.weavekit.io/engine/guides/git-versioned-metadata) — your data model as reviewable Git commits
96
99
  - [Schema guide](https://docs.weavekit.io/engine/guides/schema) · [RBAC](https://docs.weavekit.io/engine/guides/rbac) · [Formulas](https://docs.weavekit.io/engine/guides/formulas) · [Audit](https://docs.weavekit.io/engine/guides/audit)
97
100
  - [CLI reference](https://docs.weavekit.io/engine/guides/cli) · [MCP](https://docs.weavekit.io/engine/guides/mcp) · [Script hooks](https://docs.weavekit.io/engine/guides/script-hooks)
98
- - [Custom tools & guardrails](https://docs.weavekit.io/engine/guides/custom-tools-and-guardrails) · [Quotas](https://docs.weavekit.io/engine/guides/quotas) · [Inbound events](https://docs.weavekit.io/engine/guides/ingress)
101
+ - [Custom tools & guardrails](https://docs.weavekit.io/engine/guides/custom-tools-and-guardrails) · [Custom field types](https://docs.weavekit.io/engine/reference/custom-field-types) · [Quotas](https://docs.weavekit.io/engine/guides/quotas) · [Inbound events](https://docs.weavekit.io/engine/guides/ingress)
99
102
  - [Public API & dependency budget](https://docs.weavekit.io/engine/reference/public-api)
100
103
  - [Practices & operations](https://docs.weavekit.io/engine/practices/existing-crm-to-mcp) — real integration and deployment walkthroughs
101
104
 
@@ -140,6 +143,8 @@ await engine.app.listen({ port: 3000 });
140
143
  | `weave connect` | Connect a self-hosted engine out to a governance tunnel endpoint |
141
144
  | `weave object:create <name>` | Scaffold `objects/<name>/schema.json` + `server.js` hooks |
142
145
  | `weave field:add <object>` | Add a validated field to a schema |
146
+ | `weave field-type:list` | List built-in + registered field types |
147
+ | `weave field-type:check` | Validate registrations + schemas against the registry |
143
148
  | `weave module:add` / `module:remove <name>` | Enable/disable an optional subsystem (audit/script) |
144
149
 
145
150
  ## Object-level types
@@ -1,22 +1,29 @@
1
- import type { ObjectDefinition, RbacSubject, FieldDefinition, ToolDefinition } from '../../core/index.js';
2
- import { type FieldTypeRegistry } from '../../core/index.js';
3
- import { READ_SCOPES } from '../../core/index.js';
1
+ import type { RbacSubject, ToolDefinition } from '../../core/index.js';
4
2
  import type { ToolExecutor } from '../../runtime/tools/index.js';
5
- import type { JsonSchema, McpEngine, McpToolSpec } from './types.js';
6
- /** JSON Schema for a single field *value* (enum → literal set, relation → pk) */
7
- export declare function fieldValueSchema(field: FieldDefinition, defs: Map<string, ObjectDefinition>, registry?: FieldTypeRegistry): JsonSchema;
3
+ import type { McpEngine, McpToolSpec } from './types.js';
4
+ /**
5
+ * Compile the MCP tool surface for one subject.
6
+ *
7
+ * The surface is a **fixed registry**: introspection (`list_objects` /
8
+ * `describe_object`) plus one generic CRUD tool per capability, each taking the
9
+ * target object name as an argument — so the surface does **not** grow with the
10
+ * number of objects. RBAC decides which capabilities appear (an op is exposed
11
+ * only when the subject may perform it on at least one object); `tools/call`
12
+ * dispatches into the same handlers, whose data-access calls re-enforce RBAC per
13
+ * object (the double layer).
14
+ */
15
+ /** a compiled MCP tool (per-session; the surface is filtered by RBAC) */
8
16
  export interface CompiledTool {
9
17
  spec: McpToolSpec;
10
18
  objectName: string | undefined;
11
19
  }
12
20
  /**
13
- * Compile the full tool surface for a subject: CRUD tools for every object the
14
- * subject can touch (per RBAC) plus the always-on introspection tools plus the
21
+ * Compile the full tool surface for a subject: the generic CRUD tools the
22
+ * subject's RBAC permits, the always-on introspection tools, and the
15
23
  * subject-visible custom tools (M10b, roles-filtered by the executor).
16
24
  */
17
25
  export declare function compileToolsFor(engine: McpEngine, subject: RbacSubject, custom?: {
18
26
  defs: ToolDefinition[];
19
27
  executor: ToolExecutor;
20
28
  }): CompiledTool[];
21
- export { READ_SCOPES };
22
29
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAkB,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1H,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAiB,WAAW,EAAmB,MAAM,YAAY,CAAC;AAsBrG,iFAAiF;AACjF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACnC,QAAQ,GAAE,iBAA+C,GACxD,UAAU,CAmCZ;AAiDD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AA6JD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GAC1D,YAAY,EAAE,CA0ChB;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AASjE,OAAO,KAAK,EAAc,SAAS,EAAiB,WAAW,EAAmB,MAAM,YAAY,CAAC;AAErG;;;;;;;;;;GAUG;AAEH,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAiLD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GAC1D,YAAY,EAAE,CAiChB"}
@@ -1,266 +1,179 @@
1
- import { FIELD_TYPES, primaryFieldOf, primaryKeyOf } from '../../core/index.js';
2
- import { DEFAULT_FIELD_TYPE_REGISTRY, fieldBase, } from '../../core/index.js';
1
+ import { INTROSPECTION_TOOLS, REGISTRY_TOOLS, resolvePermission } from '../../core/index.js';
3
2
  import { ACTION_PREFIXES } from '../../core/audit/index.js';
4
- import { resolvePermission } from '../../core/rbac/index.js';
5
- import { READ_SCOPES } from '../../core/index.js';
6
- import { createHandler, deleteHandler, getHandler, searchHandler, updateHandler } from './tools.js';
3
+ import { createRecordHandler, deleteRecordHandler, getRecordHandler, searchRecordsHandler, updateRecordHandler, } from './tools.js';
7
4
  import { describeObjectHandler, listObjectsHandler } from './introspection.js';
8
- import { TOOL_PREFIXES } from './types.js';
9
- /**
10
- * Compile the MCP tool surface for one subject: RBAC decides which objects and
11
- * which operations appear. `tools/list` returns exactly this list; `tools/call`
12
- * dispatches into the same handlers (whose data-access calls re-enforce RBAC —
13
- * the double layer).
14
- */
15
- /** fields users can never write (system/formula/seq_no) — mirrors data-access validate */
16
- function isReadonlyField(field) {
17
- return field.system === true || field.type === FIELD_TYPES.SEQ_NO || field.formula !== undefined;
18
- }
19
- /** target primary key JSON Schema type of a relation (fallback: string) */
20
- function pkSchema(target, defs, registry) {
21
- const pk = primaryFieldOf(defs.get(target));
22
- if (pk === undefined)
23
- return { type: 'string' };
24
- return fieldValueSchema(pk, defs, registry);
25
- }
26
- /** JSON Schema for a single field *value* (enum → literal set, relation → pk) */
27
- export function fieldValueSchema(field, defs, registry = DEFAULT_FIELD_TYPE_REGISTRY) {
28
- const base = fieldBase(registry, field.type);
29
- const f = field;
30
- switch (base) {
31
- case FIELD_TYPES.STRING:
32
- case FIELD_TYPES.TEXT:
33
- case FIELD_TYPES.DATETIME:
34
- case FIELD_TYPES.DATE:
35
- case FIELD_TYPES.SEQ_NO:
36
- return { type: 'string' };
37
- case FIELD_TYPES.INTEGER:
38
- return { type: 'integer' };
39
- case FIELD_TYPES.NUMBER:
40
- case FIELD_TYPES.CURRENCY:
41
- return { type: 'number' };
42
- case FIELD_TYPES.BOOLEAN:
43
- return { type: 'boolean' };
44
- case FIELD_TYPES.JSON:
45
- return { type: 'object' };
46
- case FIELD_TYPES.ENUM: {
47
- const options = f.options ?? [];
48
- if (f.multiple === true) {
49
- return { type: 'array', items: { type: 'string', enum: options } };
50
- }
51
- return { type: 'string', enum: options };
52
- }
53
- case FIELD_TYPES.RELATION:
54
- return pkSchema(String(f.target), defs, registry);
55
- case FIELD_TYPES.MULTI_RELATION:
56
- return { type: 'array', items: pkSchema(String(f.target), defs, registry) };
57
- case FIELD_TYPES.DETAILS:
58
- return { type: 'array', items: { type: 'object' } };
59
- default:
60
- return { type: 'string' };
61
- }
62
- }
63
- /** read output fields for a subject: every field minus the RBAC `exclude` list */
64
- function readableFields(def, perm) {
65
- const excluded = new Set(perm.exclude);
66
- return def.fields.filter((f) => !excluded.has(f.name));
67
- }
68
- /** fields a subject can write on create: non-readonly, non-excluded, minus details (managed via child CRUD) */
69
- function writableCreateFields(def, perm) {
70
- const excluded = new Set(perm.exclude);
71
- const base = def.fields.filter((f) => !isReadonlyField(f) && !excluded.has(f.name) && f.type !== FIELD_TYPES.DETAILS);
72
- // `perm.createFields === null` = unrestricted (no fields.create declared)
73
- if (perm.createFields === null)
74
- return base;
75
- const whitelist = new Set(perm.createFields);
76
- return base.filter((f) => whitelist.has(f.name));
77
- }
78
- /** fields a subject can write on update: RBAC `update` whitelist (null = all writable) */
79
- function updatableFields(def, perm) {
80
- const excluded = new Set(perm.exclude);
81
- if (perm.update === null) {
82
- return def.fields.filter((f) => !isReadonlyField(f) && !excluded.has(f.name) && f.type !== FIELD_TYPES.DETAILS);
83
- }
84
- const whitelist = new Set(perm.update);
85
- return def.fields.filter((f) => whitelist.has(f.name) && !isReadonlyField(f) && f.type !== FIELD_TYPES.DETAILS);
86
- }
87
- function objectSchema(fields, defs, registry, requiredOnly = false) {
88
- const properties = {};
89
- const required = [];
90
- for (const field of fields) {
91
- properties[field.name] = { ...fieldValueSchema(field, defs, registry), description: field.description };
92
- if (('required' in field && field.required === true) || field.primary === true)
93
- required.push(field.name);
94
- }
95
- const schema = { type: 'object', properties, additionalProperties: false };
96
- if (requiredOnly) {
97
- if (required.length > 0)
98
- schema.required = required;
99
- }
100
- else if (required.length > 0) {
101
- schema.required = required;
5
+ /** capabilities the subject holds on at least one object (drives which generic ops appear) */
6
+ function capabilities(registry, subject) {
7
+ const caps = { read: false, create: false, update: false, delete: false };
8
+ for (const def of registry.list()) {
9
+ const p = resolvePermission(def, subject.roles);
10
+ if (p === undefined)
11
+ continue;
12
+ if (p.read !== undefined)
13
+ caps.read = true;
14
+ if (p.create === true)
15
+ caps.create = true;
16
+ // `update === null` = all fields updatable; `[]` = none; `undefined` = no update permission
17
+ if (p.update === null || (Array.isArray(p.update) && p.update.length > 0))
18
+ caps.update = true;
19
+ if (p.delete === true)
20
+ caps.delete = true;
102
21
  }
103
- return schema;
22
+ return caps;
104
23
  }
105
- /** custom-tool surface merged into the session tool surface (roles filtered by the executor, D8-cached) */
106
- function customToolTools(engine, subject, custom) {
107
- return custom.executor.surface(subject, custom.defs).map((entry) => {
108
- const def = custom.defs.find((d) => d.name === entry.name);
109
- return {
110
- objectName: undefined,
111
- spec: {
112
- name: def.name,
113
- description: def.description,
114
- inputSchema: def.inputSchema,
115
- handler: async (args, ctx) => {
116
- // rate limit at the adapter layer (agentKey, widened by roles:tool — M10 D6)
117
- const scope = `${[...ctx.session.user.roles].sort().join(',')}:${def.name}`;
118
- if (!ctx.guardrails.checkRateLimit(ctx.session.agentKey, scope)) {
119
- const { SchemaError } = await import('../../core/index.js');
120
- throw new SchemaError('mcp.rateLimited', {}, ctx.engine.locale);
121
- }
122
- const result = await custom.executor.execute(def, args, {
123
- subject: ctx.session.user,
124
- actor: {
125
- key: ctx.session.agentKey,
126
- label: ctx.session.agentSubject.id,
127
- onBehalfOf: ctx.session.onBehalfOf,
128
- },
129
- action: `${ACTION_PREFIXES.MCP_TOOL}.${def.name}`,
130
- args,
131
- locale: ctx.engine.locale,
132
- });
133
- return result;
134
- },
135
- },
136
- };
137
- });
138
- }
139
- /** build the per-object CRUD tools (search/get/create/update/delete) */
140
- function objectTools(def, defs, perm, registry) {
24
+ const OBJECT_ARG = {
25
+ type: 'string',
26
+ description: 'the object name (see list_objects); call describe_object for its fields and permissions',
27
+ };
28
+ /** the generic CRUD tools for the capabilities the subject holds on any object */
29
+ function registryTools(engine, subject) {
30
+ const caps = capabilities(engine.registry, subject);
141
31
  const tools = [];
142
- const pkField = primaryFieldOf(def);
143
- const pkName = primaryKeyOf(def);
144
- const idSchema = pkField !== undefined ? fieldValueSchema(pkField, defs, registry) : { type: 'string' };
145
- const readable = readableFields(def, perm);
146
- if (perm.read !== undefined) {
147
- const readFields = readable.map((f) => f.name);
32
+ if (caps.read) {
148
33
  tools.push({
149
- objectName: def.name,
34
+ objectName: undefined,
150
35
  spec: {
151
- name: `${TOOL_PREFIXES.SEARCH}${def.name}`,
152
- description: `Search ${def.name} records (rows are filtered to your read scope)`,
36
+ name: REGISTRY_TOOLS.SEARCH,
37
+ description: 'Search records of an object (rows are filtered to your read scope)',
153
38
  inputSchema: {
154
39
  type: 'object',
155
40
  properties: {
41
+ object: OBJECT_ARG,
156
42
  filter: {
157
43
  type: 'object',
158
- description: `filter by exact values or operators on readable fields: ${readFields.join(', ') || '(none)'}`,
44
+ description: 'filter by exact values or operators on readable fields',
159
45
  additionalProperties: true,
160
46
  },
161
47
  sort: {
162
48
  type: 'array',
163
- description: `sort by readable fields: ${readFields.join(', ') || '(none)'}`,
49
+ description: 'sort by readable fields',
164
50
  items: {
165
51
  type: 'object',
166
- properties: { field: { type: 'string', enum: readFields }, direction: { type: 'string', enum: ['asc', 'desc'] } },
52
+ properties: { field: { type: 'string' }, direction: { type: 'string', enum: ['asc', 'desc'] } },
167
53
  required: ['field'],
168
54
  },
169
55
  },
170
56
  limit: { type: 'integer', minimum: 1, maximum: 1000 },
171
57
  offset: { type: 'integer', minimum: 0 },
172
- fields: { type: 'array', items: { type: 'string', enum: readFields } },
58
+ fields: { type: 'array', items: { type: 'string' } },
173
59
  },
60
+ required: ['object'],
174
61
  },
175
- handler: (args, ctx) => searchHandler(def, args, ctx),
62
+ handler: (args, ctx) => searchRecordsHandler(args, ctx),
176
63
  },
177
- });
178
- tools.push({
179
- objectName: def.name,
64
+ }, {
65
+ objectName: undefined,
180
66
  spec: {
181
- name: `${TOOL_PREFIXES.GET}${def.name}`,
182
- description: `Fetch one ${def.name} record by ${pkName ?? 'primary key'} (404 → not found error)`,
67
+ name: REGISTRY_TOOLS.GET,
68
+ description: 'Fetch one record of an object by its primary key (not found error)',
183
69
  inputSchema: {
184
70
  type: 'object',
185
- properties: { [pkName ?? 'id']: { ...idSchema, description: 'primary key' } },
186
- required: [pkName ?? 'id'],
71
+ properties: { object: OBJECT_ARG, id: { type: 'string', description: 'primary key' } },
72
+ required: ['object', 'id'],
187
73
  },
188
- handler: (args, ctx) => getHandler(def, args, ctx),
74
+ handler: (args, ctx) => getRecordHandler(args, ctx),
189
75
  },
190
76
  });
191
77
  }
192
- if (perm.create === true) {
78
+ if (caps.create) {
193
79
  tools.push({
194
- objectName: def.name,
80
+ objectName: undefined,
195
81
  spec: {
196
- name: `${TOOL_PREFIXES.CREATE}${def.name}`,
197
- description: `Create a ${def.name} record`,
82
+ name: REGISTRY_TOOLS.CREATE,
83
+ description: 'Create a record of an object (only fields you may write are accepted)',
198
84
  inputSchema: {
199
85
  type: 'object',
200
86
  properties: {
201
- data: { ...objectSchema(writableCreateFields(def, perm), defs, registry, true), description: 'fields to set' },
87
+ object: OBJECT_ARG,
88
+ data: { type: 'object', description: 'fields to set', additionalProperties: true },
202
89
  },
203
- required: ['data'],
90
+ required: ['object', 'data'],
204
91
  },
205
- handler: (args, ctx) => createHandler(def, args, ctx),
92
+ handler: (args, ctx) => createRecordHandler(args, ctx),
206
93
  },
207
94
  });
208
95
  }
209
- if (perm.update === null || perm.update.length > 0) {
96
+ if (caps.update) {
210
97
  tools.push({
211
- objectName: def.name,
98
+ objectName: undefined,
212
99
  spec: {
213
- name: `${TOOL_PREFIXES.UPDATE}${def.name}`,
214
- description: `Update a ${def.name} record (only whitelisted fields are accepted)`,
100
+ name: REGISTRY_TOOLS.UPDATE,
101
+ description: 'Update a record of an object (only fields you may update are accepted)',
215
102
  inputSchema: {
216
103
  type: 'object',
217
104
  properties: {
218
- [pkName ?? 'id']: { ...idSchema, description: 'primary key' },
219
- changes: { ...objectSchema(updatableFields(def, perm), defs, registry), description: 'fields to change' },
105
+ object: OBJECT_ARG,
106
+ id: { type: 'string', description: 'primary key' },
107
+ changes: { type: 'object', description: 'fields to change', additionalProperties: true },
220
108
  },
221
- required: [pkName ?? 'id', 'changes'],
109
+ required: ['object', 'id', 'changes'],
222
110
  },
223
- handler: (args, ctx) => updateHandler(def, args, ctx),
111
+ handler: (args, ctx) => updateRecordHandler(args, ctx),
224
112
  },
225
113
  });
226
114
  }
227
- if (perm.delete === true) {
115
+ if (caps.delete) {
228
116
  tools.push({
229
- objectName: def.name,
117
+ objectName: undefined,
230
118
  spec: {
231
- name: `${TOOL_PREFIXES.DELETE}${def.name}`,
232
- description: `Delete a ${def.name} record`,
119
+ name: REGISTRY_TOOLS.DELETE,
120
+ description: 'Delete a record of an object by its primary key',
233
121
  inputSchema: {
234
122
  type: 'object',
235
- properties: { [pkName ?? 'id']: { ...idSchema, description: 'primary key' } },
236
- required: [pkName ?? 'id'],
123
+ properties: { object: OBJECT_ARG, id: { type: 'string', description: 'primary key' } },
124
+ required: ['object', 'id'],
237
125
  },
238
- handler: (args, ctx) => deleteHandler(def, args, ctx),
126
+ handler: (args, ctx) => deleteRecordHandler(args, ctx),
239
127
  },
240
128
  });
241
129
  }
242
130
  return tools;
243
131
  }
132
+ /** custom-tool surface merged into the session tool surface (roles filtered by the executor, D8-cached) */
133
+ function customToolTools(engine, subject, custom) {
134
+ return custom.executor.surface(subject, custom.defs).map((entry) => {
135
+ const def = custom.defs.find((d) => d.name === entry.name);
136
+ return {
137
+ objectName: undefined,
138
+ spec: {
139
+ name: def.name,
140
+ description: def.description,
141
+ inputSchema: def.inputSchema,
142
+ handler: async (args, ctx) => {
143
+ // rate limit at the adapter layer (agentKey, widened by roles:tool — M10 D6)
144
+ const scope = `${[...ctx.session.user.roles].sort().join(',')}:${def.name}`;
145
+ if (!ctx.guardrails.checkRateLimit(ctx.session.agentKey, scope)) {
146
+ const { SchemaError } = await import('../../core/index.js');
147
+ throw new SchemaError('mcp.rateLimited', {}, ctx.engine.locale);
148
+ }
149
+ const result = await custom.executor.execute(def, args, {
150
+ subject: ctx.session.user,
151
+ actor: {
152
+ key: ctx.session.agentKey,
153
+ label: ctx.session.agentSubject.id,
154
+ onBehalfOf: ctx.session.onBehalfOf,
155
+ },
156
+ action: `${ACTION_PREFIXES.MCP_TOOL}.${def.name}`,
157
+ args,
158
+ locale: ctx.engine.locale,
159
+ });
160
+ return result;
161
+ },
162
+ },
163
+ };
164
+ });
165
+ }
244
166
  /**
245
- * Compile the full tool surface for a subject: CRUD tools for every object the
246
- * subject can touch (per RBAC) plus the always-on introspection tools plus the
167
+ * Compile the full tool surface for a subject: the generic CRUD tools the
168
+ * subject's RBAC permits, the always-on introspection tools, and the
247
169
  * subject-visible custom tools (M10b, roles-filtered by the executor).
248
170
  */
249
171
  export function compileToolsFor(engine, subject, custom) {
250
- const registry = engine.registry;
251
- const fieldTypes = registry.fieldTypes;
252
- const defs = new Map(registry.list().map((def) => [def.name, def]));
253
- const tools = [];
254
- for (const def of registry.list()) {
255
- const perm = resolvePermission(def, subject.roles);
256
- if (perm === undefined)
257
- continue; // role not listed → object invisible
258
- tools.push(...objectTools(def, defs, perm, fieldTypes));
259
- }
172
+ const tools = [...registryTools(engine, subject)];
260
173
  tools.push({
261
174
  objectName: undefined,
262
175
  spec: {
263
- name: 'list_objects',
176
+ name: INTROSPECTION_TOOLS.LIST_OBJECTS,
264
177
  description: 'List objects the current identity can read',
265
178
  inputSchema: { type: 'object' },
266
179
  handler: (args, ctx) => listObjectsHandler(args, ctx),
@@ -268,7 +181,7 @@ export function compileToolsFor(engine, subject, custom) {
268
181
  }, {
269
182
  objectName: undefined,
270
183
  spec: {
271
- name: 'describe_object',
184
+ name: INTROSPECTION_TOOLS.DESCRIBE_OBJECT,
272
185
  description: 'Describe an object schema (fields, relations, permissions) for the current identity',
273
186
  inputSchema: {
274
187
  type: 'object',
@@ -283,5 +196,4 @@ export function compileToolsFor(engine, subject, custom) {
283
196
  }
284
197
  return tools;
285
198
  }
286
- export { READ_SCOPES };
287
199
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/adapters/mcp/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/adapters/mcp/generate.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import type { ObjectDefinition } from '../../core/index.js';
2
1
  import type { McpToolResult, ToolExecContext } from './types.js';
3
- export declare function searchHandler(def: ObjectDefinition, args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
4
- export declare function getHandler(def: ObjectDefinition, args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
5
- export declare function createHandler(def: ObjectDefinition, args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
6
- export declare function updateHandler(def: ObjectDefinition, args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
7
- export declare function deleteHandler(def: ObjectDefinition, args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
2
+ export declare function searchRecordsHandler(args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
3
+ export declare function getRecordHandler(args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
4
+ export declare function createRecordHandler(args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
5
+ export declare function updateRecordHandler(args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
6
+ export declare function deleteRecordHandler(args: Record<string, unknown>, ctx: ToolExecContext): Promise<McpToolResult>;
8
7
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,qBAAqB,CAAC;AAOzE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA2HjE,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAOxB"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp/tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsIjE,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CASxB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,aAAa,CAAC,CAQxB"}