@n8n/agents 0.5.2 → 0.7.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.
Files changed (114) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +12 -8
  3. package/dist/index.js +10 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/integrations/langsmith.d.ts +2 -0
  6. package/dist/integrations/langsmith.js +117 -2
  7. package/dist/integrations/langsmith.js.map +1 -1
  8. package/dist/runtime/agent-runtime.d.ts +6 -0
  9. package/dist/runtime/agent-runtime.js +291 -80
  10. package/dist/runtime/agent-runtime.js.map +1 -1
  11. package/dist/runtime/event-bus.d.ts +2 -0
  12. package/dist/runtime/event-bus.js +7 -0
  13. package/dist/runtime/event-bus.js.map +1 -1
  14. package/dist/runtime/json-value.d.ts +2 -0
  15. package/dist/runtime/json-value.js +43 -0
  16. package/dist/runtime/json-value.js.map +1 -0
  17. package/dist/runtime/memory-store.d.ts +40 -2
  18. package/dist/runtime/memory-store.js +138 -3
  19. package/dist/runtime/memory-store.js.map +1 -1
  20. package/dist/runtime/message-list.d.ts +5 -0
  21. package/dist/runtime/message-list.js +47 -0
  22. package/dist/runtime/message-list.js.map +1 -1
  23. package/dist/runtime/messages.d.ts +0 -2
  24. package/dist/runtime/messages.js +127 -101
  25. package/dist/runtime/messages.js.map +1 -1
  26. package/dist/runtime/model-factory.js +117 -34
  27. package/dist/runtime/model-factory.js.map +1 -1
  28. package/dist/runtime/provider-credentials.d.ts +167 -0
  29. package/dist/runtime/provider-credentials.js +34 -0
  30. package/dist/runtime/provider-credentials.js.map +1 -0
  31. package/dist/runtime/run-state.js.map +1 -1
  32. package/dist/runtime/runtime-helpers.d.ts +3 -4
  33. package/dist/runtime/runtime-helpers.js +6 -32
  34. package/dist/runtime/runtime-helpers.js.map +1 -1
  35. package/dist/runtime/stream.js +25 -43
  36. package/dist/runtime/stream.js.map +1 -1
  37. package/dist/runtime/strip-orphaned-tool-messages.js +1 -25
  38. package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -1
  39. package/dist/runtime/title-generation.d.ts +12 -3
  40. package/dist/runtime/title-generation.js +72 -3
  41. package/dist/runtime/title-generation.js.map +1 -1
  42. package/dist/runtime/tool-adapter.d.ts +1 -1
  43. package/dist/runtime/tool-adapter.js +3 -2
  44. package/dist/runtime/tool-adapter.js.map +1 -1
  45. package/dist/runtime/working-memory.d.ts +1 -1
  46. package/dist/runtime/working-memory.js +1 -1
  47. package/dist/runtime/working-memory.js.map +1 -1
  48. package/dist/sdk/agent.d.ts +19 -15
  49. package/dist/sdk/agent.js +22 -201
  50. package/dist/sdk/agent.js.map +1 -1
  51. package/dist/sdk/eval.d.ts +0 -3
  52. package/dist/sdk/eval.js +4 -9
  53. package/dist/sdk/eval.js.map +1 -1
  54. package/dist/sdk/provider-capabilities.js +4 -2
  55. package/dist/sdk/provider-capabilities.js.map +1 -1
  56. package/dist/sdk/provider-tools.d.ts +17 -2
  57. package/dist/sdk/provider-tools.js +19 -0
  58. package/dist/sdk/provider-tools.js.map +1 -1
  59. package/dist/sdk/telemetry.d.ts +2 -0
  60. package/dist/sdk/telemetry.js +6 -0
  61. package/dist/sdk/telemetry.js.map +1 -1
  62. package/dist/sdk/tool.d.ts +17 -10
  63. package/dist/sdk/tool.js +34 -0
  64. package/dist/sdk/tool.js.map +1 -1
  65. package/dist/sdk/verify.js +1 -4
  66. package/dist/sdk/verify.js.map +1 -1
  67. package/dist/storage/base-memory.d.ts +64 -0
  68. package/dist/storage/base-memory.js +54 -0
  69. package/dist/storage/base-memory.js.map +1 -0
  70. package/dist/storage/postgres-memory.d.ts +33 -16
  71. package/dist/storage/postgres-memory.js +46 -25
  72. package/dist/storage/postgres-memory.js.map +1 -1
  73. package/dist/storage/sqlite-memory.d.ts +16 -6
  74. package/dist/storage/sqlite-memory.js +16 -10
  75. package/dist/storage/sqlite-memory.js.map +1 -1
  76. package/dist/types/index.d.ts +4 -2
  77. package/dist/types/index.js +3 -1
  78. package/dist/types/index.js.map +1 -1
  79. package/dist/types/runtime/event.d.ts +2 -2
  80. package/dist/types/sdk/agent-builder.d.ts +0 -3
  81. package/dist/types/sdk/agent.d.ts +63 -25
  82. package/dist/types/sdk/credential-provider.d.ts +2 -3
  83. package/dist/types/sdk/memory.d.ts +23 -2
  84. package/dist/types/sdk/message.d.ts +11 -10
  85. package/dist/types/sdk/observation.d.ts +100 -0
  86. package/dist/types/sdk/observation.js +5 -0
  87. package/dist/types/sdk/observation.js.map +1 -0
  88. package/dist/types/sdk/tool-descriptor.d.ts +13 -0
  89. package/dist/types/sdk/{schema.js → tool-descriptor.js} +1 -1
  90. package/dist/types/sdk/tool-descriptor.js.map +1 -0
  91. package/dist/types/sdk/tool.d.ts +8 -3
  92. package/dist/types/telemetry.d.ts +1 -0
  93. package/dist/utils/parse.d.ts +10 -0
  94. package/dist/utils/parse.js +26 -0
  95. package/dist/utils/parse.js.map +1 -0
  96. package/dist/utils/zod.d.ts +1 -1
  97. package/dist/utils/zod.js.map +1 -1
  98. package/dist/workspace/tools/batch-str-replace-file.d.ts +3 -0
  99. package/dist/workspace/tools/batch-str-replace-file.js +67 -0
  100. package/dist/workspace/tools/batch-str-replace-file.js.map +1 -0
  101. package/dist/workspace/tools/str-replace-file.d.ts +3 -0
  102. package/dist/workspace/tools/str-replace-file.js +51 -0
  103. package/dist/workspace/tools/str-replace-file.js.map +1 -0
  104. package/dist/workspace/tools/workspace-tools.js +4 -0
  105. package/dist/workspace/tools/workspace-tools.js.map +1 -1
  106. package/package.json +17 -8
  107. package/dist/codegen/generate-agent-code.d.ts +0 -2
  108. package/dist/codegen/generate-agent-code.js +0 -197
  109. package/dist/codegen/generate-agent-code.js.map +0 -1
  110. package/dist/sdk/from-schema.d.ts +0 -15
  111. package/dist/sdk/from-schema.js +0 -218
  112. package/dist/sdk/from-schema.js.map +0 -1
  113. package/dist/types/sdk/schema.d.ts +0 -99
  114. package/dist/types/sdk/schema.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@ export declare class AgentEventBus {
5
5
  private controller;
6
6
  private externalCleanup?;
7
7
  on(event: AgentEvent, handler: AgentEventHandler): void;
8
+ off(event: AgentEvent, handler: AgentEventHandler): void;
8
9
  emit(data: AgentEventData): void;
9
10
  abort(): void;
10
11
  resetAbort(externalSignal?: AbortSignal): void;
11
12
  get signal(): AbortSignal;
12
13
  get isAborted(): boolean;
14
+ dispose(): void;
13
15
  }
14
16
  export { AgentEvent };
@@ -16,6 +16,9 @@ class AgentEventBus {
16
16
  }
17
17
  set.add(handler);
18
18
  }
19
+ off(event, handler) {
20
+ this.handlers.get(event)?.delete(handler);
21
+ }
19
22
  emit(data) {
20
23
  const set = this.handlers.get(data.type);
21
24
  if (!set)
@@ -48,6 +51,10 @@ class AgentEventBus {
48
51
  get isAborted() {
49
52
  return this.controller.signal.aborted;
50
53
  }
54
+ dispose() {
55
+ this.externalCleanup?.();
56
+ this.externalCleanup = undefined;
57
+ }
51
58
  }
52
59
  exports.AgentEventBus = AgentEventBus;
53
60
  //# sourceMappingURL=event-bus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/runtime/event-bus.ts"],"names":[],"mappings":";;;AAAA,kDAAoD;AAiF3C,2FAjFA,kBAAU,OAiFA;AA/DnB,MAAa,aAAa;IAA1B;QACS,aAAQ,GAAG,IAAI,GAAG,EAAsC,CAAC;QAEzD,eAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IA0D5C,CAAC;IAtDA,EAAE,CAAC,KAAiB,EAAE,OAA0B;QAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAoB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAWD,UAAU,CAAC,cAA4B;QACtC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACP,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACnE,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC,CAAC;CACD;AA7DD,sCA6DC"}
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/runtime/event-bus.ts"],"names":[],"mappings":";;;AAAA,kDAAoD;AA+F3C,2FA/FA,kBAAU,OA+FA;AA7EnB,MAAa,aAAa;IAA1B;QACS,aAAQ,GAAG,IAAI,GAAG,EAAsC,CAAC;QAEzD,eAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAwE5C,CAAC;IApEA,EAAE,CAAC,KAAiB,EAAE,OAA0B;QAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,KAAiB,EAAE,OAA0B;QAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,IAAoB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAWD,UAAU,CAAC,cAA4B;QACtC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACP,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACnE,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC,CAAC;IAOD,OAAO;QACN,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAClC,CAAC;CACD;AA3ED,sCA2EC"}
@@ -0,0 +1,2 @@
1
+ import type { JSONValue } from '../types/utils/json';
2
+ export declare function toJsonValue(value: unknown, seen?: WeakSet<object>): JSONValue;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toJsonValue = toJsonValue;
4
+ function toJsonValue(value, seen = new WeakSet()) {
5
+ if (value === null || typeof value === 'string' || typeof value === 'boolean') {
6
+ return value;
7
+ }
8
+ if (typeof value === 'number') {
9
+ return Number.isFinite(value) ? value : null;
10
+ }
11
+ if (value === undefined || typeof value === 'function' || typeof value === 'symbol') {
12
+ return null;
13
+ }
14
+ if (typeof value === 'bigint') {
15
+ return value.toString();
16
+ }
17
+ if (value instanceof Date) {
18
+ return value.toISOString();
19
+ }
20
+ if (value instanceof Error) {
21
+ return {
22
+ name: value.name,
23
+ message: value.message,
24
+ };
25
+ }
26
+ if (Array.isArray(value)) {
27
+ return value.map((entry) => toJsonValue(entry, seen));
28
+ }
29
+ if (typeof value === 'object') {
30
+ if (seen.has(value)) {
31
+ return '[Circular]';
32
+ }
33
+ seen.add(value);
34
+ const result = {};
35
+ for (const [key, entryValue] of Object.entries(value)) {
36
+ result[key] = toJsonValue(entryValue, seen);
37
+ }
38
+ seen.delete(value);
39
+ return result;
40
+ }
41
+ return null;
42
+ }
43
+ //# sourceMappingURL=json-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-value.js","sourceRoot":"","sources":["../../src/runtime/json-value.ts"],"names":[],"mappings":";;AAEA,kCA+CC;AA/CD,SAAgB,WAAW,CAAC,KAAc,EAAE,OAAO,IAAI,OAAO,EAAU;IACvE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;SACtB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,23 +1,34 @@
1
- import type { BuiltMemory, Thread } from '../types';
1
+ import type { BuiltMemory, MemoryDescriptor, Thread } from '../types';
2
2
  import type { AgentDbMessage } from '../types/sdk/message';
3
- export declare class InMemoryMemory implements BuiltMemory {
3
+ import type { BuiltObservationStore, NewObservation, Observation, ObservationCursor, ObservationLockHandle, ScopeKind } from '../types/sdk/observation';
4
+ export declare class InMemoryMemory implements BuiltMemory, BuiltObservationStore {
4
5
  private threads;
5
6
  private messagesByThread;
6
7
  private workingMemoryByKey;
8
+ private observationsByScope;
9
+ private cursorsByScope;
10
+ private locksByScope;
7
11
  getWorkingMemory(params: {
8
12
  threadId: string;
9
13
  resourceId?: string;
14
+ scope: 'resource' | 'thread';
10
15
  }): Promise<string | null>;
11
16
  saveWorkingMemory(params: {
12
17
  threadId: string;
13
18
  resourceId?: string;
19
+ scope: 'resource' | 'thread';
14
20
  }, content: string): Promise<void>;
21
+ private workingMemoryKey;
15
22
  getThread(threadId: string): Promise<Thread | null>;
16
23
  saveThread(thread: Omit<Thread, 'createdAt' | 'updatedAt'>): Promise<Thread>;
17
24
  deleteThread(threadId: string): Promise<void>;
18
25
  getMessages(threadId: string, opts?: {
19
26
  limit?: number;
20
27
  before?: Date;
28
+ since?: {
29
+ sinceCreatedAt: Date;
30
+ sinceMessageId: string;
31
+ };
21
32
  }): Promise<AgentDbMessage[]>;
22
33
  saveMessages(args: {
23
34
  threadId: string;
@@ -25,5 +36,32 @@ export declare class InMemoryMemory implements BuiltMemory {
25
36
  messages: AgentDbMessage[];
26
37
  }): Promise<void>;
27
38
  deleteMessages(messageIds: string[]): Promise<void>;
39
+ describe(): MemoryDescriptor;
40
+ appendObservations(rows: NewObservation[]): Promise<Observation[]>;
41
+ getObservations(opts: {
42
+ scopeKind: ScopeKind;
43
+ scopeId: string;
44
+ since?: {
45
+ sinceCreatedAt: Date;
46
+ sinceObservationId: string;
47
+ };
48
+ kindIs?: string;
49
+ limit?: number;
50
+ schemaVersionAtMost?: number;
51
+ }): Promise<Observation[]>;
52
+ getMessagesForScope(scopeKind: ScopeKind, scopeId: string, opts?: {
53
+ since?: {
54
+ sinceCreatedAt: Date;
55
+ sinceMessageId: string;
56
+ };
57
+ }): Promise<AgentDbMessage[]>;
58
+ deleteObservations(ids: string[]): Promise<void>;
59
+ getCursor(scopeKind: ScopeKind, scopeId: string): Promise<ObservationCursor | null>;
60
+ setCursor(cursor: ObservationCursor): Promise<void>;
61
+ acquireObservationLock(scopeKind: ScopeKind, scopeId: string, opts: {
62
+ ttlMs: number;
63
+ holderId: string;
64
+ }): Promise<ObservationLockHandle | null>;
65
+ releaseObservationLock(handle: ObservationLockHandle): Promise<void>;
28
66
  }
29
67
  export declare function saveMessagesToThread(memory: BuiltMemory, threadId: string, resourceId: string, messages: AgentDbMessage[]): Promise<void>;
@@ -2,17 +2,40 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InMemoryMemory = void 0;
4
4
  exports.saveMessagesToThread = saveMessagesToThread;
5
+ function scopeKey(scopeKind, scopeId) {
6
+ return `${scopeKind}:${scopeId}`;
7
+ }
8
+ function cloneCursor(cursor) {
9
+ return {
10
+ ...cursor,
11
+ lastObservedAt: new Date(cursor.lastObservedAt),
12
+ updatedAt: new Date(cursor.updatedAt),
13
+ };
14
+ }
15
+ function compareKeyset(a, b) {
16
+ const t = a.createdAt.getTime() - b.createdAt.getTime();
17
+ if (t !== 0)
18
+ return t;
19
+ return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
20
+ }
5
21
  class InMemoryMemory {
6
22
  constructor() {
7
23
  this.threads = new Map();
8
24
  this.messagesByThread = new Map();
9
25
  this.workingMemoryByKey = new Map();
26
+ this.observationsByScope = new Map();
27
+ this.cursorsByScope = new Map();
28
+ this.locksByScope = new Map();
10
29
  }
11
30
  async getWorkingMemory(params) {
12
- return this.workingMemoryByKey.get(params.resourceId ?? params.threadId) ?? null;
31
+ return this.workingMemoryByKey.get(this.workingMemoryKey(params)) ?? null;
13
32
  }
14
33
  async saveWorkingMemory(params, content) {
15
- this.workingMemoryByKey.set(params.resourceId ?? params.threadId, content);
34
+ this.workingMemoryByKey.set(this.workingMemoryKey(params), content);
35
+ }
36
+ workingMemoryKey(params) {
37
+ const id = params.scope === 'thread' ? params.threadId : (params.resourceId ?? params.threadId);
38
+ return `${params.scope}:${id}`;
16
39
  }
17
40
  async getThread(threadId) {
18
41
  return this.threads.get(threadId) ?? null;
@@ -33,6 +56,10 @@ class InMemoryMemory {
33
56
  async deleteThread(threadId) {
34
57
  this.threads.delete(threadId);
35
58
  this.messagesByThread.delete(threadId);
59
+ const key = scopeKey('thread', threadId);
60
+ this.observationsByScope.delete(key);
61
+ this.cursorsByScope.delete(key);
62
+ this.locksByScope.delete(key);
36
63
  }
37
64
  async getMessages(threadId, opts) {
38
65
  let stored = this.messagesByThread.get(threadId) ?? [];
@@ -40,14 +67,33 @@ class InMemoryMemory {
40
67
  const cutoff = opts.before.getTime();
41
68
  stored = stored.filter((s) => s.createdAt.getTime() < cutoff);
42
69
  }
70
+ if (opts?.since) {
71
+ const { sinceCreatedAt, sinceMessageId } = opts.since;
72
+ stored = stored.filter((s) => compareKeyset({ createdAt: s.createdAt, id: s.message.id }, { createdAt: sinceCreatedAt, id: sinceMessageId }) > 0);
73
+ }
74
+ stored = [...stored].sort((a, b) => compareKeyset({ createdAt: a.createdAt, id: a.message.id }, { createdAt: b.createdAt, id: b.message.id }));
43
75
  if (opts?.limit)
44
76
  stored = stored.slice(-opts.limit);
45
77
  return stored.map((s) => ({ ...s.message, createdAt: s.createdAt }));
46
78
  }
47
79
  async saveMessages(args) {
48
80
  const existing = this.messagesByThread.get(args.threadId) ?? [];
81
+ const byId = new Map(existing.map((s, i) => [s.message.id, i]));
82
+ const resourceId = args.resourceId ?? '';
49
83
  for (const msg of args.messages) {
50
- existing.push({ message: msg, createdAt: msg.createdAt });
84
+ const idx = byId.get(msg.id);
85
+ if (idx !== undefined) {
86
+ existing[idx] = { message: msg, createdAt: msg.createdAt, resourceId };
87
+ }
88
+ else {
89
+ const entry = {
90
+ message: msg,
91
+ createdAt: msg.createdAt,
92
+ resourceId,
93
+ };
94
+ byId.set(msg.id, existing.length);
95
+ existing.push(entry);
96
+ }
51
97
  }
52
98
  this.messagesByThread.set(args.threadId, existing);
53
99
  }
@@ -57,6 +103,95 @@ class InMemoryMemory {
57
103
  this.messagesByThread.set(threadId, messages.filter((s) => !idSet.has(s.message.id)));
58
104
  }
59
105
  }
106
+ describe() {
107
+ return { name: 'memory', constructorName: this.constructor.name, connectionParams: {} };
108
+ }
109
+ async appendObservations(rows) {
110
+ const persisted = [];
111
+ for (const row of rows) {
112
+ const key = scopeKey(row.scopeKind, row.scopeId);
113
+ const bucket = this.observationsByScope.get(key) ?? [];
114
+ const obs = {
115
+ ...row,
116
+ id: crypto.randomUUID(),
117
+ };
118
+ bucket.push(obs);
119
+ this.observationsByScope.set(key, bucket);
120
+ persisted.push(obs);
121
+ }
122
+ return persisted;
123
+ }
124
+ async getObservations(opts) {
125
+ const bucket = this.observationsByScope.get(scopeKey(opts.scopeKind, opts.scopeId)) ?? [];
126
+ let rows = [...bucket].sort((a, b) => compareKeyset({ createdAt: a.createdAt, id: a.id }, { createdAt: b.createdAt, id: b.id }));
127
+ if (opts.since) {
128
+ const { sinceCreatedAt, sinceObservationId } = opts.since;
129
+ rows = rows.filter((r) => compareKeyset({ createdAt: r.createdAt, id: r.id }, { createdAt: sinceCreatedAt, id: sinceObservationId }) > 0);
130
+ }
131
+ if (opts.kindIs !== undefined) {
132
+ const kind = opts.kindIs;
133
+ rows = rows.filter((r) => r.kind === kind);
134
+ }
135
+ if (opts.schemaVersionAtMost !== undefined) {
136
+ const max = opts.schemaVersionAtMost;
137
+ rows = rows.filter((r) => r.schemaVersion <= max);
138
+ }
139
+ if (opts.limit !== undefined) {
140
+ rows = rows.slice(0, opts.limit);
141
+ }
142
+ return rows.map((r) => ({ ...r }));
143
+ }
144
+ async getMessagesForScope(scopeKind, scopeId, opts) {
145
+ if (scopeKind !== 'thread') {
146
+ throw new Error(`getMessagesForScope: scopeKind='${scopeKind}' is not supported in v1`);
147
+ }
148
+ const candidates = this.messagesByThread.get(scopeId) ?? [];
149
+ let rows = [...candidates].sort((a, b) => compareKeyset({ createdAt: a.createdAt, id: a.message.id }, { createdAt: b.createdAt, id: b.message.id }));
150
+ if (opts?.since) {
151
+ const { sinceCreatedAt, sinceMessageId } = opts.since;
152
+ rows = rows.filter((s) => compareKeyset({ createdAt: s.createdAt, id: s.message.id }, { createdAt: sinceCreatedAt, id: sinceMessageId }) > 0);
153
+ }
154
+ return rows.map((s) => ({ ...s.message, createdAt: s.createdAt }));
155
+ }
156
+ async deleteObservations(ids) {
157
+ if (ids.length === 0)
158
+ return;
159
+ const idSet = new Set(ids);
160
+ for (const [key, bucket] of this.observationsByScope.entries()) {
161
+ this.observationsByScope.set(key, bucket.filter((row) => !idSet.has(row.id)));
162
+ }
163
+ }
164
+ async getCursor(scopeKind, scopeId) {
165
+ const cursor = this.cursorsByScope.get(scopeKey(scopeKind, scopeId));
166
+ return cursor ? cloneCursor(cursor) : null;
167
+ }
168
+ async setCursor(cursor) {
169
+ const key = scopeKey(cursor.scopeKind, cursor.scopeId);
170
+ this.cursorsByScope.set(key, cloneCursor(cursor));
171
+ }
172
+ async acquireObservationLock(scopeKind, scopeId, opts) {
173
+ const key = scopeKey(scopeKind, scopeId);
174
+ const existing = this.locksByScope.get(key);
175
+ const now = Date.now();
176
+ if (existing && existing.holderId !== opts.holderId && existing.heldUntil.getTime() > now) {
177
+ return null;
178
+ }
179
+ const handle = {
180
+ scopeKind,
181
+ scopeId,
182
+ holderId: opts.holderId,
183
+ heldUntil: new Date(now + opts.ttlMs),
184
+ };
185
+ this.locksByScope.set(key, handle);
186
+ return { ...handle };
187
+ }
188
+ async releaseObservationLock(handle) {
189
+ const key = scopeKey(handle.scopeKind, handle.scopeId);
190
+ const current = this.locksByScope.get(key);
191
+ if (current && current.holderId === handle.holderId) {
192
+ this.locksByScope.delete(key);
193
+ }
194
+ }
60
195
  }
61
196
  exports.InMemoryMemory = InMemoryMemory;
62
197
  async function saveMessagesToThread(memory, threadId, resourceId, messages) {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/runtime/memory-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/runtime/memory-store.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ProviderOptions } from '@ai-sdk/provider-utils';
2
2
  import type { ModelMessage } from 'ai';
3
3
  import type { SerializedMessageList } from '../types/runtime/message-list';
4
4
  import type { AgentDbMessage, AgentMessage } from '../types/sdk/message';
5
+ import type { JSONValue } from '../types/utils/json';
5
6
  export type { SerializedMessageList };
6
7
  export interface WorkingMemoryContext {
7
8
  template: string;
@@ -22,6 +23,10 @@ export declare class AgentMessageList {
22
23
  addHistory(messages: AgentMessage[] | AgentDbMessage[]): void;
23
24
  addInput(messages: AgentMessage[] | AgentDbMessage[]): void;
24
25
  addResponse(messages: AgentMessage[] | AgentDbMessage[]): void;
26
+ setToolCallResult(toolCallId: string, output: JSONValue): AgentDbMessage | undefined;
27
+ setToolCallError(toolCallId: string, error: unknown): AgentDbMessage | undefined;
28
+ private findToolCallHost;
29
+ private findToolCallBlock;
25
30
  forLlm(baseInstructions: string, instructionProviderOptions?: ProviderOptions): ModelMessage[];
26
31
  turnDelta(): AgentDbMessage[];
27
32
  responseDelta(): AgentDbMessage[];