@principal-ai/subsystems-core 0.32.0 → 0.34.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/types/subsystem-model.d.ts +12 -14
- package/dist/types/subsystem-model.d.ts.map +1 -1
- package/dist/types/subsystem-model.js +1 -0
- package/dist/types/subsystem-model.js.map +1 -1
- package/package.json +1 -1
- package/schemas/subsystem-model.schema.json +11 -65
- package/src/types/subsystem-model.ts +11 -20
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Ontology: construct = what a node is, framework + stereotype = which
|
|
15
15
|
* framework pattern it plays, role = where it sits, process = where it runs,
|
|
16
|
+
* module = which source file/module the export belongs to,
|
|
16
17
|
* proposed = not yet in source (design / migration placeholder).
|
|
17
18
|
* `symbol` is the code identity; `name` is the display label.
|
|
18
19
|
*/
|
|
@@ -44,7 +45,7 @@ export type SubsystemStereotype = string;
|
|
|
44
45
|
* Topology relation type — structural / module / type claims between
|
|
45
46
|
* components. Belongs on `relations[]`, not on walkthrough hops.
|
|
46
47
|
*/
|
|
47
|
-
export type SubsystemRelationType = 'imports' | '
|
|
48
|
+
export type SubsystemRelationType = 'imports' | 'extends' | 'inherits' | 'implements' | 'mixes_in' | 'method' | 'references';
|
|
48
49
|
/**
|
|
49
50
|
* Walkthrough hop mechanism — runtime seams with a `file:line` site.
|
|
50
51
|
* Belongs on walkthrough steps; graph edges for these are derived.
|
|
@@ -104,12 +105,6 @@ export interface SubsystemReferenceInfo {
|
|
|
104
105
|
context?: string;
|
|
105
106
|
source_location?: string;
|
|
106
107
|
}
|
|
107
|
-
export interface SubsystemImportInfo {
|
|
108
|
-
nodeId: string;
|
|
109
|
-
name: string;
|
|
110
|
-
relation?: string;
|
|
111
|
-
source_location?: string;
|
|
112
|
-
}
|
|
113
108
|
export interface SubsystemClassDeclaration {
|
|
114
109
|
kind: 'class';
|
|
115
110
|
methods: SubsystemMethodInfo[];
|
|
@@ -174,12 +169,6 @@ export interface SubsystemTypeDeclaration {
|
|
|
174
169
|
*/
|
|
175
170
|
rhs?: string;
|
|
176
171
|
}
|
|
177
|
-
export interface SubsystemModuleDeclaration {
|
|
178
|
-
kind: 'module';
|
|
179
|
-
exports: string[];
|
|
180
|
-
imports: SubsystemImportInfo[];
|
|
181
|
-
symbols: string[];
|
|
182
|
-
}
|
|
183
172
|
export interface SubsystemExternalDeclaration {
|
|
184
173
|
kind: 'external';
|
|
185
174
|
label: string;
|
|
@@ -208,7 +197,7 @@ export interface SubsystemCustomEntityDeclaration {
|
|
|
208
197
|
attributes: SubsystemCustomEntityAttribute[];
|
|
209
198
|
}
|
|
210
199
|
/** Structured declaration shape of a construct. */
|
|
211
|
-
export type SubsystemConstructDeclaration = SubsystemClassDeclaration | SubsystemFunctionDeclaration | SubsystemMethodDeclaration | SubsystemTypeDeclaration |
|
|
200
|
+
export type SubsystemConstructDeclaration = SubsystemClassDeclaration | SubsystemFunctionDeclaration | SubsystemMethodDeclaration | SubsystemTypeDeclaration | SubsystemExternalDeclaration | SubsystemStoreDeclaration | SubsystemCustomEntityDeclaration;
|
|
212
201
|
/** A component node — the named unit, construct-tagged. */
|
|
213
202
|
export interface SubsystemComponent {
|
|
214
203
|
id: string;
|
|
@@ -239,6 +228,15 @@ export interface SubsystemComponent {
|
|
|
239
228
|
*/
|
|
240
229
|
stereotype?: SubsystemStereotype;
|
|
241
230
|
process?: string;
|
|
231
|
+
/**
|
|
232
|
+
* Source-module membership — which file/module this export belongs to
|
|
233
|
+
* (e.g. `src/session/transcript.ts`). Nodes sharing a `module` are drawn
|
|
234
|
+
* inside one boundary frame. Prefer this over inventing a module construct:
|
|
235
|
+
* anchor each export as its real construct (`function` / `class` / …) and
|
|
236
|
+
* set `module` so the file reads as a frame, not a node. Orthogonal to
|
|
237
|
+
* `process` (runtime deployment unit).
|
|
238
|
+
*/
|
|
239
|
+
module?: string;
|
|
242
240
|
/** Code identity — real declaration in `file` when set. */
|
|
243
241
|
symbol?: string;
|
|
244
242
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subsystem-model.d.ts","sourceRoot":"","sources":["../../src/types/subsystem-model.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"subsystem-model.d.ts","sourceRoot":"","sources":["../../src/types/subsystem-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* Ontology: construct = what a node is, framework + stereotype = which
|
|
16
16
|
* framework pattern it plays, role = where it sits, process = where it runs,
|
|
17
|
+
* module = which source file/module the export belongs to,
|
|
17
18
|
* proposed = not yet in source (design / migration placeholder).
|
|
18
19
|
* `symbol` is the code identity; `name` is the display label.
|
|
19
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subsystem-model.js","sourceRoot":"","sources":["../../src/types/subsystem-model.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"subsystem-model.js","sourceRoot":"","sources":["../../src/types/subsystem-model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AA2aH;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAIT,CAAC;IACF,OAAO,CACL,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3B,CAAC;AACJ,CAAC;AAZD,4DAYC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,GAA2B;IAE3B,MAAM,GAAG,GAA2B;QAClC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;IACF,IAAI,GAAG,CAAC,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,GAAG,CAAC,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACvD,IAAI,GAAG,CAAC,YAAY;QAAE,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAZD,gDAYC;AAED,6EAA6E;AAC7E,SAAgB,kBAAkB,CAChC,IAAY,EACZ,EAAU,EACV,SAAiC;IAEjC,OAAO,GAAG,IAAI,KAAK,SAAS,MAAM,EAAE,EAAE,CAAC;AACzC,CAAC;AAND,gDAMC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAGhC;IACC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBACX,EAAE;gBACF,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,YAAY;gBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;SACJ;KACF;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE;QACtC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE;YAC1B,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACjB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;oBACX,EAAE;oBACF,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;aACJ;SACF;KACF;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AA/BD,4CA+BC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://principal-ai.dev/schemas/subsystem-model.schema.json",
|
|
4
4
|
"title": "Subsystem Model",
|
|
5
|
-
"description": "Portable subsystem model — the shareable standard. Construct-tagged components (nodes) plus topology relations and/or runtime walkthroughs describing one subsystem of a codebase. Ontology: construct = what a node is, framework + stereotype = which framework pattern it plays, role = where it sits, process = where it runs. Symbol is the code identity; name is the display label (often derived from symbol). Host-only fields (local path binding, provenance, store ids, verification) are NOT part of this document; they belong on a hydrated envelope around it.",
|
|
5
|
+
"description": "Portable subsystem model — the shareable standard. Construct-tagged components (nodes) plus topology relations and/or runtime walkthroughs describing one subsystem of a codebase. Ontology: construct = what a node is, framework + stereotype = which framework pattern it plays, role = where it sits, process = where it runs, module = which source file/module the export belongs to. Symbol is the code identity; name is the display label (often derived from symbol). Host-only fields (local path binding, provenance, store ids, verification) are NOT part of this document; they belong on a hydrated envelope around it.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": [
|
|
8
8
|
"title",
|
|
@@ -97,16 +97,12 @@
|
|
|
97
97
|
"description": "Topology relation type — structural / module / type claim between components.",
|
|
98
98
|
"enum": [
|
|
99
99
|
"imports",
|
|
100
|
-
"imports_from",
|
|
101
|
-
"re_exports",
|
|
102
|
-
"defines",
|
|
103
100
|
"extends",
|
|
104
101
|
"inherits",
|
|
105
102
|
"implements",
|
|
106
103
|
"mixes_in",
|
|
107
104
|
"method",
|
|
108
|
-
"references"
|
|
109
|
-
"contains"
|
|
105
|
+
"references"
|
|
110
106
|
]
|
|
111
107
|
},
|
|
112
108
|
"mechanism": {
|
|
@@ -188,6 +184,10 @@
|
|
|
188
184
|
"type": "string",
|
|
189
185
|
"description": "Runtime process / deployment unit membership (e.g. `principal-studio/host`). Nodes sharing a process are drawn in one boundary region; nodes without one sit outside every boundary."
|
|
190
186
|
},
|
|
187
|
+
"module": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"description": "Source-module membership — which file/module this export belongs to (e.g. `src/session/transcript.ts`). Nodes sharing a module are drawn in one boundary frame. Prefer anchoring each export as its real construct and setting module, rather than a module construct."
|
|
190
|
+
},
|
|
191
191
|
"layer": {
|
|
192
192
|
"type": "integer",
|
|
193
193
|
"description": "Semantic layout layer/phase (lower = closer to entry). When set, layout places the component in this layer for a left-to-right pipeline."
|
|
@@ -512,28 +512,6 @@
|
|
|
512
512
|
}
|
|
513
513
|
}
|
|
514
514
|
},
|
|
515
|
-
"importInfo": {
|
|
516
|
-
"type": "object",
|
|
517
|
-
"required": [
|
|
518
|
-
"nodeId",
|
|
519
|
-
"name"
|
|
520
|
-
],
|
|
521
|
-
"additionalProperties": false,
|
|
522
|
-
"properties": {
|
|
523
|
-
"nodeId": {
|
|
524
|
-
"type": "string"
|
|
525
|
-
},
|
|
526
|
-
"name": {
|
|
527
|
-
"type": "string"
|
|
528
|
-
},
|
|
529
|
-
"relation": {
|
|
530
|
-
"type": "string"
|
|
531
|
-
},
|
|
532
|
-
"source_location": {
|
|
533
|
-
"type": "string"
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
},
|
|
537
515
|
"constructDeclaration": {
|
|
538
516
|
"description": "Discriminated structured declaration of a construct (`kind`). Hand-authored declarations should set component.declarationProvenance to authored.",
|
|
539
517
|
"oneOf": [
|
|
@@ -549,9 +527,6 @@
|
|
|
549
527
|
{
|
|
550
528
|
"$ref": "#/$defs/typeDeclaration"
|
|
551
529
|
},
|
|
552
|
-
{
|
|
553
|
-
"$ref": "#/$defs/moduleDeclaration"
|
|
554
|
-
},
|
|
555
530
|
{
|
|
556
531
|
"$ref": "#/$defs/externalDeclaration"
|
|
557
532
|
},
|
|
@@ -763,40 +738,6 @@
|
|
|
763
738
|
}
|
|
764
739
|
}
|
|
765
740
|
},
|
|
766
|
-
"moduleDeclaration": {
|
|
767
|
-
"type": "object",
|
|
768
|
-
"required": [
|
|
769
|
-
"kind",
|
|
770
|
-
"exports",
|
|
771
|
-
"imports",
|
|
772
|
-
"symbols"
|
|
773
|
-
],
|
|
774
|
-
"additionalProperties": false,
|
|
775
|
-
"description": "Declaration shape for module-like drill-down. Prefer not authoring module *components*; this payload may still appear from tooling.",
|
|
776
|
-
"properties": {
|
|
777
|
-
"kind": {
|
|
778
|
-
"const": "module"
|
|
779
|
-
},
|
|
780
|
-
"exports": {
|
|
781
|
-
"type": "array",
|
|
782
|
-
"items": {
|
|
783
|
-
"type": "string"
|
|
784
|
-
}
|
|
785
|
-
},
|
|
786
|
-
"imports": {
|
|
787
|
-
"type": "array",
|
|
788
|
-
"items": {
|
|
789
|
-
"$ref": "#/$defs/importInfo"
|
|
790
|
-
}
|
|
791
|
-
},
|
|
792
|
-
"symbols": {
|
|
793
|
-
"type": "array",
|
|
794
|
-
"items": {
|
|
795
|
-
"type": "string"
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
},
|
|
800
741
|
"externalDeclaration": {
|
|
801
742
|
"type": "object",
|
|
802
743
|
"required": [
|
|
@@ -831,6 +772,11 @@
|
|
|
831
772
|
"items": {
|
|
832
773
|
"$ref": "#/$defs/propertyInfo"
|
|
833
774
|
}
|
|
775
|
+
},
|
|
776
|
+
"storage": {
|
|
777
|
+
"type": "string",
|
|
778
|
+
"enum": ["memory", "disk", "external"],
|
|
779
|
+
"description": "Where the retained state physically lives / who mediates access. Authored — graphify cannot infer it: `memory` = process-lifetime RAM, `disk` = this process reads/writes the filesystem, `external` = mediated by another system (db/service)."
|
|
834
780
|
}
|
|
835
781
|
}
|
|
836
782
|
},
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Ontology: construct = what a node is, framework + stereotype = which
|
|
15
15
|
* framework pattern it plays, role = where it sits, process = where it runs,
|
|
16
|
+
* module = which source file/module the export belongs to,
|
|
16
17
|
* proposed = not yet in source (design / migration placeholder).
|
|
17
18
|
* `symbol` is the code identity; `name` is the display label.
|
|
18
19
|
*/
|
|
@@ -61,16 +62,12 @@ export type SubsystemStereotype = string;
|
|
|
61
62
|
*/
|
|
62
63
|
export type SubsystemRelationType =
|
|
63
64
|
| 'imports'
|
|
64
|
-
| 'imports_from'
|
|
65
|
-
| 're_exports'
|
|
66
|
-
| 'defines'
|
|
67
65
|
| 'extends'
|
|
68
66
|
| 'inherits'
|
|
69
67
|
| 'implements'
|
|
70
68
|
| 'mixes_in'
|
|
71
69
|
| 'method'
|
|
72
|
-
| 'references'
|
|
73
|
-
| 'contains';
|
|
70
|
+
| 'references';
|
|
74
71
|
|
|
75
72
|
/**
|
|
76
73
|
* Walkthrough hop mechanism — runtime seams with a `file:line` site.
|
|
@@ -159,13 +156,6 @@ export interface SubsystemReferenceInfo {
|
|
|
159
156
|
source_location?: string;
|
|
160
157
|
}
|
|
161
158
|
|
|
162
|
-
export interface SubsystemImportInfo {
|
|
163
|
-
nodeId: string;
|
|
164
|
-
name: string;
|
|
165
|
-
relation?: string;
|
|
166
|
-
source_location?: string;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
159
|
export interface SubsystemClassDeclaration {
|
|
170
160
|
kind: 'class';
|
|
171
161
|
methods: SubsystemMethodInfo[];
|
|
@@ -237,13 +227,6 @@ export interface SubsystemTypeDeclaration {
|
|
|
237
227
|
rhs?: string;
|
|
238
228
|
}
|
|
239
229
|
|
|
240
|
-
export interface SubsystemModuleDeclaration {
|
|
241
|
-
kind: 'module';
|
|
242
|
-
exports: string[];
|
|
243
|
-
imports: SubsystemImportInfo[];
|
|
244
|
-
symbols: string[];
|
|
245
|
-
}
|
|
246
|
-
|
|
247
230
|
export interface SubsystemExternalDeclaration {
|
|
248
231
|
kind: 'external';
|
|
249
232
|
label: string;
|
|
@@ -281,7 +264,6 @@ export type SubsystemConstructDeclaration =
|
|
|
281
264
|
| SubsystemFunctionDeclaration
|
|
282
265
|
| SubsystemMethodDeclaration
|
|
283
266
|
| SubsystemTypeDeclaration
|
|
284
|
-
| SubsystemModuleDeclaration
|
|
285
267
|
| SubsystemExternalDeclaration
|
|
286
268
|
| SubsystemStoreDeclaration
|
|
287
269
|
| SubsystemCustomEntityDeclaration;
|
|
@@ -316,6 +298,15 @@ export interface SubsystemComponent {
|
|
|
316
298
|
*/
|
|
317
299
|
stereotype?: SubsystemStereotype;
|
|
318
300
|
process?: string;
|
|
301
|
+
/**
|
|
302
|
+
* Source-module membership — which file/module this export belongs to
|
|
303
|
+
* (e.g. `src/session/transcript.ts`). Nodes sharing a `module` are drawn
|
|
304
|
+
* inside one boundary frame. Prefer this over inventing a module construct:
|
|
305
|
+
* anchor each export as its real construct (`function` / `class` / …) and
|
|
306
|
+
* set `module` so the file reads as a frame, not a node. Orthogonal to
|
|
307
|
+
* `process` (runtime deployment unit).
|
|
308
|
+
*/
|
|
309
|
+
module?: string;
|
|
319
310
|
/** Code identity — real declaration in `file` when set. */
|
|
320
311
|
symbol?: string;
|
|
321
312
|
/**
|