agentified 0.0.4 → 0.0.5-beta.3

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 (44) hide show
  1. package/README.md +34 -13
  2. package/dist/agentified.d.ts +27 -15
  3. package/dist/agentified.d.ts.map +1 -1
  4. package/dist/agentified.js +128 -153
  5. package/dist/agentified.js.map +1 -1
  6. package/dist/api-client.d.ts +17 -0
  7. package/dist/api-client.d.ts.map +1 -0
  8. package/dist/api-client.js +169 -0
  9. package/dist/api-client.js.map +1 -0
  10. package/dist/context-builder.d.ts +17 -0
  11. package/dist/context-builder.d.ts.map +1 -0
  12. package/dist/context-builder.js +37 -0
  13. package/dist/context-builder.js.map +1 -0
  14. package/dist/conversation.d.ts +15 -0
  15. package/dist/conversation.d.ts.map +1 -0
  16. package/dist/conversation.js +20 -0
  17. package/dist/conversation.js.map +1 -0
  18. package/dist/dataset-ref.d.ts +17 -0
  19. package/dist/dataset-ref.d.ts.map +1 -0
  20. package/dist/dataset-ref.js +45 -0
  21. package/dist/dataset-ref.js.map +1 -0
  22. package/dist/index.d.ts +9 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +8 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/instance.d.ts +18 -0
  27. package/dist/instance.d.ts.map +1 -0
  28. package/dist/instance.js +41 -0
  29. package/dist/instance.js.map +1 -0
  30. package/dist/namespace.d.ts +16 -0
  31. package/dist/namespace.d.ts.map +1 -0
  32. package/dist/namespace.js +22 -0
  33. package/dist/namespace.js.map +1 -0
  34. package/dist/session.d.ts +30 -0
  35. package/dist/session.d.ts.map +1 -0
  36. package/dist/session.js +118 -0
  37. package/dist/session.js.map +1 -0
  38. package/dist/spawn-utils.d.ts +3 -0
  39. package/dist/spawn-utils.d.ts.map +1 -0
  40. package/dist/spawn-utils.js +42 -0
  41. package/dist/spawn-utils.js.map +1 -0
  42. package/dist/types.d.ts +55 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +7 -6
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @agentified/sdk
1
+ # agentified
2
2
 
3
3
  Register 200 tools. Get the 5 that matter.
4
4
 
@@ -7,28 +7,49 @@ TypeScript SDK for [Agentified](../../../README.md) — register tools, discover
7
7
  ## Install
8
8
 
9
9
  ```bash
10
- npm install @agentified/sdk
10
+ npm install agentified
11
11
  ```
12
12
 
13
13
  ## Quick Start
14
14
 
15
15
  ```typescript
16
- import { ApiClient, tool } from "@agentified/sdk";
16
+ import { Agentified } from "agentified";
17
17
 
18
- const agent = new ApiClient({
19
- serverUrl: "http://localhost:9119",
18
+ const ag = new Agentified();
19
+ await ag.connect("http://localhost:9119");
20
+
21
+ const dataset = await ag.dataset("my-agent").register({
20
22
  tools: [
21
- tool({ name: "get_weather", description: "Get current weather", parameters: { type: "object", properties: { city: { type: "string" } }, required: ["city"] } }),
22
- tool({ name: "book_flight", description: "Book a flight", parameters: { type: "object", properties: { from: { type: "string" }, to: { type: "string" } }, required: ["from", "to"] } }),
23
+ { name: "get_weather", description: "Get current weather", parameters: { type: "object", properties: { city: { type: "string" } }, required: ["city"] }, handler: async (args) => ({ temp: 22 }) },
24
+ { name: "book_flight", description: "Book a flight", parameters: { type: "object", properties: { from: { type: "string" }, to: { type: "string" } }, required: ["from", "to"] }, handler: async (args) => ({ booked: true }) },
23
25
  ],
24
26
  });
25
27
 
26
- await agent.register();
28
+ // dataset.discoverTool — give to your agent for runtime tool discovery
29
+ // dataset.prepareStep — callback that expands active tools after discover
30
+ // dataset.session(chatId) — session-scoped tools + conversation persistence
31
+ // dataset.namespace(userId) — user-scoped memory (stub)
32
+ ```
27
33
 
28
- const ranked = await agent.prefetch({
29
- messages: [{ role: "user", content: "What's the weather in Rome?" }],
30
- });
31
- // → [{ name: "get_weather", score: 0.92, ... }, ...]
34
+ ## Hierarchy
35
+
36
+ ```
37
+ Agentified
38
+ ├─ .adaptTo(adapter) → T (framework-specific wrapper)
39
+ └─ .dataset(name) → DatasetRef
40
+ └─ .register({ tools }) → Instance
41
+ ├─ .discoverTool — DiscoverTool
42
+ ├─ .prepareStep — PrepareStepFn
43
+ ├─ .session(id) → Session
44
+ │ ├─ .discoverTool
45
+ │ ├─ .prepareStep (persists messages)
46
+ │ ├─ .context.messages(opts).recall(opts).assemble()
47
+ │ ├─ .updateConversation({ messages })
48
+ │ ├─ .getMessages(opts)
49
+ │ └─ .conversation → Conversation
50
+ └─ .namespace(id) → Namespace
51
+ ├─ .tools (stub)
52
+ └─ .session(id) → Session
32
53
  ```
33
54
 
34
55
  ## API Reference
@@ -38,7 +59,7 @@ const ranked = await agent.prefetch({
38
59
  Creates a `ServerTool` with auto-populated `fields` for embedding.
39
60
 
40
61
  ```typescript
41
- import { tool } from "@agentified/sdk";
62
+ import { tool } from "agentified";
42
63
 
43
64
  const t = tool({
44
65
  name: "search_docs",
@@ -1,17 +1,29 @@
1
- import type { ApiClientConfig, AppendMessagesResponse, CaptureTurnOptions, CaptureTurnResponse, ContextOpts, ContextResponse, DiscoverTool, GetMessagesOpts, GetMessagesResponse, Message, PrefetchOptions, RankedTool, RegisterResponse, ServerTool } from "./types.js";
2
- export declare class ApiClient {
3
- private config;
4
- constructor(config: ApiClientConfig);
5
- register(datasetId: string): Promise<RegisterResponse>;
6
- discover(datasetId: string, query: string, limit?: number, exclude?: string[], turnId?: string): Promise<RankedTool[]>;
7
- prefetch(datasetId: string, options: PrefetchOptions): Promise<RankedTool[]>;
8
- captureTurn(namespace: string, session: string, options: CaptureTurnOptions): Promise<CaptureTurnResponse>;
9
- appendMessages(dataset: string, namespace: string, session: string, messages: Message[]): Promise<AppendMessagesResponse>;
10
- getMessages(dataset: string, namespace: string, session: string, opts?: GetMessagesOpts): Promise<GetMessagesResponse>;
11
- getContext(dataset: string, namespace: string, session: string, opts?: ContextOpts): Promise<ContextResponse>;
12
- getFrontendTools(): ServerTool[];
13
- getFrontendToolNames(): string[];
14
- asDiscoverTool(datasetId: string): DiscoverTool;
15
- private emit;
1
+ import { ApiClient } from "./api-client.js";
2
+ import { DatasetRef } from "./dataset-ref.js";
3
+ import { Instance } from "./instance.js";
4
+ import type { RegisterInput } from "./types.js";
5
+ export declare class Agentified {
6
+ /** @internal */ sdk: ApiClient | null;
7
+ /** @internal */ serverUrl: string | null;
8
+ private connected;
9
+ private spawnedProcess;
10
+ private cleanupHandlers;
11
+ private restartCount;
12
+ private lastRestartAt;
13
+ private spawnArgs;
14
+ connect(serverUrl?: string): Promise<void>;
15
+ adaptTo<T>(adapter: {
16
+ adapt: (ag: Agentified) => T;
17
+ }): T;
18
+ dataset(name: string): DatasetRef;
19
+ register(input: RegisterInput): Promise<Instance>;
20
+ private spawnChild;
21
+ private registerCrashHandler;
22
+ private registerCleanupHandlers;
23
+ private removeCleanupHandlers;
24
+ /** @internal */ healthCheckDelayMs: number;
25
+ /** @internal */ healthCheckMaxAttempts: number;
26
+ private healthCheckLoop;
27
+ disconnect(): Promise<void>;
16
28
  }
17
29
  //# sourceMappingURL=agentified.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentified.d.ts","sourceRoot":"","sources":["../src/agentified.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,eAAe,EAEf,YAAY,EAEZ,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAI7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAStD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAwBtH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAe5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAe1G,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUzH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyBtH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAwCnH,gBAAgB,IAAI,UAAU,EAAE;IAIhC,oBAAoB,IAAI,MAAM,EAAE;IAIhC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IA+B/C,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"agentified.d.ts","sourceRoot":"","sources":["../src/agentified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,qBAAa,UAAU;IACrB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAqD;IAEhE,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwChD,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC;IAIxD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAI3B,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvD,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,qBAAqB;IAO7B,gBAAgB,CAAC,kBAAkB,SAAO;IAC1C,gBAAgB,CAAC,sBAAsB,SAAM;YAE/B,eAAe;IAiBvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
@@ -1,169 +1,144 @@
1
- export class ApiClient {
2
- config;
3
- constructor(config) {
4
- this.config = config;
5
- }
6
- async register(datasetId) {
7
- const res = await fetch(`${this.config.serverUrl}/api/v1/datasets/${datasetId}/tools`, {
8
- method: "POST",
9
- headers: { "Content-Type": "application/json" },
10
- body: JSON.stringify({ tools: this.config.tools }),
11
- });
12
- return res.json();
13
- }
14
- async discover(datasetId, query, limit, exclude, turnId) {
15
- const body = { query };
16
- if (limit !== undefined)
17
- body.limit = limit;
18
- if (exclude !== undefined)
19
- body.exclude = exclude;
20
- if (turnId !== undefined)
21
- body.turn_id = turnId;
22
- const res = await fetch(`${this.config.serverUrl}/api/v1/datasets/${datasetId}/discover`, {
23
- method: "POST",
24
- headers: { "Content-Type": "application/json" },
25
- body: JSON.stringify(body),
26
- });
27
- const data = (await res.json());
28
- const tools = data.tools ?? [];
29
- if (this.config.tools.length > 0) {
30
- const registered = new Set(this.config.tools.map((t) => t.name));
31
- for (const tool of tools) {
32
- if (!registered.has(tool.name)) {
33
- throw new Error(`Discovered tool '${tool.name}' is not registered in the SDK. Register it before use.`);
34
- }
1
+ import { ApiClient } from "./api-client.js";
2
+ import { DatasetRef } from "./dataset-ref.js";
3
+ import { resolveBinaryPath, findFreePort } from "./spawn-utils.js";
4
+ import { spawn } from "node:child_process";
5
+ export class Agentified {
6
+ /** @internal */ sdk = null;
7
+ /** @internal */ serverUrl = null;
8
+ connected = false;
9
+ spawnedProcess = null;
10
+ cleanupHandlers = [];
11
+ restartCount = 0;
12
+ lastRestartAt = 0;
13
+ spawnArgs = null;
14
+ async connect(serverUrl) {
15
+ if (this.connected)
16
+ throw new Error("Already connected");
17
+ if (!serverUrl) {
18
+ if (!process.env.OPENAI_API_KEY) {
19
+ throw new Error("OPENAI_API_KEY environment variable is required for local spawn");
20
+ }
21
+ const binaryPath = resolveBinaryPath();
22
+ if (!binaryPath) {
23
+ throw new Error("Could not resolve agentified core binary. Install the platform-specific package.");
35
24
  }
25
+ const port = await findFreePort();
26
+ this.spawnArgs = { binaryPath, port };
27
+ this.spawnChild();
28
+ const url = `http://127.0.0.1:${port}`;
29
+ await this.healthCheckLoop(url);
30
+ this.registerCleanupHandlers();
31
+ this.registerCrashHandler();
32
+ this.serverUrl = url;
33
+ this.sdk = new ApiClient({ serverUrl: url, tools: [] });
34
+ this.connected = true;
35
+ return;
36
36
  }
37
- return tools;
38
- }
39
- async prefetch(datasetId, options) {
40
- this.emit({ type: "agentified:prefetch:start", messages: options.messages });
41
- const start = performance.now();
42
- const query = options.messages.map((m) => m.content).join("\n");
43
- const tools = await this.discover(datasetId, query, options.limit, options.exclude, options.turnId);
44
- this.emit({
45
- type: "agentified:prefetch:complete",
46
- tools,
47
- durationMs: performance.now() - start,
37
+ const res = await fetch(`${serverUrl}/health`, {
38
+ method: "GET",
39
+ signal: AbortSignal.timeout(5000),
48
40
  });
49
- return tools;
41
+ if (!res.ok) {
42
+ throw new Error(`Health check failed: ${res.status}`);
43
+ }
44
+ this.serverUrl = serverUrl;
45
+ this.sdk = new ApiClient({ serverUrl, tools: [] });
46
+ this.connected = true;
50
47
  }
51
- async captureTurn(namespace, session, options) {
52
- const res = await fetch(`${this.config.serverUrl}/api/v1/turns`, {
53
- method: "POST",
54
- headers: { "Content-Type": "application/json" },
55
- body: JSON.stringify({
56
- namespace_id: namespace,
57
- session_id: session,
58
- tools_loaded: options.toolsLoaded,
59
- message: options.message,
60
- }),
61
- });
62
- const data = (await res.json());
63
- return { turnId: data.turn_id };
48
+ adaptTo(adapter) {
49
+ return adapter.adapt(this);
64
50
  }
65
- async appendMessages(dataset, namespace, session, messages) {
66
- const res = await fetch(`${this.config.serverUrl}/api/v1/messages`, {
67
- method: "POST",
68
- headers: { "Content-Type": "application/json" },
69
- body: JSON.stringify({ dataset, namespace, session, messages }),
70
- });
71
- const data = (await res.json());
72
- return { appended: data.appended, firstSeq: data.first_seq, lastSeq: data.last_seq };
51
+ dataset(name) {
52
+ return new DatasetRef(this, name);
73
53
  }
74
- async getMessages(dataset, namespace, session, opts) {
75
- const params = new URLSearchParams({ dataset, namespace, session });
76
- if (opts?.limit !== undefined)
77
- params.set("limit", String(opts.limit));
78
- if (opts?.afterSeq !== undefined)
79
- params.set("after_seq", String(opts.afterSeq));
80
- if (opts?.aroundSeq !== undefined)
81
- params.set("around_seq", String(opts.aroundSeq));
82
- const res = await fetch(`${this.config.serverUrl}/api/v1/messages?${params}`, {
83
- method: "GET",
54
+ async register(input) {
55
+ return this.dataset("default").register(input);
56
+ }
57
+ spawnChild() {
58
+ if (!this.spawnArgs)
59
+ return;
60
+ const { binaryPath, port } = this.spawnArgs;
61
+ const child = spawn(binaryPath, [], {
62
+ stdio: ["ignore", "pipe", "pipe"],
63
+ env: { ...process.env, AGENTIFIED_PORT: String(port) },
84
64
  });
85
- const data = (await res.json());
86
- return {
87
- messages: data.messages.map((m) => ({
88
- id: m.id,
89
- role: m.role,
90
- content: m.content,
91
- toolCallId: m.tool_call_id,
92
- toolCalls: m.tool_calls,
93
- createdAt: m.created_at,
94
- seq: m.seq,
95
- })),
96
- hasMore: data.has_more,
97
- maxSeq: data.max_seq,
98
- };
65
+ this.spawnedProcess = child;
99
66
  }
100
- async getContext(dataset, namespace, session, opts) {
101
- const messagesConfig = {};
102
- if (opts?.strategy !== undefined)
103
- messagesConfig.strategy = opts.strategy;
104
- if (opts?.maxTokens !== undefined)
105
- messagesConfig.max_tokens = opts.maxTokens;
106
- const res = await fetch(`${this.config.serverUrl}/api/v1/context`, {
107
- method: "POST",
108
- headers: { "Content-Type": "application/json" },
109
- body: JSON.stringify({ dataset, namespace, session, messages: messagesConfig }),
67
+ registerCrashHandler() {
68
+ if (!this.spawnedProcess)
69
+ return;
70
+ this.spawnedProcess.on("exit", (_code, _signal) => {
71
+ if (!this.connected)
72
+ return;
73
+ const now = Date.now();
74
+ if (this.restartCount >= 1 || now - this.lastRestartAt < 60_000)
75
+ return;
76
+ this.restartCount++;
77
+ this.lastRestartAt = now;
78
+ this.spawnChild();
79
+ this.registerCrashHandler();
110
80
  });
111
- const data = (await res.json());
112
- return {
113
- messages: data.messages.map((m) => ({
114
- id: m.id,
115
- role: m.role,
116
- content: m.content,
117
- toolCallId: m.tool_call_id,
118
- toolCalls: m.tool_calls,
119
- createdAt: m.created_at,
120
- seq: m.seq,
121
- })),
122
- strategyUsed: data.strategy_used,
123
- totalMessages: data.total_messages,
124
- includedMessages: data.included_messages,
125
- recalled: data.recalled,
126
- tokenEstimate: data.token_estimate,
127
- conversationMessages: data.conversation_messages,
128
- fallback: data.fallback,
129
- };
130
81
  }
131
- getFrontendTools() {
132
- return this.config.tools.filter((t) => t.metadata?.location === "frontend");
82
+ registerCleanupHandlers() {
83
+ const cleanup = () => {
84
+ if (this.spawnedProcess) {
85
+ this.spawnedProcess.kill("SIGTERM");
86
+ const child = this.spawnedProcess;
87
+ setTimeout(() => {
88
+ try {
89
+ child.kill("SIGKILL");
90
+ }
91
+ catch { /* already dead */ }
92
+ }, 2000);
93
+ this.spawnedProcess = null;
94
+ }
95
+ };
96
+ for (const sig of ["SIGINT", "SIGTERM"]) {
97
+ const handler = () => { cleanup(); process.exit(); };
98
+ process.on(sig, handler);
99
+ this.cleanupHandlers.push([sig, handler]);
100
+ }
101
+ const exitHandler = () => { cleanup(); };
102
+ process.on("exit", exitHandler);
103
+ this.cleanupHandlers.push(["exit", exitHandler]);
133
104
  }
134
- getFrontendToolNames() {
135
- return this.getFrontendTools().map((t) => t.name);
105
+ removeCleanupHandlers() {
106
+ for (const [event, handler] of this.cleanupHandlers) {
107
+ process.removeListener(event, handler);
108
+ }
109
+ this.cleanupHandlers = [];
136
110
  }
137
- asDiscoverTool(datasetId) {
138
- return {
139
- definition: {
140
- name: "agentified_discover",
141
- description: "Find tools relevant to the current task. Call this when you need capabilities you don't have.",
142
- parameters: {
143
- type: "object",
144
- properties: {
145
- query: { type: "string", description: "Natural language description of what you need to do" },
146
- limit: { type: "number", description: "Max number of tools to return" },
147
- },
148
- required: ["query"],
149
- },
150
- },
151
- execute: async (input) => {
152
- this.emit({ type: "agentified:discover:start", query: input.query });
153
- const start = performance.now();
154
- const tools = await this.discover(datasetId, input.query, input.limit);
155
- this.emit({
156
- type: "agentified:discover:complete",
157
- query: input.query,
158
- tools,
159
- durationMs: performance.now() - start,
160
- });
161
- return tools;
162
- },
163
- };
111
+ /** @internal */ healthCheckDelayMs = 200;
112
+ /** @internal */ healthCheckMaxAttempts = 25;
113
+ async healthCheckLoop(url) {
114
+ for (let i = 0; i < this.healthCheckMaxAttempts; i++) {
115
+ try {
116
+ const res = await fetch(`${url}/health`);
117
+ if (res.ok)
118
+ return;
119
+ }
120
+ catch {
121
+ // server not ready yet
122
+ }
123
+ await new Promise((r) => setTimeout(r, this.healthCheckDelayMs));
124
+ }
125
+ if (this.spawnedProcess) {
126
+ this.spawnedProcess.kill();
127
+ this.spawnedProcess = null;
128
+ }
129
+ throw new Error("Local server failed to start within 5s");
164
130
  }
165
- emit(event) {
166
- this.config.onEvent?.(event);
131
+ async disconnect() {
132
+ if (!this.connected)
133
+ return;
134
+ if (this.spawnedProcess) {
135
+ this.spawnedProcess.kill();
136
+ this.spawnedProcess = null;
137
+ }
138
+ this.removeCleanupHandlers();
139
+ this.sdk = null;
140
+ this.serverUrl = null;
141
+ this.connected = false;
167
142
  }
168
143
  }
169
144
  //# sourceMappingURL=agentified.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentified.js","sourceRoot":"","sources":["../src/agentified.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentified.js","sourceRoot":"","sources":["../src/agentified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAE9D,MAAM,OAAO,UAAU;IACrB,gBAAgB,CAAC,GAAG,GAAqB,IAAI,CAAC;IAC9C,gBAAgB,CAAC,SAAS,GAAkB,IAAI,CAAC;IACzC,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,GAAwB,IAAI,CAAC;IAC3C,eAAe,GAA8C,EAAE,CAAC;IAChE,YAAY,GAAG,CAAC,CAAC;IACjB,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAgD,IAAI,CAAC;IAEtE,KAAK,CAAC,OAAO,CAAC,SAAkB;QAC9B,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACtG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,SAAS,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,CAAI,OAAyC;QAClD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE;YAClC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACjC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM;gBAAE,OAAO;YACxE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB;QAC7B,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;gBAClC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC;wBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,qBAAqB;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACpD,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAC1C,gBAAgB,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAErC,KAAK,CAAC,eAAe,CAAC,GAAW;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;gBACzC,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { ApiClientConfig, AppendMessagesResponse, CaptureTurnOptions, CaptureTurnResponse, ContextOpts, ContextResponse, DiscoverTool, GetMessagesOpts, GetMessagesResponse, Message, PrefetchOptions, RankedTool, RegisterResponse, ServerTool } from "./types.js";
2
+ export declare class ApiClient {
3
+ private config;
4
+ constructor(config: ApiClientConfig);
5
+ register(datasetId: string): Promise<RegisterResponse>;
6
+ discover(datasetId: string, query: string, limit?: number, exclude?: string[], turnId?: string): Promise<RankedTool[]>;
7
+ prefetch(datasetId: string, options: PrefetchOptions): Promise<RankedTool[]>;
8
+ captureTurn(namespace: string, session: string, options: CaptureTurnOptions): Promise<CaptureTurnResponse>;
9
+ appendMessages(dataset: string, namespace: string, session: string, messages: Message[]): Promise<AppendMessagesResponse>;
10
+ getMessages(dataset: string, namespace: string, session: string, opts?: GetMessagesOpts): Promise<GetMessagesResponse>;
11
+ getContext(dataset: string, namespace: string, session: string, opts?: ContextOpts): Promise<ContextResponse>;
12
+ getFrontendTools(): ServerTool[];
13
+ getFrontendToolNames(): string[];
14
+ asDiscoverTool(datasetId: string): DiscoverTool;
15
+ private emit;
16
+ }
17
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,eAAe,EAEf,YAAY,EAEZ,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAI7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAStD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAwBtH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAe5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAe1G,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUzH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyBtH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAwCnH,gBAAgB,IAAI,UAAU,EAAE;IAIhC,oBAAoB,IAAI,MAAM,EAAE;IAIhC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IA+B/C,OAAO,CAAC,IAAI;CAGb"}