@absolutejs/agent 0.26.0 → 0.26.2

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
@@ -38,6 +38,7 @@ await assertProductionReady(stack); // fails until every production concern is w
38
38
  - `@absolutejs/agent/inbox` — verified webhooks, schedules, retries, dead letters
39
39
  - `@absolutejs/agent/discovery` — signed well-known documents, cards, text, sitemaps, registry
40
40
  - `@absolutejs/agent/execution` — certified tenant adapter installations, transactional outbox, retries, signed provider evidence ingestion, reconciliation, compensation
41
+ - `@absolutejs/agent/exchange` — experimental, model-blind sensitive-value exchange with exact Agency approval, single-use leases, authenticated E2EE, replay defense, and redacted receipts
41
42
  - `@absolutejs/agent/mcp`, `/a2a`, `/arazzo`, and `/webmcp` — open interoperability, workflow, and browser transports
42
43
  - `@absolutejs/agent/policy` — versioned policy and AuthZEN adapters
43
44
  - `@absolutejs/agent/wallet` — reservations, idempotent settlement, spending policy
@@ -0,0 +1 @@
1
+ export * from "@absolutejs/agent-exchange";
@@ -0,0 +1,6 @@
1
+ // @bun
2
+ // src/exchange.ts
3
+ export * from "@absolutejs/agent-exchange";
4
+
5
+ //# debugId=412E98ABE952A60864756E2164756E21
6
+ //# sourceMappingURL=exchange.js.map
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/exchange.ts"],
4
+ "sourcesContent": [
5
+ "export * from \"@absolutejs/agent-exchange\";\n"
6
+ ],
7
+ "mappings": ";;AAAA;",
8
+ "debugId": "412E98ABE952A60864756E2164756E21",
9
+ "names": []
10
+ }
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export declare const AGENT_STACK_PACKAGES: {
7
7
  readonly control: "@absolutejs/agent-control";
8
8
  readonly discovery: "@absolutejs/agent-discovery";
9
9
  readonly execution: "@absolutejs/execution";
10
+ readonly exchange: "@absolutejs/agent-exchange";
10
11
  readonly inbox: "@absolutejs/agent-inbox";
11
12
  readonly mcp: "@absolutejs/mcp";
12
13
  readonly memory: "@absolutejs/agent-memory";
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ var AGENT_STACK_PACKAGES = {
9
9
  control: "@absolutejs/agent-control",
10
10
  discovery: "@absolutejs/agent-discovery",
11
11
  execution: "@absolutejs/execution",
12
+ exchange: "@absolutejs/agent-exchange",
12
13
  inbox: "@absolutejs/agent-inbox",
13
14
  mcp: "@absolutejs/mcp",
14
15
  memory: "@absolutejs/agent-memory",
@@ -76,5 +77,5 @@ export {
76
77
  AGENT_STACK_PACKAGES
77
78
  };
78
79
 
79
- //# debugId=7D0FD7A8890B50CE64756E2164756E21
80
+ //# debugId=5AA4B824AE51CE3264756E2164756E21
80
81
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": [
5
- "export const AGENT_STACK_PACKAGES = {\n a2a: \"@absolutejs/a2a\",\n actions: \"@absolutejs/agency\",\n auth: \"@absolutejs/auth\",\n conformance: \"@absolutejs/agent-conformance\",\n commerce: \"@absolutejs/agent/commerce\",\n control: \"@absolutejs/agent-control\",\n discovery: \"@absolutejs/agent-discovery\",\n execution: \"@absolutejs/execution\",\n inbox: \"@absolutejs/agent-inbox\",\n mcp: \"@absolutejs/mcp\",\n memory: \"@absolutejs/agent-memory\",\n policy: \"@absolutejs/policy\",\n runtime: \"@absolutejs/agent-runtime\",\n sandbox: \"@absolutejs/agent-sandbox\",\n trust: \"@absolutejs/agent-trust\",\n wallet: \"@absolutejs/wallet\",\n} as const;\n\nexport const PRODUCTION_AGENT_CAPABILITIES = [\n \"identity\",\n \"authorization\",\n \"durability\",\n \"sandbox\",\n \"trust\",\n \"memory\",\n \"triggers\",\n \"discovery\",\n \"interoperability\",\n \"spend\",\n \"operations\",\n \"conformance\",\n] as const;\n\nexport type ProductionAgentCapability =\n (typeof PRODUCTION_AGENT_CAPABILITIES)[number];\n\nexport type AgentStackComponent<Instance = unknown> = {\n capability: ProductionAgentCapability;\n instance: Instance;\n name: string;\n productionReady?: () => boolean | Promise<boolean>;\n};\n\nexport type AgentStack<Components extends readonly AgentStackComponent[]> = {\n components: Components;\n get: <Name extends Components[number][\"name\"]>(\n name: Name,\n ) => Extract<Components[number], { name: Name }>[\"instance\"];\n readiness: () => Promise<AgentStackReadiness>;\n};\n\nexport type AgentStackReadiness = {\n capabilities: Record<ProductionAgentCapability, boolean>;\n missing: ProductionAgentCapability[];\n ready: boolean;\n};\n\nconst readinessOf = async (\n components: readonly AgentStackComponent[],\n): Promise<AgentStackReadiness> => {\n const capabilities = Object.fromEntries(\n PRODUCTION_AGENT_CAPABILITIES.map((capability) => [capability, false]),\n ) as Record<ProductionAgentCapability, boolean>;\n for (const component of components) {\n if ((await component.productionReady?.()) === false) continue;\n capabilities[component.capability] = true;\n }\n const missing = PRODUCTION_AGENT_CAPABILITIES.filter(\n (capability) => !capabilities[capability],\n );\n\n return { capabilities, missing, ready: missing.length === 0 };\n};\n\nexport const defineAgentStack = <\n const Components extends readonly AgentStackComponent[],\n>(\n components: Components,\n): AgentStack<Components> => {\n const names = new Set<string>();\n for (const component of components) {\n if (names.has(component.name)) {\n throw new Error(`Duplicate agent stack component: ${component.name}`);\n }\n names.add(component.name);\n }\n\n return {\n components,\n get: (name) => {\n const component = components.find((candidate) => candidate.name === name);\n if (component === undefined) {\n throw new Error(`Unknown agent stack component: ${String(name)}`);\n }\n\n return component.instance as Extract<\n Components[number],\n { name: typeof name }\n >[\"instance\"];\n },\n readiness: () => readinessOf(components),\n };\n};\n\nexport const assertProductionReady = async (\n stack: Pick<AgentStack<readonly AgentStackComponent[]>, \"readiness\">,\n) => {\n const readiness = await stack.readiness();\n if (!readiness.ready) {\n throw new Error(\n `Agent stack is missing production capabilities: ${readiness.missing.join(\", \")}`,\n );\n }\n\n return readiness;\n};\n"
5
+ "export const AGENT_STACK_PACKAGES = {\n a2a: \"@absolutejs/a2a\",\n actions: \"@absolutejs/agency\",\n auth: \"@absolutejs/auth\",\n conformance: \"@absolutejs/agent-conformance\",\n commerce: \"@absolutejs/agent/commerce\",\n control: \"@absolutejs/agent-control\",\n discovery: \"@absolutejs/agent-discovery\",\n execution: \"@absolutejs/execution\",\n exchange: \"@absolutejs/agent-exchange\",\n inbox: \"@absolutejs/agent-inbox\",\n mcp: \"@absolutejs/mcp\",\n memory: \"@absolutejs/agent-memory\",\n policy: \"@absolutejs/policy\",\n runtime: \"@absolutejs/agent-runtime\",\n sandbox: \"@absolutejs/agent-sandbox\",\n trust: \"@absolutejs/agent-trust\",\n wallet: \"@absolutejs/wallet\",\n} as const;\n\nexport const PRODUCTION_AGENT_CAPABILITIES = [\n \"identity\",\n \"authorization\",\n \"durability\",\n \"sandbox\",\n \"trust\",\n \"memory\",\n \"triggers\",\n \"discovery\",\n \"interoperability\",\n \"spend\",\n \"operations\",\n \"conformance\",\n] as const;\n\nexport type ProductionAgentCapability =\n (typeof PRODUCTION_AGENT_CAPABILITIES)[number];\n\nexport type AgentStackComponent<Instance = unknown> = {\n capability: ProductionAgentCapability;\n instance: Instance;\n name: string;\n productionReady?: () => boolean | Promise<boolean>;\n};\n\nexport type AgentStack<Components extends readonly AgentStackComponent[]> = {\n components: Components;\n get: <Name extends Components[number][\"name\"]>(\n name: Name,\n ) => Extract<Components[number], { name: Name }>[\"instance\"];\n readiness: () => Promise<AgentStackReadiness>;\n};\n\nexport type AgentStackReadiness = {\n capabilities: Record<ProductionAgentCapability, boolean>;\n missing: ProductionAgentCapability[];\n ready: boolean;\n};\n\nconst readinessOf = async (\n components: readonly AgentStackComponent[],\n): Promise<AgentStackReadiness> => {\n const capabilities = Object.fromEntries(\n PRODUCTION_AGENT_CAPABILITIES.map((capability) => [capability, false]),\n ) as Record<ProductionAgentCapability, boolean>;\n for (const component of components) {\n if ((await component.productionReady?.()) === false) continue;\n capabilities[component.capability] = true;\n }\n const missing = PRODUCTION_AGENT_CAPABILITIES.filter(\n (capability) => !capabilities[capability],\n );\n\n return { capabilities, missing, ready: missing.length === 0 };\n};\n\nexport const defineAgentStack = <\n const Components extends readonly AgentStackComponent[],\n>(\n components: Components,\n): AgentStack<Components> => {\n const names = new Set<string>();\n for (const component of components) {\n if (names.has(component.name)) {\n throw new Error(`Duplicate agent stack component: ${component.name}`);\n }\n names.add(component.name);\n }\n\n return {\n components,\n get: (name) => {\n const component = components.find((candidate) => candidate.name === name);\n if (component === undefined) {\n throw new Error(`Unknown agent stack component: ${String(name)}`);\n }\n\n return component.instance as Extract<\n Components[number],\n { name: typeof name }\n >[\"instance\"];\n },\n readiness: () => readinessOf(components),\n };\n};\n\nexport const assertProductionReady = async (\n stack: Pick<AgentStack<readonly AgentStackComponent[]>, \"readiness\">,\n) => {\n const readiness = await stack.readiness();\n if (!readiness.ready) {\n throw new Error(\n `Agent stack is missing production capabilities: ${readiness.missing.join(\", \")}`,\n );\n }\n\n return readiness;\n};\n"
6
6
  ],
7
- "mappings": ";;AAAO,IAAM,uBAAuB;AAAA,EAClC,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AACV;AAEO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA0BA,IAAM,cAAc,OAClB,eACiC;AAAA,EACjC,MAAM,eAAe,OAAO,YAC1B,8BAA8B,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,CAAC,CACvE;AAAA,EACA,WAAW,aAAa,YAAY;AAAA,IAClC,IAAK,MAAM,UAAU,kBAAkB,MAAO;AAAA,MAAO;AAAA,IACrD,aAAa,UAAU,cAAc;AAAA,EACvC;AAAA,EACA,MAAM,UAAU,8BAA8B,OAC5C,CAAC,eAAe,CAAC,aAAa,WAChC;AAAA,EAEA,OAAO,EAAE,cAAc,SAAS,OAAO,QAAQ,WAAW,EAAE;AAAA;AAGvD,IAAM,mBAAmB,CAG9B,eAC2B;AAAA,EAC3B,MAAM,QAAQ,IAAI;AAAA,EAClB,WAAW,aAAa,YAAY;AAAA,IAClC,IAAI,MAAM,IAAI,UAAU,IAAI,GAAG;AAAA,MAC7B,MAAM,IAAI,MAAM,oCAAoC,UAAU,MAAM;AAAA,IACtE;AAAA,IACA,MAAM,IAAI,UAAU,IAAI;AAAA,EAC1B;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA,KAAK,CAAC,SAAS;AAAA,MACb,MAAM,YAAY,WAAW,KAAK,CAAC,cAAc,UAAU,SAAS,IAAI;AAAA,MACxE,IAAI,cAAc,WAAW;AAAA,QAC3B,MAAM,IAAI,MAAM,kCAAkC,OAAO,IAAI,GAAG;AAAA,MAClE;AAAA,MAEA,OAAO,UAAU;AAAA;AAAA,IAKnB,WAAW,MAAM,YAAY,UAAU;AAAA,EACzC;AAAA;AAGK,IAAM,wBAAwB,OACnC,UACG;AAAA,EACH,MAAM,YAAY,MAAM,MAAM,UAAU;AAAA,EACxC,IAAI,CAAC,UAAU,OAAO;AAAA,IACpB,MAAM,IAAI,MACR,mDAAmD,UAAU,QAAQ,KAAK,IAAI,GAChF;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;",
8
- "debugId": "7D0FD7A8890B50CE64756E2164756E21",
7
+ "mappings": ";;AAAO,IAAM,uBAAuB;AAAA,EAClC,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AACV;AAEO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA0BA,IAAM,cAAc,OAClB,eACiC;AAAA,EACjC,MAAM,eAAe,OAAO,YAC1B,8BAA8B,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,CAAC,CACvE;AAAA,EACA,WAAW,aAAa,YAAY;AAAA,IAClC,IAAK,MAAM,UAAU,kBAAkB,MAAO;AAAA,MAAO;AAAA,IACrD,aAAa,UAAU,cAAc;AAAA,EACvC;AAAA,EACA,MAAM,UAAU,8BAA8B,OAC5C,CAAC,eAAe,CAAC,aAAa,WAChC;AAAA,EAEA,OAAO,EAAE,cAAc,SAAS,OAAO,QAAQ,WAAW,EAAE;AAAA;AAGvD,IAAM,mBAAmB,CAG9B,eAC2B;AAAA,EAC3B,MAAM,QAAQ,IAAI;AAAA,EAClB,WAAW,aAAa,YAAY;AAAA,IAClC,IAAI,MAAM,IAAI,UAAU,IAAI,GAAG;AAAA,MAC7B,MAAM,IAAI,MAAM,oCAAoC,UAAU,MAAM;AAAA,IACtE;AAAA,IACA,MAAM,IAAI,UAAU,IAAI;AAAA,EAC1B;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA,KAAK,CAAC,SAAS;AAAA,MACb,MAAM,YAAY,WAAW,KAAK,CAAC,cAAc,UAAU,SAAS,IAAI;AAAA,MACxE,IAAI,cAAc,WAAW;AAAA,QAC3B,MAAM,IAAI,MAAM,kCAAkC,OAAO,IAAI,GAAG;AAAA,MAClE;AAAA,MAEA,OAAO,UAAU;AAAA;AAAA,IAKnB,WAAW,MAAM,YAAY,UAAU;AAAA,EACzC;AAAA;AAGK,IAAM,wBAAwB,OACnC,UACG;AAAA,EACH,MAAM,YAAY,MAAM,MAAM,UAAU;AAAA,EACxC,IAAI,CAAC,UAAU,OAAO;AAAA,IACpB,MAAM,IAAI,MACR,mDAAmD,UAAU,QAAQ,KAAK,IAAI,GAChF;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;",
8
+ "debugId": "5AA4B824AE51CE3264756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/manifest.js CHANGED
@@ -20,14 +20,15 @@ var manifest = defineManifest()({
20
20
  "orchestration",
21
21
  "security",
22
22
  "interoperability",
23
- "commerce"
23
+ "commerce",
24
+ "encrypted exchange"
24
25
  ],
25
26
  protocols: ["OAuth 2.0", "MCP", "A2A 1.0", "Arazzo 1.1", "WebMCP"]
26
27
  },
27
28
  identity: {
28
29
  accent: "#111827",
29
30
  category: "ai",
30
- description: "The discoverable production agent stack for AbsoluteJS: auth.md identity and delegation, policy-gated actions, certified tenant-scoped effect adapters, durable execution, sandboxing, trust, memory, triggers, MCP, A2A, Arazzo, WebMCP, spend controls, operations, and conformance.",
31
+ description: "The discoverable production agent stack for AbsoluteJS: auth.md identity and delegation, policy-gated actions, model-blind encrypted exchange, certified tenant-scoped effect adapters, durable execution, sandboxing, trust, memory, triggers, MCP, A2A, Arazzo, WebMCP, spend controls, operations, and conformance.",
31
32
  docsUrl: "https://github.com/absolutejs/agent",
32
33
  name: "@absolutejs/agent",
33
34
  tagline: "Build agents that can safely act, persist, pay, and be found."
@@ -78,5 +79,5 @@ export {
78
79
  manifest
79
80
  };
80
81
 
81
- //# debugId=E9746E39EA986B7664756E2164756E21
82
+ //# debugId=37C82D320170946064756E2164756E21
82
83
  //# sourceMappingURL=manifest.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/manifest.ts"],
4
4
  "sourcesContent": [
5
- "import { defineManifest, toolFactory } from \"@absolutejs/manifest\";\nimport { Type } from \"@sinclair/typebox\";\n\nconst tool = toolFactory<never>();\n\nexport const manifest = defineManifest<Record<string, never>, never>()({\n contract: 2,\n discovery: {\n audiences: [\"agent-hosts\", \"application-developers\"],\n intents: [\n \"build an agent-first application\",\n \"audit an agent stack\",\n \"compose agent infrastructure\",\n \"orchestrate a durable agent purchase\",\n ],\n keywords: [\n \"agents\",\n \"absolutejs\",\n \"identity\",\n \"orchestration\",\n \"security\",\n \"interoperability\",\n \"commerce\",\n ],\n protocols: [\"OAuth 2.0\", \"MCP\", \"A2A 1.0\", \"Arazzo 1.1\", \"WebMCP\"],\n },\n identity: {\n accent: \"#111827\",\n category: \"ai\",\n description:\n \"The discoverable production agent stack for AbsoluteJS: auth.md identity and delegation, policy-gated actions, certified tenant-scoped effect adapters, durable execution, sandboxing, trust, memory, triggers, MCP, A2A, Arazzo, WebMCP, spend controls, operations, and conformance.\",\n docsUrl: \"https://github.com/absolutejs/agent\",\n name: \"@absolutejs/agent\",\n tagline: \"Build agents that can safely act, persist, pay, and be found.\",\n },\n integration: {\n description:\n \"The host must supply explicit identity, policy, durable stores, sandbox, signing, interoperability, spend, operations, and conformance components before defining the stack.\",\n mode: \"code-first\",\n },\n settings: Type.Object({}),\n tools: {\n inspect_agent_stack: tool.workspace({\n annotations: { readOnlyHint: true },\n authorization: {\n approval: \"never\",\n audience: \"admin\",\n effects: [\"read\"],\n requiredScopes: [\"agent-stack:inspect\"],\n },\n capabilities: [\"read\", \"glob\"],\n description:\n \"Inspect an AbsoluteJS project for the production agent stack and report missing safety or discoverability packages.\",\n input: Type.Object({}),\n handler: async (_input, workspace) => {\n const packageFiles = (await workspace.glob?.(\"**/package.json\")) ?? [];\n const packageFile = packageFiles.find(\n (file) => !file.includes(\"node_modules\"),\n );\n if (packageFile === undefined) return \"No package.json found.\";\n const source = (await workspace.read(packageFile)) ?? \"\";\n if (source.includes('\"@absolutejs/agent\"')) {\n return \"The @absolutejs/agent production stack is installed.\";\n }\n const expected = [\n \"@absolutejs/auth\",\n \"@absolutejs/agency\",\n \"@absolutejs/agent-runtime\",\n \"@absolutejs/agent-sandbox\",\n \"@absolutejs/agent-trust\",\n \"@absolutejs/agent-discovery\",\n \"@absolutejs/agent-conformance\",\n ];\n const missing = expected.filter((name) => !source.includes(name));\n\n return missing.length === 0\n ? \"Core production agent packages are present.\"\n : `Missing production agent packages: ${missing.join(\", \")}`;\n },\n }),\n },\n wiring: [],\n});\n"
5
+ "import { defineManifest, toolFactory } from \"@absolutejs/manifest\";\nimport { Type } from \"@sinclair/typebox\";\n\nconst tool = toolFactory<never>();\n\nexport const manifest = defineManifest<Record<string, never>, never>()({\n contract: 2,\n discovery: {\n audiences: [\"agent-hosts\", \"application-developers\"],\n intents: [\n \"build an agent-first application\",\n \"audit an agent stack\",\n \"compose agent infrastructure\",\n \"orchestrate a durable agent purchase\",\n ],\n keywords: [\n \"agents\",\n \"absolutejs\",\n \"identity\",\n \"orchestration\",\n \"security\",\n \"interoperability\",\n \"commerce\",\n \"encrypted exchange\",\n ],\n protocols: [\"OAuth 2.0\", \"MCP\", \"A2A 1.0\", \"Arazzo 1.1\", \"WebMCP\"],\n },\n identity: {\n accent: \"#111827\",\n category: \"ai\",\n description:\n \"The discoverable production agent stack for AbsoluteJS: auth.md identity and delegation, policy-gated actions, model-blind encrypted exchange, certified tenant-scoped effect adapters, durable execution, sandboxing, trust, memory, triggers, MCP, A2A, Arazzo, WebMCP, spend controls, operations, and conformance.\",\n docsUrl: \"https://github.com/absolutejs/agent\",\n name: \"@absolutejs/agent\",\n tagline: \"Build agents that can safely act, persist, pay, and be found.\",\n },\n integration: {\n description:\n \"The host must supply explicit identity, policy, durable stores, sandbox, signing, interoperability, spend, operations, and conformance components before defining the stack.\",\n mode: \"code-first\",\n },\n settings: Type.Object({}),\n tools: {\n inspect_agent_stack: tool.workspace({\n annotations: { readOnlyHint: true },\n authorization: {\n approval: \"never\",\n audience: \"admin\",\n effects: [\"read\"],\n requiredScopes: [\"agent-stack:inspect\"],\n },\n capabilities: [\"read\", \"glob\"],\n description:\n \"Inspect an AbsoluteJS project for the production agent stack and report missing safety or discoverability packages.\",\n input: Type.Object({}),\n handler: async (_input, workspace) => {\n const packageFiles = (await workspace.glob?.(\"**/package.json\")) ?? [];\n const packageFile = packageFiles.find(\n (file) => !file.includes(\"node_modules\"),\n );\n if (packageFile === undefined) return \"No package.json found.\";\n const source = (await workspace.read(packageFile)) ?? \"\";\n if (source.includes('\"@absolutejs/agent\"')) {\n return \"The @absolutejs/agent production stack is installed.\";\n }\n const expected = [\n \"@absolutejs/auth\",\n \"@absolutejs/agency\",\n \"@absolutejs/agent-runtime\",\n \"@absolutejs/agent-sandbox\",\n \"@absolutejs/agent-trust\",\n \"@absolutejs/agent-discovery\",\n \"@absolutejs/agent-conformance\",\n ];\n const missing = expected.filter((name) => !source.includes(name));\n\n return missing.length === 0\n ? \"Core production agent packages are present.\"\n : `Missing production agent packages: ${missing.join(\", \")}`;\n },\n }),\n },\n wiring: [],\n});\n"
6
6
  ],
7
- "mappings": ";;AAAA;AACA;AAEA,IAAM,OAAO,YAAmB;AAEzB,IAAM,WAAW,eAA6C,EAAE;AAAA,EACrE,UAAU;AAAA,EACV,WAAW;AAAA,IACT,WAAW,CAAC,eAAe,wBAAwB;AAAA,IACnD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,CAAC,aAAa,OAAO,WAAW,cAAc,QAAQ;AAAA,EACnE;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,aACE;AAAA,IACF,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,aACE;AAAA,IACF,MAAM;AAAA,EACR;AAAA,EACA,UAAU,KAAK,OAAO,CAAC,CAAC;AAAA,EACxB,OAAO;AAAA,IACL,qBAAqB,KAAK,UAAU;AAAA,MAClC,aAAa,EAAE,cAAc,KAAK;AAAA,MAClC,eAAe;AAAA,QACb,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS,CAAC,MAAM;AAAA,QAChB,gBAAgB,CAAC,qBAAqB;AAAA,MACxC;AAAA,MACA,cAAc,CAAC,QAAQ,MAAM;AAAA,MAC7B,aACE;AAAA,MACF,OAAO,KAAK,OAAO,CAAC,CAAC;AAAA,MACrB,SAAS,OAAO,QAAQ,cAAc;AAAA,QACpC,MAAM,eAAgB,MAAM,UAAU,OAAO,iBAAiB,KAAM,CAAC;AAAA,QACrE,MAAM,cAAc,aAAa,KAC/B,CAAC,SAAS,CAAC,KAAK,SAAS,cAAc,CACzC;AAAA,QACA,IAAI,gBAAgB;AAAA,UAAW,OAAO;AAAA,QACtC,MAAM,SAAU,MAAM,UAAU,KAAK,WAAW,KAAM;AAAA,QACtD,IAAI,OAAO,SAAS,qBAAqB,GAAG;AAAA,UAC1C,OAAO;AAAA,QACT;AAAA,QACA,MAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM,UAAU,SAAS,OAAO,CAAC,SAAS,CAAC,OAAO,SAAS,IAAI,CAAC;AAAA,QAEhE,OAAO,QAAQ,WAAW,IACtB,gDACA,sCAAsC,QAAQ,KAAK,IAAI;AAAA;AAAA,IAE/D,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,CAAC;AACX,CAAC;",
8
- "debugId": "E9746E39EA986B7664756E2164756E21",
7
+ "mappings": ";;AAAA;AACA;AAEA,IAAM,OAAO,YAAmB;AAEzB,IAAM,WAAW,eAA6C,EAAE;AAAA,EACrE,UAAU;AAAA,EACV,WAAW;AAAA,IACT,WAAW,CAAC,eAAe,wBAAwB;AAAA,IACnD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,CAAC,aAAa,OAAO,WAAW,cAAc,QAAQ;AAAA,EACnE;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,aACE;AAAA,IACF,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,aACE;AAAA,IACF,MAAM;AAAA,EACR;AAAA,EACA,UAAU,KAAK,OAAO,CAAC,CAAC;AAAA,EACxB,OAAO;AAAA,IACL,qBAAqB,KAAK,UAAU;AAAA,MAClC,aAAa,EAAE,cAAc,KAAK;AAAA,MAClC,eAAe;AAAA,QACb,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS,CAAC,MAAM;AAAA,QAChB,gBAAgB,CAAC,qBAAqB;AAAA,MACxC;AAAA,MACA,cAAc,CAAC,QAAQ,MAAM;AAAA,MAC7B,aACE;AAAA,MACF,OAAO,KAAK,OAAO,CAAC,CAAC;AAAA,MACrB,SAAS,OAAO,QAAQ,cAAc;AAAA,QACpC,MAAM,eAAgB,MAAM,UAAU,OAAO,iBAAiB,KAAM,CAAC;AAAA,QACrE,MAAM,cAAc,aAAa,KAC/B,CAAC,SAAS,CAAC,KAAK,SAAS,cAAc,CACzC;AAAA,QACA,IAAI,gBAAgB;AAAA,UAAW,OAAO;AAAA,QACtC,MAAM,SAAU,MAAM,UAAU,KAAK,WAAW,KAAM;AAAA,QACtD,IAAI,OAAO,SAAS,qBAAqB,GAAG;AAAA,UAC1C,OAAO;AAAA,QACT;AAAA,QACA,MAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM,UAAU,SAAS,OAAO,CAAC,SAAS,CAAC,OAAO,SAAS,IAAI,CAAC;AAAA,QAEhE,OAAO,QAAQ,WAAW,IACtB,gDACA,sCAAsC,QAAQ,KAAK,IAAI;AAAA;AAAA,IAE/D,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,CAAC;AACX,CAAC;",
8
+ "debugId": "37C82D320170946064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -18,7 +18,8 @@
18
18
  "orchestration",
19
19
  "security",
20
20
  "interoperability",
21
- "commerce"
21
+ "commerce",
22
+ "encrypted exchange"
22
23
  ],
23
24
  "protocols": [
24
25
  "OAuth 2.0",
@@ -31,7 +32,7 @@
31
32
  "identity": {
32
33
  "accent": "#111827",
33
34
  "category": "ai",
34
- "description": "The discoverable production agent stack for AbsoluteJS: auth.md identity and delegation, policy-gated actions, certified tenant-scoped effect adapters, durable execution, sandboxing, trust, memory, triggers, MCP, A2A, Arazzo, WebMCP, spend controls, operations, and conformance.",
35
+ "description": "The discoverable production agent stack for AbsoluteJS: auth.md identity and delegation, policy-gated actions, model-blind encrypted exchange, certified tenant-scoped effect adapters, durable execution, sandboxing, trust, memory, triggers, MCP, A2A, Arazzo, WebMCP, spend controls, operations, and conformance.",
35
36
  "docsUrl": "https://github.com/absolutejs/agent",
36
37
  "name": "@absolutejs/agent",
37
38
  "tagline": "Build agents that can safely act, persist, pay, and be found."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/agent",
3
- "version": "0.26.0",
3
+ "version": "0.26.2",
4
4
  "description": "The production-grade, provider-neutral agent stack for AbsoluteJS: auth, actions, runtime, sandboxing, trust, memory, inbox, discovery, MCP, A2A, policy, wallet limits, controls, and conformance.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -67,6 +67,11 @@
67
67
  "import": "./dist/execution.js",
68
68
  "default": "./dist/execution.js"
69
69
  },
70
+ "./exchange": {
71
+ "types": "./dist/exchange.d.ts",
72
+ "import": "./dist/exchange.js",
73
+ "default": "./dist/exchange.js"
74
+ },
70
75
  "./inbox": {
71
76
  "types": "./dist/inbox.d.ts",
72
77
  "import": "./dist/inbox.js",
@@ -138,23 +143,24 @@
138
143
  "test": "bun test",
139
144
  "format": "prettier --write \"./**/*.{ts,json,md,yml}\"",
140
145
  "verify-package": "absolute-manifest verify-package",
141
- "check:package": "bun run typecheck && bun run test && bun run verify-package && bun run build && bun run verify-package --artifacts",
146
+ "check:package": "bun run typecheck && bun run test && bun run verify-package && bun run build",
142
147
  "release": "bun run format && bun run check:package && npm publish --access public"
143
148
  },
144
149
  "dependencies": {
145
150
  "@absolutejs/a2a": "^0.3.6",
146
- "@absolutejs/agency": "^0.7.3",
151
+ "@absolutejs/agency": "^0.7.4",
147
152
  "@absolutejs/agent-conformance": "^0.15.0",
148
153
  "@absolutejs/agent-control": "^0.5.7",
149
154
  "@absolutejs/agent-discovery": "^0.2.2",
155
+ "@absolutejs/agent-exchange": "0.1.0",
150
156
  "@absolutejs/agent-inbox": "^0.3.4",
151
157
  "@absolutejs/agent-memory": "^0.1.6",
152
158
  "@absolutejs/agent-runtime": "^0.2.5",
153
159
  "@absolutejs/agent-sandbox": "^0.2.1",
154
160
  "@absolutejs/agent-trust": "^0.2.1",
155
161
  "@absolutejs/arazzo": "^0.1.3",
156
- "@absolutejs/manifest": "^0.7.3",
157
- "@absolutejs/mcp": "^0.11.3",
162
+ "@absolutejs/manifest": "^0.9.0",
163
+ "@absolutejs/mcp": "^0.12.0",
158
164
  "@absolutejs/policy": "^0.3.0",
159
165
  "@absolutejs/wallet": "^0.9.3",
160
166
  "@absolutejs/webmcp": "^0.1.5",
@@ -178,43 +184,7 @@
178
184
  "auth.md"
179
185
  ],
180
186
  "absolutejs": {
181
- "manifestContract": 2,
182
- "runtimePeers": {
183
- "@absolutejs/auth": {
184
- "artifactImports": [
185
- "@absolutejs/auth/agents"
186
- ],
187
- "buildExternals": [
188
- "@absolutejs/auth"
189
- ],
190
- "optional": false,
191
- "range": ">=0.57.6 <1",
192
- "tested": "0.65.0"
193
- },
194
- "@absolutejs/execution": {
195
- "artifactImports": [
196
- "@absolutejs/execution"
197
- ],
198
- "buildExternals": [
199
- "@absolutejs/execution"
200
- ],
201
- "optional": false,
202
- "range": ">=0.14.6 <0.15",
203
- "tested": "0.14.6"
204
- },
205
- "drizzle-orm": {
206
- "artifactImports": [
207
- "drizzle-orm",
208
- "drizzle-orm/pg-core"
209
- ],
210
- "buildExternals": [
211
- "drizzle-orm"
212
- ],
213
- "optional": false,
214
- "range": ">=1.0.0-rc.4 <2",
215
- "tested": "1.0.0-rc.4"
216
- }
217
- }
187
+ "manifestContract": 2
218
188
  },
219
189
  "peerDependencies": {
220
190
  "@absolutejs/auth": ">=0.57.6 <1",