@gajae-code/coding-agent 0.11.11 → 0.12.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 +131 -4
- package/dist/types/async/job-manager.d.ts +17 -3
- package/dist/types/cli/read-cli.d.ts +1 -0
- package/dist/types/commands/deep-interview.d.ts +9 -0
- package/dist/types/commands/harness.d.ts +22 -0
- package/dist/types/commands/read.d.ts +6 -0
- package/dist/types/config/model-registry.d.ts +4 -0
- package/dist/types/config/provider-auth-health.d.ts +14 -0
- package/dist/types/config/provider-ranking.d.ts +59 -0
- package/dist/types/config/settings-schema.d.ts +83 -1
- package/dist/types/config/settings.d.ts +2 -0
- package/dist/types/exa/mcp-client.d.ts +10 -1
- package/dist/types/exec/bash-executor.d.ts +45 -12
- package/dist/types/extensibility/extensions/types.d.ts +38 -4
- package/dist/types/extensibility/gjc-plugins/index.d.ts +12 -2
- package/dist/types/extensibility/gjc-plugins/installer.d.ts +63 -7
- package/dist/types/extensibility/gjc-plugins/lifecycle-reconciliation.d.ts +55 -0
- package/dist/types/extensibility/gjc-plugins/lifecycle.d.ts +64 -0
- package/dist/types/extensibility/gjc-plugins/runtime-quarantine.d.ts +67 -0
- package/dist/types/extensibility/gjc-plugins/session-validation.d.ts +3 -1
- package/dist/types/extensibility/gjc-plugins/types.d.ts +124 -0
- package/dist/types/extensibility/shared-events.d.ts +6 -0
- package/dist/types/gjc-runtime/deep-interview-ambiguity.d.ts +5 -12
- package/dist/types/gjc-runtime/deep-interview-recorder.d.ts +17 -32
- package/dist/types/gjc-runtime/deep-interview-stage.d.ts +37 -0
- package/dist/types/gjc-runtime/deep-interview-state.d.ts +4 -135
- package/dist/types/gjc-runtime/gc-runtime.d.ts +1 -1
- package/dist/types/gjc-runtime/launch-tmux.d.ts +1 -0
- package/dist/types/gjc-runtime/memory-guard-owner-claims.d.ts +47 -0
- package/dist/types/gjc-runtime/ralplan-runtime.d.ts +70 -1
- package/dist/types/gjc-runtime/state-writer.d.ts +5 -46
- package/dist/types/gjc-runtime/team-launch.d.ts +1 -1
- package/dist/types/gjc-runtime/team-runtime.d.ts +27 -1
- package/dist/types/gjc-runtime/team-store.d.ts +12 -0
- package/dist/types/gjc-runtime/team-worker-heartbeat.d.ts +43 -0
- package/dist/types/gjc-runtime/team-worker-memory-guard.d.ts +92 -0
- package/dist/types/gjc-runtime/tmux-owner-isolation.d.ts +17 -0
- package/dist/types/gjc-runtime/ultragoal-receipt-freshness.d.ts +8 -0
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +31 -80
- package/dist/types/gjc-runtime/workflow-manifest.d.ts +3 -5
- package/dist/types/internal-urls/local-root-gc.d.ts +2 -0
- package/dist/types/main.d.ts +1 -1
- package/dist/types/memories/index.d.ts +2 -0
- package/dist/types/modes/acp/acp-agent.d.ts +10 -19
- package/dist/types/modes/components/assistant-message.d.ts +3 -1
- package/dist/types/modes/components/gjc-bundle-settings.d.ts +34 -0
- package/dist/types/modes/components/irc-sidebar.d.ts +41 -0
- package/dist/types/modes/components/notifications-settings-editor.d.ts +1 -0
- package/dist/types/modes/components/read-tool-group.d.ts +4 -4
- package/dist/types/modes/components/session-observer-overlay.d.ts +22 -0
- package/dist/types/modes/components/settings-selector.d.ts +11 -0
- package/dist/types/modes/components/status-line/gh.d.ts +5 -0
- package/dist/types/modes/components/tool-execution.d.ts +8 -0
- package/dist/types/modes/components/transcript-viewer-overlay.d.ts +18 -1
- package/dist/types/modes/controllers/event-controller.d.ts +3 -0
- package/dist/types/modes/interactive-mode.d.ts +2 -0
- package/dist/types/modes/irc-observation-ledger.d.ts +17 -1
- package/dist/types/modes/types.d.ts +2 -0
- package/dist/types/modes/utils/ui-helpers.d.ts +16 -0
- package/dist/types/reminders/star-reminder.d.ts +3 -13
- package/dist/types/runtime-mcp/manager.d.ts +1 -0
- package/dist/types/runtime-mcp/smithery-auth.d.ts +5 -0
- package/dist/types/sdk/acp/adapter.d.ts +3 -1
- package/dist/types/sdk/broker/lifecycle.d.ts +5 -0
- package/dist/types/sdk/broker/transport.d.ts +2 -0
- package/dist/types/sdk/bus/attachment-registry.d.ts +1 -0
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +4 -1
- package/dist/types/sdk/bus/config.d.ts +6 -2
- package/dist/types/sdk/bus/control-drain-lease.d.ts +52 -0
- package/dist/types/sdk/bus/index.d.ts +44 -1
- package/dist/types/sdk/bus/kind-aware-reconciliation.d.ts +44 -0
- package/dist/types/sdk/bus/lifecycle-control-runtime.d.ts +4 -0
- package/dist/types/sdk/bus/prompt-reconciliation.d.ts +2 -1
- package/dist/types/sdk/bus/reconciliation-store.d.ts +69 -0
- package/dist/types/sdk/bus/rich-draft.d.ts +1 -0
- package/dist/types/sdk/bus/rich-render.d.ts +2 -0
- package/dist/types/sdk/bus/telegram-adoption-intent.d.ts +165 -0
- package/dist/types/sdk/bus/telegram-cli.d.ts +12 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +11 -4
- package/dist/types/sdk/bus/telegram-daemon.d.ts +25 -1
- package/dist/types/sdk/bus/telegram-reference.d.ts +11 -1
- package/dist/types/sdk/bus/threaded-render.d.ts +3 -2
- package/dist/types/sdk/bus/topic-registry.d.ts +11 -1
- package/dist/types/sdk/host/control/operations.d.ts +1 -1
- package/dist/types/sdk/host/host.d.ts +2 -0
- package/dist/types/sdk/host/query/handlers.d.ts +5 -0
- package/dist/types/sdk/host/query/revision-store.d.ts +2 -0
- package/dist/types/sdk/host/reverse-leases.d.ts +1 -1
- package/dist/types/sdk/prompt-status.d.ts +23 -3
- package/dist/types/sdk/session.d.ts +6 -0
- package/dist/types/session/agent-session.d.ts +82 -12
- package/dist/types/session/artifacts.d.ts +8 -0
- package/dist/types/session/blob-store.d.ts +57 -4
- package/dist/types/session/internal/managed-session-storage.d.ts +8 -1
- package/dist/types/session/memory-guard-checkpoint-participant.d.ts +69 -0
- package/dist/types/session/session-manager.d.ts +48 -19
- package/dist/types/session/session-storage.d.ts +4 -0
- package/dist/types/session/streaming-output.d.ts +96 -12
- package/dist/types/setup/credential-import.d.ts +12 -0
- package/dist/types/skill-state/active-state.d.ts +12 -4
- package/dist/types/skill-state/workflow-hud.d.ts +9 -0
- package/dist/types/task/executor.d.ts +3 -2
- package/dist/types/task/index.d.ts +3 -1
- package/dist/types/task/provider-retry-status.d.ts +8 -0
- package/dist/types/task/receipt.d.ts +7 -1
- package/dist/types/task/types.d.ts +23 -0
- package/dist/types/tools/ask-answer-registry.d.ts +2 -2
- package/dist/types/tools/bash-interactive.d.ts +4 -1
- package/dist/types/tools/bash.d.ts +3 -1
- package/dist/types/tools/browser/launch.d.ts +7 -0
- package/dist/types/tools/fetch.d.ts +17 -1
- package/dist/types/tools/image-gen.d.ts +4 -0
- package/dist/types/tools/index.d.ts +4 -0
- package/dist/types/tools/output-meta.d.ts +44 -3
- package/dist/types/tools/path-utils.d.ts +1 -0
- package/dist/types/tools/read-internals.d.ts +12 -0
- package/dist/types/tools/read.d.ts +45 -7
- package/dist/types/tools/resource-gc.d.ts +4 -0
- package/dist/types/tools/review.d.ts +5 -7
- package/dist/types/tools/subagent.d.ts +2 -0
- package/dist/types/tools/tool-result.d.ts +7 -1
- package/dist/types/utils/gh.d.ts +13 -0
- package/dist/types/utils/image-resize.d.ts +1 -0
- package/dist/types/web/search/providers/kimi.d.ts +2 -0
- package/dist/types/web/search/providers/searxng.d.ts +7 -0
- package/dist/types/web/search/providers/xai.d.ts +2 -0
- package/package.json +11 -13
- package/scripts/acp-conformance-agent.ts +218 -0
- package/scripts/benchmark-sticky-viewport-pr1.ts +239 -0
- package/scripts/capture-gjc-bundle-settings.ts +306 -0
- package/scripts/capture-sticky-viewport-showcase.ts +292 -0
- package/scripts/generate-sdk-operation-inventory.ts +5 -0
- package/scripts/resident-memory-bench.ts +1341 -0
- package/scripts/run-acp-conformance.ts +285 -0
- package/scripts/verify-gjc-sdk-canonicalization.ts +122 -18
- package/scripts/verify-sticky-viewport-showcase.ts +611 -0
- package/src/async/job-manager.ts +78 -20
- package/src/capability/index.ts +8 -0
- package/src/cli/fast-help.ts +1 -1
- package/src/cli/plugin-cli.ts +176 -18
- package/src/cli/read-cli.ts +2 -1
- package/src/cli.ts +1 -0
- package/src/commands/deep-interview.ts +29 -9
- package/src/commands/harness.ts +35 -12
- package/src/commands/read.ts +11 -2
- package/src/commands/team.ts +20 -2
- package/src/config/file-lock.ts +11 -2
- package/src/config/model-registry.ts +21 -2
- package/src/config/provider-auth-health.ts +42 -0
- package/src/config/provider-ranking.ts +119 -0
- package/src/config/settings-schema.ts +74 -1
- package/src/config/settings.ts +246 -108
- package/src/coordinator-mcp/question-gate-codec.ts +1 -1
- package/src/coordinator-mcp/server.ts +5 -12
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +230 -82
- package/src/defaults/gjc/skills/ralplan/SKILL.md +77 -41
- package/src/defaults/gjc/skills/team/SKILL.md +3 -1
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +62 -39
- package/src/defaults/gjc/skills/ultragoal/validation-batch-contracts.md +12 -0
- package/src/defaults/gjc-defaults.ts +4 -4
- package/src/eval/py/executor.ts +7 -2
- package/src/exa/mcp-client.ts +12 -3
- package/src/exec/bash-executor.ts +144 -27
- package/src/extensibility/extensions/runner.ts +15 -0
- package/src/extensibility/extensions/types.ts +46 -5
- package/src/extensibility/gjc-plugins/constrained-hooks.ts +8 -2
- package/src/extensibility/gjc-plugins/index.ts +19 -2
- package/src/extensibility/gjc-plugins/installer.ts +189 -50
- package/src/extensibility/gjc-plugins/lifecycle-reconciliation.ts +199 -0
- package/src/extensibility/gjc-plugins/lifecycle.ts +626 -0
- package/src/extensibility/gjc-plugins/observability.ts +3 -3
- package/src/extensibility/gjc-plugins/prompt-appendix.ts +5 -1
- package/src/extensibility/gjc-plugins/runtime-adapters.ts +12 -2
- package/src/extensibility/gjc-plugins/runtime-quarantine.ts +121 -0
- package/src/extensibility/gjc-plugins/schema.ts +84 -12
- package/src/extensibility/gjc-plugins/session-validation.ts +9 -3
- package/src/extensibility/gjc-plugins/types.ts +141 -0
- package/src/extensibility/gjc-plugins/validation.ts +9 -0
- package/src/extensibility/shared-events.ts +5 -0
- package/src/gjc-runtime/deep-interview-ambiguity.ts +47 -82
- package/src/gjc-runtime/deep-interview-recorder.ts +227 -310
- package/src/gjc-runtime/deep-interview-runtime.ts +109 -270
- package/src/gjc-runtime/deep-interview-stage.ts +1016 -0
- package/src/gjc-runtime/deep-interview-state.ts +12 -943
- package/src/gjc-runtime/gc-render.ts +1 -0
- package/src/gjc-runtime/gc-runtime.ts +11 -1
- package/src/gjc-runtime/launch-tmux.ts +25 -6
- package/src/gjc-runtime/managed-owner-admission.ts +1 -1
- package/src/gjc-runtime/memory-guard-owner-claims.ts +389 -0
- package/src/gjc-runtime/ralplan-runtime.ts +1149 -98
- package/src/gjc-runtime/state-runtime.ts +2 -1
- package/src/gjc-runtime/state-writer.ts +70 -222
- package/src/gjc-runtime/team-launch.ts +42 -5
- package/src/gjc-runtime/team-runtime.ts +1085 -40
- package/src/gjc-runtime/team-store.ts +32 -0
- package/src/gjc-runtime/team-worker-heartbeat.ts +149 -0
- package/src/gjc-runtime/team-worker-memory-guard.ts +363 -0
- package/src/gjc-runtime/team-workers.ts +1 -0
- package/src/gjc-runtime/tmux-owner-isolation.ts +28 -0
- package/src/gjc-runtime/tmux-sessions.ts +58 -13
- package/src/gjc-runtime/ultragoal-receipt-freshness.ts +20 -0
- package/src/gjc-runtime/ultragoal-runtime.ts +414 -618
- package/src/gjc-runtime/workflow-manifest.generated.json +105 -449
- package/src/gjc-runtime/workflow-manifest.ts +38 -247
- package/src/hooks/native-skill-hook.ts +17 -4
- package/src/hooks/skill-state.ts +1 -23
- package/src/internal-urls/docs-index.generated.ts +21 -22
- package/src/internal-urls/local-root-gc.ts +127 -0
- package/src/main.ts +9 -5
- package/src/memories/index.ts +10 -0
- package/src/modes/DESIGN.md +98 -0
- package/src/modes/acp/acp-agent.ts +339 -191
- package/src/modes/acp/acp-event-mapper.ts +14 -7
- package/src/modes/acp/acp-mode.ts +39 -3
- package/src/modes/components/assistant-message.ts +123 -22
- package/src/modes/components/gjc-bundle-settings.ts +508 -0
- package/src/modes/components/irc-sidebar.ts +176 -62
- package/src/modes/components/model-selector.ts +61 -4
- package/src/modes/components/notifications-settings-editor.ts +12 -1
- package/src/modes/components/oauth-selector.ts +96 -28
- package/src/modes/components/read-tool-group.ts +82 -14
- package/src/modes/components/session-observer-overlay.ts +457 -83
- package/src/modes/components/settings-selector.ts +116 -23
- package/src/modes/components/status-line/gh.ts +16 -0
- package/src/modes/components/tool-execution.ts +138 -27
- package/src/modes/components/tool-status-header.ts +3 -14
- package/src/modes/components/transcript-viewer-overlay.ts +99 -24
- package/src/modes/controllers/command-controller.ts +4 -0
- package/src/modes/controllers/event-controller.ts +109 -27
- package/src/modes/controllers/extension-ui-controller.ts +26 -2
- package/src/modes/controllers/input-controller.ts +18 -3
- package/src/modes/controllers/selector-controller.ts +127 -36
- package/src/modes/interactive-mode.ts +62 -3
- package/src/modes/irc-observation-ledger.ts +71 -15
- package/src/modes/runtime-init.ts +22 -2
- package/src/modes/types.ts +2 -0
- package/src/modes/utils/ui-helpers.ts +94 -1
- package/src/prompts/agent-fragments/ralplan-persistence.md +4 -3
- package/src/prompts/agents/architect.md +9 -1
- package/src/prompts/agents/critic.md +9 -0
- package/src/prompts/system/eager-todo.md +8 -4
- package/src/prompts/system/system-prompt.md +11 -5
- package/src/prompts/tools/bash.md +5 -5
- package/src/prompts/tools/read.md +4 -2
- package/src/prompts/tools/search-tool-bm25.md +5 -0
- package/src/prompts/tools/task.md +1 -1
- package/src/reminders/star-reminder.ts +4 -42
- package/src/runtime-mcp/manager.ts +19 -4
- package/src/runtime-mcp/smithery-auth.ts +17 -2
- package/src/runtime-mcp/smithery-connect.ts +11 -1
- package/src/sdk/acp/adapter.ts +22 -6
- package/src/sdk/broker/lifecycle.ts +25 -6
- package/src/sdk/broker/transport.ts +35 -3
- package/src/sdk/bus/attachment-registry.ts +5 -1
- package/src/sdk/bus/chat-daemon-cli.ts +4 -39
- package/src/sdk/bus/chat-daemon-control.ts +6 -3
- package/src/sdk/bus/config.ts +18 -2
- package/src/sdk/bus/control-drain-lease.ts +104 -0
- package/src/sdk/bus/index.ts +984 -146
- package/src/sdk/bus/kind-aware-reconciliation.ts +317 -0
- package/src/sdk/bus/lifecycle-commands.ts +4 -1
- package/src/sdk/bus/lifecycle-control-runtime.ts +403 -88
- package/src/sdk/bus/prompt-reconciliation.ts +2 -1
- package/src/sdk/bus/reconciliation-store.ts +303 -0
- package/src/sdk/bus/rich-draft.ts +1 -1
- package/src/sdk/bus/rich-render.ts +2 -2
- package/src/sdk/bus/telegram-adoption-intent.ts +574 -0
- package/src/sdk/bus/telegram-cli.ts +33 -8
- package/src/sdk/bus/telegram-daemon-cli.ts +1 -0
- package/src/sdk/bus/telegram-daemon-contract.ts +11 -4
- package/src/sdk/bus/telegram-daemon.ts +916 -23
- package/src/sdk/bus/telegram-reference.ts +40 -3
- package/src/sdk/bus/threaded-render.ts +48 -3
- package/src/sdk/bus/topic-registry.ts +20 -0
- package/src/sdk/host/control/dispatch.ts +5 -1
- package/src/sdk/host/control/operations.ts +1 -1
- package/src/sdk/host/host.ts +23 -1
- package/src/sdk/host/query/handlers.ts +55 -0
- package/src/sdk/host/query/revision-store.ts +36 -2
- package/src/sdk/host/reverse-leases.ts +44 -7
- package/src/sdk/mcp/server.ts +46 -18
- package/src/sdk/prompt-status.ts +16 -3
- package/src/sdk/protocol/operation-inventory.generated.json +51 -0
- package/src/sdk/protocol/operation-registry.ts +7 -2
- package/src/sdk/session.ts +101 -10
- package/src/session/agent-session.ts +1286 -220
- package/src/session/artifacts.ts +22 -0
- package/src/session/auth-broker-config.ts +10 -3
- package/src/session/blob-store.ts +915 -24
- package/src/session/internal/managed-session-scope.ts +44 -6
- package/src/session/internal/managed-session-storage.ts +48 -6
- package/src/session/memory-guard-checkpoint-participant.ts +131 -0
- package/src/session/session-manager.ts +2364 -438
- package/src/session/session-storage.ts +9 -1
- package/src/session/streaming-output.ts +500 -111
- package/src/setup/credential-import.ts +75 -13
- package/src/setup/provider-onboarding.ts +19 -4
- package/src/skill-state/active-state.ts +32 -10
- package/src/skill-state/workflow-hud.ts +42 -2
- package/src/skill-state/workflow-mutation-guard.ts +560 -8
- package/src/task/executor.ts +122 -39
- package/src/task/index.ts +23 -14
- package/src/task/provider-retry-status.ts +16 -0
- package/src/task/receipt.ts +23 -7
- package/src/task/render.ts +6 -2
- package/src/task/types.ts +108 -0
- package/src/tools/ask-answer-registry.ts +12 -6
- package/src/tools/ask.ts +169 -118
- package/src/tools/ast-edit.ts +1 -0
- package/src/tools/ast-grep.ts +1 -0
- package/src/tools/bash-interactive.ts +8 -3
- package/src/tools/bash.ts +503 -60
- package/src/tools/browser/launch.ts +41 -6
- package/src/tools/fetch.ts +114 -23
- package/src/tools/find.ts +1 -0
- package/src/tools/image-gen.ts +29 -5
- package/src/tools/index.ts +4 -0
- package/src/tools/output-meta.ts +281 -20
- package/src/tools/path-utils.ts +8 -3
- package/src/tools/read-internals.ts +44 -0
- package/src/tools/read.ts +1560 -310
- package/src/tools/resource-gc.ts +182 -18
- package/src/tools/review.ts +5 -7
- package/src/tools/search.ts +1 -0
- package/src/tools/subagent-render.ts +6 -2
- package/src/tools/subagent.ts +6 -0
- package/src/tools/telegram-send.ts +6 -3
- package/src/tools/tool-result.ts +14 -1
- package/src/utils/gh.ts +39 -0
- package/src/utils/image-resize.ts +3 -0
- package/src/web/search/providers/anthropic.ts +4 -4
- package/src/web/search/providers/codex.ts +1 -1
- package/src/web/search/providers/kimi.ts +15 -5
- package/src/web/search/providers/searxng.ts +47 -4
- package/src/web/search/providers/xai.ts +7 -2
- package/dist/types/gjc-runtime/deep-interview-draft.d.ts +0 -8
- package/dist/types/gjc-runtime/deep-interview-payload.d.ts +0 -41
- package/dist/types/gjc-runtime/deep-interview-repair.d.ts +0 -17
- package/dist/types/gjc-runtime/ultragoal-pipeline.d.ts +0 -23
- package/src/defaults/gjc/skills/ultragoal/pipeline-validation-contracts.md +0 -30
- package/src/gjc-runtime/deep-interview-draft.ts +0 -843
- package/src/gjc-runtime/deep-interview-payload.ts +0 -262
- package/src/gjc-runtime/deep-interview-repair.ts +0 -1674
- package/src/gjc-runtime/ultragoal-pipeline.ts +0 -306
|
@@ -186,6 +186,7 @@ export interface WorkerHeartbeatFile {
|
|
|
186
186
|
last_turn_at: string;
|
|
187
187
|
turn_count: number;
|
|
188
188
|
alive: boolean;
|
|
189
|
+
process_start_time?: string;
|
|
189
190
|
}
|
|
190
191
|
export interface GjcWorkerIntegrationAttemptRequestResult {
|
|
191
192
|
requested: boolean;
|
|
@@ -199,7 +200,14 @@ export interface GjcWorkerIntegrationAttemptRequestResult {
|
|
|
199
200
|
export interface GjcWorkerIntegrationAttemptOptions {
|
|
200
201
|
signal?: AbortSignal;
|
|
201
202
|
}
|
|
202
|
-
export declare const GJC_TEAM_API_OPERATIONS: readonly ["send-message", "broadcast", "mailbox-list", "mailbox-mark-delivered", "mailbox-mark-notified", "notification-list", "notification-read", "notification-replay", "notification-mark-pane-attempt", "worker-startup-ack", "create-task", "read-task", "list-tasks", "update-task", "claim-task", "transition-task-status", "transition-task", "release-task-claim", "read-config", "read-manifest", "read-worker-status", "update-worker-status", "read-worker-heartbeat", "recover-stale-claims", "update-worker-heartbeat", "write-worker-inbox", "write-worker-identity", "append-event", "read-events", "read-traces", "await-event", "write-shutdown-request", "read-shutdown-ack", "read-monitor-snapshot", "write-monitor-snapshot", "read-task-approval", "write-task-approval"];
|
|
203
|
+
export declare const GJC_TEAM_API_OPERATIONS: readonly ["send-message", "broadcast", "mailbox-list", "mailbox-mark-delivered", "mailbox-mark-notified", "notification-list", "notification-read", "notification-replay", "notification-mark-pane-attempt", "worker-startup-ack", "create-task", "read-task", "list-tasks", "update-task", "claim-task", "transition-task-status", "transition-task", "release-task-claim", "read-config", "read-manifest", "read-worker-status", "update-worker-status", "read-worker-heartbeat", "recover-stale-claims", "update-worker-heartbeat", "read-worker-memory-guard", "update-worker-memory-guard", "apply-worker-memory-guard", "write-worker-inbox", "write-worker-identity", "append-event", "read-events", "read-traces", "await-event", "write-shutdown-request", "read-shutdown-ack", "read-monitor-snapshot", "write-monitor-snapshot", "read-task-approval", "write-task-approval"];
|
|
204
|
+
export type GjcTeamApiOperation = (typeof GJC_TEAM_API_OPERATIONS)[number];
|
|
205
|
+
export declare class UnknownGjcTeamApiOperationError extends Error {
|
|
206
|
+
readonly code = "unknown_team_api_operation";
|
|
207
|
+
readonly operation: string;
|
|
208
|
+
readonly suggestions: readonly string[];
|
|
209
|
+
constructor(operation: string, suggestions: readonly string[]);
|
|
210
|
+
}
|
|
203
211
|
export interface GjcTeamRuntimeTestSeams {
|
|
204
212
|
nowMs?: () => number;
|
|
205
213
|
continuationTmuxDispatch?: (command: string, args: readonly string[]) => {
|
|
@@ -224,6 +232,16 @@ export declare function resolveWorkerWorktreePath(input: {
|
|
|
224
232
|
platform: NodeJS.Platform;
|
|
225
233
|
isPsmux: boolean;
|
|
226
234
|
}): string;
|
|
235
|
+
/**
|
|
236
|
+
* Check whether the current process can launch a team without changing tmux state.
|
|
237
|
+
* Unlike the launch path, this never adopts or tags an unmanaged tmux session.
|
|
238
|
+
*/
|
|
239
|
+
export declare function probeGjcTeamAvailability(env?: NodeJS.ProcessEnv): {
|
|
240
|
+
available: true;
|
|
241
|
+
} | {
|
|
242
|
+
available: false;
|
|
243
|
+
reason: string;
|
|
244
|
+
};
|
|
227
245
|
export declare function resolveGjcWorkerCommand(cwd?: string, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform, argv?: string[], execPath?: string): string;
|
|
228
246
|
export { buildWorkerCommand } from "./team-launch";
|
|
229
247
|
export type GjcWorkerCheckpointClassification = {
|
|
@@ -256,6 +274,8 @@ export declare function requestGjcWorkerIntegrationAttempt(cwd?: string, env?: N
|
|
|
256
274
|
export declare function buildTeamHudSummary(snapshot: GjcTeamSnapshot, latestEvent?: GjcTeamEvent, latestMessage?: GjcTeamMailboxMessage): Promise<WorkflowHudSummary>;
|
|
257
275
|
export declare function monitorGjcTeam(teamName: string, cwd?: string, env?: NodeJS.ProcessEnv): Promise<GjcTeamSnapshot>;
|
|
258
276
|
export declare function listGjcTeams(cwd?: string, env?: NodeJS.ProcessEnv): Promise<GjcTeamSnapshot[]>;
|
|
277
|
+
/** Positive stale windows are clamped so a worker can publish strictly before expiry. */
|
|
278
|
+
export declare function parseHeartbeatStaleMs(env: NodeJS.ProcessEnv): number;
|
|
259
279
|
export declare function shutdownGjcTeam(teamName: string, cwd?: string, env?: NodeJS.ProcessEnv): Promise<GjcTeamSnapshot>;
|
|
260
280
|
export declare function listGjcTeamTasks(teamName: string, cwd?: string, env?: NodeJS.ProcessEnv): Promise<GjcTeamTask[]>;
|
|
261
281
|
export declare function readGjcTeamTask(teamName: string, taskId: string, cwd?: string, env?: NodeJS.ProcessEnv): Promise<GjcTeamTask>;
|
|
@@ -277,6 +297,12 @@ export declare const readGjcWorkerStatus: (teamName: string, worker: string, cwd
|
|
|
277
297
|
export declare function updateGjcWorkerStatus(teamName: string, worker: string, status: GjcWorkerStatusState, cwd?: string, env?: NodeJS.ProcessEnv, currentTaskId?: string, reason?: string): Promise<WorkerStatusFile>;
|
|
278
298
|
export declare const readGjcWorkerHeartbeat: (teamName: string, worker: string, cwd?: string, env?: NodeJS.ProcessEnv) => Promise<WorkerHeartbeatFile | null>;
|
|
279
299
|
export declare function updateGjcWorkerHeartbeat(teamName: string, worker: string, heartbeat: WorkerHeartbeatFile, cwd?: string, env?: NodeJS.ProcessEnv): Promise<WorkerHeartbeatFile>;
|
|
300
|
+
/**
|
|
301
|
+
* Refresh liveness without discarding metadata written by other heartbeat
|
|
302
|
+
* producers. The read/merge/write sequence shares the team mutation fence with
|
|
303
|
+
* CLI heartbeat updates, so a runtime tick cannot overwrite a newer turn count.
|
|
304
|
+
*/
|
|
305
|
+
export declare function refreshGjcWorkerHeartbeat(teamName: string, worker: string, pid: number, cwd?: string, env?: NodeJS.ProcessEnv): Promise<WorkerHeartbeatFile>;
|
|
280
306
|
export declare function writeGjcWorkerInbox(teamName: string, worker: string, content: string, cwd?: string, env?: NodeJS.ProcessEnv): Promise<{
|
|
281
307
|
path: string;
|
|
282
308
|
}>;
|
|
@@ -107,6 +107,18 @@ export interface GjcTeamApiClaimResult {
|
|
|
107
107
|
claim_token?: string;
|
|
108
108
|
reason?: string;
|
|
109
109
|
}
|
|
110
|
+
export type GjcTeamWorkerClaimSelection = {
|
|
111
|
+
kind: "none";
|
|
112
|
+
} | {
|
|
113
|
+
kind: "exact";
|
|
114
|
+
task: GjcTeamTask;
|
|
115
|
+
claim: GjcTeamTaskClaim;
|
|
116
|
+
} | {
|
|
117
|
+
kind: "ambiguous";
|
|
118
|
+
tasks: GjcTeamTask[];
|
|
119
|
+
};
|
|
120
|
+
export declare function selectCurrentClaimedTaskForWorker(tasks: readonly GjcTeamTask[], workerId: string): GjcTeamWorkerClaimSelection;
|
|
121
|
+
export declare function findGjcTeamClaimedTaskForWorker(tasks: readonly GjcTeamTask[], workerId: string): GjcTeamTask | undefined;
|
|
110
122
|
type EventAppender = (event: {
|
|
111
123
|
type: string;
|
|
112
124
|
task_id?: string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type WorkerHeartbeatFile } from "./team-runtime";
|
|
2
|
+
export interface GjcTeamWorkerIdentity {
|
|
3
|
+
teamName: string;
|
|
4
|
+
workerId: string;
|
|
5
|
+
}
|
|
6
|
+
/** Resolves the team identity injected into a worker pane by `gjc team` startup. */
|
|
7
|
+
export declare function resolveGjcTeamWorkerIdentity(env?: NodeJS.ProcessEnv): GjcTeamWorkerIdentity | undefined;
|
|
8
|
+
/** Refresh cadence derived from the leader's stale window; `0` disables publishing. */
|
|
9
|
+
export declare function resolveGjcTeamWorkerHeartbeatIntervalMs(env?: NodeJS.ProcessEnv): number;
|
|
10
|
+
/**
|
|
11
|
+
* Publish one runtime-owned heartbeat for the worker this process is running as.
|
|
12
|
+
* Returns `undefined` when the process is not a team worker.
|
|
13
|
+
*
|
|
14
|
+
* `turn_count` and process-incarnation metadata are merged under the same
|
|
15
|
+
* mutation fence used by CLI heartbeat updates.
|
|
16
|
+
*/
|
|
17
|
+
export declare function writeGjcTeamWorkerRuntimeHeartbeat(cwd?: string, env?: NodeJS.ProcessEnv): Promise<WorkerHeartbeatFile | undefined>;
|
|
18
|
+
export interface GjcTeamWorkerHeartbeatReporterOptions {
|
|
19
|
+
write: () => Promise<void>;
|
|
20
|
+
intervalMs: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Publishes a worker heartbeat while a turn is in flight.
|
|
24
|
+
*
|
|
25
|
+
* Writes never overlap; a slow or failing write is logged and skipped rather
|
|
26
|
+
* than queued, because only the most recent record matters. The timer is
|
|
27
|
+
* unreferenced so it can never hold the process open.
|
|
28
|
+
*/
|
|
29
|
+
export declare class GjcTeamWorkerHeartbeatReporter {
|
|
30
|
+
#private;
|
|
31
|
+
constructor(options: GjcTeamWorkerHeartbeatReporterOptions);
|
|
32
|
+
/** Reporter for the current process, or `undefined` when it is not a team worker. */
|
|
33
|
+
static forProcess(cwd: () => string, env?: NodeJS.ProcessEnv): GjcTeamWorkerHeartbeatReporter | undefined;
|
|
34
|
+
get isRunning(): boolean;
|
|
35
|
+
/** Publish immediately, then keep publishing until {@link stop} or {@link dispose}. */
|
|
36
|
+
start(): void;
|
|
37
|
+
/** Stop periodic publishing after one final record, so the idle stamp is fresh. */
|
|
38
|
+
stop(): void;
|
|
39
|
+
/** Await the write in flight, if any. */
|
|
40
|
+
flush(): Promise<void>;
|
|
41
|
+
/** Permanently stop publishing. Idempotent. */
|
|
42
|
+
dispose(): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { type StateWriterOptions } from "./state-writer";
|
|
2
|
+
export type GjcTeamWorkerMemoryGuardState = "idle" | "advisory" | "retrying" | "checkpointed" | "replaced" | "blocked";
|
|
3
|
+
export type GjcTeamWorkerMemoryGuardCheckpointKind = "clean" | "eligible" | "protected_only" | "conflicted" | "git_error";
|
|
4
|
+
export type GjcTeamWorkerMemoryGuardPidProbe = {
|
|
5
|
+
kind: "live";
|
|
6
|
+
start_time: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "absent";
|
|
9
|
+
} | {
|
|
10
|
+
kind: "unverifiable";
|
|
11
|
+
reason: string;
|
|
12
|
+
};
|
|
13
|
+
export interface GjcTeamWorkerMemoryGuardCheckpoint {
|
|
14
|
+
kind: GjcTeamWorkerMemoryGuardCheckpointKind;
|
|
15
|
+
files: string[];
|
|
16
|
+
head?: string | null;
|
|
17
|
+
commit?: string | null;
|
|
18
|
+
recorded_at: string;
|
|
19
|
+
}
|
|
20
|
+
export interface GjcTeamWorkerMemoryGuardReplacement {
|
|
21
|
+
old_pane_id?: string;
|
|
22
|
+
new_pane_id?: string;
|
|
23
|
+
recorded_at: string;
|
|
24
|
+
}
|
|
25
|
+
export interface GjcTeamWorkerMemoryGuardLedger {
|
|
26
|
+
schema_version: 1;
|
|
27
|
+
worker_id: string;
|
|
28
|
+
platform: string;
|
|
29
|
+
state: GjcTeamWorkerMemoryGuardState;
|
|
30
|
+
automatic_action_allowed: boolean;
|
|
31
|
+
retry_count: number;
|
|
32
|
+
retry_limit: number;
|
|
33
|
+
current_task_id?: string;
|
|
34
|
+
last_incident_id?: string;
|
|
35
|
+
last_reason?: string;
|
|
36
|
+
last_pid_probe?: GjcTeamWorkerMemoryGuardPidProbe;
|
|
37
|
+
last_checkpoint?: GjcTeamWorkerMemoryGuardCheckpoint;
|
|
38
|
+
last_replacement?: GjcTeamWorkerMemoryGuardReplacement;
|
|
39
|
+
updated_at: string;
|
|
40
|
+
}
|
|
41
|
+
export interface GjcTeamWorkerMemoryGuardSelectionCandidate {
|
|
42
|
+
worker_id: string;
|
|
43
|
+
platform: string;
|
|
44
|
+
excess_bytes: number;
|
|
45
|
+
retry_count: number;
|
|
46
|
+
retry_limit: number;
|
|
47
|
+
blocked?: boolean;
|
|
48
|
+
current_task_id?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface GjcTeamWorkerMemoryGuardSelection {
|
|
51
|
+
worker_id: string;
|
|
52
|
+
excess_bytes: number;
|
|
53
|
+
retry_count: number;
|
|
54
|
+
current_task_id?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function workerMemoryGuardLedgerPath(dir: string, workerId: string): string;
|
|
57
|
+
export declare function normalizeGjcTeamWorkerMemoryGuardPidProbe(value: unknown): GjcTeamWorkerMemoryGuardPidProbe | undefined;
|
|
58
|
+
export declare function isCanonicalGjcTeamWorkerMemoryGuardCheckpoint(value: unknown): value is GjcTeamWorkerMemoryGuardCheckpoint;
|
|
59
|
+
export declare function isCanonicalGjcTeamWorkerMemoryGuardReplacement(value: unknown): value is GjcTeamWorkerMemoryGuardReplacement;
|
|
60
|
+
export declare function isCanonicalGjcTeamWorkerMemoryGuardPidProbe(value: unknown): value is GjcTeamWorkerMemoryGuardPidProbe;
|
|
61
|
+
export declare function isCanonicalGjcTeamWorkerMemoryGuardLedger(value: unknown): value is GjcTeamWorkerMemoryGuardLedger;
|
|
62
|
+
export declare function createInitialGjcTeamWorkerMemoryGuardLedger(input: {
|
|
63
|
+
workerId: string;
|
|
64
|
+
platform: string;
|
|
65
|
+
now: string;
|
|
66
|
+
retryLimit?: number;
|
|
67
|
+
}): GjcTeamWorkerMemoryGuardLedger;
|
|
68
|
+
export declare function selectGjcTeamWorkerMemoryGuardCandidate(candidates: readonly GjcTeamWorkerMemoryGuardSelectionCandidate[]): GjcTeamWorkerMemoryGuardSelection | undefined;
|
|
69
|
+
export type TeamWorkerMemoryGuardAction = "advisory" | "replace" | "blocked";
|
|
70
|
+
export type TeamWorkerMemoryGuardResult = "noop" | "scheduled" | "succeeded" | "failed" | "blocked";
|
|
71
|
+
export interface TeamWorkerMemoryGuardLedgerEntry {
|
|
72
|
+
schema_version: 1;
|
|
73
|
+
recorded_at: string;
|
|
74
|
+
incident_id: string;
|
|
75
|
+
team_name: string;
|
|
76
|
+
worker_id: string;
|
|
77
|
+
task_id: string;
|
|
78
|
+
claim_token: string;
|
|
79
|
+
attempt: number;
|
|
80
|
+
platform: NodeJS.Platform;
|
|
81
|
+
action: TeamWorkerMemoryGuardAction;
|
|
82
|
+
result: TeamWorkerMemoryGuardResult;
|
|
83
|
+
reason: string;
|
|
84
|
+
}
|
|
85
|
+
export declare function isCanonicalTeamWorkerMemoryGuardLedgerEntry(value: unknown): value is TeamWorkerMemoryGuardLedgerEntry;
|
|
86
|
+
export declare function teamWorkerMemoryGuardDir(workerDirPath: string): string;
|
|
87
|
+
export declare function teamWorkerMemoryGuardLedgerPath(workerDirPath: string): string;
|
|
88
|
+
export declare function canMutateTeamWorkerMemoryGuard(platform: NodeJS.Platform): boolean;
|
|
89
|
+
export declare function advisoryReasonForTeamWorkerMemoryGuard(platform: NodeJS.Platform): string | undefined;
|
|
90
|
+
export declare function appendTeamWorkerMemoryGuardLedgerEntry(workerDirPath: string, entry: TeamWorkerMemoryGuardLedgerEntry, options?: StateWriterOptions): Promise<string>;
|
|
91
|
+
export declare function readTeamWorkerMemoryGuardLedger(workerDirPath: string): Promise<TeamWorkerMemoryGuardLedgerEntry[]>;
|
|
92
|
+
export declare function nextTeamWorkerMemoryGuardAttempt(entries: readonly TeamWorkerMemoryGuardLedgerEntry[], incidentId: string): number;
|
|
@@ -31,6 +31,16 @@ export interface TmuxServerProof {
|
|
|
31
31
|
startTime?: string;
|
|
32
32
|
cgroup?: CgroupInfo;
|
|
33
33
|
sessionNames?: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Whether `pid` is kernel-proved evidence about the live tmux server.
|
|
36
|
+
*
|
|
37
|
+
* Only Linux can prove a server PID (`/proc` + cgroup classification), so
|
|
38
|
+
* probes on other platforms may report a placeholder PID with this flag set
|
|
39
|
+
* to `false`. Guards must not build a `#{pid}` predicate from an unproven
|
|
40
|
+
* PID: no live tmux server can ever satisfy it. Omitted means proven, which
|
|
41
|
+
* keeps every probe that reads a real `#{pid}` unchanged.
|
|
42
|
+
*/
|
|
43
|
+
pidProven?: boolean;
|
|
34
44
|
}
|
|
35
45
|
export interface PlanRequest {
|
|
36
46
|
schema_version: 1;
|
|
@@ -267,6 +277,13 @@ export interface LifecyclePaths {
|
|
|
267
277
|
journalFile: string;
|
|
268
278
|
}
|
|
269
279
|
export declare function lifecyclePaths(stateDir: string, sessionId: string, generation: string): LifecyclePaths;
|
|
280
|
+
export interface MemoryGuardClaimPaths {
|
|
281
|
+
root: string;
|
|
282
|
+
databaseFile: string;
|
|
283
|
+
walFile: string;
|
|
284
|
+
shmFile: string;
|
|
285
|
+
}
|
|
286
|
+
export declare function memoryGuardClaimPaths(stateDir: string, sessionId: string): MemoryGuardClaimPaths;
|
|
270
287
|
export declare function replaceOwnerGeneration(stateDir: string, sessionId: string, generation?: string, expectedBaseline?: OwnerGenerationBaseline): Promise<string>;
|
|
271
288
|
export type OwnerGenerationBaseline = {
|
|
272
289
|
state: "absent";
|
|
@@ -39,6 +39,14 @@ export declare function computeUltragoalPlanGeneration(input: {
|
|
|
39
39
|
basis: UltragoalCompletionVerification["basis"];
|
|
40
40
|
};
|
|
41
41
|
export declare function findLedgerReceiptEvent(ledger: readonly UltragoalLedgerEvent[], receipt: UltragoalCompletionVerification): UltragoalLedgerEvent | null;
|
|
42
|
+
/**
|
|
43
|
+
* A final-aggregate receipt whose recorded ledger checkpoint quality gate is
|
|
44
|
+
* missing a clean `criticReview` OKAY can never satisfy the completion guard,
|
|
45
|
+
* yet is not "stale" under {@link validateReceiptFreshBase}. Detect it so an
|
|
46
|
+
* identical-evidence complete replay can re-verify and re-mint with a
|
|
47
|
+
* corrected gate instead of no-opping into a permanently blocked run.
|
|
48
|
+
*/
|
|
49
|
+
export declare function finalAggregateReceiptMissingCriticOkay(ledger: readonly UltragoalLedgerEvent[], receipt: UltragoalCompletionVerification): boolean;
|
|
42
50
|
export declare function validateReceiptFreshBase(input: {
|
|
43
51
|
plan: UltragoalPlan;
|
|
44
52
|
ledger: readonly UltragoalLedgerEvent[];
|
|
@@ -5,37 +5,6 @@ export { CRITIC_GATE_HARD_STOP_EVENT, CRITIC_GATE_OVERRIDE_EVENT, CRITIC_VERDICT
|
|
|
5
5
|
export { captureUltragoalRecoverySnapshot, parseStrictTerminalTranscript, persistUltragoalRecoveryDecision, planUltragoalOwnerLossRecovery, type UltragoalOwnerLossReceipt, type UltragoalRecoveryBinding, type UltragoalRecoveryDecision, type UltragoalRecoverySnapshot, validateOwnerLossBinding, validateRawUltragoalEvidence, validateRecoveryAdmission, validateRecoveryPath, } from "./ultragoal-owner-loss-recovery";
|
|
6
6
|
export type UltragoalGjcGoalMode = "aggregate" | "per-story";
|
|
7
7
|
export type UltragoalGoalStatus = "pending" | "active" | "complete" | "failed" | "blocked" | "review_blocked" | "superseded";
|
|
8
|
-
export type UltragoalPipelineMetadataSource = "original_plan_graph" | "legacy_brief_only" | "steering";
|
|
9
|
-
export type UltragoalPipelineOverlapState = "none" | "open" | "joined_clean" | "blocked_disjoint_continue" | "quarantine_required" | "rebaseline_complete";
|
|
10
|
-
export interface UltragoalPipelineTargets extends JsonObject {
|
|
11
|
-
files: string[];
|
|
12
|
-
surfaces: string[];
|
|
13
|
-
}
|
|
14
|
-
export interface UltragoalPipelineMetadata extends JsonObject {
|
|
15
|
-
schemaVersion: 1;
|
|
16
|
-
goalId: string;
|
|
17
|
-
source: UltragoalPipelineMetadataSource;
|
|
18
|
-
eligible: boolean;
|
|
19
|
-
dependsOn: string[];
|
|
20
|
-
independentOf: string[];
|
|
21
|
-
targets: UltragoalPipelineTargets;
|
|
22
|
-
metadataHash: string;
|
|
23
|
-
overlap: UltragoalPipelineOverlapState;
|
|
24
|
-
overlapId?: string;
|
|
25
|
-
priorGoalId?: string;
|
|
26
|
-
nextGoalId?: string;
|
|
27
|
-
blockerFootprints?: UltragoalPipelineTargets[];
|
|
28
|
-
invalidationReason?: string;
|
|
29
|
-
invalidatedAt?: string;
|
|
30
|
-
}
|
|
31
|
-
export interface UltragoalGoalMetadataInput {
|
|
32
|
-
schemaVersion: 1;
|
|
33
|
-
goalId: string;
|
|
34
|
-
source: UltragoalPipelineMetadataSource;
|
|
35
|
-
dependsOn?: string[];
|
|
36
|
-
independentOf?: string[];
|
|
37
|
-
targets?: Partial<UltragoalPipelineTargets>;
|
|
38
|
-
}
|
|
39
8
|
export interface UltragoalValidationBatchMetadata extends JsonObject {
|
|
40
9
|
schemaVersion: 1;
|
|
41
10
|
batchId: string;
|
|
@@ -50,31 +19,6 @@ export interface UltragoalValidationBatchInput {
|
|
|
50
19
|
memberIds: string[];
|
|
51
20
|
finalGoalId: string;
|
|
52
21
|
}
|
|
53
|
-
export interface UltragoalPipelineOverlapHandles extends JsonObject {
|
|
54
|
-
review: JsonObject;
|
|
55
|
-
qa: JsonObject;
|
|
56
|
-
implementation: JsonObject;
|
|
57
|
-
}
|
|
58
|
-
export interface UltragoalPipelineOverlapReceipt extends JsonObject {
|
|
59
|
-
ok: true;
|
|
60
|
-
event: string;
|
|
61
|
-
overlap_id: string;
|
|
62
|
-
prior_goal_id: string;
|
|
63
|
-
next_goal_id?: string;
|
|
64
|
-
goal_id?: string;
|
|
65
|
-
status?: UltragoalPipelineOverlapState;
|
|
66
|
-
next_goal_status?: UltragoalGoalStatus;
|
|
67
|
-
goals_path: string;
|
|
68
|
-
ledger_path: string;
|
|
69
|
-
}
|
|
70
|
-
export type UltragoalPipelineLedgerEventName = "pipeline_overlap_started" | "pipeline_overlap_joined" | "pipeline_overlap_blocked" | "pipeline_overlap_quarantined" | "pipeline_overlap_rebaselined";
|
|
71
|
-
export interface UltragoalPipelineLedgerEvent extends UltragoalLedgerEvent {
|
|
72
|
-
event: UltragoalPipelineLedgerEventName;
|
|
73
|
-
schemaVersion: 1;
|
|
74
|
-
overlapId: string;
|
|
75
|
-
priorGoalId: string;
|
|
76
|
-
nextGoalId: string;
|
|
77
|
-
}
|
|
78
22
|
export interface UltragoalGoal {
|
|
79
23
|
id: string;
|
|
80
24
|
title: string;
|
|
@@ -87,7 +31,6 @@ export interface UltragoalGoal {
|
|
|
87
31
|
evidence?: string;
|
|
88
32
|
steering?: Record<string, unknown>;
|
|
89
33
|
completionVerification?: UltragoalCompletionVerification;
|
|
90
|
-
pipelineMetadata?: UltragoalPipelineMetadata;
|
|
91
34
|
validationBatch?: UltragoalValidationBatchMetadata;
|
|
92
35
|
}
|
|
93
36
|
export interface UltragoalPlan {
|
|
@@ -204,7 +147,6 @@ export interface UltragoalStatusSummary {
|
|
|
204
147
|
nudgeRemaining?: number;
|
|
205
148
|
nudgeGoalId?: string;
|
|
206
149
|
nudgeTargetKind?: UltragoalNudgeTargetKind;
|
|
207
|
-
pipelineOverlap?: JsonObject;
|
|
208
150
|
}
|
|
209
151
|
export interface UltragoalCommandResult {
|
|
210
152
|
reviewBlockerGoalIds?: string[];
|
|
@@ -267,22 +209,6 @@ export declare function recordUltragoalNudgeIfBudgetRemaining(input: {
|
|
|
267
209
|
export declare function writePlan(cwd: string, plan: UltragoalPlan, sessionId?: string | null): Promise<void>;
|
|
268
210
|
export declare function nonEmptyString(value: unknown): string | null;
|
|
269
211
|
export declare function stringArray(value: unknown): string[] | null;
|
|
270
|
-
export declare function hashPipelineMetadata(metadata: Omit<UltragoalPipelineMetadata, "metadataHash">): string;
|
|
271
|
-
export declare function validateValidationBatchPipelineExclusion(goal: UltragoalGoal): void;
|
|
272
|
-
export declare function targetsAreDisjoint(left: UltragoalPipelineTargets, right: UltragoalPipelineTargets): boolean;
|
|
273
|
-
export declare function targetsOverlap(left: UltragoalPipelineTargets, right: UltragoalPipelineTargets): boolean;
|
|
274
|
-
export declare function requireNonEmptyPipelineTargets(value: unknown, fieldName: string): UltragoalPipelineTargets;
|
|
275
|
-
export declare function collectPipelineBlockerFootprints(result: JsonObject, fieldName: string): UltragoalPipelineTargets[];
|
|
276
|
-
export declare function pipelinePeer(plan: UltragoalPlan, metadata: UltragoalPipelineMetadata): UltragoalGoal | undefined;
|
|
277
|
-
export declare function handleIdsFromValue(value: JsonObject | JsonObject[], fieldName: string): string[];
|
|
278
|
-
export declare function resultHandleIds(value: JsonObject, fieldName: string): string[];
|
|
279
|
-
export declare function requireCoveredHandles(expected: readonly string[], actual: readonly string[], fieldName: string): void;
|
|
280
|
-
export declare function requireFreshPipelineMetadata(goal: UltragoalGoal): UltragoalPipelineMetadata;
|
|
281
|
-
export declare function openPipelineOverlap(plan: UltragoalPlan): {
|
|
282
|
-
prior: UltragoalGoal;
|
|
283
|
-
next: UltragoalGoal;
|
|
284
|
-
overlapId: string;
|
|
285
|
-
} | null;
|
|
286
212
|
export declare function readUltragoalPlan(cwd: string, sessionId?: string | null): Promise<UltragoalPlan | null>;
|
|
287
213
|
export declare function getUltragoalStatus(cwd: string, sessionId?: string | null): Promise<UltragoalStatusSummary>;
|
|
288
214
|
export declare function buildUltragoalHudSummary(summary: UltragoalStatusSummary, latestLedger?: UltragoalLedgerEvent): WorkflowHudSummary;
|
|
@@ -291,8 +217,6 @@ export declare function createUltragoalPlan(input: {
|
|
|
291
217
|
brief: string;
|
|
292
218
|
gjcGoalMode?: UltragoalGjcGoalMode;
|
|
293
219
|
sessionId?: string | null;
|
|
294
|
-
goalMetadata?: UltragoalGoalMetadataInput[];
|
|
295
|
-
goalMetadataJson?: string;
|
|
296
220
|
validationBatches?: UltragoalValidationBatchInput[];
|
|
297
221
|
validationBatchJson?: string;
|
|
298
222
|
}): Promise<UltragoalPlan>;
|
|
@@ -304,10 +228,6 @@ export interface UltragoalRunCompletionState {
|
|
|
304
228
|
hasBlockers: boolean;
|
|
305
229
|
needsFinalAggregateReceipt: boolean;
|
|
306
230
|
}
|
|
307
|
-
export declare function requireJsonObjectValue(value: unknown, fieldName: string): JsonObject;
|
|
308
|
-
export declare function requireJsonObjectOrArrayValue(value: unknown, fieldName: string): JsonObject | JsonObject[];
|
|
309
|
-
import { joinUltragoalPipelineOverlap, rebaselineUltragoalPipelineOverlap, startUltragoalPipelineOverlap } from "./ultragoal-pipeline";
|
|
310
|
-
export { joinUltragoalPipelineOverlap, rebaselineUltragoalPipelineOverlap, startUltragoalPipelineOverlap };
|
|
311
231
|
export declare function getUltragoalRunCompletionState(plan: UltragoalPlan, options?: {
|
|
312
232
|
retryFailed?: boolean;
|
|
313
233
|
}): UltragoalRunCompletionState;
|
|
@@ -343,6 +263,22 @@ export declare function startNextUltragoalGoal(input: {
|
|
|
343
263
|
}>;
|
|
344
264
|
export declare function qualityGateObject(value: unknown): JsonObject | null;
|
|
345
265
|
export declare function nonEmptyStringArray(value: unknown): string[] | null;
|
|
266
|
+
export interface UltragoalQualityGateDiagnostic {
|
|
267
|
+
path: string;
|
|
268
|
+
code: string;
|
|
269
|
+
message: string;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Collects every quality-gate defect in one pass instead of throwing on the first.
|
|
273
|
+
* Authoring a valid gate is otherwise an edit/retry loop at the most expensive phase
|
|
274
|
+
* of a run (#3474). The aggregate error message keeps each individual message verbatim
|
|
275
|
+
* so existing callers and assertions that match on a single message still work, and
|
|
276
|
+
* `diagnostics` carries the machine-readable stable `path` + `code` pairs.
|
|
277
|
+
*/
|
|
278
|
+
export declare class UltragoalQualityGateError extends Error {
|
|
279
|
+
readonly diagnostics: readonly UltragoalQualityGateDiagnostic[];
|
|
280
|
+
constructor(diagnostics: readonly UltragoalQualityGateDiagnostic[]);
|
|
281
|
+
}
|
|
346
282
|
export declare function requireQualityGateObject(value: unknown, fieldName: string): JsonObject;
|
|
347
283
|
export declare function requireObjectArray(value: unknown, fieldName: string): JsonObject[];
|
|
348
284
|
export declare function requiredStringField(row: JsonObject, key: string, fieldName: string): string;
|
|
@@ -386,6 +322,21 @@ export declare function validateExecutorQaRedTeamEvidenceForReview(cwd: string,
|
|
|
386
322
|
mode?: "review";
|
|
387
323
|
changeSet?: UltragoalChangeSet;
|
|
388
324
|
}): Promise<void>;
|
|
325
|
+
/**
|
|
326
|
+
* Read-only quality-gate validation (#3474). Applies exactly the same rules as
|
|
327
|
+
* `checkpoint --status complete` — including deferred-vs-boundary gate selection and
|
|
328
|
+
* artifact existence checks — but never touches `goals.json`, `ledger.jsonl`, or goal
|
|
329
|
+
* state, and reports every diagnostic in one run instead of the first failure.
|
|
330
|
+
*/
|
|
331
|
+
export declare function validateUltragoalQualityGateReadOnly(input: {
|
|
332
|
+
cwd: string;
|
|
333
|
+
qualityGateJson: string;
|
|
334
|
+
goalId?: string;
|
|
335
|
+
sessionId?: string | null;
|
|
336
|
+
}): Promise<{
|
|
337
|
+
valid: boolean;
|
|
338
|
+
errors: readonly UltragoalQualityGateDiagnostic[];
|
|
339
|
+
}>;
|
|
389
340
|
export declare function checkpointUltragoalGoal(input: {
|
|
390
341
|
cwd: string;
|
|
391
342
|
goalId: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* TypeScript is the authoritative source of truth for GJC workflow manifests.
|
|
3
|
-
*
|
|
3
|
+
* Any JSON manifest projection is derived from this module and must never be
|
|
4
|
+
* hand-edited.
|
|
4
5
|
*/
|
|
5
6
|
import { type CanonicalGjcWorkflowSkill } from "../skill-state/canonical-skills";
|
|
6
7
|
export interface WorkflowState {
|
|
@@ -17,9 +18,7 @@ export interface WorkflowVerb {
|
|
|
17
18
|
name: string;
|
|
18
19
|
planned?: boolean;
|
|
19
20
|
/** Invocation surface that exposes this verb in the real CLI parser. */
|
|
20
|
-
surface?: "state-action" | "command-positional" | "command-flag"
|
|
21
|
-
/** Legacy surface retained for callers that have not migrated to normal typed commands. */
|
|
22
|
-
compatibilityOnly?: boolean;
|
|
21
|
+
surface?: "state-action" | "command-positional" | "command-flag";
|
|
23
22
|
}
|
|
24
23
|
export interface TypedArgSpec {
|
|
25
24
|
name: string;
|
|
@@ -27,7 +26,6 @@ export interface TypedArgSpec {
|
|
|
27
26
|
enumValues?: string[];
|
|
28
27
|
required?: boolean;
|
|
29
28
|
appliesToVerbs?: string[];
|
|
30
|
-
compatibilityOnly?: boolean;
|
|
31
29
|
planned?: boolean;
|
|
32
30
|
}
|
|
33
31
|
export interface RetentionPolicy {
|
package/dist/types/main.d.ts
CHANGED
|
@@ -96,7 +96,7 @@ export declare const BARE_RESUME_INTERACTIVE_ERROR = "--resume requires an inter
|
|
|
96
96
|
export declare function resolveManagedAgentDirForScope(_cwd: string): string;
|
|
97
97
|
export declare const BARE_RESUME_OPEN_ERROR = "Could not open the selected session. Use --resume <id>.";
|
|
98
98
|
export declare function runInteractiveMode(session: AgentSession, version: string, changelogMarkdown: string | undefined, notifs: (InteractiveModeNotify | null)[], startupUpdate: StartupUpdateOrchestrator, initialMessages: string[], setExtensionUIContext: (uiContext: ExtensionUIContext, hasUI: boolean) => void, lspServers: LspStartupServerInfo[] | undefined, mcpManager: MCPManager | undefined, eventBus?: EventBus, initialMessage?: string, initialImages?: ImageContent[], createInteractiveMode?: CreateInteractiveMode, resumeAction?: "continue-tail" | "open-idle"): Promise<void>;
|
|
99
|
-
declare function getChangelogForDisplay(parsed: Args): Promise<string | undefined>;
|
|
99
|
+
export declare function getChangelogForDisplay(parsed: Args): Promise<string | undefined>;
|
|
100
100
|
export declare function createSessionManager(parsed: Args, cwd: string, activeSettings?: Settings): Promise<SessionManager | undefined>;
|
|
101
101
|
/**
|
|
102
102
|
* Research-mode (RLM) preset hook. Lets `gjc rlm` augment the session options
|
|
@@ -25,4 +25,6 @@ export declare function clearMemoryData(agentDir: string, cwd: string): Promise<
|
|
|
25
25
|
* Force-enqueue global consolidation maintenance work.
|
|
26
26
|
*/
|
|
27
27
|
export declare function enqueueMemoryConsolidation(agentDir: string, cwd: string, sourceUpdatedAt?: number): void;
|
|
28
|
+
/** Secret scrubbing applied to every phase-2 consolidation output. Test seam. */
|
|
29
|
+
export declare function redactMemorySecretsForTesting(input: string): string;
|
|
28
30
|
export declare function getMemoryRoot(agentDir: string, cwd: string): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Agent, type AgentSideConnection, type AuthenticateRequest, type AuthenticateResponse, type AvailableCommand, type ClientCapabilities, type CloseSessionRequest, type CloseSessionResponse, type DeleteSessionRequest, type DeleteSessionResponse, type ForkSessionRequest, type ForkSessionResponse, type InitializeRequest, type InitializeResponse, type ListSessionsRequest, type ListSessionsResponse, type LoadSessionRequest, type LoadSessionResponse, type NewSessionRequest, type NewSessionResponse, type PromptRequest, type PromptResponse, type ResumeSessionRequest, type ResumeSessionResponse, type SetSessionConfigOptionRequest, type SetSessionConfigOptionResponse, type SetSessionModeRequest, type SetSessionModeResponse } from "@agentclientprotocol/sdk";
|
|
2
|
-
import { type AcpProviderRegistration, AcpSdkAdapter } from "../../sdk/acp";
|
|
2
|
+
import { type AcpProviderRegistration, type AcpReverseConnection, AcpSdkAdapter } from "../../sdk/acp";
|
|
3
3
|
import type { AcpStartupOptions } from "./startup-options";
|
|
4
4
|
export declare const ACP_BOOTSTRAP_RACE_GUARD_MS = 50;
|
|
5
5
|
type JsonObject = Record<string, unknown>;
|
|
@@ -195,30 +195,21 @@ export declare function acpPromptPayload(blocks: PromptRequest["prompt"]): {
|
|
|
195
195
|
mimeType: string;
|
|
196
196
|
}>;
|
|
197
197
|
};
|
|
198
|
+
/**
|
|
199
|
+
* `AcpSdkAdapterError.code` is an internal string, but the SDK only derives a
|
|
200
|
+
* JSON-RPC code from a `RequestError`. Everything else collapses to an opaque
|
|
201
|
+
* `-32603 Internal error`, which hides the reason and defeats client-side
|
|
202
|
+
* recovery (an ACP client cannot see that it must authenticate). Map the codes
|
|
203
|
+
* that have a defined ACP/JSON-RPC counterpart onto a real `RequestError`.
|
|
204
|
+
*/
|
|
205
|
+
export declare function acpRequestFailure(error: unknown): unknown;
|
|
198
206
|
/** Registers a permission provider only when the ACP client requires prompts. */
|
|
199
207
|
export declare function acpProviderRegistrations(capabilities: ClientCapabilities | undefined, env?: NodeJS.ProcessEnv): AcpProviderRegistration[];
|
|
208
|
+
export declare function createAcpReverseConnection(connection: AgentSideConnection, sessionId: string): AcpReverseConnection;
|
|
200
209
|
/** Maps ACP permission handling to the session's canonical SDK policy. */
|
|
201
210
|
export declare function applyAcpPermissionMode(adapter: Pick<AcpSdkAdapter, "control">, capabilities: ClientCapabilities | undefined, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
202
211
|
/** Applies CLI-provided ACP startup settings through SDK controls before session exposure. */
|
|
203
212
|
export declare function applyAcpStartupOptions(adapter: Pick<AcpSdkAdapter, "setModel" | "control">, options: AcpStartupOptions | undefined): Promise<void>;
|
|
204
|
-
/** ACP form elicitation uses the client-facing reverse surface without owning a session runtime. */
|
|
205
|
-
export declare function createAcpExtensionUiContext(connection: AgentSideConnection, getSessionId: () => string, capabilities: ClientCapabilities | undefined): {
|
|
206
|
-
select: (message: string, options: string[], dialog?: {
|
|
207
|
-
signal?: AbortSignal;
|
|
208
|
-
timeout?: number;
|
|
209
|
-
onTimeout?: () => void;
|
|
210
|
-
}) => Promise<string | undefined>;
|
|
211
|
-
confirm: (message: string, detail?: string, dialog?: {
|
|
212
|
-
signal?: AbortSignal;
|
|
213
|
-
timeout?: number;
|
|
214
|
-
onTimeout?: () => void;
|
|
215
|
-
}) => Promise<boolean>;
|
|
216
|
-
input: (message: string, placeholder?: string, dialog?: {
|
|
217
|
-
signal?: AbortSignal;
|
|
218
|
-
timeout?: number;
|
|
219
|
-
onTimeout?: () => void;
|
|
220
|
-
}) => Promise<string | undefined>;
|
|
221
|
-
};
|
|
222
213
|
/**
|
|
223
214
|
* ACP is a pure SDK client. Session processes are created and resumed by the
|
|
224
215
|
* broker, while all per-session operations use that session's authenticated SDK
|
|
@@ -10,11 +10,13 @@ export declare class AssistantMessageComponent extends Container {
|
|
|
10
10
|
#private;
|
|
11
11
|
private hideThinkingBlock;
|
|
12
12
|
private readonly onImageUpdate?;
|
|
13
|
-
|
|
13
|
+
private readonly onVisibleMutation?;
|
|
14
|
+
constructor(message?: AssistantMessage, hideThinkingBlock?: boolean, onImageUpdate?: (() => void) | undefined, viewportAnchorId?: string, onVisibleMutation?: (() => void) | undefined);
|
|
14
15
|
invalidate(): void;
|
|
15
16
|
setHideThinkingBlock(hide: boolean): void;
|
|
16
17
|
setToolResultImages(toolCallId: string, images: ImageContent[]): void;
|
|
17
18
|
setUsageInfo(usage: Usage): void;
|
|
18
19
|
updateContent(message: AssistantMessage, options?: AssistantMessageUpdateOptions): void;
|
|
20
|
+
dispose(): void;
|
|
19
21
|
}
|
|
20
22
|
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Container } from "@gajae-code/tui";
|
|
2
|
+
import { type GjcLifecycleContext } from "../../extensibility/gjc-plugins/lifecycle";
|
|
3
|
+
import { type GjcRuntimeSnapshotProvider } from "../../extensibility/gjc-plugins/runtime-quarantine";
|
|
4
|
+
import type { GjcBundleIdentity, GjcBundleSummary, GjcLifecycleResult, GjcReviewedUpdateToken, GjcToggleResult, GjcUpdateApplyResult, GjcUpdatePreview } from "../../extensibility/gjc-plugins/types";
|
|
5
|
+
/** Injectable lifecycle boundary; Settings never reads registries or executes bundle code. */
|
|
6
|
+
export interface GjcBundleLifecyclePort {
|
|
7
|
+
listGjcBundles(ctx: GjcLifecycleContext): Promise<GjcBundleSummary[]>;
|
|
8
|
+
getGjcBundle(ctx: GjcLifecycleContext, identity: GjcBundleIdentity): Promise<GjcLifecycleResult<GjcBundleSummary>>;
|
|
9
|
+
previewGjcBundleUpdate(ctx: GjcLifecycleContext, identity: GjcBundleIdentity): Promise<GjcLifecycleResult<GjcUpdatePreview>>;
|
|
10
|
+
applyGjcBundleUpdate(ctx: GjcLifecycleContext, token: GjcReviewedUpdateToken): Promise<GjcLifecycleResult<GjcUpdateApplyResult>>;
|
|
11
|
+
setGjcBundleEnabled(ctx: GjcLifecycleContext, identity: GjcBundleIdentity, enabled: boolean): Promise<GjcLifecycleResult<GjcToggleResult>>;
|
|
12
|
+
setGjcBundleSurfaceEnabled(ctx: GjcLifecycleContext, identity: GjcBundleIdentity, surfaceId: string, enabled: boolean): Promise<GjcLifecycleResult<GjcToggleResult>>;
|
|
13
|
+
}
|
|
14
|
+
export interface GjcBundleSettingsDependencies {
|
|
15
|
+
lifecycle?: GjcBundleLifecyclePort;
|
|
16
|
+
runtimeSnapshotProvider?: GjcRuntimeSnapshotProvider;
|
|
17
|
+
activationGeneration?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface GjcBundleSettingsCallbacks {
|
|
20
|
+
onClose: () => void;
|
|
21
|
+
onBundlesChanged?: () => void;
|
|
22
|
+
}
|
|
23
|
+
export type GjcBundleSettingsState = "loading" | "error" | "empty" | "list" | "detail" | "unsupported-source" | "update-review" | "update-confirm" | "update-running" | "update-result" | "stale-result" | "quarantined-blocked" | "mutation-in-flight-locked";
|
|
24
|
+
/** Scope-qualified, lifecycle-backed Settings UI for installed GJC bundles. */
|
|
25
|
+
export declare class GjcBundleSettingsComponent extends Container {
|
|
26
|
+
#private;
|
|
27
|
+
private readonly callbacks;
|
|
28
|
+
private readonly dependencies;
|
|
29
|
+
constructor(cwd: string, callbacks: GjcBundleSettingsCallbacks, dependencies?: GjcBundleSettingsDependencies);
|
|
30
|
+
get stateId(): GjcBundleSettingsState;
|
|
31
|
+
get navigationLocked(): boolean;
|
|
32
|
+
dispose(): void;
|
|
33
|
+
handleInput(data: string): void;
|
|
34
|
+
}
|
|
@@ -2,12 +2,50 @@ import { type Component, type ViewportAnchorProvider, type ViewportAnchorRender
|
|
|
2
2
|
import type { IrcObservationLedger } from "../irc-observation-ledger";
|
|
3
3
|
export declare const IRC_SIDEBAR_WIDTH_RATIO = 0.3;
|
|
4
4
|
export declare const IRC_SIDEBAR_MAX_RENDER_ROWS = 2048;
|
|
5
|
+
export declare const __ircSidebarPerfCounters: {
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
projectionMemoHits: number;
|
|
8
|
+
projectionMemoMisses: number;
|
|
9
|
+
recordsVisited: number;
|
|
10
|
+
sourceBytes: number;
|
|
11
|
+
rows: number;
|
|
12
|
+
styledCacheHits: number;
|
|
13
|
+
styledCacheMisses: number;
|
|
14
|
+
wrapCalls: number;
|
|
15
|
+
snapshot(): {
|
|
16
|
+
projectionMemoHits: number;
|
|
17
|
+
projectionMemoMisses: number;
|
|
18
|
+
recordsVisited: number;
|
|
19
|
+
sourceBytes: number;
|
|
20
|
+
rows: number;
|
|
21
|
+
styledCacheHits: number;
|
|
22
|
+
styledCacheMisses: number;
|
|
23
|
+
wrapCalls: number;
|
|
24
|
+
};
|
|
25
|
+
enable(): void;
|
|
26
|
+
disable(): void;
|
|
27
|
+
reset(): void;
|
|
28
|
+
};
|
|
5
29
|
/** Computes transcript/sidebar widths while preserving at least half the terminal for the transcript. */
|
|
6
30
|
export declare function computeIrcSplitWidths(width: number): {
|
|
7
31
|
leftWidth: number;
|
|
8
32
|
separatorWidth: number;
|
|
9
33
|
rightWidth: number;
|
|
10
34
|
};
|
|
35
|
+
type SemanticLine = Readonly<{
|
|
36
|
+
kind: "header" | "body" | "elision" | "blank";
|
|
37
|
+
text: string;
|
|
38
|
+
sender?: string;
|
|
39
|
+
recipient?: string;
|
|
40
|
+
time?: string;
|
|
41
|
+
}>;
|
|
42
|
+
export type IrcSidebarSemanticProjection = Readonly<{
|
|
43
|
+
token: string;
|
|
44
|
+
lines: readonly SemanticLine[];
|
|
45
|
+
}>;
|
|
46
|
+
/** The authoritative bounded, display-neutral IRC sidebar projection. */
|
|
47
|
+
export declare function getIrcSidebarSemanticProjection(ledger: IrcObservationLedger, width: number): IrcSidebarSemanticProjection;
|
|
48
|
+
export declare function getIrcSidebarSemanticToken(ledger: IrcObservationLedger, width: number): string;
|
|
11
49
|
export interface IrcSidebarTheme {
|
|
12
50
|
fg(color: "dim" | "accent", text: string): string;
|
|
13
51
|
bold(text: string): string;
|
|
@@ -26,7 +64,10 @@ export declare class IrcSplitViewComponent implements ViewportAnchorProvider {
|
|
|
26
64
|
get visible(): boolean;
|
|
27
65
|
effectiveSidebarVisible(width?: number): boolean;
|
|
28
66
|
setVisible(visible: boolean): void;
|
|
67
|
+
invalidateTheme(): void;
|
|
68
|
+
resetSource(): void;
|
|
29
69
|
render(width: number): string[];
|
|
30
70
|
renderWithViewportAnchors(width: number): ViewportAnchorRender;
|
|
31
71
|
invalidate(): void;
|
|
32
72
|
}
|
|
73
|
+
export {};
|