@zhivex-ai/core 0.4.0 → 0.5.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 (64) hide show
  1. package/dist/agent-approval.d.ts +6 -0
  2. package/dist/agent-approval.d.ts.map +1 -0
  3. package/dist/agent-approval.js +38 -0
  4. package/dist/agent-approval.js.map +1 -0
  5. package/dist/agent-handoff.d.ts +11 -0
  6. package/dist/agent-handoff.d.ts.map +1 -0
  7. package/dist/agent-handoff.js +20 -0
  8. package/dist/agent-handoff.js.map +1 -0
  9. package/dist/agent-store.d.ts +20 -0
  10. package/dist/agent-store.d.ts.map +1 -0
  11. package/dist/agent-store.js +252 -0
  12. package/dist/agent-store.js.map +1 -0
  13. package/dist/agent.d.ts +8 -0
  14. package/dist/agent.d.ts.map +1 -0
  15. package/dist/agent.js +701 -0
  16. package/dist/agent.js.map +1 -0
  17. package/dist/catalog.js +1 -1
  18. package/dist/catalog.js.map +1 -1
  19. package/dist/errors.d.ts +8 -0
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +9 -0
  22. package/dist/errors.js.map +1 -1
  23. package/dist/generate-text.d.ts.map +1 -1
  24. package/dist/generate-text.js +87 -9
  25. package/dist/generate-text.js.map +1 -1
  26. package/dist/index.d.ts +13 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +10 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/live-agent.d.ts +3 -0
  31. package/dist/live-agent.d.ts.map +1 -0
  32. package/dist/live-agent.js +565 -0
  33. package/dist/live-agent.js.map +1 -0
  34. package/dist/mcp.d.ts +40 -0
  35. package/dist/mcp.d.ts.map +1 -0
  36. package/dist/mcp.js +167 -0
  37. package/dist/mcp.js.map +1 -0
  38. package/dist/messages.d.ts +9 -1
  39. package/dist/messages.d.ts.map +1 -1
  40. package/dist/messages.js +55 -0
  41. package/dist/messages.js.map +1 -1
  42. package/dist/observability.d.ts +51 -0
  43. package/dist/observability.d.ts.map +1 -0
  44. package/dist/observability.js +276 -0
  45. package/dist/observability.js.map +1 -0
  46. package/dist/realtime.d.ts +52 -0
  47. package/dist/realtime.d.ts.map +1 -0
  48. package/dist/realtime.js +304 -0
  49. package/dist/realtime.js.map +1 -0
  50. package/dist/stream.d.ts +5 -2
  51. package/dist/stream.d.ts.map +1 -1
  52. package/dist/stream.js +1 -0
  53. package/dist/stream.js.map +1 -1
  54. package/dist/tool-registry.d.ts +17 -0
  55. package/dist/tool-registry.d.ts.map +1 -0
  56. package/dist/tool-registry.js +74 -0
  57. package/dist/tool-registry.js.map +1 -0
  58. package/dist/types.d.ts +589 -6
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/ui.d.ts +4 -2
  61. package/dist/ui.d.ts.map +1 -1
  62. package/dist/ui.js +47 -0
  63. package/dist/ui.js.map +1 -1
  64. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ import type { AgentApprovalRequest, AgentApprovalResponse, ModelMessage, ProviderDataPart } from "./types.js";
2
+ export declare const getAgentApprovalRequestFromPart: (message: ModelMessage["parts"][number]) => AgentApprovalRequest | undefined;
3
+ export declare const getAgentApprovalRequests: (messages: ModelMessage[]) => AgentApprovalRequest[];
4
+ export declare const agentApprovalResponsePart: (response: AgentApprovalResponse) => ProviderDataPart;
5
+ export declare const createAgentApprovalMessage: (responses: AgentApprovalResponse[]) => ModelMessage;
6
+ //# sourceMappingURL=agent-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-approval.d.ts","sourceRoot":"","sources":["../src/agent-approval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAa,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgCzH,eAAO,MAAM,+BAA+B,YA3BD,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAG,oBAAoB,GAAG,SA2B3B,CAAC;AAExE,eAAO,MAAM,wBAAwB,GAAI,UAAU,YAAY,EAAE,KAAG,oBAAoB,EACkD,CAAC;AAE3I,eAAO,MAAM,yBAAyB,GAAI,UAAU,qBAAqB,KAAG,gBAOpD,CAAC;AAEzB,eAAO,MAAM,0BAA0B,GAAI,WAAW,qBAAqB,EAAE,KAAG,YAG9E,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { providerDataPart } from "./messages.js";
2
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
3
+ const parseApprovalRequestPart = (message) => {
4
+ if (message.type !== "provider-data") {
5
+ return undefined;
6
+ }
7
+ if (!isRecord(message.data) || message.data.type !== "mcp_approval_request") {
8
+ return undefined;
9
+ }
10
+ const id = typeof message.data.id === "string" ? message.data.id : undefined;
11
+ const name = typeof message.data.name === "string" ? message.data.name : undefined;
12
+ const argumentsValue = typeof message.data.arguments === "string" ? message.data.arguments : undefined;
13
+ if (!id || !name || !argumentsValue) {
14
+ return undefined;
15
+ }
16
+ return {
17
+ provider: message.provider,
18
+ id,
19
+ name,
20
+ arguments: argumentsValue,
21
+ serverLabel: typeof message.data.server_label === "string" ? message.data.server_label : undefined,
22
+ rawData: message.data
23
+ };
24
+ };
25
+ export const getAgentApprovalRequestFromPart = parseApprovalRequestPart;
26
+ export const getAgentApprovalRequests = (messages) => messages.flatMap((message) => message.parts.map(parseApprovalRequestPart).filter((part) => Boolean(part)));
27
+ export const agentApprovalResponsePart = (response) => providerDataPart(response.provider, {
28
+ type: "mcp_approval_response",
29
+ approval_request_id: response.approvalRequestId,
30
+ approve: response.approve,
31
+ ...(response.id ? { id: response.id } : {}),
32
+ ...(response.reason ? { reason: response.reason } : {})
33
+ });
34
+ export const createAgentApprovalMessage = (responses) => ({
35
+ role: "user",
36
+ parts: responses.map(agentApprovalResponsePart)
37
+ });
38
+ //# sourceMappingURL=agent-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-approval.js","sourceRoot":"","sources":["../src/agent-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,KAAgB,EAAsC,EAAE,CACxE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,wBAAwB,GAAG,CAAC,OAAsC,EAAoC,EAAE;IAC5G,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvG,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,EAAE;QACF,IAAI;QACJ,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAClG,OAAO,EAAE,OAAO,CAAC,IAAI;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAwB,EAA0B,EAAE,CAC3F,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAgC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE3I,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAA+B,EAAoB,EAAE,CAC7F,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,uBAAuB;IAC7B,mBAAmB,EAAE,QAAQ,CAAC,iBAAiB;IAC/C,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACxD,CAAqB,CAAC;AAEzB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,SAAkC,EAAgB,EAAE,CAAC,CAAC;IAC/F,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC;CAChD,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { AgentDefinition, AgentHandoff, AgentRunInput, AgentRunOutput, AgentRunState, JsonValue, LanguageModel } from "./types.js";
2
+ export declare const createAgentHandoff: (options: {
3
+ source: AgentRunOutput | AgentRunState;
4
+ toAgentId?: string;
5
+ summary?: string;
6
+ metadata?: Record<string, JsonValue>;
7
+ contextMessages?: AgentHandoff["contextMessages"];
8
+ }) => AgentHandoff;
9
+ export declare const createAgentHandoffMessage: (handoff: AgentHandoff) => import("./types.js").ModelMessage;
10
+ export declare const runAgentHandoff: <TModel extends LanguageModel>(agent: AgentDefinition<TModel>, handoff: AgentHandoff, input?: Omit<AgentRunInput<TModel>, "handoff">) => Promise<AgentRunOutput>;
11
+ //# sourceMappingURL=agent-handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-handoff.d.ts","sourceRoot":"","sources":["../src/agent-handoff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOxI,eAAO,MAAM,kBAAkB,GAAI,SAAS;IAC1C,MAAM,EAAE,cAAc,GAAG,aAAa,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;CACnD,KAAG,YAYH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,SAAS,YAAY,sCAI5D,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,aAAa,EAC1D,OAAO,eAAe,CAAC,MAAM,CAAC,EAC9B,SAAS,YAAY,EACrB,QAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,CAAM,KACjD,OAAO,CAAC,cAAc,CAAsE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { getTextFromMessages } from "./messages.js";
2
+ import { createTextMessage } from "./messages.js";
3
+ import { runAgent } from "./agent.js";
4
+ const randomId = () => `handoff_${Math.random().toString(36).slice(2, 10)}`;
5
+ const normalizeSource = (source) => "state" in source ? source.state : source;
6
+ export const createAgentHandoff = (options) => {
7
+ const state = normalizeSource(options.source);
8
+ return {
9
+ id: randomId(),
10
+ fromRunId: state.runId,
11
+ fromAgentId: state.agentId,
12
+ toAgentId: options.toAgentId,
13
+ summary: options.summary ?? state.outputText ?? getTextFromMessages(state.messages),
14
+ contextMessages: options.contextMessages ?? state.messages,
15
+ metadata: options.metadata
16
+ };
17
+ };
18
+ export const createAgentHandoffMessage = (handoff) => createTextMessage("user", `Handoff from ${handoff.fromAgentId ?? "another agent"}.\nSummary: ${handoff.summary}`);
19
+ export const runAgentHandoff = (agent, handoff, input = {}) => runAgent(agent, { ...input, handoff });
20
+ //# sourceMappingURL=agent-handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-handoff.js","sourceRoot":"","sources":["../src/agent-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAE5E,MAAM,eAAe,GAAG,CAAC,MAAsC,EAAiB,EAAE,CAChF,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAMlC,EAAgB,EAAE;IACjB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE;QACd,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnF,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ;QAC1D,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAqB,EAAE,EAAE,CACjE,iBAAiB,CACf,MAAM,EACN,gBAAgB,OAAO,CAAC,WAAW,IAAI,eAAe,eAAe,OAAO,CAAC,OAAO,EAAE,CACvF,CAAC;AAEJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAA8B,EAC9B,OAAqB,EACrB,QAAgD,EAAE,EACzB,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAI,KAA+B,EAAE,OAAO,EAAE,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { AgentMemoryContext, AgentMemoryStore, AgentRunState, AgentRunStore, ModelMessage, PostgresAgentMemoryStoreOptions, PostgresAgentRunStoreOptions, SqliteAgentMemoryStoreOptions, SqliteAgentRunStoreOptions } from "./types.js";
2
+ export declare const createInMemoryAgentRunStore: () => AgentRunStore;
3
+ export declare const createFileAgentRunStore: (options: {
4
+ directory: string;
5
+ }) => AgentRunStore;
6
+ export declare const createInMemoryAgentMemoryStore: (options?: {
7
+ key?: (context: AgentMemoryContext) => string;
8
+ initialMessages?: Record<string, ModelMessage[]>;
9
+ selectMessages?: (state: AgentRunState) => ModelMessage[];
10
+ }) => AgentMemoryStore;
11
+ export declare const createFileAgentMemoryStore: (options: {
12
+ directory: string;
13
+ key?: (context: AgentMemoryContext) => string;
14
+ selectMessages?: (state: AgentRunState) => ModelMessage[];
15
+ }) => AgentMemoryStore;
16
+ export declare const createSqliteAgentRunStore: (options: SqliteAgentRunStoreOptions) => AgentRunStore;
17
+ export declare const createSqliteAgentMemoryStore: (options: SqliteAgentMemoryStoreOptions) => AgentMemoryStore;
18
+ export declare const createPostgresAgentRunStore: (options: PostgresAgentRunStoreOptions) => AgentRunStore;
19
+ export declare const createPostgresAgentMemoryStore: (options: PostgresAgentMemoryStoreOptions) => AgentMemoryStore;
20
+ //# sourceMappingURL=agent-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,+BAA+B,EAC/B,4BAA4B,EAE5B,6BAA6B,EAC7B,0BAA0B,EAG3B,MAAM,YAAY,CAAC;AA2EpB,eAAO,MAAM,2BAA2B,QAAO,aAe9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,SAAS;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,aAyBF,CAAC;AAEH,eAAO,MAAM,8BAA8B,GAAI,UAAS;IACtD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,YAAY,EAAE,CAAC;CACtD,KAAG,gBAeR,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,SAAS;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,YAAY,EAAE,CAAC;CAC3D,KAAG,gBAyBH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,SAAS,0BAA0B,KAAG,aAqC/E,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,SAAS,6BAA6B,KAAG,gBAoCrF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,4BAA4B,KAAG,aAmCnF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,+BAA+B,KAAG,gBAmCzF,CAAC"}
@@ -0,0 +1,252 @@
1
+ import { promises as fs } from "node:fs";
2
+ import path from "node:path";
3
+ import { ValidationError } from "./errors.js";
4
+ const cloneState = (state) => JSON.parse(JSON.stringify(state));
5
+ const cloneMessages = (messages) => JSON.parse(JSON.stringify(messages));
6
+ const defaultMemoryKey = (context) => context.agentId ?? context.runId;
7
+ const identifierPattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
8
+ const defaultMemoryMessages = (state) => {
9
+ const lastAssistantMessage = [...state.messages].reverse().find((message) => message.role === "assistant");
10
+ return lastAssistantMessage ? [lastAssistantMessage] : [];
11
+ };
12
+ const validateIdentifier = (value, fieldName) => {
13
+ if (!identifierPattern.test(value)) {
14
+ throw new ValidationError(`The "${fieldName}" option must match the SQL identifier pattern [A-Za-z_][A-Za-z0-9_]*.`);
15
+ }
16
+ return value;
17
+ };
18
+ const getRecordField = (value, candidates) => {
19
+ if (!value || typeof value !== "object") {
20
+ return undefined;
21
+ }
22
+ const record = value;
23
+ for (const candidate of candidates) {
24
+ if (candidate in record) {
25
+ return record[candidate];
26
+ }
27
+ }
28
+ return undefined;
29
+ };
30
+ const prepareSqliteStatement = (db, sql) => {
31
+ if (typeof db.prepare === "function") {
32
+ return db.prepare(sql);
33
+ }
34
+ if (typeof db.query === "function") {
35
+ return db.query(sql);
36
+ }
37
+ throw new ValidationError('The "db" option must expose either a "prepare()" or "query()" method.');
38
+ };
39
+ const initializeSqliteTable = (db, sql) => {
40
+ db.exec(sql);
41
+ };
42
+ const ensurePostgresTable = (() => {
43
+ const initializedTables = new WeakMap();
44
+ return async (client, tableName, createSql) => {
45
+ let tables = initializedTables.get(client);
46
+ if (!tables) {
47
+ tables = new Map();
48
+ initializedTables.set(client, tables);
49
+ }
50
+ let initialization = tables.get(tableName);
51
+ if (!initialization) {
52
+ initialization = Promise.resolve(client.query(createSql, [])).then(() => undefined);
53
+ tables.set(tableName, initialization);
54
+ }
55
+ await initialization;
56
+ };
57
+ })();
58
+ export const createInMemoryAgentRunStore = () => {
59
+ const states = new Map();
60
+ return {
61
+ load(runId) {
62
+ const state = states.get(runId);
63
+ return state ? cloneState(state) : undefined;
64
+ },
65
+ save(state) {
66
+ states.set(state.runId, cloneState(state));
67
+ },
68
+ delete(runId) {
69
+ states.delete(runId);
70
+ }
71
+ };
72
+ };
73
+ export const createFileAgentRunStore = (options) => ({
74
+ async load(runId) {
75
+ try {
76
+ const content = await fs.readFile(path.join(options.directory, `${runId}.json`), "utf8");
77
+ return JSON.parse(content);
78
+ }
79
+ catch (error) {
80
+ if (error.code === "ENOENT") {
81
+ return undefined;
82
+ }
83
+ throw error;
84
+ }
85
+ },
86
+ async save(state) {
87
+ await fs.mkdir(options.directory, { recursive: true });
88
+ await fs.writeFile(path.join(options.directory, `${state.runId}.json`), JSON.stringify(state, null, 2), "utf8");
89
+ },
90
+ async delete(runId) {
91
+ try {
92
+ await fs.unlink(path.join(options.directory, `${runId}.json`));
93
+ }
94
+ catch (error) {
95
+ if (error.code !== "ENOENT") {
96
+ throw error;
97
+ }
98
+ }
99
+ }
100
+ });
101
+ export const createInMemoryAgentMemoryStore = (options = {}) => {
102
+ const keyFor = options.key ?? defaultMemoryKey;
103
+ const selectMessages = options.selectMessages ?? defaultMemoryMessages;
104
+ const memories = new Map(Object.entries(options.initialMessages ?? {}).map(([key, messages]) => [key, cloneMessages(messages)]));
105
+ return {
106
+ load(context) {
107
+ return cloneMessages(memories.get(keyFor(context)) ?? []);
108
+ },
109
+ save(context) {
110
+ memories.set(keyFor(context), cloneMessages(selectMessages(context.state)));
111
+ }
112
+ };
113
+ };
114
+ export const createFileAgentMemoryStore = (options) => {
115
+ const keyFor = options.key ?? defaultMemoryKey;
116
+ const selectMessages = options.selectMessages ?? defaultMemoryMessages;
117
+ return {
118
+ async load(context) {
119
+ try {
120
+ const file = await fs.readFile(path.join(options.directory, `${keyFor(context)}.json`), "utf8");
121
+ return JSON.parse(file);
122
+ }
123
+ catch (error) {
124
+ if (error.code === "ENOENT") {
125
+ return [];
126
+ }
127
+ throw error;
128
+ }
129
+ },
130
+ async save(context) {
131
+ await fs.mkdir(options.directory, { recursive: true });
132
+ await fs.writeFile(path.join(options.directory, `${keyFor(context)}.json`), JSON.stringify(selectMessages(context.state), null, 2), "utf8");
133
+ }
134
+ };
135
+ };
136
+ export const createSqliteAgentRunStore = (options) => {
137
+ const tableName = validateIdentifier(options.tableName ?? "zhivex_agent_runs", "tableName");
138
+ initializeSqliteTable(options.db, `CREATE TABLE IF NOT EXISTS ${tableName} (
139
+ run_id TEXT PRIMARY KEY,
140
+ state_json TEXT NOT NULL,
141
+ updated_at_ms INTEGER NOT NULL
142
+ )`);
143
+ const loadStatement = prepareSqliteStatement(options.db, `SELECT state_json FROM ${tableName} WHERE run_id = ?`);
144
+ const saveStatement = prepareSqliteStatement(options.db, `
145
+ INSERT INTO ${tableName} (run_id, state_json, updated_at_ms)
146
+ VALUES (?, ?, ?)
147
+ ON CONFLICT(run_id) DO UPDATE SET
148
+ state_json = excluded.state_json,
149
+ updated_at_ms = excluded.updated_at_ms
150
+ `);
151
+ const deleteStatement = prepareSqliteStatement(options.db, `DELETE FROM ${tableName} WHERE run_id = ?`);
152
+ return {
153
+ load(runId) {
154
+ const row = loadStatement.get([runId]);
155
+ const stateJson = getRecordField(row, ["state_json", "stateJson"]);
156
+ return typeof stateJson === "string" ? JSON.parse(stateJson) : undefined;
157
+ },
158
+ save(state) {
159
+ saveStatement.run([state.runId, JSON.stringify(state), Date.now()]);
160
+ },
161
+ delete(runId) {
162
+ deleteStatement.run([runId]);
163
+ }
164
+ };
165
+ };
166
+ export const createSqliteAgentMemoryStore = (options) => {
167
+ const tableName = validateIdentifier(options.tableName ?? "zhivex_agent_memory", "tableName");
168
+ const keyFor = options.key ?? defaultMemoryKey;
169
+ const selectMessages = options.selectMessages ?? defaultMemoryMessages;
170
+ initializeSqliteTable(options.db, `CREATE TABLE IF NOT EXISTS ${tableName} (
171
+ memory_key TEXT PRIMARY KEY,
172
+ messages_json TEXT NOT NULL,
173
+ updated_at_ms INTEGER NOT NULL
174
+ )`);
175
+ const loadStatement = prepareSqliteStatement(options.db, `SELECT messages_json FROM ${tableName} WHERE memory_key = ?`);
176
+ const saveStatement = prepareSqliteStatement(options.db, `
177
+ INSERT INTO ${tableName} (memory_key, messages_json, updated_at_ms)
178
+ VALUES (?, ?, ?)
179
+ ON CONFLICT(memory_key) DO UPDATE SET
180
+ messages_json = excluded.messages_json,
181
+ updated_at_ms = excluded.updated_at_ms
182
+ `);
183
+ return {
184
+ load(context) {
185
+ const row = loadStatement.get([keyFor(context)]);
186
+ const messagesJson = getRecordField(row, ["messages_json", "messagesJson"]);
187
+ return typeof messagesJson === "string" ? JSON.parse(messagesJson) : [];
188
+ },
189
+ save(context) {
190
+ saveStatement.run([keyFor(context), JSON.stringify(selectMessages(context.state)), Date.now()]);
191
+ }
192
+ };
193
+ };
194
+ export const createPostgresAgentRunStore = (options) => {
195
+ const tableName = validateIdentifier(options.tableName ?? "zhivex_agent_runs", "tableName");
196
+ const createSql = `
197
+ CREATE TABLE IF NOT EXISTS ${tableName} (
198
+ run_id TEXT PRIMARY KEY,
199
+ state_json JSONB NOT NULL,
200
+ updated_at_ms BIGINT NOT NULL
201
+ )
202
+ `;
203
+ return {
204
+ async load(runId) {
205
+ await ensurePostgresTable(options.client, tableName, createSql);
206
+ const result = await options.client.query(`SELECT state_json FROM ${tableName} WHERE run_id = $1`, [runId]);
207
+ return result.rows[0] ? (getRecordField(result.rows[0], ["state_json", "stateJson"]) ?? undefined) : undefined;
208
+ },
209
+ async save(state) {
210
+ await ensurePostgresTable(options.client, tableName, createSql);
211
+ await options.client.query(`INSERT INTO ${tableName} (run_id, state_json, updated_at_ms)
212
+ VALUES ($1, $2::jsonb, $3)
213
+ ON CONFLICT(run_id) DO UPDATE SET
214
+ state_json = EXCLUDED.state_json,
215
+ updated_at_ms = EXCLUDED.updated_at_ms`, [state.runId, JSON.stringify(state), Date.now()]);
216
+ },
217
+ async delete(runId) {
218
+ await ensurePostgresTable(options.client, tableName, createSql);
219
+ await options.client.query(`DELETE FROM ${tableName} WHERE run_id = $1`, [runId]);
220
+ }
221
+ };
222
+ };
223
+ export const createPostgresAgentMemoryStore = (options) => {
224
+ const tableName = validateIdentifier(options.tableName ?? "zhivex_agent_memory", "tableName");
225
+ const keyFor = options.key ?? defaultMemoryKey;
226
+ const selectMessages = options.selectMessages ?? defaultMemoryMessages;
227
+ const createSql = `
228
+ CREATE TABLE IF NOT EXISTS ${tableName} (
229
+ memory_key TEXT PRIMARY KEY,
230
+ messages_json JSONB NOT NULL,
231
+ updated_at_ms BIGINT NOT NULL
232
+ )
233
+ `;
234
+ return {
235
+ async load(context) {
236
+ await ensurePostgresTable(options.client, tableName, createSql);
237
+ const result = await options.client.query(`SELECT messages_json FROM ${tableName} WHERE memory_key = $1`, [keyFor(context)]);
238
+ return result.rows[0]
239
+ ? (getRecordField(result.rows[0], ["messages_json", "messagesJson"]) ?? [])
240
+ : [];
241
+ },
242
+ async save(context) {
243
+ await ensurePostgresTable(options.client, tableName, createSql);
244
+ await options.client.query(`INSERT INTO ${tableName} (memory_key, messages_json, updated_at_ms)
245
+ VALUES ($1, $2::jsonb, $3)
246
+ ON CONFLICT(memory_key) DO UPDATE SET
247
+ messages_json = EXCLUDED.messages_json,
248
+ updated_at_ms = EXCLUDED.updated_at_ms`, [keyFor(context), JSON.stringify(selectMessages(context.state)), Date.now()]);
249
+ }
250
+ };
251
+ };
252
+ //# sourceMappingURL=agent-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-store.js","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AgentDefinition, AgentRunInput, AgentRunOutput, AgentRunState, AgentStreamResult, LanguageModel } from "./types.js";
2
+ export declare const createAgent: <TModel extends AgentDefinition["model"]>(definition: AgentDefinition<TModel>) => AgentDefinition<TModel>;
3
+ export declare const runAgent: <TModel extends LanguageModel>(agent: AgentDefinition<TModel>, input?: AgentRunInput<TModel>) => Promise<AgentRunOutput>;
4
+ export declare const streamAgent: <TModel extends LanguageModel>(agent: AgentDefinition<TModel>, input?: AgentRunInput<TModel>) => AgentStreamResult;
5
+ export declare const resumeAgent: <TModel extends LanguageModel>(agent: AgentDefinition<TModel>, input: AgentRunInput<TModel> & {
6
+ state: AgentRunState;
7
+ }) => Promise<AgentRunOutput>;
8
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,eAAe,EAIf,aAAa,EACb,cAAc,EACd,aAAa,EAMb,iBAAiB,EAMjB,aAAa,EAOd,MAAM,YAAY,CAAC;AA8fpB,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,eAAe,CAAC,OAAO,CAAC,EACjE,YAAY,eAAe,CAAC,MAAM,CAAC,KAClC,eAAe,CAAC,MAAM,CAGvB,CAAC;AAEH,eAAO,MAAM,QAAQ,GAAU,MAAM,SAAS,aAAa,EACzD,OAAO,eAAe,CAAC,MAAM,CAAC,EAC9B,QAAO,aAAa,CAAC,MAAM,CAAM,KAChC,OAAO,CAAC,cAAc,CAsExB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,aAAa,EACtD,OAAO,eAAe,CAAC,MAAM,CAAC,EAC9B,QAAO,aAAa,CAAC,MAAM,CAAM,KAChC,iBAwRF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,MAAM,SAAS,aAAa,EAC5D,OAAO,eAAe,CAAC,MAAM,CAAC,EAC9B,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,KACtD,OAAO,CAAC,cAAc,CAA2B,CAAC"}