@gajae-code/coding-agent 0.16.7 → 0.17.1
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 +180 -1
- package/dist/types/capability/fs.d.ts +37 -4
- package/dist/types/capability/index.d.ts +19 -0
- package/dist/types/capability/types.d.ts +9 -0
- package/dist/types/cli/doctor/args.d.ts +36 -0
- package/dist/types/cli/doctor/checks.d.ts +18 -0
- package/dist/types/cli/doctor/config-repairs.d.ts +38 -0
- package/dist/types/cli/doctor/context.d.ts +89 -0
- package/dist/types/cli/doctor/files.d.ts +27 -0
- package/dist/types/cli/doctor/ids.d.ts +20 -0
- package/dist/types/cli/doctor/install-repairs.d.ts +94 -0
- package/dist/types/cli/doctor/journal.d.ts +43 -0
- package/dist/types/cli/doctor/managed-link.d.ts +39 -0
- package/dist/types/cli/doctor/native-probe.d.ts +2 -0
- package/dist/types/cli/doctor/permission-repairs.d.ts +25 -0
- package/dist/types/cli/doctor/plugin-quarantine.d.ts +77 -0
- package/dist/types/cli/doctor/plugin-restore.d.ts +40 -0
- package/dist/types/cli/doctor/plugin-targets.d.ts +11 -0
- package/dist/types/cli/doctor/probe-client.d.ts +9 -0
- package/dist/types/cli/doctor/probe-types.d.ts +18 -0
- package/dist/types/cli/doctor/probe.d.ts +3 -0
- package/dist/types/cli/doctor/projection-probe.d.ts +2 -0
- package/dist/types/cli/doctor/repairs.d.ts +28 -0
- package/dist/types/cli/doctor/report.d.ts +27 -0
- package/dist/types/cli/doctor/runner.d.ts +4 -0
- package/dist/types/cli/doctor/safety.d.ts +10 -0
- package/dist/types/cli/doctor/service-repairs.d.ts +8 -0
- package/dist/types/cli/doctor/service-targets.d.ts +41 -0
- package/dist/types/cli/doctor/types.d.ts +145 -0
- package/dist/types/cli/doctor-cli.d.ts +7 -0
- package/dist/types/cli/doctor-supervisor.d.ts +121 -0
- package/dist/types/cli/doctor-worker.d.ts +29 -0
- package/dist/types/cli/install-activation.d.ts +158 -0
- package/dist/types/cli/macos-community-app.d.ts +41 -0
- package/dist/types/cli/mcp-cli.d.ts +0 -11
- package/dist/types/cli/update-cli.d.ts +41 -4
- package/dist/types/cli-main.d.ts +174 -0
- package/dist/types/cli.d.ts +1 -171
- package/dist/types/commands/doctor.d.ts +7 -0
- package/dist/types/commands/sdk.d.ts +17 -8
- package/dist/types/config/autorouting-tier-map.d.ts +19 -0
- package/dist/types/config/file-lock.d.ts +27 -3
- package/dist/types/config/model-preset-registry.d.ts +1 -0
- package/dist/types/config/model-registry.d.ts +12 -5
- package/dist/types/config/model-resolver.d.ts +16 -3
- package/dist/types/config/models-config-schema.d.ts +2 -0
- package/dist/types/config/settings-schema.d.ts +1 -1
- package/dist/types/coordinator-mcp/question-gate-codec.d.ts +1 -1
- package/dist/types/coordinator-mcp/session-reaper.d.ts +15 -5
- package/dist/types/cursor.d.ts +9 -9
- package/dist/types/discovery/agents-md.d.ts +6 -1
- package/dist/types/discovery/helpers.d.ts +36 -7
- package/dist/types/discovery/index.d.ts +1 -1
- package/dist/types/discovery/mcp-json.d.ts +2 -0
- package/dist/types/extensibility/extensions/loader.d.ts +22 -1
- package/dist/types/extensibility/gjc-plugins/lifecycle.d.ts +14 -1
- package/dist/types/extensibility/gjc-plugins/paths.d.ts +2 -1
- package/dist/types/extensibility/gjc-plugins/types.d.ts +25 -0
- package/dist/types/extensibility/plugins/manager.d.ts +33 -4
- package/dist/types/extensibility/plugins/marketplace/cache.d.ts +6 -0
- package/dist/types/extensibility/plugins/marketplace/manager.d.ts +186 -0
- package/dist/types/extensibility/plugins/marketplace/registry.d.ts +27 -0
- package/dist/types/extensibility/plugins/marketplace/source-resolver.d.ts +16 -1
- package/dist/types/extensibility/runtime-skill-discovery.d.ts +16 -3
- package/dist/types/gjc-runtime/autoresearch-runtime.d.ts +6 -0
- package/dist/types/gjc-runtime/launch-worktree.d.ts +53 -0
- package/dist/types/gjc-runtime/session-layout.d.ts +8 -0
- package/dist/types/gjc-runtime/session-state-lock.d.ts +15 -0
- package/dist/types/gjc-runtime/session-state-sidecar.d.ts +13 -0
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +6 -0
- package/dist/types/main.d.ts +19 -1
- package/dist/types/modes/acp/acp-agent.d.ts +40 -0
- package/dist/types/modes/components/agent-dashboard.d.ts +1 -0
- package/dist/types/modes/components/model-selector.d.ts +2 -0
- package/dist/types/modes/interactive-mode.d.ts +1 -1
- package/dist/types/runtime-mcp/config-writer.d.ts +47 -0
- package/dist/types/runtime-mcp/policy-json-edit.d.ts +60 -0
- package/dist/types/runtime-mcp/startup-policy.d.ts +4 -0
- package/dist/types/runtime-mcp/types.d.ts +2 -2
- package/dist/types/sdk/acp/adapter.d.ts +5 -1
- package/dist/types/sdk/broker/broker.d.ts +51 -0
- package/dist/types/sdk/broker/daemon-entry.d.ts +39 -0
- package/dist/types/sdk/broker/discovery.d.ts +38 -0
- package/dist/types/sdk/broker/doctor-restart.d.ts +79 -0
- package/dist/types/sdk/broker/endpoint-authority.d.ts +7 -0
- package/dist/types/sdk/broker/ensure.d.ts +14 -0
- package/dist/types/sdk/broker/lifecycle.d.ts +2 -0
- package/dist/types/sdk/broker/process-incarnation.d.ts +50 -0
- package/dist/types/sdk/broker/runtime.d.ts +26 -0
- package/dist/types/sdk/broker/session-index.d.ts +13 -4
- package/dist/types/sdk/broker/worktree-occupancy.d.ts +14 -0
- package/dist/types/sdk/bus/chat-daemon-cli.d.ts +16 -0
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +101 -6
- package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +16 -0
- package/dist/types/sdk/bus/daemon-startup-exclusion.d.ts +43 -0
- package/dist/types/sdk/bus/doctor-daemon-restart-client.d.ts +51 -0
- package/dist/types/sdk/bus/doctor-daemon-restart.d.ts +39 -0
- package/dist/types/sdk/bus/index.d.ts +2 -0
- package/dist/types/sdk/bus/notification-service.d.ts +3 -0
- package/dist/types/sdk/bus/telegram-daemon-cli.d.ts +11 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +1 -1
- package/dist/types/sdk/bus/telegram-daemon-control.d.ts +5 -0
- package/dist/types/sdk/bus/telegram-daemon-owner-registry.d.ts +1 -0
- package/dist/types/sdk/bus/telegram-daemon.d.ts +36 -5
- package/dist/types/sdk/cli/session-cli.d.ts +1 -0
- package/dist/types/sdk/host/session-runtime.d.ts +4 -0
- package/dist/types/sdk/host/surface-policy.d.ts +3 -1
- package/dist/types/sdk/lifecycle/service.d.ts +44 -10
- package/dist/types/sdk/prompt-deadline-lease.d.ts +6 -3
- package/dist/types/sdk/prompt-deadline-manager.d.ts +2 -2
- package/dist/types/sdk/prompt-failure.d.ts +47 -0
- package/dist/types/sdk/prompt-status.d.ts +19 -0
- package/dist/types/sdk/router/session-router.d.ts +3 -4
- package/dist/types/sdk/service-artifact-paths.d.ts +16 -0
- package/dist/types/sdk/session-authority.d.ts +9 -0
- package/dist/types/sdk/session.d.ts +3 -1
- package/dist/types/session/agent-session.d.ts +1 -1
- package/dist/types/session/blob-store.d.ts +1 -1
- package/dist/types/session/fallback-chain-controller.d.ts +3 -6
- package/dist/types/session/internal/managed-session-scope.d.ts +44 -0
- package/dist/types/session/primary-control-surface.d.ts +4 -0
- package/dist/types/session/session-manager.d.ts +6 -0
- package/dist/types/system-prompt.d.ts +6 -0
- package/dist/types/tools/ask.d.ts +25 -0
- package/dist/types/tools/image-gen.d.ts +0 -4
- package/dist/types/tools/skill-discovery.d.ts +7 -5
- package/dist/types/tools/ultragoal-ask-guard.d.ts +7 -4
- package/dist/types/utils/changelog.d.ts +0 -9
- package/dist/types/utils/mupdf-wasm.d.ts +1 -0
- package/package.json +9 -8
- package/scripts/compile-args.ts +8 -4
- package/src/capability/fs.ts +395 -17
- package/src/capability/index.ts +273 -10
- package/src/capability/types.ts +9 -0
- package/src/cli/customize-doctor.ts +18 -12
- package/src/cli/doctor/args.ts +236 -0
- package/src/cli/doctor/checks.ts +431 -0
- package/src/cli/doctor/config-repairs.ts +517 -0
- package/src/cli/doctor/context.ts +149 -0
- package/src/cli/doctor/files.ts +149 -0
- package/src/cli/doctor/ids.ts +115 -0
- package/src/cli/doctor/install-repairs.ts +335 -0
- package/src/cli/doctor/journal.ts +423 -0
- package/src/cli/doctor/managed-link.ts +514 -0
- package/src/cli/doctor/native-probe.ts +13 -0
- package/src/cli/doctor/permission-repairs.ts +242 -0
- package/src/cli/doctor/plugin-quarantine.ts +377 -0
- package/src/cli/doctor/plugin-restore.ts +59 -0
- package/src/cli/doctor/plugin-targets.ts +373 -0
- package/src/cli/doctor/probe-client.ts +195 -0
- package/src/cli/doctor/probe-types.ts +21 -0
- package/src/cli/doctor/probe.ts +42 -0
- package/src/cli/doctor/projection-probe.ts +249 -0
- package/src/cli/doctor/repairs.ts +1157 -0
- package/src/cli/doctor/report.ts +176 -0
- package/src/cli/doctor/runner.ts +342 -0
- package/src/cli/doctor/safety.ts +40 -0
- package/src/cli/doctor/service-repairs.ts +452 -0
- package/src/cli/doctor/service-targets.ts +274 -0
- package/src/cli/doctor/types.ts +164 -0
- package/src/cli/doctor-cli.ts +62 -0
- package/src/cli/doctor-supervisor.ts +571 -0
- package/src/cli/doctor-worker.ts +181 -0
- package/src/cli/install-activation.ts +666 -0
- package/src/cli/macos-community-app.ts +1449 -0
- package/src/cli/mcp-cli.ts +11 -21
- package/src/cli/nofile-limit.ts +5 -1
- package/src/cli/plugin-cli.ts +6 -1
- package/src/cli/update-cli.ts +362 -264
- package/src/cli-main.ts +517 -0
- package/src/cli.ts +64 -433
- package/src/commands/autoresearch.ts +11 -5
- package/src/commands/completion.ts +1 -1
- package/src/commands/doctor.ts +13 -0
- package/src/commands/sdk.ts +58 -10
- package/src/commands/ultragoal.ts +11 -5
- package/src/config/autorouting-tier-map.ts +7 -0
- package/src/config/file-lock.ts +736 -71
- package/src/config/mcp-schema.json +3 -3
- package/src/config/model-preset-registry.ts +1 -0
- package/src/config/model-registry.ts +80 -27
- package/src/config/model-resolver.ts +33 -4
- package/src/config/models-config-schema.ts +2 -0
- package/src/config/settings-schema.ts +6 -2
- package/src/coordinator-mcp/question-gate-codec.ts +1 -0
- package/src/coordinator-mcp/server.ts +534 -51
- package/src/coordinator-mcp/session-reaper.ts +64 -8
- package/src/cursor.ts +223 -53
- package/src/discovery/agents-md.ts +74 -8
- package/src/discovery/agents.ts +32 -7
- package/src/discovery/builtin.ts +184 -75
- package/src/discovery/claude-plugins.ts +85 -17
- package/src/discovery/cline.ts +38 -10
- package/src/discovery/cursor.ts +19 -6
- package/src/discovery/gemini.ts +62 -22
- package/src/discovery/github.ts +13 -3
- package/src/discovery/helpers.ts +483 -89
- package/src/discovery/index.ts +1 -0
- package/src/discovery/mcp-json.ts +36 -10
- package/src/discovery/opencode.ts +36 -19
- package/src/discovery/ssh.ts +11 -8
- package/src/discovery/windsurf.ts +12 -3
- package/src/exec/bash-executor.ts +10 -3
- package/src/exec/isolated-shell.ts +15 -2
- package/src/extensibility/extensions/loader.ts +88 -26
- package/src/extensibility/gjc-plugins/lifecycle.ts +189 -0
- package/src/extensibility/gjc-plugins/paths.ts +4 -1
- package/src/extensibility/gjc-plugins/types.ts +27 -0
- package/src/extensibility/plugins/manager.ts +200 -22
- package/src/extensibility/plugins/marketplace/cache.ts +55 -2
- package/src/extensibility/plugins/marketplace/manager.ts +1262 -162
- package/src/extensibility/plugins/marketplace/registry.ts +153 -0
- package/src/extensibility/plugins/marketplace/source-resolver.ts +116 -10
- package/src/extensibility/runtime-skill-discovery.ts +61 -9
- package/src/extensibility/skill-management.ts +7 -1
- package/src/gjc-runtime/autoresearch-runtime.ts +10 -1
- package/src/gjc-runtime/launch-worktree.test.ts +248 -0
- package/src/gjc-runtime/launch-worktree.ts +275 -38
- package/src/gjc-runtime/repository-binding.ts +26 -1
- package/src/gjc-runtime/session-layout.ts +10 -0
- package/src/gjc-runtime/session-state-lock.ts +330 -23
- package/src/gjc-runtime/session-state-sidecar.ts +328 -80
- package/src/gjc-runtime/ultragoal-runtime.ts +10 -1
- package/src/harness-control-plane/session-lease.ts +2 -2
- package/src/internal-urls/docs-index.generated.ts +28 -26
- package/src/main.ts +150 -29
- package/src/memories/index.ts +24 -2
- package/src/modes/acp/acp-agent.ts +522 -68
- package/src/modes/components/agent-dashboard.ts +3 -1
- package/src/modes/components/model-selector.ts +28 -19
- package/src/modes/components/plugin-settings.ts +2 -1
- package/src/modes/controllers/selector-controller.ts +15 -9
- package/src/modes/interactive-mode.ts +21 -3
- package/src/prompts/system/system-prompt.md +5 -1
- package/src/prompts/tools/browser.md +1 -1
- package/src/prompts/tools/move-session.md +4 -0
- package/src/prompts/tools/read.md +2 -1
- package/src/prompts/tools/skill-discovery.md +6 -5
- package/src/prompts/tools/task.md +1 -0
- package/src/runtime-mcp/config-writer.ts +228 -0
- package/src/runtime-mcp/oauth-discovery.ts +114 -14
- package/src/runtime-mcp/policy-json-edit.ts +129 -0
- package/src/runtime-mcp/startup-policy.ts +14 -0
- package/src/runtime-mcp/types.ts +2 -2
- package/src/sdk/acp/adapter.ts +27 -12
- package/src/sdk/broker/broker.ts +273 -44
- package/src/sdk/broker/daemon-entry.ts +119 -0
- package/src/sdk/broker/discovery.ts +173 -20
- package/src/sdk/broker/doctor-restart.ts +206 -0
- package/src/sdk/broker/endpoint-authority.ts +36 -0
- package/src/sdk/broker/ensure.ts +49 -14
- package/src/sdk/broker/lifecycle.ts +174 -42
- package/src/sdk/broker/process-incarnation.ts +86 -2
- package/src/sdk/broker/runtime.ts +145 -21
- package/src/sdk/broker/session-index.ts +136 -22
- package/src/sdk/broker/spawn-substrate.ts +4 -1
- package/src/sdk/broker/transport.ts +5 -0
- package/src/sdk/broker/worktree-occupancy.ts +21 -1
- package/src/sdk/bus/chat-daemon-cli.ts +63 -0
- package/src/sdk/bus/chat-daemon-control.ts +260 -64
- package/src/sdk/bus/chat-daemon-runtime.ts +141 -25
- package/src/sdk/bus/daemon-startup-exclusion.ts +119 -0
- package/src/sdk/bus/doctor-daemon-restart-client.ts +291 -0
- package/src/sdk/bus/doctor-daemon-restart.ts +92 -0
- package/src/sdk/bus/index.ts +252 -51
- package/src/sdk/bus/kind-aware-reconciliation.ts +76 -41
- package/src/sdk/bus/notification-service.ts +21 -3
- package/src/sdk/bus/reconciliation-store.ts +17 -11
- package/src/sdk/bus/telegram-daemon-cli.ts +91 -5
- package/src/sdk/bus/telegram-daemon-contract.ts +1 -1
- package/src/sdk/bus/telegram-daemon-control.ts +47 -0
- package/src/sdk/bus/telegram-daemon-owner-registry.ts +1 -1
- package/src/sdk/bus/telegram-daemon.ts +178 -13
- package/src/sdk/cli/session-cli.ts +100 -12
- package/src/sdk/host/host.ts +2 -7
- package/src/sdk/host/session-runtime.test.ts +329 -8
- package/src/sdk/host/session-runtime.ts +202 -50
- package/src/sdk/host/surface-policy.ts +8 -1
- package/src/sdk/lifecycle/service.ts +199 -22
- package/src/sdk/mcp/server.ts +1 -1
- package/src/sdk/prompt-deadline-lease.ts +12 -4
- package/src/sdk/prompt-deadline-manager.ts +5 -7
- package/src/sdk/prompt-failure.ts +148 -0
- package/src/sdk/prompt-status.ts +30 -1
- package/src/sdk/prompt-watchdog.ts +11 -3
- package/src/sdk/protocol/operation-inventory.generated.json +18 -0
- package/src/sdk/protocol/operation-registry.ts +20 -8
- package/src/sdk/router/session-router.ts +8 -3
- package/src/sdk/service-artifact-paths.ts +26 -0
- package/src/sdk/session-authority.ts +10 -0
- package/src/sdk/session.ts +361 -194
- package/src/session/agent-session.ts +398 -93
- package/src/session/blob-store.ts +9 -9
- package/src/session/fallback-chain-controller.ts +3 -7
- package/src/session/internal/managed-session-scope.ts +445 -29
- package/src/session/internal/managed-session-storage.ts +38 -6
- package/src/session/primary-control-surface.ts +12 -0
- package/src/session/session-manager.ts +11 -3
- package/src/session/session-storage.ts +1 -1
- package/src/session-import/codex.ts +6 -1
- package/src/session-import/redact.ts +7 -0
- package/src/skill-state/workflow-mutation-guard.ts +645 -39
- package/src/slash-commands/builtin-registry.ts +7 -3
- package/src/system-prompt.ts +8 -0
- package/src/task/executor.ts +36 -3
- package/src/task/types.ts +27 -5
- package/src/tools/ask.ts +114 -34
- package/src/tools/browser/actions.ts +2 -2
- package/src/tools/browser/tab-worker.ts +11 -8
- package/src/tools/descriptors.ts +6 -1
- package/src/tools/fetch.ts +7 -2
- package/src/tools/image-gen.ts +33 -34
- package/src/tools/read.ts +78 -32
- package/src/tools/skill-discovery.ts +17 -7
- package/src/tools/tool-catalog.generated.ts +8 -8
- package/src/tools/ultragoal-ask-guard.ts +16 -26
- package/src/utils/changelog.ts +7 -1
- package/src/utils/git.ts +3 -1
- package/src/utils/markit.ts +24 -2
- package/src/utils/mupdf-wasm.ts +26 -0
- package/src/web/search/providers/openai-compatible.ts +191 -14
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* CLI entry point — registers all commands explicitly and delegates to the
|
|
4
|
+
* lightweight CLI runner from pi-utils.
|
|
5
|
+
*/
|
|
6
|
+
import "@gajae-code/utils/postmortem";
|
|
7
|
+
import { Command, type CommandEntry } from "@gajae-code/utils/cli";
|
|
8
|
+
export declare const commands: CommandEntry[];
|
|
9
|
+
export declare function interactiveBootstrapText(argv: readonly string[], stdinIsTTY?: boolean, stdoutIsTTY?: boolean): string | undefined;
|
|
10
|
+
type MemoryGuardNativeSmokeLoad = () => Record<string, unknown>;
|
|
11
|
+
export declare function isMemoryGuardNativeSmokeFastPath(argv: readonly string[]): boolean;
|
|
12
|
+
export declare function runMemoryGuardNativeSmokeFastPath(options?: {
|
|
13
|
+
loadNative?: MemoryGuardNativeSmokeLoad;
|
|
14
|
+
writeStdout?: (text: string) => void;
|
|
15
|
+
}): void;
|
|
16
|
+
export declare class RootHelpCommand extends Command {
|
|
17
|
+
static description: string;
|
|
18
|
+
static hidden: boolean;
|
|
19
|
+
static args: {
|
|
20
|
+
messages: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
21
|
+
description: string;
|
|
22
|
+
required: false;
|
|
23
|
+
multiple: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
static flags: {
|
|
27
|
+
model: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
smol: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
31
|
+
description: string;
|
|
32
|
+
};
|
|
33
|
+
slow: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
plan: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
mpreset: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
40
|
+
description: string;
|
|
41
|
+
};
|
|
42
|
+
default: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
43
|
+
description: string;
|
|
44
|
+
};
|
|
45
|
+
provider: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
46
|
+
description: string;
|
|
47
|
+
};
|
|
48
|
+
"api-key": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
credential: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
52
|
+
description: string;
|
|
53
|
+
};
|
|
54
|
+
"prefer-credential": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
55
|
+
description: string;
|
|
56
|
+
};
|
|
57
|
+
"system-prompt": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
58
|
+
description: string;
|
|
59
|
+
};
|
|
60
|
+
"append-system-prompt": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
61
|
+
description: string;
|
|
62
|
+
};
|
|
63
|
+
"mcp-config": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
64
|
+
description: string;
|
|
65
|
+
};
|
|
66
|
+
"no-mcp": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
67
|
+
description: string;
|
|
68
|
+
};
|
|
69
|
+
"clipboard-transport": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
70
|
+
description: string;
|
|
71
|
+
options: string[];
|
|
72
|
+
};
|
|
73
|
+
"clipboard-ssh-host": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
74
|
+
description: string;
|
|
75
|
+
};
|
|
76
|
+
"allow-home": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
77
|
+
description: string;
|
|
78
|
+
};
|
|
79
|
+
mode: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
80
|
+
description: string;
|
|
81
|
+
options: string[];
|
|
82
|
+
};
|
|
83
|
+
print: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
84
|
+
char: string;
|
|
85
|
+
description: string;
|
|
86
|
+
};
|
|
87
|
+
continue: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
88
|
+
char: string;
|
|
89
|
+
description: string;
|
|
90
|
+
};
|
|
91
|
+
resume: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
92
|
+
char: string;
|
|
93
|
+
description: string;
|
|
94
|
+
optionalValue: true;
|
|
95
|
+
};
|
|
96
|
+
fork: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
97
|
+
description: string;
|
|
98
|
+
};
|
|
99
|
+
worktree: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
100
|
+
char: string;
|
|
101
|
+
description: string;
|
|
102
|
+
optionalValue: true;
|
|
103
|
+
};
|
|
104
|
+
"session-dir": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
105
|
+
description: string;
|
|
106
|
+
};
|
|
107
|
+
"no-session": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
108
|
+
description: string;
|
|
109
|
+
};
|
|
110
|
+
models: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
111
|
+
description: string;
|
|
112
|
+
};
|
|
113
|
+
"no-tools": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
114
|
+
description: string;
|
|
115
|
+
};
|
|
116
|
+
"no-lsp": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
117
|
+
description: string;
|
|
118
|
+
};
|
|
119
|
+
"no-pty": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
120
|
+
description: string;
|
|
121
|
+
};
|
|
122
|
+
tmux: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
123
|
+
description: string;
|
|
124
|
+
};
|
|
125
|
+
tools: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
126
|
+
description: string;
|
|
127
|
+
};
|
|
128
|
+
thinking: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
129
|
+
description: string;
|
|
130
|
+
options: readonly ["off", ...import("@gajae-code/ai").Effort[]];
|
|
131
|
+
};
|
|
132
|
+
"no-rules": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
133
|
+
description: string;
|
|
134
|
+
};
|
|
135
|
+
export: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
136
|
+
description: string;
|
|
137
|
+
};
|
|
138
|
+
"list-models": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
139
|
+
description: string;
|
|
140
|
+
optionalValue: true;
|
|
141
|
+
};
|
|
142
|
+
"no-title": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
143
|
+
description: string;
|
|
144
|
+
};
|
|
145
|
+
master: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
146
|
+
description: string;
|
|
147
|
+
};
|
|
148
|
+
scope: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
149
|
+
description: string;
|
|
150
|
+
options: string[];
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
static examples: string[];
|
|
154
|
+
static strict: boolean;
|
|
155
|
+
run(): Promise<void>;
|
|
156
|
+
}
|
|
157
|
+
/** Normalize the sole `gjc resume` alias into the value-less launch intent. */
|
|
158
|
+
export declare function normalizeResumeAlias(argv: readonly string[]): string[];
|
|
159
|
+
/**
|
|
160
|
+
* Map the common mistaken `models` subcommand spelling to non-agent listing.
|
|
161
|
+
*
|
|
162
|
+
* Agents frequently run `gjc models` from the bash tool expecting a catalog.
|
|
163
|
+
* Without this route, `models` was a positional launch prompt and nested agents
|
|
164
|
+
* re-invoked `gjc models`, spawning an unbounded process chain (#3857).
|
|
165
|
+
* Always rewrite to `launch --list-models` so the invocation exits after a
|
|
166
|
+
* bounded listing and never starts an interactive agent session.
|
|
167
|
+
*/
|
|
168
|
+
export declare function routeModelsAlias(argv: readonly string[]): string[] | undefined;
|
|
169
|
+
/** Apply the same default-launch routing used by runCli after root fast paths. */
|
|
170
|
+
export declare function routeRootArgv(argv: readonly string[]): string[];
|
|
171
|
+
/** Run the CLI with the given argv (no `process.argv` prefix). */
|
|
172
|
+
export declare function runCliAfterAdmission(argv: string[]): Promise<void>;
|
|
173
|
+
export declare const runCli: typeof runCliAfterAdmission;
|
|
174
|
+
export {};
|
package/dist/types/cli.d.ts
CHANGED
|
@@ -1,173 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
/**
|
|
3
|
-
* CLI entry point — registers all commands explicitly and delegates to the
|
|
4
|
-
* lightweight CLI runner from pi-utils.
|
|
5
|
-
*/
|
|
6
|
-
import "@gajae-code/utils/postmortem";
|
|
7
|
-
import { Command, type CommandEntry } from "@gajae-code/utils/cli";
|
|
8
|
-
export declare const commands: CommandEntry[];
|
|
9
|
-
export declare function interactiveBootstrapText(argv: readonly string[], stdinIsTTY?: boolean, stdoutIsTTY?: boolean): string | undefined;
|
|
10
|
-
type MemoryGuardNativeSmokeLoad = () => Record<string, unknown>;
|
|
11
|
-
export declare function isMemoryGuardNativeSmokeFastPath(argv: readonly string[]): boolean;
|
|
12
|
-
export declare function runMemoryGuardNativeSmokeFastPath(options?: {
|
|
13
|
-
loadNative?: MemoryGuardNativeSmokeLoad;
|
|
14
|
-
writeStdout?: (text: string) => void;
|
|
15
|
-
}): void;
|
|
16
|
-
export declare class RootHelpCommand extends Command {
|
|
17
|
-
static description: string;
|
|
18
|
-
static hidden: boolean;
|
|
19
|
-
static args: {
|
|
20
|
-
messages: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
21
|
-
description: string;
|
|
22
|
-
required: false;
|
|
23
|
-
multiple: true;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
static flags: {
|
|
27
|
-
model: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
28
|
-
description: string;
|
|
29
|
-
};
|
|
30
|
-
smol: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
31
|
-
description: string;
|
|
32
|
-
};
|
|
33
|
-
slow: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
34
|
-
description: string;
|
|
35
|
-
};
|
|
36
|
-
plan: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
37
|
-
description: string;
|
|
38
|
-
};
|
|
39
|
-
mpreset: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
40
|
-
description: string;
|
|
41
|
-
};
|
|
42
|
-
default: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
43
|
-
description: string;
|
|
44
|
-
};
|
|
45
|
-
provider: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
46
|
-
description: string;
|
|
47
|
-
};
|
|
48
|
-
"api-key": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
49
|
-
description: string;
|
|
50
|
-
};
|
|
51
|
-
credential: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
52
|
-
description: string;
|
|
53
|
-
};
|
|
54
|
-
"prefer-credential": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
55
|
-
description: string;
|
|
56
|
-
};
|
|
57
|
-
"system-prompt": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
58
|
-
description: string;
|
|
59
|
-
};
|
|
60
|
-
"append-system-prompt": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
61
|
-
description: string;
|
|
62
|
-
};
|
|
63
|
-
"mcp-config": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
64
|
-
description: string;
|
|
65
|
-
};
|
|
66
|
-
"no-mcp": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
67
|
-
description: string;
|
|
68
|
-
};
|
|
69
|
-
"clipboard-transport": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
70
|
-
description: string;
|
|
71
|
-
options: string[];
|
|
72
|
-
};
|
|
73
|
-
"clipboard-ssh-host": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
74
|
-
description: string;
|
|
75
|
-
};
|
|
76
|
-
"allow-home": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
77
|
-
description: string;
|
|
78
|
-
};
|
|
79
|
-
mode: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
80
|
-
description: string;
|
|
81
|
-
options: string[];
|
|
82
|
-
};
|
|
83
|
-
print: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
84
|
-
char: string;
|
|
85
|
-
description: string;
|
|
86
|
-
};
|
|
87
|
-
continue: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
88
|
-
char: string;
|
|
89
|
-
description: string;
|
|
90
|
-
};
|
|
91
|
-
resume: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
92
|
-
char: string;
|
|
93
|
-
description: string;
|
|
94
|
-
optionalValue: true;
|
|
95
|
-
};
|
|
96
|
-
fork: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
97
|
-
description: string;
|
|
98
|
-
};
|
|
99
|
-
worktree: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
100
|
-
char: string;
|
|
101
|
-
description: string;
|
|
102
|
-
optionalValue: true;
|
|
103
|
-
};
|
|
104
|
-
"session-dir": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
105
|
-
description: string;
|
|
106
|
-
};
|
|
107
|
-
"no-session": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
108
|
-
description: string;
|
|
109
|
-
};
|
|
110
|
-
models: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
111
|
-
description: string;
|
|
112
|
-
};
|
|
113
|
-
"no-tools": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
114
|
-
description: string;
|
|
115
|
-
};
|
|
116
|
-
"no-lsp": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
117
|
-
description: string;
|
|
118
|
-
};
|
|
119
|
-
"no-pty": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
120
|
-
description: string;
|
|
121
|
-
};
|
|
122
|
-
tmux: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
123
|
-
description: string;
|
|
124
|
-
};
|
|
125
|
-
tools: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
126
|
-
description: string;
|
|
127
|
-
};
|
|
128
|
-
thinking: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
129
|
-
description: string;
|
|
130
|
-
options: readonly ["off", ...import("@gajae-code/ai").Effort[]];
|
|
131
|
-
};
|
|
132
|
-
"no-rules": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
133
|
-
description: string;
|
|
134
|
-
};
|
|
135
|
-
export: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
136
|
-
description: string;
|
|
137
|
-
};
|
|
138
|
-
"list-models": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
139
|
-
description: string;
|
|
140
|
-
optionalValue: true;
|
|
141
|
-
};
|
|
142
|
-
"no-title": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
143
|
-
description: string;
|
|
144
|
-
};
|
|
145
|
-
master: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
146
|
-
description: string;
|
|
147
|
-
};
|
|
148
|
-
scope: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
149
|
-
description: string;
|
|
150
|
-
options: string[];
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
static examples: string[];
|
|
154
|
-
static strict: boolean;
|
|
155
|
-
run(): Promise<void>;
|
|
156
|
-
}
|
|
157
|
-
/** Normalize the sole `gjc resume` alias into the value-less launch intent. */
|
|
158
|
-
export declare function normalizeResumeAlias(argv: readonly string[]): string[];
|
|
159
|
-
/**
|
|
160
|
-
* Map the common mistaken `models` subcommand spelling to non-agent listing.
|
|
161
|
-
*
|
|
162
|
-
* Agents frequently run `gjc models` from the bash tool expecting a catalog.
|
|
163
|
-
* Without this route, `models` was a positional launch prompt and nested agents
|
|
164
|
-
* re-invoked `gjc models`, spawning an unbounded process chain (#3857).
|
|
165
|
-
* Always rewrite to `launch --list-models` so the invocation exits after a
|
|
166
|
-
* bounded listing and never starts an interactive agent session.
|
|
167
|
-
*/
|
|
168
|
-
export declare function routeModelsAlias(argv: readonly string[]): string[] | undefined;
|
|
169
|
-
/** Apply the same default-launch routing used by runCli after root fast paths. */
|
|
170
|
-
export declare function routeRootArgv(argv: readonly string[]): string[];
|
|
171
|
-
/** Run the CLI with the given argv (no `process.argv` prefix). */
|
|
2
|
+
/** Run the CLI with argv excluding process.argv prefix. */
|
|
172
3
|
export declare function runCli(argv: string[]): Promise<void>;
|
|
173
|
-
export {};
|
|
@@ -5,18 +5,27 @@ import { type SessionLifecycleLaunchRequest } from "../sdk/broker/lifecycle";
|
|
|
5
5
|
import { SessionManager } from "../session/session-manager";
|
|
6
6
|
export declare function lifecycleArgs(request: SessionLifecycleLaunchRequest, cwd: string, agentDir: string): Promise<ParsedArgs>;
|
|
7
7
|
/**
|
|
8
|
-
* How long a session host tolerates the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* How long a session host tolerates losing the broker it was launched under
|
|
9
|
+
* before treating itself as orphaned.
|
|
10
|
+
*
|
|
11
|
+
* A host is reachable only through its own broker: routing lives in the broker
|
|
12
|
+
* process and a replacement broker never adopts hosts from an earlier
|
|
13
|
+
* incarnation, so a host that outlives its broker is stranded no matter how
|
|
14
|
+
* healthy the agent directory looks afterwards. The grace still has to outlast
|
|
15
|
+
* a restart-shaped gap, because a broker that is merely slow to republish must
|
|
16
|
+
* never cost a live host — but it must stay finite, or every crashed or
|
|
13
17
|
* torn-down broker leaks a detached multi-hundred-megabyte host forever.
|
|
14
18
|
*/
|
|
15
19
|
export declare const SESSION_HOST_BROKER_ABSENCE_GRACE_MS: number;
|
|
16
20
|
/**
|
|
17
|
-
* Resolves only once
|
|
18
|
-
*
|
|
19
|
-
*
|
|
21
|
+
* Resolves only once the broker this host was launched under has been
|
|
22
|
+
* unobservable for the full grace window.
|
|
23
|
+
*
|
|
24
|
+
* The first identifiable publication pins that broker. A later publication from
|
|
25
|
+
* a different incarnation is a replacement, and a replacement cannot route to
|
|
26
|
+
* this host — observing one is evidence of being stranded, not of being alive —
|
|
27
|
+
* so it accrues against the bound instead of resetting it. Only the pinned
|
|
28
|
+
* broker reappearing resets the window. An unreadable or unidentifiable
|
|
20
29
|
* publication is not proof of orphanhood but accrues against the same bound.
|
|
21
30
|
*/
|
|
22
31
|
export declare function watchSessionHostBrokerLiveness(deps: {
|
|
@@ -811,6 +811,9 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
811
811
|
readonly "opencode-go/muse-spark-1.2-contributor": {
|
|
812
812
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
813
813
|
};
|
|
814
|
+
readonly "opencode-go/muse-spark-1.3-contributor": {
|
|
815
|
+
readonly rationale: "catalog addition from PR #5485; not yet curated";
|
|
816
|
+
};
|
|
814
817
|
readonly "opencode-go/qwen3.8-flash": {
|
|
815
818
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
816
819
|
};
|
|
@@ -12157,6 +12160,14 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
12157
12160
|
readonly baseline: true;
|
|
12158
12161
|
readonly rationale: "multimodal catalog addition; not yet curated";
|
|
12159
12162
|
};
|
|
12163
|
+
readonly "openai-codex/gpt-image-2.5-flare": {
|
|
12164
|
+
readonly baseline: true;
|
|
12165
|
+
readonly rationale: "multimodal catalog addition; not yet curated";
|
|
12166
|
+
};
|
|
12167
|
+
readonly "openai-codex/gpt-image-2.5-sunburst": {
|
|
12168
|
+
readonly baseline: true;
|
|
12169
|
+
readonly rationale: "multimodal catalog addition; not yet curated";
|
|
12170
|
+
};
|
|
12160
12171
|
readonly "openai/codex-mini-latest": {
|
|
12161
12172
|
readonly baseline: true;
|
|
12162
12173
|
readonly rationale: "pre-feature baseline; not yet curated";
|
|
@@ -12317,6 +12328,14 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
12317
12328
|
readonly baseline: true;
|
|
12318
12329
|
readonly rationale: "multimodal catalog addition; not yet curated";
|
|
12319
12330
|
};
|
|
12331
|
+
readonly "openai/gpt-image-2.5-flare": {
|
|
12332
|
+
readonly baseline: true;
|
|
12333
|
+
readonly rationale: "multimodal catalog addition; not yet curated";
|
|
12334
|
+
};
|
|
12335
|
+
readonly "openai/gpt-image-2.5-sunburst": {
|
|
12336
|
+
readonly baseline: true;
|
|
12337
|
+
readonly rationale: "multimodal catalog addition; not yet curated";
|
|
12338
|
+
};
|
|
12320
12339
|
readonly "openai/gpt-realtime-2.1": {
|
|
12321
12340
|
readonly baseline: true;
|
|
12322
12341
|
readonly rationale: "pre-feature baseline; not yet curated";
|
|
@@ -11,14 +11,34 @@ export interface FileLockOptions {
|
|
|
11
11
|
/** Previous local host identities accepted only when deciding stale-owner reclamation. */
|
|
12
12
|
previousOwnerHostIds?: readonly string[];
|
|
13
13
|
}
|
|
14
|
+
export type FileLockAcquireReason = "acquire_timeout" | "orphan_transition";
|
|
15
|
+
/**
|
|
16
|
+
* Why the acquire path could not retire a lock directory whose owner it had already
|
|
17
|
+
* proven dead. Attached to `FileLockAcquireError` so a host whose lock-removal path
|
|
18
|
+
* refuses the directory is not misreported as a live or unreaped owner. The acquire
|
|
19
|
+
* loop still contends after a refusal (a concurrent reclaimer may finish the same dead
|
|
20
|
+
* generation); this records the cause that exhaustion must report.
|
|
21
|
+
*/
|
|
22
|
+
export interface FileLockStaleRemovalFailure {
|
|
23
|
+
/** Guarded-removal outcome the acquire path can record, or `"error"` when the removal attempt threw. */
|
|
24
|
+
outcome: "cleanup_failed" | "error";
|
|
25
|
+
/** Native/errno code carried by the refusal, when one was present. */
|
|
26
|
+
code?: string;
|
|
27
|
+
/** Human-readable cause surfaced to the operator at exhaustion. */
|
|
28
|
+
message: string;
|
|
29
|
+
}
|
|
14
30
|
export declare class FileLockAcquireError extends Error {
|
|
15
31
|
readonly filePath: string;
|
|
16
32
|
readonly lockPath: string;
|
|
17
33
|
readonly attempts: number;
|
|
18
34
|
readonly holder: string;
|
|
19
|
-
readonly
|
|
20
|
-
|
|
35
|
+
readonly reason: FileLockAcquireReason;
|
|
36
|
+
readonly orphanPath?: string | undefined;
|
|
37
|
+
readonly removalFailure?: FileLockStaleRemovalFailure | undefined;
|
|
38
|
+
readonly code: FileLockAcquireReason;
|
|
39
|
+
constructor(filePath: string, lockPath: string, attempts: number, holder: string, reason?: FileLockAcquireReason, orphanPath?: string | undefined, removalFailure?: FileLockStaleRemovalFailure | undefined);
|
|
21
40
|
}
|
|
41
|
+
export declare function isFileLockAcquireTimeout(error: unknown): error is FileLockAcquireError;
|
|
22
42
|
/** Release retries cover transient handle denial and a competing exact-removal quarantine cleanup. */
|
|
23
43
|
export declare const FILE_LOCK_RELEASE_RETRY_ATTEMPTS = 20;
|
|
24
44
|
export declare const FILE_LOCK_RELEASE_RETRY_DELAY_MS = 25;
|
|
@@ -29,6 +49,7 @@ export declare const FileLockTestHooks: {
|
|
|
29
49
|
renameDirectoryNoReplacePathAsync: typeof renameDirectoryNoReplacePathAsync;
|
|
30
50
|
};
|
|
31
51
|
nativeQuarantineBindings?: () => NativeFileLockBindings;
|
|
52
|
+
nativeExactRemovalProbe?: () => boolean | Promise<boolean>;
|
|
32
53
|
};
|
|
33
54
|
/**
|
|
34
55
|
* Returns the OS-provided process start timestamp for PID-reuse detection.
|
|
@@ -131,7 +152,10 @@ export declare function genericFileLockDirIsStale(lockDir: string, staleMs: numb
|
|
|
131
152
|
export declare function genericFileLockDirStaleVerdict(lockDir: string, staleMs: number, ownerHostId?: string): Promise<GenericFileLockDirStaleVerdict>;
|
|
132
153
|
type NativeFileLockBindings = {
|
|
133
154
|
snapshotDirectoryTree(lockPath: string): NativeDirectoryTreeResult;
|
|
134
|
-
exactRemoveDirectoryTree(lockPath: string, snapshot: NonNullable<NativeDirectoryTreeResult["snapshot"]
|
|
155
|
+
exactRemoveDirectoryTree(lockPath: string, snapshot: NonNullable<NativeDirectoryTreeResult["snapshot"]>, parentIdentity?: {
|
|
156
|
+
dev: bigint;
|
|
157
|
+
ino: bigint;
|
|
158
|
+
}, detachOnly?: boolean): NativeExactUnlinkResult;
|
|
135
159
|
};
|
|
136
160
|
export declare function acquireFileLock(filePath: string, options?: FileLockOptions): Promise<() => Promise<void>>;
|
|
137
161
|
/**
|
|
@@ -125,6 +125,7 @@ export declare const ModelPresetRegistryPresetsSchema: z.ZodObject<{
|
|
|
125
125
|
"azure-openai-responses": "azure-openai-responses";
|
|
126
126
|
"bedrock-converse-stream": "bedrock-converse-stream";
|
|
127
127
|
"cursor-agent": "cursor-agent";
|
|
128
|
+
"devin-acp": "devin-acp";
|
|
128
129
|
"google-gemini-cli": "google-gemini-cli";
|
|
129
130
|
"google-generative-ai": "google-generative-ai";
|
|
130
131
|
"google-vertex": "google-vertex";
|
|
@@ -64,7 +64,7 @@ export declare const ModelsConfigFile: ConfigFile<{
|
|
|
64
64
|
baseUrl?: string | undefined;
|
|
65
65
|
apiKey?: string | undefined;
|
|
66
66
|
apiKeyEnv?: string | undefined;
|
|
67
|
-
api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "cursor-agent" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "ollama-chat" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
|
|
67
|
+
api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "cursor-agent" | "devin-acp" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "ollama-chat" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
|
|
68
68
|
headers?: Record<string, string> | undefined;
|
|
69
69
|
compat?: {
|
|
70
70
|
supportsStore?: boolean | undefined;
|
|
@@ -129,7 +129,7 @@ export declare const ModelsConfigFile: ConfigFile<{
|
|
|
129
129
|
models?: {
|
|
130
130
|
id: string;
|
|
131
131
|
name?: string | undefined;
|
|
132
|
-
api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "cursor-agent" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "ollama-chat" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
|
|
132
|
+
api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "cursor-agent" | "devin-acp" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "ollama-chat" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
|
|
133
133
|
baseUrl?: string | undefined;
|
|
134
134
|
reasoning?: boolean | undefined;
|
|
135
135
|
thinking?: {
|
|
@@ -372,9 +372,9 @@ export declare class ModelRegistry {
|
|
|
372
372
|
/**
|
|
373
373
|
* Reload models from disk and refresh runtime provider discovery state.
|
|
374
374
|
*/
|
|
375
|
-
refresh(strategy?: ModelRefreshStrategy): Promise<void>;
|
|
376
|
-
refreshInBackground(strategy?: ModelRefreshStrategy): void;
|
|
377
|
-
refreshProvider(providerId: string, strategy?: ModelRefreshStrategy): Promise<void>;
|
|
375
|
+
refresh(strategy?: ModelRefreshStrategy, credentialSessionId?: string): Promise<void>;
|
|
376
|
+
refreshInBackground(strategy?: ModelRefreshStrategy, credentialSessionId?: string): void;
|
|
377
|
+
refreshProvider(providerId: string, strategy?: ModelRefreshStrategy, credentialSessionId?: string): Promise<void>;
|
|
378
378
|
admitCachedProviderForStoredLiteralCredential(providerId: string, selector: AuthCredentialSelector): boolean;
|
|
379
379
|
/** @internal Validate an existing startup model without mutating a caller-supplied registry. */
|
|
380
380
|
validateModelForStoredLiteralCredential(providerId: string, modelId: string, selector: AuthCredentialSelector): boolean;
|
|
@@ -541,6 +541,13 @@ export declare class ModelRegistry {
|
|
|
541
541
|
hasConfiguredProviderAuth(provider: string): boolean;
|
|
542
542
|
isCredentiallessProvider(provider: string): boolean;
|
|
543
543
|
getDiscoverableProviders(): string[];
|
|
544
|
+
/**
|
|
545
|
+
* Providers whose catalogs can be filled by bounded official refresh:
|
|
546
|
+
* configured discovery, built-in special OAuth dynamics, and standard
|
|
547
|
+
* descriptor-backed providers. Unknown ids stay excluded. Disabled
|
|
548
|
+
* providers are omitted. UI tabs still use getDiscoverableProviders.
|
|
549
|
+
*/
|
|
550
|
+
getRefreshableProviders(): string[];
|
|
544
551
|
getProviderDiscoveryState(provider: string): ProviderDiscoveryState | undefined;
|
|
545
552
|
/**
|
|
546
553
|
* Find a model by provider and ID.
|
|
@@ -41,7 +41,7 @@ export declare function resolveStartupModelRefreshSelectors(options: {
|
|
|
41
41
|
resume?: string | boolean;
|
|
42
42
|
hasStartupProfile: boolean;
|
|
43
43
|
}, settings: ModelRoleSettings): ModelSelectorValue | undefined;
|
|
44
|
-
export declare function refreshMissingQualifiedModelProviders(selectors: ModelSelectorValue | undefined, modelRegistry: Pick<ModelRegistry, "getAvailable" | "
|
|
44
|
+
export declare function refreshMissingQualifiedModelProviders(selectors: ModelSelectorValue | undefined, modelRegistry: Pick<ModelRegistry, "getAvailable" | "getRefreshableProviders" | "refreshProvider">): Promise<boolean>;
|
|
45
45
|
/**
|
|
46
46
|
* Format a model as "provider/modelId" string.
|
|
47
47
|
*/
|
|
@@ -173,9 +173,12 @@ export declare function resolveModelChainWithAuth(modelPatterns: readonly string
|
|
|
173
173
|
reason: string;
|
|
174
174
|
}>;
|
|
175
175
|
}>;
|
|
176
|
+
export declare function isExplicitProviderModelSelector(pattern: string): boolean;
|
|
177
|
+
export declare function isExplicitProviderModelOverride(modelPatterns: readonly string[]): boolean;
|
|
176
178
|
/**
|
|
177
179
|
* Resolve a list of override patterns to the first matching model, with an
|
|
178
|
-
* auth-aware fallback to the parent session's active model
|
|
180
|
+
* auth-aware fallback to the parent session's active model for unqualified
|
|
181
|
+
* aliases and role patterns.
|
|
179
182
|
*
|
|
180
183
|
* If the resolved subagent model has no working credentials (provider has no
|
|
181
184
|
* usable auth), and the parent's active model resolves with working auth,
|
|
@@ -184,6 +187,14 @@ export declare function resolveModelChainWithAuth(modelPatterns: readonly string
|
|
|
184
187
|
* `modelRoles.task` pointing at an unqualified id whose only available
|
|
185
188
|
* provider variant has no configured credentials — see #985).
|
|
186
189
|
*
|
|
190
|
+
* Explicit `provider/model` selectors (including user-specified chains of
|
|
191
|
+
* them) fail closed instead: a missing catalog entry or authentication
|
|
192
|
+
* failure must not substitute the parent session's model or another
|
|
193
|
+
* provider. Intentional chain tails still apply in order. Mixed chains that
|
|
194
|
+
* include any unqualified/role entry keep parent fallback for the whole
|
|
195
|
+
* chain, including explicit heads. Glob selectors (`*`, `?`, `[`) are not
|
|
196
|
+
* exact pins.
|
|
197
|
+
*
|
|
187
198
|
* Keyless-by-design providers (llama.cpp, ollama, lm-studio) advertise the
|
|
188
199
|
* `kNoAuth` sentinel from `getApiKey` to signal that they do not require
|
|
189
200
|
* credentials. Those are treated as authenticated here so an explicitly
|
|
@@ -192,7 +203,9 @@ export declare function resolveModelChainWithAuth(modelPatterns: readonly string
|
|
|
192
203
|
*
|
|
193
204
|
* If neither the subagent nor the parent has working auth, returns the
|
|
194
205
|
* primary resolution unchanged so the existing error path still surfaces
|
|
195
|
-
* a meaningful failure downstream.
|
|
206
|
+
* a meaningful failure downstream. Explicit-only chains return no model
|
|
207
|
+
* so callers can surface an actionable error. Canonical parent seeding is
|
|
208
|
+
* independent of that fail-closed substitution guard.
|
|
196
209
|
*/
|
|
197
210
|
export declare function resolveModelOverrideWithAuthFallback(modelPatterns: string[], parentActiveModelPattern: string | undefined, modelRegistry: ModelLookupRegistry & Pick<ModelRegistry, "getApiKey">, settings?: Settings, authSessionId?: string, options?: ModelChainResolutionOptions, canonicalSessionId?: string): Promise<{
|
|
198
211
|
model?: Model<Api>;
|
|
@@ -381,6 +381,7 @@ export declare const ModelsConfigSchema: z.ZodObject<{
|
|
|
381
381
|
"azure-openai-responses": "azure-openai-responses";
|
|
382
382
|
"bedrock-converse-stream": "bedrock-converse-stream";
|
|
383
383
|
"cursor-agent": "cursor-agent";
|
|
384
|
+
"devin-acp": "devin-acp";
|
|
384
385
|
"google-gemini-cli": "google-gemini-cli";
|
|
385
386
|
"google-generative-ai": "google-generative-ai";
|
|
386
387
|
"google-vertex": "google-vertex";
|
|
@@ -505,6 +506,7 @@ export declare const ModelsConfigSchema: z.ZodObject<{
|
|
|
505
506
|
"azure-openai-responses": "azure-openai-responses";
|
|
506
507
|
"bedrock-converse-stream": "bedrock-converse-stream";
|
|
507
508
|
"cursor-agent": "cursor-agent";
|
|
509
|
+
"devin-acp": "devin-acp";
|
|
508
510
|
"google-gemini-cli": "google-gemini-cli";
|
|
509
511
|
"google-generative-ai": "google-generative-ai";
|
|
510
512
|
"google-vertex": "google-vertex";
|
|
@@ -209,7 +209,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
209
209
|
};
|
|
210
210
|
readonly "sdk.promptDeadlineMs": {
|
|
211
211
|
readonly type: "number";
|
|
212
|
-
readonly default:
|
|
212
|
+
readonly default: 3600000;
|
|
213
213
|
readonly description: "SDK-owned prompt deadline; ACP has no separate timeout.";
|
|
214
214
|
readonly validate: (value: number) => boolean;
|
|
215
215
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JsonSchema, WorkflowGate } from "../modes/shared/agent-wire/workflow-gate-types";
|
|
2
|
-
export type PublicReason = "unsupported_gate" | "query_unavailable" | "pagination_malformed" | "row_unrepresentable" | "missing_runtime_turn" | "invalid_runtime_turn" | "invalid_gate_row" | "wrong_session" | "ownership_unavailable" | "ownership_conflict" | "gate_provenance_changed" | "turn_terminal" | "endpoint_changed" | "terminal_race" | "terminal_uncertain" | "session_closing" | "session_unavailable" | "reported_failure" | "validation_rejected" | "dispatch_admission_lost";
|
|
2
|
+
export type PublicReason = "unsupported_gate" | "query_unavailable" | "pagination_malformed" | "row_unrepresentable" | "missing_runtime_turn" | "pending_registration" | "invalid_runtime_turn" | "invalid_gate_row" | "wrong_session" | "ownership_unavailable" | "ownership_conflict" | "gate_provenance_changed" | "turn_terminal" | "endpoint_changed" | "terminal_race" | "terminal_uncertain" | "session_closing" | "session_unavailable" | "reported_failure" | "validation_rejected" | "dispatch_admission_lost";
|
|
3
3
|
export type CoordinatorQuestionStatusV1 = "pending" | "answered" | "stale" | "uncertain";
|
|
4
4
|
export interface CoordinatorQuestionOptionPublicV1 {
|
|
5
5
|
id: string;
|