@gajae-code/coding-agent 0.12.21 → 0.13.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/CHANGELOG.md +67 -2
- package/dist/types/cli/args.d.ts +5 -2
- package/dist/types/cli/root-flags.d.ts +246 -0
- package/dist/types/cli.d.ts +11 -19
- package/dist/types/commands/daemon.d.ts +0 -30
- package/dist/types/commands/launch.d.ts +11 -19
- package/dist/types/commands/quick-lane.d.ts +32 -0
- package/dist/types/commands/sdk.d.ts +21 -15
- package/dist/types/config/file-lock-gc.d.ts +2 -0
- package/dist/types/config/model-equivalence.d.ts +20 -0
- package/dist/types/config/model-profile-activation.d.ts +62 -17
- package/dist/types/config/model-profiles.d.ts +10 -0
- package/dist/types/config/model-registry.d.ts +68 -1
- package/dist/types/config/model-resolver.d.ts +15 -4
- package/dist/types/config/models-config-schema.d.ts +7 -2
- package/dist/types/config/provider-selection-policy.d.ts +62 -0
- package/dist/types/config/settings-schema.d.ts +36 -78
- package/dist/types/config/settings.d.ts +2 -0
- package/dist/types/edit/renderer.d.ts +5 -2
- package/dist/types/edit/streaming.d.ts +13 -0
- package/dist/types/extensibility/custom-tools/types.d.ts +2 -0
- package/dist/types/extensibility/extensions/compact-handler.d.ts +2 -1
- package/dist/types/extensibility/extensions/types.d.ts +3 -0
- package/dist/types/gjc-runtime/gc-runtime.d.ts +19 -5
- package/dist/types/internal-urls/local-protocol.d.ts +1 -0
- package/dist/types/modes/components/model-selector.d.ts +0 -2
- package/dist/types/modes/components/provider-order-context.d.ts +45 -0
- package/dist/types/modes/components/provider-order-editor.d.ts +24 -0
- package/dist/types/modes/components/settings-defs.d.ts +5 -1
- package/dist/types/modes/components/settings-selector.d.ts +2 -0
- package/dist/types/quick-lane/classify.d.ts +40 -0
- package/dist/types/runtime/stt-settings-setup.d.ts +18 -0
- package/dist/types/sdk/broker/broker.d.ts +56 -2
- package/dist/types/sdk/broker/operation-receipt-ledger.d.ts +25 -0
- package/dist/types/sdk/broker/session-index.d.ts +83 -2
- package/dist/types/sdk/broker/state-version.d.ts +1 -1
- package/dist/types/sdk/bus/notification-service.d.ts +6 -0
- package/dist/types/sdk/bus/prompt-reconciliation.d.ts +8 -1
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +4 -1
- package/dist/types/sdk/bus/telegram-daemon.d.ts +26 -0
- package/dist/types/sdk/cli/rows.d.ts +98 -0
- package/dist/types/sdk/cli/session-cli.d.ts +35 -3
- package/dist/types/sdk/elevation/allowlist.d.ts +20 -0
- package/dist/types/sdk/elevation/audit.d.ts +93 -0
- package/dist/types/sdk/elevation/capability.d.ts +3 -0
- package/dist/types/sdk/elevation/digest.d.ts +72 -0
- package/dist/types/sdk/elevation/dispatch-receipt.d.ts +85 -0
- package/dist/types/sdk/elevation/grant-ledger.d.ts +163 -0
- package/dist/types/sdk/elevation/owner.d.ts +48 -0
- package/dist/types/sdk/guides/cache.d.ts +98 -0
- package/dist/types/sdk/guides/catalog.d.ts +156 -0
- package/dist/types/sdk/guides/cli.d.ts +39 -0
- package/dist/types/sdk/guides/manifest.d.ts +66 -0
- package/dist/types/sdk/guides/verify.d.ts +66 -0
- package/dist/types/sdk/host/control/dispatch.d.ts +8 -0
- package/dist/types/sdk/host/control/index.d.ts +1 -1
- package/dist/types/sdk/host/control/operations.d.ts +3 -2
- package/dist/types/sdk/host/query/cursor.d.ts +10 -0
- package/dist/types/sdk/host/query/handlers.d.ts +21 -0
- package/dist/types/sdk/host/session-runtime.d.ts +9 -0
- package/dist/types/sdk/mcp/server.d.ts +2 -2
- package/dist/types/sdk/prompt-status.d.ts +11 -0
- package/dist/types/sdk/session.d.ts +4 -0
- package/dist/types/sdk/transport/index.d.ts +1 -0
- package/dist/types/sdk/transport/relay.d.ts +1 -0
- package/dist/types/sdk/transport/serve-cli.d.ts +20 -1
- package/dist/types/session/agent-session.d.ts +32 -18
- package/dist/types/session/blob-store.d.ts +13 -7
- package/dist/types/session/fallback-chain-controller.d.ts +15 -0
- package/dist/types/session/internal/managed-session-storage.d.ts +25 -1
- package/dist/types/session/internal/session-memory-sidecar.d.ts +5 -5
- package/dist/types/session/session-manager.d.ts +139 -10
- package/dist/types/session/session-storage.d.ts +48 -0
- package/dist/types/setup/provider-onboarding.d.ts +7 -1
- package/dist/types/slash-commands/builtin-registry.d.ts +14 -0
- package/dist/types/stt/setup.d.ts +2 -0
- package/dist/types/task/executor.d.ts +10 -2
- package/dist/types/tools/browser/runtime-diagnostics.d.ts +65 -0
- package/dist/types/tools/browser/tab-protocol.d.ts +4 -0
- package/dist/types/tools/browser/tab-supervisor.d.ts +2 -0
- package/dist/types/tools/browser/tab-worker.d.ts +2 -0
- package/dist/types/tools/browser.d.ts +2 -0
- package/dist/types/tools/image-gen.d.ts +14 -18
- package/dist/types/tools/index.d.ts +2 -0
- package/dist/types/tools/resource-gc.d.ts +2 -0
- package/dist/types/utils/pasted-image-path.d.ts +6 -0
- package/package.json +9 -9
- package/scripts/generate-sdk-operation-inventory.ts +8 -0
- package/scripts/run-test-manifest.ts +61 -21
- package/scripts/verify-gjc-sdk-canonicalization.ts +9 -4
- package/src/cli/args.ts +62 -9
- package/src/cli/completion-cli.ts +1 -0
- package/src/cli/fast-help.ts +1 -0
- package/src/cli/root-flags.ts +100 -0
- package/src/cli/setup-cli.ts +6 -2
- package/src/cli.ts +42 -65
- package/src/commands/acp.ts +1 -1
- package/src/commands/daemon.ts +2 -31
- package/src/commands/gc.ts +1 -1
- package/src/commands/launch.ts +8 -129
- package/src/commands/quick-lane.ts +51 -0
- package/src/commands/sdk.ts +200 -26
- package/src/commands/setup.ts +4 -2
- package/src/config/file-lock-gc.ts +4 -1
- package/src/config/model-equivalence.ts +76 -7
- package/src/config/model-profile-activation.ts +1115 -265
- package/src/config/model-profiles.ts +134 -2
- package/src/config/model-registry.ts +352 -50
- package/src/config/model-resolver.ts +289 -38
- package/src/config/models-config-schema.ts +11 -4
- package/src/config/provider-selection-policy.ts +146 -0
- package/src/config/settings-schema.ts +50 -77
- package/src/config/settings.ts +40 -0
- package/src/coordinator-mcp/server.ts +32 -2
- package/src/edit/renderer.ts +175 -223
- package/src/edit/streaming.ts +108 -1
- package/src/export/html/index.ts +57 -7
- package/src/extensibility/custom-tools/types.ts +2 -0
- package/src/extensibility/extensions/compact-handler.ts +3 -2
- package/src/extensibility/extensions/runner.ts +6 -0
- package/src/extensibility/extensions/types.ts +3 -0
- package/src/gjc-runtime/gc-runtime.ts +379 -20
- package/src/gjc-runtime/launch-worktree.ts +5 -1
- package/src/gjc-runtime/team-runtime.ts +59 -2
- package/src/gjc-runtime/tmux-owner-isolation.ts +19 -0
- package/src/gjc-runtime/ultragoal-receipt-freshness.ts +16 -1
- package/src/internal-urls/docs-index.generated.ts +17 -13
- package/src/internal-urls/local-protocol.ts +1 -0
- package/src/main.ts +40 -3
- package/src/memories/index.ts +4 -2
- package/src/modes/acp/acp-agent.ts +235 -91
- package/src/modes/components/model-selector.ts +206 -42
- package/src/modes/components/provider-order-context.ts +197 -0
- package/src/modes/components/provider-order-editor.ts +441 -0
- package/src/modes/components/settings-defs.ts +21 -1
- package/src/modes/components/settings-selector.ts +45 -2
- package/src/modes/components/tool-execution.ts +47 -15
- package/src/modes/controllers/command-controller.ts +6 -3
- package/src/modes/controllers/extension-ui-controller.ts +2 -0
- package/src/modes/controllers/input-controller.ts +73 -2
- package/src/modes/controllers/selector-controller.ts +260 -153
- package/src/modes/prompt-suggestion-controller.ts +1 -1
- package/src/modes/runtime-init.ts +1 -0
- package/src/modes/utils/ui-helpers.ts +18 -0
- package/src/prompts/tools/browser.md +1 -0
- package/src/quick-lane/classify.ts +257 -0
- package/src/rlm/index.ts +1 -1
- package/src/runtime/stt-settings-setup.ts +57 -0
- package/src/sdk/acp/adapter.ts +2 -1
- package/src/sdk/broker/broker.ts +780 -12
- package/src/sdk/broker/lifecycle.ts +70 -29
- package/src/sdk/broker/operation-receipt-ledger.ts +144 -0
- package/src/sdk/broker/session-index.ts +463 -48
- package/src/sdk/broker/state-version.ts +13 -9
- package/src/sdk/broker/transport.ts +14 -1
- package/src/sdk/bus/index.ts +34 -13
- package/src/sdk/bus/kind-aware-reconciliation.ts +21 -2
- package/src/sdk/bus/notification-service.ts +47 -1
- package/src/sdk/bus/prompt-reconciliation.ts +22 -3
- package/src/sdk/bus/telegram-daemon-contract.ts +4 -1
- package/src/sdk/bus/telegram-daemon.ts +54 -3
- package/src/sdk/cli/rows.ts +247 -0
- package/src/sdk/cli/session-cli.ts +930 -79
- package/src/sdk/elevation/allowlist.ts +54 -0
- package/src/sdk/elevation/audit.ts +208 -0
- package/src/sdk/elevation/capability.ts +41 -0
- package/src/sdk/elevation/digest.ts +129 -0
- package/src/sdk/elevation/dispatch-receipt.ts +184 -0
- package/src/sdk/elevation/grant-ledger.ts +1142 -0
- package/src/sdk/elevation/owner.ts +109 -0
- package/src/sdk/guides/cache.ts +363 -0
- package/src/sdk/guides/catalog.ts +554 -0
- package/src/sdk/guides/cli.ts +235 -0
- package/src/sdk/guides/manifest.ts +152 -0
- package/src/sdk/guides/verify.ts +178 -0
- package/src/sdk/host/control/dispatch.ts +49 -1
- package/src/sdk/host/control/index.ts +1 -0
- package/src/sdk/host/control/operations.ts +8 -1
- package/src/sdk/host/query/cursor.ts +47 -3
- package/src/sdk/host/query/handlers.ts +155 -2
- package/src/sdk/host/sdk-surface-parity.test.ts +1 -0
- package/src/sdk/host/session-runtime.test.ts +391 -1
- package/src/sdk/host/session-runtime.ts +308 -73
- package/src/sdk/host/surface-policy.ts +3 -0
- package/src/sdk/host/websocket-transport.ts +7 -1
- package/src/sdk/mcp/server.ts +88 -15
- package/src/sdk/prompt-status.ts +8 -0
- package/src/sdk/protocol/operation-inventory.generated.json +62 -0
- package/src/sdk/protocol/operation-registry.ts +3 -2
- package/src/sdk/session.ts +87 -39
- package/src/sdk/transport/index.ts +1 -0
- package/src/sdk/transport/relay.ts +3 -0
- package/src/sdk/transport/serve-cli.ts +111 -24
- package/src/secrets/obfuscator.ts +92 -12
- package/src/session/agent-session.ts +322 -93
- package/src/session/blob-store.ts +60 -8
- package/src/session/fallback-chain-controller.ts +35 -0
- package/src/session/internal/managed-session-scope.ts +25 -3
- package/src/session/internal/managed-session-storage.ts +574 -73
- package/src/session/internal/session-memory-sidecar.ts +19 -29
- package/src/session/session-manager.ts +2166 -743
- package/src/session/session-storage.ts +715 -48
- package/src/setup/provider-onboarding.ts +19 -3
- package/src/setup/provider-presets.json +3 -1
- package/src/slash-commands/builtin-registry.ts +85 -3
- package/src/stt/downloader.ts +2 -3
- package/src/stt/setup.ts +29 -4
- package/src/task/executor.ts +22 -18
- package/src/task/index.ts +24 -1
- package/src/tools/archive-reader.ts +11 -2
- package/src/tools/browser/runtime-diagnostics.ts +249 -0
- package/src/tools/browser/tab-protocol.ts +4 -0
- package/src/tools/browser/tab-supervisor.ts +5 -0
- package/src/tools/browser/tab-worker.ts +36 -1
- package/src/tools/browser.ts +7 -0
- package/src/tools/image-gen.ts +110 -166
- package/src/tools/index.ts +2 -0
- package/src/tools/read.ts +1 -1
- package/src/tools/resource-gc.ts +6 -1
- package/src/tools/tool-catalog.generated.ts +5 -1
- package/src/utils/pasted-image-path.ts +93 -0
- package/src/web/search/index.ts +3 -3
|
@@ -395,12 +395,12 @@ export class ReducerBudget {
|
|
|
395
395
|
|
|
396
396
|
const SPILL_SEGMENT = ".spill.";
|
|
397
397
|
const DERIVED_SUFFIXES = new Set(["idx", "tail", "commit", "buckets"]);
|
|
398
|
-
const DERIVED_PREFIXES = ["dict-", "capture-", "fork-", "overlay-", "parent-", "metadata-"];
|
|
398
|
+
const DERIVED_PREFIXES = ["build-", "dict-", "capture-", "fork-", "overlay-", "parent-", "metadata-"];
|
|
399
399
|
|
|
400
400
|
/**
|
|
401
401
|
* Single source of truth for every sidecar artifact and temp: `*.spill.idx`,
|
|
402
402
|
* `*.spill.tail`, `*.spill.commit`, `*.spill.buckets`, `*.spill.dict-*`,
|
|
403
|
-
* `*.spill.capture-*`, `*.spill.fork-*`, `*.spill.overlay-*`,
|
|
403
|
+
* `*.spill.capture-*`, `*.spill.fork-*`, `*.spill.overlay-*`, `*.spill.build-lock`,
|
|
404
404
|
* `*.spill.parent-*` (persistent parent→children buckets),
|
|
405
405
|
* `*.spill.metadata-*` (persistent metadata-delta section), and any
|
|
406
406
|
* `*.spill.*.tmp`. Used at every fork/delete/sweep/Memory-parity callsite so
|
|
@@ -921,11 +921,14 @@ export function validateCommit(
|
|
|
921
921
|
if (commit.terminalChecksum !== computedTerminal) return { kind: "invalid", reason: "terminal_checksum_mismatch" };
|
|
922
922
|
const expectedTerminalSeq = records.length === 0 ? -1 : records[records.length - 1].seq;
|
|
923
923
|
if (commit.terminalSeq !== expectedTerminalSeq) return { kind: "invalid", reason: "terminal_seq_mismatch" };
|
|
924
|
-
const
|
|
924
|
+
const tailTerminalEnd =
|
|
925
925
|
records.length === 0
|
|
926
926
|
? commit.base.baseEndOffset
|
|
927
927
|
: records[records.length - 1].byteOffset + records[records.length - 1].byteLength;
|
|
928
|
-
|
|
928
|
+
// Adoption is valid only when the commit marker, the validated tail's
|
|
929
|
+
// terminal byte, and the authoritative transcript descriptor all agree.
|
|
930
|
+
if (commit.transcriptSize !== tailTerminalEnd || commit.transcriptSize !== observed.descriptor.size)
|
|
931
|
+
return { kind: "invalid", reason: "transcript_size_mismatch" };
|
|
929
932
|
if (!sameDescriptor(commit.descriptor, observed.descriptor))
|
|
930
933
|
return { kind: "invalid", reason: "descriptor_mismatch" };
|
|
931
934
|
if (!observed.terminalMarkerValid) return { kind: "invalid", reason: "terminal_marker_mismatch" };
|
|
@@ -1706,13 +1709,12 @@ export interface DictionaryIdDetector {
|
|
|
1706
1709
|
}
|
|
1707
1710
|
|
|
1708
1711
|
/**
|
|
1709
|
-
* Bounded duplicate-id oracle.
|
|
1710
|
-
*
|
|
1711
|
-
* A hash collision can only produce a spurious duplicate (fail
|
|
1712
|
-
* miss a true duplicate.
|
|
1712
|
+
* Bounded duplicate-id oracle. The fixed-capacity 48-bit hash table is allocated
|
|
1713
|
+
* on the first record, so no attacker-controlled id string is retained by the
|
|
1714
|
+
* detector. A hash collision can only produce a spurious duplicate (fail
|
|
1715
|
+
* closed), never miss a true duplicate.
|
|
1713
1716
|
*/
|
|
1714
1717
|
export class BoundedDictionaryIdSet implements DictionaryIdDetector {
|
|
1715
|
-
#small: Set<string> | undefined = new Set();
|
|
1716
1718
|
#high: Uint16Array | undefined;
|
|
1717
1719
|
#low: Uint32Array | undefined;
|
|
1718
1720
|
#size = 0;
|
|
@@ -1733,6 +1735,12 @@ export class BoundedDictionaryIdSet implements DictionaryIdDetector {
|
|
|
1733
1735
|
return [high, low];
|
|
1734
1736
|
}
|
|
1735
1737
|
|
|
1738
|
+
#ensureHashTable(): void {
|
|
1739
|
+
if (this.#high !== undefined) return;
|
|
1740
|
+
this.#high = new Uint16Array(DICTIONARY_ID_SET_CAPACITY);
|
|
1741
|
+
this.#low = new Uint32Array(DICTIONARY_ID_SET_CAPACITY);
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1736
1744
|
#insertHash(high: number, low: number): "added" | "duplicate" | "full" {
|
|
1737
1745
|
const highs = this.#high!;
|
|
1738
1746
|
const lows = this.#low!;
|
|
@@ -1752,18 +1760,8 @@ export class BoundedDictionaryIdSet implements DictionaryIdDetector {
|
|
|
1752
1760
|
return "full";
|
|
1753
1761
|
}
|
|
1754
1762
|
|
|
1755
|
-
#promote(): void {
|
|
1756
|
-
this.#high = new Uint16Array(DICTIONARY_ID_SET_CAPACITY);
|
|
1757
|
-
this.#low = new Uint32Array(DICTIONARY_ID_SET_CAPACITY);
|
|
1758
|
-
for (const value of this.#small!) {
|
|
1759
|
-
const [high, low] = this.#hashPair(value);
|
|
1760
|
-
this.#insertHash(high, low);
|
|
1761
|
-
}
|
|
1762
|
-
this.#small = undefined;
|
|
1763
|
-
}
|
|
1764
|
-
|
|
1765
1763
|
has(value: string): boolean {
|
|
1766
|
-
if (this.#
|
|
1764
|
+
if (this.#high === undefined) return false;
|
|
1767
1765
|
const [high, low] = this.#hashPair(value);
|
|
1768
1766
|
const highs = this.#high!;
|
|
1769
1767
|
const lows = this.#low!;
|
|
@@ -1781,15 +1779,7 @@ export class BoundedDictionaryIdSet implements DictionaryIdDetector {
|
|
|
1781
1779
|
|
|
1782
1780
|
add(value: string): "added" | "duplicate" | "full" {
|
|
1783
1781
|
if (this.#size >= DICTIONARY_ID_SET_MAX_RECORDS) return "full";
|
|
1784
|
-
|
|
1785
|
-
if (this.#small.has(value)) return "duplicate";
|
|
1786
|
-
if (this.#small.size < 4096) {
|
|
1787
|
-
this.#small.add(value);
|
|
1788
|
-
this.#size++;
|
|
1789
|
-
return "added";
|
|
1790
|
-
}
|
|
1791
|
-
this.#promote();
|
|
1792
|
-
}
|
|
1782
|
+
this.#ensureHashTable();
|
|
1793
1783
|
const [high, low] = this.#hashPair(value);
|
|
1794
1784
|
const result = this.#insertHash(high, low);
|
|
1795
1785
|
if (result === "added") this.#size++;
|