actoviq-agent-sdk 0.4.5 → 0.4.7
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/CHANGELOG.md +203 -0
- package/README-zh.md +54 -19
- package/README.md +53 -19
- package/SECURITY.md +26 -0
- package/assets/actoviq-icon.ico +0 -0
- package/bin/actoviq-gui.js +28 -3
- package/dist/src/buddy/actoviqBuddy.d.ts.map +1 -1
- package/dist/src/buddy/actoviqBuddy.js +3 -4
- package/dist/src/buddy/actoviqBuddy.js.map +1 -1
- package/dist/src/cli/actoviq-react.js +495 -60
- package/dist/src/cli/actoviq-react.js.map +1 -1
- package/dist/src/compat/diagnostics.d.ts +18 -0
- package/dist/src/compat/diagnostics.d.ts.map +1 -0
- package/dist/src/compat/diagnostics.js +47 -0
- package/dist/src/compat/diagnostics.js.map +1 -0
- package/dist/src/compat/index.d.ts +8 -0
- package/dist/src/compat/index.d.ts.map +1 -0
- package/dist/src/compat/index.js +6 -0
- package/dist/src/compat/index.js.map +1 -0
- package/dist/src/config/actoviqHome.d.ts +32 -0
- package/dist/src/config/actoviqHome.d.ts.map +1 -0
- package/dist/src/config/actoviqHome.js +228 -0
- package/dist/src/config/actoviqHome.js.map +1 -0
- package/dist/src/config/actoviqSettingsStore.d.ts.map +1 -1
- package/dist/src/config/actoviqSettingsStore.js +6 -6
- package/dist/src/config/actoviqSettingsStore.js.map +1 -1
- package/dist/src/config/agentProfiles.d.ts +77 -0
- package/dist/src/config/agentProfiles.d.ts.map +1 -0
- package/dist/src/config/agentProfiles.js +319 -0
- package/dist/src/config/agentProfiles.js.map +1 -0
- package/dist/src/config/loadDefaultActoviqSettings.d.ts.map +1 -1
- package/dist/src/config/loadDefaultActoviqSettings.js +2 -3
- package/dist/src/config/loadDefaultActoviqSettings.js.map +1 -1
- package/dist/src/config/projectSessionDirectory.d.ts.map +1 -1
- package/dist/src/config/projectSessionDirectory.js +3 -2
- package/dist/src/config/projectSessionDirectory.js.map +1 -1
- package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
- package/dist/src/config/resolveRuntimeConfig.js +13 -2
- package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
- package/dist/src/core/agent-spec.d.ts +74 -0
- package/dist/src/core/agent-spec.d.ts.map +1 -0
- package/dist/src/core/agent-spec.js +2 -0
- package/dist/src/core/agent-spec.js.map +1 -0
- package/dist/src/core/errors.d.ts +42 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/core/errors.js +53 -0
- package/dist/src/core/errors.js.map +1 -0
- package/dist/src/core/index.d.ts +11 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +4 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/items.d.ts +161 -0
- package/dist/src/core/items.d.ts.map +1 -0
- package/dist/src/core/items.js +2 -0
- package/dist/src/core/items.js.map +1 -0
- package/dist/src/core/json.d.ts +20 -0
- package/dist/src/core/json.d.ts.map +1 -0
- package/dist/src/core/json.js +80 -0
- package/dist/src/core/json.js.map +1 -0
- package/dist/src/core/model-ref.d.ts +6 -0
- package/dist/src/core/model-ref.d.ts.map +1 -0
- package/dist/src/core/model-ref.js +2 -0
- package/dist/src/core/model-ref.js.map +1 -0
- package/dist/src/core/run.d.ts +35 -0
- package/dist/src/core/run.d.ts.map +1 -0
- package/dist/src/core/run.js +2 -0
- package/dist/src/core/run.js.map +1 -0
- package/dist/src/core/usage.d.ts +32 -0
- package/dist/src/core/usage.d.ts.map +1 -0
- package/dist/src/core/usage.js +111 -0
- package/dist/src/core/usage.js.map +1 -0
- package/dist/src/errors.d.ts +19 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +27 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/events/index.d.ts +4 -0
- package/dist/src/events/index.d.ts.map +1 -0
- package/dist/src/events/index.js +4 -0
- package/dist/src/events/index.js.map +1 -0
- package/dist/src/events/openTelemetry.d.ts +51 -0
- package/dist/src/events/openTelemetry.d.ts.map +1 -0
- package/dist/src/events/openTelemetry.js +116 -0
- package/dist/src/events/openTelemetry.js.map +1 -0
- package/dist/src/events/processors.d.ts +14 -0
- package/dist/src/events/processors.d.ts.map +1 -0
- package/dist/src/events/processors.js +60 -0
- package/dist/src/events/processors.js.map +1 -0
- package/dist/src/events/runEvents.d.ts +66 -0
- package/dist/src/events/runEvents.d.ts.map +1 -0
- package/dist/src/events/runEvents.js +143 -0
- package/dist/src/events/runEvents.js.map +1 -0
- package/dist/src/gui/actoviqGui.d.ts +44 -0
- package/dist/src/gui/actoviqGui.d.ts.map +1 -0
- package/dist/src/gui/actoviqGui.js +21434 -0
- package/dist/src/gui/actoviqGui.js.map +1 -0
- package/dist/src/gui/contextRailStore.d.ts +47 -0
- package/dist/src/gui/contextRailStore.d.ts.map +1 -0
- package/dist/src/gui/contextRailStore.js +163 -0
- package/dist/src/gui/contextRailStore.js.map +1 -0
- package/dist/src/gui/electronMain.d.ts +3 -0
- package/dist/src/gui/electronMain.d.ts.map +1 -0
- package/dist/src/gui/electronMain.js +192 -0
- package/dist/src/gui/electronMain.js.map +1 -0
- package/dist/src/gui/guiAssets.d.ts +6 -0
- package/dist/src/gui/guiAssets.d.ts.map +1 -0
- package/dist/src/gui/guiAssets.js +48 -0
- package/dist/src/gui/guiAssets.js.map +1 -0
- package/dist/src/gui/guiMarkdown.d.ts +3 -0
- package/dist/src/gui/guiMarkdown.d.ts.map +1 -0
- package/dist/src/gui/guiMarkdown.js +188 -0
- package/dist/src/gui/guiMarkdown.js.map +1 -0
- package/dist/src/gui/guiSyntaxHighlight.d.ts +11 -0
- package/dist/src/gui/guiSyntaxHighlight.d.ts.map +1 -0
- package/dist/src/gui/guiSyntaxHighlight.js +348 -0
- package/dist/src/gui/guiSyntaxHighlight.js.map +1 -0
- package/dist/src/gui/projectMeta.d.ts +15 -0
- package/dist/src/gui/projectMeta.d.ts.map +1 -0
- package/dist/src/gui/projectMeta.js +61 -0
- package/dist/src/gui/projectMeta.js.map +1 -0
- package/dist/src/gui/projectWorkbench.d.ts +73 -0
- package/dist/src/gui/projectWorkbench.d.ts.map +1 -0
- package/dist/src/gui/projectWorkbench.js +307 -0
- package/dist/src/gui/projectWorkbench.js.map +1 -0
- package/dist/src/gui/terminalManager.d.ts +33 -0
- package/dist/src/gui/terminalManager.d.ts.map +1 -0
- package/dist/src/gui/terminalManager.js +206 -0
- package/dist/src/gui/terminalManager.js.map +1 -0
- package/dist/src/gui/transcript/clientBundle.d.ts +6 -0
- package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -0
- package/dist/src/gui/transcript/clientBundle.js +978 -0
- package/dist/src/gui/transcript/clientBundle.js.map +1 -0
- package/dist/src/gui/transcript/index.d.ts +9 -0
- package/dist/src/gui/transcript/index.d.ts.map +1 -0
- package/dist/src/gui/transcript/index.js +6 -0
- package/dist/src/gui/transcript/index.js.map +1 -0
- package/dist/src/gui/transcript/parts.d.ts +81 -0
- package/dist/src/gui/transcript/parts.d.ts.map +1 -0
- package/dist/src/gui/transcript/parts.js +476 -0
- package/dist/src/gui/transcript/parts.js.map +1 -0
- package/dist/src/gui/transcript/registry.d.ts +8 -0
- package/dist/src/gui/transcript/registry.d.ts.map +1 -0
- package/dist/src/gui/transcript/registry.js +32 -0
- package/dist/src/gui/transcript/registry.js.map +1 -0
- package/dist/src/gui/transcript/scroll.d.ts +9 -0
- package/dist/src/gui/transcript/scroll.d.ts.map +1 -0
- package/dist/src/gui/transcript/scroll.js +13 -0
- package/dist/src/gui/transcript/scroll.js.map +1 -0
- package/dist/src/gui/transcript/styles.d.ts +3 -0
- package/dist/src/gui/transcript/styles.d.ts.map +1 -0
- package/dist/src/gui/transcript/styles.js +172 -0
- package/dist/src/gui/transcript/styles.js.map +1 -0
- package/dist/src/gui/workspaceNote.d.ts +4 -0
- package/dist/src/gui/workspaceNote.d.ts.map +1 -0
- package/dist/src/gui/workspaceNote.js +21 -0
- package/dist/src/gui/workspaceNote.js.map +1 -0
- package/dist/src/gui/workspaceRegistry.d.ts +11 -0
- package/dist/src/gui/workspaceRegistry.d.ts.map +1 -0
- package/dist/src/gui/workspaceRegistry.js +114 -0
- package/dist/src/gui/workspaceRegistry.js.map +1 -0
- package/dist/src/hooks/userHooks.d.ts +29 -8
- package/dist/src/hooks/userHooks.d.ts.map +1 -1
- package/dist/src/hooks/userHooks.js +106 -34
- package/dist/src/hooks/userHooks.js.map +1 -1
- package/dist/src/index.d.ts +24 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/issues/durableIssueCoordinator.d.ts +57 -0
- package/dist/src/issues/durableIssueCoordinator.d.ts.map +1 -0
- package/dist/src/issues/durableIssueCoordinator.js +128 -0
- package/dist/src/issues/durableIssueCoordinator.js.map +1 -0
- package/dist/src/issues/issueExecution.d.ts +34 -0
- package/dist/src/issues/issueExecution.d.ts.map +1 -0
- package/dist/src/issues/issueExecution.js +190 -0
- package/dist/src/issues/issueExecution.js.map +1 -0
- package/dist/src/issues/issueStore.d.ts +95 -0
- package/dist/src/issues/issueStore.d.ts.map +1 -0
- package/dist/src/issues/issueStore.js +373 -0
- package/dist/src/issues/issueStore.js.map +1 -0
- package/dist/src/manager/projectManager.d.ts +103 -0
- package/dist/src/manager/projectManager.d.ts.map +1 -0
- package/dist/src/manager/projectManager.js +547 -0
- package/dist/src/manager/projectManager.js.map +1 -0
- package/dist/src/mcp/connectionManager.d.ts +22 -2
- package/dist/src/mcp/connectionManager.d.ts.map +1 -1
- package/dist/src/mcp/connectionManager.js +153 -41
- package/dist/src/mcp/connectionManager.js.map +1 -1
- package/dist/src/mcp/mcpServerConfig.d.ts.map +1 -1
- package/dist/src/mcp/mcpServerConfig.js +7 -7
- package/dist/src/mcp/mcpServerConfig.js.map +1 -1
- package/dist/src/memory/actoviqMemory.js +6 -6
- package/dist/src/memory/actoviqMemory.js.map +1 -1
- package/dist/src/memory/projectContext.d.ts +17 -14
- package/dist/src/memory/projectContext.d.ts.map +1 -1
- package/dist/src/memory/projectContext.js +99 -31
- package/dist/src/memory/projectContext.js.map +1 -1
- package/dist/src/memory/sessionHistory.d.ts +21 -0
- package/dist/src/memory/sessionHistory.d.ts.map +1 -0
- package/dist/src/memory/sessionHistory.js +83 -0
- package/dist/src/memory/sessionHistory.js.map +1 -0
- package/dist/src/node/index.d.ts +5 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/index.js +5 -0
- package/dist/src/node/index.js.map +1 -0
- package/dist/src/node/sqliteCheckpointAdapter.d.ts +20 -0
- package/dist/src/node/sqliteCheckpointAdapter.d.ts.map +1 -0
- package/dist/src/node/sqliteCheckpointAdapter.js +163 -0
- package/dist/src/node/sqliteCheckpointAdapter.js.map +1 -0
- package/dist/src/node/sqliteDurableChildStore.d.ts +21 -0
- package/dist/src/node/sqliteDurableChildStore.d.ts.map +1 -0
- package/dist/src/node/sqliteDurableChildStore.js +124 -0
- package/dist/src/node/sqliteDurableChildStore.js.map +1 -0
- package/dist/src/node/sqliteSessionAdapter.d.ts +28 -0
- package/dist/src/node/sqliteSessionAdapter.d.ts.map +1 -0
- package/dist/src/node/sqliteSessionAdapter.js +99 -0
- package/dist/src/node/sqliteSessionAdapter.js.map +1 -0
- package/dist/src/orchestration/agentTool.d.ts +50 -0
- package/dist/src/orchestration/agentTool.d.ts.map +1 -0
- package/dist/src/orchestration/agentTool.js +132 -0
- package/dist/src/orchestration/agentTool.js.map +1 -0
- package/dist/src/orchestration/background.d.ts +102 -0
- package/dist/src/orchestration/background.d.ts.map +1 -0
- package/dist/src/orchestration/background.js +310 -0
- package/dist/src/orchestration/background.js.map +1 -0
- package/dist/src/orchestration/childRunner.d.ts +12 -0
- package/dist/src/orchestration/childRunner.d.ts.map +1 -0
- package/dist/src/orchestration/childRunner.js +179 -0
- package/dist/src/orchestration/childRunner.js.map +1 -0
- package/dist/src/orchestration/contracts.d.ts +169 -0
- package/dist/src/orchestration/contracts.d.ts.map +1 -0
- package/dist/src/orchestration/contracts.js +11 -0
- package/dist/src/orchestration/contracts.js.map +1 -0
- package/dist/src/orchestration/handoff.d.ts +32 -0
- package/dist/src/orchestration/handoff.d.ts.map +1 -0
- package/dist/src/orchestration/handoff.js +60 -0
- package/dist/src/orchestration/handoff.js.map +1 -0
- package/dist/src/orchestration/index.d.ts +9 -0
- package/dist/src/orchestration/index.d.ts.map +1 -0
- package/dist/src/orchestration/index.js +9 -0
- package/dist/src/orchestration/index.js.map +1 -0
- package/dist/src/orchestration/presets.d.ts +51 -0
- package/dist/src/orchestration/presets.d.ts.map +1 -0
- package/dist/src/orchestration/presets.js +78 -0
- package/dist/src/orchestration/presets.js.map +1 -0
- package/dist/src/orchestration/scope.d.ts +69 -0
- package/dist/src/orchestration/scope.d.ts.map +1 -0
- package/dist/src/orchestration/scope.js +371 -0
- package/dist/src/orchestration/scope.js.map +1 -0
- package/dist/src/orchestration/workflowGraph.d.ts +73 -0
- package/dist/src/orchestration/workflowGraph.d.ts.map +1 -0
- package/dist/src/orchestration/workflowGraph.js +255 -0
- package/dist/src/orchestration/workflowGraph.js.map +1 -0
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.d.ts.map +1 -1
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.js +101 -48
- package/dist/src/parity/actoviqCleanBridgeCompatSdk.js.map +1 -1
- package/dist/src/parity/bridgeConfigs.d.ts +31 -2
- package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
- package/dist/src/parity/bridgeConfigs.js +98 -35
- package/dist/src/parity/bridgeConfigs.js.map +1 -1
- package/dist/src/parity/bridgeProviders.d.ts +9 -6
- package/dist/src/parity/bridgeProviders.d.ts.map +1 -1
- package/dist/src/parity/bridgeProviders.js +140 -26
- package/dist/src/parity/bridgeProviders.js.map +1 -1
- package/dist/src/parity/portableSessions.js +2 -2
- package/dist/src/parity/portableSessions.js.map +1 -1
- package/dist/src/profiles/index.d.ts +15 -0
- package/dist/src/profiles/index.d.ts.map +1 -0
- package/dist/src/profiles/index.js +618 -0
- package/dist/src/profiles/index.js.map +1 -0
- package/dist/src/profiles/types.d.ts +102 -0
- package/dist/src/profiles/types.d.ts.map +1 -0
- package/dist/src/profiles/types.js +9 -0
- package/dist/src/profiles/types.js.map +1 -0
- package/dist/src/provider/client.d.ts +1 -1
- package/dist/src/provider/client.d.ts.map +1 -1
- package/dist/src/provider/openai-model-api.js +1 -1
- package/dist/src/provider/openai-model-api.js.map +1 -1
- package/dist/src/providers-v2/adapter-base.d.ts +35 -0
- package/dist/src/providers-v2/adapter-base.d.ts.map +1 -0
- package/dist/src/providers-v2/adapter-base.js +115 -0
- package/dist/src/providers-v2/adapter-base.js.map +1 -0
- package/dist/src/providers-v2/anthropic.d.ts +15 -0
- package/dist/src/providers-v2/anthropic.d.ts.map +1 -0
- package/dist/src/providers-v2/anthropic.js +414 -0
- package/dist/src/providers-v2/anthropic.js.map +1 -0
- package/dist/src/providers-v2/capabilities.d.ts +33 -0
- package/dist/src/providers-v2/capabilities.d.ts.map +1 -0
- package/dist/src/providers-v2/capabilities.js +218 -0
- package/dist/src/providers-v2/capabilities.js.map +1 -0
- package/dist/src/providers-v2/index.d.ts +12 -0
- package/dist/src/providers-v2/index.d.ts.map +1 -0
- package/dist/src/providers-v2/index.js +8 -0
- package/dist/src/providers-v2/index.js.map +1 -0
- package/dist/src/providers-v2/legacy.d.ts +26 -0
- package/dist/src/providers-v2/legacy.d.ts.map +1 -0
- package/dist/src/providers-v2/legacy.js +543 -0
- package/dist/src/providers-v2/legacy.js.map +1 -0
- package/dist/src/providers-v2/mapping.d.ts +34 -0
- package/dist/src/providers-v2/mapping.d.ts.map +1 -0
- package/dist/src/providers-v2/mapping.js +194 -0
- package/dist/src/providers-v2/mapping.js.map +1 -0
- package/dist/src/providers-v2/openai-chat.d.ts +16 -0
- package/dist/src/providers-v2/openai-chat.d.ts.map +1 -0
- package/dist/src/providers-v2/openai-chat.js +318 -0
- package/dist/src/providers-v2/openai-chat.js.map +1 -0
- package/dist/src/providers-v2/openai-responses.d.ts +15 -0
- package/dist/src/providers-v2/openai-responses.d.ts.map +1 -0
- package/dist/src/providers-v2/openai-responses.js +356 -0
- package/dist/src/providers-v2/openai-responses.js.map +1 -0
- package/dist/src/providers-v2/registry.d.ts +39 -0
- package/dist/src/providers-v2/registry.d.ts.map +1 -0
- package/dist/src/providers-v2/registry.js +101 -0
- package/dist/src/providers-v2/registry.js.map +1 -0
- package/dist/src/providers-v2/stream.d.ts +14 -0
- package/dist/src/providers-v2/stream.d.ts.map +1 -0
- package/dist/src/providers-v2/stream.js +115 -0
- package/dist/src/providers-v2/stream.js.map +1 -0
- package/dist/src/providers-v2/transport.d.ts +36 -0
- package/dist/src/providers-v2/transport.d.ts.map +1 -0
- package/dist/src/providers-v2/transport.js +337 -0
- package/dist/src/providers-v2/transport.js.map +1 -0
- package/dist/src/providers-v2/types.d.ts +162 -0
- package/dist/src/providers-v2/types.d.ts.map +1 -0
- package/dist/src/providers-v2/types.js +8 -0
- package/dist/src/providers-v2/types.js.map +1 -0
- package/dist/src/router/modelRouter.d.ts.map +1 -1
- package/dist/src/router/modelRouter.js +2 -3
- package/dist/src/router/modelRouter.js.map +1 -1
- package/dist/src/runtime/actoviqAgents.d.ts +5 -0
- package/dist/src/runtime/actoviqAgents.d.ts.map +1 -1
- package/dist/src/runtime/actoviqAgents.js +22 -4
- package/dist/src/runtime/actoviqAgents.js.map +1 -1
- package/dist/src/runtime/actoviqBackgroundTasks.d.ts +2 -1
- package/dist/src/runtime/actoviqBackgroundTasks.d.ts.map +1 -1
- package/dist/src/runtime/actoviqBackgroundTasks.js +4 -2
- package/dist/src/runtime/actoviqBackgroundTasks.js.map +1 -1
- package/dist/src/runtime/actoviqCompact.d.ts +15 -0
- package/dist/src/runtime/actoviqCompact.d.ts.map +1 -1
- package/dist/src/runtime/actoviqCompact.js +36 -10
- 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 +16 -2
- package/dist/src/runtime/actoviqModelApi.js.map +1 -1
- package/dist/src/runtime/actoviqPermissions.js +5 -1
- package/dist/src/runtime/actoviqPermissions.js.map +1 -1
- package/dist/src/runtime/agentClient.d.ts +3 -0
- package/dist/src/runtime/agentClient.d.ts.map +1 -1
- package/dist/src/runtime/agentClient.js +127 -45
- package/dist/src/runtime/agentClient.js.map +1 -1
- package/dist/src/runtime/agentRuntimeDiscovery.d.ts +75 -0
- package/dist/src/runtime/agentRuntimeDiscovery.d.ts.map +1 -0
- package/dist/src/runtime/agentRuntimeDiscovery.js +311 -0
- package/dist/src/runtime/agentRuntimeDiscovery.js.map +1 -0
- package/dist/src/runtime/agentSession.d.ts +18 -0
- package/dist/src/runtime/agentSession.d.ts.map +1 -1
- package/dist/src/runtime/agentSession.js +36 -0
- package/dist/src/runtime/agentSession.js.map +1 -1
- package/dist/src/runtime/asyncQueue.d.ts +99 -8
- package/dist/src/runtime/asyncQueue.d.ts.map +1 -1
- package/dist/src/runtime/asyncQueue.js +437 -37
- package/dist/src/runtime/asyncQueue.js.map +1 -1
- package/dist/src/runtime/conversationEngine.d.ts +7 -0
- package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
- package/dist/src/runtime/conversationEngine.js +278 -18
- package/dist/src/runtime/conversationEngine.js.map +1 -1
- package/dist/src/runtime/deadline.d.ts +13 -0
- package/dist/src/runtime/deadline.d.ts.map +1 -0
- package/dist/src/runtime/deadline.js +67 -0
- package/dist/src/runtime/deadline.js.map +1 -0
- package/dist/src/runtime/messageUtils.d.ts +5 -0
- package/dist/src/runtime/messageUtils.d.ts.map +1 -1
- package/dist/src/runtime/messageUtils.js +17 -0
- package/dist/src/runtime/messageUtils.js.map +1 -1
- package/dist/src/runtime/sessionTurnCoordinator.d.ts +12 -0
- package/dist/src/runtime/sessionTurnCoordinator.d.ts.map +1 -0
- package/dist/src/runtime/sessionTurnCoordinator.js +23 -0
- package/dist/src/runtime/sessionTurnCoordinator.js.map +1 -0
- 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/runtime-v2/agentRuntime.d.ts +136 -0
- package/dist/src/runtime-v2/agentRuntime.d.ts.map +1 -0
- package/dist/src/runtime-v2/agentRuntime.js +1341 -0
- package/dist/src/runtime-v2/agentRuntime.js.map +1 -0
- package/dist/src/runtime-v2/index.d.ts +6 -0
- package/dist/src/runtime-v2/index.d.ts.map +1 -0
- package/dist/src/runtime-v2/index.js +6 -0
- package/dist/src/runtime-v2/index.js.map +1 -0
- package/dist/src/runtime-v2/middleware/index.d.ts +5 -0
- package/dist/src/runtime-v2/middleware/index.d.ts.map +1 -0
- package/dist/src/runtime-v2/middleware/index.js +4 -0
- package/dist/src/runtime-v2/middleware/index.js.map +1 -0
- package/dist/src/runtime-v2/middleware/pipeline.d.ts +56 -0
- package/dist/src/runtime-v2/middleware/pipeline.d.ts.map +1 -0
- package/dist/src/runtime-v2/middleware/pipeline.js +242 -0
- package/dist/src/runtime-v2/middleware/pipeline.js.map +1 -0
- package/dist/src/runtime-v2/middleware/registry.d.ts +17 -0
- package/dist/src/runtime-v2/middleware/registry.d.ts.map +1 -0
- package/dist/src/runtime-v2/middleware/registry.js +46 -0
- package/dist/src/runtime-v2/middleware/registry.js.map +1 -0
- package/dist/src/runtime-v2/middleware/stages.d.ts +25 -0
- package/dist/src/runtime-v2/middleware/stages.d.ts.map +1 -0
- package/dist/src/runtime-v2/middleware/stages.js +48 -0
- package/dist/src/runtime-v2/middleware/stages.js.map +1 -0
- package/dist/src/runtime-v2/middleware/types.d.ts +51 -0
- package/dist/src/runtime-v2/middleware/types.d.ts.map +1 -0
- package/dist/src/runtime-v2/middleware/types.js +2 -0
- package/dist/src/runtime-v2/middleware/types.js.map +1 -0
- package/dist/src/runtime-v2/services.d.ts +33 -0
- package/dist/src/runtime-v2/services.d.ts.map +1 -0
- package/dist/src/runtime-v2/services.js +92 -0
- package/dist/src/runtime-v2/services.js.map +1 -0
- package/dist/src/runtime-v2/state.d.ts +71 -0
- package/dist/src/runtime-v2/state.d.ts.map +1 -0
- package/dist/src/runtime-v2/state.js +2 -0
- package/dist/src/runtime-v2/state.js.map +1 -0
- package/dist/src/runtime-v2/tools.d.ts +124 -0
- package/dist/src/runtime-v2/tools.d.ts.map +1 -0
- package/dist/src/runtime-v2/tools.js +185 -0
- package/dist/src/runtime-v2/tools.js.map +1 -0
- package/dist/src/scheduling/durableAgentScheduler.d.ts +46 -0
- package/dist/src/scheduling/durableAgentScheduler.d.ts.map +1 -0
- package/dist/src/scheduling/durableAgentScheduler.js +97 -0
- package/dist/src/scheduling/durableAgentScheduler.js.map +1 -0
- package/dist/src/scheduling/index.d.ts +3 -0
- package/dist/src/scheduling/index.d.ts.map +1 -1
- package/dist/src/scheduling/index.js +2 -0
- package/dist/src/scheduling/index.js.map +1 -1
- package/dist/src/scheduling/taskPersistence.d.ts +9 -0
- package/dist/src/scheduling/taskPersistence.d.ts.map +1 -0
- package/dist/src/scheduling/taskPersistence.js +238 -0
- package/dist/src/scheduling/taskPersistence.js.map +1 -0
- package/dist/src/storage/atomicJsonWrite.d.ts +13 -0
- package/dist/src/storage/atomicJsonWrite.d.ts.map +1 -0
- package/dist/src/storage/atomicJsonWrite.js +40 -0
- package/dist/src/storage/atomicJsonWrite.js.map +1 -0
- package/dist/src/storage/backgroundTaskStore.d.ts.map +1 -1
- package/dist/src/storage/backgroundTaskStore.js +2 -6
- 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 +2 -6
- package/dist/src/storage/mailboxStore.js.map +1 -1
- package/dist/src/storage/sessionStore.d.ts +3 -0
- package/dist/src/storage/sessionStore.d.ts.map +1 -1
- package/dist/src/storage/sessionStore.js +169 -10
- 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 +2 -6
- package/dist/src/storage/teammateStore.js.map +1 -1
- package/dist/src/storage-v2/contracts.d.ts +36 -0
- package/dist/src/storage-v2/contracts.d.ts.map +1 -0
- package/dist/src/storage-v2/contracts.js +2 -0
- package/dist/src/storage-v2/contracts.js.map +1 -0
- package/dist/src/storage-v2/errors.d.ts +21 -0
- package/dist/src/storage-v2/errors.d.ts.map +1 -0
- package/dist/src/storage-v2/errors.js +44 -0
- package/dist/src/storage-v2/errors.js.map +1 -0
- package/dist/src/storage-v2/index.d.ts +8 -0
- package/dist/src/storage-v2/index.d.ts.map +1 -0
- package/dist/src/storage-v2/index.js +8 -0
- package/dist/src/storage-v2/index.js.map +1 -0
- package/dist/src/storage-v2/legacyJsonV1Items.d.ts +10 -0
- package/dist/src/storage-v2/legacyJsonV1Items.d.ts.map +1 -0
- package/dist/src/storage-v2/legacyJsonV1Items.js +153 -0
- package/dist/src/storage-v2/legacyJsonV1Items.js.map +1 -0
- package/dist/src/storage-v2/migration.d.ts +32 -0
- package/dist/src/storage-v2/migration.d.ts.map +1 -0
- package/dist/src/storage-v2/migration.js +242 -0
- package/dist/src/storage-v2/migration.js.map +1 -0
- package/dist/src/storage-v2/sqliteDriver.d.ts +24 -0
- package/dist/src/storage-v2/sqliteDriver.d.ts.map +1 -0
- package/dist/src/storage-v2/sqliteDriver.js +90 -0
- package/dist/src/storage-v2/sqliteDriver.js.map +1 -0
- package/dist/src/storage-v2/sqliteStorage.d.ts +55 -0
- package/dist/src/storage-v2/sqliteStorage.d.ts.map +1 -0
- package/dist/src/storage-v2/sqliteStorage.js +905 -0
- package/dist/src/storage-v2/sqliteStorage.js.map +1 -0
- package/dist/src/storage-v2/types.d.ts +198 -0
- package/dist/src/storage-v2/types.d.ts.map +1 -0
- package/dist/src/storage-v2/types.js +2 -0
- package/dist/src/storage-v2/types.js.map +1 -0
- package/dist/src/surfaces/index.d.ts +8 -0
- package/dist/src/surfaces/index.d.ts.map +1 -0
- package/dist/src/surfaces/index.js +8 -0
- package/dist/src/surfaces/index.js.map +1 -0
- package/dist/src/surfaces/internal.d.ts +17 -0
- package/dist/src/surfaces/internal.d.ts.map +1 -0
- package/dist/src/surfaces/internal.js +116 -0
- package/dist/src/surfaces/internal.js.map +1 -0
- package/dist/src/surfaces/legacyEventAdapter.d.ts +38 -0
- package/dist/src/surfaces/legacyEventAdapter.d.ts.map +1 -0
- package/dist/src/surfaces/legacyEventAdapter.js +373 -0
- package/dist/src/surfaces/legacyEventAdapter.js.map +1 -0
- package/dist/src/surfaces/legacySurfacePipeline.d.ts +18 -0
- package/dist/src/surfaces/legacySurfacePipeline.d.ts.map +1 -0
- package/dist/src/surfaces/legacySurfacePipeline.js +25 -0
- package/dist/src/surfaces/legacySurfacePipeline.js.map +1 -0
- package/dist/src/surfaces/redaction.d.ts +12 -0
- package/dist/src/surfaces/redaction.d.ts.map +1 -0
- package/dist/src/surfaces/redaction.js +111 -0
- package/dist/src/surfaces/redaction.js.map +1 -0
- package/dist/src/surfaces/runEventLegacyCompat.d.ts +26 -0
- package/dist/src/surfaces/runEventLegacyCompat.d.ts.map +1 -0
- package/dist/src/surfaces/runEventLegacyCompat.js +339 -0
- package/dist/src/surfaces/runEventLegacyCompat.js.map +1 -0
- package/dist/src/surfaces/runEventProjector.d.ts +44 -0
- package/dist/src/surfaces/runEventProjector.d.ts.map +1 -0
- package/dist/src/surfaces/runEventProjector.js +404 -0
- package/dist/src/surfaces/runEventProjector.js.map +1 -0
- package/dist/src/surfaces/runtimeBridgeAdapter.d.ts +30 -0
- package/dist/src/surfaces/runtimeBridgeAdapter.d.ts.map +1 -0
- package/dist/src/surfaces/runtimeBridgeAdapter.js +38 -0
- package/dist/src/surfaces/runtimeBridgeAdapter.js.map +1 -0
- package/dist/src/surfaces/types.d.ts +38 -0
- package/dist/src/surfaces/types.d.ts.map +1 -0
- package/dist/src/surfaces/types.js +2 -0
- package/dist/src/surfaces/types.js.map +1 -0
- package/dist/src/team/agentPool.d.ts +2 -0
- package/dist/src/team/agentPool.d.ts.map +1 -1
- package/dist/src/team/agentPool.js +3 -1
- package/dist/src/team/agentPool.js.map +1 -1
- package/dist/src/team/modelTeam.d.ts +25 -19
- package/dist/src/team/modelTeam.d.ts.map +1 -1
- package/dist/src/team/modelTeam.js +293 -294
- package/dist/src/team/modelTeam.js.map +1 -1
- package/dist/src/team/pricing.d.ts.map +1 -1
- package/dist/src/team/pricing.js +2 -1
- package/dist/src/team/pricing.js.map +1 -1
- package/dist/src/team/teamDefinitions.d.ts +28 -1
- package/dist/src/team/teamDefinitions.d.ts.map +1 -1
- package/dist/src/team/teamDefinitions.js +204 -8
- package/dist/src/team/teamDefinitions.js.map +1 -1
- package/dist/src/team/teamGraph.d.ts +191 -0
- package/dist/src/team/teamGraph.d.ts.map +1 -0
- package/dist/src/team/teamGraph.js +616 -0
- package/dist/src/team/teamGraph.js.map +1 -0
- package/dist/src/team/teamGraphLayout.d.ts +44 -0
- package/dist/src/team/teamGraphLayout.d.ts.map +1 -0
- package/dist/src/team/teamGraphLayout.js +120 -0
- package/dist/src/team/teamGraphLayout.js.map +1 -0
- package/dist/src/team/teamGraphScaffold.d.ts +76 -0
- package/dist/src/team/teamGraphScaffold.d.ts.map +1 -0
- package/dist/src/team/teamGraphScaffold.js +409 -0
- package/dist/src/team/teamGraphScaffold.js.map +1 -0
- package/dist/src/team/teamGraphV3.d.ts +28 -0
- package/dist/src/team/teamGraphV3.d.ts.map +1 -0
- package/dist/src/team/teamGraphV3.js +640 -0
- package/dist/src/team/teamGraphV3.js.map +1 -0
- package/dist/src/team/teamPreferences.d.ts +11 -0
- package/dist/src/team/teamPreferences.d.ts.map +1 -0
- package/dist/src/team/teamPreferences.js +48 -0
- package/dist/src/team/teamPreferences.js.map +1 -0
- package/dist/src/team/teamPrompts.d.ts +16 -0
- package/dist/src/team/teamPrompts.d.ts.map +1 -0
- package/dist/src/team/teamPrompts.js +44 -0
- package/dist/src/team/teamPrompts.js.map +1 -0
- package/dist/src/team/teamRunView.d.ts +78 -0
- package/dist/src/team/teamRunView.d.ts.map +1 -0
- package/dist/src/team/teamRunView.js +205 -0
- package/dist/src/team/teamRunView.js.map +1 -0
- package/dist/src/team/teamRuntime.d.ts +19 -2
- package/dist/src/team/teamRuntime.d.ts.map +1 -1
- package/dist/src/team/teamRuntime.js +13 -7
- package/dist/src/team/teamRuntime.js.map +1 -1
- package/dist/src/tools/actoviqCoreTools.d.ts +2 -1
- package/dist/src/tools/actoviqCoreTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqCoreTools.js +4 -1
- package/dist/src/tools/actoviqCoreTools.js.map +1 -1
- package/dist/src/tools/actoviqShellTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqShellTools.js +10 -0
- package/dist/src/tools/actoviqShellTools.js.map +1 -1
- package/dist/src/tools/askUserQuestion/AskUserQuestionTool.d.ts.map +1 -1
- package/dist/src/tools/askUserQuestion/AskUserQuestionTool.js +2 -0
- package/dist/src/tools/askUserQuestion/AskUserQuestionTool.js.map +1 -1
- package/dist/src/tools/bash/BashTool.d.ts +33 -2
- package/dist/src/tools/bash/BashTool.d.ts.map +1 -1
- package/dist/src/tools/bash/BashTool.js +140 -2
- package/dist/src/tools/bash/BashTool.js.map +1 -1
- package/dist/src/tools/bash/prompt.d.ts +1 -1
- package/dist/src/tools/bash/prompt.d.ts.map +1 -1
- package/dist/src/tools/bash/prompt.js +1 -0
- package/dist/src/tools/bash/prompt.js.map +1 -1
- package/dist/src/tools/planMode/PlanModeTools.js +2 -2
- package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
- package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
- package/dist/src/tui/actoviqTui.d.ts.map +1 -1
- package/dist/src/tui/actoviqTui.js +531 -100
- package/dist/src/tui/actoviqTui.js.map +1 -1
- package/dist/src/tui/pluginCatalog.d.ts.map +1 -1
- package/dist/src/tui/pluginCatalog.js +3 -1
- package/dist/src/tui/pluginCatalog.js.map +1 -1
- package/dist/src/types.d.ts +355 -23
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/ui/commandSurface.d.ts.map +1 -1
- package/dist/src/ui/commandSurface.js +23 -3
- package/dist/src/ui/commandSurface.js.map +1 -1
- package/dist/src/workflow/workflowPersistence.d.ts.map +1 -1
- package/dist/src/workflow/workflowPersistence.js +2 -1
- package/dist/src/workflow/workflowPersistence.js.map +1 -1
- package/dist/src/workflow/workflowScriptRuntime.d.ts +4 -0
- package/dist/src/workflow/workflowScriptRuntime.d.ts.map +1 -1
- package/dist/src/workflow/workflowScriptRuntime.js +69 -18
- package/dist/src/workflow/workflowScriptRuntime.js.map +1 -1
- package/dist/src/workflow-v2/boundary.d.ts +2 -0
- package/dist/src/workflow-v2/boundary.d.ts.map +1 -0
- package/dist/src/workflow-v2/boundary.js +45 -0
- package/dist/src/workflow-v2/boundary.js.map +1 -0
- package/dist/src/workflow-v2/capabilities.d.ts +5 -0
- package/dist/src/workflow-v2/capabilities.d.ts.map +1 -0
- package/dist/src/workflow-v2/capabilities.js +32 -0
- package/dist/src/workflow-v2/capabilities.js.map +1 -0
- package/dist/src/workflow-v2/errors.d.ts +43 -0
- package/dist/src/workflow-v2/errors.d.ts.map +1 -0
- package/dist/src/workflow-v2/errors.js +84 -0
- package/dist/src/workflow-v2/errors.js.map +1 -0
- package/dist/src/workflow-v2/index.d.ts +9 -0
- package/dist/src/workflow-v2/index.d.ts.map +1 -0
- package/dist/src/workflow-v2/index.js +6 -0
- package/dist/src/workflow-v2/index.js.map +1 -0
- package/dist/src/workflow-v2/json.d.ts +5 -0
- package/dist/src/workflow-v2/json.d.ts.map +1 -0
- package/dist/src/workflow-v2/json.js +40 -0
- package/dist/src/workflow-v2/json.js.map +1 -0
- package/dist/src/workflow-v2/limits.d.ts +15 -0
- package/dist/src/workflow-v2/limits.d.ts.map +1 -0
- package/dist/src/workflow-v2/limits.js +37 -0
- package/dist/src/workflow-v2/limits.js.map +1 -0
- package/dist/src/workflow-v2/localIsolatedProcessExecutor.d.ts +25 -0
- package/dist/src/workflow-v2/localIsolatedProcessExecutor.d.ts.map +1 -0
- package/dist/src/workflow-v2/localIsolatedProcessExecutor.js +423 -0
- package/dist/src/workflow-v2/localIsolatedProcessExecutor.js.map +1 -0
- package/dist/src/workflow-v2/localProcessChild.d.ts +2 -0
- package/dist/src/workflow-v2/localProcessChild.d.ts.map +1 -0
- package/dist/src/workflow-v2/localProcessChild.js +305 -0
- package/dist/src/workflow-v2/localProcessChild.js.map +1 -0
- package/dist/src/workflow-v2/router.d.ts +10 -0
- package/dist/src/workflow-v2/router.d.ts.map +1 -0
- package/dist/src/workflow-v2/router.js +28 -0
- package/dist/src/workflow-v2/router.js.map +1 -0
- package/dist/src/workflow-v2/trustedCompatibilityExecutor.d.ts +17 -0
- package/dist/src/workflow-v2/trustedCompatibilityExecutor.d.ts.map +1 -0
- package/dist/src/workflow-v2/trustedCompatibilityExecutor.js +159 -0
- package/dist/src/workflow-v2/trustedCompatibilityExecutor.js.map +1 -0
- package/dist/src/workflow-v2/types.d.ts +67 -0
- package/dist/src/workflow-v2/types.d.ts.map +1 -0
- package/dist/src/workflow-v2/types.js +2 -0
- package/dist/src/workflow-v2/types.js.map +1 -0
- package/package.json +124 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on Keep a Changelog, with automated updates from GitHub Releases.
|
|
6
|
+
|
|
7
|
+
## v0.4.7 - 2026-07-12
|
|
8
|
+
|
|
9
|
+
### GUI
|
|
10
|
+
|
|
11
|
+
- Hide incomplete Settings panels (**Profile**, **Browser**, **Computer control**, dedicated **Worktrees**) from the sidebar; markup and handlers remain in the codebase for a later release.
|
|
12
|
+
- Hide the main **Agent** region nav entry (team graph UI) the same way — code retained, not deleted.
|
|
13
|
+
- Settings sidebar notes which surfaces are still under development in this release.
|
|
14
|
+
|
|
15
|
+
### Still under development (not product-ready in 0.4.7)
|
|
16
|
+
|
|
17
|
+
- Main **Agent** / team-graph region UI
|
|
18
|
+
- Settings: **Profile**, **Browser**, **Computer control**, dedicated **Worktrees** tab
|
|
19
|
+
- Keyboard shortcut remapping (reference list only)
|
|
20
|
+
- Full 1.0 runtime/package surface (tracked as unreleased below)
|
|
21
|
+
|
|
22
|
+
### Notes
|
|
23
|
+
|
|
24
|
+
- This release stays on the **0.4.x** line. **1.0.0 is not published yet.**
|
|
25
|
+
|
|
26
|
+
## Unreleased — v1.0.0 (not published)
|
|
27
|
+
|
|
28
|
+
> Draft notes for a future 1.0.0. Do not treat this section as shipped.
|
|
29
|
+
|
|
30
|
+
### Stable SDK contracts
|
|
31
|
+
|
|
32
|
+
### Stable SDK contracts
|
|
33
|
+
|
|
34
|
+
- Added responsibility-based public subpaths: `/core`, `/providers`, `/runtime`, `/events`, `/surfaces`, `/orchestration`, `/workflow`, `/profiles`, `/node`, and `/compat`.
|
|
35
|
+
- Added provider-neutral canonical items, immutable `AgentSpec`, structured output, guardrails, aggregate usage, and versioned run errors.
|
|
36
|
+
- Added `ModelProvider`, capability preflight, registry/transport contracts, and OpenAI Responses, OpenAI Chat compatibility, and Anthropic adapters.
|
|
37
|
+
- Added `AgentRuntime`, fixed-stage middleware, lazy `RuntimeServices`, bounded streaming, unified cancellation/deadlines, tool policy, interruption, checkpoint, and resume contracts.
|
|
38
|
+
- Reserved model/tool terminals now fail closed when middleware omits `next()`; model rewrites are post-validated, while ToolRunner parses once, freezes the validated result, and rejects wrapper replacement so capability/policy/schema invariants cannot be bypassed.
|
|
39
|
+
- Added a fair, abort-aware top-level runtime concurrency gate; acceptance now covers 100 same-session turns and 1000 independent sessions without exceeding the configured provider concurrency.
|
|
40
|
+
- GUI issue dispatch now persists a durable child/checkpoint before executing the legacy session adapter, with SQLite query/resume across coordinator restart and no second SDK/runtime instance.
|
|
41
|
+
|
|
42
|
+
### Durable state and orchestration
|
|
43
|
+
|
|
44
|
+
- Added tenant-scoped SQLite session, checkpoint, memory, artifact, and durable child stores with CAS and append-only item journals.
|
|
45
|
+
- Added backup-first JSON v1 migration with canonical message conversion, migration ledger/idempotency, transaction rollback, legacy run filtering, and runtime cutover coverage.
|
|
46
|
+
- Added agent-as-tool, handoff, durable background spawn, run-tree cancellation, inherited budget/policy/workspace/trace scope, workflow graph/reducer, and team/router/reviewer/swarm presets.
|
|
47
|
+
- Explicit handoff now invokes the source runtime's `beforeHandoff` stage before child execution and ownership transfer; model-produced handoff items are not implicitly dispatched.
|
|
48
|
+
- Split trusted compatibility workflow execution from fail-closed untrusted process/sandbox execution.
|
|
49
|
+
|
|
50
|
+
### Agent profiles and product surfaces
|
|
51
|
+
|
|
52
|
+
- Added chat, coding, research, workflow, supervisor, and background profiles sharing one runtime contract.
|
|
53
|
+
- Added versioned `RunEvent` processing, redaction, trace propagation, OpenTelemetry-compatible export, and shared CLI/TUI/GUI/Bridge semantics.
|
|
54
|
+
- Added `AgentRuntimeBridgeAdapter`, a thin Bridge projection over an existing runtime that owns no duplicate provider or service container.
|
|
55
|
+
- Retained the 0.x root API and `createAgentSdk` as the 1.x compatibility façade, with provider adapters and local opt-in migration diagnostics.
|
|
56
|
+
|
|
57
|
+
### Reliability, security, and release gates
|
|
58
|
+
|
|
59
|
+
- Fixed same-session concurrency, bounded queue cancellation, side-effect retry safety, MCP configuration identity/catalog caching, team permission inheritance, work directory persistence, and usage aggregation.
|
|
60
|
+
- Windows provider detection no longer executes `.cmd`/`.bat` shims for best-effort version display, preventing descendant leaks when the host denies process-tree termination; availability remains detectable and version is reported as unknown.
|
|
61
|
+
- Added Node.js 22.13+/24 support policy, exact minimum-version CI gates, `SECURITY.md`, threat/failure policy, ten ADRs, migration/cutover/rollback guidance, and a 1.0 migration guide. The 22.13 floor reflects when `node:sqlite` became available without a host process flag.
|
|
62
|
+
- Added runtime performance benchmarks, public API snapshots, package subpath clean-import verification, package dry-run, SDK layer coverage gates, and Node/OS CI matrices.
|
|
63
|
+
|
|
64
|
+
### Compatibility notes
|
|
65
|
+
|
|
66
|
+
- Node.js 18/20 and Node.js 22.0–22.4 are no longer supported.
|
|
67
|
+
- Unknown legacy provider blocks remain durable for audit but are not replayed into a different provider's active transcript.
|
|
68
|
+
- Local process workflow isolation is not an adversarial multi-tenant sandbox.
|
|
69
|
+
|
|
70
|
+
## v0.4.0 - 2026-06-15
|
|
71
|
+
|
|
72
|
+
### Features
|
|
73
|
+
|
|
74
|
+
- **Subagent infrastructure**: `Agent`/`Task` tool with Task compatibility alias, persistent sessions, and `SendMessage` continuation
|
|
75
|
+
- **Background agents**: automatic completion notifications, progress tracking, cancellation, and lifecycle reconciliation
|
|
76
|
+
- **Markdown agent definitions**: user-level (`~/.actoviq/agents/`) and project-level (`.actoviq/agents/`) `.md` files with tool/skill/permission/MCP/effort controls
|
|
77
|
+
- **Worktree isolation**: `isolation: "worktree"` for parallel agents editing overlapping files; dirty worktrees retained, clean ones auto-removed
|
|
78
|
+
- **Nested delegation controls**: configurable depth limit (`maxSubagentDepth`), fanout limit (`maxSubagentFanout`), and per-definition allowed agents
|
|
79
|
+
- **Built-in agent definitions**: Explore, Plan, and general-purpose agents with Claude Code-compatible profiles
|
|
80
|
+
- **Windows Bash tool**: now uses Git Bash for POSIX commands on Windows
|
|
81
|
+
- **TUI**: full-screen terminal UI (`actoviq-tui`) with session management, permission mode switching, and provider configuration
|
|
82
|
+
- **Model tiers**: `min`/`medium`/`max` tier resolution with `ACTVIQ_DEFAULT_{TIER}_MODEL` env vars
|
|
83
|
+
- **Enhanced Agent tool prompt**: Claude Code-level subagent guidance (foreground/background, parallel delegation, "never delegate understanding")
|
|
84
|
+
|
|
85
|
+
### Bug Fixes
|
|
86
|
+
|
|
87
|
+
- `close()` now tolerates individual cleanup failures instead of bailing on first error
|
|
88
|
+
- `isGitWorkspaceDirty`: added 10s timeout, returns false on error to prevent worktree leaks
|
|
89
|
+
- Background task `cancel()`: re-reads store after abort to prevent TOCTOU race with terminal state
|
|
90
|
+
- `forwardStreamResult`: captures both pump and result errors instead of silently losing one
|
|
91
|
+
- Agent definition loader: logs a warning for malformed `.md` files instead of silently skipping them
|
|
92
|
+
- `encodeActoviqProjectPath` test made platform-aware (was hardcoded to Windows paths)
|
|
93
|
+
|
|
94
|
+
### Benchmark
|
|
95
|
+
|
|
96
|
+
- New cases: `workflow-agent-continuation` (SendMessage + background), `workflow-multi-module-parallel` (3-way parallel subagents)
|
|
97
|
+
- Complex suite: 10/10 all three runtimes pass (Clean 0.993, Bridge 0.992, Official 0.960)
|
|
98
|
+
- Long suite: 4/5 Clean and Bridge, 5/5 Official (`release-train-reconciliation` remains systemic weak point)
|
|
99
|
+
- Multi-module-parallel: Clean 1.000 (3 parallel background subagents), Bridge 0.996, Official 0.953
|
|
100
|
+
|
|
101
|
+
### TUI Branding
|
|
102
|
+
|
|
103
|
+
- Display name changed from `Actoviq TUI` to `Hadamard Agent` (3 visible strings; all internal names, env vars, and config paths unchanged)
|
|
104
|
+
|
|
105
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.3.1...v0.4.0
|
|
106
|
+
|
|
107
|
+
## v0.3.1 - 2026-06-11
|
|
108
|
+
|
|
109
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.3.0...v0.3.1
|
|
110
|
+
|
|
111
|
+
## v0.3.0 - 2026-05-11
|
|
112
|
+
|
|
113
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/commits/v0.3.0
|
|
114
|
+
|
|
115
|
+
## v0.2.0 - 2026-05-08
|
|
116
|
+
|
|
117
|
+
### Breaking Changes
|
|
118
|
+
|
|
119
|
+
- **`WorkflowBuilder.step()`** signature changed from 5 params `(id, name, description, prompt, opts?)` to 4 params `(id, description, prompt, opts?)`. The `name` field is removed — `description` now serves as the display name.
|
|
120
|
+
- **`WorkflowStepDefinition`** removed `name` field. Use `description` for human-readable display names.
|
|
121
|
+
|
|
122
|
+
### Features
|
|
123
|
+
|
|
124
|
+
- **Workflow orchestration engine** with DAG execution, topological sort, and parallel step execution
|
|
125
|
+
- **Builder DSL** (`sdk.workflow.define(...).step(...).run()`) and **JSON API** dual design paths
|
|
126
|
+
- **Agent-orchestrated workflows**: Agent designs and executes workflow JSON via a `run_workflow` custom tool
|
|
127
|
+
- **Tool registry pattern** (`sdk.getTool(name)`) enabling JSON-defined workflows to reference tools by name
|
|
128
|
+
- **Step mode**: `'react'` (default, full tool loop) or `'single'` (no tool use, `tool_choice: none`)
|
|
129
|
+
- **Variable interpolation** in step prompts: `$steps.<id>.text`, `$steps.<id>.toolCalls`, `$PARAM_NAME`
|
|
130
|
+
- **`parallel()`** and **`race()`** primitives for concurrent task execution
|
|
131
|
+
- **`SessionManager`** with idle timeout, auto-prune, stats, and lifecycle management
|
|
132
|
+
- **Session checkpoints**: `saveCheckpoint()`, `restoreCheckpoint()`, `listCheckpoints()`, `deleteCheckpoint()`
|
|
133
|
+
- **OpenAI protocol compatibility**: new `provider: 'openai'` option in `createAgentSdk()`. Use OpenAI, DeepSeek, or any OpenAI-compatible API with the same SDK surface. Automatic Anthropic ↔ OpenAI format translation.
|
|
134
|
+
- **Alignment with Claude Code architecture**: tool self-declaration (isReadOnly/isDestructive/checkPermissions), canUseTool callback, compaction layered defense + circuit breaker, post-compaction context restoration, stop hooks system
|
|
135
|
+
- Session lifecycle management: idle timeout, prune by age/status, close idle
|
|
136
|
+
|
|
137
|
+
### Docs
|
|
138
|
+
|
|
139
|
+
- Added agent-orchestrated workflow section (1.2) to EN and ZH tutorial docs
|
|
140
|
+
- Documented OpenAI protocol configuration in setup/quickstart (EN + ZH)
|
|
141
|
+
|
|
142
|
+
### Examples
|
|
143
|
+
|
|
144
|
+
- Added `workflow-annotated.ts` — annotated walkthrough of every API parameter
|
|
145
|
+
- Added `workflow-agent-orchestration.ts` — Agent autonomously designs and executes workflows
|
|
146
|
+
- Added `actoviq-platform.ts` — consolidated workspaces + swarm + session memory + dream
|
|
147
|
+
- Removed 8 redundant examples (buddy, computer-use, dream, memory, session-memory, skills, swarm, workspaces)
|
|
148
|
+
- 12 focused examples remaining
|
|
149
|
+
|
|
150
|
+
### Fixes
|
|
151
|
+
|
|
152
|
+
- 18 bugs across provider layer, runtime, and workflow engine
|
|
153
|
+
- Missing public API exports (trackRecentFile, resolveActoviqStopHooks, etc.)
|
|
154
|
+
|
|
155
|
+
### Internal
|
|
156
|
+
|
|
157
|
+
- Fixed regex for hyphenated step IDs in variable interpolation (`\w+` → `[\w-]+`)
|
|
158
|
+
- Defensive `?.` checks on optional `dependsOn` and `steps` fields across workflow engine
|
|
159
|
+
- `getTool()` public method on `ActoviqAgentClient` for tool registry lookup
|
|
160
|
+
|
|
161
|
+
## v0.1.12 - 2026-05-06
|
|
162
|
+
|
|
163
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.11...v0.1.12
|
|
164
|
+
|
|
165
|
+
## v0.1.11 - 2026-04-04
|
|
166
|
+
|
|
167
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.9...v0.1.11
|
|
168
|
+
|
|
169
|
+
## v0.1.10 - 2026-04-03
|
|
170
|
+
|
|
171
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.9...v0.1.10
|
|
172
|
+
|
|
173
|
+
## v0.1.9 - 2026-04-03
|
|
174
|
+
|
|
175
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.8...v0.1.9
|
|
176
|
+
|
|
177
|
+
## v0.1.8 - 2026-04-03
|
|
178
|
+
|
|
179
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.7...v0.1.8
|
|
180
|
+
|
|
181
|
+
## v0.1.7 - 2026-04-02
|
|
182
|
+
|
|
183
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.6...v0.1.7
|
|
184
|
+
|
|
185
|
+
## v0.1.6 - 2026-04-02
|
|
186
|
+
|
|
187
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.5...v0.1.6
|
|
188
|
+
|
|
189
|
+
## v0.1.5 - 2026-04-02
|
|
190
|
+
|
|
191
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.4...v0.1.5
|
|
192
|
+
|
|
193
|
+
## v0.1.4 - 2026-04-02
|
|
194
|
+
|
|
195
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.3...v0.1.4
|
|
196
|
+
|
|
197
|
+
## v0.1.3 - 2026-04-01
|
|
198
|
+
|
|
199
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.2...v0.1.3
|
|
200
|
+
|
|
201
|
+
## v0.1.2 - 2026-04-01
|
|
202
|
+
|
|
203
|
+
**Full Changelog**: https://github.com/DeconBear/actoviq-agent-sdk/compare/v0.1.1...v0.1.2
|
package/README-zh.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
文档站地址:https://deconbear.github.io/actoviq-agent-sdk/
|
|
11
11
|
|
|
12
|
-
**Actoviq
|
|
12
|
+
**Actoviq**(`0.4.x`)是 TypeScript agent SDK 与 agent-team 平台,含 TUI、GUI、Bridge 与多 agent 协作。未来的 **1.0** 线将稳定 package subpath 契约;该表面**尚未发布**。GUI 仍隐藏部分开发中面板(详见 `CHANGELOG.md` 的 0.4.7)。
|
|
13
13
|
|
|
14
14
|
受 Claude Code、Codex、Deepagents 等项目启发。Actoviq 保持独立,拥有自己的公开 API 与文档。
|
|
15
15
|
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
|
|
22
22
|
## 亮点
|
|
23
23
|
|
|
24
|
-
- **Model Team** — `panel-analysis`(并行调查 + 收敛)和 `reviewer
|
|
24
|
+
- **Model Team** — `panel-analysis`(并行调查 + 收敛)和 `reviewer`(只报告可验证问题的审计者)。runtime-owned 成员池、流式 `TeamEvent`、成员 provider 配置,以及继承的权限/重试边界。
|
|
25
25
|
- **Model Router / Leader-Dispatch** — 每轮由 leader 分派到最佳 specialist(任意模型/提供商),执行者自身也可召集 team。Profile 位于 `~/.actoviq/routers/`。
|
|
26
|
-
- **Dynamic Workflows** — JS
|
|
26
|
+
- **Dynamic Workflows** — 显式信任等级的 JS 编排:trusted 兼容执行、隔离 local-process,或由 host 提供的远程/container 强 sandbox;local process 不宣传为对抗性多租户沙箱。
|
|
27
27
|
- **Bridge(命名连接配置)** — 进程内运行时切换:预配置 `anthropic`/`openai` 后端,命名 + apiKey + baseURL + model,命名切换,多轮上下文保留。`/bridge config` 单页编辑器;`/bridge` 列出已保存配置;`/cost` 中按配置展示用量。
|
|
28
28
|
- **桌面 GUI (`actoviq-gui`)** — Electron 聊天 UI:流式 transcript、对话历史、命令面板、设置、每工具权限提示。安全增强。
|
|
29
29
|
- **TUI (`actoviq-tui`)** — 终端 UI,25+ 斜杠命令,Claude Code 风格 UX:`/team`、`/bridge`、`/plan`、`/hooks`、`/mcp`、`/review`、`/context`、`/cost`、`/doctor` 等。实时状态旋转器、滚动 transcript、todo 面板、项目/用户级权限对话框、子命令自动补全。
|
|
@@ -32,6 +32,16 @@
|
|
|
32
32
|
- **TavilySearch** — AI 优化网络搜索,纯 TypeScript。
|
|
33
33
|
- **Standard Benchmark** — 自包含框架,DeepSeek judge,HTML dashboard,4-agent 对比。
|
|
34
34
|
|
|
35
|
+
## 1.0 SDK 架构
|
|
36
|
+
|
|
37
|
+
- `core`:不可变 `AgentSpec`、canonical items、structured output、guardrail、usage 与 run error。
|
|
38
|
+
- `providers`:统一 `ModelProvider` contract,以及 capability-checked OpenAI Responses、OpenAI Chat-compatible、Anthropic adapter。
|
|
39
|
+
- `runtime`:单一 `AgentRuntime`、lazy `RuntimeServices`、固定阶段 middleware、tool/policy、有界 stream、checkpoint、interruption/resume。
|
|
40
|
+
- `node`:tenant-scoped SQLite session/checkpoint/memory/artifact store 与 backup-first JSON v1 migration。
|
|
41
|
+
- `events` / `surfaces`:版本化、可 trace 的 `RunEvent`,以及统一 CLI/TUI/GUI/Bridge 语义和 redaction。
|
|
42
|
+
- `orchestration` / `workflow` / `profiles`:agent-as-tool、handoff、durable spawn、graph/preset、workflow trust 与六类 profile。
|
|
43
|
+
- `compat`:0.x root façade 与迁移 adapter,在整个 1.x 保留。
|
|
44
|
+
|
|
35
45
|
## 路线图 — 迈向 agent team
|
|
36
46
|
|
|
37
47
|
- **Swarm 协作** — 基于邮箱的 agent 间通信、任务队列、共享知识图谱。
|
|
@@ -41,6 +51,9 @@
|
|
|
41
51
|
|
|
42
52
|
## 安装
|
|
43
53
|
|
|
54
|
+
要求 Node.js 22.13+ 或 Node.js 24。Node 22.5–22.12 的 `node:sqlite` 仍要求宿主进程 flag,
|
|
55
|
+
因此不属于默认 Runtime 支持范围。
|
|
56
|
+
|
|
44
57
|
```bash
|
|
45
58
|
npm install actoviq-agent-sdk zod
|
|
46
59
|
```
|
|
@@ -53,36 +66,41 @@ npm install actoviq-agent-sdk zod
|
|
|
53
66
|
|
|
54
67
|
也可以使用 `loadJsonConfigFile(...)` 预加载自定义 JSON 文件。
|
|
55
68
|
|
|
56
|
-
##
|
|
69
|
+
## 快速开始(1.0 runtime)
|
|
57
70
|
|
|
58
71
|
```ts
|
|
59
|
-
import {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const sdk = await createAgentSdk({
|
|
68
|
-
provider: 'openai',
|
|
69
|
-
baseURL: 'https://api.deepseek.com',
|
|
70
|
-
model: 'deepseek-chat',
|
|
72
|
+
import type { AgentSpec } from 'actoviq-agent-sdk/core';
|
|
73
|
+
import { ModelRegistry, OpenAIResponsesProvider } from 'actoviq-agent-sdk/providers';
|
|
74
|
+
import { AgentRuntime } from 'actoviq-agent-sdk/runtime';
|
|
75
|
+
|
|
76
|
+
const runtime = new AgentRuntime({
|
|
77
|
+
models: new ModelRegistry([
|
|
78
|
+
new OpenAIResponsesProvider({ apiKey: process.env.OPENAI_API_KEY }),
|
|
79
|
+
]),
|
|
71
80
|
});
|
|
81
|
+
const agent: AgentSpec = {
|
|
82
|
+
id: 'concise-chat',
|
|
83
|
+
name: 'Concise chat',
|
|
84
|
+
instructions: '请用一句话回答。',
|
|
85
|
+
model: 'openai-responses:gpt-4.1-mini',
|
|
86
|
+
};
|
|
72
87
|
|
|
73
88
|
try {
|
|
74
|
-
const result = await
|
|
75
|
-
console.log(result.
|
|
89
|
+
const result = await runtime.run(agent, '什么是 CAS?');
|
|
90
|
+
console.log(result.output, result.usage.totalTokens);
|
|
76
91
|
} finally {
|
|
77
|
-
await
|
|
92
|
+
await runtime.close();
|
|
78
93
|
}
|
|
79
94
|
```
|
|
80
95
|
|
|
96
|
+
0.x 应用可继续从 package root 或 `/compat` 导入 `createAgentSdk`。新应用应使用上述职责 subpath;迁移步骤见 [1.0 迁移指南](./docs/zh/09-sdk-v2-migration-guide.md)。
|
|
97
|
+
|
|
81
98
|
运行仓库示例:
|
|
82
99
|
|
|
83
100
|
```bash
|
|
84
101
|
npm run example:actoviq-quickstart
|
|
85
102
|
npm run example:actoviq-agent-helpers
|
|
103
|
+
npm run example:profiles
|
|
86
104
|
```
|
|
87
105
|
|
|
88
106
|
## CLI REPL
|
|
@@ -116,6 +134,13 @@ npx actoviq-tui [工作目录] [选项]
|
|
|
116
134
|
npx actoviq-gui [工作目录] [选项]
|
|
117
135
|
```
|
|
118
136
|
|
|
137
|
+
- Project 详情提供 `Document` / `Issues` 双 Tab。Issue 支持优先级、标签、验收标准、评论,以及受守卫保护的 `backlog → todo → in_progress → in_review/blocked → done` 生命周期。
|
|
138
|
+
- Settings → Models & routing 可创建 Agent Profile,将 bridge config 与模型绑定。`/issues start <id> [agent-profile]` 会先让 Project Manager 生成任务书,再创建关联会话;执行 agent 通过 `IssueReport` 汇报待审或阻塞状态。
|
|
139
|
+
- Issue 与会话可双向跳转。Issue 默认保存在 `<data-root>/projects/<workspace-key>/issues.json`,也可切换到受保护的工作区文件 `.actoviq/issues.json`。
|
|
140
|
+
- Settings → General 可将完整数据根目录迁移到空目录:复制并校验数据、写入 bootstrap 指针、重建 SDK/session store,并保留旧目录供手动清理。
|
|
141
|
+
|
|
142
|
+
数据根目录解析优先级为:显式 SDK `homeDir` → `ACTOVIQ_HOME` → `~/.actoviq/data-root.json` → `~/.actoviq`。
|
|
143
|
+
|
|
119
144
|
## 开发者笔记
|
|
120
145
|
|
|
121
146
|
- **启动 CLI/GUI 前构建:** `npm run build`(clean + `tsc`)。仅类型检查用 `npm run typecheck`;运行测试套件用 `npm test -- --run`。
|
|
@@ -133,6 +158,16 @@ npx actoviq-gui [工作目录] [选项]
|
|
|
133
158
|
- [examples/actoviq-quickstart.ts](./examples/actoviq-quickstart.ts)
|
|
134
159
|
- [examples/actoviq-workflow.ts](./examples/actoviq-workflow.ts)
|
|
135
160
|
- [examples/actoviq-agent-helpers.ts](./examples/actoviq-agent-helpers.ts)
|
|
161
|
+
- [examples/profiles/all-profiles.ts](./examples/profiles/all-profiles.ts)
|
|
162
|
+
|
|
163
|
+
架构与运维文档:
|
|
164
|
+
|
|
165
|
+
- [架构审计与实施规划](./docs/zh/08-sdk-architecture-audit-and-optimization-plan.md)
|
|
166
|
+
- [1.0 迁移指南](./docs/zh/09-sdk-v2-migration-guide.md)
|
|
167
|
+
- [支持、安全、SemVer 与 failure model](./docs/zh/10-support-security-semver-and-failure-model.md)
|
|
168
|
+
- [JSON v1 → SQLite 迁移 Runbook](./docs/zh/11-json-v1-to-sqlite-migration-runbook.md)
|
|
169
|
+
- [1.0 实施与端到端验收报告](./docs/zh/12-sdk-1.0-implementation-and-verification-report.md)
|
|
170
|
+
- [安全报告政策](./SECURITY.md)
|
|
136
171
|
|
|
137
172
|
## 参与贡献
|
|
138
173
|
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
Documentation site: https://deconbear.github.io/actoviq-agent-sdk/
|
|
11
11
|
|
|
12
|
-
**Actoviq** is
|
|
12
|
+
**Actoviq** (`0.4.x`) is a TypeScript agent SDK and agent-team platform with TUI, GUI, Bridge, and multi-agent collaboration. A future **1.0** line will stabilize package subpath contracts; that surface is **not published yet**. The GUI still hides some under-development panels (see `CHANGELOG.md` for 0.4.7).
|
|
13
13
|
|
|
14
14
|
Inspired by Claude Code, Codex, Deepagents, and the broader agent ecosystem. Actoviq remains independent with its own public surface and documentation.
|
|
15
15
|
|
|
@@ -21,9 +21,9 @@ Inspired by Claude Code, Codex, Deepagents, and the broader agent ecosystem. Act
|
|
|
21
21
|
|
|
22
22
|
## Highlights
|
|
23
23
|
|
|
24
|
-
- **Model Team** — `panel-analysis` (parallel investigation + convergence) and `reviewer` (verifiable-issues-only auditor).
|
|
24
|
+
- **Model Team** — `panel-analysis` (parallel investigation + convergence) and `reviewer` (verifiable-issues-only auditor). Runtime-owned member pooling, streamed `TeamEvent`s, per-member provider config, and inherited permission/retry boundaries.
|
|
25
25
|
- **Model Router / Leader-Dispatch** — a leader classifies each turn and dispatches it to the best specialist route (any model/provider), runs normally, and the executor may itself convene a team. Profiles in `~/.actoviq/routers/`.
|
|
26
|
-
- **Dynamic Workflows** — JS script-based
|
|
26
|
+
- **Dynamic Workflows** — JS script-based orchestration with explicit trust levels: trusted compatibility execution, isolated local-process execution, or a host-supplied remote/container sandbox for adversarial inputs.
|
|
27
27
|
- **Bridge (named connection configs)** — in-process runtime switching: pre-configure `anthropic`/`openai` backends with name + apiKey + baseURL + model, switch by name mid-session, multi-turn context survives (same session). `/bridge config` single-page editor; `/bridge` lists saved configs; per-config usage tracking in `/cost`.
|
|
28
28
|
- **Desktop GUI (`actoviq-gui`)** — Electron chat UI: streamed transcript, conversation history, command palette, settings, per-tool permission prompts. Security-hardened.
|
|
29
29
|
- **TUI (`actoviq-tui`)** — Terminal UI with 25+ slash commands, Claude Code-style UX: `/team`, `/bridge`, `/plan`, `/hooks`, `/mcp`, `/review`, `/context`, `/cost`, `/doctor`, and more. Live status spinner, scrollback transcript, todo panel, permission dialogs with project/user scope, sub-command autocomplete.
|
|
@@ -32,6 +32,16 @@ Inspired by Claude Code, Codex, Deepagents, and the broader agent ecosystem. Act
|
|
|
32
32
|
- **TavilySearch** — AI-optimized web search, pure TypeScript.
|
|
33
33
|
- **Standard Benchmark** — Self-contained framework with DeepSeek judge, HTML dashboard, 4-agent comparison.
|
|
34
34
|
|
|
35
|
+
## 1.0 SDK architecture
|
|
36
|
+
|
|
37
|
+
- `core`: immutable `AgentSpec`, canonical input/output items, structured output, guardrails, usage, and run errors.
|
|
38
|
+
- `providers`: capability-checked OpenAI Responses, OpenAI Chat-compatible, and Anthropic adapters behind one `ModelProvider` contract.
|
|
39
|
+
- `runtime`: one `AgentRuntime`, lazy `RuntimeServices`, fixed-stage middleware, tools/policy, bounded streams, checkpoints, interruption, and resume.
|
|
40
|
+
- `node`: tenant-scoped SQLite session/checkpoint/memory/artifact stores and backup-first JSON v1 migration.
|
|
41
|
+
- `events` and `surfaces`: versioned traceable `RunEvent`s plus shared CLI/TUI/GUI/Bridge semantics and redaction.
|
|
42
|
+
- `orchestration`, `workflow`, and `profiles`: agent-as-tool, handoff, durable spawn, graphs/presets, explicit workflow trust, and six composable agent profiles.
|
|
43
|
+
- `compat`: the 0.x root façade and migration adapters, retained throughout the 1.x line.
|
|
44
|
+
|
|
35
45
|
## Roadmap — toward agent teams
|
|
36
46
|
|
|
37
47
|
- **Swarm coordination** — mailbox-based inter-agent communication, task queues, shared knowledge graph.
|
|
@@ -41,6 +51,10 @@ Inspired by Claude Code, Codex, Deepagents, and the broader agent ecosystem. Act
|
|
|
41
51
|
|
|
42
52
|
## Install
|
|
43
53
|
|
|
54
|
+
Node.js 22.13+ or Node.js 24 is required. Node 22.5–22.12 exposes
|
|
55
|
+
`node:sqlite` only behind a process flag and is therefore outside the default
|
|
56
|
+
runtime support contract.
|
|
57
|
+
|
|
44
58
|
```bash
|
|
45
59
|
npm install actoviq-agent-sdk zod
|
|
46
60
|
```
|
|
@@ -53,36 +67,41 @@ For local examples, place your config at:
|
|
|
53
67
|
|
|
54
68
|
You can also preload a custom JSON file with `loadJsonConfigFile(...)`.
|
|
55
69
|
|
|
56
|
-
## Quick Start
|
|
70
|
+
## Quick Start (1.0 runtime)
|
|
57
71
|
|
|
58
72
|
```ts
|
|
59
|
-
import {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const sdk = await createAgentSdk({
|
|
68
|
-
provider: 'openai',
|
|
69
|
-
baseURL: 'https://api.deepseek.com',
|
|
70
|
-
model: 'deepseek-chat',
|
|
73
|
+
import type { AgentSpec } from 'actoviq-agent-sdk/core';
|
|
74
|
+
import { ModelRegistry, OpenAIResponsesProvider } from 'actoviq-agent-sdk/providers';
|
|
75
|
+
import { AgentRuntime } from 'actoviq-agent-sdk/runtime';
|
|
76
|
+
|
|
77
|
+
const runtime = new AgentRuntime({
|
|
78
|
+
models: new ModelRegistry([
|
|
79
|
+
new OpenAIResponsesProvider({ apiKey: process.env.OPENAI_API_KEY }),
|
|
80
|
+
]),
|
|
71
81
|
});
|
|
82
|
+
const agent: AgentSpec = {
|
|
83
|
+
id: 'concise-chat',
|
|
84
|
+
name: 'Concise chat',
|
|
85
|
+
instructions: 'Answer in one short sentence.',
|
|
86
|
+
model: 'openai-responses:gpt-4.1-mini',
|
|
87
|
+
};
|
|
72
88
|
|
|
73
89
|
try {
|
|
74
|
-
const result = await
|
|
75
|
-
console.log(result.
|
|
90
|
+
const result = await runtime.run(agent, 'What is compare-and-swap?');
|
|
91
|
+
console.log(result.output, result.usage.totalTokens);
|
|
76
92
|
} finally {
|
|
77
|
-
await
|
|
93
|
+
await runtime.close();
|
|
78
94
|
}
|
|
79
95
|
```
|
|
80
96
|
|
|
97
|
+
Existing 0.x applications may keep importing `createAgentSdk` from the package root or `/compat`. See the [1.0 migration guide](./docs/zh/09-sdk-v2-migration-guide.md); new applications should use the responsibility subpaths above.
|
|
98
|
+
|
|
81
99
|
Run the repository examples with:
|
|
82
100
|
|
|
83
101
|
```bash
|
|
84
102
|
npm run example:actoviq-quickstart
|
|
85
103
|
npm run example:actoviq-agent-helpers
|
|
104
|
+
npm run example:profiles
|
|
86
105
|
```
|
|
87
106
|
|
|
88
107
|
## CLI REPL
|
|
@@ -161,9 +180,14 @@ It opens an Electron window backed by a localhost-only HTTP server. Features:
|
|
|
161
180
|
- **Conversation history on resume** — opening or switching a chat replays its stored messages
|
|
162
181
|
- **Command palette + slash commands**, settings (provider / model / keys / appearance), workspace switching, and empty-chat cleanup
|
|
163
182
|
- **Per-tool permission prompts** (queued so concurrent requests don't collide) and a token-usage readout
|
|
183
|
+
- **Project Documents + Issues** — each Project detail page has `Document` and `Issues` tabs. Issues use the guarded `backlog → todo → in_progress → in_review/blocked → done` lifecycle, support priorities, labels, acceptance criteria, comments, and links back to their worker sessions.
|
|
184
|
+
- **Agent Profiles for issue dispatch** — Settings → Models & routing can bind a named profile to a saved bridge config and model. `/issues start <id> [agent-profile]` asks the Project Manager for a worker brief, starts a linked session without changing the globally active runtime, and requires the worker to report through `IssueReport`.
|
|
185
|
+
- **Movable data root** — Settings → General can copy the complete Actoviq data root to an empty directory, validate it, write the bootstrap pointer, rebuild the SDK/session store, and retain the previous directory for manual cleanup.
|
|
164
186
|
|
|
165
187
|
**Security model:** the internal API is reachable only from loopback (Host + Origin allowlist, which defeats DNS-rebinding / CSRF) and requires a per-process token; the page ships a strict Content-Security-Policy. Electron runs with `sandbox`, `contextIsolation`, and no `nodeIntegration`.
|
|
166
188
|
|
|
189
|
+
Actoviq resolves its data root in this order: an explicit SDK `homeDir`, `ACTOVIQ_HOME`, `~/.actoviq/data-root.json`, then `~/.actoviq`. Project issues default to `<data-root>/projects/<workspace-key>/issues.json`; a project can instead use the protected workspace file `.actoviq/issues.json`.
|
|
190
|
+
|
|
167
191
|
> `electron` and `bun` are **optional** dependencies — installed only if you use the GUI / bridge runtime. The core SDK does not require them.
|
|
168
192
|
>
|
|
169
193
|
> **Bridge env overrides:** `ACTOVIQ_CLAUDE_PATH`, `ACTOVIQ_PI_PATH`, … (one per provider) to point the bridge at a specific runtime binary when it's not on `PATH`. See `docs/en/05-bridge-runtime.md`.
|
|
@@ -187,6 +211,16 @@ Start with these examples:
|
|
|
187
211
|
- [examples/actoviq-quickstart.ts](./examples/actoviq-quickstart.ts)
|
|
188
212
|
- [examples/actoviq-workflow.ts](./examples/actoviq-workflow.ts)
|
|
189
213
|
- [examples/actoviq-agent-helpers.ts](./examples/actoviq-agent-helpers.ts)
|
|
214
|
+
- [examples/profiles/all-profiles.ts](./examples/profiles/all-profiles.ts)
|
|
215
|
+
|
|
216
|
+
Architecture and operations:
|
|
217
|
+
|
|
218
|
+
- [Architecture audit and implementation plan](./docs/zh/08-sdk-architecture-audit-and-optimization-plan.md)
|
|
219
|
+
- [1.0 migration guide](./docs/zh/09-sdk-v2-migration-guide.md)
|
|
220
|
+
- [Support, security, SemVer, and failure model](./docs/zh/10-support-security-semver-and-failure-model.md)
|
|
221
|
+
- [JSON v1 to SQLite migration runbook](./docs/zh/11-json-v1-to-sqlite-migration-runbook.md)
|
|
222
|
+
- [1.0 implementation and verification report](./docs/zh/12-sdk-1.0-implementation-and-verification-report.md)
|
|
223
|
+
- [Security policy](./SECURITY.md)
|
|
190
224
|
|
|
191
225
|
## Contributing
|
|
192
226
|
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported versions
|
|
4
|
+
|
|
5
|
+
Security fixes are provided for the latest Actoviq Agent SDK 1.x minor release. The legacy root compatibility façade remains supported throughout 1.x. Node.js 22.5+ and Node.js 24 are the supported runtime lines.
|
|
6
|
+
|
|
7
|
+
## Reporting a vulnerability
|
|
8
|
+
|
|
9
|
+
Do not open a public issue for a suspected vulnerability. Use the repository's [private vulnerability reporting form](https://github.com/DeconBear/actoviq-agent-sdk/security/advisories/new). Include:
|
|
10
|
+
|
|
11
|
+
- affected version/commit, Node version, and operating system;
|
|
12
|
+
- the smallest reproducible scenario and required configuration;
|
|
13
|
+
- security boundary crossed and likely impact;
|
|
14
|
+
- whether credentials, tenant data, workspace files, or side effects are involved;
|
|
15
|
+
- any known workaround or evidence that exploitation is active.
|
|
16
|
+
|
|
17
|
+
Avoid including real credentials or private user data. If private reporting is unavailable, open a public issue containing no exploit details and ask a maintainer to establish a private channel.
|
|
18
|
+
|
|
19
|
+
The maintainers will acknowledge receipt, validate severity, coordinate remediation and disclosure, and publish an advisory when appropriate. Response targets and the full threat/failure policy are documented in [docs/zh/10-support-security-semver-and-failure-model.md](docs/zh/10-support-security-semver-and-failure-model.md).
|
|
20
|
+
|
|
21
|
+
## Security boundaries
|
|
22
|
+
|
|
23
|
+
- `LocalIsolatedProcessWorkflowExecutor` reduces ambient access but is not an adversarial multi-tenant sandbox. Use a container or remote sandbox executor for untrusted workloads.
|
|
24
|
+
- A timeout or transport error does not prove that a remote side effect did not occur. Reconcile `started` or `unknown` operations before retrying.
|
|
25
|
+
- Provider raw responses and legacy unknown blocks may contain sensitive data. They are opt-in or retained for audit and are not replayed across providers by default.
|
|
26
|
+
- Hosts remain responsible for provider credentials, exporter retention, tool permission policy, tenant identity, and workspace authorization.
|
|
Binary file
|
package/bin/actoviq-gui.js
CHANGED
|
@@ -1,15 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
3
5
|
import { createRequire } from 'node:module';
|
|
4
6
|
import { fileURLToPath } from 'node:url';
|
|
5
7
|
|
|
6
8
|
const require = createRequire(import.meta.url);
|
|
7
|
-
const
|
|
9
|
+
const rootDir = fileURLToPath(new URL('..', import.meta.url));
|
|
8
10
|
const main = fileURLToPath(new URL('../dist/src/gui/electronMain.js', import.meta.url));
|
|
11
|
+
const prepareLauncher = fileURLToPath(new URL('../scripts/prepare-gui-launcher.mjs', import.meta.url));
|
|
12
|
+
|
|
13
|
+
function resolveElectronExecutable() {
|
|
14
|
+
const electronExe = require('electron');
|
|
15
|
+
if (process.platform === 'win32') {
|
|
16
|
+
const brandedLauncher = join(dirname(electronExe), 'Actoviq.exe');
|
|
17
|
+
if (!existsSync(brandedLauncher)) {
|
|
18
|
+
const prep = spawnSync(process.execPath, [prepareLauncher], { stdio: 'inherit' });
|
|
19
|
+
if (prep.status !== 0) {
|
|
20
|
+
process.stderr.write(
|
|
21
|
+
'Actoviq: branded launcher unavailable; taskbar may show the Electron icon.\n',
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (existsSync(brandedLauncher)) return brandedLauncher;
|
|
26
|
+
}
|
|
27
|
+
return electronExe;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const electron = resolveElectronExecutable();
|
|
9
31
|
|
|
10
32
|
const child = spawn(electron, [main, ...process.argv.slice(2)], {
|
|
11
33
|
stdio: 'inherit',
|
|
12
|
-
env:
|
|
34
|
+
env: {
|
|
35
|
+
...process.env,
|
|
36
|
+
ACTOVIQ_GUI_ROOT: rootDir,
|
|
37
|
+
},
|
|
13
38
|
windowsHide: false,
|
|
14
39
|
});
|
|
15
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actoviqBuddy.d.ts","sourceRoot":"","sources":["../../../src/buddy/actoviqBuddy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,qBAAqB,EAGrB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAEhC,oBAAoB,EACpB,gBAAgB,EAEhB,iBAAiB,EAGjB,wBAAwB,EAEzB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"actoviqBuddy.d.ts","sourceRoot":"","sources":["../../../src/buddy/actoviqBuddy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,qBAAqB,EAGrB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAEhC,oBAAoB,EACpB,gBAAgB,EAEhB,iBAAiB,EAGjB,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAkPrB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEjE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAEvE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,GAAE,mBAAwB;IAEzD,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAUpE,GAAG,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIlF,KAAK,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiBxE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAU7F,IAAI,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInE,MAAM,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI/D,GAAG,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAcjF,gBAAgB,CACpB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAsB3C,kBAAkB,CACtB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAI7C,YAAY,CAChB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAG/B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAExF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import os from 'node:os';
|
|
2
1
|
import path from 'node:path';
|
|
3
2
|
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
4
3
|
import { getLoadedJsonConfig, loadJsonConfigFile } from '../config/loadJsonConfigFile.js';
|
|
4
|
+
import { resolveActoviqHome } from '../config/actoviqHome.js';
|
|
5
5
|
import { ConfigurationError } from '../errors.js';
|
|
6
6
|
import { isRecord } from '../runtime/helpers.js';
|
|
7
7
|
import { ACTOVIQ_BUDDY_EYES, ACTOVIQ_BUDDY_HATS, ACTOVIQ_BUDDY_RARITIES, ACTOVIQ_BUDDY_SPECIES, ACTOVIQ_BUDDY_STAT_NAMES, } from '../types.js';
|
|
@@ -97,7 +97,7 @@ function rollFromSeed(seed) {
|
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
function defaultBuddySettingsPath(homeDir) {
|
|
100
|
-
return path.join(homeDir, '
|
|
100
|
+
return path.join(resolveActoviqHome(homeDir), 'settings.json');
|
|
101
101
|
}
|
|
102
102
|
function parseStoredBuddy(value) {
|
|
103
103
|
if (!isRecord(value)) {
|
|
@@ -159,8 +159,7 @@ async function persistRawSettings(filePath, next) {
|
|
|
159
159
|
}
|
|
160
160
|
async function resolveBuddyContext(options = {}) {
|
|
161
161
|
const loaded = getLoadedJsonConfig();
|
|
162
|
-
const
|
|
163
|
-
const configPath = options.configPath ?? loaded?.path ?? defaultBuddySettingsPath(homeDir);
|
|
162
|
+
const configPath = options.configPath ?? loaded?.path ?? defaultBuddySettingsPath(options.homeDir);
|
|
164
163
|
const raw = loaded?.path === configPath && loaded.raw && isRecord(loaded.raw)
|
|
165
164
|
? structuredClone(loaded.raw)
|
|
166
165
|
: await readRawSettings(configPath);
|