@absolutejs/agent 0.3.0 → 0.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 +1 -0
- package/dist/execution.d.ts +1 -0
- package/dist/execution.js +6 -0
- package/dist/execution.js.map +10 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +3 -3
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ await assertProductionReady(stack); // fails until every production concern is w
|
|
|
30
30
|
- `@absolutejs/agent/memory` — scoped, authorized, erasable durable memory
|
|
31
31
|
- `@absolutejs/agent/inbox` — verified webhooks, schedules, retries, dead letters
|
|
32
32
|
- `@absolutejs/agent/discovery` — signed well-known documents, cards, text, sitemaps, registry
|
|
33
|
+
- `@absolutejs/agent/execution` — transactional outbox, retries, reconciliation, compensation
|
|
33
34
|
- `@absolutejs/agent/mcp` and `/a2a` — open interoperability transports
|
|
34
35
|
- `@absolutejs/agent/policy` — versioned policy and AuthZEN adapters
|
|
35
36
|
- `@absolutejs/agent/wallet` — reservations, idempotent settlement, spending policy
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@absolutejs/execution";
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const AGENT_STACK_PACKAGES: {
|
|
|
5
5
|
readonly conformance: "@absolutejs/agent-conformance";
|
|
6
6
|
readonly control: "@absolutejs/agent-control";
|
|
7
7
|
readonly discovery: "@absolutejs/agent-discovery";
|
|
8
|
+
readonly execution: "@absolutejs/execution";
|
|
8
9
|
readonly inbox: "@absolutejs/agent-inbox";
|
|
9
10
|
readonly mcp: "@absolutejs/mcp";
|
|
10
11
|
readonly memory: "@absolutejs/agent-memory";
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ var AGENT_STACK_PACKAGES = {
|
|
|
7
7
|
conformance: "@absolutejs/agent-conformance",
|
|
8
8
|
control: "@absolutejs/agent-control",
|
|
9
9
|
discovery: "@absolutejs/agent-discovery",
|
|
10
|
+
execution: "@absolutejs/execution",
|
|
10
11
|
inbox: "@absolutejs/agent-inbox",
|
|
11
12
|
mcp: "@absolutejs/mcp",
|
|
12
13
|
memory: "@absolutejs/agent-memory",
|
|
@@ -74,5 +75,5 @@ export {
|
|
|
74
75
|
AGENT_STACK_PACKAGES
|
|
75
76
|
};
|
|
76
77
|
|
|
77
|
-
//# debugId=
|
|
78
|
+
//# debugId=5BFDDCA85E68177464756E2164756E21
|
|
78
79
|
//# 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 control: \"@absolutejs/agent-control\",\n discovery: \"@absolutejs/agent-discovery\",\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 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"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;AAAO,IAAM,uBAAuB;AAAA,EAClC,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AAAA,EACT,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": "
|
|
7
|
+
"mappings": ";;AAAO,IAAM,uBAAuB;AAAA,EAClC,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,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": "5BFDDCA85E68177464756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@absolutejs/agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
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",
|
|
@@ -52,6 +52,11 @@
|
|
|
52
52
|
"import": "./dist/discovery.js",
|
|
53
53
|
"default": "./dist/discovery.js"
|
|
54
54
|
},
|
|
55
|
+
"./execution": {
|
|
56
|
+
"types": "./dist/execution.d.ts",
|
|
57
|
+
"import": "./dist/execution.js",
|
|
58
|
+
"default": "./dist/execution.js"
|
|
59
|
+
},
|
|
55
60
|
"./inbox": {
|
|
56
61
|
"types": "./dist/inbox.d.ts",
|
|
57
62
|
"import": "./dist/inbox.js",
|
|
@@ -126,7 +131,8 @@
|
|
|
126
131
|
"@absolutejs/agent-runtime": "^0.1.0",
|
|
127
132
|
"@absolutejs/agent-sandbox": "^0.1.0",
|
|
128
133
|
"@absolutejs/agent-trust": "^0.1.0",
|
|
129
|
-
"@absolutejs/auth": "^0.
|
|
134
|
+
"@absolutejs/auth": "^0.56.0",
|
|
135
|
+
"@absolutejs/execution": "^0.2.0",
|
|
130
136
|
"@absolutejs/manifest": "^0.3.0",
|
|
131
137
|
"@absolutejs/mcp": "^0.10.1",
|
|
132
138
|
"@absolutejs/policy": "^0.2.0",
|