xytara 2.0.0 → 2.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 (176) hide show
  1. package/.env.example +6 -0
  2. package/ADAPTER_START_HERE.md +56 -0
  3. package/BSV_TERANODE_SETUP.md +30 -1
  4. package/CARRIED_HANDOFF_DEMO.md +60 -0
  5. package/EXAMPLE_PATHS.md +53 -0
  6. package/FINAL_CONTRACT.md +6 -6
  7. package/OPERATIONS_RUNBOOK.md +65 -0
  8. package/OPERATOR_START_HERE.md +63 -0
  9. package/PARTNER_READY_PATH.md +71 -0
  10. package/PROGRAM_COMPLETE_RELEASE.md +63 -0
  11. package/PROGRAM_STATUS.md +57 -0
  12. package/PUBLIC_DEMO_SCRIPT.md +78 -0
  13. package/PUBLISH_PLAN.md +14 -0
  14. package/README.md +142 -6
  15. package/RELEASE_CHECKLIST.md +16 -0
  16. package/RELEASE_NOTES.md +28 -0
  17. package/SERVICE_CONTRACT.md +4 -4
  18. package/START_HERE.md +32 -0
  19. package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -0
  20. package/WHY_XYTARA_XOONYA.md +63 -0
  21. package/adapters/examples/minimal-third-party-execution-adapter.js +61 -0
  22. package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -0
  23. package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -0
  24. package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -0
  25. package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -0
  26. package/bin/xytara-release.js +1419 -0
  27. package/bin/xytara-run.js +186 -0
  28. package/examples/adapter_review_walkthrough.js +53 -0
  29. package/examples/export_carried_handoff.js +80 -0
  30. package/examples/funded_runtime_walkthrough.js +70 -0
  31. package/examples/partner_launch_walkthrough.js +43 -0
  32. package/examples/quickstart.js +3255 -0
  33. package/index.js +87 -1
  34. package/lib/adapter_pack.js +118 -0
  35. package/lib/adapter_partner_pack.js +89 -0
  36. package/lib/adapter_promotion_pack.js +89 -0
  37. package/lib/announcement_pack.js +61 -0
  38. package/lib/commerce_artifacts.js +3 -0
  39. package/lib/commerce_economics.js +14 -0
  40. package/lib/commerce_reports.js +26 -1
  41. package/lib/commerce_shell.js +18 -2
  42. package/lib/ecosystem_entry.js +64 -0
  43. package/lib/launch_narrative.js +53 -0
  44. package/lib/outreach_copy_pack.js +51 -0
  45. package/lib/outreach_message_pack.js +71 -0
  46. package/lib/outreach_proof.js +71 -0
  47. package/lib/outreach_target_pack.js +60 -0
  48. package/lib/phase_10_closeout_pack.js +45 -0
  49. package/lib/phase_10_completion_pack.js +76 -0
  50. package/lib/phase_10_decision_record_pack.js +54 -0
  51. package/lib/phase_10_decision_resolution_pack.js +53 -0
  52. package/lib/phase_10_demand_signal_adapters_runtime_pack.js +74 -0
  53. package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +74 -0
  54. package/lib/phase_10_freeze_baseline_pack.js +67 -0
  55. package/lib/phase_10_freeze_review_pack.js +64 -0
  56. package/lib/phase_10_gate_pack.js +57 -0
  57. package/lib/phase_10_long_tail_continuity_pack.js +80 -0
  58. package/lib/phase_10_long_tail_ecosystem_pack.js +66 -0
  59. package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -0
  60. package/lib/phase_1_claude_mcp_pack.js +60 -0
  61. package/lib/phase_1_claude_mcp_runtime_pack.js +52 -0
  62. package/lib/phase_1_ecosystem_pack.js +67 -0
  63. package/lib/phase_1_openai_codex_pack.js +60 -0
  64. package/lib/phase_1_openai_codex_runtime_pack.js +52 -0
  65. package/lib/phase_2_base_runtime_pack.js +71 -0
  66. package/lib/phase_2_base_usdc_runtime_pack.js +72 -0
  67. package/lib/phase_2_closeout_pack.js +65 -0
  68. package/lib/phase_2_completion_pack.js +113 -0
  69. package/lib/phase_2_decision_record_pack.js +66 -0
  70. package/lib/phase_2_decision_resolution_pack.js +69 -0
  71. package/lib/phase_2_eth_runtime_pack.js +70 -0
  72. package/lib/phase_2_evm_base_runtime_pack.js +73 -0
  73. package/lib/phase_2_evm_runtime_pack.js +71 -0
  74. package/lib/phase_2_flip_preview_pack.js +60 -0
  75. package/lib/phase_2_freeze_review_pack.js +99 -0
  76. package/lib/phase_2_gate_pack.js +77 -0
  77. package/lib/phase_2_payment_rails_pack.js +71 -0
  78. package/lib/phase_2_usdc_runtime_pack.js +71 -0
  79. package/lib/phase_3_brc_runtime_pack.js +81 -0
  80. package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -0
  81. package/lib/phase_3_closeout_pack.js +62 -0
  82. package/lib/phase_3_completion_pack.js +94 -0
  83. package/lib/phase_3_decision_record_pack.js +64 -0
  84. package/lib/phase_3_decision_resolution_pack.js +69 -0
  85. package/lib/phase_3_freeze_baseline_pack.js +67 -0
  86. package/lib/phase_3_freeze_review_pack.js +80 -0
  87. package/lib/phase_3_gate_pack.js +76 -0
  88. package/lib/phase_3_metanet_runtime_pack.js +81 -0
  89. package/lib/phase_3_native_bsv_pack.js +91 -0
  90. package/lib/phase_3_native_continuity_pack.js +82 -0
  91. package/lib/phase_4_attestation_runtime_pack.js +75 -0
  92. package/lib/phase_4_closeout_pack.js +45 -0
  93. package/lib/phase_4_completion_pack.js +94 -0
  94. package/lib/phase_4_decision_record_pack.js +54 -0
  95. package/lib/phase_4_decision_resolution_pack.js +45 -0
  96. package/lib/phase_4_erc8004_runtime_pack.js +76 -0
  97. package/lib/phase_4_freeze_baseline_pack.js +67 -0
  98. package/lib/phase_4_freeze_review_pack.js +68 -0
  99. package/lib/phase_4_gate_pack.js +58 -0
  100. package/lib/phase_4_identity_registry_runtime_pack.js +75 -0
  101. package/lib/phase_4_identity_trust_pack.js +73 -0
  102. package/lib/phase_4_trust_continuity_pack.js +86 -0
  103. package/lib/phase_5_antelope_runtime_pack.js +76 -0
  104. package/lib/phase_5_closeout_pack.js +44 -0
  105. package/lib/phase_5_completion_pack.js +82 -0
  106. package/lib/phase_5_decision_record_pack.js +54 -0
  107. package/lib/phase_5_decision_resolution_pack.js +45 -0
  108. package/lib/phase_5_freeze_baseline_pack.js +67 -0
  109. package/lib/phase_5_freeze_review_pack.js +68 -0
  110. package/lib/phase_5_gate_pack.js +58 -0
  111. package/lib/phase_5_major_rails_continuity_pack.js +86 -0
  112. package/lib/phase_5_major_rails_pack.js +74 -0
  113. package/lib/phase_5_proton_xpr_runtime_pack.js +76 -0
  114. package/lib/phase_5_solana_runtime_pack.js +76 -0
  115. package/lib/phase_6_autogen_runtime_pack.js +72 -0
  116. package/lib/phase_6_closeout_pack.js +46 -0
  117. package/lib/phase_6_completion_pack.js +77 -0
  118. package/lib/phase_6_decision_record_pack.js +54 -0
  119. package/lib/phase_6_decision_resolution_pack.js +53 -0
  120. package/lib/phase_6_framework_continuity_pack.js +81 -0
  121. package/lib/phase_6_framework_runtime_pack.js +68 -0
  122. package/lib/phase_6_freeze_baseline_pack.js +68 -0
  123. package/lib/phase_6_freeze_review_pack.js +65 -0
  124. package/lib/phase_6_gate_pack.js +59 -0
  125. package/lib/phase_6_langchain_runtime_pack.js +72 -0
  126. package/lib/phase_6_langgraph_runtime_pack.js +72 -0
  127. package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -0
  128. package/lib/phase_7_closeout_pack.js +45 -0
  129. package/lib/phase_7_completion_pack.js +85 -0
  130. package/lib/phase_7_decision_record_pack.js +53 -0
  131. package/lib/phase_7_decision_resolution_pack.js +53 -0
  132. package/lib/phase_7_event_system_continuity_pack.js +89 -0
  133. package/lib/phase_7_event_system_pack.js +76 -0
  134. package/lib/phase_7_freeze_baseline_pack.js +74 -0
  135. package/lib/phase_7_freeze_review_pack.js +65 -0
  136. package/lib/phase_7_gate_pack.js +58 -0
  137. package/lib/phase_7_kafka_runtime_pack.js +74 -0
  138. package/lib/phase_7_mqtt_runtime_pack.js +74 -0
  139. package/lib/phase_7_nats_runtime_pack.js +74 -0
  140. package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -0
  141. package/lib/phase_8_closeout_pack.js +46 -0
  142. package/lib/phase_8_completion_pack.js +82 -0
  143. package/lib/phase_8_decision_record_pack.js +54 -0
  144. package/lib/phase_8_decision_resolution_pack.js +53 -0
  145. package/lib/phase_8_external_receipt_import_runtime_pack.js +74 -0
  146. package/lib/phase_8_external_result_import_runtime_pack.js +74 -0
  147. package/lib/phase_8_freeze_baseline_pack.js +71 -0
  148. package/lib/phase_8_freeze_review_pack.js +64 -0
  149. package/lib/phase_8_gate_pack.js +58 -0
  150. package/lib/phase_8_proof_bridge_continuity_pack.js +86 -0
  151. package/lib/phase_8_proof_bridges_pack.js +72 -0
  152. package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +74 -0
  153. package/lib/phase_9_closeout_pack.js +46 -0
  154. package/lib/phase_9_completion_pack.js +82 -0
  155. package/lib/phase_9_custody_refs_runtime_pack.js +74 -0
  156. package/lib/phase_9_decision_record_pack.js +54 -0
  157. package/lib/phase_9_decision_resolution_pack.js +53 -0
  158. package/lib/phase_9_freeze_baseline_pack.js +71 -0
  159. package/lib/phase_9_freeze_review_pack.js +64 -0
  160. package/lib/phase_9_gate_pack.js +58 -0
  161. package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +74 -0
  162. package/lib/phase_9_treasury_connectivity_pack.js +72 -0
  163. package/lib/phase_9_treasury_continuity_pack.js +86 -0
  164. package/lib/phase_9_treasury_destinations_runtime_pack.js +74 -0
  165. package/lib/phase_program_pack.js +120 -0
  166. package/lib/publish_plan.js +51 -0
  167. package/lib/release_candidate.js +50 -0
  168. package/lib/release_center.js +1085 -0
  169. package/lib/release_history.js +72 -0
  170. package/lib/release_manifest.js +114 -0
  171. package/lib/release_pack.js +454 -0
  172. package/lib/runtime_state_store.js +354 -0
  173. package/lib/settlement_bsv_live.js +262 -13
  174. package/lib/soft_launch_pack.js +78 -0
  175. package/package.json +24 -2
  176. package/server.js +2562 -220
@@ -0,0 +1,3255 @@
1
+ "use strict";
2
+
3
+ const assert = require("assert");
4
+ const { createServer } = require("../server");
5
+ const {
6
+ createClient,
7
+ exportIntegrationSubmissionBundleSet
8
+ } = require("../index.js");
9
+
10
+ async function main() {
11
+ const server = createServer();
12
+ await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
13
+ const address = server.address();
14
+ const baseUrl = `http://127.0.0.1:${address.port}`;
15
+
16
+ try {
17
+ const client = createClient({
18
+ baseUrl,
19
+ apiKey: "demo-api-key",
20
+ walletId: "demo-wallet",
21
+ walletSecret: "demo-wallet-secret",
22
+ accountId: "acct_demo"
23
+ });
24
+
25
+ const health = await client.getHealth();
26
+ assert.strictEqual(health.status, "ok", "health missing");
27
+ const healthSummary = await client.getHealthSummary();
28
+ assert.strictEqual(healthSummary.status, "ok", "health summary missing");
29
+ const ready = await client.waitForHealth({
30
+ timeoutMs: 1000,
31
+ pollIntervalMs: 50
32
+ });
33
+ assert.strictEqual(ready.readiness, "ready", "health readiness missing");
34
+ const readySummary = await client.waitForHealthSummary({
35
+ timeoutMs: 1000,
36
+ pollIntervalMs: 50
37
+ });
38
+ assert.strictEqual(readySummary.readiness, "ready", "health summary missing");
39
+
40
+ const summary = await client.fetchCatalogSummary(true);
41
+ assert.strictEqual(typeof summary.task_count, "number", "catalog summary missing");
42
+ assert.strictEqual(Array.isArray(summary.task_refs), true, "catalog summary task refs missing");
43
+ assert.strictEqual(Array.isArray(summary.workflow_refs), true, "catalog summary workflow refs missing");
44
+ assert.strictEqual(summary.task_count >= 20, true, "catalog summary breadth missing");
45
+ assert.strictEqual(summary.workflow_count >= 5, true, "workflow summary breadth missing");
46
+ assert.strictEqual(summary.task_refs.includes("a2a.negotiate"), true, "a2a task carry missing");
47
+ assert.strictEqual(summary.task_refs.includes("a2c.session.open"), true, "a2c task carry missing");
48
+ assert.strictEqual(summary.task_refs.includes("identity.attest.preview"), true, "identity task carry missing");
49
+ assert.strictEqual(summary.workflow_refs.includes("a2a.settlement.flow"), true, "a2a workflow carry missing");
50
+ assert.strictEqual(summary.workflow_refs.includes("identity.anchor.flow"), true, "identity workflow carry missing");
51
+ const defaultTransactionCenter = await client.getDefaultTransactionCenter(true);
52
+ assert.strictEqual(defaultTransactionCenter.default_protocol.protocol, "mcp", "default transaction center protocol missing");
53
+ assert.strictEqual(defaultTransactionCenter.default_payment.protocol, "x402", "default transaction center payment missing");
54
+ assert.strictEqual(defaultTransactionCenter.default_settlement.settlement_mode, "bsv_teranode", "default transaction center settlement missing");
55
+ const defaultTransactionCenterSummary = await client.getDefaultTransactionCenterSummary(true);
56
+ assert.strictEqual(defaultTransactionCenterSummary.default_protocol, "mcp", "default transaction center summary protocol missing");
57
+ assert.strictEqual(defaultTransactionCenterSummary.default_payment_protocol, "x402", "default transaction center summary payment missing");
58
+ assert.strictEqual(defaultTransactionCenterSummary.default_settlement_mode, "bsv_teranode", "default transaction center summary settlement missing");
59
+ assert.strictEqual(defaultTransactionCenterSummary.suggested_path_count >= 2, true, "default transaction center paths missing");
60
+ const defaultTransactionEconomics = await client.getDefaultTransactionEconomics(true);
61
+ assert.strictEqual(defaultTransactionEconomics.payment_protocol, "x402", "default transaction economics payment missing");
62
+ assert.strictEqual(defaultTransactionEconomics.default_settlement_mode, "bsv_teranode", "default transaction economics settlement missing");
63
+ assert.strictEqual(Array.isArray(defaultTransactionEconomics.supported_settlement_modes), true, "default transaction economics modes missing");
64
+ const defaultTransactionEconomicsSummary = await client.getDefaultTransactionEconomicsSummary(true);
65
+ assert.strictEqual(defaultTransactionEconomicsSummary.treasury_destination_kind, "account_treasury", "default transaction economics summary treasury missing");
66
+ const defaultTaskPacks = await client.getDefaultTaskPacks(true);
67
+ assert.strictEqual(defaultTaskPacks.pack_count >= 3, true, "default task packs missing");
68
+ assert.strictEqual(defaultTaskPacks.packs.some((entry) => entry.pack_ref === "default.mcp.tool.invoke"), true, "default mcp task pack missing");
69
+ const defaultTaskPacksSummary = await client.getDefaultTaskPacksSummary(true);
70
+ assert.strictEqual(defaultTaskPacksSummary.workflow_pack_count >= 2, true, "default workflow task packs missing");
71
+ const defaultTaskPack = await client.getDefaultTaskPack("default.a2c.tooling.run", true);
72
+ assert.strictEqual(defaultTaskPack.workflow_ref, "a2c.tooling.flow", "default task pack workflow missing");
73
+ const defaultGuidedLoops = await client.getDefaultGuidedLoops(true);
74
+ assert.strictEqual(Array.isArray(defaultGuidedLoops.loops), true, "default guided loops missing");
75
+ assert.strictEqual(defaultGuidedLoops.loop_count >= 3, true, "default guided loop count missing");
76
+ const defaultGuidedLoopsSummary = await client.getDefaultGuidedLoopsSummary(true);
77
+ assert.strictEqual(defaultGuidedLoopsSummary.loop_refs.includes("default.mcp.loop"), true, "default guided loop summary missing");
78
+ const defaultGuidedLoop = await client.getDefaultGuidedLoop("default.a2c.tooling.loop", true);
79
+ assert.strictEqual(defaultGuidedLoop.pack_ref, "default.a2c.tooling.run", "default guided loop pack ref missing");
80
+ const transactionClassPacks = await client.getTransactionClassPacks(true);
81
+ assert.strictEqual(transactionClassPacks.class_pack_count >= 5, true, "transaction class pack catalog missing");
82
+ const transactionClassPackSummary = await client.getTransactionClassPacksSummary(true);
83
+ assert.strictEqual(transactionClassPackSummary.class_pack_refs.includes("transaction.registry.anchor"), true, "transaction class pack summary missing");
84
+ const transactionClassPack = await client.getTransactionClassPack("transaction.registry.anchor", true);
85
+ assert.strictEqual(transactionClassPack.workflow_ref, "registry.anchor.flow", "transaction class pack workflow missing");
86
+ const precommitPacks = await client.getPrecommitInteractionPacks(true);
87
+ assert.strictEqual(precommitPacks.precommit_pack_count >= 3, true, "precommit pack catalog missing");
88
+ const precommitPackSummary = await client.getPrecommitInteractionPacksSummary(true);
89
+ assert.strictEqual(precommitPackSummary.precommit_pack_refs.includes("precommit.a2a.settlement.readiness"), true, "precommit pack summary missing");
90
+ const precommitPack = await client.getPrecommitInteractionPack("precommit.job.commitment.readiness", true);
91
+ assert.strictEqual(precommitPack.recommended_next_ref, "transaction.job.commitment", "precommit pack detail missing");
92
+ const spinePaths = await client.getInteractionSpinePaths(true);
93
+ assert.strictEqual(spinePaths.spine_path_count >= 3, true, "spine path catalog missing");
94
+ const spinePathSummary = await client.getInteractionSpinePathsSummary(true);
95
+ assert.strictEqual(spinePathSummary.spine_path_refs.includes("spine.job.commitment"), true, "spine path summary missing");
96
+ const spinePath = await client.getInteractionSpinePath("spine.job.commitment", true);
97
+ assert.strictEqual(spinePath.committed_ref, "transaction.job.commitment", "spine path detail missing");
98
+ const resultPackages = await client.getInteractionResultPackages(true);
99
+ assert.strictEqual(resultPackages.result_package_count >= 3, true, "interaction result package catalog missing");
100
+ const resultPackageSummary = await client.getInteractionResultPackagesSummary(true);
101
+ assert.strictEqual(resultPackageSummary.result_package_refs.includes("result.spine.job.commitment"), true, "interaction result package summary missing");
102
+ const resultPackage = await client.getInteractionResultPackage("result.spine.job.commitment", true);
103
+ assert.strictEqual(resultPackage.source_ref, "spine.job.commitment", "interaction result package detail missing");
104
+ const resultPackageExportTemplate = await client.getInteractionResultPackageExportTemplate("result.spine.job.commitment");
105
+ assert.strictEqual(resultPackageExportTemplate.export_template.recommended_proof_surface, "/v1/proof-center/result-package-handoff/run", "interaction result package export template missing");
106
+ const resultPackageContinuations = await client.getInteractionResultPackageContinuations(true);
107
+ assert.strictEqual(resultPackageContinuations.continuation_count >= 3, true, "interaction result package continuation catalog missing");
108
+ const resultPackageContinuationSummary = await client.getInteractionResultPackageContinuationsSummary(true);
109
+ assert.strictEqual(resultPackageContinuationSummary.continuation_refs.includes("continue.result.spine.job.commitment"), true, "interaction result package continuation summary missing");
110
+ const resultPackageContinuation = await client.getInteractionResultPackageContinuation("continue.result.spine.job.commitment", true);
111
+ assert.strictEqual(resultPackageContinuation.result_package_ref, "result.spine.job.commitment", "interaction result package continuation detail missing");
112
+ const integrationSummary = await client.getIntegrationSummaries({
113
+ source: "builtin",
114
+ certification_state: "certified",
115
+ integration_maturity: "production_default",
116
+ bundled: "true"
117
+ });
118
+ assert.strictEqual(typeof integrationSummary.integration_count, "number", "integration summary missing");
119
+ assert.strictEqual(integrationSummary.certified_integration_count >= 5, true, "integration certification breadth missing");
120
+ assert.strictEqual(integrationSummary.production_default_count >= 5, true, "integration maturity breadth missing");
121
+ const integrationClasses = await client.listIntegrationClasses();
122
+ assert.strictEqual(integrationClasses.some((entry) => entry.adapter_class === "execution_adapter"), true, "integration execution class missing");
123
+ assert.strictEqual(integrationClasses.some((entry) => entry.adapter_class === "settlement_adapter"), true, "integration settlement class missing");
124
+ const integrationProtocols = await client.listIntegrationProtocols();
125
+ assert.strictEqual(integrationProtocols.some((entry) => entry.protocol === "mcp"), true, "integration protocol mcp missing");
126
+ assert.strictEqual(integrationProtocols.some((entry) => entry.protocol === "x402"), true, "integration protocol x402 missing");
127
+ const integrationSettlementModes = await client.listIntegrationSettlementModes();
128
+ assert.strictEqual(integrationSettlementModes.some((entry) => entry.settlement_mode === "evm_payment"), true, "integration settlement mode missing");
129
+ const certifiedBuiltinIntegrations = await client.listIntegrations({
130
+ source: "builtin",
131
+ certification_state: "certified",
132
+ integration_maturity: "production_default"
133
+ });
134
+ assert.strictEqual(certifiedBuiltinIntegrations.length >= 5, true, "certified integration discovery missing");
135
+ assert.strictEqual(
136
+ certifiedBuiltinIntegrations.some((entry) => entry.integration_id === "partner.protocol.acme_mcp"),
137
+ false,
138
+ "staged partner integration should not appear in builtin-certified defaults"
139
+ );
140
+ const mcpIntegration = await client.getIntegration("builtin.protocol.mcp");
141
+ assert.strictEqual(mcpIntegration.certification_state, "certified", "mcp integration certification state mismatch");
142
+ assert.strictEqual(mcpIntegration.integration_maturity, "production_default", "mcp integration maturity mismatch");
143
+ assert.strictEqual(mcpIntegration.operational_readiness.supports_default_selection, true, "mcp integration selection posture mismatch");
144
+ const stagedPartnerIntegrations = await client.listIntegrations({
145
+ source: "third_party_example",
146
+ bundled: "false"
147
+ });
148
+ assert.strictEqual(stagedPartnerIntegrations.length >= 2, true, "staged partner integration discovery missing");
149
+ assert.strictEqual(
150
+ stagedPartnerIntegrations.every((entry) => entry.registration.requires_explicit_selection === true),
151
+ true,
152
+ "staged partner integrations should require explicit selection"
153
+ );
154
+ const submissionBundleSet = exportIntegrationSubmissionBundleSet({
155
+ source: "third_party_example",
156
+ bundled: "false"
157
+ }, "quickstart bundle-set review");
158
+ assert.strictEqual(submissionBundleSet.bundle_count >= 2, true, "submission bundle-set export missing");
159
+ assert.strictEqual(submissionBundleSet.notes, "quickstart bundle-set review", "submission bundle-set notes mismatch");
160
+ const builtinPromotionActionSet = await client.getIntegrationPromotionActionSet("builtin.protocol.mcp");
161
+ assert.strictEqual(builtinPromotionActionSet.ok, true, "builtin promotion action-set missing");
162
+ assert.strictEqual(
163
+ builtinPromotionActionSet.actions.some((entry) => entry.request.action === "maintain_production_default" && entry.valid_now === true),
164
+ true,
165
+ "builtin promotion action-set steady-state preview missing"
166
+ );
167
+ const stagedPromotionActionSet = await client.getIntegrationPromotionActionSet("partner.protocol.acme_mcp");
168
+ assert.strictEqual(stagedPromotionActionSet.ok, true, "staged promotion action-set missing");
169
+ assert.strictEqual(
170
+ stagedPromotionActionSet.actions.some((entry) => entry.request.action === "complete_certification" && entry.valid_now === true),
171
+ true,
172
+ "staged promotion action-set certification preview missing"
173
+ );
174
+ const stagedPromotionActionPreview = await client.previewIntegrationPromotionAction({
175
+ integration_id: "partner.protocol.acme_mcp",
176
+ action: "complete_certification"
177
+ });
178
+ assert.strictEqual(stagedPromotionActionPreview.ok, true, "staged promotion action preview missing");
179
+ assert.strictEqual(stagedPromotionActionPreview.valid_now, true, "staged promotion action preview validity mismatch");
180
+ assert.strictEqual(
181
+ stagedPromotionActionPreview.resulting_posture.promotion_readiness.blockers.includes("not_marked_production_default"),
182
+ true,
183
+ "staged promotion action resulting posture missing maturity blocker"
184
+ );
185
+ const promotionActionList = await client.listIntegrationPromotionActionSets({
186
+ source: "third_party_example",
187
+ bundled: "false"
188
+ });
189
+ assert.strictEqual(promotionActionList.integration_count >= 3, true, "promotion action list breadth missing");
190
+ assert.strictEqual(
191
+ promotionActionList.valid_actions.some((entry) => entry.action === "complete_certification"),
192
+ true,
193
+ "promotion action list valid-action summary missing"
194
+ );
195
+ const integrationSelectedQuote = await client.createTaskSetQuote([
196
+ {
197
+ task_ref: "adapter.mcp.invoke",
198
+ body: {
199
+ tool_name: "summarize",
200
+ arguments: { text: "integration-selection-quickstart" }
201
+ }
202
+ }
203
+ ], {
204
+ command: "quickstart-integration-selected-quote",
205
+ protocol: "mcp",
206
+ paymentProtocol: "x402",
207
+ integrationId: "builtin.protocol.mcp",
208
+ integrationIds: ["builtin.protocol.mcp", "builtin.payment.x402", "builtin.settlement.chain"],
209
+ settlementMode: "evm_payment"
210
+ });
211
+ assert.strictEqual(integrationSelectedQuote.ok, true, "integration-selected quote response missing");
212
+ assert.strictEqual(Array.isArray(integrationSelectedQuote.quote.integration_ids), true, "integration-selected quote missing integration ids");
213
+ assert.strictEqual(integrationSelectedQuote.quote.integration_ids.includes("builtin.protocol.mcp"), true, "integration-selected quote missing mcp integration");
214
+ assert.strictEqual(integrationSelectedQuote.quote.integration_ids.includes("builtin.payment.x402"), true, "integration-selected quote missing x402 integration");
215
+ assert.strictEqual(integrationSelectedQuote.quote.settlement_integration_id, "builtin.settlement.chain", "integration-selected quote settlement integration mismatch");
216
+ assert.strictEqual(integrationSelectedQuote.quote.integration_preference.primary_id, "builtin.protocol.mcp", "integration-selected quote preference mismatch");
217
+ assert.strictEqual(integrationSelectedQuote.quote.payment.protocol, "x402", "integration-selected quote payment protocol missing");
218
+ assert.strictEqual(integrationSelectedQuote.quote.settlement.integration_id, "builtin.settlement.chain", "integration-selected quote settlement object mismatch");
219
+ assert.strictEqual(typeof integrationSelectedQuote.quote.treasury.destination_id, "string", "integration-selected quote treasury destination missing");
220
+ assert.strictEqual(integrationSelectedQuote.quote.default_path.path_kind, "first_party_default", "integration-selected quote default path kind missing");
221
+ assert.strictEqual(integrationSelectedQuote.quote.default_path.selection_origin, "explicit_or_constrained", "integration-selected quote path origin missing");
222
+ const defaultMcpPreview = await client.previewDefaultMcpToolQuote("summarize", {
223
+ text: "default-mcp-preview"
224
+ }, {
225
+ command: "quickstart-default-mcp-preview"
226
+ });
227
+ const defaultMcpPreviewSummary = client.summarizeQuotePreview(defaultMcpPreview);
228
+ assert.strictEqual(defaultMcpPreviewSummary.payment_required, true, "default mcp preview should require payment");
229
+ assert.strictEqual(defaultMcpPreview.quote.payment.protocol, "x402", "default mcp preview payment protocol missing");
230
+ assert.strictEqual(defaultMcpPreview.quote.settlement.mode, "bsv_teranode", "default mcp preview settlement missing");
231
+ assert.strictEqual(defaultMcpPreview.quote.default_path.path_kind, "first_party_default", "default mcp preview path kind missing");
232
+ const defaultMcpQuote = await client.createDefaultMcpToolQuote("summarize", {
233
+ text: "default-mcp-quote-summary"
234
+ }, {
235
+ command: "quickstart-default-mcp-quote-summary"
236
+ });
237
+ assert.strictEqual(defaultMcpQuote.quote.payment.protocol, "x402", "default mcp quote payment protocol missing");
238
+ assert.strictEqual(defaultMcpQuote.quote.settlement.mode, "bsv_teranode", "default mcp quote settlement missing");
239
+ const defaultTaskPackPreview = await client.previewDefaultTaskPackQuote("default.a2c.tooling.run", {
240
+ agent_id: "agent-demo",
241
+ channel_ref: "channel-default",
242
+ pack_ref: "pack.tools.research",
243
+ tool_name: "summarize",
244
+ arguments: { text: "default-task-pack-preview" }
245
+ }, {
246
+ command: "quickstart-default-task-pack-preview"
247
+ });
248
+ assert.strictEqual(defaultTaskPackPreview.quote.payment.protocol, "x402", "default task pack preview payment protocol missing");
249
+ assert.strictEqual(defaultTaskPackPreview.quote.settlement.mode, "bsv_teranode", "default task pack preview settlement missing");
250
+ assert.strictEqual(defaultTaskPackPreview.quote.task_count, 3, "default task pack preview task count missing");
251
+ const defaultTaskPackResult = await client.invokeDefaultTaskPack("default.mcp.tool.invoke", {
252
+ tool_name: "summarize",
253
+ arguments: { text: "default-task-pack-invoke" }
254
+ }, {
255
+ command: "quickstart-default-task-pack-invoke"
256
+ });
257
+ assert.strictEqual(defaultTaskPackResult.transaction.execution.task_count, 1, "default task pack invoke task count missing");
258
+ assert.strictEqual(defaultTaskPackResult.command.deliverables[0].kind, "result", "default task pack invoke deliverable missing");
259
+ assert.strictEqual(defaultTaskPackResult.command.deliverables[0].task_ref, "adapter.mcp.invoke", "default task pack invoke task ref missing");
260
+ const defaultGuidedLoopResult = await client.runDefaultGuidedLoop("default.mcp.loop", {
261
+ tool_name: "summarize",
262
+ arguments: { text: "default-guided-loop-run" }
263
+ }, {
264
+ command: "quickstart-default-guided-loop-run"
265
+ });
266
+ assert.strictEqual(defaultGuidedLoopResult.loop.loop_ref, "default.mcp.loop", "default guided loop result ref missing");
267
+ assert.strictEqual(defaultGuidedLoopResult.result_set_summary.transaction_status, "completed", "default guided loop transaction summary missing");
268
+ assert.strictEqual(defaultGuidedLoopResult.linked_record_summary.payment_ledger_count >= 1, true, "default guided loop payment ledger missing");
269
+ assert.strictEqual(defaultGuidedLoopResult.economics_summary.default_settlement_mode, "bsv_teranode", "default guided loop economics missing");
270
+ const defaultGuidedLoopSummary = await client.runDefaultGuidedLoopSummary("default.mcp.loop", {
271
+ tool_name: "summarize",
272
+ arguments: { text: "default-guided-loop-run-summary" }
273
+ }, {
274
+ command: "quickstart-default-guided-loop-run-summary"
275
+ });
276
+ assert.strictEqual(defaultGuidedLoopSummary.loop_ref, "default.mcp.loop", "default guided loop summary ref missing");
277
+ assert.strictEqual(defaultGuidedLoopSummary.payment_ledger_count >= 1, true, "default guided loop summary payment ledger missing");
278
+ const transactionClassResult = await client.runTransactionClassPack("transaction.registry.anchor", {
279
+ subject_id: "subject-registry-quickstart",
280
+ record_type: "trust",
281
+ commitment_hash: "commitment-registry-quickstart"
282
+ }, {
283
+ command: "quickstart-transaction-class-registry-anchor"
284
+ });
285
+ assert.strictEqual(transactionClassResult.class_pack.class_pack_ref, "transaction.registry.anchor", "transaction class pack result missing");
286
+ assert.strictEqual(transactionClassResult.result_set_summary.transaction_status, "completed", "transaction class result-set missing");
287
+ assert.strictEqual(transactionClassResult.proof_handoff_summary.proof_ready, true, "transaction class proof handoff readiness missing");
288
+ assert.strictEqual(transactionClassResult.proof_handoff_summary.recommended_proof_loop, "default.proof.bundle.loop", "transaction class proof handoff recommendation missing");
289
+ const transactionClassSummary = await client.runTransactionClassPackSummary("transaction.registry.anchor", {
290
+ subject_id: "subject-registry-summary",
291
+ record_type: "trust",
292
+ commitment_hash: "commitment-registry-summary"
293
+ }, {
294
+ command: "quickstart-transaction-class-registry-anchor-summary"
295
+ });
296
+ assert.strictEqual(transactionClassSummary.class_pack_ref, "transaction.registry.anchor", "transaction class summary ref missing");
297
+ assert.strictEqual(transactionClassSummary.proof_handoff_summary.proof_ready, true, "transaction class summary proof handoff missing");
298
+ const precommitResult = await client.runPrecommitInteractionPack("precommit.job.commitment.readiness", {
299
+ job_type: "batch.render",
300
+ job_id: "job-quickstart-1",
301
+ source_zone_id: "zone.alpha",
302
+ target_zone_id: "zone.beta",
303
+ intent_id: "intent-quickstart-1",
304
+ interaction_class: "cross_zone_job"
305
+ }, {
306
+ command: "quickstart-precommit-job-readiness"
307
+ });
308
+ assert.strictEqual(precommitResult.precommit_pack.precommit_pack_ref, "precommit.job.commitment.readiness", "precommit pack result missing");
309
+ assert.strictEqual(precommitResult.precommit_readiness_summary.readiness_posture, "ready_for_committed_run", "precommit readiness posture missing");
310
+ const precommitSummary = await client.runPrecommitInteractionPackSummary("precommit.job.commitment.readiness", {
311
+ job_type: "batch.render",
312
+ job_id: "job-quickstart-2",
313
+ source_zone_id: "zone.alpha",
314
+ target_zone_id: "zone.beta",
315
+ intent_id: "intent-quickstart-2",
316
+ interaction_class: "cross_zone_job"
317
+ }, {
318
+ command: "quickstart-precommit-job-readiness-summary"
319
+ });
320
+ assert.strictEqual(precommitSummary.precommit_pack_ref, "precommit.job.commitment.readiness", "precommit summary ref missing");
321
+ assert.strictEqual(precommitSummary.precommit_readiness_summary.recommended_next_ref, "transaction.job.commitment", "precommit summary next ref missing");
322
+ const spineResult = await client.runInteractionSpinePath("spine.job.commitment", {
323
+ job_type: "batch.render",
324
+ job_id: "job-quickstart-3",
325
+ source_zone_id: "zone.alpha",
326
+ target_zone_id: "zone.beta",
327
+ interaction_class: "cross_zone_job"
328
+ }, {
329
+ command: "quickstart-spine-job-commitment"
330
+ });
331
+ assert.strictEqual(spineResult.spine_path.spine_path_ref, "spine.job.commitment", "spine path result missing");
332
+ assert.strictEqual(spineResult.spine_summary.precommit_readiness_summary.readiness_posture, "ready_for_committed_run", "spine path readiness missing");
333
+ assert.strictEqual(spineResult.spine_summary.proof_handoff_summary.proof_ready, true, "spine path proof handoff missing");
334
+ const spineSummary = await client.runInteractionSpinePathSummary("spine.job.commitment", {
335
+ job_type: "batch.render",
336
+ job_id: "job-quickstart-4",
337
+ source_zone_id: "zone.alpha",
338
+ target_zone_id: "zone.beta",
339
+ interaction_class: "cross_zone_job"
340
+ }, {
341
+ command: "quickstart-spine-job-commitment-summary"
342
+ });
343
+ assert.strictEqual(spineSummary.spine_path_ref, "spine.job.commitment", "spine summary ref missing");
344
+ assert.strictEqual(spineSummary.spine_summary.proof_handoff_summary.proof_ready, true, "spine summary proof handoff missing");
345
+ const resultPackageResult = await client.runInteractionResultPackage("result.spine.job.commitment", {
346
+ job_type: "batch.render",
347
+ job_id: "job-quickstart-5",
348
+ source_zone_id: "zone.alpha",
349
+ target_zone_id: "zone.beta",
350
+ interaction_class: "cross_zone_job"
351
+ }, {
352
+ command: "quickstart-result-package-job-commitment"
353
+ });
354
+ assert.strictEqual(resultPackageResult.result_package.result_package_ref, "result.spine.job.commitment", "result package ref missing");
355
+ assert.strictEqual(resultPackageResult.result_package_summary.transaction_status, "completed", "result package summary missing");
356
+ assert.strictEqual(resultPackageResult.seam_summary.payment_settlement_treasury_summary.payment_ledger_count >= 1, true, "result package seam payment ledger missing");
357
+ assert.strictEqual(resultPackageResult.seam_summary.proof_handoff_summary.proof_ready, true, "result package proof handoff missing");
358
+ const resultPackageSummaryRun = await client.runInteractionResultPackageSummary("result.spine.job.commitment", {
359
+ job_type: "batch.render",
360
+ job_id: "job-quickstart-6",
361
+ source_zone_id: "zone.alpha",
362
+ target_zone_id: "zone.beta",
363
+ interaction_class: "cross_zone_job"
364
+ }, {
365
+ command: "quickstart-result-package-job-commitment-summary"
366
+ });
367
+ assert.strictEqual(resultPackageSummaryRun.result_package_ref, "result.spine.job.commitment", "result package summary ref missing");
368
+ assert.strictEqual(resultPackageSummaryRun.result_package_summary.transaction_status, "completed", "result package summarized transaction status missing");
369
+ assert.strictEqual(resultPackageSummaryRun.seam_summary.proof_handoff_summary.proof_ready, true, "result package summarized proof handoff missing");
370
+ const resultPackageExport = await client.exportInteractionResultPackage("result.spine.job.commitment", {
371
+ job_type: "batch.render",
372
+ job_id: "job-quickstart-7",
373
+ source_zone_id: "zone.alpha",
374
+ target_zone_id: "zone.beta",
375
+ interaction_class: "cross_zone_job"
376
+ }, {
377
+ command: "quickstart-result-package-export"
378
+ });
379
+ assert.strictEqual(resultPackageExport.portable_handoff_bundle.result_package_ref, "result.spine.job.commitment", "result package export bundle ref missing");
380
+ assert.strictEqual(resultPackageExport.portable_handoff_bundle.committed_ref, "transaction.job.commitment", "result package export committed ref missing");
381
+ assert.strictEqual(resultPackageExport.economic_consequence_handoff_bundle, null, "direct-pay result package export should not auto-carry an economic consequence bundle");
382
+ const resultPackageExportSummary = await client.exportInteractionResultPackageSummary("result.spine.job.commitment", {
383
+ job_type: "batch.render",
384
+ job_id: "job-quickstart-8",
385
+ source_zone_id: "zone.alpha",
386
+ target_zone_id: "zone.beta",
387
+ interaction_class: "cross_zone_job"
388
+ }, {
389
+ command: "quickstart-result-package-export-summary"
390
+ });
391
+ assert.strictEqual(resultPackageExportSummary.portable_handoff_summary.seam_layer_count >= 3, true, "result package export summary seam layers missing");
392
+ assert.strictEqual(resultPackageExportSummary.portable_handoff_summary.committed_ref, "transaction.job.commitment", "result package export summary committed ref missing");
393
+ const resultPackageContinuationRun = await client.runInteractionResultPackageContinuation("continue.result.spine.job.commitment", {
394
+ job_type: "batch.render",
395
+ job_id: "job-quickstart-9",
396
+ source_zone_id: "zone.alpha",
397
+ target_zone_id: "zone.beta",
398
+ interaction_class: "cross_zone_job"
399
+ }, {
400
+ command: "quickstart-result-package-continuation"
401
+ });
402
+ assert.strictEqual(resultPackageContinuationRun.continuation.continuation_ref, "continue.result.spine.job.commitment", "result package continuation ref missing");
403
+ assert.strictEqual(resultPackageContinuationRun.continuation_summary.continuation_ready, true, "result package continuation readiness missing");
404
+ assert.strictEqual(resultPackageContinuationRun.continuation_summary.default_proof_surface, "/v1/proof-center/result-package-handoff/run", "result package continuation default proof surface missing");
405
+ const resultPackageContinuationRunSummary = await client.runInteractionResultPackageContinuationSummary("continue.result.spine.job.commitment", {
406
+ job_type: "batch.render",
407
+ job_id: "job-quickstart-10",
408
+ source_zone_id: "zone.alpha",
409
+ target_zone_id: "zone.beta",
410
+ interaction_class: "cross_zone_job"
411
+ }, {
412
+ command: "quickstart-result-package-continuation-summary"
413
+ });
414
+ assert.strictEqual(resultPackageContinuationRunSummary.continuation_ref, "continue.result.spine.job.commitment", "result package continuation summary ref missing");
415
+ assert.strictEqual(resultPackageContinuationRunSummary.continuation_summary.continuation_ready, true, "result package continuation summary readiness missing");
416
+ const resultPackageContinuationPreparation = await client.prepareInteractionResultPackageContinuation("continue.result.spine.job.commitment", {
417
+ job_type: "batch.render",
418
+ job_id: "job-quickstart-11",
419
+ source_zone_id: "zone.alpha",
420
+ target_zone_id: "zone.beta",
421
+ interaction_class: "cross_zone_job"
422
+ }, {
423
+ command: "quickstart-result-package-continuation-prepare"
424
+ });
425
+ assert.strictEqual(resultPackageContinuationPreparation.proof_request_template.target_surface, "/v1/proof-center/result-package-handoff/run", "result package continuation preparation target surface missing");
426
+ assert.strictEqual(resultPackageContinuationPreparation.proof_request_template.request_template.handoff_bundle.result_package_ref, "result.spine.job.commitment", "result package continuation preparation bundle ref missing");
427
+ assert.strictEqual(resultPackageContinuationPreparation.prepared_artifact_summary.prepared_artifact_ref, "prepared.continue.result.spine.job.commitment", "prepared continuation artifact ref missing");
428
+ assert.strictEqual(resultPackageContinuationPreparation.prepared_artifact_summary.durable_path.proof_ready, true, "prepared continuation proof readiness missing");
429
+ assert.strictEqual(resultPackageContinuationPreparation.extension_seam_summary.extension_seam_ref, "extension.continue.result.spine.job.commitment", "prepared continuation extension seam ref missing");
430
+ assert.strictEqual(resultPackageContinuationPreparation.extension_seam_summary.future_adapter_hook_count, 3, "prepared continuation extension hook count missing");
431
+ const resultPackageContinuationPreparationSummary = await client.prepareInteractionResultPackageContinuationSummary("continue.result.spine.job.commitment", {
432
+ job_type: "batch.render",
433
+ job_id: "job-quickstart-12",
434
+ source_zone_id: "zone.alpha",
435
+ target_zone_id: "zone.beta",
436
+ interaction_class: "cross_zone_job"
437
+ }, {
438
+ command: "quickstart-result-package-continuation-prepare-summary"
439
+ });
440
+ assert.strictEqual(resultPackageContinuationPreparationSummary.continuation_ready, true, "result package continuation preparation summary readiness missing");
441
+ assert.strictEqual(resultPackageContinuationPreparationSummary.review_surface, "/v1/proof-center/result-package-handoff/review", "result package continuation preparation review surface missing");
442
+ assert.strictEqual(resultPackageContinuationPreparationSummary.prepared_artifact_ref, "prepared.continue.result.spine.job.commitment", "result package continuation preparation summary artifact ref missing");
443
+ assert.strictEqual(resultPackageContinuationPreparationSummary.proof_ready, true, "result package continuation preparation summary proof readiness missing");
444
+ assert.strictEqual(resultPackageContinuationPreparationSummary.extension_seam_ref, "extension.continue.result.spine.job.commitment", "result package continuation preparation summary seam ref missing");
445
+ assert.strictEqual(resultPackageContinuationPreparationSummary.reusable_default_ref, "default.continue.result.spine.job.commitment", "result package continuation preparation summary default ref missing");
446
+ assert.strictEqual(resultPackageContinuationPreparationSummary.default_review_surface, "/v1/proof-center/result-package-handoff/review/default-continuation", "result package continuation preparation summary default review surface missing");
447
+ assert.strictEqual(resultPackageContinuationPreparationSummary.reusable_by_default, true, "result package continuation preparation summary reusable-by-default missing");
448
+ assert.strictEqual(resultPackageContinuationPreparationSummary.future_adapter_hook_count, 3, "result package continuation preparation summary hook count missing");
449
+ const resultPackageContinuationArtifactSummary = await client.prepareInteractionResultPackageContinuationArtifactSummary("continue.result.spine.job.commitment", {
450
+ job_type: "batch.render",
451
+ job_id: "job-quickstart-12",
452
+ source_zone_id: "zone.alpha",
453
+ target_zone_id: "zone.beta",
454
+ interaction_class: "cross_zone_job"
455
+ }, {
456
+ command: "quickstart-result-package-continuation-artifact-summary"
457
+ });
458
+ assert.strictEqual(resultPackageContinuationArtifactSummary.prepared_artifact_ref, "prepared.continue.result.spine.job.commitment", "result package continuation artifact summary ref missing");
459
+ assert.strictEqual(resultPackageContinuationArtifactSummary.review_surface, "/v1/proof-center/result-package-handoff/review", "result package continuation artifact summary review surface missing");
460
+ assert.strictEqual(resultPackageContinuationArtifactSummary.proof_ready, true, "result package continuation artifact summary proof readiness missing");
461
+ assert.strictEqual(resultPackageContinuationArtifactSummary.extension_seam_summary.extension_seam_ref, "extension.continue.result.spine.job.commitment", "result package continuation artifact summary seam ref missing");
462
+ assert.strictEqual(resultPackageContinuationArtifactSummary.reusable_default_summary.reusable_default_ref, "default.continue.result.spine.job.commitment", "result package continuation artifact summary default ref missing");
463
+ assert.strictEqual(resultPackageContinuationArtifactSummary.extension_template.target_surface, "/v1/proof-center/result-package-handoff/review/extension-readiness", "result package continuation artifact summary extension target surface missing");
464
+ const resultPackageReusableDefaultSummary = await client.prepareInteractionResultPackageReusableDefaultSummary("continue.result.spine.job.commitment", {
465
+ job_type: "batch.render",
466
+ job_id: "job-quickstart-12",
467
+ source_zone_id: "zone.alpha",
468
+ target_zone_id: "zone.beta",
469
+ interaction_class: "cross_zone_job"
470
+ }, {
471
+ command: "quickstart-result-package-continuation-default-summary"
472
+ });
473
+ assert.strictEqual(resultPackageReusableDefaultSummary.reusable_default_ref, "default.continue.result.spine.job.commitment", "result package reusable default summary ref missing");
474
+ assert.strictEqual(resultPackageReusableDefaultSummary.default_followthrough.review_surface, "/v1/proof-center/result-package-handoff/review/default-continuation", "result package reusable default review surface missing");
475
+ assert.strictEqual(resultPackageReusableDefaultSummary.default_followthrough.reusable_by_default, true, "result package reusable default summary reusable-by-default missing");
476
+ const resultPackageReusableDefaultTemplate = await client.prepareInteractionResultPackageReusableDefaultTemplate("continue.result.spine.job.commitment", {
477
+ job_type: "batch.render",
478
+ job_id: "job-quickstart-12",
479
+ source_zone_id: "zone.alpha",
480
+ target_zone_id: "zone.beta",
481
+ interaction_class: "cross_zone_job"
482
+ }, {
483
+ command: "quickstart-result-package-continuation-default-template"
484
+ });
485
+ assert.strictEqual(resultPackageReusableDefaultTemplate.reusable_default_ref, "default.continue.result.spine.job.commitment", "result package reusable default template ref missing");
486
+ assert.strictEqual(resultPackageReusableDefaultTemplate.target_surface, "/v1/proof-center/result-package-handoff/review/default-continuation", "result package reusable default template target surface missing");
487
+ const resultPackageCompositionContractSummary = await client.prepareInteractionResultPackageCompositionContractSummary("continue.result.spine.job.commitment", {
488
+ job_type: "batch.render",
489
+ job_id: "job-quickstart-12",
490
+ source_zone_id: "zone.alpha",
491
+ target_zone_id: "zone.beta",
492
+ interaction_class: "cross_zone_job"
493
+ }, {
494
+ command: "quickstart-result-package-continuation-contract-summary"
495
+ });
496
+ assert.strictEqual(resultPackageCompositionContractSummary.composition_contract_ref, "contract.continue.result.spine.job.commitment", "result package composition contract summary ref missing");
497
+ assert.strictEqual(resultPackageCompositionContractSummary.next_surface, "/v1/proof-center/result-package-handoff/review/contract-summary", "result package composition contract summary next surface missing");
498
+ assert.strictEqual(resultPackageCompositionContractSummary.contract_ready, true, "result package composition contract summary contract-ready missing");
499
+ const resultPackageCompositionContractTemplate = await client.prepareInteractionResultPackageCompositionContractTemplate("continue.result.spine.job.commitment", {
500
+ job_type: "batch.render",
501
+ job_id: "job-quickstart-12",
502
+ source_zone_id: "zone.alpha",
503
+ target_zone_id: "zone.beta",
504
+ interaction_class: "cross_zone_job"
505
+ }, {
506
+ command: "quickstart-result-package-continuation-contract-template"
507
+ });
508
+ assert.strictEqual(resultPackageCompositionContractTemplate.composition_contract_ref, "contract.continue.result.spine.job.commitment", "result package composition contract template ref missing");
509
+ assert.strictEqual(resultPackageCompositionContractTemplate.target_surface, "/v1/proof-center/result-package-handoff/review/contract-summary", "result package composition contract template target surface missing");
510
+ const resultPackageCompositionContractBundle = await client.prepareInteractionResultPackageCompositionContractBundle("continue.result.spine.job.commitment", {
511
+ job_type: "batch.render",
512
+ job_id: "job-quickstart-12",
513
+ source_zone_id: "zone.alpha",
514
+ target_zone_id: "zone.beta",
515
+ interaction_class: "cross_zone_job"
516
+ }, {
517
+ command: "quickstart-result-package-continuation-contract-bundle"
518
+ });
519
+ assert.strictEqual(resultPackageCompositionContractBundle.composition_contract_summary.composition_contract_ref, "contract.continue.result.spine.job.commitment", "result package composition contract bundle summary ref missing");
520
+ assert.strictEqual(resultPackageCompositionContractBundle.composition_contract_template.target_surface, "/v1/proof-center/result-package-handoff/review/contract-summary", "result package composition contract bundle template target surface missing");
521
+ const resultPackageAdapterBridgeSummary = await client.prepareInteractionResultPackageAdapterBridgeSummary("continue.result.spine.job.commitment", {
522
+ job_type: "batch.render",
523
+ job_id: "job-quickstart-12",
524
+ source_zone_id: "zone.alpha",
525
+ target_zone_id: "zone.beta",
526
+ interaction_class: "cross_zone_job"
527
+ }, {
528
+ command: "quickstart-result-package-continuation-bridge-summary"
529
+ });
530
+ assert.strictEqual(resultPackageAdapterBridgeSummary.adapter_bridge_ref, "bridge.continue.result.spine.job.commitment", "result package adapter bridge summary ref missing");
531
+ assert.strictEqual(resultPackageAdapterBridgeSummary.next_surface, "/v1/proof-center/result-package-handoff/review/bridge-summary", "result package adapter bridge summary next surface missing");
532
+ assert.strictEqual(resultPackageAdapterBridgeSummary.bridge_ready, true, "result package adapter bridge summary bridge-ready missing");
533
+ const resultPackageAdapterBridgeTemplate = await client.prepareInteractionResultPackageAdapterBridgeTemplate("continue.result.spine.job.commitment", {
534
+ job_type: "batch.render",
535
+ job_id: "job-quickstart-12",
536
+ source_zone_id: "zone.alpha",
537
+ target_zone_id: "zone.beta",
538
+ interaction_class: "cross_zone_job"
539
+ }, {
540
+ command: "quickstart-result-package-continuation-bridge-template"
541
+ });
542
+ assert.strictEqual(resultPackageAdapterBridgeTemplate.adapter_bridge_ref, "bridge.continue.result.spine.job.commitment", "result package adapter bridge template ref missing");
543
+ assert.strictEqual(resultPackageAdapterBridgeTemplate.target_surface, "/v1/proof-center/result-package-handoff/review/bridge-summary", "result package adapter bridge template target surface missing");
544
+ const resultPackageAdapterBridgeBundle = await client.prepareInteractionResultPackageAdapterBridgeBundle("continue.result.spine.job.commitment", {
545
+ job_type: "batch.render",
546
+ job_id: "job-quickstart-12",
547
+ source_zone_id: "zone.alpha",
548
+ target_zone_id: "zone.beta",
549
+ interaction_class: "cross_zone_job"
550
+ }, {
551
+ command: "quickstart-result-package-continuation-bridge-bundle"
552
+ });
553
+ assert.strictEqual(resultPackageAdapterBridgeBundle.adapter_bridge_summary.adapter_bridge_ref, "bridge.continue.result.spine.job.commitment", "result package adapter bridge bundle summary ref missing");
554
+ assert.strictEqual(resultPackageAdapterBridgeBundle.adapter_bridge_template.target_surface, "/v1/proof-center/result-package-handoff/review/bridge-summary", "result package adapter bridge bundle template target surface missing");
555
+ const resultPackageAdapterBridgeCarry = await client.prepareInteractionResultPackageAdapterBridgeCarry("continue.result.spine.job.commitment", {
556
+ job_type: "batch.render",
557
+ job_id: "job-quickstart-12",
558
+ source_zone_id: "zone.alpha",
559
+ target_zone_id: "zone.beta",
560
+ interaction_class: "cross_zone_job"
561
+ }, {
562
+ command: "quickstart-result-package-continuation-bridge-carry"
563
+ });
564
+ assert.strictEqual(resultPackageAdapterBridgeCarry.adapter_bridge_ref, "bridge.continue.result.spine.job.commitment", "result package adapter bridge carry ref missing");
565
+ assert.strictEqual(resultPackageAdapterBridgeCarry.stable_bridge_ids.includes("proof_run"), true, "result package adapter bridge carry ids missing");
566
+ assert.strictEqual(resultPackageAdapterBridgeCarry.review_surface, "/v1/proof-center/result-package-handoff/review/bridge-carry", "result package adapter bridge carry review surface missing");
567
+ const resultPackageHandoffSummary = await client.prepareInteractionResultPackageHandoffSummary("continue.result.spine.job.commitment", {
568
+ job_type: "batch.render",
569
+ job_id: "job-quickstart-12",
570
+ source_zone_id: "zone.alpha",
571
+ target_zone_id: "zone.beta",
572
+ interaction_class: "cross_zone_job"
573
+ }, {
574
+ command: "quickstart-result-package-continuation-handoff-summary"
575
+ });
576
+ assert.strictEqual(resultPackageHandoffSummary.handoff_contract_ref, "handoff.bridge.continue.result.spine.job.commitment", "result package handoff summary ref missing");
577
+ assert.strictEqual(resultPackageHandoffSummary.next_surface, "/v1/proof-center/result-package-handoff/review/handoff-continuity", "result package handoff summary next surface missing");
578
+ assert.strictEqual(resultPackageHandoffSummary.handoff_ready, true, "result package handoff summary handoff-ready missing");
579
+ const resultPackageHandoffTemplate = await client.prepareInteractionResultPackageHandoffTemplate("continue.result.spine.job.commitment", {
580
+ job_type: "batch.render",
581
+ job_id: "job-quickstart-12",
582
+ source_zone_id: "zone.alpha",
583
+ target_zone_id: "zone.beta",
584
+ interaction_class: "cross_zone_job"
585
+ }, {
586
+ command: "quickstart-result-package-continuation-handoff-template"
587
+ });
588
+ assert.strictEqual(resultPackageHandoffTemplate.handoff_contract_ref, "handoff.bridge.continue.result.spine.job.commitment", "result package handoff template ref missing");
589
+ assert.strictEqual(resultPackageHandoffTemplate.target_surface, "/v1/proof-center/result-package-handoff/review/handoff-continuity", "result package handoff template target surface missing");
590
+ const resultPackageHandoffBundle = await client.prepareInteractionResultPackageHandoffBundle("continue.result.spine.job.commitment", {
591
+ job_type: "batch.render",
592
+ job_id: "job-quickstart-12",
593
+ source_zone_id: "zone.alpha",
594
+ target_zone_id: "zone.beta",
595
+ interaction_class: "cross_zone_job"
596
+ }, {
597
+ command: "quickstart-result-package-continuation-handoff-bundle"
598
+ });
599
+ assert.strictEqual(resultPackageHandoffBundle.handoff_summary.handoff_contract_ref, "handoff.bridge.continue.result.spine.job.commitment", "result package handoff bundle summary ref missing");
600
+ assert.strictEqual(resultPackageHandoffBundle.handoff_template.target_surface, "/v1/proof-center/result-package-handoff/review/handoff-continuity", "result package handoff bundle template target surface missing");
601
+ const resultPackageHandoffCarry = await client.prepareInteractionResultPackageHandoffCarry("continue.result.spine.job.commitment", {
602
+ job_type: "batch.render",
603
+ job_id: "job-quickstart-12",
604
+ source_zone_id: "zone.alpha",
605
+ target_zone_id: "zone.beta",
606
+ interaction_class: "cross_zone_job"
607
+ }, {
608
+ command: "quickstart-result-package-continuation-handoff-carry"
609
+ });
610
+ assert.strictEqual(resultPackageHandoffCarry.handoff_contract_ref, "handoff.bridge.continue.result.spine.job.commitment", "result package handoff carry ref missing");
611
+ assert.strictEqual(resultPackageHandoffCarry.stable_handoff_ids.includes("proof_run"), true, "result package handoff carry ids missing");
612
+ assert.strictEqual(resultPackageHandoffCarry.review_surface, "/v1/proof-center/result-package-handoff/review/handoff-run", "result package handoff carry review surface missing");
613
+ const resultPackageHandoffSurfaceSummary = await client.prepareInteractionResultPackageHandoffSurfaceSummary("continue.result.spine.job.commitment", {
614
+ job_type: "batch.render",
615
+ job_id: "job-quickstart-12",
616
+ source_zone_id: "zone.alpha",
617
+ target_zone_id: "zone.beta",
618
+ interaction_class: "cross_zone_job"
619
+ }, {
620
+ command: "quickstart-result-package-continuation-handoff-surface-summary"
621
+ });
622
+ assert.strictEqual(resultPackageHandoffSurfaceSummary.adapter_handoff_surface_ref, "surface.handoff.bridge.continue.result.spine.job.commitment", "result package handoff surface summary ref missing");
623
+ assert.strictEqual(resultPackageHandoffSurfaceSummary.next_surface, "/v1/proof-center/result-package-handoff/review/handoff-intake", "result package handoff surface summary next surface missing");
624
+ assert.strictEqual(resultPackageHandoffSurfaceSummary.adapter_consumable, true, "result package handoff surface summary consumable missing");
625
+ const resultPackageHandoffSurfaceTemplate = await client.prepareInteractionResultPackageHandoffSurfaceTemplate("continue.result.spine.job.commitment", {
626
+ job_type: "batch.render",
627
+ job_id: "job-quickstart-12",
628
+ source_zone_id: "zone.alpha",
629
+ target_zone_id: "zone.beta",
630
+ interaction_class: "cross_zone_job"
631
+ }, {
632
+ command: "quickstart-result-package-continuation-handoff-surface-template"
633
+ });
634
+ assert.strictEqual(resultPackageHandoffSurfaceTemplate.adapter_handoff_surface_ref, "surface.handoff.bridge.continue.result.spine.job.commitment", "result package handoff surface template ref missing");
635
+ assert.strictEqual(resultPackageHandoffSurfaceTemplate.target_surface, "/v1/proof-center/result-package-handoff/review/handoff-intake", "result package handoff surface template target surface missing");
636
+ const resultPackageHandoffSurfaceBundle = await client.prepareInteractionResultPackageHandoffSurfaceBundle("continue.result.spine.job.commitment", {
637
+ job_type: "batch.render",
638
+ job_id: "job-quickstart-12",
639
+ source_zone_id: "zone.alpha",
640
+ target_zone_id: "zone.beta",
641
+ interaction_class: "cross_zone_job"
642
+ }, {
643
+ command: "quickstart-result-package-continuation-handoff-surface-bundle"
644
+ });
645
+ assert.strictEqual(resultPackageHandoffSurfaceBundle.adapter_handoff_surface_summary.adapter_handoff_surface_ref, "surface.handoff.bridge.continue.result.spine.job.commitment", "result package handoff surface bundle summary ref missing");
646
+ assert.strictEqual(resultPackageHandoffSurfaceBundle.adapter_handoff_surface_template.target_surface, "/v1/proof-center/result-package-handoff/review/handoff-intake", "result package handoff surface bundle template target surface missing");
647
+ const resultPackageHandoffPackageSummary = await client.prepareInteractionResultPackageHandoffPackageSummary("continue.result.spine.job.commitment", {
648
+ job_type: "batch.render",
649
+ job_id: "job-quickstart-12",
650
+ source_zone_id: "zone.alpha",
651
+ target_zone_id: "zone.beta",
652
+ interaction_class: "cross_zone_job"
653
+ }, {
654
+ command: "quickstart-result-package-continuation-handoff-package-summary"
655
+ });
656
+ assert.strictEqual(resultPackageHandoffPackageSummary.adapter_handoff_package_ref, "package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package handoff package summary ref missing");
657
+ assert.strictEqual(resultPackageHandoffPackageSummary.next_surface, "/v1/proof-center/result-package-handoff/review/handoff-package-intake", "result package handoff package summary next surface missing");
658
+ assert.strictEqual(resultPackageHandoffPackageSummary.adapter_usable, true, "result package handoff package summary usable missing");
659
+ const resultPackageHandoffPackageBundle = await client.prepareInteractionResultPackageHandoffPackageBundle("continue.result.spine.job.commitment", {
660
+ job_type: "batch.render",
661
+ job_id: "job-quickstart-12",
662
+ source_zone_id: "zone.alpha",
663
+ target_zone_id: "zone.beta",
664
+ interaction_class: "cross_zone_job"
665
+ }, {
666
+ command: "quickstart-result-package-continuation-handoff-package-bundle"
667
+ });
668
+ assert.strictEqual(resultPackageHandoffPackageBundle.adapter_handoff_package_summary.adapter_handoff_package_ref, "package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package handoff package bundle summary ref missing");
669
+ assert.strictEqual(resultPackageHandoffPackageBundle.adapter_handoff_package_template.target_surface, "/v1/proof-center/result-package-handoff/review/handoff-package-intake", "result package handoff package bundle template target surface missing");
670
+ const resultPackageHandoffPackageDefaultSummary = await client.prepareInteractionResultPackageHandoffPackageDefaultSummary("continue.result.spine.job.commitment", {
671
+ job_type: "batch.render",
672
+ job_id: "job-quickstart-12",
673
+ source_zone_id: "zone.alpha",
674
+ target_zone_id: "zone.beta",
675
+ interaction_class: "cross_zone_job"
676
+ }, {
677
+ command: "quickstart-result-package-continuation-handoff-package-default-summary"
678
+ });
679
+ assert.strictEqual(resultPackageHandoffPackageDefaultSummary.default_handoff_package_ref, "default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package handoff package default summary ref missing");
680
+ assert.strictEqual(resultPackageHandoffPackageDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/handoff-package-run", "result package handoff package default summary next surface missing");
681
+ assert.strictEqual(resultPackageHandoffPackageDefaultSummary.package_usable_by_default, true, "result package handoff package default summary usable missing");
682
+ const resultPackageExecutionPackageSummary = await client.prepareInteractionResultPackageExecutionPackageSummary("continue.result.spine.job.commitment", {
683
+ job_type: "batch.render",
684
+ job_id: "job-quickstart-12",
685
+ source_zone_id: "zone.alpha",
686
+ target_zone_id: "zone.beta",
687
+ interaction_class: "cross_zone_job"
688
+ }, {
689
+ command: "quickstart-result-package-continuation-execution-package-summary"
690
+ });
691
+ assert.strictEqual(resultPackageExecutionPackageSummary.execution_package_ref, "execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package execution package summary ref missing");
692
+ assert.strictEqual(resultPackageExecutionPackageSummary.next_surface, "/v1/proof-center/result-package-handoff/review/execution-package", "result package execution package summary next surface missing");
693
+ assert.strictEqual(resultPackageExecutionPackageSummary.adapter_ready, true, "result package execution package summary ready missing");
694
+ const resultPackageExecutionPackageBundle = await client.prepareInteractionResultPackageExecutionPackageBundle("continue.result.spine.job.commitment", {
695
+ job_type: "batch.render",
696
+ job_id: "job-quickstart-12",
697
+ source_zone_id: "zone.alpha",
698
+ target_zone_id: "zone.beta",
699
+ interaction_class: "cross_zone_job"
700
+ }, {
701
+ command: "quickstart-result-package-continuation-execution-package-bundle"
702
+ });
703
+ assert.strictEqual(resultPackageExecutionPackageBundle.execution_package_summary.execution_package_ref, "execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package execution package bundle summary ref missing");
704
+ assert.strictEqual(resultPackageExecutionPackageBundle.execution_package_template.target_surface, "/v1/proof-center/result-package-handoff/review/execution-package", "result package execution package bundle template target surface missing");
705
+ const resultPackageExecutionPackageDefaultSummary = await client.prepareInteractionResultPackageExecutionPackageDefaultSummary("continue.result.spine.job.commitment", {
706
+ job_type: "batch.render",
707
+ job_id: "job-quickstart-12",
708
+ source_zone_id: "zone.alpha",
709
+ target_zone_id: "zone.beta",
710
+ interaction_class: "cross_zone_job"
711
+ }, {
712
+ command: "quickstart-result-package-continuation-execution-package-default-summary"
713
+ });
714
+ assert.strictEqual(resultPackageExecutionPackageDefaultSummary.default_execution_package_ref, "default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package execution package default summary ref missing");
715
+ assert.strictEqual(resultPackageExecutionPackageDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/execution-package-run", "result package execution package default summary next surface missing");
716
+ assert.strictEqual(resultPackageExecutionPackageDefaultSummary.execution_ready_by_default, true, "result package execution package default summary ready missing");
717
+ const resultPackageExecutionContractSummary = await client.prepareInteractionResultPackageExecutionContractSummary("continue.result.spine.job.commitment", {
718
+ job_type: "batch.render",
719
+ job_id: "job-quickstart-12",
720
+ source_zone_id: "zone.alpha",
721
+ target_zone_id: "zone.beta",
722
+ interaction_class: "cross_zone_job"
723
+ }, {
724
+ command: "quickstart-result-package-continuation-execution-contract-summary"
725
+ });
726
+ assert.strictEqual(resultPackageExecutionContractSummary.execution_contract_ref, "contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package execution contract summary ref missing");
727
+ assert.strictEqual(resultPackageExecutionContractSummary.next_surface, "/v1/proof-center/result-package-handoff/review/execution-contract", "result package execution contract summary next surface missing");
728
+ assert.strictEqual(resultPackageExecutionContractSummary.adapter_operable, true, "result package execution contract summary operable missing");
729
+ const resultPackageExecutionContractBundle = await client.prepareInteractionResultPackageExecutionContractBundle("continue.result.spine.job.commitment", {
730
+ job_type: "batch.render",
731
+ job_id: "job-quickstart-12",
732
+ source_zone_id: "zone.alpha",
733
+ target_zone_id: "zone.beta",
734
+ interaction_class: "cross_zone_job"
735
+ }, {
736
+ command: "quickstart-result-package-continuation-execution-contract-bundle"
737
+ });
738
+ assert.strictEqual(resultPackageExecutionContractBundle.execution_contract_summary.execution_contract_ref, "contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package execution contract bundle summary ref missing");
739
+ assert.strictEqual(resultPackageExecutionContractBundle.execution_contract_template.target_surface, "/v1/proof-center/result-package-handoff/review/execution-contract", "result package execution contract bundle template target surface missing");
740
+ const resultPackageExecutionContractDefaultSummary = await client.prepareInteractionResultPackageExecutionContractDefaultSummary("continue.result.spine.job.commitment", {
741
+ job_type: "batch.render",
742
+ job_id: "job-quickstart-12",
743
+ source_zone_id: "zone.alpha",
744
+ target_zone_id: "zone.beta",
745
+ interaction_class: "cross_zone_job"
746
+ }, {
747
+ command: "quickstart-result-package-continuation-execution-contract-default-summary"
748
+ });
749
+ assert.strictEqual(resultPackageExecutionContractDefaultSummary.default_execution_contract_ref, "default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package execution contract default summary ref missing");
750
+ assert.strictEqual(resultPackageExecutionContractDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/execution-contract-run", "result package execution contract default summary next surface missing");
751
+ assert.strictEqual(resultPackageExecutionContractDefaultSummary.execution_operable_by_default, true, "result package execution contract default summary operable missing");
752
+ const resultPackageOperatingContractSummary = await client.prepareInteractionResultPackageOperatingContractSummary("continue.result.spine.job.commitment", {
753
+ job_type: "batch.render",
754
+ job_id: "job-quickstart-12",
755
+ source_zone_id: "zone.alpha",
756
+ target_zone_id: "zone.beta",
757
+ interaction_class: "cross_zone_job"
758
+ }, {
759
+ command: "quickstart-result-package-continuation-operating-contract-summary"
760
+ });
761
+ assert.strictEqual(resultPackageOperatingContractSummary.operating_contract_ref, "operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating contract summary ref missing");
762
+ assert.strictEqual(resultPackageOperatingContractSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-contract", "result package operating contract summary next surface missing");
763
+ assert.strictEqual(resultPackageOperatingContractSummary.adapter_stable, true, "result package operating contract summary stable missing");
764
+ const resultPackageOperatingContractBundle = await client.prepareInteractionResultPackageOperatingContractBundle("continue.result.spine.job.commitment", {
765
+ job_type: "batch.render",
766
+ job_id: "job-quickstart-12",
767
+ source_zone_id: "zone.alpha",
768
+ target_zone_id: "zone.beta",
769
+ interaction_class: "cross_zone_job"
770
+ }, {
771
+ command: "quickstart-result-package-continuation-operating-contract-bundle"
772
+ });
773
+ assert.strictEqual(resultPackageOperatingContractBundle.operating_contract_summary.operating_contract_ref, "operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating contract bundle summary ref missing");
774
+ assert.strictEqual(resultPackageOperatingContractBundle.operating_contract_template.target_surface, "/v1/proof-center/result-package-handoff/review/operating-contract", "result package operating contract bundle template target surface missing");
775
+ const resultPackageOperatingContractDefaultSummary = await client.prepareInteractionResultPackageOperatingContractDefaultSummary("continue.result.spine.job.commitment", {
776
+ job_type: "batch.render",
777
+ job_id: "job-quickstart-12",
778
+ source_zone_id: "zone.alpha",
779
+ target_zone_id: "zone.beta",
780
+ interaction_class: "cross_zone_job"
781
+ }, {
782
+ command: "quickstart-result-package-continuation-operating-contract-default-summary"
783
+ });
784
+ assert.strictEqual(resultPackageOperatingContractDefaultSummary.default_operating_contract_ref, "default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating contract default summary ref missing");
785
+ assert.strictEqual(resultPackageOperatingContractDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-contract-run", "result package operating contract default summary next surface missing");
786
+ assert.strictEqual(resultPackageOperatingContractDefaultSummary.operating_stable_by_default, true, "result package operating contract default summary stable missing");
787
+ const resultPackageOperatingInterfaceSummary = await client.prepareInteractionResultPackageOperatingInterfaceSummary("continue.result.spine.job.commitment", {
788
+ job_type: "batch.render",
789
+ job_id: "job-quickstart-12",
790
+ source_zone_id: "zone.alpha",
791
+ target_zone_id: "zone.beta",
792
+ interaction_class: "cross_zone_job"
793
+ }, {
794
+ command: "quickstart-result-package-continuation-operating-interface-summary"
795
+ });
796
+ assert.strictEqual(resultPackageOperatingInterfaceSummary.operating_interface_ref, "interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating interface summary ref missing");
797
+ assert.strictEqual(resultPackageOperatingInterfaceSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-interface", "result package operating interface summary next surface missing");
798
+ assert.strictEqual(resultPackageOperatingInterfaceSummary.adapter_reliable, true, "result package operating interface summary reliable missing");
799
+ const resultPackageOperatingInterfaceBundle = await client.prepareInteractionResultPackageOperatingInterfaceBundle("continue.result.spine.job.commitment", {
800
+ job_type: "batch.render",
801
+ job_id: "job-quickstart-12",
802
+ source_zone_id: "zone.alpha",
803
+ target_zone_id: "zone.beta",
804
+ interaction_class: "cross_zone_job"
805
+ }, {
806
+ command: "quickstart-result-package-continuation-operating-interface-bundle"
807
+ });
808
+ assert.strictEqual(resultPackageOperatingInterfaceBundle.operating_interface_summary.operating_interface_ref, "interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating interface bundle summary ref missing");
809
+ assert.strictEqual(resultPackageOperatingInterfaceBundle.operating_interface_template.target_surface, "/v1/proof-center/result-package-handoff/review/operating-interface", "result package operating interface bundle template target surface missing");
810
+ const resultPackageOperatingInterfaceDefaultSummary = await client.prepareInteractionResultPackageOperatingInterfaceDefaultSummary("continue.result.spine.job.commitment", {
811
+ job_type: "batch.render",
812
+ job_id: "job-quickstart-12",
813
+ source_zone_id: "zone.alpha",
814
+ target_zone_id: "zone.beta",
815
+ interaction_class: "cross_zone_job"
816
+ }, {
817
+ command: "quickstart-result-package-continuation-operating-interface-default-summary"
818
+ });
819
+ assert.strictEqual(resultPackageOperatingInterfaceDefaultSummary.default_operating_interface_ref, "default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating interface default summary ref missing");
820
+ assert.strictEqual(resultPackageOperatingInterfaceDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-interface-run", "result package operating interface default summary next surface missing");
821
+ assert.strictEqual(resultPackageOperatingInterfaceDefaultSummary.operating_interface_reliable_by_default, true, "result package operating interface default summary reliable missing");
822
+ const resultPackageOperatingIntegrationSummary = await client.prepareInteractionResultPackageOperatingIntegrationSummary("continue.result.spine.job.commitment", {
823
+ job_type: "batch.render",
824
+ job_id: "job-quickstart-12",
825
+ source_zone_id: "zone.alpha",
826
+ target_zone_id: "zone.beta",
827
+ interaction_class: "cross_zone_job"
828
+ }, {
829
+ command: "quickstart-result-package-continuation-operating-integration-summary"
830
+ });
831
+ assert.strictEqual(resultPackageOperatingIntegrationSummary.operating_integration_ref, "integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating integration summary ref missing");
832
+ assert.strictEqual(resultPackageOperatingIntegrationSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-integration", "result package operating integration summary next surface missing");
833
+ assert.strictEqual(resultPackageOperatingIntegrationSummary.adapter_integrable, true, "result package operating integration summary integrable missing");
834
+ const resultPackageOperatingIntegrationBundle = await client.prepareInteractionResultPackageOperatingIntegrationBundle("continue.result.spine.job.commitment", {
835
+ job_type: "batch.render",
836
+ job_id: "job-quickstart-12",
837
+ source_zone_id: "zone.alpha",
838
+ target_zone_id: "zone.beta",
839
+ interaction_class: "cross_zone_job"
840
+ }, {
841
+ command: "quickstart-result-package-continuation-operating-integration-bundle"
842
+ });
843
+ assert.strictEqual(resultPackageOperatingIntegrationBundle.operating_integration_summary.operating_integration_ref, "integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating integration bundle summary ref missing");
844
+ assert.strictEqual(resultPackageOperatingIntegrationBundle.operating_integration_template.target_surface, "/v1/proof-center/result-package-handoff/review/operating-integration", "result package operating integration bundle template target surface missing");
845
+ const resultPackageOperatingIntegrationDefaultSummary = await client.prepareInteractionResultPackageOperatingIntegrationDefaultSummary("continue.result.spine.job.commitment", {
846
+ job_type: "batch.render",
847
+ job_id: "job-quickstart-12",
848
+ source_zone_id: "zone.alpha",
849
+ target_zone_id: "zone.beta",
850
+ interaction_class: "cross_zone_job"
851
+ }, {
852
+ command: "quickstart-result-package-continuation-operating-integration-default-summary"
853
+ });
854
+ assert.strictEqual(resultPackageOperatingIntegrationDefaultSummary.default_operating_integration_ref, "default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating integration default summary ref missing");
855
+ assert.strictEqual(resultPackageOperatingIntegrationDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-integration-run", "result package operating integration default summary next surface missing");
856
+ assert.strictEqual(resultPackageOperatingIntegrationDefaultSummary.operating_integration_integrable_by_default, true, "result package operating integration default summary integrable missing");
857
+ const resultPackageOperatingPathSummary = await client.prepareInteractionResultPackageOperatingPathSummary("continue.result.spine.job.commitment", {
858
+ job_type: "batch.render",
859
+ job_id: "job-quickstart-12",
860
+ source_zone_id: "zone.alpha",
861
+ target_zone_id: "zone.beta",
862
+ interaction_class: "cross_zone_job"
863
+ }, {
864
+ command: "quickstart-result-package-continuation-operating-path-summary"
865
+ });
866
+ assert.strictEqual(resultPackageOperatingPathSummary.operating_path_ref, "path.default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating path summary ref missing");
867
+ assert.strictEqual(resultPackageOperatingPathSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-path", "result package operating path summary next surface missing");
868
+ assert.strictEqual(resultPackageOperatingPathSummary.adapter_ready_by_default, true, "result package operating path summary default readiness missing");
869
+ const resultPackageOperatingPathBundle = await client.prepareInteractionResultPackageOperatingPathBundle("continue.result.spine.job.commitment", {
870
+ job_type: "batch.render",
871
+ job_id: "job-quickstart-12",
872
+ source_zone_id: "zone.alpha",
873
+ target_zone_id: "zone.beta",
874
+ interaction_class: "cross_zone_job"
875
+ }, {
876
+ command: "quickstart-result-package-continuation-operating-path-bundle"
877
+ });
878
+ assert.strictEqual(resultPackageOperatingPathBundle.operating_path_summary.operating_path_ref, "path.default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating path bundle summary ref missing");
879
+ assert.strictEqual(resultPackageOperatingPathBundle.operating_path_template.target_surface, "/v1/proof-center/result-package-handoff/review/operating-path", "result package operating path bundle template target surface missing");
880
+ const resultPackageOperatingPathDefaultSummary = await client.prepareInteractionResultPackageOperatingPathDefaultSummary("continue.result.spine.job.commitment", {
881
+ job_type: "batch.render",
882
+ job_id: "job-quickstart-12",
883
+ source_zone_id: "zone.alpha",
884
+ target_zone_id: "zone.beta",
885
+ interaction_class: "cross_zone_job"
886
+ }, {
887
+ command: "quickstart-result-package-continuation-operating-path-default-summary"
888
+ });
889
+ assert.strictEqual(resultPackageOperatingPathDefaultSummary.default_operating_path_ref, "default.path.default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package operating path default summary ref missing");
890
+ assert.strictEqual(resultPackageOperatingPathDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/operating-path-run", "result package operating path default summary next surface missing");
891
+ assert.strictEqual(resultPackageOperatingPathDefaultSummary.operating_path_ready_by_default, true, "result package operating path default summary ready missing");
892
+ const resultPackageCompleteDefaultPathSummary = await client.prepareInteractionResultPackageCompleteDefaultPathSummary("continue.result.spine.job.commitment", {
893
+ job_type: "batch.render",
894
+ job_id: "job-quickstart-12",
895
+ source_zone_id: "zone.alpha",
896
+ target_zone_id: "zone.beta",
897
+ interaction_class: "cross_zone_job"
898
+ }, {
899
+ command: "quickstart-result-package-continuation-complete-default-path-summary"
900
+ });
901
+ assert.strictEqual(resultPackageCompleteDefaultPathSummary.complete_default_path_ref, "complete.default.path.default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package complete default path summary ref missing");
902
+ assert.strictEqual(resultPackageCompleteDefaultPathSummary.next_surface, "/v1/proof-center/result-package-handoff/review/complete-default-path", "result package complete default path summary next surface missing");
903
+ assert.strictEqual(resultPackageCompleteDefaultPathSummary.adapter_complete_by_default, true, "result package complete default path summary complete missing");
904
+ const resultPackageCompleteDefaultPathBundle = await client.prepareInteractionResultPackageCompleteDefaultPathBundle("continue.result.spine.job.commitment", {
905
+ job_type: "batch.render",
906
+ job_id: "job-quickstart-12",
907
+ source_zone_id: "zone.alpha",
908
+ target_zone_id: "zone.beta",
909
+ interaction_class: "cross_zone_job"
910
+ }, {
911
+ command: "quickstart-result-package-continuation-complete-default-path-bundle"
912
+ });
913
+ assert.strictEqual(resultPackageCompleteDefaultPathBundle.complete_default_path_summary.complete_default_path_ref, "complete.default.path.default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package complete default path bundle summary ref missing");
914
+ assert.strictEqual(resultPackageCompleteDefaultPathBundle.complete_default_path_template.target_surface, "/v1/proof-center/result-package-handoff/review/complete-default-path", "result package complete default path bundle template target surface missing");
915
+ const resultPackageCompleteDefaultPathDefaultSummary = await client.prepareInteractionResultPackageCompleteDefaultPathDefaultSummary("continue.result.spine.job.commitment", {
916
+ job_type: "batch.render",
917
+ job_id: "job-quickstart-12",
918
+ source_zone_id: "zone.alpha",
919
+ target_zone_id: "zone.beta",
920
+ interaction_class: "cross_zone_job"
921
+ }, {
922
+ command: "quickstart-result-package-continuation-complete-default-path-default-summary"
923
+ });
924
+ assert.strictEqual(resultPackageCompleteDefaultPathDefaultSummary.default_complete_default_path_ref, "default.complete.default.path.default.integration.default.interface.default.operating.default.contract.default.execution.default.package.surface.handoff.bridge.continue.result.spine.job.commitment", "result package complete default path default summary ref missing");
925
+ assert.strictEqual(resultPackageCompleteDefaultPathDefaultSummary.next_surface, "/v1/proof-center/result-package-handoff/review/complete-default-path-run", "result package complete default path default summary next surface missing");
926
+ assert.strictEqual(resultPackageCompleteDefaultPathDefaultSummary.complete_default_path_ready, true, "result package complete default path default summary ready missing");
927
+ const resultPackageExtensionTemplate = await client.prepareInteractionResultPackageExtensionTemplate("continue.result.spine.job.commitment", {
928
+ job_type: "batch.render",
929
+ job_id: "job-quickstart-12",
930
+ source_zone_id: "zone.alpha",
931
+ target_zone_id: "zone.beta",
932
+ interaction_class: "cross_zone_job"
933
+ }, {
934
+ command: "quickstart-result-package-continuation-extension-template"
935
+ });
936
+ assert.strictEqual(resultPackageExtensionTemplate.extension_seam_ref, "extension.continue.result.spine.job.commitment", "result package extension template seam ref missing");
937
+ assert.strictEqual(resultPackageExtensionTemplate.target_surface, "/v1/proof-center/result-package-handoff/review/extension-readiness", "result package extension template target surface missing");
938
+ const explicitStagedPartnerQuote = await client.createTaskSetQuote([
939
+ {
940
+ task_ref: "adapter.mcp.invoke",
941
+ body: {
942
+ tool_name: "summarize",
943
+ arguments: { text: "explicit-staged-partner-selection" }
944
+ }
945
+ }
946
+ ], {
947
+ command: "quickstart-explicit-staged-partner-quote",
948
+ protocol: "mcp",
949
+ integrationId: "partner.protocol.acme_mcp",
950
+ integrationIds: ["partner.protocol.acme_mcp", "builtin.settlement.chain"],
951
+ settlementMode: "evm_payment"
952
+ });
953
+ assert.strictEqual(
954
+ explicitStagedPartnerQuote.quote.integration_ids.includes("partner.protocol.acme_mcp"),
955
+ true,
956
+ "explicit staged partner quote missing requested integration"
957
+ );
958
+ assert.strictEqual(
959
+ explicitStagedPartnerQuote.quote.integration_ids.includes("builtin.settlement.chain"),
960
+ true,
961
+ "explicit staged partner quote missing settlement integration"
962
+ );
963
+ const trustTasks = await client.findTasks({ category: "trust", query: "verify" }, true);
964
+ assert.strictEqual(trustTasks.length >= 1, true, "filtered task discovery missing");
965
+ const trustTaskSummaries = await client.findTaskSummaries({ category: "trust", query: "verify" }, true);
966
+ assert.strictEqual(trustTaskSummaries.task_count >= 1, true, "filtered task summaries missing");
967
+ const taskCategories = await client.listTaskCategories(true);
968
+ assert.strictEqual(taskCategories.length >= 1, true, "task category list missing");
969
+ assert.strictEqual(taskCategories.includes("runtime"), true, "runtime task category missing");
970
+ assert.strictEqual(taskCategories.includes("admission"), true, "admission task category missing");
971
+ assert.strictEqual(taskCategories.includes("a2a"), true, "a2a task category missing");
972
+ assert.strictEqual(taskCategories.includes("a2c"), true, "a2c task category missing");
973
+ assert.strictEqual(taskCategories.includes("identity"), true, "identity task category missing");
974
+ const taskCategorySummaries = await client.getTaskCategorySummaries(true);
975
+ assert.strictEqual(taskCategorySummaries.category_count >= 1, true, "task category summaries missing");
976
+ const taskCapabilities = await client.listCapabilities(true);
977
+ assert.strictEqual(taskCapabilities.length >= 1, true, "capability list missing");
978
+ assert.strictEqual(taskCapabilities.includes("runtime.emit_anchor"), true, "runtime capability missing");
979
+ const capabilitySummaries = await client.getCapabilitySummaries(true);
980
+ assert.strictEqual(capabilitySummaries.capability_count >= 1, true, "capability summaries missing");
981
+ const taskAdapters = await client.listAdapters(true);
982
+ assert.strictEqual(taskAdapters.length >= 1, true, "adapter list missing");
983
+ assert.strictEqual(taskAdapters.includes("mcp"), true, "mcp adapter missing");
984
+ const adapterSummaries = await client.getAdapterSummaries(true);
985
+ assert.strictEqual(adapterSummaries.adapter_count >= 1, true, "adapter summaries missing");
986
+ const taskExecutionModes = await client.listTaskExecutionModes(true);
987
+ assert.strictEqual(taskExecutionModes.length >= 1, true, "task execution mode list missing");
988
+ const taskExecutionModeSummaries = await client.getTaskExecutionModeSummaries(true);
989
+ assert.strictEqual(taskExecutionModeSummaries.execution_mode_count >= 1, true, "task execution mode summaries missing");
990
+ const taskPricingBands = await client.listTaskPricingBands(true);
991
+ assert.strictEqual(taskPricingBands.length >= 1, true, "task pricing band list missing");
992
+ const taskPricingBandSummaries = await client.getTaskPricingBandSummaries(true);
993
+ assert.strictEqual(taskPricingBandSummaries.pricing_band_count >= 1, true, "task pricing band summaries missing");
994
+ const taskPricingCurrencies = await client.listTaskPricingCurrencies(true);
995
+ assert.strictEqual(taskPricingCurrencies.length >= 1, true, "task pricing currency list missing");
996
+ const taskPricingCurrencySummaries = await client.getTaskPricingCurrencySummaries(true);
997
+ assert.strictEqual(taskPricingCurrencySummaries.pricing_currency_count >= 1, true, "task pricing currency summaries missing");
998
+ const taskLatencyClasses = await client.listTaskLatencyClasses(true);
999
+ assert.strictEqual(taskLatencyClasses.length >= 1, true, "task latency class list missing");
1000
+ const taskLatencySummaries = await client.getTaskLatencySummaries(true);
1001
+ assert.strictEqual(taskLatencySummaries.latency_class_count >= 1, true, "task latency summaries missing");
1002
+ const taskFailurePostures = await client.listTaskFailurePostures(true);
1003
+ assert.strictEqual(taskFailurePostures.length >= 1, true, "task failure posture list missing");
1004
+ const taskFailurePostureSummaries = await client.getTaskFailurePostureSummaries(true);
1005
+ assert.strictEqual(taskFailurePostureSummaries.failure_posture_count >= 1, true, "task failure posture summaries missing");
1006
+ const trustTaskSummary = await client.getTaskSummary("trust.verify", true);
1007
+ assert.strictEqual(trustTaskSummary.task_ref, "trust.verify", "task summary missing");
1008
+ const rawTasks = await client.getTasks(["trust.verify", "settlement.submit"], true);
1009
+ assert.strictEqual(rawTasks.length, 2, "raw task batch lookup missing");
1010
+ const taskSummaries = await client.getTaskSummaries(["trust.verify", "settlement.submit"], true);
1011
+ assert.strictEqual(taskSummaries.task_count, 2, "task summaries missing");
1012
+ const normalizedTaskSummaries = await client.getTaskSummaries([" trust.verify ", "", "settlement.submit "], true);
1013
+ assert.deepStrictEqual(normalizedTaskSummaries.task_refs, ["trust.verify", "settlement.submit"], "task summary ref normalization missing");
1014
+ const settlementProfiles = await client.findSettlementProfiles({ mode: "evm_payment", query: "USDC" }, true);
1015
+ assert.strictEqual(settlementProfiles.length >= 1, true, "filtered settlement discovery missing");
1016
+ const settlementProfilesSummary = await client.getSettlementProfilesSummary(true);
1017
+ assert.strictEqual(settlementProfilesSummary.settlement_profile_count >= 1, true, "settlement profile summary missing");
1018
+ assert.strictEqual(settlementProfilesSummary.settlement_profile_count >= 5, true, "canonical settlement breadth missing");
1019
+ assert.strictEqual(Array.isArray(settlementProfilesSummary.settlement_profile_keys), true, "settlement profile summary keys missing");
1020
+ const settlementModeSummaries = await client.getSettlementModeSummaries(true);
1021
+ assert.strictEqual(settlementModeSummaries.settlement_mode_count >= 1, true, "settlement mode summaries missing");
1022
+ const settlementModes = await client.listSettlementModes(true);
1023
+ assert.strictEqual(settlementModes.length >= 1, true, "settlement mode list missing");
1024
+ assert.strictEqual(settlementModes.includes("bsv_teranode"), true, "bsv settlement mode missing");
1025
+ assert.strictEqual(settlementModes.includes("solana_payment"), true, "solana settlement mode missing");
1026
+ const settlementAssetSummaries = await client.getSettlementAssetSummaries(true);
1027
+ assert.strictEqual(settlementAssetSummaries.settlement_asset_count >= 1, true, "settlement asset summaries missing");
1028
+ const settlementAssets = await client.listSettlementAssets(true);
1029
+ assert.strictEqual(settlementAssets.length >= 1, true, "settlement asset list missing");
1030
+ const settlementAdapterSummaries = await client.getSettlementAdapterSummaries(true);
1031
+ assert.strictEqual(settlementAdapterSummaries.settlement_adapter_count >= 1, true, "settlement adapter summaries missing");
1032
+ const settlementAdapters = await client.listSettlementAdapters(true);
1033
+ assert.strictEqual(settlementAdapters.length >= 1, true, "settlement adapter list missing");
1034
+ const settlementRequiredInputSummaries = await client.getSettlementRequiredInputSummaries(true);
1035
+ assert.strictEqual(settlementRequiredInputSummaries.settlement_required_input_count >= 1, true, "settlement required input summaries missing");
1036
+ const settlementRequiredInputs = await client.listSettlementRequiredInputs(true);
1037
+ assert.strictEqual(settlementRequiredInputs.length >= 1, true, "settlement required input list missing");
1038
+ const settlementPayeeSummaries = await client.getSettlementPayeeSummaries(true);
1039
+ assert.strictEqual(settlementPayeeSummaries.settlement_payee_count >= 1, true, "settlement payee summaries missing");
1040
+ const settlementPayees = await client.listSettlementPayees(true);
1041
+ assert.strictEqual(settlementPayees.length >= 1, true, "settlement payee list missing");
1042
+ const settlementPricingUnitSummaries = await client.getSettlementPricingUnitSummaries(true);
1043
+ assert.strictEqual(settlementPricingUnitSummaries.settlement_pricing_unit_count >= 1, true, "settlement pricing unit summaries missing");
1044
+ const settlementPricingUnits = await client.listSettlementPricingUnits(true);
1045
+ assert.strictEqual(settlementPricingUnits.length >= 1, true, "settlement pricing unit list missing");
1046
+ const sampleSettlementPayee = settlementPayeeSummaries.settlement_payees[0] && settlementPayeeSummaries.settlement_payees[0].payee_agent_id;
1047
+ const settlementProfilesByPayee = await client.findSettlementProfiles({ payee_agent_id: sampleSettlementPayee }, true);
1048
+ assert.strictEqual(settlementProfilesByPayee.length >= 1, true, "settlement payee filter missing");
1049
+ const sampleSettlementRequiredInput = settlementRequiredInputSummaries.settlement_required_inputs[0] && settlementRequiredInputSummaries.settlement_required_inputs[0].field;
1050
+ const settlementProfilesByRequiredInput = await client.findSettlementProfiles({ required_input: sampleSettlementRequiredInput }, true);
1051
+ assert.strictEqual(settlementProfilesByRequiredInput.length >= 1, true, "settlement required input filter missing");
1052
+ const settlementProfileSummaries = await client.findSettlementProfileSummaries({ mode: "evm_payment", query: "USDC" }, true);
1053
+ assert.strictEqual(settlementProfileSummaries.settlement_profile_count >= 1, true, "filtered settlement summaries missing");
1054
+
1055
+ const workflowCatalog = await client.fetchWorkflowCatalog(true);
1056
+ assert.strictEqual(Array.isArray(workflowCatalog.workflows), true, "workflow catalog missing");
1057
+ const workflowCatalogSummary = await client.fetchWorkflowCatalogSummary(true);
1058
+ assert.strictEqual(workflowCatalogSummary.workflow_count >= 1, true, "workflow catalog summary missing");
1059
+ assert.strictEqual(Array.isArray(workflowCatalogSummary.workflow_refs), true, "workflow catalog summary refs missing");
1060
+ assert.strictEqual(workflowCatalogSummary.workflow_refs.includes("runtime.consequence.flow"), true, "runtime workflow missing");
1061
+ assert.strictEqual(workflowCatalogSummary.workflow_refs.includes("a2c.tooling.flow"), true, "a2c workflow missing");
1062
+ assert.strictEqual(workflowCatalogSummary.workflow_refs.includes("registry.pack.anchor.flow"), true, "registry pack workflow missing");
1063
+ const governedWorkflows = await client.findWorkflows({ latency_class: "governed_async", task_ref: "settlement.submit" }, true);
1064
+ assert.strictEqual(governedWorkflows.length >= 1, true, "filtered workflow discovery missing");
1065
+ const governedWorkflowSummaries = await client.findWorkflowSummaries({ latency_class: "governed_async", task_ref: "settlement.submit" }, true);
1066
+ assert.strictEqual(governedWorkflowSummaries.workflow_count >= 1, true, "filtered workflow summaries missing");
1067
+ const workflows = await client.getWorkflows(["policy.transaction.flow", "trust.flow"], true);
1068
+ assert.strictEqual(workflows.length, 2, "workflow batch lookup missing");
1069
+ const workflowSummary = await client.getWorkflowSummary("policy.transaction.flow", true);
1070
+ assert.strictEqual(workflowSummary.workflow_ref, "policy.transaction.flow", "workflow summary missing");
1071
+ const workflowSummaries = await client.getWorkflowSummaries(["policy.transaction.flow", "trust.flow"], true);
1072
+ assert.strictEqual(workflowSummaries.workflow_count, 2, "workflow summaries missing");
1073
+ const normalizedWorkflowSummaries = await client.getWorkflowSummaries([" policy.transaction.flow ", "", "trust.flow "], true);
1074
+ assert.deepStrictEqual(normalizedWorkflowSummaries.workflow_refs, ["policy.transaction.flow", "trust.flow"], "workflow summary ref normalization missing");
1075
+ const workflowCategories = await client.listWorkflowCategories(true);
1076
+ assert.strictEqual(workflowCategories.length >= 1, true, "workflow category list missing");
1077
+ const workflowCategorySummaries = await client.getWorkflowCategorySummaries(true);
1078
+ assert.strictEqual(workflowCategorySummaries.category_count >= 1, true, "workflow category summaries missing");
1079
+ const workflowCapabilities = await client.listWorkflowCapabilities(true);
1080
+ assert.strictEqual(workflowCapabilities.length >= 1, true, "workflow capability list missing");
1081
+ const workflowCapabilitySummaries = await client.getWorkflowCapabilitySummaries(true);
1082
+ assert.strictEqual(workflowCapabilitySummaries.capability_count >= 1, true, "workflow capability summaries missing");
1083
+ const workflowExecutionModes = await client.listWorkflowExecutionModes(true);
1084
+ assert.strictEqual(workflowExecutionModes.length >= 1, true, "workflow execution mode list missing");
1085
+ const workflowExecutionModeSummaries = await client.getWorkflowExecutionModeSummaries(true);
1086
+ assert.strictEqual(workflowExecutionModeSummaries.execution_mode_count >= 1, true, "workflow execution mode summaries missing");
1087
+ const workflowPricingBands = await client.listWorkflowPricingBands(true);
1088
+ assert.strictEqual(workflowPricingBands.length >= 1, true, "workflow pricing band list missing");
1089
+ const workflowPricingBandSummaries = await client.getWorkflowPricingBandSummaries(true);
1090
+ assert.strictEqual(workflowPricingBandSummaries.pricing_band_count >= 1, true, "workflow pricing band summaries missing");
1091
+ const workflowPricingCurrencies = await client.listWorkflowPricingCurrencies(true);
1092
+ assert.strictEqual(workflowPricingCurrencies.length >= 1, true, "workflow pricing currency list missing");
1093
+ const workflowPricingCurrencySummaries = await client.getWorkflowPricingCurrencySummaries(true);
1094
+ assert.strictEqual(workflowPricingCurrencySummaries.pricing_currency_count >= 1, true, "workflow pricing currency summaries missing");
1095
+ const workflowAdapters = await client.listWorkflowAdapters(true);
1096
+ assert.strictEqual(workflowAdapters.length >= 1, true, "workflow adapter list missing");
1097
+ const workflowAdapterSummaries = await client.getWorkflowAdapterSummaries(true);
1098
+ assert.strictEqual(workflowAdapterSummaries.adapter_count >= 1, true, "workflow adapter summaries missing");
1099
+ const workflowLatencyClasses = await client.listWorkflowLatencyClasses(true);
1100
+ assert.strictEqual(workflowLatencyClasses.length >= 1, true, "workflow latency class list missing");
1101
+ const workflowLatencySummaries = await client.getWorkflowLatencySummaries(true);
1102
+ assert.strictEqual(workflowLatencySummaries.latency_class_count >= 1, true, "workflow latency summaries missing");
1103
+ const workflowFailurePostures = await client.listWorkflowFailurePostures(true);
1104
+ assert.strictEqual(workflowFailurePostures.length >= 1, true, "workflow failure posture list missing");
1105
+ const workflowFailurePostureSummaries = await client.getWorkflowFailurePostureSummaries(true);
1106
+ assert.strictEqual(workflowFailurePostureSummaries.failure_posture_count >= 1, true, "workflow failure posture summaries missing");
1107
+ const workflowPricingBases = await client.listWorkflowPricingBases(true);
1108
+ assert.strictEqual(workflowPricingBases.length >= 1, true, "workflow pricing basis list missing");
1109
+ const workflowPricingBasisSummaries = await client.getWorkflowPricingBasisSummaries(true);
1110
+ assert.strictEqual(workflowPricingBasisSummaries.pricing_basis_count >= 1, true, "workflow pricing basis summaries missing");
1111
+ const sampleWorkflowPricingBasis = workflowPricingBasisSummaries.pricing_bases[0] && workflowPricingBasisSummaries.pricing_bases[0].pricing_basis;
1112
+ const workflowsByPricingBasis = await client.findWorkflows({ pricing_basis: sampleWorkflowPricingBasis }, true);
1113
+ assert.strictEqual(workflowsByPricingBasis.length >= 1, true, "workflow pricing basis filter missing");
1114
+ const sampleWorkflowCapability = workflowCapabilitySummaries.capabilities[0] && workflowCapabilitySummaries.capabilities[0].capability;
1115
+ const workflowsByCapability = await client.findWorkflows({ capability: sampleWorkflowCapability }, true);
1116
+ assert.strictEqual(workflowsByCapability.length >= 1, true, "workflow capability filter missing");
1117
+ const sampleWorkflowPricingCurrency = workflowPricingCurrencySummaries.pricing_currencies[0] && workflowPricingCurrencySummaries.pricing_currencies[0].currency;
1118
+ const workflowsByPricingCurrency = await client.findWorkflows({ pricing_currency: sampleWorkflowPricingCurrency }, true);
1119
+ assert.strictEqual(workflowsByPricingCurrency.length >= 1, true, "workflow pricing currency filter missing");
1120
+ const taskPricingSummary = await client.getTaskPricingSummary("trust.verify", true);
1121
+ assert.strictEqual(taskPricingSummary.task_ref, "trust.verify", "task pricing summary missing");
1122
+ const taskPricing = await client.getTaskPricing("trust.verify", true);
1123
+ assert.strictEqual(taskPricing.task_ref, "trust.verify", "task pricing missing");
1124
+ const taskPricingSummaries = await client.getTaskPricingSummaries(["trust.verify", "policy.simulate"], true);
1125
+ assert.strictEqual(taskPricingSummaries.task_count, 2, "task pricing summaries missing");
1126
+ assert.strictEqual(Array.isArray(taskPricingSummaries.task_refs), true, "task pricing summary refs missing");
1127
+ const workflowPricingSummary = await client.getWorkflowPricingSummary("policy.transaction.flow", true);
1128
+ assert.strictEqual(workflowPricingSummary.workflow_ref, "policy.transaction.flow", "workflow pricing summary missing");
1129
+ const workflowPricing = await client.getWorkflowPricing("policy.transaction.flow", true);
1130
+ assert.strictEqual(workflowPricing.workflow_ref, "policy.transaction.flow", "workflow pricing missing");
1131
+ const workflowPricingSummaries = await client.getWorkflowPricingSummaries(["policy.transaction.flow", "trust.flow"], true);
1132
+ assert.strictEqual(workflowPricingSummaries.workflow_count, 2, "workflow pricing summaries missing");
1133
+ assert.strictEqual(Array.isArray(workflowPricingSummaries.workflow_refs), true, "workflow pricing summary refs missing");
1134
+ const taskSchemaSummary = await client.getTaskSchemaSummary("trust.verify", true);
1135
+ assert.strictEqual(taskSchemaSummary.task_ref, "trust.verify", "task schema summary missing");
1136
+ const taskSchema = await client.getTaskSchema("trust.verify", true);
1137
+ assert.strictEqual(taskSchema.type, "object", "task schema missing");
1138
+ const taskSchemaSummaries = await client.getTaskSchemaSummaries(["trust.verify", "settlement.submit"], true);
1139
+ assert.strictEqual(taskSchemaSummaries.task_count, 2, "task schema summaries missing");
1140
+ assert.strictEqual(Array.isArray(taskSchemaSummaries.task_refs), true, "task schema summary refs missing");
1141
+ const workflowSchema = await client.getWorkflowSchema("policy.transaction.flow", true);
1142
+ assert.strictEqual(workflowSchema.task_count, 2, "workflow schema missing");
1143
+ const workflowSchemaSummary = await client.getWorkflowSchemaSummary("policy.transaction.flow", true);
1144
+ assert.strictEqual(workflowSchemaSummary.task_count, 2, "workflow schema summary missing");
1145
+ const workflowSchemas = await client.getWorkflowSchemas(["policy.transaction.flow", "trust.flow"], true);
1146
+ assert.strictEqual(workflowSchemas.workflow_count, 2, "workflow schemas missing");
1147
+ const workflowSchemaSummaries = await client.getWorkflowSchemaSummaries(["policy.transaction.flow", "trust.flow"], true);
1148
+ assert.strictEqual(workflowSchemaSummaries.workflow_count, 2, "workflow schema summaries missing");
1149
+ assert.strictEqual(Array.isArray(workflowSchemaSummaries.workflow_refs), true, "workflow schema summary refs missing");
1150
+ const taskTemplateSummary = await client.getTaskTemplateSummary("trust.verify", true);
1151
+ assert.strictEqual(taskTemplateSummary.task_ref, "trust.verify", "task template summary missing");
1152
+ const taskTemplate = await client.getTaskTemplate("trust.verify", true);
1153
+ assert.strictEqual(typeof taskTemplate, "object", "task template missing");
1154
+ const taskTemplateSummaries = await client.getTaskTemplateSummaries(["trust.verify", "settlement.submit"], true);
1155
+ assert.strictEqual(taskTemplateSummaries.task_count, 2, "task template summaries missing");
1156
+ assert.strictEqual(Array.isArray(taskTemplateSummaries.task_refs), true, "task template summary refs missing");
1157
+ const workflowTemplate = await client.getWorkflowTemplate("policy.transaction.flow", true);
1158
+ assert.strictEqual(workflowTemplate.task_count, 2, "workflow template missing");
1159
+ assert.strictEqual(Array.isArray(workflowTemplate.tasks), true, "workflow template tasks missing");
1160
+ const workflowTemplateSummary = await client.getWorkflowTemplateSummary("policy.transaction.flow", true);
1161
+ assert.strictEqual(workflowTemplateSummary.task_count, 2, "workflow template summary missing");
1162
+ const workflowTemplates = await client.getWorkflowTemplates(["policy.transaction.flow", "trust.flow"], true);
1163
+ assert.strictEqual(workflowTemplates.length, 2, "workflow templates missing");
1164
+ const workflowTemplateSummaries = await client.getWorkflowTemplateSummaries(["policy.transaction.flow", "trust.flow"], true);
1165
+ assert.strictEqual(workflowTemplateSummaries.workflow_count, 2, "workflow template summaries missing");
1166
+ assert.strictEqual(Array.isArray(workflowTemplateSummaries.workflow_refs), true, "workflow template summary refs missing");
1167
+ const taskBodyValidationSummary = await client.validateTaskBodySummary("trust.verify", { subject_id: "subject-valid" }, true);
1168
+ assert.strictEqual(taskBodyValidationSummary.ok, true, "task body validation summary missing");
1169
+ const taskSetValidationSummary = await client.validateTaskSetSummary([
1170
+ { task_ref: "trust.verify", body: { subject_id: "subject-valid" } },
1171
+ { task_ref: "settlement.submit", body: { intent_id: "intent-valid" } }
1172
+ ], true);
1173
+ assert.strictEqual(taskSetValidationSummary.ok, true, "task set validation summary missing");
1174
+ const taskSetValidationSummaries = await client.validateTaskSetSummaries([
1175
+ {
1176
+ task_set_id: "trust_validation_batch",
1177
+ tasks: [
1178
+ { task_ref: "trust.verify", body: { subject_id: "subject-valid-batch" } },
1179
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-valid-batch" } }
1180
+ ],
1181
+ options: {
1182
+ forceRefreshCatalog: true
1183
+ }
1184
+ },
1185
+ {
1186
+ task_set_id: "policy_validation_batch",
1187
+ tasks: [
1188
+ { task_ref: "policy.simulate", body: { policy: "policy-valid-batch" } },
1189
+ { task_ref: "settlement.submit", body: { intent_id: "intent-valid-batch" } }
1190
+ ],
1191
+ options: {
1192
+ forceRefreshCatalog: true
1193
+ }
1194
+ }
1195
+ ], { forceRefreshCatalog: true });
1196
+ assert.strictEqual(taskSetValidationSummaries.task_set_count, 2, "task set validation summaries missing");
1197
+ const workflowValidationSummary = await client.validateWorkflowTaskSetSummary("policy.transaction.flow", {
1198
+ "policy.simulate": { policy: "policy-valid" },
1199
+ "settlement.submit": { intent_id: "intent-valid" }
1200
+ }, { forceRefreshCatalog: true });
1201
+ assert.strictEqual(workflowValidationSummary.ok, true, "workflow task-set validation summary missing");
1202
+ const workflowValidationSummaries = await client.validateWorkflowTaskSetsSummaries([
1203
+ {
1204
+ workflow_ref: "policy.transaction.flow",
1205
+ task_bodies_by_ref: {
1206
+ "policy.simulate": { policy: "policy-valid-batch" },
1207
+ "settlement.submit": { intent_id: "intent-valid-batch" }
1208
+ },
1209
+ options: {
1210
+ forceRefreshCatalog: true
1211
+ }
1212
+ },
1213
+ {
1214
+ workflow_ref: "trust.flow",
1215
+ task_bodies_by_ref: {
1216
+ "trust.verify": { subject_id: "subject-valid-batch" },
1217
+ "receipt.validate": { receipt_id: "rcpt-valid-batch" }
1218
+ },
1219
+ options: {
1220
+ forceRefreshCatalog: true
1221
+ }
1222
+ }
1223
+ ], { forceRefreshCatalog: true });
1224
+ assert.strictEqual(workflowValidationSummaries.workflow_count, 2, "workflow task-set validation summaries missing");
1225
+ const ensuredWorkflowTaskSet = await client.ensureWorkflowTaskSetValid("policy.transaction.flow", {
1226
+ "policy.simulate": { policy: "policy-valid" },
1227
+ "settlement.submit": { intent_id: "intent-valid" }
1228
+ }, { forceRefreshCatalog: true });
1229
+ assert.strictEqual(ensuredWorkflowTaskSet.length, 2, "workflow task-set ensure missing");
1230
+ const ensuredWorkflowTaskSets = await client.ensureWorkflowTaskSetsValid([
1231
+ {
1232
+ workflow_ref: "policy.transaction.flow",
1233
+ task_bodies_by_ref: {
1234
+ "policy.simulate": { policy: "policy-valid-batch-ensure" },
1235
+ "settlement.submit": { intent_id: "intent-valid-batch-ensure" }
1236
+ }
1237
+ },
1238
+ {
1239
+ workflow_ref: "trust.flow",
1240
+ task_bodies_by_ref: {
1241
+ "trust.verify": { subject_id: "subject-valid-batch-ensure" },
1242
+ "receipt.validate": { receipt_id: "rcpt-valid-batch-ensure" }
1243
+ }
1244
+ }
1245
+ ], { forceRefreshCatalog: true });
1246
+ assert.strictEqual(ensuredWorkflowTaskSets.length, 2, "workflow task-set batch ensure missing");
1247
+ const ensuredTaskSets = await client.ensureTaskSetsValid([
1248
+ {
1249
+ task_set_id: "trust_validation_ensure_batch",
1250
+ tasks: [
1251
+ { task_ref: "trust.verify", body: { subject_id: "subject-valid-batch-ensure" } },
1252
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-valid-batch-ensure" } }
1253
+ ],
1254
+ options: {
1255
+ forceRefreshCatalog: true
1256
+ }
1257
+ },
1258
+ {
1259
+ task_set_id: "policy_validation_ensure_batch",
1260
+ tasks: [
1261
+ { task_ref: "policy.simulate", body: { policy: "policy-valid-batch-ensure" } },
1262
+ { task_ref: "settlement.submit", body: { intent_id: "intent-valid-batch-ensure" } }
1263
+ ],
1264
+ options: {
1265
+ forceRefreshCatalog: true
1266
+ }
1267
+ }
1268
+ ], { forceRefreshCatalog: true });
1269
+ assert.strictEqual(ensuredTaskSets.length, 2, "task-set batch ensure missing");
1270
+ const executionValidationSummary = await client.validateExecutionPayloadSummary({
1271
+ command: "quickstart-validate",
1272
+ task_ref: "trust.verify",
1273
+ body: { subject_id: "subject-valid" }
1274
+ }, true);
1275
+ assert.strictEqual(executionValidationSummary.ok, true, "execution validation summary missing");
1276
+ const workflowPreview = await client.previewWorkflowQuote("policy.transaction.flow", {
1277
+ "policy.simulate": { policy: "policy-preview" },
1278
+ "settlement.submit": { intent_id: "intent-preview" }
1279
+ }, {
1280
+ command: "quickstart-workflow-preview"
1281
+ });
1282
+ assert.strictEqual(client.summarizeQuotePreview(workflowPreview).quote.task_count, 2, "workflow preview missing");
1283
+ const workflowPreviewSummary = await client.previewWorkflowQuoteSummary("policy.transaction.flow", {
1284
+ "policy.simulate": { policy: "policy-preview" },
1285
+ "settlement.submit": { intent_id: "intent-preview" }
1286
+ }, {
1287
+ command: "quickstart-workflow-preview"
1288
+ });
1289
+ assert.strictEqual(workflowPreviewSummary.quote.task_count, 2, "workflow preview summary missing");
1290
+ const workflowPreviewSummaries = await client.previewWorkflowQuoteSummaries([
1291
+ {
1292
+ workflow_ref: "policy.transaction.flow",
1293
+ task_bodies_by_ref: {
1294
+ "policy.simulate": { policy: "policy-preview-batch" },
1295
+ "settlement.submit": { intent_id: "intent-preview-batch" }
1296
+ },
1297
+ options: {
1298
+ command: "quickstart-workflow-preview-batch-a"
1299
+ }
1300
+ },
1301
+ {
1302
+ workflow_ref: "trust.flow",
1303
+ task_bodies_by_ref: {
1304
+ "trust.verify": { subject_id: "subject-preview-batch" },
1305
+ "receipt.validate": { receipt_id: "rcpt-preview-batch" }
1306
+ },
1307
+ options: {
1308
+ command: "quickstart-workflow-preview-batch-b"
1309
+ }
1310
+ }
1311
+ ], {
1312
+ command: "quickstart-workflow-preview-batch"
1313
+ });
1314
+ assert.strictEqual(workflowPreviewSummaries.workflow_count, 2, "workflow preview summaries missing");
1315
+ const workflowPreviewBatch = await client.previewWorkflowQuotes([
1316
+ {
1317
+ workflow_ref: "policy.transaction.flow",
1318
+ task_bodies_by_ref: {
1319
+ "policy.simulate": { policy: "policy-preview-raw-batch" },
1320
+ "settlement.submit": { intent_id: "intent-preview-raw-batch" }
1321
+ },
1322
+ options: {
1323
+ command: "quickstart-workflow-preview-raw-batch-a"
1324
+ }
1325
+ },
1326
+ {
1327
+ workflow_ref: "trust.flow",
1328
+ task_bodies_by_ref: {
1329
+ "trust.verify": { subject_id: "subject-preview-raw-batch" },
1330
+ "receipt.validate": { receipt_id: "rcpt-preview-raw-batch" }
1331
+ },
1332
+ options: {
1333
+ command: "quickstart-workflow-preview-raw-batch-b"
1334
+ }
1335
+ }
1336
+ ]);
1337
+ assert.strictEqual(workflowPreviewBatch.length, 2, "workflow preview batch missing");
1338
+ assert.strictEqual(workflowPreviewBatch[0].preview.quote.task_count >= 1, true, "workflow preview batch preview missing");
1339
+ const taskSetPreview = await client.previewTaskSetQuote([
1340
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-preview" } },
1341
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-preview" } }
1342
+ ], {
1343
+ command: "quickstart-task-set-preview"
1344
+ });
1345
+ assert.strictEqual(client.summarizeQuotePreview(taskSetPreview).quote.task_count, 2, "task-set preview missing");
1346
+ const taskSetPreviewSummary = await client.previewTaskSetQuoteSummary([
1347
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-preview-summary" } },
1348
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-preview-summary" } }
1349
+ ], {
1350
+ command: "quickstart-task-set-preview-summary"
1351
+ });
1352
+ assert.strictEqual(taskSetPreviewSummary.quote.task_count, 2, "task-set preview summary missing");
1353
+ const taskSetPreviewSummaries = await client.previewTaskSetQuoteSummaries([
1354
+ {
1355
+ task_set_id: "policy_set_preview_batch",
1356
+ tasks: [
1357
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-preview-batch" } },
1358
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-preview-batch" } }
1359
+ ],
1360
+ options: {
1361
+ command: "quickstart-task-set-preview-batch"
1362
+ }
1363
+ },
1364
+ {
1365
+ task_set_id: "trust_set_preview_batch",
1366
+ tasks: [
1367
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-preview-batch" } },
1368
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-preview-batch" } }
1369
+ ],
1370
+ options: {
1371
+ command: "quickstart-task-set-preview-batch-trust"
1372
+ }
1373
+ }
1374
+ ]);
1375
+ assert.strictEqual(taskSetPreviewSummaries.task_set_count, 2, "task-set preview summaries missing");
1376
+ const taskSetPreviewBatch = await client.previewTaskSetQuotes([
1377
+ {
1378
+ task_set_id: "policy_set_preview_raw_batch",
1379
+ tasks: [
1380
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-preview-raw-batch" } },
1381
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-preview-raw-batch" } }
1382
+ ]
1383
+ },
1384
+ {
1385
+ task_set_id: "trust_set_preview_raw_batch",
1386
+ tasks: [
1387
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-preview-raw-batch" } },
1388
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-preview-raw-batch" } }
1389
+ ]
1390
+ }
1391
+ ]);
1392
+ assert.strictEqual(taskSetPreviewBatch.length, 2, "task-set preview batch missing");
1393
+ assert.strictEqual(taskSetPreviewBatch[0].preview.quote.task_count >= 1, true, "task-set preview batch preview missing");
1394
+ const workflowQuote = await client.createWorkflowQuote("policy.transaction.flow", {
1395
+ "policy.simulate": { policy: "policy-workflow-quote" },
1396
+ "settlement.submit": { intent_id: "intent-workflow-quote" }
1397
+ }, {
1398
+ command: "quickstart-workflow-quote"
1399
+ });
1400
+ assert.strictEqual(workflowQuote.quote.task_count, 2, "workflow quote missing");
1401
+ const workflowQuoteSummary = await client.createWorkflowQuoteSummary("policy.transaction.flow", {
1402
+ "policy.simulate": { policy: "policy-workflow-quote-summary" },
1403
+ "settlement.submit": { intent_id: "intent-workflow-quote-summary" }
1404
+ }, {
1405
+ command: "quickstart-workflow-quote-summary"
1406
+ });
1407
+ assert.strictEqual(workflowQuoteSummary.task_count, 2, "workflow quote summary missing");
1408
+ const workflowQuoteSummaries = await client.createWorkflowQuoteSummaries([
1409
+ {
1410
+ workflow_ref: "policy.transaction.flow",
1411
+ task_bodies_by_ref: {
1412
+ "policy.simulate": { policy: "policy-workflow-quote-batch" },
1413
+ "settlement.submit": { intent_id: "intent-workflow-quote-batch" }
1414
+ },
1415
+ options: {
1416
+ command: "quickstart-workflow-quote-batch-a"
1417
+ }
1418
+ },
1419
+ {
1420
+ workflow_ref: "trust.flow",
1421
+ task_bodies_by_ref: {
1422
+ "trust.verify": { subject_id: "subject-workflow-quote-batch" },
1423
+ "receipt.validate": { receipt_id: "rcpt-workflow-quote-batch" }
1424
+ },
1425
+ options: {
1426
+ command: "quickstart-workflow-quote-batch-b"
1427
+ }
1428
+ }
1429
+ ], {
1430
+ command: "quickstart-workflow-quote-batch"
1431
+ });
1432
+ assert.strictEqual(workflowQuoteSummaries.workflow_count, 2, "workflow quote summaries missing");
1433
+ const workflowQuoteBatch = await client.createWorkflowQuotes([
1434
+ {
1435
+ workflow_ref: "policy.transaction.flow",
1436
+ task_bodies_by_ref: {
1437
+ "policy.simulate": { policy: "policy-workflow-quote-raw-batch" },
1438
+ "settlement.submit": { intent_id: "intent-workflow-quote-raw-batch" }
1439
+ },
1440
+ options: {
1441
+ command: "quickstart-workflow-quote-raw-batch-a"
1442
+ }
1443
+ },
1444
+ {
1445
+ workflow_ref: "trust.flow",
1446
+ task_bodies_by_ref: {
1447
+ "trust.verify": { subject_id: "subject-workflow-quote-raw-batch" },
1448
+ "receipt.validate": { receipt_id: "rcpt-workflow-quote-raw-batch" }
1449
+ },
1450
+ options: {
1451
+ command: "quickstart-workflow-quote-raw-batch-b"
1452
+ }
1453
+ }
1454
+ ]);
1455
+ assert.strictEqual(workflowQuoteBatch.length, 2, "workflow quote batch missing");
1456
+ assert.strictEqual(workflowQuoteBatch[0].quote.quote.task_count >= 1, true, "workflow quote batch quote missing");
1457
+ const taskSetQuote = await client.createTaskSetQuote([
1458
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-quote" } },
1459
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-quote" } }
1460
+ ], {
1461
+ command: "quickstart-task-set-quote"
1462
+ });
1463
+ assert.strictEqual(taskSetQuote.quote.task_count, 2, "task-set quote missing");
1464
+ const taskSetQuoteSummary = await client.createTaskSetQuoteSummary([
1465
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-quote-summary" } },
1466
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-quote-summary" } }
1467
+ ], {
1468
+ command: "quickstart-task-set-quote-summary"
1469
+ });
1470
+ assert.strictEqual(taskSetQuoteSummary.task_count, 2, "task-set quote summary missing");
1471
+ const taskSetQuoteSummaries = await client.createTaskSetQuoteSummaries([
1472
+ {
1473
+ task_set_id: "policy_set_quote_batch",
1474
+ tasks: [
1475
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-quote-batch" } },
1476
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-quote-batch" } }
1477
+ ],
1478
+ options: {
1479
+ command: "quickstart-task-set-quote-batch"
1480
+ }
1481
+ },
1482
+ {
1483
+ task_set_id: "trust_set_quote_batch",
1484
+ tasks: [
1485
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-quote-batch" } },
1486
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-quote-batch" } }
1487
+ ],
1488
+ options: {
1489
+ command: "quickstart-task-set-quote-batch-trust"
1490
+ }
1491
+ }
1492
+ ]);
1493
+ assert.strictEqual(taskSetQuoteSummaries.task_set_count, 2, "task-set quote summaries missing");
1494
+ const taskSetQuoteBatch = await client.createTaskSetQuotes([
1495
+ {
1496
+ task_set_id: "policy_set_quote_raw_batch",
1497
+ tasks: [
1498
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-quote-raw-batch" } },
1499
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-quote-raw-batch" } }
1500
+ ]
1501
+ },
1502
+ {
1503
+ task_set_id: "trust_set_quote_raw_batch",
1504
+ tasks: [
1505
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-quote-raw-batch" } },
1506
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-quote-raw-batch" } }
1507
+ ]
1508
+ }
1509
+ ]);
1510
+ assert.strictEqual(taskSetQuoteBatch.length, 2, "task-set quote batch missing");
1511
+ assert.strictEqual(taskSetQuoteBatch[0].quote.quote.task_count >= 1, true, "task-set quote batch quote missing");
1512
+ const workflowExecutionSummary = await client.executeWorkflowSummary("policy.transaction.flow", {
1513
+ "policy.simulate": { policy: "policy-summary" },
1514
+ "settlement.submit": { intent_id: "intent-summary" }
1515
+ }, {
1516
+ command: "quickstart-workflow-summary"
1517
+ });
1518
+ assert.strictEqual(workflowExecutionSummary.transaction.task_count >= 1, true, "workflow execution summary missing");
1519
+ const workflowExecutionSummaries = await client.executeWorkflowSummaries([
1520
+ {
1521
+ workflow_ref: "policy.transaction.flow",
1522
+ task_bodies_by_ref: {
1523
+ "policy.simulate": { policy: "policy-summary-batch" },
1524
+ "settlement.submit": { intent_id: "intent-summary-batch" }
1525
+ },
1526
+ options: {
1527
+ command: "quickstart-workflow-summary-batch-a"
1528
+ }
1529
+ },
1530
+ {
1531
+ workflow_ref: "trust.flow",
1532
+ task_bodies_by_ref: {
1533
+ "trust.verify": { subject_id: "subject-summary-batch" },
1534
+ "receipt.validate": { receipt_id: "rcpt-summary-batch" }
1535
+ },
1536
+ options: {
1537
+ command: "quickstart-workflow-summary-batch-b"
1538
+ }
1539
+ }
1540
+ ], {
1541
+ command: "quickstart-workflow-summary-batch"
1542
+ });
1543
+ assert.strictEqual(workflowExecutionSummaries.workflow_count, 2, "workflow execution summaries missing");
1544
+
1545
+ const quote = await client.createExecutionQuote({
1546
+ command: "quickstart",
1547
+ task_ref: "trust.verify",
1548
+ body: { subject_id: "subject-1" }
1549
+ });
1550
+ assert.strictEqual(typeof quote.quote.quote_id, "string", "quote missing id");
1551
+ assert.strictEqual(quote.quote.payment.status, "quoted", "quote payment status missing");
1552
+ assert.strictEqual(typeof quote.quote.settlement.binding_hash, "string", "quote settlement binding hash missing");
1553
+ assert.strictEqual(quote.quote.treasury.status, "pending_payment", "quote treasury status missing");
1554
+ assert.strictEqual(typeof quote.quote.default_path.path_kind, "string", "quote default path kind missing");
1555
+ assert.strictEqual(typeof quote.quote.default_path.treasury_destination_id, "string", "quote default path treasury destination missing");
1556
+ const genericQuoteSummary = await client.createPaymentQuoteSummary({
1557
+ command: "quickstart-generic-quote-summary",
1558
+ task_ref: "trust.verify",
1559
+ body: { subject_id: "subject-generic-quote-summary" }
1560
+ });
1561
+ assert.strictEqual(genericQuoteSummary.task_count >= 1, true, "generic quote summary missing");
1562
+ const quoteSummary = await client.createExecutionQuoteSummary({
1563
+ command: "quickstart-summary-quote",
1564
+ task_ref: "trust.verify",
1565
+ body: { subject_id: "subject-quote-summary" }
1566
+ });
1567
+ assert.strictEqual(quoteSummary.task_count >= 1, true, "execution quote summary missing");
1568
+ const quoteDetail = await client.getPaymentQuote(quote.quote.quote_id);
1569
+ assert.strictEqual(quoteDetail.quote.status, "quoted", "quote detail missing");
1570
+ const nativePreview = await client.previewExecutionQuote({
1571
+ command: "quickstart-preview",
1572
+ task_ref: "trust.verify",
1573
+ body: { subject_id: "subject-preview-1" }
1574
+ });
1575
+ assert.strictEqual(client.summarizeQuotePreview(nativePreview).quote.task_count >= 1, true, "native preview missing");
1576
+ const nativePreviewSummary = await client.previewExecutionQuoteSummary({
1577
+ command: "quickstart-preview",
1578
+ task_ref: "trust.verify",
1579
+ body: { subject_id: "subject-preview-1" }
1580
+ });
1581
+ assert.strictEqual(nativePreviewSummary.quote.task_count >= 1, true, "native preview summary missing");
1582
+ const executionSummary = await client.executeSummary({
1583
+ command: "quickstart-summary",
1584
+ task_ref: "trust.verify",
1585
+ body: { subject_id: "subject-summary" }
1586
+ });
1587
+ assert.strictEqual(executionSummary.transaction.transaction_id !== null, true, "execution summary missing");
1588
+ const settledExecutionSummary = await client.executeAndWaitSummary({
1589
+ command: "quickstart-summary-wait",
1590
+ task_ref: "trust.verify",
1591
+ body: { subject_id: "subject-summary-wait" }
1592
+ }, {
1593
+ defer_completion: true,
1594
+ timeoutMs: 5000,
1595
+ pollIntervalMs: 100
1596
+ });
1597
+ assert.strictEqual(settledExecutionSummary.delivery_status, "delivered", "execution wait summary missing");
1598
+ const settledExecutionActivitySummary = await client.executeAndWaitActivitySummary({
1599
+ command: "quickstart-summary-wait-activity",
1600
+ task_ref: "settlement.submit",
1601
+ body: { intent_id: "intent-quickstart-summary-wait-activity" },
1602
+ defer_completion: true
1603
+ }, {
1604
+ timeoutMs: 5000,
1605
+ pollIntervalMs: 100
1606
+ });
1607
+ assert.strictEqual(settledExecutionActivitySummary.delivery_count >= 1, true, "execution wait activity summary missing");
1608
+ const settledExecutionMonitorSnapshot = await client.executeAndWaitMonitorSnapshot({
1609
+ command: "quickstart-summary-wait-monitor-snapshot",
1610
+ task_ref: "settlement.submit",
1611
+ body: { intent_id: "intent-quickstart-summary-wait-monitor-snapshot" },
1612
+ defer_completion: true
1613
+ }, {
1614
+ timeoutMs: 5000,
1615
+ pollIntervalMs: 100
1616
+ });
1617
+ assert.strictEqual(settledExecutionMonitorSnapshot.transaction.status, "completed", "execution wait monitor snapshot missing");
1618
+ const settledExecutionMonitorSummary = await client.executeAndWaitMonitorSummary({
1619
+ command: "quickstart-summary-wait-monitor",
1620
+ task_ref: "settlement.submit",
1621
+ body: { intent_id: "intent-quickstart-summary-wait-monitor" },
1622
+ defer_completion: true
1623
+ }, {
1624
+ timeoutMs: 5000,
1625
+ pollIntervalMs: 100
1626
+ });
1627
+ assert.strictEqual(settledExecutionMonitorSummary.status, "completed", "execution wait monitor summary missing");
1628
+ const settledExecutionLinkedSummary = await client.executeAndWaitLinkedRecordSummary({
1629
+ command: "quickstart-summary-wait-linked",
1630
+ task_ref: "settlement.submit",
1631
+ body: { intent_id: "intent-quickstart-summary-wait-linked" },
1632
+ defer_completion: true
1633
+ }, {
1634
+ timeoutMs: 5000,
1635
+ pollIntervalMs: 100
1636
+ });
1637
+ assert.strictEqual(settledExecutionLinkedSummary.delivery_count >= 1, true, "execution wait linked summary missing");
1638
+ const settledExecutionLinkedActivitySummary = await client.executeAndWaitLinkedRecordActivitySummary({
1639
+ command: "quickstart-summary-wait-linked-activity",
1640
+ task_ref: "settlement.submit",
1641
+ body: { intent_id: "intent-quickstart-summary-wait-linked-activity" },
1642
+ defer_completion: true
1643
+ }, {
1644
+ timeoutMs: 5000,
1645
+ pollIntervalMs: 100
1646
+ });
1647
+ assert.strictEqual(settledExecutionLinkedActivitySummary.transaction_count >= 1, true, "execution wait linked activity summary missing");
1648
+ const settledNativeExecutionSummary = await client.executeNativeAndWaitSummary({
1649
+ command: "quickstart-native-summary-wait",
1650
+ task_ref: "trust.verify",
1651
+ body: { subject_id: "subject-native-summary-wait" },
1652
+ defer_completion: true
1653
+ }, {
1654
+ timeoutMs: 5000,
1655
+ pollIntervalMs: 100
1656
+ });
1657
+ assert.strictEqual(settledNativeExecutionSummary.delivery_status, "delivered", "native execution wait summary missing");
1658
+ const settledNativeExecutionActivitySummary = await client.executeNativeAndWaitActivitySummary({
1659
+ command: "quickstart-native-summary-wait-activity",
1660
+ task_ref: "settlement.submit",
1661
+ body: { intent_id: "intent-quickstart-native-wait-activity" },
1662
+ defer_completion: true
1663
+ }, {
1664
+ timeoutMs: 5000,
1665
+ pollIntervalMs: 100
1666
+ });
1667
+ assert.strictEqual(settledNativeExecutionActivitySummary.delivery_count >= 1, true, "native execution wait activity summary missing");
1668
+ const settledNativeExecutionMonitorSnapshot = await client.executeNativeAndWaitMonitorSnapshot({
1669
+ command: "quickstart-native-summary-wait-monitor-snapshot",
1670
+ task_ref: "settlement.submit",
1671
+ body: { intent_id: "intent-quickstart-native-wait-monitor-snapshot" },
1672
+ defer_completion: true
1673
+ }, {
1674
+ timeoutMs: 5000,
1675
+ pollIntervalMs: 100
1676
+ });
1677
+ assert.strictEqual(settledNativeExecutionMonitorSnapshot.transaction.status, "completed", "native execution wait monitor snapshot missing");
1678
+ const settledNativeExecutionMonitorSummary = await client.executeNativeAndWaitMonitorSummary({
1679
+ command: "quickstart-native-summary-wait-monitor",
1680
+ task_ref: "settlement.submit",
1681
+ body: { intent_id: "intent-quickstart-native-wait-monitor" },
1682
+ defer_completion: true
1683
+ }, {
1684
+ timeoutMs: 5000,
1685
+ pollIntervalMs: 100
1686
+ });
1687
+ assert.strictEqual(settledNativeExecutionMonitorSummary.status, "completed", "native execution wait monitor summary missing");
1688
+ const settledNativeExecutionLinkedSummary = await client.executeNativeAndWaitLinkedRecordSummary({
1689
+ command: "quickstart-native-summary-wait-linked",
1690
+ task_ref: "settlement.submit",
1691
+ body: { intent_id: "intent-quickstart-native-wait-linked" },
1692
+ defer_completion: true
1693
+ }, {
1694
+ timeoutMs: 5000,
1695
+ pollIntervalMs: 100
1696
+ });
1697
+ assert.strictEqual(settledNativeExecutionLinkedSummary.delivery_count >= 1, true, "native execution wait linked summary missing");
1698
+ const settledNativeExecutionLinkedActivitySummary = await client.executeNativeAndWaitLinkedRecordActivitySummary({
1699
+ command: "quickstart-native-summary-wait-linked-activity",
1700
+ task_ref: "settlement.submit",
1701
+ body: { intent_id: "intent-quickstart-native-wait-linked-activity" },
1702
+ defer_completion: true
1703
+ }, {
1704
+ timeoutMs: 5000,
1705
+ pollIntervalMs: 100
1706
+ });
1707
+ assert.strictEqual(settledNativeExecutionLinkedActivitySummary.transaction_count >= 1, true, "native execution wait linked activity summary missing");
1708
+ const instantPreview = await client.previewExecutionQuote({
1709
+ command: "quickstart-preview-instant",
1710
+ task_ref: "trust.verify",
1711
+ body: { subject_id: "subject-preview-2" }
1712
+ }, {
1713
+ instant: true
1714
+ });
1715
+ assert.strictEqual(client.summarizeQuotePreview(instantPreview).payment_required, true, "instant preview missing");
1716
+ const instantPreviewSummary = await client.previewExecutionQuoteSummary({
1717
+ command: "quickstart-preview-instant",
1718
+ task_ref: "trust.verify",
1719
+ body: { subject_id: "subject-preview-2" }
1720
+ }, {
1721
+ instant: true
1722
+ });
1723
+ assert.strictEqual(instantPreviewSummary.payment_required, true, "instant preview summary missing");
1724
+
1725
+ const result = await client.execute({
1726
+ command: "quickstart",
1727
+ task_ref: "trust.verify",
1728
+ body: { subject_id: "subject-1" }
1729
+ });
1730
+ assert.strictEqual(typeof result.transaction.transaction_id, "string", "transaction missing");
1731
+ assert.strictEqual(typeof result.receipt.receipt_id, "string", "receipt missing");
1732
+ assert.strictEqual(result.transaction.payment.status, "recorded", "transaction payment status missing");
1733
+ assert.strictEqual(typeof result.transaction.settlement.settlement_id, "string", "transaction settlement id missing");
1734
+ assert.strictEqual(typeof result.transaction.treasury.destination_id, "string", "transaction treasury destination missing");
1735
+ assert.strictEqual(result.transaction.default_path.status, "recorded", "transaction default path status missing");
1736
+ assert.strictEqual(result.receipt.payment.payment_id, result.transaction.payment.payment_id, "receipt payment linkage missing");
1737
+ assert.strictEqual(result.receipt.settlement.settlement_id, result.transaction.settlement.settlement_id, "receipt settlement linkage missing");
1738
+ assert.strictEqual(result.receipt.treasury.payment_id, result.transaction.payment.payment_id, "receipt treasury linkage missing");
1739
+ assert.strictEqual(result.receipt.default_path.path_kind, result.transaction.default_path.path_kind, "receipt default path linkage missing");
1740
+ const creditPackSummary = await client.getCreditPackSummary();
1741
+ assert.strictEqual(creditPackSummary.credit_pack_ids.includes("credits.agent"), true, "credit pack summary missing agent pack");
1742
+ const creditGrant = await client.createExternalCreditGrant({
1743
+ grant_id: "quickstart_credit_grant_1",
1744
+ account_id: "acct_demo",
1745
+ pack_id: "credits.agent"
1746
+ });
1747
+ assert.strictEqual(creditGrant.grant_id, "quickstart_credit_grant_1", "credit grant missing");
1748
+ assert.strictEqual(typeof creditGrant.entitlement.entitlement_id, "string", "credit grant entitlement missing");
1749
+ const creditBalance = await client.getCreditBalance("acct_demo");
1750
+ assert.strictEqual(creditBalance.available_units >= 1, true, "credit balance missing");
1751
+ assert.strictEqual(creditBalance.entitlement_summary.entitlement_count >= 1, true, "credit balance entitlement summary missing");
1752
+ const usageMeterPreview = await client.previewUsageMetering({
1753
+ account_id: "acct_demo",
1754
+ task_ref: "trust.verify"
1755
+ });
1756
+ assert.strictEqual(usageMeterPreview.pricing_band, "trust_critical", "usage meter preview pricing band missing");
1757
+ const usageMeteringSummaryInitial = await client.getUsageMeteringSummary("acct_demo");
1758
+ assert.strictEqual(usageMeteringSummaryInitial.usage_meter_count, 0, "usage meter summary should start empty");
1759
+ const entitlementSummary = await client.getEntitlementSummary("acct_demo");
1760
+ assert.strictEqual(entitlementSummary.entitlement_count >= 1, true, "entitlement summary missing");
1761
+ const entitlements = await client.listEntitlements("acct_demo");
1762
+ assert.strictEqual(entitlements.entitlements.length >= 1, true, "entitlement list missing");
1763
+ const entitlementDetail = await client.getEntitlement(creditGrant.entitlement.entitlement_id, "acct_demo");
1764
+ assert.strictEqual(entitlementDetail.entitlement_id, creditGrant.entitlement.entitlement_id, "entitlement detail missing");
1765
+ const entitlementReplenishmentSummary = await client.getEntitlementReplenishmentSummary("acct_demo");
1766
+ assert.strictEqual(entitlementReplenishmentSummary.entitlement_count >= 1, true, "entitlement replenishment summary missing");
1767
+ const entitlementReplenishmentView = await client.getEntitlementReplenishmentView(creditGrant.entitlement.entitlement_id, "acct_demo");
1768
+ assert.strictEqual(typeof entitlementReplenishmentView.low_balance_state, "string", "entitlement replenishment view missing");
1769
+ const updatedReplenishmentPreference = await client.updateEntitlementReplenishmentPreference(
1770
+ creditGrant.entitlement.entitlement_id,
1771
+ {
1772
+ low_balance_threshold_units: 100,
1773
+ preferred_replacement_pack_id: "credits.topup"
1774
+ },
1775
+ "acct_demo"
1776
+ );
1777
+ assert.strictEqual(updatedReplenishmentPreference.replenishment_view.recommended_replenishment_pack_id, "credits.topup", "entitlement replenishment preference missing");
1778
+ const creditPolicyPack = await client.getCreditSpendPolicyPack("acct_demo");
1779
+ assert.strictEqual(creditPolicyPack.default_spend_posture, "open_spend", "credit policy pack default posture missing");
1780
+ const creditPreview = await client.previewCreditSpend({
1781
+ account_id: "acct_demo",
1782
+ task_ref: "trust.verify",
1783
+ units: 1
1784
+ });
1785
+ assert.strictEqual(creditPreview.spend_posture, "open_spend", "credit preview spend posture missing");
1786
+ assert.strictEqual(creditPreview.credit_spend_preview.executable_now, true, "credit preview should be executable");
1787
+ const creditFirstResult = await client.executeWithCreditsFirst({
1788
+ command: "quickstart-credits-first",
1789
+ account_id: "acct_demo",
1790
+ task_ref: "trust.verify",
1791
+ body: { subject_id: "subject-credits-1" }
1792
+ });
1793
+ assert.strictEqual(creditFirstResult.transaction.credit_spend.units >= 1, true, "credits-first spend linkage missing");
1794
+ assert.strictEqual(typeof creditFirstResult.transaction.credit_spend.usage_meter_id, "string", "credits-first usage meter missing");
1795
+ const spendCredential = await client.createSpendCredential({
1796
+ credential_id: "quickstart_spend_credential_1",
1797
+ account_id: "acct_demo"
1798
+ });
1799
+ assert.strictEqual(spendCredential.credential_id, "quickstart_spend_credential_1", "spend credential create missing");
1800
+ const delegatedCreditResult = await client.executeWithSpendCredential({
1801
+ payment_preference: "credits_first",
1802
+ task_ref: "trust.verify",
1803
+ body: { subject_id: "subject-credits-2" }
1804
+ }, {
1805
+ spendToken: spendCredential.bearer_token
1806
+ });
1807
+ assert.strictEqual(delegatedCreditResult.transaction.credit_spend.units >= 1, true, "delegated spend execution missing");
1808
+ const poolBoundSpendCredential = await client.createSpendCredential({
1809
+ credential_id: "quickstart_spend_credential_pool_1",
1810
+ account_id: "acct_demo",
1811
+ entitlement_id: creditGrant.entitlement.entitlement_id
1812
+ });
1813
+ assert.strictEqual(poolBoundSpendCredential.effective_pool_binding_mode, "entitlement_bound", "pool-bound spend credential mode missing");
1814
+ const poolBoundDelegatedResult = await client.executeWithSpendCredential({
1815
+ payment_preference: "credits_first",
1816
+ task_ref: "trust.verify",
1817
+ body: { subject_id: "subject-credits-3" }
1818
+ }, {
1819
+ spendToken: poolBoundSpendCredential.bearer_token
1820
+ });
1821
+ assert.strictEqual(poolBoundDelegatedResult.transaction.credit_spend.entitlement_id, creditGrant.entitlement.entitlement_id, "pool-bound delegated entitlement missing");
1822
+ const usageMeters = await client.listUsageMeters("acct_demo");
1823
+ assert.strictEqual(usageMeters.usage_meters.length >= 3, true, "usage meter list missing");
1824
+ const usageMeterDetail = await client.getUsageMeter(creditFirstResult.transaction.credit_spend.usage_meter_id, "acct_demo");
1825
+ assert.strictEqual(usageMeterDetail.usage_meter_id, creditFirstResult.transaction.credit_spend.usage_meter_id, "usage meter detail missing");
1826
+ const usageMeteringSummary = await client.getUsageMeteringSummary("acct_demo");
1827
+ assert.strictEqual(usageMeteringSummary.usage_meter_count >= 3, true, "usage meter summary missing");
1828
+ const economicConsequenceHandoffBundle = await client.exportEconomicConsequenceHandoffBundle({
1829
+ account_id: "acct_demo",
1830
+ usage_meter_id: creditFirstResult.transaction.credit_spend.usage_meter_id,
1831
+ credit_spend_id: creditFirstResult.transaction.credit_spend.credit_spend_id
1832
+ });
1833
+ assert.strictEqual(economicConsequenceHandoffBundle.handoff_bundle.contract_version, "naxytra-economic-consequence-handoff-v1", "economic consequence handoff bundle version missing");
1834
+ const creditGrantForResultExport = await client.createExternalCreditGrant({
1835
+ grant_id: "quickstart_credit_grant_export_1",
1836
+ account_id: "acct_demo",
1837
+ pack_id: "credits.topup",
1838
+ purchase_reference: "purchase-export-topup-1"
1839
+ });
1840
+ assert.strictEqual(creditGrantForResultExport.pack_id, "credits.topup", "credit grant export topup pack missing");
1841
+ const creditFirstResultPackageExport = await client.exportInteractionResultPackage("result.spine.job.commitment", {
1842
+ payment_preference: "credits_first",
1843
+ account_id: "acct_demo",
1844
+ quoted_units: 2,
1845
+ job_type: "batch.render",
1846
+ job_id: "job-quickstart-credit-export-1",
1847
+ source_zone_id: "zone.alpha",
1848
+ target_zone_id: "zone.beta",
1849
+ interaction_class: "cross_zone_job"
1850
+ }, {
1851
+ command: "quickstart-result-package-export-credit-first"
1852
+ });
1853
+ assert.strictEqual(
1854
+ creditFirstResultPackageExport.economic_consequence_handoff_bundle.contract_version,
1855
+ "naxytra-economic-consequence-handoff-v1",
1856
+ "credit-first result package export should auto-carry the economic consequence bundle"
1857
+ );
1858
+ assert.strictEqual(
1859
+ creditFirstResultPackageExport.portable_handoff_bundle.economic_consequence_handoff_bundle.usage_meter_ref,
1860
+ creditFirstResultPackageExport.economic_consequence_handoff_bundle.usage_meter_ref,
1861
+ "portable handoff bundle economic carry missing"
1862
+ );
1863
+ const linkedResultSet = await client.getLinkedRecordSet(result);
1864
+ assert.strictEqual(linkedResultSet.quote.quote_id, result.transaction.quote_id, "linked quote missing");
1865
+ assert.strictEqual(linkedResultSet.payment_ledger.length >= 1, true, "linked payment ledger missing");
1866
+ assert.strictEqual(linkedResultSet.deliveries.length >= 1, true, "linked deliveries missing");
1867
+ const linkedActivity = await client.getLinkedRecordActivitySnapshot(result);
1868
+ const linkedActivitySummary = client.summarizeLinkedRecordActivitySnapshot(linkedActivity);
1869
+ assert.strictEqual(linkedActivitySummary.quote_count >= 1, true, "linked activity snapshot missing");
1870
+ assert.strictEqual(typeof linkedActivitySummary.refs.quote_id, "string", "linked activity refs missing");
1871
+ const linkedActivitySummaryDirect = await client.getLinkedRecordActivitySummary(result);
1872
+ assert.strictEqual(linkedActivitySummaryDirect.quote_count >= 1, true, "linked activity summary helper missing");
1873
+ const linkedSummaryFromResult = await client.getLinkedRecordSummary(result);
1874
+ assert.strictEqual(linkedSummaryFromResult.delivery_count >= 1, true, "linked record summary helper missing");
1875
+ const linkedResultSummary = client.summarizeLinkedRecordSet(linkedResultSet);
1876
+ assert.strictEqual(linkedResultSummary.delivery_count >= 1, true, "linked record summary missing");
1877
+ const executedQuote = await client.getPaymentQuote(result.transaction.quote_id);
1878
+ assert.strictEqual(executedQuote.quote.status, "executed", "executed quote detail missing");
1879
+ assert.strictEqual(executedQuote.quote.payment.status, "recorded", "executed quote payment status missing");
1880
+ assert.strictEqual(executedQuote.quote.settlement.status, "recorded", "executed quote settlement status missing");
1881
+ assert.strictEqual(executedQuote.quote.treasury.status, "recorded", "executed quote treasury status missing");
1882
+ assert.strictEqual(executedQuote.quote.default_path.status, "recorded", "executed quote default path status missing");
1883
+ const executedQuoteSummary = await client.getPaymentQuoteSummary(result.transaction.quote_id);
1884
+ assert.strictEqual(executedQuoteSummary.status, "executed", "executed quote summary missing");
1885
+ const quoteSummaries = await client.listPaymentQuoteSummaries({ transaction_id: result.transaction.transaction_id });
1886
+ assert.strictEqual(quoteSummaries.quote_count >= 1, true, "quote summaries missing");
1887
+ assert.strictEqual(Array.isArray(quoteSummaries.quote_ids), true, "quote summary ids missing");
1888
+ const quoteIds = await client.listPaymentQuoteIds({ transaction_id: result.transaction.transaction_id });
1889
+ assert.strictEqual(quoteIds.length >= 1, true, "quote id list missing");
1890
+ const quoteStatuses = await client.listPaymentQuoteStatuses({ transaction_id: result.transaction.transaction_id });
1891
+ assert.strictEqual(quoteStatuses.length >= 1, true, "quote status list missing");
1892
+ const quoteStatusSummaries = await client.getPaymentQuoteStatusSummaries({ transaction_id: result.transaction.transaction_id });
1893
+ assert.strictEqual(quoteStatusSummaries.status_count >= 1, true, "quote status summaries missing");
1894
+ const quoteCurrencies = await client.listPaymentQuoteCurrencies({ transaction_id: result.transaction.transaction_id });
1895
+ const filteredQuotesByCurrency = await client.listPaymentQuotes({ transaction_id: result.transaction.transaction_id, currency: quoteCurrencies[0] });
1896
+ assert.strictEqual(Array.isArray(filteredQuotesByCurrency.quotes), true, "quote currency filter missing");
1897
+ const transactions = await client.listTransactions({ status: "completed", account_id: "acct_demo" });
1898
+ assert.strictEqual(Array.isArray(transactions.transactions), true, "transaction list missing");
1899
+ const transactionSummary = await client.getTransactionSummary(result.transaction.transaction_id);
1900
+ assert.strictEqual(transactionSummary.transaction_id, result.transaction.transaction_id, "transaction summary helper missing");
1901
+ const transactionSummaries = await client.listTransactionSummaries({ transaction_id: result.transaction.transaction_id });
1902
+ assert.strictEqual(transactionSummaries.transaction_count >= 1, true, "transaction summaries missing");
1903
+ assert.strictEqual(Array.isArray(transactionSummaries.transaction_ids), true, "transaction summary ids missing");
1904
+ const transactionIds = await client.listTransactionIds({ transaction_id: result.transaction.transaction_id });
1905
+ assert.strictEqual(transactionIds.length >= 1, true, "transaction id list missing");
1906
+ const transactionStatuses = await client.listTransactionStatuses({ transaction_id: result.transaction.transaction_id });
1907
+ assert.strictEqual(transactionStatuses.length >= 1, true, "transaction status list missing");
1908
+ const transactionStatusSummaries = await client.getTransactionStatusSummaries({ transaction_id: result.transaction.transaction_id });
1909
+ assert.strictEqual(transactionStatusSummaries.status_count >= 1, true, "transaction status summaries missing");
1910
+ const transactionCurrencies = await client.listTransactionCurrencies({ transaction_id: result.transaction.transaction_id });
1911
+ const filteredTransactionsByCurrency = await client.listTransactions({ transaction_id: result.transaction.transaction_id, currency: transactionCurrencies[0] });
1912
+ assert.strictEqual(Array.isArray(filteredTransactionsByCurrency.transactions), true, "transaction currency filter missing");
1913
+ const receipts = await client.listReceipts({ status: "completed", transaction_id: result.transaction.transaction_id });
1914
+ assert.strictEqual(Array.isArray(receipts.receipts), true, "receipt list missing");
1915
+ const receiptSummary = await client.getReceiptSummary(result.receipt.receipt_id);
1916
+ assert.strictEqual(receiptSummary.receipt_id, result.receipt.receipt_id, "receipt summary helper missing");
1917
+ const receiptSummaries = await client.listReceiptSummaries({ status: "completed", transaction_id: result.transaction.transaction_id });
1918
+ assert.strictEqual(receiptSummaries.receipt_count >= 1, true, "receipt summaries missing");
1919
+ assert.strictEqual(Array.isArray(receiptSummaries.receipt_ids), true, "receipt summary ids missing");
1920
+ const receiptIds = await client.listReceiptIds({ transaction_id: result.transaction.transaction_id });
1921
+ assert.strictEqual(receiptIds.length >= 1, true, "receipt id list missing");
1922
+ const receiptStatuses = await client.listReceiptStatuses({ transaction_id: result.transaction.transaction_id });
1923
+ assert.strictEqual(receiptStatuses.length >= 1, true, "receipt status list missing");
1924
+ const receiptCurrencies = await client.listReceiptCurrencies({ transaction_id: result.transaction.transaction_id });
1925
+ const filteredReceiptsByCurrency = await client.listReceipts({ transaction_id: result.transaction.transaction_id, currency: receiptCurrencies[0] });
1926
+ assert.strictEqual(Array.isArray(filteredReceiptsByCurrency.receipts), true, "receipt currency filter missing");
1927
+ const paymentLedger = await client.listPaymentLedger({ transaction_id: result.transaction.transaction_id });
1928
+ assert.strictEqual(Array.isArray(paymentLedger.payment_ledger), true, "payment ledger missing");
1929
+ const paymentEntry = await client.getPaymentLedgerEntry(paymentLedger.payment_ledger[0].payment_id);
1930
+ assert.strictEqual(paymentEntry.payment.transaction_id, result.transaction.transaction_id, "payment ledger detail missing");
1931
+ assert.strictEqual(paymentEntry.payment.payment.status, "recorded", "payment ledger payment object missing");
1932
+ assert.strictEqual(typeof paymentEntry.payment.settlement.settlement_id, "string", "payment ledger settlement object missing");
1933
+ assert.strictEqual(typeof paymentEntry.payment.treasury.destination_id, "string", "payment ledger treasury object missing");
1934
+ assert.strictEqual(paymentEntry.payment.default_path.status, "recorded", "payment ledger default path status missing");
1935
+ const paymentSummary = client.summarizePaymentLedgerEntry(paymentEntry);
1936
+ assert.strictEqual(paymentSummary.payment_id, paymentEntry.payment.payment_id, "payment summary missing");
1937
+ const paymentSummaryDirect = await client.getPaymentLedgerEntrySummary(paymentEntry.payment.payment_id);
1938
+ assert.strictEqual(paymentSummaryDirect.payment_id, paymentEntry.payment.payment_id, "payment summary helper missing");
1939
+ const paymentSummaries = await client.listPaymentLedgerSummaries({ transaction_id: result.transaction.transaction_id });
1940
+ assert.strictEqual(paymentSummaries.payment_ledger_count >= 1, true, "payment summaries missing");
1941
+ assert.strictEqual(Array.isArray(paymentSummaries.payment_ids), true, "payment summary ids missing");
1942
+ const paymentIds = await client.listPaymentIds({ transaction_id: result.transaction.transaction_id });
1943
+ assert.strictEqual(paymentIds.length >= 1, true, "payment id list missing");
1944
+ const paymentCurrencies = await client.listPaymentCurrencies({ transaction_id: result.transaction.transaction_id });
1945
+ assert.strictEqual(paymentCurrencies.length >= 1, true, "payment currency list missing");
1946
+ const deliveries = await client.listDeliveries({ transaction_id: result.transaction.transaction_id });
1947
+ assert.strictEqual(Array.isArray(deliveries.deliveries), true, "delivery list missing");
1948
+ const delivery = await client.getDelivery(deliveries.deliveries[0].delivery_id);
1949
+ assert.strictEqual(delivery.delivery.transaction_id, result.transaction.transaction_id, "delivery detail missing");
1950
+ assert.strictEqual(Array.isArray(delivery.delivery.history), true, "delivery history missing");
1951
+ const deliverySummary = client.summarizeDelivery(delivery);
1952
+ assert.strictEqual(deliverySummary.transaction_id, result.transaction.transaction_id, "delivery summary missing");
1953
+ const deliverySummaryDirect = await client.getDeliverySummary(delivery.delivery.delivery_id);
1954
+ assert.strictEqual(deliverySummaryDirect.delivery_id, delivery.delivery.delivery_id, "delivery summary helper missing");
1955
+ const deliverySummaries = await client.listDeliverySummaries({ transaction_id: result.transaction.transaction_id });
1956
+ assert.strictEqual(deliverySummaries.delivery_count >= 1, true, "delivery summaries missing");
1957
+ assert.strictEqual(Array.isArray(deliverySummaries.delivery_ids), true, "delivery summary ids missing");
1958
+ const deliveryIds = await client.listDeliveryIds({ transaction_id: result.transaction.transaction_id });
1959
+ assert.strictEqual(deliveryIds.length >= 1, true, "delivery id list missing");
1960
+ const deliveryStatuses = await client.listDeliveryStatuses({ transaction_id: result.transaction.transaction_id });
1961
+ assert.strictEqual(deliveryStatuses.length >= 1, true, "delivery status list missing");
1962
+ const filteredDeliveriesByTarget = await client.listDeliveries({ transaction_id: result.transaction.transaction_id, delivery_target_kind: "callback" });
1963
+ assert.strictEqual(Array.isArray(filteredDeliveriesByTarget.deliveries), true, "delivery target filter missing");
1964
+ const disputeSummary = await client.createDisputeSummary({
1965
+ transaction_id: result.transaction.transaction_id,
1966
+ receipt_id: result.receipt.receipt_id,
1967
+ title: "Delivery mismatch",
1968
+ reason_code: "delivery_mismatch",
1969
+ note: "Need review"
1970
+ });
1971
+ assert.strictEqual(typeof disputeSummary.dispute_id, "string", "dispute summary missing id");
1972
+ const reviewedDisputeSummary = await client.actOnDisputeSummary(disputeSummary.dispute_id, {
1973
+ action: "review",
1974
+ actor: { type: "operator", role: "reviewer" }
1975
+ });
1976
+ assert.strictEqual(reviewedDisputeSummary.status, "under_review", "dispute action summary missing");
1977
+ const resolvedDispute = await client.actOnDispute(disputeSummary.dispute_id, {
1978
+ action: "resolve",
1979
+ resolution_code: "validated"
1980
+ });
1981
+ assert.strictEqual(resolvedDispute.dispute.status, "resolved", "dispute resolution missing");
1982
+ const disputeActivity = await client.getDisputeActivitySnapshot(disputeSummary.dispute_id);
1983
+ const disputeActivitySummary = client.summarizeActivitySnapshot(disputeActivity);
1984
+ assert.strictEqual(disputeActivitySummary.dispute_count >= 1, true, "dispute activity snapshot missing");
1985
+ const disputeActivitySummaryDirect = await client.getDisputeActivitySummary(disputeSummary.dispute_id);
1986
+ assert.strictEqual(disputeActivitySummaryDirect.dispute_count >= 1, true, "dispute activity summary helper missing");
1987
+ const disputeSummaryDirect = await client.getDisputeSummary(disputeSummary.dispute_id);
1988
+ assert.strictEqual(disputeSummaryDirect.dispute_id, disputeSummary.dispute_id, "dispute summary helper missing");
1989
+ const disputeList = await client.listDisputes({ transaction_id: result.transaction.transaction_id, status: "under_review" });
1990
+ assert.strictEqual(Array.isArray(disputeList.disputes), true, "dispute list missing");
1991
+ const disputeSummaries = await client.listDisputeSummaries({ transaction_id: result.transaction.transaction_id });
1992
+ assert.strictEqual(disputeSummaries.dispute_count >= 1, true, "dispute summaries missing");
1993
+ assert.strictEqual(Array.isArray(disputeSummaries.dispute_ids), true, "dispute summary ids missing");
1994
+ const disputeIds = await client.listDisputeIds({ transaction_id: result.transaction.transaction_id });
1995
+ assert.strictEqual(disputeIds.length >= 1, true, "dispute id list missing");
1996
+ const disputeReasonCodes = await client.listDisputeReasonCodes({ transaction_id: result.transaction.transaction_id });
1997
+ assert.strictEqual(disputeReasonCodes.length >= 1, true, "dispute reason code list missing");
1998
+ const filteredDisputesByTitle = await client.listDisputes({ transaction_id: result.transaction.transaction_id, title: "Delivery mismatch" });
1999
+ assert.strictEqual(Array.isArray(filteredDisputesByTitle.disputes), true, "dispute title filter missing");
2000
+ const settledDispute = await client.waitForDispute(disputeSummary.dispute_id, {
2001
+ timeoutMs: 1000,
2002
+ pollIntervalMs: 50
2003
+ });
2004
+ assert.strictEqual(client.summarizeDispute(settledDispute).status, "resolved", "dispute summary missing");
2005
+ const settledDisputeSummary = await client.waitForDisputeSummary(disputeSummary.dispute_id, {
2006
+ timeoutMs: 1000,
2007
+ pollIntervalMs: 50
2008
+ });
2009
+ assert.strictEqual(settledDisputeSummary.status, "resolved", "dispute wait summary missing");
2010
+ const refundSummary = await client.createRefundSummary({
2011
+ transaction_id: result.transaction.transaction_id,
2012
+ receipt_id: result.receipt.receipt_id,
2013
+ reason_code: "policy_exception",
2014
+ note: "Refund requested"
2015
+ });
2016
+ assert.strictEqual(typeof refundSummary.refund_id, "string", "refund summary missing id");
2017
+ const reviewedRefundSummary = await client.actOnRefundSummary(refundSummary.refund_id, {
2018
+ action: "review"
2019
+ });
2020
+ assert.strictEqual(reviewedRefundSummary.status, "under_review", "refund review summary missing");
2021
+ const approvedRefundSummary = await client.actOnRefundSummary(refundSummary.refund_id, {
2022
+ action: "approve",
2023
+ action_code: "manual_refund"
2024
+ });
2025
+ assert.strictEqual(approvedRefundSummary.status, "approved", "refund action summary missing");
2026
+ const completedRefund = await client.actOnRefund(refundSummary.refund_id, {
2027
+ action: "complete",
2028
+ action_code: "manual_refund"
2029
+ });
2030
+ assert.strictEqual(completedRefund.refund.status, "completed", "refund completion missing");
2031
+ const refundActivity = await client.getRefundActivitySnapshot(refundSummary.refund_id);
2032
+ const refundActivitySummary = client.summarizeActivitySnapshot(refundActivity);
2033
+ assert.strictEqual(refundActivitySummary.refund_count >= 1, true, "refund activity snapshot missing");
2034
+ const refundActivitySummaryDirect = await client.getRefundActivitySummary(refundSummary.refund_id);
2035
+ assert.strictEqual(refundActivitySummaryDirect.refund_count >= 1, true, "refund activity summary helper missing");
2036
+ const refundSummaryDirect = await client.getRefundSummary(refundSummary.refund_id);
2037
+ assert.strictEqual(refundSummaryDirect.refund_id, refundSummary.refund_id, "refund summary helper missing");
2038
+ const refundList = await client.listRefunds({ transaction_id: result.transaction.transaction_id, status: "approved" });
2039
+ assert.strictEqual(Array.isArray(refundList.refunds), true, "refund list missing");
2040
+ const refundSummaries = await client.listRefundSummaries({ transaction_id: result.transaction.transaction_id });
2041
+ assert.strictEqual(refundSummaries.refund_count >= 1, true, "refund summaries missing");
2042
+ assert.strictEqual(Array.isArray(refundSummaries.refund_ids), true, "refund summary ids missing");
2043
+ const refundIds = await client.listRefundIds({ transaction_id: result.transaction.transaction_id });
2044
+ assert.strictEqual(refundIds.length >= 1, true, "refund id list missing");
2045
+ const refundStatuses = await client.listRefundStatuses({ transaction_id: result.transaction.transaction_id });
2046
+ assert.strictEqual(refundStatuses.length >= 1, true, "refund status list missing");
2047
+ const refundStatusSummaries = await client.getRefundStatusSummaries({ transaction_id: result.transaction.transaction_id });
2048
+ assert.strictEqual(refundStatusSummaries.status_count >= 1, true, "refund status summaries missing");
2049
+ const filteredRefundsByTitle = await client.listRefunds({ transaction_id: result.transaction.transaction_id, title: "Refund requested" });
2050
+ assert.strictEqual(Array.isArray(filteredRefundsByTitle.refunds), true, "refund title filter missing");
2051
+ const settledRefund = await client.waitForRefund(refundSummary.refund_id, {
2052
+ timeoutMs: 1000,
2053
+ pollIntervalMs: 50
2054
+ });
2055
+ assert.strictEqual(client.summarizeRefund(settledRefund).status, "completed", "refund summary missing");
2056
+ const settledRefundSummary = await client.waitForRefundSummary(refundSummary.refund_id, {
2057
+ timeoutMs: 1000,
2058
+ pollIntervalMs: 50
2059
+ });
2060
+ assert.strictEqual(settledRefundSummary.status, "completed", "refund wait summary missing");
2061
+ const remediationTicketSummary = await client.createRemediationTicketSummary({
2062
+ transaction_id: result.transaction.transaction_id,
2063
+ receipt_id: result.receipt.receipt_id,
2064
+ reason_code: "manual_review",
2065
+ action_code: "investigate",
2066
+ assigned_owner: "ops-review"
2067
+ });
2068
+ assert.strictEqual(typeof remediationTicketSummary.ticket_id, "string", "remediation ticket summary missing id");
2069
+ const assignedTicketSummary = await client.actOnRemediationTicketSummary(remediationTicketSummary.ticket_id, {
2070
+ action: "assign",
2071
+ assigned_owner: "ops-review"
2072
+ });
2073
+ assert.strictEqual(assignedTicketSummary.status, "assigned", "remediation action summary missing");
2074
+ const resolvedTicket = await client.actOnRemediationTicket(remediationTicketSummary.ticket_id, {
2075
+ action: "resolve",
2076
+ note: "Handled by ops-review"
2077
+ });
2078
+ assert.strictEqual(resolvedTicket.remediation_ticket.status, "resolved", "remediation resolution missing");
2079
+ const remediationActivity = await client.getRemediationTicketActivitySnapshot(remediationTicketSummary.ticket_id);
2080
+ const remediationActivitySummary = client.summarizeActivitySnapshot(remediationActivity);
2081
+ assert.strictEqual(remediationActivitySummary.remediation_ticket_count >= 1, true, "remediation activity snapshot missing");
2082
+ const remediationActivitySummaryDirect = await client.getRemediationTicketActivitySummary(remediationTicketSummary.ticket_id);
2083
+ assert.strictEqual(remediationActivitySummaryDirect.remediation_ticket_count >= 1, true, "remediation activity summary helper missing");
2084
+ const remediationSummaryDirect = await client.getRemediationTicketSummary(remediationTicketSummary.ticket_id);
2085
+ assert.strictEqual(remediationSummaryDirect.ticket_id, remediationTicketSummary.ticket_id, "remediation summary helper missing");
2086
+ const remediationList = await client.listRemediationTickets({
2087
+ transaction_id: result.transaction.transaction_id,
2088
+ assigned_owner: "ops-review",
2089
+ status: "resolved"
2090
+ });
2091
+ assert.strictEqual(Array.isArray(remediationList.remediation_tickets), true, "remediation ticket list missing");
2092
+ const remediationSummaries = await client.listRemediationTicketSummaries({ transaction_id: result.transaction.transaction_id });
2093
+ assert.strictEqual(remediationSummaries.remediation_ticket_count >= 1, true, "remediation summaries missing");
2094
+ assert.strictEqual(Array.isArray(remediationSummaries.ticket_ids), true, "remediation summary ids missing");
2095
+ const remediationTicketIds = await client.listRemediationTicketIds({ transaction_id: result.transaction.transaction_id });
2096
+ assert.strictEqual(remediationTicketIds.length >= 1, true, "remediation ticket id list missing");
2097
+ const remediationTicketAssignedOwners = await client.listRemediationTicketAssignedOwners({ transaction_id: result.transaction.transaction_id });
2098
+ assert.strictEqual(remediationTicketAssignedOwners.length >= 1, true, "remediation assigned owner list missing");
2099
+ const remediationTicketAssignedOwnerSummaries = await client.getRemediationTicketAssignedOwnerSummaries({ transaction_id: result.transaction.transaction_id });
2100
+ assert.strictEqual(remediationTicketAssignedOwnerSummaries.assigned_owner_count >= 1, true, "remediation assigned owner summaries missing");
2101
+ const filteredRemediationByTitle = await client.listRemediationTickets({ transaction_id: result.transaction.transaction_id, title: "Manual review" });
2102
+ assert.strictEqual(Array.isArray(filteredRemediationByTitle.remediation_tickets), true, "remediation title filter missing");
2103
+ const openIssuesSummary = await client.getOpenIssuesSummary({ transaction_id: result.transaction.transaction_id });
2104
+ assert.strictEqual(typeof openIssuesSummary.issue_count, "number", "open issues summary missing");
2105
+ assert.strictEqual(Array.isArray(openIssuesSummary.statuses), true, "open issues statuses missing");
2106
+ const executionExceptionsSummary = await client.getExecutionExceptionsSummary({ transaction_id: result.transaction.transaction_id });
2107
+ assert.strictEqual(typeof executionExceptionsSummary.exception_count, "number", "execution exceptions summary missing");
2108
+ assert.strictEqual(Array.isArray(executionExceptionsSummary.transaction_statuses), true, "execution exception transaction statuses missing");
2109
+ const operationsDashboardSummary = await client.getOperationsDashboardSummary({ transaction_id: result.transaction.transaction_id });
2110
+ assert.strictEqual(typeof operationsDashboardSummary.attention_count, "number", "operations dashboard summary missing");
2111
+ assert.strictEqual(typeof operationsDashboardSummary.attention_signal_count, "number", "operations dashboard signal count missing");
2112
+ assert.strictEqual(typeof operationsDashboardSummary.open_issues.issue_count, "number", "operations dashboard open issues missing");
2113
+ const attentionRecords = await client.getAttentionRecords({ transaction_id: result.transaction.transaction_id });
2114
+ assert.strictEqual(Array.isArray(attentionRecords.transactions), true, "attention record transactions missing");
2115
+ assert.strictEqual(Array.isArray(attentionRecords.deliveries), true, "attention record deliveries missing");
2116
+ const settledTicket = await client.waitForRemediationTicket(remediationTicketSummary.ticket_id, {
2117
+ timeoutMs: 1000,
2118
+ pollIntervalMs: 50
2119
+ });
2120
+ assert.strictEqual(client.summarizeRemediationTicket(settledTicket).status, "resolved", "remediation summary missing");
2121
+ const settledTicketSummary = await client.waitForRemediationTicketSummary(remediationTicketSummary.ticket_id, {
2122
+ timeoutMs: 1000,
2123
+ pollIntervalMs: 50
2124
+ });
2125
+ assert.strictEqual(settledTicketSummary.status, "resolved", "remediation wait summary missing");
2126
+
2127
+ const instant = await client.execute({
2128
+ command: "quickstart-instant",
2129
+ task_ref: "trust.verify",
2130
+ body: { subject_id: "subject-2" }
2131
+ }, {
2132
+ instant: true
2133
+ });
2134
+ assert.strictEqual(typeof instant.transaction.transaction_id, "string", "instant transaction missing");
2135
+ assert.strictEqual(typeof instant.receipt.receipt_id, "string", "instant receipt missing");
2136
+ const instantExecutionSummary = await client.executeInstantSummary({
2137
+ command: "quickstart-instant-summary",
2138
+ task_ref: "trust.verify",
2139
+ body: { subject_id: "subject-2-summary" }
2140
+ });
2141
+ assert.strictEqual(instantExecutionSummary.transaction.transaction_id !== null, true, "instant execution summary missing");
2142
+ const mcpInvocationSummary = await client.invokeMcpToolSummary("zones.lookup", {
2143
+ zone_id: "zone-demo"
2144
+ }, {
2145
+ command: "quickstart-mcp-invoke"
2146
+ });
2147
+ assert.strictEqual(mcpInvocationSummary.transaction.transaction_id !== null, true, "mcp invocation summary missing");
2148
+ const admissionPreviewSummary = await client.previewAdmissionSummary({
2149
+ source_zone_id: "zone-a",
2150
+ target_zone_id: "zone-b"
2151
+ }, {
2152
+ command: "quickstart-admission-preview"
2153
+ });
2154
+ assert.strictEqual(admissionPreviewSummary.transaction.transaction_id !== null, true, "admission preview summary missing");
2155
+ const a2aNegotiation = await client.negotiateA2A({
2156
+ counterparty_agent_id: "agent-counterparty-demo",
2157
+ task_pack_ref: "pack.a2a.demo",
2158
+ negotiation_mode: "quote_then_commit"
2159
+ }, {
2160
+ command: "quickstart-a2a-negotiate"
2161
+ });
2162
+ assert.strictEqual(a2aNegotiation.transaction.transaction_id !== null, true, "a2a negotiation missing");
2163
+ assert.strictEqual(a2aNegotiation.command.deliverables[0].interaction_front, "a2a", "a2a negotiation interaction front missing");
2164
+ const a2aCommit = await client.commitA2A({
2165
+ negotiation_id: "negotiation-demo",
2166
+ intent_id: "intent-a2a-demo"
2167
+ }, {
2168
+ command: "quickstart-a2a-commit"
2169
+ });
2170
+ assert.strictEqual(a2aCommit.transaction.transaction_id !== null, true, "a2a commit missing");
2171
+ assert.strictEqual(typeof a2aCommit.command.deliverables[0].commitment_ref, "string", "a2a commitment ref missing");
2172
+ const a2cSession = await client.openA2CSession({
2173
+ agent_id: "agent-demo",
2174
+ channel_ref: "channel.tools.default"
2175
+ }, {
2176
+ command: "quickstart-a2c-session-open"
2177
+ });
2178
+ assert.strictEqual(a2cSession.transaction.transaction_id !== null, true, "a2c session missing");
2179
+ assert.strictEqual(a2cSession.command.deliverables[0].interaction_front, "a2c", "a2c session interaction front missing");
2180
+ const a2cPackPreview = await client.previewA2CPack({
2181
+ agent_id: "agent-demo",
2182
+ pack_ref: "pack.tools.research"
2183
+ }, {
2184
+ command: "quickstart-a2c-pack-preview"
2185
+ });
2186
+ assert.strictEqual(a2cPackPreview.transaction.transaction_id !== null, true, "a2c pack preview missing");
2187
+ assert.strictEqual(a2cPackPreview.command.deliverables[0].kind, "preview", "a2c pack preview kind missing");
2188
+ const identityAttestationPreview = await client.previewIdentityAttestation({
2189
+ subject_id: "subject-identity-demo",
2190
+ registry_scope: "registry.identity.default"
2191
+ }, {
2192
+ command: "quickstart-identity-attest-preview"
2193
+ });
2194
+ assert.strictEqual(identityAttestationPreview.transaction.transaction_id !== null, true, "identity attestation preview missing");
2195
+ assert.strictEqual(identityAttestationPreview.command.deliverables[0].kind, "preview", "identity attestation preview kind missing");
2196
+ assert.strictEqual(typeof identityAttestationPreview.command.deliverables[0].identity_attestation_ref, "string", "identity attestation preview ref missing");
2197
+ const identityRegistryLink = await client.linkIdentityRegistry({
2198
+ subject_id: "subject-identity-demo",
2199
+ registry_record_id: "registry-record-identity-demo"
2200
+ }, {
2201
+ command: "quickstart-identity-registry-link"
2202
+ });
2203
+ assert.strictEqual(identityRegistryLink.transaction.transaction_id !== null, true, "identity registry link missing");
2204
+ assert.strictEqual(typeof identityRegistryLink.command.deliverables[0].identity_link_ref, "string", "identity registry link ref missing");
2205
+ const registryPackBundle = await client.bundleRegistryPack({
2206
+ pack_ref: "pack.registry.identity",
2207
+ subject_ids: ["subject-identity-demo", "subject-identity-peer"]
2208
+ }, {
2209
+ command: "quickstart-registry-pack-bundle"
2210
+ });
2211
+ assert.strictEqual(registryPackBundle.transaction.transaction_id !== null, true, "registry pack bundle missing");
2212
+ assert.strictEqual(typeof registryPackBundle.command.deliverables[0].registry_pack_ref, "string", "registry pack bundle ref missing");
2213
+ const anchoringPackPreview = await client.previewAnchoringPack({
2214
+ pack_ref: "pack.anchor.identity",
2215
+ commitment_count: 3
2216
+ }, {
2217
+ command: "quickstart-anchoring-pack-preview"
2218
+ });
2219
+ assert.strictEqual(anchoringPackPreview.transaction.transaction_id !== null, true, "anchoring pack preview missing");
2220
+ assert.strictEqual(anchoringPackPreview.command.deliverables[0].kind, "preview", "anchoring pack preview kind missing");
2221
+ assert.strictEqual(typeof anchoringPackPreview.command.deliverables[0].anchor_preview_ref, "string", "anchoring pack preview ref missing");
2222
+ const a2aSettlementFlow = await client.executeA2ASettlementFlow({
2223
+ counterparty_agent_id: "agent-counterparty-demo",
2224
+ task_pack_ref: "pack.a2a.demo",
2225
+ negotiation_mode: "quote_then_commit",
2226
+ negotiation_id: "negotiation-flow-demo",
2227
+ intent_id: "intent-a2a-flow-demo"
2228
+ }, {
2229
+ command: "quickstart-a2a-settlement-flow"
2230
+ });
2231
+ assert.strictEqual(a2aSettlementFlow.transaction.execution.task_count, 3, "a2a settlement flow task count missing");
2232
+ assert.strictEqual(a2aSettlementFlow.command.deliverables.some((entry) => entry.task_ref === "settlement.submit"), true, "a2a settlement flow settlement deliverable missing");
2233
+ const a2cToolingFlow = await client.executeA2CToolingFlow({
2234
+ agent_id: "agent-demo",
2235
+ channel_ref: "channel.tools.default",
2236
+ pack_ref: "pack.tools.research",
2237
+ tool_name: "zones.lookup",
2238
+ arguments: { zone_id: "zone-demo" }
2239
+ }, {
2240
+ command: "quickstart-a2c-tooling-flow"
2241
+ });
2242
+ assert.strictEqual(a2cToolingFlow.transaction.execution.task_count, 3, "a2c tooling flow task count missing");
2243
+ assert.strictEqual(a2cToolingFlow.command.deliverables.some((entry) => entry.task_ref === "adapter.mcp.invoke"), true, "a2c tooling flow mcp deliverable missing");
2244
+ const identityAnchorFlow = await client.executeIdentityAnchorFlow({
2245
+ subject_id: "subject-identity-flow-demo",
2246
+ registry_scope: "registry.identity.default",
2247
+ record_type: "identity_attestation",
2248
+ registry_record_id: "registry-record-identity-flow-demo",
2249
+ commitment_hash: "commitment-identity-flow-demo"
2250
+ }, {
2251
+ command: "quickstart-identity-anchor-flow"
2252
+ });
2253
+ assert.strictEqual(identityAnchorFlow.transaction.execution.task_count, 4, "identity anchor flow task count missing");
2254
+ assert.strictEqual(identityAnchorFlow.command.deliverables.some((entry) => entry.task_ref === "anchoring.submit"), true, "identity anchor flow anchoring deliverable missing");
2255
+ const registryPackAnchorFlow = await client.executeRegistryPackAnchorFlow({
2256
+ pack_ref: "pack.registry.identity",
2257
+ subject_ids: ["subject-identity-flow-demo", "subject-identity-peer"],
2258
+ commitment_count: 2,
2259
+ commitment_hash: "commitment-registry-pack-flow-demo"
2260
+ }, {
2261
+ command: "quickstart-registry-pack-anchor-flow"
2262
+ });
2263
+ assert.strictEqual(registryPackAnchorFlow.transaction.execution.task_count, 3, "registry pack anchor flow task count missing");
2264
+ assert.strictEqual(registryPackAnchorFlow.command.deliverables.some((entry) => entry.task_ref === "registry.pack.bundle"), true, "registry pack anchor flow registry deliverable missing");
2265
+ const trustHandoffSummary = await client.emitTrustHandoffSummary({
2266
+ subject_id: "subject-trust",
2267
+ execution_ref: "exec-trust"
2268
+ }, {
2269
+ command: "quickstart-trust-handoff-emit"
2270
+ });
2271
+ assert.strictEqual(trustHandoffSummary.transaction.transaction_id !== null, true, "trust handoff emit summary missing");
2272
+ const trustHandoffValidationSummary = await client.validateTrustHandoffSummary({
2273
+ handoff_id: "handoff-trust-demo"
2274
+ }, {
2275
+ command: "quickstart-trust-handoff-validate"
2276
+ });
2277
+ assert.strictEqual(trustHandoffValidationSummary.transaction.transaction_id !== null, true, "trust handoff validate summary missing");
2278
+ const executionReceiptHandoffSummary = await client.emitExecutionReceiptHandoffSummary({
2279
+ execution_ref: "exec-receipt-demo"
2280
+ }, {
2281
+ command: "quickstart-execution-receipt-handoff-emit"
2282
+ });
2283
+ assert.strictEqual(executionReceiptHandoffSummary.transaction.transaction_id !== null, true, "execution receipt handoff emit summary missing");
2284
+ const receiptLedgerHandoffSummary = await client.emitReceiptLedgerHandoffSummary({
2285
+ receipt_id: "rcpt-demo",
2286
+ ledger_ref: "ledger-demo"
2287
+ }, {
2288
+ command: "quickstart-receipt-ledger-handoff-emit"
2289
+ });
2290
+ assert.strictEqual(receiptLedgerHandoffSummary.transaction.transaction_id !== null, true, "receipt ledger handoff emit summary missing");
2291
+ const runtimeEmitSummary = await client.emitRuntimeSummary({
2292
+ intent_id: "intent-runtime-emit",
2293
+ event_type: "workflow.started"
2294
+ }, {
2295
+ command: "quickstart-runtime-emit"
2296
+ });
2297
+ assert.strictEqual(runtimeEmitSummary.transaction.transaction_id !== null, true, "runtime emit summary missing");
2298
+ const runtimeAnchorSummary = await client.anchorRuntimeSummary({
2299
+ event_commitment: "commitment-demo"
2300
+ }, {
2301
+ command: "quickstart-runtime-anchor"
2302
+ });
2303
+ assert.strictEqual(runtimeAnchorSummary.transaction.transaction_id !== null, true, "runtime anchor summary missing");
2304
+ const registryRecordSummary = await client.registerRegistryRecordSummary({
2305
+ subject_id: "subject-registry",
2306
+ record_type: "trust"
2307
+ }, {
2308
+ command: "quickstart-registry-register"
2309
+ });
2310
+ assert.strictEqual(registryRecordSummary.transaction.transaction_id !== null, true, "registry register summary missing");
2311
+ const settledInstantExecutionSummary = await client.executeInstantAndWaitSummary({
2312
+ command: "quickstart-instant-summary-wait",
2313
+ task_ref: "settlement.submit",
2314
+ body: { intent_id: "intent-quickstart-instant-wait" },
2315
+ defer_completion: true
2316
+ }, {
2317
+ timeoutMs: 5000,
2318
+ pollIntervalMs: 100
2319
+ });
2320
+ assert.strictEqual(settledInstantExecutionSummary.delivery_status, "delivered", "instant execution wait summary missing");
2321
+ const settledInstantExecutionActivitySummary = await client.executeInstantAndWaitActivitySummary({
2322
+ command: "quickstart-instant-summary-wait-activity",
2323
+ task_ref: "settlement.submit",
2324
+ body: { intent_id: "intent-quickstart-instant-wait-activity" },
2325
+ defer_completion: true
2326
+ }, {
2327
+ timeoutMs: 5000,
2328
+ pollIntervalMs: 100
2329
+ });
2330
+ assert.strictEqual(settledInstantExecutionActivitySummary.delivery_count >= 1, true, "instant execution wait activity summary missing");
2331
+ const settledInstantExecutionMonitorSnapshot = await client.executeInstantAndWaitMonitorSnapshot({
2332
+ command: "quickstart-instant-summary-wait-monitor-snapshot",
2333
+ task_ref: "settlement.submit",
2334
+ body: { intent_id: "intent-quickstart-instant-wait-monitor-snapshot" },
2335
+ defer_completion: true
2336
+ }, {
2337
+ timeoutMs: 5000,
2338
+ pollIntervalMs: 100
2339
+ });
2340
+ assert.strictEqual(settledInstantExecutionMonitorSnapshot.transaction.status, "completed", "instant execution wait monitor snapshot missing");
2341
+ const settledInstantExecutionMonitorSummary = await client.executeInstantAndWaitMonitorSummary({
2342
+ command: "quickstart-instant-summary-wait-monitor",
2343
+ task_ref: "settlement.submit",
2344
+ body: { intent_id: "intent-quickstart-instant-wait-monitor" },
2345
+ defer_completion: true
2346
+ }, {
2347
+ timeoutMs: 5000,
2348
+ pollIntervalMs: 100
2349
+ });
2350
+ assert.strictEqual(settledInstantExecutionMonitorSummary.status, "completed", "instant execution wait monitor summary missing");
2351
+ const settledInstantExecutionLinkedSummary = await client.executeInstantAndWaitLinkedRecordSummary({
2352
+ command: "quickstart-instant-summary-wait-linked",
2353
+ task_ref: "settlement.submit",
2354
+ body: { intent_id: "intent-quickstart-instant-wait-linked" },
2355
+ defer_completion: true
2356
+ }, {
2357
+ timeoutMs: 5000,
2358
+ pollIntervalMs: 100
2359
+ });
2360
+ assert.strictEqual(settledInstantExecutionLinkedSummary.delivery_count >= 1, true, "instant execution wait linked summary missing");
2361
+ const settledInstantExecutionLinkedActivitySummary = await client.executeInstantAndWaitLinkedRecordActivitySummary({
2362
+ command: "quickstart-instant-summary-wait-linked-activity",
2363
+ task_ref: "settlement.submit",
2364
+ body: { intent_id: "intent-quickstart-instant-wait-linked-activity" },
2365
+ defer_completion: true
2366
+ }, {
2367
+ timeoutMs: 5000,
2368
+ pollIntervalMs: 100
2369
+ });
2370
+ assert.strictEqual(settledInstantExecutionLinkedActivitySummary.transaction_count >= 1, true, "instant execution wait linked activity summary missing");
2371
+
2372
+ const deferred = await client.execute({
2373
+ command: "quickstart-deferred",
2374
+ task_ref: "settlement.submit",
2375
+ defer_completion: true,
2376
+ body: { intent_id: "intent-quickstart" }
2377
+ });
2378
+ assert.strictEqual(deferred.transaction.status, "accepted", "deferred transaction should start accepted");
2379
+ const deferredMonitorRefs = client.extractMonitorRefs(deferred);
2380
+ assert.strictEqual(typeof deferredMonitorRefs.transaction_id, "string", "deferred monitor transaction ref missing");
2381
+ const deferredSnapshot = await client.getMonitorSnapshot(deferred);
2382
+ assert.strictEqual(deferredSnapshot.transaction.status, "accepted", "deferred snapshot transaction missing");
2383
+ assert.strictEqual(deferredSnapshot.receipt.status, "pending", "deferred snapshot receipt missing");
2384
+ const deferredActivity = await client.getMonitorActivitySnapshot(deferred);
2385
+ const deferredActivitySummary = client.summarizeMonitorActivitySnapshot(deferredActivity);
2386
+ assert.strictEqual(deferredActivitySummary.transaction_count >= 1, true, "monitor activity snapshot missing");
2387
+ assert.strictEqual(typeof deferredActivitySummary.refs.transaction_id, "string", "monitor activity refs missing");
2388
+ const deferredActivitySummaryDirect = await client.getMonitorActivitySummary(deferred);
2389
+ assert.strictEqual(deferredActivitySummaryDirect.transaction_count >= 1, true, "monitor activity summary helper missing");
2390
+ const settled = await client.waitForMonitor(deferred, {
2391
+ timeoutMs: 5000,
2392
+ pollIntervalMs: 100
2393
+ });
2394
+ assert.strictEqual(settled.transaction.status, "completed", "deferred transaction did not settle");
2395
+ const settledMonitorSummary = await client.waitForMonitorSummary(deferred, {
2396
+ timeoutMs: 5000,
2397
+ pollIntervalMs: 100
2398
+ });
2399
+ assert.strictEqual(settledMonitorSummary.status, "completed", "deferred monitor wait summary missing");
2400
+ const settledMonitorSnapshot = await client.waitForMonitorSnapshot(deferred, {
2401
+ timeoutMs: 5000,
2402
+ pollIntervalMs: 100
2403
+ });
2404
+ assert.strictEqual(settledMonitorSnapshot.transaction.status, "completed", "deferred monitor wait snapshot missing");
2405
+ const settledMonitorActivitySnapshot = await client.waitForMonitorActivitySnapshot(deferred, {
2406
+ timeoutMs: 5000,
2407
+ pollIntervalMs: 100
2408
+ });
2409
+ assert.strictEqual(client.summarizeActivitySnapshot(settledMonitorActivitySnapshot).transaction_count >= 1, true, "deferred monitor activity wait snapshot missing");
2410
+ const settledMonitorActivitySummary = await client.waitForMonitorActivitySummary(deferred, {
2411
+ timeoutMs: 5000,
2412
+ pollIntervalMs: 100
2413
+ });
2414
+ assert.strictEqual(settledMonitorActivitySummary.transaction_count >= 1, true, "deferred monitor activity wait summary missing");
2415
+ const settledLinkedRecordSet = await client.waitForLinkedRecordSet(deferred, {
2416
+ timeoutMs: 5000,
2417
+ pollIntervalMs: 100
2418
+ });
2419
+ assert.strictEqual(settledLinkedRecordSet.transaction.status, "completed", "deferred linked record wait set missing");
2420
+ const settledLinkedRecordActivitySnapshot = await client.waitForLinkedRecordActivitySnapshot(deferred, {
2421
+ timeoutMs: 5000,
2422
+ pollIntervalMs: 100
2423
+ });
2424
+ assert.strictEqual(client.summarizeActivitySnapshot(settledLinkedRecordActivitySnapshot).transaction_count >= 1, true, "deferred linked record activity wait snapshot missing");
2425
+ const settledLinkedRecordSummary = await client.waitForLinkedRecordSummary(deferred, {
2426
+ timeoutMs: 5000,
2427
+ pollIntervalMs: 100
2428
+ });
2429
+ assert.strictEqual(settledLinkedRecordSummary.delivery_count >= 1, true, "deferred linked record wait summary missing");
2430
+ const settledLinkedRecordActivitySummary = await client.waitForLinkedRecordActivitySummary(deferred, {
2431
+ timeoutMs: 5000,
2432
+ pollIntervalMs: 100
2433
+ });
2434
+ assert.strictEqual(settledLinkedRecordActivitySummary.transaction_count >= 1, true, "deferred linked record activity wait summary missing");
2435
+ const settledQuote = await client.waitForQuote(deferred.transaction.quote_id, {
2436
+ timeoutMs: 5000,
2437
+ pollIntervalMs: 100
2438
+ });
2439
+ assert.strictEqual(settledQuote.quote.status, "executed", "deferred quote did not settle");
2440
+ const settledQuoteSummary = await client.waitForQuoteSummary(deferred.transaction.quote_id, {
2441
+ timeoutMs: 5000,
2442
+ pollIntervalMs: 100
2443
+ });
2444
+ assert.strictEqual(settledQuoteSummary.status, "executed", "deferred quote wait summary missing");
2445
+ const settledTransactionSummary = await client.waitForTransactionSummary(deferred.transaction.transaction_id, {
2446
+ timeoutMs: 5000,
2447
+ pollIntervalMs: 100
2448
+ });
2449
+ assert.strictEqual(settledTransactionSummary.status, "completed", "deferred transaction wait summary missing");
2450
+ const settledResultSet = await client.waitForResultSet(deferred, {
2451
+ timeoutMs: 5000,
2452
+ pollIntervalMs: 100
2453
+ });
2454
+ assert.strictEqual(settledResultSet.transaction.status, "completed", "result-set transaction missing");
2455
+ assert.strictEqual(settledResultSet.receipt.status, "completed", "result-set receipt missing");
2456
+ assert.strictEqual(settledResultSet.delivery.status, "delivered", "result-set delivery missing");
2457
+ const settledDeliverySummary = await client.waitForDeliverySummary(settledResultSet.delivery.delivery_id, {
2458
+ timeoutMs: 5000,
2459
+ pollIntervalMs: 100
2460
+ });
2461
+ assert.strictEqual(settledDeliverySummary.status, "delivered", "deferred delivery wait summary missing");
2462
+ const settledResultSummary = client.summarizeResultSet(settledResultSet);
2463
+ assert.strictEqual(settledResultSummary.transaction_status, "completed", "result-set summary transaction missing");
2464
+ assert.strictEqual(settledResultSummary.delivery_status, "delivered", "result-set summary delivery missing");
2465
+ const settledWorkflowSummary = await client.executeWorkflowAndWaitSummary("policy.transaction.flow", {
2466
+ "policy.simulate": { policy: "policy-d" },
2467
+ "settlement.submit": { intent_id: "intent-4" }
2468
+ }, {
2469
+ command: "quickstart-workflow-run-wait-summary",
2470
+ defer_completion: true,
2471
+ timeoutMs: 5000,
2472
+ pollIntervalMs: 100
2473
+ });
2474
+ assert.strictEqual(settledWorkflowSummary.delivery_status, "delivered", "workflow settled summary missing");
2475
+ const settledWorkflowSummaries = await client.executeWorkflowAndWaitSummaries([
2476
+ {
2477
+ workflow_ref: "policy.transaction.flow",
2478
+ task_bodies_by_ref: {
2479
+ "policy.simulate": { policy: "policy-d-batch" },
2480
+ "settlement.submit": { intent_id: "intent-4-batch" }
2481
+ }
2482
+ },
2483
+ {
2484
+ workflow_ref: "trust.flow",
2485
+ task_bodies_by_ref: {
2486
+ "trust.verify": { subject_id: "subject-4-batch" },
2487
+ "receipt.validate": { receipt_id: "rcpt-4-batch" }
2488
+ }
2489
+ }
2490
+ ], {
2491
+ command: "quickstart-workflow-run-wait-summary-batch",
2492
+ defer_completion: true,
2493
+ timeoutMs: 5000,
2494
+ pollIntervalMs: 100
2495
+ });
2496
+ assert.strictEqual(settledWorkflowSummaries.workflow_count, 2, "workflow settled summaries missing");
2497
+ const settledWorkflowActivitySummaries = await client.executeWorkflowAndWaitActivitySummaries([
2498
+ {
2499
+ workflow_ref: "policy.transaction.flow",
2500
+ task_bodies_by_ref: {
2501
+ "policy.simulate": { policy: "policy-d-batch-activity" },
2502
+ "settlement.submit": { intent_id: "intent-4-batch-activity" }
2503
+ }
2504
+ },
2505
+ {
2506
+ workflow_ref: "trust.flow",
2507
+ task_bodies_by_ref: {
2508
+ "trust.verify": { subject_id: "subject-4-batch-activity" },
2509
+ "receipt.validate": { receipt_id: "rcpt-4-batch-activity" }
2510
+ }
2511
+ }
2512
+ ], {
2513
+ command: "quickstart-workflow-run-wait-activity-batch",
2514
+ defer_completion: true,
2515
+ timeoutMs: 5000,
2516
+ pollIntervalMs: 100
2517
+ });
2518
+ assert.strictEqual(settledWorkflowActivitySummaries.workflow_count, 2, "workflow settled activity summaries missing");
2519
+ const settledWorkflowActivitySnapshots = await client.executeWorkflowAndWaitActivitySnapshots([
2520
+ {
2521
+ workflow_ref: "policy.transaction.flow",
2522
+ task_bodies_by_ref: {
2523
+ "policy.simulate": { policy: "policy-d-batch-activity-snapshot" },
2524
+ "settlement.submit": { intent_id: "intent-4-batch-activity-snapshot" }
2525
+ }
2526
+ },
2527
+ {
2528
+ workflow_ref: "trust.flow",
2529
+ task_bodies_by_ref: {
2530
+ "trust.verify": { subject_id: "subject-4-batch-activity-snapshot" },
2531
+ "receipt.validate": { receipt_id: "rcpt-4-batch-activity-snapshot" }
2532
+ }
2533
+ }
2534
+ ], {
2535
+ command: "quickstart-workflow-run-wait-activity-snapshot-batch",
2536
+ defer_completion: true,
2537
+ timeoutMs: 5000,
2538
+ pollIntervalMs: 100
2539
+ });
2540
+ assert.strictEqual(settledWorkflowActivitySnapshots.workflow_count, 2, "workflow settled activity snapshots missing");
2541
+ const settledWorkflowMonitorSummaries = await client.executeWorkflowAndWaitMonitorSummaries([
2542
+ {
2543
+ workflow_ref: "policy.transaction.flow",
2544
+ task_bodies_by_ref: {
2545
+ "policy.simulate": { policy: "policy-d-batch-monitor" },
2546
+ "settlement.submit": { intent_id: "intent-4-batch-monitor" }
2547
+ }
2548
+ },
2549
+ {
2550
+ workflow_ref: "trust.flow",
2551
+ task_bodies_by_ref: {
2552
+ "trust.verify": { subject_id: "subject-4-batch-monitor" },
2553
+ "receipt.validate": { receipt_id: "rcpt-4-batch-monitor" }
2554
+ }
2555
+ }
2556
+ ], {
2557
+ command: "quickstart-workflow-run-wait-monitor-batch",
2558
+ defer_completion: true,
2559
+ timeoutMs: 5000,
2560
+ pollIntervalMs: 100
2561
+ });
2562
+ assert.strictEqual(settledWorkflowMonitorSummaries.workflow_count, 2, "workflow settled monitor summaries missing");
2563
+ const settledWorkflowMonitorSnapshots = await client.executeWorkflowAndWaitMonitorSnapshots([
2564
+ {
2565
+ workflow_ref: "policy.transaction.flow",
2566
+ task_bodies_by_ref: {
2567
+ "policy.simulate": { policy: "policy-d-batch-monitor-snapshot" },
2568
+ "settlement.submit": { intent_id: "intent-4-batch-monitor-snapshot" }
2569
+ }
2570
+ },
2571
+ {
2572
+ workflow_ref: "trust.flow",
2573
+ task_bodies_by_ref: {
2574
+ "trust.verify": { subject_id: "subject-4-batch-monitor-snapshot" },
2575
+ "receipt.validate": { receipt_id: "rcpt-4-batch-monitor-snapshot" }
2576
+ }
2577
+ }
2578
+ ], {
2579
+ command: "quickstart-workflow-run-wait-monitor-snapshot-batch",
2580
+ defer_completion: true,
2581
+ timeoutMs: 5000,
2582
+ pollIntervalMs: 100
2583
+ });
2584
+ assert.strictEqual(settledWorkflowMonitorSnapshots.workflow_count, 2, "workflow settled monitor snapshots missing");
2585
+ const settledWorkflowMonitorActivitySnapshots = await client.executeWorkflowAndWaitMonitorActivitySnapshots([
2586
+ {
2587
+ workflow_ref: "policy.transaction.flow",
2588
+ task_bodies_by_ref: {
2589
+ "policy.simulate": { policy: "policy-d-batch-monitor-activity-snapshot" },
2590
+ "settlement.submit": { intent_id: "intent-4-batch-monitor-activity-snapshot" }
2591
+ }
2592
+ },
2593
+ {
2594
+ workflow_ref: "trust.flow",
2595
+ task_bodies_by_ref: {
2596
+ "trust.verify": { subject_id: "subject-4-batch-monitor-activity-snapshot" },
2597
+ "receipt.validate": { receipt_id: "rcpt-4-batch-monitor-activity-snapshot" }
2598
+ }
2599
+ }
2600
+ ], {
2601
+ command: "quickstart-workflow-run-wait-monitor-activity-snapshot-batch",
2602
+ defer_completion: true,
2603
+ timeoutMs: 5000,
2604
+ pollIntervalMs: 100
2605
+ });
2606
+ assert.strictEqual(settledWorkflowMonitorActivitySnapshots.workflow_count, 2, "workflow settled monitor activity snapshots missing");
2607
+ const settledWorkflowMonitorActivitySummaries = await client.executeWorkflowAndWaitMonitorActivitySummaries([
2608
+ {
2609
+ workflow_ref: "policy.transaction.flow",
2610
+ task_bodies_by_ref: {
2611
+ "policy.simulate": { policy: "policy-d-batch-monitor-activity-summary" },
2612
+ "settlement.submit": { intent_id: "intent-4-batch-monitor-activity-summary" }
2613
+ }
2614
+ },
2615
+ {
2616
+ workflow_ref: "trust.flow",
2617
+ task_bodies_by_ref: {
2618
+ "trust.verify": { subject_id: "subject-4-batch-monitor-activity-summary" },
2619
+ "receipt.validate": { receipt_id: "rcpt-4-batch-monitor-activity-summary" }
2620
+ }
2621
+ }
2622
+ ], {
2623
+ command: "quickstart-workflow-run-wait-monitor-activity-summary-batch",
2624
+ defer_completion: true,
2625
+ timeoutMs: 5000,
2626
+ pollIntervalMs: 100
2627
+ });
2628
+ assert.strictEqual(settledWorkflowMonitorActivitySummaries.workflow_count, 2, "workflow settled monitor activity summaries missing");
2629
+ const settledWorkflowLinkedSummaries = await client.executeWorkflowAndWaitLinkedRecordSummaries([
2630
+ {
2631
+ workflow_ref: "policy.transaction.flow",
2632
+ task_bodies_by_ref: {
2633
+ "policy.simulate": { policy: "policy-d-batch-linked" },
2634
+ "settlement.submit": { intent_id: "intent-4-batch-linked" }
2635
+ }
2636
+ },
2637
+ {
2638
+ workflow_ref: "trust.flow",
2639
+ task_bodies_by_ref: {
2640
+ "trust.verify": { subject_id: "subject-4-batch-linked" },
2641
+ "receipt.validate": { receipt_id: "rcpt-4-batch-linked" }
2642
+ }
2643
+ }
2644
+ ], {
2645
+ command: "quickstart-workflow-run-wait-linked-batch",
2646
+ defer_completion: true,
2647
+ timeoutMs: 5000,
2648
+ pollIntervalMs: 100
2649
+ });
2650
+ assert.strictEqual(settledWorkflowLinkedSummaries.workflow_count, 2, "workflow settled linked summaries missing");
2651
+ const settledWorkflowLinkedSets = await client.executeWorkflowAndWaitLinkedRecordSets([
2652
+ {
2653
+ workflow_ref: "policy.transaction.flow",
2654
+ task_bodies_by_ref: {
2655
+ "policy.simulate": { policy: "policy-d-batch-linked-set" },
2656
+ "settlement.submit": { intent_id: "intent-4-batch-linked-set" }
2657
+ }
2658
+ },
2659
+ {
2660
+ workflow_ref: "trust.flow",
2661
+ task_bodies_by_ref: {
2662
+ "trust.verify": { subject_id: "subject-4-batch-linked-set" },
2663
+ "receipt.validate": { receipt_id: "rcpt-4-batch-linked-set" }
2664
+ }
2665
+ }
2666
+ ], {
2667
+ command: "quickstart-workflow-run-wait-linked-set-batch",
2668
+ defer_completion: true,
2669
+ timeoutMs: 5000,
2670
+ pollIntervalMs: 100
2671
+ });
2672
+ assert.strictEqual(settledWorkflowLinkedSets.workflow_count, 2, "workflow settled linked sets missing");
2673
+ const settledWorkflowLinkedActivitySummaries = await client.executeWorkflowAndWaitLinkedRecordActivitySummaries([
2674
+ {
2675
+ workflow_ref: "policy.transaction.flow",
2676
+ task_bodies_by_ref: {
2677
+ "policy.simulate": { policy: "policy-d-batch-linked-activity" },
2678
+ "settlement.submit": { intent_id: "intent-4-batch-linked-activity" }
2679
+ }
2680
+ },
2681
+ {
2682
+ workflow_ref: "trust.flow",
2683
+ task_bodies_by_ref: {
2684
+ "trust.verify": { subject_id: "subject-4-batch-linked-activity" },
2685
+ "receipt.validate": { receipt_id: "rcpt-4-batch-linked-activity" }
2686
+ }
2687
+ }
2688
+ ], {
2689
+ command: "quickstart-workflow-run-wait-linked-activity-batch",
2690
+ defer_completion: true,
2691
+ timeoutMs: 5000,
2692
+ pollIntervalMs: 100
2693
+ });
2694
+ assert.strictEqual(settledWorkflowLinkedActivitySummaries.workflow_count, 2, "workflow settled linked activity summaries missing");
2695
+ const settledWorkflowLinkedActivitySnapshots = await client.executeWorkflowAndWaitLinkedRecordActivitySnapshots([
2696
+ {
2697
+ workflow_ref: "policy.transaction.flow",
2698
+ task_bodies_by_ref: {
2699
+ "policy.simulate": { policy: "policy-d-batch-linked-activity-snapshot" },
2700
+ "settlement.submit": { intent_id: "intent-4-batch-linked-activity-snapshot" }
2701
+ }
2702
+ },
2703
+ {
2704
+ workflow_ref: "trust.flow",
2705
+ task_bodies_by_ref: {
2706
+ "trust.verify": { subject_id: "subject-4-batch-linked-activity-snapshot" },
2707
+ "receipt.validate": { receipt_id: "rcpt-4-batch-linked-activity-snapshot" }
2708
+ }
2709
+ }
2710
+ ], {
2711
+ command: "quickstart-workflow-run-wait-linked-activity-snapshot-batch",
2712
+ defer_completion: true,
2713
+ timeoutMs: 5000,
2714
+ pollIntervalMs: 100
2715
+ });
2716
+ assert.strictEqual(settledWorkflowLinkedActivitySnapshots.workflow_count, 2, "workflow settled linked activity snapshots missing");
2717
+ const settledResultSummaryDirect = await client.getResultSetSummary(deferred, {
2718
+ timeoutMs: 5000,
2719
+ pollIntervalMs: 100
2720
+ });
2721
+ assert.strictEqual(settledResultSummaryDirect.transaction_status, "completed", "result-set summary helper missing");
2722
+ const settledResultActivitySnapshot = await client.waitForResultSetActivitySnapshot(deferred, {
2723
+ timeoutMs: 5000,
2724
+ pollIntervalMs: 100
2725
+ });
2726
+ assert.strictEqual(client.summarizeActivitySnapshot(settledResultActivitySnapshot).transaction_count >= 1, true, "result-set activity snapshot missing");
2727
+ const settledResultActivitySummary = await client.waitForResultSetActivitySummary(deferred, {
2728
+ timeoutMs: 5000,
2729
+ pollIntervalMs: 100
2730
+ });
2731
+ assert.strictEqual(settledResultActivitySummary.transaction_count >= 1, true, "result-set activity summary missing");
2732
+ const linkedDeferredSet = await client.getLinkedRecordSet(deferred);
2733
+ assert.strictEqual(linkedDeferredSet.transaction.status, "completed", "linked deferred transaction missing");
2734
+ assert.strictEqual(linkedDeferredSet.payment_ledger.length >= 1, true, "linked deferred payment ledger missing");
2735
+
2736
+ const taskSetPayload = await client.buildWorkflowTaskSet("policy.transaction.flow", {
2737
+ "policy.simulate": { policy: "policy-a" },
2738
+ "settlement.submit": { intent_id: "intent-1" }
2739
+ }, {
2740
+ command: "quickstart-task-set"
2741
+ });
2742
+ const taskSetResult = await client.execute(taskSetPayload);
2743
+ assert.strictEqual(taskSetResult.transaction.execution.task_count, 2, "task-set execution count missing");
2744
+ assert.strictEqual(taskSetResult.receipt.execution_summary.task_count, 2, "task-set receipt count missing");
2745
+ const taskSetSummary = await client.executeTaskSetSummary([
2746
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-summary" } },
2747
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-summary" } }
2748
+ ], {
2749
+ command: "quickstart-task-set-summary"
2750
+ });
2751
+ assert.strictEqual(taskSetSummary.transaction.task_count, 2, "task-set summary missing");
2752
+ const taskSetSummaries = await client.executeTaskSetSummaries([
2753
+ {
2754
+ task_set_id: "task-set-summary-a",
2755
+ tasks: [
2756
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-summary-batch-a" } },
2757
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-summary-batch-a" } }
2758
+ ],
2759
+ options: { command: "quickstart-task-set-summary-batch-a" }
2760
+ },
2761
+ {
2762
+ task_set_id: "task-set-summary-b",
2763
+ tasks: [
2764
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-summary-batch-b" } },
2765
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-summary-batch-b" } }
2766
+ ],
2767
+ options: { command: "quickstart-task-set-summary-batch-b" }
2768
+ }
2769
+ ]);
2770
+ assert.strictEqual(taskSetSummaries.task_set_count, 2, "task-set summaries batch missing");
2771
+ const settledTaskSetSummary = await client.executeTaskSetAndWaitSummary([
2772
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-summary" } },
2773
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-summary" } }
2774
+ ], {
2775
+ command: "quickstart-task-set-wait-summary",
2776
+ defer_completion: true,
2777
+ timeoutMs: 5000,
2778
+ pollIntervalMs: 100
2779
+ });
2780
+ assert.strictEqual(settledTaskSetSummary.delivery_status, "delivered", "task-set settled summary missing");
2781
+ const settledTaskSetSummaries = await client.executeTaskSetAndWaitSummaries([
2782
+ {
2783
+ task_set_id: "task-set-wait-summary-a",
2784
+ tasks: [
2785
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-summary-batch-a" } },
2786
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-summary-batch-a" } }
2787
+ ],
2788
+ options: {
2789
+ command: "quickstart-task-set-wait-summary-batch-a",
2790
+ defer_completion: true,
2791
+ timeoutMs: 5000,
2792
+ pollIntervalMs: 100
2793
+ }
2794
+ },
2795
+ {
2796
+ task_set_id: "task-set-wait-summary-b",
2797
+ tasks: [
2798
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-summary-batch-b" } },
2799
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-summary-batch-b" } }
2800
+ ],
2801
+ options: {
2802
+ command: "quickstart-task-set-wait-summary-batch-b",
2803
+ defer_completion: true,
2804
+ timeoutMs: 5000,
2805
+ pollIntervalMs: 100
2806
+ }
2807
+ }
2808
+ ]);
2809
+ assert.strictEqual(settledTaskSetSummaries.task_set_count, 2, "task-set settled summaries batch missing");
2810
+ const settledTaskSetActivitySummaries = await client.executeTaskSetAndWaitActivitySummaries([
2811
+ {
2812
+ task_set_id: "task-set-wait-activity-a",
2813
+ tasks: [
2814
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-activity-batch-a" } },
2815
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-activity-batch-a" } }
2816
+ ],
2817
+ options: {
2818
+ command: "quickstart-task-set-wait-activity-batch-a",
2819
+ defer_completion: true,
2820
+ timeoutMs: 5000,
2821
+ pollIntervalMs: 100
2822
+ }
2823
+ },
2824
+ {
2825
+ task_set_id: "task-set-wait-activity-b",
2826
+ tasks: [
2827
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-activity-batch-b" } },
2828
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-activity-batch-b" } }
2829
+ ],
2830
+ options: {
2831
+ command: "quickstart-task-set-wait-activity-batch-b",
2832
+ defer_completion: true,
2833
+ timeoutMs: 5000,
2834
+ pollIntervalMs: 100
2835
+ }
2836
+ }
2837
+ ]);
2838
+ assert.strictEqual(settledTaskSetActivitySummaries.task_set_count, 2, "task-set settled activity summaries batch missing");
2839
+ const settledTaskSetActivitySnapshots = await client.executeTaskSetAndWaitActivitySnapshots([
2840
+ {
2841
+ task_set_id: "task-set-wait-activity-snapshot-a",
2842
+ tasks: [
2843
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-activity-snapshot-batch-a" } },
2844
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-activity-snapshot-batch-a" } }
2845
+ ],
2846
+ options: {
2847
+ command: "quickstart-task-set-wait-activity-snapshot-batch-a",
2848
+ defer_completion: true,
2849
+ timeoutMs: 5000,
2850
+ pollIntervalMs: 100
2851
+ }
2852
+ },
2853
+ {
2854
+ task_set_id: "task-set-wait-activity-snapshot-b",
2855
+ tasks: [
2856
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-activity-snapshot-batch-b" } },
2857
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-activity-snapshot-batch-b" } }
2858
+ ],
2859
+ options: {
2860
+ command: "quickstart-task-set-wait-activity-snapshot-batch-b",
2861
+ defer_completion: true,
2862
+ timeoutMs: 5000,
2863
+ pollIntervalMs: 100
2864
+ }
2865
+ }
2866
+ ]);
2867
+ assert.strictEqual(settledTaskSetActivitySnapshots.task_set_count, 2, "task-set settled activity snapshots batch missing");
2868
+ const settledTaskSetMonitorSummaries = await client.executeTaskSetAndWaitMonitorSummaries([
2869
+ {
2870
+ task_set_id: "task-set-wait-monitor-a",
2871
+ tasks: [
2872
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-monitor-batch-a" } },
2873
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-monitor-batch-a" } }
2874
+ ],
2875
+ options: {
2876
+ command: "quickstart-task-set-wait-monitor-batch-a",
2877
+ defer_completion: true,
2878
+ timeoutMs: 5000,
2879
+ pollIntervalMs: 100
2880
+ }
2881
+ },
2882
+ {
2883
+ task_set_id: "task-set-wait-monitor-b",
2884
+ tasks: [
2885
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-monitor-batch-b" } },
2886
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-monitor-batch-b" } }
2887
+ ],
2888
+ options: {
2889
+ command: "quickstart-task-set-wait-monitor-batch-b",
2890
+ defer_completion: true,
2891
+ timeoutMs: 5000,
2892
+ pollIntervalMs: 100
2893
+ }
2894
+ }
2895
+ ]);
2896
+ assert.strictEqual(settledTaskSetMonitorSummaries.task_set_count, 2, "task-set settled monitor summaries batch missing");
2897
+ const settledTaskSetMonitorSnapshots = await client.executeTaskSetAndWaitMonitorSnapshots([
2898
+ {
2899
+ task_set_id: "task-set-wait-monitor-snapshot-a",
2900
+ tasks: [
2901
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-monitor-snapshot-batch-a" } },
2902
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-monitor-snapshot-batch-a" } }
2903
+ ],
2904
+ options: {
2905
+ command: "quickstart-task-set-wait-monitor-snapshot-batch-a",
2906
+ defer_completion: true,
2907
+ timeoutMs: 5000,
2908
+ pollIntervalMs: 100
2909
+ }
2910
+ },
2911
+ {
2912
+ task_set_id: "task-set-wait-monitor-snapshot-b",
2913
+ tasks: [
2914
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-monitor-snapshot-batch-b" } },
2915
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-monitor-snapshot-batch-b" } }
2916
+ ],
2917
+ options: {
2918
+ command: "quickstart-task-set-wait-monitor-snapshot-batch-b",
2919
+ defer_completion: true,
2920
+ timeoutMs: 5000,
2921
+ pollIntervalMs: 100
2922
+ }
2923
+ }
2924
+ ]);
2925
+ assert.strictEqual(settledTaskSetMonitorSnapshots.task_set_count, 2, "task-set settled monitor snapshots batch missing");
2926
+ const settledTaskSetMonitorActivitySnapshots = await client.executeTaskSetAndWaitMonitorActivitySnapshots([
2927
+ {
2928
+ task_set_id: "task-set-wait-monitor-activity-snapshot-a",
2929
+ tasks: [
2930
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-monitor-activity-snapshot-batch-a" } },
2931
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-monitor-activity-snapshot-batch-a" } }
2932
+ ],
2933
+ options: {
2934
+ command: "quickstart-task-set-wait-monitor-activity-snapshot-batch-a",
2935
+ defer_completion: true,
2936
+ timeoutMs: 5000,
2937
+ pollIntervalMs: 100
2938
+ }
2939
+ },
2940
+ {
2941
+ task_set_id: "task-set-wait-monitor-activity-snapshot-b",
2942
+ tasks: [
2943
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-monitor-activity-snapshot-batch-b" } },
2944
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-monitor-activity-snapshot-batch-b" } }
2945
+ ],
2946
+ options: {
2947
+ command: "quickstart-task-set-wait-monitor-activity-snapshot-batch-b",
2948
+ defer_completion: true,
2949
+ timeoutMs: 5000,
2950
+ pollIntervalMs: 100
2951
+ }
2952
+ }
2953
+ ]);
2954
+ assert.strictEqual(settledTaskSetMonitorActivitySnapshots.task_set_count, 2, "task-set settled monitor activity snapshots batch missing");
2955
+ const settledTaskSetMonitorActivitySummaries = await client.executeTaskSetAndWaitMonitorActivitySummaries([
2956
+ {
2957
+ task_set_id: "task-set-wait-monitor-activity-summary-a",
2958
+ tasks: [
2959
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-monitor-activity-summary-batch-a" } },
2960
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-monitor-activity-summary-batch-a" } }
2961
+ ],
2962
+ options: {
2963
+ command: "quickstart-task-set-wait-monitor-activity-summary-batch-a",
2964
+ defer_completion: true,
2965
+ timeoutMs: 5000,
2966
+ pollIntervalMs: 100
2967
+ }
2968
+ },
2969
+ {
2970
+ task_set_id: "task-set-wait-monitor-activity-summary-b",
2971
+ tasks: [
2972
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-monitor-activity-summary-batch-b" } },
2973
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-monitor-activity-summary-batch-b" } }
2974
+ ],
2975
+ options: {
2976
+ command: "quickstart-task-set-wait-monitor-activity-summary-batch-b",
2977
+ defer_completion: true,
2978
+ timeoutMs: 5000,
2979
+ pollIntervalMs: 100
2980
+ }
2981
+ }
2982
+ ]);
2983
+ assert.strictEqual(settledTaskSetMonitorActivitySummaries.task_set_count, 2, "task-set settled monitor activity summaries batch missing");
2984
+ const settledTaskSetLinkedSummaries = await client.executeTaskSetAndWaitLinkedRecordSummaries([
2985
+ {
2986
+ task_set_id: "task-set-wait-linked-a",
2987
+ tasks: [
2988
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-linked-batch-a" } },
2989
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-linked-batch-a" } }
2990
+ ],
2991
+ options: {
2992
+ command: "quickstart-task-set-wait-linked-batch-a",
2993
+ defer_completion: true,
2994
+ timeoutMs: 5000,
2995
+ pollIntervalMs: 100
2996
+ }
2997
+ },
2998
+ {
2999
+ task_set_id: "task-set-wait-linked-b",
3000
+ tasks: [
3001
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-linked-batch-b" } },
3002
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-linked-batch-b" } }
3003
+ ],
3004
+ options: {
3005
+ command: "quickstart-task-set-wait-linked-batch-b",
3006
+ defer_completion: true,
3007
+ timeoutMs: 5000,
3008
+ pollIntervalMs: 100
3009
+ }
3010
+ }
3011
+ ]);
3012
+ assert.strictEqual(settledTaskSetLinkedSummaries.task_set_count, 2, "task-set settled linked summaries batch missing");
3013
+ const settledTaskSetLinkedSets = await client.executeTaskSetAndWaitLinkedRecordSets([
3014
+ {
3015
+ task_set_id: "task-set-wait-linked-set-a",
3016
+ tasks: [
3017
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-linked-set-batch-a" } },
3018
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-linked-set-batch-a" } }
3019
+ ],
3020
+ options: {
3021
+ command: "quickstart-task-set-wait-linked-set-batch-a",
3022
+ defer_completion: true,
3023
+ timeoutMs: 5000,
3024
+ pollIntervalMs: 100
3025
+ }
3026
+ },
3027
+ {
3028
+ task_set_id: "task-set-wait-linked-set-b",
3029
+ tasks: [
3030
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-linked-set-batch-b" } },
3031
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-linked-set-batch-b" } }
3032
+ ],
3033
+ options: {
3034
+ command: "quickstart-task-set-wait-linked-set-batch-b",
3035
+ defer_completion: true,
3036
+ timeoutMs: 5000,
3037
+ pollIntervalMs: 100
3038
+ }
3039
+ }
3040
+ ]);
3041
+ assert.strictEqual(settledTaskSetLinkedSets.task_set_count, 2, "task-set settled linked sets batch missing");
3042
+ const settledTaskSetLinkedActivitySummaries = await client.executeTaskSetAndWaitLinkedRecordActivitySummaries([
3043
+ {
3044
+ task_set_id: "task-set-wait-linked-activity-a",
3045
+ tasks: [
3046
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-linked-activity-batch-a" } },
3047
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-linked-activity-batch-a" } }
3048
+ ],
3049
+ options: {
3050
+ command: "quickstart-task-set-wait-linked-activity-batch-a",
3051
+ defer_completion: true,
3052
+ timeoutMs: 5000,
3053
+ pollIntervalMs: 100
3054
+ }
3055
+ },
3056
+ {
3057
+ task_set_id: "task-set-wait-linked-activity-b",
3058
+ tasks: [
3059
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-linked-activity-batch-b" } },
3060
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-linked-activity-batch-b" } }
3061
+ ],
3062
+ options: {
3063
+ command: "quickstart-task-set-wait-linked-activity-batch-b",
3064
+ defer_completion: true,
3065
+ timeoutMs: 5000,
3066
+ pollIntervalMs: 100
3067
+ }
3068
+ }
3069
+ ]);
3070
+ assert.strictEqual(settledTaskSetLinkedActivitySummaries.task_set_count, 2, "task-set settled linked activity summaries batch missing");
3071
+ const settledTaskSetLinkedActivitySnapshots = await client.executeTaskSetAndWaitLinkedRecordActivitySnapshots([
3072
+ {
3073
+ task_set_id: "task-set-wait-linked-activity-snapshot-a",
3074
+ tasks: [
3075
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-linked-activity-snapshot-batch-a" } },
3076
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-linked-activity-snapshot-batch-a" } }
3077
+ ],
3078
+ options: {
3079
+ command: "quickstart-task-set-wait-linked-activity-snapshot-batch-a",
3080
+ defer_completion: true,
3081
+ timeoutMs: 5000,
3082
+ pollIntervalMs: 100
3083
+ }
3084
+ },
3085
+ {
3086
+ task_set_id: "task-set-wait-linked-activity-snapshot-b",
3087
+ tasks: [
3088
+ { task_ref: "trust.verify", body: { subject_id: "subject-task-set-wait-linked-activity-snapshot-batch-b" } },
3089
+ { task_ref: "receipt.validate", body: { receipt_id: "rcpt-task-set-wait-linked-activity-snapshot-batch-b" } }
3090
+ ],
3091
+ options: {
3092
+ command: "quickstart-task-set-wait-linked-activity-snapshot-batch-b",
3093
+ defer_completion: true,
3094
+ timeoutMs: 5000,
3095
+ pollIntervalMs: 100
3096
+ }
3097
+ }
3098
+ ]);
3099
+ assert.strictEqual(settledTaskSetLinkedActivitySnapshots.task_set_count, 2, "task-set settled linked activity snapshots batch missing");
3100
+ const settledTaskSetActivitySummary = await client.executeTaskSetAndWaitActivitySummary([
3101
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-activity" } },
3102
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-activity" } }
3103
+ ], {
3104
+ command: "quickstart-task-set-wait-activity",
3105
+ defer_completion: true,
3106
+ timeoutMs: 5000,
3107
+ pollIntervalMs: 100
3108
+ });
3109
+ assert.strictEqual(settledTaskSetActivitySummary.delivery_count >= 1, true, "task-set settled activity summary missing");
3110
+ const settledTaskSetMonitorSummary = await client.executeTaskSetAndWaitMonitorSummary([
3111
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-monitor" } },
3112
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-monitor" } }
3113
+ ], {
3114
+ command: "quickstart-task-set-wait-monitor",
3115
+ defer_completion: true,
3116
+ timeoutMs: 5000,
3117
+ pollIntervalMs: 100
3118
+ });
3119
+ assert.strictEqual(settledTaskSetMonitorSummary.status, "completed", "task-set settled monitor summary missing");
3120
+ const settledTaskSetLinkedSummary = await client.executeTaskSetAndWaitLinkedRecordSummary([
3121
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-linked" } },
3122
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-linked" } }
3123
+ ], {
3124
+ command: "quickstart-task-set-wait-linked",
3125
+ defer_completion: true,
3126
+ timeoutMs: 5000,
3127
+ pollIntervalMs: 100
3128
+ });
3129
+ assert.strictEqual(settledTaskSetLinkedSummary.delivery_count >= 1, true, "task-set settled linked summary missing");
3130
+ const settledTaskSetLinkedActivitySummary = await client.executeTaskSetAndWaitLinkedRecordActivitySummary([
3131
+ { task_ref: "policy.simulate", body: { policy: "policy-task-set-wait-linked-activity" } },
3132
+ { task_ref: "settlement.submit", body: { intent_id: "intent-task-set-wait-linked-activity" } }
3133
+ ], {
3134
+ command: "quickstart-task-set-wait-linked-activity",
3135
+ defer_completion: true,
3136
+ timeoutMs: 5000,
3137
+ pollIntervalMs: 100
3138
+ });
3139
+ assert.strictEqual(settledTaskSetLinkedActivitySummary.transaction_count >= 1, true, "task-set settled linked activity summary missing");
3140
+ const workflowResult = await client.executeWorkflow("policy.transaction.flow", {
3141
+ "policy.simulate": { policy: "policy-b" },
3142
+ "settlement.submit": { intent_id: "intent-2" }
3143
+ }, {
3144
+ command: "quickstart-workflow-run"
3145
+ });
3146
+ assert.strictEqual(workflowResult.transaction.execution.task_count, 2, "workflow execution count missing");
3147
+ const settledWorkflowResult = await client.executeWorkflowAndWait("policy.transaction.flow", {
3148
+ "policy.simulate": { policy: "policy-c" },
3149
+ "settlement.submit": { intent_id: "intent-3" }
3150
+ }, {
3151
+ command: "quickstart-workflow-run-wait",
3152
+ defer_completion: true,
3153
+ timeoutMs: 5000,
3154
+ pollIntervalMs: 100
3155
+ });
3156
+ assert.strictEqual(settledWorkflowResult.transaction.status, "completed", "workflow settled transaction missing");
3157
+ assert.strictEqual(settledWorkflowResult.delivery.status, "delivered", "workflow settled delivery missing");
3158
+ const settledWorkflowActivitySummary = await client.executeWorkflowAndWaitActivitySummary("policy.transaction.flow", {
3159
+ "policy.simulate": { policy: "policy-c-activity" },
3160
+ "settlement.submit": { intent_id: "intent-3-activity" }
3161
+ }, {
3162
+ command: "quickstart-workflow-run-wait-activity",
3163
+ defer_completion: true,
3164
+ timeoutMs: 5000,
3165
+ pollIntervalMs: 100
3166
+ });
3167
+ assert.strictEqual(settledWorkflowActivitySummary.delivery_count >= 1, true, "workflow settled activity summary missing");
3168
+ const settledWorkflowMonitorSummary = await client.executeWorkflowAndWaitMonitorSummary("policy.transaction.flow", {
3169
+ "policy.simulate": { policy: "policy-c-monitor" },
3170
+ "settlement.submit": { intent_id: "intent-3-monitor" }
3171
+ }, {
3172
+ command: "quickstart-workflow-run-wait-monitor",
3173
+ defer_completion: true,
3174
+ timeoutMs: 5000,
3175
+ pollIntervalMs: 100
3176
+ });
3177
+ assert.strictEqual(settledWorkflowMonitorSummary.status, "completed", "workflow settled monitor summary missing");
3178
+ const settledWorkflowLinkedSummary = await client.executeWorkflowAndWaitLinkedRecordSummary("policy.transaction.flow", {
3179
+ "policy.simulate": { policy: "policy-c-linked" },
3180
+ "settlement.submit": { intent_id: "intent-3-linked" }
3181
+ }, {
3182
+ command: "quickstart-workflow-run-wait-linked",
3183
+ defer_completion: true,
3184
+ timeoutMs: 5000,
3185
+ pollIntervalMs: 100
3186
+ });
3187
+ assert.strictEqual(settledWorkflowLinkedSummary.delivery_count >= 1, true, "workflow settled linked summary missing");
3188
+ const settledWorkflowLinkedActivitySummary = await client.executeWorkflowAndWaitLinkedRecordActivitySummary("policy.transaction.flow", {
3189
+ "policy.simulate": { policy: "policy-c-linked-activity" },
3190
+ "settlement.submit": { intent_id: "intent-3-linked-activity" }
3191
+ }, {
3192
+ command: "quickstart-workflow-run-wait-linked-activity",
3193
+ defer_completion: true,
3194
+ timeoutMs: 5000,
3195
+ pollIntervalMs: 100
3196
+ });
3197
+ assert.strictEqual(settledWorkflowLinkedActivitySummary.transaction_count >= 1, true, "workflow settled linked activity summary missing");
3198
+ const quoteList = await client.listPaymentQuotes({ status: "executed", account_id: "acct_demo" });
3199
+ assert.strictEqual(Array.isArray(quoteList.quotes), true, "quote list missing");
3200
+ const activitySnapshot = await client.getActivitySnapshot({ account_id: "acct_demo" });
3201
+ const activitySummary = client.summarizeActivitySnapshot(activitySnapshot);
3202
+ assert.strictEqual(activitySummary.transaction_count >= 1, true, "activity snapshot missing");
3203
+ const activitySummaryDirect = await client.getActivitySummary({ account_id: "acct_demo" });
3204
+ assert.strictEqual(activitySummaryDirect.transaction_count >= 1, true, "activity summary helper missing");
3205
+ const quoteActivity = await client.getQuoteActivitySnapshot(result.transaction.quote_id);
3206
+ const quoteActivitySummary = client.summarizeActivitySnapshot(quoteActivity);
3207
+ assert.strictEqual(quoteActivitySummary.quote_count >= 1, true, "quote activity snapshot missing");
3208
+ const quoteActivitySummaryDirect = await client.getQuoteActivitySummary(result.transaction.quote_id);
3209
+ assert.strictEqual(quoteActivitySummaryDirect.quote_count >= 1, true, "quote activity summary helper missing");
3210
+ const transactionActivity = await client.getTransactionActivitySnapshot(result.transaction.transaction_id);
3211
+ const transactionActivitySummary = client.summarizeActivitySnapshot(transactionActivity);
3212
+ assert.strictEqual(transactionActivitySummary.transaction_count >= 1, true, "transaction activity snapshot missing");
3213
+ const transactionActivitySummaryDirect = await client.getTransactionActivitySummary(result.transaction.transaction_id);
3214
+ assert.strictEqual(transactionActivitySummaryDirect.transaction_count >= 1, true, "transaction activity summary helper missing");
3215
+ const receiptActivity = await client.getReceiptActivitySnapshot(result.receipt.receipt_id);
3216
+ const receiptActivitySummary = client.summarizeActivitySnapshot(receiptActivity);
3217
+ assert.strictEqual(receiptActivitySummary.receipt_count >= 1, true, "receipt activity snapshot missing");
3218
+ const receiptActivitySummaryDirect = await client.getReceiptActivitySummary(result.receipt.receipt_id);
3219
+ assert.strictEqual(receiptActivitySummaryDirect.receipt_count >= 1, true, "receipt activity summary helper missing");
3220
+ const paymentActivity = await client.getPaymentActivitySnapshot(paymentEntry.payment.payment_id);
3221
+ const paymentActivitySummary = client.summarizeActivitySnapshot(paymentActivity);
3222
+ assert.strictEqual(paymentActivitySummary.payment_ledger_count >= 1, true, "payment activity snapshot missing");
3223
+ const paymentActivitySummaryDirect = await client.getPaymentActivitySummary(paymentEntry.payment.payment_id);
3224
+ assert.strictEqual(paymentActivitySummaryDirect.payment_ledger_count >= 1, true, "payment activity summary helper missing");
3225
+ const deliveryActivity = await client.getDeliveryActivitySnapshot(delivery.delivery.delivery_id);
3226
+ const deliveryActivitySummary = client.summarizeActivitySnapshot(deliveryActivity);
3227
+ assert.strictEqual(deliveryActivitySummary.delivery_count >= 1, true, "delivery activity snapshot missing");
3228
+ const deliveryActivitySummaryDirect = await client.getDeliveryActivitySummary(delivery.delivery.delivery_id);
3229
+ assert.strictEqual(deliveryActivitySummaryDirect.delivery_count >= 1, true, "delivery activity summary helper missing");
3230
+ const reconciliation = await client.getReconciliationReport();
3231
+ assert.strictEqual(typeof reconciliation.summary, "object", "reconciliation report missing");
3232
+ const reconciliationSummary = client.summarizeReconciliationReport(reconciliation);
3233
+ assert.strictEqual(typeof reconciliationSummary.delivery_count, "number", "reconciliation summary missing");
3234
+ const reconciliationSummaryDirect = await client.getReconciliationReportSummary();
3235
+ assert.strictEqual(typeof reconciliationSummaryDirect.delivery_count, "number", "reconciliation summary helper missing");
3236
+ const exportPack = await client.getOperatorExportPack();
3237
+ assert.strictEqual(typeof exportPack.aggregates, "object", "operator export pack missing");
3238
+ const exportSummary = client.summarizeOperatorExportPack(exportPack);
3239
+ assert.strictEqual(typeof exportSummary.payment_ledger_count, "number", "operator export summary missing");
3240
+ const exportSummaryDirect = await client.getOperatorExportPackSummary();
3241
+ assert.strictEqual(typeof exportSummaryDirect.payment_ledger_count, "number", "operator export summary helper missing");
3242
+
3243
+ console.log("xytara quickstart passed");
3244
+ } finally {
3245
+ await new Promise((resolve, reject) => {
3246
+ server.close((error) => (error ? reject(error) : resolve()));
3247
+ });
3248
+ }
3249
+ }
3250
+
3251
+ main().catch((error) => {
3252
+ console.error(error);
3253
+ process.exitCode = 1;
3254
+ });
3255
+