@x12i/memorix-service 3.1.0 → 3.2.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.
Files changed (90) hide show
  1. package/dist/ai-services/associate-prep.d.ts +37 -0
  2. package/dist/ai-services/associate-prep.d.ts.map +1 -0
  3. package/dist/ai-services/associate-prep.js +208 -0
  4. package/dist/ai-services/associate-prep.js.map +1 -0
  5. package/dist/ai-services/chunk-markdown.d.ts +22 -0
  6. package/dist/ai-services/chunk-markdown.d.ts.map +1 -0
  7. package/dist/ai-services/chunk-markdown.js +159 -0
  8. package/dist/ai-services/chunk-markdown.js.map +1 -0
  9. package/dist/ai-services/client.d.ts +1 -1
  10. package/dist/ai-services/client.d.ts.map +1 -1
  11. package/dist/ai-services/client.js +2 -2
  12. package/dist/ai-services/client.js.map +1 -1
  13. package/dist/ai-services/normalize-output.d.ts +7 -1
  14. package/dist/ai-services/normalize-output.d.ts.map +1 -1
  15. package/dist/ai-services/normalize-output.js +340 -60
  16. package/dist/ai-services/normalize-output.js.map +1 -1
  17. package/dist/ai-services/skill-execution.d.ts +3 -2
  18. package/dist/ai-services/skill-execution.d.ts.map +1 -1
  19. package/dist/ai-services/skill-execution.js +24 -4
  20. package/dist/ai-services/skill-execution.js.map +1 -1
  21. package/dist/app.d.ts.map +1 -1
  22. package/dist/app.js +4 -0
  23. package/dist/app.js.map +1 -1
  24. package/dist/connector-catalog.d.ts +68 -0
  25. package/dist/connector-catalog.d.ts.map +1 -0
  26. package/dist/connector-catalog.js +258 -0
  27. package/dist/connector-catalog.js.map +1 -0
  28. package/dist/connector-role.d.ts +22 -0
  29. package/dist/connector-role.d.ts.map +1 -0
  30. package/dist/connector-role.js +71 -0
  31. package/dist/connector-role.js.map +1 -0
  32. package/dist/destination-runtime.d.ts +8 -0
  33. package/dist/destination-runtime.d.ts.map +1 -0
  34. package/dist/destination-runtime.js +11 -0
  35. package/dist/destination-runtime.js.map +1 -0
  36. package/dist/execution-target.d.ts +141 -0
  37. package/dist/execution-target.d.ts.map +1 -0
  38. package/dist/execution-target.js +853 -0
  39. package/dist/execution-target.js.map +1 -0
  40. package/dist/generic-connectors.d.ts +41 -0
  41. package/dist/generic-connectors.d.ts.map +1 -0
  42. package/dist/generic-connectors.js +158 -0
  43. package/dist/generic-connectors.js.map +1 -0
  44. package/dist/jobs-scope.d.ts +21 -0
  45. package/dist/jobs-scope.d.ts.map +1 -0
  46. package/dist/jobs-scope.js +83 -0
  47. package/dist/jobs-scope.js.map +1 -0
  48. package/dist/live.d.ts +11 -0
  49. package/dist/live.d.ts.map +1 -1
  50. package/dist/live.js +700 -73
  51. package/dist/live.js.map +1 -1
  52. package/dist/openapi/openapi.json +3445 -791
  53. package/dist/pipeline-compile.d.ts +35 -1
  54. package/dist/pipeline-compile.d.ts.map +1 -1
  55. package/dist/pipeline-compile.js +408 -87
  56. package/dist/pipeline-compile.js.map +1 -1
  57. package/dist/pipeline-invoke.d.ts +63 -0
  58. package/dist/pipeline-invoke.d.ts.map +1 -0
  59. package/dist/pipeline-invoke.js +114 -0
  60. package/dist/pipeline-invoke.js.map +1 -0
  61. package/dist/pipeline-ports.d.ts +13 -0
  62. package/dist/pipeline-ports.d.ts.map +1 -0
  63. package/dist/pipeline-ports.js +104 -0
  64. package/dist/pipeline-ports.js.map +1 -0
  65. package/dist/platform.d.ts +30 -1
  66. package/dist/platform.d.ts.map +1 -1
  67. package/dist/platform.js +228 -6
  68. package/dist/platform.js.map +1 -1
  69. package/dist/routes/connector-invocations.d.ts.map +1 -1
  70. package/dist/routes/connector-invocations.js +18 -21
  71. package/dist/routes/connector-invocations.js.map +1 -1
  72. package/dist/routes/jobs.d.ts +4 -0
  73. package/dist/routes/jobs.d.ts.map +1 -0
  74. package/dist/routes/jobs.js +888 -0
  75. package/dist/routes/jobs.js.map +1 -0
  76. package/dist/routes/memory.d.ts.map +1 -1
  77. package/dist/routes/memory.js +143 -79
  78. package/dist/routes/memory.js.map +1 -1
  79. package/dist/routes/pipelines.d.ts.map +1 -1
  80. package/dist/routes/pipelines.js +98 -22
  81. package/dist/routes/pipelines.js.map +1 -1
  82. package/dist/routes/relationships.d.ts.map +1 -1
  83. package/dist/routes/relationships.js +80 -2
  84. package/dist/routes/relationships.js.map +1 -1
  85. package/dist/runx/client.d.ts +18 -0
  86. package/dist/runx/client.d.ts.map +1 -0
  87. package/dist/runx/client.js +59 -0
  88. package/dist/runx/client.js.map +1 -0
  89. package/openapi/openapi.json +3445 -791
  90. package/package.json +10 -8
@@ -41,6 +41,10 @@
41
41
  {
42
42
  "name": "DataJourney",
43
43
  "description": "Evidence cone and expected-vs-filled coverage (read-only)"
44
+ },
45
+ {
46
+ "name": "Jobs",
47
+ "description": "Jobs Manager repeated-work API. P3 reads and P4 writes live. See .operational/jobs-v1-api-FR.md"
44
48
  }
45
49
  ],
46
50
  "paths": {
@@ -1165,15 +1169,23 @@
1165
1169
  "operationId": "metadataStageProposal",
1166
1170
  "summary": "Stage an intelligence proposal as a pack version (not live)",
1167
1171
  "description": "Merges the proposal draft into the agent pack, saves a Magit version (message proposal:<id>), and validates. Never installs. Requires Magit.",
1168
- "tags": ["Metadata"],
1172
+ "tags": [
1173
+ "Metadata"
1174
+ ],
1169
1175
  "parameters": [
1170
- { "$ref": "#/components/parameters/XMemorixOrgId" },
1171
- { "$ref": "#/components/parameters/XMemorixAgentIds" },
1176
+ {
1177
+ "$ref": "#/components/parameters/XMemorixOrgId"
1178
+ },
1179
+ {
1180
+ "$ref": "#/components/parameters/XMemorixAgentIds"
1181
+ },
1172
1182
  {
1173
1183
  "name": "id",
1174
1184
  "in": "path",
1175
1185
  "required": true,
1176
- "schema": { "type": "string" },
1186
+ "schema": {
1187
+ "type": "string"
1188
+ },
1177
1189
  "description": "Proposal id"
1178
1190
  }
1179
1191
  ],
@@ -1184,21 +1196,31 @@
1184
1196
  "schema": {
1185
1197
  "type": "object",
1186
1198
  "properties": {
1187
- "agentId": { "type": "string" },
1199
+ "agentId": {
1200
+ "type": "string"
1201
+ },
1188
1202
  "proposal": {
1189
1203
  "type": "object",
1190
1204
  "description": "Optional inline proposal body when not loading from the intelligence store",
1191
1205
  "properties": {
1192
- "proposalId": { "type": "string" },
1193
- "metadataKind": { "type": "string" },
1194
- "metadataId": { "type": "string" },
1206
+ "proposalId": {
1207
+ "type": "string"
1208
+ },
1209
+ "metadataKind": {
1210
+ "type": "string"
1211
+ },
1212
+ "metadataId": {
1213
+ "type": "string"
1214
+ },
1195
1215
  "draft": {},
1196
1216
  "scope": {
1197
1217
  "type": "object",
1198
1218
  "properties": {
1199
1219
  "agentIds": {
1200
1220
  "type": "array",
1201
- "items": { "type": "string" }
1221
+ "items": {
1222
+ "type": "string"
1223
+ }
1202
1224
  }
1203
1225
  }
1204
1226
  }
@@ -1216,17 +1238,40 @@
1216
1238
  "application/json": {
1217
1239
  "schema": {
1218
1240
  "type": "object",
1219
- "required": ["scope", "commit", "installed"],
1241
+ "required": [
1242
+ "scope",
1243
+ "commit",
1244
+ "installed"
1245
+ ],
1220
1246
  "properties": {
1221
- "scope": { "$ref": "#/components/schemas/MemorixScope" },
1222
- "proposalId": { "type": "string" },
1223
- "agentId": { "type": "string" },
1224
- "commit": { "type": "string" },
1225
- "checksum": { "type": "string" },
1226
- "pack": { "$ref": "#/components/schemas/MetadataPack" },
1247
+ "scope": {
1248
+ "$ref": "#/components/schemas/MemorixScope"
1249
+ },
1250
+ "proposalId": {
1251
+ "type": "string"
1252
+ },
1253
+ "agentId": {
1254
+ "type": "string"
1255
+ },
1256
+ "commit": {
1257
+ "type": "string"
1258
+ },
1259
+ "checksum": {
1260
+ "type": "string"
1261
+ },
1262
+ "pack": {
1263
+ "$ref": "#/components/schemas/MetadataPack"
1264
+ },
1227
1265
  "validation": {},
1228
- "installed": { "type": "boolean", "enum": [false] },
1229
- "note": { "type": "string" }
1266
+ "installed": {
1267
+ "type": "boolean",
1268
+ "enum": [
1269
+ false
1270
+ ]
1271
+ },
1272
+ "note": {
1273
+ "type": "string"
1274
+ }
1230
1275
  }
1231
1276
  }
1232
1277
  }
@@ -1236,7 +1281,9 @@
1236
1281
  "description": "Bad request",
1237
1282
  "content": {
1238
1283
  "application/json": {
1239
- "schema": { "$ref": "#/components/schemas/ErrorEnvelope" }
1284
+ "schema": {
1285
+ "$ref": "#/components/schemas/ErrorEnvelope"
1286
+ }
1240
1287
  }
1241
1288
  }
1242
1289
  },
@@ -1244,7 +1291,9 @@
1244
1291
  "description": "Magit unavailable",
1245
1292
  "content": {
1246
1293
  "application/json": {
1247
- "schema": { "$ref": "#/components/schemas/ErrorEnvelope" }
1294
+ "schema": {
1295
+ "$ref": "#/components/schemas/ErrorEnvelope"
1296
+ }
1248
1297
  }
1249
1298
  }
1250
1299
  }
@@ -1256,10 +1305,16 @@
1256
1305
  "operationId": "metadataInstallBundle",
1257
1306
  "summary": "Atomic multi-agent install from one Magit commit",
1258
1307
  "description": "Installs the same commit for each agentId. On any failure, restores prior packs for agents already applied. Requires Magit.",
1259
- "tags": ["Metadata"],
1308
+ "tags": [
1309
+ "Metadata"
1310
+ ],
1260
1311
  "parameters": [
1261
- { "$ref": "#/components/parameters/XMemorixOrgId" },
1262
- { "$ref": "#/components/parameters/XMemorixAgentIds" }
1312
+ {
1313
+ "$ref": "#/components/parameters/XMemorixOrgId"
1314
+ },
1315
+ {
1316
+ "$ref": "#/components/parameters/XMemorixAgentIds"
1317
+ }
1263
1318
  ],
1264
1319
  "requestBody": {
1265
1320
  "required": true,
@@ -1267,16 +1322,30 @@
1267
1322
  "application/json": {
1268
1323
  "schema": {
1269
1324
  "type": "object",
1270
- "required": ["confirm", "commit"],
1325
+ "required": [
1326
+ "confirm",
1327
+ "commit"
1328
+ ],
1271
1329
  "properties": {
1272
- "confirm": { "type": "boolean", "enum": [true] },
1273
- "commit": { "type": "string" },
1330
+ "confirm": {
1331
+ "type": "boolean",
1332
+ "enum": [
1333
+ true
1334
+ ]
1335
+ },
1336
+ "commit": {
1337
+ "type": "string"
1338
+ },
1274
1339
  "agentIds": {
1275
1340
  "type": "array",
1276
- "items": { "type": "string" },
1341
+ "items": {
1342
+ "type": "string"
1343
+ },
1277
1344
  "minItems": 1
1278
1345
  },
1279
- "message": { "type": "string" },
1346
+ "message": {
1347
+ "type": "string"
1348
+ },
1280
1349
  "release": {
1281
1350
  "type": "string",
1282
1351
  "description": "Optional named release stamp (magitRelease)"
@@ -1294,14 +1363,27 @@
1294
1363
  "schema": {
1295
1364
  "type": "object",
1296
1365
  "properties": {
1297
- "scope": { "$ref": "#/components/schemas/MemorixScope" },
1298
- "installed": { "type": "boolean" },
1299
- "rolledBack": { "type": "boolean" },
1300
- "commit": { "type": "string" },
1301
- "ledgerEntries": { "type": "array", "items": {} },
1366
+ "scope": {
1367
+ "$ref": "#/components/schemas/MemorixScope"
1368
+ },
1369
+ "installed": {
1370
+ "type": "boolean"
1371
+ },
1372
+ "rolledBack": {
1373
+ "type": "boolean"
1374
+ },
1375
+ "commit": {
1376
+ "type": "string"
1377
+ },
1378
+ "ledgerEntries": {
1379
+ "type": "array",
1380
+ "items": {}
1381
+ },
1302
1382
  "restoredAgentIds": {
1303
1383
  "type": "array",
1304
- "items": { "type": "string" }
1384
+ "items": {
1385
+ "type": "string"
1386
+ }
1305
1387
  }
1306
1388
  }
1307
1389
  }
@@ -1312,7 +1394,9 @@
1312
1394
  "description": "Validation / rolled back failure",
1313
1395
  "content": {
1314
1396
  "application/json": {
1315
- "schema": { "$ref": "#/components/schemas/ErrorEnvelope" }
1397
+ "schema": {
1398
+ "$ref": "#/components/schemas/ErrorEnvelope"
1399
+ }
1316
1400
  }
1317
1401
  }
1318
1402
  },
@@ -1320,7 +1404,9 @@
1320
1404
  "description": "Magit unavailable",
1321
1405
  "content": {
1322
1406
  "application/json": {
1323
- "schema": { "$ref": "#/components/schemas/ErrorEnvelope" }
1407
+ "schema": {
1408
+ "$ref": "#/components/schemas/ErrorEnvelope"
1409
+ }
1324
1410
  }
1325
1411
  }
1326
1412
  }
@@ -1458,10 +1544,16 @@
1458
1544
  "post": {
1459
1545
  "operationId": "metadataPublishPlan",
1460
1546
  "summary": "Read-only publish plan for a named release",
1461
- "tags": ["Metadata"],
1547
+ "tags": [
1548
+ "Metadata"
1549
+ ],
1462
1550
  "parameters": [
1463
- { "$ref": "#/components/parameters/XMemorixOrgId" },
1464
- { "$ref": "#/components/parameters/XMemorixAgentIds" }
1551
+ {
1552
+ "$ref": "#/components/parameters/XMemorixOrgId"
1553
+ },
1554
+ {
1555
+ "$ref": "#/components/parameters/XMemorixAgentIds"
1556
+ }
1465
1557
  ],
1466
1558
  "requestBody": {
1467
1559
  "required": true,
@@ -1469,20 +1561,38 @@
1469
1561
  "application/json": {
1470
1562
  "schema": {
1471
1563
  "type": "object",
1472
- "required": ["release", "commit"],
1564
+ "required": [
1565
+ "release",
1566
+ "commit"
1567
+ ],
1473
1568
  "properties": {
1474
- "release": { "type": "string" },
1475
- "commit": { "type": "string" },
1476
- "agentIds": { "type": "array", "items": { "type": "string" } },
1477
- "agentId": { "type": "string" }
1569
+ "release": {
1570
+ "type": "string"
1571
+ },
1572
+ "commit": {
1573
+ "type": "string"
1574
+ },
1575
+ "agentIds": {
1576
+ "type": "array",
1577
+ "items": {
1578
+ "type": "string"
1579
+ }
1580
+ },
1581
+ "agentId": {
1582
+ "type": "string"
1583
+ }
1478
1584
  }
1479
1585
  }
1480
1586
  }
1481
1587
  }
1482
1588
  },
1483
1589
  "responses": {
1484
- "200": { "description": "Publish plan" },
1485
- "503": { "description": "Magit unavailable" }
1590
+ "200": {
1591
+ "description": "Publish plan"
1592
+ },
1593
+ "503": {
1594
+ "description": "Magit unavailable"
1595
+ }
1486
1596
  }
1487
1597
  }
1488
1598
  },
@@ -1490,10 +1600,16 @@
1490
1600
  "post": {
1491
1601
  "operationId": "metadataRollback",
1492
1602
  "summary": "Restore agent pack to a prior Magit commit",
1493
- "tags": ["Metadata"],
1603
+ "tags": [
1604
+ "Metadata"
1605
+ ],
1494
1606
  "parameters": [
1495
- { "$ref": "#/components/parameters/XMemorixOrgId" },
1496
- { "$ref": "#/components/parameters/XMemorixAgentIds" }
1607
+ {
1608
+ "$ref": "#/components/parameters/XMemorixOrgId"
1609
+ },
1610
+ {
1611
+ "$ref": "#/components/parameters/XMemorixAgentIds"
1612
+ }
1497
1613
  ],
1498
1614
  "requestBody": {
1499
1615
  "required": true,
@@ -1501,21 +1617,41 @@
1501
1617
  "application/json": {
1502
1618
  "schema": {
1503
1619
  "type": "object",
1504
- "required": ["confirm", "commit"],
1620
+ "required": [
1621
+ "confirm",
1622
+ "commit"
1623
+ ],
1505
1624
  "properties": {
1506
- "confirm": { "type": "boolean", "enum": [true] },
1507
- "commit": { "type": "string" },
1508
- "agentId": { "type": "string" },
1509
- "message": { "type": "string" }
1625
+ "confirm": {
1626
+ "type": "boolean",
1627
+ "enum": [
1628
+ true
1629
+ ]
1630
+ },
1631
+ "commit": {
1632
+ "type": "string"
1633
+ },
1634
+ "agentId": {
1635
+ "type": "string"
1636
+ },
1637
+ "message": {
1638
+ "type": "string"
1639
+ }
1510
1640
  }
1511
1641
  }
1512
1642
  }
1513
1643
  }
1514
1644
  },
1515
1645
  "responses": {
1516
- "200": { "description": "Restore result" },
1517
- "400": { "description": "Validation / confirmation required" },
1518
- "503": { "description": "Magit unavailable" }
1646
+ "200": {
1647
+ "description": "Restore result"
1648
+ },
1649
+ "400": {
1650
+ "description": "Validation / confirmation required"
1651
+ },
1652
+ "503": {
1653
+ "description": "Magit unavailable"
1654
+ }
1519
1655
  }
1520
1656
  }
1521
1657
  },
@@ -1523,10 +1659,16 @@
1523
1659
  "post": {
1524
1660
  "operationId": "metadataDiff",
1525
1661
  "summary": "Diff pack versions (kind/id rows)",
1526
- "tags": ["Metadata"],
1662
+ "tags": [
1663
+ "Metadata"
1664
+ ],
1527
1665
  "parameters": [
1528
- { "$ref": "#/components/parameters/XMemorixOrgId" },
1529
- { "$ref": "#/components/parameters/XMemorixAgentIds" }
1666
+ {
1667
+ "$ref": "#/components/parameters/XMemorixOrgId"
1668
+ },
1669
+ {
1670
+ "$ref": "#/components/parameters/XMemorixAgentIds"
1671
+ }
1530
1672
  ],
1531
1673
  "requestBody": {
1532
1674
  "required": true,
@@ -1534,19 +1676,34 @@
1534
1676
  "application/json": {
1535
1677
  "schema": {
1536
1678
  "type": "object",
1537
- "required": ["from", "to"],
1679
+ "required": [
1680
+ "from",
1681
+ "to"
1682
+ ],
1538
1683
  "properties": {
1539
- "agentId": { "type": "string" },
1540
- "from": { "type": "string", "description": "commit | live | HEAD" },
1541
- "to": { "type": "string", "description": "commit | live | HEAD" }
1684
+ "agentId": {
1685
+ "type": "string"
1686
+ },
1687
+ "from": {
1688
+ "type": "string",
1689
+ "description": "commit | live | HEAD"
1690
+ },
1691
+ "to": {
1692
+ "type": "string",
1693
+ "description": "commit | live | HEAD"
1694
+ }
1542
1695
  }
1543
1696
  }
1544
1697
  }
1545
1698
  }
1546
1699
  },
1547
1700
  "responses": {
1548
- "200": { "description": "Diff rows" },
1549
- "503": { "description": "Magit unavailable" }
1701
+ "200": {
1702
+ "description": "Diff rows"
1703
+ },
1704
+ "503": {
1705
+ "description": "Magit unavailable"
1706
+ }
1550
1707
  }
1551
1708
  }
1552
1709
  },
@@ -1554,25 +1711,39 @@
1554
1711
  "get": {
1555
1712
  "operationId": "metadataPackAtCommit",
1556
1713
  "summary": "Pack reconstructed at a Magit commit",
1557
- "tags": ["Metadata"],
1714
+ "tags": [
1715
+ "Metadata"
1716
+ ],
1558
1717
  "parameters": [
1559
- { "$ref": "#/components/parameters/XMemorixOrgId" },
1560
- { "$ref": "#/components/parameters/XMemorixAgentIds" },
1718
+ {
1719
+ "$ref": "#/components/parameters/XMemorixOrgId"
1720
+ },
1721
+ {
1722
+ "$ref": "#/components/parameters/XMemorixAgentIds"
1723
+ },
1561
1724
  {
1562
1725
  "name": "commit",
1563
1726
  "in": "path",
1564
1727
  "required": true,
1565
- "schema": { "type": "string" }
1728
+ "schema": {
1729
+ "type": "string"
1730
+ }
1566
1731
  },
1567
1732
  {
1568
1733
  "name": "agentId",
1569
1734
  "in": "query",
1570
- "schema": { "type": "string" }
1735
+ "schema": {
1736
+ "type": "string"
1737
+ }
1571
1738
  }
1572
1739
  ],
1573
1740
  "responses": {
1574
- "200": { "description": "Pack at commit" },
1575
- "503": { "description": "Magit unavailable" }
1741
+ "200": {
1742
+ "description": "Pack at commit"
1743
+ },
1744
+ "503": {
1745
+ "description": "Magit unavailable"
1746
+ }
1576
1747
  }
1577
1748
  }
1578
1749
  },
@@ -2764,6 +2935,15 @@
2764
2935
  {
2765
2936
  "name": "definitionId",
2766
2937
  "in": "query",
2938
+ "description": "Single definition id, or comma-separated list. Required for direction=by-definition (or use definitionIds).",
2939
+ "schema": {
2940
+ "type": "string"
2941
+ }
2942
+ },
2943
+ {
2944
+ "name": "definitionIds",
2945
+ "in": "query",
2946
+ "description": "Comma-separated definition ids for by-definition multi-def paging.",
2767
2947
  "schema": {
2768
2948
  "type": "string"
2769
2949
  }
@@ -2771,6 +2951,7 @@
2771
2951
  {
2772
2952
  "name": "recordId",
2773
2953
  "in": "query",
2954
+ "description": "Required for forward/inverse. Not used for by-definition.",
2774
2955
  "schema": {
2775
2956
  "type": "string"
2776
2957
  }
@@ -2778,6 +2959,7 @@
2778
2959
  {
2779
2960
  "name": "cursor",
2780
2961
  "in": "query",
2962
+ "description": "Opaque pagination cursor from a prior pageInfo.nextCursor.",
2781
2963
  "schema": {
2782
2964
  "type": "string"
2783
2965
  }
@@ -2785,8 +2967,35 @@
2785
2967
  {
2786
2968
  "name": "limit",
2787
2969
  "in": "query",
2970
+ "description": "Page size (default 50, max 200).",
2788
2971
  "schema": {
2789
- "type": "integer"
2972
+ "type": "integer",
2973
+ "default": 50,
2974
+ "maximum": 200
2975
+ }
2976
+ },
2977
+ {
2978
+ "name": "expand",
2979
+ "in": "query",
2980
+ "description": "When true with by-definition, expands endpoint labels. With forward/inverse, expands related content.",
2981
+ "schema": {
2982
+ "type": "string",
2983
+ "enum": [
2984
+ "true",
2985
+ "false"
2986
+ ]
2987
+ }
2988
+ },
2989
+ {
2990
+ "name": "expandEndpointLabels",
2991
+ "in": "query",
2992
+ "description": "by-definition only: hydrate from/to labels for the current page.",
2993
+ "schema": {
2994
+ "type": "string",
2995
+ "enum": [
2996
+ "true",
2997
+ "false"
2998
+ ]
2790
2999
  }
2791
3000
  }
2792
3001
  ],
@@ -2799,7 +3008,8 @@
2799
3008
  "type": "object",
2800
3009
  "required": [
2801
3010
  "scope",
2802
- "links"
3011
+ "links",
3012
+ "pageInfo"
2803
3013
  ],
2804
3014
  "properties": {
2805
3015
  "scope": {
@@ -2812,6 +3022,12 @@
2812
3022
  "type": "string",
2813
3023
  "nullable": true
2814
3024
  },
3025
+ "definitionIds": {
3026
+ "type": "array",
3027
+ "items": {
3028
+ "type": "string"
3029
+ }
3030
+ },
2815
3031
  "links": {
2816
3032
  "type": "array",
2817
3033
  "items": {
@@ -2839,10 +3055,16 @@
2839
3055
  "opx"
2840
3056
  ]
2841
3057
  },
2842
- "direction": "forward",
2843
- "definitionId": null,
3058
+ "direction": "by-definition",
3059
+ "definitionId": "knowx-same-as",
3060
+ "definitionIds": [
3061
+ "knowx-same-as"
3062
+ ],
2844
3063
  "links": [],
2845
- "unresolvedTargets": []
3064
+ "unresolvedTargets": [],
3065
+ "pageInfo": {
3066
+ "limit": 50
3067
+ }
2846
3068
  }
2847
3069
  }
2848
3070
  }
@@ -3349,7 +3571,7 @@
3349
3571
  }
3350
3572
  }
3351
3573
  },
3352
- "description": "removeDefinitionLinks \u2014 other definitions untouched"
3574
+ "description": "removeDefinitionLinks other definitions untouched"
3353
3575
  }
3354
3576
  },
3355
3577
  "/api/relationships/related-property": {
@@ -5741,16 +5963,24 @@
5741
5963
  "operationId": "intelligenceGetProposal",
5742
5964
  "summary": "Get one intelligence proposal by id",
5743
5965
  "description": "Returns the full proposal body from the durable artifact store. Stage via POST /api/metadata/proposals/{id}/stage — never auto-installs.",
5744
- "tags": ["Intelligence"],
5966
+ "tags": [
5967
+ "Intelligence"
5968
+ ],
5745
5969
  "parameters": [
5746
- { "$ref": "#/components/parameters/XMemorixOrgId" },
5747
- { "$ref": "#/components/parameters/XMemorixAgentIds" },
5970
+ {
5971
+ "$ref": "#/components/parameters/XMemorixOrgId"
5972
+ },
5973
+ {
5974
+ "$ref": "#/components/parameters/XMemorixAgentIds"
5975
+ },
5748
5976
  {
5749
5977
  "name": "id",
5750
5978
  "in": "path",
5751
5979
  "required": true,
5752
- "schema": { "type": "string" }
5753
- }
5980
+ "schema": {
5981
+ "type": "string"
5982
+ }
5983
+ }
5754
5984
  ],
5755
5985
  "responses": {
5756
5986
  "200": {
@@ -5760,9 +5990,13 @@
5760
5990
  "schema": {
5761
5991
  "type": "object",
5762
5992
  "properties": {
5763
- "scope": { "$ref": "#/components/schemas/MemorixScope" },
5993
+ "scope": {
5994
+ "$ref": "#/components/schemas/MemorixScope"
5995
+ },
5764
5996
  "proposal": {},
5765
- "note": { "type": "string" }
5997
+ "note": {
5998
+ "type": "string"
5999
+ }
5766
6000
  }
5767
6001
  }
5768
6002
  }
@@ -5772,7 +6006,9 @@
5772
6006
  "description": "Not found",
5773
6007
  "content": {
5774
6008
  "application/json": {
5775
- "schema": { "$ref": "#/components/schemas/ErrorEnvelope" }
6009
+ "schema": {
6010
+ "$ref": "#/components/schemas/ErrorEnvelope"
6011
+ }
5776
6012
  }
5777
6013
  }
5778
6014
  },
@@ -5780,7 +6016,9 @@
5780
6016
  "description": "Durable store required",
5781
6017
  "content": {
5782
6018
  "application/json": {
5783
- "schema": { "$ref": "#/components/schemas/ErrorEnvelope" }
6019
+ "schema": {
6020
+ "$ref": "#/components/schemas/ErrorEnvelope"
6021
+ }
5784
6022
  }
5785
6023
  }
5786
6024
  }
@@ -7452,167 +7690,2058 @@
7452
7690
  }
7453
7691
  }
7454
7692
  }
7455
- }
7456
- },
7457
- "components": {
7458
- "parameters": {
7459
- "XMemorixOrgId": {
7460
- "name": "x-memorix-org-id",
7461
- "in": "header",
7462
- "required": true,
7463
- "schema": {
7464
- "type": "string",
7465
- "minLength": 1
7466
- },
7467
- "description": "Organization / data-universe id"
7468
- },
7469
- "XMemorixAgentIds": {
7470
- "name": "x-memorix-agent-ids",
7471
- "in": "header",
7472
- "required": true,
7473
- "schema": {
7474
- "type": "string",
7475
- "minLength": 1
7476
- },
7477
- "description": "Comma-separated agentIds for effective metadata",
7478
- "example": "ops,fieldstone"
7479
- }
7480
7693
  },
7481
- "schemas": {
7482
- "MemorixScope": {
7483
- "type": "object",
7484
- "required": [
7485
- "orgId",
7486
- "agentIds"
7694
+ "/api/jobs/v1/overview": {
7695
+ "get": {
7696
+ "operationId": "jobsOverview",
7697
+ "summary": "Queue overview (P3 live)",
7698
+ "description": "P3 read handler live on memorix-service.",
7699
+ "tags": [
7700
+ "Jobs"
7487
7701
  ],
7488
- "additionalProperties": false,
7489
- "properties": {
7490
- "orgId": {
7491
- "type": "string",
7492
- "minLength": 1,
7493
- "description": "Data universe / org isolation key"
7702
+ "parameters": [
7703
+ {
7704
+ "$ref": "#/components/parameters/XMemorixOrgId"
7494
7705
  },
7495
- "agentIds": {
7496
- "type": "array",
7497
- "items": {
7498
- "type": "string",
7499
- "minLength": 1
7500
- },
7501
- "minItems": 1,
7502
- "uniqueItems": true,
7503
- "description": "Effective metadata agent chain (canonicalized/sorted)"
7706
+ {
7707
+ "$ref": "#/components/parameters/XMemorixAgentIds"
7504
7708
  }
7505
- },
7506
- "example": {
7507
- "orgId": "acme",
7508
- "agentIds": [
7509
- "opx",
7510
- "fieldstone"
7511
- ]
7512
- }
7513
- },
7514
- "MemorixIdentifier": {
7515
- "type": "object",
7516
- "required": [
7517
- "kind",
7518
- "value"
7519
7709
  ],
7520
- "properties": {
7521
- "kind": {
7522
- "type": "string"
7710
+ "responses": {
7711
+ "200": {
7712
+ "description": "Overview",
7713
+ "content": {
7714
+ "application/json": {
7715
+ "schema": {
7716
+ "type": "object",
7717
+ "required": [
7718
+ "scope"
7719
+ ],
7720
+ "properties": {
7721
+ "scope": {
7722
+ "$ref": "#/components/schemas/MemorixScope"
7723
+ },
7724
+ "counts": {
7725
+ "type": "object",
7726
+ "additionalProperties": {
7727
+ "type": "integer"
7728
+ }
7729
+ },
7730
+ "stuckLeases": {
7731
+ "type": "integer"
7732
+ },
7733
+ "recentFailures": {
7734
+ "type": "array",
7735
+ "items": {
7736
+ "type": "object"
7737
+ }
7738
+ },
7739
+ "note": {
7740
+ "type": "string"
7741
+ }
7742
+ }
7743
+ }
7744
+ }
7745
+ }
7523
7746
  },
7524
- "value": {
7525
- "type": "string"
7747
+ "400": {
7748
+ "description": "Bad request / validation",
7749
+ "content": {
7750
+ "application/json": {
7751
+ "schema": {
7752
+ "$ref": "#/components/schemas/ErrorEnvelope"
7753
+ }
7754
+ }
7755
+ }
7526
7756
  },
7527
- "issuer": {
7528
- "type": "string"
7757
+ "403": {
7758
+ "description": "Forbidden",
7759
+ "content": {
7760
+ "application/json": {
7761
+ "schema": {
7762
+ "$ref": "#/components/schemas/ErrorEnvelope"
7763
+ }
7764
+ }
7765
+ }
7529
7766
  },
7530
- "normalizedValue": {
7531
- "type": "string"
7767
+ "404": {
7768
+ "description": "Not found",
7769
+ "content": {
7770
+ "application/json": {
7771
+ "schema": {
7772
+ "$ref": "#/components/schemas/ErrorEnvelope"
7773
+ }
7774
+ }
7775
+ }
7532
7776
  }
7533
7777
  }
7534
- },
7535
- "MemorixRecordV2": {
7536
- "type": "object",
7537
- "required": [
7538
- "format",
7539
- "recordId",
7540
- "revision",
7541
- "objectType",
7542
- "contentType",
7543
- "dataCategory",
7544
- "concept",
7545
- "data",
7546
- "_system"
7778
+ }
7779
+ },
7780
+ "/api/jobs/v1/settings": {
7781
+ "get": {
7782
+ "operationId": "jobsGetSettings",
7783
+ "summary": "Queue settings (P3 live)",
7784
+ "tags": [
7785
+ "Jobs"
7547
7786
  ],
7548
- "properties": {
7549
- "format": {
7550
- "type": "string",
7551
- "enum": [
7552
- "memorix-record/2"
7553
- ]
7554
- },
7555
- "recordId": {
7556
- "type": "string"
7557
- },
7558
- "revision": {
7559
- "type": "integer",
7560
- "minimum": 1
7561
- },
7562
- "objectType": {
7563
- "type": "string"
7564
- },
7565
- "contentType": {
7566
- "type": "string"
7567
- },
7568
- "dataCategory": {
7569
- "type": "string",
7570
- "enum": [
7571
- "entity",
7572
- "event",
7573
- "knowledge"
7574
- ]
7787
+ "parameters": [
7788
+ {
7789
+ "$ref": "#/components/parameters/XMemorixOrgId"
7575
7790
  },
7576
- "concept": {
7577
- "type": "object",
7578
- "required": [
7579
- "title",
7580
- "identifiers"
7581
- ],
7582
- "properties": {
7583
- "title": {
7584
- "type": "string"
7585
- },
7586
- "identifiers": {
7587
- "type": "object",
7588
- "required": [
7589
- "primary"
7590
- ],
7591
- "properties": {
7592
- "primary": {
7593
- "$ref": "#/components/schemas/MemorixIdentifier"
7594
- },
7595
- "alternates": {
7596
- "type": "array",
7597
- "items": {
7598
- "$ref": "#/components/schemas/MemorixIdentifier"
7791
+ {
7792
+ "$ref": "#/components/parameters/XMemorixAgentIds"
7793
+ }
7794
+ ],
7795
+ "responses": {
7796
+ "200": {
7797
+ "description": "Settings",
7798
+ "content": {
7799
+ "application/json": {
7800
+ "schema": {
7801
+ "type": "object",
7802
+ "required": [
7803
+ "scope",
7804
+ "settings"
7805
+ ],
7806
+ "properties": {
7807
+ "scope": {
7808
+ "$ref": "#/components/schemas/MemorixScope"
7809
+ },
7810
+ "settings": {
7811
+ "$ref": "#/components/schemas/JobsQueueSettings"
7599
7812
  }
7600
7813
  }
7601
7814
  }
7602
7815
  }
7603
7816
  }
7604
7817
  },
7605
- "data": {
7606
- "type": "object",
7607
- "additionalProperties": true
7608
- },
7609
- "analytics": {
7610
- "type": "object",
7611
- "additionalProperties": true
7612
- },
7613
- "enrichment": {
7614
- "type": "object",
7615
- "additionalProperties": true
7818
+ "400": {
7819
+ "description": "Bad request / validation",
7820
+ "content": {
7821
+ "application/json": {
7822
+ "schema": {
7823
+ "$ref": "#/components/schemas/ErrorEnvelope"
7824
+ }
7825
+ }
7826
+ }
7827
+ },
7828
+ "403": {
7829
+ "description": "Forbidden",
7830
+ "content": {
7831
+ "application/json": {
7832
+ "schema": {
7833
+ "$ref": "#/components/schemas/ErrorEnvelope"
7834
+ }
7835
+ }
7836
+ }
7837
+ },
7838
+ "404": {
7839
+ "description": "Not found",
7840
+ "content": {
7841
+ "application/json": {
7842
+ "schema": {
7843
+ "$ref": "#/components/schemas/ErrorEnvelope"
7844
+ }
7845
+ }
7846
+ }
7847
+ }
7848
+ },
7849
+ "description": "P3 read handler live on memorix-service."
7850
+ },
7851
+ "put": {
7852
+ "operationId": "jobsPutSettings",
7853
+ "summary": "Update queue settings (P4 live)",
7854
+ "tags": [
7855
+ "Jobs"
7856
+ ],
7857
+ "parameters": [
7858
+ {
7859
+ "$ref": "#/components/parameters/XMemorixOrgId"
7860
+ },
7861
+ {
7862
+ "$ref": "#/components/parameters/XMemorixAgentIds"
7863
+ }
7864
+ ],
7865
+ "requestBody": {
7866
+ "required": true,
7867
+ "content": {
7868
+ "application/json": {
7869
+ "schema": {
7870
+ "$ref": "#/components/schemas/JobsQueueSettings"
7871
+ }
7872
+ }
7873
+ }
7874
+ },
7875
+ "responses": {
7876
+ "200": {
7877
+ "description": "Updated settings",
7878
+ "content": {
7879
+ "application/json": {
7880
+ "schema": {
7881
+ "type": "object",
7882
+ "required": [
7883
+ "scope",
7884
+ "settings"
7885
+ ],
7886
+ "properties": {
7887
+ "scope": {
7888
+ "$ref": "#/components/schemas/MemorixScope"
7889
+ },
7890
+ "settings": {
7891
+ "$ref": "#/components/schemas/JobsQueueSettings"
7892
+ }
7893
+ }
7894
+ }
7895
+ }
7896
+ }
7897
+ },
7898
+ "400": {
7899
+ "description": "Bad request / validation",
7900
+ "content": {
7901
+ "application/json": {
7902
+ "schema": {
7903
+ "$ref": "#/components/schemas/ErrorEnvelope"
7904
+ }
7905
+ }
7906
+ }
7907
+ },
7908
+ "403": {
7909
+ "description": "Forbidden",
7910
+ "content": {
7911
+ "application/json": {
7912
+ "schema": {
7913
+ "$ref": "#/components/schemas/ErrorEnvelope"
7914
+ }
7915
+ }
7916
+ }
7917
+ },
7918
+ "404": {
7919
+ "description": "Not found",
7920
+ "content": {
7921
+ "application/json": {
7922
+ "schema": {
7923
+ "$ref": "#/components/schemas/ErrorEnvelope"
7924
+ }
7925
+ }
7926
+ }
7927
+ }
7928
+ },
7929
+ "description": "P4 write handler live on memorix-service."
7930
+ }
7931
+ },
7932
+ "/api/jobs/v1/work": {
7933
+ "get": {
7934
+ "operationId": "jobsListWork",
7935
+ "summary": "List Work definitions (P3 live)",
7936
+ "tags": [
7937
+ "Jobs"
7938
+ ],
7939
+ "parameters": [
7940
+ {
7941
+ "$ref": "#/components/parameters/XMemorixOrgId"
7942
+ },
7943
+ {
7944
+ "$ref": "#/components/parameters/XMemorixAgentIds"
7945
+ }
7946
+ ],
7947
+ "responses": {
7948
+ "200": {
7949
+ "description": "Work list",
7950
+ "content": {
7951
+ "application/json": {
7952
+ "schema": {
7953
+ "type": "object",
7954
+ "required": [
7955
+ "scope",
7956
+ "work"
7957
+ ],
7958
+ "properties": {
7959
+ "scope": {
7960
+ "$ref": "#/components/schemas/MemorixScope"
7961
+ },
7962
+ "work": {
7963
+ "type": "array",
7964
+ "items": {
7965
+ "$ref": "#/components/schemas/PipelineWorkDefinition"
7966
+ }
7967
+ }
7968
+ }
7969
+ }
7970
+ }
7971
+ }
7972
+ },
7973
+ "400": {
7974
+ "description": "Bad request / validation",
7975
+ "content": {
7976
+ "application/json": {
7977
+ "schema": {
7978
+ "$ref": "#/components/schemas/ErrorEnvelope"
7979
+ }
7980
+ }
7981
+ }
7982
+ },
7983
+ "403": {
7984
+ "description": "Forbidden",
7985
+ "content": {
7986
+ "application/json": {
7987
+ "schema": {
7988
+ "$ref": "#/components/schemas/ErrorEnvelope"
7989
+ }
7990
+ }
7991
+ }
7992
+ },
7993
+ "404": {
7994
+ "description": "Not found",
7995
+ "content": {
7996
+ "application/json": {
7997
+ "schema": {
7998
+ "$ref": "#/components/schemas/ErrorEnvelope"
7999
+ }
8000
+ }
8001
+ }
8002
+ }
8003
+ },
8004
+ "description": "P3 read handler live on memorix-service."
8005
+ },
8006
+ "post": {
8007
+ "operationId": "jobsCreateWork",
8008
+ "summary": "Create Work (P4 live)",
8009
+ "tags": [
8010
+ "Jobs"
8011
+ ],
8012
+ "parameters": [
8013
+ {
8014
+ "$ref": "#/components/parameters/XMemorixOrgId"
8015
+ },
8016
+ {
8017
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8018
+ }
8019
+ ],
8020
+ "requestBody": {
8021
+ "required": true,
8022
+ "content": {
8023
+ "application/json": {
8024
+ "schema": {
8025
+ "type": "object",
8026
+ "required": [
8027
+ "name",
8028
+ "selector",
8029
+ "cadence",
8030
+ "policy"
8031
+ ],
8032
+ "properties": {
8033
+ "name": {
8034
+ "type": "string"
8035
+ },
8036
+ "description": {
8037
+ "type": "string"
8038
+ },
8039
+ "enabled": {
8040
+ "type": "boolean"
8041
+ },
8042
+ "pipelineId": {
8043
+ "type": "string"
8044
+ },
8045
+ "selector": {
8046
+ "$ref": "#/components/schemas/WorkSelector"
8047
+ },
8048
+ "cadence": {
8049
+ "$ref": "#/components/schemas/WorkCadence"
8050
+ },
8051
+ "policy": {
8052
+ "$ref": "#/components/schemas/WorkPolicy"
8053
+ },
8054
+ "inputTemplate": {},
8055
+ "executionTarget": {
8056
+ "$ref": "#/components/schemas/ExecutionTargetRef"
8057
+ }
8058
+ }
8059
+ }
8060
+ }
8061
+ }
8062
+ },
8063
+ "responses": {
8064
+ "200": {
8065
+ "description": "Created Work",
8066
+ "content": {
8067
+ "application/json": {
8068
+ "schema": {
8069
+ "type": "object",
8070
+ "required": [
8071
+ "scope",
8072
+ "work"
8073
+ ],
8074
+ "properties": {
8075
+ "scope": {
8076
+ "$ref": "#/components/schemas/MemorixScope"
8077
+ },
8078
+ "work": {
8079
+ "$ref": "#/components/schemas/PipelineWorkDefinition"
8080
+ }
8081
+ }
8082
+ }
8083
+ }
8084
+ }
8085
+ },
8086
+ "400": {
8087
+ "description": "Bad request / validation",
8088
+ "content": {
8089
+ "application/json": {
8090
+ "schema": {
8091
+ "$ref": "#/components/schemas/ErrorEnvelope"
8092
+ }
8093
+ }
8094
+ }
8095
+ },
8096
+ "403": {
8097
+ "description": "Forbidden",
8098
+ "content": {
8099
+ "application/json": {
8100
+ "schema": {
8101
+ "$ref": "#/components/schemas/ErrorEnvelope"
8102
+ }
8103
+ }
8104
+ }
8105
+ },
8106
+ "404": {
8107
+ "description": "Not found",
8108
+ "content": {
8109
+ "application/json": {
8110
+ "schema": {
8111
+ "$ref": "#/components/schemas/ErrorEnvelope"
8112
+ }
8113
+ }
8114
+ }
8115
+ }
8116
+ },
8117
+ "description": "P4 write handler live on memorix-service."
8118
+ }
8119
+ },
8120
+ "/api/jobs/v1/work/{workId}": {
8121
+ "get": {
8122
+ "operationId": "jobsGetWork",
8123
+ "summary": "Work detail (P3 live)",
8124
+ "tags": [
8125
+ "Jobs"
8126
+ ],
8127
+ "parameters": [
8128
+ {
8129
+ "$ref": "#/components/parameters/XMemorixOrgId"
8130
+ },
8131
+ {
8132
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8133
+ },
8134
+ {
8135
+ "name": "workId",
8136
+ "in": "path",
8137
+ "required": true,
8138
+ "schema": {
8139
+ "type": "string"
8140
+ }
8141
+ }
8142
+ ],
8143
+ "responses": {
8144
+ "200": {
8145
+ "description": "Work detail",
8146
+ "content": {
8147
+ "application/json": {
8148
+ "schema": {
8149
+ "type": "object",
8150
+ "required": [
8151
+ "scope",
8152
+ "work"
8153
+ ],
8154
+ "properties": {
8155
+ "scope": {
8156
+ "$ref": "#/components/schemas/MemorixScope"
8157
+ },
8158
+ "work": {
8159
+ "$ref": "#/components/schemas/PipelineWorkDefinition"
8160
+ },
8161
+ "evaluations": {
8162
+ "type": "array",
8163
+ "items": {
8164
+ "type": "object"
8165
+ }
8166
+ }
8167
+ }
8168
+ }
8169
+ }
8170
+ }
8171
+ },
8172
+ "400": {
8173
+ "description": "Bad request / validation",
8174
+ "content": {
8175
+ "application/json": {
8176
+ "schema": {
8177
+ "$ref": "#/components/schemas/ErrorEnvelope"
8178
+ }
8179
+ }
8180
+ }
8181
+ },
8182
+ "403": {
8183
+ "description": "Forbidden",
8184
+ "content": {
8185
+ "application/json": {
8186
+ "schema": {
8187
+ "$ref": "#/components/schemas/ErrorEnvelope"
8188
+ }
8189
+ }
8190
+ }
8191
+ },
8192
+ "404": {
8193
+ "description": "Not found",
8194
+ "content": {
8195
+ "application/json": {
8196
+ "schema": {
8197
+ "$ref": "#/components/schemas/ErrorEnvelope"
8198
+ }
8199
+ }
8200
+ }
8201
+ }
8202
+ },
8203
+ "description": "P3 read handler live on memorix-service."
8204
+ },
8205
+ "patch": {
8206
+ "operationId": "jobsPatchWork",
8207
+ "summary": "Update Work (P4 live)",
8208
+ "tags": [
8209
+ "Jobs"
8210
+ ],
8211
+ "parameters": [
8212
+ {
8213
+ "$ref": "#/components/parameters/XMemorixOrgId"
8214
+ },
8215
+ {
8216
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8217
+ },
8218
+ {
8219
+ "name": "workId",
8220
+ "in": "path",
8221
+ "required": true,
8222
+ "schema": {
8223
+ "type": "string"
8224
+ }
8225
+ }
8226
+ ],
8227
+ "requestBody": {
8228
+ "required": true,
8229
+ "content": {
8230
+ "application/json": {
8231
+ "schema": {
8232
+ "type": "object"
8233
+ }
8234
+ }
8235
+ }
8236
+ },
8237
+ "responses": {
8238
+ "200": {
8239
+ "description": "Updated Work",
8240
+ "content": {
8241
+ "application/json": {
8242
+ "schema": {
8243
+ "type": "object",
8244
+ "required": [
8245
+ "scope",
8246
+ "work"
8247
+ ],
8248
+ "properties": {
8249
+ "scope": {
8250
+ "$ref": "#/components/schemas/MemorixScope"
8251
+ },
8252
+ "work": {
8253
+ "$ref": "#/components/schemas/PipelineWorkDefinition"
8254
+ }
8255
+ }
8256
+ }
8257
+ }
8258
+ }
8259
+ },
8260
+ "400": {
8261
+ "description": "Bad request / validation",
8262
+ "content": {
8263
+ "application/json": {
8264
+ "schema": {
8265
+ "$ref": "#/components/schemas/ErrorEnvelope"
8266
+ }
8267
+ }
8268
+ }
8269
+ },
8270
+ "403": {
8271
+ "description": "Forbidden",
8272
+ "content": {
8273
+ "application/json": {
8274
+ "schema": {
8275
+ "$ref": "#/components/schemas/ErrorEnvelope"
8276
+ }
8277
+ }
8278
+ }
8279
+ },
8280
+ "404": {
8281
+ "description": "Not found",
8282
+ "content": {
8283
+ "application/json": {
8284
+ "schema": {
8285
+ "$ref": "#/components/schemas/ErrorEnvelope"
8286
+ }
8287
+ }
8288
+ }
8289
+ }
8290
+ },
8291
+ "description": "P4 write handler live on memorix-service."
8292
+ },
8293
+ "delete": {
8294
+ "operationId": "jobsDeleteWork",
8295
+ "summary": "Delete Work (P4 live)",
8296
+ "tags": [
8297
+ "Jobs"
8298
+ ],
8299
+ "parameters": [
8300
+ {
8301
+ "$ref": "#/components/parameters/XMemorixOrgId"
8302
+ },
8303
+ {
8304
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8305
+ },
8306
+ {
8307
+ "name": "workId",
8308
+ "in": "path",
8309
+ "required": true,
8310
+ "schema": {
8311
+ "type": "string"
8312
+ }
8313
+ }
8314
+ ],
8315
+ "responses": {
8316
+ "200": {
8317
+ "description": "Deleted",
8318
+ "content": {
8319
+ "application/json": {
8320
+ "schema": {
8321
+ "type": "object",
8322
+ "required": [
8323
+ "scope",
8324
+ "deleted"
8325
+ ],
8326
+ "properties": {
8327
+ "scope": {
8328
+ "$ref": "#/components/schemas/MemorixScope"
8329
+ },
8330
+ "deleted": {
8331
+ "type": "boolean"
8332
+ }
8333
+ }
8334
+ }
8335
+ }
8336
+ }
8337
+ },
8338
+ "400": {
8339
+ "description": "Bad request / validation",
8340
+ "content": {
8341
+ "application/json": {
8342
+ "schema": {
8343
+ "$ref": "#/components/schemas/ErrorEnvelope"
8344
+ }
8345
+ }
8346
+ }
8347
+ },
8348
+ "403": {
8349
+ "description": "Forbidden",
8350
+ "content": {
8351
+ "application/json": {
8352
+ "schema": {
8353
+ "$ref": "#/components/schemas/ErrorEnvelope"
8354
+ }
8355
+ }
8356
+ }
8357
+ },
8358
+ "404": {
8359
+ "description": "Not found",
8360
+ "content": {
8361
+ "application/json": {
8362
+ "schema": {
8363
+ "$ref": "#/components/schemas/ErrorEnvelope"
8364
+ }
8365
+ }
8366
+ }
8367
+ }
8368
+ },
8369
+ "description": "P4 write handler live on memorix-service."
8370
+ }
8371
+ },
8372
+ "/api/jobs/v1/work/{workId}/preview": {
8373
+ "post": {
8374
+ "operationId": "jobsPreviewWork",
8375
+ "summary": "Preview Work selector (P3 live)",
8376
+ "tags": [
8377
+ "Jobs"
8378
+ ],
8379
+ "parameters": [
8380
+ {
8381
+ "$ref": "#/components/parameters/XMemorixOrgId"
8382
+ },
8383
+ {
8384
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8385
+ },
8386
+ {
8387
+ "name": "workId",
8388
+ "in": "path",
8389
+ "required": true,
8390
+ "schema": {
8391
+ "type": "string"
8392
+ }
8393
+ }
8394
+ ],
8395
+ "responses": {
8396
+ "200": {
8397
+ "description": "Preview",
8398
+ "content": {
8399
+ "application/json": {
8400
+ "schema": {
8401
+ "type": "object",
8402
+ "required": [
8403
+ "scope"
8404
+ ],
8405
+ "properties": {
8406
+ "scope": {
8407
+ "$ref": "#/components/schemas/MemorixScope"
8408
+ },
8409
+ "matched": {
8410
+ "type": "integer"
8411
+ },
8412
+ "eligible": {
8413
+ "type": "integer"
8414
+ },
8415
+ "exclusions": {
8416
+ "type": "array",
8417
+ "items": {
8418
+ "type": "object",
8419
+ "properties": {
8420
+ "reason": {
8421
+ "type": "string"
8422
+ },
8423
+ "count": {
8424
+ "type": "integer"
8425
+ }
8426
+ }
8427
+ }
8428
+ },
8429
+ "sampleItemRefs": {
8430
+ "type": "array",
8431
+ "items": {
8432
+ "$ref": "#/components/schemas/PipelineWorkItemRef"
8433
+ }
8434
+ }
8435
+ }
8436
+ }
8437
+ }
8438
+ }
8439
+ },
8440
+ "400": {
8441
+ "description": "Bad request / validation",
8442
+ "content": {
8443
+ "application/json": {
8444
+ "schema": {
8445
+ "$ref": "#/components/schemas/ErrorEnvelope"
8446
+ }
8447
+ }
8448
+ }
8449
+ },
8450
+ "403": {
8451
+ "description": "Forbidden",
8452
+ "content": {
8453
+ "application/json": {
8454
+ "schema": {
8455
+ "$ref": "#/components/schemas/ErrorEnvelope"
8456
+ }
8457
+ }
8458
+ }
8459
+ },
8460
+ "404": {
8461
+ "description": "Not found",
8462
+ "content": {
8463
+ "application/json": {
8464
+ "schema": {
8465
+ "$ref": "#/components/schemas/ErrorEnvelope"
8466
+ }
8467
+ }
8468
+ }
8469
+ }
8470
+ },
8471
+ "description": "P3 read handler live on memorix-service."
8472
+ }
8473
+ },
8474
+ "/api/jobs/v1/batches": {
8475
+ "get": {
8476
+ "operationId": "jobsListBatches",
8477
+ "summary": "List batches (P3 live)",
8478
+ "tags": [
8479
+ "Jobs"
8480
+ ],
8481
+ "parameters": [
8482
+ {
8483
+ "$ref": "#/components/parameters/XMemorixOrgId"
8484
+ },
8485
+ {
8486
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8487
+ }
8488
+ ],
8489
+ "responses": {
8490
+ "200": {
8491
+ "description": "Batches",
8492
+ "content": {
8493
+ "application/json": {
8494
+ "schema": {
8495
+ "type": "object",
8496
+ "required": [
8497
+ "scope",
8498
+ "batches"
8499
+ ],
8500
+ "properties": {
8501
+ "scope": {
8502
+ "$ref": "#/components/schemas/MemorixScope"
8503
+ },
8504
+ "batches": {
8505
+ "type": "array",
8506
+ "items": {
8507
+ "$ref": "#/components/schemas/PipelineBatch"
8508
+ }
8509
+ }
8510
+ }
8511
+ }
8512
+ }
8513
+ }
8514
+ },
8515
+ "400": {
8516
+ "description": "Bad request / validation",
8517
+ "content": {
8518
+ "application/json": {
8519
+ "schema": {
8520
+ "$ref": "#/components/schemas/ErrorEnvelope"
8521
+ }
8522
+ }
8523
+ }
8524
+ },
8525
+ "403": {
8526
+ "description": "Forbidden",
8527
+ "content": {
8528
+ "application/json": {
8529
+ "schema": {
8530
+ "$ref": "#/components/schemas/ErrorEnvelope"
8531
+ }
8532
+ }
8533
+ }
8534
+ },
8535
+ "404": {
8536
+ "description": "Not found",
8537
+ "content": {
8538
+ "application/json": {
8539
+ "schema": {
8540
+ "$ref": "#/components/schemas/ErrorEnvelope"
8541
+ }
8542
+ }
8543
+ }
8544
+ }
8545
+ },
8546
+ "description": "P3 read handler live on memorix-service."
8547
+ }
8548
+ },
8549
+ "/api/jobs/v1/batches/{batchId}": {
8550
+ "get": {
8551
+ "operationId": "jobsGetBatch",
8552
+ "summary": "Batch detail (P3 live)",
8553
+ "tags": [
8554
+ "Jobs"
8555
+ ],
8556
+ "parameters": [
8557
+ {
8558
+ "$ref": "#/components/parameters/XMemorixOrgId"
8559
+ },
8560
+ {
8561
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8562
+ },
8563
+ {
8564
+ "name": "batchId",
8565
+ "in": "path",
8566
+ "required": true,
8567
+ "schema": {
8568
+ "type": "string"
8569
+ }
8570
+ }
8571
+ ],
8572
+ "responses": {
8573
+ "200": {
8574
+ "description": "Batch",
8575
+ "content": {
8576
+ "application/json": {
8577
+ "schema": {
8578
+ "type": "object",
8579
+ "required": [
8580
+ "scope",
8581
+ "batch"
8582
+ ],
8583
+ "properties": {
8584
+ "scope": {
8585
+ "$ref": "#/components/schemas/MemorixScope"
8586
+ },
8587
+ "batch": {
8588
+ "$ref": "#/components/schemas/PipelineBatch"
8589
+ }
8590
+ }
8591
+ }
8592
+ }
8593
+ }
8594
+ },
8595
+ "400": {
8596
+ "description": "Bad request / validation",
8597
+ "content": {
8598
+ "application/json": {
8599
+ "schema": {
8600
+ "$ref": "#/components/schemas/ErrorEnvelope"
8601
+ }
8602
+ }
8603
+ }
8604
+ },
8605
+ "403": {
8606
+ "description": "Forbidden",
8607
+ "content": {
8608
+ "application/json": {
8609
+ "schema": {
8610
+ "$ref": "#/components/schemas/ErrorEnvelope"
8611
+ }
8612
+ }
8613
+ }
8614
+ },
8615
+ "404": {
8616
+ "description": "Not found",
8617
+ "content": {
8618
+ "application/json": {
8619
+ "schema": {
8620
+ "$ref": "#/components/schemas/ErrorEnvelope"
8621
+ }
8622
+ }
8623
+ }
8624
+ }
8625
+ },
8626
+ "description": "P3 read handler live on memorix-service."
8627
+ }
8628
+ },
8629
+ "/api/jobs/v1/on-demand/single": {
8630
+ "post": {
8631
+ "operationId": "jobsQueueSingle",
8632
+ "summary": "Enqueue single item (P4 live)",
8633
+ "tags": [
8634
+ "Jobs"
8635
+ ],
8636
+ "parameters": [
8637
+ {
8638
+ "$ref": "#/components/parameters/XMemorixOrgId"
8639
+ },
8640
+ {
8641
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8642
+ }
8643
+ ],
8644
+ "requestBody": {
8645
+ "required": true,
8646
+ "content": {
8647
+ "application/json": {
8648
+ "schema": {
8649
+ "type": "object",
8650
+ "properties": {
8651
+ "pipelineId": {
8652
+ "type": "string"
8653
+ },
8654
+ "itemRef": {
8655
+ "$ref": "#/components/schemas/PipelineWorkItemRef"
8656
+ },
8657
+ "input": {},
8658
+ "priority": {
8659
+ "type": "integer"
8660
+ },
8661
+ "executionTarget": {
8662
+ "$ref": "#/components/schemas/ExecutionTargetRef"
8663
+ }
8664
+ },
8665
+ "description": "Provide executionTarget (preferred) or legacy pipelineId. itemRef required except for connector pulls."
8666
+ }
8667
+ }
8668
+ }
8669
+ },
8670
+ "responses": {
8671
+ "200": {
8672
+ "description": "Enqueued run",
8673
+ "content": {
8674
+ "application/json": {
8675
+ "schema": {
8676
+ "type": "object",
8677
+ "required": [
8678
+ "scope",
8679
+ "runId"
8680
+ ],
8681
+ "properties": {
8682
+ "scope": {
8683
+ "$ref": "#/components/schemas/MemorixScope"
8684
+ },
8685
+ "runId": {
8686
+ "type": "string"
8687
+ },
8688
+ "status": {
8689
+ "type": "string"
8690
+ }
8691
+ }
8692
+ }
8693
+ }
8694
+ }
8695
+ },
8696
+ "400": {
8697
+ "description": "Bad request / validation",
8698
+ "content": {
8699
+ "application/json": {
8700
+ "schema": {
8701
+ "$ref": "#/components/schemas/ErrorEnvelope"
8702
+ }
8703
+ }
8704
+ }
8705
+ },
8706
+ "403": {
8707
+ "description": "Forbidden",
8708
+ "content": {
8709
+ "application/json": {
8710
+ "schema": {
8711
+ "$ref": "#/components/schemas/ErrorEnvelope"
8712
+ }
8713
+ }
8714
+ }
8715
+ },
8716
+ "404": {
8717
+ "description": "Not found",
8718
+ "content": {
8719
+ "application/json": {
8720
+ "schema": {
8721
+ "$ref": "#/components/schemas/ErrorEnvelope"
8722
+ }
8723
+ }
8724
+ }
8725
+ }
8726
+ },
8727
+ "description": "P4 write handler live on memorix-service."
8728
+ }
8729
+ },
8730
+ "/api/jobs/v1/on-demand/batches": {
8731
+ "post": {
8732
+ "operationId": "jobsQueueBatch",
8733
+ "summary": "Create and enqueue batch (P4 live)",
8734
+ "tags": [
8735
+ "Jobs"
8736
+ ],
8737
+ "parameters": [
8738
+ {
8739
+ "$ref": "#/components/parameters/XMemorixOrgId"
8740
+ },
8741
+ {
8742
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8743
+ }
8744
+ ],
8745
+ "requestBody": {
8746
+ "required": true,
8747
+ "content": {
8748
+ "application/json": {
8749
+ "schema": {
8750
+ "type": "object",
8751
+ "required": [
8752
+ "name"
8753
+ ],
8754
+ "properties": {
8755
+ "name": {
8756
+ "type": "string"
8757
+ },
8758
+ "pipelineId": {
8759
+ "type": "string"
8760
+ },
8761
+ "selector": {
8762
+ "$ref": "#/components/schemas/WorkSelector"
8763
+ },
8764
+ "cohortItemRefs": {
8765
+ "type": "array",
8766
+ "items": {
8767
+ "$ref": "#/components/schemas/PipelineWorkItemRef"
8768
+ }
8769
+ },
8770
+ "policy": {
8771
+ "$ref": "#/components/schemas/WorkPolicy"
8772
+ },
8773
+ "executionTarget": {
8774
+ "$ref": "#/components/schemas/ExecutionTargetRef"
8775
+ }
8776
+ }
8777
+ }
8778
+ }
8779
+ }
8780
+ },
8781
+ "responses": {
8782
+ "200": {
8783
+ "description": "Batch created",
8784
+ "content": {
8785
+ "application/json": {
8786
+ "schema": {
8787
+ "type": "object",
8788
+ "required": [
8789
+ "scope",
8790
+ "batch"
8791
+ ],
8792
+ "properties": {
8793
+ "scope": {
8794
+ "$ref": "#/components/schemas/MemorixScope"
8795
+ },
8796
+ "batch": {
8797
+ "$ref": "#/components/schemas/PipelineBatch"
8798
+ }
8799
+ }
8800
+ }
8801
+ }
8802
+ }
8803
+ },
8804
+ "400": {
8805
+ "description": "Bad request / validation",
8806
+ "content": {
8807
+ "application/json": {
8808
+ "schema": {
8809
+ "$ref": "#/components/schemas/ErrorEnvelope"
8810
+ }
8811
+ }
8812
+ }
8813
+ },
8814
+ "403": {
8815
+ "description": "Forbidden",
8816
+ "content": {
8817
+ "application/json": {
8818
+ "schema": {
8819
+ "$ref": "#/components/schemas/ErrorEnvelope"
8820
+ }
8821
+ }
8822
+ }
8823
+ },
8824
+ "404": {
8825
+ "description": "Not found",
8826
+ "content": {
8827
+ "application/json": {
8828
+ "schema": {
8829
+ "$ref": "#/components/schemas/ErrorEnvelope"
8830
+ }
8831
+ }
8832
+ }
8833
+ }
8834
+ },
8835
+ "description": "P4 write handler live on memorix-service."
8836
+ }
8837
+ },
8838
+ "/api/jobs/v1/runs": {
8839
+ "get": {
8840
+ "operationId": "jobsListRuns",
8841
+ "summary": "Journal of pipeline runs (P3 live)",
8842
+ "tags": [
8843
+ "Jobs"
8844
+ ],
8845
+ "parameters": [
8846
+ {
8847
+ "$ref": "#/components/parameters/XMemorixOrgId"
8848
+ },
8849
+ {
8850
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8851
+ },
8852
+ {
8853
+ "name": "workId",
8854
+ "in": "query",
8855
+ "schema": {
8856
+ "type": "string"
8857
+ }
8858
+ },
8859
+ {
8860
+ "name": "batchId",
8861
+ "in": "query",
8862
+ "schema": {
8863
+ "type": "string"
8864
+ }
8865
+ },
8866
+ {
8867
+ "name": "pipelineId",
8868
+ "in": "query",
8869
+ "schema": {
8870
+ "type": "string"
8871
+ }
8872
+ },
8873
+ {
8874
+ "name": "admissionState",
8875
+ "in": "query",
8876
+ "schema": {
8877
+ "type": "string"
8878
+ }
8879
+ },
8880
+ {
8881
+ "name": "objectType",
8882
+ "in": "query",
8883
+ "description": "Filter by itemRef.objectType",
8884
+ "schema": {
8885
+ "type": "string"
8886
+ }
8887
+ },
8888
+ {
8889
+ "name": "recordId",
8890
+ "in": "query",
8891
+ "description": "Filter by itemRef.recordId",
8892
+ "schema": {
8893
+ "type": "string"
8894
+ }
8895
+ },
8896
+ {
8897
+ "name": "status",
8898
+ "in": "query",
8899
+ "schema": {
8900
+ "type": "string"
8901
+ }
8902
+ },
8903
+ {
8904
+ "name": "limit",
8905
+ "in": "query",
8906
+ "schema": {
8907
+ "type": "integer",
8908
+ "minimum": 1
8909
+ }
8910
+ },
8911
+ {
8912
+ "name": "cursor",
8913
+ "in": "query",
8914
+ "schema": {
8915
+ "type": "string"
8916
+ }
8917
+ }
8918
+ ],
8919
+ "responses": {
8920
+ "200": {
8921
+ "description": "Runs page",
8922
+ "content": {
8923
+ "application/json": {
8924
+ "schema": {
8925
+ "type": "object",
8926
+ "required": [
8927
+ "scope",
8928
+ "runs"
8929
+ ],
8930
+ "properties": {
8931
+ "scope": {
8932
+ "$ref": "#/components/schemas/MemorixScope"
8933
+ },
8934
+ "runs": {
8935
+ "type": "array",
8936
+ "items": {
8937
+ "type": "object"
8938
+ }
8939
+ },
8940
+ "page": {
8941
+ "$ref": "#/components/schemas/PageInfo"
8942
+ }
8943
+ }
8944
+ }
8945
+ }
8946
+ }
8947
+ },
8948
+ "400": {
8949
+ "description": "Bad request / validation",
8950
+ "content": {
8951
+ "application/json": {
8952
+ "schema": {
8953
+ "$ref": "#/components/schemas/ErrorEnvelope"
8954
+ }
8955
+ }
8956
+ }
8957
+ },
8958
+ "403": {
8959
+ "description": "Forbidden",
8960
+ "content": {
8961
+ "application/json": {
8962
+ "schema": {
8963
+ "$ref": "#/components/schemas/ErrorEnvelope"
8964
+ }
8965
+ }
8966
+ }
8967
+ },
8968
+ "404": {
8969
+ "description": "Not found",
8970
+ "content": {
8971
+ "application/json": {
8972
+ "schema": {
8973
+ "$ref": "#/components/schemas/ErrorEnvelope"
8974
+ }
8975
+ }
8976
+ }
8977
+ }
8978
+ },
8979
+ "description": "P3 read handler live on memorix-service."
8980
+ }
8981
+ },
8982
+ "/api/jobs/v1/runs/{runId}": {
8983
+ "get": {
8984
+ "operationId": "jobsGetRun",
8985
+ "summary": "Run detail (P3 live)",
8986
+ "tags": [
8987
+ "Jobs"
8988
+ ],
8989
+ "parameters": [
8990
+ {
8991
+ "$ref": "#/components/parameters/XMemorixOrgId"
8992
+ },
8993
+ {
8994
+ "$ref": "#/components/parameters/XMemorixAgentIds"
8995
+ },
8996
+ {
8997
+ "name": "runId",
8998
+ "in": "path",
8999
+ "required": true,
9000
+ "schema": {
9001
+ "type": "string"
9002
+ }
9003
+ }
9004
+ ],
9005
+ "responses": {
9006
+ "200": {
9007
+ "description": "Run",
9008
+ "content": {
9009
+ "application/json": {
9010
+ "schema": {
9011
+ "type": "object",
9012
+ "required": [
9013
+ "scope",
9014
+ "run"
9015
+ ],
9016
+ "properties": {
9017
+ "scope": {
9018
+ "$ref": "#/components/schemas/MemorixScope"
9019
+ },
9020
+ "run": {
9021
+ "type": "object"
9022
+ },
9023
+ "steps": {
9024
+ "type": "array",
9025
+ "items": {
9026
+ "type": "object"
9027
+ }
9028
+ },
9029
+ "admission": {
9030
+ "$ref": "#/components/schemas/PipelineAdmission"
9031
+ }
9032
+ }
9033
+ }
9034
+ }
9035
+ }
9036
+ },
9037
+ "400": {
9038
+ "description": "Bad request / validation",
9039
+ "content": {
9040
+ "application/json": {
9041
+ "schema": {
9042
+ "$ref": "#/components/schemas/ErrorEnvelope"
9043
+ }
9044
+ }
9045
+ }
9046
+ },
9047
+ "403": {
9048
+ "description": "Forbidden",
9049
+ "content": {
9050
+ "application/json": {
9051
+ "schema": {
9052
+ "$ref": "#/components/schemas/ErrorEnvelope"
9053
+ }
9054
+ }
9055
+ }
9056
+ },
9057
+ "404": {
9058
+ "description": "Not found",
9059
+ "content": {
9060
+ "application/json": {
9061
+ "schema": {
9062
+ "$ref": "#/components/schemas/ErrorEnvelope"
9063
+ }
9064
+ }
9065
+ }
9066
+ }
9067
+ },
9068
+ "description": "P3 read handler live on memorix-service."
9069
+ }
9070
+ },
9071
+ "/api/jobs/v1/information/preview": {
9072
+ "get": {
9073
+ "operationId": "jobsInformationPreview",
9074
+ "summary": "Selector preview over Memorix data (P3 live)",
9075
+ "tags": [
9076
+ "Jobs"
9077
+ ],
9078
+ "parameters": [
9079
+ {
9080
+ "$ref": "#/components/parameters/XMemorixOrgId"
9081
+ },
9082
+ {
9083
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9084
+ },
9085
+ {
9086
+ "name": "abstractType",
9087
+ "in": "query",
9088
+ "required": true,
9089
+ "schema": {
9090
+ "type": "string"
9091
+ }
9092
+ },
9093
+ {
9094
+ "name": "contentType",
9095
+ "in": "query",
9096
+ "schema": {
9097
+ "type": "string"
9098
+ }
9099
+ },
9100
+ {
9101
+ "name": "limit",
9102
+ "in": "query",
9103
+ "schema": {
9104
+ "type": "integer",
9105
+ "minimum": 1
9106
+ }
9107
+ }
9108
+ ],
9109
+ "responses": {
9110
+ "200": {
9111
+ "description": "Preview items",
9112
+ "content": {
9113
+ "application/json": {
9114
+ "schema": {
9115
+ "type": "object",
9116
+ "required": [
9117
+ "scope",
9118
+ "items"
9119
+ ],
9120
+ "properties": {
9121
+ "scope": {
9122
+ "$ref": "#/components/schemas/MemorixScope"
9123
+ },
9124
+ "items": {
9125
+ "type": "array",
9126
+ "items": {
9127
+ "$ref": "#/components/schemas/PipelineWorkItemRef"
9128
+ }
9129
+ },
9130
+ "matched": {
9131
+ "type": "integer"
9132
+ }
9133
+ }
9134
+ }
9135
+ }
9136
+ }
9137
+ },
9138
+ "400": {
9139
+ "description": "Bad request / validation",
9140
+ "content": {
9141
+ "application/json": {
9142
+ "schema": {
9143
+ "$ref": "#/components/schemas/ErrorEnvelope"
9144
+ }
9145
+ }
9146
+ }
9147
+ },
9148
+ "403": {
9149
+ "description": "Forbidden",
9150
+ "content": {
9151
+ "application/json": {
9152
+ "schema": {
9153
+ "$ref": "#/components/schemas/ErrorEnvelope"
9154
+ }
9155
+ }
9156
+ }
9157
+ },
9158
+ "404": {
9159
+ "description": "Not found",
9160
+ "content": {
9161
+ "application/json": {
9162
+ "schema": {
9163
+ "$ref": "#/components/schemas/ErrorEnvelope"
9164
+ }
9165
+ }
9166
+ }
9167
+ }
9168
+ },
9169
+ "description": "P3 read handler live on memorix-service."
9170
+ }
9171
+ },
9172
+ "/api/jobs/v1/work/{workId}/evaluate": {
9173
+ "post": {
9174
+ "operationId": "jobsEvaluateWork",
9175
+ "summary": "Evaluate Work now (P4 live)",
9176
+ "description": "P4 write handler live on memorix-service.",
9177
+ "tags": [
9178
+ "Jobs"
9179
+ ],
9180
+ "parameters": [
9181
+ {
9182
+ "$ref": "#/components/parameters/XMemorixOrgId"
9183
+ },
9184
+ {
9185
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9186
+ },
9187
+ {
9188
+ "name": "workId",
9189
+ "in": "path",
9190
+ "required": true,
9191
+ "schema": {
9192
+ "type": "string"
9193
+ }
9194
+ }
9195
+ ],
9196
+ "responses": {
9197
+ "200": {
9198
+ "description": "OK",
9199
+ "content": {
9200
+ "application/json": {
9201
+ "schema": {
9202
+ "type": "object",
9203
+ "required": [
9204
+ "scope"
9205
+ ],
9206
+ "properties": {
9207
+ "scope": {
9208
+ "$ref": "#/components/schemas/MemorixScope"
9209
+ },
9210
+ "evaluation": {
9211
+ "type": "object"
9212
+ }
9213
+ },
9214
+ "additionalProperties": true
9215
+ }
9216
+ }
9217
+ }
9218
+ }
9219
+ }
9220
+ }
9221
+ },
9222
+ "/api/jobs/v1/work/{workId}/actions/{action}": {
9223
+ "post": {
9224
+ "operationId": "jobsWorkAction",
9225
+ "summary": "Pause, resume, or evaluate-now (P4 live)",
9226
+ "description": "P4 write handler live on memorix-service.",
9227
+ "tags": [
9228
+ "Jobs"
9229
+ ],
9230
+ "parameters": [
9231
+ {
9232
+ "$ref": "#/components/parameters/XMemorixOrgId"
9233
+ },
9234
+ {
9235
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9236
+ },
9237
+ {
9238
+ "name": "workId",
9239
+ "in": "path",
9240
+ "required": true,
9241
+ "schema": {
9242
+ "type": "string"
9243
+ }
9244
+ },
9245
+ {
9246
+ "name": "action",
9247
+ "in": "path",
9248
+ "required": true,
9249
+ "schema": {
9250
+ "type": "string",
9251
+ "enum": [
9252
+ "pause",
9253
+ "resume",
9254
+ "evaluate-now"
9255
+ ]
9256
+ }
9257
+ }
9258
+ ],
9259
+ "responses": {
9260
+ "200": {
9261
+ "description": "OK",
9262
+ "content": {
9263
+ "application/json": {
9264
+ "schema": {
9265
+ "type": "object",
9266
+ "required": [
9267
+ "scope"
9268
+ ],
9269
+ "properties": {
9270
+ "scope": {
9271
+ "$ref": "#/components/schemas/MemorixScope"
9272
+ }
9273
+ },
9274
+ "additionalProperties": true
9275
+ }
9276
+ }
9277
+ }
9278
+ }
9279
+ }
9280
+ }
9281
+ },
9282
+ "/api/jobs/v1/batches/{batchId}/recover": {
9283
+ "post": {
9284
+ "operationId": "jobsRecoverBatch",
9285
+ "summary": "Recover failed batch cohort (P4 live)",
9286
+ "description": "Requires confirm:true. P4 write handler live.",
9287
+ "tags": [
9288
+ "Jobs"
9289
+ ],
9290
+ "parameters": [
9291
+ {
9292
+ "$ref": "#/components/parameters/XMemorixOrgId"
9293
+ },
9294
+ {
9295
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9296
+ },
9297
+ {
9298
+ "name": "batchId",
9299
+ "in": "path",
9300
+ "required": true,
9301
+ "schema": {
9302
+ "type": "string"
9303
+ }
9304
+ }
9305
+ ],
9306
+ "requestBody": {
9307
+ "required": true,
9308
+ "content": {
9309
+ "application/json": {
9310
+ "schema": {
9311
+ "type": "object",
9312
+ "required": [
9313
+ "confirm"
9314
+ ],
9315
+ "properties": {
9316
+ "confirm": {
9317
+ "type": "boolean"
9318
+ }
9319
+ }
9320
+ }
9321
+ }
9322
+ }
9323
+ },
9324
+ "responses": {
9325
+ "200": {
9326
+ "description": "OK",
9327
+ "content": {
9328
+ "application/json": {
9329
+ "schema": {
9330
+ "type": "object",
9331
+ "required": [
9332
+ "scope"
9333
+ ],
9334
+ "properties": {
9335
+ "scope": {
9336
+ "$ref": "#/components/schemas/MemorixScope"
9337
+ },
9338
+ "batch": {
9339
+ "type": "object"
9340
+ },
9341
+ "runs": {
9342
+ "type": "array",
9343
+ "items": {
9344
+ "type": "object"
9345
+ }
9346
+ }
9347
+ },
9348
+ "additionalProperties": true
9349
+ }
9350
+ }
9351
+ }
9352
+ }
9353
+ }
9354
+ }
9355
+ },
9356
+ "/api/jobs/v1/runs/{runId}/cancel": {
9357
+ "post": {
9358
+ "operationId": "jobsCancelRun",
9359
+ "summary": "Cancel run (P4 live)",
9360
+ "description": "Requires confirm:true. Soft-cancel pipeline run.",
9361
+ "tags": [
9362
+ "Jobs"
9363
+ ],
9364
+ "parameters": [
9365
+ {
9366
+ "$ref": "#/components/parameters/XMemorixOrgId"
9367
+ },
9368
+ {
9369
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9370
+ },
9371
+ {
9372
+ "name": "runId",
9373
+ "in": "path",
9374
+ "required": true,
9375
+ "schema": {
9376
+ "type": "string"
9377
+ }
9378
+ }
9379
+ ],
9380
+ "requestBody": {
9381
+ "required": true,
9382
+ "content": {
9383
+ "application/json": {
9384
+ "schema": {
9385
+ "type": "object",
9386
+ "required": [
9387
+ "confirm"
9388
+ ],
9389
+ "properties": {
9390
+ "confirm": {
9391
+ "type": "boolean"
9392
+ }
9393
+ }
9394
+ }
9395
+ }
9396
+ }
9397
+ },
9398
+ "responses": {
9399
+ "200": {
9400
+ "description": "OK",
9401
+ "content": {
9402
+ "application/json": {
9403
+ "schema": {
9404
+ "type": "object",
9405
+ "required": [
9406
+ "scope"
9407
+ ],
9408
+ "properties": {
9409
+ "scope": {
9410
+ "$ref": "#/components/schemas/MemorixScope"
9411
+ },
9412
+ "run": {
9413
+ "type": "object"
9414
+ }
9415
+ },
9416
+ "additionalProperties": true
9417
+ }
9418
+ }
9419
+ }
9420
+ }
9421
+ }
9422
+ }
9423
+ },
9424
+ "/api/jobs/v1/runs/{runId}/retry": {
9425
+ "post": {
9426
+ "operationId": "jobsRetryRun",
9427
+ "summary": "Retry / re-queue run (P4 live)",
9428
+ "description": "Requires confirm:true. Creates superseding PipelineRun.",
9429
+ "tags": [
9430
+ "Jobs"
9431
+ ],
9432
+ "parameters": [
9433
+ {
9434
+ "$ref": "#/components/parameters/XMemorixOrgId"
9435
+ },
9436
+ {
9437
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9438
+ },
9439
+ {
9440
+ "name": "runId",
9441
+ "in": "path",
9442
+ "required": true,
9443
+ "schema": {
9444
+ "type": "string"
9445
+ }
9446
+ }
9447
+ ],
9448
+ "requestBody": {
9449
+ "required": true,
9450
+ "content": {
9451
+ "application/json": {
9452
+ "schema": {
9453
+ "type": "object",
9454
+ "required": [
9455
+ "confirm"
9456
+ ],
9457
+ "properties": {
9458
+ "confirm": {
9459
+ "type": "boolean"
9460
+ }
9461
+ }
9462
+ }
9463
+ }
9464
+ }
9465
+ },
9466
+ "responses": {
9467
+ "200": {
9468
+ "description": "OK",
9469
+ "content": {
9470
+ "application/json": {
9471
+ "schema": {
9472
+ "type": "object",
9473
+ "required": [
9474
+ "scope"
9475
+ ],
9476
+ "properties": {
9477
+ "scope": {
9478
+ "$ref": "#/components/schemas/MemorixScope"
9479
+ },
9480
+ "run": {
9481
+ "type": "object"
9482
+ }
9483
+ },
9484
+ "additionalProperties": true
9485
+ }
9486
+ }
9487
+ }
9488
+ }
9489
+ }
9490
+ }
9491
+ },
9492
+ "/api/jobs/v1/execution-targets": {
9493
+ "get": {
9494
+ "operationId": "jobsListExecutionTargets",
9495
+ "summary": "List executable targets (pipelines, connectors, services, AI items)",
9496
+ "tags": [
9497
+ "Jobs"
9498
+ ],
9499
+ "parameters": [
9500
+ {
9501
+ "$ref": "#/components/parameters/XMemorixOrgId"
9502
+ },
9503
+ {
9504
+ "$ref": "#/components/parameters/XMemorixAgentIds"
9505
+ }
9506
+ ],
9507
+ "responses": {
9508
+ "200": {
9509
+ "description": "Execution target catalog",
9510
+ "content": {
9511
+ "application/json": {
9512
+ "schema": {
9513
+ "type": "object",
9514
+ "required": [
9515
+ "scope",
9516
+ "pipelines",
9517
+ "connectors",
9518
+ "sourceConnectors",
9519
+ "targetConnectors",
9520
+ "services",
9521
+ "aiServices"
9522
+ ],
9523
+ "properties": {
9524
+ "scope": {
9525
+ "$ref": "#/components/schemas/MemorixScope"
9526
+ },
9527
+ "pipelines": {
9528
+ "type": "array",
9529
+ "items": {
9530
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
9531
+ }
9532
+ },
9533
+ "connectors": {
9534
+ "type": "array",
9535
+ "description": "Compat alias of sourceConnectors",
9536
+ "items": {
9537
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
9538
+ }
9539
+ },
9540
+ "sourceConnectors": {
9541
+ "type": "array",
9542
+ "description": "Pull-capable (inbound) connectors and bound sources",
9543
+ "items": {
9544
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
9545
+ }
9546
+ },
9547
+ "targetConnectors": {
9548
+ "type": "array",
9549
+ "description": "Outbound (push/export/destination) connectors",
9550
+ "items": {
9551
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
9552
+ }
9553
+ },
9554
+ "services": {
9555
+ "type": "array",
9556
+ "items": {
9557
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
9558
+ }
9559
+ },
9560
+ "aiServices": {
9561
+ "type": "array",
9562
+ "items": {
9563
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
9564
+ }
9565
+ }
9566
+ }
9567
+ }
9568
+ }
9569
+ }
9570
+ },
9571
+ "400": {
9572
+ "description": "Bad request / validation",
9573
+ "content": {
9574
+ "application/json": {
9575
+ "schema": {
9576
+ "$ref": "#/components/schemas/ErrorEnvelope"
9577
+ }
9578
+ }
9579
+ }
9580
+ }
9581
+ },
9582
+ "description": "Catalog for Jobs Manager execution-target picker."
9583
+ }
9584
+ }
9585
+ },
9586
+ "components": {
9587
+ "parameters": {
9588
+ "XMemorixOrgId": {
9589
+ "name": "x-memorix-org-id",
9590
+ "in": "header",
9591
+ "required": true,
9592
+ "schema": {
9593
+ "type": "string",
9594
+ "minLength": 1
9595
+ },
9596
+ "description": "Organization / data-universe id"
9597
+ },
9598
+ "XMemorixAgentIds": {
9599
+ "name": "x-memorix-agent-ids",
9600
+ "in": "header",
9601
+ "required": true,
9602
+ "schema": {
9603
+ "type": "string",
9604
+ "minLength": 1
9605
+ },
9606
+ "description": "Comma-separated agentIds for effective metadata",
9607
+ "example": "ops,fieldstone"
9608
+ }
9609
+ },
9610
+ "schemas": {
9611
+ "MemorixScope": {
9612
+ "type": "object",
9613
+ "required": [
9614
+ "orgId",
9615
+ "agentIds"
9616
+ ],
9617
+ "additionalProperties": false,
9618
+ "properties": {
9619
+ "orgId": {
9620
+ "type": "string",
9621
+ "minLength": 1,
9622
+ "description": "Data universe / org isolation key"
9623
+ },
9624
+ "agentIds": {
9625
+ "type": "array",
9626
+ "items": {
9627
+ "type": "string",
9628
+ "minLength": 1
9629
+ },
9630
+ "minItems": 1,
9631
+ "uniqueItems": true,
9632
+ "description": "Effective metadata agent chain (canonicalized/sorted)"
9633
+ }
9634
+ },
9635
+ "example": {
9636
+ "orgId": "acme",
9637
+ "agentIds": [
9638
+ "opx",
9639
+ "fieldstone"
9640
+ ]
9641
+ }
9642
+ },
9643
+ "MemorixIdentifier": {
9644
+ "type": "object",
9645
+ "required": [
9646
+ "kind",
9647
+ "value"
9648
+ ],
9649
+ "properties": {
9650
+ "kind": {
9651
+ "type": "string"
9652
+ },
9653
+ "value": {
9654
+ "type": "string"
9655
+ },
9656
+ "issuer": {
9657
+ "type": "string"
9658
+ },
9659
+ "normalizedValue": {
9660
+ "type": "string"
9661
+ }
9662
+ }
9663
+ },
9664
+ "MemorixRecordV2": {
9665
+ "type": "object",
9666
+ "required": [
9667
+ "format",
9668
+ "recordId",
9669
+ "revision",
9670
+ "objectType",
9671
+ "contentType",
9672
+ "dataCategory",
9673
+ "concept",
9674
+ "data",
9675
+ "_system"
9676
+ ],
9677
+ "properties": {
9678
+ "format": {
9679
+ "type": "string",
9680
+ "enum": [
9681
+ "memorix-record/2"
9682
+ ]
9683
+ },
9684
+ "recordId": {
9685
+ "type": "string"
9686
+ },
9687
+ "revision": {
9688
+ "type": "integer",
9689
+ "minimum": 1
9690
+ },
9691
+ "objectType": {
9692
+ "type": "string"
9693
+ },
9694
+ "contentType": {
9695
+ "type": "string"
9696
+ },
9697
+ "dataCategory": {
9698
+ "type": "string",
9699
+ "enum": [
9700
+ "entity",
9701
+ "event",
9702
+ "knowledge"
9703
+ ]
9704
+ },
9705
+ "concept": {
9706
+ "type": "object",
9707
+ "required": [
9708
+ "title",
9709
+ "identifiers"
9710
+ ],
9711
+ "properties": {
9712
+ "title": {
9713
+ "type": "string"
9714
+ },
9715
+ "identifiers": {
9716
+ "type": "object",
9717
+ "required": [
9718
+ "primary"
9719
+ ],
9720
+ "properties": {
9721
+ "primary": {
9722
+ "$ref": "#/components/schemas/MemorixIdentifier"
9723
+ },
9724
+ "alternates": {
9725
+ "type": "array",
9726
+ "items": {
9727
+ "$ref": "#/components/schemas/MemorixIdentifier"
9728
+ }
9729
+ }
9730
+ }
9731
+ }
9732
+ }
9733
+ },
9734
+ "data": {
9735
+ "type": "object",
9736
+ "additionalProperties": true
9737
+ },
9738
+ "analytics": {
9739
+ "type": "object",
9740
+ "additionalProperties": true
9741
+ },
9742
+ "enrichment": {
9743
+ "type": "object",
9744
+ "additionalProperties": true
7616
9745
  },
7617
9746
  "insights": {
7618
9747
  "type": "object",
@@ -7899,888 +10028,1413 @@
7899
10028
  }
7900
10029
  }
7901
10030
  },
7902
- {
10031
+ {
10032
+ "type": "object",
10033
+ "required": [
10034
+ "field",
10035
+ "op",
10036
+ "value"
10037
+ ],
10038
+ "properties": {
10039
+ "field": {
10040
+ "type": "string"
10041
+ },
10042
+ "op": {
10043
+ "type": "string",
10044
+ "enum": [
10045
+ "exists"
10046
+ ]
10047
+ },
10048
+ "value": {
10049
+ "type": "boolean"
10050
+ }
10051
+ }
10052
+ }
10053
+ ]
10054
+ },
10055
+ "SafeSort": {
10056
+ "type": "object",
10057
+ "required": [
10058
+ "field",
10059
+ "direction"
10060
+ ],
10061
+ "properties": {
10062
+ "field": {
10063
+ "type": "string"
10064
+ },
10065
+ "direction": {
10066
+ "type": "string",
10067
+ "enum": [
10068
+ "asc",
10069
+ "desc"
10070
+ ]
10071
+ }
10072
+ }
10073
+ },
10074
+ "RelationshipRef": {
10075
+ "type": "object",
10076
+ "required": [
10077
+ "relationshipId",
10078
+ "relationshipDefinitionId",
10079
+ "fromRecordId",
10080
+ "toRecordId"
10081
+ ],
10082
+ "properties": {
10083
+ "relationshipId": {
10084
+ "type": "string"
10085
+ },
10086
+ "relationshipDefinitionId": {
10087
+ "type": "string"
10088
+ },
10089
+ "fromRecordId": {
10090
+ "type": "string"
10091
+ },
10092
+ "toRecordId": {
10093
+ "type": "string"
10094
+ },
10095
+ "relatedRecordId": {
10096
+ "type": "string"
10097
+ },
10098
+ "traversal": {
10099
+ "type": "string",
10100
+ "enum": [
10101
+ "forward",
10102
+ "inverse"
10103
+ ]
10104
+ },
10105
+ "path": {
10106
+ "type": "string"
10107
+ },
10108
+ "targetStatus": {
10109
+ "type": "string",
10110
+ "enum": [
10111
+ "available",
10112
+ "unresolved"
10113
+ ]
10114
+ }
10115
+ }
10116
+ },
10117
+ "UnresolvedTarget": {
10118
+ "type": "object",
10119
+ "required": [
10120
+ "recordId",
10121
+ "reason"
10122
+ ],
10123
+ "properties": {
10124
+ "recordId": {
10125
+ "type": "string"
10126
+ },
10127
+ "relationshipDefinitionId": {
10128
+ "type": "string"
10129
+ },
10130
+ "reason": {
10131
+ "type": "string"
10132
+ },
10133
+ "endpoint": {
10134
+ "type": "string",
10135
+ "enum": [
10136
+ "from",
10137
+ "to"
10138
+ ]
10139
+ }
10140
+ }
10141
+ },
10142
+ "AbstractProjection": {
10143
+ "type": "object",
10144
+ "required": [
10145
+ "abstractType",
10146
+ "recordId",
10147
+ "objectType",
10148
+ "contentType",
10149
+ "properties"
10150
+ ],
10151
+ "properties": {
10152
+ "abstractType": {
10153
+ "type": "string"
10154
+ },
10155
+ "recordId": {
10156
+ "type": "string"
10157
+ },
10158
+ "objectType": {
10159
+ "type": "string"
10160
+ },
10161
+ "dataCategory": {
10162
+ "type": "string",
10163
+ "enum": [
10164
+ "entity",
10165
+ "event",
10166
+ "knowledge"
10167
+ ]
10168
+ },
10169
+ "contentType": {
10170
+ "type": "string"
10171
+ },
10172
+ "properties": {
10173
+ "type": "object",
10174
+ "additionalProperties": true
10175
+ },
10176
+ "revision": {
10177
+ "type": "integer"
10178
+ }
10179
+ }
10180
+ },
10181
+ "RunRef": {
10182
+ "type": "object",
10183
+ "required": [
10184
+ "runId",
10185
+ "kind"
10186
+ ],
10187
+ "properties": {
10188
+ "runId": {
10189
+ "type": "string"
10190
+ },
10191
+ "kind": {
10192
+ "type": "string",
10193
+ "enum": [
10194
+ "pipeline",
10195
+ "memory",
10196
+ "relationship",
10197
+ "intelligence"
10198
+ ]
10199
+ },
10200
+ "status": {
10201
+ "type": "string"
10202
+ },
10203
+ "pipelineId": {
10204
+ "type": "string"
10205
+ },
10206
+ "sourceId": {
10207
+ "type": "string"
10208
+ },
10209
+ "definitionId": {
10210
+ "type": "string"
10211
+ },
10212
+ "startedAt": {
10213
+ "type": "string",
10214
+ "format": "date-time"
10215
+ }
10216
+ }
10217
+ },
10218
+ "StepAttempt": {
10219
+ "type": "object",
10220
+ "required": [
10221
+ "attemptId",
10222
+ "runId",
10223
+ "stepId",
10224
+ "stepKind",
10225
+ "attemptNumber",
10226
+ "status",
10227
+ "startedAt",
10228
+ "updatedAt"
10229
+ ],
10230
+ "properties": {
10231
+ "attemptId": {
10232
+ "type": "string"
10233
+ },
10234
+ "runId": {
10235
+ "type": "string"
10236
+ },
10237
+ "orgId": {
10238
+ "type": "string"
10239
+ },
10240
+ "stepId": {
10241
+ "type": "string"
10242
+ },
10243
+ "stepKind": {
10244
+ "type": "string"
10245
+ },
10246
+ "attemptNumber": {
10247
+ "type": "integer",
10248
+ "minimum": 1
10249
+ },
10250
+ "status": {
10251
+ "type": "string",
10252
+ "enum": [
10253
+ "pending",
10254
+ "running",
10255
+ "succeeded",
10256
+ "failed",
10257
+ "skipped"
10258
+ ]
10259
+ },
10260
+ "idempotencyKey": {
10261
+ "type": "string"
10262
+ },
10263
+ "input": {},
10264
+ "output": {},
10265
+ "error": {
7903
10266
  "type": "object",
7904
- "required": [
7905
- "field",
7906
- "op",
7907
- "value"
7908
- ],
7909
10267
  "properties": {
7910
- "field": {
10268
+ "code": {
7911
10269
  "type": "string"
7912
10270
  },
7913
- "op": {
7914
- "type": "string",
7915
- "enum": [
7916
- "exists"
7917
- ]
7918
- },
7919
- "value": {
7920
- "type": "boolean"
10271
+ "message": {
10272
+ "type": "string"
7921
10273
  }
7922
10274
  }
7923
- }
7924
- ]
7925
- },
7926
- "SafeSort": {
7927
- "type": "object",
7928
- "required": [
7929
- "field",
7930
- "direction"
7931
- ],
7932
- "properties": {
7933
- "field": {
7934
- "type": "string"
7935
10275
  },
7936
- "direction": {
10276
+ "startedAt": {
7937
10277
  "type": "string",
7938
- "enum": [
7939
- "asc",
7940
- "desc"
7941
- ]
10278
+ "format": "date-time"
10279
+ },
10280
+ "updatedAt": {
10281
+ "type": "string",
10282
+ "format": "date-time"
10283
+ },
10284
+ "finishedAt": {
10285
+ "type": "string",
10286
+ "format": "date-time"
7942
10287
  }
7943
10288
  }
7944
10289
  },
7945
- "RelationshipRef": {
10290
+ "ArtifactDataRef": {
7946
10291
  "type": "object",
7947
10292
  "required": [
7948
- "relationshipId",
7949
- "relationshipDefinitionId",
7950
- "fromRecordId",
7951
- "toRecordId"
10293
+ "kind",
10294
+ "contentHash",
10295
+ "sizeBytes"
7952
10296
  ],
7953
10297
  "properties": {
7954
- "relationshipId": {
10298
+ "kind": {
10299
+ "type": "string",
10300
+ "enum": [
10301
+ "inline",
10302
+ "artifact"
10303
+ ]
10304
+ },
10305
+ "data": {},
10306
+ "artifactId": {
7955
10307
  "type": "string"
7956
10308
  },
7957
- "relationshipDefinitionId": {
10309
+ "contentHash": {
7958
10310
  "type": "string"
7959
10311
  },
7960
- "fromRecordId": {
10312
+ "sizeBytes": {
10313
+ "type": "integer",
10314
+ "minimum": 0
10315
+ },
10316
+ "collection": {
7961
10317
  "type": "string"
7962
10318
  },
7963
- "toRecordId": {
10319
+ "objectType": {
7964
10320
  "type": "string"
7965
10321
  },
7966
- "relatedRecordId": {
10322
+ "contentType": {
7967
10323
  "type": "string"
7968
10324
  },
7969
- "traversal": {
10325
+ "recordId": {
10326
+ "type": "string"
10327
+ },
10328
+ "count": {
10329
+ "type": "integer"
10330
+ },
10331
+ "mediaType": {
10332
+ "type": "string"
10333
+ },
10334
+ "runId": {
10335
+ "type": "string"
10336
+ },
10337
+ "stepId": {
10338
+ "type": "string"
10339
+ },
10340
+ "attemptId": {
10341
+ "type": "string"
10342
+ }
10343
+ }
10344
+ },
10345
+ "MemoryPullRequest": {
10346
+ "type": "object",
10347
+ "required": [
10348
+ "sourceId"
10349
+ ],
10350
+ "properties": {
10351
+ "sourceId": {
10352
+ "type": "string"
10353
+ },
10354
+ "mode": {
7970
10355
  "type": "string",
7971
10356
  "enum": [
7972
- "forward",
7973
- "inverse"
10357
+ "scheduled",
10358
+ "on-demand",
10359
+ "context",
10360
+ "knowledge"
7974
10361
  ]
7975
10362
  },
7976
- "path": {
7977
- "type": "string"
7978
- },
7979
- "targetStatus": {
10363
+ "trigger": {
7980
10364
  "type": "string",
7981
10365
  "enum": [
7982
- "available",
7983
- "unresolved"
10366
+ "scheduled",
10367
+ "on-demand"
7984
10368
  ]
10369
+ },
10370
+ "credentialRef": {
10371
+ "type": "string",
10372
+ "description": "Credential reference only — never resolved secrets"
10373
+ },
10374
+ "cursor": {
10375
+ "type": "string"
10376
+ },
10377
+ "workRef": {
10378
+ "type": "string"
7985
10379
  }
7986
- }
10380
+ },
10381
+ "additionalProperties": false
7987
10382
  },
7988
- "UnresolvedTarget": {
10383
+ "MemoryRun": {
7989
10384
  "type": "object",
7990
10385
  "required": [
7991
- "recordId",
7992
- "reason"
10386
+ "pullId",
10387
+ "sourceId",
10388
+ "status"
7993
10389
  ],
7994
10390
  "properties": {
7995
- "recordId": {
10391
+ "pullId": {
7996
10392
  "type": "string"
7997
10393
  },
7998
- "relationshipDefinitionId": {
10394
+ "runId": {
7999
10395
  "type": "string"
8000
10396
  },
8001
- "reason": {
10397
+ "scope": {
10398
+ "$ref": "#/components/schemas/MemorixScope"
10399
+ },
10400
+ "sourceId": {
8002
10401
  "type": "string"
8003
10402
  },
8004
- "endpoint": {
10403
+ "mode": {
10404
+ "type": "string"
10405
+ },
10406
+ "trigger": {
10407
+ "type": "string"
10408
+ },
10409
+ "status": {
8005
10410
  "type": "string",
8006
10411
  "enum": [
8007
- "from",
8008
- "to"
10412
+ "accepted",
10413
+ "succeeded",
10414
+ "succeeded_with_quarantine",
10415
+ "failed",
10416
+ "running"
8009
10417
  ]
10418
+ },
10419
+ "startedAt": {
10420
+ "type": "string",
10421
+ "format": "date-time"
10422
+ },
10423
+ "finishedAt": {
10424
+ "type": "string",
10425
+ "format": "date-time"
10426
+ },
10427
+ "counts": {
10428
+ "type": "object",
10429
+ "properties": {
10430
+ "pages": {
10431
+ "type": "integer"
10432
+ },
10433
+ "items": {
10434
+ "type": "integer"
10435
+ },
10436
+ "created": {
10437
+ "type": "integer"
10438
+ },
10439
+ "updated": {
10440
+ "type": "integer"
10441
+ },
10442
+ "deduplicated": {
10443
+ "type": "integer"
10444
+ },
10445
+ "quarantined": {
10446
+ "type": "integer"
10447
+ }
10448
+ }
10449
+ },
10450
+ "quarantineRefs": {
10451
+ "type": "array",
10452
+ "items": {
10453
+ "type": "string"
10454
+ }
10455
+ },
10456
+ "routeSummaries": {
10457
+ "type": "array",
10458
+ "items": {
10459
+ "type": "object",
10460
+ "properties": {
10461
+ "objectType": {
10462
+ "type": "string"
10463
+ },
10464
+ "routeEndpoint": {
10465
+ "type": "string"
10466
+ },
10467
+ "items": {
10468
+ "type": "integer"
10469
+ },
10470
+ "created": {
10471
+ "type": "integer"
10472
+ },
10473
+ "updated": {
10474
+ "type": "integer"
10475
+ },
10476
+ "deduplicated": {
10477
+ "type": "integer"
10478
+ },
10479
+ "quarantined": {
10480
+ "type": "integer"
10481
+ },
10482
+ "startingCursor": {
10483
+ "type": [
10484
+ "string",
10485
+ "null"
10486
+ ]
10487
+ },
10488
+ "endingCursor": {
10489
+ "type": [
10490
+ "string",
10491
+ "null"
10492
+ ]
10493
+ }
10494
+ }
10495
+ }
8010
10496
  }
8011
10497
  }
8012
10498
  },
8013
- "AbstractProjection": {
10499
+ "MemorySourceRoute": {
8014
10500
  "type": "object",
8015
10501
  "required": [
8016
- "abstractType",
8017
- "recordId",
10502
+ "endpoint",
8018
10503
  "objectType",
8019
- "contentType",
8020
- "properties"
10504
+ "dataCategory"
8021
10505
  ],
8022
10506
  "properties": {
8023
- "abstractType": {
8024
- "type": "string"
8025
- },
8026
- "recordId": {
10507
+ "endpoint": {
8027
10508
  "type": "string"
8028
10509
  },
8029
10510
  "objectType": {
8030
10511
  "type": "string"
8031
10512
  },
8032
10513
  "dataCategory": {
8033
- "type": "string",
8034
- "enum": [
8035
- "entity",
8036
- "event",
8037
- "knowledge"
8038
- ]
8039
- },
8040
- "contentType": {
8041
10514
  "type": "string"
8042
10515
  },
8043
- "properties": {
10516
+ "checkpoint": {
8044
10517
  "type": "object",
8045
- "additionalProperties": true
10518
+ "properties": {
10519
+ "method": {
10520
+ "type": "string",
10521
+ "enum": [
10522
+ "cursor",
10523
+ "watermark",
10524
+ "fullScanHash"
10525
+ ]
10526
+ },
10527
+ "watermarkField": {
10528
+ "type": "string"
10529
+ }
10530
+ }
8046
10531
  },
8047
- "revision": {
8048
- "type": "integer"
10532
+ "modes": {
10533
+ "type": "array",
10534
+ "items": {
10535
+ "type": "string",
10536
+ "enum": [
10537
+ "context",
10538
+ "knowledge"
10539
+ ]
10540
+ }
8049
10541
  }
8050
10542
  }
8051
10543
  },
8052
- "RunRef": {
10544
+ "MemoryPullSchedule": {
8053
10545
  "type": "object",
8054
- "required": [
8055
- "runId",
8056
- "kind"
8057
- ],
8058
10546
  "properties": {
8059
- "runId": {
10547
+ "scheduleId": {
8060
10548
  "type": "string"
8061
10549
  },
8062
- "kind": {
10550
+ "sourceId": {
10551
+ "type": "string"
10552
+ },
10553
+ "mode": {
10554
+ "type": "string"
10555
+ },
10556
+ "interval": {
10557
+ "type": "object",
10558
+ "properties": {
10559
+ "every": {
10560
+ "type": "integer",
10561
+ "minimum": 1
10562
+ },
10563
+ "unit": {
10564
+ "type": "string",
10565
+ "enum": [
10566
+ "minutes",
10567
+ "hours",
10568
+ "days"
10569
+ ]
10570
+ }
10571
+ }
10572
+ },
10573
+ "firstPull": {
8063
10574
  "type": "string",
8064
10575
  "enum": [
8065
- "pipeline",
8066
- "memory",
8067
- "relationship",
8068
- "intelligence"
10576
+ "immediate",
10577
+ "after-interval"
8069
10578
  ]
8070
10579
  },
8071
10580
  "status": {
8072
- "type": "string"
10581
+ "type": "string",
10582
+ "enum": [
10583
+ "active",
10584
+ "paused"
10585
+ ]
8073
10586
  },
8074
- "pipelineId": {
8075
- "type": "string"
10587
+ "nextDueAt": {
10588
+ "type": "string",
10589
+ "format": "date-time"
8076
10590
  },
8077
- "sourceId": {
8078
- "type": "string"
10591
+ "lastFiredAt": {
10592
+ "type": "string",
10593
+ "format": "date-time"
8079
10594
  },
8080
- "definitionId": {
10595
+ "lastPullId": {
8081
10596
  "type": "string"
8082
10597
  },
8083
- "startedAt": {
8084
- "type": "string",
8085
- "format": "date-time"
10598
+ "lastStatus": {
10599
+ "type": "string"
8086
10600
  }
8087
10601
  }
8088
10602
  },
8089
- "StepAttempt": {
10603
+ "QuarantineItem": {
8090
10604
  "type": "object",
8091
10605
  "required": [
8092
- "attemptId",
8093
- "runId",
8094
- "stepId",
8095
- "stepKind",
8096
- "attemptNumber",
8097
- "status",
8098
- "startedAt",
8099
- "updatedAt"
10606
+ "quarantineId",
10607
+ "pullId",
10608
+ "sourceId",
10609
+ "code",
10610
+ "message",
10611
+ "createdAt"
8100
10612
  ],
8101
10613
  "properties": {
8102
- "attemptId": {
10614
+ "quarantineId": {
8103
10615
  "type": "string"
8104
10616
  },
8105
- "runId": {
10617
+ "pullId": {
8106
10618
  "type": "string"
8107
10619
  },
8108
- "orgId": {
10620
+ "sourceId": {
8109
10621
  "type": "string"
8110
10622
  },
8111
- "stepId": {
10623
+ "routeEndpoint": {
8112
10624
  "type": "string"
8113
10625
  },
8114
- "stepKind": {
10626
+ "sourceItemId": {
8115
10627
  "type": "string"
8116
10628
  },
8117
- "attemptNumber": {
8118
- "type": "integer",
8119
- "minimum": 1
8120
- },
8121
- "status": {
8122
- "type": "string",
8123
- "enum": [
8124
- "pending",
8125
- "running",
8126
- "succeeded",
8127
- "failed",
8128
- "skipped"
8129
- ]
8130
- },
8131
- "idempotencyKey": {
10629
+ "code": {
8132
10630
  "type": "string"
8133
10631
  },
8134
- "input": {},
8135
- "output": {},
8136
- "error": {
8137
- "type": "object",
8138
- "properties": {
8139
- "code": {
8140
- "type": "string"
8141
- },
8142
- "message": {
8143
- "type": "string"
8144
- }
8145
- }
8146
- },
8147
- "startedAt": {
8148
- "type": "string",
8149
- "format": "date-time"
8150
- },
8151
- "updatedAt": {
10632
+ "message": {
8152
10633
  "type": "string",
8153
- "format": "date-time"
10634
+ "description": "Sanitized — no secret payloads"
8154
10635
  },
8155
- "finishedAt": {
10636
+ "createdAt": {
8156
10637
  "type": "string",
8157
10638
  "format": "date-time"
8158
10639
  }
8159
10640
  }
8160
10641
  },
8161
- "ArtifactDataRef": {
10642
+ "IntelligenceProfile": {
8162
10643
  "type": "object",
8163
10644
  "required": [
8164
- "kind",
8165
- "contentHash",
8166
- "sizeBytes"
10645
+ "label",
10646
+ "fingerprint",
10647
+ "recordCount",
10648
+ "concreteOnly"
8167
10649
  ],
8168
10650
  "properties": {
8169
- "kind": {
8170
- "type": "string",
8171
- "enum": [
8172
- "inline",
8173
- "artifact"
8174
- ]
8175
- },
8176
- "data": {},
8177
- "artifactId": {
10651
+ "label": {
8178
10652
  "type": "string"
8179
10653
  },
8180
- "contentHash": {
8181
- "type": "string"
10654
+ "scope": {
10655
+ "$ref": "#/components/schemas/MemorixScope"
8182
10656
  },
8183
- "sizeBytes": {
10657
+ "recordCount": {
8184
10658
  "type": "integer",
8185
10659
  "minimum": 0
8186
10660
  },
8187
- "collection": {
8188
- "type": "string"
8189
- },
8190
- "objectType": {
8191
- "type": "string"
8192
- },
8193
- "contentType": {
8194
- "type": "string"
8195
- },
8196
- "recordId": {
8197
- "type": "string"
8198
- },
8199
- "count": {
8200
- "type": "integer"
8201
- },
8202
- "mediaType": {
8203
- "type": "string"
10661
+ "fieldCount": {
10662
+ "type": "integer",
10663
+ "minimum": 0
8204
10664
  },
8205
- "runId": {
8206
- "type": "string"
10665
+ "fields": {
10666
+ "type": "array",
10667
+ "items": {
10668
+ "type": "object",
10669
+ "additionalProperties": true
10670
+ }
8207
10671
  },
8208
- "stepId": {
8209
- "type": "string"
10672
+ "overlaps": {
10673
+ "type": "array",
10674
+ "items": {
10675
+ "type": "object",
10676
+ "additionalProperties": true
10677
+ }
8210
10678
  },
8211
- "attemptId": {
8212
- "type": "string"
8213
- }
8214
- }
8215
- },
8216
- "MemoryPullRequest": {
8217
- "type": "object",
8218
- "required": [
8219
- "sourceId"
8220
- ],
8221
- "properties": {
8222
- "sourceId": {
8223
- "type": "string"
10679
+ "cardinalities": {
10680
+ "type": "array",
10681
+ "items": {
10682
+ "type": "object",
10683
+ "additionalProperties": true
10684
+ }
8224
10685
  },
8225
- "mode": {
8226
- "type": "string",
8227
- "enum": [
8228
- "scheduled",
8229
- "on-demand",
8230
- "context",
8231
- "knowledge"
10686
+ "diagnostics": {
10687
+ "type": "object",
10688
+ "additionalProperties": true
10689
+ },
10690
+ "fingerprint": {
10691
+ "oneOf": [
10692
+ {
10693
+ "type": "string"
10694
+ },
10695
+ {
10696
+ "type": "object",
10697
+ "required": [
10698
+ "algorithm",
10699
+ "hash"
10700
+ ],
10701
+ "properties": {
10702
+ "algorithm": {
10703
+ "type": "string",
10704
+ "enum": [
10705
+ "sha256"
10706
+ ]
10707
+ },
10708
+ "hash": {
10709
+ "type": "string"
10710
+ }
10711
+ }
10712
+ }
8232
10713
  ]
8233
10714
  },
8234
- "trigger": {
8235
- "type": "string",
10715
+ "concreteOnly": {
10716
+ "type": "boolean",
8236
10717
  "enum": [
8237
- "scheduled",
8238
- "on-demand"
10718
+ true
8239
10719
  ]
8240
- },
8241
- "credentialRef": {
8242
- "type": "string",
8243
- "description": "Credential reference only \u2014 never resolved secrets"
8244
- },
8245
- "cursor": {
8246
- "type": "string"
8247
- },
8248
- "workRef": {
8249
- "type": "string"
8250
10720
  }
8251
- },
8252
- "additionalProperties": false
10721
+ }
8253
10722
  },
8254
- "MemoryRun": {
10723
+ "IntelligenceProposal": {
8255
10724
  "type": "object",
8256
10725
  "required": [
8257
- "pullId",
8258
- "sourceId",
8259
- "status"
10726
+ "proposalId",
10727
+ "metadataKind",
10728
+ "metadataId",
10729
+ "outcome",
10730
+ "proposalFingerprint"
8260
10731
  ],
8261
10732
  "properties": {
8262
- "pullId": {
8263
- "type": "string"
8264
- },
8265
- "runId": {
10733
+ "proposalId": {
8266
10734
  "type": "string"
8267
10735
  },
8268
10736
  "scope": {
8269
10737
  "$ref": "#/components/schemas/MemorixScope"
8270
10738
  },
8271
- "sourceId": {
10739
+ "inputProfileFingerprint": {
8272
10740
  "type": "string"
8273
10741
  },
8274
- "mode": {
10742
+ "metadataKind": {
8275
10743
  "type": "string"
8276
10744
  },
8277
- "trigger": {
10745
+ "metadataId": {
8278
10746
  "type": "string"
8279
10747
  },
8280
- "status": {
10748
+ "draft": {},
10749
+ "evidence": {
10750
+ "type": "object",
10751
+ "additionalProperties": true
10752
+ },
10753
+ "diagnostics": {
10754
+ "type": "object",
10755
+ "additionalProperties": true
10756
+ },
10757
+ "outcome": {
8281
10758
  "type": "string",
8282
10759
  "enum": [
8283
- "accepted",
8284
- "succeeded",
8285
- "succeeded_with_quarantine",
8286
- "failed",
8287
- "running"
10760
+ "proposed",
10761
+ "insufficient-evidence",
10762
+ "rejected-by-validation"
8288
10763
  ]
8289
10764
  },
8290
- "startedAt": {
8291
- "type": "string",
8292
- "format": "date-time"
10765
+ "proposalFingerprint": {
10766
+ "type": "string"
8293
10767
  },
8294
- "finishedAt": {
10768
+ "createdAt": {
8295
10769
  "type": "string",
8296
10770
  "format": "date-time"
8297
10771
  },
8298
- "counts": {
10772
+ "aiContribution": {
10773
+ "type": "object",
10774
+ "additionalProperties": true
10775
+ }
10776
+ }
10777
+ },
10778
+ "ErrorEnvelope": {
10779
+ "type": "object",
10780
+ "required": [
10781
+ "error"
10782
+ ],
10783
+ "properties": {
10784
+ "error": {
8299
10785
  "type": "object",
10786
+ "required": [
10787
+ "code",
10788
+ "message",
10789
+ "correlationId"
10790
+ ],
8300
10791
  "properties": {
8301
- "pages": {
8302
- "type": "integer"
8303
- },
8304
- "items": {
8305
- "type": "integer"
8306
- },
8307
- "created": {
8308
- "type": "integer"
10792
+ "code": {
10793
+ "type": "string"
8309
10794
  },
8310
- "updated": {
8311
- "type": "integer"
10795
+ "message": {
10796
+ "type": "string"
8312
10797
  },
8313
- "deduplicated": {
8314
- "type": "integer"
10798
+ "correlationId": {
10799
+ "type": "string"
8315
10800
  },
8316
- "quarantined": {
8317
- "type": "integer"
10801
+ "details": {},
10802
+ "scope": {
10803
+ "$ref": "#/components/schemas/MemorixScope"
8318
10804
  }
8319
10805
  }
10806
+ }
10807
+ }
10808
+ },
10809
+ "ValidationDiagnostic": {
10810
+ "type": "object",
10811
+ "required": [
10812
+ "ok"
10813
+ ],
10814
+ "properties": {
10815
+ "ok": {
10816
+ "type": "boolean"
8320
10817
  },
8321
- "quarantineRefs": {
8322
- "type": "array",
8323
- "items": {
8324
- "type": "string"
8325
- }
8326
- },
8327
- "routeSummaries": {
10818
+ "issues": {
8328
10819
  "type": "array",
8329
10820
  "items": {
8330
10821
  "type": "object",
10822
+ "required": [
10823
+ "code",
10824
+ "message"
10825
+ ],
8331
10826
  "properties": {
8332
- "objectType": {
10827
+ "code": {
8333
10828
  "type": "string"
8334
10829
  },
8335
- "routeEndpoint": {
10830
+ "message": {
8336
10831
  "type": "string"
8337
10832
  },
8338
- "items": {
8339
- "type": "integer"
8340
- },
8341
- "created": {
8342
- "type": "integer"
8343
- },
8344
- "updated": {
8345
- "type": "integer"
8346
- },
8347
- "deduplicated": {
8348
- "type": "integer"
8349
- },
8350
- "quarantined": {
8351
- "type": "integer"
8352
- },
8353
- "startingCursor": {
8354
- "type": [
8355
- "string",
8356
- "null"
8357
- ]
8358
- },
8359
- "endingCursor": {
8360
- "type": [
8361
- "string",
8362
- "null"
8363
- ]
10833
+ "path": {
10834
+ "type": "string"
8364
10835
  }
8365
10836
  }
8366
10837
  }
8367
10838
  }
8368
10839
  }
8369
10840
  },
8370
- "MemorySourceRoute": {
10841
+ "MetadataPack": {
8371
10842
  "type": "object",
8372
- "required": [
8373
- "endpoint",
8374
- "objectType",
8375
- "dataCategory"
8376
- ],
10843
+ "description": "Metadata pack document (agent + kinds)",
10844
+ "additionalProperties": true,
8377
10845
  "properties": {
8378
- "endpoint": {
10846
+ "agentId": {
8379
10847
  "type": "string"
8380
10848
  },
8381
- "objectType": {
10849
+ "name": {
8382
10850
  "type": "string"
8383
10851
  },
8384
- "dataCategory": {
10852
+ "parentAgentId": {
8385
10853
  "type": "string"
8386
- },
8387
- "checkpoint": {
8388
- "type": "object",
8389
- "properties": {
8390
- "method": {
8391
- "type": "string",
8392
- "enum": [
8393
- "cursor",
8394
- "watermark",
8395
- "fullScanHash"
8396
- ]
8397
- },
8398
- "watermarkField": {
8399
- "type": "string"
8400
- }
8401
- }
8402
- },
8403
- "modes": {
8404
- "type": "array",
8405
- "items": {
8406
- "type": "string",
8407
- "enum": [
8408
- "context",
8409
- "knowledge"
8410
- ]
8411
- }
8412
10854
  }
8413
10855
  }
8414
10856
  },
8415
- "MemoryPullSchedule": {
10857
+ "MemoryCheckpointSummary": {
8416
10858
  "type": "object",
10859
+ "required": [
10860
+ "checkpointKey",
10861
+ "sourceId",
10862
+ "objectType",
10863
+ "routeEndpoint",
10864
+ "mode",
10865
+ "method",
10866
+ "checkpointStatus"
10867
+ ],
8417
10868
  "properties": {
8418
- "scheduleId": {
10869
+ "checkpointKey": {
8419
10870
  "type": "string"
8420
10871
  },
8421
10872
  "sourceId": {
8422
10873
  "type": "string"
8423
10874
  },
8424
- "mode": {
10875
+ "objectType": {
8425
10876
  "type": "string"
8426
10877
  },
8427
- "interval": {
8428
- "type": "object",
8429
- "properties": {
8430
- "every": {
8431
- "type": "integer",
8432
- "minimum": 1
8433
- },
8434
- "unit": {
8435
- "type": "string",
8436
- "enum": [
8437
- "minutes",
8438
- "hours",
8439
- "days"
8440
- ]
8441
- }
8442
- }
10878
+ "routeEndpoint": {
10879
+ "type": "string"
8443
10880
  },
8444
- "firstPull": {
10881
+ "mode": {
8445
10882
  "type": "string",
8446
10883
  "enum": [
8447
- "immediate",
8448
- "after-interval"
10884
+ "knowledge",
10885
+ "context"
8449
10886
  ]
8450
10887
  },
8451
- "status": {
10888
+ "method": {
8452
10889
  "type": "string",
8453
10890
  "enum": [
8454
- "active",
8455
- "paused"
10891
+ "cursor",
10892
+ "watermark",
10893
+ "fullScanHash"
8456
10894
  ]
8457
10895
  },
8458
- "nextDueAt": {
10896
+ "checkpointStatus": {
8459
10897
  "type": "string",
8460
- "format": "date-time"
10898
+ "enum": [
10899
+ "saved",
10900
+ "fingerprints_saved",
10901
+ "not_established"
10902
+ ]
8461
10903
  },
8462
- "lastFiredAt": {
10904
+ "lastSuccessfulPull": {
8463
10905
  "type": "string",
8464
- "format": "date-time"
10906
+ "nullable": true
8465
10907
  },
8466
10908
  "lastPullId": {
8467
- "type": "string"
10909
+ "type": "string",
10910
+ "nullable": true
8468
10911
  },
8469
- "lastStatus": {
8470
- "type": "string"
10912
+ "technical": {
10913
+ "type": "object",
10914
+ "additionalProperties": true
8471
10915
  }
8472
10916
  }
8473
10917
  },
8474
- "QuarantineItem": {
10918
+ "WorkSelector": {
8475
10919
  "type": "object",
8476
10920
  "required": [
8477
- "quarantineId",
8478
- "pullId",
8479
- "sourceId",
8480
- "code",
8481
- "message",
8482
- "createdAt"
10921
+ "abstractType"
8483
10922
  ],
8484
10923
  "properties": {
8485
- "quarantineId": {
10924
+ "abstractType": {
8486
10925
  "type": "string"
8487
10926
  },
8488
- "pullId": {
10927
+ "contentType": {
8489
10928
  "type": "string"
8490
10929
  },
8491
- "sourceId": {
10930
+ "filter": {
10931
+ "type": "array",
10932
+ "items": {
10933
+ "$ref": "#/components/schemas/SafeFilter"
10934
+ }
10935
+ }
10936
+ }
10937
+ },
10938
+ "PipelineWorkItemRef": {
10939
+ "type": "object",
10940
+ "required": [
10941
+ "objectType",
10942
+ "recordId"
10943
+ ],
10944
+ "properties": {
10945
+ "objectType": {
8492
10946
  "type": "string"
8493
10947
  },
8494
- "routeEndpoint": {
10948
+ "recordId": {
8495
10949
  "type": "string"
8496
10950
  },
8497
- "sourceItemId": {
10951
+ "contentType": {
8498
10952
  "type": "string"
10953
+ }
10954
+ }
10955
+ },
10956
+ "PipelineAdmission": {
10957
+ "type": "object",
10958
+ "required": [
10959
+ "state"
10960
+ ],
10961
+ "properties": {
10962
+ "state": {
10963
+ "type": "string",
10964
+ "enum": [
10965
+ "held",
10966
+ "ready",
10967
+ "leased"
10968
+ ]
8499
10969
  },
8500
- "code": {
10970
+ "leasedBy": {
8501
10971
  "type": "string"
8502
10972
  },
8503
- "message": {
10973
+ "leasedAt": {
8504
10974
  "type": "string",
8505
- "description": "Sanitized \u2014 no secret payloads"
10975
+ "format": "date-time"
8506
10976
  },
8507
- "createdAt": {
10977
+ "leaseExpiresAt": {
8508
10978
  "type": "string",
8509
10979
  "format": "date-time"
8510
10980
  }
8511
10981
  }
8512
10982
  },
8513
- "IntelligenceProfile": {
10983
+ "WorkPolicy": {
8514
10984
  "type": "object",
8515
10985
  "required": [
8516
- "label",
8517
- "fingerprint",
8518
- "recordCount",
8519
- "concreteOnly"
10986
+ "priority"
8520
10987
  ],
8521
10988
  "properties": {
8522
- "label": {
8523
- "type": "string"
10989
+ "priority": {
10990
+ "type": "integer"
8524
10991
  },
8525
- "scope": {
8526
- "$ref": "#/components/schemas/MemorixScope"
10992
+ "maxAttempts": {
10993
+ "type": "integer",
10994
+ "minimum": 1
8527
10995
  },
8528
- "recordCount": {
10996
+ "rescanIntervalMinutes": {
8529
10997
  "type": "integer",
8530
- "minimum": 0
10998
+ "minimum": 1
8531
10999
  },
8532
- "fieldCount": {
11000
+ "maxConcurrent": {
8533
11001
  "type": "integer",
8534
- "minimum": 0
11002
+ "minimum": 1
8535
11003
  },
8536
- "fields": {
8537
- "type": "array",
8538
- "items": {
8539
- "type": "object",
8540
- "additionalProperties": true
11004
+ "duplicate": {
11005
+ "type": "object",
11006
+ "properties": {
11007
+ "allowRepeatAfterSuccess": {
11008
+ "type": "boolean"
11009
+ },
11010
+ "requireSupersedes": {
11011
+ "type": "boolean"
11012
+ }
11013
+ }
11014
+ }
11015
+ }
11016
+ },
11017
+ "WorkCadence": {
11018
+ "oneOf": [
11019
+ {
11020
+ "type": "object",
11021
+ "required": [
11022
+ "kind",
11023
+ "intervalMinutes"
11024
+ ],
11025
+ "properties": {
11026
+ "kind": {
11027
+ "type": "string",
11028
+ "enum": [
11029
+ "interval"
11030
+ ]
11031
+ },
11032
+ "intervalMinutes": {
11033
+ "type": "integer",
11034
+ "minimum": 1
11035
+ }
8541
11036
  }
8542
11037
  },
8543
- "overlaps": {
8544
- "type": "array",
8545
- "items": {
8546
- "type": "object",
8547
- "additionalProperties": true
11038
+ {
11039
+ "type": "object",
11040
+ "required": [
11041
+ "kind",
11042
+ "scheduleId"
11043
+ ],
11044
+ "properties": {
11045
+ "kind": {
11046
+ "type": "string",
11047
+ "enum": [
11048
+ "schedule"
11049
+ ]
11050
+ },
11051
+ "scheduleId": {
11052
+ "type": "string"
11053
+ }
8548
11054
  }
11055
+ }
11056
+ ]
11057
+ },
11058
+ "PipelineWorkDefinition": {
11059
+ "type": "object",
11060
+ "required": [
11061
+ "workId",
11062
+ "orgId",
11063
+ "agentIds",
11064
+ "name",
11065
+ "enabled",
11066
+ "pipelineId",
11067
+ "selector",
11068
+ "cadence",
11069
+ "policy",
11070
+ "createdAt",
11071
+ "updatedAt"
11072
+ ],
11073
+ "properties": {
11074
+ "workId": {
11075
+ "type": "string"
8549
11076
  },
8550
- "cardinalities": {
11077
+ "orgId": {
11078
+ "type": "string"
11079
+ },
11080
+ "agentIds": {
8551
11081
  "type": "array",
8552
11082
  "items": {
8553
- "type": "object",
8554
- "additionalProperties": true
11083
+ "type": "string"
8555
11084
  }
8556
11085
  },
8557
- "diagnostics": {
8558
- "type": "object",
8559
- "additionalProperties": true
11086
+ "name": {
11087
+ "type": "string"
8560
11088
  },
8561
- "fingerprint": {
8562
- "oneOf": [
8563
- {
8564
- "type": "string"
8565
- },
8566
- {
8567
- "type": "object",
8568
- "required": [
8569
- "algorithm",
8570
- "hash"
8571
- ],
8572
- "properties": {
8573
- "algorithm": {
8574
- "type": "string",
8575
- "enum": [
8576
- "sha256"
8577
- ]
8578
- },
8579
- "hash": {
8580
- "type": "string"
8581
- }
8582
- }
8583
- }
8584
- ]
11089
+ "description": {
11090
+ "type": "string"
8585
11091
  },
8586
- "concreteOnly": {
8587
- "type": "boolean",
8588
- "enum": [
8589
- true
8590
- ]
11092
+ "enabled": {
11093
+ "type": "boolean"
11094
+ },
11095
+ "pipelineId": {
11096
+ "type": "string"
11097
+ },
11098
+ "selector": {
11099
+ "$ref": "#/components/schemas/WorkSelector"
11100
+ },
11101
+ "cadence": {
11102
+ "$ref": "#/components/schemas/WorkCadence"
11103
+ },
11104
+ "policy": {
11105
+ "$ref": "#/components/schemas/WorkPolicy"
11106
+ },
11107
+ "inputTemplate": {},
11108
+ "nextEvaluationAt": {
11109
+ "type": "string",
11110
+ "format": "date-time"
11111
+ },
11112
+ "lastEvaluatedAt": {
11113
+ "type": "string",
11114
+ "format": "date-time"
11115
+ },
11116
+ "jobsCreated": {
11117
+ "type": "integer"
11118
+ },
11119
+ "createdAt": {
11120
+ "type": "string",
11121
+ "format": "date-time"
11122
+ },
11123
+ "updatedAt": {
11124
+ "type": "string",
11125
+ "format": "date-time"
11126
+ },
11127
+ "executionTarget": {
11128
+ "$ref": "#/components/schemas/ExecutionTargetRef"
8591
11129
  }
8592
11130
  }
8593
11131
  },
8594
- "IntelligenceProposal": {
11132
+ "PipelineBatch": {
8595
11133
  "type": "object",
8596
11134
  "required": [
8597
- "proposalId",
8598
- "metadataKind",
8599
- "metadataId",
8600
- "outcome",
8601
- "proposalFingerprint"
11135
+ "batchId",
11136
+ "orgId",
11137
+ "agentIds",
11138
+ "name",
11139
+ "pipelineId",
11140
+ "source",
11141
+ "selectionKind",
11142
+ "status",
11143
+ "counts",
11144
+ "exclusions",
11145
+ "createdAt",
11146
+ "updatedAt"
8602
11147
  ],
8603
11148
  "properties": {
8604
- "proposalId": {
11149
+ "batchId": {
8605
11150
  "type": "string"
8606
11151
  },
8607
- "scope": {
8608
- "$ref": "#/components/schemas/MemorixScope"
8609
- },
8610
- "inputProfileFingerprint": {
11152
+ "orgId": {
8611
11153
  "type": "string"
8612
11154
  },
8613
- "metadataKind": {
11155
+ "agentIds": {
11156
+ "type": "array",
11157
+ "items": {
11158
+ "type": "string"
11159
+ }
11160
+ },
11161
+ "name": {
8614
11162
  "type": "string"
8615
11163
  },
8616
- "metadataId": {
11164
+ "pipelineId": {
8617
11165
  "type": "string"
8618
11166
  },
8619
- "draft": {},
8620
- "evidence": {
8621
- "type": "object",
8622
- "additionalProperties": true
8623
- },
8624
- "diagnostics": {
8625
- "type": "object",
8626
- "additionalProperties": true
11167
+ "source": {
11168
+ "type": "string",
11169
+ "enum": [
11170
+ "on-demand",
11171
+ "work-evaluation"
11172
+ ]
8627
11173
  },
8628
- "outcome": {
11174
+ "selectionKind": {
8629
11175
  "type": "string",
8630
11176
  "enum": [
8631
- "proposed",
8632
- "insufficient-evidence",
8633
- "rejected-by-validation"
11177
+ "filter",
11178
+ "cohort"
8634
11179
  ]
8635
11180
  },
8636
- "proposalFingerprint": {
11181
+ "selectorSnapshot": {
11182
+ "$ref": "#/components/schemas/WorkSelector"
11183
+ },
11184
+ "cohortItemRefs": {
11185
+ "type": "array",
11186
+ "items": {
11187
+ "$ref": "#/components/schemas/PipelineWorkItemRef"
11188
+ }
11189
+ },
11190
+ "workId": {
8637
11191
  "type": "string"
8638
11192
  },
8639
- "createdAt": {
11193
+ "status": {
8640
11194
  "type": "string",
8641
- "format": "date-time"
11195
+ "enum": [
11196
+ "queued",
11197
+ "running",
11198
+ "completed",
11199
+ "failed",
11200
+ "cancelled",
11201
+ "partial",
11202
+ "empty"
11203
+ ]
8642
11204
  },
8643
- "aiContribution": {
8644
- "type": "object",
8645
- "additionalProperties": true
8646
- }
8647
- }
8648
- },
8649
- "ErrorEnvelope": {
8650
- "type": "object",
8651
- "required": [
8652
- "error"
8653
- ],
8654
- "properties": {
8655
- "error": {
11205
+ "counts": {
8656
11206
  "type": "object",
8657
- "required": [
8658
- "code",
8659
- "message",
8660
- "correlationId"
8661
- ],
8662
11207
  "properties": {
8663
- "code": {
8664
- "type": "string"
11208
+ "total": {
11209
+ "type": "integer"
8665
11210
  },
8666
- "message": {
8667
- "type": "string"
11211
+ "pending": {
11212
+ "type": "integer"
8668
11213
  },
8669
- "correlationId": {
8670
- "type": "string"
11214
+ "running": {
11215
+ "type": "integer"
8671
11216
  },
8672
- "details": {},
8673
- "scope": {
8674
- "$ref": "#/components/schemas/MemorixScope"
11217
+ "succeeded": {
11218
+ "type": "integer"
11219
+ },
11220
+ "failed": {
11221
+ "type": "integer"
11222
+ },
11223
+ "cancelled": {
11224
+ "type": "integer"
8675
11225
  }
8676
11226
  }
8677
- }
8678
- }
8679
- },
8680
- "ValidationDiagnostic": {
8681
- "type": "object",
8682
- "required": [
8683
- "ok"
8684
- ],
8685
- "properties": {
8686
- "ok": {
8687
- "type": "boolean"
8688
11227
  },
8689
- "issues": {
11228
+ "exclusions": {
8690
11229
  "type": "array",
8691
11230
  "items": {
8692
11231
  "type": "object",
8693
11232
  "required": [
8694
- "code",
8695
- "message"
11233
+ "reason",
11234
+ "count"
8696
11235
  ],
8697
11236
  "properties": {
8698
- "code": {
8699
- "type": "string"
8700
- },
8701
- "message": {
11237
+ "reason": {
8702
11238
  "type": "string"
8703
11239
  },
8704
- "path": {
8705
- "type": "string"
11240
+ "count": {
11241
+ "type": "integer"
8706
11242
  }
8707
11243
  }
8708
11244
  }
11245
+ },
11246
+ "createdAt": {
11247
+ "type": "string",
11248
+ "format": "date-time"
11249
+ },
11250
+ "updatedAt": {
11251
+ "type": "string",
11252
+ "format": "date-time"
11253
+ },
11254
+ "executionTarget": {
11255
+ "$ref": "#/components/schemas/ExecutionTargetRef"
8709
11256
  }
8710
11257
  }
8711
11258
  },
8712
- "MetadataPack": {
11259
+ "JobsQueueSettings": {
8713
11260
  "type": "object",
8714
- "description": "Metadata pack document (agent + kinds)",
8715
- "additionalProperties": true,
11261
+ "required": [
11262
+ "queueMode",
11263
+ "maxConcurrentRuns",
11264
+ "queueAdmissionIntervalMs",
11265
+ "batchRunMaxAttempts",
11266
+ "continuousRunMaxAttempts"
11267
+ ],
8716
11268
  "properties": {
8717
- "agentId": {
8718
- "type": "string"
11269
+ "queueMode": {
11270
+ "type": "string",
11271
+ "enum": [
11272
+ "running",
11273
+ "paused"
11274
+ ]
8719
11275
  },
8720
- "name": {
8721
- "type": "string"
11276
+ "maxConcurrentRuns": {
11277
+ "type": "integer",
11278
+ "minimum": 1
8722
11279
  },
8723
- "parentAgentId": {
8724
- "type": "string"
11280
+ "queueAdmissionIntervalMs": {
11281
+ "type": "integer",
11282
+ "minimum": 1000
11283
+ },
11284
+ "batchRunMaxAttempts": {
11285
+ "type": "integer",
11286
+ "minimum": 1
11287
+ },
11288
+ "continuousRunMaxAttempts": {
11289
+ "type": "integer",
11290
+ "minimum": 1
11291
+ },
11292
+ "updatedAt": {
11293
+ "type": "string",
11294
+ "format": "date-time"
8725
11295
  }
8726
11296
  }
8727
11297
  },
8728
- "MemoryCheckpointSummary": {
11298
+ "ExecutionTargetRef": {
11299
+ "oneOf": [
11300
+ {
11301
+ "type": "object",
11302
+ "required": [
11303
+ "kind",
11304
+ "pipelineId"
11305
+ ],
11306
+ "properties": {
11307
+ "kind": {
11308
+ "type": "string",
11309
+ "enum": [
11310
+ "pipeline"
11311
+ ]
11312
+ },
11313
+ "pipelineId": {
11314
+ "type": "string"
11315
+ }
11316
+ }
11317
+ },
11318
+ {
11319
+ "type": "object",
11320
+ "required": [
11321
+ "kind",
11322
+ "connectorId",
11323
+ "sourceId"
11324
+ ],
11325
+ "properties": {
11326
+ "kind": {
11327
+ "type": "string",
11328
+ "enum": [
11329
+ "connector"
11330
+ ]
11331
+ },
11332
+ "connectorId": {
11333
+ "type": "string"
11334
+ },
11335
+ "sourceId": {
11336
+ "type": "string"
11337
+ }
11338
+ }
11339
+ },
11340
+ {
11341
+ "type": "object",
11342
+ "required": [
11343
+ "kind",
11344
+ "serviceId"
11345
+ ],
11346
+ "properties": {
11347
+ "kind": {
11348
+ "type": "string",
11349
+ "enum": [
11350
+ "service"
11351
+ ]
11352
+ },
11353
+ "serviceId": {
11354
+ "type": "string"
11355
+ }
11356
+ }
11357
+ },
11358
+ {
11359
+ "type": "object",
11360
+ "required": [
11361
+ "kind",
11362
+ "aiServiceType",
11363
+ "itemId"
11364
+ ],
11365
+ "properties": {
11366
+ "kind": {
11367
+ "type": "string",
11368
+ "enum": [
11369
+ "ai-service"
11370
+ ]
11371
+ },
11372
+ "aiServiceType": {
11373
+ "type": "string",
11374
+ "enum": [
11375
+ "function",
11376
+ "skill",
11377
+ "task",
11378
+ "graph"
11379
+ ]
11380
+ },
11381
+ "itemId": {
11382
+ "type": "string"
11383
+ }
11384
+ }
11385
+ }
11386
+ ]
11387
+ },
11388
+ "ExecutionTargetCatalogEntry": {
8729
11389
  "type": "object",
8730
11390
  "required": [
8731
- "checkpointKey",
8732
- "sourceId",
8733
- "objectType",
8734
- "routeEndpoint",
8735
- "mode",
8736
- "method",
8737
- "checkpointStatus"
11391
+ "kind",
11392
+ "id",
11393
+ "name",
11394
+ "available",
11395
+ "target"
8738
11396
  ],
8739
11397
  "properties": {
8740
- "checkpointKey": {
8741
- "type": "string"
11398
+ "kind": {
11399
+ "type": "string",
11400
+ "enum": [
11401
+ "pipeline",
11402
+ "connector",
11403
+ "service",
11404
+ "ai-service"
11405
+ ]
8742
11406
  },
8743
- "sourceId": {
11407
+ "id": {
8744
11408
  "type": "string"
8745
11409
  },
8746
- "objectType": {
11410
+ "name": {
8747
11411
  "type": "string"
8748
11412
  },
8749
- "routeEndpoint": {
11413
+ "description": {
8750
11414
  "type": "string"
8751
11415
  },
8752
- "mode": {
8753
- "type": "string",
8754
- "enum": [
8755
- "knowledge",
8756
- "context"
8757
- ]
11416
+ "available": {
11417
+ "type": "boolean"
8758
11418
  },
8759
- "method": {
8760
- "type": "string",
8761
- "enum": [
8762
- "cursor",
8763
- "watermark",
8764
- "fullScanHash"
8765
- ]
11419
+ "unavailableReason": {
11420
+ "type": "string"
8766
11421
  },
8767
- "checkpointStatus": {
8768
- "type": "string",
8769
- "enum": [
8770
- "saved",
8771
- "fingerprints_saved",
8772
- "not_established"
8773
- ]
11422
+ "capabilities": {
11423
+ "type": "array",
11424
+ "items": {
11425
+ "type": "string"
11426
+ }
8774
11427
  },
8775
- "lastSuccessfulPull": {
8776
- "type": "string",
8777
- "nullable": true
11428
+ "target": {
11429
+ "$ref": "#/components/schemas/ExecutionTargetRef"
8778
11430
  },
8779
- "lastPullId": {
8780
- "type": "string",
8781
- "nullable": true
11431
+ "children": {
11432
+ "type": "array",
11433
+ "items": {
11434
+ "$ref": "#/components/schemas/ExecutionTargetCatalogEntry"
11435
+ }
8782
11436
  },
8783
- "technical": {
11437
+ "meta": {
8784
11438
  "type": "object",
8785
11439
  "additionalProperties": true
8786
11440
  }