xytara 2.1.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 +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 +12 -3
- 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/outreach_copy_pack.js +51 -0
- package/lib/outreach_message_pack.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/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 +2055 -252
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
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildOutreachCopyPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-outreach-copy-pack",
|
|
10
|
+
short_post: {
|
|
11
|
+
headline: "xytara is live",
|
|
12
|
+
body: "xytara is a machine-commerce spine for builders who need quote, pay, execute, inspect, and continue into proof without stitching together separate systems. It supports direct paid execution, reusable credits, adapter-first extension, and proof-aware followthrough."
|
|
13
|
+
},
|
|
14
|
+
direct_message: {
|
|
15
|
+
subject: "xytara: paid execution plus proof-aware followthrough",
|
|
16
|
+
body: "We built xytara for agent builders, tool authors, and runtime teams that need a real machine-commerce path instead of patchwork glue. If you want, start with `xytara-release --center --summary` and then run one paid path with `xytara-run`."
|
|
17
|
+
},
|
|
18
|
+
adapter_partner_message: {
|
|
19
|
+
subject: "xytara adapter partner path",
|
|
20
|
+
body: "If you build tools or integrations, xytara now has a public third-party adapter starter, promotion path, and partner path. You can copy the minimal starter, validate it locally, inspect the promotion workflow, and see exactly what still blocks broader trust."
|
|
21
|
+
},
|
|
22
|
+
first_links: [
|
|
23
|
+
"/v1/release-center/summary",
|
|
24
|
+
"/v1/soft-launch/summary",
|
|
25
|
+
"/v1/adapter-partners/summary",
|
|
26
|
+
"/v1/outreach-proof/summary"
|
|
27
|
+
],
|
|
28
|
+
first_ctas: [
|
|
29
|
+
"run xytara-release --center --summary",
|
|
30
|
+
"run one direct paid path with xytara-run",
|
|
31
|
+
"inspect the adapter partner path if you build integrations"
|
|
32
|
+
]
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function summarizeOutreachCopyPack() {
|
|
37
|
+
const pack = buildOutreachCopyPack();
|
|
38
|
+
return {
|
|
39
|
+
ok: true,
|
|
40
|
+
product: pack.product,
|
|
41
|
+
category: pack.category,
|
|
42
|
+
link_count: pack.first_links.length,
|
|
43
|
+
cta_count: pack.first_ctas.length,
|
|
44
|
+
headline: pack.short_post.headline
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
module.exports = {
|
|
49
|
+
buildOutreachCopyPack,
|
|
50
|
+
summarizeOutreachCopyPack
|
|
51
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildOutreachMessagePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-outreach-message-pack",
|
|
10
|
+
messages: [
|
|
11
|
+
{
|
|
12
|
+
message_ref: "public_launch_post",
|
|
13
|
+
audience_ref: "general_builder",
|
|
14
|
+
channel: "public_post",
|
|
15
|
+
subject: "xytara is live",
|
|
16
|
+
body: "xytara is live. It is a machine-commerce spine for builders who need quote, pay, execute, inspect, and continue into proof without stitching together separate systems. Start with `/v1/release-center/summary` or run `xytara-release --center --summary`."
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
message_ref: "agent_builder_intro",
|
|
20
|
+
audience_ref: "agent_builder",
|
|
21
|
+
channel: "direct_message",
|
|
22
|
+
subject: "xytara for paid agent execution",
|
|
23
|
+
body: "If you need a real paid capability path for agents, xytara now gives you quote, pay, execute, inspect, and proof-aware followthrough on one public spine. Best first step: run `xytara-run` once, then inspect `/v1/release-center/summary`."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
message_ref: "adapter_partner_intro",
|
|
27
|
+
audience_ref: "adapter_author",
|
|
28
|
+
channel: "direct_message",
|
|
29
|
+
subject: "xytara adapter partner path",
|
|
30
|
+
body: "If you build tools or integrations, xytara now has a public third-party adapter starter, promotion path, and partner path. You can copy the minimal starter, validate it locally, inspect promotion workflow, and see what still blocks broader trust."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
message_ref: "runtime_team_intro",
|
|
34
|
+
audience_ref: "proof_aware_runtime_team",
|
|
35
|
+
channel: "direct_message",
|
|
36
|
+
subject: "xytara for runtime-to-proof followthrough",
|
|
37
|
+
body: "If your runtime results currently stop at logs, xytara gives you a machine-commerce path that can continue into proof review cleanly. Best first check: `/v1/outreach-proof/summary` and `xytara-release --outreach-proof --summary`."
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
first_artifacts: [
|
|
41
|
+
"/v1/release-center/summary",
|
|
42
|
+
"/v1/adapter-partners/summary",
|
|
43
|
+
"/v1/outreach-proof/summary",
|
|
44
|
+
"/v1/soft-launch/summary"
|
|
45
|
+
],
|
|
46
|
+
first_commands: [
|
|
47
|
+
"xytara-release --center --summary",
|
|
48
|
+
"xytara-release --adapter-partners --summary",
|
|
49
|
+
"xytara-release --outreach-proof --summary",
|
|
50
|
+
"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"
|
|
51
|
+
]
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function summarizeOutreachMessagePack() {
|
|
56
|
+
const pack = buildOutreachMessagePack();
|
|
57
|
+
return {
|
|
58
|
+
ok: true,
|
|
59
|
+
product: pack.product,
|
|
60
|
+
category: pack.category,
|
|
61
|
+
message_count: pack.messages.length,
|
|
62
|
+
artifact_count: pack.first_artifacts.length,
|
|
63
|
+
command_count: pack.first_commands.length,
|
|
64
|
+
first_message: pack.messages[0] ? pack.messages[0].message_ref : null
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
module.exports = {
|
|
69
|
+
buildOutreachMessagePack,
|
|
70
|
+
summarizeOutreachMessagePack
|
|
71
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildOutreachTargetPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-outreach-target-pack",
|
|
10
|
+
target_groups: [
|
|
11
|
+
{
|
|
12
|
+
target_ref: "agent_builders",
|
|
13
|
+
why_now: "need a first paid capability path with governed execution and proof-aware followthrough",
|
|
14
|
+
first_artifact: "/v1/release-center/summary",
|
|
15
|
+
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"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
target_ref: "adapter_authors",
|
|
19
|
+
why_now: "need a public starter plus a visible promotion path",
|
|
20
|
+
first_artifact: "/v1/adapter-partners/summary",
|
|
21
|
+
first_cli: "xytara-release --adapter-partners --summary"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
target_ref: "tool_and_marketplace_authors",
|
|
25
|
+
why_now: "need a machine-commerce layer without stitching together payment, execution, and review",
|
|
26
|
+
first_artifact: "/v1/launch-narrative/summary",
|
|
27
|
+
first_cli: "xytara-release --launch --summary"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
target_ref: "proof_aware_runtime_teams",
|
|
31
|
+
why_now: "need runtime results that continue cleanly into proof instead of stopping at logs",
|
|
32
|
+
first_artifact: "/v1/outreach-proof/summary",
|
|
33
|
+
first_cli: "xytara-release --outreach-proof --summary"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
first_wave_guidance: [
|
|
37
|
+
"start with a small technically strong set, not a broad audience",
|
|
38
|
+
"lead each target to one first artifact, not the whole surface map",
|
|
39
|
+
"watch which first cli or route they actually use",
|
|
40
|
+
"tighten language before expanding beyond the first wave"
|
|
41
|
+
]
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function summarizeOutreachTargetPack() {
|
|
46
|
+
const pack = buildOutreachTargetPack();
|
|
47
|
+
return {
|
|
48
|
+
ok: true,
|
|
49
|
+
product: pack.product,
|
|
50
|
+
category: pack.category,
|
|
51
|
+
target_count: pack.target_groups.length,
|
|
52
|
+
first_target: pack.target_groups[0] ? pack.target_groups[0].target_ref : null,
|
|
53
|
+
guidance_count: pack.first_wave_guidance.length
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
module.exports = {
|
|
58
|
+
buildOutreachTargetPack,
|
|
59
|
+
summarizeOutreachTargetPack
|
|
60
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase10CloseoutPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-10-closeout-pack",
|
|
10
|
+
phase_ref: "phase_10",
|
|
11
|
+
posture: "closeout_plan",
|
|
12
|
+
current_decision: "ready_for_program_closeout",
|
|
13
|
+
blocking_actions: [],
|
|
14
|
+
action_steps: [
|
|
15
|
+
"confirm the current long-tail lane family is the intended final Phase 10 shape",
|
|
16
|
+
"record the terminal program closeout review",
|
|
17
|
+
"recheck phase-10 gate summary for zero unsatisfied conditions",
|
|
18
|
+
"advance only once phase-10 gate resolves to ready_for_program_closeout"
|
|
19
|
+
],
|
|
20
|
+
completion_signals: [
|
|
21
|
+
"phase-10 completion shows no remaining focus",
|
|
22
|
+
"phase-10 decision record shows no pending records",
|
|
23
|
+
"phase-10 gate resolves to ready_for_program_closeout"
|
|
24
|
+
]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function summarizePhase10CloseoutPack() {
|
|
29
|
+
const pack = buildPhase10CloseoutPack();
|
|
30
|
+
return {
|
|
31
|
+
ok: true,
|
|
32
|
+
product: pack.product,
|
|
33
|
+
category: pack.category,
|
|
34
|
+
phase_ref: pack.phase_ref,
|
|
35
|
+
blocking_action_count: pack.blocking_actions.length,
|
|
36
|
+
action_step_count: pack.action_steps.length,
|
|
37
|
+
completion_signal_count: pack.completion_signals.length,
|
|
38
|
+
current_decision: pack.current_decision
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
module.exports = {
|
|
43
|
+
buildPhase10CloseoutPack,
|
|
44
|
+
summarizePhase10CloseoutPack
|
|
45
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase10CompletionPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-10-completion-pack",
|
|
10
|
+
phase_ref: "phase_10",
|
|
11
|
+
posture: "completion_review",
|
|
12
|
+
coverage: {
|
|
13
|
+
ecosystem_refs: ["demand_signal_adapters", "niche_extension_registry", "ecosystem_backlog_triage"],
|
|
14
|
+
lane_refs: [
|
|
15
|
+
"/v1/phases/phase-10/demand-signal-adapters/summary",
|
|
16
|
+
"/v1/phases/phase-10/niche-extension-registry/summary",
|
|
17
|
+
"/v1/phases/phase-10/ecosystem-backlog-triage/summary"
|
|
18
|
+
],
|
|
19
|
+
extension_modes: ["demand_signal_capture", "extension_registry_mapping", "backlog_triage"],
|
|
20
|
+
demand_modes: ["partner_signal_flow", "extension_fit_flow", "queue_handoff_flow"],
|
|
21
|
+
extension_artifacts: ["demand_signal_ref", "extension_registry_ref", "triage_queue_ref"],
|
|
22
|
+
operator_surfaces: [
|
|
23
|
+
"/v1/release-center/summary",
|
|
24
|
+
"/v1/publish-plan/summary",
|
|
25
|
+
"/v1/phases/phase-10/long-tail-continuity/summary"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
completion: {
|
|
29
|
+
checks: [
|
|
30
|
+
"broad Phase 10 long-tail ecosystem pack is public and inspectable",
|
|
31
|
+
"all current Phase 10 long-tail lanes are public and inspectable",
|
|
32
|
+
"extension posture is visible at phase level",
|
|
33
|
+
"long-tail continuity is explicit across the lane family",
|
|
34
|
+
"release-center summary reflects Phase 10 breadth and lane coverage",
|
|
35
|
+
"Phase 10 closeout criteria are explicit before final program closeout"
|
|
36
|
+
],
|
|
37
|
+
readiness_criteria: [
|
|
38
|
+
{ ref: "criterion.phase_surface_public", label: "Phase 10 broad summary is live and inspectable", satisfied: true },
|
|
39
|
+
{ ref: "criterion.long_tail_lane_coverage", label: "All current long-tail lanes are live and inspectable", satisfied: true },
|
|
40
|
+
{ ref: "criterion.long_tail_continuity_visible", label: "Long-tail continuity is visible at phase level", satisfied: true },
|
|
41
|
+
{ ref: "criterion.operator_surfaces_attached", label: "Operator surfaces remain attached to the long-tail family", satisfied: true },
|
|
42
|
+
{ ref: "criterion.freeze_shape_confirmed", label: "The final Phase 10 long-tail lane shape is explicitly frozen", satisfied: true },
|
|
43
|
+
{ ref: "criterion.program_closeout_reviewed", label: "A final program closeout review has been recorded", satisfied: true }
|
|
44
|
+
],
|
|
45
|
+
ready_for_next_phase: false,
|
|
46
|
+
remaining_focus: []
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function summarizePhase10CompletionPack() {
|
|
52
|
+
const pack = buildPhase10CompletionPack();
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
product: pack.product,
|
|
56
|
+
category: pack.category,
|
|
57
|
+
phase_ref: pack.phase_ref,
|
|
58
|
+
ecosystem_count: pack.coverage.ecosystem_refs.length,
|
|
59
|
+
lane_count: pack.coverage.lane_refs.length,
|
|
60
|
+
extension_mode_count: pack.coverage.extension_modes.length,
|
|
61
|
+
demand_mode_count: pack.coverage.demand_modes.length,
|
|
62
|
+
extension_artifact_count: pack.coverage.extension_artifacts.length,
|
|
63
|
+
operator_surface_count: pack.coverage.operator_surfaces.length,
|
|
64
|
+
completion_check_count: pack.completion.checks.length,
|
|
65
|
+
readiness_criteria_count: pack.completion.readiness_criteria.length,
|
|
66
|
+
satisfied_criteria_count: pack.completion.readiness_criteria.filter((criterion) => criterion.satisfied === true).length,
|
|
67
|
+
unsatisfied_criteria_count: pack.completion.readiness_criteria.filter((criterion) => criterion.satisfied !== true).length,
|
|
68
|
+
remaining_focus_count: pack.completion.remaining_focus.length,
|
|
69
|
+
ready_for_next_phase: pack.completion.ready_for_next_phase
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
module.exports = {
|
|
74
|
+
buildPhase10CompletionPack,
|
|
75
|
+
summarizePhase10CompletionPack
|
|
76
|
+
};
|