@x12i/memorix-metadata 3.2.0 → 3.2.3

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.
Files changed (38) hide show
  1. package/README.md +86 -86
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/platform-interfaces.d.ts +29 -0
  7. package/dist/platform-interfaces.d.ts.map +1 -0
  8. package/dist/platform-interfaces.js +53 -0
  9. package/dist/platform-interfaces.js.map +1 -0
  10. package/dist/resolve.d.ts.map +1 -1
  11. package/dist/resolve.js +111 -0
  12. package/dist/resolve.js.map +1 -1
  13. package/dist/types.d.ts +47 -0
  14. package/dist/types.d.ts.map +1 -1
  15. package/dist/validate.d.ts.map +1 -1
  16. package/dist/validate.js +19 -0
  17. package/dist/validate.js.map +1 -1
  18. package/examples/custom-kinds/acme-ui-tabs.pack.json +62 -62
  19. package/examples/invalid/agent-classification.json +709 -709
  20. package/examples/invalid/broken-binding.json +688 -688
  21. package/examples/invalid/completion-mapping-with-exec-policy.json +659 -659
  22. package/examples/invalid/missing-parent.json +708 -708
  23. package/examples/invalid/operational-kind-root.json +720 -720
  24. package/examples/invalid/pipeline-unknown-service.json +611 -611
  25. package/examples/invalid/relationship-missing-rules.json +624 -624
  26. package/examples/invalid/relationship-with-storage.json +631 -631
  27. package/examples/invalid/service-with-secrets.json +679 -679
  28. package/examples/knowx/normalized/pack.json +338 -11
  29. package/examples/opx/normalized/pack.json +265 -7
  30. package/examples/opx/raw/abstract-types.json +244 -244
  31. package/examples/opx/raw/agents.json +33 -33
  32. package/examples/opx/raw/object-types.json +101 -101
  33. package/examples/opx/raw/pipelines-and-sources.json +264 -233
  34. package/examples/opx/raw/relationship-definitions.json +80 -80
  35. package/examples/opx/raw/view-definitions.json +32 -32
  36. package/examples/opx/raw/write-and-source-mappings.json +223 -223
  37. package/examples/project-opx/normalized/pack.json +1036 -1036
  38. package/package.json +48 -48
@@ -1,233 +1,264 @@
1
- {
2
- "pipelineDefinitions": [
3
- {
4
- "id": "opx-knowledge-pull",
5
- "name": "Scheduled knowledge pull from opx-source",
6
- "trigger": "scheduled",
7
- "mode": "knowledge",
8
- "steps": [
9
- {
10
- "id": "pull",
11
- "kind": "memory-pull",
12
- "sourceId": "opx-source"
13
- },
14
- {
15
- "id": "land-raw",
16
- "kind": "write-raw"
17
- },
18
- {
19
- "id": "normalize",
20
- "kind": "normalize"
21
- },
22
- {
23
- "id": "promote",
24
- "kind": "promote-snapshots"
25
- }
26
- ]
27
- },
28
- {
29
- "id": "opx-context-pull",
30
- "name": "On-demand work-item context pull",
31
- "trigger": "on-demand",
32
- "mode": "context",
33
- "steps": [
34
- {
35
- "id": "pull",
36
- "kind": "memory-pull",
37
- "sourceId": "opx-source"
38
- },
39
- {
40
- "id": "land-raw",
41
- "kind": "write-raw"
42
- },
43
- {
44
- "id": "normalize-context",
45
- "kind": "normalize-context"
46
- },
47
- {
48
- "id": "ttl",
49
- "kind": "apply-ttl"
50
- }
51
- ]
52
- },
53
- {
54
- "id": "opx-relationship-build",
55
- "name": "Discover and write lightweight relationships",
56
- "trigger": "explicit",
57
- "steps": [
58
- {
59
- "id": "discover",
60
- "kind": "relationship-discover"
61
- },
62
- {
63
- "id": "write",
64
- "kind": "relationship-write"
65
- },
66
- {
67
- "id": "verify",
68
- "kind": "relationship-verify"
69
- }
70
- ]
71
- },
72
- {
73
- "id": "opx-analysis",
74
- "name": "Work-item analysis sibling",
75
- "trigger": "explicit",
76
- "steps": [
77
- {
78
- "id": "analyze",
79
- "kind": "analysis"
80
- },
81
- {
82
- "id": "write-sibling",
83
- "kind": "write-content",
84
- "contentType": "analysis"
85
- }
86
- ]
87
- },
88
- {
89
- "id": "opx-workflow",
90
- "name": "Work-item workflow sibling",
91
- "trigger": "explicit",
92
- "steps": [
93
- {
94
- "id": "sync-workflow",
95
- "kind": "workflow-sync"
96
- },
97
- {
98
- "id": "write-sibling",
99
- "kind": "write-content",
100
- "contentType": "workflow"
101
- }
102
- ]
103
- },
104
- {
105
- "id": "opx-enrich-priority",
106
- "name": "Enrich WI priority (draft then write)",
107
- "trigger": "explicit",
108
- "description": "Capture snapshot → enrich service (opx-enrich-priority) → write-record. Runtime v2 uses stepKind enrich + serviceId.",
109
- "steps": [
110
- {
111
- "id": "enrich",
112
- "kind": "enrich",
113
- "serviceId": "opx-enrich-priority"
114
- },
115
- {
116
- "id": "write",
117
- "kind": "write-record",
118
- "contentType": "snapshots"
119
- }
120
- ]
121
- }
122
- ],
123
- "sources": [
124
- {
125
- "id": "opx-source",
126
- "name": "Opx-service",
127
- "kind": "rest",
128
- "baseUrlEnv": "OPX_SOURCE_URL",
129
- "defaultBaseUrl": "http://127.0.0.1:5102",
130
- "credentialRef": "opx-source-local",
131
- "connectorRef": "opx-rest",
132
- "endpoints": [
133
- "/employees",
134
- "/external-people",
135
- "/work-items",
136
- "/activity-events",
137
- "/playbooks",
138
- "/work-items/:id/context"
139
- ],
140
- "pagination": {
141
- "style": "cursor",
142
- "defaultPageSize": 50
143
- },
144
- "retention": {
145
- "context": {
146
- "ttlSeconds": 3600,
147
- "discardOnWorkCompletion": true
148
- }
149
- },
150
- "routes": [
151
- {
152
- "endpoint": "/playbooks",
153
- "objectType": "playbooks",
154
- "dataCategory": "knowledge",
155
- "identityPath": "id",
156
- "primaryKind": "playbookId",
157
- "modes": [
158
- "knowledge"
159
- ],
160
- "pageSize": 2,
161
- "checkpoint": {
162
- "method": "cursor"
163
- }
164
- },
165
- {
166
- "endpoint": "/work-items/:id/context",
167
- "objectType": "work-items",
168
- "dataCategory": "entity",
169
- "identityPath": "workItemId",
170
- "primaryKind": "workItemId",
171
- "modes": [
172
- "context"
173
- ],
174
- "checkpoint": {
175
- "method": "cursor"
176
- }
177
- },
178
- {
179
- "endpoint": "/work-items",
180
- "objectType": "work-items",
181
- "dataCategory": "entity",
182
- "identityPath": "id",
183
- "primaryKind": "workItemId",
184
- "modes": [
185
- "knowledge"
186
- ],
187
- "checkpoint": {
188
- "method": "cursor"
189
- }
190
- },
191
- {
192
- "endpoint": "/employees",
193
- "objectType": "people",
194
- "dataCategory": "entity",
195
- "identityPath": "id",
196
- "primaryKind": "employeeId",
197
- "modes": [
198
- "knowledge"
199
- ],
200
- "checkpoint": {
201
- "method": "cursor"
202
- }
203
- },
204
- {
205
- "endpoint": "/external-people",
206
- "objectType": "people",
207
- "dataCategory": "entity",
208
- "identityPath": "id",
209
- "primaryKind": "externalPersonId",
210
- "modes": [
211
- "knowledge"
212
- ],
213
- "checkpoint": {
214
- "method": "cursor"
215
- }
216
- },
217
- {
218
- "endpoint": "/activity-events",
219
- "objectType": "activity-events",
220
- "dataCategory": "event",
221
- "identityPath": "id",
222
- "primaryKind": "activityEventId",
223
- "modes": [
224
- "knowledge"
225
- ],
226
- "checkpoint": {
227
- "method": "cursor"
228
- }
229
- }
230
- ]
231
- }
232
- ]
233
- }
1
+ {
2
+ "pipelineDefinitions": [
3
+ {
4
+ "id": "opx-knowledge-pull",
5
+ "name": "Scheduled knowledge pull from opx-source",
6
+ "trigger": "scheduled",
7
+ "mode": "knowledge",
8
+ "steps": [
9
+ {
10
+ "id": "pull",
11
+ "kind": "memory-pull",
12
+ "sourceId": "opx-source"
13
+ },
14
+ {
15
+ "id": "land-raw",
16
+ "kind": "write-raw"
17
+ },
18
+ {
19
+ "id": "normalize",
20
+ "kind": "normalize"
21
+ },
22
+ {
23
+ "id": "promote",
24
+ "kind": "promote-snapshots"
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ "id": "opx-context-pull",
30
+ "name": "On-demand work-item context pull",
31
+ "trigger": "on-demand",
32
+ "mode": "context",
33
+ "steps": [
34
+ {
35
+ "id": "pull",
36
+ "kind": "memory-pull",
37
+ "sourceId": "opx-source"
38
+ },
39
+ {
40
+ "id": "land-raw",
41
+ "kind": "write-raw"
42
+ },
43
+ {
44
+ "id": "normalize-context",
45
+ "kind": "normalize-context"
46
+ },
47
+ {
48
+ "id": "ttl",
49
+ "kind": "apply-ttl"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "id": "opx-relationship-build",
55
+ "name": "Discover and write lightweight relationships",
56
+ "trigger": "explicit",
57
+ "steps": [
58
+ {
59
+ "id": "discover",
60
+ "kind": "relationship-discover"
61
+ },
62
+ {
63
+ "id": "write",
64
+ "kind": "relationship-write"
65
+ },
66
+ {
67
+ "id": "verify",
68
+ "kind": "relationship-verify"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "id": "opx-analysis",
74
+ "name": "Work-item analysis sibling",
75
+ "trigger": "explicit",
76
+ "steps": [
77
+ {
78
+ "id": "analyze",
79
+ "kind": "analysis"
80
+ },
81
+ {
82
+ "id": "write-sibling",
83
+ "kind": "write-content",
84
+ "contentType": "analysis"
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ "id": "opx-workflow",
90
+ "name": "Work-item workflow sibling",
91
+ "trigger": "explicit",
92
+ "steps": [
93
+ {
94
+ "id": "sync-workflow",
95
+ "kind": "workflow-sync"
96
+ },
97
+ {
98
+ "id": "write-sibling",
99
+ "kind": "write-content",
100
+ "contentType": "workflow"
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ "id": "opx-enrich-priority",
106
+ "name": "Enrich WI priority (draft then write)",
107
+ "trigger": "explicit",
108
+ "description": "Capture snapshot → enrich service (opx-enrich-priority) → write-record. Runtime v2 uses stepKind enrich + serviceId.",
109
+ "steps": [
110
+ {
111
+ "id": "enrich",
112
+ "kind": "enrich",
113
+ "serviceId": "opx-enrich-priority"
114
+ },
115
+ {
116
+ "id": "write",
117
+ "kind": "write-record",
118
+ "contentType": "snapshots"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "id": "opx-nexum-analyze",
124
+ "name": "Nexum analyze + write-record",
125
+ "trigger": "explicit",
126
+ "description": "Invoke @x12i/nexum analyze (MEMORIX_NEXUM_URL · default :7500), then platform write-record applies proposedGraph (mode nexum). Worker drafts; Memorix persists.",
127
+ "steps": [
128
+ {
129
+ "id": "analyze",
130
+ "kind": "analyze",
131
+ "serviceId": "nexum"
132
+ },
133
+ {
134
+ "id": "write-graph",
135
+ "kind": "write-record",
136
+ "contentType": "snapshots",
137
+ "portConfig": {
138
+ "mode": "nexum"
139
+ },
140
+ "dependsOn": [
141
+ "analyze"
142
+ ],
143
+ "inputs": [
144
+ {
145
+ "fromStep": "analyze",
146
+ "key": "analyze"
147
+ }
148
+ ],
149
+ "notes": "mode nexum — create-or-update contribution/node/claim records from proposedGraph"
150
+ }
151
+ ]
152
+ }
153
+ ],
154
+ "sources": [
155
+ {
156
+ "id": "opx-source",
157
+ "name": "Opx-service",
158
+ "kind": "rest",
159
+ "baseUrlEnv": "OPX_SOURCE_URL",
160
+ "defaultBaseUrl": "http://127.0.0.1:5102",
161
+ "credentialRef": "opx-source-local",
162
+ "connectorRef": "opx-rest",
163
+ "endpoints": [
164
+ "/employees",
165
+ "/external-people",
166
+ "/work-items",
167
+ "/activity-events",
168
+ "/playbooks",
169
+ "/work-items/:id/context"
170
+ ],
171
+ "pagination": {
172
+ "style": "cursor",
173
+ "defaultPageSize": 50
174
+ },
175
+ "retention": {
176
+ "context": {
177
+ "ttlSeconds": 3600,
178
+ "discardOnWorkCompletion": true
179
+ }
180
+ },
181
+ "routes": [
182
+ {
183
+ "endpoint": "/playbooks",
184
+ "objectType": "playbooks",
185
+ "dataCategory": "knowledge",
186
+ "identityPath": "id",
187
+ "primaryKind": "playbookId",
188
+ "modes": [
189
+ "knowledge"
190
+ ],
191
+ "pageSize": 2,
192
+ "checkpoint": {
193
+ "method": "cursor"
194
+ }
195
+ },
196
+ {
197
+ "endpoint": "/work-items/:id/context",
198
+ "objectType": "work-items",
199
+ "dataCategory": "entity",
200
+ "identityPath": "workItemId",
201
+ "primaryKind": "workItemId",
202
+ "modes": [
203
+ "context"
204
+ ],
205
+ "checkpoint": {
206
+ "method": "cursor"
207
+ }
208
+ },
209
+ {
210
+ "endpoint": "/work-items",
211
+ "objectType": "work-items",
212
+ "dataCategory": "entity",
213
+ "identityPath": "id",
214
+ "primaryKind": "workItemId",
215
+ "modes": [
216
+ "knowledge"
217
+ ],
218
+ "checkpoint": {
219
+ "method": "cursor"
220
+ }
221
+ },
222
+ {
223
+ "endpoint": "/employees",
224
+ "objectType": "people",
225
+ "dataCategory": "entity",
226
+ "identityPath": "id",
227
+ "primaryKind": "employeeId",
228
+ "modes": [
229
+ "knowledge"
230
+ ],
231
+ "checkpoint": {
232
+ "method": "cursor"
233
+ }
234
+ },
235
+ {
236
+ "endpoint": "/external-people",
237
+ "objectType": "people",
238
+ "dataCategory": "entity",
239
+ "identityPath": "id",
240
+ "primaryKind": "externalPersonId",
241
+ "modes": [
242
+ "knowledge"
243
+ ],
244
+ "checkpoint": {
245
+ "method": "cursor"
246
+ }
247
+ },
248
+ {
249
+ "endpoint": "/activity-events",
250
+ "objectType": "activity-events",
251
+ "dataCategory": "event",
252
+ "identityPath": "id",
253
+ "primaryKind": "activityEventId",
254
+ "modes": [
255
+ "knowledge"
256
+ ],
257
+ "checkpoint": {
258
+ "method": "cursor"
259
+ }
260
+ }
261
+ ]
262
+ }
263
+ ]
264
+ }
@@ -1,80 +1,80 @@
1
- {
2
- "relationshipDefinitions": [
3
- {
4
- "id": "people-assigned-to-work-items",
5
- "name": "People assigned to work items",
6
- "meaning": "A person is assigned to perform a work item",
7
- "directionality": "directed",
8
- "from": { "abstractType": "People", "property": "assignedWorkItems" },
9
- "to": { "abstractType": "WorkItems", "property": "assignedPeople" },
10
- "discoveryRules": [
11
- {
12
- "id": "from-source-assignee",
13
- "kind": "source-field",
14
- "sourcePath": "assigneeId",
15
- "notes": "opx-source work-items.assigneeId resolves to people OT (any identity kind)"
16
- }
17
- ]
18
- },
19
- {
20
- "id": "work-items-use-playbooks",
21
- "name": "Work items use playbooks",
22
- "meaning": "A work item follows one or more reusable playbooks",
23
- "directionality": "directed",
24
- "from": { "abstractType": "WorkItems", "property": "usedPlaybooks" },
25
- "to": { "abstractType": "Playbooks", "property": "usedByWorkItems" },
26
- "discoveryRules": [
27
- {
28
- "id": "from-source-playbook-ids",
29
- "kind": "source-field",
30
- "sourcePath": "playbookIds"
31
- }
32
- ]
33
- },
34
- {
35
- "id": "activity-events-about-work-items",
36
- "name": "Activity events about work items",
37
- "meaning": "An activity event reports progress on a work item",
38
- "directionality": "directed",
39
- "from": { "abstractType": "ActivityEvents", "property": "aboutWorkItems" },
40
- "to": { "abstractType": "WorkItems", "property": "activityEvents" },
41
- "discoveryRules": [
42
- {
43
- "id": "from-source-work-item-id",
44
- "kind": "source-field",
45
- "sourcePath": "workItemId"
46
- }
47
- ]
48
- },
49
- {
50
- "id": "work-items-depend-on-work-items",
51
- "name": "Work items depend on work items",
52
- "meaning": "A work item cannot complete until another work item completes",
53
- "directionality": "directed",
54
- "from": { "abstractType": "WorkItems", "property": "dependsOn" },
55
- "to": { "abstractType": "WorkItems", "property": "dependedOnBy" },
56
- "discoveryRules": [
57
- {
58
- "id": "from-source-depends-on",
59
- "kind": "source-field",
60
- "sourcePath": "dependsOnIds"
61
- }
62
- ]
63
- },
64
- {
65
- "id": "people-collaborate-with-people",
66
- "name": "People collaborate with people",
67
- "meaning": "Two people collaborate on operational work",
68
- "directionality": "undirected",
69
- "from": { "abstractType": "People", "property": "collaborators" },
70
- "to": { "abstractType": "People", "property": "collaborators" },
71
- "discoveryRules": [
72
- {
73
- "id": "from-source-collaborator-ids",
74
- "kind": "source-field",
75
- "sourcePath": "collaboratorIds"
76
- }
77
- ]
78
- }
79
- ]
80
- }
1
+ {
2
+ "relationshipDefinitions": [
3
+ {
4
+ "id": "people-assigned-to-work-items",
5
+ "name": "People assigned to work items",
6
+ "meaning": "A person is assigned to perform a work item",
7
+ "directionality": "directed",
8
+ "from": { "abstractType": "People", "property": "assignedWorkItems" },
9
+ "to": { "abstractType": "WorkItems", "property": "assignedPeople" },
10
+ "discoveryRules": [
11
+ {
12
+ "id": "from-source-assignee",
13
+ "kind": "source-field",
14
+ "sourcePath": "assigneeId",
15
+ "notes": "opx-source work-items.assigneeId resolves to people OT (any identity kind)"
16
+ }
17
+ ]
18
+ },
19
+ {
20
+ "id": "work-items-use-playbooks",
21
+ "name": "Work items use playbooks",
22
+ "meaning": "A work item follows one or more reusable playbooks",
23
+ "directionality": "directed",
24
+ "from": { "abstractType": "WorkItems", "property": "usedPlaybooks" },
25
+ "to": { "abstractType": "Playbooks", "property": "usedByWorkItems" },
26
+ "discoveryRules": [
27
+ {
28
+ "id": "from-source-playbook-ids",
29
+ "kind": "source-field",
30
+ "sourcePath": "playbookIds"
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "id": "activity-events-about-work-items",
36
+ "name": "Activity events about work items",
37
+ "meaning": "An activity event reports progress on a work item",
38
+ "directionality": "directed",
39
+ "from": { "abstractType": "ActivityEvents", "property": "aboutWorkItems" },
40
+ "to": { "abstractType": "WorkItems", "property": "activityEvents" },
41
+ "discoveryRules": [
42
+ {
43
+ "id": "from-source-work-item-id",
44
+ "kind": "source-field",
45
+ "sourcePath": "workItemId"
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "id": "work-items-depend-on-work-items",
51
+ "name": "Work items depend on work items",
52
+ "meaning": "A work item cannot complete until another work item completes",
53
+ "directionality": "directed",
54
+ "from": { "abstractType": "WorkItems", "property": "dependsOn" },
55
+ "to": { "abstractType": "WorkItems", "property": "dependedOnBy" },
56
+ "discoveryRules": [
57
+ {
58
+ "id": "from-source-depends-on",
59
+ "kind": "source-field",
60
+ "sourcePath": "dependsOnIds"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "id": "people-collaborate-with-people",
66
+ "name": "People collaborate with people",
67
+ "meaning": "Two people collaborate on operational work",
68
+ "directionality": "undirected",
69
+ "from": { "abstractType": "People", "property": "collaborators" },
70
+ "to": { "abstractType": "People", "property": "collaborators" },
71
+ "discoveryRules": [
72
+ {
73
+ "id": "from-source-collaborator-ids",
74
+ "kind": "source-field",
75
+ "sourcePath": "collaboratorIds"
76
+ }
77
+ ]
78
+ }
79
+ ]
80
+ }