@archmax-ai/harness 1.0.1 → 1.1.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 (48) hide show
  1. package/README.md +11 -6
  2. package/dist/assembly/compose.js +3 -1
  3. package/dist/assembly/compose.js.map +1 -1
  4. package/dist/authoring-skill/archmax-harness/SKILL.md +5 -2
  5. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +25 -13
  6. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +36 -6
  7. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +3 -0
  8. package/dist/core/attachments.d.ts +2 -0
  9. package/dist/core/attachments.js +2 -1
  10. package/dist/core/attachments.js.map +1 -1
  11. package/dist/core/file-operations.d.ts +6 -0
  12. package/dist/core/file-operations.js +29 -0
  13. package/dist/core/file-operations.js.map +1 -1
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.js +4 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/machine/signature-pattern.d.ts +24 -0
  18. package/dist/machine/signature-pattern.js +67 -0
  19. package/dist/machine/signature-pattern.js.map +1 -0
  20. package/dist/machine/signature.d.ts +137 -35
  21. package/dist/machine/signature.js +476 -25
  22. package/dist/machine/signature.js.map +1 -1
  23. package/dist/machine/spec-schema.d.ts +202 -1
  24. package/dist/machine/spec-schema.js +143 -4
  25. package/dist/machine/spec-schema.js.map +1 -1
  26. package/dist/public/spec.d.ts +5 -1
  27. package/dist/public/spec.js +4 -0
  28. package/dist/public/spec.js.map +1 -1
  29. package/dist/workflow/control-tools.js +3 -1
  30. package/dist/workflow/control-tools.js.map +1 -1
  31. package/dist/workflow/file-values.d.ts +4 -1
  32. package/dist/workflow/file-values.js +2 -0
  33. package/dist/workflow/file-values.js.map +1 -1
  34. package/dist/workflow/middleware.d.ts +2 -0
  35. package/dist/workflow/middleware.js +1 -0
  36. package/dist/workflow/middleware.js.map +1 -1
  37. package/dist/workflow/render-prompt.js +7 -2
  38. package/dist/workflow/render-prompt.js.map +1 -1
  39. package/dist/workflow/signature-checks.d.ts +8 -3
  40. package/dist/workflow/signature-checks.js +17 -4
  41. package/dist/workflow/signature-checks.js.map +1 -1
  42. package/dist/workflow/sub-workflow.js +4 -1
  43. package/dist/workflow/sub-workflow.js.map +1 -1
  44. package/package.json +2 -1
  45. package/skills/archmax-harness/SKILL.md +5 -2
  46. package/skills/archmax-harness/references/backend-integration.md +25 -13
  47. package/skills/archmax-harness/references/workflow-schema.md +36 -6
  48. package/skills/archmax-harness/references/workflow-yaml.md +3 -0
@@ -173,7 +173,8 @@ export declare const stateTypeSchema: z.ZodEnum<{
173
173
  *
174
174
  * The object spelling of a signature entry. Strict, unlike the loose declaration
175
175
  * around it: an unknown key here is most likely a misspelled `type` or
176
- * `description`, and read loosely it would silently mean "untyped".
176
+ * `description`, and read loosely it would silently mean "untyped". A rule key
177
+ * is shape-checked here and held to its entry's type by {@link refineRules}.
177
178
  */
178
179
  export declare const signatureEntryObjectSchema: z.ZodObject<{
179
180
  name: z.ZodString;
@@ -189,6 +190,26 @@ export declare const signatureEntryObjectSchema: z.ZodObject<{
189
190
  array: "array";
190
191
  }>>;
191
192
  description: z.ZodOptional<z.ZodString>;
193
+ format: z.ZodOptional<z.ZodEnum<{
194
+ email: "email";
195
+ url: "url";
196
+ phone: "phone";
197
+ }>>;
198
+ pattern: z.ZodOptional<z.ZodString>;
199
+ minLength: z.ZodOptional<z.ZodNumber>;
200
+ maxLength: z.ZodOptional<z.ZodNumber>;
201
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
202
+ content: z.ZodOptional<z.ZodEnum<{
203
+ text: "text";
204
+ markdown: "markdown";
205
+ html: "html";
206
+ }>>;
207
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
208
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
209
+ minItems: z.ZodOptional<z.ZodNumber>;
210
+ maxItems: z.ZodOptional<z.ZodNumber>;
211
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
212
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
192
213
  }, z.core.$strict>;
193
214
  /**
194
215
  * @see SignatureEntryDeclaration
@@ -211,6 +232,26 @@ export declare const signatureEntrySchema: z.ZodUnion<readonly [z.ZodString, z.Z
211
232
  array: "array";
212
233
  }>>;
213
234
  description: z.ZodOptional<z.ZodString>;
235
+ format: z.ZodOptional<z.ZodEnum<{
236
+ email: "email";
237
+ url: "url";
238
+ phone: "phone";
239
+ }>>;
240
+ pattern: z.ZodOptional<z.ZodString>;
241
+ minLength: z.ZodOptional<z.ZodNumber>;
242
+ maxLength: z.ZodOptional<z.ZodNumber>;
243
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
244
+ content: z.ZodOptional<z.ZodEnum<{
245
+ text: "text";
246
+ markdown: "markdown";
247
+ html: "html";
248
+ }>>;
249
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
250
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
251
+ minItems: z.ZodOptional<z.ZodNumber>;
252
+ maxItems: z.ZodOptional<z.ZodNumber>;
253
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
254
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
214
255
  }, z.core.$strict>]>;
215
256
  /**
216
257
  * @see TriggerDeclaration
@@ -238,6 +279,26 @@ export declare const triggerDeclarationSchema: z.ZodObject<{
238
279
  array: "array";
239
280
  }>>;
240
281
  description: z.ZodOptional<z.ZodString>;
282
+ format: z.ZodOptional<z.ZodEnum<{
283
+ email: "email";
284
+ url: "url";
285
+ phone: "phone";
286
+ }>>;
287
+ pattern: z.ZodOptional<z.ZodString>;
288
+ minLength: z.ZodOptional<z.ZodNumber>;
289
+ maxLength: z.ZodOptional<z.ZodNumber>;
290
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
291
+ content: z.ZodOptional<z.ZodEnum<{
292
+ text: "text";
293
+ markdown: "markdown";
294
+ html: "html";
295
+ }>>;
296
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
297
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
298
+ minItems: z.ZodOptional<z.ZodNumber>;
299
+ maxItems: z.ZodOptional<z.ZodNumber>;
300
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
301
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
241
302
  }, z.core.$strict>]>>>;
242
303
  returns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
243
304
  name: z.ZodString;
@@ -253,6 +314,26 @@ export declare const triggerDeclarationSchema: z.ZodObject<{
253
314
  array: "array";
254
315
  }>>;
255
316
  description: z.ZodOptional<z.ZodString>;
317
+ format: z.ZodOptional<z.ZodEnum<{
318
+ email: "email";
319
+ url: "url";
320
+ phone: "phone";
321
+ }>>;
322
+ pattern: z.ZodOptional<z.ZodString>;
323
+ minLength: z.ZodOptional<z.ZodNumber>;
324
+ maxLength: z.ZodOptional<z.ZodNumber>;
325
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
326
+ content: z.ZodOptional<z.ZodEnum<{
327
+ text: "text";
328
+ markdown: "markdown";
329
+ html: "html";
330
+ }>>;
331
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
332
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
333
+ minItems: z.ZodOptional<z.ZodNumber>;
334
+ maxItems: z.ZodOptional<z.ZodNumber>;
335
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
336
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
256
337
  }, z.core.$strict>]>>>;
257
338
  }, z.core.$loose>;
258
339
  /**
@@ -280,6 +361,26 @@ export declare const stateTriggersSchema: z.ZodRecord<z.ZodString, z.ZodNullable
280
361
  array: "array";
281
362
  }>>;
282
363
  description: z.ZodOptional<z.ZodString>;
364
+ format: z.ZodOptional<z.ZodEnum<{
365
+ email: "email";
366
+ url: "url";
367
+ phone: "phone";
368
+ }>>;
369
+ pattern: z.ZodOptional<z.ZodString>;
370
+ minLength: z.ZodOptional<z.ZodNumber>;
371
+ maxLength: z.ZodOptional<z.ZodNumber>;
372
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
373
+ content: z.ZodOptional<z.ZodEnum<{
374
+ text: "text";
375
+ markdown: "markdown";
376
+ html: "html";
377
+ }>>;
378
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
379
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
380
+ minItems: z.ZodOptional<z.ZodNumber>;
381
+ maxItems: z.ZodOptional<z.ZodNumber>;
382
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
383
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
283
384
  }, z.core.$strict>]>>>;
284
385
  returns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
285
386
  name: z.ZodString;
@@ -295,6 +396,26 @@ export declare const stateTriggersSchema: z.ZodRecord<z.ZodString, z.ZodNullable
295
396
  array: "array";
296
397
  }>>;
297
398
  description: z.ZodOptional<z.ZodString>;
399
+ format: z.ZodOptional<z.ZodEnum<{
400
+ email: "email";
401
+ url: "url";
402
+ phone: "phone";
403
+ }>>;
404
+ pattern: z.ZodOptional<z.ZodString>;
405
+ minLength: z.ZodOptional<z.ZodNumber>;
406
+ maxLength: z.ZodOptional<z.ZodNumber>;
407
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
408
+ content: z.ZodOptional<z.ZodEnum<{
409
+ text: "text";
410
+ markdown: "markdown";
411
+ html: "html";
412
+ }>>;
413
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
414
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
415
+ minItems: z.ZodOptional<z.ZodNumber>;
416
+ maxItems: z.ZodOptional<z.ZodNumber>;
417
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
418
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
298
419
  }, z.core.$strict>]>>>;
299
420
  }, z.core.$loose>>>;
300
421
  /** @see MachineState */
@@ -329,6 +450,26 @@ export declare const machineStateSchema: z.ZodObject<{
329
450
  array: "array";
330
451
  }>>;
331
452
  description: z.ZodOptional<z.ZodString>;
453
+ format: z.ZodOptional<z.ZodEnum<{
454
+ email: "email";
455
+ url: "url";
456
+ phone: "phone";
457
+ }>>;
458
+ pattern: z.ZodOptional<z.ZodString>;
459
+ minLength: z.ZodOptional<z.ZodNumber>;
460
+ maxLength: z.ZodOptional<z.ZodNumber>;
461
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
462
+ content: z.ZodOptional<z.ZodEnum<{
463
+ text: "text";
464
+ markdown: "markdown";
465
+ html: "html";
466
+ }>>;
467
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
468
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
469
+ minItems: z.ZodOptional<z.ZodNumber>;
470
+ maxItems: z.ZodOptional<z.ZodNumber>;
471
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
472
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
332
473
  }, z.core.$strict>]>>>;
333
474
  returns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
334
475
  name: z.ZodString;
@@ -344,6 +485,26 @@ export declare const machineStateSchema: z.ZodObject<{
344
485
  array: "array";
345
486
  }>>;
346
487
  description: z.ZodOptional<z.ZodString>;
488
+ format: z.ZodOptional<z.ZodEnum<{
489
+ email: "email";
490
+ url: "url";
491
+ phone: "phone";
492
+ }>>;
493
+ pattern: z.ZodOptional<z.ZodString>;
494
+ minLength: z.ZodOptional<z.ZodNumber>;
495
+ maxLength: z.ZodOptional<z.ZodNumber>;
496
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
497
+ content: z.ZodOptional<z.ZodEnum<{
498
+ text: "text";
499
+ markdown: "markdown";
500
+ html: "html";
501
+ }>>;
502
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
503
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
504
+ minItems: z.ZodOptional<z.ZodNumber>;
505
+ maxItems: z.ZodOptional<z.ZodNumber>;
506
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
507
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
347
508
  }, z.core.$strict>]>>>;
348
509
  }, z.core.$loose>>>>;
349
510
  script: z.ZodOptional<z.ZodString>;
@@ -586,6 +747,26 @@ export declare const machineSpecSchema: z.ZodObject<{
586
747
  array: "array";
587
748
  }>>;
588
749
  description: z.ZodOptional<z.ZodString>;
750
+ format: z.ZodOptional<z.ZodEnum<{
751
+ email: "email";
752
+ url: "url";
753
+ phone: "phone";
754
+ }>>;
755
+ pattern: z.ZodOptional<z.ZodString>;
756
+ minLength: z.ZodOptional<z.ZodNumber>;
757
+ maxLength: z.ZodOptional<z.ZodNumber>;
758
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
759
+ content: z.ZodOptional<z.ZodEnum<{
760
+ text: "text";
761
+ markdown: "markdown";
762
+ html: "html";
763
+ }>>;
764
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
765
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
766
+ minItems: z.ZodOptional<z.ZodNumber>;
767
+ maxItems: z.ZodOptional<z.ZodNumber>;
768
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
769
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
589
770
  }, z.core.$strict>]>>>;
590
771
  returns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
591
772
  name: z.ZodString;
@@ -601,6 +782,26 @@ export declare const machineSpecSchema: z.ZodObject<{
601
782
  array: "array";
602
783
  }>>;
603
784
  description: z.ZodOptional<z.ZodString>;
785
+ format: z.ZodOptional<z.ZodEnum<{
786
+ email: "email";
787
+ url: "url";
788
+ phone: "phone";
789
+ }>>;
790
+ pattern: z.ZodOptional<z.ZodString>;
791
+ minLength: z.ZodOptional<z.ZodNumber>;
792
+ maxLength: z.ZodOptional<z.ZodNumber>;
793
+ enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
794
+ content: z.ZodOptional<z.ZodEnum<{
795
+ text: "text";
796
+ markdown: "markdown";
797
+ html: "html";
798
+ }>>;
799
+ minimum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
800
+ maximum: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
801
+ minItems: z.ZodOptional<z.ZodNumber>;
802
+ maxItems: z.ZodOptional<z.ZodNumber>;
803
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
804
+ maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
604
805
  }, z.core.$strict>]>>>;
605
806
  }, z.core.$loose>>>>;
606
807
  script: z.ZodOptional<z.ZodString>;
@@ -9,7 +9,8 @@
9
9
  import { z } from "zod";
10
10
  import { normalizeAllowEntry } from "./allow.js";
11
11
  import { isSlug } from "./slug.js";
12
- import { SIGNATURE_TYPES } from "./signature.js";
12
+ import { boundsInOrder, isBound, isCount, parseSize, RULE_TYPES, SIGNATURE_CONTENTS, SIGNATURE_FORMATS, SIGNATURE_RULE_NAMES, SIGNATURE_TYPES, } from "./signature.js";
13
+ import { compilePattern, jsonSchemaPatternError } from "./signature-pattern.js";
13
14
  import { MANUAL_TRIGGER, parseSessionPath, stateTriggerIds } from "./triggers.js";
14
15
  import { parseReferences, referenceError, TITLE_VARIABLE, TRIGGER_VARIABLE, VARIABLE_NAME_PATTERN, } from "./variables.js";
15
16
  /**
@@ -300,15 +301,39 @@ export const stateTypeSchema = z.enum(["agent", "human", "grader", "code"], {
300
301
  });
301
302
  // --- Triggers ------------------------------------------------------------------
302
303
  /** The keys a signature entry object may carry, as a refusal lists them. */
303
- const SIGNATURE_ENTRY_KEYS = "'name', 'type' and 'description'";
304
+ const SIGNATURE_ENTRY_KEYS = `'name', 'type', 'description' and the rules ` +
305
+ `${SIGNATURE_RULE_NAMES.slice(0, -1).map((rule) => `'${rule}'`).join(", ")} and '${SIGNATURE_RULE_NAMES.at(-1)}'`;
304
306
  /** The accepted type words, as a refusal lists them. */
305
307
  const SIGNATURE_TYPE_LIST = `${SIGNATURE_TYPES.slice(0, -1).join(", ")} or ${SIGNATURE_TYPES.at(-1)}`;
308
+ /** What a `maxSize` must look like, as a refusal says it. */
309
+ const SIZE_SHAPE = "a size in bytes: an integer, or '<n>KB' / '<n>MB' (e.g. 10MB)";
310
+ /** One file extension as `accept` lists it: a dot and a name holding no further dot or separator. */
311
+ const EXTENSION = /^\.[^./\\]+$/;
312
+ /** A length or count rule's shape; that it is a non-negative integer is the refinement's. */
313
+ function countRule(rule) {
314
+ return z.number({ error: `'${rule}' must be a non-negative integer` }).optional();
315
+ }
316
+ /** A `minimum`/`maximum` rule's shape; which of the two kinds the entry's type takes is the refinement's. */
317
+ function boundRule(rule) {
318
+ return z
319
+ .union([z.number(), z.string()], {
320
+ error: `'${rule}' must be a number, a date (YYYY-MM-DD or 'today') or a date-time (RFC 3339 or 'now')`,
321
+ })
322
+ .optional();
323
+ }
324
+ /** A list rule's shape: strings, with emptiness and repeats left to the refinement. */
325
+ function listRule(rule) {
326
+ return z
327
+ .array(z.string({ error: `'${rule}' must list strings` }), { error: `'${rule}' must be a list of strings` })
328
+ .optional();
329
+ }
306
330
  /**
307
331
  * @see SignatureEntryDeclaration
308
332
  *
309
333
  * The object spelling of a signature entry. Strict, unlike the loose declaration
310
334
  * around it: an unknown key here is most likely a misspelled `type` or
311
- * `description`, and read loosely it would silently mean "untyped".
335
+ * `description`, and read loosely it would silently mean "untyped". A rule key
336
+ * is shape-checked here and held to its entry's type by {@link refineRules}.
312
337
  */
313
338
  export const signatureEntryObjectSchema = z.strictObject({
314
339
  name: z
@@ -328,12 +353,126 @@ export const signatureEntryObjectSchema = z.strictObject({
328
353
  .string({ error: `'description' ${NON_EMPTY}` })
329
354
  .refine((value) => value.trim() !== "", `'description' ${NON_EMPTY}`)
330
355
  .optional(),
356
+ format: z
357
+ .enum(SIGNATURE_FORMATS, {
358
+ error: (issue) => `'format' must be one of email, url or phone; got ${JSON.stringify(issue.input)}`,
359
+ })
360
+ .optional(),
361
+ pattern: z.string({ error: "'pattern' must be a string (a regular expression)" }).optional(),
362
+ minLength: countRule("minLength"),
363
+ maxLength: countRule("maxLength"),
364
+ enum: listRule("enum"),
365
+ content: z
366
+ .enum(SIGNATURE_CONTENTS, {
367
+ error: (issue) => `'content' must be one of text, markdown or html; got ${JSON.stringify(issue.input)}`,
368
+ })
369
+ .optional(),
370
+ minimum: boundRule("minimum"),
371
+ maximum: boundRule("maximum"),
372
+ minItems: countRule("minItems"),
373
+ maxItems: countRule("maxItems"),
374
+ accept: listRule("accept"),
375
+ maxSize: z.union([z.number(), z.string()], { error: `'maxSize' must be ${SIZE_SHAPE}` }).optional(),
331
376
  }, {
332
377
  error: (issue) => issue.code === "unrecognized_keys"
333
378
  ? `${entryLabel(issue.input)} declares ${issue.keys.map((k) => `'${k}'`).join(", ")}, which a ` +
334
379
  `signature entry does not take: it has ${SIGNATURE_ENTRY_KEYS} only.`
335
380
  : undefined,
336
- });
381
+ }).superRefine(refineRules);
382
+ /** `string`, `integer, number, date and date-time`. */
383
+ function typeList(types) {
384
+ return types.length === 1 ? types[0] : `${types.slice(0, -1).join(", ")} and ${types.at(-1)}`;
385
+ }
386
+ /**
387
+ * Hold an entry's rules to its type and to each other. Each issue sits at the
388
+ * rule's key and names the entry itself: the union around the entry hands a
389
+ * refinement's issues on unwrapped.
390
+ */
391
+ function refineRules(entry, ctx) {
392
+ const declared = SIGNATURE_RULE_NAMES.filter((rule) => entry[rule] !== undefined);
393
+ if (declared.length === 0)
394
+ return;
395
+ const label = entryLabel(entry);
396
+ const issue = (rule, message) => ctx.addIssue({ code: "custom", path: [rule], message: `${label} ${message}` });
397
+ const { type } = entry;
398
+ const applicable = [];
399
+ for (const rule of declared) {
400
+ const types = RULE_TYPES[rule];
401
+ if (!type)
402
+ issue(rule, `declares '${rule}', but has no 'type': it applies to ${typeList(types)} entries only.`);
403
+ else if (!types.includes(type))
404
+ issue(rule, `declares '${rule}', which applies to ${typeList(types)} entries only.`);
405
+ else
406
+ applicable.push(rule);
407
+ }
408
+ if (!type)
409
+ return;
410
+ const has = (rule) => applicable.includes(rule);
411
+ for (const rule of ["minLength", "maxLength", "minItems", "maxItems"]) {
412
+ if (has(rule) && !isCount(entry[rule])) {
413
+ issue(rule, `declares '${rule}' as ${String(entry[rule])}, which is not a non-negative integer.`);
414
+ applicable.splice(applicable.indexOf(rule), 1);
415
+ }
416
+ }
417
+ if (has("format") && has("pattern")) {
418
+ issue("pattern", `declares both 'format' and 'pattern': an entry declares one or the other.`);
419
+ }
420
+ if (has("pattern")) {
421
+ const pattern = entry.pattern;
422
+ const compiled = compilePattern(pattern);
423
+ const error = compiled.ok ? jsonSchemaPatternError(pattern) : compiled.error;
424
+ if (error)
425
+ issue("pattern", `declares a 'pattern' that cannot be used: ${error}.`);
426
+ }
427
+ for (const rule of ["minimum", "maximum"]) {
428
+ if (!has(rule) || isBound(type, entry[rule]))
429
+ continue;
430
+ const shape = type === "date"
431
+ ? "a date (YYYY-MM-DD, a real calendar day) or 'today'"
432
+ : type === "date-time"
433
+ ? "an RFC 3339 date-time with an offset (e.g. 2026-11-01T09:00:00Z) or 'now'"
434
+ : "a number";
435
+ issue(rule, `declares '${rule}' as ${JSON.stringify(entry[rule])}, but on a ${type} entry it must be ${shape}.`);
436
+ }
437
+ for (const [low, high] of [
438
+ ["minLength", "maxLength"],
439
+ ["minimum", "maximum"],
440
+ ["minItems", "maxItems"],
441
+ ]) {
442
+ if (!has(low) || !has(high))
443
+ continue;
444
+ const ordered = low === "minimum"
445
+ ? boundsInOrder(type, entry[low], entry[high])
446
+ : entry[low] <= entry[high];
447
+ if (!ordered) {
448
+ issue(low, `declares '${low}' ${JSON.stringify(entry[low])} above '${high}' ${JSON.stringify(entry[high])}, ` +
449
+ `so no value could conform.`);
450
+ }
451
+ }
452
+ for (const rule of ["enum", "accept"]) {
453
+ if (!has(rule))
454
+ continue;
455
+ const list = entry[rule];
456
+ if (list.length === 0) {
457
+ issue(rule, `declares an empty '${rule}', so no value could conform.`);
458
+ continue;
459
+ }
460
+ const malformed = rule === "accept" ? list.find((extension) => !EXTENSION.test(extension)) : undefined;
461
+ if (malformed !== undefined) {
462
+ issue(rule, `lists ${JSON.stringify(malformed)} in 'accept', which is not a file extension: write a dot and ` +
463
+ `a name with no further dot, e.g. '.pdf'.`);
464
+ continue;
465
+ }
466
+ // Extensions compare case-insensitively, as `accept` is checked.
467
+ const keys = list.map((item) => (rule === "accept" ? item.toLowerCase() : item));
468
+ const repeated = list.find((_, index) => keys.indexOf(keys[index]) !== index);
469
+ if (repeated !== undefined)
470
+ issue(rule, `lists ${JSON.stringify(repeated)} more than once in '${rule}'.`);
471
+ }
472
+ if (has("maxSize") && parseSize(entry.maxSize) === undefined) {
473
+ issue("maxSize", `declares 'maxSize' as ${JSON.stringify(entry.maxSize)}, which is not ${SIZE_SHAPE}.`);
474
+ }
475
+ }
337
476
  /** An entry as a message names it: by its `name` when it has a readable one. */
338
477
  function entryLabel(input) {
339
478
  const name = input?.name;
@@ -1 +1 @@
1
- {"version":3,"file":"spec-schema.js","sourceRoot":"","sources":["../../src/machine/spec-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-schema.js","sourceRoot":"","sources":["../../src/machine/spec-schema.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,10 @@ export type { SessionPath, SessionPathParse, TriggerBinding, TriggerInput, Resol
81
81
  export {
82
82
  /** The types a signature entry may declare: JSON Schema's words, plus `date` and `date-time`. */
83
83
  SIGNATURE_TYPES,
84
+ /** The formats a `string` entry's `format` rule names: `email`, `url`, `phone`. */
85
+ SIGNATURE_FORMATS,
86
+ /** The kinds of text a `string` entry's `content` rule declares: `text`, `markdown`, `html`. */
87
+ SIGNATURE_CONTENTS,
84
88
  /** A `requires`/`returns` list as `{ name, type?, description? }` entries, either spelling. */
85
89
  normalizeSignature,
86
90
  /** A trigger's normalized signature — `description`, `requires`, `returns` — read from a spec. */
@@ -89,7 +93,7 @@ signatureForTrigger,
89
93
  signatureJsonSchema,
90
94
  /** The one conformance rule: each missing name and each non-conforming value, as issues. */
91
95
  signatureValueIssues, } from "../machine/signature.js";
92
- export type { SignatureEntry, SignatureType, TriggerSignature, SignatureValueIssue, } from "../machine/signature.js";
96
+ export type { SignatureEntry, SignatureType, SignatureRules, SignatureRuleName, SignatureFormat, SignatureContent, TriggerSignature, SignatureValueIssue, SignatureValueOptions, } from "../machine/signature.js";
93
97
  export { VARIABLE_NAME_PATTERN,
94
98
  /** The reserved variable holding the session's current trigger id. */
95
99
  TRIGGER_VARIABLE,
@@ -79,6 +79,10 @@ declaredVariableNames, } from "../machine/triggers.js";
79
79
  export {
80
80
  /** The types a signature entry may declare: JSON Schema's words, plus `date` and `date-time`. */
81
81
  SIGNATURE_TYPES,
82
+ /** The formats a `string` entry's `format` rule names: `email`, `url`, `phone`. */
83
+ SIGNATURE_FORMATS,
84
+ /** The kinds of text a `string` entry's `content` rule declares: `text`, `markdown`, `html`. */
85
+ SIGNATURE_CONTENTS,
82
86
  /** A `requires`/`returns` list as `{ name, type?, description? }` entries, either spelling. */
83
87
  normalizeSignature,
84
88
  /** A trigger's normalized signature — `description`, `requires`, `returns` — read from a spec. */
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/public/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/public/spec.ts"],"names":[],"mappings":"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"}
@@ -608,8 +608,10 @@ function mistypedReturns(machine, state, variables) {
608
608
  const invalid = signatureValueIssues(typed, variables).filter((issue) => issue.kind === "invalid");
609
609
  if (invalid.length === 0)
610
610
  return undefined;
611
+ const ruled = invalid.some((issue) => issue.kind === "invalid" && issue.rule);
611
612
  return (`trigger '${trigger}' declares ${invalid.length === 1 ? "this return" : "these returns"} typed: ` +
612
- `${invalid.map((issue) => issue.message).join("; ")}. Write a value of the declared type.`);
613
+ `${invalid.map((issue) => issue.message).join("; ")}. Write a value of the declared type` +
614
+ `${ruled ? " that meets its rules" : ""}.`);
613
615
  }
614
616
  /**
615
617
  * Why a write names, for a `file` return of the current turn's trigger, a path