@sublang/slc 0.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 (137) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +192 -0
  3. package/dist/app.d.ts +85 -0
  4. package/dist/app.d.ts.map +1 -0
  5. package/dist/app.js +233 -0
  6. package/dist/app.js.map +1 -0
  7. package/dist/artifacts.d.ts +61 -0
  8. package/dist/artifacts.d.ts.map +1 -0
  9. package/dist/artifacts.js +97 -0
  10. package/dist/artifacts.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +26 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/cligent-agent.d.ts +11 -0
  16. package/dist/cligent-agent.d.ts.map +1 -0
  17. package/dist/cligent-agent.js +66 -0
  18. package/dist/cligent-agent.js.map +1 -0
  19. package/dist/compiled-executor.d.ts +42 -0
  20. package/dist/compiled-executor.d.ts.map +1 -0
  21. package/dist/compiled-executor.js +433 -0
  22. package/dist/compiled-executor.js.map +1 -0
  23. package/dist/config-file.d.ts +52 -0
  24. package/dist/config-file.d.ts.map +1 -0
  25. package/dist/config-file.js +159 -0
  26. package/dist/config-file.js.map +1 -0
  27. package/dist/config.d.ts +82 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +161 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/entry-module.d.ts +22 -0
  32. package/dist/entry-module.d.ts.map +1 -0
  33. package/dist/entry-module.js +216 -0
  34. package/dist/entry-module.js.map +1 -0
  35. package/dist/execution.d.ts +71 -0
  36. package/dist/execution.d.ts.map +1 -0
  37. package/dist/execution.js +207 -0
  38. package/dist/execution.js.map +1 -0
  39. package/dist/file-capability.d.ts +46 -0
  40. package/dist/file-capability.d.ts.map +1 -0
  41. package/dist/file-capability.js +234 -0
  42. package/dist/file-capability.js.map +1 -0
  43. package/dist/file-grants.d.ts +79 -0
  44. package/dist/file-grants.d.ts.map +1 -0
  45. package/dist/file-grants.js +133 -0
  46. package/dist/file-grants.js.map +1 -0
  47. package/dist/hash.d.ts +14 -0
  48. package/dist/hash.d.ts.map +1 -0
  49. package/dist/hash.js +34 -0
  50. package/dist/hash.js.map +1 -0
  51. package/dist/index.d.ts +20 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +22 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/interpreter.d.ts +48 -0
  56. package/dist/interpreter.d.ts.map +1 -0
  57. package/dist/interpreter.js +118 -0
  58. package/dist/interpreter.js.map +1 -0
  59. package/dist/invocation.d.ts +64 -0
  60. package/dist/invocation.d.ts.map +1 -0
  61. package/dist/invocation.js +148 -0
  62. package/dist/invocation.js.map +1 -0
  63. package/dist/link.d.ts +63 -0
  64. package/dist/link.d.ts.map +1 -0
  65. package/dist/link.js +172 -0
  66. package/dist/link.js.map +1 -0
  67. package/dist/markdown.d.ts +12 -0
  68. package/dist/markdown.d.ts.map +1 -0
  69. package/dist/markdown.js +63 -0
  70. package/dist/markdown.js.map +1 -0
  71. package/dist/normalize.md +68 -0
  72. package/dist/phase-runner.d.ts +64 -0
  73. package/dist/phase-runner.d.ts.map +1 -0
  74. package/dist/phase-runner.js +322 -0
  75. package/dist/phase-runner.js.map +1 -0
  76. package/dist/phase.d.ts +62 -0
  77. package/dist/phase.d.ts.map +1 -0
  78. package/dist/phase.js +111 -0
  79. package/dist/phase.js.map +1 -0
  80. package/dist/pin-closure.d.ts +19 -0
  81. package/dist/pin-closure.d.ts.map +1 -0
  82. package/dist/pin-closure.js +110 -0
  83. package/dist/pin-closure.js.map +1 -0
  84. package/dist/pin-currency.d.ts +55 -0
  85. package/dist/pin-currency.d.ts.map +1 -0
  86. package/dist/pin-currency.js +435 -0
  87. package/dist/pin-currency.js.map +1 -0
  88. package/dist/pin-generate.d.ts +46 -0
  89. package/dist/pin-generate.d.ts.map +1 -0
  90. package/dist/pin-generate.js +131 -0
  91. package/dist/pin-generate.js.map +1 -0
  92. package/dist/pin-paths.d.ts +11 -0
  93. package/dist/pin-paths.d.ts.map +1 -0
  94. package/dist/pin-paths.js +108 -0
  95. package/dist/pin-paths.js.map +1 -0
  96. package/dist/pins.d.ts +84 -0
  97. package/dist/pins.d.ts.map +1 -0
  98. package/dist/pins.js +265 -0
  99. package/dist/pins.js.map +1 -0
  100. package/dist/pipeline.d.ts +61 -0
  101. package/dist/pipeline.d.ts.map +1 -0
  102. package/dist/pipeline.js +147 -0
  103. package/dist/pipeline.js.map +1 -0
  104. package/dist/playbook-contract.d.ts +194 -0
  105. package/dist/playbook-contract.d.ts.map +1 -0
  106. package/dist/playbook-contract.js +180 -0
  107. package/dist/playbook-contract.js.map +1 -0
  108. package/dist/playbook-ports.d.ts +53 -0
  109. package/dist/playbook-ports.d.ts.map +1 -0
  110. package/dist/playbook-ports.js +217 -0
  111. package/dist/playbook-ports.js.map +1 -0
  112. package/dist/resolver.d.ts +68 -0
  113. package/dist/resolver.d.ts.map +1 -0
  114. package/dist/resolver.js +133 -0
  115. package/dist/resolver.js.map +1 -0
  116. package/dist/runner.d.ts +45 -0
  117. package/dist/runner.d.ts.map +1 -0
  118. package/dist/runner.js +506 -0
  119. package/dist/runner.js.map +1 -0
  120. package/dist/runtime-package.d.ts +7 -0
  121. package/dist/runtime-package.d.ts.map +1 -0
  122. package/dist/runtime-package.js +132 -0
  123. package/dist/runtime-package.js.map +1 -0
  124. package/dist/slc.config.template.yaml +5 -0
  125. package/dist/verify-coverage.d.ts +99 -0
  126. package/dist/verify-coverage.d.ts.map +1 -0
  127. package/dist/verify-coverage.js +1949 -0
  128. package/dist/verify-coverage.js.map +1 -0
  129. package/dist/verify-support.d.ts +10 -0
  130. package/dist/verify-support.d.ts.map +1 -0
  131. package/dist/verify-support.js +52 -0
  132. package/dist/verify-support.js.map +1 -0
  133. package/dist/verify.d.ts +393 -0
  134. package/dist/verify.d.ts.map +1 -0
  135. package/dist/verify.js +1790 -0
  136. package/dist/verify.js.map +1 -0
  137. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-coverage.js","sourceRoot":"","sources":["../src/verify-coverage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const VERIFIER_SUPPORT_DIR = ".slc-verify";
2
+ export declare const VERIFIER_SUPPORT_MODULE = "./.slc-verify/verify.js";
3
+ /**
4
+ * Emits the compiled verifier closure and returns every written file in stable
5
+ * order. SLC CI builds before tests, while the public CLI always runs from
6
+ * `dist`, so both source-driven tests and installed execution copy the same
7
+ * compiled bytes.
8
+ */
9
+ export declare function emitVerifierSupport(artifactDir: string): Promise<string[]>;
10
+ //# sourceMappingURL=verify-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-support.d.ts","sourceRoot":"","sources":["../src/verify-support.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAClD,eAAO,MAAM,uBAAuB,4BAAwC,CAAC;AAuB7E;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB"}
@@ -0,0 +1,52 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
3
+ /**
4
+ * Artifact-local verification support for generated playbook tests.
5
+ *
6
+ * The generated tests must not require their destination project to install
7
+ * SLC. A built SLC already contains the complete checker module closure, so a
8
+ * reserved-pipeline run copies that exact closure beside the artifact and has
9
+ * every generated test import it relatively. `xstate` remains a bare import:
10
+ * the compiled FSM already requires the destination project to provide it.
11
+ */
12
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
13
+ import { dirname, extname, join, resolve } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+ export const VERIFIER_SUPPORT_DIR = '.slc-verify';
16
+ export const VERIFIER_SUPPORT_MODULE = `./${VERIFIER_SUPPORT_DIR}/verify.js`;
17
+ const SUPPORT_FILES = [
18
+ 'hash.js',
19
+ 'hash.d.ts',
20
+ 'verify.js',
21
+ 'verify.d.ts',
22
+ 'verify-coverage.js',
23
+ 'verify-coverage.d.ts',
24
+ ];
25
+ function compiledModuleDir() {
26
+ const modulePath = fileURLToPath(import.meta.url);
27
+ const moduleDir = dirname(modulePath);
28
+ return extname(modulePath) === '.js'
29
+ ? moduleDir
30
+ : resolve(moduleDir, '../dist');
31
+ }
32
+ function withoutSourceMapReference(content) {
33
+ return content.replace(/\n\/\/# sourceMappingURL=[^\n]+\n?$/u, '\n');
34
+ }
35
+ /**
36
+ * Emits the compiled verifier closure and returns every written file in stable
37
+ * order. SLC CI builds before tests, while the public CLI always runs from
38
+ * `dist`, so both source-driven tests and installed execution copy the same
39
+ * compiled bytes.
40
+ */
41
+ export async function emitVerifierSupport(artifactDir) {
42
+ const sourceDir = compiledModuleDir();
43
+ const targetDir = join(artifactDir, VERIFIER_SUPPORT_DIR);
44
+ await mkdir(targetDir, { recursive: true });
45
+ return Promise.all(SUPPORT_FILES.map(async (file) => {
46
+ const path = join(targetDir, file);
47
+ const content = await readFile(join(sourceDir, file), 'utf8');
48
+ await writeFile(path, withoutSourceMapReference(content));
49
+ return path;
50
+ }));
51
+ }
52
+ //# sourceMappingURL=verify-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-support.js","sourceRoot":"","sources":["../src/verify-support.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,oBAAoB,YAAY,CAAC;AAE7E,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,WAAW;IACX,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,sBAAsB;CACd,CAAC;AAEX,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB;IAEnB,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,393 @@
1
+ /** A GEARS spec item with its acting prompt and optional source-owned results. */
2
+ export interface GearsItem {
3
+ id: string;
4
+ player: string;
5
+ prompt: string;
6
+ /**
7
+ * Direct Captain work, delegated player work, or an optimizer-introduced
8
+ * script item (`Captain shall run:`); absent for playbook calls.
9
+ */
10
+ actor?: 'captain' | 'player' | 'script';
11
+ /** Target id when this item invokes another playbook rather than a player. */
12
+ playbookId?: string;
13
+ /** Context field selecting a dynamic nested-playbook target. */
14
+ playbookIdContext?: string;
15
+ /** Context field supplying a dynamic nested-playbook input. */
16
+ textContext?: string;
17
+ /** Ordered source-owned domain guard contract, when explicitly declared. */
18
+ result?: Record<string, string>;
19
+ /** Malformed result-metadata details retained for fail-closed reporting. */
20
+ resultFindings?: string[];
21
+ }
22
+ /** A Captain/player-invoking state's introspected `gears2fsm` binding. */
23
+ export interface CaptainState {
24
+ stateId: string;
25
+ sourceItem: string;
26
+ /**
27
+ * Semantic actor kind after preserving legacy `captain` + player bindings.
28
+ * `script` appears only in coverage-driving views built from script states,
29
+ * never in captain-binding enumeration or pins.
30
+ */
31
+ actor: 'captain' | 'player' | 'script';
32
+ player: string;
33
+ prompt: string;
34
+ /** The state's per-state guard contract: result key to description. */
35
+ result: Record<string, string>;
36
+ /** Dot-separated config path, present only for a nested state node. */
37
+ statePath?: string;
38
+ /** Malformed binding details retained for fail-closed conformance reporting. */
39
+ bindingFindings?: string[];
40
+ }
41
+ /** A script-actor invocation recovered from an FSM state (DR-013). */
42
+ export interface ScriptInvocationState {
43
+ stateId: string;
44
+ sourceItem: string;
45
+ /** The item's blockquoted shell script, verbatim. */
46
+ command: string;
47
+ /** The two declared exit-status guards, zero-exit first. */
48
+ result: Record<string, string>;
49
+ /** Dot-separated config path, present only for a nested state node. */
50
+ statePath?: string;
51
+ /** Malformed binding details retained for fail-closed conformance reporting. */
52
+ bindingFindings?: string[];
53
+ }
54
+ /** A playbook-actor invocation recovered from an FSM state. */
55
+ export interface PlaybookInvocationState {
56
+ stateId: string;
57
+ /** Literal values are empty during static introspection of a dynamic call. */
58
+ playbookId: string;
59
+ text: string;
60
+ /** Explicit dynamic-call metadata naming the runtime context fields. */
61
+ playbookIdContext?: string;
62
+ textContext?: string;
63
+ /** Optional source item emitted by linkers that retain the GEARS identity. */
64
+ sourceItem?: string;
65
+ /** Dot-separated config path, present only for a nested state node. */
66
+ statePath?: string;
67
+ /** Malformed binding details retained for fail-closed conformance reporting. */
68
+ bindingFindings?: string[];
69
+ }
70
+ /**
71
+ * The Boss-reply result key `gears2fsm` adds to every captain-invoking state's
72
+ * `result` map, and the load-bearing substring its adjudicator-facing
73
+ * description must carry so the runtime's judge requires a `question` payload
74
+ * (gears2fsm.md "Boss-reply suspension"; DR-009).
75
+ */
76
+ export declare const NEEDS_BOSS_REPLY = "needsBossReply";
77
+ export declare const BOSS_QUESTION_MARKER = "Output shall include `question:";
78
+ /** The minimal XState machine-config shape the introspector walks (`machine.config`). */
79
+ export interface MachineConfigLike {
80
+ initial?: string;
81
+ states?: Record<string, StateLike>;
82
+ on?: Record<string, unknown>;
83
+ }
84
+ interface InvokeLike {
85
+ src?: unknown;
86
+ input?: (arg: {
87
+ context: Record<string, unknown>;
88
+ }) => unknown;
89
+ onDone?: unknown;
90
+ onError?: unknown;
91
+ }
92
+ interface InvokeArrayLike extends ReadonlyArray<InvokeLike> {
93
+ src?: unknown;
94
+ input?: (arg: {
95
+ context: Record<string, unknown>;
96
+ }) => unknown;
97
+ onDone?: unknown;
98
+ onError?: unknown;
99
+ }
100
+ interface StateLike {
101
+ id?: string;
102
+ initial?: string;
103
+ type?: string;
104
+ meta?: unknown;
105
+ tags?: string | readonly string[];
106
+ states?: Record<string, StateLike>;
107
+ invoke?: InvokeLike | InvokeArrayLike;
108
+ on?: Record<string, unknown>;
109
+ onDone?: unknown;
110
+ onError?: unknown;
111
+ }
112
+ /**
113
+ * Parses the GEARS items from a `gears` artifact: each `### <ID>` item's player,
114
+ * blockquoted acting prompt, and optional ordered `Results:` metadata.
115
+ */
116
+ export declare function parseGearsItems(gears: string): GearsItem[];
117
+ /**
118
+ * Enumerates a machine's direct-Captain and delegated-player states, reading
119
+ * `invoke.input` under a stub context to recover the static source binding.
120
+ */
121
+ export declare function enumerateCaptainStates(config: MachineConfigLike): CaptainState[];
122
+ /** Enumerates typed `playbook` actor calls across the complete state tree. */
123
+ export declare function enumeratePlaybookStates(config: MachineConfigLike): PlaybookInvocationState[];
124
+ /**
125
+ * Enumerates typed `script` actor calls across the complete state tree
126
+ * (gears2fsm.md "Setup"; DR-013). A script state carries `stateId`,
127
+ * `sourceItem`, the verbatim `command`, and exactly two exit-status guards; it
128
+ * is not agent-invoking, so `needsBossReply` in its result map is malformed.
129
+ */
130
+ export declare function enumerateScriptStates(config: MachineConfigLike): ScriptInvocationState[];
131
+ /**
132
+ * Checks GEARS↔FSM conformance and returns human-readable findings (empty when
133
+ * conformant): every GEARS item maps to one state with the same player and the
134
+ * prompt verbatim, every captain state references a known item, and every
135
+ * captain state's `result` map declares the Boss-reply suspension key with its
136
+ * adjudicator contract (VERIFY-1, VERIFY-3; DR-009).
137
+ */
138
+ export declare function checkGearsFsmConformance(gears: string, config: MachineConfigLike): string[];
139
+ /** The `gears2fsm`-mandated root pre-emption event name. */
140
+ export declare const INTERRUPT_EVENT = "BOSS_INTERRUPT";
141
+ /** The `gears2fsm`-mandated Boss-reply event and wait-state names. */
142
+ export declare const BOSS_REPLY_EVENT = "BOSS_REPLY";
143
+ export declare const AWAIT_BOSS_REPLY_STATE = "awaitBossReply";
144
+ /** One normalized transition arm of an `onDone`/`onError`/`on` declaration. */
145
+ export interface TransitionArm {
146
+ index: number;
147
+ /** Target state key/id with any leading `#` stripped; null for a target-less arm. */
148
+ target: string | null;
149
+ guarded: boolean;
150
+ }
151
+ /** Event name to its normalized transition arms. */
152
+ export type EventArms = Record<string, TransitionArm[]>;
153
+ /** One state node in the optional recursive topology for compound machines. */
154
+ export interface StructuredStatePin {
155
+ path: string;
156
+ parent: string | null;
157
+ id: string | null;
158
+ publicStateId: string | null;
159
+ type: string | null;
160
+ initial: string | null;
161
+ tags: string[];
162
+ children: string[];
163
+ invokes: string[];
164
+ onDone: TransitionArm[];
165
+ onError: TransitionArm[];
166
+ on: EventArms;
167
+ }
168
+ /** The structural facts {@link pinIntrospection} pins for a machine (VERIFY-4). */
169
+ export interface IntrospectionPins {
170
+ initial: string | null;
171
+ /** Captain-invoking states, in declaration order. */
172
+ captain: {
173
+ state: string;
174
+ path?: string;
175
+ actor?: 'captain' | 'player';
176
+ sourceItem: string;
177
+ player: string;
178
+ resultKeys: string[];
179
+ onDone: TransitionArm[];
180
+ onError: TransitionArm[];
181
+ on: EventArms;
182
+ }[];
183
+ /** Non-captain states: finality and event surface. */
184
+ quiescent: {
185
+ state: string;
186
+ final: boolean;
187
+ on: EventArms;
188
+ }[];
189
+ /** Root-level event surface. */
190
+ rootOn: EventArms;
191
+ /** Root `BOSS_INTERRUPT` targets in arm order — the jumpable set. */
192
+ interruptTargets: string[];
193
+ /** Playbook-actor bindings, omitted when a machine declares none. */
194
+ playbook?: {
195
+ state: string;
196
+ path?: string;
197
+ playbookId?: string;
198
+ playbookIdContext?: string;
199
+ textContext?: string;
200
+ sourceItem?: string;
201
+ onDone: TransitionArm[];
202
+ onError: TransitionArm[];
203
+ on: EventArms;
204
+ }[];
205
+ /** Recursive topology, omitted to preserve flat-machine pin bytes. */
206
+ structured?: {
207
+ states: StructuredStatePin[];
208
+ };
209
+ }
210
+ /**
211
+ * Normalizes an XState transition declaration — a string target, a
212
+ * target/guard/actions object, or an array of either — into ordered
213
+ * {@link TransitionArm}s.
214
+ */
215
+ export declare function normalizeArms(raw: unknown): TransitionArm[];
216
+ /**
217
+ * Reduces a machine config to the structural facts the emitted introspection
218
+ * test pins (VERIFY-4): captain bindings with result keys and every transition
219
+ * arm, the quiescent states' event surfaces, the root event surface, and the
220
+ * `BOSS_INTERRUPT` jumpable set.
221
+ */
222
+ export declare function pinIntrospection(config: MachineConfigLike): IntrospectionPins;
223
+ /** The exact continuation preamble the link contract mandates (link.md). */
224
+ export declare const CONTINUATION_PREAMBLE = "You previously paused this task to ask Boss a question; Boss has now replied. Continue the same task using the reply below.";
225
+ export declare const BOSS_QUESTION_LABEL = "Boss question:";
226
+ export declare const BOSS_REPLY_LABEL = "Boss reply:";
227
+ /** One captain state's derived prompt contract (VERIFY-5). */
228
+ export interface PromptContractRow {
229
+ state: string;
230
+ sourceItem: string;
231
+ player: string;
232
+ /** Context fields the state's input thunk reads. */
233
+ reads: string[];
234
+ /** Input fields carrying a read context field's value, by sentinel tracing. */
235
+ wires: Record<string, string[]>;
236
+ /** `<...>` placeholder tokens in the prompt body, first-appearance order. */
237
+ placeholders: string[];
238
+ }
239
+ /** Lists the distinct `<...>` placeholder tokens in a prompt body, in order. */
240
+ export declare function placeholdersIn(prompt: string): string[];
241
+ /**
242
+ * Traces which context fields an `invoke.input` thunk reads, via a recording
243
+ * proxy context; reads collected up to a throw are kept.
244
+ */
245
+ export declare function probeContextReads(inputFn: (arg: {
246
+ context: Record<string, unknown>;
247
+ }) => unknown): string[];
248
+ /**
249
+ * Derives every captain state's prompt contract from the machine config
250
+ * (VERIFY-5): traced context reads, sentinel-traced input wiring, and the
251
+ * prompt body's placeholder tokens.
252
+ */
253
+ export declare function capturePromptContract(config: MachineConfigLike): PromptContractRow[];
254
+ /**
255
+ * Derives, per captain state, which of its prompt's placeholder tokens the
256
+ * linked composer substitutes when the wired context is present — pinned into
257
+ * the emitted test so a token that later leaks unsubstituted fails it
258
+ * (VERIFY-5).
259
+ */
260
+ export declare function deriveSubstitutions(config: MachineConfigLike, compose: (input: unknown) => string, actor?: CaptainState['actor']): Record<string, string[]>;
261
+ /**
262
+ * Checks the linked composer against the link contract for every captain state
263
+ * (VERIFY-5), returning findings (empty when conformant): the prompt body is
264
+ * preserved modulo substituted placeholders, the adjudicator-facing Boss-reply
265
+ * contract never leaks into a player prompt, no continuation appears on an
266
+ * ordinary turn, and a Boss-reply continuation turn opens with the exact
267
+ * preamble and labelled Q&A blocks before the body.
268
+ */
269
+ export declare function checkPromptComposition(opts: {
270
+ config: MachineConfigLike;
271
+ compose: (input: unknown) => string;
272
+ /** Restricts the check to the states served by the matching composer. */
273
+ actor?: CaptainState['actor'];
274
+ }): string[];
275
+ /**
276
+ * Package-export default for direct emitter callers. Full reserved-pipeline
277
+ * runs override it with the artifact-local verifier support module.
278
+ */
279
+ export declare const VERIFY_MODULE = "@sublang/slc/verify";
280
+ /**
281
+ * Finds the XState machine an `fsm` module exports — the export whose value has a
282
+ * `.config.states` — so callers need not know its export name, and returns that
283
+ * machine's config for {@link checkGearsFsmConformance}.
284
+ *
285
+ * @throws when the module exports no such machine.
286
+ */
287
+ export declare function findMachineConfig(fsmModule: unknown): MachineConfigLike;
288
+ /**
289
+ * Builds a per-artifact vitest module that fails when the compiled FSM drifts
290
+ * from its GEARS source: it reads the artifact's `gears` file and the machine its
291
+ * `fsm` module exports (via {@link findMachineConfig}, so no export name is
292
+ * needed), then asserts {@link checkGearsFsmConformance} finds nothing.
293
+ */
294
+ export declare function generateGearsFsmConformanceTest(opts: {
295
+ /** Basename shared by the artifacts (e.g. `code`). */
296
+ basename: string;
297
+ /** Import specifier for the compiled `fsm` module, relative to the test. */
298
+ fsmModule: string;
299
+ /** Path to the `gears` artifact, relative to the test. */
300
+ gearsFile: string;
301
+ /** Import specifier for this checker, relative to the test. */
302
+ verifyModule: string;
303
+ }): string;
304
+ /**
305
+ * Emits the GEARS↔FSM conformance test as `slc` output beside a compiled
306
+ * `playbook` artifact: writes `<basename>.gears-fsm.test.ts` into the artifact
307
+ * directory (`<basename>.playbook/`), wiring the artifact's `gears` file and its
308
+ * `fsm` module's machine to the checker, and returns the written path (VERIFY-2;
309
+ * [DR-009](../decisions/009-slc-playbook-pipeline-compilation.md)).
310
+ */
311
+ export declare function emitGearsFsmConformanceTest(opts: {
312
+ /** The artifact directory (`<basename>.playbook/`) to emit the test into. */
313
+ artifactDir: string;
314
+ /** Basename shared by the artifacts (e.g. `code`). */
315
+ basename: string;
316
+ /** Checker import specifier; defaults to {@link VERIFY_MODULE}. */
317
+ verifyModule?: string;
318
+ }): Promise<string>;
319
+ /**
320
+ * Imports a produced `fsm` artifact module for emission-time derivation. The
321
+ * artifact is TypeScript; under Node's type stripping (erasable-syntax-only)
322
+ * the direct import works, and a failure is reported to the caller so emission
323
+ * degrades to a diagnostic rather than failing the run. The URL carries the
324
+ * content hash so a rebuilt artifact at the same path is never served from the
325
+ * module cache.
326
+ */
327
+ export declare function loadFsmModule(fsmPath: string): Promise<unknown>;
328
+ /**
329
+ * Builds a per-artifact vitest module that fails when the machine's structure
330
+ * drifts from the topology pinned at build time (VERIFY-4).
331
+ */
332
+ export declare function generateFsmIntrospectionTest(opts: {
333
+ basename: string;
334
+ fsmModule: string;
335
+ verifyModule: string;
336
+ pins: IntrospectionPins;
337
+ }): string;
338
+ /**
339
+ * Builds a per-artifact vitest module pinning the prompt contract derived from
340
+ * the artifacts at build time (VERIFY-5): the per-state context reads, input
341
+ * wiring, and placeholders always; and, when the linked module exposes its
342
+ * matching Captain/player composers, the composition checks and pinned
343
+ * substitution maps.
344
+ */
345
+ export declare function generatePromptContractTest(opts: {
346
+ basename: string;
347
+ fsmModule: string;
348
+ verifyModule: string;
349
+ rows: PromptContractRow[];
350
+ /** Present when the linked module beside the artifacts exposes its composer. */
351
+ composer?: {
352
+ playbookModule: string;
353
+ captain?: Record<string, string[]>;
354
+ player?: Record<string, string[]>;
355
+ };
356
+ }): string;
357
+ /**
358
+ * Emits the prompt-contract test beside a compiled `playbook` artifact
359
+ * (VERIFY-5): derives and pins the per-state contract from the physical
360
+ * `<basename>.fsm.ts` artifact, then emits NodeNext `.js` imports for that FSM
361
+ * and any linked `<basename>.playbook.ts` module. When the linked module
362
+ * exposes the `_internal` composer matching each state actor —
363
+ * `composeCaptainPrompt` for direct Captain work and `composePlayerPrompt` for
364
+ * delegated work — the test pins substitution maps and composition checks.
365
+ * Returns the written path and any diagnostics (a linked module that cannot be
366
+ * imported or exposes no matching composer degrades independently to the
367
+ * artifact-only checks).
368
+ *
369
+ * @throws when the `fsm` artifact cannot be imported or exports no machine.
370
+ */
371
+ export declare function emitPromptContractTest(opts: {
372
+ artifactDir: string;
373
+ basename: string;
374
+ verifyModule?: string;
375
+ }): Promise<{
376
+ path: string;
377
+ diagnostics: string[];
378
+ }>;
379
+ /**
380
+ * Emits the introspection test beside a compiled `playbook` artifact
381
+ * (VERIFY-4): derives topology pins from the physical `<basename>.fsm.ts`,
382
+ * emits a NodeNext `.js` import for that sibling source, and writes
383
+ * `<basename>.fsm.introspect.test.ts` into the artifact directory.
384
+ *
385
+ * @throws when the `fsm` artifact cannot be imported or exports no machine.
386
+ */
387
+ export declare function emitFsmIntrospectionTest(opts: {
388
+ artifactDir: string;
389
+ basename: string;
390
+ verifyModule?: string;
391
+ }): Promise<string>;
392
+ export * from './verify-coverage.js';
393
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}