@axonity-ai/mcp 0.7.0 → 0.9.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/README.md +118 -16
- package/dist/client.d.ts +11 -3
- package/dist/client.js +14 -6
- package/dist/client.js.map +1 -1
- package/dist/contract.d.ts +21 -0
- package/dist/contract.js +51 -6
- package/dist/contract.js.map +1 -1
- package/dist/generated/listFilters.js +20 -0
- package/dist/generated/listFilters.js.map +1 -1
- package/dist/index.js +38 -4
- package/dist/index.js.map +1 -1
- package/dist/tools/company.js +23 -0
- package/dist/tools/company.js.map +1 -1
- package/dist/tools/conventions.js +193 -7
- package/dist/tools/conventions.js.map +1 -1
- package/dist/tools/dataTables.d.ts +38 -0
- package/dist/tools/dataTables.js +129 -0
- package/dist/tools/dataTables.js.map +1 -0
- package/dist/tools/extras.js +64 -28
- package/dist/tools/extras.js.map +1 -1
- package/dist/tools/operations.d.ts +28 -0
- package/dist/tools/operations.js +160 -0
- package/dist/tools/operations.js.map +1 -0
- package/dist/tools/register.d.ts +34 -0
- package/dist/tools/register.js +51 -12
- package/dist/tools/register.js.map +1 -1
- package/dist/tools/runs.d.ts +14 -1
- package/dist/tools/runs.js +177 -4
- package/dist/tools/runs.js.map +1 -1
- package/dist/tools/toolboxes.d.ts +32 -0
- package/dist/tools/toolboxes.js +165 -0
- package/dist/tools/toolboxes.js.map +1 -0
- package/dist/tools/triggers.d.ts +8 -0
- package/dist/tools/triggers.js +65 -7
- package/dist/tools/triggers.js.map +1 -1
- package/dist/tools/workflowMutations.js +15 -6
- package/dist/tools/workflowMutations.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ tenant + scope on every call, so the connector is not a trust boundary.
|
|
|
40
40
|
|
|
41
41
|
## Tools
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
345 tools total. `axonity_conventions` (read this first) covers the authoring
|
|
44
44
|
rules — drafts vs live, optimistic locking, per-entity fields, delete/restore,
|
|
45
45
|
and how to tell a retryable error from one that will never succeed.
|
|
46
46
|
|
|
@@ -52,9 +52,10 @@ was kept here. A conformance test asserts their absence.
|
|
|
52
52
|
|
|
53
53
|
### The generic entity family
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
output_schema, prompt_snippet, flow** — share one shape,
|
|
57
|
-
entity gets every verb (see the per-entity notes below for the
|
|
55
|
+
Eleven entities — **workflow, agent, tool, skill, policy, reference_doc,
|
|
56
|
+
persona, output_schema, prompt_snippet, flow, data_table** — share one shape,
|
|
57
|
+
though not every entity gets every verb (see the per-entity notes below for the
|
|
58
|
+
exceptions):
|
|
58
59
|
|
|
59
60
|
| Tool (per `<entity>`) | What it does |
|
|
60
61
|
|------|--------------|
|
|
@@ -69,7 +70,8 @@ entity gets every verb (see the per-entity notes below for the exceptions):
|
|
|
69
70
|
| `request_publish_<entity>` | Ask for a draft to be published — creates a pending approval; never publishes. |
|
|
70
71
|
|
|
71
72
|
Exceptions: `persona` has no `create_persona` (create only via
|
|
72
|
-
`create_agent_persona`).
|
|
73
|
+
`create_agent_persona`). And `list_data_tables` answers **one page**, not the
|
|
74
|
+
whole library — see Tables below.
|
|
73
75
|
|
|
74
76
|
Some list routes narrow in the query, which is where narrowing belongs — the
|
|
75
77
|
backend applies it before the rows come back:
|
|
@@ -77,7 +79,8 @@ backend applies it before the rows come back:
|
|
|
77
79
|
`list_agents({ includeSystem? })`,
|
|
78
80
|
`list_policies({ scope?, ownerId? })`,
|
|
79
81
|
`list_reference_docs({ scope?, ownerId? })`,
|
|
80
|
-
`list_prompt_snippets({ deleted? })
|
|
82
|
+
`list_prompt_snippets({ deleted? })`,
|
|
83
|
+
`list_data_tables({ name?, status?, isDynamic? })`.
|
|
81
84
|
|
|
82
85
|
That table is **generated** from the pinned schema's own query parameters
|
|
83
86
|
(`npm run generate:filters` → `src/generated/listFilters.ts`), not hand-listed.
|
|
@@ -115,7 +118,7 @@ Plus:
|
|
|
115
118
|
|
|
116
119
|
### Version history, rollback, and version-level delete
|
|
117
120
|
|
|
118
|
-
For the
|
|
121
|
+
For the eleven versioned entities (including `flow` and `data_table`):
|
|
119
122
|
|
|
120
123
|
| Tool | What it does |
|
|
121
124
|
|------|--------------|
|
|
@@ -143,15 +146,27 @@ across these routes — the tool parameter names say which.
|
|
|
143
146
|
`update_connector` — `authConfig` must be placeholders only; a human fills real
|
|
144
147
|
secrets in Axonity. (`create_tool`/`update_tool` carry the same guard, so a
|
|
145
148
|
connector authored either way is covered.)
|
|
149
|
+
- **Toolboxes** (the group a tool is filed under): `list_toolboxes`,
|
|
150
|
+
`create_toolbox`, `update_toolbox`, `delete_toolbox`, `set_toolbox_tools`,
|
|
151
|
+
`assign_tool_toolbox`, `set_toolbox_auth`, `list_toolbox_dependent_tools`.
|
|
152
|
+
Read `list_toolboxes` before `create_tool` and pass `toolboxId` — a tool made
|
|
153
|
+
without one is ungrouped. Three things worth knowing before you write:
|
|
154
|
+
`set_toolbox_tools` **declares** the membership (anything you leave out is
|
|
155
|
+
evicted — `assign_tool_toolbox` moves a single tool and takes `null` to
|
|
156
|
+
ungroup); a box never changes what an agent may *call*, only how a tool is
|
|
157
|
+
*advertised* (agents link to individual tools, never to a box); and deleting a
|
|
158
|
+
box leaves its tools alive, ungrouped. `set_toolbox_auth` sets the credential a
|
|
159
|
+
box's tools share and carries the same placeholder guard as a connector.
|
|
146
160
|
- **Attach / detach memory**: `attach_skill_to_agent`,
|
|
147
161
|
`attach_skill_to_workflow`, `attach_policy_to_agent`,
|
|
148
|
-
`attach_reference_to_agent`, and a
|
|
149
|
-
removes the link only — the skill or
|
|
150
|
-
links back with `list_agent_skills`,
|
|
151
|
-
`list_agent_reference_docs
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
162
|
+
`attach_reference_to_agent`, `attach_reference_to_workflow`, and a
|
|
163
|
+
`detach_*_from_*` for each. Detaching removes the link only — the skill or
|
|
164
|
+
policy itself is untouched. Read the links back with `list_agent_skills`,
|
|
165
|
+
`list_agent_policies`, `list_agent_reference_docs`, `list_workflow_skills`
|
|
166
|
+
and `list_workflow_reference_docs`. The three agent read-backs take an
|
|
167
|
+
optional `workflowId` for the **composed runtime view** — what the agent's
|
|
168
|
+
prompt actually assembles inside that workflow, with a `linkSource` per row
|
|
169
|
+
saying why each item is there.
|
|
155
170
|
- **What uses this?**: `list_workflows_using({ entityKind, entityId })` names
|
|
156
171
|
the workflows that reference a tool, agent, flow, output schema or workflow,
|
|
157
172
|
**and the steps they reference it in**, with `draft`/`published` per hit.
|
|
@@ -186,6 +201,20 @@ across these routes — the tool parameter names say which.
|
|
|
186
201
|
target now (missing, self-call, deleted, unpublished, not callable), but
|
|
187
202
|
`list_callable_workflows` is still what you run first: it is how you pick a
|
|
188
203
|
target and read the interface you are binding to.
|
|
204
|
+
- **The deploy, the tenant and its queues** (read-only): `read_deploy_contract`
|
|
205
|
+
(what this backend actually mounts — read it when a call fails in a way that
|
|
206
|
+
smells like a version mismatch), `list_users` (where an `ownerId` comes from),
|
|
207
|
+
`list_audit_events` (pass `actorKind: "service_token"` to read back what
|
|
208
|
+
external agents — including you — changed), `read_queue_overview`,
|
|
209
|
+
`list_in_flight_runs`, `read_task_queue_summary`, `list_task_queue`,
|
|
210
|
+
`read_task_queue_item`, `export_task_queue`, plus `read_model_tier_map` (what
|
|
211
|
+
`capabilityTier` resolves to), `read_concurrency_status`,
|
|
212
|
+
`read_concurrent_run_cap` and `read_for_each_rate`. Together these answer *why
|
|
213
|
+
is my run not moving* without asking a human to look at a screen. Every write
|
|
214
|
+
in these families — purging or replaying queue work, changing a cap or the
|
|
215
|
+
tier map, importing a tenant bundle, reading someone's notifications — is
|
|
216
|
+
deliberately absent and recorded in `test/denyList.ts`, the list
|
|
217
|
+
`test/exclusions.test.ts` enforces.
|
|
189
218
|
- **Secrets** (read-only): `list_secrets`, `read_secret` — the catalogue a
|
|
190
219
|
connector's `authConfig.secretId` points at. Values are never returned by any
|
|
191
220
|
Axonity route; `valueKeys` says which keys a human has filled in, so you can
|
|
@@ -196,6 +225,25 @@ across these routes — the tool parameter names say which.
|
|
|
196
225
|
`clone_flow`, `clone_prompt_snippet`, `list_tool_packages` (the import
|
|
197
226
|
allowlist `validate_tool_code` judges against), `list_templates` /
|
|
198
227
|
`read_template`.
|
|
228
|
+
- **Tables** (`data_table`): the tenant's own reference data — a table an
|
|
229
|
+
author designs and maintains, and agents and decisions read. The whole
|
|
230
|
+
lifecycle is the generic family above; three things are not, and each is a
|
|
231
|
+
way to be quietly wrong:
|
|
232
|
+
- `list_data_tables` is **paged** (20 by default, 200 max), alone among the
|
|
233
|
+
library lists, because a tenant's reference data has no ceiling. Page one
|
|
234
|
+
is not the library — follow `nextCursor` while `hasMore`, or narrow with
|
|
235
|
+
`name`, which is exact and unique per workspace.
|
|
236
|
+
- **`rows` and `columns` are whole-collection fields.** Sending `rows`
|
|
237
|
+
through `update_data_table` replaces the table's content; one row there
|
|
238
|
+
deletes every other. `add_data_table_row`, `update_data_table_row` and
|
|
239
|
+
`delete_data_table_row` address a single row by a `matchColumn` /
|
|
240
|
+
`matchValue` pair and cannot touch the rest.
|
|
241
|
+
- **A table's derived tools follow its published version.** A published table
|
|
242
|
+
mints its own CRUD tools, so granting an agent access to one is ordinary
|
|
243
|
+
tool granting. `list_data_table_tools` reports `offered` (what the draft
|
|
244
|
+
would yield), `toolId` (whether a row exists) and `isLive` (whether a run
|
|
245
|
+
can reach it) separately — an author who ticked "may add rows" and has not
|
|
246
|
+
published has granted nothing yet.
|
|
199
247
|
- `list_deleted_prompt_snippets` calls `/api/v1/prompt-snippets/deleted`; the
|
|
200
248
|
backend returns it as `{ items: [... ] }`, and the tool forwards that response
|
|
201
249
|
unchanged.
|
|
@@ -218,6 +266,24 @@ across these routes — the tool parameter names say which.
|
|
|
218
266
|
(plus `update_conditional_trigger`). Trigger deletes are **hard** deletes with
|
|
219
267
|
no restore, and a webhook token is shown **once** at create or rotate.
|
|
220
268
|
|
|
269
|
+
**A schedule is a claim you can now check.** `run_cron_schedule_now` fires one
|
|
270
|
+
immediately *without* moving `nextFireAt` — testing a schedule must not consume
|
|
271
|
+
the run it was going to make. Before it existed, "every weekday at 07:00" could
|
|
272
|
+
only be tested by coming back tomorrow, and what is usually wrong is not the
|
|
273
|
+
timing but whether it starts anything at all.
|
|
274
|
+
|
|
275
|
+
**To pause a schedule, disarm it** — `set_cron_schedule_enabled`, not
|
|
276
|
+
`delete_cron_schedule`. Deleting throws away the rules the author wrote and
|
|
277
|
+
makes "stop this for a week" indistinguishable from "we do not do this any
|
|
278
|
+
more". `list_all_cron_schedules` answers *what runs tonight?* across the tenant;
|
|
279
|
+
`reconcile_cron_schedules` answers *is that actually what runs?* — it reports
|
|
280
|
+
rather than tidying silently, and never arms something someone switched off.
|
|
281
|
+
|
|
282
|
+
`create_cron_schedule` takes either `cronExpr` or the richer `rules`, and the
|
|
283
|
+
trigger must exist in the **published** document. Rule shapes come from
|
|
284
|
+
`get_workflow_authoring_spec` → `scheduleRuleKinds`; this connector names none
|
|
285
|
+
of its own.
|
|
286
|
+
|
|
221
287
|
### Runs — evaluating what you built
|
|
222
288
|
|
|
223
289
|
`start_workflow_run` (test a workflow you built — it runs the **published**
|
|
@@ -239,13 +305,41 @@ never the answer to a question about the run, and it measured 81% of one real
|
|
|
239
305
|
response — an oversized response turns a call that succeeded into an error.
|
|
240
306
|
Pass `includeSnapshot: true` when you actually want to see what executed.
|
|
241
307
|
|
|
308
|
+
**Start from the outline.** `read_run_outline` is the run's table of contents —
|
|
309
|
+
the run, its steps, and the items a fan-out handed out, flat with parent
|
|
310
|
+
pointers. It carries no bodies, so its size follows the run's *shape* rather
|
|
311
|
+
than its content: a launch over four thousand items costs about what one over
|
|
312
|
+
four costs. `itemCap` bounds the items listed per fan-out step and the remainder
|
|
313
|
+
is counted in `counts.truncated`, never dropped silently —
|
|
314
|
+
`read_run_outline_items` carries on from where the outline stopped, one step at
|
|
315
|
+
a time, walked by `offset` (safe here: a fan-out's items are fixed once handed
|
|
316
|
+
out, so the ordering cannot shift under you). Then open only what
|
|
317
|
+
you want: `read_run_value` for one large step value (by the digest in
|
|
318
|
+
`stepStates`) and `read_run_invocation_messages` for one agent's transcript (by
|
|
319
|
+
the id in `agentInvocations`). Reading a whole run to find one message is the
|
|
320
|
+
habit these replace.
|
|
321
|
+
|
|
242
322
|
**A run can park rather than finish.** `read_run_waiting_on` says what it is
|
|
243
323
|
waiting for; `answer_run_question` answers an `ask_user` step and
|
|
244
324
|
`send_run_message` sends a turn to a conversation run. Both record the input as
|
|
245
325
|
a person's, so use them on runs you started. Deciding a **plan approval** and
|
|
246
326
|
restarting a stuck run are deliberately absent — the first is the human review
|
|
247
327
|
the step exists to get, the second is `require_admin` and a service token is
|
|
248
|
-
always `role="member"`. Both are recorded in `test/
|
|
328
|
+
always `role="member"`. Both are recorded in `test/denyList.ts`, together
|
|
329
|
+
with stopping runs in bulk (admin), the tenant's storage footprint (admin), an
|
|
330
|
+
inbound channel reply (authenticated by the email/WhatsApp adapter, not by a
|
|
331
|
+
service token) and the retired `workflow-memory` placeholder.
|
|
332
|
+
|
|
333
|
+
**`list_todo_steps`** is the same question across the whole tenant: every step
|
|
334
|
+
waiting on a human, in any run. It is paged over the waiting **runs**, so
|
|
335
|
+
`items` can be longer than `pageSize` — one run may park several steps. Follow
|
|
336
|
+
`nextCursor` to the end before concluding anything about how much is waiting.
|
|
337
|
+
|
|
338
|
+
**What an agent wrote to itself.** `list_run_session_memory` lists the files an
|
|
339
|
+
agent left during a run (metadata only, up to 200 per run) and
|
|
340
|
+
`read_run_session_memory_file` opens one. When the trace shows a decision but
|
|
341
|
+
not what it was reading, the reason is usually here. Workflow-bound reference
|
|
342
|
+
material is not — that lives in `reference_docs`.
|
|
249
343
|
|
|
250
344
|
**Inside a launch**: `read_run_items_summary` is the roll-up ("4,415 processed ·
|
|
251
345
|
12 failed"), `list_run_items({ outcome })` the paged rows — filter in the query,
|
|
@@ -329,13 +423,21 @@ These are enforced by the backend, not merely by convention:
|
|
|
329
423
|
matching the message text.
|
|
330
424
|
- **No tool crosses the authority boundary.** A test drives the whole registered
|
|
331
425
|
surface and fails the build if any tool targets a publish / approve /
|
|
332
|
-
secret-write / service-token / deploy route (`test/
|
|
426
|
+
secret-write / service-token / deploy route (`test/denyList.ts`). The
|
|
333
427
|
rules are method-aware: `GET /api/v1/secrets` is allowed, every write verb on
|
|
334
428
|
it is not.
|
|
335
429
|
- **Guidance can't silently drift from the backend.** The field/enum facts the
|
|
336
430
|
connector states are pinned to a vendored snapshot of the backend OpenAPI
|
|
337
431
|
schema; `test/conformance.test.ts` fails if a route or documented enum
|
|
338
432
|
diverges (see `test/fixtures/README.md`).
|
|
433
|
+
- **Every backend route is decided, and the build says so.**
|
|
434
|
+
`test/completeness.test.ts` partitions all 444 operations in the pinned
|
|
435
|
+
snapshot into *covered by a tool* or *excluded by a rule that carries a
|
|
436
|
+
written reason*, and fails on anything in neither. A route nobody has decided
|
|
437
|
+
about is indistinguishable from one somebody is still working on, which is
|
|
438
|
+
what made "is this connector finished?" a question you could only answer with
|
|
439
|
+
an audit. It is now a build status: a new backend route arrives as a red build
|
|
440
|
+
asking **cover it, or exclude it with a reason?**
|
|
339
441
|
|
|
340
442
|
**One known exception, not enforced:** a framework-provided `flow` is meant to
|
|
341
443
|
be read-only to a tenant, but the backend does not actually block
|
package/dist/client.d.ts
CHANGED
|
@@ -32,9 +32,17 @@ export declare class AxonityClient {
|
|
|
32
32
|
*/
|
|
33
33
|
request<T = unknown>(method: string, path: string, body?: unknown, query?: Query): Promise<T>;
|
|
34
34
|
get<T = unknown>(path: string, query?: Query): Promise<T>;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
/**
|
|
36
|
+
* The writes. `query` is optional and usually absent — a write's arguments
|
|
37
|
+
* belong in its body — but a route may address its SUBJECT in the query while
|
|
38
|
+
* the body says what to change: `PATCH /data-tables/{id}/rows` takes
|
|
39
|
+
* `match_column`/`match_value` there to name the one row it edits. Without
|
|
40
|
+
* this the only way to call such a route would be to build the query string
|
|
41
|
+
* into `path` by hand, which is how an unencoded value becomes a bug.
|
|
42
|
+
*/
|
|
43
|
+
post<T = unknown>(path: string, body?: unknown, query?: Query): Promise<T>;
|
|
44
|
+
put<T = unknown>(path: string, body?: unknown, query?: Query): Promise<T>;
|
|
45
|
+
patch<T = unknown>(path: string, body?: unknown, query?: Query): Promise<T>;
|
|
38
46
|
/**
|
|
39
47
|
* DELETE. The optimistic lock travels as a QUERY parameter on these routes,
|
|
40
48
|
* not in the body — and its spelling differs by entity family
|
package/dist/client.js
CHANGED
|
@@ -72,14 +72,22 @@ export class AxonityClient {
|
|
|
72
72
|
get(path, query) {
|
|
73
73
|
return this.request("GET", path, undefined, query);
|
|
74
74
|
}
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
/**
|
|
76
|
+
* The writes. `query` is optional and usually absent — a write's arguments
|
|
77
|
+
* belong in its body — but a route may address its SUBJECT in the query while
|
|
78
|
+
* the body says what to change: `PATCH /data-tables/{id}/rows` takes
|
|
79
|
+
* `match_column`/`match_value` there to name the one row it edits. Without
|
|
80
|
+
* this the only way to call such a route would be to build the query string
|
|
81
|
+
* into `path` by hand, which is how an unencoded value becomes a bug.
|
|
82
|
+
*/
|
|
83
|
+
post(path, body, query) {
|
|
84
|
+
return this.request("POST", path, body, query);
|
|
77
85
|
}
|
|
78
|
-
put(path, body) {
|
|
79
|
-
return this.request("PUT", path, body);
|
|
86
|
+
put(path, body, query) {
|
|
87
|
+
return this.request("PUT", path, body, query);
|
|
80
88
|
}
|
|
81
|
-
patch(path, body) {
|
|
82
|
-
return this.request("PATCH", path, body);
|
|
89
|
+
patch(path, body, query) {
|
|
90
|
+
return this.request("PATCH", path, body, query);
|
|
83
91
|
}
|
|
84
92
|
/**
|
|
85
93
|
* DELETE. The optimistic lock travels as a QUERY parameter on these routes,
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -44,6 +44,27 @@ export interface ProbeServer {
|
|
|
44
44
|
* probe fixture that has drifted silently narrows what the sweep reaches.
|
|
45
45
|
*/
|
|
46
46
|
export declare const PROBE_ARGS: Record<string, unknown>;
|
|
47
|
+
/**
|
|
48
|
+
* Argument overlays the replay runs IN ADDITION to `PROBE_ARGS` alone.
|
|
49
|
+
*
|
|
50
|
+
* A blind sweep with one fixed argument set is a LOWER bound on what the tools
|
|
51
|
+
* reach, and the gap is not evenly spread: a handful of tools pick their route
|
|
52
|
+
* FROM an argument, so one probe pass sees one of their routes and misses the
|
|
53
|
+
* rest. `list_templates` chooses between four catalogue paths on `kind`;
|
|
54
|
+
* `list_dependent_agents` and `list_workflows_using` choose on `entityKind`;
|
|
55
|
+
* `validate_workflow` takes EXACTLY ONE of `workflowId`/`document`, so the base
|
|
56
|
+
* set — which supplies both — makes it fire nothing at all.
|
|
57
|
+
*
|
|
58
|
+
* That under-reporting is not theoretical. It made a coverage audit name three
|
|
59
|
+
* template routes as uncovered when `list_templates` had reached them all
|
|
60
|
+
* along. A measurement that quietly reads low is worse than no measurement,
|
|
61
|
+
* because it generates work that did not need doing.
|
|
62
|
+
*
|
|
63
|
+
* Each overlay is merged over `PROBE_ARGS` and replayed as its own pass. An
|
|
64
|
+
* `undefined` value REMOVES an argument, which is how the two shapes of
|
|
65
|
+
* `validate_workflow` are reached.
|
|
66
|
+
*/
|
|
67
|
+
export declare const PROBE_VARIANTS: Record<string, unknown>[];
|
|
47
68
|
/** A route a tool actually called, as observed by the recording client. */
|
|
48
69
|
export interface CalledRoute {
|
|
49
70
|
method: string;
|
package/dist/contract.js
CHANGED
|
@@ -48,7 +48,49 @@ export const PROBE_ARGS = {
|
|
|
48
48
|
requests: [{ entityType: "tool", entityId: "x" }],
|
|
49
49
|
entityKind: "skill", entityId: "x", batchId: "x", stepId: "x", answer: "x",
|
|
50
50
|
message: "x", templateId: "x", releaseId: "x", payload: {},
|
|
51
|
+
toolboxId: "x", toolIds: ["t-1"], authConfig: null, description: "x",
|
|
52
|
+
digest: "d", invocationId: "x", itemCap: 50, enabled: true, rules: [{}],
|
|
53
|
+
fileId: "x",
|
|
51
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* Argument overlays the replay runs IN ADDITION to `PROBE_ARGS` alone.
|
|
57
|
+
*
|
|
58
|
+
* A blind sweep with one fixed argument set is a LOWER bound on what the tools
|
|
59
|
+
* reach, and the gap is not evenly spread: a handful of tools pick their route
|
|
60
|
+
* FROM an argument, so one probe pass sees one of their routes and misses the
|
|
61
|
+
* rest. `list_templates` chooses between four catalogue paths on `kind`;
|
|
62
|
+
* `list_dependent_agents` and `list_workflows_using` choose on `entityKind`;
|
|
63
|
+
* `validate_workflow` takes EXACTLY ONE of `workflowId`/`document`, so the base
|
|
64
|
+
* set — which supplies both — makes it fire nothing at all.
|
|
65
|
+
*
|
|
66
|
+
* That under-reporting is not theoretical. It made a coverage audit name three
|
|
67
|
+
* template routes as uncovered when `list_templates` had reached them all
|
|
68
|
+
* along. A measurement that quietly reads low is worse than no measurement,
|
|
69
|
+
* because it generates work that did not need doing.
|
|
70
|
+
*
|
|
71
|
+
* Each overlay is merged over `PROBE_ARGS` and replayed as its own pass. An
|
|
72
|
+
* `undefined` value REMOVES an argument, which is how the two shapes of
|
|
73
|
+
* `validate_workflow` are reached.
|
|
74
|
+
*/
|
|
75
|
+
export const PROBE_VARIANTS = [
|
|
76
|
+
{},
|
|
77
|
+
// list_templates — one path per catalogue.
|
|
78
|
+
{ kind: "agent" },
|
|
79
|
+
{ kind: "tool" },
|
|
80
|
+
{ kind: "workflow" },
|
|
81
|
+
// list_dependent_agents — the three library kinds.
|
|
82
|
+
{ entityKind: "policy" },
|
|
83
|
+
{ entityKind: "reference_doc" },
|
|
84
|
+
// list_workflows_using — the five document-reference kinds.
|
|
85
|
+
{ entityKind: "tool" },
|
|
86
|
+
{ entityKind: "agent" },
|
|
87
|
+
{ entityKind: "flow" },
|
|
88
|
+
{ entityKind: "output_schema" },
|
|
89
|
+
{ entityKind: "workflow" },
|
|
90
|
+
// validate_workflow — exactly one of the two, never both.
|
|
91
|
+
{ document: undefined },
|
|
92
|
+
{ workflowId: undefined },
|
|
93
|
+
];
|
|
52
94
|
/**
|
|
53
95
|
* Every route this build's tools call, found by replaying them.
|
|
54
96
|
*
|
|
@@ -72,12 +114,15 @@ export async function collectCalledRoutes(register) {
|
|
|
72
114
|
};
|
|
73
115
|
const handlers = [];
|
|
74
116
|
register({ tool: (_n, _d, _s, handler) => handlers.push(handler) }, recorder);
|
|
75
|
-
for (const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
117
|
+
for (const overlay of PROBE_VARIANTS) {
|
|
118
|
+
const args = { ...PROBE_ARGS, ...overlay };
|
|
119
|
+
for (const handler of handlers) {
|
|
120
|
+
try {
|
|
121
|
+
await handler(args);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
/* Arg-shape mismatch is fine — only routes that fired are collected. */
|
|
125
|
+
}
|
|
81
126
|
}
|
|
82
127
|
}
|
|
83
128
|
return calls;
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoB/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B;IACjD,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;IAChF,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IACzE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC1E,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG;IAC/D,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IACzD,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAChF,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAC5C,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG;IAC5D,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACjD,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IAC1E,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,5 +74,25 @@ export const LIST_FILTERS = {
|
|
|
74
74
|
description: "Return the tenant's soft-deleted rows instead of the live ones. `list_deleted_prompt_snippets` asks the dedicated route for the same thing and is usually clearer.",
|
|
75
75
|
},
|
|
76
76
|
],
|
|
77
|
+
"data_table": [
|
|
78
|
+
{
|
|
79
|
+
arg: "name",
|
|
80
|
+
query: "name",
|
|
81
|
+
type: "string",
|
|
82
|
+
description: "Only the table with exactly this name. A name is unique within the workspace and is what a tool grant and a decision rule refer to, so this answers 'does it already exist' in one call. Matching is exact, never a substring.",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
arg: "status",
|
|
86
|
+
query: "status",
|
|
87
|
+
type: "string",
|
|
88
|
+
description: "Only tables with this lifecycle status: active (in use) or archived (kept, not offered). A value outside the two is refused rather than silently ignored.",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
arg: "isDynamic",
|
|
92
|
+
query: "is_dynamic",
|
|
93
|
+
type: "boolean",
|
|
94
|
+
description: "true: only tables a workflow may change. false: only reference data the author maintains. Omit for both.",
|
|
95
|
+
},
|
|
96
|
+
],
|
|
77
97
|
};
|
|
78
98
|
//# sourceMappingURL=listFilters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listFilters.js","sourceRoot":"","sources":["../../src/generated/listFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAiC;IACxD,UAAU,EAAE;QACV;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sGAAsG;SACzG;QACD;YACE,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,kFAAkF;SACrF;KACF;IACD,OAAO,EAAE;QACP;YACE,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,uNAAuN;SAC1N;KACF;IACD,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,eAAe,EAAE;QACf;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,oKAAoK;SACvK;KACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"listFilters.js","sourceRoot":"","sources":["../../src/generated/listFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAiC;IACxD,UAAU,EAAE;QACV;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sGAAsG;SACzG;QACD;YACE,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,kFAAkF;SACrF;KACF;IACD,OAAO,EAAE;QACP;YACE,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,uNAAuN;SAC1N;KACF;IACD,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,eAAe,EAAE;QACf;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,oKAAoK;SACvK;KACF;IACD,YAAY,EAAE;QACZ;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,gOAAgO;SACnO;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2JAA2J;SAC9J;QACD;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,0GAA0G;SAC7G;KACF;CACF,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,24 +23,28 @@ import { AxonityClient } from "./client.js";
|
|
|
23
23
|
import { loadConfig } from "./config.js";
|
|
24
24
|
import { reportContractSkew } from "./contract.js";
|
|
25
25
|
import { registerConventions } from "./tools/conventions.js";
|
|
26
|
+
import { registerDataTableTools } from "./tools/dataTables.js";
|
|
26
27
|
import { assertPlaceholderCredentials } from "./tools/credentials.js";
|
|
27
28
|
import { registerAttachTools, registerCatalogTools, registerConnectorTools, registerDependencyTools, registerPersonaTools, } from "./tools/extras.js";
|
|
28
29
|
import { registerAuthoringSpecTools } from "./tools/authoringSpec.js";
|
|
29
30
|
import { registerCompanyTools } from "./tools/company.js";
|
|
31
|
+
import { registerOperationsTools } from "./tools/operations.js";
|
|
30
32
|
import { registerPromptPlacementTools } from "./tools/promptPlacement.js";
|
|
31
33
|
import { LIST_FILTERS } from "./generated/listFilters.js";
|
|
32
34
|
import { registerEntityTools } from "./tools/register.js";
|
|
33
35
|
import { registerRunTools } from "./tools/runs.js";
|
|
34
36
|
import { registerSecretTools } from "./tools/secrets.js";
|
|
35
37
|
import { registerSubworkflowTools } from "./tools/subworkflows.js";
|
|
38
|
+
import { registerToolboxTools } from "./tools/toolboxes.js";
|
|
36
39
|
import { registerTriggerTools } from "./tools/triggers.js";
|
|
37
40
|
import { registerApprovalTools, registerExecutionTools, registerValidationTools, } from "./tools/validation.js";
|
|
38
41
|
import { registerVersionTools } from "./tools/versions.js";
|
|
39
42
|
import { registerWorkflowMutations } from "./tools/workflowMutations.js";
|
|
40
43
|
/**
|
|
41
|
-
* The entities the connector covers. Core entities (C4)
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
+
* The entities the connector covers. Core entities (C4), memory entities (C5)
|
|
45
|
+
* — skills, policies, reference docs — which have the same draft→publish
|
|
46
|
+
* lifecycle via #443's unified versioning, and `data_table` (axonity-flow#1217),
|
|
47
|
+
* which joins them on exactly the same shape.
|
|
44
48
|
*/
|
|
45
49
|
const ENTITIES = [
|
|
46
50
|
{
|
|
@@ -122,11 +126,33 @@ const ENTITIES = [
|
|
|
122
126
|
label: "flows (reusable workflow fragments)",
|
|
123
127
|
deleteVersionParam: "expectedVersion",
|
|
124
128
|
},
|
|
129
|
+
{
|
|
130
|
+
// A table is the same category of thing as an output schema — authored,
|
|
131
|
+
// typed, versioned, publish-approved — and axonity-flow#1217 deliberately
|
|
132
|
+
// wrote its routes in the same order and spelling, so the whole family
|
|
133
|
+
// comes from the registrar with no new code. What is NOT generic is the
|
|
134
|
+
// list (paged, alone among the entities) and the rows (a whole-collection
|
|
135
|
+
// field a blind `fields` bag can wipe) — hence the two entries below and
|
|
136
|
+
// the explicit row tools in `tools/dataTables.ts`.
|
|
137
|
+
singular: "data_table",
|
|
138
|
+
basePath: "/api/v1/data-tables",
|
|
139
|
+
updateMethod: "PUT",
|
|
140
|
+
plural: "data_tables",
|
|
141
|
+
label: "tables (authored reference data agents and decisions read)",
|
|
142
|
+
deleteVersionParam: "expected_version",
|
|
143
|
+
listPaging: { defaultPageSize: 20, maxPageSize: 200 },
|
|
144
|
+
updateWarning: "`rows` AND `columns` ARE WHOLE-COLLECTION FIELDS: sending either " +
|
|
145
|
+
"REPLACES it entirely. Passing one row in `rows` does not append it — it " +
|
|
146
|
+
"deletes every other row in the table. To change content, use " +
|
|
147
|
+
"add_data_table_row / update_data_table_row / delete_data_table_row, " +
|
|
148
|
+
"which address a single row and cannot destroy the rest. Use `rows` here " +
|
|
149
|
+
"only when you genuinely mean to replace the whole content.",
|
|
150
|
+
},
|
|
125
151
|
];
|
|
126
152
|
/**
|
|
127
153
|
* Entities with version history. Every authored entity here exposes the
|
|
128
154
|
* `/versions*` routes, `flow` included (verified against the backend:
|
|
129
|
-
* `/api/v1/flows/{id}/versions…`), so all
|
|
155
|
+
* `/api/v1/flows/{id}/versions…`), so all eleven get the version tools.
|
|
130
156
|
*/
|
|
131
157
|
const VERSIONED = [
|
|
132
158
|
{ singular: "workflow", basePath: "/api/v1/workflows", publishedPath: "entity" },
|
|
@@ -151,6 +177,11 @@ const VERSIONED = [
|
|
|
151
177
|
publishedPath: "versions",
|
|
152
178
|
},
|
|
153
179
|
{ singular: "flow", basePath: "/api/v1/flows", publishedPath: "entity" },
|
|
180
|
+
{
|
|
181
|
+
singular: "data_table",
|
|
182
|
+
basePath: "/api/v1/data-tables",
|
|
183
|
+
publishedPath: "versions",
|
|
184
|
+
},
|
|
154
185
|
];
|
|
155
186
|
export function registerAll(server, client) {
|
|
156
187
|
registerConventions(server);
|
|
@@ -182,6 +213,9 @@ export function registerAll(server, client) {
|
|
|
182
213
|
registerCompanyTools(server, client);
|
|
183
214
|
registerSecretTools(server, client);
|
|
184
215
|
registerSubworkflowTools(server, client);
|
|
216
|
+
registerToolboxTools(server, client);
|
|
217
|
+
registerOperationsTools(server, client);
|
|
218
|
+
registerDataTableTools(server, client);
|
|
185
219
|
}
|
|
186
220
|
export function buildServer(client) {
|
|
187
221
|
const server = new McpServer({ name: "axonity", version: "0.1.0" });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAkB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAwB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/company.js
CHANGED
|
@@ -20,6 +20,29 @@ export function registerCompanyTools(server, client) {
|
|
|
20
20
|
server.tool("read_company", "Read this tenant's company document (its current draft and version). There " +
|
|
21
21
|
"is one company per tenant — no id. Read it before you update, to get the " +
|
|
22
22
|
"version for optimistic locking.", {}, async () => guard(async () => jsonResult(await client.get("/api/v1/company"))));
|
|
23
|
+
server.tool("create_company_from_template", "Create this tenant's company document from a template — how a tenant that " +
|
|
24
|
+
"has none gets one. Pick the template with list_templates({ kind: " +
|
|
25
|
+
"\"all\" }) and read it with read_template first: the template decides the " +
|
|
26
|
+
"value stream, the stages and the capabilities that everything else in " +
|
|
27
|
+
"the tenant will hang off. " +
|
|
28
|
+
"\n\nThis is a WRITE on the singleton every workflow refers to. Run " +
|
|
29
|
+
"read_company first — if one already exists, instantiating over it is " +
|
|
30
|
+
"almost never what you meant, and update_company or " +
|
|
31
|
+
"apply_company_mutation is. Like every other write here it produces a " +
|
|
32
|
+
"DRAFT; a human publishes it.", {
|
|
33
|
+
templateId: z.string().describe("The template's id, from list_templates."),
|
|
34
|
+
companyName: z
|
|
35
|
+
.string()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("Name for the new company. Omit to take the template's own."),
|
|
38
|
+
confirm: z
|
|
39
|
+
.literal(true)
|
|
40
|
+
.describe("Must be true. Acknowledges this creates the tenant's company " +
|
|
41
|
+
"document from a template — check read_company first."),
|
|
42
|
+
}, async ({ templateId, companyName }) => guard(async () => jsonResult(await client.post("/api/v1/company/from-template", {
|
|
43
|
+
templateId,
|
|
44
|
+
...(companyName ? { companyName } : {}),
|
|
45
|
+
}))));
|
|
23
46
|
server.tool("read_company_published", "Read the LIVE published company document — what the runtime uses, as opposed " +
|
|
24
47
|
"to the draft read_company returns. Diff the two to see what a publish would change.", {}, async () => guard(async () => jsonResult(await client.get("/api/v1/company/published"))));
|
|
25
48
|
server.tool("update_company", "Save the company draft as a WHOLE document (full-document PUT, not a field " +
|