@gajae-code/coding-agent 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +1 -1
- package/dist/types/async/job-manager.d.ts +61 -0
- package/dist/types/config/settings-schema.d.ts +7 -3
- package/dist/types/config/settings.d.ts +1 -1
- package/dist/types/discovery/helpers.d.ts +1 -0
- package/dist/types/exec/bash-executor.d.ts +8 -1
- package/dist/types/gjc-runtime/restricted-role-agent-bash.d.ts +2 -0
- package/dist/types/modes/acp/acp-client-bridge.d.ts +1 -1
- package/dist/types/modes/components/skill-hud/render.d.ts +1 -1
- package/dist/types/modes/interactive-mode.d.ts +1 -0
- package/dist/types/modes/theme/defaults/index.d.ts +45 -9477
- package/dist/types/modes/theme/theme.d.ts +1 -5
- package/dist/types/modes/types.d.ts +1 -0
- package/dist/types/sdk.d.ts +2 -0
- package/dist/types/session/streaming-output.d.ts +11 -0
- package/dist/types/skill-state/active-state.d.ts +1 -0
- package/dist/types/task/types.d.ts +1 -0
- package/dist/types/tools/bash-allowed-prefixes.d.ts +5 -0
- package/dist/types/tools/bash.d.ts +24 -0
- package/dist/types/tools/cron.d.ts +110 -0
- package/dist/types/tools/index.d.ts +4 -0
- package/dist/types/tools/monitor.d.ts +54 -0
- package/dist/types/web/search/index.d.ts +1 -0
- package/dist/types/web/search/provider.d.ts +11 -4
- package/dist/types/web/search/providers/duckduckgo.d.ts +57 -0
- package/dist/types/web/search/types.d.ts +1 -1
- package/package.json +7 -7
- package/src/async/job-manager.ts +224 -0
- package/src/cli/agents-cli.ts +3 -0
- package/src/config/settings-schema.ts +8 -2
- package/src/config/settings.ts +44 -7
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +9 -2
- package/src/defaults/gjc/skills/ralplan/SKILL.md +8 -4
- package/src/discovery/helpers.ts +5 -0
- package/src/eval/js/shared/rewrite-imports.ts +1 -2
- package/src/exec/bash-executor.ts +20 -9
- package/src/gjc-runtime/ralplan-runtime.ts +2 -0
- package/src/gjc-runtime/restricted-role-agent-bash.ts +5 -0
- package/src/hooks/skill-state.ts +1 -1
- package/src/internal-urls/docs-index.generated.ts +5 -3
- package/src/lsp/render.ts +1 -1
- package/src/modes/acp/acp-agent.ts +1 -1
- package/src/modes/acp/acp-client-bridge.ts +1 -1
- package/src/modes/components/agent-dashboard.ts +1 -1
- package/src/modes/components/diff.ts +2 -2
- package/src/modes/components/skill-hud/render.ts +7 -2
- package/src/modes/controllers/input-controller.ts +10 -2
- package/src/modes/controllers/selector-controller.ts +1 -1
- package/src/modes/interactive-mode.ts +20 -2
- package/src/modes/theme/defaults/index.ts +0 -196
- package/src/modes/theme/theme.ts +35 -35
- package/src/modes/types.ts +1 -0
- package/src/prompts/agents/architect.md +5 -1
- package/src/prompts/agents/critic.md +5 -1
- package/src/prompts/agents/frontmatter.md +1 -0
- package/src/prompts/agents/planner.md +5 -1
- package/src/prompts/tools/bash.md +9 -0
- package/src/prompts/tools/cron.md +25 -0
- package/src/prompts/tools/monitor.md +30 -0
- package/src/runtime-mcp/oauth-flow.ts +4 -2
- package/src/sdk.ts +3 -0
- package/src/session/agent-session.ts +16 -5
- package/src/session/streaming-output.ts +21 -0
- package/src/skill-state/active-state.ts +163 -12
- package/src/task/agents.ts +1 -0
- package/src/task/executor.ts +1 -0
- package/src/task/types.ts +1 -0
- package/src/tools/bash-allowed-prefixes.ts +169 -0
- package/src/tools/bash.ts +190 -29
- package/src/tools/browser/tab-worker.ts +1 -1
- package/src/tools/cron.ts +665 -0
- package/src/tools/index.ts +20 -2
- package/src/tools/monitor.ts +136 -0
- package/src/vim/engine.ts +3 -3
- package/src/web/search/index.ts +31 -18
- package/src/web/search/provider.ts +57 -12
- package/src/web/search/providers/duckduckgo.ts +279 -0
- package/src/web/search/types.ts +2 -0
- package/src/modes/theme/dark.json +0 -95
- package/src/modes/theme/defaults/alabaster.json +0 -93
- package/src/modes/theme/defaults/amethyst.json +0 -96
- package/src/modes/theme/defaults/anthracite.json +0 -93
- package/src/modes/theme/defaults/basalt.json +0 -91
- package/src/modes/theme/defaults/birch.json +0 -95
- package/src/modes/theme/defaults/dark-abyss.json +0 -91
- package/src/modes/theme/defaults/dark-arctic.json +0 -104
- package/src/modes/theme/defaults/dark-aurora.json +0 -95
- package/src/modes/theme/defaults/dark-catppuccin.json +0 -107
- package/src/modes/theme/defaults/dark-cavern.json +0 -91
- package/src/modes/theme/defaults/dark-copper.json +0 -95
- package/src/modes/theme/defaults/dark-cosmos.json +0 -90
- package/src/modes/theme/defaults/dark-cyberpunk.json +0 -102
- package/src/modes/theme/defaults/dark-dracula.json +0 -98
- package/src/modes/theme/defaults/dark-eclipse.json +0 -91
- package/src/modes/theme/defaults/dark-ember.json +0 -95
- package/src/modes/theme/defaults/dark-equinox.json +0 -90
- package/src/modes/theme/defaults/dark-forest.json +0 -96
- package/src/modes/theme/defaults/dark-github.json +0 -105
- package/src/modes/theme/defaults/dark-gruvbox.json +0 -112
- package/src/modes/theme/defaults/dark-lavender.json +0 -95
- package/src/modes/theme/defaults/dark-lunar.json +0 -89
- package/src/modes/theme/defaults/dark-midnight.json +0 -95
- package/src/modes/theme/defaults/dark-monochrome.json +0 -94
- package/src/modes/theme/defaults/dark-monokai.json +0 -98
- package/src/modes/theme/defaults/dark-nebula.json +0 -90
- package/src/modes/theme/defaults/dark-nord.json +0 -97
- package/src/modes/theme/defaults/dark-ocean.json +0 -101
- package/src/modes/theme/defaults/dark-one.json +0 -100
- package/src/modes/theme/defaults/dark-poimandres.json +0 -141
- package/src/modes/theme/defaults/dark-rainforest.json +0 -91
- package/src/modes/theme/defaults/dark-reef.json +0 -91
- package/src/modes/theme/defaults/dark-retro.json +0 -92
- package/src/modes/theme/defaults/dark-rose-pine.json +0 -96
- package/src/modes/theme/defaults/dark-sakura.json +0 -95
- package/src/modes/theme/defaults/dark-slate.json +0 -95
- package/src/modes/theme/defaults/dark-solarized.json +0 -97
- package/src/modes/theme/defaults/dark-solstice.json +0 -90
- package/src/modes/theme/defaults/dark-starfall.json +0 -91
- package/src/modes/theme/defaults/dark-sunset.json +0 -99
- package/src/modes/theme/defaults/dark-swamp.json +0 -90
- package/src/modes/theme/defaults/dark-synthwave.json +0 -103
- package/src/modes/theme/defaults/dark-taiga.json +0 -91
- package/src/modes/theme/defaults/dark-terminal.json +0 -95
- package/src/modes/theme/defaults/dark-tokyo-night.json +0 -101
- package/src/modes/theme/defaults/dark-tundra.json +0 -91
- package/src/modes/theme/defaults/dark-twilight.json +0 -91
- package/src/modes/theme/defaults/dark-volcanic.json +0 -91
- package/src/modes/theme/defaults/graphite.json +0 -92
- package/src/modes/theme/defaults/light-arctic.json +0 -107
- package/src/modes/theme/defaults/light-aurora-day.json +0 -91
- package/src/modes/theme/defaults/light-canyon.json +0 -91
- package/src/modes/theme/defaults/light-catppuccin.json +0 -106
- package/src/modes/theme/defaults/light-cirrus.json +0 -90
- package/src/modes/theme/defaults/light-coral.json +0 -95
- package/src/modes/theme/defaults/light-cyberpunk.json +0 -96
- package/src/modes/theme/defaults/light-dawn.json +0 -90
- package/src/modes/theme/defaults/light-dunes.json +0 -91
- package/src/modes/theme/defaults/light-eucalyptus.json +0 -95
- package/src/modes/theme/defaults/light-forest.json +0 -100
- package/src/modes/theme/defaults/light-frost.json +0 -95
- package/src/modes/theme/defaults/light-github.json +0 -115
- package/src/modes/theme/defaults/light-glacier.json +0 -91
- package/src/modes/theme/defaults/light-gruvbox.json +0 -108
- package/src/modes/theme/defaults/light-haze.json +0 -90
- package/src/modes/theme/defaults/light-honeycomb.json +0 -95
- package/src/modes/theme/defaults/light-lagoon.json +0 -91
- package/src/modes/theme/defaults/light-lavender.json +0 -95
- package/src/modes/theme/defaults/light-meadow.json +0 -91
- package/src/modes/theme/defaults/light-mint.json +0 -95
- package/src/modes/theme/defaults/light-monochrome.json +0 -101
- package/src/modes/theme/defaults/light-ocean.json +0 -99
- package/src/modes/theme/defaults/light-one.json +0 -99
- package/src/modes/theme/defaults/light-opal.json +0 -91
- package/src/modes/theme/defaults/light-orchard.json +0 -91
- package/src/modes/theme/defaults/light-paper.json +0 -95
- package/src/modes/theme/defaults/light-poimandres.json +0 -141
- package/src/modes/theme/defaults/light-prism.json +0 -90
- package/src/modes/theme/defaults/light-retro.json +0 -98
- package/src/modes/theme/defaults/light-sand.json +0 -95
- package/src/modes/theme/defaults/light-savanna.json +0 -91
- package/src/modes/theme/defaults/light-solarized.json +0 -102
- package/src/modes/theme/defaults/light-soleil.json +0 -90
- package/src/modes/theme/defaults/light-sunset.json +0 -99
- package/src/modes/theme/defaults/light-synthwave.json +0 -98
- package/src/modes/theme/defaults/light-tokyo-night.json +0 -111
- package/src/modes/theme/defaults/light-wetland.json +0 -91
- package/src/modes/theme/defaults/light-zenith.json +0 -89
- package/src/modes/theme/defaults/limestone.json +0 -94
- package/src/modes/theme/defaults/mahogany.json +0 -97
- package/src/modes/theme/defaults/marble.json +0 -93
- package/src/modes/theme/defaults/obsidian.json +0 -91
- package/src/modes/theme/defaults/onyx.json +0 -91
- package/src/modes/theme/defaults/pearl.json +0 -93
- package/src/modes/theme/defaults/porcelain.json +0 -91
- package/src/modes/theme/defaults/quartz.json +0 -96
- package/src/modes/theme/defaults/sandstone.json +0 -95
- package/src/modes/theme/defaults/titanium.json +0 -90
- package/src/modes/theme/light.json +0 -93
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.2.5] - 2026-06-02
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added Claude Code parity `monitor` plus `CronCreate`, `CronList`, and `CronDelete` tools with frozen upstream schema fixtures, inline scheduling, background output monitoring, and ACP permission coverage.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Pruned bundled built-in themes to `red-claw` and `blue-crab`, with `blue-crab` now the default light-appearance theme.
|
|
14
|
+
- Clarified ralplan role-agent handoff guidance so Planner/Architect/Critic return compact artifact receipts after `gjc ralplan --write --json` instead of duplicating full persisted verdict markdown into the parent context.
|
|
15
|
+
- Made `web_search` permissionless by default with a keyless DuckDuckGo fallback, active-model-gated native provider selection, and explicit-only legacy provider selection so custom providers no longer auto-hit stray OpenAI/Codex OAuth credentials.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Fixed the skill HUD rail showing already-handed-off planning workflows so it renders only the currently-active stage. Handoffs now supersede every same-session-scope row of the caller and callee skills (not just the exact `skill::session_id` key), the visible-state read collapses duplicate same-skill rows to the most-recent one (so a handoff demotion drops a stale `active:true` row and on-disk state self-heals), and the HUD renderer collapses the `deep-interview → ralplan → ultragoal` pipeline to its most-recent stage. Activating a later stage (e.g. `gjc ultragoal` after ralplan) now supersedes the earlier one even when the activation path does not run the `handoff` verb, while `team` still coexists with ultragoal.
|
|
20
|
+
|
|
5
21
|
## [0.2.4] - 2026-06-02
|
|
6
22
|
|
|
7
23
|
### Added
|
|
@@ -40,6 +56,7 @@
|
|
|
40
56
|
### Fixed
|
|
41
57
|
|
|
42
58
|
- Enforced the deep-interview phase boundary so active interviews block mutation tools until a handoff/spec is produced.
|
|
59
|
+
- Allowed read-only `architect`, `planner`, and `critic` role agents to persist ralplan/state workflow receipts through a restricted `bash` allowlist while blocking general shell and product-file mutations.
|
|
43
60
|
- Made settings theme browsing confirm-only so arrowing through themes no longer changes the rendered theme before the displayed/persisted theme name changes.
|
|
44
61
|
- Made startup CHANGELOG display deterministic by embedding `packages/coding-agent/CHANGELOG.md` into the binary so post-update launches show the shipped history regardless of cwd or `GJC_PACKAGE_DIR`/`PI_PACKAGE_DIR` overrides.
|
|
45
62
|
- Registered `gjc update` as a public root subcommand so it invokes the bundled updater instead of routing into the interactive launcher.
|
package/README.md
CHANGED
|
@@ -34,4 +34,4 @@ Switching backends mid-session is honoured on the next system-prompt rebuild and
|
|
|
34
34
|
|
|
35
35
|
## Red-claw TUI theme
|
|
36
36
|
|
|
37
|
-
The interactive TUI defaults to the bundled `red-claw` crustacean theme for dark terminals, with matching welcome/icon assets. Explicit user theme settings still win; set `theme.dark: red-claw` in `~/.gjc/agent/config.yml` to pin
|
|
37
|
+
The interactive TUI defaults to the bundled `red-claw` crustacean theme for dark terminals and the bundled `blue-crab` theme for light-appearance terminals, with matching welcome/icon assets. Explicit user theme settings still win; set `theme.dark: red-claw` and `theme.light: blue-crab` in `~/.gjc/agent/config.yml` to pin them.
|
|
@@ -54,6 +54,27 @@ export interface AsyncJobRegisterOptions {
|
|
|
54
54
|
export interface AsyncJobFilter {
|
|
55
55
|
ownerId?: string;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* A slice of process-stream output for a background job, as recorded by
|
|
59
|
+
* `appendOutput` / read by `readOutputSince`.
|
|
60
|
+
*
|
|
61
|
+
* The cursor model is monotonic UTF-8 byte offsets. `nextOffset` is the offset
|
|
62
|
+
* to pass to the next read to receive only fresh bytes; `startOffset` is the
|
|
63
|
+
* first byte the manager still retains for this job. When the requested offset
|
|
64
|
+
* is older than `startOffset`, the manager returns the retained tail and sets
|
|
65
|
+
* `truncated: true`.
|
|
66
|
+
*/
|
|
67
|
+
export interface AsyncJobOutputSlice {
|
|
68
|
+
jobId: string;
|
|
69
|
+
status: AsyncJob["status"];
|
|
70
|
+
text: string;
|
|
71
|
+
startOffset: number;
|
|
72
|
+
nextOffset: number;
|
|
73
|
+
truncated: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** Default retention cap for per-job captured output. ~512 KiB matches the
|
|
76
|
+
* bash tail-buffer order of magnitude without dominating session memory. */
|
|
77
|
+
export declare const DEFAULT_JOB_OUTPUT_RETENTION_BYTES: number;
|
|
57
78
|
export declare class AsyncJobManager {
|
|
58
79
|
#private;
|
|
59
80
|
/** Process-global instance shared by internal URL protocol handlers and tools. */
|
|
@@ -78,6 +99,46 @@ export declare class AsyncJobManager {
|
|
|
78
99
|
getRunningJobs(filter?: AsyncJobFilter): AsyncJob[];
|
|
79
100
|
getRecentJobs(limit?: number, filter?: AsyncJobFilter): AsyncJob[];
|
|
80
101
|
getAllJobs(filter?: AsyncJobFilter): AsyncJob[];
|
|
102
|
+
/**
|
|
103
|
+
* Append a sanitized process-stream chunk for a background job. Called from
|
|
104
|
+
* the unthrottled bash-executor capture hook (`onRawChunk`) so monitor sees
|
|
105
|
+
* every chunk even when preview/progress callbacks are throttled.
|
|
106
|
+
*
|
|
107
|
+
* Offsets are in UTF-8 bytes. Storing chunk metadata avoids unsafe byte
|
|
108
|
+
* slicing across multibyte characters at read time. The retention window is
|
|
109
|
+
* a per-job rolling cap (`DEFAULT_JOB_OUTPUT_RETENTION_BYTES`); when it
|
|
110
|
+
* overflows, oldest whole chunks are evicted and `startOffset` advances —
|
|
111
|
+
* subsequent reads from a stale offset get `truncated: true`.
|
|
112
|
+
*/
|
|
113
|
+
appendOutput(jobId: string, chunk: string): void;
|
|
114
|
+
/**
|
|
115
|
+
* Read fresh process-stream output for a job since `offset` (in UTF-8
|
|
116
|
+
* bytes). Returns `undefined` when the job does not exist or when an
|
|
117
|
+
* `ownerId` filter is set and the job belongs to a different owner — this
|
|
118
|
+
* mirrors the manager-level "not found" pattern used by `cancel`.
|
|
119
|
+
*
|
|
120
|
+
* - `offset < startOffset` returns the retained tail with `truncated: true`.
|
|
121
|
+
* - `offset > nextOffset` clamps to `nextOffset` and returns an empty text
|
|
122
|
+
* slice with `truncated: false`.
|
|
123
|
+
* - Assembled text slices the leading retained chunk at a UTF-8 codepoint
|
|
124
|
+
* boundary when needed, so multibyte characters cannot be split.
|
|
125
|
+
*/
|
|
126
|
+
readOutputSince(jobId: string, offset: number, filter?: AsyncJobFilter): AsyncJobOutputSlice | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* Register an owner-scoped cleanup callback. Returns an unregister function.
|
|
129
|
+
*
|
|
130
|
+
* Used by Cron* tools to clear session-scoped timers when the owning agent
|
|
131
|
+
* is torn down. Invoked by `runOwnerCleanups({ ownerId })` before
|
|
132
|
+
* `cancelAll({ ownerId })` so timers cannot register new jobs during
|
|
133
|
+
* teardown.
|
|
134
|
+
*/
|
|
135
|
+
registerOwnerCleanup(ownerId: string, cleanup: () => void): () => void;
|
|
136
|
+
/**
|
|
137
|
+
* Run and clear every registered cleanup for the given filter. Idempotent
|
|
138
|
+
* and error-isolated: a throwing cleanup does not prevent siblings from
|
|
139
|
+
* running and never escalates to the caller.
|
|
140
|
+
*/
|
|
141
|
+
runOwnerCleanups(filter?: AsyncJobFilter): void;
|
|
81
142
|
getDeliveryState(filter?: AsyncJobFilter): AsyncJobDeliveryState;
|
|
82
143
|
hasPendingDeliveries(filter?: AsyncJobFilter): boolean;
|
|
83
144
|
watchJobs(jobIds: string[]): number;
|
|
@@ -212,7 +212,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
212
212
|
};
|
|
213
213
|
readonly "theme.light": {
|
|
214
214
|
readonly type: "string";
|
|
215
|
-
readonly default: "
|
|
215
|
+
readonly default: "blue-crab";
|
|
216
216
|
readonly ui: {
|
|
217
217
|
readonly tab: "appearance";
|
|
218
218
|
readonly label: "Light Theme";
|
|
@@ -2917,7 +2917,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
2917
2917
|
};
|
|
2918
2918
|
readonly "providers.webSearch": {
|
|
2919
2919
|
readonly type: "enum";
|
|
2920
|
-
readonly values: readonly ["auto", "exa", "brave", "jina", "kimi", "zai", "perplexity", "anthropic", "gemini", "codex", "tavily", "kagi", "synthetic", "parallel", "searxng"];
|
|
2920
|
+
readonly values: readonly ["auto", "duckduckgo", "exa", "brave", "jina", "kimi", "zai", "perplexity", "anthropic", "gemini", "codex", "tavily", "kagi", "synthetic", "parallel", "searxng"];
|
|
2921
2921
|
readonly default: "auto";
|
|
2922
2922
|
readonly ui: {
|
|
2923
2923
|
readonly tab: "providers";
|
|
@@ -2926,7 +2926,11 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
2926
2926
|
readonly options: readonly [{
|
|
2927
2927
|
readonly value: "auto";
|
|
2928
2928
|
readonly label: "Auto";
|
|
2929
|
-
readonly description: "
|
|
2929
|
+
readonly description: "Active model's native search if its creds exist, else keyless DuckDuckGo";
|
|
2930
|
+
}, {
|
|
2931
|
+
readonly value: "duckduckgo";
|
|
2932
|
+
readonly label: "DuckDuckGo";
|
|
2933
|
+
readonly description: "Keyless default \u2014 no API key or OAuth required";
|
|
2930
2934
|
}, {
|
|
2931
2935
|
readonly value: "exa";
|
|
2932
2936
|
readonly label: "Exa";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* import { settings } from "./settings";
|
|
6
6
|
*
|
|
7
7
|
* const enabled = settings.get("compaction.enabled"); // sync read
|
|
8
|
-
* settings.set("theme.dark", "
|
|
8
|
+
* settings.set("theme.dark", "red-claw"); // sync write, saves in background
|
|
9
9
|
*
|
|
10
10
|
* For tests:
|
|
11
11
|
* const isolated = Settings.isolated({ "compaction.enabled": false });
|
|
@@ -2,8 +2,15 @@ import { type MinimizerOptions } from "@gajae-code/natives";
|
|
|
2
2
|
import { type ShellMinimizerSettings } from "../config/settings";
|
|
3
3
|
export interface BashExecutorOptions {
|
|
4
4
|
cwd?: string;
|
|
5
|
-
timeout?: number;
|
|
5
|
+
timeout?: number | null;
|
|
6
6
|
onChunk?: (chunk: string) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Unthrottled per-chunk callback that fires for every sanitized stdout/stderr
|
|
9
|
+
* chunk *before* preview throttling. Background-job substrate uses this to
|
|
10
|
+
* record the complete process stream for the Monitor tool while keeping
|
|
11
|
+
* `onChunk` cheap for UI/progress rendering.
|
|
12
|
+
*/
|
|
13
|
+
onRawChunk?: (chunk: string) => void;
|
|
7
14
|
signal?: AbortSignal;
|
|
8
15
|
/** Session key suffix to isolate shell sessions per agent */
|
|
9
16
|
sessionKey?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ACP-side `ClientBridge` implementation. Wraps `AgentSideConnection` so the
|
|
3
|
-
* `read`/`write`/`bash`/`edit` tools (and the permission gate in
|
|
3
|
+
* `read`/`write`/`bash`/`monitor`/`edit` tools (and the permission gate in
|
|
4
4
|
* `AgentSession`) can route through the client when it advertises the
|
|
5
5
|
* relevant capabilities at `initialize` time.
|
|
6
6
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SkillActiveEntry } from "../../../skill-state/active-state";
|
|
2
2
|
export declare function renderSkillHudBar(entries: readonly SkillActiveEntry[], width: number): string | null;
|
|
@@ -61,6 +61,7 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
61
61
|
isInitialized: boolean;
|
|
62
62
|
isBackgrounded: boolean;
|
|
63
63
|
isBashMode: boolean;
|
|
64
|
+
isBashNoContext: boolean;
|
|
64
65
|
toolOutputExpanded: boolean;
|
|
65
66
|
todoExpanded: boolean;
|
|
66
67
|
planModeEnabled: boolean;
|