aws-runtime-bridge 1.9.172 → 1.9.179
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 +314 -0
- package/README.md +61 -2
- package/dist/adapter/AcodeSdkAdapter.d.ts +374 -1
- package/dist/adapter/AcodeSdkAdapter.js +3 -3
- package/dist/adapter/AdapterRegistry.d.ts +28 -0
- package/dist/adapter/ClaudeSdkAdapter.d.ts +71 -0
- package/dist/adapter/CodexSdkAdapter.d.ts +14 -0
- package/dist/adapter/OpencodeSdkAdapter.d.ts +44 -0
- package/dist/adapter/acode-tool-names.d.ts +9 -0
- package/dist/adapter/idle-poll-loop.d.ts +20 -0
- package/dist/adapter/index.d.ts +3 -0
- package/dist/adapter/instance-ai-config-resolver.d.ts +20 -0
- package/dist/adapter/prompts.d.ts +12 -0
- package/dist/adapter/types.d.ts +184 -0
- package/dist/browser/browser-bootstrap.d.ts +15 -0
- package/dist/browser/browser-connect-token.d.ts +11 -0
- package/dist/browser/browser-frame-encode.d.ts +32 -0
- package/dist/browser/browser-pool.d.ts +129 -0
- package/dist/browser/browser-profile-store.d.ts +41 -0
- package/dist/browser/browser-ws-bridge.d.ts +20 -0
- package/dist/browser/built-in-browser-tools.d.ts +44 -0
- package/dist/browser/element-locator.d.ts +25 -0
- package/dist/browser/element-picker.d.ts +30 -0
- package/dist/browser/frame-encode.d.ts +19 -0
- package/dist/browser/input-dispatcher.d.ts +35 -0
- package/dist/browser/listener-store.d.ts +44 -0
- package/dist/browser/page-listener-manager.d.ts +88 -0
- package/dist/browser/page-listener-types.d.ts +38 -0
- package/dist/browser/screencast-differ.d.ts +10 -0
- package/dist/browser/screencast-manager.d.ts +94 -0
- package/dist/browser/snapshot-serializer.d.ts +56 -0
- package/dist/browser/ssrf-guard.d.ts +44 -0
- package/dist/browser/stealth.d.ts +21 -0
- package/dist/browser/step-archive.d.ts +13 -0
- package/dist/browser/types.d.ts +100 -0
- package/dist/browser/ws-server.d.ts +54 -0
- package/dist/config.d.ts +138 -2
- package/dist/config.js +2 -2
- package/dist/desktop/built-in-desktop-tools.d.ts +68 -0
- package/dist/desktop/built-in-desktop-tools.js +2 -1
- package/dist/desktop/desktop-control.d.ts +142 -0
- package/dist/desktop/desktop-control.js +2 -0
- package/dist/desktop/desktop-mcp-client.d.ts +28 -0
- package/dist/desktop/desktop-staleness.d.ts +66 -0
- package/dist/desktop/desktop-staleness.js +2 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +1 -1
- package/dist/middleware/auth.d.ts +26 -0
- package/dist/middleware/auth.js +1 -1
- package/dist/remote-desktop/computer-control.d.ts +3 -0
- package/dist/remote-desktop/coords.d.ts +6 -0
- package/dist/remote-desktop/frame-backpressure.d.ts +10 -0
- package/dist/remote-desktop/frame-encode.d.ts +3 -0
- package/dist/remote-desktop/index.js +2 -2
- package/dist/remote-desktop/input-dispatcher.d.ts +4 -0
- package/dist/remote-desktop/permission-manager.d.ts +3 -0
- package/dist/remote-desktop/screen-capture.d.ts +91 -0
- package/dist/remote-desktop/session-manager.d.ts +47 -0
- package/dist/remote-desktop/session-manager.js +1 -1
- package/dist/remote-desktop/system-backend.d.ts +64 -0
- package/dist/remote-desktop/types.d.ts +25 -0
- package/dist/remote-desktop/ui-automation.d.ts +11 -0
- package/dist/remote-desktop/win32-api.d.ts +10 -0
- package/dist/routes/acode-todos.d.ts +13 -0
- package/dist/routes/agent-state.d.ts +15 -0
- package/dist/routes/ai-sources.js +1 -1
- package/dist/routes/background-tasks.d.ts +18 -0
- package/dist/routes/background-tasks.js +2 -2
- package/dist/routes/bridge-temp-files.d.ts +1 -0
- package/dist/routes/bridge-temp-files.js +2 -0
- package/dist/routes/browser-listeners.d.ts +17 -0
- package/dist/routes/browser-sessions.d.ts +10 -0
- package/dist/routes/capabilities.js +1 -1
- package/dist/routes/dashboard-icon.d.ts +9 -0
- package/dist/routes/dashboard-icon.js +2 -0
- package/dist/routes/dashboard-theme.d.ts +24 -0
- package/dist/routes/dashboard-theme.js +157 -0
- package/dist/routes/dashboard.d.ts +9 -0
- package/dist/routes/dashboard.js +2021 -628
- package/dist/routes/debug-mount.d.ts +16 -0
- package/dist/routes/desktop-control.d.ts +15 -0
- package/dist/routes/desktop-control.js +2 -0
- package/dist/routes/events.d.ts +4 -0
- package/dist/routes/file-browser.d.ts +15 -10
- package/dist/routes/file-browser.js +1 -1
- package/dist/routes/file-change-diff.d.ts +25 -0
- package/dist/routes/file-diff-rollback.d.ts +28 -0
- package/dist/routes/file-snapshot.d.ts +7 -0
- package/dist/routes/git.d.ts +185 -0
- package/dist/routes/git.js +34 -34
- package/dist/routes/instance-tool-status.d.ts +5 -0
- package/dist/routes/instance.d.ts +8 -0
- package/dist/routes/instance.js +1 -1
- package/dist/routes/jdks.d.ts +4 -0
- package/dist/routes/launch.d.ts +5 -0
- package/dist/routes/lsp-providers.d.ts +11 -0
- package/dist/routes/lsp-providers.js +2 -0
- package/dist/routes/lsp.d.ts +41 -0
- package/dist/routes/lsp.js +4 -2
- package/dist/routes/mcp-extra.d.ts +15 -0
- package/dist/routes/mcp.d.ts +16 -0
- package/dist/routes/mcp.js +1 -1
- package/dist/routes/plugins.d.ts +19 -0
- package/dist/routes/plugins.js +1 -1
- package/dist/routes/processes.d.ts +4 -0
- package/dist/routes/properties.d.ts +4 -0
- package/dist/routes/pty.d.ts +29 -0
- package/dist/routes/runtime-binding.d.ts +3 -0
- package/dist/routes/sessions.d.ts +22 -0
- package/dist/routes/sessions.js +1 -1
- package/dist/routes/skills.d.ts +15 -0
- package/dist/routes/skills.js +1 -1
- package/dist/routes/sub-agents.d.ts +11 -0
- package/dist/routes/sub-agents.js +1 -1
- package/dist/routes/task-context.d.ts +5 -0
- package/dist/routes/tech-stack.d.ts +6 -0
- package/dist/routes/tech-stack.js +2 -0
- package/dist/routes/terminal.d.ts +122 -0
- package/dist/routes/terminal.js +22 -22
- package/dist/routes/workspace-index.d.ts +12 -0
- package/dist/routes/workspace-index.js +2 -0
- package/dist/routes/yml.d.ts +4 -0
- package/dist/scripts/migrate-user-scopes.d.ts +26 -0
- package/dist/scripts/migrate-user-scopes.js +2 -0
- package/dist/services/access-control.d.ts +21 -0
- package/dist/services/acode-bg-manager.d.ts +21 -0
- package/dist/services/acode-package.d.ts +10 -0
- package/dist/services/acode-package.js +1 -1
- package/dist/services/agent-capability-sync.d.ts +26 -0
- package/dist/services/agent-capability-sync.js +1 -1
- package/dist/services/agent-event-store.d.ts +20 -0
- package/dist/services/agent-ownership.d.ts +58 -0
- package/dist/services/agent-ownership.js +3 -0
- package/dist/services/agent-process-manager.d.ts +154 -0
- package/dist/services/agent-pty-manager.d.ts +39 -0
- package/dist/services/agent-pty-manager.js +5 -4
- package/dist/services/agent-startup-memory.d.ts +34 -0
- package/dist/services/agent-startup-memory.js +4 -4
- package/dist/services/ai-config-service.d.ts +26 -52
- package/dist/services/ai-config-service.js +1 -3
- package/dist/services/ai-source-apply.d.ts +7 -15
- package/dist/services/ai-source-apply.js +1 -1
- package/dist/services/auto-register.d.ts +165 -1
- package/dist/services/auto-register.js +1 -1
- package/dist/services/aws-client-agent-mcp.d.ts +14 -0
- package/dist/services/aws-client-agent-mcp.js +2 -2
- package/dist/services/bridge-package-publish-hooks.d.ts +14 -0
- package/dist/services/bridge-pairing.d.ts +82 -0
- package/dist/services/bridge-pairing.js +2 -0
- package/dist/services/bridge-temp-files.d.ts +65 -0
- package/dist/services/bridge-temp-files.js +2 -0
- package/dist/services/browser-session-manager.d.ts +71 -0
- package/dist/services/capability-config.d.ts +60 -15
- package/dist/services/capability-config.js +2 -2
- package/dist/services/change-cache-retention.d.ts +9 -0
- package/dist/services/changelog.d.ts +9 -0
- package/dist/services/cli-commands.d.ts +82 -0
- package/dist/services/cli-commands.js +6 -6
- package/dist/services/connection-key-rotation.d.ts +27 -0
- package/dist/services/connection-key-rotation.js +2 -0
- package/dist/services/debug-mount.d.ts +49 -0
- package/dist/services/desktop-mcp-manager.d.ts +103 -1
- package/dist/services/desktop-mcp-manager.js +1 -1
- package/dist/services/event-delta-pusher.d.ts +15 -0
- package/dist/services/fileSnapshotStore.d.ts +42 -0
- package/dist/services/fileSnapshotStore.js +1 -1
- package/dist/services/gitignore.d.ts +21 -0
- package/dist/services/gitignore.js +2 -0
- package/dist/services/instance-ai-config-service.d.ts +9 -0
- package/dist/services/instance-ai-config-service.js +1 -1
- package/dist/services/instance-features.d.ts +127 -0
- package/dist/services/instance-features.js +1 -1
- package/dist/services/instance-init-service.d.ts +3 -0
- package/dist/services/instance-init-service.js +1 -1
- package/dist/services/instance-state.d.ts +23 -0
- package/dist/services/jdk-scanner.d.ts +15 -0
- package/dist/services/launch-manager.d.ts +138 -0
- package/dist/services/launch-metrics.d.ts +42 -0
- package/dist/services/launch-streams.d.ts +19 -0
- package/dist/services/lifecycle-state.d.ts +5 -0
- package/dist/services/log-retention.d.ts +38 -0
- package/dist/services/log-retention.js +1 -1
- package/dist/services/lsp/install-manager.d.ts +55 -0
- package/dist/services/lsp/install-manager.js +2 -0
- package/dist/services/lsp/provider-registry.d.ts +108 -0
- package/dist/services/lsp/provider-registry.js +2 -0
- package/dist/services/lsp/uri-rewrite.d.ts +44 -0
- package/dist/services/lsp/uri-rewrite.js +2 -0
- package/dist/services/lsp-stdio-bridge.d.ts +41 -4
- package/dist/services/lsp-stdio-bridge.js +3 -3
- package/dist/services/mcp-deploy.d.ts +45 -4
- package/dist/services/mcp-deploy.js +4 -4
- package/dist/services/mcp-env-injector.d.ts +52 -0
- package/dist/services/mcp-launch-binding-queue.d.ts +12 -0
- package/dist/services/mcp-package.d.ts +22 -0
- package/dist/services/mcp-package.js +1 -1
- package/dist/services/mcp-probe-client.d.ts +19 -0
- package/dist/services/mcp-probe-client.js +1 -1
- package/dist/services/open-doc-events.d.ts +43 -0
- package/dist/services/open-doc-events.js +2 -0
- package/dist/services/open-doc-registry.d.ts +59 -0
- package/dist/services/open-doc-registry.js +2 -0
- package/dist/services/orphan-monitor.d.ts +43 -0
- package/dist/services/panel-auth.d.ts +24 -0
- package/dist/services/panel-env.d.ts +28 -0
- package/dist/services/plugin-deployment.d.ts +34 -1
- package/dist/services/plugin-deployment.js +2 -2
- package/dist/services/plugin-event-buffer.d.ts +21 -0
- package/dist/services/plugin-fs.d.ts +11 -0
- package/dist/services/plugin-handler-adapter.d.ts +13 -0
- package/dist/services/plugin-listener-runner.d.ts +10 -0
- package/dist/services/plugin-loader.d.ts +15 -0
- package/dist/services/plugin-manager.d.ts +95 -9
- package/dist/services/plugin-manager.js +4 -4
- package/dist/services/plugin-manifest.d.ts +14 -0
- package/dist/services/plugin-package.d.ts +13 -0
- package/dist/services/plugin-runtime.d.ts +15 -0
- package/dist/services/port-detector.d.ts +15 -0
- package/dist/services/process-detail.d.ts +3 -0
- package/dist/services/process-detector.d.ts +132 -0
- package/dist/services/process-registry.d.ts +120 -0
- package/dist/services/process-top.d.ts +6 -0
- package/dist/services/request-identity.d.ts +77 -0
- package/dist/services/request-identity.js +2 -0
- package/dist/services/request-invalid-dump.d.ts +4 -0
- package/dist/services/request-invalid-dump.js +1 -1
- package/dist/services/ring-buffer.d.ts +33 -0
- package/dist/services/runtime-binding.d.ts +56 -4
- package/dist/services/runtime-binding.js +4 -4
- package/dist/services/runtime-lifecycle-policy.d.ts +17 -0
- package/dist/services/runtime-resources-snapshot.d.ts +26 -0
- package/dist/services/runtime-resources-snapshot.js +2 -2
- package/dist/services/sdk-tool-file-change-recorder.d.ts +9 -0
- package/dist/services/session-output.d.ts +63 -0
- package/dist/services/session-output.js +3 -3
- package/dist/services/skill-manager.d.ts +42 -5
- package/dist/services/skill-manager.js +3 -3
- package/dist/services/snapshot-retention.d.ts +30 -0
- package/dist/services/snapshot-retention.js +2 -0
- package/dist/services/startup-config-wizard.d.ts +7 -1
- package/dist/services/startup-config-wizard.js +10 -10
- package/dist/services/system-metrics.d.ts +3 -0
- package/dist/services/tech-stack-scanner.d.ts +43 -0
- package/dist/services/tech-stack-scanner.js +2 -0
- package/dist/services/terminal-persistence.d.ts +43 -0
- package/dist/services/tool-installer.d.ts +12 -0
- package/dist/services/tunnel-client.d.ts +99 -2
- package/dist/services/tunnel-client.js +1 -1
- package/dist/services/update-log.d.ts +6 -0
- package/dist/services/update-notifier.d.ts +17 -0
- package/dist/services/update-notifier.js +2 -2
- package/dist/services/user-scope.d.ts +115 -0
- package/dist/services/user-scope.js +2 -0
- package/dist/services/windows-service-manager.d.ts +12 -0
- package/dist/services/workspace-files.d.ts +64 -0
- package/dist/services/workspace-index/index-manager.d.ts +46 -0
- package/dist/services/workspace-index/index-manager.js +2 -0
- package/dist/services/workspace-index/indexer.d.ts +15 -0
- package/dist/services/workspace-index/indexer.js +2 -0
- package/dist/services/workspace-index/query.d.ts +74 -0
- package/dist/services/workspace-index/query.js +5 -0
- package/dist/services/workspace-index/resolver.d.ts +26 -0
- package/dist/services/workspace-index/resolver.js +2 -0
- package/dist/services/workspace-index/types.d.ts +89 -0
- package/dist/services/workspace-index/types.js +2 -0
- package/dist/services/workspace-watch.d.ts +4 -0
- package/dist/services/workspaceTaskChangeWatcher.d.ts +49 -0
- package/dist/services/workspaceTaskChangeWatcher.js +2 -2
- package/dist/types.d.ts +9 -0
- package/dist/utils/config-write-queue.d.ts +11 -0
- package/dist/utils/env-safety.d.ts +21 -0
- package/dist/utils/file-utils.d.ts +15 -0
- package/dist/utils/instance-ai-config-debug-logger.d.ts +15 -0
- package/dist/utils/lifecycle-log.d.ts +5 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.js +2 -1
- package/dist/utils/npm-version.d.ts +10 -0
- package/dist/utils/path-utils.d.ts +12 -0
- package/dist/utils/scheduler-url.d.ts +18 -0
- package/dist/utils/scheduler-url.js +2 -0
- package/dist/utils/sdk-package-loader.d.ts +13 -0
- package/dist/utils/sdk-package-loader.js +1 -1
- package/dist/utils/target-identity.d.ts +31 -0
- package/dist/utils/target-identity.js +2 -0
- package/dist/utils/validation.d.ts +17 -0
- package/dist/utils/yaml-utils.d.ts +48 -0
- package/package/acode/dist/__tests__/summary-request-helper.d.ts +12 -0
- package/package/acode/dist/__tests__/summary-request-helper.js +2 -0
- package/package/acode/dist/ask-user-question-tool.d.ts +17 -0
- package/package/acode/dist/await-complete-tool.d.ts +12 -0
- package/package/acode/dist/background-command-manager.d.ts +105 -0
- package/package/acode/dist/background-command-store.d.ts +27 -0
- package/package/acode/dist/background-command-tools.d.ts +8 -0
- package/package/acode/dist/background-output-ringbuffer.d.ts +15 -0
- package/package/acode/dist/built-in-file-tools.d.ts +65 -0
- package/package/acode/dist/built-in-symbols-tool.d.ts +3 -0
- package/package/acode/dist/builtins/commandArtifacts.d.ts +3 -0
- package/package/acode/dist/builtins/shellCommandPreparation.d.ts +17 -0
- package/package/acode/dist/builtins/shellCommandRunner.d.ts +4 -0
- package/package/acode/dist/builtins/shellOutputDecoder.d.ts +15 -0
- package/package/acode/dist/cache-control.d.ts +71 -0
- package/package/acode/dist/cache-control.js +2 -0
- package/package/acode/dist/commands/commandLoader.d.ts +3 -0
- package/package/acode/dist/commands/commandParser.d.ts +3 -0
- package/package/acode/dist/commands/commandRegistry.d.ts +3 -0
- package/package/acode/dist/compaction.d.ts +388 -4
- package/package/acode/dist/compaction.js +19 -17
- package/package/acode/dist/config.d.ts +3 -0
- package/package/acode/dist/context-overflow.d.ts +32 -0
- package/package/acode/dist/fs-utils.d.ts +18 -0
- package/package/acode/dist/hooks/hookBus.d.ts +3 -0
- package/package/acode/dist/image-utils.d.ts +35 -0
- package/package/acode/dist/index.d.ts +1 -0
- package/package/acode/dist/index.js +1 -1
- package/package/acode/dist/mcpToolNames.d.ts +32 -0
- package/package/acode/dist/microcompact.d.ts +110 -0
- package/package/acode/dist/microcompact.js +2 -0
- package/package/acode/dist/parsers/ast-cache.d.ts +41 -0
- package/package/acode/dist/parsers/file-index.d.ts +83 -0
- package/package/acode/dist/parsers/file-index.js +4 -0
- package/package/acode/dist/parsers/language-detector.d.ts +4 -0
- package/package/acode/dist/parsers/tree-sitter-loader.d.ts +12 -0
- package/package/acode/dist/parsers/types.d.ts +11 -0
- package/package/acode/dist/paths.d.ts +14 -0
- package/package/acode/dist/plugin-types.d.ts +34 -0
- package/package/acode/dist/read-file-state.d.ts +15 -0
- package/package/acode/dist/runtime-environment.d.ts +16 -0
- package/package/acode/dist/runtime.d.ts +828 -9
- package/package/acode/dist/runtime.js +40 -33
- package/package/acode/dist/skill-tool.d.ts +20 -0
- package/package/acode/dist/sub-agent-manager.d.ts +169 -0
- package/package/acode/dist/sub-agent-manager.js +1 -1
- package/package/acode/dist/sub-agent-store.d.ts +50 -0
- package/package/acode/dist/sub-agent-tools.d.ts +15 -0
- package/package/acode/dist/sub-agent-types.d.ts +13 -0
- package/package/acode/dist/terminal-tool.d.ts +15 -0
- package/package/acode/dist/terminal-types.d.ts +10 -0
- package/package/acode/dist/todo-store.d.ts +15 -0
- package/package/acode/dist/token-estimator.d.ts +32 -0
- package/package/acode/dist/token-estimator.js +2 -0
- package/package/acode/dist/tool-allocation.d.ts +113 -0
- package/package/acode/dist/tool-concurrency/index.d.ts +8 -0
- package/package/acode/dist/tool-concurrency/observability.d.ts +32 -0
- package/package/acode/dist/tool-concurrency/resource-lock.d.ts +30 -0
- package/package/acode/dist/tool-concurrency/scheduler.d.ts +19 -0
- package/package/acode/dist/tool-concurrency/types.d.ts +57 -0
- package/package/acode/dist/tool-group-manager.d.ts +195 -0
- package/package/acode/dist/tool-group-manager.js +4 -4
- package/package/acode/dist/types.d.ts +192 -0
- package/package/aws-client-agent-mcp/README.md +130 -215
- package/package/aws-client-agent-mcp/dist/ability-market-tools.d.ts +57 -0
- package/package/aws-client-agent-mcp/dist/ability-market-tools.js +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts +290 -3
- package/package/aws-client-agent-mcp/dist/agent-client.js +1 -1
- package/package/aws-client-agent-mcp/dist/config.d.ts +18 -0
- package/package/aws-client-agent-mcp/dist/constants.d.ts +2 -0
- package/package/aws-client-agent-mcp/dist/context-manager.d.ts +70 -0
- package/package/aws-client-agent-mcp/dist/http-client.d.ts +61 -0
- package/package/aws-client-agent-mcp/dist/index.d.ts +10 -0
- package/package/aws-client-agent-mcp/dist/logger.d.ts +24 -0
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +610 -0
- package/package/aws-client-agent-mcp/dist/mcp-server.js +25 -23
- package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +158 -0
- package/package/aws-client-agent-mcp/dist/mcp-tools.js +38 -22
- package/package/aws-client-agent-mcp/dist/memory-store.d.ts +102 -2
- package/package/aws-client-agent-mcp/dist/memory-store.js +27 -2
- package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +18 -0
- package/package/aws-client-agent-mcp/dist/memory-tools.js +13 -9
- package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +86 -0
- package/package/aws-client-agent-mcp/dist/messageContent.d.ts +24 -0
- package/package/aws-client-agent-mcp/dist/office/office-equation.d.ts +19 -0
- package/package/aws-client-agent-mcp/dist/office/office-image.d.ts +18 -0
- package/package/aws-client-agent-mcp/dist/office/office-workspace.d.ts +29 -0
- package/package/aws-client-agent-mcp/dist/parent-lifecycle.d.ts +18 -0
- package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts +6 -0
- package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +5 -1
- package/package/aws-client-agent-mcp/dist/server-memory-store.js +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +41 -0
- package/package/aws-client-agent-mcp/dist/tool-groups.d.ts +136 -0
- package/package/aws-client-agent-mcp/dist/types.d.ts +174 -0
- package/package/aws-client-agent-mcp/dist/watchdog.d.ts +7 -0
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +108 -0
- package/package.json +1 -1
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
3
18
|
export declare function isProcessRunningAsync(pid: number): Promise<boolean>;
|
|
4
19
|
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
5
25
|
export declare function isProcessRunning(pid: number): Promise<boolean>;
|
|
6
26
|
|
|
27
|
+
|
|
28
|
+
|
|
7
29
|
export interface ProcessInfo {
|
|
8
30
|
pid: number;
|
|
9
31
|
command: string;
|
|
@@ -12,10 +34,26 @@ export interface ProcessInfo {
|
|
|
12
34
|
startedAt?: string;
|
|
13
35
|
}
|
|
14
36
|
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
15
41
|
export declare function findClaudeCodeProcesses(): Promise<ProcessInfo[]>;
|
|
16
42
|
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
17
53
|
export declare function findOrphanProcessByAgentId(agentId: string): Promise<ProcessInfo | undefined>;
|
|
18
54
|
|
|
55
|
+
|
|
56
|
+
|
|
19
57
|
interface ProcEntry {
|
|
20
58
|
processId: number;
|
|
21
59
|
parentProcessId: number;
|
|
@@ -23,29 +61,89 @@ interface ProcEntry {
|
|
|
23
61
|
commandLine: string | null;
|
|
24
62
|
}
|
|
25
63
|
|
|
64
|
+
|
|
65
|
+
|
|
26
66
|
export interface ProcessSnapshotEntry extends ProcEntry {
|
|
27
67
|
creationDate?: string | null;
|
|
28
68
|
workingSetSize?: number | null;
|
|
29
69
|
handleCount?: number | null;
|
|
30
70
|
}
|
|
31
71
|
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
32
77
|
export interface ProcessSnapshot {
|
|
33
78
|
entries: ProcessSnapshotEntry[];
|
|
34
79
|
}
|
|
35
80
|
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
36
90
|
export declare function captureProcessSnapshot(): Promise<ProcessSnapshot | undefined>;
|
|
37
91
|
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
38
103
|
export declare function findOrphanProcessByWorkspace(workspacePath: string): Promise<ProcessInfo | undefined>;
|
|
39
104
|
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
40
110
|
export declare function terminateProcess(pid: number): boolean;
|
|
41
111
|
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
42
121
|
export declare function terminateProcessTree(pid: number): Promise<{
|
|
43
122
|
terminated: number;
|
|
44
123
|
failed: number;
|
|
45
124
|
}>;
|
|
46
125
|
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
47
132
|
export declare function waitForProcessExit(pid: number, timeoutMs?: number): Promise<boolean>;
|
|
48
133
|
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
49
147
|
export declare function detectOrphanProcesses(persistedSessions: Array<{
|
|
50
148
|
agentId: string;
|
|
51
149
|
pid?: number;
|
|
@@ -60,6 +158,8 @@ export declare function detectOrphanProcesses(persistedSessions: Array<{
|
|
|
60
158
|
};
|
|
61
159
|
}>>;
|
|
62
160
|
|
|
161
|
+
|
|
162
|
+
|
|
63
163
|
export interface ProcessHealthStatus {
|
|
64
164
|
pid: number;
|
|
65
165
|
agentId: string;
|
|
@@ -70,15 +170,32 @@ export interface ProcessHealthStatus {
|
|
|
70
170
|
lastUpdate: Date;
|
|
71
171
|
}
|
|
72
172
|
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
73
179
|
export declare function checkProcessHealth(pid: number, agentId: string): Promise<ProcessHealthStatus>;
|
|
74
180
|
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
75
188
|
export declare function checkAllSessionsHealth(sessions: Array<{
|
|
76
189
|
agentId: string;
|
|
77
190
|
pid?: number;
|
|
78
191
|
}>, snapshot?: ProcessSnapshot): Promise<Map<string, ProcessHealthStatus>>;
|
|
79
192
|
|
|
193
|
+
|
|
194
|
+
|
|
80
195
|
export type ProcessManagementStatus = 'managed' | 'orphan' | 'unknown';
|
|
81
196
|
|
|
197
|
+
|
|
198
|
+
|
|
82
199
|
export interface DiscoveredProcessInfo extends ProcessInfo {
|
|
83
200
|
managementStatus: ProcessManagementStatus;
|
|
84
201
|
sessionId?: string;
|
|
@@ -86,8 +203,23 @@ export interface DiscoveredProcessInfo extends ProcessInfo {
|
|
|
86
203
|
lastSeen?: string;
|
|
87
204
|
}
|
|
88
205
|
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
89
216
|
export declare function discoverAllProcesses(managedPids?: Set<number>, managedAgentIds?: Set<string>): Promise<DiscoveredProcessInfo[]>;
|
|
90
217
|
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
91
223
|
export declare function discoverAllProcessesFull(registryExport: Array<{
|
|
92
224
|
agentId: string;
|
|
93
225
|
pid: number;
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
3
9
|
export type ProcessState = 'creating' | 'running' | 'stopping' | 'orphaned' | 'terminated' | 'unknown';
|
|
4
10
|
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
export interface HealthStatus {
|
|
6
14
|
cpu: number;
|
|
7
15
|
memoryMB: number;
|
|
8
16
|
status: string;
|
|
9
17
|
}
|
|
10
18
|
|
|
19
|
+
|
|
20
|
+
|
|
11
21
|
export interface ProcessRecord {
|
|
12
22
|
agentId: string;
|
|
13
23
|
sessionId: string;
|
|
@@ -23,6 +33,8 @@ export interface ProcessRecord {
|
|
|
23
33
|
metadata?: Record<string, unknown>;
|
|
24
34
|
}
|
|
25
35
|
|
|
36
|
+
|
|
37
|
+
|
|
26
38
|
export interface PersistedSessionInput {
|
|
27
39
|
agentId: string;
|
|
28
40
|
sessionId: string;
|
|
@@ -32,57 +44,165 @@ export interface PersistedSessionInput {
|
|
|
32
44
|
mode?: 'sdk';
|
|
33
45
|
}
|
|
34
46
|
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
35
51
|
export declare function getProcessRegistryFile(): string;
|
|
36
52
|
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
37
57
|
export declare class ProcessRegistry {
|
|
38
58
|
private static instance;
|
|
39
59
|
private readonly records;
|
|
40
60
|
private readonly pidToAgentId;
|
|
41
61
|
|
|
62
|
+
|
|
63
|
+
|
|
42
64
|
private constructor();
|
|
43
65
|
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
44
70
|
static getInstance(): ProcessRegistry;
|
|
45
71
|
|
|
72
|
+
|
|
73
|
+
|
|
46
74
|
private persist;
|
|
47
75
|
private mutate;
|
|
48
76
|
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
49
82
|
register(record: Omit<ProcessRecord, 'createdAt'>): Promise<void>;
|
|
50
83
|
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
51
90
|
update(agentId: string, updates: Partial<ProcessRecord>): Promise<boolean>;
|
|
52
91
|
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
53
97
|
get(agentId: string): ProcessRecord | undefined;
|
|
54
98
|
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
55
104
|
getByPid(pid: number): ProcessRecord | undefined;
|
|
56
105
|
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
57
110
|
getAll(): ProcessRecord[];
|
|
58
111
|
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
59
117
|
getByState(state: ProcessState): ProcessRecord[];
|
|
60
118
|
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
61
124
|
isManaged(agentId: string): boolean;
|
|
62
125
|
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
63
131
|
isManagedByPid(pid: number): boolean;
|
|
64
132
|
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
65
138
|
markOrphaned(agentId: string): Promise<boolean>;
|
|
66
139
|
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
67
145
|
markTerminated(agentId: string): Promise<boolean>;
|
|
68
146
|
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
69
152
|
remove(agentId: string): Promise<boolean>;
|
|
70
153
|
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
71
159
|
updateHeartbeat(agentId: string): Promise<boolean>;
|
|
72
160
|
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
73
167
|
updateHealth(agentId: string, health: HealthStatus): Promise<boolean>;
|
|
74
168
|
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
75
173
|
rebuildFromPersisted(sessions: PersistedSessionInput[]): Promise<void>;
|
|
76
174
|
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
77
179
|
exportState(): ProcessRecord[];
|
|
78
180
|
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
79
185
|
getStats(): Record<ProcessState | 'total', number>;
|
|
80
186
|
|
|
187
|
+
|
|
188
|
+
|
|
81
189
|
clear(): Promise<void>;
|
|
82
190
|
}
|
|
83
191
|
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
84
196
|
export declare function getProcessRegistry(): ProcessRegistry;
|
|
85
197
|
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
86
202
|
export declare function loadPersistedProcessRegistry(): Promise<ProcessRecord[]>;
|
|
87
203
|
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
88
208
|
export declare function savePersistedProcessRegistry(records: ProcessRecord[]): Promise<void>;
|
|
@@ -4,6 +4,9 @@ export interface ProcessTopSample {
|
|
|
4
4
|
pid: number;
|
|
5
5
|
name: string;
|
|
6
6
|
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
7
10
|
value: number;
|
|
8
11
|
readBytesPerSecond?: number;
|
|
9
12
|
writeBytesPerSecond?: number;
|
|
@@ -50,4 +53,7 @@ export declare function parseLsofConnectionCounts(output: string): Map<number, {
|
|
|
50
53
|
|
|
51
54
|
export declare function parseJsonRows<T>(stdout: string): T[];
|
|
52
55
|
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
53
59
|
export declare function collectProcessTop(resource: ProcessTopResource, limit: number): Promise<ProcessTopSnapshot>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
import type { Request } from "express";
|
|
18
|
+
import { type UserScope } from "./user-scope.js";
|
|
19
|
+
export type RequestIdentitySource = "connection-key" | "runtime-token" | "loopback" | "panel-session" | "untrusted";
|
|
20
|
+
export interface RequestIdentity {
|
|
21
|
+
source: RequestIdentitySource;
|
|
22
|
+
|
|
23
|
+
target?: {
|
|
24
|
+
serverUrl: string;
|
|
25
|
+
tenantId?: string;
|
|
26
|
+
userId?: string;
|
|
27
|
+
credentialId?: string;
|
|
28
|
+
instanceId?: string;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
scope: UserScope | null;
|
|
32
|
+
}
|
|
33
|
+
export declare function isLoopbackRequest(req: Request): boolean;
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
export declare function resolveCredentialIdentity(req: Request, token: string): RequestIdentity;
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
export declare function readTargetSelectors(req: Request): {
|
|
47
|
+
serverUrl?: string;
|
|
48
|
+
instanceId?: string;
|
|
49
|
+
credentialId?: string;
|
|
50
|
+
identity?: string;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
export declare function constrainScopeToTarget(requested: UserScope | null, targetTenantId?: string, targetUserId?: string): UserScope | null;
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
export declare function findConfiguredTarget(selectors: ReturnType<typeof readTargetSelectors>): {
|
|
72
|
+
serverUrl: string;
|
|
73
|
+
tenantId?: string;
|
|
74
|
+
userId?: string;
|
|
75
|
+
credentialId?: string;
|
|
76
|
+
instanceId?: string;
|
|
77
|
+
} | undefined;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{findConfigsByConnectionKey as S,getConfiguredConnectionKeys as p,loadConfigs as o}from"./auto-register.js";import{getScopedRuntimeAccessToken as U,validateRuntimeBindingToken as y}from"./runtime-binding.js";import{normalizeUserScope as c}from"./user-scope.js";const v=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]);function b(e){const n=e.ip||e.socket.remoteAddress||"";return v.has(n)}function B(e,n){const i=String(n||"").trim();if(!i)return{source:"untrusted",scope:null};if(p().includes(i)){const t=f(e),r=S(i);let d=r.length===1?r[0]:void 0;if(!d){const a=h(t);a&&(d=r.find(g=>u(g.serverUrl)===a.serverUrl))}const s=d?I(d,t):void 0;return s?{source:"connection-key",target:s,scope:m(l(e),s.tenantId,s.userId)}:{source:"connection-key",scope:null}}if(y(i)){for(const t of o()){const r=U(t.serverUrl,t.credentialId||t.userKey);if(!r||r!==i)continue;const d=I(t,f(e));return{source:"runtime-token",target:d,scope:m(l(e),d.tenantId,d.userId)}}return{source:"runtime-token",scope:null}}return{source:"untrusted",scope:null}}function l(e){const n=e.body??{};return c(e.header("X-Tenant-Id")??n.tenantId,e.header("X-User-Id")??n.ownerUserId??n.userId)}function I(e,n){return(!n.serverUrl||u(e.serverUrl)===u(n.serverUrl))&&(!n.instanceId||String(e.instanceId||"").trim()===n.instanceId)&&(!n.credentialId||String(e.credentialId||e.userKey||e.serverUrl||"").trim()===n.credentialId)?{serverUrl:u(e.serverUrl),tenantId:String(e.tenantId||"").trim()||void 0,userId:String(e.userId||"").trim()||void 0,credentialId:String(e.credentialId||"").trim()||void 0,instanceId:String(e.instanceId||"").trim()||void 0}:{serverUrl:u(e.serverUrl),tenantId:void 0,userId:void 0}}function f(e){const n=e.body??{},i=(...t)=>{for(const r of t){const d=String(r??"").trim();if(d)return d}};return{serverUrl:i(e.header("X-Scheduler-Base-Url"),n.serverUrl),instanceId:i(e.header("X-Bridge-Instance-Id"),n.instanceId),credentialId:i(e.header("X-Bridge-Credential-Id"),n.credentialId),identity:i(e.header("X-Bridge-Target-Identity"),n.targetIdentity)}}function m(e,n,i){const t=String(n||"").trim(),r=String(i||"").trim();return t?e?e.tenantId!==t||r&&e.userId!==r?null:e:r?c(t,r):null:null}function h(e){const i=o().filter(r=>!(e.serverUrl&&u(r.serverUrl)!==u(e.serverUrl)||e.instanceId&&String(r.instanceId||"").trim()!==e.instanceId||e.credentialId&&String(r.credentialId||"").trim()!==e.credentialId&&String(r.userKey||"").trim()!==e.credentialId||e.identity&&String(r.credentialId||r.userKey||"").trim()!==e.identity));if(i.length!==1)return;const t=i[0];return{serverUrl:u(String(t.serverUrl||"")),tenantId:String(t.tenantId||"").trim()||void 0,userId:String(t.userId||"").trim()||void 0,credentialId:String(t.credentialId||"").trim()||void 0,instanceId:String(t.instanceId||"").trim()||void 0}}function u(e){const n=String(e??"").trim();if(!n)return"";try{return new URL(n).origin.toLowerCase()}catch{return n.replace(/\/+$/,"").toLowerCase()}}export{m as constrainScopeToTarget,h as findConfiguredTarget,b as isLoopbackRequest,f as readTargetSelectors,B as resolveCredentialIdentity};
|
|
2
|
+
|
|
@@ -18,4 +18,8 @@ export declare function resetInvalidRequestDumpStateForTest(): void;
|
|
|
18
18
|
|
|
19
19
|
export declare function getInvalidRequestDumpDir(): string;
|
|
20
20
|
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
21
25
|
export declare function dumpInvalidProviderRequest(input: InvalidProviderRequestDumpInput): Promise<string | null>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createHash as T}from"node:crypto";import i from"node:fs/promises";import d from"node:path";import{getBridgeDataHome as v}from"../config.js";const p="acode-request-invalid-",I=20,h=10*6e4,_=8e3,w=2*1024*1024,u=800;let m=!1;const g=new Map;function C(){g.clear(),m=!1}function S(){return d.join(v(),"log")}function D(e){return T("sha1").update(e).digest("hex").slice(0,16)}function E(e){return new Date(e).toISOString().replace(/[:.]/g,"-")}function x(e){if(!Array.isArray(e))return{conversation:[],truncated:!1};try{if(JSON.stringify(e).length<=w)return{conversation:e,truncated:!1}}catch{}return{conversation:e.map(n=>{if(!n||typeof n!="object")return{value:String(n).slice(0,u)};const r=n,t=r.content;let o;if(typeof t=="string")o=t.slice(0,u);else if(t==null)o=t;else try{o=JSON.stringify(t).slice(0,u)}catch{o="[unserializable]"}return{role:r.role,tool_call_id:r.tool_call_id,tool_calls:Array.isArray(r.tool_calls)?r.tool_calls.map(c=>{const s=c;return{id:s?.id,type:s?.type,name:s?.name??s?.function?.name}}):void 0,contentPreview:o}}),truncated:!0}}async function O(e){try{const n=(await i.readdir(e)).filter(t=>t.startsWith(p)&&t.endsWith(".json")).sort(),r=n.length-I;if(r<=0)return;await Promise.all(n.slice(0,r).map(t=>i.rm(d.join(e,t),{force:!0})))}catch{}}async function M(e){const a=S(),n=D(e.errorText),r=Date.now(),t=g.get(e.sessionId);if(t&&t.fingerprint===n&&r-t.at<h)return t.file;const{conversation:o,truncated:c}=x(e.conversation),s=`${p}${E(r)}-${e.sessionId.slice(0,8)}.json`,l=d.join(a,s),y={timestamp:new Date(r).toISOString(),kind:"provider-request-invalid",sessionId:e.sessionId,agentId:e.agentId,model:e.model,attempt:e.attempt,errorText:e.errorText.slice(0,_),errorTextTruncated:e.errorText.length>_,messageCount:Array.isArray(e.conversation)?e.conversation.length:0,conversationTruncated:c,conversation:o,...e.extra?{extra:e.extra}:{}};try{return await i.mkdir(a,{recursive:!0}),await i.writeFile(l,JSON.stringify(y,null,2),"utf8"),g.set(e.sessionId,{fingerprint:n,file:l,at:r}),await O(a),l}catch(f){return m||(m=!0,console.warn(`[request-invalid-dump] \u4E0A\u4E0B\u6587\u5FEB\u7167\u5199\u5165\u5931\u8D25\uFF0C\u540E\u7EED\u5FEB\u7167\u5C06\u88AB\u4E22\u5F03: ${f instanceof Error?f.message:String(f)}`)),null}}export{M as dumpInvalidProviderRequest,S as getInvalidRequestDumpDir,C as resetInvalidRequestDumpStateForTest};
|
|
1
|
+
import{createHash as T}from"node:crypto";import i from"node:fs/promises";import d from"node:path";import{getBridgeDataHome as v}from"../config.js";const p="acode-request-invalid-",I=20,h=10*6e4,_=8e3,w=2*1024*1024,u=800;let m=!1;const g=new Map;function C(){g.clear(),m=!1}function S(){return d.join(v(),"log")}function D(e){return T("sha1").update(e).digest("hex").slice(0,16)}function E(e){return new Date(e).toISOString().replace(/[:.]/g,"-")}function x(e){if(!Array.isArray(e))return{conversation:[],truncated:!1};try{if(JSON.stringify(e).length<=w)return{conversation:e,truncated:!1}}catch{}return{conversation:e.map(n=>{if(!n||typeof n!="object")return{value:String(n).slice(0,u)};const r=n,t=r.content;let o;if(typeof t=="string")o=t.slice(0,u);else if(t==null)o=t;else try{o=JSON.stringify(t).slice(0,u)}catch{o="[unserializable]"}return{role:r.role,tool_call_id:r.tool_call_id,tool_calls:Array.isArray(r.tool_calls)?r.tool_calls.map(c=>{const s=c;return{id:s?.id,type:s?.type,name:s?.name??s?.function?.name}}):void 0,contentPreview:o}}),truncated:!0}}async function O(e){try{const n=(await i.readdir(e)).filter(t=>t.startsWith(p)&&t.endsWith(".json")).sort(),r=n.length-I;if(r<=0)return;await Promise.all(n.slice(0,r).map(t=>i.rm(d.join(e,t),{force:!0})))}catch{}}async function M(e){const a=S(),n=D(e.errorText),r=Date.now(),t=g.get(e.sessionId);if(t&&t.fingerprint===n&&r-t.at<h)return t.file;const{conversation:o,truncated:c}=x(e.conversation),s=`${p}${E(r)}-${e.sessionId.slice(0,8)}-${n.slice(0,8)}.json`,l=d.join(a,s),y={timestamp:new Date(r).toISOString(),kind:"provider-request-invalid",sessionId:e.sessionId,agentId:e.agentId,model:e.model,attempt:e.attempt,errorText:e.errorText.slice(0,_),errorTextTruncated:e.errorText.length>_,messageCount:Array.isArray(e.conversation)?e.conversation.length:0,conversationTruncated:c,conversation:o,...e.extra?{extra:e.extra}:{}};try{return await i.mkdir(a,{recursive:!0}),await i.writeFile(l,JSON.stringify(y,null,2),"utf8"),g.set(e.sessionId,{fingerprint:n,file:l,at:r}),await O(a),l}catch(f){return m||(m=!0,console.warn(`[request-invalid-dump] \u4E0A\u4E0B\u6587\u5FEB\u7167\u5199\u5165\u5931\u8D25\uFF0C\u540E\u7EED\u5FEB\u7167\u5C06\u88AB\u4E22\u5F03: ${f instanceof Error?f.message:String(f)}`)),null}}export{M as dumpInvalidProviderRequest,S as getInvalidRequestDumpDir,C as resetInvalidRequestDumpStateForTest};
|
|
2
2
|
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
2
7
|
export interface RingBufferEntry<T> {
|
|
3
8
|
data: T;
|
|
4
9
|
readonly timestamp: number;
|
|
@@ -6,6 +11,10 @@ export interface RingBufferEntry<T> {
|
|
|
6
11
|
}
|
|
7
12
|
export type RingBufferSlice<T> = readonly RingBufferEntry<T>[];
|
|
8
13
|
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
9
18
|
export declare class RingBuffer<T> {
|
|
10
19
|
private readonly entries;
|
|
11
20
|
private readonly capacity;
|
|
@@ -13,21 +22,45 @@ export declare class RingBuffer<T> {
|
|
|
13
22
|
private totalAppended;
|
|
14
23
|
constructor(capacity: number);
|
|
15
24
|
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
16
29
|
append(item: T): RingBufferEntry<T>;
|
|
17
30
|
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
18
40
|
appendOrMerge(item: T, condition: (lastEntry: RingBufferEntry<T>) => boolean, merge: (last: T, next: T) => T): RingBufferEntry<T>;
|
|
19
41
|
|
|
42
|
+
|
|
43
|
+
|
|
20
44
|
slice(): RingBufferSlice<T>;
|
|
21
45
|
|
|
46
|
+
|
|
47
|
+
|
|
22
48
|
get size(): number;
|
|
23
49
|
|
|
50
|
+
|
|
51
|
+
|
|
24
52
|
getLastN(n: number): RingBufferSlice<T>;
|
|
25
53
|
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
26
57
|
getSinceIndex(index: number): {
|
|
27
58
|
entries: RingBufferSlice<T>;
|
|
28
59
|
nextIndex: number;
|
|
29
60
|
oldestIndex: number;
|
|
30
61
|
};
|
|
31
62
|
|
|
63
|
+
|
|
64
|
+
|
|
32
65
|
clear(): void;
|
|
33
66
|
}
|
|
@@ -4,37 +4,89 @@ export type RuntimeBindingState = {
|
|
|
4
4
|
userId?: string;
|
|
5
5
|
schedulerBaseUrl?: string;
|
|
6
6
|
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
7
11
|
accessToken?: string;
|
|
8
12
|
tokenHash?: string;
|
|
9
13
|
createdAt?: string;
|
|
10
14
|
updatedAt?: string;
|
|
11
15
|
revokedAt?: string;
|
|
12
16
|
};
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
13
21
|
export declare function normalizeSchedulerBaseUrl(value: unknown): string | undefined;
|
|
14
22
|
export declare function getRuntimePairingCode(): string;
|
|
15
23
|
export declare function getRuntimeBindingFilePath(): string;
|
|
16
24
|
export declare function getRuntimeTokenStoreFilePath(): string;
|
|
17
|
-
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
export declare function buildLegacyRuntimeTokenKey(serverBaseUrl: unknown): string;
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
export declare function buildRuntimeTokenKey(serverBaseUrl: unknown, userKey?: unknown): string;
|
|
18
40
|
export declare function saveScopedRuntimeAccessToken(input: {
|
|
19
41
|
serverBaseUrl: string;
|
|
20
42
|
accessToken: string;
|
|
43
|
+
|
|
44
|
+
userKey?: string;
|
|
21
45
|
}): string;
|
|
22
|
-
|
|
23
|
-
export declare function
|
|
46
|
+
|
|
47
|
+
export declare function getScopedRuntimeAccessToken(serverBaseUrl: unknown, userKey?: unknown): string | undefined;
|
|
48
|
+
|
|
49
|
+
export declare function listScopedRuntimeAccessTokens(serverBaseUrl: unknown): Array<{
|
|
50
|
+
userKeyFingerprint: string;
|
|
51
|
+
accessToken: string;
|
|
52
|
+
}>;
|
|
53
|
+
export declare function clearScopedRuntimeAccessToken(serverBaseUrl: unknown, userKey?: unknown): boolean;
|
|
24
54
|
export declare function loadRuntimeBinding(): RuntimeBindingState;
|
|
25
55
|
export declare function getRuntimeBindingPublicState(): Omit<RuntimeBindingState, "tokenHash" | "accessToken"> & {
|
|
26
56
|
paired: boolean;
|
|
27
57
|
};
|
|
28
58
|
export declare function hasRuntimeBinding(): boolean;
|
|
29
59
|
export declare function validateRuntimeBindingToken(token: unknown): boolean;
|
|
30
|
-
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
export declare function getRuntimeAccessToken(serverBaseUrl?: unknown, userKey?: unknown): string | undefined;
|
|
31
75
|
export declare function validateRuntimePairingCode(code: unknown): boolean;
|
|
32
76
|
export declare function saveRuntimeBinding(input: {
|
|
33
77
|
accessToken: string;
|
|
34
78
|
instanceId?: string;
|
|
35
79
|
userId?: string;
|
|
36
80
|
schedulerBaseUrl?: string;
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
userKey?: string;
|
|
37
86
|
}): RuntimeBindingState;
|
|
38
87
|
export declare function clearRuntimeBinding(): void;
|
|
39
88
|
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
40
92
|
export declare function migrateOldBindingDir(): void;
|