@slopus/happy-agent-base 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +49 -11
  2. package/dist/Agent.d.ts +24 -22
  3. package/dist/Agent.d.ts.map +1 -1
  4. package/dist/Agent.js +113 -111
  5. package/dist/Agent.js.map +1 -1
  6. package/dist/AgentBase.d.ts +18 -14
  7. package/dist/AgentBase.d.ts.map +1 -1
  8. package/dist/AgentBase.js +476 -122
  9. package/dist/AgentBase.js.map +1 -1
  10. package/dist/AgentBaseHooks.d.ts +41 -28
  11. package/dist/AgentBaseHooks.d.ts.map +1 -1
  12. package/dist/AgentBasePending.d.ts +6 -2
  13. package/dist/AgentBasePending.d.ts.map +1 -1
  14. package/dist/AgentBasePending.js +7 -0
  15. package/dist/AgentBasePending.js.map +1 -1
  16. package/dist/AgentConfig.d.ts +9 -9
  17. package/dist/AgentConfig.d.ts.map +1 -1
  18. package/dist/AgentConfig.js +8 -8
  19. package/dist/AgentConfig.js.map +1 -1
  20. package/dist/AgentContexts.d.ts +18 -1
  21. package/dist/AgentContexts.d.ts.map +1 -1
  22. package/dist/AgentContexts.js +24 -1
  23. package/dist/AgentContexts.js.map +1 -1
  24. package/dist/AgentDatabase.d.ts +35 -0
  25. package/dist/AgentDatabase.d.ts.map +1 -0
  26. package/dist/AgentDatabase.js +30 -0
  27. package/dist/AgentDatabase.js.map +1 -0
  28. package/dist/AgentKV.d.ts +19 -6
  29. package/dist/AgentKV.d.ts.map +1 -1
  30. package/dist/AgentKV.js +110 -43
  31. package/dist/AgentKV.js.map +1 -1
  32. package/dist/AgentMessageAcceptance.d.ts +14 -0
  33. package/dist/AgentMessageAcceptance.d.ts.map +1 -0
  34. package/dist/AgentMessageAcceptance.js +2 -0
  35. package/dist/AgentMessageAcceptance.js.map +1 -0
  36. package/dist/AgentMetadata.d.ts +3 -3
  37. package/dist/AgentMetadata.js +3 -3
  38. package/dist/AgentModule.d.ts +209 -0
  39. package/dist/AgentModule.d.ts.map +1 -0
  40. package/dist/AgentModule.js +2 -0
  41. package/dist/AgentModule.js.map +1 -0
  42. package/dist/{AgentFeatureAction.d.ts → AgentModuleAction.d.ts} +2 -2
  43. package/dist/AgentModuleAction.d.ts.map +1 -0
  44. package/dist/AgentModuleAction.js +2 -0
  45. package/dist/AgentModuleAction.js.map +1 -0
  46. package/dist/AgentPermissionMode.d.ts +1 -1
  47. package/dist/AgentPermissionMode.js +1 -1
  48. package/dist/AgentPersistence.d.ts +7 -4
  49. package/dist/AgentPersistence.d.ts.map +1 -1
  50. package/dist/AgentPersistenceDrizzle.d.ts +31 -0
  51. package/dist/AgentPersistenceDrizzle.d.ts.map +1 -0
  52. package/dist/AgentPersistenceDrizzle.js +99 -0
  53. package/dist/AgentPersistenceDrizzle.js.map +1 -0
  54. package/dist/AgentRef.d.ts +12 -9
  55. package/dist/AgentRef.d.ts.map +1 -1
  56. package/dist/AgentRef.js +8 -8
  57. package/dist/AgentRef.js.map +1 -1
  58. package/dist/AgentStorage.d.ts +33 -13
  59. package/dist/AgentStorage.d.ts.map +1 -1
  60. package/dist/AgentStorage.js +174 -3
  61. package/dist/AgentStorage.js.map +1 -1
  62. package/dist/AgentSystem.d.ts +10 -7
  63. package/dist/AgentSystem.d.ts.map +1 -1
  64. package/dist/AgentSystemContext.d.ts +3 -3
  65. package/dist/AgentSystemContext.d.ts.map +1 -1
  66. package/dist/AgentSystemContext.js +4 -4
  67. package/dist/AgentSystemContext.js.map +1 -1
  68. package/dist/AgentSystemLocal.d.ts +17 -14
  69. package/dist/AgentSystemLocal.d.ts.map +1 -1
  70. package/dist/AgentSystemLocal.js +120 -29
  71. package/dist/AgentSystemLocal.js.map +1 -1
  72. package/dist/AgentSystemRef.d.ts +9 -7
  73. package/dist/AgentSystemRef.d.ts.map +1 -1
  74. package/dist/AgentSystemRef.js +17 -4
  75. package/dist/AgentSystemRef.js.map +1 -1
  76. package/dist/AgentTool.d.ts +16 -1
  77. package/dist/AgentTool.d.ts.map +1 -1
  78. package/dist/AgentTool.js.map +1 -1
  79. package/dist/index.d.ts +8 -6
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +7 -5
  82. package/dist/index.js.map +1 -1
  83. package/package.json +4 -3
  84. package/dist/AgentFeature.d.ts +0 -184
  85. package/dist/AgentFeature.d.ts.map +0 -1
  86. package/dist/AgentFeature.js +0 -2
  87. package/dist/AgentFeature.js.map +0 -1
  88. package/dist/AgentFeatureAction.d.ts.map +0 -1
  89. package/dist/AgentFeatureAction.js +0 -2
  90. package/dist/AgentFeatureAction.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { createId } from "@paralleldrive/cuid2";
2
2
  import { Type } from "@sinclair/typebox";
3
3
  import { Value } from "@sinclair/typebox/value";
4
- import { asyncLock } from "@steve.kite/stdlib";
4
+ import { afterCommit, asyncLock, withLifetime, } from "@steve.kite/stdlib";
5
5
  import { Agent } from "./Agent.js";
6
6
  import {} from "./AgentBase.js";
7
- import { agentId as agentIdOf } from "./AgentContexts.js";
7
+ import { agentDatabase, agentId as agentIdOf, agentStorageTransaction, withAgentDatabase, withAgentKV, } from "./AgentContexts.js";
8
8
  import { agentConfigSchema, ownAgentConfig, withAgentConfig, } from "./AgentConfig.js";
9
- import { cuid2Schema } from "./AgentMetadata.js";
9
+ import { cuid2Schema, ownAgentMetadata } from "./AgentMetadata.js";
10
10
  import { withAgentSystem } from "./AgentSystemContext.js";
11
11
  import { AgentSystemRef } from "./AgentSystemRef.js";
12
12
  const storedParentSchema = Type.String();
@@ -16,7 +16,7 @@ const storedParentSchema = Type.String();
16
16
  * failed load is forgotten so a later resolution can retry.
17
17
  *
18
18
  * Work serializes per agent rather than per collection: a collection-wide lock would make one
19
- * agent's feature load block every other agent, including one that load itself resolves.
19
+ * agent's module load block every other agent, including one that load itself resolves.
20
20
  *
21
21
  * This is the owner's handle, and some of what it offers waits for an agent to reach a point only
22
22
  * that agent's run loop can bring it to. Hand an `AgentSystemRef` to anything running inside an
@@ -32,8 +32,8 @@ export class AgentSystemLocal {
32
32
  * derived context ever carries.
33
33
  */
34
34
  #ref = new AgentSystemRef(this, null);
35
- /** The collection's feature instances, every one of them serving every agent it builds. */
36
- #features;
35
+ /** The collection's module instances, every one of them serving every agent it builds. */
36
+ #modules;
37
37
  /** Where the collection's identities, configuration, and per-agent state are durable. */
38
38
  #storage;
39
39
  /** The registry providers are resolved from when an agent is built. */
@@ -47,10 +47,10 @@ export class AgentSystemLocal {
47
47
  /** The durable parent of each non-root identity, keyed by child identity. */
48
48
  #parents;
49
49
  /**
50
- * The root of the store features share across the collection. Each feature works under its
50
+ * The root of the store modules share across the collection. Each module works under its
51
51
  * own scope of it, which is where anything outliving one agent's conversation belongs.
52
52
  */
53
- #sharedFeatureKV;
53
+ #sharedModuleKV;
54
54
  /** The live `Agent` instances this process has built, keyed by identity. */
55
55
  #agents = new Map();
56
56
  // One agent has one store for the life of the collection, so inspecting an agent's durable
@@ -60,7 +60,9 @@ export class AgentSystemLocal {
60
60
  #locks = new Map();
61
61
  /** Public operations admitted before shutdown and therefore allowed to finish. */
62
62
  #admitted = new Set();
63
- /** No agent operation is admitted until every feature has finished its beforeStart hook. */
63
+ /** Post-commit lifecycle observations still running outside per-agent locks. */
64
+ #lifecycleObservations = new Set();
65
+ /** No agent operation is admitted until every module has finished its beforeStart hook. */
64
66
  #lifecycle = "initializing";
65
67
  /** The shared shutdown, including release of the hard storage lock. */
66
68
  #closePromise;
@@ -74,13 +76,17 @@ export class AgentSystemLocal {
74
76
  * but running.
75
77
  */
76
78
  static async create(ctx, storage, config) {
77
- const systemCtx = ctx;
79
+ const systemCtx = withAgentDatabase(ctx, storage.database);
78
80
  const storageLock = await storage.acquireLock(systemCtx);
79
81
  const system = new AgentSystemLocal(systemCtx, storage, storageLock, config);
80
82
  try {
83
+ await storage.migrate(systemCtx, system.#modules);
81
84
  await system.#beforeStart(systemCtx);
82
- const active = await system.#start(systemCtx);
85
+ // beforeStart is the initialization barrier. Restoration observers receive the
86
+ // system ref next and must be able to reconcile other durable agents through it,
87
+ // even though restored run loops do not start until every observation finishes.
83
88
  system.#lifecycle = "open";
89
+ const active = await system.#start(systemCtx);
84
90
  for (const agent of active)
85
91
  agent.start();
86
92
  await system.#afterStart(systemCtx);
@@ -92,13 +98,13 @@ export class AgentSystemLocal {
92
98
  }
93
99
  }
94
100
  /**
95
- * Wire this collection to its storage, providers, and feature configuration, without reading
101
+ * Wire this collection to its storage, providers, and module configuration, without reading
96
102
  * any of it. Private: a collection is brought up by `create`, which also resumes the work
97
103
  * the storage was left holding — building one without that is building half of it.
98
104
  */
99
105
  constructor(ctx, storage, storageLock, options) {
100
106
  this.#ctx = ctx;
101
- this.#features = options.features ?? [];
107
+ this.#modules = options.modules ?? [];
102
108
  this.#storage = storage;
103
109
  this.#storageLock = storageLock;
104
110
  this.#providers = options.providers;
@@ -106,13 +112,14 @@ export class AgentSystemLocal {
106
112
  this.models = [...options.models];
107
113
  this.#configs = storage.kv.scoped("config");
108
114
  this.#parents = storage.kv.scoped("parent");
109
- this.#sharedFeatureKV = storage.kv.scoped("features");
115
+ this.#sharedModuleKV = storage.kv.scoped("modules");
110
116
  }
111
117
  /**
112
118
  * Stop every live agent, wait for operations already admitted by this owner, and only then
113
119
  * release the database lock. Repeated callers join the same shutdown.
114
120
  */
115
121
  async close(ctx) {
122
+ this.#assertOutsideStorageTransaction(ctx, "closed");
116
123
  if (this.#closePromise === undefined) {
117
124
  this.#lifecycle = "closing";
118
125
  this.#closePromise = this.#shutdown();
@@ -181,12 +188,13 @@ export class AgentSystemLocal {
181
188
  * it. Configuration and parentage are persisted before the agent runs, so every later process
182
189
  * resolves the same agent; only its metadata may subsequently change.
183
190
  *
184
- * Nothing here is undone: an agent whose features refuse to load leaves an identity that
191
+ * Nothing here is undone: an agent whose modules refuse to load leaves an identity that
185
192
  * exists, is resolvable, and will be built the next time something wants it. Taking a
186
193
  * provisional identity back after a failed build would add a compensation that can itself
187
194
  * fail.
188
195
  */
189
196
  async create(ctx, config, options) {
197
+ this.#assertOutsideStorageTransaction(ctx, "created");
190
198
  return await this.#admit(async () => {
191
199
  const agentId = options?.id ?? createId();
192
200
  if (!Value.Check(cuid2Schema, agentId)) {
@@ -199,6 +207,7 @@ export class AgentSystemLocal {
199
207
  // The caller keeps its own object, and may go on editing it. What was created is what
200
208
  // was passed at this moment, so storage and this agent's context both get a copy.
201
209
  const owned = ownAgentConfig(config);
210
+ const lifecycle = lifecycleAgent(agentId, owned);
202
211
  return await this.#lockFor(agentId).runInLock(ctx, async (lockCtx) => {
203
212
  if ((await this.#configs.read(lockCtx, agentId)) !== undefined) {
204
213
  throw new Error(`Agent "${agentId}" already exists.`);
@@ -218,6 +227,7 @@ export class AgentSystemLocal {
218
227
  await this.#configs.write(txCtx, agentId, owned);
219
228
  if (parent !== null)
220
229
  await this.#parents.write(txCtx, agentId, parent);
230
+ await this.#recordLifecycle(txCtx, lifecycle, (module) => module.agentCreatedTransact, (module) => module.agentCreated);
221
231
  });
222
232
  const agent = await this.#instantiate(lockCtx, agentId, owned);
223
233
  if (agent === undefined)
@@ -237,8 +247,10 @@ export class AgentSystemLocal {
237
247
  * what clears it.
238
248
  */
239
249
  async delete(ctx, agentId) {
250
+ this.#assertOutsideStorageTransaction(ctx, "archived");
240
251
  await this.#admit(async () => {
241
252
  await this.#lockFor(agentId).runInLock(ctx, async (lockCtx) => {
253
+ const config = await this.#config(lockCtx, agentId);
242
254
  const agent = this.#agents.get(agentId);
243
255
  this.#agents.delete(agentId);
244
256
  await agent?.close();
@@ -250,6 +262,9 @@ export class AgentSystemLocal {
250
262
  if (child.value === agentId)
251
263
  await this.#parents.delete(txCtx, child.key);
252
264
  }
265
+ if (config !== undefined) {
266
+ await this.#recordLifecycle(txCtx, lifecycleAgent(agentId, config), (module) => module.agentArchivedTransact, (module) => module.agentArchived);
267
+ }
253
268
  });
254
269
  this.#persistences.delete(agentId);
255
270
  });
@@ -293,6 +308,7 @@ export class AgentSystemLocal {
293
308
  }
294
309
  /** Shallow-merge fields into one agent's immutable metadata. */
295
310
  async updateMetadata(ctx, agentId, update) {
311
+ this.#assertOutsideStorageTransaction(ctx, "updated");
296
312
  await this.#admit(async () => {
297
313
  const agent = await this.#resolve(ctx, agentId);
298
314
  await agent.updateMetadata(ctx, update);
@@ -329,10 +345,23 @@ export class AgentSystemLocal {
329
345
  * Concurrent resolutions of the same ID share one load.
330
346
  */
331
347
  async resolve(ctx, agentId) {
348
+ this.#assertOutsideStorageTransaction(ctx, "resolved");
332
349
  return await this.#admit(async () => await this.#resolve(ctx, agentId));
333
350
  }
351
+ /**
352
+ * Live Agent objects cannot be published or removed until an enclosing transaction commits,
353
+ * while waiting for stdlib afterCommit from inside that transaction would deadlock its
354
+ * callback. Keep those lifetime operations outside host-owned transactions; durable storage
355
+ * and module transactional hooks remain fully composable.
356
+ */
357
+ #assertOutsideStorageTransaction(ctx, operation) {
358
+ if (agentStorageTransaction(ctx) !== undefined) {
359
+ throw new Error(`An agent cannot be ${operation} from inside an outer storage transaction.`);
360
+ }
361
+ }
334
362
  /** Resolve one agent while its owning public operation is already admitted. */
335
363
  async #resolve(ctx, agentId) {
364
+ this.#assertOutsideStorageTransaction(ctx, "resolved");
336
365
  const existing = this.#agents.get(agentId);
337
366
  if (existing !== undefined)
338
367
  return existing;
@@ -355,16 +384,16 @@ export class AgentSystemLocal {
355
384
  * that has no live instance yet.
356
385
  */
357
386
  async #instantiate(ctx, agentId, config, onlyIfActive = false, start = true) {
358
- const agentCtx = withAgentConfig(withAgentSystem(ctx, new AgentSystemRef(this, agentId)), config);
387
+ const agentCtx = withAgentDatabase(withAgentConfig(withAgentSystem(ctx, new AgentSystemRef(this, agentId)), config), this.#storage.database);
359
388
  const options = {
360
389
  id: agentId,
361
390
  providers: this.#providers,
362
391
  provider: this.#provider,
363
392
  persistence: this.#persistenceFor(agentId),
364
- sharedKV: this.#sharedFeatureKV,
365
- // The collection's features come first, so the instructions they contribute — the
393
+ sharedKV: this.#sharedModuleKV,
394
+ // The collection's modules come first, so the instructions they contribute — the
366
395
  // system prompt above all — open every agent's prompt.
367
- features: this.#features,
396
+ modules: this.#modules,
368
397
  };
369
398
  // An identity built here may already have durable state — this is the path a restart
370
399
  // resolves through — so the agent is loaded rather than created, and knows whether it
@@ -401,22 +430,76 @@ export class AgentSystemLocal {
401
430
  const config = await this.#config(lockCtx, agentId);
402
431
  if (config === undefined)
403
432
  return undefined;
433
+ await this.#storage.transaction(lockCtx, async (txCtx) => {
434
+ await this.#recordLifecycle(txCtx, lifecycleAgent(agentId, config), (module) => module.agentRestoredTransact, (module) => module.agentRestored);
435
+ });
404
436
  return await this.#instantiate(lockCtx, agentId, config, true, false);
405
437
  });
406
438
  }));
407
439
  throwFirstStartFailure(results);
440
+ await Promise.allSettled([...this.#lifecycleObservations]);
408
441
  return results.flatMap((result) => result.status === "fulfilled" && result.value !== undefined ? [result.value] : []);
409
442
  }
410
- /** Initialize every feature before any active agent is restored or started. */
443
+ /** Run one lifecycle projection in its durable transaction and observe it after commit. */
444
+ async #recordLifecycle(txCtx, agent, transact, observe) {
445
+ for (const module of this.#modules) {
446
+ const hook = transact(module);
447
+ if (hook === undefined)
448
+ continue;
449
+ await this.#invokeLifecycleHook(txCtx, module, hook, agent, true);
450
+ }
451
+ afterCommit(txCtx, () => {
452
+ const observed = (async () => {
453
+ for (const module of this.#modules) {
454
+ const hook = observe(module);
455
+ if (hook === undefined)
456
+ continue;
457
+ try {
458
+ await this.#invokeLifecycleHook(this.#ctx, module, hook, agent);
459
+ }
460
+ catch {
461
+ // The durable change already committed; observers cannot undo it.
462
+ }
463
+ }
464
+ })();
465
+ this.#admitted.add(observed);
466
+ this.#lifecycleObservations.add(observed);
467
+ void observed.finally(() => {
468
+ this.#admitted.delete(observed);
469
+ this.#lifecycleObservations.delete(observed);
470
+ });
471
+ });
472
+ }
473
+ /** Give one lifecycle hook its module-scoped shared KV and active Drizzle facade. */
474
+ async #invokeLifecycleHook(ctx, module, hook, agent, blockAgent = false) {
475
+ const lifetime = new AbortController();
476
+ const database = (agentDatabase(ctx) ??
477
+ this.#storage.database);
478
+ const sharedKV = this.#sharedModuleKV.scoped(module.name);
479
+ const agents = new AgentSystemRef(this, null, blockAgent ? agent.id : undefined);
480
+ const hookCtx = withLifetime(withAgentKV(withAgentSystem(withAgentDatabase(ctx, database), agents), sharedKV), lifetime.signal);
481
+ const scope = {
482
+ database,
483
+ agents,
484
+ sharedKV,
485
+ };
486
+ try {
487
+ await hook(hookCtx, scope, agent);
488
+ }
489
+ finally {
490
+ lifetime.abort();
491
+ }
492
+ }
493
+ /** Initialize every module before any active agent is restored or started. */
411
494
  async #beforeStart(ctx) {
412
495
  const startCtx = withAgentSystem(ctx, this.#ref);
413
- const results = await Promise.allSettled(this.#features.map(async (feature) => await feature.beforeStart?.(startCtx, this.#ref)));
496
+ const results = await Promise.allSettled(this.#modules.map(async (module) => await module.beforeStart?.(startCtx, this.#ref, this.#storage.database)));
414
497
  throwFirstStartFailure(results);
415
498
  }
416
- /** Notify every feature after all active agents have been restored and started. */
499
+ /** Notify every module after all active agents have been restored and started. */
417
500
  async #afterStart(ctx) {
418
501
  const startCtx = withAgentSystem(ctx, this.#ref);
419
- const results = await Promise.allSettled(this.#features.map(async (feature) => await feature.afterStart?.(startCtx, this.#ref)));
502
+ const results = await Promise.allSettled(this.#modules.map(async (module) => await module.afterStart?.(startCtx, this.#ref, this.#storage.database)));
420
503
  throwFirstStartFailure(results);
421
504
  }
422
505
  /** The durable store for one agent, created once and reused for the life of the collection. */
@@ -430,7 +513,7 @@ export class AgentSystemLocal {
430
513
  }
431
514
  /**
432
515
  * The lock serializing this collection's work on one identity. It is per agent because the
433
- * work it guards — building an agent, which loads every feature — may itself resolve another
516
+ * work it guards — building an agent, which loads every module — may itself resolve another
434
517
  * agent from this same collection, and a collection-wide lock would deadlock on it.
435
518
  */
436
519
  #lockFor(agentId) {
@@ -443,16 +526,16 @@ export class AgentSystemLocal {
443
526
  }
444
527
  /** Queue a steered message for an agent. */
445
528
  async steer(ctx, agentId, message, options) {
446
- await this.#admit(async () => {
529
+ return await this.#admit(async () => {
447
530
  const agent = await this.#resolve(ctx, agentId);
448
- await agent.steer(ctx, message, options);
531
+ return await agent.steer(ctx, message, options);
449
532
  });
450
533
  }
451
534
  /** Queue a message for an agent. */
452
535
  async send(ctx, agentId, message, options) {
453
- await this.#admit(async () => {
536
+ return await this.#admit(async () => {
454
537
  const agent = await this.#resolve(ctx, agentId);
455
- await agent.send(ctx, message, options);
538
+ return await agent.send(ctx, message, options);
456
539
  });
457
540
  }
458
541
  /** Cancel an agent's active turn, leaving its queued messages durable for the next one. */
@@ -468,7 +551,15 @@ export class AgentSystemLocal {
468
551
  });
469
552
  }
470
553
  }
471
- /** Start every feature even when one fails, then surface the first failure in feature order. */
554
+ /** Own and freeze the lifecycle snapshot before any module observes it. */
555
+ function lifecycleAgent(agentId, config) {
556
+ const metadata = config.metadata === undefined ? undefined : ownAgentMetadata(config.metadata);
557
+ if (config.metadata !== undefined && metadata === undefined) {
558
+ throw new Error(`The metadata for agent "${agentId}" is not valid.`);
559
+ }
560
+ return Object.freeze({ id: agentId, metadata });
561
+ }
562
+ /** Start every module even when one fails, then surface the first failure in module order. */
472
563
  function throwFirstStartFailure(results) {
473
564
  const failure = results.find((result) => result.status === "rejected");
474
565
  if (failure !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSystemLocal.js","sourceRoot":"","sources":["../sources/AgentSystemLocal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSystemLocal.js","sourceRoot":"","sources":["../sources/AgentSystemLocal.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,15 @@ import type { SessionUserMessage } from "@slopus/happy-providers";
2
2
  import type { Context } from "@steve.kite/stdlib";
3
3
  import type { AgentBaseMessageOptions } from "./AgentBase.js";
4
4
  import type { AgentConfig } from "./AgentConfig.js";
5
+ import type { AgentDatabase } from "./AgentDatabase.js";
5
6
  import type { AgentMetadata } from "./AgentMetadata.js";
7
+ import type { AgentMessageAcceptance } from "./AgentMessageAcceptance.js";
6
8
  import type { AgentModel } from "./AgentModel.js";
7
9
  import { AgentRef } from "./AgentRef.js";
8
10
  import type { AgentCreateOptions, AgentSystem } from "./AgentSystem.js";
9
11
  /**
10
12
  * A reference to a collection of agents that cannot deadlock, for code that runs inside an agent
11
- * — a feature hook, or a tool the run loop is waiting on. Every operation returns without
13
+ * — a module hook, or a tool the run loop is waiting on. Every operation returns without
12
14
  * waiting for any agent's loop to reach a particular point.
13
15
  *
14
16
  * What is missing is missing on purpose. `delete` closes an agent and `start` resumes whole
@@ -25,18 +27,18 @@ import type { AgentCreateOptions, AgentSystem } from "./AgentSystem.js";
25
27
  * for. That is decided from the context, which names the agent the caller is running inside; a
26
28
  * context that names none proves nothing, so nothing is waited for there either.
27
29
  */
28
- export declare class AgentSystemRef {
30
+ export declare class AgentSystemRef<Database extends AgentDatabase = AgentDatabase> {
29
31
  #private;
30
32
  /** The agent this reference belongs to, or `null` for collection lifecycle code. */
31
33
  readonly agentId: string | null;
32
34
  /** Wrap a collection as the deadlock-free reference given to code running inside it. */
33
- constructor(system: AgentSystem, agentId?: string | null);
35
+ constructor(system: AgentSystem<Database>, agentId?: string | null, blockedAgentId?: string);
34
36
  /** The models this collection offers its agents. */
35
37
  get models(): readonly AgentModel[];
36
38
  /** Create an agent, inheriting this reference's agent as parent unless options override it. */
37
- create(ctx: Context, config: AgentConfig, options?: AgentCreateOptions): Promise<AgentRef>;
39
+ create(ctx: Context, config: AgentConfig, options?: AgentCreateOptions): Promise<AgentRef<Database>>;
38
40
  /** A reference to an existing agent; resolving one that was never created is an error. */
39
- resolve(ctx: Context, agentId: string): Promise<AgentRef>;
41
+ resolve(ctx: Context, agentId: string): Promise<AgentRef<Database>>;
40
42
  /** The current configuration of an agent, or undefined when there is no such agent. */
41
43
  config(ctx: Context, agentId: string): Promise<AgentConfig | undefined>;
42
44
  /** Shallow-merge fields into an agent's immutable metadata. */
@@ -50,13 +52,13 @@ export declare class AgentSystemRef {
50
52
  * accepted and rejects when that write fails; for the caller's own agent it resolves as soon
51
53
  * as the agent has taken the request on.
52
54
  */
53
- steer(ctx: Context, agentId: string, message: SessionUserMessage, options?: AgentBaseMessageOptions): Promise<void>;
55
+ steer(ctx: Context, agentId: string, message: SessionUserMessage, options?: AgentBaseMessageOptions): Promise<AgentMessageAcceptance>;
54
56
  /**
55
57
  * Queue a sent message. For another agent this resolves once the message is durably accepted
56
58
  * and rejects when that write fails; for the caller's own agent it resolves as soon as the
57
59
  * agent has taken the request on.
58
60
  */
59
- send(ctx: Context, agentId: string, message: SessionUserMessage, options?: AgentBaseMessageOptions): Promise<void>;
61
+ send(ctx: Context, agentId: string, message: SessionUserMessage, options?: AgentBaseMessageOptions): Promise<AgentMessageAcceptance>;
60
62
  /** Ask an agent to compact, and resolve once it has been asked. */
61
63
  compact(ctx: Context, agentId: string): Promise<void>;
62
64
  /** Cancel an agent's active turn, and resolve once the cancellation has been signalled. */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSystemRef.d.ts","sourceRoot":"","sources":["../sources/AgentSystemRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAwB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;;IAGvB,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,wFAAwF;IACxF,YAAY,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW,EAG7D;IAED,oDAAoD;IACpD,IAAI,MAAM,IAAI,SAAS,UAAU,EAAE,CAElC;IAED,+FAA+F;IACzF,MAAM,CACR,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAInB;IAED,0FAA0F;IACpF,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAI9D;IAED,uFAAuF;IACjF,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE5E;IAED,+DAA+D;IACzD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAED,6DAA6D;IACvD,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAEvE;IAED,2DAA2D;IACrD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEpE;IAED;;;;OAIG;IACG,KAAK,CACP,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAKf;IAED;;;;OAIG;IACG,IAAI,CACN,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAKf;IAED,mEAAmE;IAC7D,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,2FAA2F;IACrF,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;CACJ"}
1
+ {"version":3,"file":"AgentSystemRef.d.ts","sourceRoot":"","sources":["../sources/AgentSystemRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAwB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;;IAKtE,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,wFAAwF;IACxF,YACI,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC7B,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,cAAc,CAAC,EAAE,MAAM,EAK1B;IAED,oDAAoD;IACpD,IAAI,MAAM,IAAI,SAAS,UAAU,EAAE,CAElC;IAED,+FAA+F;IACzF,MAAM,CACR,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAI7B;IAED,0FAA0F;IACpF,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAKxE;IAED,uFAAuF;IACjF,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE5E;IAED,+DAA+D;IACzD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxF;IAED,6DAA6D;IACvD,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAEvE;IAED,2DAA2D;IACrD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEpE;IAED;;;;OAIG;IACG,KAAK,CACP,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAMjC;IAED;;;;OAIG;IACG,IAAI,CACN,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAMjC;IAED,mEAAmE;IAC7D,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,2FAA2F;IACrF,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;CAUJ"}
@@ -1,7 +1,7 @@
1
1
  import { acceptanceIsWaitable, AgentRef } from "./AgentRef.js";
2
2
  /**
3
3
  * A reference to a collection of agents that cannot deadlock, for code that runs inside an agent
4
- * — a feature hook, or a tool the run loop is waiting on. Every operation returns without
4
+ * — a module hook, or a tool the run loop is waiting on. Every operation returns without
5
5
  * waiting for any agent's loop to reach a particular point.
6
6
  *
7
7
  * What is missing is missing on purpose. `delete` closes an agent and `start` resumes whole
@@ -21,12 +21,15 @@ import { acceptanceIsWaitable, AgentRef } from "./AgentRef.js";
21
21
  export class AgentSystemRef {
22
22
  /** The collection this reference forwards every operation to without waiting on its loops. */
23
23
  #system;
24
+ /** Identity whose lifecycle lock is held while this scoped reference is in use. */
25
+ #blockedAgentId;
24
26
  /** The agent this reference belongs to, or `null` for collection lifecycle code. */
25
27
  agentId;
26
28
  /** Wrap a collection as the deadlock-free reference given to code running inside it. */
27
- constructor(system, agentId = null) {
29
+ constructor(system, agentId = null, blockedAgentId) {
28
30
  this.#system = system;
29
31
  this.agentId = agentId;
32
+ this.#blockedAgentId = blockedAgentId;
30
33
  }
31
34
  /** The models this collection offers its agents. */
32
35
  get models() {
@@ -40,6 +43,7 @@ export class AgentSystemRef {
40
43
  }
41
44
  /** A reference to an existing agent; resolving one that was never created is an error. */
42
45
  async resolve(ctx, agentId) {
46
+ this.#assertNotLifecycleTarget(agentId);
43
47
  const agent = await this.#system.resolve(ctx, agentId);
44
48
  const parent = await this.#system.parentOf(ctx, agentId);
45
49
  return new AgentRef(agent, parent);
@@ -50,6 +54,7 @@ export class AgentSystemRef {
50
54
  }
51
55
  /** Shallow-merge fields into an agent's immutable metadata. */
52
56
  async updateMetadata(ctx, agentId, update) {
57
+ this.#assertNotLifecycleTarget(agentId);
53
58
  await this.#system.updateMetadata(ctx, agentId, update);
54
59
  }
55
60
  /** The direct children of an agent, in durable key order. */
@@ -66,7 +71,8 @@ export class AgentSystemRef {
66
71
  * as the agent has taken the request on.
67
72
  */
68
73
  async steer(ctx, agentId, message, options) {
69
- await this.#system.steer(ctx, agentId, message, {
74
+ this.#assertNotLifecycleTarget(agentId);
75
+ return await this.#system.steer(ctx, agentId, message, {
70
76
  ...options,
71
77
  await: acceptanceIsWaitable(ctx, agentId),
72
78
  });
@@ -77,7 +83,8 @@ export class AgentSystemRef {
77
83
  * agent has taken the request on.
78
84
  */
79
85
  async send(ctx, agentId, message, options) {
80
- await this.#system.send(ctx, agentId, message, {
86
+ this.#assertNotLifecycleTarget(agentId);
87
+ return await this.#system.send(ctx, agentId, message, {
81
88
  ...options,
82
89
  await: acceptanceIsWaitable(ctx, agentId),
83
90
  });
@@ -90,5 +97,11 @@ export class AgentSystemRef {
90
97
  async abort(ctx, agentId) {
91
98
  await (await this.resolve(ctx, agentId)).abort(ctx);
92
99
  }
100
+ /** Fail quickly instead of re-entering an identity lock held by its transactional lifecycle. */
101
+ #assertNotLifecycleTarget(agentId) {
102
+ if (agentId === this.#blockedAgentId) {
103
+ throw new Error(`Agent "${agentId}" cannot be resolved from inside its transactional lifecycle hook.`);
104
+ }
105
+ }
93
106
  }
94
107
  //# sourceMappingURL=AgentSystemRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSystemRef.js","sourceRoot":"","sources":["../sources/AgentSystemRef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSystemRef.js","sourceRoot":"","sources":["../sources/AgentSystemRef.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,21 @@
1
1
  import type { SessionOutputBlock, SessionToolLarkGrammar } from "@slopus/happy-providers";
2
2
  import type { Static, TSchema } from "@sinclair/typebox";
3
3
  import type { Context } from "@steve.kite/stdlib";
4
+ import type { AgentKV } from "./AgentKV.js";
5
+ /** One durable invocation as handed directly to the tool that executes it. */
6
+ export interface AgentToolCall<Result extends TSchema = TSchema> {
7
+ /** Stable internally generated cuid2 identity, reused when an interrupted call resumes. */
8
+ readonly id: string;
9
+ /** Opaque identity supplied by the provider and used only to pair its call and result. */
10
+ readonly providerCallId: string;
11
+ /** State owned by this invocation and erased atomically when its winning result commits. */
12
+ readonly kv: AgentKV;
13
+ /**
14
+ * Atomically stage this structured result using the transaction carried by `ctx`. The first
15
+ * successful commit wins; later commits and the eventual execute return value are ignored.
16
+ */
17
+ commit(ctx: Context, result: Static<Result>): Promise<Static<Result>>;
18
+ }
4
19
  /** A tool-owned decision about one invocation while the agent is in Auto mode. */
5
20
  export type AgentToolAutoPermissionPredicate<Args> = {
6
21
  bivarianceHack(args: Args, ctx: Context): boolean | Promise<boolean>;
@@ -75,7 +90,7 @@ export interface AgentTool<Args extends TSchema = TSchema, Result extends TSchem
75
90
  * The context's lifetime aborts when the turn is aborted, so a long-running tool can
76
91
  * observe cancellation and stop its own work.
77
92
  */
78
- execute(ctx: Context, args: Static<Args>): Promise<Static<Result>>;
93
+ execute(ctx: Context, args: Static<Args>, call: AgentToolCall<Result>): Promise<Static<Result>>;
79
94
  /** Renders a validated result into the content blocks the model actually sees. */
80
95
  toLLM(result: Static<Result>): readonly SessionOutputBlock[];
81
96
  /** Whether a structured result should be reported to the model as an error. */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTool.d.ts","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentTool.d.ts","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTool.js","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"AA0FA,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAC3B,IAA6B;IAE7B,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"AgentTool.js","sourceRoot":"","sources":["../sources/AgentTool.ts"],"names":[],"mappings":"AA2GA,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAC3B,IAA6B;IAE7B,OAAO,IAAI,CAAC;AAChB,CAAC"}