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.
- package/.env.example +5 -1
- package/ADAPTER_START_HERE.md +56 -0
- package/CARRIED_HANDOFF_DEMO.md +60 -0
- package/EXAMPLE_PATHS.md +53 -0
- package/OPERATIONS_RUNBOOK.md +65 -0
- package/OPERATOR_START_HERE.md +63 -0
- package/PARTNER_READY_PATH.md +71 -0
- package/PROGRAM_COMPLETE_RELEASE.md +63 -0
- package/PROGRAM_STATUS.md +57 -0
- package/PUBLIC_DEMO_SCRIPT.md +78 -0
- package/PUBLISH_PLAN.md +7 -5
- package/README.md +66 -0
- package/RELEASE_CHECKLIST.md +8 -2
- package/RELEASE_NOTES.md +19 -8
- package/START_HERE.md +32 -0
- package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -0
- package/WHY_XYTARA_XOONYA.md +63 -0
- package/adapters/examples/minimal-third-party-execution-adapter.js +61 -0
- package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -0
- package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -0
- package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -0
- package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -0
- package/bin/xytara-release.js +1251 -1
- package/examples/adapter_review_walkthrough.js +53 -0
- package/examples/export_carried_handoff.js +80 -0
- package/examples/funded_runtime_walkthrough.js +70 -0
- package/examples/partner_launch_walkthrough.js +43 -0
- package/examples/quickstart.js +3255 -0
- package/index.js +7 -1
- package/lib/adapter_pack.js +118 -0
- package/lib/adapter_partner_pack.js +89 -0
- package/lib/adapter_promotion_pack.js +89 -0
- package/lib/commerce_client.js +38 -0
- package/lib/commerce_economics.js +304 -0
- package/lib/operator_intelligence.js +90 -0
- package/lib/outreach_copy_pack.js +51 -0
- package/lib/outreach_message_pack.js +71 -0
- package/lib/outreach_target_pack.js +60 -0
- package/lib/partner_intelligence.js +105 -0
- package/lib/phase_10_closeout_pack.js +45 -0
- package/lib/phase_10_completion_pack.js +76 -0
- package/lib/phase_10_decision_record_pack.js +54 -0
- package/lib/phase_10_decision_resolution_pack.js +53 -0
- package/lib/phase_10_demand_signal_adapters_runtime_pack.js +74 -0
- package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +74 -0
- package/lib/phase_10_freeze_baseline_pack.js +67 -0
- package/lib/phase_10_freeze_review_pack.js +64 -0
- package/lib/phase_10_gate_pack.js +57 -0
- package/lib/phase_10_long_tail_continuity_pack.js +80 -0
- package/lib/phase_10_long_tail_ecosystem_pack.js +66 -0
- package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -0
- package/lib/phase_1_claude_mcp_pack.js +60 -0
- package/lib/phase_1_claude_mcp_runtime_pack.js +52 -0
- package/lib/phase_1_ecosystem_pack.js +67 -0
- package/lib/phase_1_openai_codex_pack.js +60 -0
- package/lib/phase_1_openai_codex_runtime_pack.js +52 -0
- package/lib/phase_2_base_runtime_pack.js +71 -0
- package/lib/phase_2_base_usdc_runtime_pack.js +72 -0
- package/lib/phase_2_closeout_pack.js +65 -0
- package/lib/phase_2_completion_pack.js +113 -0
- package/lib/phase_2_decision_record_pack.js +66 -0
- package/lib/phase_2_decision_resolution_pack.js +69 -0
- package/lib/phase_2_eth_runtime_pack.js +70 -0
- package/lib/phase_2_evm_base_runtime_pack.js +73 -0
- package/lib/phase_2_evm_runtime_pack.js +71 -0
- package/lib/phase_2_flip_preview_pack.js +60 -0
- package/lib/phase_2_freeze_review_pack.js +99 -0
- package/lib/phase_2_gate_pack.js +77 -0
- package/lib/phase_2_payment_rails_pack.js +71 -0
- package/lib/phase_2_usdc_runtime_pack.js +71 -0
- package/lib/phase_3_brc_runtime_pack.js +81 -0
- package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -0
- package/lib/phase_3_closeout_pack.js +62 -0
- package/lib/phase_3_completion_pack.js +94 -0
- package/lib/phase_3_decision_record_pack.js +64 -0
- package/lib/phase_3_decision_resolution_pack.js +69 -0
- package/lib/phase_3_freeze_baseline_pack.js +67 -0
- package/lib/phase_3_freeze_review_pack.js +80 -0
- package/lib/phase_3_gate_pack.js +76 -0
- package/lib/phase_3_metanet_runtime_pack.js +81 -0
- package/lib/phase_3_native_bsv_pack.js +91 -0
- package/lib/phase_3_native_continuity_pack.js +82 -0
- package/lib/phase_4_attestation_runtime_pack.js +75 -0
- package/lib/phase_4_closeout_pack.js +45 -0
- package/lib/phase_4_completion_pack.js +94 -0
- package/lib/phase_4_decision_record_pack.js +54 -0
- package/lib/phase_4_decision_resolution_pack.js +45 -0
- package/lib/phase_4_erc8004_runtime_pack.js +76 -0
- package/lib/phase_4_freeze_baseline_pack.js +67 -0
- package/lib/phase_4_freeze_review_pack.js +68 -0
- package/lib/phase_4_gate_pack.js +58 -0
- package/lib/phase_4_identity_registry_runtime_pack.js +75 -0
- package/lib/phase_4_identity_trust_pack.js +73 -0
- package/lib/phase_4_trust_continuity_pack.js +86 -0
- package/lib/phase_5_antelope_runtime_pack.js +76 -0
- package/lib/phase_5_closeout_pack.js +44 -0
- package/lib/phase_5_completion_pack.js +82 -0
- package/lib/phase_5_decision_record_pack.js +54 -0
- package/lib/phase_5_decision_resolution_pack.js +45 -0
- package/lib/phase_5_freeze_baseline_pack.js +67 -0
- package/lib/phase_5_freeze_review_pack.js +68 -0
- package/lib/phase_5_gate_pack.js +58 -0
- package/lib/phase_5_major_rails_continuity_pack.js +86 -0
- package/lib/phase_5_major_rails_pack.js +74 -0
- package/lib/phase_5_proton_xpr_runtime_pack.js +76 -0
- package/lib/phase_5_solana_runtime_pack.js +76 -0
- package/lib/phase_6_autogen_runtime_pack.js +72 -0
- package/lib/phase_6_closeout_pack.js +46 -0
- package/lib/phase_6_completion_pack.js +77 -0
- package/lib/phase_6_decision_record_pack.js +54 -0
- package/lib/phase_6_decision_resolution_pack.js +53 -0
- package/lib/phase_6_framework_continuity_pack.js +81 -0
- package/lib/phase_6_framework_runtime_pack.js +68 -0
- package/lib/phase_6_freeze_baseline_pack.js +68 -0
- package/lib/phase_6_freeze_review_pack.js +65 -0
- package/lib/phase_6_gate_pack.js +59 -0
- package/lib/phase_6_langchain_runtime_pack.js +72 -0
- package/lib/phase_6_langgraph_runtime_pack.js +72 -0
- package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -0
- package/lib/phase_7_closeout_pack.js +45 -0
- package/lib/phase_7_completion_pack.js +85 -0
- package/lib/phase_7_decision_record_pack.js +53 -0
- package/lib/phase_7_decision_resolution_pack.js +53 -0
- package/lib/phase_7_event_system_continuity_pack.js +89 -0
- package/lib/phase_7_event_system_pack.js +76 -0
- package/lib/phase_7_freeze_baseline_pack.js +74 -0
- package/lib/phase_7_freeze_review_pack.js +65 -0
- package/lib/phase_7_gate_pack.js +58 -0
- package/lib/phase_7_kafka_runtime_pack.js +74 -0
- package/lib/phase_7_mqtt_runtime_pack.js +74 -0
- package/lib/phase_7_nats_runtime_pack.js +74 -0
- package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -0
- package/lib/phase_8_closeout_pack.js +46 -0
- package/lib/phase_8_completion_pack.js +82 -0
- package/lib/phase_8_decision_record_pack.js +54 -0
- package/lib/phase_8_decision_resolution_pack.js +53 -0
- package/lib/phase_8_external_receipt_import_runtime_pack.js +74 -0
- package/lib/phase_8_external_result_import_runtime_pack.js +74 -0
- package/lib/phase_8_freeze_baseline_pack.js +71 -0
- package/lib/phase_8_freeze_review_pack.js +64 -0
- package/lib/phase_8_gate_pack.js +58 -0
- package/lib/phase_8_proof_bridge_continuity_pack.js +86 -0
- package/lib/phase_8_proof_bridges_pack.js +72 -0
- package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +74 -0
- package/lib/phase_9_closeout_pack.js +46 -0
- package/lib/phase_9_completion_pack.js +82 -0
- package/lib/phase_9_custody_refs_runtime_pack.js +74 -0
- package/lib/phase_9_decision_record_pack.js +54 -0
- package/lib/phase_9_decision_resolution_pack.js +53 -0
- package/lib/phase_9_freeze_baseline_pack.js +71 -0
- package/lib/phase_9_freeze_review_pack.js +64 -0
- package/lib/phase_9_gate_pack.js +58 -0
- package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +74 -0
- package/lib/phase_9_treasury_connectivity_pack.js +72 -0
- package/lib/phase_9_treasury_continuity_pack.js +86 -0
- package/lib/phase_9_treasury_destinations_runtime_pack.js +74 -0
- package/lib/phase_program_pack.js +120 -0
- package/lib/release_center.js +970 -0
- package/lib/release_history.js +1 -1
- package/lib/runtime_state_store.js +212 -27
- package/lib/soft_launch_pack.js +78 -0
- package/package.json +13 -1
- 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.
|
|
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
|
+
};
|
package/lib/commerce_client.js
CHANGED
|
@@ -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");
|