@archmax-ai/harness 1.0.1 → 2.0.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 (94) hide show
  1. package/README.md +167 -165
  2. package/dist/agent.d.ts +2 -2
  3. package/dist/agent.js +2 -2
  4. package/dist/assembly/compose.js +5 -3
  5. package/dist/assembly/compose.js.map +1 -1
  6. package/dist/authoring-skill/archmax-harness/README.md +13 -15
  7. package/dist/authoring-skill/archmax-harness/SKILL.md +174 -261
  8. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +244 -764
  9. package/dist/authoring-skill/archmax-harness/references/cases.md +178 -53
  10. package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +211 -100
  11. package/dist/authoring-skill/archmax-harness/references/diagnostics.md +57 -78
  12. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +614 -1977
  13. package/dist/core/attachments.d.ts +2 -0
  14. package/dist/core/attachments.js +2 -1
  15. package/dist/core/attachments.js.map +1 -1
  16. package/dist/core/deepagents.d.ts +1 -2
  17. package/dist/core/deepagents.js +1 -2
  18. package/dist/core/deepagents.js.map +1 -1
  19. package/dist/core/file-operations.d.ts +6 -0
  20. package/dist/core/file-operations.js +29 -0
  21. package/dist/core/file-operations.js.map +1 -1
  22. package/dist/index.d.ts +5 -1
  23. package/dist/index.js +4 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/kernel/kernel.js +2 -2
  26. package/dist/kernel/kernel.js.map +1 -1
  27. package/dist/machine/lint-spec.js +6 -5
  28. package/dist/machine/lint-spec.js.map +1 -1
  29. package/dist/machine/machine.d.ts +8 -10
  30. package/dist/machine/machine.js +11 -12
  31. package/dist/machine/machine.js.map +1 -1
  32. package/dist/machine/signature-pattern.d.ts +24 -0
  33. package/dist/machine/signature-pattern.js +67 -0
  34. package/dist/machine/signature-pattern.js.map +1 -0
  35. package/dist/machine/signature.d.ts +137 -35
  36. package/dist/machine/signature.js +476 -25
  37. package/dist/machine/signature.js.map +1 -1
  38. package/dist/machine/spec-schema.d.ts +203 -5
  39. package/dist/machine/spec-schema.js +209 -51
  40. package/dist/machine/spec-schema.js.map +1 -1
  41. package/dist/machine/tool-names.d.ts +24 -34
  42. package/dist/machine/tool-names.js +43 -63
  43. package/dist/machine/tool-names.js.map +1 -1
  44. package/dist/machine/types.d.ts +11 -10
  45. package/dist/machine/types.js.map +1 -1
  46. package/dist/public/spec.d.ts +10 -6
  47. package/dist/public/spec.js +9 -5
  48. package/dist/public/spec.js.map +1 -1
  49. package/dist/validate/validate.js +3 -3
  50. package/dist/validate/validate.js.map +1 -1
  51. package/dist/workflow/automated.js +6 -1
  52. package/dist/workflow/automated.js.map +1 -1
  53. package/dist/workflow/control-tools.js +3 -3
  54. package/dist/workflow/control-tools.js.map +1 -1
  55. package/dist/workflow/file-values.d.ts +4 -1
  56. package/dist/workflow/file-values.js +2 -0
  57. package/dist/workflow/file-values.js.map +1 -1
  58. package/dist/workflow/grader-state.d.ts +2 -2
  59. package/dist/workflow/grader-state.js +5 -15
  60. package/dist/workflow/grader-state.js.map +1 -1
  61. package/dist/workflow/middleware.d.ts +2 -0
  62. package/dist/workflow/middleware.js +3 -26
  63. package/dist/workflow/middleware.js.map +1 -1
  64. package/dist/workflow/on-error.js +0 -1
  65. package/dist/workflow/on-error.js.map +1 -1
  66. package/dist/workflow/parks.js +0 -1
  67. package/dist/workflow/parks.js.map +1 -1
  68. package/dist/workflow/render-prompt.d.ts +4 -5
  69. package/dist/workflow/render-prompt.js +31 -29
  70. package/dist/workflow/render-prompt.js.map +1 -1
  71. package/dist/workflow/signature-checks.d.ts +8 -3
  72. package/dist/workflow/signature-checks.js +17 -4
  73. package/dist/workflow/signature-checks.js.map +1 -1
  74. package/dist/workflow/state.d.ts +0 -9
  75. package/dist/workflow/state.js +0 -3
  76. package/dist/workflow/state.js.map +1 -1
  77. package/dist/workflow/sub-workflow.js +4 -1
  78. package/dist/workflow/sub-workflow.js.map +1 -1
  79. package/dist/workflow/turn-boundary.js +0 -1
  80. package/dist/workflow/turn-boundary.js.map +1 -1
  81. package/package.json +2 -2
  82. package/skills/archmax-harness/README.md +13 -15
  83. package/skills/archmax-harness/SKILL.md +174 -261
  84. package/skills/archmax-harness/references/backend-integration.md +244 -764
  85. package/skills/archmax-harness/references/cases.md +178 -53
  86. package/skills/archmax-harness/references/code-states-and-scripts.md +211 -100
  87. package/skills/archmax-harness/references/diagnostics.md +57 -78
  88. package/skills/archmax-harness/references/workflow-schema.md +614 -1977
  89. package/dist/authoring-skill/archmax-harness/references/code-state-and-test-scripts.md +0 -1424
  90. package/dist/authoring-skill/archmax-harness/references/wiring.md +0 -119
  91. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +0 -399
  92. package/skills/archmax-harness/references/code-state-and-test-scripts.md +0 -1424
  93. package/skills/archmax-harness/references/wiring.md +0 -119
  94. package/skills/archmax-harness/references/workflow-yaml.md +0 -399
@@ -6,10 +6,10 @@ import { describeGlob } from "./variables.js";
6
6
  import { loadMachineSpec } from "./load-spec.js";
7
7
  import { signatureForTrigger } from "./signature.js";
8
8
  import { MANUAL_TRIGGER, triggerBindings, } from "./triggers.js";
9
- import { ADVANCE_TOOL, NOT_OFFERED_TO_AUTOMATED, ALWAYS_ALLOWED_TOOLS, AUTOMATED_STATE_CONTROL_TOOLS, UNGRANTABLE_TOOLS, DEFAULT_TOOLS, workflowSlugFromToolName, } from "./tool-names.js";
9
+ import { ADVANCE_TOOL, DEFAULT_TOOLS, STATE_TYPE_TOOLS, TASK_TOOL, workflowSlugFromToolName } from "./tool-names.js";
10
10
  import { BUILT_IN_TOOL_PATH_TABLE, pathArgsOf, pathArgNamesOf, pathValuesOf, } from "./tool-paths.js";
11
11
  import { specDisabled, } from "./types.js";
12
- export { ALWAYS_ALLOWED_TOOLS, DEFAULT_TOOLS, UNGRANTABLE_TOOLS };
12
+ export { DEFAULT_TOOLS, STATE_TYPE_TOOLS, TASK_TOOL };
13
13
  /**
14
14
  * A declared list, or nothing. `validate` builds a machine from a spec whose
15
15
  * schema may have failed — so a governance key can hold a scalar or an object
@@ -419,13 +419,12 @@ export class WorkflowMachine {
419
419
  return type === "grader" || type === "code";
420
420
  }
421
421
  /**
422
- * The control tools `state` is offered, by its type — the one answer the
423
- * kernel's grant, disclosure and an automated state's tool list read. An agent
424
- * or human state has every control but the history; an automated state reads
425
- * the history and cannot park or reset.
422
+ * The control tools `state` is offered, by its type ({@link STATE_TYPE_TOOLS})
423
+ * — the one answer the kernel's grant, disclosure and an automated state's tool
424
+ * list read.
426
425
  */
427
426
  controlTools(state) {
428
- return this.isAutomatedState(state) ? AUTOMATED_STATE_CONTROL_TOOLS : ALWAYS_ALLOWED_TOOLS;
427
+ return STATE_TYPE_TOOLS[this.stateType(state)].controls;
429
428
  }
430
429
  /**
431
430
  * States a run can reach: the start states plus everything transitively
@@ -486,7 +485,7 @@ export class WorkflowMachine {
486
485
  * {@link DEFAULT_TOOLS}, unconstrained. A declared list *replaces* the default
487
486
  * tools; it never adds to them. A non-list (a spec whose schema failed, which
488
487
  * only `validate` builds a machine from) counts as absent. `task` is in it
489
- * under no circumstances (see {@link UNGRANTABLE_TOOLS}).
488
+ * under no circumstances (see {@link TASK_TOOL}).
490
489
  */
491
490
  workflowGrant() {
492
491
  const declared = this.spec.tools?.allow_always;
@@ -535,12 +534,12 @@ export class WorkflowMachine {
535
534
  * workflow-wide grant ({@link workflowGrant}); else the host's
536
535
  * `essentialTools`, unconstrained. The last two never name the same tool — a
537
536
  * workflow-wide entry for a host tool is inert — so their order is only the
538
- * order a block message lists them in. An automated state is never offered an
539
- * agent-only tool, parking or resetting ({@link NOT_OFFERED_TO_AUTOMATED}), so
540
- * an own or workflow-wide entry naming one grants it nothing there.
537
+ * order a block message lists them in. A tool the state's type withholds
538
+ * ({@link STATE_TYPE_TOOLS}) is granted by no entry, own or workflow-wide.
541
539
  */
542
540
  effectiveEntries(state) {
543
- const offered = (tool) => !(tool && this.isAutomatedState(state) && NOT_OFFERED_TO_AUTOMATED.has(tool));
541
+ const withheld = STATE_TYPE_TOOLS[this.stateType(state)].withheld;
542
+ const offered = (tool) => !(tool && withheld.has(tool));
544
543
  const own = this.allowEntries(state).map(normalizeAllowEntry).filter((e) => offered(e.tool));
545
544
  const mentioned = new Set(own.map((e) => e.tool));
546
545
  const workflow = this.workflowGrant().filter((e) => e.tool && offered(e.tool) && !mentioned.has(e.tool) && !this.extraEssential.has(e.tool));
@@ -1 +1 @@
1
- {"version":3,"file":"machine.js","sourceRoot":"","sources":["../../src/machine/machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine.js","sourceRoot":"","sources":["../../src/machine/machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /** The longest pattern an entry may declare, in UTF-16 code units. */
2
+ export declare const PATTERN_MAX_LENGTH = 1000;
3
+ /** A pattern ready to match, or why it is not one, worded for a load error. */
4
+ export type CompiledPattern = {
5
+ ok: true;
6
+ test(value: string): boolean;
7
+ } | {
8
+ ok: false;
9
+ error: string;
10
+ };
11
+ /**
12
+ * A pattern compiled by RE2 once and cached. A failure quotes the engine's
13
+ * error. `test` is true when the pattern is found anywhere in the value — JSON
14
+ * Schema's semantics, so an author anchors with `^…$`.
15
+ */
16
+ export declare function compilePattern(pattern: string): CompiledPattern;
17
+ /**
18
+ * Why a JSON Schema validator could not read `pattern` — it does not compile
19
+ * as an ECMA-262 regular expression with the `u` flag, the way such validators
20
+ * read one — or `undefined` when it can. The parse's check, made once per
21
+ * declared pattern: the expression is compiled for its syntax and discarded,
22
+ * never executed, and nothing that checks a value calls this.
23
+ */
24
+ export declare function jsonSchemaPatternError(pattern: string): string | undefined;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The regular-expression engine behind a signature entry's `pattern` rule.
3
+ *
4
+ * An author writes the pattern, but it runs against text a stranger chose, and
5
+ * JavaScript's backtracking `RegExp` takes exponential time on `(a+)+$` against
6
+ * a long run of `a`s ended by `!`. So an authored pattern is never run through
7
+ * `RegExp`: it is matched by RE2 (`re2js`, pure JavaScript, so the spec subpath
8
+ * stays browser-safe), which is linear in the input whatever the pattern.
9
+ *
10
+ * Loading a spec also holds a pattern to ECMA-262 syntax
11
+ * ({@link jsonSchemaPatternError}), because RE2 accepts syntax (`(?i)`, `\pL`,
12
+ * `\z`, POSIX classes) that a JSON Schema validator reading the same `pattern`
13
+ * would refuse or read differently. That is an authoring check, made once at
14
+ * load, and it stays out of the matching path: no value check ever constructs
15
+ * a `RegExp` from a pattern.
16
+ */
17
+ import { RE2JS } from "re2js";
18
+ /** The longest pattern an entry may declare, in UTF-16 code units. */
19
+ export const PATTERN_MAX_LENGTH = 1000;
20
+ /** Compiled outcomes, by pattern. Bounded: patterns come from authors, but a host may load many specs. */
21
+ const cache = new Map();
22
+ const CACHE_LIMIT = 1000;
23
+ /**
24
+ * A pattern compiled by RE2 once and cached. A failure quotes the engine's
25
+ * error. `test` is true when the pattern is found anywhere in the value — JSON
26
+ * Schema's semantics, so an author anchors with `^…$`.
27
+ */
28
+ export function compilePattern(pattern) {
29
+ const cached = cache.get(pattern);
30
+ if (cached)
31
+ return cached;
32
+ const compiled = compile(pattern);
33
+ if (cache.size >= CACHE_LIMIT)
34
+ cache.delete(cache.keys().next().value);
35
+ cache.set(pattern, compiled);
36
+ return compiled;
37
+ }
38
+ function compile(pattern) {
39
+ if (pattern.length > PATTERN_MAX_LENGTH) {
40
+ return { ok: false, error: `it is ${pattern.length} characters long, over the limit of ${PATTERN_MAX_LENGTH}` };
41
+ }
42
+ let re2;
43
+ try {
44
+ re2 = RE2JS.compile(pattern);
45
+ }
46
+ catch (err) {
47
+ return { ok: false, error: err.message };
48
+ }
49
+ return { ok: true, test: (value) => re2.test(value) };
50
+ }
51
+ /**
52
+ * Why a JSON Schema validator could not read `pattern` — it does not compile
53
+ * as an ECMA-262 regular expression with the `u` flag, the way such validators
54
+ * read one — or `undefined` when it can. The parse's check, made once per
55
+ * declared pattern: the expression is compiled for its syntax and discarded,
56
+ * never executed, and nothing that checks a value calls this.
57
+ */
58
+ export function jsonSchemaPatternError(pattern) {
59
+ try {
60
+ new RegExp(pattern, "u");
61
+ return undefined;
62
+ }
63
+ catch (err) {
64
+ return `a JSON Schema validator cannot read it: ${err.message}`;
65
+ }
66
+ }
67
+ //# sourceMappingURL=signature-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature-pattern.js","sourceRoot":"","sources":["../../src/machine/signature-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAKvC,0GAA0G;AAC1G,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;AACjD,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,IAAI,IAAI,WAAW;QAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;IACxE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,OAAO,CAAC,MAAM,uCAAuC,kBAAkB,EAAE,EAAE,CAAC;IAClH,CAAC;IACD,IAAI,GAAU,CAAC;IACf,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,2CAA4C,GAAa,CAAC,OAAO,EAAE,CAAC;IAC7E,CAAC;AACH,CAAC"}
@@ -1,13 +1,3 @@
1
- /**
2
- * A trigger's signature, typed: what each `requires`/`returns` entry declares,
3
- * the one mapping from a signature to JSON Schema, and the one conformance rule.
4
- *
5
- * Pure and browser-safe — it depends on nothing but the spec's types — so a host
6
- * builds an MCP tool schema, a start form or request validation from exactly the
7
- * mapping and rule the runtime enforces. Every runtime check (the turn boundary,
8
- * `archmax_set_variables`, the completion check, a delegation and its settle)
9
- * decides by {@link signatureValueIssues}; nothing else judges a value's type.
10
- */
11
1
  import type { MachineSpec, SignatureEntryDeclaration } from "./types.js";
12
2
  /**
13
3
  * The types a signature entry may declare: JSON Schema's own type words, plus its
@@ -19,12 +9,61 @@ import type { MachineSpec, SignatureEntryDeclaration } from "./types.js";
19
9
  export declare const SIGNATURE_TYPES: readonly ["string", "integer", "number", "boolean", "date", "date-time", "object", "array", "file"];
20
10
  /** One of {@link SIGNATURE_TYPES}. */
21
11
  export type SignatureType = (typeof SIGNATURE_TYPES)[number];
12
+ /** The formats a `string` entry's `format` rule names. */
13
+ export declare const SIGNATURE_FORMATS: readonly ["email", "url", "phone"];
14
+ /** One of {@link SIGNATURE_FORMATS}. */
15
+ export type SignatureFormat = (typeof SIGNATURE_FORMATS)[number];
16
+ /**
17
+ * The kinds of text a `string` entry's `content` rule declares. A declaration
18
+ * only: carried and mapped, never checked — what a kind permits is a host's call.
19
+ */
20
+ export declare const SIGNATURE_CONTENTS: readonly ["text", "markdown", "html"];
21
+ /** One of {@link SIGNATURE_CONTENTS}. */
22
+ export type SignatureContent = (typeof SIGNATURE_CONTENTS)[number];
23
+ /**
24
+ * The rules an entry declares on its value beyond its type, each spelled as the
25
+ * JSON Schema keyword it maps to where one exists, and each only on the types
26
+ * {@link RULE_TYPES} allows.
27
+ */
28
+ export interface SignatureRules {
29
+ /** `string`: an email address, an http(s) URL, or an E.164 phone number. */
30
+ format?: SignatureFormat;
31
+ /** `string`: a regular expression (RE2 syntax) found anywhere in the value. */
32
+ pattern?: string;
33
+ /** `string`: the fewest code points. */
34
+ minLength?: number;
35
+ /** `string`: the most code points. */
36
+ maxLength?: number;
37
+ /** `string`: the values allowed, compared exactly. */
38
+ enum?: string[];
39
+ /** `string`: what kind of text the value holds. Declared, not checked. */
40
+ content?: SignatureContent;
41
+ /** `integer`/`number`: a number; `date`: `YYYY-MM-DD` or `today`; `date-time`: an RFC 3339 instant or `now`. Inclusive. */
42
+ minimum?: number | string;
43
+ /** As {@link SignatureRules.minimum}, from above. */
44
+ maximum?: number | string;
45
+ /** `array`: the fewest entries. */
46
+ minItems?: number;
47
+ /** `array`: the most entries. */
48
+ maxItems?: number;
49
+ /** `file`: the extensions allowed, each with its leading `.`, compared case-insensitively. */
50
+ accept?: string[];
51
+ /** `file`: the largest file, in bytes. Checked where a `file` value crosses a boundary. */
52
+ maxSize?: number;
53
+ }
54
+ /** Which rule an issue is about. */
55
+ export type SignatureRuleName = keyof SignatureRules;
56
+ /** The types each rule applies to. A rule on any other type, or on an untyped entry, is a load error. */
57
+ export declare const RULE_TYPES: Readonly<Record<SignatureRuleName, readonly SignatureType[]>>;
58
+ /** Every rule name, in the order an entry's rules are read and listed. */
59
+ export declare const SIGNATURE_RULE_NAMES: SignatureRuleName[];
22
60
  /**
23
61
  * One signature entry, normalized: the variable's name, and optionally what kind
24
- * of value it holds and what it is for. An entry without `type` is untyped — any
25
- * value satisfies it, `null` included.
62
+ * of value it holds, the rules that value must meet, and what it is for. An
63
+ * entry without `type` is untyped — any value satisfies it, `null` included —
64
+ * and declares no rules.
26
65
  */
27
- export interface SignatureEntry {
66
+ export interface SignatureEntry extends SignatureRules {
28
67
  name: string;
29
68
  type?: SignatureType;
30
69
  description?: string;
@@ -40,9 +79,10 @@ export interface TriggerSignature {
40
79
  }
41
80
  /**
42
81
  * One reason a value map does not satisfy a signature: a name that is not set,
43
- * or a value that does not conform to its entry's type. `found` is the JSON kind
44
- * of what arrived; `message` is a phrase naming the variable, worded for whoever
45
- * has to correct it, which each site wraps in its own refusal.
82
+ * or a value that does not conform to its entry's type or breaks one of its
83
+ * rules (`rule` names which). `found` is the JSON kind of what arrived;
84
+ * `message` is a phrase naming the variable, worded for whoever has to correct
85
+ * it, which each site wraps in its own refusal.
46
86
  */
47
87
  export type SignatureValueIssue = {
48
88
  kind: "missing";
@@ -53,19 +93,46 @@ export type SignatureValueIssue = {
53
93
  name: string;
54
94
  type: SignatureType;
55
95
  found: SignatureValueKind;
96
+ rule?: SignatureRuleName;
56
97
  message: string;
57
98
  };
99
+ /** How {@link signatureValueIssues} reads its clock. */
100
+ export interface SignatureValueOptions {
101
+ /** The instant `now` is, and whose UTC date `today` is; the current time when omitted. */
102
+ now?: Date;
103
+ }
58
104
  /** The JSON kind of a value, as an issue reports what arrived. */
59
105
  export type SignatureValueKind = "string" | "number" | "boolean" | "null" | "object" | "array";
60
106
  /**
61
- * A `requires`/`returns` list as `{ name, type?, description? }` entries, in
62
- * declaration order: a bare name and `{ name }` are the same untyped entry.
63
- * Total — a list the schema refused (a scalar, an entry naming nothing) yields
64
- * what it can read, so `validate` can read a spec whose shape failed.
107
+ * A `requires`/`returns` list as `{ name, type?, description?, …rules }`
108
+ * entries, in declaration order: a bare name and `{ name }` are the same
109
+ * untyped entry. A rule is carried as written, except `maxSize`, read as bytes;
110
+ * `today` and `now` stay symbolic. Total — a list the schema refused (a scalar,
111
+ * an entry naming nothing, a rule its type does not take) yields what it can
112
+ * read, so `validate` can read a spec whose shape failed.
65
113
  */
66
114
  export declare function normalizeSignature(list: readonly (string | SignatureEntryDeclaration)[] | undefined | null): SignatureEntry[];
67
115
  /** Whether a value is one of {@link SIGNATURE_TYPES}. */
68
116
  export declare function isSignatureType(value: unknown): value is SignatureType;
117
+ /** A length or count: a non-negative integer. */
118
+ export declare function isCount(value: unknown): value is number;
119
+ /**
120
+ * Whether `value` is a well-formed `minimum`/`maximum` for `type`: a finite
121
+ * number for `integer`/`number`, a real `YYYY-MM-DD` or `today` for `date`, an
122
+ * RFC 3339 date-time or `now` for `date-time`.
123
+ */
124
+ export declare function isBound(type: SignatureType, value: unknown): value is number | string;
125
+ /**
126
+ * Whether a `minimum` and a `maximum` for `type` leave room for a value: `true`
127
+ * unless both are literal and the minimum is above the maximum. `today` and
128
+ * `now` move, so a bound naming one is never out of order here.
129
+ */
130
+ export declare function boundsInOrder(type: SignatureType, minimum: unknown, maximum: unknown): boolean;
131
+ /**
132
+ * A `maxSize` in bytes: a non-negative integer as itself, `<n>KB` as n × 1,000,
133
+ * `<n>MB` as n × 1,000,000; `undefined` for anything else.
134
+ */
135
+ export declare function parseSize(value: unknown): number | undefined;
69
136
  /**
70
137
  * A trigger's normalized signature read from a parsed spec, or `undefined` when no
71
138
  * state declares the id. The same reading `WorkflowMachine.signatureForTrigger`
@@ -73,10 +140,22 @@ export declare function isSignatureType(value: unknown): value is SignatureType;
73
140
  * document error; here the later one wins, as in `triggerBindings`.
74
141
  */
75
142
  export declare function signatureForTrigger(spec: MachineSpec, triggerId: string): TriggerSignature | undefined;
76
- /** One property of {@link signatureJsonSchema}'s output. An untyped entry has no `type`. */
143
+ /**
144
+ * One property of {@link signatureJsonSchema}'s output. An untyped entry has no
145
+ * `type`; a rule JSON Schema can express adds its keyword.
146
+ */
77
147
  export interface SignaturePropertySchema {
78
148
  type?: "string" | "integer" | "number" | "boolean" | "object" | "array";
79
- format?: "date" | "date-time" | "file";
149
+ format?: "date" | "date-time" | "file" | "email" | "uri";
150
+ pattern?: string;
151
+ minLength?: number;
152
+ maxLength?: number;
153
+ enum?: string[];
154
+ minimum?: number;
155
+ maximum?: number;
156
+ minItems?: number;
157
+ maxItems?: number;
158
+ contentMediaType?: "text/plain" | "text/markdown" | "text/html";
80
159
  description?: string;
81
160
  }
82
161
  /** What {@link signatureJsonSchema} yields: a JSON Schema object over the signature's names. */
@@ -89,23 +168,46 @@ export interface SignatureJsonSchema {
89
168
  * The one mapping from signature entries to a JSON Schema object: one property
90
169
  * per entry in declaration order, the six JSON Schema type words as themselves,
91
170
  * `date`/`date-time`/`file` as a string with that `format`, an untyped entry as `{}`,
92
- * and every name `required` — each `requires` entry is mandatory, and the
93
- * completion check guarantees each `returns` entry is set. The delegation tool's
94
- * input schema is built by it, so a host building an MCP tool, a form or an API
95
- * body from the same signature describes exactly what the runtime enforces.
171
+ * each rule JSON Schema can express as its keyword, and every name `required` —
172
+ * each `requires` entry is mandatory, and the completion check guarantees each
173
+ * `returns` entry is set. The delegation tool's input schema is built by it, so
174
+ * a host building an MCP tool, a form or an API body from the same signature
175
+ * describes what the runtime enforces. Date bounds, `accept` and `maxSize` have
176
+ * no JSON Schema keyword and are left out; the runtime still enforces them.
96
177
  */
97
178
  export declare function signatureJsonSchema(entries: readonly SignatureEntry[]): SignatureJsonSchema;
98
179
  /**
99
180
  * The one conformance rule: one issue per entry whose name is not set in
100
- * `values`, and one per typed entry whose value does not conform, in declaration
101
- * order; an empty list when the map satisfies the signature. A name is set when
102
- * `values` holds it with any value but `undefined`. An untyped entry takes any
103
- * value, `null` included; a typed one never takes `null`. Nothing is coerced —
104
- * the string `"4"` is not an `integer`. A `file` value is judged by its shape
105
- * alone: whether a file is there, and whether the session may read it, is the
106
- * runtime's check where the value crosses a boundary.
107
- */
108
- export declare function signatureValueIssues(entries: readonly SignatureEntry[], values: Readonly<Record<string, unknown>>): SignatureValueIssue[];
181
+ * `values`, and one per typed entry whose value does not conform to its type
182
+ * or, conforming, breaks one of its rules, in declaration order; an empty list
183
+ * when the map satisfies the signature. A name is set when `values` holds it
184
+ * with any value but `undefined`. An untyped entry takes any value, `null`
185
+ * included; a typed one never takes `null`. Nothing is coerced or trimmed —
186
+ * the string `"4"` is not an `integer`, and `" a@b.co"` is not an email address.
187
+ *
188
+ * Rules are checked only on a value of the right type, and an entry reports
189
+ * only the first rule it breaks, in this order: `format`/`pattern`, `enum`,
190
+ * `minLength`/`maxLength`, `minimum`/`maximum`, `minItems`/`maxItems`,
191
+ * `accept`. `today` and `now` read `options.now`, the current time by default.
192
+ * Every check is synchronous and linear in the value's length; an authored
193
+ * `pattern` runs in RE2, never in `RegExp`. A `file` value is judged by its
194
+ * path alone: whether a file is there, whether the session may read it and
195
+ * how large it is, is the runtime's check where the value crosses a boundary.
196
+ */
197
+ export declare function signatureValueIssues(entries: readonly SignatureEntry[], values: Readonly<Record<string, unknown>>, options?: SignatureValueOptions): SignatureValueIssue[];
198
+ /**
199
+ * The rules an entry declares, as short phrases in declaration-table order
200
+ * (`an email address`, `at most 80 characters`, `not before today`): what the
201
+ * prompt lists beside the entry's type, in the words a refusal of each uses.
202
+ */
203
+ export declare function signatureRulePhrases(entry: SignatureEntry): string[];
204
+ /**
205
+ * A `file` path's last extension, lower-cased with its leading `.`, or `""`
206
+ * when its file name has none (`notes`, `.env`).
207
+ */
208
+ export declare function lastExtension(path: string): string;
209
+ /** A byte count as a refusal states it, 1,000-based: `10 MB`, `512 KB`, `1500 bytes`. */
210
+ export declare function formatSize(bytes: number): string;
109
211
  /**
110
212
  * A workspace path from the root, as a `file` value spells it: at most one
111
213
  * leading `/`, then one or more segments, none empty, `.` or `..`, with no