@loucompanion/forge-bridge 0.1.3-dev.fbe15023cdfe → 0.1.4-dev.41da3780c451
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/README.md +88 -2
- package/dist/bridge/bridge-chat.types.d.ts +111 -0
- package/dist/bridge/bridge-chat.types.js +401 -0
- package/dist/bridge/bridge.base.d.ts +4 -1
- package/dist/bridge/bridge.service.d.ts +72 -3
- package/dist/bridge/bridge.service.js +1563 -152
- package/dist/bridge/bridge.types.d.ts +46 -1
- package/dist/bridge/dispatch-result-outbox.d.ts +25 -0
- package/dist/bridge/dispatch-result-outbox.js +62 -0
- package/dist/bridge/dispatch-result-worker.d.ts +2 -0
- package/dist/bridge/dispatch-result-worker.js +122 -0
- package/dist/bridge/internals.d.ts +2 -0
- package/dist/bridge/internals.js +1 -0
- package/dist/bridge/readiness-result-outbox.d.ts +21 -0
- package/dist/bridge/readiness-result-outbox.js +54 -0
- package/dist/bridge/readiness-result-worker.d.ts +2 -0
- package/dist/bridge/readiness-result-worker.js +121 -0
- package/dist/bridge/runner-host-capabilities.d.ts +15 -0
- package/dist/bridge/runner-host-capabilities.js +93 -0
- package/dist/cleanup/cleanup.service.d.ts +1 -0
- package/dist/cleanup/cleanup.service.js +70 -9
- package/dist/cli/cli.help.js +2 -2
- package/dist/cli/cli.service.d.ts +14 -6
- package/dist/cli/cli.service.js +75 -16
- package/dist/cli/local-config.d.ts +1 -0
- package/dist/cli/local-config.js +4 -0
- package/dist/runtime/aspnet-runtime-prebuild.d.ts +36 -0
- package/dist/runtime/aspnet-runtime-prebuild.js +341 -0
- package/dist/runtime/attempt-database-broker.d.ts +89 -0
- package/dist/runtime/attempt-database-broker.js +390 -0
- package/dist/runtime/attempt-node-runtime-launcher.d.ts +2 -1
- package/dist/runtime/attempt-node-runtime-launcher.js +57 -18
- package/dist/runtime/attempt-path-operation.d.ts +21 -0
- package/dist/runtime/attempt-path-operation.js +94 -0
- package/dist/runtime/attempt-private-directory.d.ts +6 -0
- package/dist/runtime/attempt-private-directory.js +54 -0
- package/dist/runtime/attempt-process-supervisor.d.ts +11 -0
- package/dist/runtime/attempt-process-supervisor.js +70 -22
- package/dist/runtime/canonical-source-file.d.ts +3 -0
- package/dist/runtime/canonical-source-file.js +54 -0
- package/dist/runtime/docker-engine-probe.d.ts +90 -0
- package/dist/runtime/docker-engine-probe.js +333 -0
- package/dist/runtime/generated-output-reset.d.ts +10 -0
- package/dist/runtime/generated-output-reset.js +62 -8
- package/dist/runtime/host-database-capability-boundary.d.ts +16 -0
- package/dist/runtime/host-database-capability-boundary.js +62 -0
- package/dist/runtime/host-diagnostics.d.ts +11 -0
- package/dist/runtime/host-diagnostics.js +192 -0
- package/dist/runtime/host-execution-root.d.ts +4 -0
- package/dist/runtime/host-execution-root.js +39 -0
- package/dist/runtime/host-listener-inspector.d.ts +8 -1
- package/dist/runtime/host-listener-inspector.js +121 -60
- package/dist/runtime/host-runtime-contract.d.ts +12 -1
- package/dist/runtime/host-runtime-contract.js +168 -55
- package/dist/runtime/host-runtime-lease.d.ts +92 -8
- package/dist/runtime/host-runtime-lease.js +1141 -114
- package/dist/runtime/host-runtime-promotion.d.ts +12 -3
- package/dist/runtime/host-runtime-promotion.js +59 -12
- package/dist/runtime/memory-capacity.d.ts +70 -0
- package/dist/runtime/memory-capacity.js +123 -0
- package/dist/runtime/native-test-postgres-fallback.d.ts +25 -0
- package/dist/runtime/native-test-postgres-fallback.js +91 -0
- package/dist/runtime/node-host-runtime-adapter.d.ts +3 -0
- package/dist/runtime/node-host-runtime-adapter.js +29 -11
- package/dist/runtime/pinned-directory-process.d.ts +9 -0
- package/dist/runtime/pinned-directory-process.js +61 -0
- package/dist/runtime/pinned-source-directory.d.ts +17 -0
- package/dist/runtime/pinned-source-directory.js +94 -0
- package/dist/runtime/playwright-host-runtime-adapter.d.ts +1 -0
- package/dist/runtime/playwright-host-runtime-adapter.js +53 -5
- package/dist/runtime/prepared-runtime-identity.d.ts +6 -0
- package/dist/runtime/prepared-runtime-identity.js +218 -0
- package/dist/runtime/prepared-runtime-readiness.d.ts +30 -0
- package/dist/runtime/prepared-runtime-readiness.js +285 -0
- package/dist/runtime/runtime-isolation-lease.js +4 -1
- package/dist/runtime/workspace-resource-estimator.d.ts +17 -0
- package/dist/runtime/workspace-resource-estimator.js +174 -0
- package/dist/sandbox/preflight.d.ts +31 -1
- package/dist/sandbox/preflight.js +237 -51
- package/dist/sandbox/repository-lock.d.ts +2 -1
- package/dist/sandbox/repository-lock.js +19 -9
- package/dist/sandbox/runtime.d.ts +6 -1
- package/dist/sandbox/runtime.js +137 -107
- package/dist/sandbox/sandbox.types.d.ts +7 -0
- package/dist/sandbox/workspace.service.js +2 -0
- package/dist/session/managed-attempt-tools.d.ts +17 -1
- package/dist/session/managed-attempt-tools.js +489 -34
- package/dist/session/managed-build-coordinator.d.ts +5 -0
- package/dist/session/managed-build-coordinator.js +106 -0
- package/dist/session/managed-build-receipt.d.ts +21 -0
- package/dist/session/managed-build-receipt.js +337 -0
- package/dist/session/managed-verification-timeouts.d.ts +8 -0
- package/dist/session/managed-verification-timeouts.js +17 -0
- package/dist/session/phase-completion.artifacts.d.ts +17 -0
- package/dist/session/phase-completion.artifacts.js +224 -22
- package/dist/session/phase-completion.d.ts +11 -1
- package/dist/session/phase-completion.helpers.d.ts +5 -0
- package/dist/session/phase-completion.helpers.js +30 -7
- package/dist/session/phase-completion.js +14 -3
- package/dist/session/phase-completion.prompts.js +17 -18
- package/dist/session/phase-completion.runtime.d.ts +3 -1
- package/dist/session/phase-completion.runtime.js +126 -17
- package/dist/session/phase-completion.schemas.js +49 -2
- package/dist/session/phase-completion.validation.d.ts +1 -0
- package/dist/session/phase-completion.validation.js +111 -21
- package/dist/session/pre-publication-validation.d.ts +75 -0
- package/dist/session/pre-publication-validation.js +661 -0
- package/dist/session/provider-cli/bridge-cli.conformance-fixtures.d.ts +72 -0
- package/dist/session/provider-cli/bridge-cli.conformance-fixtures.js +462 -0
- package/dist/session/provider-cli/ci-repair-readiness.d.ts +8 -0
- package/dist/session/provider-cli/ci-repair-readiness.js +23 -3
- package/dist/session/provider-cli/provider-cli.artifacts.d.ts +4 -2
- package/dist/session/provider-cli/provider-cli.artifacts.js +47 -13
- package/dist/session/provider-cli/provider-cli.deterministic.js +34 -2
- package/dist/session/provider-cli/provider-cli.process.d.ts +51 -0
- package/dist/session/provider-cli/provider-cli.process.js +422 -22
- package/dist/session/provider-cli/provider-cli.prompts.d.ts +5 -0
- package/dist/session/provider-cli/provider-cli.prompts.js +136 -16
- package/dist/session/provider-cli/provider-cli.repair-epoch.d.ts +6 -0
- package/dist/session/provider-cli/provider-cli.repair-epoch.js +11 -0
- package/dist/session/provider-cli/provider-cli.runtime.d.ts +14 -1
- package/dist/session/provider-cli/provider-cli.runtime.js +54 -3
- package/dist/session/provider-cli/provider-cli.service.d.ts +30 -5
- package/dist/session/provider-cli/provider-cli.service.js +773 -69
- package/dist/session/provider-cli/provider-cli.types.d.ts +2 -0
- package/dist/session/provider-cli/provider-output-state.d.ts +10 -0
- package/dist/session/provider-cli/provider-output-state.js +361 -17
- package/dist/session/provider-cli/provider-usage.d.ts +7 -0
- package/dist/session/provider-cli/provider-usage.js +28 -5
- package/dist/session/session-redaction.js +434 -9
- package/dist/session/session.service.js +145 -23
- package/dist/session/session.types.d.ts +147 -2
- package/dist/session/session.types.js +587 -7
- package/dist/session/unreferenced-exports.d.ts +12 -0
- package/dist/session/unreferenced-exports.js +59 -0
- package/dist/shared/format/format-bytes.d.ts +1 -0
- package/dist/shared/format/format-bytes.js +9 -0
- package/dist/shared/git/git.js +2 -1
- package/dist/shared/path/path.d.ts +1 -0
- package/dist/shared/path/path.js +18 -0
- package/dist/shared/process/dotnet-toolchain.d.ts +17 -0
- package/dist/shared/process/dotnet-toolchain.js +307 -0
- package/dist/shared/process/host-process-recovery.js +3 -2
- package/dist/shared/process/host-process-supervisor.d.ts +2 -0
- package/dist/shared/process/host-process-supervisor.js +60 -11
- package/dist/shared/process/process.d.ts +2 -0
- package/dist/shared/process/process.js +12 -7
- package/dist/shared/provider-capabilities.d.ts +3 -0
- package/dist/shared/provider-capabilities.js +85 -0
- package/dist/shared/redaction/redaction.d.ts +1 -0
- package/dist/shared/redaction/redaction.js +39 -3
- package/dist/shared/time/monotonic.d.ts +1 -0
- package/dist/shared/time/monotonic.js +8 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worktree/dependency-warmer.d.ts +41 -9
- package/dist/worktree/dependency-warmer.js +497 -22
- package/dist/worktree/index.d.ts +1 -1
- package/dist/worktree/story-qa-reference-hydrator.d.ts +4 -0
- package/dist/worktree/story-qa-reference-hydrator.js +253 -0
- package/dist/worktree/worktree.service.d.ts +7 -0
- package/dist/worktree/worktree.service.js +253 -21
- package/dist/worktree/worktree.types.d.ts +7 -1
- package/package.json +7 -5
- package/runtime/windows-job-supervisor.ps1 +380 -14
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
import type { SessionService } from "../session/session.base.js";
|
|
2
|
-
import
|
|
2
|
+
import type { ProviderProcessRunner } from "../session/provider-cli/provider-cli.process.js";
|
|
3
|
+
import { DockerEngineProbe, type DockerEngineCapabilitySnapshot } from "../runtime/docker-engine-probe.js";
|
|
4
|
+
import { type DispatchSandboxResourceRequest, type RunOnceDispatchPacket, type RunOnceResultPacket } from "../session/session.types.js";
|
|
3
5
|
import { DockerPreflight } from "../sandbox/preflight.js";
|
|
4
6
|
import type { SandboxPreflightResult } from "../sandbox/sandbox.types.js";
|
|
5
7
|
import { type SandboxRuntime } from "../sandbox/runtime.js";
|
|
6
8
|
import type { BridgeConnection, BridgeConnectionFactory, BridgeService } from "./bridge.base.js";
|
|
7
|
-
import
|
|
9
|
+
import { type RunnerHostCapabilityProbe } from "./runner-host-capabilities.js";
|
|
10
|
+
import type { BridgeCancelHandler, BridgeChatTurnHandler, BridgeDispatchHandler, BridgeLeaseUpdateRequest, BridgeReapRequest, BridgeServiceConfig } from "./bridge.types.js";
|
|
11
|
+
import { type ReadinessResultOutbox } from "./readiness-result-outbox.js";
|
|
12
|
+
import { type DispatchResultOutbox } from "./dispatch-result-outbox.js";
|
|
8
13
|
export type SandboxResourceResolver = (dispatch: RunOnceDispatchPacket) => Promise<ResolvedSandboxResourceProfile>;
|
|
9
14
|
export interface ResolvedSandboxResourceProfile {
|
|
10
15
|
readonly resources: DispatchSandboxResourceRequest;
|
|
11
16
|
readonly sandboxConfigCommitSha: string;
|
|
12
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Protocol-v2 events are acknowledged one at a time before runOnce returns.
|
|
20
|
+
* Sending the complete transcript again in DispatchResult made long QA and CI
|
|
21
|
+
* sessions exceed SignalR's receive limit, disconnecting the bridge after the
|
|
22
|
+
* provider had already completed. The API combines its acknowledged streamed
|
|
23
|
+
* events with the terminal result, so the callback only needs the outcome and
|
|
24
|
+
* artifacts. Protocol v1 retains the transcript for legacy servers.
|
|
25
|
+
*/
|
|
26
|
+
export declare function compactTerminalResult(dispatch: RunOnceDispatchPacket, result: RunOnceResultPacket): RunOnceResultPacket;
|
|
13
27
|
export declare class ForgeBridgeService implements BridgeService {
|
|
14
28
|
private readonly config;
|
|
15
29
|
private readonly connections;
|
|
30
|
+
private readonly hostCapabilityProbe;
|
|
31
|
+
private readonly chatProcessRunner;
|
|
16
32
|
private connection;
|
|
17
33
|
private heartbeatTimer;
|
|
18
34
|
private heartbeatInFlight;
|
|
@@ -22,40 +38,81 @@ export declare class ForgeBridgeService implements BridgeService {
|
|
|
22
38
|
private sandboxMaintenanceTimer;
|
|
23
39
|
private sandboxMaintenanceRunning;
|
|
24
40
|
private closed;
|
|
41
|
+
private transportRecovery;
|
|
42
|
+
private transportRecoveryGeneration;
|
|
25
43
|
private stopped;
|
|
26
44
|
private readonly activeSessions;
|
|
27
45
|
private readonly reservations;
|
|
28
46
|
private readonly activeReadinessProbes;
|
|
47
|
+
private readonly readinessResultOutbox;
|
|
48
|
+
private readinessResultFlush;
|
|
49
|
+
private readonly dispatchResultOutbox;
|
|
50
|
+
private dispatchResultFlush;
|
|
51
|
+
private dispatchResultGeneration;
|
|
52
|
+
private dispatchResultFlushedGeneration;
|
|
53
|
+
private readonly dispatchResultHandoffs;
|
|
29
54
|
private readonly preflight;
|
|
55
|
+
private readonly dockerEngineProbe;
|
|
30
56
|
private readonly sandboxRuntime;
|
|
31
57
|
private readonly sandboxResourceResolver;
|
|
32
58
|
private readonly sessions;
|
|
33
|
-
|
|
59
|
+
private readonly enforceHostDatabaseCapabilityBoundary;
|
|
60
|
+
private hostCapabilities;
|
|
61
|
+
private readonly recoveredHostAttempts;
|
|
62
|
+
private hostCapabilitiesDetected;
|
|
63
|
+
constructor(config: BridgeServiceConfig, sessions?: SessionService | undefined, connections?: BridgeConnectionFactory, preflight?: DockerPreflight, sandboxRuntime?: SandboxRuntime, sandboxResourceResolver?: SandboxResourceResolver, dockerEngineProbe?: DockerEngineProbe, hostCapabilityProbe?: RunnerHostCapabilityProbe, readinessResultOutbox?: ReadinessResultOutbox, chatProcessRunner?: ProviderProcessRunner, dispatchResultOutbox?: DispatchResultOutbox);
|
|
34
64
|
connectOnce(): Promise<void>;
|
|
65
|
+
private rememberRecoveredHostAttempts;
|
|
66
|
+
private recoveredHostAttemptsForHello;
|
|
67
|
+
private registerConnection;
|
|
35
68
|
run(signal?: AbortSignal): Promise<void>;
|
|
36
69
|
stop(): Promise<void>;
|
|
70
|
+
private handleChatTurn;
|
|
71
|
+
private createChatTurnWorkspace;
|
|
72
|
+
private runChatProviderProcess;
|
|
73
|
+
private sendChatProviderEvent;
|
|
74
|
+
private sendChatAbortTerminal;
|
|
75
|
+
private sendStandaloneChatTerminal;
|
|
76
|
+
private sendChatCallback;
|
|
77
|
+
private invokeChatCallbackWithRetry;
|
|
78
|
+
private requiredChatCapabilityFailure;
|
|
79
|
+
private bridgeChatCapability;
|
|
37
80
|
private handleDispatch;
|
|
81
|
+
private reservedDispatchHandoffIsCurrent;
|
|
82
|
+
private releaseReservedDispatchHandoff;
|
|
83
|
+
private releaseActiveSessionAndRefreshCapacity;
|
|
38
84
|
private handleOffer;
|
|
85
|
+
private commitOfferReservation;
|
|
39
86
|
private handleStart;
|
|
40
87
|
private redeemSecretGrant;
|
|
41
88
|
private redeemPublishGrant;
|
|
42
89
|
private handleLeaseUpdate;
|
|
43
90
|
private sendOfferDecision;
|
|
44
91
|
private parseDispatchOrReport;
|
|
92
|
+
private parseChatTurnOrReport;
|
|
45
93
|
private handleCancel;
|
|
94
|
+
private chatCancelMatchesActiveTurn;
|
|
46
95
|
private handleReap;
|
|
47
96
|
private handleReadinessProbe;
|
|
97
|
+
private deferActiveReadinessProbes;
|
|
98
|
+
private flushReadinessResults;
|
|
99
|
+
private flushReadinessResultsCore;
|
|
48
100
|
private abortActiveSessions;
|
|
49
101
|
private abortActiveReadinessProbes;
|
|
102
|
+
private normalizeReadinessProbe;
|
|
50
103
|
private normalizeDispatch;
|
|
51
104
|
private sendResult;
|
|
52
105
|
private sendLegacyResult;
|
|
53
106
|
private sendResultPayload;
|
|
107
|
+
private sendResultPayloadDirect;
|
|
108
|
+
private flushDispatchResults;
|
|
109
|
+
private flushDispatchResultsCore;
|
|
54
110
|
private startHeartbeat;
|
|
55
111
|
private heartbeatTick;
|
|
56
112
|
private startLeaseWatchdog;
|
|
57
113
|
private stopLeaseWatchdog;
|
|
58
114
|
private expireLeases;
|
|
115
|
+
private expireReservations;
|
|
59
116
|
private stopHeartbeat;
|
|
60
117
|
private startSandboxMaintenance;
|
|
61
118
|
private stopSandboxMaintenance;
|
|
@@ -63,11 +120,16 @@ export declare class ForgeBridgeService implements BridgeService {
|
|
|
63
120
|
private readAttemptSnapshot;
|
|
64
121
|
private flushCleanupReports;
|
|
65
122
|
private sendHeartbeat;
|
|
123
|
+
private sendHeartbeatSnapshot;
|
|
66
124
|
private capabilities;
|
|
125
|
+
private requiredCapabilityFailure;
|
|
67
126
|
private usedSandboxResources;
|
|
68
127
|
private activeSandboxResources;
|
|
69
128
|
private sandboxResourceCapacity;
|
|
70
129
|
private invokeAck;
|
|
130
|
+
private beginTransportRecovery;
|
|
131
|
+
private completeTransportRecovery;
|
|
132
|
+
private waitForTransportRecovery;
|
|
71
133
|
private waitForClose;
|
|
72
134
|
private stopConnection;
|
|
73
135
|
}
|
|
@@ -81,7 +143,10 @@ export declare class SignalRBridgeConnection implements BridgeConnection {
|
|
|
81
143
|
start(): Promise<void>;
|
|
82
144
|
stop(): Promise<void>;
|
|
83
145
|
onClose(handler: (error?: Error) => void): void;
|
|
146
|
+
onReconnecting(handler: (error?: Error) => void): void;
|
|
147
|
+
onReconnected(handler: (connectionId?: string) => void | Promise<void>): void;
|
|
84
148
|
onDispatch(handler: BridgeDispatchHandler): void;
|
|
149
|
+
onChatTurn(handler: BridgeChatTurnHandler): void;
|
|
85
150
|
onOffer(handler: BridgeDispatchHandler): void;
|
|
86
151
|
onStart(handler: BridgeDispatchHandler): void;
|
|
87
152
|
onLeaseUpdate(handler: (request: BridgeLeaseUpdateRequest) => Promise<void>): void;
|
|
@@ -92,12 +157,16 @@ export declare class SignalRBridgeConnection implements BridgeConnection {
|
|
|
92
157
|
}
|
|
93
158
|
export declare function defaultBridgeServiceConfig(overrides?: Partial<BridgeServiceConfig>): BridgeServiceConfig;
|
|
94
159
|
export declare function resolveBridgeRunnerHubUrl(serverUrl: string): URL;
|
|
160
|
+
export declare function delay(ms: number, signal?: AbortSignal): Promise<void>;
|
|
161
|
+
export declare function waitForPromiseOrAbort(promise: Promise<unknown>, signal?: AbortSignal): Promise<void>;
|
|
95
162
|
export declare function canReapManagedSandboxes(preflight: {
|
|
96
163
|
readonly healthy: boolean;
|
|
97
164
|
readonly unavailableCode?: string | null;
|
|
98
165
|
}): boolean;
|
|
166
|
+
export declare function dockerEngineRequirementFailure(requiredCapabilities: readonly string[], executionMode: string | undefined, capability: DockerEngineCapabilitySnapshot | null): string | null;
|
|
99
167
|
export type SandboxResourceVector = DispatchSandboxResourceRequest;
|
|
100
168
|
export declare function canReserveSandboxResources(used: SandboxResourceVector, requested: SandboxResourceVector, capacity: SandboxResourceVector): boolean;
|
|
169
|
+
export declare function sandboxMemoryCommitmentCapacity(preflight: Pick<SandboxPreflightResult, "totalMemoryBytes" | "availableMemoryBytes" | "hostReserveBytes">, activeMemoryBytes: number): number;
|
|
101
170
|
export declare function sandboxCapacityFailureMessage(used: SandboxResourceVector, requested: SandboxResourceVector, capacity: SandboxResourceVector, preflight: SandboxPreflightResult | null, config: BridgeServiceConfig): string;
|
|
102
171
|
export declare function resolveDynamicSandboxResources(requested: DispatchSandboxResourceRequest, serviceCount: number, networkMode: "offline" | "public_allowlist" | "open_public", baseRuntimeOverheadBytes?: number): DispatchSandboxResourceRequest;
|
|
103
172
|
export declare function resolveSandboxResourcesFromRepo(dispatch: RunOnceDispatchPacket, baseRuntimeOverheadBytes?: number): Promise<ResolvedSandboxResourceProfile>;
|