@gajae-code/coding-agent 0.18.6 → 0.18.8
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 +318 -1
- package/dist/types/async/job-manager.d.ts +1 -1
- package/dist/types/capability/mcp.d.ts +2 -0
- package/dist/types/capability/skill.d.ts +2 -0
- package/dist/types/capability/types.d.ts +6 -0
- package/dist/types/cli/public-command-errors.d.ts +3 -1
- package/dist/types/cli/setup-cli.d.ts +1 -1
- package/dist/types/commands/deep-interview.d.ts +3 -0
- package/dist/types/config/autorouting-tier-map.d.ts +348 -9
- package/dist/types/config/file-lock.d.ts +1 -0
- package/dist/types/config/model-bindings-applier.d.ts +2 -0
- package/dist/types/config/model-profile-activation.d.ts +11 -3
- package/dist/types/config/model-registry.d.ts +4 -9
- package/dist/types/config/settings.d.ts +4 -0
- package/dist/types/config/skill-settings-defaults.d.ts +2 -0
- package/dist/types/cursor-delete-path.d.ts +1 -0
- package/dist/types/cursor-mcp-name.d.ts +8 -0
- package/dist/types/customization/inventory.d.ts +2 -0
- package/dist/types/debug/report-bundle-parent.d.ts +2 -0
- package/dist/types/defaults/gjc/extensions/grok-cli-vendor/src/provider/stream.d.ts +1 -0
- package/dist/types/defaults/gjc/extensions/grok-cli-vendor/src/provider/version-manager.d.ts +31 -0
- package/dist/types/defaults/gjc-skills.generated.d.ts +5 -6
- package/dist/types/discovery/helpers.d.ts +8 -3
- package/dist/types/export/html/css-color.d.ts +2 -0
- package/dist/types/export/html/template.generated.d.ts +1 -1
- package/dist/types/extensibility/extensions/types.d.ts +7 -0
- package/dist/types/extensibility/gjc-plugins/runtime-adapters.d.ts +14 -1
- package/dist/types/extensibility/plugins/marketplace/cache.d.ts +2 -0
- package/dist/types/extensibility/plugins/plugin-link-path.d.ts +2 -0
- package/dist/types/extensibility/runtime-skill-discovery.d.ts +3 -1
- package/dist/types/extensibility/skill-management.d.ts +3 -1
- package/dist/types/extensibility/skills.d.ts +2 -0
- package/dist/types/gjc-runtime/deep-interview-crystallize.d.ts +74 -0
- package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +11 -0
- package/dist/types/gjc-runtime/gc-runtime.d.ts +5 -0
- package/dist/types/gjc-runtime/ralplan-runtime.d.ts +0 -5
- package/dist/types/gjc-runtime/state-argv.d.ts +1 -1
- package/dist/types/gjc-runtime/state-migrations.d.ts +8 -0
- package/dist/types/gjc-runtime/state-runtime.d.ts +95 -0
- package/dist/types/gjc-runtime/state-writer.d.ts +11 -1
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +8 -0
- package/dist/types/internal-urls/skill-path.d.ts +1 -0
- package/dist/types/lsp/workspace-path.d.ts +1 -0
- package/dist/types/modes/acp/acp-agent.d.ts +7 -0
- package/dist/types/modes/components/custom-editor.d.ts +6 -0
- package/dist/types/modes/components/customization/customization-dashboard.d.ts +1 -0
- package/dist/types/modes/components/extensions/state-manager.d.ts +4 -3
- package/dist/types/modes/controllers/input-controller.d.ts +9 -0
- package/dist/types/modes/interactive-mode.d.ts +1 -0
- package/dist/types/modes/utils/interrupt-ownership.d.ts +3 -0
- package/dist/types/modes/utils/keybinding-matchers.d.ts +1 -0
- package/dist/types/modes/utils/macos-option-forwarding.d.ts +17 -0
- package/dist/types/progress/collect-project-progress.d.ts +38 -0
- package/dist/types/progress/progress-contract.d.ts +154 -0
- package/dist/types/progress/progress-snapshot.d.ts +11 -0
- package/dist/types/progress/project-progress.d.ts +141 -0
- package/dist/types/progress/render-progress.d.ts +28 -0
- package/dist/types/runtime-mcp/elicitation.d.ts +12 -0
- package/dist/types/runtime-mcp/oauth-public-url.d.ts +1 -0
- package/dist/types/runtime-mcp/plugin-network-boundary.d.ts +1 -0
- package/dist/types/runtime-mcp/smithery-registry.d.ts +24 -0
- package/dist/types/runtime-mcp/types.d.ts +6 -0
- package/dist/types/sdk/acp/adapter.d.ts +1 -1
- package/dist/types/sdk/broker/broker-exit.d.ts +6 -2
- package/dist/types/sdk/broker/broker.d.ts +18 -1
- package/dist/types/sdk/broker/lifecycle.d.ts +9 -0
- package/dist/types/sdk/broker/session-index.d.ts +12 -6
- package/dist/types/sdk/broker/task-artifact-owner-validation.d.ts +55 -0
- package/dist/types/sdk/bus/index.d.ts +12 -1
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +6 -1
- package/dist/types/sdk/bus/telegram-daemon.d.ts +3 -2
- package/dist/types/sdk/client/client.d.ts +2 -0
- package/dist/types/sdk/host/host.d.ts +6 -0
- package/dist/types/sdk/host/query/handlers.d.ts +3 -0
- package/dist/types/sdk/index.d.ts +1 -0
- package/dist/types/sdk/router/session-router.d.ts +9 -0
- package/dist/types/sdk/session-list.d.ts +1 -1
- package/dist/types/sdk/session.d.ts +8 -0
- package/dist/types/session/agent-session.d.ts +38 -9
- package/dist/types/session/artifacts.d.ts +2 -2
- package/dist/types/session/internal/managed-gc-retirement-codec.d.ts +32 -0
- package/dist/types/session/internal/managed-session-scope.d.ts +79 -2
- package/dist/types/session/internal/managed-session-storage.d.ts +36 -1
- package/dist/types/session/internal/managed-task-owner-cleanup.d.ts +62 -0
- package/dist/types/session/internal/task-artifact-owner-access.d.ts +19 -0
- package/dist/types/session/internal/task-artifact-owner-transcript.d.ts +11 -0
- package/dist/types/session/session-manager.d.ts +31 -5
- package/dist/types/session/session-retirement.d.ts +71 -0
- package/dist/types/session/session-storage.d.ts +62 -48
- package/dist/types/session/session-transcript-header.d.ts +2 -0
- package/dist/types/session/task-artifact-owner-codec.d.ts +109 -0
- package/dist/types/session/task-artifact-owner-retirement.d.ts +7 -0
- package/dist/types/session/task-artifact-owner.d.ts +10 -0
- package/dist/types/setup/credential-auto-import.d.ts +1 -1
- package/dist/types/setup/credential-import.d.ts +6 -4
- package/dist/types/skill-state/active-state.d.ts +38 -0
- package/dist/types/slash-commands/helpers/progress-report.d.ts +8 -0
- package/dist/types/task/executor.d.ts +3 -0
- package/dist/types/tools/bash-skill-urls.d.ts +1 -1
- package/dist/types/tools/index.d.ts +3 -0
- package/dist/types/tools/python.d.ts +9 -1
- package/dist/types/tools/recipe/recipe-guard.d.ts +7 -0
- package/dist/types/tools/restricted-cwd.d.ts +1 -0
- package/dist/types/tools/todo-write.d.ts +6 -0
- package/dist/types/utils/tools-checksum.d.ts +7 -0
- package/package.json +7 -7
- package/scripts/generate-sdk-operation-inventory.ts +21 -0
- package/scripts/resident-memory-bench.ts +174 -20
- package/scripts/verify-managed-empty-stop.ts +28 -0
- package/src/async/job-manager.ts +228 -122
- package/src/capability/index.ts +18 -0
- package/src/capability/mcp.ts +2 -0
- package/src/capability/skill.ts +2 -0
- package/src/capability/types.ts +6 -0
- package/src/cli/auth-broker-cli.ts +1 -1
- package/src/cli/config-cli.ts +8 -18
- package/src/cli/customize-doctor.ts +15 -2
- package/src/cli/public-command-errors.ts +21 -1
- package/src/cli/setup-cli.ts +4 -4
- package/src/cli/skills-cli.ts +5 -0
- package/src/cli-main.ts +7 -8
- package/src/commands/deep-interview.ts +47 -8
- package/src/commands/sdk.ts +140 -29
- package/src/config/autorouting-tier-map.ts +117 -7
- package/src/config/file-lock.ts +307 -68
- package/src/config/mcp-schema.json +4 -0
- package/src/config/model-bindings-applier.ts +20 -0
- package/src/config/model-profile-activation.ts +240 -46
- package/src/config/model-registry.ts +47 -153
- package/src/config/settings.ts +44 -4
- package/src/config/skill-settings-defaults.ts +7 -0
- package/src/coordinator-mcp/policy.ts +3 -2
- package/src/cursor-delete-path.ts +10 -0
- package/src/cursor-mcp-name.ts +15 -0
- package/src/cursor.ts +13 -2
- package/src/customization/inventory.ts +3 -0
- package/src/debug/report-bundle-parent.ts +22 -0
- package/src/debug/report-bundle.ts +3 -0
- package/src/debug/system-info.ts +13 -1
- package/src/defaults/gjc/extensions/grok-cli-vendor/src/provider/stream.ts +67 -4
- package/src/defaults/gjc/extensions/grok-cli-vendor/src/provider/version-manager.ts +80 -0
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +105 -10
- package/src/defaults/gjc/skills/ralplan/SKILL.md +6 -4
- package/src/defaults/gjc-defaults.test.ts +18 -1
- package/src/defaults/gjc-defaults.ts +3 -0
- package/src/defaults/gjc-skills.generated.ts +58 -36
- package/src/discovery/agents.ts +6 -1
- package/src/discovery/builtin.ts +10 -0
- package/src/discovery/helpers.ts +168 -23
- package/src/discovery/mcp-json.ts +6 -0
- package/src/discovery/ssh.ts +9 -4
- package/src/discovery/substitute-plugin-root.ts +3 -1
- package/src/edit/file-read-cache.ts +1 -1
- package/src/eval/py/executor.ts +380 -120
- package/src/export/html/css-color.ts +9 -0
- package/src/export/html/index.ts +5 -4
- package/src/export/html/template.generated.ts +1 -1
- package/src/extensibility/extensions/runner.ts +4 -0
- package/src/extensibility/extensions/types.ts +7 -0
- package/src/extensibility/gjc-plugins/runtime-adapters.ts +73 -8
- package/src/extensibility/plugins/manager.ts +3 -2
- package/src/extensibility/plugins/marketplace/cache.ts +15 -0
- package/src/extensibility/plugins/marketplace/manager.ts +11 -3
- package/src/extensibility/plugins/plugin-link-path.ts +12 -0
- package/src/extensibility/runtime-skill-discovery.ts +20 -2
- package/src/extensibility/skill-management.ts +6 -2
- package/src/extensibility/skills.ts +6 -1
- package/src/gjc-runtime/deep-interview-crystallize.ts +1814 -0
- package/src/gjc-runtime/deep-interview-recorder.ts +20 -2
- package/src/gjc-runtime/deep-interview-runtime.ts +1415 -13
- package/src/gjc-runtime/deep-interview-stage.ts +98 -21
- package/src/gjc-runtime/gc-runtime.ts +206 -8
- package/src/gjc-runtime/launch-worktree.ts +14 -4
- package/src/gjc-runtime/ralplan-runtime.ts +447 -52
- package/src/gjc-runtime/state-argv.ts +2 -0
- package/src/gjc-runtime/state-migrations.ts +91 -29
- package/src/gjc-runtime/state-runtime.ts +3716 -135
- package/src/gjc-runtime/state-writer.ts +83 -8
- package/src/gjc-runtime/ultragoal-runtime.ts +16 -4
- package/src/gjc-runtime/workflow-manifest.generated.json +70 -42
- package/src/gjc-runtime/workflow-manifest.ts +54 -21
- package/src/harness-control-plane/operate.ts +12 -4
- package/src/harness-control-plane/owner.ts +5 -1
- package/src/hashline/parser.ts +48 -9
- package/src/hashline/recovery.ts +13 -4
- package/src/hindsight/config.ts +9 -3
- package/src/internal-urls/docs-index.generated.ts +19 -18
- package/src/internal-urls/skill-path.ts +19 -0
- package/src/internal-urls/skill-protocol.ts +2 -0
- package/src/lsp/edits.ts +6 -0
- package/src/lsp/workspace-path.ts +51 -0
- package/src/main.ts +195 -31
- package/src/modes/acp/acp-agent.ts +163 -7
- package/src/modes/components/custom-editor.ts +14 -0
- package/src/modes/components/customization/customization-dashboard.ts +12 -0
- package/src/modes/components/extensions/extension-dashboard.ts +2 -2
- package/src/modes/components/extensions/state-manager.ts +15 -5
- package/src/modes/components/model-selector.ts +1 -4
- package/src/modes/components/provider-onboarding-selector.ts +1 -1
- package/src/modes/components/status-line/segments.ts +4 -0
- package/src/modes/controllers/event-controller.ts +11 -4
- package/src/modes/controllers/input-controller.ts +74 -29
- package/src/modes/controllers/runtime-mcp-command-controller.ts +8 -3
- package/src/modes/controllers/selector-controller.ts +28 -15
- package/src/modes/interactive-mode.ts +4 -0
- package/src/modes/runtime-init.ts +4 -0
- package/src/modes/utils/abort-message.ts +3 -1
- package/src/modes/utils/interrupt-ownership.ts +12 -0
- package/src/modes/utils/keybinding-matchers.ts +4 -0
- package/src/modes/utils/macos-option-forwarding.ts +80 -0
- package/src/progress/collect-project-progress.ts +153 -0
- package/src/progress/progress-contract.ts +172 -0
- package/src/progress/progress-snapshot.ts +140 -0
- package/src/progress/project-progress.ts +446 -0
- package/src/progress/render-progress.ts +209 -0
- package/src/prompts/system/master-mode.md +1 -0
- package/src/prompts/tools/skill-discovery.md +1 -1
- package/src/runtime-mcp/client.ts +13 -4
- package/src/runtime-mcp/config-writer.ts +10 -6
- package/src/runtime-mcp/config.ts +1 -0
- package/src/runtime-mcp/elicitation.ts +142 -0
- package/src/runtime-mcp/oauth-flow.ts +5 -0
- package/src/runtime-mcp/oauth-public-url.ts +8 -0
- package/src/runtime-mcp/plugin-network-boundary.ts +4 -0
- package/src/runtime-mcp/smithery-registry.ts +22 -3
- package/src/runtime-mcp/transports/http.ts +2 -2
- package/src/runtime-mcp/types.ts +6 -0
- package/src/sdk/acp/adapter.ts +93 -8
- package/src/sdk/broker/broker-exit.ts +52 -23
- package/src/sdk/broker/broker.ts +83 -7
- package/src/sdk/broker/ensure.ts +2 -0
- package/src/sdk/broker/lifecycle.ts +820 -73
- package/src/sdk/broker/session-index.ts +191 -81
- package/src/sdk/broker/task-artifact-owner-validation.ts +259 -0
- package/src/sdk/bus/chat-daemon-cli.ts +38 -1
- package/src/sdk/bus/chat-daemon-control.ts +2 -2
- package/src/sdk/bus/chat-daemon-runtime.ts +3 -0
- package/src/sdk/bus/index.ts +241 -46
- package/src/sdk/bus/telegram-daemon-contract.ts +6 -1
- package/src/sdk/bus/telegram-daemon.ts +4 -2
- package/src/sdk/cli/session-cli.ts +17 -3
- package/src/sdk/client/client.ts +28 -8
- package/src/sdk/host/host.ts +6 -0
- package/src/sdk/host/query/handlers.ts +9 -1
- package/src/sdk/host/session-runtime.test.ts +2805 -411
- package/src/sdk/host/session-runtime.ts +428 -111
- package/src/sdk/host/surface-policy.ts +1 -0
- package/src/sdk/index.ts +8 -0
- package/src/sdk/lifecycle-session.ts +3 -1
- package/src/sdk/mcp/server.ts +15 -3
- package/src/sdk/prompt-deadline-manager.ts +15 -0
- package/src/sdk/protocol/operation-inventory.generated.json +146 -0
- package/src/sdk/protocol/operation-registry.ts +9 -2
- package/src/sdk/router/session-router.ts +94 -14
- package/src/sdk/session-list.ts +1 -0
- package/src/sdk/session.ts +81 -38
- package/src/session/agent-session.ts +674 -224
- package/src/session/artifacts.ts +174 -70
- package/src/session/internal/managed-gc-retirement-codec.ts +319 -0
- package/src/session/internal/managed-session-scope.ts +3457 -462
- package/src/session/internal/managed-session-storage.ts +482 -61
- package/src/session/internal/managed-task-owner-cleanup.ts +473 -0
- package/src/session/internal/task-artifact-owner-access.ts +245 -0
- package/src/session/internal/task-artifact-owner-transcript.ts +614 -0
- package/src/session/session-manager.ts +939 -133
- package/src/session/session-retirement.ts +714 -0
- package/src/session/session-storage.ts +418 -174
- package/src/session/session-transcript-header.ts +17 -0
- package/src/session/task-artifact-owner-codec.ts +641 -0
- package/src/session/task-artifact-owner-retirement.ts +477 -0
- package/src/session/task-artifact-owner.ts +289 -0
- package/src/setup/credential-auto-import.ts +12 -3
- package/src/setup/credential-import.ts +176 -5
- package/src/setup/paseo/announce.ts +6 -1
- package/src/skill-state/active-state.ts +132 -2
- package/src/slash-commands/builtin-registry.ts +39 -9
- package/src/slash-commands/helpers/progress-report.ts +23 -0
- package/src/stt/setup.ts +3 -5
- package/src/task/commands.ts +3 -1
- package/src/task/executor.ts +4 -0
- package/src/task/index.ts +6 -0
- package/src/tools/ask.ts +205 -6
- package/src/tools/ast-edit.ts +4 -0
- package/src/tools/bash-allowed-prefixes.ts +15 -0
- package/src/tools/bash-skill-urls.ts +56 -3
- package/src/tools/bash.ts +48 -79
- package/src/tools/descriptors.ts +5 -1
- package/src/tools/eval.ts +56 -36
- package/src/tools/image-gen.ts +1 -1
- package/src/tools/index.ts +3 -0
- package/src/tools/python.ts +187 -66
- package/src/tools/recipe/index.ts +9 -0
- package/src/tools/recipe/recipe-guard.ts +19 -0
- package/src/tools/restricted-cwd.ts +10 -0
- package/src/tools/skill-discovery.ts +5 -0
- package/src/tools/skill.ts +28 -1
- package/src/tools/todo-write.ts +10 -1
- package/src/tools/tool-catalog.generated.ts +1 -1
- package/src/tools/write.ts +1 -0
- package/src/utils/tools-checksum.ts +34 -0
- package/src/utils/tools-manager.ts +24 -6
- package/src/web/search/providers/codex.ts +3 -2
package/src/sdk/client/client.ts
CHANGED
|
@@ -100,6 +100,8 @@ export interface SdkClientOptions {
|
|
|
100
100
|
|
|
101
101
|
export interface SdkRequestOptions {
|
|
102
102
|
timeoutMs?: number;
|
|
103
|
+
/** Absolute wall-clock deadline for this request, including connection setup. */
|
|
104
|
+
deadline?: number;
|
|
103
105
|
idempotencyKey?: string;
|
|
104
106
|
confirm?: boolean;
|
|
105
107
|
/**
|
|
@@ -496,6 +498,14 @@ export class SdkClient {
|
|
|
496
498
|
if (options.connectedOnly && error instanceof SdkClientError) throw new SdkPreparedDispatchError(error);
|
|
497
499
|
throw error;
|
|
498
500
|
}
|
|
501
|
+
const requestDeadline =
|
|
502
|
+
typeof options.deadline === "number" && Number.isFinite(options.deadline)
|
|
503
|
+
? Math.min(options.deadline, this.#deadline ?? Number.POSITIVE_INFINITY)
|
|
504
|
+
: this.#deadline;
|
|
505
|
+
if (requestDeadline !== undefined && Date.now() >= requestDeadline) {
|
|
506
|
+
const error = this.#deadlineError();
|
|
507
|
+
throw options.connectedOnly ? new SdkPreparedDispatchError(error) : error;
|
|
508
|
+
}
|
|
499
509
|
let incarnation: Incarnation;
|
|
500
510
|
if (options.connectedOnly) {
|
|
501
511
|
try {
|
|
@@ -504,8 +514,8 @@ export class SdkClient {
|
|
|
504
514
|
if (error instanceof SdkClientError) throw new SdkPreparedDispatchError(error);
|
|
505
515
|
throw error;
|
|
506
516
|
}
|
|
507
|
-
} else incarnation = await this.#connect();
|
|
508
|
-
const timeoutMs = this.#remainingTimeout(options.timeoutMs ?? this.#timeoutMs);
|
|
517
|
+
} else incarnation = await this.#connect(requestDeadline);
|
|
518
|
+
const timeoutMs = this.#remainingTimeout(options.timeoutMs ?? this.#timeoutMs, requestDeadline);
|
|
509
519
|
if (timeoutMs <= 0) {
|
|
510
520
|
const error = this.#deadlineError();
|
|
511
521
|
throw options.connectedOnly ? new SdkPreparedDispatchError(error) : error;
|
|
@@ -615,7 +625,7 @@ export class SdkClient {
|
|
|
615
625
|
);
|
|
616
626
|
return await deferred.promise;
|
|
617
627
|
}
|
|
618
|
-
if (
|
|
628
|
+
if (requestDeadline !== undefined && Date.now() >= requestDeadline) {
|
|
619
629
|
const error = this.#deadlineError();
|
|
620
630
|
this.#settlePending(id, pending, options.connectedOnly ? new SdkPreparedDispatchError(error) : error);
|
|
621
631
|
return await deferred.promise;
|
|
@@ -686,17 +696,18 @@ export class SdkClient {
|
|
|
686
696
|
return transportError("timeout", "SDK client deadline elapsed.", undefined, reconnect);
|
|
687
697
|
}
|
|
688
698
|
|
|
689
|
-
#remainingTimeout(limit = this.#timeoutMs): number {
|
|
690
|
-
if (
|
|
691
|
-
return Math.min(limit, Math.max(0,
|
|
699
|
+
#remainingTimeout(limit = this.#timeoutMs, deadline = this.#deadline): number {
|
|
700
|
+
if (deadline === undefined) return limit;
|
|
701
|
+
return Math.min(limit, Math.max(0, deadline - Date.now()));
|
|
692
702
|
}
|
|
693
703
|
|
|
694
704
|
#throwIfDeadlineElapsed(): void {
|
|
695
705
|
if (this.#deadline !== undefined && Date.now() >= this.#deadline) throw this.#deadlineError();
|
|
696
706
|
}
|
|
697
707
|
|
|
698
|
-
async #connect(): Promise<Incarnation> {
|
|
708
|
+
async #connect(requestDeadline?: number): Promise<Incarnation> {
|
|
699
709
|
this.#throwIfDeadlineElapsed();
|
|
710
|
+
if (requestDeadline !== undefined && Date.now() >= requestDeadline) throw this.#deadlineError();
|
|
700
711
|
const current = this.#currentSocketRecord;
|
|
701
712
|
if (current && this.#isActive(current) && current.socket.readyState === WebSocket.OPEN) return current;
|
|
702
713
|
if (current)
|
|
@@ -708,7 +719,16 @@ export class SdkClient {
|
|
|
708
719
|
this.#opening = cycle;
|
|
709
720
|
cycle.promise = this.#openWithRetry(cycle);
|
|
710
721
|
}
|
|
711
|
-
return await cycle.promise!;
|
|
722
|
+
if (requestDeadline === undefined) return await cycle.promise!;
|
|
723
|
+
const remaining = requestDeadline - Date.now();
|
|
724
|
+
if (remaining <= 0) throw this.#deadlineError();
|
|
725
|
+
const expired = Promise.withResolvers<never>();
|
|
726
|
+
const timer = setTimeout(() => expired.reject(this.#deadlineError()), remaining);
|
|
727
|
+
try {
|
|
728
|
+
return await Promise.race([cycle.promise!, expired.promise]);
|
|
729
|
+
} finally {
|
|
730
|
+
clearTimeout(timer);
|
|
731
|
+
}
|
|
712
732
|
}
|
|
713
733
|
|
|
714
734
|
#requireConnectedIncarnation(): Incarnation {
|
package/src/sdk/host/host.ts
CHANGED
|
@@ -107,6 +107,12 @@ export const TOOL_ACTIVITY_CAPABILITY = "tool_activity_v2";
|
|
|
107
107
|
export const TURN_STREAM_CAPABILITY = "turn_stream";
|
|
108
108
|
/** Capability used by notification adapters that observe a host without owning its work. */
|
|
109
109
|
export const SESSION_HOST_OBSERVER_CAPABILITY = "session_host_observer_v1";
|
|
110
|
+
/**
|
|
111
|
+
* Opts notification adapters into positioned-only delivery for matching live
|
|
112
|
+
* effects: the host excludes a negotiating connection from the raw native leg
|
|
113
|
+
* of every frame its positioned envelope already reached.
|
|
114
|
+
*/
|
|
115
|
+
export const POSITIONED_NOTIFICATION_EFFECTS_CAPABILITY = "positioned_notification_effects_v1";
|
|
110
116
|
export const CAP_GATED_FRAME_KINDS: ReadonlySet<string> = new Set(["tool_activity", "reasoning_summary"]);
|
|
111
117
|
const EMPTY_CAPABILITIES: ReadonlySet<string> = new Set();
|
|
112
118
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import type { ProjectProgressSnapshot } from "../../../progress/progress-contract.js";
|
|
2
3
|
import { PROMPT_CLIENT_REF_MAX_LENGTH } from "../../prompt-status.js";
|
|
3
4
|
import { TURN_RESULT_PROMPT_ALIAS, TURN_RESULT_SKILL_ALIAS } from "../../protocol/operation-registry.js";
|
|
4
|
-
|
|
5
5
|
import type { ActiveProviderDescriptor } from "../../providers.js";
|
|
6
6
|
import { ActiveProviderResolutionError } from "../../providers.js";
|
|
7
7
|
|
|
@@ -51,6 +51,8 @@ export interface SessionSurface {
|
|
|
51
51
|
| Promise<{ bytes: Uint8Array; totalBytes: number } | undefined>;
|
|
52
52
|
|
|
53
53
|
getJobs(): unknown | Promise<unknown>;
|
|
54
|
+
/** Q32 read-only project progress snapshot (`gjc.project_progress.v1`). */
|
|
55
|
+
getProjectProgress?(): ProjectProgressSnapshot | Promise<ProjectProgressSnapshot>;
|
|
54
56
|
/** Q26 keyed lookup of a submitted prompt's authoritative reconciliation status. */
|
|
55
57
|
getPromptStatus?(selector: { commandId?: string; turnId?: string; clientRef?: string }): unknown | Promise<unknown>;
|
|
56
58
|
getSkillInvokeStatus?(selector: {
|
|
@@ -152,6 +154,7 @@ const sources: Record<string, { resource: string; method: keyof SessionSurface;
|
|
|
152
154
|
Q25: { resource: "jobs", method: "getJobs", mvcc: false },
|
|
153
155
|
Q29: { resource: "activeProviders", method: "getActiveProviders", mvcc: false },
|
|
154
156
|
Q27: { resource: "modelProfiles", method: "getModelProfiles", mvcc: true },
|
|
157
|
+
Q32: { resource: "progress", method: "getProjectProgress", mvcc: false },
|
|
155
158
|
};
|
|
156
159
|
const names = [
|
|
157
160
|
"transcript.list",
|
|
@@ -186,6 +189,7 @@ const names = [
|
|
|
186
189
|
"providers.list/active",
|
|
187
190
|
"session.checkpoint",
|
|
188
191
|
"turn.steer_status",
|
|
192
|
+
"session.progress",
|
|
189
193
|
];
|
|
190
194
|
|
|
191
195
|
export class QueryHandlers {
|
|
@@ -275,6 +279,10 @@ export class QueryHandlers {
|
|
|
275
279
|
);
|
|
276
280
|
if (query === "Q29" && typeof this.surface.getActiveProviders !== "function")
|
|
277
281
|
return this.#error(request, "unavailable", false, "providers.list/active is unavailable for this session.");
|
|
282
|
+
if (query === "Q32" && request.input && Object.keys(request.input).length > 0)
|
|
283
|
+
return this.#error(request, "invalid_request", false, "session.progress does not accept input fields.");
|
|
284
|
+
if (query === "Q32" && typeof this.surface.getProjectProgress !== "function")
|
|
285
|
+
return this.#error(request, "unavailable", false, "session.progress is unavailable for this session.");
|
|
278
286
|
const source = sources[query];
|
|
279
287
|
if (!source) return this.#error(request, "invalid_request");
|
|
280
288
|
return await this.#pageSource(request, query, source);
|