@rayspec/spec 1.5.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 (62) hide show
  1. package/LICENSE +105 -0
  2. package/dist/brace-params.d.ts +32 -0
  3. package/dist/brace-params.d.ts.map +1 -0
  4. package/dist/brace-params.js +89 -0
  5. package/dist/brace-params.js.map +1 -0
  6. package/dist/detect.d.ts +44 -0
  7. package/dist/detect.d.ts.map +1 -0
  8. package/dist/detect.js +72 -0
  9. package/dist/detect.js.map +1 -0
  10. package/dist/errors.d.ts +204 -0
  11. package/dist/errors.d.ts.map +1 -0
  12. package/dist/errors.js +165 -0
  13. package/dist/errors.js.map +1 -0
  14. package/dist/export.d.ts +54 -0
  15. package/dist/export.d.ts.map +1 -0
  16. package/dist/export.js +121 -0
  17. package/dist/export.js.map +1 -0
  18. package/dist/grammar.d.ts +569 -0
  19. package/dist/grammar.d.ts.map +1 -0
  20. package/dist/grammar.js +503 -0
  21. package/dist/grammar.js.map +1 -0
  22. package/dist/index.d.ts +23 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +26 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/lint.d.ts +79 -0
  27. package/dist/lint.d.ts.map +1 -0
  28. package/dist/lint.js +823 -0
  29. package/dist/lint.js.map +1 -0
  30. package/dist/parse.d.ts +8 -0
  31. package/dist/parse.d.ts.map +1 -0
  32. package/dist/parse.js +118 -0
  33. package/dist/parse.js.map +1 -0
  34. package/dist/product-events.d.ts +73 -0
  35. package/dist/product-events.d.ts.map +1 -0
  36. package/dist/product-events.js +42 -0
  37. package/dist/product-events.js.map +1 -0
  38. package/dist/product-grammar.d.ts +948 -0
  39. package/dist/product-grammar.d.ts.map +1 -0
  40. package/dist/product-grammar.js +581 -0
  41. package/dist/product-grammar.js.map +1 -0
  42. package/dist/product-lint.d.ts +74 -0
  43. package/dist/product-lint.d.ts.map +1 -0
  44. package/dist/product-lint.js +821 -0
  45. package/dist/product-lint.js.map +1 -0
  46. package/dist/product-parse.d.ts +8 -0
  47. package/dist/product-parse.d.ts.map +1 -0
  48. package/dist/product-parse.js +119 -0
  49. package/dist/product-parse.js.map +1 -0
  50. package/dist/product-scope.d.ts +53 -0
  51. package/dist/product-scope.d.ts.map +1 -0
  52. package/dist/product-scope.js +55 -0
  53. package/dist/product-scope.js.map +1 -0
  54. package/dist/product-views-lint.d.ts +14 -0
  55. package/dist/product-views-lint.d.ts.map +1 -0
  56. package/dist/product-views-lint.js +669 -0
  57. package/dist/product-views-lint.js.map +1 -0
  58. package/dist/product-views.d.ts +426 -0
  59. package/dist/product-views.d.ts.map +1 -0
  60. package/dist/product-views.js +317 -0
  61. package/dist/product-views.js.map +1 -0
  62. package/package.json +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type Result, type SpecError } from './errors.js';
2
+ import { RaySpec } from './grammar.js';
3
+ /**
4
+ * Parse + validate a raw RaySpec YAML spec. Returns the typed spec on success, or the FULL
5
+ * aggregated list of fail-closed violations.
6
+ */
7
+ export declare function parseSpec(rawYamlText: string): Result<RaySpec, SpecError>;
8
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAa,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AAsCrD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAqEzE"}
package/dist/parse.js ADDED
@@ -0,0 +1,118 @@
1
+ /**
2
+ * `parseSpec` — the two-phase, fail-closed entry point: raw YAML text -> a validated
3
+ * `RaySpec` or the FULL list of `SpecError`s.
4
+ *
5
+ * Pipeline (each stage aggregates, never throws to the caller):
6
+ * 1. YAML safe-load — `yaml@2.9.0` `parse()` (safe by default: no code execution,
7
+ * no JS-type tags). A YAML syntax error -> one `yaml_parse_error`.
8
+ * 2. VERSION CHECK FIRST — before the full strict Zod parse, read `version` off the loaded
9
+ * object. A missing/unsupported version -> one clean
10
+ * `unsupported_version` SpecError, NOT a wall of strict-shape errors.
11
+ * 3. STRICT ZOD PARSE — `RaySpec.safeParse`. EVERY Zod issue maps to a SpecError with
12
+ * a JSON path; an `unrecognized_keys` issue -> `unknown_field` (one per
13
+ * offending key), everything else -> `schema_violation`. Returns the
14
+ * FULL issue list.
15
+ * 4. SEMANTIC LINT — `lintSpec` (cross-refs, dups, capability, embedded schemas). Only
16
+ * run when the shape parse SUCCEEDS (lint needs a typed spec).
17
+ *
18
+ * Any non-empty error list -> `{ ok:false, errors }` (the value is NEVER returned partially).
19
+ */
20
+ import { parse as parseYaml } from 'yaml';
21
+ import { specError } from './errors.js';
22
+ import { RaySpec, SPEC_VERSION } from './grammar.js';
23
+ import { lintSpec } from './lint.js';
24
+ /** Render a Zod issue path (string/number segments) as a JSON path: `agents[0].backend`. */
25
+ function renderPath(path) {
26
+ if (path.length === 0)
27
+ return undefined;
28
+ let out = '';
29
+ for (const seg of path) {
30
+ if (typeof seg === 'number') {
31
+ out += `[${seg}]`;
32
+ }
33
+ else {
34
+ out += out.length === 0 ? String(seg) : `.${String(seg)}`;
35
+ }
36
+ }
37
+ return out;
38
+ }
39
+ /** Append a key to a (possibly empty) base JSON path. */
40
+ function joinKey(base, key) {
41
+ return base === undefined ? key : `${base}.${key}`;
42
+ }
43
+ /** Map a single Zod issue to one or more SpecErrors (an unrecognized-keys issue fans out per key). */
44
+ function issueToSpecErrors(issue) {
45
+ const base = renderPath(issue.path);
46
+ if (issue.code === 'unrecognized_keys') {
47
+ // Fail-closed unknown-key rejection — one SpecError per offending key, pathed at the key.
48
+ return issue.keys.map((key) => specError('unknown_field', `unknown field '${key}' (unknown keys are rejected)`, joinKey(base, key)));
49
+ }
50
+ return [specError('schema_violation', issue.message, base)];
51
+ }
52
+ /**
53
+ * Parse + validate a raw RaySpec YAML spec. Returns the typed spec on success, or the FULL
54
+ * aggregated list of fail-closed violations.
55
+ */
56
+ export function parseSpec(rawYamlText) {
57
+ // ---- 1. YAML SAFE-LOAD ----------------------------------------------------------------
58
+ let loaded;
59
+ try {
60
+ loaded = parseYaml(rawYamlText);
61
+ }
62
+ catch (e) {
63
+ return {
64
+ ok: false,
65
+ errors: [
66
+ specError('yaml_parse_error', `YAML parse error: ${String(e instanceof Error ? e.message : e)}`),
67
+ ],
68
+ };
69
+ }
70
+ // An empty document (`null`) or a non-object root cannot carry a version/sections.
71
+ if (loaded === null || typeof loaded !== 'object' || Array.isArray(loaded)) {
72
+ return {
73
+ ok: false,
74
+ errors: [
75
+ specError('unsupported_version', 'spec root must be a mapping with a `version` field (got an empty or non-object document)'),
76
+ ],
77
+ };
78
+ }
79
+ // ---- 2. VERSION CHECK FIRST -----------------------------------------------------------
80
+ // Exactly one backend version is supported (`version:'1.0'`); anything else fails closed with a
81
+ // single clean `unsupported_version` SpecError before the strict-shape parse runs.
82
+ const doc = loaded;
83
+ const version = doc.version;
84
+ if (version !== SPEC_VERSION) {
85
+ let message;
86
+ if (version === undefined) {
87
+ message = `spec version is missing; this engine supports version '${SPEC_VERSION}'`;
88
+ }
89
+ else if (typeof version !== 'string') {
90
+ // The natural author typo `version: 1.0` (unquoted) parses as the YAML NUMBER 1 — correctly
91
+ // rejected (we do NOT coerce). Give a targeted hint naming the JS type instead of stringifying
92
+ // it to a misleading "'1'" that reads close to the supported version.
93
+ message =
94
+ `spec version must be the quoted string '${SPEC_VERSION}' ` +
95
+ `(got the YAML ${typeof version} ${String(version)} — wrap it in quotes)`;
96
+ }
97
+ else {
98
+ message = `unsupported spec version '${version}'; this engine supports version '${SPEC_VERSION}'`;
99
+ }
100
+ return {
101
+ ok: false,
102
+ errors: [specError('unsupported_version', message, 'version')],
103
+ };
104
+ }
105
+ // ---- 3. STRICT ZOD PARSE (full issue list) --------------------------------------------
106
+ const parsed = RaySpec.safeParse(loaded);
107
+ if (!parsed.success) {
108
+ const errors = parsed.error.issues.flatMap(issueToSpecErrors);
109
+ return { ok: false, errors };
110
+ }
111
+ // ---- 4. SEMANTIC LINT -----------------------------------------------------------------
112
+ const lintErrors = lintSpec(parsed.data);
113
+ if (lintErrors.length > 0) {
114
+ return { ok: false, errors: lintErrors };
115
+ }
116
+ return { ok: true, value: parsed.data };
117
+ }
118
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * The SHARED Product-YAML trigger-event vocabulary.
3
+ *
4
+ * Historically the trigger normalization lived as TWO byte-identical KEEP-IN-SYNC copies
5
+ * (`product-lint.ts` `compileProductTriggerEvent` + the workflow bridge's `compileTriggerEvent`) plus a
6
+ * THIRD hardcode in `@rayspec/product-yaml`'s capability inventory. This module is now the ONE
7
+ * source both the parser lint and the bridge compiler import, and the descriptor contract the deploy
8
+ * composition consumes — the cross-package parity test in `@rayspec/product-yaml-workflow-bridge`
9
+ * (`product-bridge-parity.test.ts`) pins the single-source invariant structurally (identity +
10
+ * behavior), so a re-introduced local copy or a behavioral divergence fails CI.
11
+ *
12
+ * This is a PRODUCT-side module: it must never import a runtime package (the Tier-B runtimes import
13
+ * @rayspec/spec, not the reverse), and it is NOT `grammar.ts` (a frozen surface).
14
+ */
15
+ /**
16
+ * One alias row: a doc-level `(capability, event)` trigger pair whose canonical Tier-B event id is NOT
17
+ * the default `${capability}.${event}` join. Declarative on purpose — the audio special-case is DATA
18
+ * here, not a branch scattered across packages. New capabilities should use the default join and add
19
+ * NO alias; an alias exists only to honor an already-shipped canonical id.
20
+ */
21
+ export interface ProductTriggerEventAlias {
22
+ readonly capability: string;
23
+ readonly event: string;
24
+ /** The canonical Tier-B event/contract id the pair normalizes to. */
25
+ readonly canonical: string;
26
+ }
27
+ /**
28
+ * The closed alias table. Exactly ONE entry today: the audio capability's `session_finalized` event,
29
+ * whose canonical id `audio_input.finalized_session` predates the default-join convention and feeds
30
+ * a deployed product's LIVE run identity — it can never be renamed (a re-key duplicates live runs on
31
+ * redelivery).
32
+ */
33
+ export declare const PRODUCT_TRIGGER_EVENT_ALIASES: readonly ProductTriggerEventAlias[];
34
+ /**
35
+ * THE canonical trigger-event normalization: a workflow trigger's `{ capability, event }` pair → the
36
+ * canonical Tier-B event id. Aliased pairs (the table above) map to their shipped canonical id; every
37
+ * other pair is the default `${capability}.${event}` join. This is the SINGLE source — the parser lint
38
+ * (`lintProductSpec`), the workflow bridge compiler, and the deploy composition all consume THIS
39
+ * function (parity-pinned; never re-copy it locally).
40
+ */
41
+ export declare function normalizeProductTriggerEvent(capability: string, event: string): string;
42
+ /**
43
+ * The per-event DESCRIPTOR contract (the vocabulary entry a deploy composition consumes). A Tier-B
44
+ * capability declares one per emitted trigger event (e.g. `@rayspec/audio-runtime`'s
45
+ * `CapabilityEventDescriptor` extends this); `composeProductDeploy` builds its capability inventory,
46
+ * its persist-scope check, and its per-trigger idempotency-key derivation from these — never
47
+ * from hardcodes.
48
+ */
49
+ export interface TriggerEventDescriptor {
50
+ /** The event name a workflow trigger references (`trigger.event`). */
51
+ readonly id: string;
52
+ /**
53
+ * The canonical Tier-B contract id the event normalizes to — REQUIRED to equal
54
+ * `normalizeProductTriggerEvent(<capability id>, id)` (the composition verifies this coherence
55
+ * fail-closed). This is the id the dispatcher matches on and the bridge validates against.
56
+ */
57
+ readonly contract: string;
58
+ /** The dedup-scope label (documentation-grade; e.g. `session_scoped`). */
59
+ readonly idempotency: string;
60
+ /**
61
+ * The EXACT keys of the event's canonical payload (DATA only, never instructions). The compose-time
62
+ * persist-scope check validates a declared artifact scope against THIS event's keys — never a
63
+ * union across events (a union would re-admit scopes the triggering event cannot satisfy).
64
+ */
65
+ readonly payload_keys: readonly string[];
66
+ /**
67
+ * The payload field the durable run's single-flight idempotency key derives from. MUST be one
68
+ * of `payload_keys`. For the audio event this is `session_id`, and the derived key format
69
+ * `session_id:<id>:finalized` is byte-stable (live run identity).
70
+ */
71
+ readonly idempotency_key_field: string;
72
+ }
73
+ //# sourceMappingURL=product-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-events.d.ts","sourceRoot":"","sources":["../src/product-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,wBAAwB,EAM3E,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKtF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The SHARED Product-YAML trigger-event vocabulary.
3
+ *
4
+ * Historically the trigger normalization lived as TWO byte-identical KEEP-IN-SYNC copies
5
+ * (`product-lint.ts` `compileProductTriggerEvent` + the workflow bridge's `compileTriggerEvent`) plus a
6
+ * THIRD hardcode in `@rayspec/product-yaml`'s capability inventory. This module is now the ONE
7
+ * source both the parser lint and the bridge compiler import, and the descriptor contract the deploy
8
+ * composition consumes — the cross-package parity test in `@rayspec/product-yaml-workflow-bridge`
9
+ * (`product-bridge-parity.test.ts`) pins the single-source invariant structurally (identity +
10
+ * behavior), so a re-introduced local copy or a behavioral divergence fails CI.
11
+ *
12
+ * This is a PRODUCT-side module: it must never import a runtime package (the Tier-B runtimes import
13
+ * @rayspec/spec, not the reverse), and it is NOT `grammar.ts` (a frozen surface).
14
+ */
15
+ /**
16
+ * The closed alias table. Exactly ONE entry today: the audio capability's `session_finalized` event,
17
+ * whose canonical id `audio_input.finalized_session` predates the default-join convention and feeds
18
+ * a deployed product's LIVE run identity — it can never be renamed (a re-key duplicates live runs on
19
+ * redelivery).
20
+ */
21
+ export const PRODUCT_TRIGGER_EVENT_ALIASES = Object.freeze([
22
+ {
23
+ capability: 'audio_input',
24
+ event: 'session_finalized',
25
+ canonical: 'audio_input.finalized_session',
26
+ },
27
+ ]);
28
+ /**
29
+ * THE canonical trigger-event normalization: a workflow trigger's `{ capability, event }` pair → the
30
+ * canonical Tier-B event id. Aliased pairs (the table above) map to their shipped canonical id; every
31
+ * other pair is the default `${capability}.${event}` join. This is the SINGLE source — the parser lint
32
+ * (`lintProductSpec`), the workflow bridge compiler, and the deploy composition all consume THIS
33
+ * function (parity-pinned; never re-copy it locally).
34
+ */
35
+ export function normalizeProductTriggerEvent(capability, event) {
36
+ for (const alias of PRODUCT_TRIGGER_EVENT_ALIASES) {
37
+ if (alias.capability === capability && alias.event === event)
38
+ return alias.canonical;
39
+ }
40
+ return `${capability}.${event}`;
41
+ }
42
+ //# sourceMappingURL=product-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-events.js","sourceRoot":"","sources":["../src/product-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,MAAM,CAAC,MAAM,CAAC;IAC9F;QACE,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EAAE,+BAA+B;KAC3C;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAkB,EAAE,KAAa;IAC5E,KAAK,MAAM,KAAK,IAAI,6BAA6B,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IACvF,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC;AAClC,CAAC"}