@axonity-ai/mcp 0.25.0 → 0.27.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 +71 -42
- package/dist/contract.d.ts +14 -2
- package/dist/contract.js +30 -10
- package/dist/contract.js.map +1 -1
- package/dist/errors.d.ts +14 -4
- package/dist/errors.js +45 -15
- package/dist/errors.js.map +1 -1
- package/dist/generated/listFilters.d.ts +1 -1
- package/dist/generated/listFilters.js +2 -2
- package/dist/generated/listFilters.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.js +50 -22
- package/dist/index.js.map +1 -1
- package/dist/tools/authoringSpec.js +7 -2
- package/dist/tools/authoringSpec.js.map +1 -1
- package/dist/tools/conventions.d.ts +1 -1
- package/dist/tools/conventions.js +160 -86
- package/dist/tools/conventions.js.map +1 -1
- package/dist/tools/dataTables.js +3 -2
- package/dist/tools/dataTables.js.map +1 -1
- package/dist/tools/entityContract.js +5 -3
- package/dist/tools/entityContract.js.map +1 -1
- package/dist/tools/extras.d.ts +15 -5
- package/dist/tools/extras.js +71 -19
- package/dist/tools/extras.js.map +1 -1
- package/dist/tools/register.d.ts +14 -3
- package/dist/tools/register.js +3 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/tools/runs.js +132 -58
- package/dist/tools/runs.js.map +1 -1
- package/dist/tools/validation.d.ts +5 -4
- package/dist/tools/validation.js +38 -19
- package/dist/tools/validation.js.map +1 -1
- package/dist/tools/versions.d.ts +1 -1
- package/package.json +1 -1
|
@@ -70,8 +70,9 @@ Read this before creating or updating anything.
|
|
|
70
70
|
1. \`read_*\` the entity (and \`read_*_published\` if you need to see what is live).
|
|
71
71
|
2. Edit the DRAFT: \`update_*\`, or workflow-edit tools for workflow structure.
|
|
72
72
|
3. Validate before publish: \`validate_workflow\` / \`analyze_workflow_reachable_outputs\` /
|
|
73
|
-
\`validate_tool_code\` / \`format_tool_code\`. These four
|
|
74
|
-
read-only
|
|
73
|
+
\`validate_tool_code\` / \`format_tool_code\`. These four save nothing, and a
|
|
74
|
+
read-only token may call them — except \`validate_workflow({ workflowId })\`,
|
|
75
|
+
which needs the \`author\` scope.
|
|
75
76
|
4. Re-read and verify with a saved tool command: \`execute_tool\` /
|
|
76
77
|
\`execute_stored_connector\`.
|
|
77
78
|
5. Fix any issues and re-read again.
|
|
@@ -157,11 +158,13 @@ has run cleanly once, at its current version.
|
|
|
157
158
|
|
|
158
159
|
## Field shape
|
|
159
160
|
- All fields are camelCase JSON (e.g. \`capabilityTier\`, not \`capability_tier\`).
|
|
160
|
-
ONE documented exception: validator specs
|
|
161
|
-
\`
|
|
161
|
+
ONE documented exception: validator specs — in an output_schema's
|
|
162
|
+
\`schemaBody\` (\`validators\`, \`preflight\`), a step's
|
|
163
|
+
\`contract.output_validators\` and a conversation step's
|
|
164
|
+
\`answerContract.validators\` — use snake_case keys (\`function\`,
|
|
162
165
|
\`target\`, \`args\`, \`when_present\`, \`inputs\`, \`error_message\`,
|
|
163
|
-
\`tool_name\`, \`validator_name\`) — they are
|
|
164
|
-
|
|
166
|
+
\`tool_name\`, \`validator_name\`) — they are stored verbatim, so they are
|
|
167
|
+
NOT camel-aliased. Send them in snake_case.
|
|
165
168
|
What those keys MEAN, and how a validator is bound to what it judges, is the
|
|
166
169
|
Validators section.
|
|
167
170
|
- \`update_*\` is a partial change for agents/tools and a partial patch for
|
|
@@ -173,10 +176,10 @@ has run cleanly once, at its current version.
|
|
|
173
176
|
undeclared OR MISSPELLED key is a 422 that names it, not a silent drop. So
|
|
174
177
|
spelling matters and you get told when it is wrong — good. Other entities are
|
|
175
178
|
more lenient and may drop an unknown key silently; never rely on that.
|
|
176
|
-
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
179
|
+
- An agent has no tags: what reaches an agent's prompt is a LINK
|
|
180
|
+
(\`attach_policy_to_agent\`), visible in a table a human can read and edit.
|
|
181
|
+
A role-tag gate on a policy used to decide that invisibly and is refused
|
|
182
|
+
outright now: sending
|
|
180
183
|
\`activation.tags\` to \`create_policy\`/\`update_policy\` is a 422. The two
|
|
181
184
|
surviving gates, \`activation.tools\` and \`activation.delegation\`, each say
|
|
182
185
|
something a link cannot — "only on turns where this agent holds this tool",
|
|
@@ -207,9 +210,13 @@ has run cleanly once, at its current version.
|
|
|
207
210
|
the author owns that value and it is overwritten anyway.
|
|
208
211
|
- **A run can park instead of finishing.** A step that asks a question waits
|
|
209
212
|
for an answer, so "it never came back" usually means "it is waiting on you".
|
|
210
|
-
\`
|
|
211
|
-
|
|
212
|
-
|
|
213
|
+
\`list_todo_steps\` has every step that waits on a person (a question, a
|
|
214
|
+
plan, a manual or decision step); \`read_run_waiting_on\` has a timer and an
|
|
215
|
+
answer or callback result on its way; a FOR EACH batch is on
|
|
216
|
+
\`read_run_for_each_progress\`; a conversation run waits in its chat.
|
|
217
|
+
\`answer_run_question\` (or \`send_run_message\` on a conversation run)
|
|
218
|
+
resumes it. Answer your own test runs; on a run a human is depending on, the
|
|
219
|
+
answer is theirs to give.
|
|
213
220
|
- A FOR EACH launch is not one result. \`read_run_items_summary\` is the
|
|
214
221
|
roll-up ("4,415 processed · 12 failed") and \`list_run_items\` the rows —
|
|
215
222
|
with \`outcome: "failed"\`, because the failures are scattered and filtering
|
|
@@ -217,17 +224,17 @@ has run cleanly once, at its current version.
|
|
|
217
224
|
- A LIST is not the whole list. \`list_workflow_runs\` returns a page —
|
|
218
225
|
\`{ items, nextCursor, pageSize, hasMore }\`, 20 by default — so counting or
|
|
219
226
|
concluding from page one while \`hasMore\` is true is how you answer confidently
|
|
220
|
-
and wrongly. Follow \`nextCursor\` until it is null.
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
227
|
+
and wrongly. Follow \`nextCursor\` until it is null. And that route lists
|
|
228
|
+
LAUNCHES: a 4,415-item FOR EACH is ONE entry carrying \`forEachProgress\`, so
|
|
229
|
+
rows are not runs. \`list_runs\` pages the same way, by \`nextCursor\` with
|
|
230
|
+
\`hasMore\`. \`list_publish_approvals\` pages by \`offset\` and answers \`total\`
|
|
231
|
+
and \`hasMore\`: raise \`offset\` by \`limit\` until \`hasMore\` is false.
|
|
225
232
|
|
|
226
233
|
## Delete is recoverable — but not everything is
|
|
227
234
|
- \`delete_*\` soft-deletes: the entity disappears from \`list_*\` but is not gone.
|
|
228
235
|
\`restore_*\` brings it back; \`list_deleted_*\` shows what's waiting. This
|
|
229
|
-
applies uniformly to
|
|
230
|
-
|
|
236
|
+
applies uniformly to every entity that has a \`delete_*\` and a
|
|
237
|
+
\`restore_*\` tool.
|
|
231
238
|
- The same applies one level down, to version HISTORY:
|
|
232
239
|
\`delete_*_version\` removes one entry from history (the current draft and
|
|
233
240
|
published version are protected and can't be targeted this way);
|
|
@@ -236,8 +243,12 @@ has run cleanly once, at its current version.
|
|
|
236
243
|
are normal, not a sign of corruption.
|
|
237
244
|
- \`restore_*\` can itself 409 if a live entity now holds the same name/slot —
|
|
238
245
|
the error names the conflicting one.
|
|
239
|
-
-
|
|
240
|
-
|
|
246
|
+
- Deleting is not archiving. Some entities also have a \`status\` that can be
|
|
247
|
+
\`archived\` — kept, not offered — set with \`update_*\`: \`agent\`, \`tool\`,
|
|
248
|
+
\`skill\`, \`policy\`, \`reference_doc\`, \`output_schema\`, \`data_table\`,
|
|
249
|
+
\`measure\`, \`query\` and \`application\`. The values each takes are in
|
|
250
|
+
\`get_entity_authoring_contract\`. Runs have an archive of their own
|
|
251
|
+
(\`archive_run\` / \`unarchive_run\`, see below).
|
|
241
252
|
|
|
242
253
|
## Per entity — what to create, and what "complete" means
|
|
243
254
|
|
|
@@ -287,12 +298,30 @@ made any time before you attach them.
|
|
|
287
298
|
so the human approving is not the first to find out.
|
|
288
299
|
- **An answer that is a file**: \`responseMapping: { "type": "file",
|
|
289
300
|
"filename": "{{filename}}" }\` keeps the bytes as a file of the run and
|
|
290
|
-
returns its reference
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
301
|
+
returns its reference
|
|
302
|
+
\`{ fileId, filename, contentType, sizeBytes, sha256 }\` — the shape an
|
|
303
|
+
upload has, so Digitize documents reads it and a sub-workflow's file
|
|
304
|
+
parameter takes it. \`filename\` is optional (the far end's
|
|
305
|
+
\`Content-Disposition\` name, else \`document\`) and may use the inputs.
|
|
306
|
+
No \`responseTransform\` with a file answer. Outside a run
|
|
295
307
|
(\`execute_stored_connector\`) nothing is stored: you see name and size.
|
|
308
|
+
- **\`sha256\` in a file reference** is the hex SHA-256 of the bytes,
|
|
309
|
+
computed once when the file was stored. The same bytes have the same
|
|
310
|
+
value under any name, so compare it to recognise a file that was already
|
|
311
|
+
processed (deciding that is the workflow's logic, not the platform's).
|
|
312
|
+
Only a reference in a declared file parameter (\`file\`, or a list of
|
|
313
|
+
\`file\`) is checked against storage. Where one enters a run — a
|
|
314
|
+
manual, API or MCP start, a sub-workflow call (with its copy under
|
|
315
|
+
\`item\` in the child) — its \`filename\`, \`contentType\`,
|
|
316
|
+
\`sizeBytes\` and \`sha256\` are settled from storage, whatever the
|
|
317
|
+
caller wrote. A reference to a file the run may not read keeps what the
|
|
318
|
+
caller wrote and carries no \`sha256\`; at a webhook, cron or
|
|
319
|
+
conditional start that holds for each of them, since such a start links
|
|
320
|
+
no file. A reference anywhere else (an \`object\` field, an undeclared
|
|
321
|
+
key) is not checked and keeps any \`sha256\` the caller wrote. Digitize
|
|
322
|
+
documents always answers the stored \`sha256\` per file it read. So
|
|
323
|
+
compare only the value on a declared file parameter or on Digitize's
|
|
324
|
+
entry, never one in another field or one an agent wrote out.
|
|
296
325
|
- **executor** — runs a command on a registered executor (a program on
|
|
297
326
|
the customer's side). The save refuses a tool that names no executor or a
|
|
298
327
|
command that executor does not know; \`list_executors\` and
|
|
@@ -316,17 +345,26 @@ made any time before you attach them.
|
|
|
316
345
|
- Required: \`name\`. Enumerated fields, with their ONLY valid values:
|
|
317
346
|
- \`capabilityTier\`: \`economy\` | \`standard\` (default) | \`smart\` | \`reasoning\`
|
|
318
347
|
- \`creativityTier\`: \`low\` | \`medium\` (default) | \`high\`
|
|
319
|
-
- \`
|
|
320
|
-
- \`
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
348
|
+
- \`reasoningLevel\`: \`default\` (sends nothing, the model decides) | \`none\` | \`low\` | \`medium\` | \`high\` | \`extra_high\`
|
|
349
|
+
- \`delegation\`: \`off\` (default) | \`on\` (one task to one team member at a time) | \`multi\` (also one task to several at once)
|
|
350
|
+
- \`persona\` (text): who the agent is, in its own words — the character text
|
|
351
|
+
every prompt of this agent opens with. It is a field of the agent and
|
|
352
|
+
publishes with it (axonity-flow#2176); there is no separate persona to
|
|
353
|
+
create, version or publish. To remove it send \`""\`: on an update \`null\`
|
|
354
|
+
leaves it as it is.
|
|
355
|
+
- \`slug\` (its handle, set once at creation; left out: taken from the name),
|
|
356
|
+
\`avatar\`, \`conversational\` (bool: may people talk to it),
|
|
357
|
+
\`delegationBudgetEur\` (what one delegation to it may cost; empty: no
|
|
358
|
+
budget), \`frameworkToolsOff\` (framework tools taken away; \`submit_output\`
|
|
359
|
+
cannot be), \`clearance\` (what it may read; set by an administrator).
|
|
360
|
+
- Output: \`outputSchemaIds\` (the output schemas it answers in — library ids
|
|
361
|
+
or names; a schema outside the list is refused) and \`defaultOutputSchemaId\`
|
|
362
|
+
(the one used when a caller names none; left out: the first). The GATES on
|
|
363
|
+
an output live in the output_schema (see Validators), not on the agent.
|
|
328
364
|
- Wiring fields — see the Wiring section: \`toolIds\`, \`systemToolIds\`,
|
|
329
365
|
\`delegationTargetIds\`.
|
|
366
|
+
- Anything else is refused: the body is strict, so a field the platform
|
|
367
|
+
retired (axonity-flow#2176) is a 422 that names it, not a silent drop.
|
|
330
368
|
- Complete check: an agent with no \`toolIds\`/\`systemToolIds\` has no tools and
|
|
331
369
|
can only reason/talk. If it is meant to DO something, give it the tools.
|
|
332
370
|
|
|
@@ -363,14 +401,16 @@ made any time before you attach them.
|
|
|
363
401
|
launchable AND has a trigger (see Triggers).
|
|
364
402
|
|
|
365
403
|
### persona
|
|
366
|
-
-
|
|
367
|
-
|
|
368
|
-
|
|
404
|
+
- Not an entity: the agent's \`persona\` field (see agent). Set it with
|
|
405
|
+
\`create_agent\` / \`update_agent\`, or \`create_agent_persona\` (agentId,
|
|
406
|
+
expectedVersion, persona); read it with \`read_agent\` or
|
|
407
|
+
\`read_agent_persona\`. Its history is the agent's versions, and it goes live
|
|
408
|
+
with \`request_publish_agent\`.
|
|
369
409
|
|
|
370
410
|
### output_schema
|
|
371
411
|
- A reusable output contract, versioned and publishable. Referenced BY id from a
|
|
372
|
-
tool's validators or an agent's \`
|
|
373
|
-
|
|
412
|
+
tool's validators or an agent's \`outputSchemaIds\` — so create it first,
|
|
413
|
+
then point things at the id the create call returns.
|
|
374
414
|
- \`schemaBody\` is a JSON Schema document (\`type\`, \`properties\`,
|
|
375
415
|
\`required\`) PLUS one key that is not JSON Schema: \`validators\`, the gates
|
|
376
416
|
run against a submitted output. This is the place a validator can be STEERED
|
|
@@ -417,13 +457,24 @@ made any time before you attach them.
|
|
|
417
457
|
|
|
418
458
|
## Validators — one shape, one call
|
|
419
459
|
A validator is a GATE on a submitted output: it runs after an agent produces a
|
|
420
|
-
result and can refuse it.
|
|
421
|
-
|
|
422
|
-
\`
|
|
423
|
-
|
|
424
|
-
platform
|
|
425
|
-
|
|
426
|
-
|
|
460
|
+
result and can refuse it. The backend's OpenAPI description of \`schemaBody\`
|
|
461
|
+
is the source for the full contract, and the platform's live contract
|
|
462
|
+
(\`get_entity_authoring_contract\`, output_schema) wins over this section where
|
|
463
|
+
this deploy serves it. What follows is the part you cannot author without,
|
|
464
|
+
checked against the platform and SUBORDINATE to both.
|
|
465
|
+
|
|
466
|
+
Specs carry the same keys wherever they are written:
|
|
467
|
+
- an output_schema's \`schemaBody\` (\`validators\`, and \`preflight\` for the
|
|
468
|
+
checks an agent may run itself before it submits) — the gate on one value;
|
|
469
|
+
- a workflow step's \`contract.output_validators\` — run on the step's WHOLE
|
|
470
|
+
submission, so a rule about how its outputs relate has something to look at;
|
|
471
|
+
\`validate_workflow\` reports a named validator tool that does not exist;
|
|
472
|
+
- a conversation step's \`answerContract.validators\`, beside its \`schema\` —
|
|
473
|
+
run on the answer the agent hands in; without a \`schema\` nothing runs, and
|
|
474
|
+
\`validate_workflow\` does not report it.
|
|
475
|
+
The agent itself no longer carries specs (axonity-flow#2176): it names the
|
|
476
|
+
schemas it answers in with \`outputSchemaIds\`, and a spec sent on the agent's
|
|
477
|
+
strict create/update body is a 422.
|
|
427
478
|
|
|
428
479
|
- A spec names its check in ONE of two ways, and each brings its own binding:
|
|
429
480
|
- \`function\` — a shipped predicate (e.g. \`validators.min_length\`), bound
|
|
@@ -482,11 +533,8 @@ unresolved values and nothing says so. (Rows whose schema declares no shape are
|
|
|
482
533
|
left alone: there is nothing to check against, and guessing would refuse correct
|
|
483
534
|
configurations.)
|
|
484
535
|
|
|
485
|
-
WHERE \`field\` AND \`slots\` ARE
|
|
486
|
-
\`schemaBody\`, which is stored verbatim.
|
|
487
|
-
\`permissions.outputValidators\` is a STRICT body — an undeclared key is a 422 —
|
|
488
|
-
so a spec written THERE takes neither, and its validator gets the whole output
|
|
489
|
-
and no slots. Steer a validator from the output_schema.
|
|
536
|
+
WHERE \`field\` AND \`slots\` ARE CHECKED: when you save an output_schema, in
|
|
537
|
+
its \`schemaBody\`, which is stored verbatim.
|
|
490
538
|
|
|
491
539
|
### The older, explicit binding
|
|
492
540
|
A tool spec MAY declare \`inputs\` instead, and a spec with \`inputs\` does NOT
|
|
@@ -513,8 +561,9 @@ lives in the entity body:
|
|
|
513
561
|
\`update_agent\`. \`toolIds\` and \`systemToolIds\` are DIFFERENT lists; a
|
|
514
562
|
system-tool id does not go in \`toolIds\`.
|
|
515
563
|
- agent → agent (delegation): add the callee agent's id to the caller's
|
|
516
|
-
\`delegationTargetIds\` (and set \`
|
|
517
|
-
- output_schema → agent: \`
|
|
564
|
+
\`delegationTargetIds\` (and set \`delegation\` to \`on\` or \`multi\`).
|
|
565
|
+
- output_schema → agent: \`outputSchemaIds\` (a list), with
|
|
566
|
+
\`defaultOutputSchemaId\` for the one used when a caller names none.
|
|
518
567
|
- Changing any of these is read-then-write under optimistic locking: read the
|
|
519
568
|
agent, edit the field — an id-array is a FULL replace, so include the ids you
|
|
520
569
|
are keeping — then \`update_agent\` with \`expectedVersion\`.
|
|
@@ -588,8 +637,8 @@ doc or a step's activities — and how large each may be, is not decided here: t
|
|
|
588
637
|
placement rules are served by the platform and appended to this guide, read live
|
|
589
638
|
from this deploy each time you call it.
|
|
590
639
|
|
|
591
|
-
|
|
592
|
-
|
|
640
|
+
An agent has no long-term recall of its own runs: episodic memory went with
|
|
641
|
+
axonity-flow#2176. Session/workflow memory are RUNTIME, not authored: they are
|
|
593
642
|
written by a run, never set here. This connector does not expose them — the
|
|
594
643
|
backend serves them per run, but no tool wraps those reads yet, so do not
|
|
595
644
|
promise a user you can show them.
|
|
@@ -615,9 +664,8 @@ elsewhere points at nothing. Do this instead:
|
|
|
615
664
|
2. Create the leaf dependencies first (tools, output_schemas). Keep a map from
|
|
616
665
|
each OLD id to the NEW id the create call returns.
|
|
617
666
|
3. Create agents, translating every referenced id through your map:
|
|
618
|
-
old toolId → new toolId in \`toolIds\`, etc. Never send an old id.
|
|
619
|
-
|
|
620
|
-
new agent.
|
|
667
|
+
old toolId → new toolId in \`toolIds\`, etc. Never send an old id. The
|
|
668
|
+
persona is a field of the agent: copy its \`persona\` text into the create.
|
|
621
669
|
4. Create workflows; when you add agent/tool references into the document,
|
|
622
670
|
translate through the map the same way.
|
|
623
671
|
5. Attach skills/policies/reference-docs by the new ids, then read them back
|
|
@@ -628,10 +676,14 @@ The connector never carries a secret across: \`authConfig\` stays placeholders i
|
|
|
628
676
|
the new tenant too, and a human fills the real value there.
|
|
629
677
|
|
|
630
678
|
## Structural workflow edits
|
|
631
|
-
- **Start by reading the spec.** \`get_workflow_authoring_spec\` returns
|
|
632
|
-
lists this deploy generates from its own registries: the mutation commands
|
|
633
|
-
the trigger types, the step types
|
|
634
|
-
the
|
|
679
|
+
- **Start by reading the spec.** \`get_workflow_authoring_spec\` returns the
|
|
680
|
+
lists this deploy generates from its own registries: the mutation commands
|
|
681
|
+
(\`operations\`), the trigger types (\`triggerTypes\`), the step types
|
|
682
|
+
(\`stepTypes\`, including the ones you may not author, with the reason), the
|
|
683
|
+
schedule-rule shapes with a working example each (\`scheduleRuleKinds\`), the
|
|
684
|
+
value vocabularies (\`parameterTypes\`, \`outputKinds\`, \`schemaFieldKinds\`),
|
|
685
|
+
the decision evaluators (\`decisionEvaluators\`) and the column kinds of a
|
|
686
|
+
table (\`tableColumnKinds\`). Neither
|
|
635
687
|
this guide nor the tool descriptions restate any of those lists: a list kept
|
|
636
688
|
in the connector is right only by maintenance, and it has been wrong twice
|
|
637
689
|
already, both times in the direction that costs an agent a 422 on something it
|
|
@@ -660,7 +712,8 @@ the new tenant too, and a human fills the real value there.
|
|
|
660
712
|
Writing \`kind\` on a trigger parameter is not a 422; it is a key nothing
|
|
661
713
|
reads, so the value silently falls back to text and the workflow runs with
|
|
662
714
|
the wrong thing. Check which of the three you are writing before you write it.
|
|
663
|
-
- \`rulesVersion\` in that response is a content hash over
|
|
715
|
+
- \`rulesVersion\` in that response is a content hash over the whole
|
|
716
|
+
answer. While
|
|
664
717
|
it is unchanged there is nothing to re-fetch; re-read the spec when it changes,
|
|
665
718
|
or when a mutation fails with a 422 suggesting your idea of a command is stale.
|
|
666
719
|
- \`apply_workflow_mutations\` takes a LIST of commands and applies them in order,
|
|
@@ -746,13 +799,18 @@ a document to find out what the platform did.
|
|
|
746
799
|
\`removedEdges\`. An edge you did not ask for is this, not corruption.
|
|
747
800
|
|
|
748
801
|
## Validating: two questions, two calls
|
|
749
|
-
- \`validate_workflow({ workflowId })\` checks the
|
|
750
|
-
tenant catalog —
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
802
|
+
- \`validate_workflow({ workflowId })\` checks the workflow as SAVED against the
|
|
803
|
+
tenant catalog — whether the agents, tools and flows the steps reference
|
|
804
|
+
exist and are published — plus its own wiring (its triggers and the knowledge
|
|
805
|
+
attached to it). This is the "can this run?" answer. It needs a token with
|
|
806
|
+
the \`author\` scope.
|
|
807
|
+
- \`validate_workflow({ document })\` judges the document against the same
|
|
808
|
+
catalog, saves nothing, and a read-only token may call it. Without the
|
|
809
|
+
workflow's id it skips the checks about that workflow's own wiring (its
|
|
810
|
+
triggers and the knowledge attached to it), so validate by \`workflowId\` once
|
|
811
|
+
it is saved. Either call answers \`catalogChecked: false\` when the catalog
|
|
812
|
+
could not be built: then \`launchable\` means the graph is sound, not that it
|
|
813
|
+
will run.
|
|
756
814
|
- Pass exactly one. Before telling a human a workflow is ready, check
|
|
757
815
|
\`catalogChecked\` — a green structural verdict is the easiest thing to
|
|
758
816
|
over-read.
|
|
@@ -849,13 +907,24 @@ a document to find out what the platform did.
|
|
|
849
907
|
\`read_run_session_memory_file\` opens one. When the trace shows a decision but
|
|
850
908
|
not what it was reading, this is usually where the reason is. Workflow-bound
|
|
851
909
|
reference material is NOT here — that lives in \`reference_docs\`.
|
|
852
|
-
- **\`list_todo_steps\`** is every step in the tenant waiting on a
|
|
853
|
-
all runs
|
|
854
|
-
|
|
855
|
-
\`
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
910
|
+
- **\`list_todo_steps\`** is every step in the tenant waiting on a person, across
|
|
911
|
+
all runs: an unanswered question (\`ask_user\`), a plan awaiting approval, a
|
|
912
|
+
manual step or a decision step. Not on it: archived runs, conversations, a
|
|
913
|
+
debug pause (\`phase_control\`) and a question already answered. Each item
|
|
914
|
+
belongs to one agent or none (\`agentId\`): a question or a plan to the agent
|
|
915
|
+
that asked, a manual or decision step to the workflow's owner, none for the
|
|
916
|
+
platform's old budget question and for hidden platform workflows. Pass
|
|
917
|
+
\`agentId\` for one agent's items; without it the list shows every item.
|
|
918
|
+
\`groupKey\` is equal for questions with the same workflow, step and text, so
|
|
919
|
+
they can be shown once; each is still answered on its own run.
|
|
920
|
+
- \`list_todo_steps\` is PAGED over the waiting RUNS, so \`items\` can be
|
|
921
|
+
longer than \`pageSize\` — one run may park several steps — or shorter.
|
|
922
|
+
Follow \`nextCursor\` until it is null before concluding anything about how
|
|
923
|
+
much is waiting. \`read_run_waiting_on\` is a different read: the pending
|
|
924
|
+
wake-tasks of one run (a timer; an answer or a callback's result on its way);
|
|
925
|
+
an open question, a FOR EACH batch and a callback still running have none.
|
|
926
|
+
- A run's archive is reversible (\`archive_run\` / \`unarchive_run\`);
|
|
927
|
+
\`bulk_delete_runs\` is not.
|
|
859
928
|
|
|
860
929
|
## Subworkflows — one workflow calling another
|
|
861
930
|
Both halves live in the workflow DOCUMENT, so both are ordinary
|
|
@@ -944,13 +1013,18 @@ point and it changes without the process changing.
|
|
|
944
1013
|
editing code, reviewing it and publishing a tool. A business user maintains a
|
|
945
1014
|
table; nobody should need you to change a postcode.
|
|
946
1015
|
|
|
947
|
-
**
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
1016
|
+
**Who fills it — \`filledBy\`, one per table** (\`author\`, \`workflow\`,
|
|
1017
|
+
\`query\` or \`source\`).
|
|
1018
|
+
- \`author\` (the default) is reference data the AUTHOR maintains. A workflow
|
|
1019
|
+
reads it and cannot change it. \`allowedOperations\` must be empty: a
|
|
1020
|
+
permission nothing honours is refused, not stored.
|
|
1021
|
+
- \`workflow\` lets a workflow change the rows, limited to
|
|
952
1022
|
\`allowedOperations\` — any of \`add\` / \`update\` / \`delete\`. READING IS
|
|
953
1023
|
NEVER LISTED there: it is what a table is for and is always allowed.
|
|
1024
|
+
- \`query\` fills the rows from a named query (\`fillingQueryId\`, on its
|
|
1025
|
+
\`rhythm\` or with \`refresh_data_table\`).
|
|
1026
|
+
- \`source\` holds no rows here: they stay in a data source, and \`external\`
|
|
1027
|
+
says where. \`create_data_table\` describes each filler's fields.
|
|
954
1028
|
- You edit rows through \`add_data_table_row\` / \`update_data_table_row\` /
|
|
955
1029
|
\`delete_data_table_row\` whatever the table's mode says — those grants are
|
|
956
1030
|
about what a RUN may do, not about authoring.
|
|
@@ -993,8 +1067,8 @@ value across from one of the others, and do not guess. Every column needs a
|
|
|
993
1067
|
\`description\`: an agent reads it to know what the column is for, and a save
|
|
994
1068
|
without one is refused.
|
|
995
1069
|
|
|
996
|
-
**\`list_data_tables\` is PAGED**,
|
|
997
|
-
reference data has no ceiling. Page one is not the library. Follow
|
|
1070
|
+
**\`list_data_tables\` is PAGED**, like \`list_measures\`, \`list_queries\` and
|
|
1071
|
+
\`list_applications\` — a tenant's reference data has no ceiling. Page one is not the library. Follow
|
|
998
1072
|
\`nextCursor\` while \`hasMore\` is true, or better, narrow in the query:
|
|
999
1073
|
\`name\` is exact and unique per workspace, so "does one called X already
|
|
1000
1074
|
exist" is a single call rather than a walk. The page carries \`rowCount\`, never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAMH,MAAM,CAAC,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAMH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8jC1B,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAEpE,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,sCAAsC,CAAC;AAQ/E;;;;GAIG;AACH,MAAM,qBAAqB,GACzB,iDAAiD;IACjD,wEAAwE;IACxE,UAAU,eAAe,iDAAiD;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,WAAW,CAAC;AAEd,qFAAqF;AACrF,MAAM,8BAA8B,GAClC,2CAA2C;IAC3C,8EAA8E;IAC9E,UAAU,wBAAwB,4CAA4C;IAC9E,wEAAwE;IACxE,uCAAuC;IACvC,yEAAyE;IACzE,8DAA8D,CAAC;AAEjE;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAqB,EACrB,KAAa,EACb,IAAY,EACZ,WAAmB;IAEnB,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAkB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO,CACL,OAAO,IAAI,wCAAwC;QACnD,mBAAmB,OAAO,UAAU;QACpC,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IAC5D,OAAO,eAAe,CACpB,MAAM,EACN,eAAe,EACf,gCAAgC,EAChC,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEtC,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAqB;IACpE,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,wBAAwB,EACxB,sCAAsC,EACtC,8BAA8B,CAC/B,CAAC;IACF,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,KAAK,KAAK,8BAA8B;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,GAAG,KAAK,OAAO,uBAAuB,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAqB;IAC1E,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,2EAA2E;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,+DAA+D,EACjE,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,GAAG,WAAW,KAAK,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE;aAC5D;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,qEAAqE;QACnE,sFAAsF;QACtF,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,2BAA2B,EAC7B,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;KACrF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/tools/dataTables.js
CHANGED
|
@@ -170,8 +170,9 @@ export function registerDataTableTools(server, client) {
|
|
|
170
170
|
"`fill.lastAt`, `fill.lastRowCount` and `fill.lastError` describe the " +
|
|
171
171
|
"run. " +
|
|
172
172
|
"\n\nRefused with a 422 when the table is not filled by a query " +
|
|
173
|
-
"(`filledBy` is `author` or `
|
|
174
|
-
"
|
|
173
|
+
"(`filledBy` is `author`, `workflow` or `source`) — its rows come from " +
|
|
174
|
+
"an author or a workflow, or stay in their data source, and there is " +
|
|
175
|
+
"nothing to run.", { id: z.string().describe("The table's id.") }, async ({ id }) => guard(async () => jsonResult(await client.post(`${BASE}/${id}/refresh`))));
|
|
175
176
|
server.tool("list_data_table_tools", "Which tools this table yields, and which of them a RUN can actually " +
|
|
176
177
|
"reach. Read-only. " +
|
|
177
178
|
"\n\nA published table mints its own CRUD tools, so giving an agent " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataTables.js","sourceRoot":"","sources":["../../src/tools/dataTables.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dataTables.js","sourceRoot":"","sources":["../../src/tools/dataTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,9 +62,11 @@ export async function readEntityContract(client, kinds) {
|
|
|
62
62
|
}
|
|
63
63
|
export function registerEntityContractTools(server, client) {
|
|
64
64
|
server.tool("get_entity_authoring_contract", "Read this deploy's CREATE CONTRACT per entity kind from the platform " +
|
|
65
|
-
"itself
|
|
66
|
-
"
|
|
67
|
-
"
|
|
65
|
+
"itself, per kind: `tool` (each type's implementation, connectors " +
|
|
66
|
+
"included), `agent` (its persona included), `application`, `measure`, " +
|
|
67
|
+
"`query`, `data_table`, `output_schema`, `policy`, `skill`, " +
|
|
68
|
+
"`reference_doc`, `prompt_snippet`, `toolbox`, `secret`, " +
|
|
69
|
+
"`conditional_trigger` and `trigger_element`. Answers `{ kinds, contracts, rulesVersion }`: per kind the " +
|
|
68
70
|
"`create` and `update` fields (name, required, type, allowed values, " +
|
|
69
71
|
"shape, and `refused` with where the value is authored instead), and " +
|
|
70
72
|
"`publish.rules` — what stops it from going live, each with a `code` " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityContract.js","sourceRoot":"","sources":["../../src/tools/entityContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;AAE1E,qEAAqE;AACrE,MAAM,CAAC,MAAM,2BAA2B,GACtC,+DAA+D;IAC/D,qCAAqC,qBAAqB,KAAK;IAC/D,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,qEAAqE;IACrE,4DAA4D,CAAC;AAE/D,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB,EAAE,KAAgB;IAC9E,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,UAAU,CACf,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACzC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CACzE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAqB;IAClF,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,uEAAuE;QACrE,
|
|
1
|
+
{"version":3,"file":"entityContract.js","sourceRoot":"","sources":["../../src/tools/entityContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;AAE1E,qEAAqE;AACrE,MAAM,CAAC,MAAM,2BAA2B,GACtC,+DAA+D;IAC/D,qCAAqC,qBAAqB,KAAK;IAC/D,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,qEAAqE;IACrE,4DAA4D,CAAC;AAE/D,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB,EAAE,KAAgB;IAC9E,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,UAAU,CACf,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACzC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CACzE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAqB;IAClF,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,uEAAuE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,6DAA6D;QAC7D,0DAA0D;QAC1D,0GAA0G;QAC1G,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,2DAA2D;QAC3D,uEAAuE;QACvE,qEAAqE;QACrE,yCAAyC;QACzC,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,sDAAsD;QACtD,wEAAwE;QACxE,0EAA0E;QAC1E,iEAAiE;QACjE,mBAAmB,EACrB;QACE,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,mEAAmE;YACjE,sEAAsE,CACzE;KACJ,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CACvD,CAAC;AACJ,CAAC"}
|
package/dist/tools/extras.d.ts
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Secondary MCP tools:
|
|
3
|
-
*
|
|
4
|
-
* by-agent read have no equivalent generic route), connectors (a tool
|
|
5
|
-
* subtype), attaching memory to a target, and a few standalone one-offs.
|
|
2
|
+
* Secondary MCP tools: an agent's persona, connectors (a tool subtype),
|
|
3
|
+
* attaching memory to a target, and a few standalone one-offs.
|
|
6
4
|
*
|
|
7
5
|
* These use routes with shapes that don't fit the generic entity registrar:
|
|
8
|
-
*
|
|
6
|
+
* the persona is a field of its agent, connectors are a tool with
|
|
9
7
|
* `type: "connector"` and MUST NOT carry real credentials, and attach/detach
|
|
10
8
|
* is a path-only link.
|
|
11
9
|
*/
|
|
12
10
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
13
11
|
import type { AxonityClient } from "../client.js";
|
|
12
|
+
/**
|
|
13
|
+
* The persona is the agent's `persona` field (axonity-flow#2176): the
|
|
14
|
+
* character text every prompt of the agent opens with, published with the
|
|
15
|
+
* agent. The persona entity, its own id, versions, drafts and approvals are
|
|
16
|
+
* gone, and so are the persona routes the tools called (21 persona operations
|
|
17
|
+
* left the API; 19 of them had a tool here).
|
|
18
|
+
*
|
|
19
|
+
* These two tools stay as the migration path: an agent that knows them lands
|
|
20
|
+
* on the field instead of on a 404 it would read as "no such id". Everything
|
|
21
|
+
* else about a persona is the agent's: its history is the agent's versions,
|
|
22
|
+
* it goes live with `request_publish_agent`.
|
|
23
|
+
*/
|
|
14
24
|
export declare function registerPersonaTools(server: McpServer, client: AxonityClient): void;
|
|
15
25
|
export declare function registerConnectorTools(server: McpServer, client: AxonityClient): void;
|
|
16
26
|
/** Keep the envelope, project the rows down to identity. */
|