sysprom 1.20.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/dist/schema.json +4 -44
- 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 -121
- 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 -135
- package/dist/src/operations/add-plan-task.d.ts +14 -90
- package/dist/src/operations/add-relationship.d.ts +16 -105
- package/dist/src/operations/check.d.ts +7 -45
- package/dist/src/operations/graph-decision.d.ts +7 -45
- package/dist/src/operations/graph-decision.js +0 -1
- package/dist/src/operations/graph-dependency.d.ts +7 -45
- package/dist/src/operations/graph-dependency.js +3 -23
- package/dist/src/operations/graph-refinement.d.ts +7 -45
- package/dist/src/operations/graph-shared.js +1 -3
- package/dist/src/operations/graph.d.ts +7 -45
- package/dist/src/operations/infer-completeness.d.ts +10 -54
- package/dist/src/operations/infer-derived.d.ts +7 -45
- package/dist/src/operations/infer-derived.js +28 -4
- package/dist/src/operations/infer-impact.d.ts +49 -315
- package/dist/src/operations/infer-impact.js +22 -3
- package/dist/src/operations/infer-lifecycle.d.ts +8 -106
- package/dist/src/operations/infer-lifecycle.js +4 -10
- package/dist/src/operations/init-document.d.ts +7 -45
- package/dist/src/operations/json-to-markdown.d.ts +7 -45
- package/dist/src/operations/mark-task-done.d.ts +14 -90
- package/dist/src/operations/mark-task-undone.d.ts +14 -90
- package/dist/src/operations/markdown-to-json.d.ts +7 -45
- package/dist/src/operations/next-id.d.ts +8 -48
- package/dist/src/operations/node-history.d.ts +7 -45
- package/dist/src/operations/plan-add-task.d.ts +14 -90
- package/dist/src/operations/plan-gate.d.ts +7 -45
- package/dist/src/operations/plan-init.d.ts +7 -45
- package/dist/src/operations/plan-progress.d.ts +7 -45
- package/dist/src/operations/plan-status.d.ts +7 -45
- package/dist/src/operations/query-node.d.ts +29 -195
- package/dist/src/operations/query-nodes.d.ts +15 -91
- package/dist/src/operations/query-nodes.js +6 -4
- package/dist/src/operations/query-relationships.d.ts +9 -60
- package/dist/src/operations/remove-node.d.ts +21 -135
- package/dist/src/operations/remove-node.js +11 -1
- package/dist/src/operations/remove-relationship.d.ts +15 -104
- package/dist/src/operations/rename.d.ts +14 -90
- package/dist/src/operations/search.d.ts +14 -90
- package/dist/src/operations/speckit-diff.d.ts +7 -45
- package/dist/src/operations/speckit-export.d.ts +7 -45
- package/dist/src/operations/speckit-import.d.ts +7 -45
- package/dist/src/operations/speckit-sync.d.ts +22 -136
- package/dist/src/operations/speckit-sync.js +3 -3
- package/dist/src/operations/state-at.d.ts +7 -45
- package/dist/src/operations/stats.d.ts +7 -45
- package/dist/src/operations/sync.d.ts +21 -135
- package/dist/src/operations/task-list.d.ts +7 -45
- package/dist/src/operations/timeline.d.ts +7 -45
- package/dist/src/operations/trace-from-node.d.ts +21 -135
- package/dist/src/operations/update-metadata.d.ts +14 -90
- package/dist/src/operations/update-node.d.ts +20 -155
- package/dist/src/operations/update-plan-task.d.ts +14 -90
- package/dist/src/operations/validate.d.ts +7 -45
- package/dist/src/operations/validate.js +8 -6
- package/dist/src/schema.d.ts +22 -164
- package/dist/src/schema.js +4 -27
- 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 -44
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
import { defineOperation } from "./define-operation.js";
|
|
3
3
|
import { Node, SysProMDocument, ImpactPolarity, } from "../schema.js";
|
|
4
|
+
import { isViewReadModelDependsOnRelationship } from "../endpoint-types.js";
|
|
4
5
|
/**
|
|
5
6
|
* Impact node in the impact trace.
|
|
6
7
|
*/
|
|
@@ -32,10 +33,7 @@ const IMPACT_RELATIONSHIPS = new Set([
|
|
|
32
33
|
"depends_on",
|
|
33
34
|
"modifies",
|
|
34
35
|
"constrained_by",
|
|
35
|
-
"requires",
|
|
36
36
|
"produces",
|
|
37
|
-
"consumes",
|
|
38
|
-
"influence",
|
|
39
37
|
]);
|
|
40
38
|
/**
|
|
41
39
|
* Type guard for ImpactPolarity validation.
|
|
@@ -94,6 +92,13 @@ export const inferImpactOp = defineOperation({
|
|
|
94
92
|
relationships
|
|
95
93
|
.filter((r) => r.from === nodeId)
|
|
96
94
|
.forEach((r) => {
|
|
95
|
+
const fromNode = nodeMap.get(r.from);
|
|
96
|
+
const toNode = nodeMap.get(r.to);
|
|
97
|
+
if (fromNode &&
|
|
98
|
+
toNode &&
|
|
99
|
+
isViewReadModelDependsOnRelationship(r.type, fromNode.type, toNode.type)) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
97
102
|
if (isImpactRel(r.type) || isPotentialRel(r.type)) {
|
|
98
103
|
edges.push({ to: r.to, type: r.type, polarity: r.polarity });
|
|
99
104
|
}
|
|
@@ -104,6 +109,13 @@ export const inferImpactOp = defineOperation({
|
|
|
104
109
|
relationships
|
|
105
110
|
.filter((r) => r.to === nodeId)
|
|
106
111
|
.forEach((r) => {
|
|
112
|
+
const fromNode = nodeMap.get(r.from);
|
|
113
|
+
const toNode = nodeMap.get(r.to);
|
|
114
|
+
if (fromNode &&
|
|
115
|
+
toNode &&
|
|
116
|
+
isViewReadModelDependsOnRelationship(r.type, fromNode.type, toNode.type)) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
107
119
|
if (isImpactRel(r.type) || isPotentialRel(r.type)) {
|
|
108
120
|
edges.push({ to: r.from, type: r.type, polarity: r.polarity });
|
|
109
121
|
}
|
|
@@ -220,6 +232,13 @@ export const impactSummaryOp = defineOperation({
|
|
|
220
232
|
impactStats.set(node.id, { incoming: 0, outgoing: 0 });
|
|
221
233
|
}
|
|
222
234
|
for (const rel of relationships) {
|
|
235
|
+
const fromNode = nodeMap.get(rel.from);
|
|
236
|
+
const toNode = nodeMap.get(rel.to);
|
|
237
|
+
if (fromNode &&
|
|
238
|
+
toNode &&
|
|
239
|
+
isViewReadModelDependsOnRelationship(rel.type, fromNode.type, toNode.type)) {
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
223
242
|
if (IMPACT_RELATIONSHIPS.has(rel.type)) {
|
|
224
243
|
const fromStats = impactStats.get(rel.from);
|
|
225
244
|
const toStats = impactStats.get(rel.to);
|
|
@@ -6,26 +6,6 @@ declare const LifecycleResult: z.ZodObject<{
|
|
|
6
6
|
id: z.ZodString;
|
|
7
7
|
type: z.ZodString;
|
|
8
8
|
name: z.ZodString;
|
|
9
|
-
status: z.ZodOptional<z.ZodEnum<{
|
|
10
|
-
deprecated: "deprecated";
|
|
11
|
-
proposed: "proposed";
|
|
12
|
-
accepted: "accepted";
|
|
13
|
-
active: "active";
|
|
14
|
-
implemented: "implemented";
|
|
15
|
-
adopted: "adopted";
|
|
16
|
-
defined: "defined";
|
|
17
|
-
introduced: "introduced";
|
|
18
|
-
in_progress: "in_progress";
|
|
19
|
-
complete: "complete";
|
|
20
|
-
consolidated: "consolidated";
|
|
21
|
-
experimental: "experimental";
|
|
22
|
-
retired: "retired";
|
|
23
|
-
superseded: "superseded";
|
|
24
|
-
abandoned: "abandoned";
|
|
25
|
-
deferred: "deferred";
|
|
26
|
-
}> & {
|
|
27
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
28
|
-
}>;
|
|
29
9
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
30
10
|
inferredState: z.ZodString;
|
|
31
11
|
inferredPhase: z.ZodEnum<{
|
|
@@ -46,26 +26,6 @@ declare const LifecycleOutput: z.ZodObject<{
|
|
|
46
26
|
id: z.ZodString;
|
|
47
27
|
type: z.ZodString;
|
|
48
28
|
name: z.ZodString;
|
|
49
|
-
status: z.ZodOptional<z.ZodEnum<{
|
|
50
|
-
deprecated: "deprecated";
|
|
51
|
-
proposed: "proposed";
|
|
52
|
-
accepted: "accepted";
|
|
53
|
-
active: "active";
|
|
54
|
-
implemented: "implemented";
|
|
55
|
-
adopted: "adopted";
|
|
56
|
-
defined: "defined";
|
|
57
|
-
introduced: "introduced";
|
|
58
|
-
in_progress: "in_progress";
|
|
59
|
-
complete: "complete";
|
|
60
|
-
consolidated: "consolidated";
|
|
61
|
-
experimental: "experimental";
|
|
62
|
-
retired: "retired";
|
|
63
|
-
superseded: "superseded";
|
|
64
|
-
abandoned: "abandoned";
|
|
65
|
-
deferred: "deferred";
|
|
66
|
-
}> & {
|
|
67
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
68
|
-
}>;
|
|
69
29
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
70
30
|
inferredState: z.ZodString;
|
|
71
31
|
inferredPhase: z.ZodEnum<{
|
|
@@ -81,7 +41,7 @@ declare const LifecycleOutput: z.ZodObject<{
|
|
|
81
41
|
/** Output of lifecycle inference operation. */
|
|
82
42
|
export type LifecycleOutput = z.infer<typeof LifecycleOutput>;
|
|
83
43
|
/**
|
|
84
|
-
* Infer lifecycle state for all nodes based on
|
|
44
|
+
* Infer lifecycle state for all nodes based on lifecycle fields.
|
|
85
45
|
*
|
|
86
46
|
* Returns inferred state, phase classification, and summary statistics.
|
|
87
47
|
*/
|
|
@@ -121,39 +81,18 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
121
81
|
gate: "gate";
|
|
122
82
|
mode: "mode";
|
|
123
83
|
artefact: "artefact";
|
|
124
|
-
artefact_flow: "artefact_flow";
|
|
125
84
|
decision: "decision";
|
|
126
85
|
change: "change";
|
|
127
86
|
view: "view";
|
|
128
87
|
milestone: "milestone";
|
|
129
|
-
version: "version";
|
|
130
88
|
}> & {
|
|
131
|
-
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
89
|
+
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
132
90
|
};
|
|
133
91
|
name: z.ZodString;
|
|
134
92
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
135
93
|
is(value: unknown): value is string | string[];
|
|
136
94
|
}>;
|
|
137
|
-
status: z.ZodOptional<z.
|
|
138
|
-
deprecated: "deprecated";
|
|
139
|
-
proposed: "proposed";
|
|
140
|
-
accepted: "accepted";
|
|
141
|
-
active: "active";
|
|
142
|
-
implemented: "implemented";
|
|
143
|
-
adopted: "adopted";
|
|
144
|
-
defined: "defined";
|
|
145
|
-
introduced: "introduced";
|
|
146
|
-
in_progress: "in_progress";
|
|
147
|
-
complete: "complete";
|
|
148
|
-
consolidated: "consolidated";
|
|
149
|
-
experimental: "experimental";
|
|
150
|
-
retired: "retired";
|
|
151
|
-
superseded: "superseded";
|
|
152
|
-
abandoned: "abandoned";
|
|
153
|
-
deferred: "deferred";
|
|
154
|
-
}> & {
|
|
155
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
156
|
-
}>;
|
|
95
|
+
status: z.ZodOptional<z.ZodNever>;
|
|
157
96
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
158
97
|
context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
159
98
|
is(value: unknown): value is string | string[];
|
|
@@ -208,8 +147,6 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
208
147
|
}>>;
|
|
209
148
|
propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
210
149
|
includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
211
|
-
input: z.ZodOptional<z.ZodString>;
|
|
212
|
-
output: z.ZodOptional<z.ZodString>;
|
|
213
150
|
external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
214
151
|
role: z.ZodEnum<{
|
|
215
152
|
output: "output";
|
|
@@ -253,27 +190,14 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
253
190
|
affects: "affects";
|
|
254
191
|
supersedes: "supersedes";
|
|
255
192
|
must_preserve: "must_preserve";
|
|
256
|
-
performs: "performs";
|
|
257
193
|
part_of: "part_of";
|
|
258
194
|
precedes: "precedes";
|
|
259
195
|
must_follow: "must_follow";
|
|
260
|
-
blocks: "blocks";
|
|
261
|
-
routes_to: "routes_to";
|
|
262
|
-
orchestrates: "orchestrates";
|
|
263
196
|
governed_by: "governed_by";
|
|
264
197
|
modifies: "modifies";
|
|
265
|
-
triggered_by: "triggered_by";
|
|
266
|
-
applies_to: "applies_to";
|
|
267
198
|
produces: "produces";
|
|
268
|
-
consumes: "consumes";
|
|
269
|
-
transforms_into: "transforms_into";
|
|
270
|
-
selects: "selects";
|
|
271
|
-
requires: "requires";
|
|
272
|
-
disables: "disables";
|
|
273
|
-
influence: "influence";
|
|
274
|
-
justifies: "justifies";
|
|
275
199
|
}> & {
|
|
276
|
-
is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
200
|
+
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";
|
|
277
201
|
};
|
|
278
202
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
279
203
|
is(value: unknown): value is string | string[];
|
|
@@ -292,7 +216,7 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
292
216
|
[x: string]: unknown;
|
|
293
217
|
from: string;
|
|
294
218
|
to: string;
|
|
295
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
219
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
296
220
|
description?: string | string[] | undefined;
|
|
297
221
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
298
222
|
strength?: number | undefined;
|
|
@@ -332,10 +256,10 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
332
256
|
nodes: {
|
|
333
257
|
[x: string]: unknown;
|
|
334
258
|
id: string;
|
|
335
|
-
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
259
|
+
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
336
260
|
name: string;
|
|
337
261
|
description?: string | string[] | undefined;
|
|
338
|
-
status?:
|
|
262
|
+
status?: undefined;
|
|
339
263
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
340
264
|
context?: string | string[] | undefined;
|
|
341
265
|
options?: {
|
|
@@ -359,8 +283,6 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
359
283
|
}[] | undefined;
|
|
360
284
|
propagation?: Record<string, boolean> | undefined;
|
|
361
285
|
includes?: string[] | undefined;
|
|
362
|
-
input?: string | undefined;
|
|
363
|
-
output?: string | undefined;
|
|
364
286
|
external_references?: {
|
|
365
287
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
366
288
|
identifier: string;
|
|
@@ -383,7 +305,7 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
383
305
|
[x: string]: unknown;
|
|
384
306
|
from: string;
|
|
385
307
|
to: string;
|
|
386
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
308
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
387
309
|
description?: string | string[] | undefined;
|
|
388
310
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
389
311
|
strength?: number | undefined;
|
|
@@ -402,26 +324,6 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
402
324
|
id: z.ZodString;
|
|
403
325
|
type: z.ZodString;
|
|
404
326
|
name: z.ZodString;
|
|
405
|
-
status: z.ZodOptional<z.ZodEnum<{
|
|
406
|
-
deprecated: "deprecated";
|
|
407
|
-
proposed: "proposed";
|
|
408
|
-
accepted: "accepted";
|
|
409
|
-
active: "active";
|
|
410
|
-
implemented: "implemented";
|
|
411
|
-
adopted: "adopted";
|
|
412
|
-
defined: "defined";
|
|
413
|
-
introduced: "introduced";
|
|
414
|
-
in_progress: "in_progress";
|
|
415
|
-
complete: "complete";
|
|
416
|
-
consolidated: "consolidated";
|
|
417
|
-
experimental: "experimental";
|
|
418
|
-
retired: "retired";
|
|
419
|
-
superseded: "superseded";
|
|
420
|
-
abandoned: "abandoned";
|
|
421
|
-
deferred: "deferred";
|
|
422
|
-
}> & {
|
|
423
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
424
|
-
}>;
|
|
425
327
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
426
328
|
inferredState: z.ZodString;
|
|
427
329
|
inferredPhase: z.ZodEnum<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
import { defineOperation } from "./define-operation.js";
|
|
3
|
-
import { SysProMDocument
|
|
3
|
+
import { SysProMDocument } from "../schema.js";
|
|
4
4
|
/**
|
|
5
5
|
* Lifecycle inference result for a single node.
|
|
6
6
|
*/
|
|
@@ -8,7 +8,6 @@ const LifecycleResult = z.object({
|
|
|
8
8
|
id: z.string(),
|
|
9
9
|
type: z.string(),
|
|
10
10
|
name: z.string(),
|
|
11
|
-
status: NodeStatus.optional(),
|
|
12
11
|
lifecycle: z
|
|
13
12
|
.record(z.string(), z.union([z.boolean(), z.string()]))
|
|
14
13
|
.optional(),
|
|
@@ -66,13 +65,13 @@ function getMostAdvancedState(lifecycle) {
|
|
|
66
65
|
return activeStates[activeStates.length - 1];
|
|
67
66
|
}
|
|
68
67
|
/**
|
|
69
|
-
* Infer lifecycle state for all nodes based on
|
|
68
|
+
* Infer lifecycle state for all nodes based on lifecycle fields.
|
|
70
69
|
*
|
|
71
70
|
* Returns inferred state, phase classification, and summary statistics.
|
|
72
71
|
*/
|
|
73
72
|
export const inferLifecycleOp = defineOperation({
|
|
74
73
|
name: "infer-lifecycle",
|
|
75
|
-
description: "Infer lifecycle state for nodes based on
|
|
74
|
+
description: "Infer lifecycle state for nodes based on lifecycle fields",
|
|
76
75
|
input: z.object({
|
|
77
76
|
doc: SysProMDocument,
|
|
78
77
|
}),
|
|
@@ -87,7 +86,7 @@ export const inferLifecycleOp = defineOperation({
|
|
|
87
86
|
unknown: 0,
|
|
88
87
|
};
|
|
89
88
|
for (const node of input.doc.nodes) {
|
|
90
|
-
// Determine inferred state from lifecycle
|
|
89
|
+
// Determine inferred state from lifecycle only
|
|
91
90
|
let inferredState;
|
|
92
91
|
let inferredPhase;
|
|
93
92
|
const lifecycleState = getMostAdvancedState(node.lifecycle);
|
|
@@ -95,10 +94,6 @@ export const inferLifecycleOp = defineOperation({
|
|
|
95
94
|
inferredState = lifecycleState;
|
|
96
95
|
inferredPhase = PHASE_MAP[lifecycleState] ?? "unknown";
|
|
97
96
|
}
|
|
98
|
-
else if (node.status) {
|
|
99
|
-
inferredState = node.status;
|
|
100
|
-
inferredPhase = PHASE_MAP[node.status] ?? "unknown";
|
|
101
|
-
}
|
|
102
97
|
else {
|
|
103
98
|
inferredState = "undefined";
|
|
104
99
|
inferredPhase = "unknown";
|
|
@@ -108,7 +103,6 @@ export const inferLifecycleOp = defineOperation({
|
|
|
108
103
|
id: node.id,
|
|
109
104
|
type: node.type,
|
|
110
105
|
name: node.name,
|
|
111
|
-
status: node.status,
|
|
112
106
|
lifecycle: node.lifecycle,
|
|
113
107
|
inferredState,
|
|
114
108
|
inferredPhase,
|
|
@@ -38,39 +38,18 @@ export declare const initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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 initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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,27 +147,14 @@ export declare const initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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
|
-
orchestrates: "orchestrates";
|
|
180
153
|
governed_by: "governed_by";
|
|
181
154
|
modifies: "modifies";
|
|
182
|
-
triggered_by: "triggered_by";
|
|
183
|
-
applies_to: "applies_to";
|
|
184
155
|
produces: "produces";
|
|
185
|
-
consumes: "consumes";
|
|
186
|
-
transforms_into: "transforms_into";
|
|
187
|
-
selects: "selects";
|
|
188
|
-
requires: "requires";
|
|
189
|
-
disables: "disables";
|
|
190
|
-
influence: "influence";
|
|
191
|
-
justifies: "justifies";
|
|
192
156
|
}> & {
|
|
193
|
-
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";
|
|
194
158
|
};
|
|
195
159
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
196
160
|
is(value: unknown): value is string | string[];
|
|
@@ -209,7 +173,7 @@ export declare const initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
209
173
|
[x: string]: unknown;
|
|
210
174
|
from: string;
|
|
211
175
|
to: string;
|
|
212
|
-
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";
|
|
213
177
|
description?: string | string[] | undefined;
|
|
214
178
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
215
179
|
strength?: number | undefined;
|
|
@@ -249,10 +213,10 @@ export declare const initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
249
213
|
nodes: {
|
|
250
214
|
[x: string]: unknown;
|
|
251
215
|
id: string;
|
|
252
|
-
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";
|
|
253
217
|
name: string;
|
|
254
218
|
description?: string | string[] | undefined;
|
|
255
|
-
status?:
|
|
219
|
+
status?: undefined;
|
|
256
220
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
257
221
|
context?: string | string[] | undefined;
|
|
258
222
|
options?: {
|
|
@@ -276,8 +240,6 @@ export declare const initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
276
240
|
}[] | undefined;
|
|
277
241
|
propagation?: Record<string, boolean> | undefined;
|
|
278
242
|
includes?: string[] | undefined;
|
|
279
|
-
input?: string | undefined;
|
|
280
|
-
output?: string | undefined;
|
|
281
243
|
external_references?: {
|
|
282
244
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
283
245
|
identifier: string;
|
|
@@ -300,7 +262,7 @@ export declare const initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
300
262
|
[x: string]: unknown;
|
|
301
263
|
from: string;
|
|
302
264
|
to: string;
|
|
303
|
-
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";
|
|
304
266
|
description?: string | string[] | undefined;
|
|
305
267
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
306
268
|
strength?: number | undefined;
|
|
@@ -36,39 +36,18 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
36
36
|
gate: "gate";
|
|
37
37
|
mode: "mode";
|
|
38
38
|
artefact: "artefact";
|
|
39
|
-
artefact_flow: "artefact_flow";
|
|
40
39
|
decision: "decision";
|
|
41
40
|
change: "change";
|
|
42
41
|
view: "view";
|
|
43
42
|
milestone: "milestone";
|
|
44
|
-
version: "version";
|
|
45
43
|
}> & {
|
|
46
|
-
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
44
|
+
is(value: unknown): value is "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
47
45
|
};
|
|
48
46
|
name: z.ZodString;
|
|
49
47
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
50
48
|
is(value: unknown): value is string | string[];
|
|
51
49
|
}>;
|
|
52
|
-
status: z.ZodOptional<z.
|
|
53
|
-
deprecated: "deprecated";
|
|
54
|
-
proposed: "proposed";
|
|
55
|
-
accepted: "accepted";
|
|
56
|
-
active: "active";
|
|
57
|
-
implemented: "implemented";
|
|
58
|
-
adopted: "adopted";
|
|
59
|
-
defined: "defined";
|
|
60
|
-
introduced: "introduced";
|
|
61
|
-
in_progress: "in_progress";
|
|
62
|
-
complete: "complete";
|
|
63
|
-
consolidated: "consolidated";
|
|
64
|
-
experimental: "experimental";
|
|
65
|
-
retired: "retired";
|
|
66
|
-
superseded: "superseded";
|
|
67
|
-
abandoned: "abandoned";
|
|
68
|
-
deferred: "deferred";
|
|
69
|
-
}> & {
|
|
70
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
71
|
-
}>;
|
|
50
|
+
status: z.ZodOptional<z.ZodNever>;
|
|
72
51
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
73
52
|
context: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
74
53
|
is(value: unknown): value is string | string[];
|
|
@@ -123,8 +102,6 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
123
102
|
}>>;
|
|
124
103
|
propagation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
125
104
|
includes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
126
|
-
input: z.ZodOptional<z.ZodString>;
|
|
127
|
-
output: z.ZodOptional<z.ZodString>;
|
|
128
105
|
external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
129
106
|
role: z.ZodEnum<{
|
|
130
107
|
output: "output";
|
|
@@ -168,27 +145,14 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
168
145
|
affects: "affects";
|
|
169
146
|
supersedes: "supersedes";
|
|
170
147
|
must_preserve: "must_preserve";
|
|
171
|
-
performs: "performs";
|
|
172
148
|
part_of: "part_of";
|
|
173
149
|
precedes: "precedes";
|
|
174
150
|
must_follow: "must_follow";
|
|
175
|
-
blocks: "blocks";
|
|
176
|
-
routes_to: "routes_to";
|
|
177
|
-
orchestrates: "orchestrates";
|
|
178
151
|
governed_by: "governed_by";
|
|
179
152
|
modifies: "modifies";
|
|
180
|
-
triggered_by: "triggered_by";
|
|
181
|
-
applies_to: "applies_to";
|
|
182
153
|
produces: "produces";
|
|
183
|
-
consumes: "consumes";
|
|
184
|
-
transforms_into: "transforms_into";
|
|
185
|
-
selects: "selects";
|
|
186
|
-
requires: "requires";
|
|
187
|
-
disables: "disables";
|
|
188
|
-
influence: "influence";
|
|
189
|
-
justifies: "justifies";
|
|
190
154
|
}> & {
|
|
191
|
-
is(value: unknown): value is "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
155
|
+
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";
|
|
192
156
|
};
|
|
193
157
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
194
158
|
is(value: unknown): value is string | string[];
|
|
@@ -207,7 +171,7 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
207
171
|
[x: string]: unknown;
|
|
208
172
|
from: string;
|
|
209
173
|
to: string;
|
|
210
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
174
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
211
175
|
description?: string | string[] | undefined;
|
|
212
176
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
213
177
|
strength?: number | undefined;
|
|
@@ -247,10 +211,10 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
247
211
|
nodes: {
|
|
248
212
|
[x: string]: unknown;
|
|
249
213
|
id: string;
|
|
250
|
-
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "
|
|
214
|
+
type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "decision" | "change" | "view" | "milestone";
|
|
251
215
|
name: string;
|
|
252
216
|
description?: string | string[] | undefined;
|
|
253
|
-
status?:
|
|
217
|
+
status?: undefined;
|
|
254
218
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
255
219
|
context?: string | string[] | undefined;
|
|
256
220
|
options?: {
|
|
@@ -274,8 +238,6 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
274
238
|
}[] | undefined;
|
|
275
239
|
propagation?: Record<string, boolean> | undefined;
|
|
276
240
|
includes?: string[] | undefined;
|
|
277
|
-
input?: string | undefined;
|
|
278
|
-
output?: string | undefined;
|
|
279
241
|
external_references?: {
|
|
280
242
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
281
243
|
identifier: string;
|
|
@@ -298,7 +260,7 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
298
260
|
[x: string]: unknown;
|
|
299
261
|
from: string;
|
|
300
262
|
to: string;
|
|
301
|
-
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "
|
|
263
|
+
type: "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "part_of" | "precedes" | "must_follow" | "governed_by" | "modifies" | "produces";
|
|
302
264
|
description?: string | string[] | undefined;
|
|
303
265
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
304
266
|
strength?: number | undefined;
|