@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
package/src/commands/sdk.ts
CHANGED
|
@@ -80,20 +80,52 @@ export async function lifecycleArgs(
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
|
-
* How long a session host tolerates the
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
83
|
+
* How long a session host tolerates losing the broker it was launched under
|
|
84
|
+
* before treating itself as orphaned.
|
|
85
|
+
*
|
|
86
|
+
* A host is reachable only through its own broker: routing lives in the broker
|
|
87
|
+
* process and a replacement broker never adopts hosts from an earlier
|
|
88
|
+
* incarnation, so a host that outlives its broker is stranded no matter how
|
|
89
|
+
* healthy the agent directory looks afterwards. The grace still has to outlast
|
|
90
|
+
* a restart-shaped gap, because a broker that is merely slow to republish must
|
|
91
|
+
* never cost a live host — but it must stay finite, or every crashed or
|
|
88
92
|
* torn-down broker leaks a detached multi-hundred-megabyte host forever.
|
|
89
93
|
*/
|
|
90
94
|
export const SESSION_HOST_BROKER_ABSENCE_GRACE_MS = 10 * 60_000;
|
|
91
95
|
const SESSION_HOST_BROKER_POLL_MS = 15_000;
|
|
92
96
|
|
|
93
97
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
98
|
+
* Identity of the broker incarnation an observation describes, or `null` when
|
|
99
|
+
* it carries no usable identity.
|
|
100
|
+
*
|
|
101
|
+
* Two observations with different identities are two different brokers, never
|
|
102
|
+
* the same broker seen twice: `incarnation` is start-time derived, so it
|
|
103
|
+
* separates a genuine survivor from a successor that merely reused the pid.
|
|
104
|
+
*/
|
|
105
|
+
function brokerPublicationIdentity(observation: unknown): string | null {
|
|
106
|
+
if (!observation || typeof observation !== "object") return null;
|
|
107
|
+
const { ownerId, pid, incarnation } = observation as {
|
|
108
|
+
ownerId?: unknown;
|
|
109
|
+
pid?: unknown;
|
|
110
|
+
incarnation?: unknown;
|
|
111
|
+
};
|
|
112
|
+
const parts = [
|
|
113
|
+
typeof ownerId === "string" ? ownerId : "",
|
|
114
|
+
Number.isSafeInteger(pid) ? String(pid) : "",
|
|
115
|
+
typeof incarnation === "string" ? incarnation : "",
|
|
116
|
+
];
|
|
117
|
+
return parts.some(part => part !== "") ? parts.join(":") : null;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Resolves only once the broker this host was launched under has been
|
|
122
|
+
* unobservable for the full grace window.
|
|
123
|
+
*
|
|
124
|
+
* The first identifiable publication pins that broker. A later publication from
|
|
125
|
+
* a different incarnation is a replacement, and a replacement cannot route to
|
|
126
|
+
* this host — observing one is evidence of being stranded, not of being alive —
|
|
127
|
+
* so it accrues against the bound instead of resetting it. Only the pinned
|
|
128
|
+
* broker reappearing resets the window. An unreadable or unidentifiable
|
|
97
129
|
* publication is not proof of orphanhood but accrues against the same bound.
|
|
98
130
|
*/
|
|
99
131
|
export async function watchSessionHostBrokerLiveness(deps: {
|
|
@@ -110,6 +142,7 @@ export async function watchSessionHostBrokerLiveness(deps: {
|
|
|
110
142
|
const graceMs = deps.graceMs ?? SESSION_HOST_BROKER_ABSENCE_GRACE_MS;
|
|
111
143
|
const pollMs = deps.pollMs ?? SESSION_HOST_BROKER_POLL_MS;
|
|
112
144
|
let absentSince: number | null = null;
|
|
145
|
+
let ownBroker: string | null = null;
|
|
113
146
|
for (;;) {
|
|
114
147
|
let live: unknown = null;
|
|
115
148
|
try {
|
|
@@ -117,7 +150,9 @@ export async function watchSessionHostBrokerLiveness(deps: {
|
|
|
117
150
|
} catch {
|
|
118
151
|
// Transient read failures are ambiguity, not proof of orphanhood.
|
|
119
152
|
}
|
|
120
|
-
|
|
153
|
+
const identity = brokerPublicationIdentity(live);
|
|
154
|
+
if (identity !== null && (ownBroker === null || identity === ownBroker)) {
|
|
155
|
+
ownBroker ??= identity;
|
|
121
156
|
absentSince = null;
|
|
122
157
|
} else {
|
|
123
158
|
absentSince ??= now();
|
|
@@ -872,7 +907,7 @@ class SdkSessionHelp extends Command {
|
|
|
872
907
|
description:
|
|
873
908
|
"session list scope: repo (default), cwd, worktree, or all; search scope: repo (default), pwd, or global",
|
|
874
909
|
}),
|
|
875
|
-
limit: Flags.integer({ description: "Search page size from 1 to 100" }),
|
|
910
|
+
limit: Flags.integer({ description: "Search or raw session.list page size from 1 to 100" }),
|
|
876
911
|
json: Flags.boolean({ description: "Render search as the SdkSearchResultV1 JSON envelope" }),
|
|
877
912
|
text: Flags.string({ description: "Prompt text for send (alternative to --json-input)" }),
|
|
878
913
|
"op-ref": Flags.string({ description: "Operation reference for send (defaults to a generated ULID)" }),
|
|
@@ -883,6 +918,7 @@ class SdkSessionHelp extends Command {
|
|
|
883
918
|
strict: Flags.boolean({ description: "tail --strict: fail closed on retention gaps" }),
|
|
884
919
|
"until-idle": Flags.boolean({ description: "tail --until-idle: exit after an observed terminal turn state" }),
|
|
885
920
|
"all-events": Flags.boolean({ description: "tail --all-events: include every event-ring kind" }),
|
|
921
|
+
page: Flags.boolean({ description: "raw global session.list: return exactly one broker page" }),
|
|
886
922
|
};
|
|
887
923
|
async run(): Promise<void> {}
|
|
888
924
|
}
|
|
@@ -983,6 +1019,8 @@ class SdkSessionCommand extends Command {
|
|
|
983
1019
|
strict: Boolean(flagRec.strict),
|
|
984
1020
|
untilIdle: Boolean(flagRec["until-idle"]),
|
|
985
1021
|
allEvents: Boolean(flagRec["all-events"]),
|
|
1022
|
+
page: Boolean(flagRec.page),
|
|
1023
|
+
limit: flagRec.limit as number | undefined,
|
|
986
1024
|
agentDir: flagRec["agent-dir"] as string | undefined,
|
|
987
1025
|
repo: flagRec.repo as string | undefined,
|
|
988
1026
|
scope: flagRec.scope as string | undefined,
|
|
@@ -1110,6 +1148,15 @@ export default class Sdk extends Command {
|
|
|
1110
1148
|
const startupDelayMs = Number(process.env.GJC_SDK_TEST_BROKER_STARTUP_DELAY_MS ?? 0);
|
|
1111
1149
|
if (Number.isSafeInteger(startupDelayMs) && startupDelayMs > 0 && startupDelayMs <= 10_000)
|
|
1112
1150
|
await Bun.sleep(startupDelayMs);
|
|
1151
|
+
// The real broker-internal entry point is the only place that reads this
|
|
1152
|
+
// launcher-supplied environment variable; it is validated here and handed
|
|
1153
|
+
// to Broker as a typed setting, never read a second time inside broker.ts
|
|
1154
|
+
// from process.env directly.
|
|
1155
|
+
const restartRequestEnv = process.env.GJC_BROKER_RESTART_REQUEST;
|
|
1156
|
+
const restartRequestId =
|
|
1157
|
+
typeof restartRequestEnv === "string" && /^[A-Za-z0-9_-]{1,256}$/.test(restartRequestEnv)
|
|
1158
|
+
? restartRequestEnv
|
|
1159
|
+
: undefined;
|
|
1113
1160
|
const candidate = new Broker({
|
|
1114
1161
|
agentDir,
|
|
1115
1162
|
masterOrphanGraceMs: (await Settings.loadForScope({ cwd: process.cwd(), agentDir })).get(
|
|
@@ -1124,6 +1171,7 @@ export default class Sdk extends Command {
|
|
|
1124
1171
|
await settings.close();
|
|
1125
1172
|
}
|
|
1126
1173
|
},
|
|
1174
|
+
...(restartRequestId === undefined ? {} : { restartRequestId }),
|
|
1127
1175
|
});
|
|
1128
1176
|
broker = candidate;
|
|
1129
1177
|
await candidate.start();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Command
|
|
1
|
+
import { Command } from "@gajae-code/utils/cli";
|
|
2
2
|
import { ensureWorkflowSettingsMigrated } from "../config/settings";
|
|
3
3
|
import {
|
|
4
4
|
GJC_SESSION_FILE_ENV,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
writeCurrentSessionGoalModeState,
|
|
9
9
|
writePendingGoalModeRequest,
|
|
10
10
|
} from "../gjc-runtime/goal-mode-request";
|
|
11
|
-
import { runNativeUltragoalCommand } from "../gjc-runtime/ultragoal-runtime";
|
|
11
|
+
import { isUltragoalHelpInvocation, runNativeUltragoalCommand } from "../gjc-runtime/ultragoal-runtime";
|
|
12
12
|
|
|
13
13
|
export default class Ultragoal extends Command {
|
|
14
14
|
static description = "Run native GJC Ultragoal workflow commands";
|
|
@@ -19,9 +19,15 @@ export default class Ultragoal extends Command {
|
|
|
19
19
|
async run(): Promise<void> {
|
|
20
20
|
// A read-only help request must not perform the workflow-settings
|
|
21
21
|
// migration (which can create/drain agent.db, write config.yml, and
|
|
22
|
-
// retire legacy settings.json): render help before the trigger.
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
// retire legacy settings.json): render help before the trigger. The
|
|
23
|
+
// native runtime owns help rendering because it is verb-aware — dropping
|
|
24
|
+
// to a generic command-level renderer here would discard the verb and
|
|
25
|
+
// hide every per-verb flag (`review --help`, `checkpoint --help`, ...).
|
|
26
|
+
if (isUltragoalHelpInvocation(this.argv)) {
|
|
27
|
+
const help = await runNativeUltragoalCommand(this.argv);
|
|
28
|
+
if (help.stdout) process.stdout.write(help.stdout);
|
|
29
|
+
if (help.stderr) process.stderr.write(help.stderr);
|
|
30
|
+
process.exitCode = help.status;
|
|
25
31
|
return;
|
|
26
32
|
}
|
|
27
33
|
await ensureWorkflowSettingsMigrated(process.cwd());
|
|
@@ -373,6 +373,9 @@ export const TIER_MAP_SKIP_LIST = {
|
|
|
373
373
|
"opencode-go/muse-spark-1.2-contributor": {
|
|
374
374
|
rationale: "post-rebase catalog addition from dev; not yet curated",
|
|
375
375
|
},
|
|
376
|
+
"opencode-go/muse-spark-1.3-contributor": {
|
|
377
|
+
rationale: "catalog addition from PR #5485; not yet curated",
|
|
378
|
+
},
|
|
376
379
|
"opencode-go/qwen3.8-flash": { rationale: "post-rebase catalog addition from dev; not yet curated" },
|
|
377
380
|
"opencode-go/qwen3.8-max": { rationale: "post-rebase catalog addition from dev; not yet curated" },
|
|
378
381
|
"opencode-zen/grok-4.6": { rationale: "post-rebase catalog addition from dev; not yet curated" },
|
|
@@ -4330,6 +4333,8 @@ export const TIER_MAP_SKIP_LIST = {
|
|
|
4330
4333
|
"openai-codex/gpt-5.5": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4331
4334
|
"openai-codex/gpt-5.6-luna": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4332
4335
|
"openai-codex/gpt-image-2": { baseline: true, rationale: "multimodal catalog addition; not yet curated" },
|
|
4336
|
+
"openai-codex/gpt-image-2.5-flare": { baseline: true, rationale: "multimodal catalog addition; not yet curated" },
|
|
4337
|
+
"openai-codex/gpt-image-2.5-sunburst": { baseline: true, rationale: "multimodal catalog addition; not yet curated" },
|
|
4333
4338
|
"openai/codex-mini-latest": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4334
4339
|
"openai/gpt-4": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4335
4340
|
"openai/gpt-4-turbo": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
@@ -4370,6 +4375,8 @@ export const TIER_MAP_SKIP_LIST = {
|
|
|
4370
4375
|
"openai/gpt-5.6-sol": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4371
4376
|
"openai/gpt-5.6-terra": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4372
4377
|
"openai/gpt-image-2": { baseline: true, rationale: "multimodal catalog addition; not yet curated" },
|
|
4378
|
+
"openai/gpt-image-2.5-flare": { baseline: true, rationale: "multimodal catalog addition; not yet curated" },
|
|
4379
|
+
"openai/gpt-image-2.5-sunburst": { baseline: true, rationale: "multimodal catalog addition; not yet curated" },
|
|
4373
4380
|
"openai/gpt-realtime-2.1": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4374
4381
|
"openai/o1": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|
|
4375
4382
|
"openai/o1-pro": { baseline: true, rationale: "pre-feature baseline; not yet curated" },
|