xytara 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/OPERATIONS_RUNBOOK.md +1 -0
  2. package/README.md +16 -0
  3. package/RELEASE_NOTES.md +16 -16
  4. package/SERVICE_CONTRACT.md +75 -0
  5. package/START_HERE.md +40 -0
  6. package/bin/xytara.js +55 -0
  7. package/index.js +1 -1
  8. package/lib/a2a_lane_contract.js +104 -0
  9. package/lib/a2c_lane_contract.js +111 -0
  10. package/lib/artifact_distribution_lane_contract.js +54 -0
  11. package/lib/asyncapi_contract.js +150 -0
  12. package/lib/auth_interop_contract.js +80 -0
  13. package/lib/cloudevents_contract.js +80 -0
  14. package/lib/commerce_client.js +32 -0
  15. package/lib/erc8004_lane_contract.js +65 -0
  16. package/lib/event_system_lane_contract.js +75 -0
  17. package/lib/feature_control_lane_contract.js +54 -0
  18. package/lib/framework_lane_contract.js +89 -0
  19. package/lib/identity_interop_contract.js +82 -0
  20. package/lib/integration_matrix_contract.js +93 -0
  21. package/lib/major_rails_lane_contract.js +90 -0
  22. package/lib/mcp_lane_contract.js +110 -0
  23. package/lib/openapi_contract.js +296 -0
  24. package/lib/protocol_lane_contract.js +114 -0
  25. package/lib/provenance_lane_contract.js +54 -0
  26. package/lib/provider_lane_contract.js +72 -0
  27. package/lib/release_history.js +16 -0
  28. package/lib/settlement_lane_contract.js +111 -0
  29. package/lib/shared_signals_lane_contract.js +54 -0
  30. package/lib/stablecoin_lane_contract.js +76 -0
  31. package/lib/stripe_mpp_lane_contract.js +93 -0
  32. package/lib/telemetry_lane_contract.js +54 -0
  33. package/lib/treasury_lane_contract.js +84 -0
  34. package/lib/x402_lane_contract.js +118 -0
  35. package/package.json +5 -3
  36. package/server.js +367 -0
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ const pkg = require("../package.json");
4
+
5
+ function buildAsyncApiDocument() {
6
+ return {
7
+ asyncapi: "3.0.0",
8
+ info: {
9
+ title: "xytara Event Contract",
10
+ version: pkg.version,
11
+ summary: "Machine-commerce runtime event and handoff contract.",
12
+ description: "This AsyncAPI document describes the stable runtime event and handoff surfaces that outside builders and partners should rely on first."
13
+ },
14
+ servers: {
15
+ httpRuntime: {
16
+ host: "127.0.0.1:4320",
17
+ protocol: "http",
18
+ description: "Local xytara HTTP event and handoff entrypoint"
19
+ }
20
+ },
21
+ channels: {
22
+ "runtime/events/emit": {
23
+ address: "/v1/runtime/emit",
24
+ messages: {
25
+ runtimeEmitRequest: {
26
+ name: "runtimeEmitRequest",
27
+ title: "Runtime emit request",
28
+ summary: "Append a runtime event record."
29
+ }
30
+ }
31
+ },
32
+ "runtime/events/anchor": {
33
+ address: "/v1/runtime/anchor",
34
+ messages: {
35
+ runtimeAnchorRequest: {
36
+ name: "runtimeAnchorRequest",
37
+ title: "Runtime anchor request",
38
+ summary: "Anchor a runtime event into registry/anchor posture."
39
+ }
40
+ }
41
+ },
42
+ "runtime/events/emit-anchor": {
43
+ address: "/v1/runtime/emit-anchor",
44
+ messages: {
45
+ runtimeEmitAnchorRequest: {
46
+ name: "runtimeEmitAnchorRequest",
47
+ title: "Runtime emit-anchor request",
48
+ summary: "Emit and anchor a runtime event in one call."
49
+ }
50
+ }
51
+ },
52
+ "handoffs/trust/emit": {
53
+ address: "/v1/trust/handoffs/emit",
54
+ messages: {
55
+ trustHandoffEmitRequest: {
56
+ name: "trustHandoffEmitRequest",
57
+ title: "Trust handoff emit request",
58
+ summary: "Emit a trust-compatible handoff bundle."
59
+ }
60
+ }
61
+ },
62
+ "handoffs/execution-receipts/emit": {
63
+ address: "/v1/execution-receipts/handoffs/emit",
64
+ messages: {
65
+ executionReceiptHandoffEmitRequest: {
66
+ name: "executionReceiptHandoffEmitRequest",
67
+ title: "Execution receipt handoff emit request",
68
+ summary: "Emit an execution receipt handoff bundle."
69
+ }
70
+ }
71
+ },
72
+ "handoffs/receipt-ledger/emit": {
73
+ address: "/v1/receipt-ledger/handoffs/emit",
74
+ messages: {
75
+ receiptLedgerHandoffEmitRequest: {
76
+ name: "receiptLedgerHandoffEmitRequest",
77
+ title: "Receipt ledger handoff emit request",
78
+ summary: "Emit a receipt-ledger handoff bundle."
79
+ }
80
+ }
81
+ }
82
+ },
83
+ operations: {
84
+ publishRuntimeEvent: {
85
+ action: "send",
86
+ channel: { $ref: "#/channels/runtime/events/emit" },
87
+ summary: "Publish runtime event data through the stable emit surface."
88
+ },
89
+ publishRuntimeAnchor: {
90
+ action: "send",
91
+ channel: { $ref: "#/channels/runtime/events/anchor" },
92
+ summary: "Publish anchoring data through the stable anchor surface."
93
+ },
94
+ publishRuntimeEmitAnchor: {
95
+ action: "send",
96
+ channel: { $ref: "#/channels/runtime/events/emit-anchor" },
97
+ summary: "Publish combined emit-anchor data through the stable combined surface."
98
+ },
99
+ publishTrustHandoff: {
100
+ action: "send",
101
+ channel: { $ref: "#/channels/handoffs/trust/emit" },
102
+ summary: "Publish trust handoff data for proof followthrough."
103
+ },
104
+ publishExecutionReceiptHandoff: {
105
+ action: "send",
106
+ channel: { $ref: "#/channels/handoffs/execution-receipts/emit" },
107
+ summary: "Publish execution receipt handoff data."
108
+ },
109
+ publishReceiptLedgerHandoff: {
110
+ action: "send",
111
+ channel: { $ref: "#/channels/handoffs/receipt-ledger/emit" },
112
+ summary: "Publish receipt-ledger handoff data."
113
+ }
114
+ },
115
+ "x-naxytra-contract": {
116
+ product: "xytara",
117
+ stability: "stable_public_event_layer",
118
+ channel_count: 6,
119
+ linked_docs: [
120
+ "SERVICE_CONTRACT.md",
121
+ "FINAL_CONTRACT.md",
122
+ "START_HERE.md"
123
+ ]
124
+ }
125
+ };
126
+ }
127
+
128
+ function summarizeAsyncApiDocument() {
129
+ const document = buildAsyncApiDocument();
130
+ return {
131
+ product: "xytara",
132
+ category: "machine-commerce-asyncapi-contract-summary",
133
+ summary_version: "xytara-asyncapi-contract-summary-v1",
134
+ asyncapi_version: document.asyncapi,
135
+ info_version: document.info.version,
136
+ channel_count: Object.keys(document.channels).length,
137
+ operation_count: Object.keys(document.operations).length,
138
+ primary_event_lanes: ["runtime", "handoff"],
139
+ linked_surfaces: {
140
+ asyncapi_ref: "/asyncapi.json",
141
+ service_contract_ref: "SERVICE_CONTRACT.md",
142
+ openapi_ref: "/openapi.json"
143
+ }
144
+ };
145
+ }
146
+
147
+ module.exports = {
148
+ buildAsyncApiDocument,
149
+ summarizeAsyncApiDocument
150
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ const pkg = require("../package.json");
4
+
5
+ function buildAuthInteropContract() {
6
+ return {
7
+ product: "xytara",
8
+ category: "machine-commerce-auth-interop-contract",
9
+ contract_version: "xytara-auth-interop-contract-v1",
10
+ service_version: pkg.version,
11
+ primary_posture: "native_authority_with_oauth_oidc_token_exchange_interop",
12
+ supported_interop_profiles: [
13
+ {
14
+ profile_id: "oauth_client_credentials_runtime",
15
+ standards: ["oauth_2_0", "oidc_optional"],
16
+ intended_use: "machine-to-machine runtime invocation",
17
+ primary_routes: ["/v1/commands/execute", "/v1/mcp/tools/invoke"]
18
+ },
19
+ {
20
+ profile_id: "bounded_delegation_token_exchange",
21
+ standards: ["oauth_2_0_token_exchange", "jwt_bearer_optional"],
22
+ intended_use: "map upstream bearer posture into bounded delegated authority",
23
+ primary_routes: [
24
+ "/v1/account-auth/spend-credentials",
25
+ "/v1/account-auth/authority-bindings",
26
+ "/v1/commands/execute"
27
+ ]
28
+ },
29
+ {
30
+ profile_id: "mcp_a2a_a2c_interop_auth",
31
+ standards: ["oauth_2_0", "oidc", "token_exchange_optional"],
32
+ intended_use: "protocol-lane authentication for MCP, A2A, and A2C usage",
33
+ primary_routes: ["/v1/mcp/tools/invoke", "/x402/mcp/tools/invoke", "/v1/commands/execute"]
34
+ },
35
+ {
36
+ profile_id: "x402_payment_plus_bounded_auth",
37
+ standards: ["oauth_2_0_optional", "x402"],
38
+ intended_use: "combine payment challenge posture with bounded authenticated execution",
39
+ primary_routes: ["/x402/mcp/tools/invoke", "/x402/commands/execute"]
40
+ }
41
+ ],
42
+ native_authority_mapping: {
43
+ authority_bindings: "/v1/account-auth/authority-bindings",
44
+ spend_credentials: "/v1/account-auth/spend-credentials",
45
+ execution_entry: "/v1/commands/execute",
46
+ mcp_entry: "/v1/mcp/tools/invoke"
47
+ },
48
+ guardrails: [
49
+ "native authority bindings remain canonical for bounded execution",
50
+ "oauth or oidc interop must not replace native consequence bounds",
51
+ "token exchange may map into delegation but must not bypass authority contracts",
52
+ "payment verification and auth posture remain separate concerns even when combined in one flow"
53
+ ],
54
+ linked_surfaces: {
55
+ openapi_ref: "/openapi.json",
56
+ asyncapi_ref: "/asyncapi.json",
57
+ cloudevents_ref: "/cloudevents.json",
58
+ service_contract_ref: "SERVICE_CONTRACT.md"
59
+ }
60
+ };
61
+ }
62
+
63
+ function summarizeAuthInteropContract() {
64
+ const contract = buildAuthInteropContract();
65
+ return {
66
+ product: "xytara",
67
+ category: "machine-commerce-auth-interop-contract-summary",
68
+ summary_version: "xytara-auth-interop-contract-summary-v1",
69
+ contract_version: contract.contract_version,
70
+ profile_count: contract.supported_interop_profiles.length,
71
+ primary_posture: contract.primary_posture,
72
+ primary_protocol_lanes: ["mcp", "a2a", "a2c", "x402"],
73
+ linked_surfaces: contract.linked_surfaces
74
+ };
75
+ }
76
+
77
+ module.exports = {
78
+ buildAuthInteropContract,
79
+ summarizeAuthInteropContract
80
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ const pkg = require("../package.json");
4
+
5
+ function buildCloudEventsContract() {
6
+ return {
7
+ product: "xytara",
8
+ category: "machine-commerce-cloudevents-contract",
9
+ contract_version: "xytara-cloudevents-contract-v1",
10
+ specversion: "1.0",
11
+ service_version: pkg.version,
12
+ envelope: {
13
+ required_attributes: ["specversion", "id", "source", "type", "time", "subject", "datacontenttype", "data"],
14
+ datacontenttype_default: "application/json",
15
+ source_prefix: "urn:naxytra:xytara",
16
+ id_shape: "evt_<opaque_id>",
17
+ time_format: "RFC3339"
18
+ },
19
+ event_families: [
20
+ {
21
+ type: "io.naxytra.xytara.runtime.emitted",
22
+ source: "urn:naxytra:xytara:runtime",
23
+ subject: "runtime.event"
24
+ },
25
+ {
26
+ type: "io.naxytra.xytara.runtime.anchored",
27
+ source: "urn:naxytra:xytara:runtime",
28
+ subject: "runtime.anchor"
29
+ },
30
+ {
31
+ type: "io.naxytra.xytara.handoff.trust.emitted",
32
+ source: "urn:naxytra:xytara:handoff",
33
+ subject: "handoff.trust"
34
+ },
35
+ {
36
+ type: "io.naxytra.xytara.handoff.execution_receipt.emitted",
37
+ source: "urn:naxytra:xytara:handoff",
38
+ subject: "handoff.execution_receipt"
39
+ },
40
+ {
41
+ type: "io.naxytra.xytara.handoff.receipt_ledger.emitted",
42
+ source: "urn:naxytra:xytara:handoff",
43
+ subject: "handoff.receipt_ledger"
44
+ }
45
+ ],
46
+ stable_http_surfaces: [
47
+ "/v1/runtime/emit",
48
+ "/v1/runtime/anchor",
49
+ "/v1/runtime/emit-anchor",
50
+ "/v1/trust/handoffs/emit",
51
+ "/v1/execution-receipts/handoffs/emit",
52
+ "/v1/receipt-ledger/handoffs/emit"
53
+ ],
54
+ linked_surfaces: {
55
+ openapi_ref: "/openapi.json",
56
+ asyncapi_ref: "/asyncapi.json",
57
+ service_contract_ref: "SERVICE_CONTRACT.md"
58
+ }
59
+ };
60
+ }
61
+
62
+ function summarizeCloudEventsContract() {
63
+ const contract = buildCloudEventsContract();
64
+ return {
65
+ product: "xytara",
66
+ category: "machine-commerce-cloudevents-contract-summary",
67
+ summary_version: "xytara-cloudevents-contract-summary-v1",
68
+ specversion: contract.specversion,
69
+ contract_version: contract.contract_version,
70
+ event_family_count: contract.event_families.length,
71
+ stable_surface_count: contract.stable_http_surfaces.length,
72
+ primary_event_lanes: ["runtime", "handoff"],
73
+ linked_surfaces: contract.linked_surfaces
74
+ };
75
+ }
76
+
77
+ module.exports = {
78
+ buildCloudEventsContract,
79
+ summarizeCloudEventsContract
80
+ };
@@ -2003,6 +2003,38 @@ class CommerceClient {
2003
2003
  return result && result.data ? result.data : { ok: false, reason: "invalid_promotion_action_request" };
2004
2004
  }
2005
2005
 
2006
+ async getProviderLane() {
2007
+ return this.getJson("/v1/providers");
2008
+ }
2009
+
2010
+ async getProviderLaneSummary() {
2011
+ return this.getJson("/v1/providers/summary");
2012
+ }
2013
+
2014
+ async getFrameworkLane() {
2015
+ return this.getJson("/v1/frameworks");
2016
+ }
2017
+
2018
+ async getFrameworkLaneSummary() {
2019
+ return this.getJson("/v1/frameworks/summary");
2020
+ }
2021
+
2022
+ async getProtocolLane() {
2023
+ return this.getJson("/v1/protocols");
2024
+ }
2025
+
2026
+ async getProtocolLaneSummary() {
2027
+ return this.getJson("/v1/protocols/summary");
2028
+ }
2029
+
2030
+ async getIntegrationMatrix() {
2031
+ return this.getJson("/v1/integration-matrix");
2032
+ }
2033
+
2034
+ async getIntegrationMatrixSummary() {
2035
+ return this.getJson("/v1/integration-matrix/summary");
2036
+ }
2037
+
2006
2038
  async getTaskExecutionModeSummaries(forceRefresh) {
2007
2039
  const tasks = await this.listTasks(forceRefresh);
2008
2040
  return summarizeFacetCounts(
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ const {
4
+ buildPhase4Erc8004RuntimePack,
5
+ summarizePhase4Erc8004RuntimePack
6
+ } = require("./phase_4_erc8004_runtime_pack");
7
+
8
+ function buildErc8004LanePack() {
9
+ const phasePack = buildPhase4Erc8004RuntimePack();
10
+ return {
11
+ product: "xytara",
12
+ category: "machine-commerce-erc8004-lane-pack",
13
+ pack_version: "xytara-erc8004-lane-pack-v1",
14
+ lane_state: "first_party_erc8004_runtime_present",
15
+ posture: "identity_and_attestation_runtime_interop_lane",
16
+ phase_alignment: {
17
+ phase_ref: phasePack.phase_ref,
18
+ phase_runtime_pack: phasePack,
19
+ phase_runtime_summary: summarizePhase4Erc8004RuntimePack()
20
+ },
21
+ supported_surfaces: {
22
+ phase_runtime_ref: "/v1/phases/phase-4/erc8004",
23
+ phase_runtime_summary_ref: "/v1/phases/phase-4/erc8004/summary",
24
+ identity_interop_ref: "/v1/identity-interop",
25
+ machine_identity_summary_ref_template: "/v1/economics/accounts/:account_id/machine-identity-summary",
26
+ machine_identity_profile_ref_template: "/v1/economics/accounts/:account_id/machine-identity-profile",
27
+ authority_summary_ref_template: "/v1/economics/accounts/:account_id/authority-summary"
28
+ },
29
+ first_run_flows: [
30
+ {
31
+ flow_ref: "erc8004.identity_attestation_runtime_view",
32
+ recommended_reason: "best first runtime-facing trust lane for identity, policy carry, and wallet resolution posture",
33
+ sequence: [
34
+ "inspect_erc8004_lane_summary",
35
+ "inspect_identity_interop_contract",
36
+ "inspect_machine_identity_summary",
37
+ "inspect_authority_and_policy_carry"
38
+ ]
39
+ }
40
+ ],
41
+ guardrails: [
42
+ "erc8004 is an interop lane rather than the canonical source of runtime authority truth",
43
+ "native machine identity and authority remain canonical inside xytara",
44
+ "erc8004 posture should improve partner trust and portability without bloating the runtime core"
45
+ ]
46
+ };
47
+ }
48
+
49
+ function summarizeErc8004LanePack() {
50
+ const pack = buildErc8004LanePack();
51
+ return {
52
+ product: "xytara",
53
+ category: "machine-commerce-erc8004-lane-pack-summary",
54
+ summary_version: "xytara-erc8004-lane-pack-summary-v1",
55
+ lane_state: pack.lane_state,
56
+ posture: pack.posture,
57
+ first_run_flow_count: pack.first_run_flows.length,
58
+ linked_surfaces: pack.supported_surfaces
59
+ };
60
+ }
61
+
62
+ module.exports = {
63
+ buildErc8004LanePack,
64
+ summarizeErc8004LanePack
65
+ };
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ const {
4
+ buildPhase7EventSystemPack,
5
+ summarizePhase7EventSystemPack
6
+ } = require("./phase_7_event_system_pack");
7
+ const {
8
+ buildPhase7NatsRuntimePack,
9
+ summarizePhase7NatsRuntimePack
10
+ } = require("./phase_7_nats_runtime_pack");
11
+
12
+ function buildEventSystemLanePack() {
13
+ const phasePack = buildPhase7EventSystemPack();
14
+ const natsPack = buildPhase7NatsRuntimePack();
15
+ return {
16
+ product: "xytara",
17
+ category: "machine-commerce-event-system-lane-pack",
18
+ pack_version: "xytara-event-system-lane-pack-v1",
19
+ lane_state: "first_party_event_system_family_present",
20
+ posture: "event_and_system_integration_runtime_lane",
21
+ phase_alignment: {
22
+ phase_ref: phasePack.phase_ref,
23
+ phase_pack: phasePack,
24
+ phase_summary: summarizePhase7EventSystemPack(),
25
+ featured_lane: {
26
+ pack: natsPack,
27
+ summary: summarizePhase7NatsRuntimePack()
28
+ }
29
+ },
30
+ supported_surfaces: {
31
+ phase_summary_ref: "/v1/phases/phase-7/summary",
32
+ nats_runtime_summary_ref: "/v1/phases/phase-7/nats/summary",
33
+ kafka_runtime_summary_ref: "/v1/phases/phase-7/kafka/summary",
34
+ mqtt_runtime_summary_ref: "/v1/phases/phase-7/mqtt/summary",
35
+ webhook_runtime_summary_ref: "/v1/phases/phase-7/webhook-event-bus/summary",
36
+ continuity_summary_ref: "/v1/phases/phase-7/event-system-continuity/summary",
37
+ asyncapi_ref: "/asyncapi.json",
38
+ cloudevents_ref: "/cloudevents.json"
39
+ },
40
+ first_run_flows: [
41
+ {
42
+ flow_ref: "nats_subject_mesh_runtime",
43
+ recommended_reason: "best first durable event/system lane for subject-oriented machine coordination with NATS plus JetStream-style persistence posture",
44
+ sequence: [
45
+ "inspect_event_system_lane_summary",
46
+ "inspect_nats_runtime_summary",
47
+ "inspect_asyncapi_and_cloudevents_contracts",
48
+ "choose_broker_or_callback_family_for_the_integration"
49
+ ]
50
+ }
51
+ ],
52
+ guardrails: [
53
+ "event-system lanes extend runtime coordination rather than replace the default transaction flow",
54
+ "nats and jetstream style durability should improve integration fit without widening the public runtime core into a generic bus platform"
55
+ ]
56
+ };
57
+ }
58
+
59
+ function summarizeEventSystemLanePack() {
60
+ const pack = buildEventSystemLanePack();
61
+ return {
62
+ product: "xytara",
63
+ category: "machine-commerce-event-system-lane-pack-summary",
64
+ summary_version: "xytara-event-system-lane-pack-summary-v1",
65
+ lane_state: pack.lane_state,
66
+ posture: pack.posture,
67
+ first_run_flow_count: pack.first_run_flows.length,
68
+ linked_surfaces: pack.supported_surfaces
69
+ };
70
+ }
71
+
72
+ module.exports = {
73
+ buildEventSystemLanePack,
74
+ summarizeEventSystemLanePack
75
+ };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ function buildFeatureControlLanePack() {
4
+ return {
5
+ product: "xytara",
6
+ category: "machine-commerce-feature-control-lane-pack",
7
+ pack_version: "xytara-feature-control-lane-pack-v1",
8
+ lane_state: "first_party_feature_control_lane_present",
9
+ posture: "portable_policy_and_rollout_control_lane",
10
+ standards: ["openfeature", "ofrep"],
11
+ focal_controls: ["pricing_policy", "authority_policy", "machine_identity_policy", "trust_policy", "release_candidate_gates"],
12
+ supported_surfaces: {
13
+ pricing_policy_ref: "/v1/economics/accounts/:account_id/pricing-policy-package",
14
+ authority_policy_ref: "/v1/economics/accounts/:account_id/authority-policy-pack",
15
+ machine_identity_policy_ref: "/v1/economics/accounts/:account_id/machine-identity-policy-pack",
16
+ trust_policy_ref: "/v1/economics/accounts/:account_id/trust-layer-policy-pack",
17
+ release_candidate_ref: "/v1/release-candidate"
18
+ },
19
+ first_run_flows: [
20
+ {
21
+ flow_ref: "portable_rollout_control_alignment",
22
+ recommended_reason: "best path for teams that need portable rollout and policy posture without inventing a second control plane around the runtime",
23
+ sequence: [
24
+ "inspect_feature_control_lane_summary",
25
+ "map native policy packs to portable feature-control posture",
26
+ "use release and trust gates as rollout-compatible control surfaces",
27
+ "keep xytara policy truth canonical beneath external control adapters"
28
+ ]
29
+ }
30
+ ],
31
+ guardrails: [
32
+ "feature control should expose rollout posture without replacing native pricing, authority, identity, or trust truth",
33
+ "policy portability should remain bounded to avoid accidental split-brain control semantics"
34
+ ]
35
+ };
36
+ }
37
+
38
+ function summarizeFeatureControlLanePack() {
39
+ const pack = buildFeatureControlLanePack();
40
+ return {
41
+ product: "xytara",
42
+ category: "machine-commerce-feature-control-lane-pack-summary",
43
+ summary_version: "xytara-feature-control-lane-pack-summary-v1",
44
+ lane_state: pack.lane_state,
45
+ standard_count: pack.standards.length,
46
+ focal_control_count: pack.focal_controls.length,
47
+ linked_surfaces: pack.supported_surfaces
48
+ };
49
+ }
50
+
51
+ module.exports = {
52
+ buildFeatureControlLanePack,
53
+ summarizeFeatureControlLanePack
54
+ };
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ const {
4
+ buildPhase6FrameworkRuntimePack,
5
+ summarizePhase6FrameworkRuntimePack
6
+ } = require("./phase_6_framework_runtime_pack");
7
+ const {
8
+ summarizePhase6LanggraphRuntimePack
9
+ } = require("./phase_6_langgraph_runtime_pack");
10
+ const {
11
+ summarizePhase6LangchainRuntimePack
12
+ } = require("./phase_6_langchain_runtime_pack");
13
+ const {
14
+ summarizePhase6AutogenRuntimePack
15
+ } = require("./phase_6_autogen_runtime_pack");
16
+ const {
17
+ summarizePhase6SemanticKernelRuntimePack
18
+ } = require("./phase_6_semantic_kernel_runtime_pack");
19
+
20
+ function buildFrameworkLanePack() {
21
+ return {
22
+ product: "xytara",
23
+ category: "machine-commerce-framework-lane-pack",
24
+ pack_version: "xytara-framework-lane-pack-v1",
25
+ lane_state: "first_party_framework_family_present",
26
+ posture: "framework_orchestration_and_execution_family",
27
+ framework_family: {
28
+ pack: buildPhase6FrameworkRuntimePack(),
29
+ summary: summarizePhase6FrameworkRuntimePack()
30
+ },
31
+ featured_frameworks: {
32
+ langgraph: summarizePhase6LanggraphRuntimePack(),
33
+ langchain: summarizePhase6LangchainRuntimePack(),
34
+ autogen: summarizePhase6AutogenRuntimePack(),
35
+ semantic_kernel: summarizePhase6SemanticKernelRuntimePack()
36
+ },
37
+ registry_backed_frameworks: {
38
+ crewai: {
39
+ framework_id: "crewai",
40
+ posture: "registry-backed multi-agent workflow interoperability lane",
41
+ integration_ref: "builtin.execution.crewai"
42
+ },
43
+ llamaindex: {
44
+ framework_id: "llamaindex",
45
+ posture: "registry-backed retrieval and agent interoperability lane",
46
+ integration_ref: "builtin.execution.llamaindex"
47
+ }
48
+ },
49
+ supported_surfaces: {
50
+ phase_6_summary_ref: "/v1/phases/phase-6/summary",
51
+ langgraph_summary_ref: "/v1/phases/phase-6/langgraph/summary",
52
+ langchain_summary_ref: "/v1/phases/phase-6/langchain/summary",
53
+ autogen_summary_ref: "/v1/phases/phase-6/autogen/summary",
54
+ semantic_kernel_summary_ref: "/v1/phases/phase-6/semantic-kernel/summary",
55
+ integrations_ref: "/v1/integrations",
56
+ integration_matrix_ref: "/v1/integration-matrix"
57
+ },
58
+ first_run_flows: [
59
+ {
60
+ flow_ref: "framework_family_selection",
61
+ recommended_reason: "best first path for understanding how orchestration frameworks map into the canonical runtime instead of sitting as disconnected side examples",
62
+ sequence: [
63
+ "inspect_framework_lane_summary",
64
+ "inspect_phase_6_framework_summary",
65
+ "inspect_named_framework_profiles",
66
+ "choose_framework_shape_that_best_matches_runtime_carry_needs"
67
+ ]
68
+ }
69
+ ]
70
+ };
71
+ }
72
+
73
+ function summarizeFrameworkLanePack() {
74
+ const pack = buildFrameworkLanePack();
75
+ return {
76
+ product: "xytara",
77
+ category: "machine-commerce-framework-lane-pack-summary",
78
+ summary_version: "xytara-framework-lane-pack-summary-v1",
79
+ lane_state: pack.lane_state,
80
+ featured_framework_count: Object.keys(pack.featured_frameworks).length + Object.keys(pack.registry_backed_frameworks).length,
81
+ first_run_flow_count: pack.first_run_flows.length,
82
+ linked_surfaces: pack.supported_surfaces
83
+ };
84
+ }
85
+
86
+ module.exports = {
87
+ buildFrameworkLanePack,
88
+ summarizeFrameworkLanePack
89
+ };