@wrongstack/sdd 0.296.2 → 0.296.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graph-split.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +104 -27
- package/dist/index.js.map +2 -2
- package/dist/sdd-interview-driver.d.ts +2 -2
- package/dist/sdd-interview-driver.d.ts.map +1 -1
- package/dist/spec-builder.d.ts +17 -6
- package/dist/spec-builder.d.ts.map +1 -1
- package/dist/verify-task.d.ts +21 -4
- package/dist/verify-task.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -84,9 +84,9 @@ export declare class SddInterviewDriver {
|
|
|
84
84
|
loadExisting(): Promise<boolean>;
|
|
85
85
|
/** Drop the on-disk session (if any) and clear in-memory interview state. */
|
|
86
86
|
discard(): Promise<void>;
|
|
87
|
-
setLastAgentText(text: string): void
|
|
87
|
+
setLastAgentText(text: string): Promise<void>;
|
|
88
88
|
getLastAgentText(): string | undefined;
|
|
89
|
-
setLastRunId(runId: string): void
|
|
89
|
+
setLastRunId(runId: string): Promise<void>;
|
|
90
90
|
getLastRunId(): string | undefined;
|
|
91
91
|
wasResumed(): boolean;
|
|
92
92
|
phase(): AISpecPhase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd-interview-driver.d.ts","sourceRoot":"","sources":["../src/sdd-interview-driver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sdd-interview-driver.d.ts","sourceRoot":"","sources":["../src/sdd-interview-driver.ts"],"names":[],"mappings":"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"}
|
package/dist/spec-builder.d.ts
CHANGED
|
@@ -108,18 +108,29 @@ export declare class AISpecBuilder {
|
|
|
108
108
|
*/
|
|
109
109
|
markDone(): void;
|
|
110
110
|
/**
|
|
111
|
-
* Set the task graph ID for this session.
|
|
111
|
+
* Set the task graph ID for this session. Awaits the save so a caller that
|
|
112
|
+
* immediately follows with `await saveSession()` cannot end up with the
|
|
113
|
+
* awaited write committing first and the fire-and-forget rename reverting
|
|
114
|
+
* the persisted `taskGraphId` to its pre-set value. Same race window that
|
|
115
|
+
* broke `setLastAgentText`/`setLastRunId` on the resume test.
|
|
112
116
|
*/
|
|
113
|
-
setTaskGraphId(graphId: string): void
|
|
117
|
+
setTaskGraphId(graphId: string): Promise<void>;
|
|
114
118
|
/**
|
|
115
119
|
* Get the task graph ID for this session.
|
|
116
120
|
*/
|
|
117
121
|
getTaskGraphId(): string | undefined;
|
|
118
|
-
/**
|
|
119
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Persist the last agent utterance so resume can rehydrate the UI + Q/A
|
|
124
|
+
* pairing. Awaits the save so the next mutation in the call chain (e.g.
|
|
125
|
+
* `setLastRunId`) cannot fire a concurrent save that overwrites this one
|
|
126
|
+
* with a stale snapshot — the fire-and-forget `autoSave()` pattern leaves
|
|
127
|
+
* a race window where an earlier queued save may commit its rename after
|
|
128
|
+
* a later one, silently reverting the persisted state.
|
|
129
|
+
*/
|
|
130
|
+
setLastAgentText(text: string): Promise<void>;
|
|
120
131
|
getLastAgentText(): string | undefined;
|
|
121
|
-
/** Record a run kicked off from this interview (board deep-link after restart). */
|
|
122
|
-
setLastRunId(runId: string): void
|
|
132
|
+
/** Record a run kicked off from this interview (board deep-link after restart). See {@link setLastAgentText} for the awaited-save rationale. */
|
|
133
|
+
setLastRunId(runId: string): Promise<void>;
|
|
123
134
|
getLastRunId(): string | undefined;
|
|
124
135
|
/**
|
|
125
136
|
* Hard-reset in-memory session fields while keeping the same session id /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-builder.d.ts","sourceRoot":"","sources":["../src/spec-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgC,MAAM,wBAAwB,CAAC;AAG1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAoND;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;IAElD,YAAY,IAAI,EAAE,oBAAoB,EAiBrC;IAID,kCAAkC;IAC5B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"spec-builder.d.ts","sourceRoot":"","sources":["../src/spec-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/verify-task.d.ts
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import type { TaskNode, TaskResult } from '@wrongstack/core/types';
|
|
2
2
|
export interface CommandVerifierOptions {
|
|
3
|
-
/** Metadata key holding the
|
|
3
|
+
/** Metadata key holding the verification command. Default 'verificationCommand'. */
|
|
4
4
|
metadataKey?: string;
|
|
5
5
|
/** Kill + fail the verification after this many ms. Default 180_000 (3 min). */
|
|
6
6
|
timeoutMs?: number;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Tokenize a command string into an argv array **without** shell interpolation.
|
|
10
|
+
*
|
|
11
|
+
* Splits on whitespace while respecting single and double quotes (matching
|
|
12
|
+
* POSIX shell quoting rules for the common cases). Shell metacharacters
|
|
13
|
+
* (`;`, `|`, `&&`, `$()`, backticks, `>`, `<`) that appear *inside* a token
|
|
14
|
+
* are preserved as literal characters — they are passed to the executable as
|
|
15
|
+
* argument data, never interpreted by a shell.
|
|
16
|
+
*
|
|
17
|
+
* Returns `undefined` when the input is empty/whitespace or contains
|
|
18
|
+
* unbalanced quotes (which would indicate a malformed command).
|
|
19
|
+
*/
|
|
20
|
+
export declare function tokenizeCommand(command: string): string[] | undefined;
|
|
9
21
|
/** Shape shared by every SDD task verifier (matches SddParallelRunOptions.verifyTask). */
|
|
10
22
|
export type SddVerifyTask = (info: {
|
|
11
23
|
task: TaskNode;
|
|
@@ -38,8 +50,13 @@ export declare function makeAcceptanceCriteriaVerifier(options: AcceptanceCriter
|
|
|
38
50
|
/**
|
|
39
51
|
* Build a `verifyTask` closure (shape matches {@link SddParallelRunOptions.verifyTask}).
|
|
40
52
|
* Returns `{ ok: true }` immediately when the task carries no verification command,
|
|
41
|
-
* otherwise spawns the command in `cwd`
|
|
42
|
-
* `{ ok: false, reason }` on non-zero exit,
|
|
53
|
+
* otherwise spawns the command in `cwd` as `executable + argv` with `shell: false`
|
|
54
|
+
* (no shell interpolation), and resolves `{ ok: false, reason }` on non-zero exit,
|
|
55
|
+
* spawn error, malformed command, or timeout.
|
|
56
|
+
*
|
|
57
|
+
* Defense-in-depth: even if the authorization gate on `set_task_verification`
|
|
58
|
+
* were bypassed, shell metacharacters (`;`, `|`, `&&`, `$()`, etc.) are tokenized
|
|
59
|
+
* into literal arguments rather than being interpreted by a shell.
|
|
43
60
|
*/
|
|
44
61
|
export declare function makeCommandVerifier(options?: CommandVerifierOptions): (info: {
|
|
45
62
|
task: TaskNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-task.d.ts","sourceRoot":"","sources":["../src/verify-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-task.d.ts","sourceRoot":"","sources":["../src/verify-task.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CA+ErE;AAED,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,CAQ3E;AAED,MAAM,WAAW,iCAAiC;IAChD,8EAA8E;IAC9E,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iCAAiC,GACzC,aAAa,CAuCf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,sBAA2B,UAI/B;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0C9C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wrongstack/sdd",
|
|
3
|
-
"version": "0.296.
|
|
3
|
+
"version": "0.296.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "WrongStack Spec-Driven Development engine — standalone package extracted from @wrongstack/core. Task graph generation, tracking, execution, lifecycle management, and AI-driven spec building for SDD workflows.",
|
|
6
6
|
"repository": {
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@wrongstack/core": "0.296.
|
|
30
|
-
"@wrongstack/kanban": "0.296.
|
|
29
|
+
"@wrongstack/core": "0.296.3",
|
|
30
|
+
"@wrongstack/kanban": "0.296.3"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "^26.1.1",
|