xytara 1.2.0 → 1.4.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/README.md CHANGED
@@ -30,15 +30,25 @@ The public product loop is:
30
30
 
31
31
  The package and service surfaces both follow that model.
32
32
 
33
- The current built-in catalog now covers a broader first-party `1.2.0` kernel than the original narrow seed, including:
33
+ The current built-in catalog now covers a broader first-party `1.4.0` kernel than the original narrow seed, including:
34
34
 
35
35
  - trust and receipt validation/handoff tasks
36
36
  - runtime consequence tasks
37
37
  - jobs, credits, and policy tasks
38
+ - first-party `a2a` negotiation and commit tasks
39
+ - first-party `a2c` session and task-pack preview tasks
40
+ - identity attestation and registry-link tasks
38
41
  - registry and anchoring tasks
39
42
  - discovery, admission, and settlement tasks
40
43
  - an initial built-in `mcp` adapter task
41
44
 
45
+ The current restoration phase also starts carrying grouped public workflows for:
46
+
47
+ - `a2a` settlement negotiation
48
+ - `a2c` tooling/session flow
49
+ - identity registry plus anchoring flow
50
+ - registry pack bundling plus anchoring flow
51
+
42
52
  The current built-in settlement posture also now reflects the canonical first-party center of gravity across:
43
53
 
44
54
  - `ethereum_evm`
@@ -47,6 +57,15 @@ The current built-in settlement posture also now reflects the canonical first-pa
47
57
  - `proton_xpr`
48
58
  - `antelope_eosio`
49
59
 
60
+ The economic artifact posture is also now more explicit across the default machine loop:
61
+
62
+ - quotes carry normalized `payment`, `settlement`, and `treasury` state
63
+ - executed transactions and receipts carry the same normalized economic objects
64
+ - payment-ledger entries preserve linked payment / settlement / treasury outcomes
65
+ - the default first-party economic path is easier to inspect without provider-shaped logic
66
+
67
+ The same artifacts now also expose a normalized `default_path` object so the bundled economic center of gravity is visible as data instead of being inferred indirectly.
68
+
50
69
  ## Package Surface
51
70
 
52
71
  The SDK is broad, but it stays organized into a few repeatable families instead of one-off surfaces.
@@ -230,12 +249,18 @@ The quickstart exercises:
230
249
 
231
250
  - health and catalog
232
251
  - discovery summaries and filters
252
+ - restored `a2a`, `a2c`, and identity catalog families
233
253
  - staged-vs-default integration posture
234
254
  - submission bundle-set export
235
255
  - pricing, schema, and template access
236
256
  - validation
237
257
  - quote and execution flows
238
258
  - dedicated `mcp` invocation flow
259
+ - named `a2a` negotiation and commit lanes
260
+ - named `a2c` session and pack-preview lanes
261
+ - named identity attestation preview and registry-link lanes
262
+ - named registry-pack bundle and anchoring-pack preview lanes
263
+ - grouped `a2a`, `a2c`, identity-anchor, and registry-pack-anchor convenience flows
239
264
  - named runtime, admission, registry, and anchoring task lanes
240
265
  - named trust and receipt-handoff lanes
241
266
  - lifecycle and operator helpers
@@ -263,6 +288,30 @@ curl -X POST http://127.0.0.1:4320/v1/admission/preview ^
263
288
  -H "content-type: application/json" ^
264
289
  -H "authorization: Bearer demo-api-key" ^
265
290
  -d "{\"source_zone_id\":\"zone-a\",\"target_zone_id\":\"zone-b\"}"
291
+ curl -X POST http://127.0.0.1:4320/v1/a2a/negotiate ^
292
+ -H "content-type: application/json" ^
293
+ -H "authorization: Bearer demo-api-key" ^
294
+ -d "{\"counterparty_agent_id\":\"agent-counterparty-1\",\"task_pack_ref\":\"pack.a2a.demo\",\"negotiation_mode\":\"quote_then_commit\"}"
295
+ curl -X POST http://127.0.0.1:4320/v1/a2c/packs/preview ^
296
+ -H "content-type: application/json" ^
297
+ -H "authorization: Bearer demo-api-key" ^
298
+ -d "{\"agent_id\":\"agent-demo\",\"pack_ref\":\"pack.tools.research\"}"
299
+ curl -X POST http://127.0.0.1:4320/v1/identity/attest/preview ^
300
+ -H "content-type: application/json" ^
301
+ -H "authorization: Bearer demo-api-key" ^
302
+ -d "{\"subject_id\":\"subject-identity-1\",\"registry_scope\":\"registry.identity.default\"}"
303
+ curl -X POST http://127.0.0.1:4320/v1/registry/packs/bundle ^
304
+ -H "content-type: application/json" ^
305
+ -H "authorization: Bearer demo-api-key" ^
306
+ -d "{\"pack_ref\":\"pack.registry.identity\",\"subject_ids\":[\"subject-identity-1\",\"subject-identity-2\"]}"
307
+ curl -X POST http://127.0.0.1:4320/v1/a2a/flows/settlement ^
308
+ -H "content-type: application/json" ^
309
+ -H "authorization: Bearer demo-api-key" ^
310
+ -d "{\"counterparty_agent_id\":\"agent-counterparty-1\",\"task_pack_ref\":\"pack.a2a.demo\",\"negotiation_mode\":\"quote_then_commit\",\"negotiation_id\":\"negotiation-flow-1\",\"intent_id\":\"intent-a2a-flow-1\"}"
311
+ curl -X POST http://127.0.0.1:4320/v1/identity/flows/anchor ^
312
+ -H "content-type: application/json" ^
313
+ -H "authorization: Bearer demo-api-key" ^
314
+ -d "{\"subject_id\":\"subject-identity-1\",\"registry_scope\":\"registry.identity.default\",\"record_type\":\"identity_attestation\",\"registry_record_id\":\"registry-record-identity-1\",\"commitment_hash\":\"commitment-identity-1\"}"
266
315
  curl -X POST http://127.0.0.1:4320/v1/mcp/tools/invoke ^
267
316
  -H "content-type: application/json" ^
268
317
  -H "authorization: Bearer demo-api-key" ^
@@ -302,11 +351,23 @@ Primary service routes:
302
351
  - `POST /v1/receipt-ledger/handoffs/emit`
303
352
  - `POST /v1/receipt-ledger/handoffs/validate`
304
353
  - `POST /v1/admission/preview`
354
+ - `POST /v1/a2a/negotiate`
355
+ - `POST /v1/a2a/commit`
356
+ - `POST /v1/a2a/flows/settlement`
357
+ - `POST /v1/a2c/sessions/open`
358
+ - `POST /v1/a2c/packs/preview`
359
+ - `POST /v1/a2c/flows/tooling`
360
+ - `POST /v1/identity/attest/preview`
361
+ - `POST /v1/identity/registry/link`
362
+ - `POST /v1/identity/flows/anchor`
305
363
  - `POST /v1/runtime/emit`
306
364
  - `POST /v1/runtime/anchor`
307
365
  - `POST /v1/runtime/emit-anchor`
308
366
  - `POST /v1/registry/register`
367
+ - `POST /v1/registry/packs/bundle`
368
+ - `POST /v1/registry/packs/anchor`
309
369
  - `POST /v1/anchoring/submit`
370
+ - `POST /v1/anchoring/packs/preview`
310
371
  - `POST /v1/mcp/tools/invoke`
311
372
  - `GET /v1/payment-quotes`
312
373
  - `GET /v1/payment-quotes/:quote_id`
@@ -440,6 +440,95 @@ const tasks = [
440
440
  capabilities: ["credits.apply"],
441
441
  adapters: ["http"]
442
442
  }),
443
+ makeTask({
444
+ task_ref: "internal.a2a.negotiate",
445
+ public_task_ref: "a2a.negotiate",
446
+ public_category: "a2a",
447
+ public_title: "A2A Negotiate",
448
+ execution_mode: "direct_http",
449
+ pricing_band: "decision_support",
450
+ public_launch_price: { amount_minor: 45, currency: "USD_CENTS" },
451
+ latency_class: "near_real_time",
452
+ failure_posture: "retry_bounded",
453
+ input_schema: {
454
+ type: "object",
455
+ required: ["counterparty_agent_id", "task_pack_ref"],
456
+ properties: {
457
+ counterparty_agent_id: { type: "string" },
458
+ task_pack_ref: { type: "string" },
459
+ negotiation_mode: { type: "string" }
460
+ },
461
+ additionalProperties: false
462
+ },
463
+ capabilities: ["a2a.negotiate"],
464
+ adapters: ["http"]
465
+ }),
466
+ makeTask({
467
+ task_ref: "internal.a2a.commit",
468
+ public_task_ref: "a2a.commit",
469
+ public_category: "a2a",
470
+ public_title: "A2A Commit",
471
+ execution_mode: "governed_async",
472
+ pricing_band: "transactional",
473
+ public_launch_price: { amount_minor: 105, currency: "USD_CENTS" },
474
+ latency_class: "governed_async",
475
+ failure_posture: "governed_async",
476
+ input_schema: {
477
+ type: "object",
478
+ required: ["negotiation_id", "intent_id"],
479
+ properties: {
480
+ negotiation_id: { type: "string" },
481
+ intent_id: { type: "string" }
482
+ },
483
+ additionalProperties: false
484
+ },
485
+ capabilities: ["a2a.commit"],
486
+ adapters: ["http", "chain"]
487
+ }),
488
+ makeTask({
489
+ task_ref: "internal.a2c.session.open",
490
+ public_task_ref: "a2c.session.open",
491
+ public_category: "a2c",
492
+ public_title: "A2C Session Open",
493
+ execution_mode: "direct_http",
494
+ pricing_band: "utility",
495
+ public_launch_price: { amount_minor: 20, currency: "USD_CENTS" },
496
+ latency_class: "instant",
497
+ failure_posture: "fail_fast",
498
+ input_schema: {
499
+ type: "object",
500
+ required: ["agent_id", "channel_ref"],
501
+ properties: {
502
+ agent_id: { type: "string" },
503
+ channel_ref: { type: "string" }
504
+ },
505
+ additionalProperties: false
506
+ },
507
+ capabilities: ["a2c.session.open"],
508
+ adapters: ["http", "mcp"]
509
+ }),
510
+ makeTask({
511
+ task_ref: "internal.a2c.pack.preview",
512
+ public_task_ref: "a2c.pack.preview",
513
+ public_category: "a2c",
514
+ public_title: "A2C Pack Preview",
515
+ execution_mode: "direct_http",
516
+ pricing_band: "utility",
517
+ public_launch_price: { amount_minor: 25, currency: "USD_CENTS" },
518
+ latency_class: "near_real_time",
519
+ failure_posture: "retry_bounded",
520
+ input_schema: {
521
+ type: "object",
522
+ required: ["agent_id", "pack_ref"],
523
+ properties: {
524
+ agent_id: { type: "string" },
525
+ pack_ref: { type: "string" }
526
+ },
527
+ additionalProperties: false
528
+ },
529
+ capabilities: ["a2c.pack.preview"],
530
+ adapters: ["http"]
531
+ }),
443
532
  makeTask({
444
533
  task_ref: "internal.policy.simulate",
445
534
  public_task_ref: "policy.simulate",
@@ -461,6 +550,50 @@ const tasks = [
461
550
  capabilities: ["policy.simulate"],
462
551
  adapters: ["http"]
463
552
  }),
553
+ makeTask({
554
+ task_ref: "internal.identity.attest.preview",
555
+ public_task_ref: "identity.attest.preview",
556
+ public_category: "identity",
557
+ public_title: "Identity Attest Preview",
558
+ execution_mode: "direct_http",
559
+ pricing_band: "decision_support",
560
+ public_launch_price: { amount_minor: 40, currency: "USD_CENTS" },
561
+ latency_class: "near_real_time",
562
+ failure_posture: "retry_bounded",
563
+ input_schema: {
564
+ type: "object",
565
+ required: ["subject_id", "registry_scope"],
566
+ properties: {
567
+ subject_id: { type: "string" },
568
+ registry_scope: { type: "string" }
569
+ },
570
+ additionalProperties: false
571
+ },
572
+ capabilities: ["identity.attest.preview"],
573
+ adapters: ["http"]
574
+ }),
575
+ makeTask({
576
+ task_ref: "internal.identity.registry.link",
577
+ public_task_ref: "identity.registry.link",
578
+ public_category: "identity",
579
+ public_title: "Identity Registry Link",
580
+ execution_mode: "governed_async",
581
+ pricing_band: "transactional",
582
+ public_launch_price: { amount_minor: 115, currency: "USD_CENTS" },
583
+ latency_class: "governed_async",
584
+ failure_posture: "governed_async",
585
+ input_schema: {
586
+ type: "object",
587
+ required: ["subject_id", "registry_record_id"],
588
+ properties: {
589
+ subject_id: { type: "string" },
590
+ registry_record_id: { type: "string" }
591
+ },
592
+ additionalProperties: false
593
+ },
594
+ capabilities: ["identity.registry.link"],
595
+ adapters: ["chain"]
596
+ }),
464
597
  makeTask({
465
598
  task_ref: "internal.registry.register",
466
599
  public_task_ref: "registry.register",
@@ -483,6 +616,32 @@ const tasks = [
483
616
  capabilities: ["registry.register"],
484
617
  adapters: ["chain"]
485
618
  }),
619
+ makeTask({
620
+ task_ref: "internal.registry.pack.bundle",
621
+ public_task_ref: "registry.pack.bundle",
622
+ public_category: "registry",
623
+ public_title: "Registry Pack Bundle",
624
+ execution_mode: "governed_async",
625
+ pricing_band: "transactional",
626
+ public_launch_price: { amount_minor: 135, currency: "USD_CENTS" },
627
+ latency_class: "governed_async",
628
+ failure_posture: "governed_async",
629
+ input_schema: {
630
+ type: "object",
631
+ required: ["pack_ref", "subject_ids"],
632
+ properties: {
633
+ pack_ref: { type: "string" },
634
+ subject_ids: {
635
+ type: "array",
636
+ items: { type: "string" },
637
+ minItems: 1
638
+ }
639
+ },
640
+ additionalProperties: false
641
+ },
642
+ capabilities: ["registry.pack.bundle"],
643
+ adapters: ["chain"]
644
+ }),
486
645
  makeTask({
487
646
  task_ref: "internal.anchoring.submit",
488
647
  public_task_ref: "anchoring.submit",
@@ -504,6 +663,28 @@ const tasks = [
504
663
  capabilities: ["anchoring.submit"],
505
664
  adapters: ["chain"]
506
665
  }),
666
+ makeTask({
667
+ task_ref: "internal.anchoring.pack.preview",
668
+ public_task_ref: "anchoring.pack.preview",
669
+ public_category: "anchoring",
670
+ public_title: "Anchoring Pack Preview",
671
+ execution_mode: "direct_http",
672
+ pricing_band: "decision_support",
673
+ public_launch_price: { amount_minor: 35, currency: "USD_CENTS" },
674
+ latency_class: "near_real_time",
675
+ failure_posture: "retry_bounded",
676
+ input_schema: {
677
+ type: "object",
678
+ required: ["pack_ref", "commitment_count"],
679
+ properties: {
680
+ pack_ref: { type: "string" },
681
+ commitment_count: { type: "integer", minimum: 1 }
682
+ },
683
+ additionalProperties: false
684
+ },
685
+ capabilities: ["anchoring.pack.preview"],
686
+ adapters: ["chain"]
687
+ }),
507
688
  makeTask({
508
689
  task_ref: "internal.zones.list",
509
690
  public_task_ref: "zones.list",
@@ -662,6 +843,59 @@ const workflows = [
662
843
  latency_class: "governed_async",
663
844
  failure_posture: "governed_async",
664
845
  pricing_basis: "sum"
846
+ },
847
+ {
848
+ workflow_ref: "a2a.settlement.flow",
849
+ aliases: ["a2a.settlement.flow", "agent.negotiation.flow"],
850
+ category: "a2a",
851
+ title: "A2A Settlement Flow",
852
+ description: "Negotiate with another agent, commit the intent, and settle the resulting transaction.",
853
+ task_count: 3,
854
+ task_refs: ["a2a.negotiate", "a2a.commit", "settlement.submit"],
855
+ latency_class: "governed_async",
856
+ failure_posture: "governed_async",
857
+ pricing_basis: "sum"
858
+ },
859
+ {
860
+ workflow_ref: "a2c.tooling.flow",
861
+ aliases: ["a2c.tooling.flow", "agent.channel.tooling.flow"],
862
+ category: "a2c",
863
+ title: "A2C Tooling Flow",
864
+ description: "Open a channel session, preview a task pack, and invoke the selected MCP tool lane.",
865
+ task_count: 3,
866
+ task_refs: ["a2c.session.open", "a2c.pack.preview", "adapter.mcp.invoke"],
867
+ latency_class: "near_real_time",
868
+ failure_posture: "retry_bounded",
869
+ pricing_basis: "sum"
870
+ },
871
+ {
872
+ workflow_ref: "identity.anchor.flow",
873
+ aliases: ["identity.anchor.flow", "identity.registry.anchor.flow"],
874
+ category: "identity",
875
+ title: "Identity Anchor Flow",
876
+ description: "Preview identity attestation, register the record, link it to identity state, and anchor the resulting proof.",
877
+ task_count: 4,
878
+ task_refs: [
879
+ "identity.attest.preview",
880
+ "registry.register",
881
+ "identity.registry.link",
882
+ "anchoring.submit"
883
+ ],
884
+ latency_class: "governed_async",
885
+ failure_posture: "governed_async",
886
+ pricing_basis: "sum"
887
+ },
888
+ {
889
+ workflow_ref: "registry.pack.anchor.flow",
890
+ aliases: ["registry.pack.anchor.flow", "registry.bundle.anchor.flow"],
891
+ category: "registry",
892
+ title: "Registry Pack Anchor Flow",
893
+ description: "Bundle a registry pack, preview anchoring posture, and submit the pack for anchoring.",
894
+ task_count: 3,
895
+ task_refs: ["registry.pack.bundle", "anchoring.pack.preview", "anchoring.submit"],
896
+ latency_class: "governed_async",
897
+ failure_posture: "governed_async",
898
+ pricing_basis: "sum"
665
899
  }
666
900
  ];
667
901
 
@@ -691,7 +925,10 @@ const catalog = {
691
925
  "runtime",
692
926
  "jobs",
693
927
  "credits",
928
+ "a2a",
929
+ "a2c",
694
930
  "policy",
931
+ "identity",
695
932
  "registry",
696
933
  "anchoring",
697
934
  "discovery",
package/index.js CHANGED
@@ -30,11 +30,13 @@ const {
30
30
  summarizeIntegrationSubmissionBundleReview,
31
31
  summarizeIntegrationSubmissionBundleSetReview,
32
32
  summarizeIntegrationRegistrySnapshotReview,
33
- summarizeIntegrationPromotionReadiness
33
+ summarizeIntegrationPromotionReadiness,
34
+ summarizeIntegrationPromotionWorkflow,
35
+ summarizeIntegrationPromotionWorkflowList
34
36
  } = require("./integrations/registry");
35
37
 
36
38
  const COMMERCE_SDK_NAME = "xytara";
37
- const COMMERCE_SDK_VERSION = "1.2.0";
39
+ const COMMERCE_SDK_VERSION = "1.4.0";
38
40
  const COMMERCE_API_VERSION = "v1";
39
41
 
40
42
  function createClient(options) {
@@ -73,5 +75,7 @@ module.exports = {
73
75
  summarizeIntegrationSubmissionBundleSetReview,
74
76
  summarizeIntegrationRegistrySnapshotReview,
75
77
  summarizeIntegrationPromotionReadiness,
78
+ summarizeIntegrationPromotionWorkflow,
79
+ summarizeIntegrationPromotionWorkflowList,
76
80
  validateAdapterImplementation
77
81
  };