@absolutejs/agent 0.23.20 → 0.24.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.
@@ -1,6 +1,18 @@
1
+ /**
2
+ * The subsystems whose schema this runner can apply. A host selects the ones it
3
+ * actually uses; anything it leaves out is never created.
4
+ *
5
+ * Applying the whole stack unconditionally means an app that only wants, say,
6
+ * agency approvals still gets wallet's six tables, its balance-assertion
7
+ * function, and a constraint trigger — inert schema in a production database
8
+ * that nothing reads, that every schema audit has to explain, and that shows up
9
+ * in any drift or catalog check as unaccounted-for objects.
10
+ */
11
+ export type AgentPostgresModule = "a2a" | "agency" | "agent-control" | "agent-inbox" | "agent-memory" | "agent-runtime" | "commerce" | "execution" | "mcp" | "wallet";
1
12
  export type AgentPostgresMigration = {
2
13
  digest: string;
3
14
  id: string;
15
+ module: AgentPostgresModule;
4
16
  packageName: string;
5
17
  packageVersion: string;
6
18
  sql: string;
@@ -14,7 +26,21 @@ export type AgentPostgresMigrationResult = {
14
26
  applied: string[];
15
27
  skipped: string[];
16
28
  };
17
- /** Complete ordered database contract for the production AbsoluteJS agent stack. */
18
- export declare const agentPostgresMigrations: () => AgentPostgresMigration[];
19
- /** Apply every package-owned agent migration once under a cross-replica lock. */
20
- export declare const applyAgentPostgresMigrations: (client: AgentPostgresMigrationClient) => Promise<AgentPostgresMigrationResult>;
29
+ /**
30
+ * Ordered database contract for the AbsoluteJS agent stack.
31
+ *
32
+ * Pass `modules` to get only the subsystems the host actually uses; omit it for
33
+ * the complete stack, which is the historical behaviour. Narrowing later is
34
+ * safe: already-applied migrations stay recorded in the journal and are simply
35
+ * not revisited, and widening again applies the rest on the next run.
36
+ */
37
+ export declare const agentPostgresMigrations: (modules?: readonly AgentPostgresModule[]) => AgentPostgresMigration[];
38
+ export type ApplyAgentPostgresMigrationsOptions = {
39
+ /** Subsystems to apply. Omit for the complete stack. Passing only what the
40
+ * host uses keeps unused schema — wallet's tables, function, and constraint
41
+ * trigger being the usual culprits — out of its database entirely. */
42
+ modules?: readonly AgentPostgresModule[];
43
+ };
44
+ /** Apply the selected package-owned agent migrations once under a
45
+ * cross-replica lock. */
46
+ export declare const applyAgentPostgresMigrations: (client: AgentPostgresMigrationClient, options?: ApplyAgentPostgresMigrationsOptions) => Promise<AgentPostgresMigrationResult>;
@@ -347,70 +347,83 @@ var JOURNAL_SQL = `CREATE TABLE IF NOT EXISTS ${JOURNAL_TABLE} (
347
347
  var definitions = [
348
348
  ...agencyPostgresMigrations().map((migration) => ({
349
349
  ...migration,
350
+ module: "agency",
350
351
  packageName: "@absolutejs/agency",
351
352
  packageVersion: migration.id.split("@").at(-1) ?? "unknown"
352
353
  })),
353
354
  {
354
355
  id: "agent-runtime@0.1.0",
356
+ module: "agent-runtime",
355
357
  packageName: "@absolutejs/agent-runtime",
356
358
  packageVersion: "0.1.0",
357
359
  sql: agentRuntimePostgresSchemaSql()
358
360
  },
359
361
  {
360
362
  id: "agent-memory@0.1.0",
363
+ module: "agent-memory",
361
364
  packageName: "@absolutejs/agent-memory",
362
365
  packageVersion: "0.1.0",
363
366
  sql: agentMemoryPostgresSchemaSql()
364
367
  },
365
368
  {
366
369
  id: "agent-inbox@0.1.0",
370
+ module: "agent-inbox",
367
371
  packageName: "@absolutejs/agent-inbox",
368
372
  packageVersion: "0.1.0",
369
373
  sql: agentInboxPostgresSchemaSql()
370
374
  },
371
375
  {
372
376
  id: "mcp@0.10.1",
377
+ module: "mcp",
373
378
  packageName: "@absolutejs/mcp",
374
379
  packageVersion: "0.10.1",
375
380
  sql: mcpPostgresSchemaSql()
376
381
  },
377
382
  {
378
383
  id: "a2a@0.2.2",
384
+ module: "a2a",
379
385
  packageName: "@absolutejs/a2a",
380
386
  packageVersion: "0.2.2",
381
387
  sql: a2aPostgresSchemaSql()
382
388
  },
383
389
  {
384
390
  id: "wallet@0.3.0",
391
+ module: "wallet",
385
392
  packageName: "@absolutejs/wallet",
386
393
  packageVersion: "0.3.0",
387
394
  sql: walletPostgresSchemaSql()
388
395
  },
389
396
  {
390
397
  id: "wallet-agent-tenant-inventory@0.5.0",
398
+ module: "wallet",
391
399
  packageName: "@absolutejs/wallet",
392
400
  packageVersion: "0.5.0",
393
401
  sql: walletAgentTenantInventoryPostgresSchemaSql()
394
402
  },
395
403
  {
396
404
  id: "agent-control@0.4.0",
405
+ module: "agent-control",
397
406
  packageName: "@absolutejs/agent-control",
398
407
  packageVersion: "0.4.0",
399
408
  sql: agentControlPostgresSchemaSql()
400
409
  },
401
- ...executionPostgresMigrations(),
410
+ ...executionPostgresMigrations().map((migration) => ({
411
+ ...migration,
412
+ module: "execution"
413
+ })),
402
414
  {
403
415
  id: "agent-commerce-purchase-intents@0.23.1",
416
+ module: "commerce",
404
417
  packageName: "@absolutejs/agent",
405
418
  packageVersion: "0.23.1",
406
419
  sql: agentPurchaseIntentsPostgresSchemaSql()
407
420
  }
408
421
  ];
409
422
  var digest = (value) => createHash("sha256").update(value).digest("hex");
410
- var agentPostgresMigrations = () => definitions.map((migration) => ({
411
- ...migration,
412
- digest: digest(migration.sql)
413
- }));
423
+ var agentPostgresMigrations = (modules) => {
424
+ const selected = modules === undefined ? null : new Set(modules);
425
+ return definitions.filter((migration) => selected === null || selected.has(migration.module)).map((migration) => ({ ...migration, digest: digest(migration.sql) }));
426
+ };
414
427
  var rollback = async (client) => {
415
428
  try {
416
429
  await client.query("ROLLBACK");
@@ -450,14 +463,14 @@ var migrateOne = async (client, migration, result) => {
450
463
  throw error;
451
464
  }
452
465
  };
453
- var applyAgentPostgresMigrations = async (client) => {
466
+ var applyAgentPostgresMigrations = async (client, options = {}) => {
454
467
  const result = { applied: [], skipped: [] };
455
468
  await client.query("SELECT pg_advisory_lock(hashtextextended($1, 0))", [
456
469
  LOCK_KEY
457
470
  ]);
458
471
  try {
459
472
  await client.query(JOURNAL_SQL);
460
- for (const migration of agentPostgresMigrations()) {
473
+ for (const migration of agentPostgresMigrations(options.modules)) {
461
474
  await migrateOne(client, migration, result);
462
475
  }
463
476
  } finally {
@@ -472,5 +485,5 @@ export {
472
485
  agentPostgresMigrations
473
486
  };
474
487
 
475
- //# debugId=53A41277E62BDD0864756E2164756E21
488
+ //# debugId=963B82DC9FA1334964756E2164756E21
476
489
  //# sourceMappingURL=migrations.js.map
@@ -3,9 +3,9 @@
3
3
  "sources": ["../src/commerce.ts", "../src/migrations.ts"],
4
4
  "sourcesContent": [
5
5
  "import {\n effectAdapterExecutionInputDigest,\n type EffectAdapterCredentialInstallation,\n type EffectAdapterExecutionEnvelope,\n type EffectAdapterInstallationRegistry,\n type EffectRecord,\n type EffectStore,\n type ExecutionSqlClient,\n} from \"@absolutejs/execution\";\nimport type {\n AgentSpendRequest,\n SpendRequestResult,\n SpendMandate,\n} from \"@absolutejs/wallet\";\nimport { and, desc, eq, sql, type SQL } from \"drizzle-orm\";\nimport {\n bigint,\n customType,\n index,\n pgSchema,\n text,\n uniqueIndex,\n type PgAsyncDatabase,\n} from \"drizzle-orm/pg-core\";\n\nexport type AgentPurchaseIntentStatus =\n | \"drafted\"\n | \"pending_approval\"\n | \"mandate_ready\"\n | \"installation_ready\"\n | \"enqueued\"\n | \"cancelled\";\n\nexport type AgentPurchaseIntentInput<Payload = unknown> = {\n actionId: string;\n adapterId: string;\n agentId: string;\n allowanceId: string;\n amountMinor: number;\n category?: string;\n credentials?: ReadonlyArray<EffectAdapterCredentialInstallation>;\n currency: string;\n destination?: string;\n effect: string;\n expiresAt: string;\n handler: string;\n idempotencyKey: string;\n installationId: string;\n merchantId: string;\n ownerId: string;\n payload: Payload;\n purchaseId: string;\n refundable?: boolean;\n tenantId: string;\n};\n\nexport type AgentPurchaseIntent<Payload = unknown> = {\n createdAt: number;\n effectId: string;\n envelope: EffectAdapterExecutionEnvelope<Payload>;\n input: AgentPurchaseIntentInput<Payload>;\n inputDigest: string;\n mandate?: Omit<SpendMandate, \"signature\">;\n mandateId: string;\n status: AgentPurchaseIntentStatus;\n updatedAt: number;\n};\n\nexport type AgentPurchaseIntentStore = {\n get: (\n tenantId: string,\n purchaseId: string,\n ) => Promise<AgentPurchaseIntent | undefined>;\n getByIdempotencyKey: (\n tenantId: string,\n idempotencyKey: string,\n ) => Promise<AgentPurchaseIntent | undefined>;\n list: (input: {\n limit: number;\n ownerId?: string;\n status?: AgentPurchaseIntentStatus;\n tenantId?: string;\n }) => Promise<AgentPurchaseIntent[]>;\n save: (intent: AgentPurchaseIntent) => Promise<void>;\n};\n\nexport class AgentPurchaseIntentError extends Error {}\n\nconst keyOf = (tenantId: string, purchaseId: string) =>\n `${tenantId}\\u0000${purchaseId}`;\n\nexport const createMemoryAgentPurchaseIntentStore =\n (): AgentPurchaseIntentStore => {\n const records = new Map<string, AgentPurchaseIntent>();\n return {\n get: async (tenantId, purchaseId) => {\n const value = records.get(keyOf(tenantId, purchaseId));\n return value ? structuredClone(value) : undefined;\n },\n getByIdempotencyKey: async (tenantId, idempotencyKey) => {\n const value = [...records.values()].find(\n (intent) =>\n intent.input.tenantId === tenantId &&\n intent.input.idempotencyKey === idempotencyKey,\n );\n return value ? structuredClone(value) : undefined;\n },\n list: async (input) =>\n [...records.values()]\n .filter(\n ({ input: intent, status }) =>\n (!input.tenantId || intent.tenantId === input.tenantId) &&\n (!input.ownerId || intent.ownerId === input.ownerId) &&\n (!input.status || status === input.status),\n )\n .sort((left, right) => right.createdAt - left.createdAt)\n .slice(0, input.limit)\n .map((value) => structuredClone(value)),\n save: async (intent) => {\n const key = keyOf(intent.input.tenantId, intent.input.purchaseId);\n const existing = records.get(key);\n if (existing && existing.inputDigest !== intent.inputDigest)\n throw new AgentPurchaseIntentError(\n \"Purchase identity belongs to another immutable request\",\n );\n const idempotent = [...records.values()].find(\n ({ input }) =>\n input.tenantId === intent.input.tenantId &&\n input.idempotencyKey === intent.input.idempotencyKey,\n );\n if (\n idempotent &&\n idempotent.input.purchaseId !== intent.input.purchaseId\n )\n throw new AgentPurchaseIntentError(\n \"Purchase idempotency key belongs to another request\",\n );\n records.set(key, structuredClone(intent));\n },\n };\n };\n\nconst namespaceOf = (namespace: string) => {\n if (!/^[a-z_][a-z0-9_]*$/.test(namespace))\n throw new AgentPurchaseIntentError(\n \"Purchase intent namespace must be a simple identifier\",\n );\n return namespace;\n};\n\ntype AnyPgDatabase = PgAsyncDatabase<any, any>;\nconst portableJsonb = customType<{ data: unknown; driverData: unknown }>({\n dataType: () => \"jsonb\",\n fromDriver: (value) =>\n typeof value === \"string\" ? JSON.parse(value) : value,\n toDriver: (value) => JSON.stringify(value),\n});\nconst encodedJsonb = <Value>(value: Value) =>\n sql<Value>`${JSON.stringify(value)}::text::jsonb`;\n\nexport const agentPurchaseIntentDrizzleSchema = (\n namespace = \"agent_commerce\",\n) => {\n const schema = pgSchema(namespaceOf(namespace));\n const purchaseIntents = schema.table(\n \"purchase_intents\",\n {\n created_at: bigint({ mode: \"number\" }).notNull(),\n data: portableJsonb().$type<AgentPurchaseIntent>().notNull(),\n idempotency_key: text().notNull(),\n input_digest: text().notNull(),\n owner_id: text().notNull(),\n purchase_id: text().primaryKey(),\n status: text().$type<AgentPurchaseIntentStatus>().notNull(),\n tenant_id: text().notNull(),\n updated_at: bigint({ mode: \"number\" }).notNull(),\n },\n (table) => [\n uniqueIndex(\"purchase_intents_tenant_idempotency_idx\").on(\n table.tenant_id,\n table.idempotency_key,\n ),\n uniqueIndex(\"purchase_intents_tenant_purchase_idx\").on(\n table.tenant_id,\n table.purchase_id,\n ),\n index(\"purchase_intents_inventory_idx\").on(\n table.tenant_id,\n table.created_at.desc(),\n ),\n index(\"purchase_intents_owner_idx\").on(\n table.owner_id,\n table.created_at.desc(),\n ),\n ],\n );\n\n return { purchaseIntents };\n};\n\nexport const createDrizzleAgentPurchaseIntentStore = <DB extends AnyPgDatabase>(\n db: DB,\n options: { namespace?: string } = {},\n): AgentPurchaseIntentStore => {\n const { purchaseIntents } = agentPurchaseIntentDrizzleSchema(\n options.namespace,\n );\n const first = async (conditions: SQL[]) => {\n const [row] = await db\n .select({ data: purchaseIntents.data })\n .from(purchaseIntents)\n .where(and(...conditions))\n .limit(1);\n\n return row?.data;\n };\n\n return {\n get: (tenantId, purchaseId) =>\n first([\n eq(purchaseIntents.tenant_id, tenantId),\n eq(purchaseIntents.purchase_id, purchaseId),\n ]),\n getByIdempotencyKey: (tenantId, idempotencyKey) =>\n first([\n eq(purchaseIntents.tenant_id, tenantId),\n eq(purchaseIntents.idempotency_key, idempotencyKey),\n ]),\n list: async (input) => {\n const conditions: SQL[] = [];\n if (input.tenantId)\n conditions.push(eq(purchaseIntents.tenant_id, input.tenantId));\n if (input.ownerId)\n conditions.push(eq(purchaseIntents.owner_id, input.ownerId));\n if (input.status)\n conditions.push(eq(purchaseIntents.status, input.status));\n\n const rows = await db\n .select({ data: purchaseIntents.data })\n .from(purchaseIntents)\n .where(and(...conditions))\n .orderBy(desc(purchaseIntents.created_at))\n .limit(input.limit);\n\n return rows.map(({ data }) => data);\n },\n save: async (intent) => {\n const rows = await db\n .insert(purchaseIntents)\n .values({\n created_at: intent.createdAt,\n data: encodedJsonb(intent),\n idempotency_key: intent.input.idempotencyKey,\n input_digest: intent.inputDigest,\n owner_id: intent.input.ownerId,\n purchase_id: intent.input.purchaseId,\n status: intent.status,\n tenant_id: intent.input.tenantId,\n updated_at: intent.updatedAt,\n })\n .onConflictDoUpdate({\n set: {\n data: encodedJsonb(intent),\n status: intent.status,\n updated_at: intent.updatedAt,\n },\n setWhere: and(\n eq(purchaseIntents.tenant_id, intent.input.tenantId),\n eq(purchaseIntents.input_digest, intent.inputDigest),\n eq(purchaseIntents.idempotency_key, intent.input.idempotencyKey),\n ),\n target: purchaseIntents.purchase_id,\n })\n .returning({ id: purchaseIntents.purchase_id });\n if (rows.length !== 1)\n throw new AgentPurchaseIntentError(\n \"Purchase identity belongs to another immutable request\",\n );\n },\n };\n};\n\nexport const agentPurchaseIntentsPostgresSchemaSql = (\n namespace = \"agent_commerce\",\n) => {\n const ns = namespaceOf(namespace);\n return `CREATE SCHEMA IF NOT EXISTS ${ns};\nCREATE TABLE IF NOT EXISTS ${ns}.purchase_intents (\n purchase_id text PRIMARY KEY,\n tenant_id text NOT NULL,\n owner_id text NOT NULL,\n idempotency_key text NOT NULL,\n status text NOT NULL,\n input_digest text NOT NULL,\n data jsonb NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL,\n UNIQUE (tenant_id, idempotency_key),\n UNIQUE (tenant_id, purchase_id)\n);\nCREATE INDEX IF NOT EXISTS purchase_intents_inventory_idx ON ${ns}.purchase_intents (tenant_id, created_at DESC);\nCREATE INDEX IF NOT EXISTS purchase_intents_owner_idx ON ${ns}.purchase_intents (owner_id, created_at DESC);`;\n};\n\ntype AgentPurchaseIntentRow = { data: AgentPurchaseIntent | string };\nconst parseRow = (row: AgentPurchaseIntentRow | undefined) => {\n if (!row) return undefined;\n return (\n typeof row.data === \"string\" ? JSON.parse(row.data) : row.data\n ) as AgentPurchaseIntent;\n};\n\nexport const createPostgresAgentPurchaseIntentStore = (options: {\n client: ExecutionSqlClient;\n namespace?: string;\n}): AgentPurchaseIntentStore => {\n const ns = namespaceOf(options.namespace ?? \"agent_commerce\");\n return {\n get: async (tenantId, purchaseId) =>\n parseRow(\n (\n await options.client.query<AgentPurchaseIntentRow>(\n `SELECT data FROM ${ns}.purchase_intents WHERE tenant_id = $1 AND purchase_id = $2`,\n [tenantId, purchaseId],\n )\n ).rows[0],\n ),\n getByIdempotencyKey: async (tenantId, idempotencyKey) =>\n parseRow(\n (\n await options.client.query<AgentPurchaseIntentRow>(\n `SELECT data FROM ${ns}.purchase_intents WHERE tenant_id = $1 AND idempotency_key = $2`,\n [tenantId, idempotencyKey],\n )\n ).rows[0],\n ),\n list: async (input) => {\n const clauses: string[] = [];\n const values: unknown[] = [];\n if (input.tenantId) {\n values.push(input.tenantId);\n clauses.push(`tenant_id = $${values.length}`);\n }\n if (input.ownerId) {\n values.push(input.ownerId);\n clauses.push(`owner_id = $${values.length}`);\n }\n if (input.status) {\n values.push(input.status);\n clauses.push(`status = $${values.length}`);\n }\n values.push(input.limit);\n const where = clauses.length > 0 ? ` WHERE ${clauses.join(\" AND \")}` : \"\";\n const result = await options.client.query<AgentPurchaseIntentRow>(\n `SELECT data FROM ${ns}.purchase_intents${where} ORDER BY created_at DESC LIMIT $${values.length}`,\n values,\n );\n return result.rows.map((row) => parseRow(row)!);\n },\n save: async (intent) => {\n const result = await options.client.query<{ purchase_id: string }>(\n `INSERT INTO ${ns}.purchase_intents\n (purchase_id, tenant_id, owner_id, idempotency_key, status, input_digest, data, created_at, updated_at)\n VALUES ($1, $2, $3, $4, $5, $6, $7::jsonb, $8, $9)\n ON CONFLICT (purchase_id) DO UPDATE SET\n status = excluded.status,\n data = excluded.data,\n updated_at = excluded.updated_at\n WHERE ${ns}.purchase_intents.tenant_id = excluded.tenant_id\n AND ${ns}.purchase_intents.input_digest = excluded.input_digest\n AND ${ns}.purchase_intents.idempotency_key = excluded.idempotency_key\n RETURNING purchase_id`,\n [\n intent.input.purchaseId,\n intent.input.tenantId,\n intent.input.ownerId,\n intent.input.idempotencyKey,\n intent.status,\n intent.inputDigest,\n JSON.stringify(intent),\n intent.createdAt,\n intent.updatedAt,\n ],\n );\n if (result.rows.length !== 1)\n throw new AgentPurchaseIntentError(\n \"Purchase identity belongs to another immutable request\",\n );\n },\n };\n};\n\ntype PurchaseWallet = {\n cancelSpend: (mandateId: string) => Promise<unknown>;\n requestSpend: (\n request: AgentSpendRequest,\n options?: { mandateId?: string },\n ) => Promise<SpendRequestResult>;\n};\n\nexport const createAgentPurchaseOrchestrator = (options: {\n effects: Pick<EffectStore, \"enqueue\" | \"getByIdempotencyKey\">;\n installations: Pick<\n EffectAdapterInstallationRegistry,\n \"disable\" | \"enable\" | \"put\"\n >;\n now?: () => number;\n store: AgentPurchaseIntentStore;\n wallet: PurchaseWallet;\n}) => {\n const now = options.now ?? Date.now;\n\n const saveStatus = async (\n intent: AgentPurchaseIntent,\n status: AgentPurchaseIntentStatus,\n mandate?: SpendMandate,\n ) => {\n let mandateSummary: Omit<SpendMandate, \"signature\"> | undefined;\n if (mandate) {\n const { signature, ...summary } = mandate;\n void signature;\n mandateSummary = summary;\n }\n const next: AgentPurchaseIntent = {\n ...intent,\n ...(mandateSummary ? { mandate: mandateSummary } : {}),\n status,\n updatedAt: now(),\n };\n await options.store.save(next);\n return next;\n };\n\n const submit = async <Payload>(\n input: AgentPurchaseIntentInput<Payload>,\n ): Promise<AgentPurchaseIntent<Payload>> => {\n if (!input.purchaseId.trim() || !input.idempotencyKey.trim())\n throw new AgentPurchaseIntentError(\n \"Purchase and idempotency identities are required\",\n );\n if (!Number.isSafeInteger(input.amountMinor) || input.amountMinor <= 0)\n throw new AgentPurchaseIntentError(\n \"Purchase amount must be positive integer minor units\",\n );\n const mandateId = `mandate:purchase:${input.purchaseId}`;\n const effectId = `purchase:${input.purchaseId}`;\n const envelope: EffectAdapterExecutionEnvelope<Payload> = {\n currency: input.currency,\n ...(input.destination ? { destination: input.destination } : {}),\n effect: input.effect,\n installationId: input.installationId,\n mandateId,\n payload: input.payload,\n spendMinor: input.amountMinor,\n };\n const inputDigest = await effectAdapterExecutionInputDigest(envelope);\n const existing = await options.store.get(input.tenantId, input.purchaseId);\n const idempotent = await options.store.getByIdempotencyKey(\n input.tenantId,\n input.idempotencyKey,\n );\n const prior = existing ?? idempotent;\n if (prior) {\n if (\n prior.input.purchaseId !== input.purchaseId ||\n prior.inputDigest !== inputDigest\n )\n throw new AgentPurchaseIntentError(\n \"Purchase identity belongs to another immutable request\",\n );\n if (prior.status === \"enqueued\" || prior.status === \"cancelled\")\n return prior as AgentPurchaseIntent<Payload>;\n }\n let intent = (prior ?? {\n createdAt: now(),\n effectId,\n envelope,\n input,\n inputDigest,\n mandateId,\n status: \"drafted\" as const,\n updatedAt: now(),\n }) as AgentPurchaseIntent<Payload>;\n await options.store.save(intent);\n\n const spendRequest: AgentSpendRequest = {\n action: input.effect,\n agentId: input.agentId,\n allowanceId: input.allowanceId,\n amountCents: input.amountMinor,\n cartHash: inputDigest,\n ...(input.category ? { category: input.category } : {}),\n currency: input.currency,\n expiresAt: input.expiresAt,\n idempotencyKey: `purchase:${input.idempotencyKey}`,\n merchantId: input.merchantId,\n ...(input.refundable === undefined\n ? {}\n : { refundable: input.refundable }),\n };\n const requested = await options.wallet.requestSpend(spendRequest, {\n mandateId,\n });\n if (requested.mandate.status === \"pending_approval\")\n return (await saveStatus(\n intent,\n \"pending_approval\",\n requested.mandate,\n )) as AgentPurchaseIntent<Payload>;\n if (requested.mandate.status !== \"active\")\n throw new AgentPurchaseIntentError(\n `Purchase mandate is ${requested.mandate.status}`,\n );\n intent = (await saveStatus(\n intent,\n \"mandate_ready\",\n requested.mandate,\n )) as AgentPurchaseIntent<Payload>;\n\n await options.installations.put({\n adapterId: input.adapterId,\n installationId: input.installationId,\n policy: {\n credentials: input.credentials ?? [],\n destinations: input.destination ? [input.destination] : [],\n effects: [input.effect],\n spend: {\n currency: input.currency,\n mandateId,\n maxMinorPerEffect: input.amountMinor,\n },\n },\n tenantId: input.tenantId,\n });\n await options.installations.enable(input.tenantId, input.installationId);\n intent = (await saveStatus(\n intent,\n \"installation_ready\",\n )) as AgentPurchaseIntent<Payload>;\n\n const timestamp = now();\n const effect: EffectRecord = {\n actionId: input.actionId,\n attempts: 0,\n availableAt: timestamp,\n createdAt: timestamp,\n effectId,\n handler: input.handler,\n idempotencyKey: `purchase:${input.idempotencyKey}`,\n input: envelope,\n inputDigest,\n status: \"pending\",\n tenantId: input.tenantId,\n updatedAt: timestamp,\n };\n if (!(await options.effects.enqueue(effect))) {\n const duplicate = await options.effects.getByIdempotencyKey(\n input.tenantId,\n effect.idempotencyKey,\n );\n if (\n !duplicate ||\n duplicate.effectId !== effect.effectId ||\n duplicate.inputDigest !== effect.inputDigest\n ) {\n await options.installations.disable(\n input.tenantId,\n input.installationId,\n );\n await options.wallet.cancelSpend(mandateId);\n throw new AgentPurchaseIntentError(\n \"Purchase effect idempotency key belongs to another request\",\n );\n }\n }\n return (await saveStatus(\n intent,\n \"enqueued\",\n )) as AgentPurchaseIntent<Payload>;\n };\n\n return {\n list: options.store.list,\n submit,\n };\n};\n",
6
- "import { createHash } from \"node:crypto\";\nimport { a2aPostgresSchemaSql } from \"@absolutejs/a2a\";\nimport { agencyPostgresMigrations } from \"@absolutejs/agency\";\nimport { agentControlPostgresSchemaSql } from \"@absolutejs/agent-control\";\nimport { agentInboxPostgresSchemaSql } from \"@absolutejs/agent-inbox\";\nimport { agentMemoryPostgresSchemaSql } from \"@absolutejs/agent-memory\";\nimport { agentRuntimePostgresSchemaSql } from \"@absolutejs/agent-runtime\";\nimport { executionPostgresMigrations } from \"@absolutejs/execution\";\nimport { mcpPostgresSchemaSql } from \"@absolutejs/mcp\";\nimport {\n walletAgentTenantInventoryPostgresSchemaSql,\n walletPostgresSchemaSql,\n} from \"@absolutejs/wallet\";\nimport { agentPurchaseIntentsPostgresSchemaSql } from \"./commerce\";\n\nexport type AgentPostgresMigration = {\n digest: string;\n id: string;\n packageName: string;\n packageVersion: string;\n sql: string;\n};\n\nexport type AgentPostgresMigrationClient = {\n query: <Row = Record<string, unknown>>(\n text: string,\n values?: ReadonlyArray<unknown>,\n ) => Promise<{ rows: ReadonlyArray<Row> }>;\n};\n\nexport type AgentPostgresMigrationResult = {\n applied: string[];\n skipped: string[];\n};\n\nconst LOCK_KEY = \"absolutejs:agent:migrations\";\nconst JOURNAL_TABLE = \"absolutejs_agent_migrations\";\nconst JOURNAL_SQL = `CREATE TABLE IF NOT EXISTS ${JOURNAL_TABLE} (\n id text PRIMARY KEY,\n package_name text NOT NULL,\n package_version text NOT NULL,\n digest text NOT NULL,\n applied_at timestamptz NOT NULL DEFAULT now()\n)`;\n\nconst definitions = [\n ...agencyPostgresMigrations().map((migration) => ({\n ...migration,\n packageName: \"@absolutejs/agency\",\n packageVersion: migration.id.split(\"@\").at(-1) ?? \"unknown\",\n })),\n {\n id: \"agent-runtime@0.1.0\",\n packageName: \"@absolutejs/agent-runtime\",\n packageVersion: \"0.1.0\",\n sql: agentRuntimePostgresSchemaSql(),\n },\n {\n id: \"agent-memory@0.1.0\",\n packageName: \"@absolutejs/agent-memory\",\n packageVersion: \"0.1.0\",\n sql: agentMemoryPostgresSchemaSql(),\n },\n {\n id: \"agent-inbox@0.1.0\",\n packageName: \"@absolutejs/agent-inbox\",\n packageVersion: \"0.1.0\",\n sql: agentInboxPostgresSchemaSql(),\n },\n {\n id: \"mcp@0.10.1\",\n packageName: \"@absolutejs/mcp\",\n packageVersion: \"0.10.1\",\n sql: mcpPostgresSchemaSql(),\n },\n {\n id: \"a2a@0.2.2\",\n packageName: \"@absolutejs/a2a\",\n packageVersion: \"0.2.2\",\n sql: a2aPostgresSchemaSql(),\n },\n {\n id: \"wallet@0.3.0\",\n packageName: \"@absolutejs/wallet\",\n packageVersion: \"0.3.0\",\n sql: walletPostgresSchemaSql(),\n },\n {\n id: \"wallet-agent-tenant-inventory@0.5.0\",\n packageName: \"@absolutejs/wallet\",\n packageVersion: \"0.5.0\",\n sql: walletAgentTenantInventoryPostgresSchemaSql(),\n },\n {\n id: \"agent-control@0.4.0\",\n packageName: \"@absolutejs/agent-control\",\n packageVersion: \"0.4.0\",\n sql: agentControlPostgresSchemaSql(),\n },\n ...executionPostgresMigrations(),\n {\n id: \"agent-commerce-purchase-intents@0.23.1\",\n packageName: \"@absolutejs/agent\",\n packageVersion: \"0.23.1\",\n sql: agentPurchaseIntentsPostgresSchemaSql(),\n },\n] as const;\n\nconst digest = (value: string) =>\n createHash(\"sha256\").update(value).digest(\"hex\");\n\n/** Complete ordered database contract for the production AbsoluteJS agent stack. */\nexport const agentPostgresMigrations = (): AgentPostgresMigration[] =>\n definitions.map((migration) => ({\n ...migration,\n digest: digest(migration.sql),\n }));\n\nconst rollback = async (client: AgentPostgresMigrationClient) => {\n try {\n await client.query(\"ROLLBACK\");\n } catch {\n // Preserve the migration failure when the connection itself was lost.\n }\n};\n\nconst migrationDisposition = async (\n client: AgentPostgresMigrationClient,\n migration: AgentPostgresMigration,\n) => {\n const existing = await client.query<{ digest: string }>(\n `SELECT digest FROM ${JOURNAL_TABLE} WHERE id = $1 FOR UPDATE`,\n [migration.id],\n );\n const [recorded] = existing.rows;\n if (!recorded) return \"applied\" as const;\n if (recorded.digest !== migration.digest) {\n throw new Error(\n `Agent migration ${migration.id} changed after it was applied`,\n );\n }\n\n return \"skipped\" as const;\n};\n\nconst recordMigration = async (\n client: AgentPostgresMigrationClient,\n migration: AgentPostgresMigration,\n) => {\n await client.query(migration.sql);\n await client.query(\n `INSERT INTO ${JOURNAL_TABLE}\n (id, package_name, package_version, digest)\n VALUES ($1, $2, $3, $4)`,\n [\n migration.id,\n migration.packageName,\n migration.packageVersion,\n migration.digest,\n ],\n );\n};\n\nconst migrateOne = async (\n client: AgentPostgresMigrationClient,\n migration: AgentPostgresMigration,\n result: AgentPostgresMigrationResult,\n) => {\n await client.query(\"BEGIN\");\n try {\n const disposition = await migrationDisposition(client, migration);\n if (disposition === \"applied\") await recordMigration(client, migration);\n result[disposition].push(migration.id);\n await client.query(\"COMMIT\");\n } catch (error) {\n await rollback(client);\n throw error;\n }\n};\n\n/** Apply every package-owned agent migration once under a cross-replica lock. */\nexport const applyAgentPostgresMigrations = async (\n client: AgentPostgresMigrationClient,\n) => {\n const result: AgentPostgresMigrationResult = { applied: [], skipped: [] };\n await client.query(\"SELECT pg_advisory_lock(hashtextextended($1, 0))\", [\n LOCK_KEY,\n ]);\n try {\n await client.query(JOURNAL_SQL);\n for (const migration of agentPostgresMigrations()) {\n await migrateOne(client, migration, result);\n }\n } finally {\n await client.query(\"SELECT pg_advisory_unlock(hashtextextended($1, 0))\", [\n LOCK_KEY,\n ]);\n }\n\n return result;\n};\n"
6
+ "import { createHash } from \"node:crypto\";\nimport { a2aPostgresSchemaSql } from \"@absolutejs/a2a\";\nimport { agencyPostgresMigrations } from \"@absolutejs/agency\";\nimport { agentControlPostgresSchemaSql } from \"@absolutejs/agent-control\";\nimport { agentInboxPostgresSchemaSql } from \"@absolutejs/agent-inbox\";\nimport { agentMemoryPostgresSchemaSql } from \"@absolutejs/agent-memory\";\nimport { agentRuntimePostgresSchemaSql } from \"@absolutejs/agent-runtime\";\nimport { executionPostgresMigrations } from \"@absolutejs/execution\";\nimport { mcpPostgresSchemaSql } from \"@absolutejs/mcp\";\nimport {\n walletAgentTenantInventoryPostgresSchemaSql,\n walletPostgresSchemaSql,\n} from \"@absolutejs/wallet\";\nimport { agentPurchaseIntentsPostgresSchemaSql } from \"./commerce\";\n\n/**\n * The subsystems whose schema this runner can apply. A host selects the ones it\n * actually uses; anything it leaves out is never created.\n *\n * Applying the whole stack unconditionally means an app that only wants, say,\n * agency approvals still gets wallet's six tables, its balance-assertion\n * function, and a constraint trigger — inert schema in a production database\n * that nothing reads, that every schema audit has to explain, and that shows up\n * in any drift or catalog check as unaccounted-for objects.\n */\nexport type AgentPostgresModule =\n | \"a2a\"\n | \"agency\"\n | \"agent-control\"\n | \"agent-inbox\"\n | \"agent-memory\"\n | \"agent-runtime\"\n | \"commerce\"\n | \"execution\"\n | \"mcp\"\n | \"wallet\";\n\nexport type AgentPostgresMigration = {\n digest: string;\n id: string;\n module: AgentPostgresModule;\n packageName: string;\n packageVersion: string;\n sql: string;\n};\n\nexport type AgentPostgresMigrationClient = {\n query: <Row = Record<string, unknown>>(\n text: string,\n values?: ReadonlyArray<unknown>,\n ) => Promise<{ rows: ReadonlyArray<Row> }>;\n};\n\nexport type AgentPostgresMigrationResult = {\n applied: string[];\n skipped: string[];\n};\n\nconst LOCK_KEY = \"absolutejs:agent:migrations\";\nconst JOURNAL_TABLE = \"absolutejs_agent_migrations\";\nconst JOURNAL_SQL = `CREATE TABLE IF NOT EXISTS ${JOURNAL_TABLE} (\n id text PRIMARY KEY,\n package_name text NOT NULL,\n package_version text NOT NULL,\n digest text NOT NULL,\n applied_at timestamptz NOT NULL DEFAULT now()\n)`;\n\nconst definitions = [\n ...agencyPostgresMigrations().map((migration) => ({\n ...migration,\n module: \"agency\" as const,\n packageName: \"@absolutejs/agency\",\n packageVersion: migration.id.split(\"@\").at(-1) ?? \"unknown\",\n })),\n {\n id: \"agent-runtime@0.1.0\",\n module: \"agent-runtime\",\n packageName: \"@absolutejs/agent-runtime\",\n packageVersion: \"0.1.0\",\n sql: agentRuntimePostgresSchemaSql(),\n },\n {\n id: \"agent-memory@0.1.0\",\n module: \"agent-memory\",\n packageName: \"@absolutejs/agent-memory\",\n packageVersion: \"0.1.0\",\n sql: agentMemoryPostgresSchemaSql(),\n },\n {\n id: \"agent-inbox@0.1.0\",\n module: \"agent-inbox\",\n packageName: \"@absolutejs/agent-inbox\",\n packageVersion: \"0.1.0\",\n sql: agentInboxPostgresSchemaSql(),\n },\n {\n id: \"mcp@0.10.1\",\n module: \"mcp\",\n packageName: \"@absolutejs/mcp\",\n packageVersion: \"0.10.1\",\n sql: mcpPostgresSchemaSql(),\n },\n {\n id: \"a2a@0.2.2\",\n module: \"a2a\",\n packageName: \"@absolutejs/a2a\",\n packageVersion: \"0.2.2\",\n sql: a2aPostgresSchemaSql(),\n },\n {\n id: \"wallet@0.3.0\",\n module: \"wallet\",\n packageName: \"@absolutejs/wallet\",\n packageVersion: \"0.3.0\",\n sql: walletPostgresSchemaSql(),\n },\n {\n id: \"wallet-agent-tenant-inventory@0.5.0\",\n module: \"wallet\",\n packageName: \"@absolutejs/wallet\",\n packageVersion: \"0.5.0\",\n sql: walletAgentTenantInventoryPostgresSchemaSql(),\n },\n {\n id: \"agent-control@0.4.0\",\n module: \"agent-control\",\n packageName: \"@absolutejs/agent-control\",\n packageVersion: \"0.4.0\",\n sql: agentControlPostgresSchemaSql(),\n },\n ...executionPostgresMigrations().map((migration) => ({\n ...migration,\n module: \"execution\" as const,\n })),\n {\n id: \"agent-commerce-purchase-intents@0.23.1\",\n module: \"commerce\",\n packageName: \"@absolutejs/agent\",\n packageVersion: \"0.23.1\",\n sql: agentPurchaseIntentsPostgresSchemaSql(),\n },\n] as const;\n\nconst digest = (value: string) =>\n createHash(\"sha256\").update(value).digest(\"hex\");\n\n/**\n * Ordered database contract for the AbsoluteJS agent stack.\n *\n * Pass `modules` to get only the subsystems the host actually uses; omit it for\n * the complete stack, which is the historical behaviour. Narrowing later is\n * safe: already-applied migrations stay recorded in the journal and are simply\n * not revisited, and widening again applies the rest on the next run.\n */\nexport const agentPostgresMigrations = (\n modules?: readonly AgentPostgresModule[],\n): AgentPostgresMigration[] => {\n const selected = modules === undefined ? null : new Set(modules);\n\n return definitions\n .filter((migration) => selected === null || selected.has(migration.module))\n .map((migration) => ({ ...migration, digest: digest(migration.sql) }));\n};\n\nconst rollback = async (client: AgentPostgresMigrationClient) => {\n try {\n await client.query(\"ROLLBACK\");\n } catch {\n // Preserve the migration failure when the connection itself was lost.\n }\n};\n\nconst migrationDisposition = async (\n client: AgentPostgresMigrationClient,\n migration: AgentPostgresMigration,\n) => {\n const existing = await client.query<{ digest: string }>(\n `SELECT digest FROM ${JOURNAL_TABLE} WHERE id = $1 FOR UPDATE`,\n [migration.id],\n );\n const [recorded] = existing.rows;\n if (!recorded) return \"applied\" as const;\n if (recorded.digest !== migration.digest) {\n throw new Error(\n `Agent migration ${migration.id} changed after it was applied`,\n );\n }\n\n return \"skipped\" as const;\n};\n\nconst recordMigration = async (\n client: AgentPostgresMigrationClient,\n migration: AgentPostgresMigration,\n) => {\n await client.query(migration.sql);\n await client.query(\n `INSERT INTO ${JOURNAL_TABLE}\n (id, package_name, package_version, digest)\n VALUES ($1, $2, $3, $4)`,\n [\n migration.id,\n migration.packageName,\n migration.packageVersion,\n migration.digest,\n ],\n );\n};\n\nconst migrateOne = async (\n client: AgentPostgresMigrationClient,\n migration: AgentPostgresMigration,\n result: AgentPostgresMigrationResult,\n) => {\n await client.query(\"BEGIN\");\n try {\n const disposition = await migrationDisposition(client, migration);\n if (disposition === \"applied\") await recordMigration(client, migration);\n result[disposition].push(migration.id);\n await client.query(\"COMMIT\");\n } catch (error) {\n await rollback(client);\n throw error;\n }\n};\n\nexport type ApplyAgentPostgresMigrationsOptions = {\n /** Subsystems to apply. Omit for the complete stack. Passing only what the\n * host uses keeps unused schema — wallet's tables, function, and constraint\n * trigger being the usual culprits — out of its database entirely. */\n modules?: readonly AgentPostgresModule[];\n};\n\n/** Apply the selected package-owned agent migrations once under a\n * cross-replica lock. */\nexport const applyAgentPostgresMigrations = async (\n client: AgentPostgresMigrationClient,\n options: ApplyAgentPostgresMigrationsOptions = {},\n) => {\n const result: AgentPostgresMigrationResult = { applied: [], skipped: [] };\n await client.query(\"SELECT pg_advisory_lock(hashtextextended($1, 0))\", [\n LOCK_KEY,\n ]);\n try {\n await client.query(JOURNAL_SQL);\n for (const migration of agentPostgresMigrations(options.modules)) {\n await migrateOne(client, migration, result);\n }\n } finally {\n await client.query(\"SELECT pg_advisory_unlock(hashtextextended($1, 0))\", [\n LOCK_KEY,\n ]);\n }\n\n return result;\n};\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "53A41277E62BDD0864756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "963B82DC9FA1334964756E2164756E21",
10
10
  "names": []
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/agent",
3
- "version": "0.23.20",
3
+ "version": "0.24.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",
@@ -153,7 +153,7 @@
153
153
  "@absolutejs/agent-sandbox": "^0.2.1",
154
154
  "@absolutejs/agent-trust": "^0.2.1",
155
155
  "@absolutejs/arazzo": "^0.1.3",
156
- "@absolutejs/auth": "^0.57.4",
156
+ "@absolutejs/auth": "^0.57.6",
157
157
  "@absolutejs/manifest": "^0.7.3",
158
158
  "@absolutejs/mcp": "^0.11.3",
159
159
  "@absolutejs/policy": "^0.3.0",