@x12i/memorix-metadata 3.0.3 → 3.1.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 +4 -0
- package/dist/abstracts.d.ts +9 -3
- package/dist/abstracts.d.ts.map +1 -1
- package/dist/abstracts.js +70 -66
- package/dist/abstracts.js.map +1 -1
- package/dist/fold-bindings.d.ts +19 -0
- package/dist/fold-bindings.d.ts.map +1 -0
- package/dist/fold-bindings.js +103 -0
- package/dist/fold-bindings.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/kind-fields.d.ts.map +1 -1
- package/dist/kind-fields.js +0 -1
- package/dist/kind-fields.js.map +1 -1
- package/dist/kinds.d.ts +1 -1
- package/dist/kinds.d.ts.map +1 -1
- package/dist/kinds.js +5 -10
- package/dist/kinds.js.map +1 -1
- package/dist/normalize.d.ts +1 -0
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +5 -1
- package/dist/normalize.js.map +1 -1
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +14 -3
- package/dist/resolve.js.map +1 -1
- package/dist/topology.d.ts +52 -0
- package/dist/topology.d.ts.map +1 -0
- package/dist/topology.js +348 -0
- package/dist/topology.js.map +1 -0
- package/dist/types.d.ts +64 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +101 -62
- package/dist/validate.js.map +1 -1
- package/examples/invalid/agent-classification.json +25 -25
- package/examples/invalid/broken-binding.json +21 -21
- package/examples/invalid/completion-mapping-with-exec-policy.json +25 -25
- package/examples/invalid/missing-parent.json +25 -25
- package/examples/invalid/operational-kind-root.json +25 -25
- package/examples/invalid/pipeline-unknown-service.json +25 -25
- package/examples/invalid/relationship-missing-rules.json +18 -18
- package/examples/invalid/relationship-with-storage.json +18 -18
- package/examples/invalid/service-with-secrets.json +20 -20
- package/examples/knowx/normalized/pack.json +1124 -165
- package/examples/opx/normalized/pack.json +303 -285
- package/examples/opx/raw/abstract-types.json +223 -7
- package/examples/opx/raw/object-types.json +26 -95
- package/examples/opx/raw/pipelines-and-sources.json +66 -18
- package/examples/opx/raw/relationship-definitions.json +17 -47
- package/examples/opx/raw/view-definitions.json +3 -17
- package/examples/opx/raw/write-and-source-mappings.json +135 -20
- package/examples/project-opx/normalized/pack.json +352 -260
- package/package.json +1 -1
- package/examples/opx/raw/abstract-bindings.json +0 -38
package/dist/validate.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isValidCustomKindId, validateAgainstItemSchema, } from "./custom-kinds.js";
|
|
2
|
+
import { foldLegacyAbstractBindings } from "./fold-bindings.js";
|
|
2
3
|
import { isForbiddenOperationalKindId, METADATA_KIND_IDS, } from "./kinds.js";
|
|
3
4
|
import { validateMappingMap } from "@x12i/memorix-mapping";
|
|
4
5
|
import { parentIdsOf } from "./types.js";
|
|
@@ -141,6 +142,39 @@ function validateAbstractType(raw, path, issues) {
|
|
|
141
142
|
}
|
|
142
143
|
}
|
|
143
144
|
}
|
|
145
|
+
if (a.members !== undefined) {
|
|
146
|
+
if (!Array.isArray(a.members)) {
|
|
147
|
+
issues.push(issue(`${path}.members`, "META-TYPE", `${path}.members must be an array`));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
const seenOt = new Set();
|
|
151
|
+
for (let i = 0; i < a.members.length; i++) {
|
|
152
|
+
const m = a.members[i];
|
|
153
|
+
const mPath = `${path}.members[${i}]`;
|
|
154
|
+
if (!m || typeof m !== "object") {
|
|
155
|
+
issues.push(issue(mPath, "META-TYPE", `${mPath} must be an object`));
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
requireNonEmptyString(m.objectType, `${mPath}.objectType`, issues);
|
|
159
|
+
if (m.objectType) {
|
|
160
|
+
if (seenOt.has(m.objectType)) {
|
|
161
|
+
issues.push(issue(mPath, "META-DUP", `${path}.members duplicate objectType "${m.objectType}"`));
|
|
162
|
+
}
|
|
163
|
+
seenOt.add(m.objectType);
|
|
164
|
+
}
|
|
165
|
+
if (m.properties !== undefined) {
|
|
166
|
+
if (!Array.isArray(m.properties)) {
|
|
167
|
+
issues.push(issue(`${mPath}.properties`, "META-TYPE", `${mPath}.properties must be an array`));
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
for (let j = 0; j < m.properties.length; j++) {
|
|
171
|
+
validatePropertyBinding(m.properties[j], `${mPath}.properties[${j}]`, issues);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
144
178
|
}
|
|
145
179
|
function validatePropertyBinding(raw, path, issues) {
|
|
146
180
|
if (!raw || typeof raw !== "object") {
|
|
@@ -168,52 +202,6 @@ function validatePropertyBinding(raw, path, issues) {
|
|
|
168
202
|
}
|
|
169
203
|
}
|
|
170
204
|
}
|
|
171
|
-
function validateBinding(raw, path, issues) {
|
|
172
|
-
if (!raw || typeof raw !== "object") {
|
|
173
|
-
issues.push(issue(path, "META-TYPE", `${path} must be an object`));
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
const b = raw;
|
|
177
|
-
requireNonEmptyString(b.id, `${path}.id`, issues);
|
|
178
|
-
requireNonEmptyString(b.abstractType, `${path}.abstractType`, issues);
|
|
179
|
-
rejectForbiddenKeys(b, path, ABSTRACT_MATERIALIZATION_KEYS, "META-ABS-RECORD", issues, "abstracts exist only in metadata; no abstract collection/recordId");
|
|
180
|
-
const hasConcrete = Array.isArray(b.concreteObjectTypes) && b.concreteObjectTypes.length > 0;
|
|
181
|
-
const hasMembers = Array.isArray(b.members) && b.members.length > 0;
|
|
182
|
-
if (!hasConcrete && !hasMembers) {
|
|
183
|
-
issues.push(issue(path, "META-REQUIRED", `${path} must declare concreteObjectTypes and/or members`));
|
|
184
|
-
}
|
|
185
|
-
if (hasConcrete) {
|
|
186
|
-
for (let i = 0; i < b.concreteObjectTypes.length; i++) {
|
|
187
|
-
requireNonEmptyString(b.concreteObjectTypes[i], `${path}.concreteObjectTypes[${i}]`, issues);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
if (b.members !== undefined) {
|
|
191
|
-
if (!Array.isArray(b.members)) {
|
|
192
|
-
issues.push(issue(`${path}.members`, "META-TYPE", `${path}.members must be an array`));
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
for (let i = 0; i < b.members.length; i++) {
|
|
196
|
-
const m = b.members[i];
|
|
197
|
-
const mPath = `${path}.members[${i}]`;
|
|
198
|
-
if (!m || typeof m !== "object") {
|
|
199
|
-
issues.push(issue(mPath, "META-TYPE", `${mPath} must be an object`));
|
|
200
|
-
continue;
|
|
201
|
-
}
|
|
202
|
-
requireNonEmptyString(m.objectType, `${mPath}.objectType`, issues);
|
|
203
|
-
if (m.properties !== undefined) {
|
|
204
|
-
if (!Array.isArray(m.properties)) {
|
|
205
|
-
issues.push(issue(`${mPath}.properties`, "META-TYPE", `${mPath}.properties must be an array`));
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
for (let j = 0; j < m.properties.length; j++) {
|
|
209
|
-
validatePropertyBinding(m.properties[j], `${mPath}.properties[${j}]`, issues);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
205
|
function endpointPath(endpoint) {
|
|
218
206
|
if (typeof endpoint.path === "string" && endpoint.path.trim())
|
|
219
207
|
return endpoint.path;
|
|
@@ -409,6 +397,28 @@ function validateSource(raw, path, issues) {
|
|
|
409
397
|
}
|
|
410
398
|
}
|
|
411
399
|
}
|
|
400
|
+
const CONCRETE_RECORD_SCHEMA_RE = /^memorix-record\//;
|
|
401
|
+
function validateServicePort(port, path, role, issues) {
|
|
402
|
+
if (!port || typeof port !== "object") {
|
|
403
|
+
issues.push(issue(path, "META-TYPE", `${path} must be an object`));
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
requireNonEmptyString(port.id, `${path}.id`, issues);
|
|
407
|
+
const record = port;
|
|
408
|
+
if (typeof record.objectType === "string" && record.objectType.trim()) {
|
|
409
|
+
issues.push(issue(`${path}.objectType`, "META-SVC-CONCRETE", `${path} must not declare objectType — services speak abstracts (or control ports)`));
|
|
410
|
+
}
|
|
411
|
+
if (role === "agent" &&
|
|
412
|
+
typeof port.schemaRef === "string" &&
|
|
413
|
+
CONCRETE_RECORD_SCHEMA_RE.test(port.schemaRef.trim())) {
|
|
414
|
+
issues.push(issue(`${path}.schemaRef`, "META-SVC-CONCRETE", `${path}.schemaRef must not be a concrete memorix-record/* schema on agent services — use abstractType`));
|
|
415
|
+
}
|
|
416
|
+
if (role === "agent" && !port.control) {
|
|
417
|
+
if (!port.abstractType || !String(port.abstractType).trim()) {
|
|
418
|
+
issues.push(issue(`${path}.abstractType`, "META-SVC-ABSTRACT", `${path}.abstractType is required on subject-data ports for agent services (set control: true for non-subject ports)`));
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
412
422
|
function validateService(raw, path, issues) {
|
|
413
423
|
if (!raw || typeof raw !== "object") {
|
|
414
424
|
issues.push(issue(path, "META-TYPE", `${path} must be an object`));
|
|
@@ -417,6 +427,10 @@ function validateService(raw, path, issues) {
|
|
|
417
427
|
const s = raw;
|
|
418
428
|
requireNonEmptyString(s.id, `${path}.id`, issues);
|
|
419
429
|
requireNonEmptyString(s.name, `${path}.name`, issues);
|
|
430
|
+
const role = s.role === "connector" ? "connector" : "agent";
|
|
431
|
+
if (s.role != null && s.role !== "agent" && s.role !== "connector") {
|
|
432
|
+
issues.push(issue(`${path}.role`, "META-ENUM", `${path}.role must be agent|connector`));
|
|
433
|
+
}
|
|
420
434
|
if (!Array.isArray(s.capabilities) || s.capabilities.length === 0) {
|
|
421
435
|
issues.push(issue(`${path}.capabilities`, "META-REQUIRED", `${path}.capabilities must be a non-empty string array`));
|
|
422
436
|
}
|
|
@@ -431,7 +445,7 @@ function validateService(raw, path, issues) {
|
|
|
431
445
|
}
|
|
432
446
|
else {
|
|
433
447
|
for (let i = 0; i < s.inputs.length; i++) {
|
|
434
|
-
|
|
448
|
+
validateServicePort(s.inputs[i], `${path}.inputs[${i}]`, role, issues);
|
|
435
449
|
}
|
|
436
450
|
}
|
|
437
451
|
}
|
|
@@ -441,7 +455,25 @@ function validateService(raw, path, issues) {
|
|
|
441
455
|
}
|
|
442
456
|
else {
|
|
443
457
|
for (let i = 0; i < s.outputs.length; i++) {
|
|
444
|
-
|
|
458
|
+
validateServicePort(s.outputs[i], `${path}.outputs[${i}]`, role, issues);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
if (role === "agent") {
|
|
463
|
+
const ports = [...(s.inputs ?? []), ...(s.outputs ?? [])];
|
|
464
|
+
const hasAbstract = ports.some((p) => p && typeof p.abstractType === "string" && p.abstractType.trim());
|
|
465
|
+
if (ports.length > 0 && !hasAbstract) {
|
|
466
|
+
issues.push(issue(`${path}`, "META-SVC-ABSTRACT", `${path} agent service must declare at least one abstractType on inputs/outputs`));
|
|
467
|
+
}
|
|
468
|
+
if (Array.isArray(s.memorixAccess) && s.memorixAccess.includes("raw")) {
|
|
469
|
+
issues.push(issue(`${path}.memorixAccess`, "META-SVC-CONCRETE", `${path}.memorixAccess must not include "raw" on agent services — use role: "connector" for connector workers`));
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
if (Array.isArray(s.memorixAccess)) {
|
|
473
|
+
for (let i = 0; i < s.memorixAccess.length; i++) {
|
|
474
|
+
const surface = s.memorixAccess[i];
|
|
475
|
+
if (surface !== "explore" && surface !== "checkpoints" && surface !== "raw") {
|
|
476
|
+
issues.push(issue(`${path}.memorixAccess[${i}]`, "META-ENUM", `${path}.memorixAccess[${i}] must be explore|checkpoints|raw`));
|
|
445
477
|
}
|
|
446
478
|
}
|
|
447
479
|
}
|
|
@@ -575,25 +607,17 @@ function validateReferenceIntegrity(pack, issues) {
|
|
|
575
607
|
}
|
|
576
608
|
}
|
|
577
609
|
}
|
|
578
|
-
for (const
|
|
579
|
-
|
|
580
|
-
issues.push(issue(`abstractBindings/${b.id}.abstractType`, "META-REF-ABSTRACT", `binding references unknown abstract "${b.abstractType}"`));
|
|
581
|
-
}
|
|
582
|
-
for (const ct of b.concreteObjectTypes ?? []) {
|
|
583
|
-
if (!objectTypeIds.has(ct)) {
|
|
584
|
-
issues.push(issue(`abstractBindings/${b.id}.concreteObjectTypes`, "META-REF-OBJECT", `binding references unknown object type "${ct}"`));
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
|
-
for (const member of b.members ?? []) {
|
|
610
|
+
for (const abs of pack.abstractTypes) {
|
|
611
|
+
for (const member of abs.members ?? []) {
|
|
588
612
|
if (member.objectType && !objectTypeIds.has(member.objectType)) {
|
|
589
|
-
issues.push(issue(`
|
|
613
|
+
issues.push(issue(`abstractTypes/${abs.id}.members`, "META-REF-OBJECT", `abstract member references unknown object type "${member.objectType}"`));
|
|
590
614
|
}
|
|
591
615
|
for (const prop of member.properties ?? []) {
|
|
592
616
|
if (prop.mappingId && !mappingIds.has(prop.mappingId)) {
|
|
593
|
-
issues.push(issue(`
|
|
617
|
+
issues.push(issue(`abstractTypes/${abs.id}.members/${member.objectType}.${prop.abstractProperty}`, "META-REF-MAPPING", `property binding references unknown mapping "${prop.mappingId}"`));
|
|
594
618
|
}
|
|
595
619
|
if (prop.reverse?.mappingId && !mappingIds.has(prop.reverse.mappingId)) {
|
|
596
|
-
issues.push(issue(`
|
|
620
|
+
issues.push(issue(`abstractTypes/${abs.id}.members/${member.objectType}.${prop.abstractProperty}.reverse`, "META-REF-MAPPING", `reverse mapping "${prop.reverse.mappingId}" unknown`));
|
|
597
621
|
}
|
|
598
622
|
}
|
|
599
623
|
}
|
|
@@ -608,6 +632,18 @@ function validateReferenceIntegrity(pack, issues) {
|
|
|
608
632
|
issues.push(issue(`relationshipDefinitions/${r.id}.to`, "META-REF-ABSTRACT", `relationship to.abstractType "${toAbs}" unknown`));
|
|
609
633
|
}
|
|
610
634
|
}
|
|
635
|
+
for (const svc of pack.services ?? []) {
|
|
636
|
+
const ports = [
|
|
637
|
+
...(svc.inputs ?? []).map((p, i) => ({ p, path: `services/${svc.id}.inputs[${i}]` })),
|
|
638
|
+
...(svc.outputs ?? []).map((p, i) => ({ p, path: `services/${svc.id}.outputs[${i}]` })),
|
|
639
|
+
];
|
|
640
|
+
for (const { p, path } of ports) {
|
|
641
|
+
const abs = p.abstractType?.trim();
|
|
642
|
+
if (abs && !abstractIds.has(abs)) {
|
|
643
|
+
issues.push(issue(`${path}.abstractType`, "META-REF-ABSTRACT", `service port references unknown abstract "${abs}"`));
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
}
|
|
611
647
|
for (const m of pack.mappings) {
|
|
612
648
|
if (m.purpose === "source" && m.sourceId && !sourceIds.has(m.sourceId)) {
|
|
613
649
|
issues.push(issue(`mappings/${m.id}.sourceId`, "META-REF-SOURCE", `mapping references unknown source "${m.sourceId}"`));
|
|
@@ -667,6 +703,10 @@ export function validateMetadataPack(input, opts) {
|
|
|
667
703
|
return { ok: false, issues: [issue("$", "META-TYPE", "pack must be an object")] };
|
|
668
704
|
}
|
|
669
705
|
const pack = input;
|
|
706
|
+
// Fold legacy abstractBindings into abstractTypes[].members before validation.
|
|
707
|
+
if (Array.isArray(pack.abstractTypes)) {
|
|
708
|
+
foldLegacyAbstractBindings(pack);
|
|
709
|
+
}
|
|
670
710
|
if (pack.format !== "memorix-metadata/1") {
|
|
671
711
|
issues.push(issue("format", "META-FORMAT", 'format must be "memorix-metadata/1"'));
|
|
672
712
|
}
|
|
@@ -680,7 +720,6 @@ export function validateMetadataPack(input, opts) {
|
|
|
680
720
|
["agents", pack.agents, validateAgent],
|
|
681
721
|
["objectTypes", pack.objectTypes, validateObjectType],
|
|
682
722
|
["abstractTypes", pack.abstractTypes, validateAbstractType],
|
|
683
|
-
["abstractBindings", pack.abstractBindings, validateBinding],
|
|
684
723
|
["relationshipDefinitions", pack.relationshipDefinitions, validateRelationship],
|
|
685
724
|
["mappings", pack.mappings, validateMapping],
|
|
686
725
|
["views", pack.views, validateView],
|
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,11 +137,11 @@
|
|
|
137
137
|
}
|
|
138
138
|
},
|
|
139
139
|
{
|
|
140
|
-
"id": "
|
|
141
|
-
"name": "
|
|
140
|
+
"id": "playbooks",
|
|
141
|
+
"name": "Playbooks",
|
|
142
142
|
"dataCategory": "knowledge",
|
|
143
143
|
"abstractTypes": [
|
|
144
|
-
"
|
|
144
|
+
"Playbooks"
|
|
145
145
|
],
|
|
146
146
|
"contentTypes": [
|
|
147
147
|
{
|
|
@@ -192,8 +192,8 @@
|
|
|
192
192
|
"category": "entity"
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
|
-
"id": "
|
|
196
|
-
"name": "
|
|
195
|
+
"id": "Playbooks",
|
|
196
|
+
"name": "Playbooks",
|
|
197
197
|
"meaning": "Reusable operational knowledge / playbooks",
|
|
198
198
|
"category": "knowledge"
|
|
199
199
|
},
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
"contractors"
|
|
214
214
|
],
|
|
215
215
|
"union": true,
|
|
216
|
-
"notes": "People = Employees
|
|
216
|
+
"notes": "People = Employees \u222a Contractors. No abstract records exist."
|
|
217
217
|
},
|
|
218
218
|
{
|
|
219
219
|
"id": "work-items-concrete",
|
|
@@ -224,10 +224,10 @@
|
|
|
224
224
|
"union": false
|
|
225
225
|
},
|
|
226
226
|
{
|
|
227
|
-
"id": "
|
|
228
|
-
"abstractType": "
|
|
227
|
+
"id": "playbooks-concrete",
|
|
228
|
+
"abstractType": "Playbooks",
|
|
229
229
|
"concreteObjectTypes": [
|
|
230
|
-
"
|
|
230
|
+
"playbooks"
|
|
231
231
|
],
|
|
232
232
|
"union": false
|
|
233
233
|
},
|
|
@@ -264,23 +264,23 @@
|
|
|
264
264
|
]
|
|
265
265
|
},
|
|
266
266
|
{
|
|
267
|
-
"id": "work-items-use-
|
|
268
|
-
"name": "Work items use
|
|
269
|
-
"meaning": "A work item follows one or more reusable
|
|
267
|
+
"id": "work-items-use-playbooks",
|
|
268
|
+
"name": "Work items use playbooks",
|
|
269
|
+
"meaning": "A work item follows one or more reusable playbooks",
|
|
270
270
|
"directionality": "directed",
|
|
271
271
|
"from": {
|
|
272
272
|
"abstractType": "WorkItems",
|
|
273
|
-
"path": "
|
|
273
|
+
"path": "usedPlaybooks"
|
|
274
274
|
},
|
|
275
275
|
"to": {
|
|
276
|
-
"abstractType": "
|
|
276
|
+
"abstractType": "Playbooks",
|
|
277
277
|
"path": "usedByWorkItems"
|
|
278
278
|
},
|
|
279
279
|
"discoveryRules": [
|
|
280
280
|
{
|
|
281
|
-
"id": "from-source-
|
|
281
|
+
"id": "from-source-playbook-ids",
|
|
282
282
|
"kind": "source-field",
|
|
283
|
-
"sourcePath": "
|
|
283
|
+
"sourcePath": "playbookIds"
|
|
284
284
|
}
|
|
285
285
|
]
|
|
286
286
|
},
|
|
@@ -494,11 +494,11 @@
|
|
|
494
494
|
}
|
|
495
495
|
},
|
|
496
496
|
{
|
|
497
|
-
"id": "opx-
|
|
498
|
-
"objectType": "
|
|
497
|
+
"id": "opx-playbooks-snapshots",
|
|
498
|
+
"objectType": "playbooks",
|
|
499
499
|
"contentType": "snapshots",
|
|
500
500
|
"identity": {
|
|
501
|
-
"primaryKind": "
|
|
501
|
+
"primaryKind": "playbookId",
|
|
502
502
|
"issuer": "opx-source"
|
|
503
503
|
}
|
|
504
504
|
},
|
|
@@ -516,7 +516,7 @@
|
|
|
516
516
|
{
|
|
517
517
|
"id": "opx-source",
|
|
518
518
|
"name": "Opx-service",
|
|
519
|
-
"kind": "rest
|
|
519
|
+
"kind": "rest",
|
|
520
520
|
"baseUrlEnv": "OPX_SOURCE_URL",
|
|
521
521
|
"defaultBaseUrl": "http://127.0.0.1:5102",
|
|
522
522
|
"credentialRef": "opx-source-local",
|
|
@@ -525,7 +525,7 @@
|
|
|
525
525
|
"/contractors",
|
|
526
526
|
"/work-items",
|
|
527
527
|
"/activity-events",
|
|
528
|
-
"/
|
|
528
|
+
"/playbooks",
|
|
529
529
|
"/work-items/:id/context"
|
|
530
530
|
]
|
|
531
531
|
}
|
|
@@ -668,13 +668,13 @@
|
|
|
668
668
|
"inputs": [
|
|
669
669
|
{
|
|
670
670
|
"id": "raw-records",
|
|
671
|
-
"
|
|
671
|
+
"abstractType": "People"
|
|
672
672
|
}
|
|
673
673
|
],
|
|
674
674
|
"outputs": [
|
|
675
675
|
{
|
|
676
676
|
"id": "normalized-records",
|
|
677
|
-
"
|
|
677
|
+
"abstractType": "People"
|
|
678
678
|
}
|
|
679
679
|
],
|
|
680
680
|
"invocation": {
|
|
@@ -691,13 +691,13 @@
|
|
|
691
691
|
"inputs": [
|
|
692
692
|
{
|
|
693
693
|
"id": "snapshot",
|
|
694
|
-
"
|
|
694
|
+
"abstractType": "People"
|
|
695
695
|
}
|
|
696
696
|
],
|
|
697
697
|
"outputs": [
|
|
698
698
|
{
|
|
699
699
|
"id": "completed",
|
|
700
|
-
"
|
|
700
|
+
"abstractType": "People"
|
|
701
701
|
}
|
|
702
702
|
],
|
|
703
703
|
"invocation": {
|