sysprom 1.21.1 → 1.22.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 (82) hide show
  1. package/dist/schema.json +0 -31
  2. package/dist/src/cli/commands/plan.js +54 -3
  3. package/dist/src/cli/commands/speckit.js +0 -1
  4. package/dist/src/cli/program.js +0 -2
  5. package/dist/src/index.d.ts +2 -2
  6. package/dist/src/index.js +2 -2
  7. package/dist/src/json-to-md.js +0 -8
  8. package/dist/src/mcp/server.js +0 -1
  9. package/dist/src/md-to-json.js +0 -10
  10. package/dist/src/operations/add-node.d.ts +0 -51
  11. package/dist/src/operations/add-relationship.d.ts +0 -34
  12. package/dist/src/operations/check.d.ts +0 -17
  13. package/dist/src/operations/graph-decision.d.ts +0 -17
  14. package/dist/src/operations/graph-dependency.d.ts +0 -17
  15. package/dist/src/operations/graph-refinement.d.ts +0 -17
  16. package/dist/src/operations/graph.d.ts +0 -17
  17. package/dist/src/operations/index.d.ts +3 -5
  18. package/dist/src/operations/index.js +3 -5
  19. package/dist/src/operations/infer-completeness.d.ts +0 -17
  20. package/dist/src/operations/infer-completeness.js +0 -4
  21. package/dist/src/operations/infer-derived.d.ts +0 -17
  22. package/dist/src/operations/infer-impact.d.ts +0 -119
  23. package/dist/src/operations/infer-lifecycle.d.ts +0 -17
  24. package/dist/src/operations/init-document.d.ts +0 -17
  25. package/dist/src/operations/json-to-markdown.d.ts +0 -17
  26. package/dist/src/operations/markdown-to-json.d.ts +0 -17
  27. package/dist/src/operations/next-id.d.ts +0 -17
  28. package/dist/src/operations/node-history.d.ts +0 -17
  29. package/dist/src/operations/plan-add-task.d.ts +0 -34
  30. package/dist/src/operations/{mark-task-done.d.ts → plan-complete-task.d.ts} +4 -41
  31. package/dist/src/operations/plan-complete-task.js +18 -0
  32. package/dist/src/operations/plan-gate.d.ts +0 -17
  33. package/dist/src/operations/plan-init.d.ts +0 -17
  34. package/dist/src/operations/plan-progress.d.ts +18 -17
  35. package/dist/src/operations/plan-progress.js +6 -0
  36. package/dist/src/operations/{mark-task-undone.d.ts → plan-reopen-task.d.ts} +4 -41
  37. package/dist/src/operations/plan-reopen-task.js +18 -0
  38. package/dist/src/operations/{add-plan-task.d.ts → plan-start-task.d.ts} +4 -41
  39. package/dist/src/operations/plan-start-task.js +18 -0
  40. package/dist/src/operations/plan-status.d.ts +22 -17
  41. package/dist/src/operations/plan-status.js +8 -0
  42. package/dist/src/operations/query-node.d.ts +0 -51
  43. package/dist/src/operations/query-nodes.d.ts +0 -34
  44. package/dist/src/operations/query-relationships.d.ts +0 -17
  45. package/dist/src/operations/remove-node.d.ts +0 -51
  46. package/dist/src/operations/remove-relationship.d.ts +0 -34
  47. package/dist/src/operations/rename.d.ts +0 -34
  48. package/dist/src/operations/search.d.ts +0 -34
  49. package/dist/src/operations/speckit-diff.d.ts +0 -17
  50. package/dist/src/operations/speckit-export.d.ts +0 -17
  51. package/dist/src/operations/speckit-import.d.ts +0 -17
  52. package/dist/src/operations/speckit-sync.d.ts +0 -51
  53. package/dist/src/operations/speckit-sync.js +0 -1
  54. package/dist/src/operations/state-at.d.ts +0 -17
  55. package/dist/src/operations/stats.d.ts +0 -17
  56. package/dist/src/operations/sync.d.ts +0 -51
  57. package/dist/src/operations/timeline.d.ts +0 -17
  58. package/dist/src/operations/trace-from-node.d.ts +0 -51
  59. package/dist/src/operations/update-metadata.d.ts +0 -34
  60. package/dist/src/operations/update-node.d.ts +0 -58
  61. package/dist/src/operations/validate.d.ts +0 -17
  62. package/dist/src/operations/validate.js +71 -0
  63. package/dist/src/schema.d.ts +0 -61
  64. package/dist/src/schema.js +0 -11
  65. package/dist/src/speckit/generate.js +17 -20
  66. package/dist/src/speckit/index.d.ts +1 -1
  67. package/dist/src/speckit/index.js +1 -1
  68. package/dist/src/speckit/parse.d.ts +1 -1
  69. package/dist/src/speckit/parse.js +20 -14
  70. package/dist/src/speckit/plan.d.ts +29 -7
  71. package/dist/src/speckit/plan.js +181 -47
  72. package/package.json +3 -3
  73. package/schema.json +0 -31
  74. package/dist/src/cli/commands/task.d.ts +0 -2
  75. package/dist/src/cli/commands/task.js +0 -157
  76. package/dist/src/operations/add-plan-task.js +0 -29
  77. package/dist/src/operations/mark-task-done.js +0 -30
  78. package/dist/src/operations/mark-task-undone.js +0 -30
  79. package/dist/src/operations/task-list.d.ts +0 -288
  80. package/dist/src/operations/task-list.js +0 -49
  81. package/dist/src/operations/update-plan-task.d.ts +0 -555
  82. package/dist/src/operations/update-plan-task.js +0 -35
@@ -1,288 +0,0 @@
1
- import * as z from "zod";
2
- /**
3
- * List tasks across change nodes, optionally filtered by change ID and/or
4
- * pending status. Returns a flat array of task rows tagged with their parent change node.
5
- * @throws {Error} If a specific changeId is provided but not found.
6
- */
7
- export declare const taskListOp: import("./define-operation.js").DefinedOperation<z.ZodObject<{
8
- doc: z.ZodObject<{
9
- $schema: z.ZodOptional<z.ZodString>;
10
- metadata: z.ZodOptional<z.ZodObject<{
11
- title: z.ZodOptional<z.ZodString>;
12
- doc_type: z.ZodOptional<z.ZodString>;
13
- scope: z.ZodOptional<z.ZodString>;
14
- status: z.ZodOptional<z.ZodString>;
15
- version: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodInt]>>;
16
- }, z.core.$loose> & {
17
- is(value: unknown): value is {
18
- [x: string]: unknown;
19
- title?: string | undefined;
20
- doc_type?: string | undefined;
21
- scope?: string | undefined;
22
- status?: string | undefined;
23
- version?: string | number | undefined;
24
- };
25
- }>;
26
- nodes: z.ZodArray<z.ZodObject<{
27
- id: z.ZodString;
28
- type: z.ZodEnum<{
29
- intent: "intent";
30
- concept: "concept";
31
- capability: "capability";
32
- element: "element";
33
- realisation: "realisation";
34
- invariant: "invariant";
35
- principle: "principle";
36
- policy: "policy";
37
- protocol: "protocol";
38
- stage: "stage";
39
- role: "role";
40
- gate: "gate";
41
- mode: "mode";
42
- artefact: "artefact";
43
- decision: "decision";
44
- change: "change";
45
- view: "view";
46
- milestone: "milestone";
47
- }> & {
48
- is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
49
- };
50
- name: z.ZodString;
51
- description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
52
- is(value: unknown): value is string | string[];
53
- }>;
54
- status: z.ZodOptional<z.ZodNever>;
55
- lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
56
- context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
57
- is(value: unknown): value is string | string[];
58
- }>;
59
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
60
- id: z.ZodString;
61
- description: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
62
- is(value: unknown): value is string | string[];
63
- };
64
- }, z.core.$loose> & {
65
- is(value: unknown): value is {
66
- [x: string]: unknown;
67
- id: string;
68
- description: string | string[];
69
- };
70
- }>>;
71
- selected: z.ZodOptional<z.ZodString>;
72
- rationale: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
73
- is(value: unknown): value is string | string[];
74
- }>;
75
- scope: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
- operations: z.ZodOptional<z.ZodArray<z.ZodObject<{
77
- type: z.ZodEnum<{
78
- link: "link";
79
- add: "add";
80
- update: "update";
81
- remove: "remove";
82
- }>;
83
- target: z.ZodOptional<z.ZodString>;
84
- description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
85
- is(value: unknown): value is string | string[];
86
- }>;
87
- }, z.core.$loose> & {
88
- is(value: unknown): value is {
89
- [x: string]: unknown;
90
- type: "link" | "add" | "update" | "remove";
91
- target?: string | undefined;
92
- description?: string | string[] | undefined;
93
- };
94
- }>>;
95
- plan: z.ZodOptional<z.ZodArray<z.ZodObject<{
96
- description: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
97
- is(value: unknown): value is string | string[];
98
- };
99
- done: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
100
- }, z.core.$loose> & {
101
- is(value: unknown): value is {
102
- [x: string]: unknown;
103
- description: string | string[];
104
- done?: boolean | undefined;
105
- };
106
- }>>;
107
- propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
108
- includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
109
- external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
110
- role: z.ZodEnum<{
111
- output: "output";
112
- input: "input";
113
- context: "context";
114
- evidence: "evidence";
115
- source: "source";
116
- standard: "standard";
117
- prior_art: "prior_art";
118
- }> & {
119
- is(value: unknown): value is "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
120
- };
121
- identifier: z.ZodString;
122
- description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
123
- is(value: unknown): value is string | string[];
124
- }>;
125
- node_id: z.ZodOptional<z.ZodString>;
126
- internalised: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
127
- is(value: unknown): value is string | string[];
128
- }>;
129
- }, z.core.$strip> & {
130
- is(value: unknown): value is {
131
- role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
132
- identifier: string;
133
- description?: string | string[] | undefined;
134
- node_id?: string | undefined;
135
- internalised?: string | string[] | undefined;
136
- };
137
- }>>;
138
- readonly subsystem: z.ZodOptional<z.ZodObject</*elided*/ any, z.core.$strip>>;
139
- }, z.core.$loose>>;
140
- relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
- from: z.ZodString;
142
- to: z.ZodString;
143
- type: z.ZodEnum<{
144
- refines: "refines";
145
- realises: "realises";
146
- implements: "implements";
147
- depends_on: "depends_on";
148
- constrained_by: "constrained_by";
149
- affects: "affects";
150
- supersedes: "supersedes";
151
- must_preserve: "must_preserve";
152
- part_of: "part_of";
153
- precedes: "precedes";
154
- must_follow: "must_follow";
155
- governed_by: "governed_by";
156
- modifies: "modifies";
157
- produces: "produces";
158
- }> & {
159
- is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
160
- };
161
- description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
162
- is(value: unknown): value is string | string[];
163
- }>;
164
- polarity: z.ZodOptional<z.ZodEnum<{
165
- positive: "positive";
166
- negative: "negative";
167
- neutral: "neutral";
168
- uncertain: "uncertain";
169
- }> & {
170
- is(value: unknown): value is "positive" | "negative" | "neutral" | "uncertain";
171
- }>;
172
- strength: z.ZodOptional<z.ZodNumber>;
173
- }, z.core.$loose> & {
174
- is(value: unknown): value is {
175
- [x: string]: unknown;
176
- from: string;
177
- to: string;
178
- type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
179
- description?: string | string[] | undefined;
180
- polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
181
- strength?: number | undefined;
182
- };
183
- }>>;
184
- external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
185
- role: z.ZodEnum<{
186
- output: "output";
187
- input: "input";
188
- context: "context";
189
- evidence: "evidence";
190
- source: "source";
191
- standard: "standard";
192
- prior_art: "prior_art";
193
- }> & {
194
- is(value: unknown): value is "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
195
- };
196
- identifier: z.ZodString;
197
- description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
198
- is(value: unknown): value is string | string[];
199
- }>;
200
- node_id: z.ZodOptional<z.ZodString>;
201
- internalised: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
202
- is(value: unknown): value is string | string[];
203
- }>;
204
- }, z.core.$strip> & {
205
- is(value: unknown): value is {
206
- role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
207
- identifier: string;
208
- description?: string | string[] | undefined;
209
- node_id?: string | undefined;
210
- internalised?: string | string[] | undefined;
211
- };
212
- }>>;
213
- }, z.core.$strip> & {
214
- is(value: unknown): value is {
215
- nodes: {
216
- [x: string]: unknown;
217
- id: string;
218
- type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
219
- name: string;
220
- description?: string | string[] | undefined;
221
- status?: undefined;
222
- lifecycle?: Record<string, string | boolean> | undefined;
223
- context?: string | string[] | undefined;
224
- options?: {
225
- [x: string]: unknown;
226
- id: string;
227
- description: string | string[];
228
- }[] | undefined;
229
- selected?: string | undefined;
230
- rationale?: string | string[] | undefined;
231
- scope?: string[] | undefined;
232
- operations?: {
233
- [x: string]: unknown;
234
- type: "link" | "add" | "update" | "remove";
235
- target?: string | undefined;
236
- description?: string | string[] | undefined;
237
- }[] | undefined;
238
- plan?: {
239
- [x: string]: unknown;
240
- description: string | string[];
241
- done?: boolean | undefined;
242
- }[] | undefined;
243
- propagation?: Record<string, boolean> | undefined;
244
- includes?: string[] | undefined;
245
- external_references?: {
246
- role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
247
- identifier: string;
248
- description?: string | string[] | undefined;
249
- node_id?: string | undefined;
250
- internalised?: string | string[] | undefined;
251
- }[] | undefined;
252
- subsystem?: /*elided*/ any | undefined;
253
- }[];
254
- $schema?: string | undefined;
255
- metadata?: {
256
- [x: string]: unknown;
257
- title?: string | undefined;
258
- doc_type?: string | undefined;
259
- scope?: string | undefined;
260
- status?: string | undefined;
261
- version?: string | number | undefined;
262
- } | undefined;
263
- relationships?: {
264
- [x: string]: unknown;
265
- from: string;
266
- to: string;
267
- type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
268
- description?: string | string[] | undefined;
269
- polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
270
- strength?: number | undefined;
271
- }[] | undefined;
272
- external_references?: {
273
- role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
274
- identifier: string;
275
- description?: string | string[] | undefined;
276
- node_id?: string | undefined;
277
- internalised?: string | string[] | undefined;
278
- }[] | undefined;
279
- };
280
- };
281
- changeId: z.ZodOptional<z.ZodString>;
282
- pendingOnly: z.ZodOptional<z.ZodBoolean>;
283
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
284
- changeId: z.ZodString;
285
- index: z.ZodNumber;
286
- description: z.ZodString;
287
- done: z.ZodBoolean;
288
- }, z.core.$strip>>>;
@@ -1,49 +0,0 @@
1
- import * as z from "zod";
2
- import { defineOperation } from "./define-operation.js";
3
- import { SysProMDocument } from "../schema.js";
4
- import { textToString } from "../text.js";
5
- const TaskRow = z.object({
6
- changeId: z.string(),
7
- index: z.number(),
8
- description: z.string(),
9
- done: z.boolean(),
10
- });
11
- /**
12
- * List tasks across change nodes, optionally filtered by change ID and/or
13
- * pending status. Returns a flat array of task rows tagged with their parent change node.
14
- * @throws {Error} If a specific changeId is provided but not found.
15
- */
16
- export const taskListOp = defineOperation({
17
- name: "taskList",
18
- description: "List tasks across change nodes. Optionally filter by change ID and/or pending status.",
19
- input: z.object({
20
- doc: SysProMDocument,
21
- changeId: z.string().optional(),
22
- pendingOnly: z.boolean().optional(),
23
- }),
24
- output: z.array(TaskRow),
25
- fn({ doc, changeId, pendingOnly }) {
26
- let changeNodes = doc.nodes.filter((n) => n.type === "change");
27
- if (changeId) {
28
- changeNodes = changeNodes.filter((n) => n.id === changeId);
29
- if (changeNodes.length === 0) {
30
- throw new Error(`Change node not found: ${changeId}`);
31
- }
32
- }
33
- const rows = [];
34
- for (const node of changeNodes) {
35
- for (const [i, task] of (node.plan ?? []).entries()) {
36
- const done = task.done === true;
37
- if (pendingOnly && done)
38
- continue;
39
- rows.push({
40
- changeId: node.id,
41
- index: i,
42
- description: textToString(task.description),
43
- done,
44
- });
45
- }
46
- }
47
- return rows;
48
- },
49
- });