actoviq-agent-sdk 0.3.0 → 0.4.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.
- package/README-zh.md +37 -2
- package/README.md +37 -2
- package/bin/actoviq-tui.js +5 -0
- package/dist/src/cli/actoviq-react.js +93 -13
- package/dist/src/cli/actoviq-react.js.map +1 -1
- package/dist/src/cli/actoviq-tui.d.ts +3 -0
- package/dist/src/cli/actoviq-tui.d.ts.map +1 -0
- package/dist/src/cli/actoviq-tui.js +76 -0
- package/dist/src/cli/actoviq-tui.js.map +1 -0
- package/dist/src/config/actoviqSettingsStore.d.ts.map +1 -1
- package/dist/src/config/actoviqSettingsStore.js +8 -2
- package/dist/src/config/actoviqSettingsStore.js.map +1 -1
- package/dist/src/config/anthropicEnvMapping.d.ts +18 -0
- package/dist/src/config/anthropicEnvMapping.d.ts.map +1 -0
- package/dist/src/config/anthropicEnvMapping.js +49 -0
- package/dist/src/config/anthropicEnvMapping.js.map +1 -0
- package/dist/src/config/modelTiers.d.ts +12 -0
- package/dist/src/config/modelTiers.d.ts.map +1 -0
- package/dist/src/config/modelTiers.js +31 -0
- package/dist/src/config/modelTiers.js.map +1 -0
- package/dist/src/config/projectSessionDirectory.d.ts +8 -0
- package/dist/src/config/projectSessionDirectory.d.ts.map +1 -0
- package/dist/src/config/projectSessionDirectory.js +83 -0
- package/dist/src/config/projectSessionDirectory.js.map +1 -0
- package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
- package/dist/src/config/resolveRuntimeConfig.js +73 -21
- package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/connectionManager.d.ts.map +1 -1
- package/dist/src/mcp/connectionManager.js +10 -1
- package/dist/src/mcp/connectionManager.js.map +1 -1
- package/dist/src/memory/actoviqMemory.d.ts.map +1 -1
- package/dist/src/memory/actoviqMemory.js +10 -6
- package/dist/src/memory/actoviqMemory.js.map +1 -1
- package/dist/src/memory/actoviqTranscriptLogger.d.ts.map +1 -1
- package/dist/src/memory/actoviqTranscriptLogger.js +2 -2
- package/dist/src/memory/actoviqTranscriptLogger.js.map +1 -1
- package/dist/src/parity/actoviqBridgeEvents.d.ts.map +1 -1
- package/dist/src/parity/actoviqBridgeEvents.js +4 -2
- package/dist/src/parity/actoviqBridgeEvents.js.map +1 -1
- package/dist/src/parity/actoviqBridgeSdk.d.ts.map +1 -1
- package/dist/src/parity/actoviqBridgeSdk.js +9 -1
- package/dist/src/parity/actoviqBridgeSdk.js.map +1 -1
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.d.ts +277 -0
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.d.ts.map +1 -0
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.js +1395 -0
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.js.map +1 -0
- package/dist/src/parity/portableSessions.d.ts.map +1 -1
- package/dist/src/parity/portableSessions.js +6 -2
- package/dist/src/parity/portableSessions.js.map +1 -1
- package/dist/src/provider/client.d.ts +5 -0
- package/dist/src/provider/client.d.ts.map +1 -1
- package/dist/src/provider/client.js +82 -8
- package/dist/src/provider/client.js.map +1 -1
- package/dist/src/provider/openai-client.d.ts.map +1 -1
- package/dist/src/provider/openai-client.js +43 -4
- package/dist/src/provider/openai-client.js.map +1 -1
- package/dist/src/provider/openai-model-api.d.ts.map +1 -1
- package/dist/src/provider/openai-model-api.js +3 -0
- package/dist/src/provider/openai-model-api.js.map +1 -1
- package/dist/src/provider/openai-types.d.ts +1 -0
- package/dist/src/provider/openai-types.d.ts.map +1 -1
- package/dist/src/runtime/actoviqAgentDefinitions.d.ts +8 -0
- package/dist/src/runtime/actoviqAgentDefinitions.d.ts.map +1 -0
- package/dist/src/runtime/actoviqAgentDefinitions.js +165 -0
- package/dist/src/runtime/actoviqAgentDefinitions.js.map +1 -0
- package/dist/src/runtime/actoviqAgents.d.ts +26 -2
- package/dist/src/runtime/actoviqAgents.d.ts.map +1 -1
- package/dist/src/runtime/actoviqAgents.js +237 -26
- package/dist/src/runtime/actoviqAgents.js.map +1 -1
- package/dist/src/runtime/actoviqApiMicrocompact.d.ts +14 -0
- package/dist/src/runtime/actoviqApiMicrocompact.d.ts.map +1 -1
- package/dist/src/runtime/actoviqApiMicrocompact.js +102 -0
- package/dist/src/runtime/actoviqApiMicrocompact.js.map +1 -1
- package/dist/src/runtime/actoviqBackgroundTasks.d.ts +15 -1
- package/dist/src/runtime/actoviqBackgroundTasks.d.ts.map +1 -1
- package/dist/src/runtime/actoviqBackgroundTasks.js +72 -10
- package/dist/src/runtime/actoviqBackgroundTasks.js.map +1 -1
- package/dist/src/runtime/actoviqCompact.d.ts +59 -0
- package/dist/src/runtime/actoviqCompact.d.ts.map +1 -1
- package/dist/src/runtime/actoviqCompact.js +344 -15
- package/dist/src/runtime/actoviqCompact.js.map +1 -1
- package/dist/src/runtime/actoviqModelApi.d.ts.map +1 -1
- package/dist/src/runtime/actoviqModelApi.js +20 -4
- package/dist/src/runtime/actoviqModelApi.js.map +1 -1
- package/dist/src/runtime/actoviqPermissions.d.ts +5 -2
- package/dist/src/runtime/actoviqPermissions.d.ts.map +1 -1
- package/dist/src/runtime/actoviqPermissions.js +91 -202
- package/dist/src/runtime/actoviqPermissions.js.map +1 -1
- package/dist/src/runtime/actoviqSessionPermissions.d.ts +5 -0
- package/dist/src/runtime/actoviqSessionPermissions.d.ts.map +1 -0
- package/dist/src/runtime/actoviqSessionPermissions.js +44 -0
- package/dist/src/runtime/actoviqSessionPermissions.js.map +1 -0
- package/dist/src/runtime/agentClient.d.ts +37 -3
- package/dist/src/runtime/agentClient.d.ts.map +1 -1
- package/dist/src/runtime/agentClient.js +1112 -100
- package/dist/src/runtime/agentClient.js.map +1 -1
- package/dist/src/runtime/agentSession.d.ts +8 -5
- package/dist/src/runtime/agentSession.d.ts.map +1 -1
- package/dist/src/runtime/agentSession.js +11 -4
- package/dist/src/runtime/agentSession.js.map +1 -1
- package/dist/src/runtime/conversationEngine.d.ts +2 -0
- package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
- package/dist/src/runtime/conversationEngine.js +575 -36
- package/dist/src/runtime/conversationEngine.js.map +1 -1
- package/dist/src/runtime/defaultActoviqAgents.d.ts +3 -0
- package/dist/src/runtime/defaultActoviqAgents.d.ts.map +1 -0
- package/dist/src/runtime/defaultActoviqAgents.js +85 -0
- package/dist/src/runtime/defaultActoviqAgents.js.map +1 -0
- package/dist/src/runtime/safetyChecks.d.ts.map +1 -1
- package/dist/src/runtime/safetyChecks.js +15 -9
- package/dist/src/runtime/safetyChecks.js.map +1 -1
- package/dist/src/runtime/sessionManager.d.ts.map +1 -1
- package/dist/src/runtime/sessionManager.js +10 -5
- package/dist/src/runtime/sessionManager.js.map +1 -1
- package/dist/src/runtime/tools.d.ts.map +1 -1
- package/dist/src/runtime/tools.js +1 -0
- package/dist/src/runtime/tools.js.map +1 -1
- package/dist/src/scheduling/cron.d.ts.map +1 -1
- package/dist/src/scheduling/cron.js +3 -1
- package/dist/src/scheduling/cron.js.map +1 -1
- package/dist/src/storage/backgroundTaskStore.d.ts.map +1 -1
- package/dist/src/storage/backgroundTaskStore.js +3 -2
- package/dist/src/storage/backgroundTaskStore.js.map +1 -1
- package/dist/src/storage/mailboxStore.d.ts.map +1 -1
- package/dist/src/storage/mailboxStore.js +3 -3
- package/dist/src/storage/mailboxStore.js.map +1 -1
- package/dist/src/storage/pathSafety.d.ts +4 -0
- package/dist/src/storage/pathSafety.d.ts.map +1 -0
- package/dist/src/storage/pathSafety.js +28 -0
- package/dist/src/storage/pathSafety.js.map +1 -0
- package/dist/src/storage/sessionStore.d.ts +2 -2
- package/dist/src/storage/sessionStore.d.ts.map +1 -1
- package/dist/src/storage/sessionStore.js +23 -8
- package/dist/src/storage/sessionStore.js.map +1 -1
- package/dist/src/storage/teammateStore.d.ts.map +1 -1
- package/dist/src/storage/teammateStore.js +3 -2
- package/dist/src/storage/teammateStore.js.map +1 -1
- package/dist/src/swarm/actoviqSwarm.d.ts.map +1 -1
- package/dist/src/swarm/actoviqSwarm.js +6 -6
- package/dist/src/swarm/actoviqSwarm.js.map +1 -1
- package/dist/src/tools/actoviqCoreTools.d.ts +7 -2
- package/dist/src/tools/actoviqCoreTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqCoreTools.js +2 -2
- package/dist/src/tools/actoviqCoreTools.js.map +1 -1
- package/dist/src/tools/actoviqFileTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqFileTools.js +16 -5
- package/dist/src/tools/actoviqFileTools.js.map +1 -1
- package/dist/src/tools/actoviqNotebookEdit.d.ts.map +1 -1
- package/dist/src/tools/actoviqNotebookEdit.js +121 -4
- package/dist/src/tools/actoviqNotebookEdit.js.map +1 -1
- package/dist/src/tools/actoviqShellTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqShellTools.js +38 -9
- package/dist/src/tools/actoviqShellTools.js.map +1 -1
- package/dist/src/tools/actoviqWebTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqWebTools.js +50 -18
- package/dist/src/tools/actoviqWebTools.js.map +1 -1
- package/dist/src/tools/bash/BashTool.d.ts.map +1 -1
- package/dist/src/tools/bash/BashTool.js +47 -14
- package/dist/src/tools/bash/BashTool.js.map +1 -1
- package/dist/src/tools/todo/TodoWriteTool.d.ts +14 -0
- package/dist/src/tools/todo/TodoWriteTool.d.ts.map +1 -1
- package/dist/src/tools/todo/TodoWriteTool.js +45 -2
- package/dist/src/tools/todo/TodoWriteTool.js.map +1 -1
- package/dist/src/tui/actoviqTui.d.ts +13 -0
- package/dist/src/tui/actoviqTui.d.ts.map +1 -0
- package/dist/src/tui/actoviqTui.js +1594 -0
- package/dist/src/tui/actoviqTui.js.map +1 -0
- package/dist/src/tui/ansi.d.ts +33 -0
- package/dist/src/tui/ansi.d.ts.map +1 -0
- package/dist/src/tui/ansi.js +127 -0
- package/dist/src/tui/ansi.js.map +1 -0
- package/dist/src/tui/editor.d.ts +56 -0
- package/dist/src/tui/editor.d.ts.map +1 -0
- package/dist/src/tui/editor.js +253 -0
- package/dist/src/tui/editor.js.map +1 -0
- package/dist/src/tui/pluginCatalog.d.ts +13 -0
- package/dist/src/tui/pluginCatalog.d.ts.map +1 -0
- package/dist/src/tui/pluginCatalog.js +78 -0
- package/dist/src/tui/pluginCatalog.js.map +1 -0
- package/dist/src/tui/screen.d.ts +28 -0
- package/dist/src/tui/screen.d.ts.map +1 -0
- package/dist/src/tui/screen.js +119 -0
- package/dist/src/tui/screen.js.map +1 -0
- package/dist/src/tui/selection.d.ts +9 -0
- package/dist/src/tui/selection.d.ts.map +1 -0
- package/dist/src/tui/selection.js +16 -0
- package/dist/src/tui/selection.js.map +1 -0
- package/dist/src/tui/transcript.d.ts +41 -0
- package/dist/src/tui/transcript.d.ts.map +1 -0
- package/dist/src/tui/transcript.js +147 -0
- package/dist/src/tui/transcript.js.map +1 -0
- package/dist/src/types.d.ts +233 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/workflow/workflowEngine.js +26 -3
- package/dist/src/workflow/workflowEngine.js.map +1 -1
- package/dist/src/workspace/actoviqWorkspace.d.ts.map +1 -1
- package/dist/src/workspace/actoviqWorkspace.js +25 -2
- package/dist/src/workspace/actoviqWorkspace.js.map +1 -1
- package/package.json +26 -1
package/dist/src/types.d.ts
CHANGED
|
@@ -24,8 +24,17 @@ export interface ToolExecutionContext {
|
|
|
24
24
|
modelApi?: ModelApi;
|
|
25
25
|
model?: string;
|
|
26
26
|
provider?: string;
|
|
27
|
+
effort?: ActoviqEffort;
|
|
27
28
|
}
|
|
28
29
|
export type ActoviqPermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'auto';
|
|
30
|
+
export type ActoviqModelTier = 'min' | 'medium' | 'max';
|
|
31
|
+
export type ActoviqEffort = 'low' | 'medium' | 'high' | 'max';
|
|
32
|
+
export type ActoviqRunEffort = ActoviqEffort | 'auto';
|
|
33
|
+
export interface ActoviqModelTierConfig {
|
|
34
|
+
min?: string;
|
|
35
|
+
medium?: string;
|
|
36
|
+
max?: string;
|
|
37
|
+
}
|
|
29
38
|
export type ActoviqPermissionBehavior = 'allow' | 'deny' | 'ask';
|
|
30
39
|
export interface ActoviqPermissionRule {
|
|
31
40
|
toolName: string;
|
|
@@ -33,6 +42,10 @@ export interface ActoviqPermissionRule {
|
|
|
33
42
|
matcher?: string;
|
|
34
43
|
source?: string;
|
|
35
44
|
}
|
|
45
|
+
export interface ActoviqSessionPermissionState {
|
|
46
|
+
mode?: ActoviqPermissionMode;
|
|
47
|
+
permissions: ActoviqPermissionRule[];
|
|
48
|
+
}
|
|
36
49
|
export interface ActoviqPermissionDecision {
|
|
37
50
|
toolName: string;
|
|
38
51
|
publicName: string;
|
|
@@ -211,6 +224,7 @@ export interface ModelRequest {
|
|
|
211
224
|
context_management?: Record<string, unknown>;
|
|
212
225
|
stop_sequences?: string[];
|
|
213
226
|
extra_tool_schemas?: Record<string, unknown>[];
|
|
227
|
+
effort?: ActoviqEffort;
|
|
214
228
|
signal?: AbortSignal;
|
|
215
229
|
}
|
|
216
230
|
export interface ModelStreamHandle extends AsyncIterable<MessageStreamEvent> {
|
|
@@ -237,6 +251,8 @@ export interface ResolvedToolAdapter {
|
|
|
237
251
|
isDestructive?: (input?: unknown) => boolean;
|
|
238
252
|
requiresUserInteraction?: () => boolean;
|
|
239
253
|
isConcurrencySafe?: () => boolean;
|
|
254
|
+
/** Per-tool result size cap in chars before artifacting to disk. */
|
|
255
|
+
maxResultSizeChars?: number;
|
|
240
256
|
checkPermissions?: (context: {
|
|
241
257
|
mode: ActoviqPermissionMode;
|
|
242
258
|
runId: string;
|
|
@@ -250,6 +266,8 @@ export interface ResolvedRuntimeConfig {
|
|
|
250
266
|
authToken?: string;
|
|
251
267
|
baseURL?: string;
|
|
252
268
|
model: string;
|
|
269
|
+
modelTier?: ActoviqModelTier;
|
|
270
|
+
modelTiers: ActoviqModelTierConfig;
|
|
253
271
|
maxTokens: number;
|
|
254
272
|
temperature?: number;
|
|
255
273
|
timeoutMs: number;
|
|
@@ -259,11 +277,17 @@ export interface ResolvedRuntimeConfig {
|
|
|
259
277
|
clientName: string;
|
|
260
278
|
clientVersion: string;
|
|
261
279
|
systemPrompt?: string;
|
|
280
|
+
/** ReAct loop turn cap. Defaults to Infinity (no cap) like Claude Code's main agent. */
|
|
262
281
|
maxToolIterations: number;
|
|
282
|
+
/** Model switched to after repeated overload/rate-limit failures. */
|
|
283
|
+
fallbackModel?: string;
|
|
284
|
+
/** Add a prompt-cache breakpoint to Anthropic requests. Defaults to true. */
|
|
285
|
+
promptCachingEnabled: boolean;
|
|
263
286
|
userId?: string;
|
|
264
287
|
metadata: Record<string, unknown>;
|
|
265
288
|
compact: ActoviqCompactConfig;
|
|
266
289
|
provider: 'anthropic' | 'openai';
|
|
290
|
+
effort?: ActoviqEffort;
|
|
267
291
|
}
|
|
268
292
|
export interface ActoviqSessionStartHookContext {
|
|
269
293
|
runId: string;
|
|
@@ -338,21 +362,52 @@ export interface ActoviqAgentDefinition {
|
|
|
338
362
|
description: string;
|
|
339
363
|
systemPrompt?: string;
|
|
340
364
|
model?: string;
|
|
365
|
+
effort?: ActoviqRunEffort;
|
|
366
|
+
permissionMode?: ActoviqPermissionMode;
|
|
367
|
+
maxToolIterations?: number;
|
|
368
|
+
maxTurns?: number;
|
|
341
369
|
metadata?: Record<string, unknown>;
|
|
342
370
|
hooks?: ActoviqHooks;
|
|
343
371
|
tools?: AgentToolDefinition[];
|
|
372
|
+
allowedTools?: string[];
|
|
373
|
+
disallowedTools?: string[];
|
|
374
|
+
allowedAgents?: string[];
|
|
375
|
+
skills?: string[];
|
|
344
376
|
mcpServers?: AgentMcpServerDefinition[];
|
|
377
|
+
requiredMcpServers?: string[];
|
|
345
378
|
inheritDefaultTools?: boolean;
|
|
346
379
|
inheritDefaultMcpServers?: boolean;
|
|
380
|
+
initialPrompt?: string;
|
|
381
|
+
memory?: 'user' | 'project' | 'local';
|
|
382
|
+
background?: boolean;
|
|
383
|
+
isolation?: 'worktree';
|
|
384
|
+
cwd?: string;
|
|
385
|
+
allowNestedAgents?: boolean;
|
|
386
|
+
source?: 'built-in' | 'user' | 'project' | 'custom';
|
|
387
|
+
sourcePath?: string;
|
|
347
388
|
}
|
|
348
389
|
export interface ActoviqAgentDefinitionSummary {
|
|
349
390
|
name: string;
|
|
350
391
|
description: string;
|
|
351
392
|
model?: string;
|
|
393
|
+
effort?: ActoviqRunEffort;
|
|
394
|
+
permissionMode?: ActoviqPermissionMode;
|
|
395
|
+
maxToolIterations?: number;
|
|
396
|
+
maxTurns?: number;
|
|
352
397
|
toolNames: string[];
|
|
398
|
+
allowedTools: string[];
|
|
399
|
+
disallowedTools: string[];
|
|
400
|
+
allowedAgents: string[];
|
|
401
|
+
skills: string[];
|
|
353
402
|
mcpServerNames: string[];
|
|
403
|
+
requiredMcpServers: string[];
|
|
354
404
|
inheritDefaultTools: boolean;
|
|
355
405
|
inheritDefaultMcpServers: boolean;
|
|
406
|
+
background: boolean;
|
|
407
|
+
isolation?: 'worktree';
|
|
408
|
+
memory?: 'user' | 'project' | 'local';
|
|
409
|
+
source?: 'built-in' | 'user' | 'project' | 'custom';
|
|
410
|
+
sourcePath?: string;
|
|
356
411
|
metadataKeys: string[];
|
|
357
412
|
hasSystemPrompt: boolean;
|
|
358
413
|
hasHooks: boolean;
|
|
@@ -492,6 +547,7 @@ export interface CreateAgentSdkOptions {
|
|
|
492
547
|
apiKey?: string;
|
|
493
548
|
authToken?: string;
|
|
494
549
|
baseURL?: string;
|
|
550
|
+
/** A full model ID or one of the configured min/medium/max tiers. */
|
|
495
551
|
model?: string;
|
|
496
552
|
maxTokens?: number;
|
|
497
553
|
temperature?: number;
|
|
@@ -502,12 +558,20 @@ export interface CreateAgentSdkOptions {
|
|
|
502
558
|
clientName?: string;
|
|
503
559
|
clientVersion?: string;
|
|
504
560
|
systemPrompt?: string;
|
|
561
|
+
/** Optional ReAct loop turn cap. Unset means unlimited. */
|
|
505
562
|
maxToolIterations?: number;
|
|
563
|
+
fallbackModel?: string;
|
|
564
|
+
promptCachingEnabled?: boolean;
|
|
506
565
|
userId?: string;
|
|
507
566
|
metadata?: Record<string, unknown>;
|
|
508
567
|
tools?: AgentToolDefinition[];
|
|
509
568
|
mcpServers?: AgentMcpServerDefinition[];
|
|
510
569
|
agents?: ActoviqAgentDefinition[];
|
|
570
|
+
agentDirectories?: string[];
|
|
571
|
+
loadDefaultAgentDirectories?: boolean;
|
|
572
|
+
disableDefaultAgents?: boolean;
|
|
573
|
+
maxSubagentDepth?: number;
|
|
574
|
+
maxSubagentFanout?: number;
|
|
511
575
|
skills?: ActoviqSkillDefinition[];
|
|
512
576
|
skillDirectories?: string[];
|
|
513
577
|
disableDefaultSkills?: boolean;
|
|
@@ -520,6 +584,7 @@ export interface CreateAgentSdkOptions {
|
|
|
520
584
|
approver?: ActoviqToolApprover;
|
|
521
585
|
computerUse?: boolean | CreateActoviqComputerUseOptions;
|
|
522
586
|
provider?: 'anthropic' | 'openai';
|
|
587
|
+
effort?: ActoviqEffort;
|
|
523
588
|
modelApi?: ModelApi;
|
|
524
589
|
sessionManager?: SessionManagerConfig;
|
|
525
590
|
}
|
|
@@ -534,8 +599,26 @@ export interface ActoviqCompactConfig {
|
|
|
534
599
|
apiMicrocompactEnabled?: boolean;
|
|
535
600
|
apiMicrocompactMaxInputTokens?: number;
|
|
536
601
|
apiMicrocompactTargetInputTokens?: number;
|
|
602
|
+
apiMicrocompactMaxRequestBytes?: number;
|
|
537
603
|
apiMicrocompactClearToolResults?: boolean;
|
|
538
604
|
apiMicrocompactClearToolUses?: boolean;
|
|
605
|
+
toolResultArtifactMaxChars?: number;
|
|
606
|
+
/**
|
|
607
|
+
* Aggregate budget for all tool_result blocks produced in one iteration
|
|
608
|
+
* (one user message). Largest results are artifacted to disk until the
|
|
609
|
+
* batch fits. Mirrors Claude Code's per-message tool result budget.
|
|
610
|
+
*/
|
|
611
|
+
toolResultsPerMessageMaxChars?: number;
|
|
612
|
+
/**
|
|
613
|
+
* In-loop auto-compact: summarize old conversation turns mid-run when the
|
|
614
|
+
* estimated input tokens approach the model context window. Mirrors
|
|
615
|
+
* Claude Code's per-iteration autocompact. Defaults to true.
|
|
616
|
+
*/
|
|
617
|
+
loopAutoCompactEnabled?: boolean;
|
|
618
|
+
/** Model context window in tokens used to derive the in-loop compact threshold. */
|
|
619
|
+
contextWindowTokens?: number;
|
|
620
|
+
/** Explicit in-loop compact trigger in estimated tokens. Overrides the derived threshold. */
|
|
621
|
+
loopAutoCompactThresholdTokens?: number;
|
|
539
622
|
}
|
|
540
623
|
export type ActoviqWorkspaceKind = 'directory' | 'temp' | 'git-worktree';
|
|
541
624
|
export interface ActoviqWorkspaceInfo {
|
|
@@ -577,6 +660,7 @@ export interface AgentRunOptions {
|
|
|
577
660
|
toolChoice?: ToolChoice;
|
|
578
661
|
userId?: string;
|
|
579
662
|
metadata?: Record<string, unknown>;
|
|
663
|
+
effort?: ActoviqRunEffort;
|
|
580
664
|
hooks?: ActoviqHooks;
|
|
581
665
|
permissionMode?: ActoviqPermissionMode;
|
|
582
666
|
permissions?: ActoviqPermissionRule[];
|
|
@@ -584,11 +668,22 @@ export interface AgentRunOptions {
|
|
|
584
668
|
approver?: ActoviqToolApprover;
|
|
585
669
|
canUseTool?: ActoviqCanUseTool;
|
|
586
670
|
signal?: AbortSignal;
|
|
671
|
+
/**
|
|
672
|
+
* Mid-run steering: called between tool iterations to collect user messages
|
|
673
|
+
* queued while the agent was working. Drained texts are appended to the
|
|
674
|
+
* next tool-result user message so the model sees them on its next request.
|
|
675
|
+
*/
|
|
676
|
+
drainQueuedInputs?: () => string[];
|
|
677
|
+
/** Override the runtime working directory for this run. */
|
|
678
|
+
workDir?: string;
|
|
587
679
|
}
|
|
588
680
|
export interface SessionCreateOptions {
|
|
681
|
+
id?: string;
|
|
589
682
|
title?: string;
|
|
590
683
|
systemPrompt?: string;
|
|
591
684
|
model?: string;
|
|
685
|
+
permissionMode?: ActoviqPermissionMode;
|
|
686
|
+
permissions?: ActoviqPermissionRule[];
|
|
592
687
|
tags?: string[];
|
|
593
688
|
metadata?: Record<string, unknown>;
|
|
594
689
|
initialMessages?: MessageParam[];
|
|
@@ -598,6 +693,17 @@ export interface SessionForkOptions {
|
|
|
598
693
|
tags?: string[];
|
|
599
694
|
metadata?: Record<string, unknown>;
|
|
600
695
|
}
|
|
696
|
+
export interface SessionResumeOptions {
|
|
697
|
+
/** Resume into a new session while preserving the source transcript and runtime state. */
|
|
698
|
+
fork?: boolean;
|
|
699
|
+
title?: string;
|
|
700
|
+
tags?: string[];
|
|
701
|
+
metadata?: Record<string, unknown>;
|
|
702
|
+
/** A full model ID or configured min/medium/max tier. */
|
|
703
|
+
model?: string;
|
|
704
|
+
permissionMode?: ActoviqPermissionMode;
|
|
705
|
+
permissions?: ActoviqPermissionRule[];
|
|
706
|
+
}
|
|
601
707
|
export interface AgentRequestSummary {
|
|
602
708
|
iteration: number;
|
|
603
709
|
messageId: string;
|
|
@@ -606,6 +712,16 @@ export interface AgentRequestSummary {
|
|
|
606
712
|
usage?: Usage;
|
|
607
713
|
text: string;
|
|
608
714
|
createdAt: string;
|
|
715
|
+
requestTokenEstimate?: number;
|
|
716
|
+
requestByteLength?: number;
|
|
717
|
+
localMicrocompact?: {
|
|
718
|
+
enabled: boolean;
|
|
719
|
+
clearedToolResults: number;
|
|
720
|
+
tokenEstimateBefore: number;
|
|
721
|
+
tokenEstimateAfter: number;
|
|
722
|
+
requestByteLengthBefore?: number;
|
|
723
|
+
requestByteLengthAfter?: number;
|
|
724
|
+
};
|
|
609
725
|
}
|
|
610
726
|
export interface AgentToolCallEventPayload {
|
|
611
727
|
id: string;
|
|
@@ -632,6 +748,8 @@ export interface AgentRunResult {
|
|
|
632
748
|
messages: MessageParam[];
|
|
633
749
|
surfacedMemories?: ActoviqSurfacedMemory[];
|
|
634
750
|
stopReason: StopReason | null;
|
|
751
|
+
incompleteReason?: string;
|
|
752
|
+
maxToolIterationsExceeded?: boolean;
|
|
635
753
|
hookStopReason?: string;
|
|
636
754
|
usage?: Usage;
|
|
637
755
|
requests: AgentRequestSummary[];
|
|
@@ -642,8 +760,20 @@ export interface AgentRunResult {
|
|
|
642
760
|
delegatedAgents?: ActoviqDelegatedAgentRecord[];
|
|
643
761
|
invokedSkills?: ActoviqInvokedSkillRecord[];
|
|
644
762
|
reactiveCompact?: ActoviqSessionCompactResult;
|
|
763
|
+
/** Mid-run conversation compactions performed inside the tool loop. */
|
|
764
|
+
loopCompactions?: AgentLoopCompactionRecord[];
|
|
645
765
|
permissionDecisions?: ActoviqPermissionDecision[];
|
|
646
766
|
}
|
|
767
|
+
export interface AgentLoopCompactionRecord {
|
|
768
|
+
trigger: 'auto' | 'reactive';
|
|
769
|
+
iteration: number;
|
|
770
|
+
tokenEstimateBefore: number;
|
|
771
|
+
tokenEstimateAfter: number;
|
|
772
|
+
messagesSummarized: number;
|
|
773
|
+
preservedMessages: number;
|
|
774
|
+
clearedToolResults: number;
|
|
775
|
+
summary?: string;
|
|
776
|
+
}
|
|
647
777
|
export interface ActoviqDreamConfig {
|
|
648
778
|
minHours: number;
|
|
649
779
|
minSessions: number;
|
|
@@ -703,37 +833,54 @@ export interface AgentSessionCompactOptions {
|
|
|
703
833
|
export interface ActoviqSessionCompactResult {
|
|
704
834
|
compacted: boolean;
|
|
705
835
|
trigger: ActoviqCompactTrigger;
|
|
706
|
-
reason: 'disabled' | 'threshold_not_met' | 'no_messages' | 'microcompact' | 'compacted' | 'circuit_breaker_open';
|
|
836
|
+
reason: 'disabled' | 'threshold_not_met' | 'no_messages' | 'microcompact' | 'compacted' | 'failed' | 'circuit_breaker_open';
|
|
707
837
|
tokenEstimateBefore: number;
|
|
708
838
|
tokenEstimateAfter?: number;
|
|
709
839
|
summaryMessage?: string;
|
|
710
840
|
messagesRemoved?: number;
|
|
711
841
|
compactCount: number;
|
|
712
842
|
microcompactCount: number;
|
|
843
|
+
consecutiveFailures?: number;
|
|
844
|
+
error?: string;
|
|
713
845
|
state: ActoviqSessionMemoryRuntimeState;
|
|
714
846
|
}
|
|
715
847
|
export interface ActoviqTaskToolInput {
|
|
716
|
-
description
|
|
848
|
+
description?: string;
|
|
849
|
+
prompt?: string;
|
|
850
|
+
task?: string;
|
|
717
851
|
subagent_type?: string;
|
|
852
|
+
agent?: string;
|
|
853
|
+
agent_type?: string;
|
|
854
|
+
model?: string;
|
|
718
855
|
run_in_background?: boolean;
|
|
856
|
+
name?: string;
|
|
857
|
+
isolation?: 'worktree';
|
|
858
|
+
cwd?: string;
|
|
719
859
|
}
|
|
720
860
|
export interface ActoviqTaskToolSyncResult {
|
|
721
861
|
status: 'completed';
|
|
722
862
|
subagentType: string;
|
|
723
863
|
runId: string;
|
|
724
864
|
sessionId?: string;
|
|
865
|
+
agentId?: string;
|
|
725
866
|
model: string;
|
|
726
867
|
text: string;
|
|
727
868
|
toolCallCount: number;
|
|
869
|
+
toolErrorCount: number;
|
|
870
|
+
worktreePath?: string;
|
|
871
|
+
worktreeBranch?: string;
|
|
728
872
|
}
|
|
729
873
|
export interface ActoviqTaskToolAsyncResult {
|
|
730
874
|
status: 'async_launched';
|
|
731
875
|
taskId: string;
|
|
732
876
|
subagentType: string;
|
|
733
877
|
sessionId?: string;
|
|
878
|
+
agentId?: string;
|
|
734
879
|
outputFile: string;
|
|
735
880
|
canReadOutputFile: boolean;
|
|
736
881
|
description: string;
|
|
882
|
+
worktreePath?: string;
|
|
883
|
+
worktreeBranch?: string;
|
|
737
884
|
}
|
|
738
885
|
export type ActoviqTaskToolResult = ActoviqTaskToolSyncResult | ActoviqTaskToolAsyncResult;
|
|
739
886
|
export interface ActoviqDelegatedAgentRecord {
|
|
@@ -741,6 +888,17 @@ export interface ActoviqDelegatedAgentRecord {
|
|
|
741
888
|
count: number;
|
|
742
889
|
lastInvokedAt: string;
|
|
743
890
|
lastDescription?: string;
|
|
891
|
+
lastRunId?: string;
|
|
892
|
+
lastSessionId?: string;
|
|
893
|
+
lastStatus?: 'completed' | 'async_launched' | 'failed' | 'cancelled';
|
|
894
|
+
lastTaskId?: string;
|
|
895
|
+
lastTextSummary?: string;
|
|
896
|
+
runIds?: string[];
|
|
897
|
+
sessionIds?: string[];
|
|
898
|
+
taskIds?: string[];
|
|
899
|
+
totalRequestCount?: number;
|
|
900
|
+
totalToolCallCount?: number;
|
|
901
|
+
totalToolErrorCount?: number;
|
|
744
902
|
}
|
|
745
903
|
export interface ActoviqAgentContinuityState {
|
|
746
904
|
currentAgent?: string;
|
|
@@ -760,11 +918,24 @@ export interface ActoviqBackgroundTaskRecord {
|
|
|
760
918
|
completedAt?: string;
|
|
761
919
|
parentRunId?: string;
|
|
762
920
|
parentSessionId?: string;
|
|
921
|
+
agentName?: string;
|
|
763
922
|
sessionId?: string;
|
|
764
923
|
runId?: string;
|
|
765
924
|
model?: string;
|
|
766
925
|
text?: string;
|
|
926
|
+
partialText?: string;
|
|
767
927
|
toolCallCount?: number;
|
|
928
|
+
toolErrorCount?: number;
|
|
929
|
+
requestCount?: number;
|
|
930
|
+
currentIteration?: number;
|
|
931
|
+
currentToolName?: string;
|
|
932
|
+
progressSummary?: string;
|
|
933
|
+
queuedMessageCount?: number;
|
|
934
|
+
resumedFromTaskId?: string;
|
|
935
|
+
notificationDeliveredAt?: string;
|
|
936
|
+
worktreePath?: string;
|
|
937
|
+
worktreeBranch?: string;
|
|
938
|
+
retainedWorktree?: boolean;
|
|
768
939
|
error?: string;
|
|
769
940
|
}
|
|
770
941
|
export interface ActoviqMailboxMessage {
|
|
@@ -867,6 +1038,9 @@ export type AgentEvent = {
|
|
|
867
1038
|
type: 'request.started';
|
|
868
1039
|
runId: string;
|
|
869
1040
|
iteration: number;
|
|
1041
|
+
requestTokenEstimate?: number;
|
|
1042
|
+
requestByteLength?: number;
|
|
1043
|
+
localMicrocompact?: AgentRequestSummary['localMicrocompact'];
|
|
870
1044
|
timestamp: string;
|
|
871
1045
|
} | {
|
|
872
1046
|
type: 'response.text.delta';
|
|
@@ -919,6 +1093,34 @@ export type AgentEvent = {
|
|
|
919
1093
|
trigger: ActoviqCompactTrigger;
|
|
920
1094
|
result: ActoviqSessionCompactResult;
|
|
921
1095
|
timestamp: string;
|
|
1096
|
+
} | {
|
|
1097
|
+
type: 'conversation.compacted';
|
|
1098
|
+
runId: string;
|
|
1099
|
+
iteration: number;
|
|
1100
|
+
/** 'auto' = proactive threshold compact; 'reactive' = provider rejected the request as too long. */
|
|
1101
|
+
trigger?: 'auto' | 'reactive';
|
|
1102
|
+
tokenEstimateBefore: number;
|
|
1103
|
+
tokenEstimateAfter: number;
|
|
1104
|
+
messagesSummarized: number;
|
|
1105
|
+
preservedMessages: number;
|
|
1106
|
+
clearedToolResults: number;
|
|
1107
|
+
timestamp: string;
|
|
1108
|
+
} | {
|
|
1109
|
+
type: 'model.fallback';
|
|
1110
|
+
runId: string;
|
|
1111
|
+
iteration: number;
|
|
1112
|
+
fromModel: string;
|
|
1113
|
+
toModel: string;
|
|
1114
|
+
reason: string;
|
|
1115
|
+
timestamp: string;
|
|
1116
|
+
} | {
|
|
1117
|
+
type: 'request.interrupted';
|
|
1118
|
+
runId: string;
|
|
1119
|
+
iteration: number;
|
|
1120
|
+
retry: number;
|
|
1121
|
+
maxRetries: number;
|
|
1122
|
+
reason: string;
|
|
1123
|
+
timestamp: string;
|
|
922
1124
|
} | {
|
|
923
1125
|
type: 'response.completed';
|
|
924
1126
|
runId: string;
|
|
@@ -1191,6 +1393,9 @@ export interface ActoviqCompactState extends ActoviqMemoryState {
|
|
|
1191
1393
|
latestBoundary?: ActoviqTranscriptBoundary;
|
|
1192
1394
|
compactCount: number;
|
|
1193
1395
|
microcompactCount: number;
|
|
1396
|
+
consecutiveCompactFailures?: number;
|
|
1397
|
+
lastCompactFailureAt?: string;
|
|
1398
|
+
lastCompactError?: string;
|
|
1194
1399
|
hasCompacted: boolean;
|
|
1195
1400
|
pendingPostCompaction?: boolean;
|
|
1196
1401
|
lastSummarizedMessageUuid?: string;
|
|
@@ -1543,6 +1748,32 @@ export interface ActoviqContextUsage {
|
|
|
1543
1748
|
export interface ActoviqBridgeCapabilityLookupOptions extends Omit<ActoviqBridgeRunOptions, 'resume' | 'sessionId'> {
|
|
1544
1749
|
includeContext?: boolean;
|
|
1545
1750
|
}
|
|
1751
|
+
export type ActoviqCleanBridgeParityStatus = 'exact' | 'mapped' | 'simulated' | 'unsupported';
|
|
1752
|
+
export interface ActoviqCleanBridgeParityMatrixEntry {
|
|
1753
|
+
option: keyof ActoviqBridgeRunOptions | keyof CreateActoviqBridgeSdkOptions;
|
|
1754
|
+
status: ActoviqCleanBridgeParityStatus;
|
|
1755
|
+
cleanTarget?: string;
|
|
1756
|
+
notes: string;
|
|
1757
|
+
}
|
|
1758
|
+
export interface ActoviqCleanBridgeUnsupportedOption {
|
|
1759
|
+
option: string;
|
|
1760
|
+
value: unknown;
|
|
1761
|
+
reason: string;
|
|
1762
|
+
}
|
|
1763
|
+
export interface ActoviqCleanBridgeCompatibilityReport {
|
|
1764
|
+
mapped: Array<{
|
|
1765
|
+
option: string;
|
|
1766
|
+
cleanTarget: string;
|
|
1767
|
+
status: Exclude<ActoviqCleanBridgeParityStatus, 'unsupported'>;
|
|
1768
|
+
note?: string;
|
|
1769
|
+
}>;
|
|
1770
|
+
unsupported: ActoviqCleanBridgeUnsupportedOption[];
|
|
1771
|
+
}
|
|
1772
|
+
export type ActoviqCleanBridgeUnsupportedOptionPolicy = 'metadata' | 'warn' | 'throw';
|
|
1773
|
+
export interface CreateActoviqCleanBridgeSdkOptions extends CreateAgentSdkOptions {
|
|
1774
|
+
bridgeDefaults?: CreateActoviqBridgeSdkOptions;
|
|
1775
|
+
unsupportedOptionPolicy?: ActoviqCleanBridgeUnsupportedOptionPolicy;
|
|
1776
|
+
}
|
|
1546
1777
|
export type ActoviqBridgeToolProvider = 'runtime' | 'server' | 'mcp' | 'unknown';
|
|
1547
1778
|
export interface ActoviqBridgeToolRequest {
|
|
1548
1779
|
id?: string;
|