actoviq-agent-sdk 0.1.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 (98) hide show
  1. package/LICENSE +21 -0
  2. package/README-zh.md +422 -0
  3. package/README.md +415 -0
  4. package/dist/src/config/loadActoviqSettings.d.ts +8 -0
  5. package/dist/src/config/loadActoviqSettings.d.ts.map +1 -0
  6. package/dist/src/config/loadActoviqSettings.js +11 -0
  7. package/dist/src/config/loadActoviqSettings.js.map +1 -0
  8. package/dist/src/config/loadDefaultActoviqSettings.d.ts +7 -0
  9. package/dist/src/config/loadDefaultActoviqSettings.d.ts.map +1 -0
  10. package/dist/src/config/loadDefaultActoviqSettings.js +27 -0
  11. package/dist/src/config/loadDefaultActoviqSettings.js.map +1 -0
  12. package/dist/src/config/loadJsonConfigFile.d.ts +8 -0
  13. package/dist/src/config/loadJsonConfigFile.d.ts.map +1 -0
  14. package/dist/src/config/loadJsonConfigFile.js +48 -0
  15. package/dist/src/config/loadJsonConfigFile.js.map +1 -0
  16. package/dist/src/config/resolveRuntimeConfig.d.ts +3 -0
  17. package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -0
  18. package/dist/src/config/resolveRuntimeConfig.js +64 -0
  19. package/dist/src/config/resolveRuntimeConfig.js.map +1 -0
  20. package/dist/src/errors.d.ts +35 -0
  21. package/dist/src/errors.d.ts.map +1 -0
  22. package/dist/src/errors.js +40 -0
  23. package/dist/src/errors.js.map +1 -0
  24. package/dist/src/index.d.ts +20 -0
  25. package/dist/src/index.d.ts.map +1 -0
  26. package/dist/src/index.js +25 -0
  27. package/dist/src/index.js.map +1 -0
  28. package/dist/src/mcp/connectionManager.d.ts +14 -0
  29. package/dist/src/mcp/connectionManager.d.ts.map +1 -0
  30. package/dist/src/mcp/connectionManager.js +172 -0
  31. package/dist/src/mcp/connectionManager.js.map +1 -0
  32. package/dist/src/parity/actoviqBridgeSdk.d.ts +64 -0
  33. package/dist/src/parity/actoviqBridgeSdk.d.ts.map +1 -0
  34. package/dist/src/parity/actoviqBridgeSdk.js +841 -0
  35. package/dist/src/parity/actoviqBridgeSdk.js.map +1 -0
  36. package/dist/src/parity/actoviqFileTools.d.ts +9 -0
  37. package/dist/src/parity/actoviqFileTools.d.ts.map +1 -0
  38. package/dist/src/parity/actoviqFileTools.js +426 -0
  39. package/dist/src/parity/actoviqFileTools.js.map +1 -0
  40. package/dist/src/parity/actoviqTranscripts.d.ts +40 -0
  41. package/dist/src/parity/actoviqTranscripts.d.ts.map +1 -0
  42. package/dist/src/parity/actoviqTranscripts.js +155 -0
  43. package/dist/src/parity/actoviqTranscripts.js.map +1 -0
  44. package/dist/src/parity/portableSessions.d.ts +35 -0
  45. package/dist/src/parity/portableSessions.d.ts.map +1 -0
  46. package/dist/src/parity/portableSessions.js +233 -0
  47. package/dist/src/parity/portableSessions.js.map +1 -0
  48. package/dist/src/provider/client.d.ts +54 -0
  49. package/dist/src/provider/client.d.ts.map +1 -0
  50. package/dist/src/provider/client.js +397 -0
  51. package/dist/src/provider/client.js.map +1 -0
  52. package/dist/src/provider/types.d.ts +137 -0
  53. package/dist/src/provider/types.d.ts.map +1 -0
  54. package/dist/src/provider/types.js +2 -0
  55. package/dist/src/provider/types.js.map +1 -0
  56. package/dist/src/runtime/actoviqModelApi.d.ts +10 -0
  57. package/dist/src/runtime/actoviqModelApi.d.ts.map +1 -0
  58. package/dist/src/runtime/actoviqModelApi.js +26 -0
  59. package/dist/src/runtime/actoviqModelApi.js.map +1 -0
  60. package/dist/src/runtime/agentClient.d.ts +37 -0
  61. package/dist/src/runtime/agentClient.d.ts.map +1 -0
  62. package/dist/src/runtime/agentClient.js +212 -0
  63. package/dist/src/runtime/agentClient.js.map +1 -0
  64. package/dist/src/runtime/agentSession.d.ts +32 -0
  65. package/dist/src/runtime/agentSession.d.ts.map +1 -0
  66. package/dist/src/runtime/agentSession.js +68 -0
  67. package/dist/src/runtime/agentSession.js.map +1 -0
  68. package/dist/src/runtime/asyncQueue.d.ts +23 -0
  69. package/dist/src/runtime/asyncQueue.d.ts.map +1 -0
  70. package/dist/src/runtime/asyncQueue.js +87 -0
  71. package/dist/src/runtime/asyncQueue.js.map +1 -0
  72. package/dist/src/runtime/conversationEngine.d.ts +26 -0
  73. package/dist/src/runtime/conversationEngine.d.ts.map +1 -0
  74. package/dist/src/runtime/conversationEngine.js +234 -0
  75. package/dist/src/runtime/conversationEngine.js.map +1 -0
  76. package/dist/src/runtime/helpers.d.ts +10 -0
  77. package/dist/src/runtime/helpers.d.ts.map +1 -0
  78. package/dist/src/runtime/helpers.js +44 -0
  79. package/dist/src/runtime/helpers.js.map +1 -0
  80. package/dist/src/runtime/messageUtils.d.ts +8 -0
  81. package/dist/src/runtime/messageUtils.d.ts.map +1 -0
  82. package/dist/src/runtime/messageUtils.js +79 -0
  83. package/dist/src/runtime/messageUtils.js.map +1 -0
  84. package/dist/src/runtime/tools.d.ts +10 -0
  85. package/dist/src/runtime/tools.d.ts.map +1 -0
  86. package/dist/src/runtime/tools.js +120 -0
  87. package/dist/src/runtime/tools.js.map +1 -0
  88. package/dist/src/storage/sessionStore.d.ts +16 -0
  89. package/dist/src/storage/sessionStore.d.ts.map +1 -0
  90. package/dist/src/storage/sessionStore.js +120 -0
  91. package/dist/src/storage/sessionStore.js.map +1 -0
  92. package/dist/src/types.d.ts +434 -0
  93. package/dist/src/types.d.ts.map +1 -0
  94. package/dist/src/types.js +2 -0
  95. package/dist/src/types.js.map +1 -0
  96. package/package.json +68 -0
  97. package/vendor/actoviq-runtime/cli.js +37 -0
  98. package/vendor/actoviq-runtime/runtime.bundle.br +0 -0
package/README.md ADDED
@@ -0,0 +1,415 @@
1
+ # Actoviq Agent SDK
2
+
3
+ [English](./README.md) | [中文](./README-zh.md)
4
+
5
+ Actoviq Agent SDK is an independent, experimental agent SDK for practical multi-tool, multi-session, and bridge-assisted agent workflows.
6
+
7
+ This repository is currently a testing preview under active development. APIs, runtime behavior, naming, packaging, and parity coverage may still change as the project evolves. Issues and PRs are very welcome.
8
+
9
+ This project is independently developed as a public preview and is still under active iteration.
10
+
11
+ Licensed under the [MIT License](./LICENSE).
12
+
13
+ ## Highlights
14
+
15
+ - Node.js / TypeScript agent SDK with `run()`, `stream()`, sessions, tools, and MCP support
16
+ - Actoviq Runtime bridge with built-in tools, skills, subagents, and native session/context behavior
17
+ - Clean public SDK surface on top of a vendored non-TUI runtime
18
+ - Interactive streaming demo for local development and agent debugging
19
+ - Ongoing parity work for workspace management, deeper subagent APIs, and private dependency replacement
20
+
21
+ ## Get Started
22
+
23
+ ### 1. Install dependencies
24
+
25
+ ```bash
26
+ npm install
27
+ ```
28
+
29
+ ### 2. Prepare `~/.actoviq/settings.json`
30
+
31
+ Local examples expect this file:
32
+
33
+ ```text
34
+ ~/.actoviq/settings.json
35
+ ```
36
+
37
+ Create the directory and place your JSON settings file there if it does not exist yet:
38
+
39
+ ```powershell
40
+ New-Item -ItemType Directory -Force $HOME\.actoviq | Out-Null
41
+ ```
42
+
43
+ ### 3. Run the basic example
44
+
45
+ ```bash
46
+ npm run example:quickstart
47
+ ```
48
+
49
+ ### 4. Start the interactive agent demo
50
+
51
+ ```bash
52
+ npm run example:actoviq-interactive-agent
53
+ ```
54
+
55
+ This launches a streaming REPL with tool access and an infinite session loop until you exit.
56
+
57
+ ## At a Glance
58
+
59
+ This repository gives you two main paths:
60
+
61
+ 1. A clean SDK layer for app integration
62
+ 2. A runtime bridge layer for Actoviq-native non-TUI agent behavior
63
+
64
+ What you can use today:
65
+
66
+ - local tools with Zod schemas
67
+ - MCP servers over local, stdio, or streamable HTTP
68
+ - persistent sessions
69
+ - bridge runtime introspection
70
+ - vendored runtime file tools: `Read`, `Write`, `Edit`, `Glob`, `Grep`
71
+ - built-in bridge runtime tools, skills, and subagents
72
+
73
+ ## Install As a Library
74
+
75
+ ```bash
76
+ npm install actoviq-agent-sdk zod
77
+ ```
78
+
79
+ ## Basic SDK Example
80
+
81
+ ```ts
82
+ import { z } from 'zod';
83
+ import { createAgentSdk, loadDefaultActoviqSettings, tool } from 'actoviq-agent-sdk';
84
+
85
+ await loadDefaultActoviqSettings();
86
+ const sdk = await createAgentSdk();
87
+
88
+ const addNumbers = tool(
89
+ {
90
+ name: 'add_numbers',
91
+ description: 'Add two numbers together.',
92
+ inputSchema: z.object({
93
+ a: z.number(),
94
+ b: z.number(),
95
+ }),
96
+ },
97
+ async ({ a, b }) => ({ sum: a + b }),
98
+ );
99
+
100
+ const result = await sdk.run('Please use the add_numbers tool to calculate 19 + 23.', {
101
+ tools: [addNumbers],
102
+ systemPrompt: 'Use the provided tools whenever they are relevant.',
103
+ });
104
+
105
+ console.log(result.text);
106
+ await sdk.close();
107
+ ```
108
+
109
+ ## Core Examples
110
+
111
+ ### Session Example
112
+
113
+ ```ts
114
+ import { createAgentSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
115
+
116
+ await loadDefaultActoviqSettings();
117
+ const sdk = await createAgentSdk();
118
+ const session = await sdk.createSession({ title: 'Demo Session' });
119
+
120
+ await session.send('Remember that my project codename is Sparrow.');
121
+ const reply = await session.send('What is my project codename?');
122
+
123
+ console.log(reply.text);
124
+ ```
125
+
126
+ ### Stream Loop Example
127
+
128
+ ```ts
129
+ import { createAgentSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
130
+
131
+ await loadDefaultActoviqSettings();
132
+ const sdk = await createAgentSdk();
133
+
134
+ const prompts = [
135
+ 'Introduce yourself in one concise sentence.',
136
+ 'Now summarize the key idea of your previous sentence in one sentence.',
137
+ 'Finally, give two short suggestions that would help a developer call this SDK more reliably.',
138
+ ];
139
+
140
+ const session = await sdk.createSession({ title: 'Stream Loop Example' });
141
+
142
+ for (const prompt of prompts) {
143
+ const stream = session.stream(prompt);
144
+
145
+ for await (const event of stream) {
146
+ if (event.type === 'response.text.delta') {
147
+ process.stdout.write(event.delta);
148
+ }
149
+ }
150
+
151
+ const result = await stream.result;
152
+ console.log('\nfinal:', result.text);
153
+ }
154
+
155
+ await sdk.close();
156
+ ```
157
+
158
+ ## Interactive Agent Demo
159
+
160
+ The repository includes a bridge-based interactive example with:
161
+
162
+ - streaming answers
163
+ - built-in tool access
164
+ - skills and subagents through the vendored runtime
165
+ - a configurable workspace path in code
166
+ - an explicit JSON config path in code
167
+ - an infinite REPL loop until the user exits
168
+
169
+ Run it with:
170
+
171
+ ```bash
172
+ npm run example:actoviq-interactive-agent
173
+ ```
174
+
175
+ The main knobs are defined at the top of
176
+ [`examples/actoviq-interactive-agent.ts`](./examples/actoviq-interactive-agent.ts):
177
+
178
+ ```ts
179
+ const WORKSPACE_PATH = process.cwd();
180
+ const JSON_CONFIG_PATH = path.resolve(
181
+ process.cwd(),
182
+ 'examples',
183
+ 'interactive-agent.settings.local.json',
184
+ );
185
+ ```
186
+
187
+ The repository includes:
188
+
189
+ - [`examples/interactive-agent.settings.example.json`](./examples/interactive-agent.settings.example.json): safe template
190
+ - `examples/interactive-agent.settings.local.json`: local debug file for your machine only
191
+
192
+ The local debug file is ignored by git.
193
+
194
+ ## Runtime Bridge
195
+
196
+ You can also run the vendored non-TUI Actoviq Runtime directly from this SDK.
197
+ This bridge reuses the upstream headless CLI, so it brings along the built-in
198
+ tool pool, skills, subagents, and native session/context behavior.
199
+
200
+ ```ts
201
+ import { createActoviqBridgeSdk, loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
202
+
203
+ await loadDefaultActoviqSettings();
204
+
205
+ const sdk = await createActoviqBridgeSdk({
206
+ workDir: process.cwd(),
207
+ maxTurns: 4,
208
+ });
209
+
210
+ const result = await sdk.run(
211
+ 'Use Actoviq Runtime tools to inspect the examples directory, then summarize examples/quickstart.ts.',
212
+ );
213
+
214
+ console.log(result.initEvent?.agents);
215
+ console.log(result.initEvent?.skills);
216
+ console.log(result.sessionId);
217
+ console.log(result.text);
218
+ console.log(result.events.length);
219
+ ```
220
+
221
+ Bridge notes:
222
+
223
+ - It uses Bun to execute the vendored Actoviq Runtime CLI bundle.
224
+ - It automatically injects env values loaded by `loadJsonConfigFile(...)` or `loadDefaultActoviqSettings()`.
225
+ - When a system `rg` is available, the bridge prefers it automatically so `Glob` and `Grep` work even if the upstream checkout does not contain the bundled ripgrep binary.
226
+
227
+ ## Runtime Introspection
228
+
229
+ Use the runtime introspection example when you want to inspect the currently loaded bridge runtime instead of chatting with it.
230
+
231
+ Run it with:
232
+
233
+ ```bash
234
+ npm run example:actoviq-introspection
235
+ ```
236
+
237
+ It prints:
238
+
239
+ - runtime model
240
+ - built-in tools
241
+ - loaded skills
242
+ - slash commands
243
+ - available agents
244
+ - current context usage
245
+
246
+ ## File Tools
247
+
248
+ You can attach the first-stage Actoviq Runtime parity file tools directly to the SDK:
249
+
250
+ ```ts
251
+ import {
252
+ createAgentSdk,
253
+ createActoviqFileTools,
254
+ loadDefaultActoviqSettings,
255
+ } from 'actoviq-agent-sdk';
256
+
257
+ await loadDefaultActoviqSettings();
258
+
259
+ const sdk = await createAgentSdk({
260
+ tools: createActoviqFileTools({
261
+ cwd: process.cwd(),
262
+ }),
263
+ });
264
+
265
+ const result = await sdk.run(
266
+ 'Use Glob to inspect the examples directory, then use Read on examples/quickstart.ts.',
267
+ );
268
+
269
+ console.log(result.text);
270
+ console.log(result.toolCalls);
271
+ ```
272
+
273
+ Current parity file tools:
274
+
275
+ - `Read`
276
+ - `Write`
277
+ - `Edit`
278
+ - `Glob`
279
+ - `Grep`
280
+
281
+ ## Native Runtime Sessions
282
+
283
+ You can inspect Actoviq Runtime's native `.actoviq/projects` session store using the vendored portable session discovery logic.
284
+
285
+ ```ts
286
+ import { listActoviqBridgeSessions } from 'actoviq-agent-sdk';
287
+
288
+ const sessions = await listActoviqBridgeSessions({ limit: 10 });
289
+ console.log(sessions);
290
+ ```
291
+
292
+ To inspect the latest reconstructed conversation chain for a session:
293
+
294
+ ```ts
295
+ import {
296
+ getActoviqBridgeSessionInfo,
297
+ getActoviqBridgeSessionMessages,
298
+ } from 'actoviq-agent-sdk';
299
+
300
+ const sessionId = 'your-session-id';
301
+
302
+ const info = await getActoviqBridgeSessionInfo(sessionId);
303
+ const messages = await getActoviqBridgeSessionMessages(sessionId);
304
+
305
+ console.log(info);
306
+ console.log(messages);
307
+ ```
308
+
309
+ ## Configuration
310
+
311
+ The SDK resolves credentials in this order:
312
+
313
+ 1. Explicit options passed to `createAgentSdk()`
314
+ 2. Process environment variables
315
+ 3. A JSON file preloaded with `loadJsonConfigFile(...)`
316
+
317
+ Example:
318
+
319
+ ```ts
320
+ import { loadJsonConfigFile } from 'actoviq-agent-sdk';
321
+
322
+ await loadJsonConfigFile('E:/configs/my-llm-config.json');
323
+ ```
324
+
325
+ The JSON file can use either of these shapes:
326
+
327
+ ```json
328
+ {
329
+ "env": {
330
+ "ACTOVIQ_AUTH_TOKEN": "token",
331
+ "ACTOVIQ_BASE_URL": "https://api.example.com/actoviq",
332
+ "ACTOVIQ_DEFAULT_SONNET_MODEL": "my-model"
333
+ }
334
+ }
335
+ ```
336
+
337
+ or:
338
+
339
+ ```json
340
+ {
341
+ "ACTOVIQ_AUTH_TOKEN": "token",
342
+ "ACTOVIQ_BASE_URL": "https://api.example.com/actoviq",
343
+ "ACTOVIQ_DEFAULT_SONNET_MODEL": "my-model"
344
+ }
345
+ ```
346
+
347
+ Supported values include:
348
+
349
+ - `ACTOVIQ_API_KEY`
350
+ - `ACTOVIQ_AUTH_TOKEN`
351
+ - `ACTOVIQ_BASE_URL`
352
+ - `ACTOVIQ_MODEL`
353
+ - `ACTOVIQ_DEFAULT_SONNET_MODEL`
354
+ - `ACTOVIQ_DEFAULT_OPUS_MODEL`
355
+ - `ACTOVIQ_DEFAULT_HAIKU_MODEL`
356
+
357
+ For local examples and smoke tests, you can also use:
358
+
359
+ ```ts
360
+ import { loadDefaultActoviqSettings } from 'actoviq-agent-sdk';
361
+
362
+ await loadDefaultActoviqSettings();
363
+ ```
364
+
365
+ This helper reads:
366
+
367
+ 1. `~/.actoviq/settings.json`
368
+
369
+ ## MCP Helpers
370
+
371
+ ```ts
372
+ import { createAgentSdk, loadDefaultActoviqSettings, stdioMcpServer } from 'actoviq-agent-sdk';
373
+
374
+ await loadDefaultActoviqSettings();
375
+
376
+ const sdk = await createAgentSdk({
377
+ mcpServers: [
378
+ stdioMcpServer({
379
+ name: 'filesystem',
380
+ command: 'npx',
381
+ args: ['-y', '@modelcontextprotocol/server-filesystem', '.'],
382
+ }),
383
+ ],
384
+ });
385
+ ```
386
+
387
+ ## Status and Roadmap
388
+
389
+ This project is still moving quickly. For the current GitHub-facing parity and follow-up worklist, see:
390
+
391
+ - [ACTOVIQ_AGENT_WORKLIST.md](./ACTOVIQ_AGENT_WORKLIST.md)
392
+
393
+ ## Local Development
394
+
395
+ ```bash
396
+ npm run typecheck
397
+ npm test
398
+ npm run build
399
+ npm run smoke
400
+ npm run example:quickstart
401
+ npm run example:session
402
+ npm run example:stream-loop
403
+ npm run example:actoviq-bridge-sdk
404
+ npm run example:actoviq-interactive-agent
405
+ npm run example:actoviq-introspection
406
+ npm run example:actoviq-file-tools
407
+ npm run example:actoviq-sessions
408
+ npm run example:actoviq-session-messages
409
+ ```
410
+
411
+ `npm run smoke` loads `~/.actoviq/settings.json` and validates a live request.
412
+
413
+ ## Contributing
414
+
415
+ This is still a fast-moving preview project. If you hit problems, see missing parity, or want to propose a cleaner API, please open an issue or submit a PR.
@@ -0,0 +1,8 @@
1
+ import type { ActoviqSettingsData } from '../types.js';
2
+ import { clearLoadedJsonConfig, getLoadedJsonConfig } from './loadJsonConfigFile.js';
3
+ export interface LoadActoviqSettingsOptions {
4
+ settingsFile?: string;
5
+ }
6
+ export declare function loadActoviqSettings(options: string | LoadActoviqSettingsOptions): Promise<ActoviqSettingsData>;
7
+ export { clearLoadedJsonConfig, getLoadedJsonConfig };
8
+ //# sourceMappingURL=loadActoviqSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadActoviqSettings.d.ts","sourceRoot":"","sources":["../../../src/config/loadActoviqSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GAAG,0BAA0B,GAC3C,OAAO,CAAC,mBAAmB,CAAC,CAW9B;AAED,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ConfigurationError } from '../errors.js';
2
+ import { clearLoadedJsonConfig, getLoadedJsonConfig, loadJsonConfigFile, } from './loadJsonConfigFile.js';
3
+ export async function loadActoviqSettings(options) {
4
+ const settingsFile = typeof options === 'string' ? options : options.settingsFile;
5
+ if (!settingsFile) {
6
+ throw new ConfigurationError('loadActoviqSettings now requires an explicit settingsFile path.');
7
+ }
8
+ return loadJsonConfigFile(settingsFile);
9
+ }
10
+ export { clearLoadedJsonConfig, getLoadedJsonConfig };
11
+ //# sourceMappingURL=loadActoviqSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadActoviqSettings.js","sourceRoot":"","sources":["../../../src/config/loadActoviqSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA4C;IAE5C,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAE/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,kBAAkB,CAC1B,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { LoadedJsonConfigData } from '../types.js';
2
+ export interface LoadDefaultActoviqSettingsOptions {
3
+ homeDir?: string;
4
+ candidates?: string[];
5
+ }
6
+ export declare function loadDefaultActoviqSettings(options?: LoadDefaultActoviqSettingsOptions): Promise<LoadedJsonConfigData>;
7
+ //# sourceMappingURL=loadDefaultActoviqSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadDefaultActoviqSettings.d.ts","sourceRoot":"","sources":["../../../src/config/loadDefaultActoviqSettings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,iCAAiC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAWD,wBAAsB,0BAA0B,CAC9C,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,oBAAoB,CAAC,CAe/B"}
@@ -0,0 +1,27 @@
1
+ import { constants as fsConstants } from 'node:fs';
2
+ import { access } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { ConfigurationError } from '../errors.js';
6
+ import { loadJsonConfigFile } from './loadJsonConfigFile.js';
7
+ async function pathExists(filePath) {
8
+ try {
9
+ await access(filePath, fsConstants.F_OK);
10
+ return true;
11
+ }
12
+ catch {
13
+ return false;
14
+ }
15
+ }
16
+ export async function loadDefaultActoviqSettings(options = {}) {
17
+ const homeDir = options.homeDir ?? os.homedir();
18
+ const candidates = options.candidates ??
19
+ [path.join(homeDir, '.actoviq', 'settings.json')];
20
+ for (const candidate of candidates) {
21
+ if (await pathExists(candidate)) {
22
+ return loadJsonConfigFile(candidate);
23
+ }
24
+ }
25
+ throw new ConfigurationError(`No default settings file was found. Checked: ${candidates.map((candidate) => `"${candidate}"`).join(', ')}`);
26
+ }
27
+ //# sourceMappingURL=loadDefaultActoviqSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadDefaultActoviqSettings.js","sourceRoot":"","sources":["../../../src/config/loadDefaultActoviqSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAA6C,EAAE;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAChD,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;QAClB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAEpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,kBAAkB,CAC1B,gDAAgD,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { LoadedJsonConfigData } from '../types.js';
2
+ export interface LoadJsonConfigFileOptions {
3
+ filePath: string;
4
+ }
5
+ export declare function loadJsonConfigFile(filePathOrOptions: string | LoadJsonConfigFileOptions): Promise<LoadedJsonConfigData>;
6
+ export declare function getLoadedJsonConfig(): LoadedJsonConfigData | null;
7
+ export declare function clearLoadedJsonConfig(): void;
8
+ //# sourceMappingURL=loadJsonConfigFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadJsonConfigFile.d.ts","sourceRoot":"","sources":["../../../src/config/loadJsonConfigFile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,kBAAkB,CACtC,iBAAiB,EAAE,MAAM,GAAG,yBAAyB,GACpD,OAAO,CAAC,oBAAoB,CAAC,CAkC/B;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -0,0 +1,48 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { ConfigurationError } from '../errors.js';
3
+ import { isRecord } from '../runtime/helpers.js';
4
+ let loadedJsonConfig = null;
5
+ export async function loadJsonConfigFile(filePathOrOptions) {
6
+ const filePath = typeof filePathOrOptions === 'string'
7
+ ? filePathOrOptions
8
+ : filePathOrOptions.filePath;
9
+ if (!filePath) {
10
+ throw new ConfigurationError('A JSON config file path is required.');
11
+ }
12
+ try {
13
+ const rawText = await readFile(filePath, 'utf8');
14
+ const parsed = rawText.trim().length > 0 ? JSON.parse(rawText) : {};
15
+ if (!isRecord(parsed)) {
16
+ throw new ConfigurationError(`JSON config at "${filePath}" must contain a JSON object.`);
17
+ }
18
+ loadedJsonConfig = {
19
+ path: filePath,
20
+ exists: true,
21
+ env: extractEnv(parsed),
22
+ permissions: isRecord(parsed.permissions) ? parsed.permissions : undefined,
23
+ raw: parsed,
24
+ };
25
+ return structuredClone(loadedJsonConfig);
26
+ }
27
+ catch (error) {
28
+ if (error instanceof SyntaxError) {
29
+ throw new ConfigurationError(`Failed to parse JSON config at "${filePath}".`, {
30
+ cause: error,
31
+ });
32
+ }
33
+ throw error;
34
+ }
35
+ }
36
+ export function getLoadedJsonConfig() {
37
+ return loadedJsonConfig ? structuredClone(loadedJsonConfig) : null;
38
+ }
39
+ export function clearLoadedJsonConfig() {
40
+ loadedJsonConfig = null;
41
+ }
42
+ function extractEnv(parsed) {
43
+ if (isRecord(parsed.env)) {
44
+ return Object.fromEntries(Object.entries(parsed.env).filter((entry) => typeof entry[1] === 'string'));
45
+ }
46
+ return Object.fromEntries(Object.entries(parsed).filter((entry) => /^[A-Z0-9_]+$/.test(entry[0]) && typeof entry[1] === 'string'));
47
+ }
48
+ //# sourceMappingURL=loadJsonConfigFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadJsonConfigFile.js","sourceRoot":"","sources":["../../../src/config/loadJsonConfigFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,IAAI,gBAAgB,GAAgC,IAAI,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,iBAAqD;IAErD,MAAM,QAAQ,GACZ,OAAO,iBAAiB,KAAK,QAAQ;QACnC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC;IAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,QAAQ,+BAA+B,CAAC,CAAC;QAC3F,CAAC;QAED,gBAAgB,GAAG;YACjB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,GAAG,EAAE,MAAM;SACZ,CAAC;QAEF,OAAO,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,QAAQ,IAAI,EAAE;gBAC5E,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B;IACjD,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAC/B,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CACnE,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC3B,CAAC,KAAK,EAA6B,EAAE,CACnC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAChE,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CreateAgentSdkOptions, ResolvedRuntimeConfig } from '../types.js';
2
+ export declare function resolveRuntimeConfig(options?: CreateAgentSdkOptions): Promise<ResolvedRuntimeConfig>;
3
+ //# sourceMappingURL=resolveRuntimeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRuntimeConfig.d.ts","sourceRoot":"","sources":["../../../src/config/resolveRuntimeConfig.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAuBhF,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAqEhC"}
@@ -0,0 +1,64 @@
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ import { ConfigurationError } from '../errors.js';
4
+ import { getLoadedJsonConfig } from './loadJsonConfigFile.js';
5
+ const LEGACY_ENV_KEYS = {
6
+ apiKey: ['ANTH', 'ROPIC_API_KEY'].join(''),
7
+ authToken: ['ANTH', 'ROPIC_AUTH_TOKEN'].join(''),
8
+ model: ['ANTH', 'ROPIC_MODEL'].join(''),
9
+ baseUrl: ['ANTH', 'ROPIC_BASE_URL'].join(''),
10
+ defaultSonnetModel: ['ANTH', 'ROPIC_DEFAULT_SONNET_MODEL'].join(''),
11
+ defaultOpusModel: ['ANTH', 'ROPIC_DEFAULT_OPUS_MODEL'].join(''),
12
+ defaultHaikuModel: ['ANTH', 'ROPIC_DEFAULT_HAIKU_MODEL'].join(''),
13
+ };
14
+ const FALLBACK_MODEL = ['cl', 'aude-sonnet-4-5-20250929'].join('');
15
+ function getConfigValue(source, primaryKey, legacyKey) {
16
+ return source[primaryKey] ?? (legacyKey ? source[legacyKey] : undefined);
17
+ }
18
+ export async function resolveRuntimeConfig(options = {}) {
19
+ const homeDir = options.homeDir ?? os.homedir();
20
+ const loadedConfig = getLoadedJsonConfig();
21
+ const envFromLoadedConfig = loadedConfig?.env ?? {};
22
+ const envFromProcess = process.env;
23
+ const apiKey = options.apiKey ??
24
+ getConfigValue(envFromProcess, 'ACTOVIQ_API_KEY', LEGACY_ENV_KEYS.apiKey) ??
25
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_API_KEY', LEGACY_ENV_KEYS.apiKey);
26
+ const authToken = options.authToken ??
27
+ getConfigValue(envFromProcess, 'ACTOVIQ_AUTH_TOKEN', LEGACY_ENV_KEYS.authToken) ??
28
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_AUTH_TOKEN', LEGACY_ENV_KEYS.authToken);
29
+ if (!options.modelApi && !apiKey && !authToken) {
30
+ throw new ConfigurationError(loadedConfig
31
+ ? `No Actoviq credential was found. Checked process.env and "${loadedConfig.path}".`
32
+ : 'No Actoviq credential was found. Checked process.env and the preloaded JSON config. Call loadJsonConfigFile(...) before createAgentSdk() if you want to use a JSON file.');
33
+ }
34
+ const model = options.model ??
35
+ getConfigValue(envFromProcess, 'ACTOVIQ_MODEL', LEGACY_ENV_KEYS.model) ??
36
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_MODEL', LEGACY_ENV_KEYS.model) ??
37
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_DEFAULT_SONNET_MODEL', LEGACY_ENV_KEYS.defaultSonnetModel) ??
38
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_DEFAULT_OPUS_MODEL', LEGACY_ENV_KEYS.defaultOpusModel) ??
39
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_DEFAULT_HAIKU_MODEL', LEGACY_ENV_KEYS.defaultHaikuModel) ??
40
+ FALLBACK_MODEL;
41
+ return {
42
+ homeDir,
43
+ loadedConfigPath: loadedConfig?.path,
44
+ apiKey,
45
+ authToken,
46
+ baseURL: options.baseURL ??
47
+ getConfigValue(envFromProcess, 'ACTOVIQ_BASE_URL', LEGACY_ENV_KEYS.baseUrl) ??
48
+ getConfigValue(envFromLoadedConfig, 'ACTOVIQ_BASE_URL', LEGACY_ENV_KEYS.baseUrl),
49
+ model,
50
+ maxTokens: options.maxTokens ?? 2048,
51
+ temperature: options.temperature,
52
+ timeoutMs: options.timeoutMs ?? 120000,
53
+ maxRetries: options.maxRetries ?? 2,
54
+ workDir: options.workDir ?? process.cwd(),
55
+ sessionDirectory: options.sessionDirectory ?? path.join(homeDir, '.actoviq', 'actoviq-agent-sdk'),
56
+ clientName: options.clientName ?? 'actoviq-agent-sdk',
57
+ clientVersion: options.clientVersion ?? '0.1.0',
58
+ systemPrompt: options.systemPrompt,
59
+ maxToolIterations: options.maxToolIterations ?? 12,
60
+ userId: options.userId,
61
+ metadata: { ...(options.metadata ?? {}) },
62
+ };
63
+ }
64
+ //# sourceMappingURL=resolveRuntimeConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRuntimeConfig.js","sourceRoot":"","sources":["../../../src/config/resolveRuntimeConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare class ActoviqSdkError extends Error {
2
+ readonly code: string;
3
+ constructor(message: string, code?: string, options?: {
4
+ cause?: unknown;
5
+ });
6
+ }
7
+ export declare class ConfigurationError extends ActoviqSdkError {
8
+ constructor(message: string, options?: {
9
+ cause?: unknown;
10
+ });
11
+ }
12
+ export declare class SessionNotFoundError extends ActoviqSdkError {
13
+ constructor(sessionId: string);
14
+ }
15
+ export declare class ToolExecutionError extends ActoviqSdkError {
16
+ readonly toolName: string;
17
+ constructor(toolName: string, message: string, options?: {
18
+ cause?: unknown;
19
+ });
20
+ }
21
+ export declare class RunAbortedError extends ActoviqSdkError {
22
+ constructor(message?: string, options?: {
23
+ cause?: unknown;
24
+ });
25
+ }
26
+ export declare class ActoviqBridgeProcessError extends ActoviqSdkError {
27
+ readonly stderr?: string;
28
+ readonly exitCode?: number | null;
29
+ constructor(message: string, options?: {
30
+ cause?: unknown;
31
+ stderr?: string;
32
+ exitCode?: number | null;
33
+ });
34
+ }
35
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,SAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKvF;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAG3D;AAED,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,SAAS,EAAE,MAAM;CAG9B;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI7E;AAED,qBAAa,eAAgB,SAAQ,eAAe;gBACtC,OAAO,SAAyB,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAG5E;AAED,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAM3E"}