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
|
@@ -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,26 +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
196
|
governed_by: "governed_by";
|
|
263
197
|
modifies: "modifies";
|
|
264
|
-
triggered_by: "triggered_by";
|
|
265
|
-
applies_to: "applies_to";
|
|
266
198
|
produces: "produces";
|
|
267
|
-
consumes: "consumes";
|
|
268
|
-
transforms_into: "transforms_into";
|
|
269
|
-
selects: "selects";
|
|
270
|
-
requires: "requires";
|
|
271
|
-
disables: "disables";
|
|
272
|
-
influence: "influence";
|
|
273
|
-
justifies: "justifies";
|
|
274
199
|
}> & {
|
|
275
|
-
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";
|
|
276
201
|
};
|
|
277
202
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
278
203
|
is(value: unknown): value is string | string[];
|
|
@@ -291,7 +216,7 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
291
216
|
[x: string]: unknown;
|
|
292
217
|
from: string;
|
|
293
218
|
to: string;
|
|
294
|
-
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";
|
|
295
220
|
description?: string | string[] | undefined;
|
|
296
221
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
297
222
|
strength?: number | undefined;
|
|
@@ -331,10 +256,10 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
331
256
|
nodes: {
|
|
332
257
|
[x: string]: unknown;
|
|
333
258
|
id: string;
|
|
334
|
-
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";
|
|
335
260
|
name: string;
|
|
336
261
|
description?: string | string[] | undefined;
|
|
337
|
-
status?:
|
|
262
|
+
status?: undefined;
|
|
338
263
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
339
264
|
context?: string | string[] | undefined;
|
|
340
265
|
options?: {
|
|
@@ -358,8 +283,6 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
358
283
|
}[] | undefined;
|
|
359
284
|
propagation?: Record<string, boolean> | undefined;
|
|
360
285
|
includes?: string[] | undefined;
|
|
361
|
-
input?: string | undefined;
|
|
362
|
-
output?: string | undefined;
|
|
363
286
|
external_references?: {
|
|
364
287
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
365
288
|
identifier: string;
|
|
@@ -382,7 +305,7 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
382
305
|
[x: string]: unknown;
|
|
383
306
|
from: string;
|
|
384
307
|
to: string;
|
|
385
|
-
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";
|
|
386
309
|
description?: string | string[] | undefined;
|
|
387
310
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
388
311
|
strength?: number | undefined;
|
|
@@ -401,26 +324,6 @@ export declare const inferLifecycleOp: import("./define-operation.js").DefinedOp
|
|
|
401
324
|
id: z.ZodString;
|
|
402
325
|
type: z.ZodString;
|
|
403
326
|
name: z.ZodString;
|
|
404
|
-
status: z.ZodOptional<z.ZodEnum<{
|
|
405
|
-
deprecated: "deprecated";
|
|
406
|
-
proposed: "proposed";
|
|
407
|
-
accepted: "accepted";
|
|
408
|
-
active: "active";
|
|
409
|
-
implemented: "implemented";
|
|
410
|
-
adopted: "adopted";
|
|
411
|
-
defined: "defined";
|
|
412
|
-
introduced: "introduced";
|
|
413
|
-
in_progress: "in_progress";
|
|
414
|
-
complete: "complete";
|
|
415
|
-
consolidated: "consolidated";
|
|
416
|
-
experimental: "experimental";
|
|
417
|
-
retired: "retired";
|
|
418
|
-
superseded: "superseded";
|
|
419
|
-
abandoned: "abandoned";
|
|
420
|
-
deferred: "deferred";
|
|
421
|
-
}> & {
|
|
422
|
-
is(value: unknown): value is "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred";
|
|
423
|
-
}>;
|
|
424
327
|
lifecycle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>>;
|
|
425
328
|
inferredState: z.ZodString;
|
|
426
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,26 +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
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 initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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 initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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 initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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 initDocumentOp: import("./define-operation.js").DefinedOper
|
|
|
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;
|
|
@@ -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,26 +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
151
|
governed_by: "governed_by";
|
|
178
152
|
modifies: "modifies";
|
|
179
|
-
triggered_by: "triggered_by";
|
|
180
|
-
applies_to: "applies_to";
|
|
181
153
|
produces: "produces";
|
|
182
|
-
consumes: "consumes";
|
|
183
|
-
transforms_into: "transforms_into";
|
|
184
|
-
selects: "selects";
|
|
185
|
-
requires: "requires";
|
|
186
|
-
disables: "disables";
|
|
187
|
-
influence: "influence";
|
|
188
|
-
justifies: "justifies";
|
|
189
154
|
}> & {
|
|
190
|
-
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";
|
|
191
156
|
};
|
|
192
157
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]> & {
|
|
193
158
|
is(value: unknown): value is string | string[];
|
|
@@ -206,7 +171,7 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
206
171
|
[x: string]: unknown;
|
|
207
172
|
from: string;
|
|
208
173
|
to: string;
|
|
209
|
-
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";
|
|
210
175
|
description?: string | string[] | undefined;
|
|
211
176
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
212
177
|
strength?: number | undefined;
|
|
@@ -246,10 +211,10 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
246
211
|
nodes: {
|
|
247
212
|
[x: string]: unknown;
|
|
248
213
|
id: string;
|
|
249
|
-
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";
|
|
250
215
|
name: string;
|
|
251
216
|
description?: string | string[] | undefined;
|
|
252
|
-
status?:
|
|
217
|
+
status?: undefined;
|
|
253
218
|
lifecycle?: Record<string, string | boolean> | undefined;
|
|
254
219
|
context?: string | string[] | undefined;
|
|
255
220
|
options?: {
|
|
@@ -273,8 +238,6 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
273
238
|
}[] | undefined;
|
|
274
239
|
propagation?: Record<string, boolean> | undefined;
|
|
275
240
|
includes?: string[] | undefined;
|
|
276
|
-
input?: string | undefined;
|
|
277
|
-
output?: string | undefined;
|
|
278
241
|
external_references?: {
|
|
279
242
|
role: "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art";
|
|
280
243
|
identifier: string;
|
|
@@ -297,7 +260,7 @@ export declare const jsonToMarkdownOp: import("./define-operation.js").DefinedOp
|
|
|
297
260
|
[x: string]: unknown;
|
|
298
261
|
from: string;
|
|
299
262
|
to: string;
|
|
300
|
-
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";
|
|
301
264
|
description?: string | string[] | undefined;
|
|
302
265
|
polarity?: "positive" | "negative" | "neutral" | "uncertain" | undefined;
|
|
303
266
|
strength?: number | undefined;
|