@cerebriline/core 4.100.240
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/LICENSE +201 -0
- package/README.md +16 -0
- package/assets/office-oxide/LICENSE-APACHE +176 -0
- package/assets/office-oxide/LICENSE-MIT +25 -0
- package/assets/office-oxide/office_oxide_bg.wasm +0 -0
- package/assets/prompt-templates/claude.md +516 -0
- package/assets/prompt-templates/deepseek.md +331 -0
- package/assets/prompt-templates/default.md +386 -0
- package/assets/prompt-templates/gemma.md +352 -0
- package/assets/prompt-templates/glm.md +334 -0
- package/assets/prompt-templates/kimi-k3.md +408 -0
- package/assets/prompt-templates/kimi.md +402 -0
- package/assets/prompt-templates/minimax.md +473 -0
- package/assets/prompt-templates/nemotron.md +358 -0
- package/assets/prompt-templates/qwen.md +612 -0
- package/dist/ClineCore.d.ts +365 -0
- package/dist/account/cline-account-service.d.ts +41 -0
- package/dist/account/index.d.ts +3 -0
- package/dist/account/rpc.d.ts +40 -0
- package/dist/account/types.d.ts +122 -0
- package/dist/auth/bounded-ttl-cache.d.ts +13 -0
- package/dist/auth/client.d.ts +30 -0
- package/dist/auth/cline.d.ts +71 -0
- package/dist/auth/codex.d.ts +40 -0
- package/dist/auth/oca.d.ts +21 -0
- package/dist/auth/provider-auth-registry.d.ts +52 -0
- package/dist/auth/server.d.ts +54 -0
- package/dist/auth/types.d.ts +103 -0
- package/dist/auth/utils.d.ts +31 -0
- package/dist/cline-core/automation.d.ts +34 -0
- package/dist/cline-core/runtime-services.d.ts +5 -0
- package/dist/cline-core/start-input.d.ts +10 -0
- package/dist/cline-core/telemetry.d.ts +10 -0
- package/dist/cline-core/types.d.ts +236 -0
- package/dist/cron/events/cron-event-ingress.d.ts +37 -0
- package/dist/cron/reports/cron-report-writer.d.ts +42 -0
- package/dist/cron/runner/cron-materializer.d.ts +35 -0
- package/dist/cron/runner/cron-runner.d.ts +60 -0
- package/dist/cron/runner/resource-limiter.d.ts +8 -0
- package/dist/cron/schedule/scheduler.d.ts +12 -0
- package/dist/cron/service/cron-service.d.ts +56 -0
- package/dist/cron/service/schedule-command-service.d.ts +14 -0
- package/dist/cron/service/schedule-service.d.ts +116 -0
- package/dist/cron/service/schedule-tool.d.ts +81 -0
- package/dist/cron/specs/cron-reconciler.d.ts +61 -0
- package/dist/cron/specs/cron-spec-parser.d.ts +26 -0
- package/dist/cron/specs/cron-watcher.d.ts +22 -0
- package/dist/cron/store/cron-schema.d.ts +2 -0
- package/dist/cron/store/sqlite-cron-store.d.ts +261 -0
- package/dist/extensions/agent-plugin/agent-skill.d.ts +21 -0
- package/dist/extensions/agent-plugin/index.d.ts +4 -0
- package/dist/extensions/agent-plugin/loader.d.ts +10 -0
- package/dist/extensions/agent-plugin/types.d.ts +67 -0
- package/dist/extensions/complexity/grammars.d.ts +92 -0
- package/dist/extensions/complexity/walker.d.ts +115 -0
- package/dist/extensions/config/builtin-templates.d.ts +10 -0
- package/dist/extensions/config/builtin-templates.generated.d.ts +5 -0
- package/dist/extensions/config/index.d.ts +15 -0
- package/dist/extensions/config/prompt-template-compaction.d.ts +92 -0
- package/dist/extensions/config/prompt-template-delta.d.ts +107 -0
- package/dist/extensions/config/prompt-template-hooks.d.ts +47 -0
- package/dist/extensions/config/prompt-template-loader.d.ts +79 -0
- package/dist/extensions/config/prompt-template-parser.d.ts +56 -0
- package/dist/extensions/config/prompt-template-review.d.ts +327 -0
- package/dist/extensions/config/prompt-template-session.d.ts +46 -0
- package/dist/extensions/config/runtime-commands.d.ts +23 -0
- package/dist/extensions/config/shipped-tool-signatures.d.ts +36 -0
- package/dist/extensions/config/skill-frontmatter-toggle.d.ts +11 -0
- package/dist/extensions/config/unified-config-file-watcher.d.ts +77 -0
- package/dist/extensions/config/user-instruction-config-loader.d.ts +77 -0
- package/dist/extensions/config/user-instruction-plugin.d.ts +26 -0
- package/dist/extensions/config/user-instruction-service.d.ts +31 -0
- package/dist/extensions/context/agentic-compaction.d.ts +129 -0
- package/dist/extensions/context/basic-compaction.d.ts +19 -0
- package/dist/extensions/context/budget-projection/index.d.ts +2 -0
- package/dist/extensions/context/budget-projection/project.d.ts +4 -0
- package/dist/extensions/context/budget-projection/types.d.ts +58 -0
- package/dist/extensions/context/capped-thinking.d.ts +195 -0
- package/dist/extensions/context/compaction-cause.d.ts +27 -0
- package/dist/extensions/context/compaction-journal.d.ts +65 -0
- package/dist/extensions/context/compaction-revisions.d.ts +72 -0
- package/dist/extensions/context/compaction-shared.d.ts +608 -0
- package/dist/extensions/context/compaction.d.ts +161 -0
- package/dist/extensions/context/context-minimum-warning.d.ts +27 -0
- package/dist/extensions/context/continuation-compaction.d.ts +260 -0
- package/dist/extensions/context/council-compaction.d.ts +262 -0
- package/dist/extensions/context/full-compaction.d.ts +44 -0
- package/dist/extensions/context/kv-pressure.d.ts +258 -0
- package/dist/extensions/context/polykv-session.d.ts +372 -0
- package/dist/extensions/context/replay-compaction.d.ts +90 -0
- package/dist/extensions/context/tool-ledger.d.ts +198 -0
- package/dist/extensions/context/work-digest.d.ts +92 -0
- package/dist/extensions/index.d.ts +7 -0
- package/dist/extensions/mcp/client.d.ts +28 -0
- package/dist/extensions/mcp/config-loader.d.ts +102 -0
- package/dist/extensions/mcp/index.d.ts +15 -0
- package/dist/extensions/mcp/manager.d.ts +23 -0
- package/dist/extensions/mcp/name-transform.d.ts +2 -0
- package/dist/extensions/mcp/oauth.d.ts +68 -0
- package/dist/extensions/mcp/plugin-server-registration.d.ts +18 -0
- package/dist/extensions/mcp/policies.d.ts +14 -0
- package/dist/extensions/mcp/remote-proxy.d.ts +9 -0
- package/dist/extensions/mcp/timeout.d.ts +2 -0
- package/dist/extensions/mcp/tools.d.ts +3 -0
- package/dist/extensions/mcp/types.d.ts +133 -0
- package/dist/extensions/plugin/plugin-config-loader.d.ts +44 -0
- package/dist/extensions/plugin/plugin-load-report.d.ts +18 -0
- package/dist/extensions/plugin/plugin-loader.d.ts +23 -0
- package/dist/extensions/plugin/plugin-module-import.d.ts +4 -0
- package/dist/extensions/plugin/plugin-sandbox.d.ts +82 -0
- package/dist/extensions/plugin/plugin-targeting.d.ts +6 -0
- package/dist/extensions/plugin-sandbox-bootstrap.js +1 -0
- package/dist/extensions/tools/ask-lsp.d.ts +150 -0
- package/dist/extensions/tools/audio-tools.d.ts +156 -0
- package/dist/extensions/tools/browser.d.ts +137 -0
- package/dist/extensions/tools/check-file.d.ts +218 -0
- package/dist/extensions/tools/check-on-failure.d.ts +49 -0
- package/dist/extensions/tools/code-intel.d.ts +131 -0
- package/dist/extensions/tools/command-guard-extension.d.ts +22 -0
- package/dist/extensions/tools/command-guard.d.ts +29 -0
- package/dist/extensions/tools/constants.d.ts +28 -0
- package/dist/extensions/tools/definitions.d.ts +178 -0
- package/dist/extensions/tools/delimiter-balance.d.ts +121 -0
- package/dist/extensions/tools/edit-verification.d.ts +86 -0
- package/dist/extensions/tools/error-locations.d.ts +53 -0
- package/dist/extensions/tools/executors/apply-patch-parser.d.ts +68 -0
- package/dist/extensions/tools/executors/apply-patch.d.ts +48 -0
- package/dist/extensions/tools/executors/awk-parser.d.ts +163 -0
- package/dist/extensions/tools/executors/awk.d.ts +41 -0
- package/dist/extensions/tools/executors/bash.d.ts +119 -0
- package/dist/extensions/tools/executors/document/assets.d.ts +22 -0
- package/dist/extensions/tools/executors/document/ebook.d.ts +11 -0
- package/dist/extensions/tools/executors/document/formats.d.ts +83 -0
- package/dist/extensions/tools/executors/document/images.d.ts +73 -0
- package/dist/extensions/tools/executors/document/legacy.d.ts +20 -0
- package/dist/extensions/tools/executors/document/ocr.d.ts +67 -0
- package/dist/extensions/tools/executors/document/office-oxide.d.ts +19 -0
- package/dist/extensions/tools/executors/document/office-oxide.generated.d.ts +82 -0
- package/dist/extensions/tools/executors/document/office.d.ts +10 -0
- package/dist/extensions/tools/executors/document/pdf.d.ts +6 -0
- package/dist/extensions/tools/executors/document/pdfjs.d.ts +30 -0
- package/dist/extensions/tools/executors/document/range.d.ts +18 -0
- package/dist/extensions/tools/executors/document/recognition.d.ts +67 -0
- package/dist/extensions/tools/executors/document-extract.d.ts +55 -0
- package/dist/extensions/tools/executors/editor.d.ts +68 -0
- package/dist/extensions/tools/executors/file-locks.d.ts +41 -0
- package/dist/extensions/tools/executors/file-read.d.ts +136 -0
- package/dist/extensions/tools/executors/grep.d.ts +35 -0
- package/dist/extensions/tools/executors/index.d.ts +97 -0
- package/dist/extensions/tools/executors/line-endings.d.ts +23 -0
- package/dist/extensions/tools/executors/output-limits.d.ts +58 -0
- package/dist/extensions/tools/executors/overlay-receipts.d.ts +25 -0
- package/dist/extensions/tools/executors/posix-regex.d.ts +52 -0
- package/dist/extensions/tools/executors/read-receipts.d.ts +93 -0
- package/dist/extensions/tools/executors/run-command-execution-controller.d.ts +16 -0
- package/dist/extensions/tools/executors/search.d.ts +50 -0
- package/dist/extensions/tools/executors/sed.d.ts +92 -0
- package/dist/extensions/tools/executors/unchanged-reads.d.ts +55 -0
- package/dist/extensions/tools/executors/web-fetch.d.ts +58 -0
- package/dist/extensions/tools/helpers.d.ts +59 -0
- package/dist/extensions/tools/image-edit.d.ts +76 -0
- package/dist/extensions/tools/image-generation.d.ts +183 -0
- package/dist/extensions/tools/index.d.ts +68 -0
- package/dist/extensions/tools/jev.d.ts +336 -0
- package/dist/extensions/tools/list-files.d.ts +128 -0
- package/dist/extensions/tools/media-endpoint.d.ts +160 -0
- package/dist/extensions/tools/media-tools.d.ts +140 -0
- package/dist/extensions/tools/model-tool-routing.d.ts +33 -0
- package/dist/extensions/tools/presets.d.ts +154 -0
- package/dist/extensions/tools/qa-credentials.d.ts +133 -0
- package/dist/extensions/tools/runtime.d.ts +39 -0
- package/dist/extensions/tools/schemas.d.ts +845 -0
- package/dist/extensions/tools/task-progress.d.ts +217 -0
- package/dist/extensions/tools/team/agent-admission.d.ts +127 -0
- package/dist/extensions/tools/team/agent-check.d.ts +152 -0
- package/dist/extensions/tools/team/agent-controls.d.ts +55 -0
- package/dist/extensions/tools/team/agent-file.d.ts +28 -0
- package/dist/extensions/tools/team/agent-iteration-cap.d.ts +328 -0
- package/dist/extensions/tools/team/agent-names.d.ts +29 -0
- package/dist/extensions/tools/team/agent-node-placement.d.ts +160 -0
- package/dist/extensions/tools/team/agent-placement-queue.d.ts +199 -0
- package/dist/extensions/tools/team/agent-placement.d.ts +118 -0
- package/dist/extensions/tools/team/agent-reports.d.ts +53 -0
- package/dist/extensions/tools/team/agent-rounds.d.ts +666 -0
- package/dist/extensions/tools/team/agent-sandbox-executors.d.ts +79 -0
- package/dist/extensions/tools/team/agent-slot-gate.d.ts +186 -0
- package/dist/extensions/tools/team/agent-status.d.ts +84 -0
- package/dist/extensions/tools/team/agent-trouble.d.ts +91 -0
- package/dist/extensions/tools/team/background-delegations.d.ts +106 -0
- package/dist/extensions/tools/team/batch-report.d.ts +151 -0
- package/dist/extensions/tools/team/configured-agent-config.d.ts +37 -0
- package/dist/extensions/tools/team/configured-agent-tool.d.ts +135 -0
- package/dist/extensions/tools/team/create-agent-tool.d.ts +45 -0
- package/dist/extensions/tools/team/delegate-to-agent.d.ts +105 -0
- package/dist/extensions/tools/team/delegated-agent.d.ts +272 -0
- package/dist/extensions/tools/team/delegated-sandboxes.d.ts +125 -0
- package/dist/extensions/tools/team/delegated-tools.d.ts +40 -0
- package/dist/extensions/tools/team/delegation-call-hooks.d.ts +30 -0
- package/dist/extensions/tools/team/engine-evictions.d.ts +38 -0
- package/dist/extensions/tools/team/index.d.ts +20 -0
- package/dist/extensions/tools/team/lead-agent-tools.d.ts +92 -0
- package/dist/extensions/tools/team/multi-agent.d.ts +364 -0
- package/dist/extensions/tools/team/node-reachability.d.ts +53 -0
- package/dist/extensions/tools/team/node-throughput.d.ts +40 -0
- package/dist/extensions/tools/team/placed-run.d.ts +114 -0
- package/dist/extensions/tools/team/projections.d.ts +8 -0
- package/dist/extensions/tools/team/runtime.d.ts +6 -0
- package/dist/extensions/tools/team/session-window-retry.d.ts +28 -0
- package/dist/extensions/tools/team/spawn-agent-tool.d.ts +450 -0
- package/dist/extensions/tools/team/spawn-sampling.d.ts +188 -0
- package/dist/extensions/tools/team/spawn-swarm-tool.d.ts +330 -0
- package/dist/extensions/tools/team/subagent-cancellation.d.ts +188 -0
- package/dist/extensions/tools/team/subagent-layout.d.ts +90 -0
- package/dist/extensions/tools/team/subagent-output.d.ts +73 -0
- package/dist/extensions/tools/team/subagent-progress.d.ts +211 -0
- package/dist/extensions/tools/team/subagent-prompts.d.ts +3 -0
- package/dist/extensions/tools/team/team-state-dates.d.ts +10 -0
- package/dist/extensions/tools/team/team-tools.d.ts +56 -0
- package/dist/extensions/tools/team/teammates-off.d.ts +14 -0
- package/dist/extensions/tools/team/token-split.d.ts +28 -0
- package/dist/extensions/tools/team/turn-fault-recovery.d.ts +71 -0
- package/dist/extensions/tools/types.d.ts +410 -0
- package/dist/extensions/tools/video-generation.d.ts +94 -0
- package/dist/hooks/checkpoint-hooks.d.ts +39 -0
- package/dist/hooks/hook-extension.d.ts +2 -0
- package/dist/hooks/hook-file-config.d.ts +24 -0
- package/dist/hooks/hook-file-hooks.d.ts +22 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/subprocess-runner.d.ts +21 -0
- package/dist/hooks/subprocess.d.ts +74 -0
- package/dist/hub/client/connect.d.ts +14 -0
- package/dist/hub/client/index.d.ts +146 -0
- package/dist/hub/client/managed-hub-build-watcher.d.ts +62 -0
- package/dist/hub/client/session-client.d.ts +138 -0
- package/dist/hub/client/ui-client.d.ts +52 -0
- package/dist/hub/daemon/entry.d.ts +15 -0
- package/dist/hub/daemon/entry.js +2033 -0
- package/dist/hub/daemon/index.d.ts +125 -0
- package/dist/hub/daemon/runtime-handlers.d.ts +12 -0
- package/dist/hub/daemon/shutdown-coordinator.d.ts +31 -0
- package/dist/hub/daemon/start-shared-server.d.ts +18 -0
- package/dist/hub/daemon/telemetry.d.ts +19 -0
- package/dist/hub/discovery/defaults.d.ts +16 -0
- package/dist/hub/discovery/index.d.ts +139 -0
- package/dist/hub/discovery/instance-lock.d.ts +51 -0
- package/dist/hub/discovery/workspace.d.ts +13 -0
- package/dist/hub/index.d.ts +38 -0
- package/dist/hub/index.js +2023 -0
- package/dist/hub/runtime-host/hub-runtime-host.d.ts +83 -0
- package/dist/hub/runtime-host/remote-runtime-host.d.ts +9 -0
- package/dist/hub/server/browser-websocket.d.ts +22 -0
- package/dist/hub/server/command-transport.d.ts +29 -0
- package/dist/hub/server/handlers/approval-handlers.d.ts +24 -0
- package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
- package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
- package/dist/hub/server/handlers/connector-handlers.d.ts +20 -0
- package/dist/hub/server/handlers/context.d.ts +98 -0
- package/dist/hub/server/handlers/run-handlers.d.ts +6 -0
- package/dist/hub/server/handlers/run-queue-handlers.d.ts +33 -0
- package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
- package/dist/hub/server/handlers/session-handlers.d.ts +30 -0
- package/dist/hub/server/hub-client-contributions.d.ts +19 -0
- package/dist/hub/server/hub-event-log.d.ts +57 -0
- package/dist/hub/server/hub-notifications.d.ts +7 -0
- package/dist/hub/server/hub-run-queue.d.ts +82 -0
- package/dist/hub/server/hub-schedule-events.d.ts +2 -0
- package/dist/hub/server/hub-server-logging.d.ts +2 -0
- package/dist/hub/server/hub-server-options.d.ts +94 -0
- package/dist/hub/server/hub-server-transport.d.ts +71 -0
- package/dist/hub/server/hub-session-records.d.ts +9 -0
- package/dist/hub/server/hub-websocket-server.d.ts +12 -0
- package/dist/hub/server/index.d.ts +4 -0
- package/dist/hub/server/native-transport.d.ts +25 -0
- package/dist/hub/server/task-command-service.d.ts +11 -0
- package/dist/index.d.ts +172 -0
- package/dist/index.js +5435 -0
- package/dist/logging/early-logger.d.ts +37 -0
- package/dist/remote-config/integration.d.ts +17 -0
- package/dist/runtime/atomic/base-revision-reads.d.ts +106 -0
- package/dist/runtime/atomic/base-revision.d.ts +77 -0
- package/dist/runtime/atomic/check-first-edits.d.ts +79 -0
- package/dist/runtime/atomic/file-revisions.d.ts +268 -0
- package/dist/runtime/atomic/oracle.d.ts +178 -0
- package/dist/runtime/atomic/page-check.d.ts +39 -0
- package/dist/runtime/atomic/plan-capture.d.ts +40 -0
- package/dist/runtime/atomic/plan-text.d.ts +33 -0
- package/dist/runtime/atomic/plan-tool.d.ts +159 -0
- package/dist/runtime/atomic/proposal.d.ts +112 -0
- package/dist/runtime/atomic/propose-check-tool.d.ts +76 -0
- package/dist/runtime/atomic/protocol.d.ts +233 -0
- package/dist/runtime/atomic/restore-file-tool.d.ts +196 -0
- package/dist/runtime/atomic/revision-capture.d.ts +75 -0
- package/dist/runtime/atomic/run-check-tool.d.ts +64 -0
- package/dist/runtime/atomic/session-protocol.d.ts +304 -0
- package/dist/runtime/atomic/session-revisions.d.ts +77 -0
- package/dist/runtime/atomic/snapshot.d.ts +77 -0
- package/dist/runtime/atomic/stalled-checks.d.ts +106 -0
- package/dist/runtime/atomic/submit-transaction-tool.d.ts +50 -0
- package/dist/runtime/atomic/tool-activity.d.ts +15 -0
- package/dist/runtime/atomic/transaction-controller.d.ts +364 -0
- package/dist/runtime/atomic/unparseable-change.d.ts +35 -0
- package/dist/runtime/capabilities/index.d.ts +2 -0
- package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
- package/dist/runtime/capabilities/runtime-capabilities.d.ts +18 -0
- package/dist/runtime/config/agent-message-codec.d.ts +6 -0
- package/dist/runtime/config/agent-runtime-config-builder.d.ts +93 -0
- package/dist/runtime/config/connection-update.d.ts +40 -0
- package/dist/runtime/escalation/a2a.d.ts +109 -0
- package/dist/runtime/escalation/assessment.d.ts +54 -0
- package/dist/runtime/escalation/brief.d.ts +70 -0
- package/dist/runtime/escalation/escalate-tool.d.ts +93 -0
- package/dist/runtime/escalation/escalation-controller.d.ts +62 -0
- package/dist/runtime/escalation/escalation-session.d.ts +241 -0
- package/dist/runtime/escalation/expert-failure.d.ts +20 -0
- package/dist/runtime/escalation/expert-guards.d.ts +46 -0
- package/dist/runtime/escalation/expert-mailbox.d.ts +34 -0
- package/dist/runtime/escalation/expert-notes.d.ts +115 -0
- package/dist/runtime/escalation/expert-prompt.d.ts +29 -0
- package/dist/runtime/escalation/expert-revisions.d.ts +62 -0
- package/dist/runtime/escalation/expert-session.d.ts +164 -0
- package/dist/runtime/escalation/expert-transcript.d.ts +32 -0
- package/dist/runtime/escalation/forced-escalation.d.ts +58 -0
- package/dist/runtime/escalation/stand-down.d.ts +66 -0
- package/dist/runtime/escalation/struggle-offer.d.ts +100 -0
- package/dist/runtime/escalation/watch-tool.d.ts +34 -0
- package/dist/runtime/host/history.d.ts +19 -0
- package/dist/runtime/host/host.d.ts +7 -0
- package/dist/runtime/host/local/agent-event-bridge.d.ts +50 -0
- package/dist/runtime/host/local/session-record.d.ts +6 -0
- package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
- package/dist/runtime/host/local/spawn-tool.d.ts +57 -0
- package/dist/runtime/host/local/user-files.d.ts +1 -0
- package/dist/runtime/host/local-runtime-host.d.ts +298 -0
- package/dist/runtime/host/runtime-host-support.d.ts +39 -0
- package/dist/runtime/host/runtime-host.d.ts +280 -0
- package/dist/runtime/host/steer-side-turn.d.ts +119 -0
- package/dist/runtime/orchestration/runtime-builder.d.ts +14 -0
- package/dist/runtime/orchestration/runtime-event-adapter.d.ts +104 -0
- package/dist/runtime/orchestration/runtime-oauth-token-manager.d.ts +28 -0
- package/dist/runtime/orchestration/session-runtime-orchestrator.d.ts +339 -0
- package/dist/runtime/orchestration/session-runtime.d.ts +118 -0
- package/dist/runtime/orchestration/user-input-builder.d.ts +15 -0
- package/dist/runtime/process-start-token.d.ts +23 -0
- package/dist/runtime/safety/loop-detection.d.ts +160 -0
- package/dist/runtime/safety/mistake-tracker.d.ts +84 -0
- package/dist/runtime/safety/rules.d.ts +6 -0
- package/dist/runtime/safety/struggle-detector.d.ts +414 -0
- package/dist/runtime/safety/worker-struggle-stop.d.ts +20 -0
- package/dist/runtime/safety/worker-struggle.d.ts +166 -0
- package/dist/runtime/sandbox/agent-sandbox.d.ts +111 -0
- package/dist/runtime/sandbox/overlay-fs.d.ts +71 -0
- package/dist/runtime/sandbox/sandbox-binaries.d.ts +10 -0
- package/dist/runtime/tools/subprocess-sandbox-lifecycle.d.ts +9 -0
- package/dist/runtime/tools/subprocess-sandbox.d.ts +62 -0
- package/dist/runtime/tools/tool-approval.d.ts +9 -0
- package/dist/runtime/turn-queue/harness-notes.d.ts +18 -0
- package/dist/runtime/turn-queue/pending-prompt-service.d.ts +117 -0
- package/dist/services/agent-events.d.ts +59 -0
- package/dist/services/config.d.ts +2 -0
- package/dist/services/connectors/active-connectors.d.ts +2 -0
- package/dist/services/connectors/connector-autostart.d.ts +33 -0
- package/dist/services/connectors/connector-child-env.d.ts +14 -0
- package/dist/services/connectors/connector-cleanup.d.ts +20 -0
- package/dist/services/connectors/connector-supervisor.d.ts +134 -0
- package/dist/services/connectors/daemon-connector-reconnect.d.ts +15 -0
- package/dist/services/feature-flags/FeatureFlagsService.d.ts +49 -0
- package/dist/services/feature-flags/index.d.ts +2 -0
- package/dist/services/feature-flags/posthog.d.ts +24 -0
- package/dist/services/feature-flags/posthog.js +1 -0
- package/dist/services/feature-flags/providers.d.ts +7 -0
- package/dist/services/global-settings.d.ts +113 -0
- package/dist/services/llms/apihandler-agent-model-adapter.d.ts +26 -0
- package/dist/services/llms/cline-recommended-models.d.ts +62 -0
- package/dist/services/llms/configured-provider-registry.d.ts +27 -0
- package/dist/services/llms/handler-factory.d.ts +23 -0
- package/dist/services/llms/provider-defaults.d.ts +36 -0
- package/dist/services/llms/provider-settings.d.ts +420 -0
- package/dist/services/llms/runtime-config.d.ts +3 -0
- package/dist/services/llms/runtime-registry.d.ts +19 -0
- package/dist/services/llms/runtime-types.d.ts +84 -0
- package/dist/services/llms/session-budget.d.ts +88 -0
- package/dist/services/local-runtime-bootstrap.d.ts +62 -0
- package/dist/services/marketplace.d.ts +41 -0
- package/dist/services/mcp-install.d.ts +35 -0
- package/dist/services/plugin-install.d.ts +52 -0
- package/dist/services/plugin-mcp-settings.d.ts +31 -0
- package/dist/services/plugin-tools.d.ts +40 -0
- package/dist/services/plugin-uninstall.d.ts +13 -0
- package/dist/services/providers/local-provider-registry.d.ts +354 -0
- package/dist/services/providers/local-provider-service.d.ts +101 -0
- package/dist/services/providers/model-source.d.ts +3 -0
- package/dist/services/providers/provider-config-fields.d.ts +37 -0
- package/dist/services/providers/provider-readiness.d.ts +10 -0
- package/dist/services/session-artifacts.d.ts +18 -0
- package/dist/services/session-data.d.ts +61 -0
- package/dist/services/session-import/claude-code.d.ts +16 -0
- package/dist/services/session-import/codex.d.ts +34 -0
- package/dist/services/session-import/index.d.ts +6 -0
- package/dist/services/session-import/opencode.d.ts +25 -0
- package/dist/services/session-import/sanitize.d.ts +16 -0
- package/dist/services/session-import/service.d.ts +31 -0
- package/dist/services/session-import/types.d.ts +87 -0
- package/dist/services/session-telemetry.d.ts +15 -0
- package/dist/services/storage/file-team-store.d.ts +32 -0
- package/dist/services/storage/provider-settings-legacy-migration.d.ts +38 -0
- package/dist/services/storage/provider-settings-manager.d.ts +31 -0
- package/dist/services/storage/sqlite-session-store.d.ts +35 -0
- package/dist/services/storage/sqlite-team-store.d.ts +42 -0
- package/dist/services/storage/team-events-retention.d.ts +25 -0
- package/dist/services/storage/team-store.d.ts +16 -0
- package/dist/services/telemetry/ITelemetryAdapter.d.ts +54 -0
- package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +43 -0
- package/dist/services/telemetry/OpenTelemetryProvider.d.ts +99 -0
- package/dist/services/telemetry/TelemetryLoggerSink.d.ts +27 -0
- package/dist/services/telemetry/TelemetryService.d.ts +40 -0
- package/dist/services/telemetry/core-events.d.ts +396 -0
- package/dist/services/telemetry/distinct-id.d.ts +2 -0
- package/dist/services/telemetry/index.d.ts +4 -0
- package/dist/services/telemetry/index.js +1 -0
- package/dist/services/usage.d.ts +19 -0
- package/dist/services/workspace/agent-schedules-workspace.d.ts +8 -0
- package/dist/services/workspace/chat-workspace.d.ts +9 -0
- package/dist/services/workspace/file-indexer.d.ts +5 -0
- package/dist/services/workspace/index.d.ts +6 -0
- package/dist/services/workspace/mention-enricher.d.ts +13 -0
- package/dist/services/workspace/workspace-manager.d.ts +27 -0
- package/dist/services/workspace/workspace-manifest.d.ts +42 -0
- package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
- package/dist/session/checkpoint-diff.d.ts +25 -0
- package/dist/session/checkpoint-restore.d.ts +34 -0
- package/dist/session/display-messages.d.ts +28 -0
- package/dist/session/history-origin.d.ts +19 -0
- package/dist/session/models/session-compaction.d.ts +22 -0
- package/dist/session/models/session-graph.d.ts +15 -0
- package/dist/session/models/session-manifest.d.ts +32 -0
- package/dist/session/models/session-row.d.ts +107 -0
- package/dist/session/persisted-tool-result-content.d.ts +8 -0
- package/dist/session/search/index.d.ts +1 -0
- package/dist/session/search/session-history-search.d.ts +51 -0
- package/dist/session/services/file-session-service.d.ts +10 -0
- package/dist/session/services/message-builder.d.ts +208 -0
- package/dist/session/services/persistence-service.d.ts +92 -0
- package/dist/session/services/read-overlap.d.ts +40 -0
- package/dist/session/services/session-service.d.ts +15 -0
- package/dist/session/session-snapshot.d.ts +59 -0
- package/dist/session/session-versioning-service.d.ts +50 -0
- package/dist/session/stores/atomic-file.d.ts +1 -0
- package/dist/session/stores/conversation-store.d.ts +29 -0
- package/dist/session/stores/session-manifest-store.d.ts +49 -0
- package/dist/session/stores/team-persistence-store.d.ts +23 -0
- package/dist/session/team/index.d.ts +2 -0
- package/dist/session/team/team-child-session-manager.d.ts +35 -0
- package/dist/session/team/team-session-coordinator.d.ts +13 -0
- package/dist/session/user-run-messages.d.ts +20 -0
- package/dist/settings/index.d.ts +2 -0
- package/dist/settings/settings-service.d.ts +8 -0
- package/dist/settings/types.d.ts +83 -0
- package/dist/tasks/agenda-task-api.d.ts +20 -0
- package/dist/tasks/agenda-task-manager.d.ts +109 -0
- package/dist/tasks/agenda-task-tool.d.ts +94 -0
- package/dist/tasks/index.d.ts +9 -0
- package/dist/tasks/specs/task-spec-file-store.d.ts +38 -0
- package/dist/tasks/specs/task-spec-parser.d.ts +65 -0
- package/dist/tasks/store/sqlite-task-store.d.ts +73 -0
- package/dist/tasks/store/task-schema.d.ts +2 -0
- package/dist/tasks/task-location.d.ts +14 -0
- package/dist/tasks/task-tool.d.ts +143 -0
- package/dist/types/chat-schema.d.ts +194 -0
- package/dist/types/common.d.ts +35 -0
- package/dist/types/config.d.ts +994 -0
- package/dist/types/events.d.ts +102 -0
- package/dist/types/provider-settings.d.ts +29 -0
- package/dist/types/session.d.ts +187 -0
- package/dist/types/sessions.d.ts +42 -0
- package/dist/types/storage.d.ts +36 -0
- package/dist/types.d.ts +34 -0
- package/dist/version.d.ts +1 -0
- package/package.json +98 -0
- package/scripts/document-reader-assets.mjs +161 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the filesystem said about a file the last time this session saw it.
|
|
3
|
+
*
|
|
4
|
+
* Size and modification time, not a content hash, and that is the deciding
|
|
5
|
+
* property rather than a shortcut: it costs one `stat` instead of a read, so
|
|
6
|
+
* the *write* path can check it before doing any work and a 4 MB file is as
|
|
7
|
+
* cheap as an empty one. A hash would mean reading every file before every
|
|
8
|
+
* edit to answer a question that is almost always "nothing happened".
|
|
9
|
+
*
|
|
10
|
+
* Nanosecond precision, because millisecond is not enough: a same-length
|
|
11
|
+
* rewrite inside one millisecond is an ordinary thing for a script to do, and
|
|
12
|
+
* the whole point here is catching writes this session did not make.
|
|
13
|
+
*
|
|
14
|
+
* `absent` is a real value, not a failure: a file appearing or disappearing
|
|
15
|
+
* under the session is exactly the kind of change worth reporting. Failure is
|
|
16
|
+
* `undefined`, which never compares unequal to anything — a stamp that cannot
|
|
17
|
+
* be taken must not be allowed to invent a change.
|
|
18
|
+
*/
|
|
19
|
+
export type FileStamp = string;
|
|
20
|
+
export declare function readFileStamp(filePath: string): Promise<FileStamp | undefined>;
|
|
21
|
+
export interface ReadReceipts {
|
|
22
|
+
/** Record that `filePath` was read over the given inclusive line span. */
|
|
23
|
+
noteRead(filePath: string, first: number, last: number): void;
|
|
24
|
+
/** Whether a read has covered every line in the inclusive range. */
|
|
25
|
+
covers(filePath: string, first: number, last: number): boolean;
|
|
26
|
+
/** Whether the file has been read at all in this session. */
|
|
27
|
+
hasAny(filePath: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the file was ever read, counting reads a write has since retired.
|
|
30
|
+
*
|
|
31
|
+
* For an edit anchored to text rather than to line numbers. Retirement is
|
|
32
|
+
* about line numbers having moved, and a text match does not use them: the
|
|
33
|
+
* file itself is checked for the text at the moment of the edit, so a read
|
|
34
|
+
* whose line numbers went stale is still a model that has seen this file.
|
|
35
|
+
*
|
|
36
|
+
* Measured: a model read the file, made two edits that changed its length,
|
|
37
|
+
* and its next text-anchored edit was refused with "has not been read in
|
|
38
|
+
* this session" -- of a file it had read and just successfully edited.
|
|
39
|
+
*/
|
|
40
|
+
hasEverRead(filePath: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether reads of this file were retired by a later write.
|
|
43
|
+
*
|
|
44
|
+
* Told apart from "never read" because the two need different advice: one
|
|
45
|
+
* model has to go and look, the other looked and had the ground move.
|
|
46
|
+
*/
|
|
47
|
+
wasRetired(filePath: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Record a write. When the line count changed, receipts for the file are
|
|
50
|
+
* dropped: every line number below the edit now points somewhere else.
|
|
51
|
+
*/
|
|
52
|
+
noteWrite(filePath: string, linesBefore: number, linesAfter: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Record what the filesystem said about the file, as of now.
|
|
55
|
+
*
|
|
56
|
+
* Called by every tool that reads a file and by every tool that writes one,
|
|
57
|
+
* the latter *after* its write — otherwise the session's own edit is
|
|
58
|
+
* indistinguishable from someone else's and the next call bounces on it.
|
|
59
|
+
* `undefined` records nothing, so a stat that failed leaves the last known
|
|
60
|
+
* stamp standing rather than erasing it.
|
|
61
|
+
*/
|
|
62
|
+
noteStamp(filePath: string, stamp: FileStamp | undefined): void;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the file changed since this session last looked at it.
|
|
65
|
+
*
|
|
66
|
+
* False unless there is something to compare: an unknown file has not
|
|
67
|
+
* changed, it has merely never been seen, and reporting a change there
|
|
68
|
+
* would fire on the first read of everything.
|
|
69
|
+
*/
|
|
70
|
+
changedSince(filePath: string, stamp: FileStamp | undefined): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Retire this file's line spans without forgetting that it was read.
|
|
73
|
+
*
|
|
74
|
+
* What {@link noteWrite} does when the line count moved, for the case where
|
|
75
|
+
* the mover was not this session: the spans are wrong either way, and the
|
|
76
|
+
* model still needs to be told apart from one that never looked — those two
|
|
77
|
+
* get different advice.
|
|
78
|
+
*/
|
|
79
|
+
retire(filePath: string): void;
|
|
80
|
+
/** Drop everything known about a file. */
|
|
81
|
+
forget(filePath: string): void;
|
|
82
|
+
/**
|
|
83
|
+
* Every file read in this session, in the form it was resolved to.
|
|
84
|
+
*
|
|
85
|
+
* The receipts are the only record of which files the model has actually
|
|
86
|
+
* touched, and they are kept whatever the file's location -- which makes
|
|
87
|
+
* them the honest answer when a workspace-scoped search cannot find one.
|
|
88
|
+
* Retired reads are included: a file whose receipts a write invalidated was
|
|
89
|
+
* still read, and is still where it was.
|
|
90
|
+
*/
|
|
91
|
+
paths(): string[];
|
|
92
|
+
}
|
|
93
|
+
export declare function createReadReceipts(): ReadReceipts;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface RunningCommandRegistration {
|
|
2
|
+
executionId: string;
|
|
3
|
+
sessionId: string;
|
|
4
|
+
toolCallId?: string;
|
|
5
|
+
detach: () => boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Tracks shell processes that can release their owning tool call while the
|
|
9
|
+
* process keeps running. The controller is host-scoped so hub commands can
|
|
10
|
+
* target only commands owned by a particular session/tool call.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RunCommandExecutionController {
|
|
13
|
+
private readonly commands;
|
|
14
|
+
register(command: RunningCommandRegistration): () => void;
|
|
15
|
+
proceedWhileRunning(sessionId: string, toolCallId?: string): number;
|
|
16
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Executor
|
|
3
|
+
*
|
|
4
|
+
* Built-in implementation for searching the codebase using ripgrep (if available) or regex.
|
|
5
|
+
*/
|
|
6
|
+
import type { SearchExecutor } from "../types";
|
|
7
|
+
/**
|
|
8
|
+
* Options for the search executor
|
|
9
|
+
*/
|
|
10
|
+
export interface SearchExecutorOptions {
|
|
11
|
+
/**
|
|
12
|
+
* File extensions to include in search (without dot)
|
|
13
|
+
* @default common code extensions
|
|
14
|
+
*/
|
|
15
|
+
includeExtensions?: string[];
|
|
16
|
+
/**
|
|
17
|
+
* Directories to exclude from search
|
|
18
|
+
* @default ["node_modules", ".git", "dist", "build", ".next", "coverage"]
|
|
19
|
+
*/
|
|
20
|
+
excludeDirs?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Maximum number of results to return
|
|
23
|
+
* @default 100
|
|
24
|
+
*/
|
|
25
|
+
maxResults?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Number of context lines before and after match
|
|
28
|
+
* @default 2
|
|
29
|
+
*/
|
|
30
|
+
contextLines?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Maximum depth to traverse
|
|
33
|
+
* @default 20
|
|
34
|
+
*/
|
|
35
|
+
maxDepth?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a search executor using regex pattern matching
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const search = createSearchExecutor({
|
|
43
|
+
* maxResults: 50,
|
|
44
|
+
* contextLines: 3,
|
|
45
|
+
* })
|
|
46
|
+
*
|
|
47
|
+
* const results = await search("function\\s+handleClick", "/path/to/project", context)
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function createSearchExecutor(options?: SearchExecutorOptions): SearchExecutor;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
|
|
2
|
+
import { type ReadReceipts } from "./read-receipts";
|
|
3
|
+
type Address = {
|
|
4
|
+
kind: "line";
|
|
5
|
+
line: number;
|
|
6
|
+
} | {
|
|
7
|
+
kind: "last";
|
|
8
|
+
} | {
|
|
9
|
+
kind: "regex";
|
|
10
|
+
regex: RegExp;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "every";
|
|
13
|
+
};
|
|
14
|
+
interface Command {
|
|
15
|
+
start?: Address;
|
|
16
|
+
end?: Address;
|
|
17
|
+
negated: boolean;
|
|
18
|
+
name: string;
|
|
19
|
+
/** For `s`: the compiled match. For `y`: unused. */
|
|
20
|
+
regex?: RegExp;
|
|
21
|
+
replacement?: string;
|
|
22
|
+
/** For `s`: replace every occurrence. */
|
|
23
|
+
global?: boolean;
|
|
24
|
+
/** For `s`: print the line when a substitution happened. */
|
|
25
|
+
print?: boolean;
|
|
26
|
+
/** For `s`: replace only the Nth occurrence. */
|
|
27
|
+
occurrence?: number;
|
|
28
|
+
/** For `y`: the from/to character maps. */
|
|
29
|
+
from?: string;
|
|
30
|
+
to?: string;
|
|
31
|
+
/** For `a`, `i`, `c`: the text. */
|
|
32
|
+
text?: string;
|
|
33
|
+
/** Range state while executing. */
|
|
34
|
+
active?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse a sed script into commands.
|
|
38
|
+
*
|
|
39
|
+
* Commands are separated by `;` or a newline, except inside a delimited
|
|
40
|
+
* section — `s/a;b/c/` is one command, and splitting on `;` first would break
|
|
41
|
+
* it. So the script is walked rather than split.
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseSedScript(script: string, extended?: boolean): Command[];
|
|
44
|
+
export interface RunSedResult {
|
|
45
|
+
output: string;
|
|
46
|
+
/** Whether any command changed the text. */
|
|
47
|
+
changed: boolean;
|
|
48
|
+
}
|
|
49
|
+
/** Run a parsed script over text. Pure: no filesystem, so it is easy to test. */
|
|
50
|
+
export declare function runSedScript(input: string, commands: Command[], quiet?: boolean): RunSedResult;
|
|
51
|
+
export interface SedExecutorOptions {
|
|
52
|
+
cwd?: string;
|
|
53
|
+
/**
|
|
54
|
+
* The same registry `editor` and `read_files` use.
|
|
55
|
+
*
|
|
56
|
+
* An in-place `sed` is an edit, and must answer to the read-before-change
|
|
57
|
+
* rule exactly as `editor` does. Without this the tool would be a way to
|
|
58
|
+
* modify a file the model has never looked at, which is the failure the
|
|
59
|
+
* receipts exist to stop.
|
|
60
|
+
*/
|
|
61
|
+
receipts?: ReadReceipts;
|
|
62
|
+
/** A delegated agent's overlay; an in-place sed writes into it, not the workspace. */
|
|
63
|
+
overlay?: AgentOverlay;
|
|
64
|
+
}
|
|
65
|
+
export interface SedInput {
|
|
66
|
+
script: string;
|
|
67
|
+
files: string[];
|
|
68
|
+
in_place?: boolean;
|
|
69
|
+
quiet?: boolean;
|
|
70
|
+
extended?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* What happened to one file.
|
|
74
|
+
*
|
|
75
|
+
* One `sed` call names a list of files, and they do not share a fate: an
|
|
76
|
+
* in-place run can write the first and be refused on the second for never
|
|
77
|
+
* having been read. Joining that into one string made a refusal indexable only
|
|
78
|
+
* by reading the prose — and the tool layer above reported the whole call as a
|
|
79
|
+
* success, which is the one thing a blocked write must never look like.
|
|
80
|
+
*/
|
|
81
|
+
export interface SedFileOutcome {
|
|
82
|
+
/** The file as the caller named it, not as it was resolved. */
|
|
83
|
+
file: string;
|
|
84
|
+
/** The script's output for this file, or a sentence describing the write. */
|
|
85
|
+
output: string;
|
|
86
|
+
/** False only when the file was NOT touched: a guard, or an unreadable file. */
|
|
87
|
+
ok: boolean;
|
|
88
|
+
/** Why, when `ok` is false. */
|
|
89
|
+
error?: string;
|
|
90
|
+
}
|
|
91
|
+
export declare function createSedExecutor(options?: SedExecutorOptions): (input: SedInput, callCwd?: string) => Promise<SedFileOutcome[]>;
|
|
92
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Answer a re-read of a file that has not changed with a pointer, not a copy.
|
|
3
|
+
*
|
|
4
|
+
* Measured on a live pandorum session (1789035782295_5ag8n, cline 4.100.87,
|
|
5
|
+
* ornith 27B): `read_files` was called 33 times, and 31 of those calls were
|
|
6
|
+
* byte-identical -- the whole of `manic_miner.html`, over and over, with edits
|
|
7
|
+
* in between. The results totalled 440,013 characters, roughly 110,000 tokens,
|
|
8
|
+
* against a file of about 14 KB. The run's entire reasoning came to 27,000
|
|
9
|
+
* tokens; four times that was spent re-reading one file.
|
|
10
|
+
*
|
|
11
|
+
* The existing loop guard cannot see this. It counts strikes per signature but
|
|
12
|
+
* only for calls that *fail*, deliberately: re-running a check after each edit
|
|
13
|
+
* is how work gets done, and a success clears the tally. These reads all
|
|
14
|
+
* succeed. It also cannot see it as adjacency -- the longest run of consecutive
|
|
15
|
+
* identical calls in that session was two, because an `editor` call always sat
|
|
16
|
+
* in between.
|
|
17
|
+
*
|
|
18
|
+
* So the test here is neither "it repeated" nor "it failed", but something
|
|
19
|
+
* provable: the bytes coming back are the bytes that already went back. When
|
|
20
|
+
* the content is identical, a second copy carries no information the
|
|
21
|
+
* conversation does not already hold.
|
|
22
|
+
*
|
|
23
|
+
* THE HAZARD, and why the valve exists. "Already in the conversation" stops
|
|
24
|
+
* being true after a compaction: the earlier read may have been summarised
|
|
25
|
+
* away, and a model told "unchanged since you last read it" would then be
|
|
26
|
+
* pointed at something it can no longer see. Rather than reach into the
|
|
27
|
+
* compaction machinery, every `REFRESH_EVERY` repeats serves the real content
|
|
28
|
+
* again. A compacted context recovers on its own within a few calls, while a
|
|
29
|
+
* loop still pays a fraction of what it used to.
|
|
30
|
+
*/
|
|
31
|
+
/** How often a repeat is answered with the content anyway, compaction insurance. */
|
|
32
|
+
export declare const REFRESH_EVERY = 4;
|
|
33
|
+
/** What identifies "the same read": the file and the window asked for. */
|
|
34
|
+
export interface ReadKeyParts {
|
|
35
|
+
path: string;
|
|
36
|
+
firstLine: number;
|
|
37
|
+
lastLine: number;
|
|
38
|
+
withLineNumbers: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface ReadLedger {
|
|
41
|
+
/**
|
|
42
|
+
* What to return for this read, or `undefined` to return the content.
|
|
43
|
+
*
|
|
44
|
+
* Records the content either way, so the next identical read can be
|
|
45
|
+
* compared against it.
|
|
46
|
+
*/
|
|
47
|
+
noticeFor(parts: ReadKeyParts, text: string): string | undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* A ledger of what this session has already returned for each read.
|
|
51
|
+
*
|
|
52
|
+
* Per session, not per transaction: the conversation is what holds the earlier
|
|
53
|
+
* copy, and it outlives any one transaction.
|
|
54
|
+
*/
|
|
55
|
+
export declare function createReadLedger(): ReadLedger;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Fetch Executor
|
|
3
|
+
*
|
|
4
|
+
* Built-in implementation for fetching web content using native fetch.
|
|
5
|
+
*/
|
|
6
|
+
import type { WebFetchExecutor } from "../types";
|
|
7
|
+
/**
|
|
8
|
+
* Options for the web fetch executor
|
|
9
|
+
*/
|
|
10
|
+
export interface WebFetchExecutorOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Timeout for fetch requests in milliseconds
|
|
13
|
+
* @default 30000 (30 seconds)
|
|
14
|
+
*/
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Maximum response size in bytes
|
|
18
|
+
* @default 5_000_000 (5MB)
|
|
19
|
+
*/
|
|
20
|
+
maxResponseBytes?: number;
|
|
21
|
+
/**
|
|
22
|
+
* User agent string
|
|
23
|
+
* @default "Mozilla/5.0 (compatible; AgentBot/1.0)"
|
|
24
|
+
*/
|
|
25
|
+
userAgent?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Additional headers
|
|
28
|
+
*/
|
|
29
|
+
headers?: Record<string, string>;
|
|
30
|
+
/**
|
|
31
|
+
* Whether to follow redirects
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
followRedirects?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Maximum number of redirects to follow
|
|
37
|
+
* @default 5
|
|
38
|
+
*/
|
|
39
|
+
maxRedirects?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a web fetch executor using native fetch
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const webFetch = createWebFetchExecutor({
|
|
47
|
+
* timeoutMs: 15000,
|
|
48
|
+
* maxResponseBytes: 2_000_000,
|
|
49
|
+
* })
|
|
50
|
+
*
|
|
51
|
+
* const content = await webFetch(
|
|
52
|
+
* "https://docs.example.com/api",
|
|
53
|
+
* "Extract the authentication section",
|
|
54
|
+
* context
|
|
55
|
+
* )
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function createWebFetchExecutor(options?: WebFetchExecutorOptions): WebFetchExecutor;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type EditFileInput, type ReadFileRequest, type StructuredCommandInput } from "./schemas";
|
|
2
|
+
/**
|
|
3
|
+
* Format an error into a string message
|
|
4
|
+
*/
|
|
5
|
+
export declare function formatError(error: unknown): string;
|
|
6
|
+
export declare function getEditorSizeError(input: EditFileInput): string | null;
|
|
7
|
+
/**
|
|
8
|
+
* Create a timeout-wrapped promise
|
|
9
|
+
*/
|
|
10
|
+
export declare class TimeoutError extends Error {
|
|
11
|
+
readonly timeoutMs: number;
|
|
12
|
+
constructor(message: string, timeoutMs: number);
|
|
13
|
+
}
|
|
14
|
+
export declare function withTimeout<T>(promise: Promise<T>, ms: number, message: string): Promise<T>;
|
|
15
|
+
export declare function formatReadFileQuery(request: ReadFileRequest): string;
|
|
16
|
+
export declare function getReadFileRangeError(request: ReadFileRequest): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* Some models emit a file's line range as a separate array element instead of
|
|
19
|
+
* placing start_line/end_line on the same object as its path. Fold such
|
|
20
|
+
* orphan range entries into the preceding file entry before validation.
|
|
21
|
+
*/
|
|
22
|
+
export declare function coalesceOrphanReadRanges(input: unknown): unknown;
|
|
23
|
+
/**
|
|
24
|
+
* Read a path field whose value is a list rendered as a string.
|
|
25
|
+
*
|
|
26
|
+
* Returns the paths it contains, or null when the value is an ordinary path.
|
|
27
|
+
* Only a value that is bracketed end to end qualifies — a path that merely
|
|
28
|
+
* contains a bracket is left alone.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseBracketedPathList(value: string): string[] | null;
|
|
31
|
+
/**
|
|
32
|
+
* Expand a path field holding a bracketed list into the real list.
|
|
33
|
+
*
|
|
34
|
+
* `read_files` is plural and its sibling `check_file` takes `paths: [...]`,
|
|
35
|
+
* so a model that has just used one reaches for an array here too — but
|
|
36
|
+
* `path` is a string, and a string is what a bracketed list validates as.
|
|
37
|
+
* Measured on a 156-message session: three consecutive calls sent
|
|
38
|
+
* `path: "[\"c:\\...\\game.js\"]"`, `"[c:\\...\\game.js]"` and
|
|
39
|
+
* `"[c:/.../game.js]"`, each of which passed validation and was then joined
|
|
40
|
+
* onto the cwd, so all three came back
|
|
41
|
+
* `ENOENT ... stat 'c:\...\test\["c:\...\game.js"]'`. The list was always
|
|
42
|
+
* there in the argument; nothing was reading it as one.
|
|
43
|
+
*/
|
|
44
|
+
export declare function expandBracketedPathLists(input: unknown): unknown;
|
|
45
|
+
export declare function normalizeRunCommandsInput(input: unknown): Array<string | StructuredCommandInput>;
|
|
46
|
+
export declare function formatRunCommandQuery(command: string | StructuredCommandInput): string;
|
|
47
|
+
/**
|
|
48
|
+
* Max characters of the executed command echoed back in the tool result's
|
|
49
|
+
* `query` field. The full command already exists in the assistant tool-call
|
|
50
|
+
* input, so repeating it in the result only duplicates tokens in the
|
|
51
|
+
* provider request (expensive for large heredoc/file-generation commands).
|
|
52
|
+
*/
|
|
53
|
+
export declare const RUN_COMMAND_QUERY_PREVIEW_LIMIT = 200;
|
|
54
|
+
/**
|
|
55
|
+
* Bound the command echo placed in a provider-facing tool result.
|
|
56
|
+
* Short commands pass through unchanged; long commands keep a short
|
|
57
|
+
* prefix plus a truncation note so the result is still identifiable.
|
|
58
|
+
*/
|
|
59
|
+
export declare function formatRunCommandQueryPreview(command: string | StructuredCommandInput): string;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tool that changes a picture.
|
|
3
|
+
*
|
|
4
|
+
* `generate_image` makes one from nothing, and the next thing anyone wants is
|
|
5
|
+
* to keep most of it: the same icon on a transparent ground, the same mockup
|
|
6
|
+
* with the sidebar on the other side, a logo placed on a photograph. Asking a
|
|
7
|
+
* generator again gets a different picture, not a corrected one.
|
|
8
|
+
*
|
|
9
|
+
* The wire format is the OpenAI images API's edit route
|
|
10
|
+
* (`POST {endpoint}/images/edits`, multipart), which opencoti and xOllama
|
|
11
|
+
* serve beside the generation route and which the hosted services serve too.
|
|
12
|
+
* The images go as `image[]`, one or several: an edit model takes the extra
|
|
13
|
+
* ones as references. What "edit" means is the model's: an instruction-edit
|
|
14
|
+
* model (FLUX.2 klein, Qwen-Image) follows the prompt, a plain diffusion model
|
|
15
|
+
* redraws over the source (img2img), and a `mask` limits either to a region.
|
|
16
|
+
*/
|
|
17
|
+
import { type AgentTool } from "@cerebriline/shared";
|
|
18
|
+
import { type ImageGenerationEndpoint } from "./image-generation";
|
|
19
|
+
export declare const EDIT_IMAGE_TOOL_NAME = "edit_image";
|
|
20
|
+
export declare const EDIT_IMAGE_TOOL_DESCRIPTION = "Edit an existing image in the workspace according to a text instruction and save the result as a new file. Use it to change a picture you already have rather than generate a different one: recolour or restyle an icon, change one element of a mockup, combine a subject with a background.\n\nThe result is written to a file and, if you can see images, returned to you as well \u2014 so you can check the edit and try again with a changed instruction if it is wrong. The source images are never modified.\n\nArguments:\n- `prompt` \u2014 what to change, as an instruction: \"make the background transparent\", \"replace the red door with a blue one\". Say what must stay the same when it matters.\n- `images` \u2014 the image files to edit, as workspace paths. The first is the image being edited; any others are references the model may draw from (a style, a subject to place). Most backends take one to three.\n- `mask` \u2014 optional workspace path of a mask image the same size as the first image. Only the masked region is changed.\n- `path` \u2014 where to save the result, relative to the workspace. Optional; defaults to a file under `.cline/generated-images/`.\n- `size` \u2014 `WxH` in pixels, e.g. `1024x1024`. Optional, and the backend may round it or keep the source's size.\n\nHow far an edit goes depends on the backend: some follow the instruction, others redraw over the source and only make small changes. Look at the result before relying on it. This costs real time \u2014 seconds to a minute per image \u2014 and on a hosted backend it costs money.";
|
|
21
|
+
export declare const EDIT_IMAGE_TOOL_INPUT_SCHEMA: {
|
|
22
|
+
readonly type: "object";
|
|
23
|
+
readonly properties: {
|
|
24
|
+
readonly prompt: {
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
readonly description: "What to change, as an instruction. Say what must stay the same when it matters.";
|
|
27
|
+
};
|
|
28
|
+
readonly images: {
|
|
29
|
+
readonly type: "array";
|
|
30
|
+
readonly items: {
|
|
31
|
+
readonly type: "string";
|
|
32
|
+
};
|
|
33
|
+
readonly description: "Workspace paths of the images. The first is the one being edited; the rest are references.";
|
|
34
|
+
};
|
|
35
|
+
readonly mask: {
|
|
36
|
+
readonly type: "string";
|
|
37
|
+
readonly description: "Workspace path of a mask the same size as the first image. Optional; only the masked region is changed.";
|
|
38
|
+
};
|
|
39
|
+
readonly path: {
|
|
40
|
+
readonly type: "string";
|
|
41
|
+
readonly description: "Where to save the result, relative to the workspace. Optional; defaults to a file under .cline/generated-images/.";
|
|
42
|
+
};
|
|
43
|
+
readonly size: {
|
|
44
|
+
readonly type: "string";
|
|
45
|
+
readonly description: "Pixel size as \"WIDTHxHEIGHT\", e.g. \"1024x1024\". Optional.";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
readonly required: readonly ["prompt", "images"];
|
|
49
|
+
};
|
|
50
|
+
export interface EditImageToolInput {
|
|
51
|
+
prompt?: unknown;
|
|
52
|
+
images?: unknown;
|
|
53
|
+
mask?: unknown;
|
|
54
|
+
path?: unknown;
|
|
55
|
+
size?: unknown;
|
|
56
|
+
}
|
|
57
|
+
export interface EditImageToolOptions {
|
|
58
|
+
cwd: string;
|
|
59
|
+
/** Where edits go. The same shape as generation's: URL, model, key, size. */
|
|
60
|
+
getEndpoint: () => ImageGenerationEndpoint | undefined | Promise<ImageGenerationEndpoint | undefined>;
|
|
61
|
+
readFile: (absolutePath: string) => Promise<Buffer>;
|
|
62
|
+
writeFile: (absolutePath: string, data: Buffer) => Promise<void>;
|
|
63
|
+
fetchImpl?: typeof fetch;
|
|
64
|
+
/** Milliseconds one edit may take. Defaults to 3 minutes. */
|
|
65
|
+
timeoutMs?: number;
|
|
66
|
+
onError?: (message: string, error: unknown) => void;
|
|
67
|
+
}
|
|
68
|
+
/** The paths the model named, as a list, whichever way it wrote them. */
|
|
69
|
+
export declare function parseImagePaths(value: unknown): string[];
|
|
70
|
+
/**
|
|
71
|
+
* Create the `edit_image` tool.
|
|
72
|
+
*
|
|
73
|
+
* Like `generate_image`, the host leaves it out when nothing is configured,
|
|
74
|
+
* and `getEndpoint` returning nothing is handled anyway.
|
|
75
|
+
*/
|
|
76
|
+
export declare function createEditImageTool(options: EditImageToolOptions): AgentTool;
|