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.
- package/.env.example +6 -0
- package/ADAPTER_START_HERE.md +56 -0
- package/BSV_TERANODE_SETUP.md +30 -1
- package/CARRIED_HANDOFF_DEMO.md +60 -0
- package/EXAMPLE_PATHS.md +53 -0
- package/FINAL_CONTRACT.md +6 -6
- 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 +14 -0
- package/README.md +142 -6
- package/RELEASE_CHECKLIST.md +16 -0
- package/RELEASE_NOTES.md +28 -0
- package/SERVICE_CONTRACT.md +4 -4
- 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 +1419 -0
- package/bin/xytara-run.js +186 -0
- 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 +87 -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/announcement_pack.js +61 -0
- package/lib/commerce_artifacts.js +3 -0
- package/lib/commerce_economics.js +14 -0
- package/lib/commerce_reports.js +26 -1
- package/lib/commerce_shell.js +18 -2
- package/lib/ecosystem_entry.js +64 -0
- package/lib/launch_narrative.js +53 -0
- package/lib/outreach_copy_pack.js +51 -0
- package/lib/outreach_message_pack.js +71 -0
- package/lib/outreach_proof.js +71 -0
- package/lib/outreach_target_pack.js +60 -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/publish_plan.js +51 -0
- package/lib/release_candidate.js +50 -0
- package/lib/release_center.js +1085 -0
- package/lib/release_history.js +72 -0
- package/lib/release_manifest.js +114 -0
- package/lib/release_pack.js +454 -0
- package/lib/runtime_state_store.js +354 -0
- package/lib/settlement_bsv_live.js +262 -13
- package/lib/soft_launch_pack.js +78 -0
- package/package.json +24 -2
- package/server.js +2562 -220
package/index.js
CHANGED
|
@@ -5,6 +5,60 @@ const {
|
|
|
5
5
|
ADAPTER_INTERFACE_VERSION,
|
|
6
6
|
validateAdapterImplementation
|
|
7
7
|
} = require("./adapters/interfaces");
|
|
8
|
+
const {
|
|
9
|
+
buildReleasePack,
|
|
10
|
+
summarizeReleasePack,
|
|
11
|
+
buildComparisonPack,
|
|
12
|
+
summarizeComparisonPack,
|
|
13
|
+
buildAdoptionPack,
|
|
14
|
+
summarizeAdoptionPack,
|
|
15
|
+
buildScenarioPack,
|
|
16
|
+
summarizeScenarioPack,
|
|
17
|
+
buildLaunchPack,
|
|
18
|
+
summarizeLaunchPack
|
|
19
|
+
} = require("./lib/release_pack");
|
|
20
|
+
const {
|
|
21
|
+
buildReleaseManifest,
|
|
22
|
+
summarizeReleaseManifest,
|
|
23
|
+
buildLaunchNotes,
|
|
24
|
+
summarizeLaunchNotes
|
|
25
|
+
} = require("./lib/release_manifest");
|
|
26
|
+
const {
|
|
27
|
+
buildReleaseCenter,
|
|
28
|
+
summarizeReleaseCenter
|
|
29
|
+
} = require("./lib/release_center");
|
|
30
|
+
const {
|
|
31
|
+
buildReleaseHistory,
|
|
32
|
+
summarizeReleaseHistory
|
|
33
|
+
} = require("./lib/release_history");
|
|
34
|
+
const {
|
|
35
|
+
buildAdapterPack,
|
|
36
|
+
summarizeAdapterPack
|
|
37
|
+
} = require("./lib/adapter_pack");
|
|
38
|
+
const {
|
|
39
|
+
buildPublishPlan,
|
|
40
|
+
summarizePublishPlan
|
|
41
|
+
} = require("./lib/publish_plan");
|
|
42
|
+
const {
|
|
43
|
+
buildEcosystemEntryPack,
|
|
44
|
+
summarizeEcosystemEntryPack
|
|
45
|
+
} = require("./lib/ecosystem_entry");
|
|
46
|
+
const {
|
|
47
|
+
buildLaunchNarrativePack,
|
|
48
|
+
summarizeLaunchNarrativePack
|
|
49
|
+
} = require("./lib/launch_narrative");
|
|
50
|
+
const {
|
|
51
|
+
buildOutreachProofPack,
|
|
52
|
+
summarizeOutreachProofPack
|
|
53
|
+
} = require("./lib/outreach_proof");
|
|
54
|
+
const {
|
|
55
|
+
buildAnnouncementPack,
|
|
56
|
+
summarizeAnnouncementPack
|
|
57
|
+
} = require("./lib/announcement_pack");
|
|
58
|
+
const {
|
|
59
|
+
buildReleaseCandidatePack,
|
|
60
|
+
summarizeReleaseCandidatePack
|
|
61
|
+
} = require("./lib/release_candidate");
|
|
8
62
|
const {
|
|
9
63
|
getIntegration,
|
|
10
64
|
listIntegrations,
|
|
@@ -40,7 +94,7 @@ const {
|
|
|
40
94
|
} = require("./integrations/registry");
|
|
41
95
|
|
|
42
96
|
const COMMERCE_SDK_NAME = "xytara";
|
|
43
|
-
const COMMERCE_SDK_VERSION = "2.
|
|
97
|
+
const COMMERCE_SDK_VERSION = "2.2.0";
|
|
44
98
|
const COMMERCE_API_VERSION = "v1";
|
|
45
99
|
|
|
46
100
|
function createClient(options) {
|
|
@@ -85,5 +139,37 @@ module.exports = {
|
|
|
85
139
|
summarizeIntegrationPromotionActionPreview,
|
|
86
140
|
summarizeIntegrationPromotionActionSet,
|
|
87
141
|
summarizeIntegrationPromotionActionSetList,
|
|
142
|
+
buildReleasePack,
|
|
143
|
+
summarizeReleasePack,
|
|
144
|
+
buildComparisonPack,
|
|
145
|
+
summarizeComparisonPack,
|
|
146
|
+
buildAdoptionPack,
|
|
147
|
+
summarizeAdoptionPack,
|
|
148
|
+
buildScenarioPack,
|
|
149
|
+
summarizeScenarioPack,
|
|
150
|
+
buildLaunchPack,
|
|
151
|
+
summarizeLaunchPack,
|
|
152
|
+
buildReleaseManifest,
|
|
153
|
+
summarizeReleaseManifest,
|
|
154
|
+
buildLaunchNotes,
|
|
155
|
+
summarizeLaunchNotes,
|
|
156
|
+
buildReleaseCenter,
|
|
157
|
+
summarizeReleaseCenter,
|
|
158
|
+
buildReleaseHistory,
|
|
159
|
+
summarizeReleaseHistory,
|
|
160
|
+
buildAdapterPack,
|
|
161
|
+
summarizeAdapterPack,
|
|
162
|
+
buildPublishPlan,
|
|
163
|
+
summarizePublishPlan,
|
|
164
|
+
buildEcosystemEntryPack,
|
|
165
|
+
summarizeEcosystemEntryPack,
|
|
166
|
+
buildLaunchNarrativePack,
|
|
167
|
+
summarizeLaunchNarrativePack,
|
|
168
|
+
buildOutreachProofPack,
|
|
169
|
+
summarizeOutreachProofPack,
|
|
170
|
+
buildAnnouncementPack,
|
|
171
|
+
summarizeAnnouncementPack,
|
|
172
|
+
buildReleaseCandidatePack,
|
|
173
|
+
summarizeReleaseCandidatePack,
|
|
88
174
|
validateAdapterImplementation
|
|
89
175
|
};
|
|
@@ -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
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildAnnouncementPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-announcement-pack",
|
|
10
|
+
public_quickstart: {
|
|
11
|
+
install: "npm install xytara",
|
|
12
|
+
first_cli: "xytara-run --url https://xytara.onrender.com --account acct_demo --command \"cli-run\" --task trust.verify --body-json '{\"subject_id\":\"subject-1\"}' --wallet-id merchant_wallet_main --wallet-secret YOUR_LOCAL_SIGNED_SECRET --txid YOUR_BSV_TXID",
|
|
13
|
+
first_release_view: "xytara-release --center --summary",
|
|
14
|
+
first_http: "/v1/release-center/summary"
|
|
15
|
+
},
|
|
16
|
+
release_candidate: {
|
|
17
|
+
checks: [
|
|
18
|
+
"install the package on a clean machine",
|
|
19
|
+
"run xytara-release --center --summary",
|
|
20
|
+
"run npm run verify:all",
|
|
21
|
+
"verify /v1/release-center/summary on the deployed service",
|
|
22
|
+
"verify /v1/outreach-proof/summary on the deployed service"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
publish_day: {
|
|
26
|
+
sequence: [
|
|
27
|
+
"publish the npm package",
|
|
28
|
+
"redeploy the service and docs surfaces",
|
|
29
|
+
"verify release-center, launch-narrative, and outreach-proof summaries live",
|
|
30
|
+
"run the first public proof path",
|
|
31
|
+
"share the announcement artifact with the target ecosystem audience"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
public_message: {
|
|
35
|
+
headline: "governed machine commerce with direct paid execution, reusable credits, and proof-aware followthrough",
|
|
36
|
+
who_should_try_first: [
|
|
37
|
+
"agent builders",
|
|
38
|
+
"tool and marketplace authors",
|
|
39
|
+
"repeat-use runtime operators"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function summarizeAnnouncementPack() {
|
|
46
|
+
const pack = buildAnnouncementPack();
|
|
47
|
+
return {
|
|
48
|
+
ok: true,
|
|
49
|
+
product: pack.product,
|
|
50
|
+
category: pack.category,
|
|
51
|
+
rc_check_count: pack.release_candidate.checks.length,
|
|
52
|
+
publish_step_count: pack.publish_day.sequence.length,
|
|
53
|
+
first_cli: pack.public_quickstart.first_cli,
|
|
54
|
+
audience_count: pack.public_message.who_should_try_first.length
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
module.exports = {
|
|
59
|
+
buildAnnouncementPack,
|
|
60
|
+
summarizeAnnouncementPack
|
|
61
|
+
};
|
|
@@ -222,6 +222,9 @@ function createCommandArtifacts(payload, quote, options) {
|
|
|
222
222
|
network: bsvHints ? bsvHints.network : null,
|
|
223
223
|
hints: bsvHints,
|
|
224
224
|
txid: bsvPaymentReference && bsvPaymentReference.txid ? bsvPaymentReference.txid : null,
|
|
225
|
+
raw_tx: bsvPaymentReference && (bsvPaymentReference.raw_tx || bsvPaymentReference.rawTx)
|
|
226
|
+
? (bsvPaymentReference.raw_tx || bsvPaymentReference.rawTx)
|
|
227
|
+
: null,
|
|
225
228
|
status: deferredCompletion ? "pending_completion" : "recorded",
|
|
226
229
|
recorded_at_iso: deferredCompletion ? null : completedAt.toISOString()
|
|
227
230
|
};
|
|
@@ -638,6 +638,13 @@ function buildEconomicConsequenceHandoffBundle(state, body) {
|
|
|
638
638
|
};
|
|
639
639
|
}
|
|
640
640
|
const meterProfileRef = normalizeString(payload.meter_profile_ref, `meter-profile.${usageMeter.pricing_band || "utility"}.v1`);
|
|
641
|
+
const paymentRef = normalizeString(payload.payment_ref, null);
|
|
642
|
+
const settlementRef = normalizeString(payload.settlement_ref, null);
|
|
643
|
+
const settlementTxid = normalizeString(payload.settlement_txid, null);
|
|
644
|
+
const settlementStatus = normalizeString(payload.settlement_status, null);
|
|
645
|
+
const settlementFinalityStatus = normalizeString(payload.settlement_finality_status, null);
|
|
646
|
+
const treasuryReceiptRef = normalizeString(payload.treasury_receipt_ref, null);
|
|
647
|
+
const proofRef = normalizeString(payload.proof_ref, null);
|
|
641
648
|
const handoffBundle = {
|
|
642
649
|
contract_version: "naxytra-economic-consequence-handoff-v1",
|
|
643
650
|
source_system: "xytara",
|
|
@@ -647,6 +654,13 @@ function buildEconomicConsequenceHandoffBundle(state, body) {
|
|
|
647
654
|
credit_spend_ref: creditSpend.credit_spend_id,
|
|
648
655
|
usage_meter: usageMeter,
|
|
649
656
|
credit_spend: creditSpend,
|
|
657
|
+
payment_ref: paymentRef,
|
|
658
|
+
settlement_ref: settlementRef,
|
|
659
|
+
settlement_txid: settlementTxid,
|
|
660
|
+
settlement_status: settlementStatus,
|
|
661
|
+
settlement_finality_status: settlementFinalityStatus,
|
|
662
|
+
treasury_receipt_ref: treasuryReceiptRef,
|
|
663
|
+
proof_ref: proofRef,
|
|
650
664
|
handoff_surfaces: {
|
|
651
665
|
proof_bridge_surface: "/v1/proof-center/bridge/economic-handoff",
|
|
652
666
|
proof_conformance_surface: "/v1/proof-center/bridge/economic-conformance-pack"
|
package/lib/commerce_reports.js
CHANGED
|
@@ -13690,12 +13690,18 @@ function buildReconciliationReport(state, filters, listRecords) {
|
|
|
13690
13690
|
};
|
|
13691
13691
|
}
|
|
13692
13692
|
|
|
13693
|
-
function buildOperatorExportPack(state, filters, listRecords) {
|
|
13693
|
+
function buildOperatorExportPack(state, filters, listRecords, options = {}) {
|
|
13694
13694
|
const report = buildReconciliationReport(state, filters, listRecords);
|
|
13695
13695
|
const accountId = report.summary && report.summary.account_id ? report.summary.account_id : null;
|
|
13696
13696
|
const transactions = Array.from(state.transactions.values()).map((item) => item.transaction);
|
|
13697
13697
|
const receipts = Array.from(state.receipts.values()).map((item) => item.receipt);
|
|
13698
13698
|
const paymentLedger = Array.isArray(state.paymentLedger) ? state.paymentLedger.slice(0, 20) : [];
|
|
13699
|
+
const runtimeDurability = options.runtime_durability && typeof options.runtime_durability === "object"
|
|
13700
|
+
? options.runtime_durability
|
|
13701
|
+
: null;
|
|
13702
|
+
const nativeSettlementReadiness = options.native_settlement_readiness && typeof options.native_settlement_readiness === "object"
|
|
13703
|
+
? options.native_settlement_readiness
|
|
13704
|
+
: null;
|
|
13699
13705
|
return {
|
|
13700
13706
|
ok: true,
|
|
13701
13707
|
export_version: "commerce-operator-export-pack-v1",
|
|
@@ -13729,6 +13735,25 @@ function buildOperatorExportPack(state, filters, listRecords) {
|
|
|
13729
13735
|
metering_summary_ref: report.summary && report.summary.linked_surfaces ? report.summary.linked_surfaces.metering_summary : null,
|
|
13730
13736
|
usage_meters_ref: report.summary && report.summary.linked_surfaces ? report.summary.linked_surfaces.usage_meters : null
|
|
13731
13737
|
},
|
|
13738
|
+
runtime_center: {
|
|
13739
|
+
snapshot_enabled: runtimeDurability ? runtimeDurability.enabled === true : false,
|
|
13740
|
+
snapshot_exists: runtimeDurability ? runtimeDurability.snapshot_exists === true : false,
|
|
13741
|
+
snapshot_updated_at_iso: runtimeDurability ? runtimeDurability.snapshot_updated_at_iso || null : null,
|
|
13742
|
+
last_persisted_at_iso: runtimeDurability ? runtimeDurability.last_persisted_at_iso || null : null,
|
|
13743
|
+
last_flush_succeeded: runtimeDurability ? runtimeDurability.last_flush_succeeded === true : false,
|
|
13744
|
+
recovery_posture: runtimeDurability ? runtimeDurability.recovery_posture || null : null,
|
|
13745
|
+
blockers: runtimeDurability ? runtimeDurability.blockers || [] : [],
|
|
13746
|
+
inspect_ref: runtimeDurability ? runtimeDurability.inspect_ref || "/v1/runtime/durability" : "/v1/runtime/durability"
|
|
13747
|
+
},
|
|
13748
|
+
native_settlement_center: {
|
|
13749
|
+
ready: nativeSettlementReadiness ? nativeSettlementReadiness.ready === true : false,
|
|
13750
|
+
runtime_mode: nativeSettlementReadiness ? nativeSettlementReadiness.runtime_mode || null : null,
|
|
13751
|
+
receiving_identity_kind: nativeSettlementReadiness ? nativeSettlementReadiness.receiving_identity_kind || null : null,
|
|
13752
|
+
verification_mode: nativeSettlementReadiness ? nativeSettlementReadiness.payment_verification_mode || null : null,
|
|
13753
|
+
blockers: nativeSettlementReadiness ? nativeSettlementReadiness.blockers || [] : [],
|
|
13754
|
+
next_manual_inputs: nativeSettlementReadiness ? nativeSettlementReadiness.next_manual_inputs || [] : [],
|
|
13755
|
+
readiness_ref: nativeSettlementReadiness ? nativeSettlementReadiness.readiness_ref || "/v1/settlement/bsv-teranode/readiness" : "/v1/settlement/bsv-teranode/readiness"
|
|
13756
|
+
},
|
|
13732
13757
|
coordination_center: {
|
|
13733
13758
|
zone_count: report.coordination ? report.coordination.zone_count : 0,
|
|
13734
13759
|
handoff_count: report.coordination ? report.coordination.handoff_count : 0,
|
package/lib/commerce_shell.js
CHANGED
|
@@ -132,6 +132,8 @@ function buildOperatorShellSummary(input) {
|
|
|
132
132
|
const coordinationAdminView = body.coordination_admin_view || {};
|
|
133
133
|
const hostedCheckoutOperatorSummary = body.hosted_checkout_operator_summary || {};
|
|
134
134
|
const entitlementReplenishmentSummary = body.entitlement_replenishment_summary || {};
|
|
135
|
+
const runtimeDurability = body.runtime_durability || {};
|
|
136
|
+
const nativeSettlementReadiness = body.native_settlement_readiness || {};
|
|
135
137
|
|
|
136
138
|
return {
|
|
137
139
|
ok: true,
|
|
@@ -150,6 +152,8 @@ function buildOperatorShellSummary(input) {
|
|
|
150
152
|
coordination_admin_view: "/v1/coordination-center/admin-view",
|
|
151
153
|
hosted_checkout_purchase_intents: `/v1/checkout/purchase-intents?account_id=${encodeURIComponent(accountId)}`,
|
|
152
154
|
hosted_checkout_runtime_bridge_dispatches: `/v1/runtime-bridge/dispatches?account_id=${encodeURIComponent(accountId)}`,
|
|
155
|
+
runtime_durability: "/v1/runtime/durability",
|
|
156
|
+
native_settlement_readiness: "/v1/settlement/bsv-teranode/readiness",
|
|
153
157
|
proof_governance_dashboard: "/v1/proof-center/governance/dashboard",
|
|
154
158
|
proof_bridge_admin_pack: "/v1/proof-center/bridge/admin-pack"
|
|
155
159
|
},
|
|
@@ -166,7 +170,17 @@ function buildOperatorShellSummary(input) {
|
|
|
166
170
|
hosted_checkout_execution_dispatched_count: Number(hostedCheckoutOperatorSummary.execution_dispatched_count || 0)
|
|
167
171
|
,
|
|
168
172
|
low_balance_entitlement_count: Number(entitlementReplenishmentSummary.low_balance_count || 0),
|
|
169
|
-
depleted_entitlement_count: Number(entitlementReplenishmentSummary.depleted_count || 0)
|
|
173
|
+
depleted_entitlement_count: Number(entitlementReplenishmentSummary.depleted_count || 0),
|
|
174
|
+
runtime_snapshot_enabled: runtimeDurability.enabled === true,
|
|
175
|
+
runtime_snapshot_exists: runtimeDurability.snapshot_exists === true,
|
|
176
|
+
runtime_recovery_posture: runtimeDurability.recovery_posture || null,
|
|
177
|
+
native_settlement_runtime_mode: runtimeDurability.enabled === true || nativeSettlementReadiness.runtime_mode
|
|
178
|
+
? nativeSettlementReadiness.runtime_mode || null
|
|
179
|
+
: null,
|
|
180
|
+
native_settlement_ready: nativeSettlementReadiness.ready === true,
|
|
181
|
+
native_settlement_blocker_count: Array.isArray(nativeSettlementReadiness.blockers)
|
|
182
|
+
? nativeSettlementReadiness.blockers.length
|
|
183
|
+
: 0
|
|
170
184
|
},
|
|
171
185
|
linked_refs: {
|
|
172
186
|
operations_dashboard_ref: buildShellRef("operator-shell.operations-dashboard", {
|
|
@@ -182,7 +196,9 @@ function buildOperatorShellSummary(input) {
|
|
|
182
196
|
,
|
|
183
197
|
entitlement_replenishment_summary_ref: entitlementReplenishmentSummary.entitlement_count != null
|
|
184
198
|
? `/v1/economics/accounts/${encodeURIComponent(accountId)}/entitlements/replenishment-summary`
|
|
185
|
-
: null
|
|
199
|
+
: null,
|
|
200
|
+
runtime_durability_ref: runtimeDurability.inspect_ref || "/v1/runtime/durability",
|
|
201
|
+
native_settlement_readiness_ref: nativeSettlementReadiness.readiness_ref || "/v1/settlement/bsv-teranode/readiness"
|
|
186
202
|
}
|
|
187
203
|
};
|
|
188
204
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildEcosystemEntryPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-ecosystem-entry",
|
|
10
|
+
audiences: [
|
|
11
|
+
{
|
|
12
|
+
audience_ref: "agent_builder",
|
|
13
|
+
why_now: "needs a first paid machine capability path with governed execution and proof-aware followthrough",
|
|
14
|
+
first_path_ref: "scenario.direct_pay.trust_verify",
|
|
15
|
+
first_http_entrypoint: "/v1/release-pack/scenarios/summary",
|
|
16
|
+
first_cli_entrypoint: "xytara-run --url https://xytara.onrender.com --account acct_demo --command \"cli-run\" --task trust.verify --body-json '{\"subject_id\":\"subject-1\"}' --wallet-id merchant_wallet_main --wallet-secret YOUR_LOCAL_SIGNED_SECRET --txid YOUR_BSV_TXID"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
audience_ref: "marketplace_or_tool_author",
|
|
20
|
+
why_now: "needs a neutral default path for quoting, payment admission, execution, and operator inspection",
|
|
21
|
+
first_path_ref: "scenario.direct_pay.trust_verify",
|
|
22
|
+
first_http_entrypoint: "/v1/release-pack/launch/summary",
|
|
23
|
+
first_cli_entrypoint: "xytara-release --launch --summary"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
audience_ref: "repeat_usage_operator",
|
|
27
|
+
why_now: "needs reusable account balance posture without redesigning the public execution surface",
|
|
28
|
+
first_path_ref: "scenario.credits_first.repeat_run",
|
|
29
|
+
first_http_entrypoint: "/v1/economics/accounts/:account_id/credit-balance",
|
|
30
|
+
first_cli_entrypoint: "xytara-release --scenarios --summary"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
audience_ref: "proof_aware_runtime_team",
|
|
34
|
+
why_now: "needs a runtime result that can continue directly into proof review instead of ending as logs",
|
|
35
|
+
first_path_ref: "scenario.runtime_to_proof.followthrough",
|
|
36
|
+
first_http_entrypoint: "/v1/transaction-center/result-packages",
|
|
37
|
+
first_cli_entrypoint: "xytara-release --center --summary"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
public_lead_sequence: [
|
|
41
|
+
"identify the audience and first success path",
|
|
42
|
+
"show the one-line cli or one-http-entrypoint path",
|
|
43
|
+
"show the matching comparison and adoption summary",
|
|
44
|
+
"show the release center when credibility and breadth need one compact artifact"
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function summarizeEcosystemEntryPack() {
|
|
50
|
+
const pack = buildEcosystemEntryPack();
|
|
51
|
+
return {
|
|
52
|
+
ok: true,
|
|
53
|
+
product: pack.product,
|
|
54
|
+
category: pack.category,
|
|
55
|
+
audience_count: pack.audiences.length,
|
|
56
|
+
first_audience: pack.audiences[0] ? pack.audiences[0].audience_ref : null,
|
|
57
|
+
lead_step_count: pack.public_lead_sequence.length
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
buildEcosystemEntryPack,
|
|
63
|
+
summarizeEcosystemEntryPack
|
|
64
|
+
};
|