sysprom 1.0.5 → 1.0.7

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 CHANGED
@@ -139,6 +139,7 @@ SysProM models systems as directed graphs across abstraction layers — intent,
139
139
  | [RFC Processes](https://www.rfc-editor.org/rfc/rfc2026) | ✅ | | | ✅ | 🔶 | | | | | | | | 🔶 | 🔶 |
140
140
  | [Ralplan](https://github.com/yeachan-heo/oh-my-claudecode/blob/main/skills/ralplan/SKILL.md) | ✅ | | 🔶 | ✅ | | 🔶 | | | | | | | ✅ | 🔶 |
141
141
  | [GSD](https://github.com/gsd-build/get-shit-done) | ✅ | | | 🔶 | | 🔶 | | | | | | | | |
142
+ | [Superpowers](https://github.com/obra/superpowers) | ✅ | 🔶 | 🔶 | 🔶 | 🔶 | ✅ | 🔶 | | ✅ | 🔶 | | ✅ | ✅ | ✅ |
142
143
  | **SysProM** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 🔶 | | 🔶 | ✅ | ✅ | ✅ | ✅ |
143
144
 
144
145
  ✅ = first-class support. 🔶 = partial or implicit.
@@ -6,43 +6,11 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- import type { SysProMDocument, Node, NodeType, Relationship, RelationshipType } from "./schema.js";
10
- import type { ValidationResult, DocumentStats, NodeDetail, TraceNode, RemoveResult, TimelineEvent, NodeState } from "./operations/index.js";
11
9
  export { SysProMDocument, Node, Relationship, NodeType, NodeStatus, RelationshipType, Text, Option, Operation, Task, ExternalReference, ExternalReferenceRole, Metadata, NODE_TYPE_LABELS, NODE_LABEL_TO_TYPE, RELATIONSHIP_TYPE_LABELS, RELATIONSHIP_LABEL_TO_TYPE, EXTERNAL_REFERENCE_ROLE_LABELS, EXTERNAL_REFERENCE_LABEL_TO_ROLE, NODE_STATUSES, NODE_FILE_MAP, NODE_ID_PREFIX, toJSONSchema, } from "./schema.js";
10
+ export { defineOperation, type OperationDef, type DefinedOperation, addNodeOp, removeNodeOp, updateNodeOp, addRelationshipOp, removeRelationshipOp, updateMetadataOp, nextIdOp, initDocumentOp, addPlanTaskOp, updatePlanTaskOp, markTaskDoneOp, markTaskUndoneOp, taskListOp, planInitOp, planAddTaskOp, planStatusOp, planProgressOp, planGateOp, queryNodesOp, queryNodeOp, queryRelationshipsOp, traceFromNodeOp, timelineOp, nodeHistoryOp, stateAtOp, validateOp, statsOp, searchOp, checkOp, graphOp, renameOp, jsonToMarkdownOp, markdownToJsonOp, speckitImportOp, speckitExportOp, speckitSyncOp, speckitDiffOp, type RemoveResult, type ValidationResult, type DocumentStats, type NodeDetail, type TraceNode, type TimelineEvent, type NodeState, type PlanStatusResult, type PhaseProgressResult, type GateResultOutput, type SyncResult, type DiffResult, } from "./operations/index.js";
12
11
  export { jsonToMarkdownSingle, jsonToMarkdownMultiDoc, jsonToMarkdown, type ConvertOptions, } from "./json-to-md.js";
13
12
  export { markdownSingleToJson, markdownMultiDocToJson, markdownToJson, } from "./md-to-json.js";
14
- export { validateOp, type ValidationResult } from "./operations/index.js";
15
- export { statsOp, type DocumentStats } from "./operations/index.js";
16
- export { queryNodesOp, queryNodeOp, queryRelationshipsOp, traceFromNodeOp, type NodeDetail, type TraceNode, } from "./operations/index.js";
17
- export { nextIdOp, addNodeOp, removeNodeOp, updateNodeOp, addRelationshipOp, removeRelationshipOp, updateMetadataOp, addPlanTaskOp, updatePlanTaskOp, type RemoveResult, } from "./operations/index.js";
18
- export declare function validate(doc: SysProMDocument): ValidationResult;
19
- export declare function stats(doc: SysProMDocument): DocumentStats;
20
- export declare function queryNodes(doc: SysProMDocument, filters?: {
21
- type?: string;
22
- status?: string;
23
- }): Node[];
24
- export declare function queryNode(doc: SysProMDocument, id: string): NodeDetail | undefined;
25
- export declare function queryRelationships(doc: SysProMDocument, filters?: {
26
- from?: string;
27
- to?: string;
28
- type?: string;
29
- }): Relationship[];
30
- export declare function traceFromNode(doc: SysProMDocument, startId: string): TraceNode;
31
- export declare function nextId(doc: SysProMDocument, type: NodeType): string;
32
- export declare function addNode(doc: SysProMDocument, node: Node): SysProMDocument;
33
- export declare function removeNode(doc: SysProMDocument, id: string): RemoveResult;
34
- export declare function updateNode(doc: SysProMDocument, id: string, fields: Partial<Node>): SysProMDocument;
35
- export declare function addRelationship(doc: SysProMDocument, rel: Relationship): SysProMDocument;
36
- export declare function removeRelationship(doc: SysProMDocument, from: string, type: RelationshipType, to: string): SysProMDocument;
37
- export declare function updateMetadata(doc: SysProMDocument, fields: Record<string, unknown>): SysProMDocument;
38
- export declare function addPlanTask(doc: SysProMDocument, changeId: string, description: string): SysProMDocument;
39
- export declare function updatePlanTask(doc: SysProMDocument, changeId: string, taskIndex: number, done: boolean): SysProMDocument;
40
13
  export { canonicalise, type FormatOptions } from "./canonical-json.js";
41
14
  export { textToString, textToLines, textToMarkdown, markdownToText, } from "./text.js";
42
15
  export { loadDocument, saveDocument, type Format, type LoadedDocument, } from "./io.js";
43
16
  export { detectSpecKitProject, listFeatures, getFeature, resolveConstitution, type SpecKitProject, type SpecKitFeature, parseConstitution, parseSpec, parsePlan, parseTasks, parseChecklist, parseSpecKitFeature, generateConstitution, generateSpec, generatePlan, generateTasks, generateChecklist, generateSpecKitProject, type ParseResult, } from "./speckit/index.js";
44
- export { timelineOp, nodeHistoryOp, stateAtOp, type TimelineEvent, type NodeState, } from "./operations/index.js";
45
- export declare function timeline(doc: SysProMDocument): TimelineEvent[];
46
- export declare function nodeHistory(doc: SysProMDocument, nodeId: string): TimelineEvent[];
47
- export declare function stateAt(doc: SysProMDocument, timestamp: string): NodeState[];
48
- export { defineOperation, type OperationDef, type DefinedOperation, searchOp, checkOp, graphOp, renameOp, } from "./operations/index.js";
package/dist/src/index.js CHANGED
@@ -6,76 +6,13 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- import { validateOp, statsOp, queryNodesOp, queryNodeOp, queryRelationshipsOp, traceFromNodeOp, nextIdOp, addNodeOp, removeNodeOp, updateNodeOp, addRelationshipOp, removeRelationshipOp, updateMetadataOp, addPlanTaskOp, updatePlanTaskOp, timelineOp, nodeHistoryOp, stateAtOp, } from "./operations/index.js";
10
- // Schema types and validators (const and type share the same name)
11
- export { SysProMDocument, Node, Relationship, NodeType, NodeStatus, RelationshipType, Text, Option, Operation, Task, ExternalReference, ExternalReferenceRole, Metadata,
12
- // Labels
13
- NODE_TYPE_LABELS, NODE_LABEL_TO_TYPE, RELATIONSHIP_TYPE_LABELS, RELATIONSHIP_LABEL_TO_TYPE, EXTERNAL_REFERENCE_ROLE_LABELS, EXTERNAL_REFERENCE_LABEL_TO_ROLE, NODE_STATUSES, NODE_FILE_MAP, NODE_ID_PREFIX,
14
- // Schema generator
15
- toJSONSchema, } from "./schema.js";
16
- // Converters: JSON to Markdown
9
+ // Schema types and validators
10
+ export { SysProMDocument, Node, Relationship, NodeType, NodeStatus, RelationshipType, Text, Option, Operation, Task, ExternalReference, ExternalReferenceRole, Metadata, NODE_TYPE_LABELS, NODE_LABEL_TO_TYPE, RELATIONSHIP_TYPE_LABELS, RELATIONSHIP_LABEL_TO_TYPE, EXTERNAL_REFERENCE_ROLE_LABELS, EXTERNAL_REFERENCE_LABEL_TO_ROLE, NODE_STATUSES, NODE_FILE_MAP, NODE_ID_PREFIX, toJSONSchema, } from "./schema.js";
11
+ // Operations (single source of truth for domain logic + metadata)
12
+ export { defineOperation, addNodeOp, removeNodeOp, updateNodeOp, addRelationshipOp, removeRelationshipOp, updateMetadataOp, nextIdOp, initDocumentOp, addPlanTaskOp, updatePlanTaskOp, markTaskDoneOp, markTaskUndoneOp, taskListOp, planInitOp, planAddTaskOp, planStatusOp, planProgressOp, planGateOp, queryNodesOp, queryNodeOp, queryRelationshipsOp, traceFromNodeOp, timelineOp, nodeHistoryOp, stateAtOp, validateOp, statsOp, searchOp, checkOp, graphOp, renameOp, jsonToMarkdownOp, markdownToJsonOp, speckitImportOp, speckitExportOp, speckitSyncOp, speckitDiffOp, } from "./operations/index.js";
13
+ // Conversion
17
14
  export { jsonToMarkdownSingle, jsonToMarkdownMultiDoc, jsonToMarkdown, } from "./json-to-md.js";
18
- // Converters: Markdown to JSON
19
15
  export { markdownSingleToJson, markdownMultiDocToJson, markdownToJson, } from "./md-to-json.js";
20
- // Validation
21
- export { validateOp } from "./operations/index.js";
22
- // Stats
23
- export { statsOp } from "./operations/index.js";
24
- // Query
25
- export { queryNodesOp, queryNodeOp, queryRelationshipsOp, traceFromNodeOp, } from "./operations/index.js";
26
- // Mutation
27
- export { nextIdOp, addNodeOp, removeNodeOp, updateNodeOp, addRelationshipOp, removeRelationshipOp, updateMetadataOp, addPlanTaskOp, updatePlanTaskOp, } from "./operations/index.js";
28
- // Convenience wrappers for backwards compatibility
29
- export function validate(doc) {
30
- return validateOp({ doc });
31
- }
32
- export function stats(doc) {
33
- return statsOp({ doc });
34
- }
35
- export function queryNodes(doc, filters) {
36
- return queryNodesOp({ doc, type: filters?.type, status: filters?.status });
37
- }
38
- export function queryNode(doc, id) {
39
- return queryNodeOp({ doc, id }) ?? undefined;
40
- }
41
- export function queryRelationships(doc, filters) {
42
- return queryRelationshipsOp({
43
- doc,
44
- from: filters?.from,
45
- to: filters?.to,
46
- type: filters?.type,
47
- });
48
- }
49
- export function traceFromNode(doc, startId) {
50
- return traceFromNodeOp({ doc, startId });
51
- }
52
- export function nextId(doc, type) {
53
- return nextIdOp({ doc, type });
54
- }
55
- export function addNode(doc, node) {
56
- return addNodeOp({ doc, node });
57
- }
58
- export function removeNode(doc, id) {
59
- return removeNodeOp({ doc, id });
60
- }
61
- export function updateNode(doc, id, fields) {
62
- return updateNodeOp({ doc, id, fields });
63
- }
64
- export function addRelationship(doc, rel) {
65
- return addRelationshipOp({ doc, rel });
66
- }
67
- export function removeRelationship(doc, from, type, to) {
68
- return removeRelationshipOp({ doc, from, type, to });
69
- }
70
- export function updateMetadata(doc, fields) {
71
- return updateMetadataOp({ doc, fields });
72
- }
73
- export function addPlanTask(doc, changeId, description) {
74
- return addPlanTaskOp({ doc, changeId, description });
75
- }
76
- export function updatePlanTask(doc, changeId, taskIndex, done) {
77
- return updatePlanTaskOp({ doc, changeId, taskIndex, done });
78
- }
79
16
  // Utilities
80
17
  export { canonicalise } from "./canonical-json.js";
81
18
  export { textToString, textToLines, textToMarkdown, markdownToText, } from "./text.js";
@@ -83,17 +20,3 @@ export { textToString, textToLines, textToMarkdown, markdownToText, } from "./te
83
20
  export { loadDocument, saveDocument, } from "./io.js";
84
21
  // Spec-Kit interoperability
85
22
  export { detectSpecKitProject, listFeatures, getFeature, resolveConstitution, parseConstitution, parseSpec, parsePlan, parseTasks, parseChecklist, parseSpecKitFeature, generateConstitution, generateSpec, generatePlan, generateTasks, generateChecklist, generateSpecKitProject, } from "./speckit/index.js";
86
- // Temporal query
87
- export { timelineOp, nodeHistoryOp, stateAtOp, } from "./operations/index.js";
88
- // Convenience wrappers for temporal
89
- export function timeline(doc) {
90
- return timelineOp({ doc });
91
- }
92
- export function nodeHistory(doc, nodeId) {
93
- return nodeHistoryOp({ doc, nodeId });
94
- }
95
- export function stateAt(doc, timestamp) {
96
- return stateAtOp({ doc, timestamp });
97
- }
98
- // Operations (single source of truth for domain logic + metadata)
99
- export { defineOperation, searchOp, checkOp, graphOp, renameOp, } from "./operations/index.js";
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "sysprom",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "SysProM — System Provenance Model CLI and library",
5
5
  "author": "ExaDev",
6
- "homepage": "https://github.com/ExaDev/SysProM#readme",
6
+ "homepage": "https://exadev.github.io/SysProM",
7
7
  "bugs": "https://github.com/ExaDev/SysProM/issues",
8
8
  "repository": {
9
9
  "type": "git",
@@ -34,8 +34,8 @@
34
34
  "schema.json"
35
35
  ],
36
36
  "bin": {
37
- "sysprom": "./dist/src/cli/index.js",
38
- "spm": "./dist/src/cli/index.js"
37
+ "sysprom": "dist/src/cli/index.js",
38
+ "spm": "dist/src/cli/index.js"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "turbo run _build",