@a1hvdy/cc-openclaw 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/channels/telegram-mirror/card-renderer.js +9 -5
- package/dist/src/channels/telegram-mirror/commands.js +0 -8
- package/dist/src/channels/telegram-mirror/status-line.js +32 -2
- package/dist/src/constants.js +16 -2
- package/dist/src/engines/persistent-session.js +11 -0
- package/dist/src/lib/config.js +40 -0
- package/dist/src/openai-compat/non-streaming-handler.js +2 -2
- package/dist/src/openai-compat/streaming-handler.js +121 -9
- package/package.json +3 -2
- package/dist/src/channels/adapter.d.ts +0 -103
- package/dist/src/channels/telegram-mirror/askuser.d.ts +0 -107
- package/dist/src/channels/telegram-mirror/burst-accumulator.d.ts +0 -96
- package/dist/src/channels/telegram-mirror/callback-mapping.d.ts +0 -61
- package/dist/src/channels/telegram-mirror/card-renderer.d.ts +0 -68
- package/dist/src/channels/telegram-mirror/card-state.d.ts +0 -83
- package/dist/src/channels/telegram-mirror/commands.d.ts +0 -183
- package/dist/src/channels/telegram-mirror/compose-buffer.d.ts +0 -71
- package/dist/src/channels/telegram-mirror/cost-views.d.ts +0 -58
- package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.d.ts +0 -21
- package/dist/src/channels/telegram-mirror/failure/gateway-down.d.ts +0 -15
- package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.d.ts +0 -15
- package/dist/src/channels/telegram-mirror/failure/index.d.ts +0 -23
- package/dist/src/channels/telegram-mirror/failure/model-5xx.d.ts +0 -16
- package/dist/src/channels/telegram-mirror/failure/network-blip.d.ts +0 -17
- package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.d.ts +0 -15
- package/dist/src/channels/telegram-mirror/failure/rate-limit.d.ts +0 -16
- package/dist/src/channels/telegram-mirror/failure/returning-after-24h.d.ts +0 -14
- package/dist/src/channels/telegram-mirror/failure/types.d.ts +0 -30
- package/dist/src/channels/telegram-mirror/inbound-handler.d.ts +0 -73
- package/dist/src/channels/telegram-mirror/index.d.ts +0 -32
- package/dist/src/channels/telegram-mirror/plan-attachment.d.ts +0 -120
- package/dist/src/channels/telegram-mirror/quota-reader.d.ts +0 -42
- package/dist/src/channels/telegram-mirror/sessions-keyboard.d.ts +0 -84
- package/dist/src/channels/telegram-mirror/soak-log.d.ts +0 -99
- package/dist/src/channels/telegram-mirror/state-machine.d.ts +0 -113
- package/dist/src/channels/telegram-mirror/status-line.d.ts +0 -51
- package/dist/src/channels/telegram-mirror/sync-commands.d.ts +0 -100
- package/dist/src/channels/telegram-mirror/threshold-watcher.d.ts +0 -54
- package/dist/src/channels/telegram-mirror/turn-bridge.d.ts +0 -125
- package/dist/src/cli/checks/bridge-wiring.d.ts +0 -14
- package/dist/src/cli/checks/config-schema.d.ts +0 -11
- package/dist/src/cli/checks/critical-openclaw-json-keys.d.ts +0 -21
- package/dist/src/cli/checks/install-path.d.ts +0 -11
- package/dist/src/cli/checks/patch-scaffold.d.ts +0 -17
- package/dist/src/cli/doctor.d.ts +0 -20
- package/dist/src/cli/index.d.ts +0 -8
- package/dist/src/cli/migrate.d.ts +0 -29
- package/dist/src/command-router/cc-handler.d.ts +0 -67
- package/dist/src/command-router/index.d.ts +0 -2
- package/dist/src/command-router/launch-policy.d.ts +0 -92
- package/dist/src/command-router/resume-policy.d.ts +0 -18
- package/dist/src/command-router/turn-formatter.d.ts +0 -19
- package/dist/src/config/loader.d.ts +0 -8
- package/dist/src/config/schema.d.ts +0 -192
- package/dist/src/constants.d.ts +0 -191
- package/dist/src/council/build-agent-prompt.d.ts +0 -11
- package/dist/src/council/cleanup-worktrees.d.ts +0 -10
- package/dist/src/council/consensus.d.ts +0 -20
- package/dist/src/council/council.d.ts +0 -67
- package/dist/src/council/index.d.ts +0 -2
- package/dist/src/council/system-prompt.d.ts +0 -16
- package/dist/src/council/write-worktree-claude-md.d.ts +0 -10
- package/dist/src/engines/base-oneshot-session.d.ts +0 -87
- package/dist/src/engines/heartbeat-guard.d.ts +0 -93
- package/dist/src/engines/index.d.ts +0 -8
- package/dist/src/engines/persistent-codex-session.d.ts +0 -16
- package/dist/src/engines/persistent-cursor-session.d.ts +0 -21
- package/dist/src/engines/persistent-custom-session.d.ts +0 -78
- package/dist/src/engines/persistent-gemini-session.d.ts +0 -21
- package/dist/src/engines/persistent-session.d.ts +0 -95
- package/dist/src/engines/resolve-bin.d.ts +0 -14
- package/dist/src/engines/subprocess-pool.d.ts +0 -78
- package/dist/src/health/handler.d.ts +0 -39
- package/dist/src/health/index.d.ts +0 -1
- package/dist/src/health/metrics.d.ts +0 -52
- package/dist/src/index.d.ts +0 -57
- package/dist/src/lib/auto-recovery.d.ts +0 -43
- package/dist/src/lib/cache-parity-decide.d.ts +0 -64
- package/dist/src/lib/cache-parity.d.ts +0 -38
- package/dist/src/lib/cc-cli-scan.d.ts +0 -52
- package/dist/src/lib/circuit-breaker.d.ts +0 -21
- package/dist/src/lib/config-service.d.ts +0 -106
- package/dist/src/lib/config.d.ts +0 -136
- package/dist/src/lib/cost-rollup.d.ts +0 -36
- package/dist/src/lib/debounce.d.ts +0 -12
- package/dist/src/lib/debug-tap.d.ts +0 -13
- package/dist/src/lib/domain-error.d.ts +0 -59
- package/dist/src/lib/drift-detector.d.ts +0 -46
- package/dist/src/lib/env-overrides.d.ts +0 -47
- package/dist/src/lib/error-formatter.d.ts +0 -91
- package/dist/src/lib/error-renderer.d.ts +0 -20
- package/dist/src/lib/heartbeat-config.d.ts +0 -34
- package/dist/src/lib/heartbeat-workaround.d.ts +0 -44
- package/dist/src/lib/html-render.d.ts +0 -50
- package/dist/src/lib/http-agent.d.ts +0 -47
- package/dist/src/lib/index.d.ts +0 -7
- package/dist/src/lib/index.js +0 -10
- package/dist/src/lib/json-array.d.ts +0 -10
- package/dist/src/lib/markdown-to-mdv2.d.ts +0 -53
- package/dist/src/lib/markdown-v2.d.ts +0 -27
- package/dist/src/lib/perf/async-compact.d.ts +0 -26
- package/dist/src/lib/perf/direct-sdk.d.ts +0 -26
- package/dist/src/lib/perf/haiku-route.d.ts +0 -19
- package/dist/src/lib/perf/predictive-continuation.d.ts +0 -18
- package/dist/src/lib/perf/read-batch.d.ts +0 -33
- package/dist/src/lib/perf/skill-list-collapse.d.ts +0 -22
- package/dist/src/lib/perf/speculative-bubble.d.ts +0 -27
- package/dist/src/lib/perf/typing-prefetch.d.ts +0 -25
- package/dist/src/lib/probes.d.ts +0 -50
- package/dist/src/lib/register-guard.d.ts +0 -56
- package/dist/src/lib/req-shape-log.d.ts +0 -31
- package/dist/src/lib/safe-upstream-probes.d.ts +0 -25
- package/dist/src/lib/session-registry.d.ts +0 -66
- package/dist/src/lib/spawn-async.d.ts +0 -18
- package/dist/src/lib/status-tee-reader.d.ts +0 -29
- package/dist/src/lib/sysprompt-strip.d.ts +0 -53
- package/dist/src/lib/telegram-bot-api.d.ts +0 -146
- package/dist/src/lib/telemetry.d.ts +0 -38
- package/dist/src/lib/test-mode.d.ts +0 -26
- package/dist/src/lib/trajectory.d.ts +0 -44
- package/dist/src/lib/vendor-paths.d.ts +0 -12
- package/dist/src/lifecycle/boot.d.ts +0 -48
- package/dist/src/lifecycle/patch-manifest.d.ts +0 -82
- package/dist/src/lifecycle/phase-import-upstream.d.ts +0 -12
- package/dist/src/lifecycle/phase-install-patches.d.ts +0 -12
- package/dist/src/lifecycle/phase-schedule-jobs.d.ts +0 -12
- package/dist/src/lifecycle/phase-start-server.d.ts +0 -11
- package/dist/src/lifecycle/phase-validate-config.d.ts +0 -9
- package/dist/src/lifecycle/phase-validate-upstream.d.ts +0 -11
- package/dist/src/lifecycle/phase-wire-handlers.d.ts +0 -12
- package/dist/src/lifecycle/safe-restart.d.ts +0 -99
- package/dist/src/logger.d.ts +0 -14
- package/dist/src/mcp/bridge.d.ts +0 -21
- package/dist/src/mcp/index.d.ts +0 -2
- package/dist/src/models.d.ts +0 -68
- package/dist/src/observability/event-bus.d.ts +0 -86
- package/dist/src/observability/get-event-bus.d.ts +0 -25
- package/dist/src/observability/observability-service.d.ts +0 -19
- package/dist/src/observability/perf-telemetry.d.ts +0 -65
- package/dist/src/observability/subscribers/metrics.d.ts +0 -11
- package/dist/src/observability/subscribers/session-capture.d.ts +0 -15
- package/dist/src/openai-compat/autonomy-rule.d.ts +0 -26
- package/dist/src/openai-compat/bridges/allowlist.d.ts +0 -19
- package/dist/src/openai-compat/bridges/factory.d.ts +0 -30
- package/dist/src/openai-compat/bridges/media-bridge.d.ts +0 -34
- package/dist/src/openai-compat/bridges/openclaw-api-shim.d.ts +0 -54
- package/dist/src/openai-compat/bridges/openclaw-native-tools.d.ts +0 -61
- package/dist/src/openai-compat/bridges/openclaw-tool-registry.d.ts +0 -26
- package/dist/src/openai-compat/bridges/tts-media-bridge.d.ts +0 -19
- package/dist/src/openai-compat/chat-cwd.d.ts +0 -22
- package/dist/src/openai-compat/cli-stream-parser.d.ts +0 -134
- package/dist/src/openai-compat/index.d.ts +0 -1
- package/dist/src/openai-compat/message-extractor.d.ts +0 -84
- package/dist/src/openai-compat/mode-flags.d.ts +0 -34
- package/dist/src/openai-compat/non-streaming-handler.d.ts +0 -29
- package/dist/src/openai-compat/openai-chunk-types.d.ts +0 -35
- package/dist/src/openai-compat/openai-compat.d.ts +0 -49
- package/dist/src/openai-compat/openai-types.d.ts +0 -71
- package/dist/src/openai-compat/parse-route-body.d.ts +0 -24
- package/dist/src/openai-compat/prompts.d.ts +0 -47
- package/dist/src/openai-compat/request-coalescer.d.ts +0 -77
- package/dist/src/openai-compat/response-formatter.d.ts +0 -33
- package/dist/src/openai-compat/session-key-resolver.d.ts +0 -41
- package/dist/src/openai-compat/skill-resolver.d.ts +0 -59
- package/dist/src/openai-compat/sse-translator.d.ts +0 -51
- package/dist/src/openai-compat/status-reporter.d.ts +0 -30
- package/dist/src/openai-compat/streaming-handler.d.ts +0 -52
- package/dist/src/openai-compat/tool-calls-parser.d.ts +0 -34
- package/dist/src/openai-compat/tool-results-serializer.d.ts +0 -60
- package/dist/src/openai-compat/tts-rule.d.ts +0 -20
- package/dist/src/openai-compat/voice-recovery.d.ts +0 -56
- package/dist/src/patches/cache-parity-registry.d.ts +0 -103
- package/dist/src/patches/claude-md-injection.d.ts +0 -10
- package/dist/src/patches/cwd-redirect.d.ts +0 -10
- package/dist/src/patches/embedded-server-route.d.ts +0 -23
- package/dist/src/patches/pricing-overrides.d.ts +0 -10
- package/dist/src/patches/resume-registry-restore.d.ts +0 -11
- package/dist/src/patches/session-pid-tracking.d.ts +0 -10
- package/dist/src/patches/sysprompt-strip.d.ts +0 -46
- package/dist/src/patches/tools-restoration.d.ts +0 -12
- package/dist/src/persistence/migration-v0.d.ts +0 -24
- package/dist/src/persistence/session-registry.d.ts +0 -58
- package/dist/src/proxy/anthropic-adapter.d.ts +0 -136
- package/dist/src/proxy/handler.d.ts +0 -39
- package/dist/src/proxy/index.d.ts +0 -4
- package/dist/src/proxy/schema-cleaner.d.ts +0 -11
- package/dist/src/proxy/thought-cache.d.ts +0 -19
- package/dist/src/session/embedded-server.d.ts +0 -25
- package/dist/src/session/inbox-manager.d.ts +0 -38
- package/dist/src/session/index.d.ts +0 -3
- package/dist/src/session/persisted-sessions.d.ts +0 -50
- package/dist/src/session/session-manager.d.ts +0 -247
- package/dist/src/session/watchdogs.d.ts +0 -92
- package/dist/src/session-bootstrap/boot-self-heal.d.ts +0 -32
- package/dist/src/session-bootstrap/cwd-patch.d.ts +0 -50
- package/dist/src/session-bootstrap/index.d.ts +0 -3
- package/dist/src/session-bootstrap/resume-registry.d.ts +0 -27
- package/dist/src/session-bootstrap/session-hygiene.d.ts +0 -23
- package/dist/src/session-bootstrap/sysprompt-strip.d.ts +0 -24
- package/dist/src/session-bootstrap/think-conflict-resolver.d.ts +0 -32
- package/dist/src/types/route.d.ts +0 -11
- package/dist/src/types/runtime-config.d.ts +0 -208
- package/dist/src/types/sse.d.ts +0 -29
- package/dist/src/types/tool-bridge.d.ts +0 -82
- package/dist/src/types/upstream.d.ts +0 -580
- package/dist/src/types.d.ts +0 -498
- package/dist/src/validation.d.ts +0 -31
package/dist/src/types.d.ts
DELETED
|
@@ -1,498 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared types for openclaw-claude-code plugin
|
|
3
|
-
*/
|
|
4
|
-
import type { ModelPricing } from './models.js';
|
|
5
|
-
export { getModelPricing, overrideModelPricing } from './models.js';
|
|
6
|
-
type PermissionMode = 'acceptEdits' | 'bypassPermissions' | 'default' | 'delegate' | 'dontAsk' | 'plan' | 'auto';
|
|
7
|
-
export type EffortLevel = 'low' | 'medium' | 'high' | 'max' | 'auto';
|
|
8
|
-
export type EngineType = 'claude' | 'codex' | 'gemini' | 'cursor' | 'custom';
|
|
9
|
-
export interface CustomEngineConfig {
|
|
10
|
-
/** Display name for this engine (used in logs and session IDs) */
|
|
11
|
-
name: string;
|
|
12
|
-
/** Binary path or command name, e.g. 'my-agent' or '/usr/local/bin/my-agent' */
|
|
13
|
-
bin: string;
|
|
14
|
-
/**
|
|
15
|
-
* Environment variable name that overrides `bin` at runtime.
|
|
16
|
-
* e.g. 'MY_AGENT_BIN' — the value of that env var takes precedence over `bin`.
|
|
17
|
-
*/
|
|
18
|
-
binEnv?: string;
|
|
19
|
-
/**
|
|
20
|
-
* true = persistent subprocess (Claude Code style: start once, JSON I/O on stdin/stdout)
|
|
21
|
-
* false = one-shot per send (Gemini/Codex style: spawn per message)
|
|
22
|
-
* @default false
|
|
23
|
-
*/
|
|
24
|
-
persistent?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* CLI flag mappings. Each key is an OpenClaw concept; the value is the CLI
|
|
27
|
-
* flag string your agent expects. Omit any flag your CLI doesn't support.
|
|
28
|
-
*
|
|
29
|
-
* Example for a Claude Code-compatible CLI:
|
|
30
|
-
* ```json
|
|
31
|
-
* {
|
|
32
|
-
* "print": "-p",
|
|
33
|
-
* "outputFormat": "--output-format",
|
|
34
|
-
* "outputFormatValue": "stream-json",
|
|
35
|
-
* "inputFormat": "--input-format",
|
|
36
|
-
* "inputFormatValue": "stream-json",
|
|
37
|
-
* "skipPermissions": "-y",
|
|
38
|
-
* "permissionMode": "--permission-mode",
|
|
39
|
-
* "model": "--model",
|
|
40
|
-
* "systemPrompt": "--system-prompt",
|
|
41
|
-
* "appendSystemPrompt": "--append-system-prompt",
|
|
42
|
-
* "maxTurns": "--max-turns",
|
|
43
|
-
* "resume": "--resume",
|
|
44
|
-
* "verbose": "--verbose",
|
|
45
|
-
* "replayUserMessages": "--replay-user-messages",
|
|
46
|
-
* "includePartialMessages": "--include-partial-messages"
|
|
47
|
-
* }
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
args: {
|
|
51
|
-
/** Flag for non-interactive / print mode, e.g. '-p' */
|
|
52
|
-
print?: string;
|
|
53
|
-
/** Flag for output format, e.g. '--output-format' */
|
|
54
|
-
outputFormat?: string;
|
|
55
|
-
/** Value for stream-json output format, e.g. 'stream-json' */
|
|
56
|
-
outputFormatValue?: string;
|
|
57
|
-
/** Flag for input format (persistent mode only), e.g. '--input-format' */
|
|
58
|
-
inputFormat?: string;
|
|
59
|
-
/** Value for stream-json input format, e.g. 'stream-json' */
|
|
60
|
-
inputFormatValue?: string;
|
|
61
|
-
/** Flag to skip all permissions, e.g. '-y' or '--dangerously-skip-permissions' */
|
|
62
|
-
skipPermissions?: string;
|
|
63
|
-
/** Flag for permission mode, e.g. '--permission-mode' */
|
|
64
|
-
permissionMode?: string;
|
|
65
|
-
/** Flag for model selection, e.g. '--model' */
|
|
66
|
-
model?: string;
|
|
67
|
-
/** Flag for system prompt override, e.g. '--system-prompt' */
|
|
68
|
-
systemPrompt?: string;
|
|
69
|
-
/** Flag for appending to system prompt, e.g. '--append-system-prompt' */
|
|
70
|
-
appendSystemPrompt?: string;
|
|
71
|
-
/** Flag for max agent turns, e.g. '--max-turns' */
|
|
72
|
-
maxTurns?: string;
|
|
73
|
-
/** Flag for resuming a session, e.g. '--resume' */
|
|
74
|
-
resume?: string;
|
|
75
|
-
/** Flag for verbose output, e.g. '--verbose' */
|
|
76
|
-
verbose?: string;
|
|
77
|
-
/** Flag for replaying user messages, e.g. '--replay-user-messages' (persistent only) */
|
|
78
|
-
replayUserMessages?: string;
|
|
79
|
-
/** Flag for including partial messages, e.g. '--include-partial-messages' (persistent only) */
|
|
80
|
-
includePartialMessages?: string;
|
|
81
|
-
/** Flag for effort level, e.g. '--effort' */
|
|
82
|
-
effort?: string;
|
|
83
|
-
/** Flag for workspace/cwd, e.g. '--workspace' (one-shot only; overrides cwd) */
|
|
84
|
-
workspace?: string;
|
|
85
|
-
/** Additional static arguments always appended to the CLI invocation */
|
|
86
|
-
extra?: string[];
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Maps OpenClaw permission mode names to CLI-specific values.
|
|
90
|
-
* e.g. { bypassPermissions: 'yolo', default: 'sandbox' }
|
|
91
|
-
* If omitted, mode names are passed through as-is.
|
|
92
|
-
*/
|
|
93
|
-
permissionModes?: Record<string, string>;
|
|
94
|
-
/**
|
|
95
|
-
* Default pricing per 1M tokens (for cost estimation when model is unknown).
|
|
96
|
-
* Falls back to { input: 0, output: 0 } if omitted.
|
|
97
|
-
*/
|
|
98
|
-
pricing?: {
|
|
99
|
-
input: number;
|
|
100
|
-
output: number;
|
|
101
|
-
cached?: number;
|
|
102
|
-
};
|
|
103
|
-
/** Context window size in tokens. @default 200000 */
|
|
104
|
-
contextWindow?: number;
|
|
105
|
-
/** Extra environment variables to set when spawning the CLI process */
|
|
106
|
-
env?: Record<string, string>;
|
|
107
|
-
/**
|
|
108
|
-
* Regex patterns to sanitize from stderr output (e.g. API key patterns).
|
|
109
|
-
* Applied as global replacements with '***'.
|
|
110
|
-
*/
|
|
111
|
-
sanitizePatterns?: string[];
|
|
112
|
-
}
|
|
113
|
-
export interface SessionConfig {
|
|
114
|
-
name: string;
|
|
115
|
-
cwd: string;
|
|
116
|
-
engine?: EngineType;
|
|
117
|
-
model?: string;
|
|
118
|
-
baseUrl?: string;
|
|
119
|
-
permissionMode: PermissionMode;
|
|
120
|
-
allowedTools?: string[];
|
|
121
|
-
disallowedTools?: string[];
|
|
122
|
-
tools?: string[];
|
|
123
|
-
maxTurns?: number;
|
|
124
|
-
maxBudgetUsd?: number;
|
|
125
|
-
systemPrompt?: string;
|
|
126
|
-
appendSystemPrompt?: string;
|
|
127
|
-
dangerouslySkipPermissions?: boolean;
|
|
128
|
-
includePartialMessages?: boolean;
|
|
129
|
-
agents?: Record<string, {
|
|
130
|
-
description?: string;
|
|
131
|
-
prompt: string;
|
|
132
|
-
}>;
|
|
133
|
-
agent?: string;
|
|
134
|
-
customSessionId?: string;
|
|
135
|
-
sessionName?: string;
|
|
136
|
-
claudeResumeId?: string;
|
|
137
|
-
resumeSessionId?: string;
|
|
138
|
-
/** v0.27.4 (M4/M6) — opt a skipPersistence session into freshness-windowed
|
|
139
|
-
* --resume across restart / watchdog-kill. When set (ms), the SessionManager
|
|
140
|
-
* persists this session's claudeSessionId and, on the next start for the same
|
|
141
|
-
* name, resumes it iff its last activity is within this window. Used by the
|
|
142
|
-
* openai-compat bridge so Savvy keeps context across a gateway restart while
|
|
143
|
-
* still starting fresh after a long idle gap. */
|
|
144
|
-
resumeFreshnessMs?: number;
|
|
145
|
-
forkSession?: boolean;
|
|
146
|
-
addDir?: string[];
|
|
147
|
-
effort?: EffortLevel;
|
|
148
|
-
modelOverrides?: Record<string, string>;
|
|
149
|
-
enableAutoMode?: boolean;
|
|
150
|
-
resolvedModel?: string;
|
|
151
|
-
bare?: boolean;
|
|
152
|
-
worktree?: string | boolean;
|
|
153
|
-
fallbackModel?: string;
|
|
154
|
-
jsonSchema?: string;
|
|
155
|
-
mcpConfig?: string | string[];
|
|
156
|
-
settings?: string;
|
|
157
|
-
noSessionPersistence?: boolean;
|
|
158
|
-
betas?: string | string[];
|
|
159
|
-
enableAgentTeams?: boolean;
|
|
160
|
-
/** Stream hook lifecycle events (PreToolUse/PostToolUse) */
|
|
161
|
-
includeHookEvents?: boolean;
|
|
162
|
-
/** Delegate permission prompts to an MCP tool for non-interactive use */
|
|
163
|
-
permissionPromptTool?: string;
|
|
164
|
-
/** Move cwd/env/git status from system prompt to user message for better prompt cache hits */
|
|
165
|
-
excludeDynamicSystemPromptSections?: boolean;
|
|
166
|
-
/** Enable debug output for specific categories (e.g. "api", "mcp") */
|
|
167
|
-
debug?: string | string[];
|
|
168
|
-
/** Write debug output to file instead of stderr */
|
|
169
|
-
debugFile?: string;
|
|
170
|
-
/** Resume session linked to a GitHub PR number or URL */
|
|
171
|
-
fromPr?: string;
|
|
172
|
-
/** MCP channel subscriptions (research preview) */
|
|
173
|
-
channels?: string | string[];
|
|
174
|
-
/** Load development MCP channels */
|
|
175
|
-
dangerouslyLoadDevelopmentChannels?: string | string[];
|
|
176
|
-
/** Enable 1-hour prompt cache TTL (vs default 5-min) */
|
|
177
|
-
enablePromptCaching1H?: boolean;
|
|
178
|
-
/** Custom engine configuration — required when engine is 'custom' */
|
|
179
|
-
customEngine?: CustomEngineConfig;
|
|
180
|
-
}
|
|
181
|
-
export interface SessionStats {
|
|
182
|
-
turns: number;
|
|
183
|
-
toolCalls: number;
|
|
184
|
-
toolErrors: number;
|
|
185
|
-
tokensIn: number;
|
|
186
|
-
tokensOut: number;
|
|
187
|
-
cachedTokens: number;
|
|
188
|
-
costUsd: number;
|
|
189
|
-
isReady: boolean;
|
|
190
|
-
startTime: string | null;
|
|
191
|
-
lastActivity: string | null;
|
|
192
|
-
/** v0.27.x — wall-clock ISO of the last PROGRESS event (text / tool_use /
|
|
193
|
-
* tool_result / thinking / result / init) — i.e. the subprocess produced
|
|
194
|
-
* real output. Distinct from lastActivity, which also moves on non-progress
|
|
195
|
-
* events like `system/api_retry`. The stalled-session watchdog keys off this
|
|
196
|
-
* so an API retry-storm (no output) is fast-failed instead of looking busy. */
|
|
197
|
-
lastProgressAt: string | null;
|
|
198
|
-
/** v0.27.6 — tool calls currently in flight (dispatched without a matching
|
|
199
|
-
* result yet). Optional: only the Claude persistent-session engine populates
|
|
200
|
-
* it; the stalled-session watchdog treats > 0 as "alive, don't kill". */
|
|
201
|
-
inFlightTools?: number;
|
|
202
|
-
/**
|
|
203
|
-
* Approximate context window utilization (0-100).
|
|
204
|
-
* Estimated as (tokensIn + tokensOut) / 200,000 * 100.
|
|
205
|
-
* Claude Code does not expose exact context usage via the JSON protocol,
|
|
206
|
-
* so this is a best-effort heuristic that may overcount on long conversations.
|
|
207
|
-
*/
|
|
208
|
-
contextPercent: number;
|
|
209
|
-
/** Total API retry attempts during this session */
|
|
210
|
-
retries: number;
|
|
211
|
-
/** Last API retry error category (e.g. "overloaded", "rate_limit") */
|
|
212
|
-
lastRetryError?: string;
|
|
213
|
-
}
|
|
214
|
-
export interface HookConfig {
|
|
215
|
-
onToolError?: string;
|
|
216
|
-
onContextHigh?: string;
|
|
217
|
-
onStop?: string;
|
|
218
|
-
onTurnComplete?: string;
|
|
219
|
-
onStopFailure?: string;
|
|
220
|
-
}
|
|
221
|
-
export interface SendOptions {
|
|
222
|
-
effort?: EffortLevel;
|
|
223
|
-
plan?: boolean;
|
|
224
|
-
autoResume?: boolean;
|
|
225
|
-
timeout?: number;
|
|
226
|
-
stream?: boolean;
|
|
227
|
-
onChunk?: (chunk: string) => void;
|
|
228
|
-
onEvent?: (event: StreamEvent) => void;
|
|
229
|
-
}
|
|
230
|
-
export interface StreamEvent {
|
|
231
|
-
type: string;
|
|
232
|
-
subtype?: string;
|
|
233
|
-
session_id?: string;
|
|
234
|
-
message?: {
|
|
235
|
-
content?: Array<{
|
|
236
|
-
type: string;
|
|
237
|
-
text?: string;
|
|
238
|
-
}>;
|
|
239
|
-
usage?: {
|
|
240
|
-
input_tokens?: number;
|
|
241
|
-
output_tokens?: number;
|
|
242
|
-
cache_read_input_tokens?: number;
|
|
243
|
-
};
|
|
244
|
-
};
|
|
245
|
-
result?: string;
|
|
246
|
-
is_error?: boolean;
|
|
247
|
-
num_turns?: number;
|
|
248
|
-
total_cost_usd?: number;
|
|
249
|
-
[key: string]: unknown;
|
|
250
|
-
}
|
|
251
|
-
export interface SessionInfo {
|
|
252
|
-
name: string;
|
|
253
|
-
claudeSessionId?: string;
|
|
254
|
-
created: string;
|
|
255
|
-
cwd: string;
|
|
256
|
-
model?: string;
|
|
257
|
-
paused: boolean;
|
|
258
|
-
stats: SessionStats;
|
|
259
|
-
}
|
|
260
|
-
export interface SendResult {
|
|
261
|
-
output: string;
|
|
262
|
-
sessionId?: string;
|
|
263
|
-
error?: string;
|
|
264
|
-
events: StreamEvent[];
|
|
265
|
-
}
|
|
266
|
-
export interface AgentInfo {
|
|
267
|
-
name: string;
|
|
268
|
-
file: string;
|
|
269
|
-
description: string;
|
|
270
|
-
}
|
|
271
|
-
export interface SkillInfo {
|
|
272
|
-
name: string;
|
|
273
|
-
hasSkillMd: boolean;
|
|
274
|
-
description: string;
|
|
275
|
-
}
|
|
276
|
-
export interface RuleInfo {
|
|
277
|
-
name: string;
|
|
278
|
-
file: string;
|
|
279
|
-
description: string;
|
|
280
|
-
paths: string;
|
|
281
|
-
condition: string;
|
|
282
|
-
}
|
|
283
|
-
export interface SessionSendOptions {
|
|
284
|
-
effort?: EffortLevel;
|
|
285
|
-
plan?: boolean;
|
|
286
|
-
waitForComplete?: boolean;
|
|
287
|
-
timeout?: number;
|
|
288
|
-
callbacks?: StreamCallbacks;
|
|
289
|
-
}
|
|
290
|
-
export interface StreamCallbacks {
|
|
291
|
-
onText?: (text: string) => void;
|
|
292
|
-
onToolUse?: (event: unknown) => void;
|
|
293
|
-
onToolResult?: (event: unknown) => void;
|
|
294
|
-
/**
|
|
295
|
-
* v0.7.1: extended-thinking content (opus-4-7+ with reasoning enabled).
|
|
296
|
-
* Fires once per `thinking_delta` event with the partial reasoning text.
|
|
297
|
-
* The caller is responsible for accumulation. Privacy-sensitive — most
|
|
298
|
-
* paths should gate this on `getSurfaceThinkingEnabled()` from
|
|
299
|
-
* `lib/config.ts` before subscribing. NEVER receives `signature_delta`
|
|
300
|
-
* content (Anthropic-internal cryptographic field).
|
|
301
|
-
*/
|
|
302
|
-
onThinking?: (text: string) => void;
|
|
303
|
-
}
|
|
304
|
-
export interface TurnResult {
|
|
305
|
-
text: string;
|
|
306
|
-
event: StreamEvent;
|
|
307
|
-
}
|
|
308
|
-
export interface CostBreakdown {
|
|
309
|
-
model: string;
|
|
310
|
-
tokensIn: number;
|
|
311
|
-
tokensOut: number;
|
|
312
|
-
cachedTokens: number;
|
|
313
|
-
pricing: {
|
|
314
|
-
inputPer1M: number;
|
|
315
|
-
outputPer1M: number;
|
|
316
|
-
cachedPer1M: number | undefined;
|
|
317
|
-
};
|
|
318
|
-
breakdown: {
|
|
319
|
-
inputCost: number;
|
|
320
|
-
cachedCost: number;
|
|
321
|
-
outputCost: number;
|
|
322
|
-
};
|
|
323
|
-
totalUsd: number;
|
|
324
|
-
}
|
|
325
|
-
export interface ISession {
|
|
326
|
-
sessionId?: string;
|
|
327
|
-
readonly pid?: number;
|
|
328
|
-
readonly isReady: boolean;
|
|
329
|
-
readonly isPaused: boolean;
|
|
330
|
-
readonly isBusy: boolean;
|
|
331
|
-
/** Initialise the engine subprocess. Engine-specific; config passed via constructor. */
|
|
332
|
-
start(): Promise<this>;
|
|
333
|
-
stop(): void;
|
|
334
|
-
pause(): void;
|
|
335
|
-
resume(): void;
|
|
336
|
-
send(message: string | unknown[], options?: SessionSendOptions): Promise<TurnResult | {
|
|
337
|
-
requestId: number;
|
|
338
|
-
sent: boolean;
|
|
339
|
-
}>;
|
|
340
|
-
getStats(): SessionStats & {
|
|
341
|
-
sessionId?: string;
|
|
342
|
-
uptime: number;
|
|
343
|
-
};
|
|
344
|
-
getHistory(limit?: number): Array<{
|
|
345
|
-
time: string;
|
|
346
|
-
type: string;
|
|
347
|
-
event: unknown;
|
|
348
|
-
}>;
|
|
349
|
-
getCost(): CostBreakdown;
|
|
350
|
-
compact(summary?: string): Promise<TurnResult | {
|
|
351
|
-
requestId: number;
|
|
352
|
-
sent: boolean;
|
|
353
|
-
}>;
|
|
354
|
-
getEffort(): EffortLevel;
|
|
355
|
-
setEffort(level: EffortLevel): void;
|
|
356
|
-
resolveModel(alias: string): string;
|
|
357
|
-
on(event: string, listener: (...args: unknown[]) => void): this;
|
|
358
|
-
once(event: string, listener: (...args: unknown[]) => void): this;
|
|
359
|
-
emit(event: string, ...args: unknown[]): boolean;
|
|
360
|
-
removeListener(event: string, listener: (...args: unknown[]) => void): this;
|
|
361
|
-
}
|
|
362
|
-
export interface PluginConfig {
|
|
363
|
-
claudeBin: string;
|
|
364
|
-
defaultModel?: string;
|
|
365
|
-
defaultPermissionMode: PermissionMode;
|
|
366
|
-
defaultEffort: EffortLevel;
|
|
367
|
-
maxConcurrentSessions: number;
|
|
368
|
-
sessionTtlMinutes: number;
|
|
369
|
-
proxy?: ProxyConfig;
|
|
370
|
-
/** Override or extend model pricing at runtime without a new release. */
|
|
371
|
-
pricingOverrides?: Record<string, Partial<ModelPricing>>;
|
|
372
|
-
}
|
|
373
|
-
export interface ProxyConfig {
|
|
374
|
-
enabled: boolean;
|
|
375
|
-
bigModel: string;
|
|
376
|
-
smallModel: string;
|
|
377
|
-
}
|
|
378
|
-
export interface InboxMessage {
|
|
379
|
-
from: string;
|
|
380
|
-
text: string;
|
|
381
|
-
timestamp: string;
|
|
382
|
-
read: boolean;
|
|
383
|
-
summary?: string;
|
|
384
|
-
}
|
|
385
|
-
export interface UltraplanResult {
|
|
386
|
-
id: string;
|
|
387
|
-
status: 'running' | 'completed' | 'error' | 'timeout';
|
|
388
|
-
plan?: string;
|
|
389
|
-
sessionName: string;
|
|
390
|
-
startTime: string;
|
|
391
|
-
endTime?: string;
|
|
392
|
-
error?: string;
|
|
393
|
-
}
|
|
394
|
-
export interface UltrareviewResult {
|
|
395
|
-
id: string;
|
|
396
|
-
status: 'running' | 'completed' | 'error';
|
|
397
|
-
councilId: string;
|
|
398
|
-
findings?: string;
|
|
399
|
-
agentCount: number;
|
|
400
|
-
startTime: string;
|
|
401
|
-
endTime?: string;
|
|
402
|
-
error?: string;
|
|
403
|
-
}
|
|
404
|
-
type CouncilEventType = 'session-start' | 'round-start' | 'agent-start' | 'agent-chunk' | 'agent-tool' | 'agent-complete' | 'round-end' | 'complete' | 'error';
|
|
405
|
-
export interface CouncilEvent {
|
|
406
|
-
type: CouncilEventType;
|
|
407
|
-
sessionId: string;
|
|
408
|
-
timestamp: string;
|
|
409
|
-
round?: number;
|
|
410
|
-
agent?: string;
|
|
411
|
-
content?: string;
|
|
412
|
-
consensus?: boolean;
|
|
413
|
-
status?: string;
|
|
414
|
-
task?: string;
|
|
415
|
-
error?: string;
|
|
416
|
-
tool?: string;
|
|
417
|
-
toolInput?: string;
|
|
418
|
-
toolStatus?: 'start' | 'end';
|
|
419
|
-
}
|
|
420
|
-
export interface AgentPersona {
|
|
421
|
-
name: string;
|
|
422
|
-
emoji: string;
|
|
423
|
-
persona: string;
|
|
424
|
-
engine?: EngineType;
|
|
425
|
-
role?: string;
|
|
426
|
-
model?: string;
|
|
427
|
-
baseUrl?: string;
|
|
428
|
-
permissionMode?: PermissionMode;
|
|
429
|
-
customEngine?: CustomEngineConfig;
|
|
430
|
-
}
|
|
431
|
-
export interface CouncilConfig {
|
|
432
|
-
name?: string;
|
|
433
|
-
agents: AgentPersona[];
|
|
434
|
-
maxRounds: number;
|
|
435
|
-
projectDir: string;
|
|
436
|
-
agentTimeoutMs?: number;
|
|
437
|
-
maxTurnsPerAgent?: number;
|
|
438
|
-
maxBudgetUsd?: number;
|
|
439
|
-
defaultPermissionMode?: PermissionMode;
|
|
440
|
-
}
|
|
441
|
-
export interface AgentResponse {
|
|
442
|
-
agent: string;
|
|
443
|
-
round: number;
|
|
444
|
-
content: string;
|
|
445
|
-
consensus: boolean;
|
|
446
|
-
sessionKey: string;
|
|
447
|
-
timestamp: string;
|
|
448
|
-
}
|
|
449
|
-
export interface CouncilSession {
|
|
450
|
-
id: string;
|
|
451
|
-
task: string;
|
|
452
|
-
config: CouncilConfig;
|
|
453
|
-
responses: AgentResponse[];
|
|
454
|
-
status: 'running' | 'consensus' | 'awaiting_user' | 'max_rounds' | 'error' | 'accepted' | 'rejected';
|
|
455
|
-
startTime: string;
|
|
456
|
-
endTime?: string;
|
|
457
|
-
finalSummary?: string;
|
|
458
|
-
compactContext?: string;
|
|
459
|
-
}
|
|
460
|
-
type CouncilFileStatus = 'clean' | 'needs_rework' | 'redundant' | 'missing';
|
|
461
|
-
export interface CouncilChangedFile {
|
|
462
|
-
file: string;
|
|
463
|
-
status: CouncilFileStatus;
|
|
464
|
-
insertions: number;
|
|
465
|
-
deletions: number;
|
|
466
|
-
note?: string;
|
|
467
|
-
}
|
|
468
|
-
export interface CouncilReviewResult {
|
|
469
|
-
councilId: string;
|
|
470
|
-
projectDir: string;
|
|
471
|
-
status: 'consensus' | 'max_rounds' | 'error';
|
|
472
|
-
rounds: number;
|
|
473
|
-
planExists: boolean;
|
|
474
|
-
planContent?: string;
|
|
475
|
-
changedFiles: CouncilChangedFile[];
|
|
476
|
-
branches: string[];
|
|
477
|
-
worktrees: string[];
|
|
478
|
-
reviews: string[];
|
|
479
|
-
agentSummaries: Array<{
|
|
480
|
-
agent: string;
|
|
481
|
-
consensus: boolean;
|
|
482
|
-
preview: string;
|
|
483
|
-
}>;
|
|
484
|
-
/** Reviewer guidance loaded from configs/council-reviewer-prompt.md */
|
|
485
|
-
reviewerGuidance: string;
|
|
486
|
-
}
|
|
487
|
-
export interface CouncilAcceptResult {
|
|
488
|
-
councilId: string;
|
|
489
|
-
branchesDeleted: string[];
|
|
490
|
-
worktreesRemoved: string[];
|
|
491
|
-
planDeleted: boolean;
|
|
492
|
-
reviewsDeleted: boolean;
|
|
493
|
-
}
|
|
494
|
-
export interface CouncilRejectResult {
|
|
495
|
-
councilId: string;
|
|
496
|
-
planRewritten: boolean;
|
|
497
|
-
feedback: string;
|
|
498
|
-
}
|
package/dist/src/validation.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared validation utilities for input sanitization.
|
|
3
|
-
*
|
|
4
|
-
* Used by both the plugin tool handlers (index.ts) and the embedded HTTP
|
|
5
|
-
* server (embedded-server.ts) to ensure consistent protection regardless
|
|
6
|
-
* of entry point.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Resolve and validate a working directory path.
|
|
10
|
-
*
|
|
11
|
-
* Prevents path traversal and blocks access to system-critical and
|
|
12
|
-
* sensitive directories. Resolves symlinks where possible to defeat
|
|
13
|
-
* symlink-based bypasses.
|
|
14
|
-
*/
|
|
15
|
-
export declare function sanitizeCwd(cwd: string | undefined): string | undefined;
|
|
16
|
-
/**
|
|
17
|
-
* Validate that a string is a syntactically valid regular expression.
|
|
18
|
-
*
|
|
19
|
-
* Returns the compiled RegExp if valid, throws on invalid syntax.
|
|
20
|
-
* Note: this validates syntax only — it does not detect catastrophic
|
|
21
|
-
* backtracking (ReDoS) patterns.
|
|
22
|
-
*/
|
|
23
|
-
export declare function validateRegex(pattern: string): RegExp;
|
|
24
|
-
/**
|
|
25
|
-
* Validate a resource name (agent, skill, rule) to prevent path injection.
|
|
26
|
-
*
|
|
27
|
-
* Only allows alphanumeric characters, hyphens, and underscores.
|
|
28
|
-
* Rejects empty strings, dots, slashes, spaces, and any other characters
|
|
29
|
-
* that could be used for path traversal.
|
|
30
|
-
*/
|
|
31
|
-
export declare function validateName(name: string): string;
|