sysprom 1.19.0 → 1.21.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.
- package/README.md +3 -0
- package/dist/schema.json +4 -43
- package/dist/src/cli/commands/add.js +6 -2
- package/dist/src/cli/commands/query.js +5 -3
- package/dist/src/cli/commands/speckit.js +2 -2
- package/dist/src/cli/commands/update.js +6 -4
- package/dist/src/endpoint-types.d.ts +4 -0
- package/dist/src/endpoint-types.js +22 -116
- package/dist/src/json-to-md.js +2 -16
- package/dist/src/lifecycle-state.d.ts +9 -0
- package/dist/src/lifecycle-state.js +22 -0
- package/dist/src/mcp/server.js +3 -6
- package/dist/src/md-to-json.js +1 -19
- package/dist/src/operations/add-node.d.ts +21 -132
- package/dist/src/operations/add-plan-task.d.ts +14 -88
- package/dist/src/operations/add-relationship.d.ts +16 -102
- package/dist/src/operations/check.d.ts +7 -44
- package/dist/src/operations/graph-decision.d.ts +7 -44
- package/dist/src/operations/graph-decision.js +0 -1
- package/dist/src/operations/graph-dependency.d.ts +7 -44
- package/dist/src/operations/graph-dependency.js +3 -23
- package/dist/src/operations/graph-refinement.d.ts +7 -44
- package/dist/src/operations/graph-shared.js +1 -3
- package/dist/src/operations/graph.d.ts +7 -44
- package/dist/src/operations/infer-completeness.d.ts +10 -53
- package/dist/src/operations/infer-derived.d.ts +7 -44
- package/dist/src/operations/infer-derived.js +28 -4
- package/dist/src/operations/infer-impact.d.ts +49 -308
- package/dist/src/operations/infer-impact.js +22 -3
- package/dist/src/operations/infer-lifecycle.d.ts +8 -105
- package/dist/src/operations/infer-lifecycle.js +4 -10
- package/dist/src/operations/init-document.d.ts +7 -44
- package/dist/src/operations/json-to-markdown.d.ts +7 -44
- package/dist/src/operations/mark-task-done.d.ts +14 -88
- package/dist/src/operations/mark-task-undone.d.ts +14 -88
- package/dist/src/operations/markdown-to-json.d.ts +7 -44
- package/dist/src/operations/next-id.d.ts +8 -47
- package/dist/src/operations/node-history.d.ts +7 -44
- package/dist/src/operations/plan-add-task.d.ts +14 -88
- package/dist/src/operations/plan-gate.d.ts +7 -44
- package/dist/src/operations/plan-init.d.ts +7 -44
- package/dist/src/operations/plan-progress.d.ts +7 -44
- package/dist/src/operations/plan-status.d.ts +7 -44
- package/dist/src/operations/query-node.d.ts +29 -188
- package/dist/src/operations/query-nodes.d.ts +15 -89
- package/dist/src/operations/query-nodes.js +6 -4
- package/dist/src/operations/query-relationships.d.ts +9 -58
- package/dist/src/operations/remove-node.d.ts +21 -132
- package/dist/src/operations/remove-node.js +11 -1
- package/dist/src/operations/remove-relationship.d.ts +15 -101
- package/dist/src/operations/rename.d.ts +14 -88
- package/dist/src/operations/search.d.ts +14 -88
- package/dist/src/operations/speckit-diff.d.ts +7 -44
- package/dist/src/operations/speckit-export.d.ts +7 -44
- package/dist/src/operations/speckit-import.d.ts +7 -44
- package/dist/src/operations/speckit-sync.d.ts +22 -133
- package/dist/src/operations/speckit-sync.js +3 -3
- package/dist/src/operations/state-at.d.ts +7 -44
- package/dist/src/operations/stats.d.ts +7 -44
- package/dist/src/operations/sync.d.ts +21 -132
- package/dist/src/operations/task-list.d.ts +7 -44
- package/dist/src/operations/timeline.d.ts +7 -44
- package/dist/src/operations/trace-from-node.d.ts +21 -132
- package/dist/src/operations/update-metadata.d.ts +14 -88
- package/dist/src/operations/update-node.d.ts +20 -152
- package/dist/src/operations/update-plan-task.d.ts +14 -88
- package/dist/src/operations/validate.d.ts +7 -44
- package/dist/src/operations/validate.js +8 -6
- package/dist/src/schema.d.ts +22 -159
- package/dist/src/schema.js +4 -26
- package/dist/src/speckit/generate.js +10 -7
- package/dist/src/speckit/parse.js +6 -3
- package/dist/src/speckit/plan.js +1 -1
- package/package.json +12 -1
- package/schema.json +4 -43
|
@@ -38,39 +38,18 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
38
38
|
gate: "gate";
|
|
39
39
|
mode: "mode";
|
|
40
40
|
artefact: "artefact";
|
|
41
|
-
artefact_flow: "artefact_flow";
|
|
42
41
|
decision: "decision";
|
|
43
42
|
change: "change";
|
|
44
43
|
view: "view";
|
|
45
44
|
milestone: "milestone";
|
|
46
|
-
version: "version";
|
|
47
45
|
}> & {
|
|
48
|
-
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
46
|
+
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
49
47
|
};
|
|
50
48
|
name: z.ZodString;
|
|
51
49
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
52
50
|
is(value: unknown): value is string | string[];
|
|
53
51
|
}>;
|
|
54
|
-
status: z.ZodOptional<z.
|
|
55
|
-
deprecated: "deprecated";
|
|
56
|
-
proposed: "proposed";
|
|
57
|
-
accepted: "accepted";
|
|
58
|
-
active: "active";
|
|
59
|
-
implemented: "implemented";
|
|
60
|
-
adopted: "adopted";
|
|
61
|
-
defined: "defined";
|
|
62
|
-
introduced: "introduced";
|
|
63
|
-
in_progress: "in_progress";
|
|
64
|
-
complete: "complete";
|
|
65
|
-
consolidated: "consolidated";
|
|
66
|
-
experimental: "experimental";
|
|
67
|
-
retired: "retired";
|
|
68
|
-
superseded: "superseded";
|
|
69
|
-
abandoned: "abandoned";
|
|
70
|
-
deferred: "deferred";
|
|
71
|
-
}> & {
|
|
72
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
73
|
-
}>;
|
|
52
|
+
status: z.ZodOptional<z.ZodNever>;
|
|
74
53
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
75
54
|
context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
76
55
|
is(value: unknown): value is string | string[];
|
|
@@ -125,8 +104,6 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
125
104
|
}>>;
|
|
126
105
|
propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
127
106
|
includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
128
|
-
input: z.ZodOptional<z.ZodString>;
|
|
129
|
-
output: z.ZodOptional<z.ZodString>;
|
|
130
107
|
external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
131
108
|
role: z.ZodEnum<{
|
|
132
109
|
output: "output";
|
|
@@ -170,26 +147,14 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
170
147
|
affects: "affects";
|
|
171
148
|
supersedes: "supersedes";
|
|
172
149
|
must_preserve: "must_preserve";
|
|
173
|
-
performs: "performs";
|
|
174
150
|
part_of: "part_of";
|
|
175
151
|
precedes: "precedes";
|
|
176
152
|
must_follow: "must_follow";
|
|
177
|
-
blocks: "blocks";
|
|
178
|
-
routes_to: "routes_to";
|
|
179
153
|
governed_by: "governed_by";
|
|
180
154
|
modifies: "modifies";
|
|
181
|
-
triggered_by: "triggered_by";
|
|
182
|
-
applies_to: "applies_to";
|
|
183
155
|
produces: "produces";
|
|
184
|
-
consumes: "consumes";
|
|
185
|
-
transforms_into: "transforms_into";
|
|
186
|
-
selects: "selects";
|
|
187
|
-
requires: "requires";
|
|
188
|
-
disables: "disables";
|
|
189
|
-
influence: "influence";
|
|
190
|
-
justifies: "justifies";
|
|
191
156
|
}> & {
|
|
192
|
-
is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
157
|
+
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";
|
|
193
158
|
};
|
|
194
159
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
195
160
|
is(value: unknown): value is string | string[];
|
|
@@ -208,7 +173,7 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
208
173
|
[x: string]: unknown;
|
|
209
174
|
from: string;
|
|
210
175
|
to: string;
|
|
211
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
176
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
212
177
|
description?: string | string[] | undefined;
|
|
213
178
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
214
179
|
strength?: number | undefined;
|
|
@@ -248,10 +213,10 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
248
213
|
nodes: {
|
|
249
214
|
[x: string]: unknown;
|
|
250
215
|
id: string;
|
|
251
|
-
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
216
|
+
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
252
217
|
name: string;
|
|
253
218
|
description?: string | string[] | undefined;
|
|
254
|
-
status?:
|
|
219
|
+
status?: undefined;
|
|
255
220
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
256
221
|
context?: string | string[] | undefined;
|
|
257
222
|
options?: {
|
|
@@ -275,8 +240,6 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
275
240
|
}[] | undefined;
|
|
276
241
|
propagation?: Record<string, boolean> | undefined;
|
|
277
242
|
includes?: string[] | undefined;
|
|
278
|
-
input?: string | undefined;
|
|
279
|
-
output?: string | undefined;
|
|
280
243
|
external_references?: {
|
|
281
244
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
282
245
|
identifier: string;
|
|
@@ -299,7 +262,7 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
299
262
|
[x: string]: unknown;
|
|
300
263
|
from: string;
|
|
301
264
|
to: string;
|
|
302
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
265
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
303
266
|
description?: string | string[] | undefined;
|
|
304
267
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
305
268
|
strength?: number | undefined;
|
|
@@ -317,7 +280,7 @@ export declare const SyncResult: z.ZodObject<{
|
|
|
317
280
|
modified: z.ZodNumber;
|
|
318
281
|
removed: z.ZodNumber;
|
|
319
282
|
}, z.core.$strip>;
|
|
320
|
-
/** Synchronise a SysProM document with a Spec-Kit directory. Spec-Kit content wins for descriptions and
|
|
283
|
+
/** Synchronise a SysProM document with a Spec-Kit directory. Spec-Kit content wins for descriptions and lifecycle; SysProM structure (relationships, hierarchies) is preserved. Regenerates the Spec-Kit directory from the merged document. */
|
|
321
284
|
export declare const speckitSyncOp: import("./define-operation.js").DefinedOperation<z.ZodObject<{
|
|
322
285
|
doc: z.ZodObject<{
|
|
323
286
|
$schema: z.ZodOptional<z.ZodString>;
|
|
@@ -354,39 +317,18 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
354
317
|
gate: "gate";
|
|
355
318
|
mode: "mode";
|
|
356
319
|
artefact: "artefact";
|
|
357
|
-
artefact_flow: "artefact_flow";
|
|
358
320
|
decision: "decision";
|
|
359
321
|
change: "change";
|
|
360
322
|
view: "view";
|
|
361
323
|
milestone: "milestone";
|
|
362
|
-
version: "version";
|
|
363
324
|
}> & {
|
|
364
|
-
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
325
|
+
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
365
326
|
};
|
|
366
327
|
name: z.ZodString;
|
|
367
328
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
368
329
|
is(value: unknown): value is string | string[];
|
|
369
330
|
}>;
|
|
370
|
-
status: z.ZodOptional<z.
|
|
371
|
-
deprecated: "deprecated";
|
|
372
|
-
proposed: "proposed";
|
|
373
|
-
accepted: "accepted";
|
|
374
|
-
active: "active";
|
|
375
|
-
implemented: "implemented";
|
|
376
|
-
adopted: "adopted";
|
|
377
|
-
defined: "defined";
|
|
378
|
-
introduced: "introduced";
|
|
379
|
-
in_progress: "in_progress";
|
|
380
|
-
complete: "complete";
|
|
381
|
-
consolidated: "consolidated";
|
|
382
|
-
experimental: "experimental";
|
|
383
|
-
retired: "retired";
|
|
384
|
-
superseded: "superseded";
|
|
385
|
-
abandoned: "abandoned";
|
|
386
|
-
deferred: "deferred";
|
|
387
|
-
}> & {
|
|
388
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
389
|
-
}>;
|
|
331
|
+
status: z.ZodOptional<z.ZodNever>;
|
|
390
332
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
391
333
|
context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
392
334
|
is(value: unknown): value is string | string[];
|
|
@@ -441,8 +383,6 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
441
383
|
}>>;
|
|
442
384
|
propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
443
385
|
includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
444
|
-
input: z.ZodOptional<z.ZodString>;
|
|
445
|
-
output: z.ZodOptional<z.ZodString>;
|
|
446
386
|
external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
447
387
|
role: z.ZodEnum<{
|
|
448
388
|
output: "output";
|
|
@@ -486,26 +426,14 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
486
426
|
affects: "affects";
|
|
487
427
|
supersedes: "supersedes";
|
|
488
428
|
must_preserve: "must_preserve";
|
|
489
|
-
performs: "performs";
|
|
490
429
|
part_of: "part_of";
|
|
491
430
|
precedes: "precedes";
|
|
492
431
|
must_follow: "must_follow";
|
|
493
|
-
blocks: "blocks";
|
|
494
|
-
routes_to: "routes_to";
|
|
495
432
|
governed_by: "governed_by";
|
|
496
433
|
modifies: "modifies";
|
|
497
|
-
triggered_by: "triggered_by";
|
|
498
|
-
applies_to: "applies_to";
|
|
499
434
|
produces: "produces";
|
|
500
|
-
consumes: "consumes";
|
|
501
|
-
transforms_into: "transforms_into";
|
|
502
|
-
selects: "selects";
|
|
503
|
-
requires: "requires";
|
|
504
|
-
disables: "disables";
|
|
505
|
-
influence: "influence";
|
|
506
|
-
justifies: "justifies";
|
|
507
435
|
}> & {
|
|
508
|
-
is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
436
|
+
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";
|
|
509
437
|
};
|
|
510
438
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
511
439
|
is(value: unknown): value is string | string[];
|
|
@@ -524,7 +452,7 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
524
452
|
[x: string]: unknown;
|
|
525
453
|
from: string;
|
|
526
454
|
to: string;
|
|
527
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
455
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
528
456
|
description?: string | string[] | undefined;
|
|
529
457
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
530
458
|
strength?: number | undefined;
|
|
@@ -564,10 +492,10 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
564
492
|
nodes: {
|
|
565
493
|
[x: string]: unknown;
|
|
566
494
|
id: string;
|
|
567
|
-
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
495
|
+
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
568
496
|
name: string;
|
|
569
497
|
description?: string | string[] | undefined;
|
|
570
|
-
status?:
|
|
498
|
+
status?: undefined;
|
|
571
499
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
572
500
|
context?: string | string[] | undefined;
|
|
573
501
|
options?: {
|
|
@@ -591,8 +519,6 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
591
519
|
}[] | undefined;
|
|
592
520
|
propagation?: Record<string, boolean> | undefined;
|
|
593
521
|
includes?: string[] | undefined;
|
|
594
|
-
input?: string | undefined;
|
|
595
|
-
output?: string | undefined;
|
|
596
522
|
external_references?: {
|
|
597
523
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
598
524
|
identifier: string;
|
|
@@ -615,7 +541,7 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
615
541
|
[x: string]: unknown;
|
|
616
542
|
from: string;
|
|
617
543
|
to: string;
|
|
618
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
544
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
619
545
|
description?: string | string[] | undefined;
|
|
620
546
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
621
547
|
strength?: number | undefined;
|
|
@@ -667,39 +593,18 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
667
593
|
gate: "gate";
|
|
668
594
|
mode: "mode";
|
|
669
595
|
artefact: "artefact";
|
|
670
|
-
artefact_flow: "artefact_flow";
|
|
671
596
|
decision: "decision";
|
|
672
597
|
change: "change";
|
|
673
598
|
view: "view";
|
|
674
599
|
milestone: "milestone";
|
|
675
|
-
version: "version";
|
|
676
600
|
}> & {
|
|
677
|
-
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
601
|
+
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
678
602
|
};
|
|
679
603
|
name: z.ZodString;
|
|
680
604
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
681
605
|
is(value: unknown): value is string | string[];
|
|
682
606
|
}>;
|
|
683
|
-
status: z.ZodOptional<z.
|
|
684
|
-
deprecated: "deprecated";
|
|
685
|
-
proposed: "proposed";
|
|
686
|
-
accepted: "accepted";
|
|
687
|
-
active: "active";
|
|
688
|
-
implemented: "implemented";
|
|
689
|
-
adopted: "adopted";
|
|
690
|
-
defined: "defined";
|
|
691
|
-
introduced: "introduced";
|
|
692
|
-
in_progress: "in_progress";
|
|
693
|
-
complete: "complete";
|
|
694
|
-
consolidated: "consolidated";
|
|
695
|
-
experimental: "experimental";
|
|
696
|
-
retired: "retired";
|
|
697
|
-
superseded: "superseded";
|
|
698
|
-
abandoned: "abandoned";
|
|
699
|
-
deferred: "deferred";
|
|
700
|
-
}> & {
|
|
701
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
702
|
-
}>;
|
|
607
|
+
status: z.ZodOptional<z.ZodNever>;
|
|
703
608
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
704
609
|
context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
705
610
|
is(value: unknown): value is string | string[];
|
|
@@ -754,8 +659,6 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
754
659
|
}>>;
|
|
755
660
|
propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
756
661
|
includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
757
|
-
input: z.ZodOptional<z.ZodString>;
|
|
758
|
-
output: z.ZodOptional<z.ZodString>;
|
|
759
662
|
external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
760
663
|
role: z.ZodEnum<{
|
|
761
664
|
output: "output";
|
|
@@ -799,26 +702,14 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
799
702
|
affects: "affects";
|
|
800
703
|
supersedes: "supersedes";
|
|
801
704
|
must_preserve: "must_preserve";
|
|
802
|
-
performs: "performs";
|
|
803
705
|
part_of: "part_of";
|
|
804
706
|
precedes: "precedes";
|
|
805
707
|
must_follow: "must_follow";
|
|
806
|
-
blocks: "blocks";
|
|
807
|
-
routes_to: "routes_to";
|
|
808
708
|
governed_by: "governed_by";
|
|
809
709
|
modifies: "modifies";
|
|
810
|
-
triggered_by: "triggered_by";
|
|
811
|
-
applies_to: "applies_to";
|
|
812
710
|
produces: "produces";
|
|
813
|
-
consumes: "consumes";
|
|
814
|
-
transforms_into: "transforms_into";
|
|
815
|
-
selects: "selects";
|
|
816
|
-
requires: "requires";
|
|
817
|
-
disables: "disables";
|
|
818
|
-
influence: "influence";
|
|
819
|
-
justifies: "justifies";
|
|
820
711
|
}> & {
|
|
821
|
-
is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
712
|
+
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";
|
|
822
713
|
};
|
|
823
714
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
824
715
|
is(value: unknown): value is string | string[];
|
|
@@ -837,7 +728,7 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
837
728
|
[x: string]: unknown;
|
|
838
729
|
from: string;
|
|
839
730
|
to: string;
|
|
840
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
731
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
841
732
|
description?: string | string[] | undefined;
|
|
842
733
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
843
734
|
strength?: number | undefined;
|
|
@@ -877,10 +768,10 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
877
768
|
nodes: {
|
|
878
769
|
[x: string]: unknown;
|
|
879
770
|
id: string;
|
|
880
|
-
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
771
|
+
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
881
772
|
name: string;
|
|
882
773
|
description?: string | string[] | undefined;
|
|
883
|
-
status?:
|
|
774
|
+
status?: undefined;
|
|
884
775
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
885
776
|
context?: string | string[] | undefined;
|
|
886
777
|
options?: {
|
|
@@ -904,8 +795,6 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
904
795
|
}[] | undefined;
|
|
905
796
|
propagation?: Record<string, boolean> | undefined;
|
|
906
797
|
includes?: string[] | undefined;
|
|
907
|
-
input?: string | undefined;
|
|
908
|
-
output?: string | undefined;
|
|
909
798
|
external_references?: {
|
|
910
799
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
911
800
|
identifier: string;
|
|
@@ -928,7 +817,7 @@ export declare const speckitSyncOp: import("./define-operation.js").DefinedOpera
|
|
|
928
817
|
[x: string]: unknown;
|
|
929
818
|
from: string;
|
|
930
819
|
to: string;
|
|
931
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
820
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
932
821
|
description?: string | string[] | undefined;
|
|
933
822
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
934
823
|
strength?: number | undefined;
|
|
@@ -36,7 +36,7 @@ export const SyncResult = z.object({
|
|
|
36
36
|
modified: z.number(),
|
|
37
37
|
removed: z.number(),
|
|
38
38
|
});
|
|
39
|
-
/** Synchronise a SysProM document with a Spec-Kit directory. Spec-Kit content wins for descriptions and
|
|
39
|
+
/** Synchronise a SysProM document with a Spec-Kit directory. Spec-Kit content wins for descriptions and lifecycle; SysProM structure (relationships, hierarchies) is preserved. Regenerates the Spec-Kit directory from the merged document. */
|
|
40
40
|
export const speckitSyncOp = defineOperation({
|
|
41
41
|
name: "speckitSync",
|
|
42
42
|
description: "Synchronise a SysProM document with a Spec-Kit directory",
|
|
@@ -70,7 +70,7 @@ export const speckitSyncOp = defineOperation({
|
|
|
70
70
|
const specKitDoc = parseSpecKitFeature(speckitDir, idPrefix, constitutionPath);
|
|
71
71
|
// Compare documents
|
|
72
72
|
const diff = compareDocuments(syspromDoc, specKitDoc);
|
|
73
|
-
// Merge: Spec-Kit wins for content (description,
|
|
73
|
+
// Merge: Spec-Kit wins for content (description, lifecycle), SysProM wins for structure
|
|
74
74
|
const mergedNodes = new Map(syspromDoc.nodes.map((n) => [n.id, n]));
|
|
75
75
|
const specKitNodes = new Map(specKitDoc.nodes.map((n) => [n.id, n]));
|
|
76
76
|
for (const [id, specKitNode] of specKitNodes) {
|
|
@@ -80,7 +80,7 @@ export const speckitSyncOp = defineOperation({
|
|
|
80
80
|
const merged = {
|
|
81
81
|
...syspromNode,
|
|
82
82
|
description: specKitNode.description ?? syspromNode.description,
|
|
83
|
-
|
|
83
|
+
lifecycle: specKitNode.lifecycle ?? syspromNode.lifecycle,
|
|
84
84
|
context: specKitNode.context ?? syspromNode.context,
|
|
85
85
|
options: specKitNode.options ?? syspromNode.options,
|
|
86
86
|
selected: specKitNode.selected ?? syspromNode.selected,
|
|
@@ -44,39 +44,18 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
44
44
|
gate: "gate";
|
|
45
45
|
mode: "mode";
|
|
46
46
|
artefact: "artefact";
|
|
47
|
-
artefact_flow: "artefact_flow";
|
|
48
47
|
decision: "decision";
|
|
49
48
|
change: "change";
|
|
50
49
|
view: "view";
|
|
51
50
|
milestone: "milestone";
|
|
52
|
-
version: "version";
|
|
53
51
|
}> & {
|
|
54
|
-
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
52
|
+
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
55
53
|
};
|
|
56
54
|
name: z.ZodString;
|
|
57
55
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
58
56
|
is(value: unknown): value is string | string[];
|
|
59
57
|
}>;
|
|
60
|
-
status: z.ZodOptional<z.
|
|
61
|
-
deprecated: "deprecated";
|
|
62
|
-
proposed: "proposed";
|
|
63
|
-
accepted: "accepted";
|
|
64
|
-
active: "active";
|
|
65
|
-
implemented: "implemented";
|
|
66
|
-
adopted: "adopted";
|
|
67
|
-
defined: "defined";
|
|
68
|
-
introduced: "introduced";
|
|
69
|
-
in_progress: "in_progress";
|
|
70
|
-
complete: "complete";
|
|
71
|
-
consolidated: "consolidated";
|
|
72
|
-
experimental: "experimental";
|
|
73
|
-
retired: "retired";
|
|
74
|
-
superseded: "superseded";
|
|
75
|
-
abandoned: "abandoned";
|
|
76
|
-
deferred: "deferred";
|
|
77
|
-
}> & {
|
|
78
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
79
|
-
}>;
|
|
58
|
+
status: z.ZodOptional<z.ZodNever>;
|
|
80
59
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
81
60
|
context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
82
61
|
is(value: unknown): value is string | string[];
|
|
@@ -131,8 +110,6 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
131
110
|
}>>;
|
|
132
111
|
propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
133
112
|
includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
134
|
-
input: z.ZodOptional<z.ZodString>;
|
|
135
|
-
output: z.ZodOptional<z.ZodString>;
|
|
136
113
|
external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
137
114
|
role: z.ZodEnum<{
|
|
138
115
|
output: "output";
|
|
@@ -176,26 +153,14 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
176
153
|
affects: "affects";
|
|
177
154
|
supersedes: "supersedes";
|
|
178
155
|
must_preserve: "must_preserve";
|
|
179
|
-
performs: "performs";
|
|
180
156
|
part_of: "part_of";
|
|
181
157
|
precedes: "precedes";
|
|
182
158
|
must_follow: "must_follow";
|
|
183
|
-
blocks: "blocks";
|
|
184
|
-
routes_to: "routes_to";
|
|
185
159
|
governed_by: "governed_by";
|
|
186
160
|
modifies: "modifies";
|
|
187
|
-
triggered_by: "triggered_by";
|
|
188
|
-
applies_to: "applies_to";
|
|
189
161
|
produces: "produces";
|
|
190
|
-
consumes: "consumes";
|
|
191
|
-
transforms_into: "transforms_into";
|
|
192
|
-
selects: "selects";
|
|
193
|
-
requires: "requires";
|
|
194
|
-
disables: "disables";
|
|
195
|
-
influence: "influence";
|
|
196
|
-
justifies: "justifies";
|
|
197
162
|
}> & {
|
|
198
|
-
is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
163
|
+
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";
|
|
199
164
|
};
|
|
200
165
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
201
166
|
is(value: unknown): value is string | string[];
|
|
@@ -214,7 +179,7 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
214
179
|
[x: string]: unknown;
|
|
215
180
|
from: string;
|
|
216
181
|
to: string;
|
|
217
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
182
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
218
183
|
description?: string | string[] | undefined;
|
|
219
184
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
220
185
|
strength?: number | undefined;
|
|
@@ -254,10 +219,10 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
254
219
|
nodes: {
|
|
255
220
|
[x: string]: unknown;
|
|
256
221
|
id: string;
|
|
257
|
-
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
222
|
+
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
258
223
|
name: string;
|
|
259
224
|
description?: string | string[] | undefined;
|
|
260
|
-
status?:
|
|
225
|
+
status?: undefined;
|
|
261
226
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
262
227
|
context?: string | string[] | undefined;
|
|
263
228
|
options?: {
|
|
@@ -281,8 +246,6 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
281
246
|
}[] | undefined;
|
|
282
247
|
propagation?: Record<string, boolean> | undefined;
|
|
283
248
|
includes?: string[] | undefined;
|
|
284
|
-
input?: string | undefined;
|
|
285
|
-
output?: string | undefined;
|
|
286
249
|
external_references?: {
|
|
287
250
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
288
251
|
identifier: string;
|
|
@@ -305,7 +268,7 @@ export declare const stateAtOp: import("./define-operation.js").DefinedOperation
|
|
|
305
268
|
[x: string]: unknown;
|
|
306
269
|
from: string;
|
|
307
270
|
to: string;
|
|
308
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
271
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
309
272
|
description?: string | string[] | undefined;
|
|
310
273
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
311
274
|
strength?: number | undefined;
|