@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,43 @@
|
|
|
1
|
+
import type { LoggerProvider } from "@opentelemetry/sdk-logs";
|
|
2
|
+
import type { MeterProvider } from "@opentelemetry/sdk-metrics";
|
|
3
|
+
import type { ITelemetryAdapter, TelemetryMetadata, TelemetryProperties } from "./ITelemetryAdapter";
|
|
4
|
+
export interface OpenTelemetryAdapterOptions {
|
|
5
|
+
readonly metadata: TelemetryMetadata;
|
|
6
|
+
readonly meterProvider?: MeterProvider | null;
|
|
7
|
+
readonly loggerProvider?: LoggerProvider | null;
|
|
8
|
+
readonly name?: string;
|
|
9
|
+
readonly enabled?: boolean | (() => boolean);
|
|
10
|
+
readonly distinctId?: string;
|
|
11
|
+
readonly commonProperties?: TelemetryProperties;
|
|
12
|
+
}
|
|
13
|
+
export declare class OpenTelemetryAdapter implements ITelemetryAdapter {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
private readonly metadata;
|
|
16
|
+
private readonly meter;
|
|
17
|
+
private readonly logger;
|
|
18
|
+
private readonly enabled;
|
|
19
|
+
private distinctId?;
|
|
20
|
+
private commonProperties;
|
|
21
|
+
private counters;
|
|
22
|
+
private histograms;
|
|
23
|
+
private gauges;
|
|
24
|
+
private gaugeValues;
|
|
25
|
+
private readonly meterProvider?;
|
|
26
|
+
private readonly loggerProvider?;
|
|
27
|
+
constructor(options: OpenTelemetryAdapterOptions);
|
|
28
|
+
emit(event: string, properties?: TelemetryProperties): void;
|
|
29
|
+
emitRequired(event: string, properties?: TelemetryProperties): void;
|
|
30
|
+
recordCounter(name: string, value: number, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
31
|
+
recordHistogram(name: string, value: number, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
32
|
+
recordGauge(name: string, value: number | null, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
33
|
+
isEnabled(): boolean;
|
|
34
|
+
setDistinctId(distinctId?: string): void;
|
|
35
|
+
setCommonProperties(properties: TelemetryProperties): void;
|
|
36
|
+
updateCommonProperties(properties: TelemetryProperties): void;
|
|
37
|
+
flush(): Promise<void>;
|
|
38
|
+
dispose(): Promise<void>;
|
|
39
|
+
private emitLog;
|
|
40
|
+
private buildAttributes;
|
|
41
|
+
private snapshotGaugeSeries;
|
|
42
|
+
private flattenProperties;
|
|
43
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { BasicLogger, ITelemetryService, OpenTelemetryClientConfig, TelemetryMetadata } from "@cerebriline/shared";
|
|
2
|
+
import { type Tracer } from "@opentelemetry/api";
|
|
3
|
+
import { LoggerProvider } from "@opentelemetry/sdk-logs";
|
|
4
|
+
import { MeterProvider } from "@opentelemetry/sdk-metrics";
|
|
5
|
+
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
|
|
6
|
+
import { OpenTelemetryAdapter, type OpenTelemetryAdapterOptions } from "./OpenTelemetryAdapter";
|
|
7
|
+
type OpenTelemetryExporterKind = "console" | "otlp";
|
|
8
|
+
export interface OpenTelemetryProviderOptions extends Omit<OpenTelemetryClientConfig, "enabled" | "logsExporter" | "metricsExporter" | "tracesExporter"> {
|
|
9
|
+
serviceName?: string;
|
|
10
|
+
serviceVersion?: string;
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
logsExporter?: string | OpenTelemetryExporterKind[];
|
|
13
|
+
metricsExporter?: string | OpenTelemetryExporterKind[];
|
|
14
|
+
tracesExporter?: string | OpenTelemetryExporterKind[];
|
|
15
|
+
metricExportIntervalMs?: number;
|
|
16
|
+
logMaxQueueSize?: number;
|
|
17
|
+
logBatchSize?: number;
|
|
18
|
+
logBatchTimeoutMs?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface CreateOpenTelemetryTelemetryServiceOptions extends OpenTelemetryProviderOptions, Pick<OpenTelemetryAdapterOptions, "name" | "distinctId" | "commonProperties"> {
|
|
21
|
+
metadata: TelemetryMetadata;
|
|
22
|
+
logger?: BasicLogger;
|
|
23
|
+
/**
|
|
24
|
+
* Skip the automatic `telemetry.provider_created` event during construction
|
|
25
|
+
* and expose it as {@link ConfiguredTelemetryHandle.emitProviderCreated}
|
|
26
|
+
* instead. Metadata is stamped onto events at capture time, so hosts that
|
|
27
|
+
* resolve identity metadata asynchronously (e.g. over the host bridge) defer
|
|
28
|
+
* the event until that metadata is applied.
|
|
29
|
+
*/
|
|
30
|
+
deferProviderCreatedEvent?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare class OpenTelemetryProvider {
|
|
33
|
+
readonly meterProvider: MeterProvider | null;
|
|
34
|
+
readonly loggerProvider: LoggerProvider | null;
|
|
35
|
+
readonly tracerProvider: NodeTracerProvider | null;
|
|
36
|
+
private readonly options;
|
|
37
|
+
constructor(options?: OpenTelemetryProviderOptions);
|
|
38
|
+
/**
|
|
39
|
+
* Returns a tracer for manual spans. Requires {@link OpenTelemetryProviderOptions.tracesExporter}
|
|
40
|
+
* so that a {@link NodeTracerProvider} is registered.
|
|
41
|
+
*/
|
|
42
|
+
getTracer(name?: string, version?: string): Tracer;
|
|
43
|
+
createAdapter(options: Omit<OpenTelemetryAdapterOptions, "meterProvider" | "loggerProvider">): OpenTelemetryAdapter;
|
|
44
|
+
createTelemetryService(options: Omit<CreateOpenTelemetryTelemetryServiceOptions, keyof OpenTelemetryProviderOptions>): ITelemetryService;
|
|
45
|
+
forceFlush(): Promise<void>;
|
|
46
|
+
dispose(): Promise<void>;
|
|
47
|
+
private createMeterProvider;
|
|
48
|
+
private createTracerProvider;
|
|
49
|
+
private createLoggerProvider;
|
|
50
|
+
}
|
|
51
|
+
export declare function createOpenTelemetryTelemetryService(options: CreateOpenTelemetryTelemetryServiceOptions): {
|
|
52
|
+
provider: OpenTelemetryProvider;
|
|
53
|
+
telemetry: ITelemetryService;
|
|
54
|
+
emitProviderCreated: () => void;
|
|
55
|
+
};
|
|
56
|
+
export declare function createConfiguredTelemetryService(options: CreateOpenTelemetryTelemetryServiceOptions): {
|
|
57
|
+
provider?: OpenTelemetryProvider;
|
|
58
|
+
telemetry: ITelemetryService;
|
|
59
|
+
emitProviderCreated?: () => void;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Telemetry service plus the lifecycle closures (`flush`, `dispose`) every
|
|
63
|
+
* host needs to drive the underlying provider during shutdown. Returned by
|
|
64
|
+
* {@link createConfiguredTelemetryHandle} so detached daemons, the VS Code
|
|
65
|
+
* extension, and the CLI can share one canonical implementation of the
|
|
66
|
+
* "best-effort flush; settle dispose" semantics instead of each
|
|
67
|
+
* re-implementing the same closures.
|
|
68
|
+
*/
|
|
69
|
+
export interface ConfiguredTelemetryHandle {
|
|
70
|
+
readonly telemetry: ITelemetryService;
|
|
71
|
+
/**
|
|
72
|
+
* The underlying OpenTelemetry provider, when telemetry is enabled.
|
|
73
|
+
* `undefined` when telemetry is disabled or opted out so callers can
|
|
74
|
+
* detect the inactive case without inspecting `enabled` themselves.
|
|
75
|
+
*/
|
|
76
|
+
readonly provider?: OpenTelemetryProvider;
|
|
77
|
+
/**
|
|
78
|
+
* Best-effort flush of any pending telemetry batches. Errors are
|
|
79
|
+
* swallowed so callers can `await` this in shutdown paths without
|
|
80
|
+
* blocking deactivation on a misbehaving exporter.
|
|
81
|
+
*/
|
|
82
|
+
flush: () => Promise<void>;
|
|
83
|
+
/** Disposes the telemetry service and its provider concurrently. */
|
|
84
|
+
dispose: () => Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Emits the `telemetry.provider_created` event. Only present when the
|
|
87
|
+
* handle was created with `deferProviderCreatedEvent: true` and telemetry
|
|
88
|
+
* is enabled; the host must call it once its identity metadata is applied.
|
|
89
|
+
*/
|
|
90
|
+
emitProviderCreated?: () => void;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Builds a {@link ConfiguredTelemetryHandle} so hosts (CLI, VS Code, hub
|
|
94
|
+
* daemon) share one canonical flush/dispose implementation. Without a
|
|
95
|
+
* shared helper each host re-derived the same closures and they tended
|
|
96
|
+
* to drift; this factory keeps the lifecycle uniform across hosts.
|
|
97
|
+
*/
|
|
98
|
+
export declare function createConfiguredTelemetryHandle(options: CreateOpenTelemetryTelemetryServiceOptions): ConfiguredTelemetryHandle;
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { BasicLogger } from "@cerebriline/shared";
|
|
2
|
+
import type { ITelemetryAdapter, TelemetryProperties } from "./ITelemetryAdapter";
|
|
3
|
+
/**
|
|
4
|
+
* {@link ITelemetryAdapter} implementation that forwards telemetry to a {@link BasicLogger}.
|
|
5
|
+
*
|
|
6
|
+
* This is intentionally named *Sink* (not "adapter") to distinguish it from host logging bridges
|
|
7
|
+
* such as the CLI Pino bundle: it consumes telemetry events and writes them to the injected logger.
|
|
8
|
+
*/
|
|
9
|
+
export interface TelemetryLoggerSinkOptions {
|
|
10
|
+
logger?: BasicLogger;
|
|
11
|
+
name?: string;
|
|
12
|
+
enabled?: boolean | (() => boolean);
|
|
13
|
+
}
|
|
14
|
+
export declare class TelemetryLoggerSink implements ITelemetryAdapter {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
private readonly logger?;
|
|
17
|
+
private readonly enabled;
|
|
18
|
+
constructor(options?: TelemetryLoggerSinkOptions);
|
|
19
|
+
emit(event: string, properties?: TelemetryProperties): void;
|
|
20
|
+
emitRequired(event: string, properties?: TelemetryProperties): void;
|
|
21
|
+
recordCounter(name: string, value: number, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
22
|
+
recordHistogram(name: string, value: number, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
23
|
+
recordGauge(name: string, value: number | null, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
24
|
+
isEnabled(): boolean;
|
|
25
|
+
flush(): Promise<void>;
|
|
26
|
+
dispose(): Promise<void>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { BasicLogger, ITelemetryService, TelemetryMetadata, TelemetryProperties } from "@cerebriline/shared";
|
|
2
|
+
import type { ITelemetryAdapter } from "./ITelemetryAdapter";
|
|
3
|
+
export interface TelemetryServiceOptions {
|
|
4
|
+
adapters?: ITelemetryAdapter[];
|
|
5
|
+
metadata?: Partial<TelemetryMetadata>;
|
|
6
|
+
distinctId?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Deterministic per-device identifier attached to every event as
|
|
9
|
+
* `device_id`. Defaults to {@link resolveCoreDeviceId}
|
|
10
|
+
*/
|
|
11
|
+
deviceId?: string;
|
|
12
|
+
commonProperties?: TelemetryProperties;
|
|
13
|
+
logger?: BasicLogger;
|
|
14
|
+
}
|
|
15
|
+
export declare class TelemetryService implements ITelemetryService {
|
|
16
|
+
private adapters;
|
|
17
|
+
private metadata;
|
|
18
|
+
private distinctId?;
|
|
19
|
+
private readonly deviceId;
|
|
20
|
+
private commonProperties;
|
|
21
|
+
constructor(options?: TelemetryServiceOptions);
|
|
22
|
+
addAdapter(adapter: ITelemetryAdapter): void;
|
|
23
|
+
setDistinctId(distinctId?: string): void;
|
|
24
|
+
setMetadata(metadata: Partial<TelemetryMetadata>): void;
|
|
25
|
+
updateMetadata(metadata: Partial<TelemetryMetadata>): void;
|
|
26
|
+
setCommonProperties(properties: TelemetryProperties): void;
|
|
27
|
+
updateCommonProperties(properties: TelemetryProperties): void;
|
|
28
|
+
isEnabled(): boolean;
|
|
29
|
+
capture(input: {
|
|
30
|
+
event: string;
|
|
31
|
+
properties?: TelemetryProperties;
|
|
32
|
+
}): void;
|
|
33
|
+
captureRequired(event: string, properties?: TelemetryProperties): void;
|
|
34
|
+
recordCounter(name: string, value: number, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
35
|
+
recordHistogram(name: string, value: number, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
36
|
+
recordGauge(name: string, value: number | null, attributes?: TelemetryProperties, description?: string, required?: boolean): void;
|
|
37
|
+
flush(): Promise<void>;
|
|
38
|
+
dispose(): Promise<void>;
|
|
39
|
+
private buildAttributes;
|
|
40
|
+
}
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { type CaptureAgentUnexpectedReasoningTokensInput, type CaptureTaskLifecycleEventInput, captureAgentUnexpectedReasoningTokens, captureTaskLifecycleEvent, type ITelemetryService, type TelemetryProperties } from "@cerebriline/shared";
|
|
2
|
+
import type { CoreCompactionBudgetPolicyIntent, CoreCompactionLiveTailHandling } from "../../types/config";
|
|
3
|
+
export type TelemetryAgentKind = "root" | "subagent" | "team_lead" | "team_teammate";
|
|
4
|
+
export interface TelemetryAgentIdentityProperties {
|
|
5
|
+
agentId: string;
|
|
6
|
+
agentKind: TelemetryAgentKind;
|
|
7
|
+
conversationId?: string;
|
|
8
|
+
parentAgentId?: string;
|
|
9
|
+
createdByAgentId?: string;
|
|
10
|
+
isSubagent: boolean;
|
|
11
|
+
teamId?: string;
|
|
12
|
+
teamName?: string;
|
|
13
|
+
teamRole?: "lead" | "teammate";
|
|
14
|
+
teamAgentId?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const CORE_TELEMETRY_EVENTS: {
|
|
17
|
+
readonly CLIENT: {
|
|
18
|
+
readonly EXTENSION_ACTIVATED: "user.extension_activated";
|
|
19
|
+
};
|
|
20
|
+
readonly SESSION: {
|
|
21
|
+
readonly STARTED: "session.started";
|
|
22
|
+
readonly ENDED: "session.ended";
|
|
23
|
+
};
|
|
24
|
+
readonly AGENT: {
|
|
25
|
+
readonly UNEXPECTED_REASONING_TOKENS: "agent.reasoning.unexpected_tokens";
|
|
26
|
+
};
|
|
27
|
+
readonly USER: {
|
|
28
|
+
readonly AUTH_STARTED: "user.auth_started";
|
|
29
|
+
readonly AUTH_SUCCEEDED: "user.auth_succeeded";
|
|
30
|
+
readonly AUTH_FAILED: "user.auth_failed";
|
|
31
|
+
readonly AUTH_LOGGED_OUT: "user.auth_logged_out";
|
|
32
|
+
readonly AUTH_REFRESH_SOFT_FAILURE: "user.auth_refresh_soft_failure";
|
|
33
|
+
readonly AUTH_RUN_RETRY: "user.auth_run_retry";
|
|
34
|
+
readonly PROVIDER_CONFIGURED: "user.provider_configured";
|
|
35
|
+
readonly TELEMETRY_OPT_OUT: "user.opt_out";
|
|
36
|
+
};
|
|
37
|
+
readonly TASK: {
|
|
38
|
+
readonly CREATED: "task.created";
|
|
39
|
+
readonly RESTARTED: "task.restarted";
|
|
40
|
+
readonly COMPLETED: "task.completed";
|
|
41
|
+
readonly CONVERSATION_TURN: "task.conversation_turn";
|
|
42
|
+
readonly TOKEN_USAGE: "task.tokens";
|
|
43
|
+
readonly MODE_SWITCH: "task.mode";
|
|
44
|
+
readonly TOOL_USED: "task.tool_used";
|
|
45
|
+
readonly SKILL_USED: "task.skill_used";
|
|
46
|
+
readonly DIFF_EDIT_FAILED: "task.diff_edit_failed";
|
|
47
|
+
readonly PROVIDER_API_ERROR: "task.provider_api_error";
|
|
48
|
+
readonly MISTAKE_LIMIT_REACHED: "task.mistake_limit_reached";
|
|
49
|
+
readonly PROVIDER_REQUEST_STARTED: "task.provider_request_started";
|
|
50
|
+
readonly PROVIDER_STREAM_STARTED: "task.provider_stream_started";
|
|
51
|
+
readonly FIRST_CHUNK_RECEIVED: "task.first_chunk_received";
|
|
52
|
+
readonly PROVIDER_STREAM_FAILED: "task.provider_stream_failed";
|
|
53
|
+
readonly CANCELLED: "task.cancelled";
|
|
54
|
+
readonly MENTION_USED: "task.mention_used";
|
|
55
|
+
readonly MENTION_FAILED: "task.mention_failed";
|
|
56
|
+
readonly MENTION_SEARCH_RESULTS: "task.mention_search_results";
|
|
57
|
+
readonly AGENT_CREATED: "task.agent_created";
|
|
58
|
+
readonly AGENT_TEAM_CREATED: "task.agent_team_created";
|
|
59
|
+
readonly SUBAGENT_STARTED: "task.subagent_started";
|
|
60
|
+
readonly SUBAGENT_COMPLETED: "task.subagent_completed";
|
|
61
|
+
readonly COMPACTION_EXECUTED: "task.compaction_executed";
|
|
62
|
+
readonly COMPACTION_SKIPPED: "task.compaction_skipped";
|
|
63
|
+
readonly COMPACTION_BUDGET_EMERGENCY: "task.compaction_budget_emergency";
|
|
64
|
+
};
|
|
65
|
+
readonly HOOKS: {
|
|
66
|
+
readonly DISCOVERY_COMPLETED: "hooks.discovery_completed";
|
|
67
|
+
};
|
|
68
|
+
readonly WORKSPACE: {
|
|
69
|
+
readonly INITIALIZED: "workspace.initialized";
|
|
70
|
+
readonly INIT_ERROR: "workspace.init_error";
|
|
71
|
+
readonly PATH_RESOLVED: "workspace.path_resolved";
|
|
72
|
+
};
|
|
73
|
+
readonly SDK: {
|
|
74
|
+
readonly ERROR: "sdk.error";
|
|
75
|
+
readonly TOOL_TIMEOUT: "sdk.tool_timeout";
|
|
76
|
+
readonly PLAN_MODE_COMMAND_BLOCKED: "sdk.plan_mode_command_blocked";
|
|
77
|
+
};
|
|
78
|
+
readonly FEATURE_FLAGS: {
|
|
79
|
+
readonly FLAG_CALLED: "$feature_flag_called";
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export interface RunCommandsTimeoutTelemetryProperties {
|
|
83
|
+
tool_name: "run_commands";
|
|
84
|
+
effective_timeout_ms: number;
|
|
85
|
+
timeout_source: "default_setting" | "configured_setting";
|
|
86
|
+
command_count: number;
|
|
87
|
+
duration_ms: number;
|
|
88
|
+
ulid?: string;
|
|
89
|
+
mode?: string;
|
|
90
|
+
source?: string;
|
|
91
|
+
session_id?: string;
|
|
92
|
+
agent_id?: string;
|
|
93
|
+
conversation_id?: string;
|
|
94
|
+
run_id?: string;
|
|
95
|
+
iteration?: number;
|
|
96
|
+
tool_call_id?: string;
|
|
97
|
+
}
|
|
98
|
+
export { captureAgentUnexpectedReasoningTokens, captureTaskLifecycleEvent, type CaptureAgentUnexpectedReasoningTokensInput, type CaptureTaskLifecycleEventInput, };
|
|
99
|
+
export interface WorkspaceInitializedProperties {
|
|
100
|
+
root_count: number;
|
|
101
|
+
vcs_types: ReadonlyArray<string>;
|
|
102
|
+
init_duration_ms?: number;
|
|
103
|
+
feature_flag_enabled?: boolean;
|
|
104
|
+
is_remote_workspace?: boolean;
|
|
105
|
+
}
|
|
106
|
+
export interface WorkspaceInitErrorProperties {
|
|
107
|
+
fallback_to_single_root: boolean;
|
|
108
|
+
workspace_count?: number;
|
|
109
|
+
}
|
|
110
|
+
export interface WorkspacePathResolvedProperties {
|
|
111
|
+
ulid: string;
|
|
112
|
+
context: string;
|
|
113
|
+
resolution_type: "hint_provided" | "fallback_to_primary" | "cross_workspace_search";
|
|
114
|
+
hint_type?: "workspace_name" | "workspace_path" | "invalid";
|
|
115
|
+
resolution_success?: boolean;
|
|
116
|
+
target_workspace_index?: number;
|
|
117
|
+
is_multi_root_enabled?: boolean;
|
|
118
|
+
}
|
|
119
|
+
export declare function captureExtensionActivated(telemetry: ITelemetryService | undefined): void;
|
|
120
|
+
export declare function captureWorkspaceInitialized(telemetry: ITelemetryService | undefined, properties: WorkspaceInitializedProperties): void;
|
|
121
|
+
export declare function captureWorkspaceInitError(telemetry: ITelemetryService | undefined, error: Error | string, properties: WorkspaceInitErrorProperties): void;
|
|
122
|
+
export declare function captureWorkspacePathResolved(telemetry: ITelemetryService | undefined, properties: WorkspacePathResolvedProperties): void;
|
|
123
|
+
export declare function captureAuthStarted(telemetry: ITelemetryService | undefined, provider?: string): void;
|
|
124
|
+
export declare function captureAuthSucceeded(telemetry: ITelemetryService | undefined, provider?: string, details?: {
|
|
125
|
+
sessionId?: string;
|
|
126
|
+
sessionDurationMs?: number;
|
|
127
|
+
}): void;
|
|
128
|
+
export declare function captureAuthFailed(telemetry: ITelemetryService | undefined, provider?: string, errorMessage?: string, details?: {
|
|
129
|
+
requestId?: string;
|
|
130
|
+
}): void;
|
|
131
|
+
export declare function captureAuthLoggedOut(telemetry: ITelemetryService | undefined, provider?: string, reason?: string, details?: {
|
|
132
|
+
status?: number;
|
|
133
|
+
errorCode?: string;
|
|
134
|
+
sessionId?: string;
|
|
135
|
+
sessionDurationMs?: number;
|
|
136
|
+
request_id?: string;
|
|
137
|
+
}): void;
|
|
138
|
+
/**
|
|
139
|
+
* Fires when a token refresh fails for a reason that does NOT invalidate the
|
|
140
|
+
* session (network error, timeout, 5xx) and stored credentials were kept.
|
|
141
|
+
* Before the transient-vs-invalid_grant fix, `tokenExpired: true` instances
|
|
142
|
+
* were misclassified as invalid grants and wiped stored credentials — this
|
|
143
|
+
* event is the "prevented logout" counter for tracking that fix in
|
|
144
|
+
* production.
|
|
145
|
+
*/
|
|
146
|
+
export declare function captureAuthRefreshSoftFailure(telemetry: ITelemetryService | undefined, provider?: string, details?: {
|
|
147
|
+
status?: number;
|
|
148
|
+
errorCode?: string;
|
|
149
|
+
request_id?: string;
|
|
150
|
+
errorName?: string;
|
|
151
|
+
tokenExpired?: boolean;
|
|
152
|
+
sessionId?: string;
|
|
153
|
+
sessionDurationMs?: number;
|
|
154
|
+
}): void;
|
|
155
|
+
/**
|
|
156
|
+
* Fires when a run failed with an auth-like error, credentials were
|
|
157
|
+
* refreshed, and the run was retried once. `recovered: true` means the retry
|
|
158
|
+
* completed — a run that would previously have surfaced a raw provider 401
|
|
159
|
+
* (e.g. a teammate stranded on a spawn-time token snapshot past its TTL).
|
|
160
|
+
*/
|
|
161
|
+
export declare function captureAuthRunRetry(telemetry: ITelemetryService | undefined, provider?: string, details?: {
|
|
162
|
+
recovered?: boolean;
|
|
163
|
+
}): void;
|
|
164
|
+
/**
|
|
165
|
+
* Fires when the user finishes configuring a "bring your own provider"
|
|
166
|
+
* (API-key based) provider during onboarding or via settings.
|
|
167
|
+
*
|
|
168
|
+
* Unlike the OAuth/device-code `captureAuth*` events, the configure step is a
|
|
169
|
+
* synchronous local credential save with no network roundtrip, so there is no
|
|
170
|
+
* start/fail counterpart — the credential is validated lazily on the first
|
|
171
|
+
* subsequent API call. Mirrors the `{ provider }` payload shape of
|
|
172
|
+
* {@link captureAuthSucceeded} for funnel consistency.
|
|
173
|
+
*/
|
|
174
|
+
export declare function captureProviderConfigured(telemetry: ITelemetryService | undefined, provider?: string): void;
|
|
175
|
+
export declare function captureTelemetryOptOut(telemetry: ITelemetryService | undefined, properties?: TelemetryProperties): void;
|
|
176
|
+
export declare function identifyAccount(telemetry: ITelemetryService | undefined, account: {
|
|
177
|
+
id?: string;
|
|
178
|
+
email?: string;
|
|
179
|
+
provider?: string;
|
|
180
|
+
organizationId?: string;
|
|
181
|
+
organizationName?: string;
|
|
182
|
+
memberId?: string;
|
|
183
|
+
}): void;
|
|
184
|
+
export declare function captureTaskCreated(telemetry: ITelemetryService | undefined, properties: {
|
|
185
|
+
ulid: string;
|
|
186
|
+
apiProvider?: string;
|
|
187
|
+
openAiCompatibleDomain?: string;
|
|
188
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
189
|
+
export declare function captureTaskRestarted(telemetry: ITelemetryService | undefined, properties: {
|
|
190
|
+
ulid: string;
|
|
191
|
+
apiProvider?: string;
|
|
192
|
+
openAiCompatibleDomain?: string;
|
|
193
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
194
|
+
/**
|
|
195
|
+
* Distinguishes the trigger that produced a `task.completed` telemetry event.
|
|
196
|
+
*
|
|
197
|
+
* - `submit_and_exit`: the assistant explicitly declared completion by
|
|
198
|
+
* invoking the canonical completion tool. Parity with original Cline's
|
|
199
|
+
* `attempt_completion`-anchored emission.
|
|
200
|
+
* - `shutdown`: the session lifecycle completed (typically a non-interactive
|
|
201
|
+
* single-run that finished without an explicit completion tool). Acts as a
|
|
202
|
+
* safety-net so we still report completed runs that never observed
|
|
203
|
+
* `submit_and_exit`.
|
|
204
|
+
*/
|
|
205
|
+
export type TaskCompletedSource = "submit_and_exit" | "shutdown";
|
|
206
|
+
export declare function captureTaskCompleted(telemetry: ITelemetryService | undefined, properties: {
|
|
207
|
+
ulid: string;
|
|
208
|
+
provider?: string;
|
|
209
|
+
modelId?: string;
|
|
210
|
+
mode?: string;
|
|
211
|
+
durationMs?: number;
|
|
212
|
+
source?: TaskCompletedSource;
|
|
213
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
214
|
+
export declare function captureConversationTurnEvent(telemetry: ITelemetryService | undefined, properties: {
|
|
215
|
+
ulid: string;
|
|
216
|
+
provider?: string;
|
|
217
|
+
model?: string;
|
|
218
|
+
source: "user" | "assistant";
|
|
219
|
+
mode?: string;
|
|
220
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
221
|
+
export declare function captureTokenUsage(telemetry: ITelemetryService | undefined, properties: {
|
|
222
|
+
ulid: string;
|
|
223
|
+
/** Uncached input tokens only — disjoint from the cache buckets. */
|
|
224
|
+
tokensIn: number;
|
|
225
|
+
tokensOut: number;
|
|
226
|
+
cacheWriteTokens?: number;
|
|
227
|
+
cacheReadTokens?: number;
|
|
228
|
+
/** This request's cost delta, not a running total. */
|
|
229
|
+
totalCost?: number;
|
|
230
|
+
provider?: string;
|
|
231
|
+
model: string;
|
|
232
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
233
|
+
export declare function captureModeSwitch(telemetry: ITelemetryService | undefined, ulid: string, mode?: string): void;
|
|
234
|
+
export declare function captureToolUsage(telemetry: ITelemetryService | undefined, properties: {
|
|
235
|
+
ulid: string;
|
|
236
|
+
tool: string;
|
|
237
|
+
modelId?: string;
|
|
238
|
+
provider?: string;
|
|
239
|
+
autoApproved?: boolean;
|
|
240
|
+
success: boolean;
|
|
241
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
242
|
+
export declare function captureSkillUsed(telemetry: ITelemetryService | undefined, properties: {
|
|
243
|
+
ulid: string;
|
|
244
|
+
skillName: string;
|
|
245
|
+
skillSource: "global" | "project";
|
|
246
|
+
skillsAvailableGlobal: number;
|
|
247
|
+
skillsAvailableProject: number;
|
|
248
|
+
provider?: string;
|
|
249
|
+
modelId?: string;
|
|
250
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
251
|
+
export declare function captureDiffEditFailure(telemetry: ITelemetryService | undefined, properties: {
|
|
252
|
+
ulid: string;
|
|
253
|
+
modelId?: string;
|
|
254
|
+
provider?: string;
|
|
255
|
+
errorType?: string;
|
|
256
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
257
|
+
export declare function captureProviderApiError(telemetry: ITelemetryService | undefined, properties: {
|
|
258
|
+
ulid: string;
|
|
259
|
+
model: string;
|
|
260
|
+
errorMessage: string;
|
|
261
|
+
provider?: string;
|
|
262
|
+
errorStatus?: number;
|
|
263
|
+
requestId?: string;
|
|
264
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
265
|
+
/**
|
|
266
|
+
* Records when the consecutive mistake limit is reached, right before the
|
|
267
|
+
* limit decision (host prompt / auto-stop) is resolved.
|
|
268
|
+
*/
|
|
269
|
+
export declare function captureMistakeLimitReached(telemetry: ITelemetryService | undefined, properties: {
|
|
270
|
+
ulid: string;
|
|
271
|
+
model: string;
|
|
272
|
+
provider?: string;
|
|
273
|
+
/** What kind of mistake tripped the limit. */
|
|
274
|
+
reason: string;
|
|
275
|
+
consecutiveMistakes: number;
|
|
276
|
+
maxConsecutiveMistakes: number;
|
|
277
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
278
|
+
export declare function captureRunCommandsTimeout(telemetry: ITelemetryService | undefined, properties: RunCommandsTimeoutTelemetryProperties): void;
|
|
279
|
+
export interface PlanModeCommandBlockedTelemetryProperties {
|
|
280
|
+
tool_name: "run_commands" | "sed" | "extract_document";
|
|
281
|
+
/**
|
|
282
|
+
* Short description of the blocked construct (e.g. "`rm`", "`sed -i`
|
|
283
|
+
* (in-place edit)"). Never contains raw command content.
|
|
284
|
+
*/
|
|
285
|
+
blocked_construct: string;
|
|
286
|
+
command_count: number;
|
|
287
|
+
agent_id?: string;
|
|
288
|
+
conversation_id?: string;
|
|
289
|
+
run_id?: string;
|
|
290
|
+
iteration?: number;
|
|
291
|
+
tool_call_id?: string;
|
|
292
|
+
}
|
|
293
|
+
export declare function capturePlanModeCommandBlocked(telemetry: ITelemetryService | undefined, properties: PlanModeCommandBlockedTelemetryProperties): void;
|
|
294
|
+
export declare function captureMentionUsed(telemetry: ITelemetryService | undefined, mentionType: "file" | "folder" | "url" | "problems" | "terminal" | "git-changes" | "commit", contentLength?: number): void;
|
|
295
|
+
export declare function captureMentionFailed(telemetry: ITelemetryService | undefined, mentionType: "file" | "folder" | "url" | "problems" | "terminal" | "git-changes" | "commit", errorType: "not_found" | "permission_denied" | "network_error" | "parse_error" | "unknown", errorMessage?: string): void;
|
|
296
|
+
export declare function captureMentionSearchResults(telemetry: ITelemetryService | undefined, query: string, resultCount: number, searchType: "file" | "folder" | "all", isEmpty: boolean): void;
|
|
297
|
+
export declare function captureAgentCreated(telemetry: ITelemetryService | undefined, properties: {
|
|
298
|
+
ulid: string;
|
|
299
|
+
modelId?: string;
|
|
300
|
+
provider?: string;
|
|
301
|
+
} & TelemetryAgentIdentityProperties): void;
|
|
302
|
+
export declare function captureAgentTeamCreated(telemetry: ITelemetryService | undefined, properties: {
|
|
303
|
+
ulid: string;
|
|
304
|
+
teamId: string;
|
|
305
|
+
teamName: string;
|
|
306
|
+
leadAgentId?: string;
|
|
307
|
+
restoredFromPersistence?: boolean;
|
|
308
|
+
}): void;
|
|
309
|
+
export declare function captureSubagentExecution(telemetry: ITelemetryService | undefined, properties: {
|
|
310
|
+
ulid: string;
|
|
311
|
+
durationMs: number;
|
|
312
|
+
outputLines?: number;
|
|
313
|
+
event: "created" | "started" | "ended";
|
|
314
|
+
agentId: string;
|
|
315
|
+
parentId?: string;
|
|
316
|
+
errorMessage?: string;
|
|
317
|
+
type?: "agent" | "team";
|
|
318
|
+
} & Partial<TelemetryAgentIdentityProperties>): void;
|
|
319
|
+
export declare function captureHookDiscovery(telemetry: ITelemetryService | undefined, hookName: string, globalCount: number, workspaceCount: number): void;
|
|
320
|
+
/**
|
|
321
|
+
* Identifies which compaction implementation produced a
|
|
322
|
+
* `task.compaction_executed` / `task.compaction_skipped` event.
|
|
323
|
+
*
|
|
324
|
+
* - `basic` — built-in token-budget truncation
|
|
325
|
+
* (see `extensions/context/basic-compaction.ts`).
|
|
326
|
+
* - `agentic` — built-in LLM-powered summarization
|
|
327
|
+
* (see `extensions/context/agentic-compaction.ts`).
|
|
328
|
+
* - `custom` — user-supplied `compaction.compact()` callback on
|
|
329
|
+
* `CoreSessionConfig`.
|
|
330
|
+
*/
|
|
331
|
+
export type TelemetryCompactionStrategy = "basic" | "agentic" | "custom";
|
|
332
|
+
/**
|
|
333
|
+
* Trigger mode for a compaction attempt.
|
|
334
|
+
*
|
|
335
|
+
* - `auto` — fired automatically by `createContextCompactionPrepareTurn`
|
|
336
|
+
* when input tokens reach the fixed compaction threshold.
|
|
337
|
+
* - `manual` — user-initiated (e.g. CLI `/compact`).
|
|
338
|
+
* - `overflow_recovery` — forced by the runtime after a provider rejected
|
|
339
|
+
* the request as exceeding the model's context window.
|
|
340
|
+
*/
|
|
341
|
+
export type TelemetryCompactionMode = "auto" | "manual" | "overflow_recovery";
|
|
342
|
+
export interface CaptureCompactionExecutedProperties {
|
|
343
|
+
ulid: string;
|
|
344
|
+
strategy: TelemetryCompactionStrategy;
|
|
345
|
+
mode: TelemetryCompactionMode;
|
|
346
|
+
messagesBefore: number;
|
|
347
|
+
messagesAfter: number;
|
|
348
|
+
messagesRemoved: number;
|
|
349
|
+
/** Full-request token estimates, in the same units as the trigger and limit. */
|
|
350
|
+
tokensBefore: number;
|
|
351
|
+
tokensAfter: number;
|
|
352
|
+
tokensSaved: number;
|
|
353
|
+
triggerTokens: number;
|
|
354
|
+
maxInputTokens: number;
|
|
355
|
+
thresholdRatio: number;
|
|
356
|
+
durationMs: number;
|
|
357
|
+
provider?: string;
|
|
358
|
+
modelId?: string;
|
|
359
|
+
}
|
|
360
|
+
export declare function captureCompactionExecuted(telemetry: ITelemetryService | undefined, properties: CaptureCompactionExecutedProperties & Partial<TelemetryAgentIdentityProperties>): void;
|
|
361
|
+
export interface CaptureCompactionSkippedProperties {
|
|
362
|
+
ulid: string;
|
|
363
|
+
strategy: TelemetryCompactionStrategy;
|
|
364
|
+
mode: TelemetryCompactionMode;
|
|
365
|
+
/**
|
|
366
|
+
* Why the strategy decided not to compact. Currently only one value is
|
|
367
|
+
* emitted by the wrapper:
|
|
368
|
+
* - `no_result` — strategy returned `undefined` (e.g. there was nothing
|
|
369
|
+
* safe to remove). Strategy *exceptions* propagate up instead of
|
|
370
|
+
* firing telemetry, so no `strategy_error` value is emitted today.
|
|
371
|
+
* The field is kept loosely typed (`string`) so additional reasons can
|
|
372
|
+
* be introduced without changing the schema.
|
|
373
|
+
*/
|
|
374
|
+
reason: string;
|
|
375
|
+
/** Full-request token estimate, in the same units as the trigger and limit. */
|
|
376
|
+
tokensBefore: number;
|
|
377
|
+
triggerTokens: number;
|
|
378
|
+
maxInputTokens: number;
|
|
379
|
+
thresholdRatio: number;
|
|
380
|
+
durationMs: number;
|
|
381
|
+
provider?: string;
|
|
382
|
+
modelId?: string;
|
|
383
|
+
}
|
|
384
|
+
export declare function captureCompactionSkipped(telemetry: ITelemetryService | undefined, properties: CaptureCompactionSkippedProperties & Partial<TelemetryAgentIdentityProperties>): void;
|
|
385
|
+
export interface CaptureCompactionBudgetEmergencyProperties {
|
|
386
|
+
ulid: string;
|
|
387
|
+
strategy: TelemetryCompactionStrategy;
|
|
388
|
+
mode: TelemetryCompactionMode;
|
|
389
|
+
policyIntent: CoreCompactionBudgetPolicyIntent;
|
|
390
|
+
actionCount: number;
|
|
391
|
+
warningCount: number;
|
|
392
|
+
liveTailHandling: CoreCompactionLiveTailHandling;
|
|
393
|
+
provider?: string;
|
|
394
|
+
modelId?: string;
|
|
395
|
+
}
|
|
396
|
+
export declare function captureCompactionBudgetEmergency(telemetry: ITelemetryService | undefined, properties: CaptureCompactionBudgetEmergencyProperties & Partial<TelemetryAgentIdentityProperties>): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { resolveCoreDeviceId, resolveCoreDistinctId } from "./distinct-id";
|
|
2
|
+
export type { ITelemetryAdapter, TelemetryArray, TelemetryMetadata, TelemetryObject, TelemetryPrimitive, TelemetryProperties, TelemetryValue, } from "./ITelemetryAdapter";
|
|
3
|
+
export { OpenTelemetryAdapter, type OpenTelemetryAdapterOptions, } from "./OpenTelemetryAdapter";
|
|
4
|
+
export { type ConfiguredTelemetryHandle, type CreateOpenTelemetryTelemetryServiceOptions, createConfiguredTelemetryHandle, createConfiguredTelemetryService, createOpenTelemetryTelemetryService, OpenTelemetryProvider, type OpenTelemetryProviderOptions, } from "./OpenTelemetryProvider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{existsSync as N,mkdirSync as G,readFileSync as v,writeFileSync as u}from"node:fs";import{resolve as g}from"node:path";import{resolveSessionDataDir as S}from"@cerebriline/shared/storage";import{nanoid as b}from"nanoid";import*as c from"node-machine-id";var m="machine-id",C,h=!1;function R(){if(!h)C=w(),h=!0;return C??q()}function X(f){let P=f?.trim();if(P)return P;let A=w();if(A)return A;return q()}function d(){let f=c;return f.machineIdSync??f.default?.machineIdSync}function w(){try{let f=d();if(!f)return;return f().trim()||void 0}catch{return}}function q(){let f=S(),P=g(f,m);try{if(N(P)){let O=v(P,"utf8").trim();if(O.length>0)return O}}catch{}let A=`cl-${b()}`;try{G(f,{recursive:!0}),u(P,A,"utf8")}catch{}return A}class Y{name;metadata;meter;logger;enabled;distinctId;commonProperties;counters=new Map;histograms=new Map;gauges=new Map;gaugeValues=new Map;meterProvider;loggerProvider;constructor(f){this.name=f.name??"OpenTelemetryAdapter",this.metadata={...f.metadata},this.meterProvider=f.meterProvider,this.loggerProvider=f.loggerProvider,this.meter=f.meterProvider?.getMeter("cline")??null,this.logger=f.loggerProvider?.getLogger("cline")??null,this.enabled=f.enabled??!0,this.distinctId=f.distinctId,this.commonProperties=f.commonProperties?{...f.commonProperties}:{}}emit(f,P){if(!this.isEnabled())return;this.emitLog(f,P,!1)}emitRequired(f,P){this.emitLog(f,P,!0)}recordCounter(f,P,A,O,j=!1){if(!this.meter||!j&&!this.isEnabled())return;let H=this.counters.get(f);if(!H)H=this.meter.createCounter(f,O?{description:O}:void 0),this.counters.set(f,H);H.add(P,this.flattenProperties(this.buildAttributes(A)))}recordHistogram(f,P,A,O,j=!1){if(!this.meter||!j&&!this.isEnabled())return;let H=this.histograms.get(f);if(!H)H=this.meter.createHistogram(f,O?{description:O}:void 0),this.histograms.set(f,H);H.record(P,this.flattenProperties(this.buildAttributes(A)))}recordGauge(f,P,A,O,j=!1){if(!this.meter||!j&&!this.isEnabled())return;let H=this.buildAttributes(A),$=JSON.stringify(H),K=this.gaugeValues.get(f);if(P===null){if(K){if(K.delete($),K.size===0)this.gaugeValues.delete(f),this.gauges.delete(f)}return}let T=K;if(!T)T=new Map,this.gaugeValues.set(f,T);if(!this.gauges.has(f)){let J=this.meter.createObservableGauge(f,O?{description:O}:void 0);J.addCallback((B)=>{for(let M of this.snapshotGaugeSeries(f))B.observe(M.value,this.flattenProperties(M.attributes))}),this.gauges.set(f,J)}T.set($,{value:P,attributes:H})}isEnabled(){return typeof this.enabled==="function"?this.enabled():this.enabled}setDistinctId(f){this.distinctId=f}setCommonProperties(f){this.commonProperties={...f}}updateCommonProperties(f){this.commonProperties={...this.commonProperties,...f}}async flush(){await Promise.all([this.meterProvider?.forceFlush?.(),this.loggerProvider?.forceFlush?.()])}async dispose(){await Promise.all([this.meterProvider?.shutdown?.(),this.loggerProvider?.shutdown?.()])}emitLog(f,P,A){if(!this.logger)return;let O=this.flattenProperties(this.buildAttributes(P,A));this.logger.emit({severityText:"INFO",body:f,attributes:O})}buildAttributes(f,P=!1){return{...this.commonProperties,...this.metadata,...f,...this.distinctId?{distinct_id:this.distinctId}:{},...P?{_required:!0}:{}}}snapshotGaugeSeries(f){let P=this.gaugeValues.get(f);if(!P)return[];return Array.from(P.values(),(A)=>({value:A.value,attributes:A.attributes?{...A.attributes}:void 0}))}flattenProperties(f,P="",A=new WeakSet,O=0){if(!f)return{};let j={},H=100,$=10;for(let[K,T]of Object.entries(f)){if(K==="__proto__"||K==="constructor"||K==="prototype")continue;let J=P?`${P}.${K}`:K;if(T===null||T===void 0){j[J]=String(T);continue}if(Array.isArray(T)){let B=T.length>H?T.slice(0,H):T;try{j[J]=JSON.stringify(B)}catch{j[J]="[UnserializableArray]"}if(T.length>H)j[`${J}_truncated`]=!0,j[`${J}_original_length`]=T.length;continue}if(typeof T==="object"){if(T instanceof Date){j[J]=T.toISOString();continue}if(T instanceof Error){j[J]=T.message;continue}if(A.has(T)){j[J]="[Circular]";continue}if(O>=$){j[J]="[MaxDepthExceeded]";continue}A.add(T),Object.assign(j,this.flattenProperties(T,J,A,O+1));continue}if(r(T)){j[J]=T;continue}try{j[J]=JSON.stringify(T)}catch{j[J]=String(T)}}return j}}function r(f){return typeof f==="string"||typeof f==="number"||typeof f==="boolean"}import{metrics as Af,trace as Of}from"@opentelemetry/api";import{logs as jf}from"@opentelemetry/api-logs";import{OTLPLogExporter as Hf}from"@opentelemetry/exporter-logs-otlp-http";import{OTLPMetricExporter as Tf}from"@opentelemetry/exporter-metrics-otlp-http";import{OTLPTraceExporter as $f}from"@opentelemetry/exporter-trace-otlp-http";import{resourceFromAttributes as Jf}from"@opentelemetry/resources";import{BatchLogRecordProcessor as Wf,ConsoleLogRecordExporter as Kf,LoggerProvider as Xf}from"@opentelemetry/sdk-logs";import{ConsoleMetricExporter as Yf,MeterProvider as Zf,PeriodicExportingMetricReader as y}from"@opentelemetry/sdk-metrics";import{BatchSpanProcessor as Qf,ConsoleSpanExporter as Bf,SimpleSpanProcessor as Rf}from"@opentelemetry/sdk-trace-base";import{NodeTracerProvider as Ff}from"@opentelemetry/sdk-trace-node";import{ATTR_SERVICE_NAME as Vf,ATTR_SERVICE_VERSION as Uf}from"@opentelemetry/semantic-conventions";import{mkdirSync as df,readFileSync as l,statSync as n,writeFileSync as rf}from"node:fs";import{CONFIGURABLE_MODEL_TOOL_NAMES as p}from"@cerebriline/shared";import{resolveGlobalSettingsPath as a}from"@cerebriline/shared/storage";import{z as W}from"zod";import{AGENT_UNEXPECTED_REASONING_TOKENS_EVENT as zf,captureAgentUnexpectedReasoningTokens as Df,captureTaskLifecycleEvent as xf,SDK_ERROR_TELEMETRY_EVENT as Nf,TASK_CANCELLED_EVENT as Gf,TASK_FIRST_CHUNK_RECEIVED_EVENT as vf,TASK_PROVIDER_REQUEST_STARTED_EVENT as uf,TASK_PROVIDER_STREAM_FAILED_EVENT as gf,TASK_PROVIDER_STREAM_STARTED_EVENT as Sf}from"@cerebriline/shared";var F=W.preprocess((f)=>Array.isArray(f)?f.filter((P)=>typeof P==="string").map((P)=>P.trim()).filter(Boolean):void 0,W.array(W.string()).optional()).transform((f)=>{if(!f)return;let P=[...new Set(f)].sort((A,O)=>A.localeCompare(O));return P.length>0?P:void 0}),i=W.enum(["basic","agentic"]).catch("agentic"),s=W.partialRecord(W.enum(p),W.object({enabled:W.boolean()}).strip()).optional(),o=W.enum(["plan","act"]),E=W.object({telemetryOptOut:W.boolean().default(!1).catch(!1),autoUpdateEnabled:W.boolean().default(!0).catch(!0),compactionStrategy:i.optional(),compactionEnabled:W.boolean().optional().catch(void 0),planActMode:o.optional().catch(void 0),toolAutoApprove:W.boolean().optional().catch(void 0),tuiTheme:W.string().optional().catch(void 0),disabledTools:F.optional(),tools:s,disabledPlugins:F.optional(),disabledAgentPlugins:F.optional()}).strip().transform((f)=>{let P={autoUpdateEnabled:f.autoUpdateEnabled,telemetryOptOut:f.telemetryOptOut};if(f.compactionStrategy)P.compactionStrategy=f.compactionStrategy;if(f.compactionEnabled!==void 0)P.compactionEnabled=f.compactionEnabled;if(f.planActMode)P.planActMode=f.planActMode;if(f.toolAutoApprove!==void 0)P.toolAutoApprove=f.toolAutoApprove;if(f.tuiTheme?.trim())P.tuiTheme=f.tuiTheme.trim();if(f.disabledTools?.length)P.disabledTools=f.disabledTools;if(f.tools&&Object.keys(f.tools).length>0)P.tools=f.tools;if(f.disabledPlugins?.length)P.disabledPlugins=f.disabledPlugins;if(f.disabledAgentPlugins?.length)P.disabledAgentPlugins=f.disabledAgentPlugins;return P});function Z(){return E.parse({})}var V;function t(f){if(f.disabledTools)Object.freeze(f.disabledTools);if(f.tools){for(let P of Object.values(f.tools))Object.freeze(P);Object.freeze(f.tools)}if(f.disabledPlugins)Object.freeze(f.disabledPlugins);if(f.disabledAgentPlugins)Object.freeze(f.disabledAgentPlugins);return Object.freeze(f)}function e(f){let P;try{P=l(f,"utf8")}catch{return Z()}try{let A=E.safeParse(JSON.parse(P));return A.success?A.data:Z()}catch{return Z()}}function ff(){let f=a(),P=n(f,{throwIfNoEntry:!1}),A=P?.mtimeMs??0,O=P?.size??0,j=V;if(j&&j.path===f&&j.mtimeMs===A&&j.size===O)return j;let H=t(P?e(f):Z());return V={path:f,mtimeMs:A,size:O,value:H},V}function Pf(){return ff().value}function I(){return Pf().telemetryOptOut}class U{name;logger;enabled;constructor(f={}){this.name=f.name??"TelemetryLoggerSink",this.logger=f.logger,this.enabled=f.enabled??!0}emit(f,P){if(!this.isEnabled())return;this.logger?.log("telemetry.event",{telemetrySink:this.name,event:f,properties:P})}emitRequired(f,P){this.logger?.log("telemetry.required_event",{telemetrySink:this.name,severity:"warn",event:f,properties:P})}recordCounter(f,P,A,O,j){if(!j&&!this.isEnabled())return;this.logger?.debug("telemetry.metric",{telemetrySink:this.name,instrument:"counter",name:f,value:P,attributes:A,description:O,required:j===!0})}recordHistogram(f,P,A,O,j){if(!j&&!this.isEnabled())return;this.logger?.debug("telemetry.metric",{telemetrySink:this.name,instrument:"histogram",name:f,value:P,attributes:A,description:O,required:j===!0})}recordGauge(f,P,A,O,j){if(!j&&!this.isEnabled())return;this.logger?.debug("telemetry.metric",{telemetrySink:this.name,instrument:"gauge",name:f,value:P,attributes:A,description:O,required:j===!0})}isEnabled(){return typeof this.enabled==="function"?this.enabled():this.enabled}async flush(){}async dispose(){}}class Q{adapters;metadata;distinctId;deviceId;commonProperties;constructor(f={}){if(this.adapters=[...f.adapters??[]],f.logger)this.adapters.push(new U({logger:f.logger}));this.metadata={...f.metadata??{}},this.distinctId=f.distinctId,this.deviceId=f.deviceId??R(),this.commonProperties={...f.commonProperties??{}}}addAdapter(f){this.adapters.push(f)}setDistinctId(f){this.distinctId=f}setMetadata(f){this.metadata={...f}}updateMetadata(f){this.metadata={...this.metadata,...f}}setCommonProperties(f){this.commonProperties={...f}}updateCommonProperties(f){this.commonProperties={...this.commonProperties,...f}}isEnabled(){return this.adapters.some((f)=>f.isEnabled())}capture(f){let P=this.buildAttributes(f.properties);for(let A of this.adapters)A.emit(f.event,P)}captureRequired(f,P){let A=this.buildAttributes(P);for(let O of this.adapters)O.emitRequired(f,A)}recordCounter(f,P,A,O,j=!1){let H=this.buildAttributes(A);for(let $ of this.adapters)$.recordCounter(f,P,H,O,j)}recordHistogram(f,P,A,O,j=!1){let H=this.buildAttributes(A);for(let $ of this.adapters)$.recordHistogram(f,P,H,O,j)}recordGauge(f,P,A,O,j=!1){let H=this.buildAttributes(A);for(let $ of this.adapters)$.recordGauge(f,P,H,O,j)}async flush(){await Promise.all(this.adapters.map((f)=>f.flush()))}async dispose(){await Promise.all(this.adapters.map((f)=>f.dispose()))}buildAttributes(f){return{...this.commonProperties,...f,...this.metadata,...this.distinctId?{distinct_id:this.distinctId}:{},device_id:this.deviceId}}}class z{distinctId;metadata;commonProperties;constructor(f={}){this.distinctId=f.distinctId,this.metadata={...f.metadata??{}},this.commonProperties={...f.commonProperties??{}}}setDistinctId(f){this.distinctId=f}setMetadata(f){this.metadata={...f}}updateMetadata(f){this.metadata={...this.metadata,...f}}setCommonProperties(f){this.commonProperties={...f}}updateCommonProperties(f){this.commonProperties={...this.commonProperties,...f}}isEnabled(){return!1}capture(f){this.resolveProperties(f.properties)}captureRequired(f,P){this.resolveProperties(P)}recordCounter(){}recordHistogram(){}recordGauge(){}async flush(){}async dispose(){}resolveProperties(f){return{...this.commonProperties,...f,...this.metadata,...this.distinctId?{distinct_id:this.distinctId}:{}}}}class L{meterProvider;loggerProvider;tracerProvider;options;constructor(f={}){this.options=f;let P=Jf({[Vf]:f.serviceName??"cline",...f.serviceVersion?{[Uf]:f.serviceVersion}:{}});if(this.meterProvider=this.createMeterProvider(P),this.loggerProvider=this.createLoggerProvider(P),this.tracerProvider=this.createTracerProvider(P),this.meterProvider)Af.setGlobalMeterProvider(this.meterProvider);if(this.loggerProvider)jf.setGlobalLoggerProvider(this.loggerProvider);if(this.tracerProvider)this.tracerProvider.register()}getTracer(f="cline",P){return Of.getTracer(f,P??this.options.serviceVersion)}createAdapter(f){return new Y({...f,meterProvider:this.meterProvider,loggerProvider:this.loggerProvider})}createTelemetryService(f){let P=this.createAdapter({name:f.name,enabled:this.options.enabled,metadata:f.metadata});return new Q({...f,adapters:[P],distinctId:X(f.distinctId)})}async forceFlush(){await Promise.all([this.meterProvider?.forceFlush?.(),this.loggerProvider?.forceFlush?.(),this.tracerProvider?.forceFlush?.()])}async dispose(){await Promise.all([this.meterProvider?.shutdown?.(),this.loggerProvider?.shutdown?.(),this.tracerProvider?.shutdown?.()])}createMeterProvider(f){let P=_(this.options.metricsExporter);if(P.length===0)return null;let A=Math.max(1000,this.options.metricExportIntervalMs??this.options.metricExportInterval??60000),O=Math.min(30000,Math.floor(A*0.8)),j=P.map((H)=>Mf(H,{endpoint:this.options.otlpEndpoint,headers:this.options.otlpHeaders,insecure:this.options.otlpInsecure??!1,protocol:"http/json",interval:A,timeout:O})).filter((H)=>H!==null);if(j.length===0)return null;return new Zf({resource:f,readers:j})}createTracerProvider(f){let P=_(this.options.tracesExporter);if(P.length===0)return null;let A=this.options.otlpTracesEndpoint??this.options.otlpEndpoint,O=this.options.otlpTracesHeaders??this.options.otlpHeaders,j=[];for(let H of P){let $=kf(H,{endpoint:A,headers:O,insecure:this.options.otlpInsecure??!1,protocol:"http/json"});if($)j.push($)}if(j.length===0)return null;return new Ff({resource:f,spanProcessors:j})}createLoggerProvider(f){let P=_(this.options.logsExporter);if(P.length===0)return null;let A=P.map((O)=>{let j=Lf(O,{endpoint:this.options.otlpEndpoint,headers:this.options.otlpHeaders,insecure:this.options.otlpInsecure??!1,protocol:"http/json"});if(!j)return null;return new Wf(j,{maxQueueSize:this.options.logMaxQueueSize??2048,maxExportBatchSize:this.options.logBatchSize??512,scheduledDelayMillis:this.options.logBatchTimeoutMs??this.options.logBatchTimeout??5000})}).filter((O)=>O!==null);if(A.length===0)return null;return new Xf({resource:f,processors:A})}}function D(f){let P=new L(f),A=P.createTelemetryService(f),O=()=>{A.captureRequired("telemetry.provider_created",{provider:"opentelemetry",enabled:f.enabled??!0,logsExporter:Array.isArray(f.logsExporter)?f.logsExporter.join(","):f.logsExporter,metricsExporter:Array.isArray(f.metricsExporter)?f.metricsExporter.join(","):f.metricsExporter,tracesExporter:Array.isArray(f.tracesExporter)?f.tracesExporter.join(","):f.tracesExporter,otlpProtocol:f.otlpProtocol,hasOtlpEndpoint:Boolean(f.otlpEndpoint),serviceName:f.serviceName,serviceVersion:f.serviceVersion})};if(!f.deferProviderCreatedEvent)O();return{provider:P,telemetry:A,emitProviderCreated:O}}function x(f){if(I())return{telemetry:new z(f)};if(f.enabled!==!0)return{telemetry:new Q({...f,distinctId:X(f.distinctId)})};return D(f)}function _f(f){let{telemetry:P,provider:A,emitProviderCreated:O}=x(f);return{telemetry:P,provider:A,flush:async()=>{let $=A;if($&&typeof $.forceFlush==="function")try{await $.forceFlush()}catch{}},dispose:async()=>{await Promise.allSettled([P.dispose(),A?.dispose()])},...f.deferProviderCreatedEvent&&O?{emitProviderCreated:O}:{}}}function _(f){if(!f)return[];return(Array.isArray(f)?f:f.split(",")).map((A)=>A.trim()).filter((A)=>A==="console"||A==="otlp")}function Lf(f,P){if(f==="console")return new Kf;if(!P.endpoint)return null;let A=k(P.endpoint,"/v1/logs");return new Hf({url:A,headers:P.headers})}function kf(f,P){if(f==="console")return new Rf(new Bf);if(!P.endpoint)return null;let A=k(P.endpoint,"/v1/traces");return new Qf(new $f({url:A,headers:P.headers}))}function Mf(f,P){if(f==="console")return new y({exporter:new Yf,exportIntervalMillis:P.interval,exportTimeoutMillis:P.timeout});if(!P.endpoint)return null;let A=k(P.endpoint,"/v1/metrics");return new y({exporter:new Tf({url:A,headers:P.headers}),exportIntervalMillis:P.interval,exportTimeoutMillis:P.timeout})}function k(f,P){let A=new URL(f),O=A.pathname.endsWith("/")?A.pathname.slice(0,-1):A.pathname;return A.pathname=O.endsWith(P)?O:`${O}${P}`,A.toString()}export{X as resolveCoreDistinctId,R as resolveCoreDeviceId,D as createOpenTelemetryTelemetryService,x as createConfiguredTelemetryService,_f as createConfiguredTelemetryHandle,L as OpenTelemetryProvider,Y as OpenTelemetryAdapter};
|