xytara 2.1.0 → 2.3.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 (163) hide show
  1. package/.env.example +5 -1
  2. package/ADAPTER_START_HERE.md +56 -0
  3. package/CARRIED_HANDOFF_DEMO.md +60 -0
  4. package/EXAMPLE_PATHS.md +53 -0
  5. package/OPERATIONS_RUNBOOK.md +65 -0
  6. package/OPERATOR_START_HERE.md +63 -0
  7. package/PARTNER_READY_PATH.md +71 -0
  8. package/PROGRAM_COMPLETE_RELEASE.md +63 -0
  9. package/PROGRAM_STATUS.md +57 -0
  10. package/PUBLIC_DEMO_SCRIPT.md +78 -0
  11. package/PUBLISH_PLAN.md +7 -5
  12. package/README.md +66 -0
  13. package/RELEASE_CHECKLIST.md +8 -2
  14. package/RELEASE_NOTES.md +19 -8
  15. package/START_HERE.md +32 -0
  16. package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -0
  17. package/WHY_XYTARA_XOONYA.md +63 -0
  18. package/adapters/examples/minimal-third-party-execution-adapter.js +61 -0
  19. package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -0
  20. package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -0
  21. package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -0
  22. package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -0
  23. package/bin/xytara-release.js +1251 -1
  24. package/examples/adapter_review_walkthrough.js +53 -0
  25. package/examples/export_carried_handoff.js +80 -0
  26. package/examples/funded_runtime_walkthrough.js +70 -0
  27. package/examples/partner_launch_walkthrough.js +43 -0
  28. package/examples/quickstart.js +3255 -0
  29. package/index.js +7 -1
  30. package/lib/adapter_pack.js +118 -0
  31. package/lib/adapter_partner_pack.js +89 -0
  32. package/lib/adapter_promotion_pack.js +89 -0
  33. package/lib/commerce_client.js +38 -0
  34. package/lib/commerce_economics.js +304 -0
  35. package/lib/operator_intelligence.js +90 -0
  36. package/lib/outreach_copy_pack.js +51 -0
  37. package/lib/outreach_message_pack.js +71 -0
  38. package/lib/outreach_target_pack.js +60 -0
  39. package/lib/partner_intelligence.js +105 -0
  40. package/lib/phase_10_closeout_pack.js +45 -0
  41. package/lib/phase_10_completion_pack.js +76 -0
  42. package/lib/phase_10_decision_record_pack.js +54 -0
  43. package/lib/phase_10_decision_resolution_pack.js +53 -0
  44. package/lib/phase_10_demand_signal_adapters_runtime_pack.js +74 -0
  45. package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +74 -0
  46. package/lib/phase_10_freeze_baseline_pack.js +67 -0
  47. package/lib/phase_10_freeze_review_pack.js +64 -0
  48. package/lib/phase_10_gate_pack.js +57 -0
  49. package/lib/phase_10_long_tail_continuity_pack.js +80 -0
  50. package/lib/phase_10_long_tail_ecosystem_pack.js +66 -0
  51. package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -0
  52. package/lib/phase_1_claude_mcp_pack.js +60 -0
  53. package/lib/phase_1_claude_mcp_runtime_pack.js +52 -0
  54. package/lib/phase_1_ecosystem_pack.js +67 -0
  55. package/lib/phase_1_openai_codex_pack.js +60 -0
  56. package/lib/phase_1_openai_codex_runtime_pack.js +52 -0
  57. package/lib/phase_2_base_runtime_pack.js +71 -0
  58. package/lib/phase_2_base_usdc_runtime_pack.js +72 -0
  59. package/lib/phase_2_closeout_pack.js +65 -0
  60. package/lib/phase_2_completion_pack.js +113 -0
  61. package/lib/phase_2_decision_record_pack.js +66 -0
  62. package/lib/phase_2_decision_resolution_pack.js +69 -0
  63. package/lib/phase_2_eth_runtime_pack.js +70 -0
  64. package/lib/phase_2_evm_base_runtime_pack.js +73 -0
  65. package/lib/phase_2_evm_runtime_pack.js +71 -0
  66. package/lib/phase_2_flip_preview_pack.js +60 -0
  67. package/lib/phase_2_freeze_review_pack.js +99 -0
  68. package/lib/phase_2_gate_pack.js +77 -0
  69. package/lib/phase_2_payment_rails_pack.js +71 -0
  70. package/lib/phase_2_usdc_runtime_pack.js +71 -0
  71. package/lib/phase_3_brc_runtime_pack.js +81 -0
  72. package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -0
  73. package/lib/phase_3_closeout_pack.js +62 -0
  74. package/lib/phase_3_completion_pack.js +94 -0
  75. package/lib/phase_3_decision_record_pack.js +64 -0
  76. package/lib/phase_3_decision_resolution_pack.js +69 -0
  77. package/lib/phase_3_freeze_baseline_pack.js +67 -0
  78. package/lib/phase_3_freeze_review_pack.js +80 -0
  79. package/lib/phase_3_gate_pack.js +76 -0
  80. package/lib/phase_3_metanet_runtime_pack.js +81 -0
  81. package/lib/phase_3_native_bsv_pack.js +91 -0
  82. package/lib/phase_3_native_continuity_pack.js +82 -0
  83. package/lib/phase_4_attestation_runtime_pack.js +75 -0
  84. package/lib/phase_4_closeout_pack.js +45 -0
  85. package/lib/phase_4_completion_pack.js +94 -0
  86. package/lib/phase_4_decision_record_pack.js +54 -0
  87. package/lib/phase_4_decision_resolution_pack.js +45 -0
  88. package/lib/phase_4_erc8004_runtime_pack.js +76 -0
  89. package/lib/phase_4_freeze_baseline_pack.js +67 -0
  90. package/lib/phase_4_freeze_review_pack.js +68 -0
  91. package/lib/phase_4_gate_pack.js +58 -0
  92. package/lib/phase_4_identity_registry_runtime_pack.js +75 -0
  93. package/lib/phase_4_identity_trust_pack.js +73 -0
  94. package/lib/phase_4_trust_continuity_pack.js +86 -0
  95. package/lib/phase_5_antelope_runtime_pack.js +76 -0
  96. package/lib/phase_5_closeout_pack.js +44 -0
  97. package/lib/phase_5_completion_pack.js +82 -0
  98. package/lib/phase_5_decision_record_pack.js +54 -0
  99. package/lib/phase_5_decision_resolution_pack.js +45 -0
  100. package/lib/phase_5_freeze_baseline_pack.js +67 -0
  101. package/lib/phase_5_freeze_review_pack.js +68 -0
  102. package/lib/phase_5_gate_pack.js +58 -0
  103. package/lib/phase_5_major_rails_continuity_pack.js +86 -0
  104. package/lib/phase_5_major_rails_pack.js +74 -0
  105. package/lib/phase_5_proton_xpr_runtime_pack.js +76 -0
  106. package/lib/phase_5_solana_runtime_pack.js +76 -0
  107. package/lib/phase_6_autogen_runtime_pack.js +72 -0
  108. package/lib/phase_6_closeout_pack.js +46 -0
  109. package/lib/phase_6_completion_pack.js +77 -0
  110. package/lib/phase_6_decision_record_pack.js +54 -0
  111. package/lib/phase_6_decision_resolution_pack.js +53 -0
  112. package/lib/phase_6_framework_continuity_pack.js +81 -0
  113. package/lib/phase_6_framework_runtime_pack.js +68 -0
  114. package/lib/phase_6_freeze_baseline_pack.js +68 -0
  115. package/lib/phase_6_freeze_review_pack.js +65 -0
  116. package/lib/phase_6_gate_pack.js +59 -0
  117. package/lib/phase_6_langchain_runtime_pack.js +72 -0
  118. package/lib/phase_6_langgraph_runtime_pack.js +72 -0
  119. package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -0
  120. package/lib/phase_7_closeout_pack.js +45 -0
  121. package/lib/phase_7_completion_pack.js +85 -0
  122. package/lib/phase_7_decision_record_pack.js +53 -0
  123. package/lib/phase_7_decision_resolution_pack.js +53 -0
  124. package/lib/phase_7_event_system_continuity_pack.js +89 -0
  125. package/lib/phase_7_event_system_pack.js +76 -0
  126. package/lib/phase_7_freeze_baseline_pack.js +74 -0
  127. package/lib/phase_7_freeze_review_pack.js +65 -0
  128. package/lib/phase_7_gate_pack.js +58 -0
  129. package/lib/phase_7_kafka_runtime_pack.js +74 -0
  130. package/lib/phase_7_mqtt_runtime_pack.js +74 -0
  131. package/lib/phase_7_nats_runtime_pack.js +74 -0
  132. package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -0
  133. package/lib/phase_8_closeout_pack.js +46 -0
  134. package/lib/phase_8_completion_pack.js +82 -0
  135. package/lib/phase_8_decision_record_pack.js +54 -0
  136. package/lib/phase_8_decision_resolution_pack.js +53 -0
  137. package/lib/phase_8_external_receipt_import_runtime_pack.js +74 -0
  138. package/lib/phase_8_external_result_import_runtime_pack.js +74 -0
  139. package/lib/phase_8_freeze_baseline_pack.js +71 -0
  140. package/lib/phase_8_freeze_review_pack.js +64 -0
  141. package/lib/phase_8_gate_pack.js +58 -0
  142. package/lib/phase_8_proof_bridge_continuity_pack.js +86 -0
  143. package/lib/phase_8_proof_bridges_pack.js +72 -0
  144. package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +74 -0
  145. package/lib/phase_9_closeout_pack.js +46 -0
  146. package/lib/phase_9_completion_pack.js +82 -0
  147. package/lib/phase_9_custody_refs_runtime_pack.js +74 -0
  148. package/lib/phase_9_decision_record_pack.js +54 -0
  149. package/lib/phase_9_decision_resolution_pack.js +53 -0
  150. package/lib/phase_9_freeze_baseline_pack.js +71 -0
  151. package/lib/phase_9_freeze_review_pack.js +64 -0
  152. package/lib/phase_9_gate_pack.js +58 -0
  153. package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +74 -0
  154. package/lib/phase_9_treasury_connectivity_pack.js +72 -0
  155. package/lib/phase_9_treasury_continuity_pack.js +86 -0
  156. package/lib/phase_9_treasury_destinations_runtime_pack.js +74 -0
  157. package/lib/phase_program_pack.js +120 -0
  158. package/lib/release_center.js +970 -0
  159. package/lib/release_history.js +1 -1
  160. package/lib/runtime_state_store.js +212 -27
  161. package/lib/soft_launch_pack.js +78 -0
  162. package/package.json +13 -1
  163. package/server.js +2110 -235
package/index.js CHANGED
@@ -31,6 +31,10 @@ const {
31
31
  buildReleaseHistory,
32
32
  summarizeReleaseHistory
33
33
  } = require("./lib/release_history");
34
+ const {
35
+ buildAdapterPack,
36
+ summarizeAdapterPack
37
+ } = require("./lib/adapter_pack");
34
38
  const {
35
39
  buildPublishPlan,
36
40
  summarizePublishPlan
@@ -90,7 +94,7 @@ const {
90
94
  } = require("./integrations/registry");
91
95
 
92
96
  const COMMERCE_SDK_NAME = "xytara";
93
- const COMMERCE_SDK_VERSION = "2.1.0";
97
+ const COMMERCE_SDK_VERSION = "2.2.0";
94
98
  const COMMERCE_API_VERSION = "v1";
95
99
 
96
100
  function createClient(options) {
@@ -153,6 +157,8 @@ module.exports = {
153
157
  summarizeReleaseCenter,
154
158
  buildReleaseHistory,
155
159
  summarizeReleaseHistory,
160
+ buildAdapterPack,
161
+ summarizeAdapterPack,
156
162
  buildPublishPlan,
157
163
  summarizePublishPlan,
158
164
  buildEcosystemEntryPack,
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ const packageJson = require("../package.json");
4
+
5
+ function buildAdapterPack() {
6
+ return {
7
+ ok: true,
8
+ product: packageJson.name,
9
+ category: "machine-commerce-adapter-pack",
10
+ positioning: {
11
+ line: "adapter-first machine commerce for third-party execution, settlement, protocol, and identity surfaces",
12
+ intended_for: [
13
+ "adapter_authors",
14
+ "protocol_bridge_builders",
15
+ "settlement_integrators",
16
+ "identity_and_registry_integrators"
17
+ ]
18
+ },
19
+ onboarding: {
20
+ first_docs: [
21
+ "ADAPTER_START_HERE.md",
22
+ "adapters/AUTHORING_GUIDE.md",
23
+ "adapters/ONBOARDING_POSTURE.md",
24
+ "adapters/THIRD_PARTY_SUBMISSION_PROCESS.md"
25
+ ],
26
+ starter_classes: [
27
+ "execution_adapter",
28
+ "payment_rail_adapter",
29
+ "settlement_adapter",
30
+ "agent_protocol_adapter",
31
+ "identity_registry_adapter"
32
+ ],
33
+ first_commands: [
34
+ "npm run verify:adapters",
35
+ "node scripts/registry_cli.js validate-bundle --example protocol",
36
+ "node scripts/registry_cli.js review-bundle --example protocol",
37
+ "node scripts/registry_cli.js promotion-readiness --integration partner.protocol.acme_mcp"
38
+ ]
39
+ },
40
+ artifact_stack: [
41
+ "adapter_manifest",
42
+ "registration_record",
43
+ "certification_pack",
44
+ "submission_bundle",
45
+ "submission_bundle_set",
46
+ "registry_snapshot"
47
+ ],
48
+ promotion_posture: {
49
+ explicit_states: [
50
+ "review_ready",
51
+ "default_eligible",
52
+ "production_default_ready"
53
+ ],
54
+ default_third_party_posture: {
55
+ discoverable: true,
56
+ reviewable: true,
57
+ explicitly_selectable: true,
58
+ default_eligible: false,
59
+ production_default_ready: false
60
+ }
61
+ },
62
+ examples: {
63
+ canonical_examples: [
64
+ "adapters/examples/minimal-third-party-execution-adapter.manifest.json",
65
+ "adapters/examples/minimal-third-party-execution-adapter.js",
66
+ "adapters/examples/minimal-third-party-execution.submission-bundle.json",
67
+ "adapters/examples/example-execution-adapter.manifest.json",
68
+ "adapters/examples/example-execution-adapter.js",
69
+ "adapters/examples/example-settlement-adapter.manifest.json",
70
+ "adapters/examples/example-settlement-adapter.js",
71
+ "adapters/examples/example-third-party-registration.submission-bundle.json",
72
+ "adapters/examples/example-third-party-identity-registration.submission-bundle.json",
73
+ "adapters/examples/example-third-party-settlement-registration.submission-bundle.json"
74
+ ],
75
+ review_examples: [
76
+ "minimal_third_party_execution",
77
+ "protocol",
78
+ "identity",
79
+ "settlement"
80
+ ]
81
+ },
82
+ public_surfaces: {
83
+ integrations_summary: "/v1/integrations/summary",
84
+ promotion_readiness: "/v1/integrations/promotion-readiness",
85
+ promotion_actions: "/v1/integrations/promotion-actions",
86
+ submission_bundle_review: "/v1/integrations/review/submission-bundle",
87
+ submission_bundle_set_review: "/v1/integrations/review/submission-bundle-set",
88
+ registry_snapshot_review: "/v1/integrations/review/registry-snapshot"
89
+ },
90
+ why_it_matters: [
91
+ "third-party integrations can be staged and reviewed without becoming defaults",
92
+ "promotion posture is inspectable as data rather than private process",
93
+ "submission artifacts stay normalized across adapter classes",
94
+ "machine-commerce flexibility does not require vendor lock-in"
95
+ ]
96
+ };
97
+ }
98
+
99
+ function summarizeAdapterPack() {
100
+ const pack = buildAdapterPack();
101
+ return {
102
+ ok: true,
103
+ product: pack.product,
104
+ category: pack.category,
105
+ audience_count: pack.positioning.intended_for.length,
106
+ starter_class_count: pack.onboarding.starter_classes.length,
107
+ first_command_count: pack.onboarding.first_commands.length,
108
+ artifact_count: pack.artifact_stack.length,
109
+ example_count: pack.examples.canonical_examples.length,
110
+ review_example_count: pack.examples.review_examples.length,
111
+ first_doc: pack.onboarding.first_docs[0]
112
+ };
113
+ }
114
+
115
+ module.exports = {
116
+ buildAdapterPack,
117
+ summarizeAdapterPack
118
+ };
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ const packageJson = require("../package.json");
4
+
5
+ function buildAdapterPartnerPack() {
6
+ return {
7
+ ok: true,
8
+ product: packageJson.name,
9
+ category: "machine-commerce-adapter-partner-pack",
10
+ positioning: {
11
+ line: "build, review, and promote third-party adapters on top of xytara without giving up explicit trust posture",
12
+ intended_for: [
13
+ "ecosystem_partners",
14
+ "adapter_authors",
15
+ "marketplace_integrators",
16
+ "review_operators"
17
+ ]
18
+ },
19
+ partner_value: [
20
+ "adapter authors can start from a public minimal example instead of reverse-engineering internal flows",
21
+ "review posture is inspectable through explicit readiness and action surfaces",
22
+ "default-selection trust is earned through promotion data, not hidden exceptions",
23
+ "xytara stays flexible without forcing partners into one vendor-specific runtime story"
24
+ ],
25
+ start_path: {
26
+ first_docs: [
27
+ "ADAPTER_START_HERE.md",
28
+ "ADAPTER_PROMOTION_START_HERE.md"
29
+ ],
30
+ first_commands: [
31
+ "npm run verify:adapters",
32
+ "node scripts/registry_cli.js review-bundle --file adapters/examples/minimal-third-party-execution.submission-bundle.json",
33
+ "node scripts/registry_cli.js promotion-workflow --integration partner.execution.minimal_echo",
34
+ "xytara-release --adapter-promotion --summary"
35
+ ],
36
+ first_examples: [
37
+ "adapters/examples/minimal-third-party-execution-adapter.manifest.json",
38
+ "adapters/examples/minimal-third-party-execution.submission-bundle.json"
39
+ ]
40
+ },
41
+ trust_path: {
42
+ maturity_path: [
43
+ "starter_example",
44
+ "staging_registered",
45
+ "review_ready",
46
+ "default_eligible",
47
+ "production_default_ready"
48
+ ],
49
+ key_questions: [
50
+ "what is valid to ship now?",
51
+ "what still blocks trust or default selection?",
52
+ "what evidence is still missing?",
53
+ "what action moves the integration forward next?"
54
+ ]
55
+ },
56
+ public_surfaces: {
57
+ adapter_pack: "/v1/adapter-pack/summary",
58
+ adapter_promotion: "/v1/adapter-promotion/summary",
59
+ promotion_readiness: "/v1/integrations/promotion-readiness",
60
+ promotion_workflow: "/v1/integrations/promotion-workflow",
61
+ promotion_actions: "/v1/integrations/promotion-actions",
62
+ release_center: "/v1/release-center/summary"
63
+ },
64
+ adoption_message: {
65
+ why_build_here: "partners get a machine-commerce spine with explicit review and promotion posture instead of opaque integration trust",
66
+ first_partner_type: "adapter_author",
67
+ first_success: "a partner can copy the minimal starter, validate it locally, review the submission bundle, and inspect the next promotion action without private coordination"
68
+ }
69
+ };
70
+ }
71
+
72
+ function summarizeAdapterPartnerPack() {
73
+ const pack = buildAdapterPartnerPack();
74
+ return {
75
+ ok: true,
76
+ product: pack.product,
77
+ category: pack.category,
78
+ audience_count: pack.positioning.intended_for.length,
79
+ value_count: pack.partner_value.length,
80
+ first_command_count: pack.start_path.first_commands.length,
81
+ maturity_step_count: pack.trust_path.maturity_path.length,
82
+ first_partner_type: pack.adoption_message.first_partner_type
83
+ };
84
+ }
85
+
86
+ module.exports = {
87
+ buildAdapterPartnerPack,
88
+ summarizeAdapterPartnerPack
89
+ };
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ const packageJson = require("../package.json");
4
+
5
+ function buildAdapterPromotionPack() {
6
+ return {
7
+ ok: true,
8
+ product: packageJson.name,
9
+ category: "machine-commerce-adapter-promotion-pack",
10
+ positioning: {
11
+ line: "promotion-first adapter maturity for third-party integrations that need explicit review, certification, and default-selection trust",
12
+ intended_for: [
13
+ "adapter_authors",
14
+ "review_operators",
15
+ "integration_owners",
16
+ "ecosystem_partners"
17
+ ]
18
+ },
19
+ maturity_path: [
20
+ "starter_example",
21
+ "staging_registered",
22
+ "review_ready",
23
+ "default_eligible",
24
+ "production_default_ready"
25
+ ],
26
+ first_docs: [
27
+ "ADAPTER_PROMOTION_START_HERE.md",
28
+ "ADAPTER_START_HERE.md",
29
+ "adapters/ONBOARDING_POSTURE.md",
30
+ "adapters/THIRD_PARTY_SUBMISSION_PROCESS.md"
31
+ ],
32
+ first_commands: [
33
+ "node scripts/registry_cli.js review-bundle --file adapters/examples/minimal-third-party-execution.submission-bundle.json",
34
+ "node scripts/registry_cli.js promotion-readiness --integration partner.execution.minimal_echo",
35
+ "node scripts/registry_cli.js promotion-workflow --integration partner.execution.minimal_echo",
36
+ "node scripts/registry_cli.js promotion-action-set --integration partner.execution.minimal_echo",
37
+ "node scripts/registry_cli.js promotion-action-preview --integration partner.execution.minimal_echo --action complete_certification"
38
+ ],
39
+ canonical_examples: {
40
+ starter_bundle: "adapters/examples/minimal-third-party-execution.submission-bundle.json",
41
+ staged_protocol_bundle: "adapters/examples/example-third-party-registration.submission-bundle.json",
42
+ staged_identity_bundle: "adapters/examples/example-third-party-identity-registration.submission-bundle.json",
43
+ staged_settlement_bundle: "adapters/examples/example-third-party-settlement-registration.submission-bundle.json",
44
+ staged_integration_id: "partner.protocol.acme_mcp",
45
+ starter_integration_id: "partner.execution.minimal_echo"
46
+ },
47
+ public_surfaces: {
48
+ promotion_readiness_list: "/v1/integrations/promotion-readiness",
49
+ promotion_workflow_list: "/v1/integrations/promotion-workflow",
50
+ promotion_action_list: "/v1/integrations/promotion-actions",
51
+ promotion_readiness_detail: "/v1/integrations/:integration_id/promotion-readiness",
52
+ promotion_workflow_detail: "/v1/integrations/:integration_id/promotion-workflow",
53
+ promotion_action_detail: "/v1/integrations/:integration_id/promotion-actions",
54
+ promotion_action_preview: "/v1/integrations/promotion-actions/preview"
55
+ },
56
+ review_questions: [
57
+ "is the integration review-ready?",
58
+ "what blockers still prevent default eligibility?",
59
+ "what certification gaps remain?",
60
+ "what promotion action is valid now?"
61
+ ],
62
+ why_it_matters: [
63
+ "third-party integrations can advance through explicit review states instead of private judgment",
64
+ "default selection stays gated behind visible posture and certification data",
65
+ "review operators and adapter authors can inspect the same promotion model",
66
+ "adapter flexibility stays compatible with trust and production-default discipline"
67
+ ]
68
+ };
69
+ }
70
+
71
+ function summarizeAdapterPromotionPack() {
72
+ const pack = buildAdapterPromotionPack();
73
+ return {
74
+ ok: true,
75
+ product: pack.product,
76
+ category: pack.category,
77
+ audience_count: pack.positioning.intended_for.length,
78
+ maturity_step_count: pack.maturity_path.length,
79
+ first_command_count: pack.first_commands.length,
80
+ review_question_count: pack.review_questions.length,
81
+ first_doc: pack.first_docs[0],
82
+ starter_integration_id: pack.canonical_examples.starter_integration_id
83
+ };
84
+ }
85
+
86
+ module.exports = {
87
+ buildAdapterPromotionPack,
88
+ summarizeAdapterPromotionPack
89
+ };
@@ -3776,6 +3776,30 @@ class CommerceClient {
3776
3776
  return result && result.data ? result.data : null;
3777
3777
  }
3778
3778
 
3779
+ async getPartnerIntelligenceSummary() {
3780
+ const result = await this.getJson("/v1/partner-intelligence/summary");
3781
+ return result && result.data ? result.data : null;
3782
+ }
3783
+
3784
+ async getPartnerIntelligencePack() {
3785
+ const result = await this.getJson("/v1/partner-intelligence");
3786
+ return result && result.data ? result.data : null;
3787
+ }
3788
+
3789
+ async getOperatorIntelligenceSummary(accountId) {
3790
+ const resolvedAccountId = String(accountId || this.accountId || "").trim();
3791
+ const suffix = resolvedAccountId ? `?account_id=${encodeURIComponent(resolvedAccountId)}` : "";
3792
+ const result = await this.getJson(`/v1/operator-intelligence/summary${suffix}`);
3793
+ return result && result.data ? result.data : null;
3794
+ }
3795
+
3796
+ async getOperatorIntelligencePack(accountId) {
3797
+ const resolvedAccountId = String(accountId || this.accountId || "").trim();
3798
+ const suffix = resolvedAccountId ? `?account_id=${encodeURIComponent(resolvedAccountId)}` : "";
3799
+ const result = await this.getJson(`/v1/operator-intelligence${suffix}`);
3800
+ return result && result.data ? result.data : null;
3801
+ }
3802
+
3779
3803
  async getCreditBalance(accountId) {
3780
3804
  const resolvedAccountId = String(accountId || this.accountId || "").trim();
3781
3805
  if (!resolvedAccountId) throw new Error("getCreditBalance requires accountId");
@@ -3783,6 +3807,20 @@ class CommerceClient {
3783
3807
  return result && result.data ? result.data : null;
3784
3808
  }
3785
3809
 
3810
+ async getEconomicsIntelligenceSummary(accountId) {
3811
+ const resolvedAccountId = String(accountId || this.accountId || "").trim();
3812
+ if (!resolvedAccountId) throw new Error("getEconomicsIntelligenceSummary requires accountId");
3813
+ const result = await this.getJson(`/v1/economics/accounts/${encodeURIComponent(resolvedAccountId)}/intelligence-summary`);
3814
+ return result && result.data ? result.data : null;
3815
+ }
3816
+
3817
+ async getTreasuryIntelligenceSummary(accountId) {
3818
+ const resolvedAccountId = String(accountId || this.accountId || "").trim();
3819
+ if (!resolvedAccountId) throw new Error("getTreasuryIntelligenceSummary requires accountId");
3820
+ const result = await this.getJson(`/v1/economics/accounts/${encodeURIComponent(resolvedAccountId)}/treasury-intelligence-summary`);
3821
+ return result && result.data ? result.data : null;
3822
+ }
3823
+
3786
3824
  async getUsageMeteringSummary(accountId) {
3787
3825
  const resolvedAccountId = String(accountId || this.accountId || "").trim();
3788
3826
  if (!resolvedAccountId) throw new Error("getUsageMeteringSummary requires accountId");