@epilot/sdk 2.7.1 → 2.8.0-rc.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 (214) hide show
  1. package/README.md +1 -0
  2. package/definitions/app.json +101 -8
  3. package/definitions/configuration-hub-runtime.json +1 -1
  4. package/definitions/configuration-hub.json +623 -0
  5. package/definitions/customer-portal.json +72 -58
  6. package/definitions/design-runtime.json +1 -1
  7. package/definitions/design.json +1 -11
  8. package/definitions/focus-pocus-runtime.json +1 -0
  9. package/definitions/focus-pocus.json +757 -0
  10. package/definitions/journey-runtime.json +1 -1
  11. package/definitions/journey.json +21 -1
  12. package/dist/README-37TXN4EL.cjs +7 -0
  13. package/dist/README-Z2WITBOR.js +7 -0
  14. package/dist/{_index-DB2VV4PQ.cjs → _index-HTUXYSTD.cjs} +4 -1
  15. package/dist/{_index-5FB6F5YY.js → _index-YTOJUFGD.js} +3 -0
  16. package/dist/apis/access-token.cjs +6 -6
  17. package/dist/apis/access-token.js +1 -1
  18. package/dist/apis/address-suggestions.cjs +6 -6
  19. package/dist/apis/address-suggestions.js +1 -1
  20. package/dist/apis/address.cjs +6 -6
  21. package/dist/apis/address.js +1 -1
  22. package/dist/apis/ai-agents.cjs +6 -6
  23. package/dist/apis/ai-agents.js +1 -1
  24. package/dist/apis/app.cjs +6 -6
  25. package/dist/apis/app.d.cts +2 -2
  26. package/dist/apis/app.d.ts +2 -2
  27. package/dist/apis/app.js +1 -1
  28. package/dist/apis/audit-logs.cjs +6 -6
  29. package/dist/apis/audit-logs.js +1 -1
  30. package/dist/apis/automation.cjs +6 -6
  31. package/dist/apis/automation.js +1 -1
  32. package/dist/apis/billing.cjs +6 -6
  33. package/dist/apis/billing.js +1 -1
  34. package/dist/apis/blueprint-manifest.cjs +6 -6
  35. package/dist/apis/blueprint-manifest.js +1 -1
  36. package/dist/apis/calendar.cjs +6 -6
  37. package/dist/apis/calendar.js +1 -1
  38. package/dist/apis/configuration-hub.cjs +8 -8
  39. package/dist/apis/configuration-hub.d.cts +2 -2
  40. package/dist/apis/configuration-hub.d.ts +2 -2
  41. package/dist/apis/configuration-hub.js +2 -2
  42. package/dist/apis/consent.cjs +6 -6
  43. package/dist/apis/consent.js +1 -1
  44. package/dist/apis/customer-portal.cjs +6 -6
  45. package/dist/apis/customer-portal.d.cts +2 -2
  46. package/dist/apis/customer-portal.d.ts +2 -2
  47. package/dist/apis/customer-portal.js +1 -1
  48. package/dist/apis/dashboard.cjs +6 -6
  49. package/dist/apis/dashboard.js +1 -1
  50. package/dist/apis/data-governance.cjs +6 -6
  51. package/dist/apis/data-governance.js +1 -1
  52. package/dist/apis/deduplication.cjs +6 -6
  53. package/dist/apis/deduplication.js +1 -1
  54. package/dist/apis/design.cjs +8 -8
  55. package/dist/apis/design.js +2 -2
  56. package/dist/apis/document.cjs +6 -6
  57. package/dist/apis/document.js +1 -1
  58. package/dist/apis/email-settings.cjs +6 -6
  59. package/dist/apis/email-settings.js +1 -1
  60. package/dist/apis/email-template.cjs +6 -6
  61. package/dist/apis/email-template.js +1 -1
  62. package/dist/apis/entity-mapping.cjs +6 -6
  63. package/dist/apis/entity-mapping.js +1 -1
  64. package/dist/apis/entity.cjs +6 -6
  65. package/dist/apis/entity.js +1 -1
  66. package/dist/apis/environments.cjs +6 -6
  67. package/dist/apis/environments.js +1 -1
  68. package/dist/apis/event-catalog.cjs +6 -6
  69. package/dist/apis/event-catalog.js +1 -1
  70. package/dist/apis/file.cjs +6 -6
  71. package/dist/apis/file.js +1 -1
  72. package/dist/apis/focus-pocus.cjs +38 -0
  73. package/dist/apis/focus-pocus.d.cts +18 -0
  74. package/dist/apis/focus-pocus.d.ts +18 -0
  75. package/dist/apis/focus-pocus.js +38 -0
  76. package/dist/apis/iban.cjs +6 -6
  77. package/dist/apis/iban.js +1 -1
  78. package/dist/apis/integration-toolkit.cjs +6 -6
  79. package/dist/apis/integration-toolkit.js +1 -1
  80. package/dist/apis/journey.cjs +8 -8
  81. package/dist/apis/journey.d.cts +2 -2
  82. package/dist/apis/journey.d.ts +2 -2
  83. package/dist/apis/journey.js +2 -2
  84. package/dist/apis/kanban.cjs +6 -6
  85. package/dist/apis/kanban.js +1 -1
  86. package/dist/apis/message.cjs +6 -6
  87. package/dist/apis/message.js +1 -1
  88. package/dist/apis/metering.cjs +6 -6
  89. package/dist/apis/metering.js +1 -1
  90. package/dist/apis/notes.cjs +6 -6
  91. package/dist/apis/notes.js +1 -1
  92. package/dist/apis/notification.cjs +6 -6
  93. package/dist/apis/notification.js +1 -1
  94. package/dist/apis/organization.cjs +6 -6
  95. package/dist/apis/organization.js +1 -1
  96. package/dist/apis/partner-directory.cjs +6 -6
  97. package/dist/apis/partner-directory.js +1 -1
  98. package/dist/apis/permissions.cjs +6 -6
  99. package/dist/apis/permissions.js +1 -1
  100. package/dist/apis/pricing-tier.cjs +6 -6
  101. package/dist/apis/pricing-tier.js +1 -1
  102. package/dist/apis/pricing.cjs +6 -6
  103. package/dist/apis/pricing.js +1 -1
  104. package/dist/apis/purpose.cjs +6 -6
  105. package/dist/apis/purpose.js +1 -1
  106. package/dist/apis/query.cjs +6 -6
  107. package/dist/apis/query.js +1 -1
  108. package/dist/apis/sandbox.cjs +6 -6
  109. package/dist/apis/sandbox.js +1 -1
  110. package/dist/apis/sharing.cjs +6 -6
  111. package/dist/apis/sharing.js +1 -1
  112. package/dist/apis/submission.cjs +6 -6
  113. package/dist/apis/submission.js +1 -1
  114. package/dist/apis/target.cjs +6 -6
  115. package/dist/apis/target.js +1 -1
  116. package/dist/apis/targeting.cjs +6 -6
  117. package/dist/apis/targeting.js +1 -1
  118. package/dist/apis/template-variables.cjs +6 -6
  119. package/dist/apis/template-variables.js +1 -1
  120. package/dist/apis/user.cjs +6 -6
  121. package/dist/apis/user.js +1 -1
  122. package/dist/apis/validation-rules.cjs +6 -6
  123. package/dist/apis/validation-rules.js +1 -1
  124. package/dist/apis/webhooks.cjs +6 -6
  125. package/dist/apis/webhooks.js +1 -1
  126. package/dist/apis/workflow-definition.cjs +6 -6
  127. package/dist/apis/workflow-definition.js +1 -1
  128. package/dist/apis/workflow.cjs +6 -6
  129. package/dist/apis/workflow.js +1 -1
  130. package/dist/{app-SSF545U7.cjs → app-74LECFMK.cjs} +1 -1
  131. package/dist/{app-34OBBTA4.js → app-GNUHCGPO.js} +1 -1
  132. package/dist/{app.d--5n0FQQ4.d.cts → app.d-BOR23dso.d.cts} +104 -4
  133. package/dist/{app.d--5n0FQQ4.d.ts → app.d-BOR23dso.d.ts} +104 -4
  134. package/dist/bin/cli.js +1 -1
  135. package/dist/{chunk-SCMAZ73K.js → chunk-54KWFSCM.js} +30 -19
  136. package/dist/chunk-A6FYGWQ7.cjs +14 -0
  137. package/dist/{chunk-R7XDTILZ.cjs → chunk-F5Z6I7TF.cjs} +30 -19
  138. package/dist/chunk-JOUTFBLN.js +14 -0
  139. package/dist/chunk-LAWKCWVU.cjs +14 -0
  140. package/dist/{chunk-ZSONBZIF.cjs → chunk-MOLFG5L4.cjs} +1 -1
  141. package/dist/chunk-P42Q6HOW.js +14 -0
  142. package/dist/chunk-P4NA7NWG.js +14 -0
  143. package/dist/chunk-WHXYES2D.cjs +14 -0
  144. package/dist/{chunk-ONOGGR6Q.js → chunk-WW6DVKJR.js} +1 -1
  145. package/dist/configuration-hub-E7S4JB2T.js +7 -0
  146. package/dist/configuration-hub-Q5JBYB52.cjs +7 -0
  147. package/dist/{configuration-hub-runtime-L6IOERSP.js → configuration-hub-runtime-CXME7TCX.js} +1 -1
  148. package/dist/{configuration-hub-runtime-I5Y67CXD.cjs → configuration-hub-runtime-QVLJKEZD.cjs} +2 -2
  149. package/dist/configuration-hub.d-CbSJDa7k.d.cts +1096 -0
  150. package/dist/configuration-hub.d-CbSJDa7k.d.ts +1096 -0
  151. package/dist/customer-portal-DR6XFCTQ.js +7 -0
  152. package/dist/customer-portal-PNFBVIAH.cjs +7 -0
  153. package/dist/{customer-portal.d-C7ZCbjiY.d.cts → customer-portal.d-CTTCBAZI.d.cts} +217 -61
  154. package/dist/{customer-portal.d-C7ZCbjiY.d.ts → customer-portal.d-CTTCBAZI.d.ts} +217 -61
  155. package/dist/data-governance-QYFHBCNB.cjs +7 -0
  156. package/dist/data-governance-YS2NA6W4.js +7 -0
  157. package/dist/design-EWZQZ5KX.js +7 -0
  158. package/dist/design-MUUYXB2J.cjs +7 -0
  159. package/dist/design-runtime-3RHYNHUV.cjs +5 -0
  160. package/dist/{design-runtime-QMJM4FAF.js → design-runtime-DLMA4EHQ.js} +1 -1
  161. package/dist/focus-pocus-JGXH42OF.cjs +7 -0
  162. package/dist/focus-pocus-XVDVUYL6.js +7 -0
  163. package/dist/focus-pocus-runtime-QXBBYVX7.js +5 -0
  164. package/dist/focus-pocus-runtime-X6GQ3WI4.cjs +5 -0
  165. package/dist/focus-pocus.d-BRFGe53G.d.cts +489 -0
  166. package/dist/focus-pocus.d-BRFGe53G.d.ts +489 -0
  167. package/dist/index.cjs +29 -21
  168. package/dist/index.d.cts +55 -53
  169. package/dist/index.d.ts +55 -53
  170. package/dist/index.js +20 -12
  171. package/dist/journey-4DIIPRU4.js +7 -0
  172. package/dist/journey-ATC3Y5AW.cjs +7 -0
  173. package/dist/{journey-runtime-SPBL3F32.cjs → journey-runtime-G2O5C3N2.cjs} +2 -2
  174. package/dist/{journey-runtime-YXIAOTMD.js → journey-runtime-RI2LJO5S.js} +1 -1
  175. package/dist/{journey.d-ClXO0xK8.d.cts → journey.d-BenIUWaO.d.cts} +9 -3
  176. package/dist/{journey.d-ClXO0xK8.d.ts → journey.d-BenIUWaO.d.ts} +9 -3
  177. package/dist/{js-yaml-UPZKYVRY.js → js-yaml-DLCVPJ7G.js} +17 -15
  178. package/dist/pricing-R5ENSVPQ.cjs +7 -0
  179. package/dist/pricing-X27CCRI6.js +7 -0
  180. package/dist/targeting-74BV7F7H.cjs +7 -0
  181. package/dist/targeting-W5EKJYR2.js +7 -0
  182. package/docs/app.md +34 -10
  183. package/docs/configuration-hub.md +660 -0
  184. package/docs/customer-portal.md +223 -161
  185. package/docs/data-governance.md +17 -17
  186. package/docs/design.md +1 -1
  187. package/docs/focus-pocus.md +460 -0
  188. package/docs/journey.md +2 -0
  189. package/docs/pricing.md +1 -1
  190. package/docs/targeting.md +4 -4
  191. package/package.json +10 -1
  192. package/dist/README-46VYEGGW.js +0 -7
  193. package/dist/README-IVBISSWB.cjs +0 -7
  194. package/dist/chunk-EIIIKDOJ.cjs +0 -14
  195. package/dist/chunk-KIWRGUKM.js +0 -14
  196. package/dist/chunk-MB6NKETA.cjs +0 -14
  197. package/dist/chunk-VSZEOCIE.js +0 -14
  198. package/dist/configuration-hub-A3S6ND6R.cjs +0 -7
  199. package/dist/configuration-hub-PMAW44U5.js +0 -7
  200. package/dist/configuration-hub.d-Cqaq2F-W.d.cts +0 -478
  201. package/dist/configuration-hub.d-Cqaq2F-W.d.ts +0 -478
  202. package/dist/customer-portal-7HYSBH7H.cjs +0 -7
  203. package/dist/customer-portal-X4LJX6AU.js +0 -7
  204. package/dist/data-governance-2U5UU4GM.cjs +0 -7
  205. package/dist/data-governance-36Y33JVG.js +0 -7
  206. package/dist/design-DROLIWS3.js +0 -7
  207. package/dist/design-XZKOZLTR.cjs +0 -7
  208. package/dist/design-runtime-OXEXKZVG.cjs +0 -5
  209. package/dist/journey-KDR5EU3W.js +0 -7
  210. package/dist/journey-REBN4TGQ.cjs +0 -7
  211. package/dist/pricing-FODHQFCB.cjs +0 -7
  212. package/dist/pricing-XRIDVZFC.js +0 -7
  213. package/dist/targeting-EYGYZD6M.cjs +0 -7
  214. package/dist/targeting-GEJTJN5Z.js +0 -7
@@ -32,6 +32,13 @@ const { data } = await configurationHubClient.listConfigTypes(...)
32
32
  - [`getIndex`](#getindex)
33
33
  - [`rebuildIndex`](#rebuildindex)
34
34
 
35
+ **Sync**
36
+ - [`createSyncJob`](#createsyncjob)
37
+ - [`listSyncJobs`](#listsyncjobs)
38
+ - [`getSyncJob`](#getsyncjob)
39
+ - [`retrySyncJob`](#retrysyncjob)
40
+ - [`listSyncJobResources`](#listsyncjobresources)
41
+
35
42
  **Schemas**
36
43
  - [`ResourceType`](#resourcetype)
37
44
  - [`ConfigTypeInfo`](#configtypeinfo)
@@ -41,6 +48,19 @@ const { data } = await configurationHubClient.listConfigTypes(...)
41
48
  - [`IndexRebuildResponse`](#indexrebuildresponse)
42
49
  - [`IndexStatusResponse`](#indexstatusresponse)
43
50
  - [`ErrorResponse`](#errorresponse)
51
+ - [`SyncJobStatus`](#syncjobstatus)
52
+ - [`SyncDirection`](#syncdirection)
53
+ - [`SyncPhase`](#syncphase)
54
+ - [`SyncJobResourceStatus`](#syncjobresourcestatus)
55
+ - [`SyncJobRequest`](#syncjobrequest)
56
+ - [`SyncJobRetryRequest`](#syncjobretryrequest)
57
+ - [`SyncJobCounts`](#syncjobcounts)
58
+ - [`SyncJobEvent`](#syncjobevent)
59
+ - [`SyncJobBatch`](#syncjobbatch)
60
+ - [`SyncJob`](#syncjob)
61
+ - [`SyncJobListResponse`](#syncjoblistresponse)
62
+ - [`SyncJobResource`](#syncjobresource)
63
+ - [`SyncJobResourceListResponse`](#syncjobresourcelistresponse)
44
64
 
45
65
  ### `listConfigTypes`
46
66
 
@@ -118,6 +138,13 @@ const { data } = await client.listConfigs({
118
138
  "aliases": ["string"],
119
139
  "purposes": ["string"],
120
140
  "link": "https://example.com/path",
141
+ "active": true,
142
+ "blueprints": [
143
+ {
144
+ "id": "string",
145
+ "title": "string"
146
+ }
147
+ ],
121
148
  "metadata": {}
122
149
  }
123
150
  ]
@@ -162,6 +189,13 @@ const { data } = await client.getConfigDependencies({
162
189
  "aliases": ["string"],
163
190
  "purposes": ["string"],
164
191
  "link": "https://example.com/path",
192
+ "active": true,
193
+ "blueprints": [
194
+ {
195
+ "id": "string",
196
+ "title": "string"
197
+ }
198
+ ],
165
199
  "metadata": {}
166
200
  }
167
201
  ]
@@ -204,6 +238,13 @@ const { data } = await client.getConfigUsedBy({
204
238
  "aliases": ["string"],
205
239
  "purposes": ["string"],
206
240
  "link": "https://example.com/path",
241
+ "active": true,
242
+ "blueprints": [
243
+ {
244
+ "id": "string",
245
+ "title": "string"
246
+ }
247
+ ],
207
248
  "metadata": {}
208
249
  }
209
250
  ]
@@ -242,6 +283,349 @@ const { data } = await client.getIndex()
242
283
 
243
284
  ---
244
285
 
286
+ ### `createSyncJob`
287
+
288
+ Create a new cross-org sync job. The job is enqueued for asynchronous execution
289
+ by the worker Lambda; the response returns the persisted job header with status
290
+ `pending`.
291
+
292
+ `POST /v1/configs/sync-jobs`
293
+
294
+ ```ts
295
+ const { data } = await client.createSyncJob(
296
+ null,
297
+ {
298
+ source_org_id: 'string',
299
+ target_org_id: 'string',
300
+ target_auth_token: 'string',
301
+ name: 'string',
302
+ dry_run: false,
303
+ include_dependencies: true,
304
+ resources: [
305
+ {
306
+ type: 'string',
307
+ id: 'string'
308
+ }
309
+ ]
310
+ },
311
+ )
312
+ ```
313
+
314
+ <details>
315
+ <summary>Response</summary>
316
+
317
+ ```json
318
+ {
319
+ "id": "string",
320
+ "name": "string",
321
+ "status": "pending",
322
+ "direction": "push",
323
+ "source_org_id": "string",
324
+ "target_org_id": "string",
325
+ "dry_run": true,
326
+ "counts": {
327
+ "total": 0,
328
+ "pending": 0,
329
+ "in_progress": 0,
330
+ "succeeded": 0,
331
+ "failed": 0,
332
+ "skipped_unchanged": 0
333
+ },
334
+ "current_phase": "phase_0",
335
+ "current_batch": {
336
+ "index": 0,
337
+ "of": 0,
338
+ "level": 0
339
+ },
340
+ "started_at": "1970-01-01T00:00:00.000Z",
341
+ "finished_at": "1970-01-01T00:00:00.000Z",
342
+ "events": [
343
+ {
344
+ "seq": 0,
345
+ "ts": "1970-01-01T00:00:00.000Z",
346
+ "phase": "phase_0",
347
+ "type": "string",
348
+ "source_id": "string",
349
+ "target_id": "string",
350
+ "status": "pending",
351
+ "message": "string",
352
+ "error": "string"
353
+ }
354
+ ],
355
+ "errors_sample": [
356
+ {
357
+ "type": "string",
358
+ "source_id": "string",
359
+ "error": "string"
360
+ }
361
+ ]
362
+ }
363
+ ```
364
+
365
+ </details>
366
+
367
+ ---
368
+
369
+ ### `listSyncJobs`
370
+
371
+ List sync jobs scoped to the caller's organization, paginated with an opaque
372
+ cursor. Defaults to most-recent first.
373
+
374
+ `GET /v1/configs/sync-jobs`
375
+
376
+ ```ts
377
+ const { data } = await client.listSyncJobs({
378
+ cursor: 'example',
379
+ size: 1,
380
+ status: 'example',
381
+ })
382
+ ```
383
+
384
+ <details>
385
+ <summary>Response</summary>
386
+
387
+ ```json
388
+ {
389
+ "next_cursor": "string",
390
+ "results": [
391
+ {
392
+ "id": "string",
393
+ "name": "string",
394
+ "status": "pending",
395
+ "direction": "push",
396
+ "source_org_id": "string",
397
+ "target_org_id": "string",
398
+ "dry_run": true,
399
+ "counts": {
400
+ "total": 0,
401
+ "pending": 0,
402
+ "in_progress": 0,
403
+ "succeeded": 0,
404
+ "failed": 0,
405
+ "skipped_unchanged": 0
406
+ },
407
+ "current_phase": "phase_0",
408
+ "current_batch": {
409
+ "index": 0,
410
+ "of": 0,
411
+ "level": 0
412
+ },
413
+ "started_at": "1970-01-01T00:00:00.000Z",
414
+ "finished_at": "1970-01-01T00:00:00.000Z",
415
+ "events": [
416
+ {
417
+ "seq": 0,
418
+ "ts": "1970-01-01T00:00:00.000Z",
419
+ "phase": "phase_0",
420
+ "type": "string",
421
+ "source_id": "string",
422
+ "target_id": "string",
423
+ "status": "pending",
424
+ "message": "string",
425
+ "error": "string"
426
+ }
427
+ ],
428
+ "errors_sample": [
429
+ {
430
+ "type": "string",
431
+ "source_id": "string",
432
+ "error": "string"
433
+ }
434
+ ]
435
+ }
436
+ ]
437
+ }
438
+ ```
439
+
440
+ </details>
441
+
442
+ ---
443
+
444
+ ### `getSyncJob`
445
+
446
+ Fetch a single sync job by ID. Returns the job header, counts summary,
447
+ current phase pointer, and the latest activity events. Frontend polls this
448
+ endpoint with a ramping interval.
449
+
450
+ `GET /v1/configs/sync-jobs/{id}`
451
+
452
+ ```ts
453
+ const { data } = await client.getSyncJob({
454
+ id: '123e4567-e89b-12d3-a456-426614174000',
455
+ })
456
+ ```
457
+
458
+ <details>
459
+ <summary>Response</summary>
460
+
461
+ ```json
462
+ {
463
+ "id": "string",
464
+ "name": "string",
465
+ "status": "pending",
466
+ "direction": "push",
467
+ "source_org_id": "string",
468
+ "target_org_id": "string",
469
+ "dry_run": true,
470
+ "counts": {
471
+ "total": 0,
472
+ "pending": 0,
473
+ "in_progress": 0,
474
+ "succeeded": 0,
475
+ "failed": 0,
476
+ "skipped_unchanged": 0
477
+ },
478
+ "current_phase": "phase_0",
479
+ "current_batch": {
480
+ "index": 0,
481
+ "of": 0,
482
+ "level": 0
483
+ },
484
+ "started_at": "1970-01-01T00:00:00.000Z",
485
+ "finished_at": "1970-01-01T00:00:00.000Z",
486
+ "events": [
487
+ {
488
+ "seq": 0,
489
+ "ts": "1970-01-01T00:00:00.000Z",
490
+ "phase": "phase_0",
491
+ "type": "string",
492
+ "source_id": "string",
493
+ "target_id": "string",
494
+ "status": "pending",
495
+ "message": "string",
496
+ "error": "string"
497
+ }
498
+ ],
499
+ "errors_sample": [
500
+ {
501
+ "type": "string",
502
+ "source_id": "string",
503
+ "error": "string"
504
+ }
505
+ ]
506
+ }
507
+ ```
508
+
509
+ </details>
510
+
511
+ ---
512
+
513
+ ### `retrySyncJob`
514
+
515
+ Retry the failed resources from a prior sync job. Creates a new job whose
516
+ scope is the failed `(type, source_id)` set of the original job and enqueues
517
+ it for execution. Optionally accepts inline paylo
518
+
519
+ `POST /v1/configs/sync-jobs/{id}/retry`
520
+
521
+ ```ts
522
+ const { data } = await client.retrySyncJob(
523
+ {
524
+ id: '123e4567-e89b-12d3-a456-426614174000',
525
+ },
526
+ {
527
+ payload_overrides: {}
528
+ },
529
+ )
530
+ ```
531
+
532
+ <details>
533
+ <summary>Response</summary>
534
+
535
+ ```json
536
+ {
537
+ "id": "string",
538
+ "name": "string",
539
+ "status": "pending",
540
+ "direction": "push",
541
+ "source_org_id": "string",
542
+ "target_org_id": "string",
543
+ "dry_run": true,
544
+ "counts": {
545
+ "total": 0,
546
+ "pending": 0,
547
+ "in_progress": 0,
548
+ "succeeded": 0,
549
+ "failed": 0,
550
+ "skipped_unchanged": 0
551
+ },
552
+ "current_phase": "phase_0",
553
+ "current_batch": {
554
+ "index": 0,
555
+ "of": 0,
556
+ "level": 0
557
+ },
558
+ "started_at": "1970-01-01T00:00:00.000Z",
559
+ "finished_at": "1970-01-01T00:00:00.000Z",
560
+ "events": [
561
+ {
562
+ "seq": 0,
563
+ "ts": "1970-01-01T00:00:00.000Z",
564
+ "phase": "phase_0",
565
+ "type": "string",
566
+ "source_id": "string",
567
+ "target_id": "string",
568
+ "status": "pending",
569
+ "message": "string",
570
+ "error": "string"
571
+ }
572
+ ],
573
+ "errors_sample": [
574
+ {
575
+ "type": "string",
576
+ "source_id": "string",
577
+ "error": "string"
578
+ }
579
+ ]
580
+ }
581
+ ```
582
+
583
+ </details>
584
+
585
+ ---
586
+
587
+ ### `listSyncJobResources`
588
+
589
+ List the per-resource rows for a sync job. Supports filtering by status
590
+ (e.g. `failed`) and cursor pagination. Used by the failures table and the
591
+ dry-run plan view in the frontend.
592
+
593
+ `GET /v1/configs/sync-jobs/{id}/resources`
594
+
595
+ ```ts
596
+ const { data } = await client.listSyncJobResources({
597
+ id: '123e4567-e89b-12d3-a456-426614174000',
598
+ cursor: 'example',
599
+ size: 1,
600
+ status: 'example',
601
+ })
602
+ ```
603
+
604
+ <details>
605
+ <summary>Response</summary>
606
+
607
+ ```json
608
+ {
609
+ "next_cursor": "string",
610
+ "results": [
611
+ {
612
+ "type": "string",
613
+ "source_id": "string",
614
+ "target_id": "string",
615
+ "status": "pending",
616
+ "phase": "phase_0",
617
+ "attempt": 0,
618
+ "error": "string",
619
+ "updated_at": "1970-01-01T00:00:00.000Z"
620
+ }
621
+ ]
622
+ }
623
+ ```
624
+
625
+ </details>
626
+
627
+ ---
628
+
245
629
  ### `rebuildIndex`
246
630
 
247
631
  Rebuild the configuration index for the caller's organization.
@@ -314,6 +698,11 @@ type ConfigNode = {
314
698
  aliases?: string[]
315
699
  purposes?: string[]
316
700
  link?: string // uri
701
+ active?: boolean
702
+ blueprints?: Array<{
703
+ id: string
704
+ title: string
705
+ }>
317
706
  metadata?: Record<string, unknown>
318
707
  }
319
708
  ```
@@ -339,6 +728,11 @@ type ConfigListResponse = {
339
728
  aliases?: string[]
340
729
  purposes?: string[]
341
730
  link?: string // uri
731
+ active?: boolean
732
+ blueprints?: Array<{
733
+ id: { ... }
734
+ title: { ... }
735
+ }>
342
736
  metadata?: Record<string, unknown>
343
737
  }>
344
738
  }
@@ -362,6 +756,11 @@ type ConfigDependenciesResponse = {
362
756
  aliases?: string[]
363
757
  purposes?: string[]
364
758
  link?: string // uri
759
+ active?: boolean
760
+ blueprints?: Array<{
761
+ id: { ... }
762
+ title: { ... }
763
+ }>
365
764
  metadata?: Record<string, unknown>
366
765
  }>
367
766
  }
@@ -402,3 +801,264 @@ type ErrorResponse = {
402
801
  error: string
403
802
  }
404
803
  ```
804
+
805
+ ### `SyncJobStatus`
806
+
807
+ Lifecycle status of a sync job. See `docs/sync/INTERFACES.md` for state
808
+ transitions.
809
+
810
+
811
+ ```ts
812
+ type SyncJobStatus = "pending" | "in_progress" | "succeeded" | "partial" | "failed" | "cancelled"
813
+ ```
814
+
815
+ ### `SyncDirection`
816
+
817
+ Direction of the sync, derived from the source/target pane selection in the
818
+ configuration hub UI.
819
+
820
+
821
+ ```ts
822
+ type SyncDirection = "push" | "pull"
823
+ ```
824
+
825
+ ### `SyncPhase`
826
+
827
+ Three-phase orchestrator phase. `phase_0` fetches source payloads,
828
+ `phase_a` creates/matches with topological batches, `phase_a5` resolves
829
+ derived references, `phase_b` patches with the full ID map, `finalize`
830
+ runs cycle-breaking finalizers.
831
+
832
+
833
+ ```ts
834
+ type SyncPhase = "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
835
+ ```
836
+
837
+ ### `SyncJobResourceStatus`
838
+
839
+ Per-resource status. `would_*` values are produced by dry-run jobs.
840
+
841
+
842
+ ```ts
843
+ type SyncJobResourceStatus = "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
844
+ ```
845
+
846
+ ### `SyncJobRequest`
847
+
848
+ Request body for `createSyncJob`. `target_auth_token` is the destination
849
+ org's auth token and MUST NOT be persisted or logged — it is `writeOnly`.
850
+
851
+
852
+ ```ts
853
+ type SyncJobRequest = {
854
+ source_org_id: string
855
+ target_org_id: string
856
+ target_auth_token: string
857
+ name?: string
858
+ dry_run?: boolean
859
+ include_dependencies?: boolean
860
+ resources: Array<{
861
+ type: string
862
+ id: string
863
+ }>
864
+ }
865
+ ```
866
+
867
+ ### `SyncJobRetryRequest`
868
+
869
+ Optional body for `retrySyncJob`. Defaults to retrying every failed
870
+ resource of the original job.
871
+
872
+
873
+ ```ts
874
+ type SyncJobRetryRequest = {
875
+ payload_overrides?: Record<string, unknown>
876
+ }
877
+ ```
878
+
879
+ ### `SyncJobCounts`
880
+
881
+ Aggregate counters by resource status.
882
+
883
+ ```ts
884
+ type SyncJobCounts = {
885
+ total: number
886
+ pending: number
887
+ in_progress: number
888
+ succeeded: number
889
+ failed: number
890
+ skipped_unchanged: number
891
+ }
892
+ ```
893
+
894
+ ### `SyncJobEvent`
895
+
896
+ Activity-log entry surfaced to the frontend. Backed by the op-log rows in
897
+ the index table (`SYNC#`<jobId>`#OP#`<seq>``).
898
+
899
+
900
+ ```ts
901
+ type SyncJobEvent = {
902
+ seq: number
903
+ ts: string // date-time
904
+ phase?: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
905
+ type?: string
906
+ source_id?: string
907
+ target_id?: string
908
+ status: "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
909
+ message?: string
910
+ error?: string
911
+ }
912
+ ```
913
+
914
+ ### `SyncJobBatch`
915
+
916
+ Position within the current topological batch for the active phase.
917
+
918
+ ```ts
919
+ type SyncJobBatch = {
920
+ index: number
921
+ of: number
922
+ level: number
923
+ }
924
+ ```
925
+
926
+ ### `SyncJob`
927
+
928
+ Sync job header as surfaced by `getSyncJob` and the create response. The
929
+ canonical persistence shape is described in `docs/sync/INTERFACES.md`.
930
+
931
+
932
+ ```ts
933
+ type SyncJob = {
934
+ id: string
935
+ name?: string
936
+ status: "pending" | "in_progress" | "succeeded" | "partial" | "failed" | "cancelled"
937
+ direction: "push" | "pull"
938
+ source_org_id: string
939
+ target_org_id: string
940
+ dry_run: boolean
941
+ counts: {
942
+ total: number
943
+ pending: number
944
+ in_progress: number
945
+ succeeded: number
946
+ failed: number
947
+ skipped_unchanged: number
948
+ }
949
+ current_phase?: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
950
+ current_batch?: {
951
+ index: number
952
+ of: number
953
+ level: number
954
+ }
955
+ started_at: string // date-time
956
+ finished_at?: string // date-time
957
+ events?: Array<{
958
+ seq: number
959
+ ts: string // date-time
960
+ phase?: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
961
+ type?: string
962
+ source_id?: string
963
+ target_id?: string
964
+ status: "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
965
+ message?: string
966
+ error?: string
967
+ }>
968
+ errors_sample?: Array<{
969
+ type: string
970
+ source_id: string
971
+ error: string
972
+ }>
973
+ }
974
+ ```
975
+
976
+ ### `SyncJobListResponse`
977
+
978
+ Cursor-paginated list of sync jobs.
979
+
980
+ ```ts
981
+ type SyncJobListResponse = {
982
+ next_cursor?: string
983
+ results: Array<{
984
+ id: string
985
+ name?: string
986
+ status: "pending" | "in_progress" | "succeeded" | "partial" | "failed" | "cancelled"
987
+ direction: "push" | "pull"
988
+ source_org_id: string
989
+ target_org_id: string
990
+ dry_run: boolean
991
+ counts: {
992
+ total: { ... }
993
+ pending: { ... }
994
+ in_progress: { ... }
995
+ succeeded: { ... }
996
+ failed: { ... }
997
+ skipped_unchanged: { ... }
998
+ }
999
+ current_phase?: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
1000
+ current_batch?: {
1001
+ index: { ... }
1002
+ of: { ... }
1003
+ level: { ... }
1004
+ }
1005
+ started_at: string // date-time
1006
+ finished_at?: string // date-time
1007
+ events?: Array<{
1008
+ seq: { ... }
1009
+ ts: { ... }
1010
+ phase?: { ... }
1011
+ type?: { ... }
1012
+ source_id?: { ... }
1013
+ target_id?: { ... }
1014
+ status: { ... }
1015
+ message?: { ... }
1016
+ error?: { ... }
1017
+ }>
1018
+ errors_sample?: Array<{
1019
+ type: { ... }
1020
+ source_id: { ... }
1021
+ error: { ... }
1022
+ }>
1023
+ }>
1024
+ }
1025
+ ```
1026
+
1027
+ ### `SyncJobResource`
1028
+
1029
+ Per-resource row backed by `SyncResourcesTable`. See
1030
+ `docs/sync/INTERFACES.md` for the DDB shape.
1031
+
1032
+
1033
+ ```ts
1034
+ type SyncJobResource = {
1035
+ type: string
1036
+ source_id: string
1037
+ target_id?: string
1038
+ status: "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
1039
+ phase: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
1040
+ attempt: number
1041
+ error?: string
1042
+ updated_at: string // date-time
1043
+ }
1044
+ ```
1045
+
1046
+ ### `SyncJobResourceListResponse`
1047
+
1048
+ Cursor-paginated list of sync job resources.
1049
+
1050
+ ```ts
1051
+ type SyncJobResourceListResponse = {
1052
+ next_cursor?: string
1053
+ results: Array<{
1054
+ type: string
1055
+ source_id: string
1056
+ target_id?: string
1057
+ status: "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
1058
+ phase: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
1059
+ attempt: number
1060
+ error?: string
1061
+ updated_at: string // date-time
1062
+ }>
1063
+ }
1064
+ ```