@cmmd-center/forge 0.13.94 → 0.13.96

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.
Files changed (25) hide show
  1. package/dist/{BunHttpServer-DTG5XWSi.cjs → BunHttpServer-CtFGbsWr.cjs} +2 -2
  2. package/dist/{BunHttpServer-BpaVqxli.mjs → BunHttpServer-o7ISooSQ.mjs} +2 -2
  3. package/dist/{HttpServer-5UTabe01.mjs → HttpServer-BbbI8N6_.mjs} +79 -39
  4. package/dist/{HttpServer-DZ6iaxyk.cjs → HttpServer-CRBqMWdP.cjs} +47 -1
  5. package/dist/{NodeHttpServer-DePOzmYy.mjs → NodeHttpServer-BngJqAIT.mjs} +2 -2
  6. package/dist/{NodeHttpServer-RV5QsVeb.cjs → NodeHttpServer-DyI6OyMg.cjs} +2 -2
  7. package/dist/bin.cjs +600 -304
  8. package/dist/bin.mjs +710 -414
  9. package/dist/client/assets/{CanvasPanel-By1TNSCJ.js → CanvasPanel-BsTCRB1I.js} +2 -2
  10. package/dist/client/assets/{CompositeItem-B4KFI6uM.js → CompositeItem-DNkNENOR.js} +2 -2
  11. package/dist/client/assets/{DiffPanel-W2IJB2F9.js → DiffPanel-CQF1ISJz.js} +2 -2
  12. package/dist/client/assets/{DiffPanel.logic-D-ynbsKZ.js → DiffPanel.logic-ZO6qepWo.js} +2 -2
  13. package/dist/client/assets/{DiffWorkerPoolProvider-h4bACnie.js → DiffWorkerPoolProvider-B7F6vAh9.js} +2 -2
  14. package/dist/client/assets/{PullRequestCodePanel-Bphx591a.js → PullRequestCodePanel-B93y-X1L.js} +2 -2
  15. package/dist/client/assets/{Virtualizer-BGM8Aavb.js → Virtualizer-BtFYmUB0.js} +2 -2
  16. package/dist/client/assets/{WorkerPoolContext-dJEWASlP.js → WorkerPoolContext-VAp-zZQ5.js} +31 -31
  17. package/dist/client/assets/{canvasStateStore-DoXLRnB-.js → canvasStateStore-Dl3vO1ug.js} +2 -2
  18. package/dist/client/assets/{cmmdAuthRedirect-DJMI3b92.js → cmmdAuthRedirect-DCgS12fq.js} +2 -2
  19. package/dist/client/assets/{index-_uhZ-JUt.js → index-BhdZllxU.js} +60 -60
  20. package/dist/client/assets/{popover-DlZTqPIV.js → popover-C9fxnFA4.js} +2 -2
  21. package/dist/client/assets/{src-1F7f5y9L.js → src-DFTFXdyK.js} +2 -2
  22. package/dist/client/assets/{toggle-BwedUJ-z.js → toggle-Ks6yUkoN.js} +2 -2
  23. package/dist/client/index.html +10 -10
  24. package/dist/forge-build.json +1 -1
  25. package/package.json +1 -1
package/dist/bin.cjs CHANGED
@@ -6,7 +6,7 @@ const require_Schema$1 = require("./Schema-DxddW8-V.cjs");
6
6
  const require_Path = require("./Path-Dp3btyUm.cjs");
7
7
  const require_NodeTerminal = require("./NodeTerminal-DQESKR0W.cjs");
8
8
  const require_NodeServices = require("./NodeServices-BkfWZHfh.cjs");
9
- const require_HttpServer = require("./HttpServer-DZ6iaxyk.cjs");
9
+ const require_HttpServer = require("./HttpServer-CRBqMWdP.cjs");
10
10
  const require_Config = require("./Config-pbf0GGHJ.cjs");
11
11
  const require_Cache = require("./Cache-D-JaJz5Q.cjs");
12
12
  const require_SqlError = require("./SqlError-BqOsoG0V.cjs");
@@ -14765,7 +14765,7 @@ const isCommand = (u) => require_Schema$1.hasProperty(u, TypeId$10);
14765
14765
  * @since 4.0.0
14766
14766
  * @category constructors
14767
14767
  */
14768
- const make$34 = (name, config, handler) => {
14768
+ const make$33 = (name, config, handler) => {
14769
14769
  return makeCommand({
14770
14770
  name,
14771
14771
  config: parseConfig(config ?? {}),
@@ -15282,7 +15282,7 @@ require_Schema$1.LogToStderr;
15282
15282
  * @since 2.0.0
15283
15283
  * @category constructors
15284
15284
  */
15285
- const make$33 = require_Schema$1.loggerMake;
15285
+ const make$32 = require_Schema$1.loggerMake;
15286
15286
  require_Schema$1.defaultLogger;
15287
15287
  require_Schema$1.formatJson;
15288
15288
  /**
@@ -15580,7 +15580,7 @@ const makeUnsafe$2 = (value) => {
15580
15580
  * @since 2.0.0
15581
15581
  * @category constructors
15582
15582
  */
15583
- const make$32 = (value) => require_Schema$1.sync(() => makeUnsafe$2(value));
15583
+ const make$31 = (value) => require_Schema$1.sync(() => makeUnsafe$2(value));
15584
15584
  /**
15585
15585
  * @since 2.0.0
15586
15586
  * @category getters
@@ -15650,7 +15650,7 @@ const TypeId$8 = "~effect/transactions/TxRef";
15650
15650
  * })
15651
15651
  * ```
15652
15652
  */
15653
- const make$31 = (initial) => require_Schema$1.sync(() => makeUnsafe$1(initial));
15653
+ const make$30 = (initial) => require_Schema$1.sync(() => makeUnsafe$1(initial));
15654
15654
  /**
15655
15655
  * Creates a new `TxRef` with the specified initial value.
15656
15656
  *
@@ -15833,7 +15833,7 @@ const TxChunkProto = {
15833
15833
  * })
15834
15834
  * ```
15835
15835
  */
15836
- const empty = () => require_Schema$1.map(make$31(require_Schema$1.empty()), (ref) => makeUnsafe(ref));
15836
+ const empty = () => require_Schema$1.map(make$30(require_Schema$1.empty()), (ref) => makeUnsafe(ref));
15837
15837
  /**
15838
15838
  * Creates a new `TxChunk` with the specified TxRef.
15839
15839
  *
@@ -16125,7 +16125,7 @@ const TxQueueProto = {
16125
16125
  */
16126
16126
  const unbounded = () => require_Schema$1.gen(function* () {
16127
16127
  const items = yield* empty();
16128
- const stateRef = yield* make$31({ _tag: "Open" });
16128
+ const stateRef = yield* make$30({ _tag: "Open" });
16129
16129
  const txQueue = Object.create(TxQueueProto);
16130
16130
  txQueue.strategy = "unbounded";
16131
16131
  txQueue.capacity = Number.POSITIVE_INFINITY;
@@ -23003,6 +23003,25 @@ const ProviderUnavailableDetail = require_Schema$1.Literals([
23003
23003
  "reconnect-required"
23004
23004
  ]);
23005
23005
  /**
23006
+ * Whether the check behind this snapshot's `installed`/`status`/`auth`/`models`
23007
+ * fields actually completed (`confirmed`), or a probe failed, timed out, or
23008
+ * errored before it could answer (`could-not-check`). Absent means the
23009
+ * snapshot predates this field and carries no opinion either way.
23010
+ *
23011
+ * Deliberately not a new `ProviderUnavailableReason` member, and not folded
23012
+ * into `ProviderUnavailableDetail`. That union is the wire vocabulary a
23013
+ * separate CMMD receiver already validates with a `.strict()` schema (see
23014
+ * `docs/adr/withheld-providers-carry-their-reason.md`), and a value that
23015
+ * receiver has never heard of fails the whole snapshot, which its outbox then
23016
+ * retries forever. A brand new field costs a receiver that has never heard of
23017
+ * it nothing: Effect Schema drops an unrecognized struct property instead of
23018
+ * failing the decode, and `serializeProviderCatalog`
23019
+ * (`apps/server/src/runtimeReplication/providerCatalog.ts`) never copies this
23020
+ * field to that wire in the first place, so the CMMD-facing shape does not
23021
+ * change at all.
23022
+ */
23023
+ const ProviderAvailabilityCheck = require_Schema$1.Literals(["confirmed", "could-not-check"]);
23024
+ /**
23006
23025
  * Whether the provider CLI honours the credential-directory variable, as this
23007
23026
  * Environment's probe found. `inconclusive` is a probe that ran and could not
23008
23027
  * tell. It is not `unsupported`, and it is never reported as `supported`. The
@@ -23059,6 +23078,8 @@ const ServerProvider = require_Schema$1.Struct({
23059
23078
  availability: require_Schema$1.optional(ProviderAvailability),
23060
23079
  unavailableReason: require_Schema$1.optional(ProviderUnavailableReason),
23061
23080
  unavailableDetail: require_Schema$1.optional(ProviderUnavailableDetail),
23081
+ availabilityCheck: require_Schema$1.optional(ProviderAvailabilityCheck),
23082
+ lastConfirmedAt: require_Schema$1.optional(IsoDateTime),
23062
23083
  credentialDirectory: require_Schema$1.optional(ProviderCredentialDirectoryAnswer),
23063
23084
  credentialStore: require_Schema$1.optional(ProviderCredentialStore),
23064
23085
  slashCommands: require_Schema$1.ArraySchema(ServerProviderSlashCommand).pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed([]))),
@@ -25449,7 +25470,7 @@ const makeProto$1 = (options) => {
25449
25470
  * @since 4.0.0
25450
25471
  * @category constructors
25451
25472
  */
25452
- const make$30 = (tag, options) => {
25473
+ const make$29 = (tag, options) => {
25453
25474
  const successSchema = options?.success ?? require_Schema$1.Void;
25454
25475
  const errorSchema = options?.error ?? require_Schema$1.Never;
25455
25476
  const defectSchema = options?.defect ?? require_Schema$1.Defect;
@@ -25621,7 +25642,7 @@ const makeProto = (options) => Object.assign(function() {}, RpcGroupProto, {
25621
25642
  * @since 4.0.0
25622
25643
  * @category groups
25623
25644
  */
25624
- const make$29 = (...rpcs) => makeProto({
25645
+ const make$28 = (...rpcs) => makeProto({
25625
25646
  requests: new Map(rpcs.map((rpc) => [rpc._tag, rpc])),
25626
25647
  annotations: require_Schema$1.empty$4()
25627
25648
  });
@@ -26353,319 +26374,319 @@ const WS_METHODS = {
26353
26374
  attachmentsDelete: "attachments.delete",
26354
26375
  providerUploadFeedback: "provider.uploadFeedback"
26355
26376
  };
26356
- const WsServerUpsertKeybindingRpc = make$30(WS_METHODS.serverUpsertKeybinding, {
26377
+ const WsServerUpsertKeybindingRpc = make$29(WS_METHODS.serverUpsertKeybinding, {
26357
26378
  payload: ServerUpsertKeybindingInput,
26358
26379
  success: ServerUpsertKeybindingResult,
26359
26380
  error: KeybindingsConfigError
26360
26381
  });
26361
- const WsServerRemoveKeybindingRpc = make$30(WS_METHODS.serverRemoveKeybinding, {
26382
+ const WsServerRemoveKeybindingRpc = make$29(WS_METHODS.serverRemoveKeybinding, {
26362
26383
  payload: ServerRemoveKeybindingInput,
26363
26384
  success: ServerRemoveKeybindingResult,
26364
26385
  error: KeybindingsConfigError
26365
26386
  });
26366
- const WsServerGetConfigRpc = make$30(WS_METHODS.serverGetConfig, {
26387
+ const WsServerGetConfigRpc = make$29(WS_METHODS.serverGetConfig, {
26367
26388
  payload: require_Schema$1.Struct({}),
26368
26389
  success: ServerConfig$1,
26369
26390
  error: require_Schema$1.Union([KeybindingsConfigError, ServerSettingsError])
26370
26391
  });
26371
- const WsServerRefreshProvidersRpc = make$30(WS_METHODS.serverRefreshProviders, {
26392
+ const WsServerRefreshProvidersRpc = make$29(WS_METHODS.serverRefreshProviders, {
26372
26393
  payload: require_Schema$1.Struct({}),
26373
26394
  success: ServerProviderUpdatedPayload
26374
26395
  });
26375
- const WsServerStartProviderAuthRpc = make$30(WS_METHODS.serverStartProviderAuth, {
26396
+ const WsServerStartProviderAuthRpc = make$29(WS_METHODS.serverStartProviderAuth, {
26376
26397
  payload: ProviderAuthStartInput,
26377
26398
  success: ProviderAuthSession
26378
26399
  });
26379
- const WsServerRepairProviderAuthRuntimeRpc = make$30(WS_METHODS.serverRepairProviderAuthRuntime, {
26400
+ const WsServerRepairProviderAuthRuntimeRpc = make$29(WS_METHODS.serverRepairProviderAuthRuntime, {
26380
26401
  payload: ProviderAuthRuntimeRepairInput,
26381
26402
  success: ProviderAuthRuntimeRepairResult
26382
26403
  });
26383
- const WsServerDisconnectProviderAuthRpc = make$30(WS_METHODS.serverDisconnectProviderAuth, {
26404
+ const WsServerDisconnectProviderAuthRpc = make$29(WS_METHODS.serverDisconnectProviderAuth, {
26384
26405
  payload: ProviderAuthDisconnectInput,
26385
26406
  success: ServerProviderUpdatedPayload
26386
26407
  });
26387
- const WsServerGetProviderAuthSessionRpc = make$30(WS_METHODS.serverGetProviderAuthSession, {
26408
+ const WsServerGetProviderAuthSessionRpc = make$29(WS_METHODS.serverGetProviderAuthSession, {
26388
26409
  payload: ProviderAuthSessionInput,
26389
26410
  success: ProviderAuthSession
26390
26411
  });
26391
- const WsServerCancelProviderAuthRpc = make$30(WS_METHODS.serverCancelProviderAuth, {
26412
+ const WsServerCancelProviderAuthRpc = make$29(WS_METHODS.serverCancelProviderAuth, {
26392
26413
  payload: ProviderAuthSessionInput,
26393
26414
  success: ProviderAuthSession
26394
26415
  });
26395
- const WsServerSubmitProviderAuthCodeRpc = make$30(WS_METHODS.serverSubmitProviderAuthCode, {
26416
+ const WsServerSubmitProviderAuthCodeRpc = make$29(WS_METHODS.serverSubmitProviderAuthCode, {
26396
26417
  payload: ProviderAuthSubmitCodeInput,
26397
26418
  success: ProviderAuthSession
26398
26419
  });
26399
- const WsServerSyncPersonalCodexToCloudRpc = make$30(WS_METHODS.serverSyncPersonalCodexToCloud, {
26420
+ const WsServerSyncPersonalCodexToCloudRpc = make$29(WS_METHODS.serverSyncPersonalCodexToCloud, {
26400
26421
  payload: ProviderCredentialCloudSyncInput,
26401
26422
  success: ProviderCredentialCloudSyncResult
26402
26423
  });
26403
- const WsServerSyncPersonalClaudeToCloudRpc = make$30(WS_METHODS.serverSyncPersonalClaudeToCloud, {
26424
+ const WsServerSyncPersonalClaudeToCloudRpc = make$29(WS_METHODS.serverSyncPersonalClaudeToCloud, {
26404
26425
  payload: ProviderCredentialCloudSyncInput,
26405
26426
  success: ProviderCredentialCloudSyncResult
26406
26427
  });
26407
- const WsServerGetSettingsRpc = make$30(WS_METHODS.serverGetSettings, {
26428
+ const WsServerGetSettingsRpc = make$29(WS_METHODS.serverGetSettings, {
26408
26429
  payload: require_Schema$1.Struct({}),
26409
26430
  success: ServerSettings,
26410
26431
  error: ServerSettingsError
26411
26432
  });
26412
- const WsServerUpdateSettingsRpc = make$30(WS_METHODS.serverUpdateSettings, {
26433
+ const WsServerUpdateSettingsRpc = make$29(WS_METHODS.serverUpdateSettings, {
26413
26434
  payload: require_Schema$1.Struct({ patch: ServerSettingsPatch }),
26414
26435
  success: ServerSettings,
26415
26436
  error: ServerSettingsError
26416
26437
  });
26417
- const WsServerUpdateEnvironmentDisplayNameRpc = make$30(WS_METHODS.serverUpdateEnvironmentDisplayName, {
26438
+ const WsServerUpdateEnvironmentDisplayNameRpc = make$29(WS_METHODS.serverUpdateEnvironmentDisplayName, {
26418
26439
  payload: ServerEnvironmentDisplayNameUpdateInput,
26419
26440
  success: ServerEnvironmentDisplayNameUpdateResult
26420
26441
  });
26421
- const WsServerTraceDiagnosticsRpc = make$30(WS_METHODS.serverGetTraceDiagnostics, {
26442
+ const WsServerTraceDiagnosticsRpc = make$29(WS_METHODS.serverGetTraceDiagnostics, {
26422
26443
  payload: require_Schema$1.Struct({ slowSpanThresholdMs: require_Schema$1.optionalKey(NonNegativeInt) }),
26423
26444
  success: ServerTraceDiagnosticsResult
26424
26445
  });
26425
- const WsServerHeartbeatRpc = make$30(WS_METHODS.serverHeartbeat, {
26446
+ const WsServerHeartbeatRpc = make$29(WS_METHODS.serverHeartbeat, {
26426
26447
  payload: require_Schema$1.Struct({}),
26427
26448
  success: require_Schema$1.Struct({})
26428
26449
  });
26429
26450
  const PullRequestRpcError = require_Schema$1.Union([PullRequestUnavailableError, PullRequestOperationError]);
26430
- const WsPullRequestsListRpc = make$30(WS_METHODS.pullRequestsList, {
26451
+ const WsPullRequestsListRpc = make$29(WS_METHODS.pullRequestsList, {
26431
26452
  payload: PullRequestListInput,
26432
26453
  success: PullRequestListResult,
26433
26454
  error: PullRequestRpcError
26434
26455
  });
26435
- const WsPullRequestsListStatsRpc = make$30(WS_METHODS.pullRequestsListStats, {
26456
+ const WsPullRequestsListStatsRpc = make$29(WS_METHODS.pullRequestsListStats, {
26436
26457
  payload: PullRequestListStatsInput,
26437
26458
  success: PullRequestListStatsResult,
26438
26459
  error: PullRequestRpcError
26439
26460
  });
26440
- const WsPullRequestsDetailRpc = make$30(WS_METHODS.pullRequestsDetail, {
26461
+ const WsPullRequestsDetailRpc = make$29(WS_METHODS.pullRequestsDetail, {
26441
26462
  payload: PullRequestRef,
26442
26463
  success: PullRequestDetail,
26443
26464
  error: PullRequestRpcError
26444
26465
  });
26445
- const WsPullRequestsActivityRpc = make$30(WS_METHODS.pullRequestsActivity, {
26466
+ const WsPullRequestsActivityRpc = make$29(WS_METHODS.pullRequestsActivity, {
26446
26467
  payload: PullRequestRef,
26447
26468
  success: PullRequestActivity,
26448
26469
  error: PullRequestRpcError
26449
26470
  });
26450
- const WsPullRequestsThreadCommentsRpc = make$30(WS_METHODS.pullRequestsThreadComments, {
26471
+ const WsPullRequestsThreadCommentsRpc = make$29(WS_METHODS.pullRequestsThreadComments, {
26451
26472
  payload: PullRequestThreadCommentsInput,
26452
26473
  success: PullRequestThreadCommentsResult,
26453
26474
  error: PullRequestRpcError
26454
26475
  });
26455
- const WsPullRequestsDiffFileContentsRpc = make$30(WS_METHODS.pullRequestsDiffFileContents, {
26476
+ const WsPullRequestsDiffFileContentsRpc = make$29(WS_METHODS.pullRequestsDiffFileContents, {
26456
26477
  payload: PullRequestDiffFileContentsInput,
26457
26478
  success: PullRequestDiffFileContentsResult,
26458
26479
  error: PullRequestRpcError
26459
26480
  });
26460
- const WsPullRequestsRunActionRpc = make$30(WS_METHODS.pullRequestsRunAction, {
26481
+ const WsPullRequestsRunActionRpc = make$29(WS_METHODS.pullRequestsRunAction, {
26461
26482
  payload: PullRequestActionInput,
26462
26483
  success: require_Schema$1.Void,
26463
26484
  error: PullRequestRpcError
26464
26485
  });
26465
- const WsPullRequestsUpdateRpc = make$30(WS_METHODS.pullRequestsUpdate, {
26486
+ const WsPullRequestsUpdateRpc = make$29(WS_METHODS.pullRequestsUpdate, {
26466
26487
  payload: PullRequestUpdateInput,
26467
26488
  success: require_Schema$1.Void,
26468
26489
  error: PullRequestRpcError
26469
26490
  });
26470
- const WsPullRequestsCommentRpc = make$30(WS_METHODS.pullRequestsComment, {
26491
+ const WsPullRequestsCommentRpc = make$29(WS_METHODS.pullRequestsComment, {
26471
26492
  payload: PullRequestCommentInput,
26472
26493
  success: require_Schema$1.Void,
26473
26494
  error: PullRequestRpcError
26474
26495
  });
26475
- const WsPullRequestsUpdateCommentRpc = make$30(WS_METHODS.pullRequestsUpdateComment, {
26496
+ const WsPullRequestsUpdateCommentRpc = make$29(WS_METHODS.pullRequestsUpdateComment, {
26476
26497
  payload: PullRequestCommentUpdateInput,
26477
26498
  success: require_Schema$1.Void,
26478
26499
  error: PullRequestRpcError
26479
26500
  });
26480
- const WsPullRequestsSubmitReviewRpc = make$30(WS_METHODS.pullRequestsSubmitReview, {
26501
+ const WsPullRequestsSubmitReviewRpc = make$29(WS_METHODS.pullRequestsSubmitReview, {
26481
26502
  payload: PullRequestSubmitReviewInput,
26482
26503
  success: require_Schema$1.Void,
26483
26504
  error: PullRequestRpcError
26484
26505
  });
26485
- const WsPullRequestsReplyToThreadRpc = make$30(WS_METHODS.pullRequestsReplyToThread, {
26506
+ const WsPullRequestsReplyToThreadRpc = make$29(WS_METHODS.pullRequestsReplyToThread, {
26486
26507
  payload: PullRequestThreadReplyInput,
26487
26508
  success: require_Schema$1.Void,
26488
26509
  error: PullRequestRpcError
26489
26510
  });
26490
- const WsPullRequestsSetThreadResolutionRpc = make$30(WS_METHODS.pullRequestsSetThreadResolution, {
26511
+ const WsPullRequestsSetThreadResolutionRpc = make$29(WS_METHODS.pullRequestsSetThreadResolution, {
26491
26512
  payload: PullRequestThreadResolutionInput,
26492
26513
  success: require_Schema$1.Void,
26493
26514
  error: PullRequestRpcError
26494
26515
  });
26495
- const WsPullRequestsSetReactionRpc = make$30(WS_METHODS.pullRequestsSetReaction, {
26516
+ const WsPullRequestsSetReactionRpc = make$29(WS_METHODS.pullRequestsSetReaction, {
26496
26517
  payload: PullRequestReactionInput,
26497
26518
  success: require_Schema$1.Void,
26498
26519
  error: PullRequestRpcError
26499
26520
  });
26500
- const WsPullRequestsInvalidateRpc = make$30(WS_METHODS.pullRequestsInvalidate, {
26521
+ const WsPullRequestsInvalidateRpc = make$29(WS_METHODS.pullRequestsInvalidate, {
26501
26522
  payload: PullRequestInvalidateInput,
26502
26523
  success: require_Schema$1.Void,
26503
26524
  error: PullRequestRpcError
26504
26525
  });
26505
- const WsPullRequestsReviewerCandidatesRpc = make$30(WS_METHODS.pullRequestsReviewerCandidates, {
26526
+ const WsPullRequestsReviewerCandidatesRpc = make$29(WS_METHODS.pullRequestsReviewerCandidates, {
26506
26527
  payload: PullRequestRef,
26507
26528
  success: PullRequestReviewerCandidateList,
26508
26529
  error: PullRequestRpcError
26509
26530
  });
26510
- const WsPullRequestsRequestReviewersRpc = make$30(WS_METHODS.pullRequestsRequestReviewers, {
26531
+ const WsPullRequestsRequestReviewersRpc = make$29(WS_METHODS.pullRequestsRequestReviewers, {
26511
26532
  payload: PullRequestReviewerRequestInput,
26512
26533
  success: require_Schema$1.Void,
26513
26534
  error: PullRequestRpcError
26514
26535
  });
26515
- const WsProjectsSearchContentsRpc = make$30(WS_METHODS.projectsSearchContents, {
26536
+ const WsProjectsSearchContentsRpc = make$29(WS_METHODS.projectsSearchContents, {
26516
26537
  payload: ProjectSearchContentsInput,
26517
26538
  success: ProjectSearchContentsResult,
26518
26539
  error: ProjectSearchContentsError
26519
26540
  });
26520
- const WsProjectsSearchEntriesRpc = make$30(WS_METHODS.projectsSearchEntries, {
26541
+ const WsProjectsSearchEntriesRpc = make$29(WS_METHODS.projectsSearchEntries, {
26521
26542
  payload: ProjectSearchEntriesInput,
26522
26543
  success: ProjectSearchEntriesResult,
26523
26544
  error: ProjectSearchEntriesError
26524
26545
  });
26525
- const WsProjectsWriteFileRpc = make$30(WS_METHODS.projectsWriteFile, {
26546
+ const WsProjectsWriteFileRpc = make$29(WS_METHODS.projectsWriteFile, {
26526
26547
  payload: ProjectWriteFileInput,
26527
26548
  success: ProjectWriteFileResult,
26528
26549
  error: ProjectWriteFileError
26529
26550
  });
26530
- const WsProjectCheckoutDeletionPreviewRpc = make$30(WS_METHODS.projectCheckoutDeletionPreview, {
26551
+ const WsProjectCheckoutDeletionPreviewRpc = make$29(WS_METHODS.projectCheckoutDeletionPreview, {
26531
26552
  payload: ProjectCheckoutDeletionPreviewInput,
26532
26553
  success: ProjectCheckoutDeletionPreview
26533
26554
  });
26534
- const WsProjectCheckoutDeletionExecuteRpc = make$30(WS_METHODS.projectCheckoutDeletionExecute, {
26555
+ const WsProjectCheckoutDeletionExecuteRpc = make$29(WS_METHODS.projectCheckoutDeletionExecute, {
26535
26556
  payload: ProjectCheckoutDeletionExecuteInput,
26536
26557
  success: ProjectCheckoutDeletionResult
26537
26558
  });
26538
- const WsWorkspaceReadFileRpc = make$30(WS_METHODS.workspaceReadFile, {
26559
+ const WsWorkspaceReadFileRpc = make$29(WS_METHODS.workspaceReadFile, {
26539
26560
  payload: BulkTransferReadFileInput,
26540
26561
  success: BulkTransferStreamEvent,
26541
26562
  error: BulkTransferError,
26542
26563
  stream: true
26543
26564
  });
26544
- const WsWorkspaceBeginWriteFileRpc = make$30(WS_METHODS.workspaceBeginWriteFile, {
26565
+ const WsWorkspaceBeginWriteFileRpc = make$29(WS_METHODS.workspaceBeginWriteFile, {
26545
26566
  payload: BulkTransferWriteBeginInput,
26546
26567
  success: BulkTransferWriteBeginResult,
26547
26568
  error: BulkTransferError
26548
26569
  });
26549
- const WsWorkspaceWriteFileChunkRpc = make$30(WS_METHODS.workspaceWriteFileChunk, {
26570
+ const WsWorkspaceWriteFileChunkRpc = make$29(WS_METHODS.workspaceWriteFileChunk, {
26550
26571
  payload: BulkTransferWriteChunkInput,
26551
26572
  success: BulkTransferWriteChunkResult,
26552
26573
  error: BulkTransferError
26553
26574
  });
26554
- const WsWorkspaceCommitWriteFileRpc = make$30(WS_METHODS.workspaceCommitWriteFile, {
26575
+ const WsWorkspaceCommitWriteFileRpc = make$29(WS_METHODS.workspaceCommitWriteFile, {
26555
26576
  payload: BulkTransferIdInput,
26556
26577
  success: BulkTransferWriteCommitResult,
26557
26578
  error: BulkTransferError
26558
26579
  });
26559
- const WsWorkspaceCancelWriteFileRpc = make$30(WS_METHODS.workspaceCancelWriteFile, {
26580
+ const WsWorkspaceCancelWriteFileRpc = make$29(WS_METHODS.workspaceCancelWriteFile, {
26560
26581
  payload: BulkTransferIdInput,
26561
26582
  success: BulkTransferCancelResult,
26562
26583
  error: BulkTransferError
26563
26584
  });
26564
- const WsShellOpenInEditorRpc = make$30(WS_METHODS.shellOpenInEditor, {
26585
+ const WsShellOpenInEditorRpc = make$29(WS_METHODS.shellOpenInEditor, {
26565
26586
  payload: OpenInEditorInput,
26566
26587
  error: OpenError$1
26567
26588
  });
26568
- const WsSubscribeGitStatusRpc = make$30(WS_METHODS.subscribeGitStatus, {
26589
+ const WsSubscribeGitStatusRpc = make$29(WS_METHODS.subscribeGitStatus, {
26569
26590
  payload: GitStatusInput,
26570
26591
  success: GitStatusStreamEvent,
26571
26592
  error: GitManagerServiceError,
26572
26593
  stream: true
26573
26594
  });
26574
- const WsGitPullRpc = make$30(WS_METHODS.gitPull, {
26595
+ const WsGitPullRpc = make$29(WS_METHODS.gitPull, {
26575
26596
  payload: GitPullInput,
26576
26597
  success: GitPullResult,
26577
26598
  error: GitCommandError
26578
26599
  });
26579
- const WsGitRefreshStatusRpc = make$30(WS_METHODS.gitRefreshStatus, {
26600
+ const WsGitRefreshStatusRpc = make$29(WS_METHODS.gitRefreshStatus, {
26580
26601
  payload: GitStatusInput,
26581
26602
  success: GitStatusResult,
26582
26603
  error: GitManagerServiceError
26583
26604
  });
26584
- const WsGitRunStackedActionRpc = make$30(WS_METHODS.gitRunStackedAction, {
26605
+ const WsGitRunStackedActionRpc = make$29(WS_METHODS.gitRunStackedAction, {
26585
26606
  payload: GitRunStackedActionInput,
26586
26607
  success: GitActionProgressEvent,
26587
26608
  error: GitManagerServiceError,
26588
26609
  stream: true
26589
26610
  });
26590
- const WsGitResolvePullRequestRpc = make$30(WS_METHODS.gitResolvePullRequest, {
26611
+ const WsGitResolvePullRequestRpc = make$29(WS_METHODS.gitResolvePullRequest, {
26591
26612
  payload: GitPullRequestRefInput,
26592
26613
  success: GitResolvePullRequestResult,
26593
26614
  error: GitManagerServiceError
26594
26615
  });
26595
- const WsGitPreparePullRequestThreadRpc = make$30(WS_METHODS.gitPreparePullRequestThread, {
26616
+ const WsGitPreparePullRequestThreadRpc = make$29(WS_METHODS.gitPreparePullRequestThread, {
26596
26617
  payload: GitPreparePullRequestThreadInput,
26597
26618
  success: GitPreparePullRequestThreadResult,
26598
26619
  error: GitManagerServiceError
26599
26620
  });
26600
- const WsGitListBranchesRpc = make$30(WS_METHODS.gitListBranches, {
26621
+ const WsGitListBranchesRpc = make$29(WS_METHODS.gitListBranches, {
26601
26622
  payload: GitListBranchesInput,
26602
26623
  success: GitListBranchesResult,
26603
26624
  error: GitCommandError
26604
26625
  });
26605
- const WsVcsListRefsRpc = make$30(WS_METHODS.vcsListRefs, {
26626
+ const WsVcsListRefsRpc = make$29(WS_METHODS.vcsListRefs, {
26606
26627
  payload: VcsListRefsInput,
26607
26628
  success: VcsListRefsResult,
26608
26629
  error: GitCommandError
26609
26630
  });
26610
- const WsVcsRefreshStatusRpc = make$30(WS_METHODS.vcsRefreshStatus, {
26631
+ const WsVcsRefreshStatusRpc = make$29(WS_METHODS.vcsRefreshStatus, {
26611
26632
  payload: GitStatusInput,
26612
26633
  success: VcsStatusResult,
26613
26634
  error: GitManagerServiceError
26614
26635
  });
26615
- const WsSubscribeVcsStatusRpc = make$30(WS_METHODS.subscribeVcsStatus, {
26636
+ const WsSubscribeVcsStatusRpc = make$29(WS_METHODS.subscribeVcsStatus, {
26616
26637
  payload: GitStatusInput,
26617
26638
  success: VcsStatusStreamEvent,
26618
26639
  error: GitManagerServiceError,
26619
26640
  stream: true
26620
26641
  });
26621
- const WsVcsPullRpc = make$30(WS_METHODS.vcsPull, {
26642
+ const WsVcsPullRpc = make$29(WS_METHODS.vcsPull, {
26622
26643
  payload: VcsPullInput,
26623
26644
  success: VcsPullResult,
26624
26645
  error: GitCommandError
26625
26646
  });
26626
- const WsVcsCreateWorktreeRpc = make$30(WS_METHODS.vcsCreateWorktree, {
26647
+ const WsVcsCreateWorktreeRpc = make$29(WS_METHODS.vcsCreateWorktree, {
26627
26648
  payload: VcsCreateWorktreeInput,
26628
26649
  success: VcsCreateWorktreeResult,
26629
26650
  error: require_Schema$1.Union([GitCommandError, VcsUnsupportedRequestError])
26630
26651
  });
26631
- const WsVcsRemoveWorktreeRpc = make$30(WS_METHODS.vcsRemoveWorktree, {
26652
+ const WsVcsRemoveWorktreeRpc = make$29(WS_METHODS.vcsRemoveWorktree, {
26632
26653
  payload: GitRemoveWorktreeInput,
26633
26654
  error: GitCommandError
26634
26655
  });
26635
- const WsVcsCreateRefRpc = make$30(WS_METHODS.vcsCreateRef, {
26656
+ const WsVcsCreateRefRpc = make$29(WS_METHODS.vcsCreateRef, {
26636
26657
  payload: VcsCreateRefInput,
26637
26658
  success: VcsCreateRefResult,
26638
26659
  error: GitCommandError
26639
26660
  });
26640
- const WsVcsSwitchRefRpc = make$30(WS_METHODS.vcsSwitchRef, {
26661
+ const WsVcsSwitchRefRpc = make$29(WS_METHODS.vcsSwitchRef, {
26641
26662
  payload: VcsSwitchRefInput,
26642
26663
  success: VcsSwitchRefResult,
26643
26664
  error: GitCommandError
26644
26665
  });
26645
- const WsVcsInitRpc = make$30(WS_METHODS.vcsInit, {
26666
+ const WsVcsInitRpc = make$29(WS_METHODS.vcsInit, {
26646
26667
  payload: VcsInitInput,
26647
26668
  error: require_Schema$1.Union([GitCommandError, VcsUnsupportedRequestError])
26648
26669
  });
26649
- const WsGitCreateWorktreeRpc = make$30(WS_METHODS.gitCreateWorktree, {
26670
+ const WsGitCreateWorktreeRpc = make$29(WS_METHODS.gitCreateWorktree, {
26650
26671
  payload: GitCreateWorktreeInput,
26651
26672
  success: GitCreateWorktreeResult,
26652
26673
  error: GitCommandError
26653
26674
  });
26654
- const WsGitRemoveWorktreeRpc = make$30(WS_METHODS.gitRemoveWorktree, {
26675
+ const WsGitRemoveWorktreeRpc = make$29(WS_METHODS.gitRemoveWorktree, {
26655
26676
  payload: GitRemoveWorktreeInput,
26656
26677
  error: GitCommandError
26657
26678
  });
26658
- const WsGitCreateBranchRpc = make$30(WS_METHODS.gitCreateBranch, {
26679
+ const WsGitCreateBranchRpc = make$29(WS_METHODS.gitCreateBranch, {
26659
26680
  payload: GitCreateBranchInput,
26660
26681
  success: GitCreateBranchResult,
26661
26682
  error: GitCommandError
26662
26683
  });
26663
- const WsGitCheckoutRpc = make$30(WS_METHODS.gitCheckout, {
26684
+ const WsGitCheckoutRpc = make$29(WS_METHODS.gitCheckout, {
26664
26685
  payload: GitCheckoutInput,
26665
26686
  success: GitCheckoutResult,
26666
26687
  error: GitCommandError
26667
26688
  });
26668
- const WsGitInitRpc = make$30(WS_METHODS.gitInit, {
26689
+ const WsGitInitRpc = make$29(WS_METHODS.gitInit, {
26669
26690
  payload: GitInitInput,
26670
26691
  error: GitCommandError
26671
26692
  });
@@ -26673,7 +26694,7 @@ const WsGitInitRpc = make$30(WS_METHODS.gitInit, {
26673
26694
  * The git half of a review: the branch range and the uncommitted work. The
26674
26695
  * per-turn diffs beside it arrive through `orchestration.getTurnDiff`.
26675
26696
  */
26676
- const WsReviewGetDiffPreviewRpc = make$30(WS_METHODS.reviewGetDiffPreview, {
26697
+ const WsReviewGetDiffPreviewRpc = make$29(WS_METHODS.reviewGetDiffPreview, {
26677
26698
  payload: ReviewDiffPreviewInput,
26678
26699
  success: ReviewDiffPreviewResult,
26679
26700
  error: require_Schema$1.Union([ReviewDiffPreviewError])
@@ -26683,12 +26704,12 @@ const WsReviewGetDiffPreviewRpc = make$30(WS_METHODS.reviewGetDiffPreview, {
26683
26704
  * chunked bulk-transfer stream. A viewer wants the text once; a transfer wants
26684
26705
  * offsets and checksums.
26685
26706
  */
26686
- const WsProjectsReadFileRpc = make$30(WS_METHODS.projectsReadFile, {
26707
+ const WsProjectsReadFileRpc = make$29(WS_METHODS.projectsReadFile, {
26687
26708
  payload: ProjectReadFileInput,
26688
26709
  success: ProjectReadFileResult,
26689
26710
  error: require_Schema$1.Union([ProjectReadFileError])
26690
26711
  });
26691
- const WsFilesystemBrowseRpc = make$30(WS_METHODS.filesystemBrowse, {
26712
+ const WsFilesystemBrowseRpc = make$29(WS_METHODS.filesystemBrowse, {
26692
26713
  payload: FilesystemBrowseInput,
26693
26714
  success: FilesystemBrowseResult,
26694
26715
  error: require_Schema$1.Union([FilesystemBrowseError])
@@ -26698,87 +26719,87 @@ const WsFilesystemBrowseRpc = make$30(WS_METHODS.filesystemBrowse, {
26698
26719
  * Routed through the server because the phone keeps only the Forge-minted
26699
26720
  * session token, never a CMMD one.
26700
26721
  */
26701
- const WsCloudListRuntimesRpc = make$30(WS_METHODS.cloudListRuntimes, {
26722
+ const WsCloudListRuntimesRpc = make$29(WS_METHODS.cloudListRuntimes, {
26702
26723
  payload: CloudRuntimeListInput,
26703
26724
  success: CloudRuntimeListResult,
26704
26725
  error: require_Schema$1.Union([CloudRuntimeListError])
26705
26726
  });
26706
- const WsTerminalOpenRpc = make$30(WS_METHODS.terminalOpen, {
26727
+ const WsTerminalOpenRpc = make$29(WS_METHODS.terminalOpen, {
26707
26728
  payload: TerminalOpenInput,
26708
26729
  success: TerminalSessionSnapshot,
26709
26730
  error: TerminalError
26710
26731
  });
26711
- const WsTerminalAttachRpc = make$30(WS_METHODS.terminalAttach, {
26732
+ const WsTerminalAttachRpc = make$29(WS_METHODS.terminalAttach, {
26712
26733
  payload: TerminalAttachInput,
26713
26734
  success: TerminalAttachStreamEvent,
26714
26735
  error: TerminalError,
26715
26736
  stream: true
26716
26737
  });
26717
- const WsTerminalWriteRpc = make$30(WS_METHODS.terminalWrite, {
26738
+ const WsTerminalWriteRpc = make$29(WS_METHODS.terminalWrite, {
26718
26739
  payload: TerminalWriteRequest,
26719
26740
  success: TerminalControlAck,
26720
26741
  error: TerminalError
26721
26742
  });
26722
- const WsTerminalResizeRpc = make$30(WS_METHODS.terminalResize, {
26743
+ const WsTerminalResizeRpc = make$29(WS_METHODS.terminalResize, {
26723
26744
  payload: TerminalResizeRequest,
26724
26745
  success: TerminalControlAck,
26725
26746
  error: TerminalError
26726
26747
  });
26727
- const WsTerminalSignalRpc = make$30(WS_METHODS.terminalSignal, {
26748
+ const WsTerminalSignalRpc = make$29(WS_METHODS.terminalSignal, {
26728
26749
  payload: TerminalSignalRequest,
26729
26750
  success: TerminalControlAck,
26730
26751
  error: TerminalError
26731
26752
  });
26732
- const WsTerminalClearRpc = make$30(WS_METHODS.terminalClear, {
26753
+ const WsTerminalClearRpc = make$29(WS_METHODS.terminalClear, {
26733
26754
  payload: TerminalClearRequest,
26734
26755
  success: TerminalControlAck,
26735
26756
  error: TerminalError
26736
26757
  });
26737
- const WsTerminalRestartRpc = make$30(WS_METHODS.terminalRestart, {
26758
+ const WsTerminalRestartRpc = make$29(WS_METHODS.terminalRestart, {
26738
26759
  payload: TerminalRestartRequest,
26739
26760
  success: TerminalRestartResult,
26740
26761
  error: TerminalError
26741
26762
  });
26742
- const WsTerminalCloseRpc = make$30(WS_METHODS.terminalClose, {
26763
+ const WsTerminalCloseRpc = make$29(WS_METHODS.terminalClose, {
26743
26764
  payload: TerminalCloseRequest,
26744
26765
  success: TerminalControlAck,
26745
26766
  error: TerminalError
26746
26767
  });
26747
- const WsBrowserOpenSessionRpc = make$30(WS_METHODS.browserOpenSession, {
26768
+ const WsBrowserOpenSessionRpc = make$29(WS_METHODS.browserOpenSession, {
26748
26769
  payload: BrowserOpenSessionInput,
26749
26770
  success: BrowserSessionSnapshot,
26750
26771
  error: BrowserError
26751
26772
  });
26752
- const WsBrowserListSessionsRpc = make$30(WS_METHODS.browserListSessions, {
26773
+ const WsBrowserListSessionsRpc = make$29(WS_METHODS.browserListSessions, {
26753
26774
  payload: BrowserListSessionsInput,
26754
26775
  success: require_Schema$1.ArraySchema(BrowserSessionSnapshot),
26755
26776
  error: BrowserError
26756
26777
  });
26757
- const WsBrowserCloseSessionRpc = make$30(WS_METHODS.browserCloseSession, {
26778
+ const WsBrowserCloseSessionRpc = make$29(WS_METHODS.browserCloseSession, {
26758
26779
  payload: BrowserCloseSessionInput,
26759
26780
  error: BrowserError
26760
26781
  });
26761
- const WsBrowserGetSessionRpc = make$30(WS_METHODS.browserGetSession, {
26782
+ const WsBrowserGetSessionRpc = make$29(WS_METHODS.browserGetSession, {
26762
26783
  payload: BrowserGetSessionInput,
26763
26784
  success: require_Schema$1.NullOr(BrowserSessionSnapshot),
26764
26785
  error: BrowserError
26765
26786
  });
26766
- const WsBrowserCommandRpc = make$30(WS_METHODS.browserCommand, {
26787
+ const WsBrowserCommandRpc = make$29(WS_METHODS.browserCommand, {
26767
26788
  payload: BrowserCommandInput,
26768
26789
  success: BrowserCommandResult,
26769
26790
  error: BrowserError
26770
26791
  });
26771
- const WsBrowserClearBrowsingDataRpc = make$30(WS_METHODS.browserClearBrowsingData, {
26792
+ const WsBrowserClearBrowsingDataRpc = make$29(WS_METHODS.browserClearBrowsingData, {
26772
26793
  payload: BrowserClearBrowsingDataInput,
26773
26794
  success: BrowserClearBrowsingDataResult,
26774
26795
  error: BrowserError
26775
26796
  });
26776
- const WsBrowserAttachDisplayRpc = make$30(WS_METHODS.browserAttachDisplay, {
26797
+ const WsBrowserAttachDisplayRpc = make$29(WS_METHODS.browserAttachDisplay, {
26777
26798
  payload: BrowserDisplayAttachInput,
26778
26799
  success: BrowserDisplayAttachResult,
26779
26800
  error: BrowserError
26780
26801
  });
26781
- const WsBrowserAddDisplayIceCandidateRpc = make$30(WS_METHODS.browserAddDisplayIceCandidate, {
26802
+ const WsBrowserAddDisplayIceCandidateRpc = make$29(WS_METHODS.browserAddDisplayIceCandidate, {
26782
26803
  payload: BrowserDisplayIceCandidateInput,
26783
26804
  success: require_Schema$1.Struct({}),
26784
26805
  error: BrowserError
@@ -26790,87 +26811,87 @@ const WsBrowserAddDisplayIceCandidateRpc = make$30(WS_METHODS.browserAddDisplayI
26790
26811
  * page: it can click a DOM element but cannot touch the dock, a file manager,
26791
26812
  * or anything else outside Chromium. This one lands on the display itself.
26792
26813
  */
26793
- const WsComputerInputRpc = make$30(WS_METHODS.computerInput, {
26814
+ const WsComputerInputRpc = make$29(WS_METHODS.computerInput, {
26794
26815
  payload: ComputerInputInput,
26795
26816
  success: ComputerInputResult,
26796
26817
  error: ComputerError
26797
26818
  });
26798
- const WsDevTunnelRegisterRpc = make$30(WS_METHODS.devTunnelRegister, {
26819
+ const WsDevTunnelRegisterRpc = make$29(WS_METHODS.devTunnelRegister, {
26799
26820
  payload: DevTunnelRegisterInput,
26800
26821
  success: DevTunnelRecord,
26801
26822
  error: DevTunnelError
26802
26823
  });
26803
- const WsDevTunnelUnregisterRpc = make$30(WS_METHODS.devTunnelUnregister, {
26824
+ const WsDevTunnelUnregisterRpc = make$29(WS_METHODS.devTunnelUnregister, {
26804
26825
  payload: DevTunnelUnregisterInput,
26805
26826
  error: DevTunnelError
26806
26827
  });
26807
- const WsDevTunnelListRpc = make$30(WS_METHODS.devTunnelList, {
26828
+ const WsDevTunnelListRpc = make$29(WS_METHODS.devTunnelList, {
26808
26829
  payload: DevTunnelListInput,
26809
26830
  success: require_Schema$1.ArraySchema(DevTunnelRecord),
26810
26831
  error: DevTunnelError
26811
26832
  });
26812
- const WsThreadDevRuntimeGetRpc = make$30(WS_METHODS.threadDevRuntimeGet, {
26833
+ const WsThreadDevRuntimeGetRpc = make$29(WS_METHODS.threadDevRuntimeGet, {
26813
26834
  payload: ThreadDevRuntimeGetInput,
26814
26835
  success: require_Schema$1.NullOr(ThreadDevRuntimeRecord),
26815
26836
  error: ThreadDevRuntimeError
26816
26837
  });
26817
- const WsThreadDevRuntimeAllocatePortRpc = make$30(WS_METHODS.threadDevRuntimeAllocatePort, {
26838
+ const WsThreadDevRuntimeAllocatePortRpc = make$29(WS_METHODS.threadDevRuntimeAllocatePort, {
26818
26839
  payload: ThreadDevRuntimeAllocatePortInput,
26819
26840
  success: ThreadDevRuntimeRecord,
26820
26841
  error: ThreadDevRuntimeError
26821
26842
  });
26822
- const WsThreadDevRuntimeReleaseRpc = make$30(WS_METHODS.threadDevRuntimeRelease, {
26843
+ const WsThreadDevRuntimeReleaseRpc = make$29(WS_METHODS.threadDevRuntimeRelease, {
26823
26844
  payload: ThreadDevRuntimeReleaseInput,
26824
26845
  error: ThreadDevRuntimeError
26825
26846
  });
26826
- const WsWorkspaceEnvironmentPreflightRpc = make$30(WS_METHODS.workspaceEnvironmentPreflight, {
26847
+ const WsWorkspaceEnvironmentPreflightRpc = make$29(WS_METHODS.workspaceEnvironmentPreflight, {
26827
26848
  payload: WorkspaceEnvironmentPreflightInput,
26828
26849
  success: WorkspaceEnvironmentPreflightReport,
26829
26850
  error: WorkspaceEnvironmentError
26830
26851
  });
26831
- const WsWorkspaceEnsureScratchRpc = make$30(WS_METHODS.workspaceEnsureScratch, {
26852
+ const WsWorkspaceEnsureScratchRpc = make$29(WS_METHODS.workspaceEnsureScratch, {
26832
26853
  payload: WorkspaceEnsureScratchInput,
26833
26854
  success: WorkspaceEnsureScratchResult,
26834
26855
  error: WorkspaceEnvironmentError
26835
26856
  });
26836
- const WsOrchestrationDispatchCommandRpc = make$30(ORCHESTRATION_WS_METHODS.dispatchCommand, {
26857
+ const WsOrchestrationDispatchCommandRpc = make$29(ORCHESTRATION_WS_METHODS.dispatchCommand, {
26837
26858
  payload: ClientOrchestrationCommand,
26838
26859
  success: OrchestrationRpcSchemas.dispatchCommand.output,
26839
26860
  error: OrchestrationDispatchCommandError
26840
26861
  });
26841
- const WsOrchestrationGetTurnDiffRpc = make$30(ORCHESTRATION_WS_METHODS.getTurnDiff, {
26862
+ const WsOrchestrationGetTurnDiffRpc = make$29(ORCHESTRATION_WS_METHODS.getTurnDiff, {
26842
26863
  payload: OrchestrationGetTurnDiffInput,
26843
26864
  success: OrchestrationRpcSchemas.getTurnDiff.output,
26844
26865
  error: OrchestrationGetTurnDiffError
26845
26866
  });
26846
- const WsOrchestrationGetFullThreadDiffRpc = make$30(ORCHESTRATION_WS_METHODS.getFullThreadDiff, {
26867
+ const WsOrchestrationGetFullThreadDiffRpc = make$29(ORCHESTRATION_WS_METHODS.getFullThreadDiff, {
26847
26868
  payload: OrchestrationGetFullThreadDiffInput,
26848
26869
  success: OrchestrationRpcSchemas.getFullThreadDiff.output,
26849
26870
  error: OrchestrationGetFullThreadDiffError
26850
26871
  });
26851
- const WsOrchestrationStreamTurnDiffRpc = make$30(ORCHESTRATION_WS_METHODS.streamTurnDiff, {
26872
+ const WsOrchestrationStreamTurnDiffRpc = make$29(ORCHESTRATION_WS_METHODS.streamTurnDiff, {
26852
26873
  payload: OrchestrationGetTurnDiffInput,
26853
26874
  success: BulkTransferStreamEvent,
26854
26875
  error: require_Schema$1.Union([OrchestrationGetTurnDiffError, BulkTransferError]),
26855
26876
  stream: true
26856
26877
  });
26857
- const WsOrchestrationStreamFullThreadDiffRpc = make$30(ORCHESTRATION_WS_METHODS.streamFullThreadDiff, {
26878
+ const WsOrchestrationStreamFullThreadDiffRpc = make$29(ORCHESTRATION_WS_METHODS.streamFullThreadDiff, {
26858
26879
  payload: OrchestrationGetFullThreadDiffInput,
26859
26880
  success: BulkTransferStreamEvent,
26860
26881
  error: require_Schema$1.Union([OrchestrationGetFullThreadDiffError, BulkTransferError]),
26861
26882
  stream: true
26862
26883
  });
26863
- const WsOrchestrationReplayEventsRpc = make$30(ORCHESTRATION_WS_METHODS.replayEvents, {
26884
+ const WsOrchestrationReplayEventsRpc = make$29(ORCHESTRATION_WS_METHODS.replayEvents, {
26864
26885
  payload: OrchestrationReplayEventsInput,
26865
26886
  success: OrchestrationRpcSchemas.replayEvents.output,
26866
26887
  error: OrchestrationReplayEventsError
26867
26888
  });
26868
- const WsOrchestrationGetArchivedShellSnapshotRpc = make$30(ORCHESTRATION_WS_METHODS.getArchivedShellSnapshot, {
26889
+ const WsOrchestrationGetArchivedShellSnapshotRpc = make$29(ORCHESTRATION_WS_METHODS.getArchivedShellSnapshot, {
26869
26890
  payload: OrchestrationRpcSchemas.getArchivedShellSnapshot.input,
26870
26891
  success: OrchestrationRpcSchemas.getArchivedShellSnapshot.output,
26871
26892
  error: OrchestrationGetSnapshotError
26872
26893
  });
26873
- const WsOrchestrationSearchThreadsRpc = make$30(ORCHESTRATION_WS_METHODS.searchThreads, {
26894
+ const WsOrchestrationSearchThreadsRpc = make$29(ORCHESTRATION_WS_METHODS.searchThreads, {
26874
26895
  payload: OrchestrationSearchThreadsInput,
26875
26896
  success: OrchestrationRpcSchemas.searchThreads.output,
26876
26897
  error: OrchestrationSearchThreadsError
@@ -26881,7 +26902,7 @@ const WsOrchestrationSearchThreadsRpc = make$30(ORCHESTRATION_WS_METHODS.searchT
26881
26902
  * route and `subscribeThread`'s fallback snapshot serve, over the RPC socket
26882
26903
  * instead.
26883
26904
  */
26884
- const WsOrchestrationGetThreadDetailPageRpc = make$30(ORCHESTRATION_WS_METHODS.getThreadDetailPage, {
26905
+ const WsOrchestrationGetThreadDetailPageRpc = make$29(ORCHESTRATION_WS_METHODS.getThreadDetailPage, {
26885
26906
  payload: OrchestrationRpcSchemas.getThreadDetailPage.input,
26886
26907
  success: OrchestrationRpcSchemas.getThreadDetailPage.output,
26887
26908
  error: OrchestrationGetSnapshotError
@@ -26894,29 +26915,29 @@ const WsOrchestrationGetThreadDetailPageRpc = make$30(ORCHESTRATION_WS_METHODS.g
26894
26915
  * also be authorized, and a repository the caller cannot reach is a failure
26895
26916
  * here rather than a clone that dies half way.
26896
26917
  */
26897
- const WsSourceControlLookupRepositoryRpc = make$30(WS_METHODS.sourceControlLookupRepository, {
26918
+ const WsSourceControlLookupRepositoryRpc = make$29(WS_METHODS.sourceControlLookupRepository, {
26898
26919
  payload: SourceControlRepositoryLookupInput,
26899
26920
  success: SourceControlRepositoryInfo,
26900
26921
  error: SourceControlRepositoryError
26901
26922
  });
26902
- const WsSourceControlCloneRepositoryRpc = make$30(WS_METHODS.sourceControlCloneRepository, {
26923
+ const WsSourceControlCloneRepositoryRpc = make$29(WS_METHODS.sourceControlCloneRepository, {
26903
26924
  payload: SourceControlCloneRepositoryInput,
26904
26925
  success: SourceControlCloneRepositoryResult,
26905
26926
  error: SourceControlRepositoryError
26906
26927
  });
26907
- const WsOrchestrationSubscribeShellRpc = make$30(ORCHESTRATION_WS_METHODS.subscribeShell, {
26928
+ const WsOrchestrationSubscribeShellRpc = make$29(ORCHESTRATION_WS_METHODS.subscribeShell, {
26908
26929
  payload: OrchestrationRpcSchemas.subscribeShell.input,
26909
26930
  success: OrchestrationRpcSchemas.subscribeShell.output,
26910
26931
  error: OrchestrationGetSnapshotError,
26911
26932
  stream: true
26912
26933
  });
26913
- const WsOrchestrationSubscribeThreadRpc = make$30(ORCHESTRATION_WS_METHODS.subscribeThread, {
26934
+ const WsOrchestrationSubscribeThreadRpc = make$29(ORCHESTRATION_WS_METHODS.subscribeThread, {
26914
26935
  payload: OrchestrationRpcSchemas.subscribeThread.input,
26915
26936
  success: OrchestrationRpcSchemas.subscribeThread.output,
26916
26937
  error: OrchestrationGetSnapshotError,
26917
26938
  stream: true
26918
26939
  });
26919
- const WsSubscribeTerminalEventsRpc = make$30(WS_METHODS.subscribeTerminalEvents, {
26940
+ const WsSubscribeTerminalEventsRpc = make$29(WS_METHODS.subscribeTerminalEvents, {
26920
26941
  payload: require_Schema$1.Struct({}),
26921
26942
  success: TerminalEvent,
26922
26943
  stream: true
@@ -26937,65 +26958,65 @@ const WsSubscribeTerminalEventsRpc = make$30(WS_METHODS.subscribeTerminalEvents,
26937
26958
  * The client's activity report, accepted and dropped. See
26938
26959
  * packages/contracts/src/clientActivityCompat.ts for why there is no answer.
26939
26960
  */
26940
- const WsServerReportClientActivityRpc = make$30(WS_METHODS.serverReportClientActivity, { payload: ClientActivityReportInput });
26941
- const WsServerDiscoverSourceControlRpc = make$30(WS_METHODS.serverDiscoverSourceControl, {
26961
+ const WsServerReportClientActivityRpc = make$29(WS_METHODS.serverReportClientActivity, { payload: ClientActivityReportInput });
26962
+ const WsServerDiscoverSourceControlRpc = make$29(WS_METHODS.serverDiscoverSourceControl, {
26942
26963
  payload: require_Schema$1.Struct({}),
26943
26964
  success: SourceControlDiscoveryResult
26944
26965
  });
26945
- const WsProjectsListEntriesRpc = make$30(WS_METHODS.projectsListEntries, {
26966
+ const WsProjectsListEntriesRpc = make$29(WS_METHODS.projectsListEntries, {
26946
26967
  payload: ProjectListEntriesInput,
26947
26968
  success: ProjectListEntriesResult,
26948
26969
  error: ProjectListEntriesError
26949
26970
  });
26950
- const WsSubscribeTerminalMetadataRpc = make$30(WS_METHODS.subscribeTerminalMetadata, {
26971
+ const WsSubscribeTerminalMetadataRpc = make$29(WS_METHODS.subscribeTerminalMetadata, {
26951
26972
  payload: require_Schema$1.Struct({}),
26952
26973
  success: TerminalMetadataStreamEvent,
26953
26974
  stream: true
26954
26975
  });
26955
- const WsSubscribeBrowserEventsRpc = make$30(WS_METHODS.subscribeBrowserEvents, {
26976
+ const WsSubscribeBrowserEventsRpc = make$29(WS_METHODS.subscribeBrowserEvents, {
26956
26977
  payload: BrowserSubscribeInput,
26957
26978
  success: BrowserStreamEvent,
26958
26979
  error: BrowserError,
26959
26980
  stream: true
26960
26981
  });
26961
- const WsSubscribeServerConfigRpc = make$30(WS_METHODS.subscribeServerConfig, {
26982
+ const WsSubscribeServerConfigRpc = make$29(WS_METHODS.subscribeServerConfig, {
26962
26983
  payload: require_Schema$1.Struct({}),
26963
26984
  success: ServerConfigStreamEvent,
26964
26985
  error: require_Schema$1.Union([KeybindingsConfigError, ServerSettingsError]),
26965
26986
  stream: true
26966
26987
  });
26967
- const WsSubscribeServerLifecycleRpc = make$30(WS_METHODS.subscribeServerLifecycle, {
26988
+ const WsSubscribeServerLifecycleRpc = make$29(WS_METHODS.subscribeServerLifecycle, {
26968
26989
  payload: require_Schema$1.Struct({}),
26969
26990
  success: ServerLifecycleStreamEvent,
26970
26991
  stream: true
26971
26992
  });
26972
- const WsSubscribeAuthAccessRpc = make$30(WS_METHODS.subscribeAuthAccess, {
26993
+ const WsSubscribeAuthAccessRpc = make$29(WS_METHODS.subscribeAuthAccess, {
26973
26994
  payload: require_Schema$1.Struct({}),
26974
26995
  success: AuthAccessStreamEvent,
26975
26996
  stream: true
26976
26997
  });
26977
- const WsSubscribeWorkspaceReadinessRpc = make$30(WS_METHODS.subscribeWorkspaceReadiness, {
26998
+ const WsSubscribeWorkspaceReadinessRpc = make$29(WS_METHODS.subscribeWorkspaceReadiness, {
26978
26999
  payload: WorkspaceReadinessSubscribeInput,
26979
27000
  success: PhaseEvent,
26980
27001
  error: WorkspaceReadinessError,
26981
27002
  stream: true
26982
27003
  });
26983
- const WsRpcGroup = make$29(WsServerGetConfigRpc, WsServerRefreshProvidersRpc, WsServerStartProviderAuthRpc, WsServerRepairProviderAuthRuntimeRpc, WsServerDisconnectProviderAuthRpc, WsServerGetProviderAuthSessionRpc, WsServerCancelProviderAuthRpc, WsServerSubmitProviderAuthCodeRpc, WsServerSyncPersonalCodexToCloudRpc, WsServerSyncPersonalClaudeToCloudRpc, WsServerUpsertKeybindingRpc, WsServerRemoveKeybindingRpc, WsServerGetSettingsRpc, WsServerUpdateSettingsRpc, WsServerUpdateEnvironmentDisplayNameRpc, WsServerTraceDiagnosticsRpc, WsServerHeartbeatRpc, make$30(WS_METHODS.usageGetSummary, {
27004
+ const WsRpcGroup = make$28(WsServerGetConfigRpc, WsServerRefreshProvidersRpc, WsServerStartProviderAuthRpc, WsServerRepairProviderAuthRuntimeRpc, WsServerDisconnectProviderAuthRpc, WsServerGetProviderAuthSessionRpc, WsServerCancelProviderAuthRpc, WsServerSubmitProviderAuthCodeRpc, WsServerSyncPersonalCodexToCloudRpc, WsServerSyncPersonalClaudeToCloudRpc, WsServerUpsertKeybindingRpc, WsServerRemoveKeybindingRpc, WsServerGetSettingsRpc, WsServerUpdateSettingsRpc, WsServerUpdateEnvironmentDisplayNameRpc, WsServerTraceDiagnosticsRpc, WsServerHeartbeatRpc, make$29(WS_METHODS.usageGetSummary, {
26984
27005
  payload: UsageSummaryInput,
26985
27006
  success: UsageSummary,
26986
27007
  error: UsageReadError
26987
- }), WsPullRequestsListRpc, WsPullRequestsListStatsRpc, WsPullRequestsDetailRpc, WsPullRequestsActivityRpc, WsPullRequestsThreadCommentsRpc, WsPullRequestsDiffFileContentsRpc, WsPullRequestsRunActionRpc, WsPullRequestsUpdateRpc, WsPullRequestsCommentRpc, WsPullRequestsUpdateCommentRpc, WsPullRequestsSubmitReviewRpc, WsPullRequestsReplyToThreadRpc, WsPullRequestsSetThreadResolutionRpc, WsPullRequestsSetReactionRpc, WsPullRequestsInvalidateRpc, WsPullRequestsReviewerCandidatesRpc, WsPullRequestsRequestReviewersRpc, WsProjectsSearchContentsRpc, WsProjectsSearchEntriesRpc, WsProjectsWriteFileRpc, WsProjectCheckoutDeletionPreviewRpc, WsProjectCheckoutDeletionExecuteRpc, WsWorkspaceReadFileRpc, WsWorkspaceBeginWriteFileRpc, WsWorkspaceWriteFileChunkRpc, WsWorkspaceCommitWriteFileRpc, WsWorkspaceCancelWriteFileRpc, WsShellOpenInEditorRpc, WsSubscribeGitStatusRpc, WsGitPullRpc, WsGitRefreshStatusRpc, WsGitRunStackedActionRpc, WsGitResolvePullRequestRpc, WsGitPreparePullRequestThreadRpc, WsGitListBranchesRpc, WsVcsListRefsRpc, WsVcsRefreshStatusRpc, WsSubscribeVcsStatusRpc, WsVcsPullRpc, WsVcsCreateWorktreeRpc, WsVcsRemoveWorktreeRpc, WsVcsCreateRefRpc, WsVcsSwitchRefRpc, WsVcsInitRpc, WsGitCreateWorktreeRpc, WsGitRemoveWorktreeRpc, WsGitCreateBranchRpc, WsGitCheckoutRpc, WsGitInitRpc, WsFilesystemBrowseRpc, WsProjectsReadFileRpc, WsReviewGetDiffPreviewRpc, WsCloudListRuntimesRpc, WsTerminalOpenRpc, WsTerminalAttachRpc, WsTerminalWriteRpc, WsTerminalResizeRpc, WsTerminalSignalRpc, WsTerminalClearRpc, WsTerminalRestartRpc, WsTerminalCloseRpc, WsBrowserOpenSessionRpc, WsBrowserListSessionsRpc, WsBrowserCloseSessionRpc, WsBrowserGetSessionRpc, WsBrowserCommandRpc, WsBrowserClearBrowsingDataRpc, WsBrowserAttachDisplayRpc, WsBrowserAddDisplayIceCandidateRpc, WsComputerInputRpc, WsDevTunnelRegisterRpc, WsDevTunnelUnregisterRpc, WsDevTunnelListRpc, WsThreadDevRuntimeGetRpc, WsThreadDevRuntimeAllocatePortRpc, WsThreadDevRuntimeReleaseRpc, WsWorkspaceEnvironmentPreflightRpc, WsWorkspaceEnsureScratchRpc, WsSubscribeTerminalEventsRpc, WsSubscribeTerminalMetadataRpc, WsProjectsListEntriesRpc, WsServerDiscoverSourceControlRpc, WsServerReportClientActivityRpc, WsSubscribeBrowserEventsRpc, WsSubscribeServerConfigRpc, WsSubscribeServerLifecycleRpc, WsSubscribeAuthAccessRpc, WsSubscribeWorkspaceReadinessRpc, WsOrchestrationDispatchCommandRpc, WsOrchestrationGetTurnDiffRpc, WsOrchestrationGetFullThreadDiffRpc, WsOrchestrationStreamTurnDiffRpc, WsOrchestrationStreamFullThreadDiffRpc, WsOrchestrationReplayEventsRpc, WsOrchestrationGetArchivedShellSnapshotRpc, WsOrchestrationSubscribeShellRpc, WsOrchestrationSubscribeThreadRpc, make$30(WS_METHODS.assetsCreateUrl, {
27008
+ }), WsPullRequestsListRpc, WsPullRequestsListStatsRpc, WsPullRequestsDetailRpc, WsPullRequestsActivityRpc, WsPullRequestsThreadCommentsRpc, WsPullRequestsDiffFileContentsRpc, WsPullRequestsRunActionRpc, WsPullRequestsUpdateRpc, WsPullRequestsCommentRpc, WsPullRequestsUpdateCommentRpc, WsPullRequestsSubmitReviewRpc, WsPullRequestsReplyToThreadRpc, WsPullRequestsSetThreadResolutionRpc, WsPullRequestsSetReactionRpc, WsPullRequestsInvalidateRpc, WsPullRequestsReviewerCandidatesRpc, WsPullRequestsRequestReviewersRpc, WsProjectsSearchContentsRpc, WsProjectsSearchEntriesRpc, WsProjectsWriteFileRpc, WsProjectCheckoutDeletionPreviewRpc, WsProjectCheckoutDeletionExecuteRpc, WsWorkspaceReadFileRpc, WsWorkspaceBeginWriteFileRpc, WsWorkspaceWriteFileChunkRpc, WsWorkspaceCommitWriteFileRpc, WsWorkspaceCancelWriteFileRpc, WsShellOpenInEditorRpc, WsSubscribeGitStatusRpc, WsGitPullRpc, WsGitRefreshStatusRpc, WsGitRunStackedActionRpc, WsGitResolvePullRequestRpc, WsGitPreparePullRequestThreadRpc, WsGitListBranchesRpc, WsVcsListRefsRpc, WsVcsRefreshStatusRpc, WsSubscribeVcsStatusRpc, WsVcsPullRpc, WsVcsCreateWorktreeRpc, WsVcsRemoveWorktreeRpc, WsVcsCreateRefRpc, WsVcsSwitchRefRpc, WsVcsInitRpc, WsGitCreateWorktreeRpc, WsGitRemoveWorktreeRpc, WsGitCreateBranchRpc, WsGitCheckoutRpc, WsGitInitRpc, WsFilesystemBrowseRpc, WsProjectsReadFileRpc, WsReviewGetDiffPreviewRpc, WsCloudListRuntimesRpc, WsTerminalOpenRpc, WsTerminalAttachRpc, WsTerminalWriteRpc, WsTerminalResizeRpc, WsTerminalSignalRpc, WsTerminalClearRpc, WsTerminalRestartRpc, WsTerminalCloseRpc, WsBrowserOpenSessionRpc, WsBrowserListSessionsRpc, WsBrowserCloseSessionRpc, WsBrowserGetSessionRpc, WsBrowserCommandRpc, WsBrowserClearBrowsingDataRpc, WsBrowserAttachDisplayRpc, WsBrowserAddDisplayIceCandidateRpc, WsComputerInputRpc, WsDevTunnelRegisterRpc, WsDevTunnelUnregisterRpc, WsDevTunnelListRpc, WsThreadDevRuntimeGetRpc, WsThreadDevRuntimeAllocatePortRpc, WsThreadDevRuntimeReleaseRpc, WsWorkspaceEnvironmentPreflightRpc, WsWorkspaceEnsureScratchRpc, WsSubscribeTerminalEventsRpc, WsSubscribeTerminalMetadataRpc, WsProjectsListEntriesRpc, WsServerDiscoverSourceControlRpc, WsServerReportClientActivityRpc, WsSubscribeBrowserEventsRpc, WsSubscribeServerConfigRpc, WsSubscribeServerLifecycleRpc, WsSubscribeAuthAccessRpc, WsSubscribeWorkspaceReadinessRpc, WsOrchestrationDispatchCommandRpc, WsOrchestrationGetTurnDiffRpc, WsOrchestrationGetFullThreadDiffRpc, WsOrchestrationStreamTurnDiffRpc, WsOrchestrationStreamFullThreadDiffRpc, WsOrchestrationReplayEventsRpc, WsOrchestrationGetArchivedShellSnapshotRpc, WsOrchestrationSubscribeShellRpc, WsOrchestrationSubscribeThreadRpc, make$29(WS_METHODS.assetsCreateUrl, {
26988
27009
  payload: AssetsRpcSchemas.createUrl.input,
26989
27010
  success: AssetsRpcSchemas.createUrl.output,
26990
27011
  error: AssetAccessError
26991
- }), make$30(WS_METHODS.attachmentsCreateUploadUrl, {
27012
+ }), make$29(WS_METHODS.attachmentsCreateUploadUrl, {
26992
27013
  payload: AttachmentCreateUploadUrlInput,
26993
27014
  success: AttachmentCreateUploadUrlResult,
26994
27015
  error: AttachmentUploadSigningKeyError
26995
- }), make$30(WS_METHODS.attachmentsDelete, {
27016
+ }), make$29(WS_METHODS.attachmentsDelete, {
26996
27017
  payload: AttachmentDeleteInput,
26997
27018
  success: require_Schema$1.Void
26998
- }), make$30(WS_METHODS.providerUploadFeedback, {
27019
+ }), make$29(WS_METHODS.providerUploadFeedback, {
26999
27020
  payload: ProviderUploadFeedbackInput,
27000
27021
  success: ProviderUploadFeedbackResult,
27001
27022
  error: ProviderUploadFeedbackError
@@ -34631,7 +34652,7 @@ function parse$5(input) {
34631
34652
  const FULL_PATH_REGEXP = /^https?:\/\/.*?\//;
34632
34653
  const OPTIONAL_PARAM_REGEXP = /(\/:[^/()]*?)\?(\/?)/;
34633
34654
  /** @internal */
34634
- const make$28 = (options = {}) => new RouterImpl(options);
34655
+ const make$27 = (options = {}) => new RouterImpl(options);
34635
34656
  var RouterImpl = class {
34636
34657
  constructor(options = {}) {
34637
34658
  this.options = {
@@ -35150,7 +35171,7 @@ const httpMethods = [
35150
35171
  * @since 1.0.0
35151
35172
  * @category constructors
35152
35173
  */
35153
- const make$27 = make$28;
35174
+ const make$26 = make$27;
35154
35175
  //#endregion
35155
35176
  //#region ../../node_modules/.bun/effect@4.0.0-beta.51/node_modules/effect/dist/unstable/http/HttpRouter.js
35156
35177
  /**
@@ -35166,8 +35187,8 @@ const HttpRouter = /* @__PURE__ */ require_Schema$1.Service("effect/http/HttpRou
35166
35187
  * @since 4.0.0
35167
35188
  * @category HttpRouter
35168
35189
  */
35169
- const make$26 = /* @__PURE__ */ require_Schema$1.gen(function* () {
35170
- const router = make$27(yield* RouterConfig);
35190
+ const make$25 = /* @__PURE__ */ require_Schema$1.gen(function* () {
35191
+ const router = make$26(yield* RouterConfig);
35171
35192
  const middleware = /* @__PURE__ */ new Set();
35172
35193
  const addAll = (routes) => require_Schema$1.contextWith((context) => {
35173
35194
  const middleware = getMiddleware(context);
@@ -35297,7 +35318,7 @@ const add$1 = (method, path, handler, options) => use((router) => router.add(met
35297
35318
  * @since 4.0.0
35298
35319
  * @category HttpRouter
35299
35320
  */
35300
- const layer$5 = /* @__PURE__ */ require_Schema$1.effect(HttpRouter)(make$26);
35321
+ const layer$5 = /* @__PURE__ */ require_Schema$1.effect(HttpRouter)(make$25);
35301
35322
  const RouteTypeId = "~effect/http/HttpRouter/Route";
35302
35323
  const makeRoute = (options) => ({
35303
35324
  ...options,
@@ -66311,7 +66332,7 @@ function normalizeNumberish(value) {
66311
66332
  }
66312
66333
  //#endregion
66313
66334
  //#region package.json
66314
- var version$1 = "0.13.94";
66335
+ var version$1 = "0.13.96";
66315
66336
  //#endregion
66316
66337
  //#region src/sentry.ts
66317
66338
  const SERVER_APP_NAME = "forge-server";
@@ -77138,7 +77159,7 @@ let clientIdCounter = 0;
77138
77159
  * @since 4.0.0
77139
77160
  * @category client
77140
77161
  */
77141
- const make$25 = /* @__PURE__ */ require_Schema$1.fnUntraced(function* (group, options) {
77162
+ const make$24 = /* @__PURE__ */ require_Schema$1.fnUntraced(function* (group, options) {
77142
77163
  const clientId = clientIdCounter++;
77143
77164
  const { run, send, supportsAck, supportsTransferables } = yield* Protocol$1;
77144
77165
  const entries = /* @__PURE__ */ new Map();
@@ -77514,7 +77535,7 @@ const applyMiddleware = (context, handler, options) => {
77514
77535
  * @since 4.0.0
77515
77536
  * @category server
77516
77537
  */
77517
- const make$24 = /* @__PURE__ */ require_Schema$1.fnUntraced(function* (group, options) {
77538
+ const make$23 = /* @__PURE__ */ require_Schema$1.fnUntraced(function* (group, options) {
77518
77539
  const { disconnects, end, run, send, supportsAck, supportsSpanPropagation, supportsTransferables } = yield* Protocol;
77519
77540
  const services = yield* require_Schema$1.context();
77520
77541
  const scope = yield* require_Schema$1.make$3();
@@ -77687,7 +77708,7 @@ const makeProtocolWithHttpEffectWebsocket = /* @__PURE__ */ require_Schema$1.gen
77687
77708
  */
77688
77709
  const toHttpEffectWebsocket = /* @__PURE__ */ require_Schema$1.fnUntraced(function* (group, options) {
77689
77710
  const { httpEffect, protocol } = yield* makeProtocolWithHttpEffectWebsocket;
77690
- yield* make$24(group, options).pipe(require_Schema$1.provideService(Protocol, protocol), require_Schema$1.forkScoped);
77711
+ yield* make$23(group, options).pipe(require_Schema$1.provideService(Protocol, protocol), require_Schema$1.forkScoped);
77691
77712
  return httpEffect;
77692
77713
  });
77693
77714
  const makeSocketProtocol = /* @__PURE__ */ require_Schema$1.gen(function* () {
@@ -78724,7 +78745,7 @@ function readTraceFile(fileSystem, path) {
78724
78745
  cause
78725
78746
  })) }));
78726
78747
  }
78727
- const make$23 = require_Schema$1.gen(function* () {
78748
+ const make$22 = require_Schema$1.gen(function* () {
78728
78749
  const fileSystem = yield* require_Path.FileSystem;
78729
78750
  const read = require_Schema$1.fn("TraceDiagnostics.read")(function* (options) {
78730
78751
  const readAtMs = options.readAtMs ?? Date.now();
@@ -78768,7 +78789,7 @@ const make$23 = require_Schema$1.gen(function* () {
78768
78789
  });
78769
78790
  return TraceDiagnostics.of({ read });
78770
78791
  });
78771
- const layer$4 = require_Schema$1.effect(TraceDiagnostics, make$23);
78792
+ const layer$4 = require_Schema$1.effect(TraceDiagnostics, make$22);
78772
78793
  require_Schema$1.succeed$1(TraceDiagnostics, TraceDiagnostics.of({ read: (options) => require_Schema$1.succeed(makeEmptyDiagnostics({
78773
78794
  traceFilePath: options.traceFilePath,
78774
78795
  scannedFilePaths: [],
@@ -86674,7 +86695,7 @@ function toReviewThreadListing(threads, dismissalsByReviewId) {
86674
86695
  viewer: threads.metadata.viewer
86675
86696
  };
86676
86697
  }
86677
- const make$22 = require_Schema$1.gen(function* () {
86698
+ const make$21 = require_Schema$1.gen(function* () {
86678
86699
  const github = yield* GitHubCli$1;
86679
86700
  /**
86680
86701
  * The pull request's own node id, which is what a mutation against the pull request itself is
@@ -87379,9 +87400,9 @@ const make$22 = require_Schema$1.gen(function* () {
87379
87400
  })))
87380
87401
  });
87381
87402
  });
87382
- require_Schema$1.effect(GitHubPullRequestCli, make$22);
87403
+ require_Schema$1.effect(GitHubPullRequestCli, make$21);
87383
87404
  /** Builds a PR CLI for one authenticated session without touching global git or auth state. */
87384
- const makeFromCommandRunner = (runner) => make$22.pipe(require_Schema$1.provideService(GitHubCli$1, runner));
87405
+ const makeFromCommandRunner = (runner) => make$21.pipe(require_Schema$1.provideService(GitHubCli$1, runner));
87385
87406
  //#endregion
87386
87407
  //#region src/pullRequest/GitHubPullRequestProvider.ts
87387
87408
  const CAPABILITIES$3 = {
@@ -87501,7 +87522,7 @@ function loginAvatarUrl(login, host) {
87501
87522
  }
87502
87523
  /** True where markdown would render nothing: whitespace, or only HTML comments. */
87503
87524
  const rendersEmpty = (body) => body.replace(/<!--[\s\S]*?-->/g, "").trim().length === 0;
87504
- const make$21 = require_Schema$1.gen(function* () {
87525
+ const make$20 = require_Schema$1.gen(function* () {
87505
87526
  const cli = yield* GitHubPullRequestCli;
87506
87527
  const fail = (operation) => (error) => new PullRequestProviderError({
87507
87528
  provider: "github",
@@ -87710,7 +87731,7 @@ const make$21 = require_Schema$1.gen(function* () {
87710
87731
  };
87711
87732
  });
87712
87733
  /** Constructs the provider from a session-bound command service supplied by the caller. */
87713
- const makeFromCli = (cli) => make$21.pipe(require_Schema$1.provideService(GitHubPullRequestCli, cli));
87734
+ const makeFromCli = (cli) => make$20.pipe(require_Schema$1.provideService(GitHubPullRequestCli, cli));
87714
87735
  //#endregion
87715
87736
  //#region src/git/AgentAttribution.ts
87716
87737
  /**
@@ -93324,7 +93345,7 @@ function toResolvableLinks(links) {
93324
93345
  * A Forge project id is installation-local; it must never be sent to CMMD as a project id.
93325
93346
  */
93326
93347
  var CmmdProjectIdentityResolver = class extends require_Schema$1.Service()("forge/pullRequest/CmmdProjectIdentityResolver") {};
93327
- const make$20 = require_Schema$1.gen(function* () {
93348
+ const make$19 = require_Schema$1.gen(function* () {
93328
93349
  const environment = yield* ServerEnvironment;
93329
93350
  const repositoryIdentity = yield* RepositoryIdentityResolver;
93330
93351
  const resolve = (forgeProjectId, cmmdJwt) => require_Schema$1.gen(function* () {
@@ -93365,7 +93386,7 @@ function resolveCanonicalKey(repositoryIdentity, forgeProjectId) {
93365
93386
  return (yield* repositoryIdentity.resolve(workspaceRoot))?.canonicalKey ?? null;
93366
93387
  }).pipe(require_Schema$1.orElseSucceed(() => null));
93367
93388
  }
93368
- const cmmdProjectIdentityResolverLive = require_Schema$1.effect(CmmdProjectIdentityResolver, make$20);
93389
+ const cmmdProjectIdentityResolverLive = require_Schema$1.effect(CmmdProjectIdentityResolver, make$19);
93369
93390
  //#endregion
93370
93391
  //#region src/pullRequest/PullRequestServiceFactory.ts
93371
93392
  var PullRequestServiceFactory = class extends require_Schema$1.Service()("forge/pullRequest/PullRequestServiceFactory") {};
@@ -93395,7 +93416,7 @@ function makePrincipalServiceCache(input) {
93395
93416
  return entry.value;
93396
93417
  };
93397
93418
  }
93398
- const make$19 = require_Schema$1.gen(function* () {
93419
+ const make$18 = require_Schema$1.gen(function* () {
93399
93420
  const projections = yield* ProjectionSnapshotQuery;
93400
93421
  const settings = yield* ServerSettingsService;
93401
93422
  const providerRuntimeSource = yield* require_Schema$1.serviceOption(PullRequestProviderRuntimeSource);
@@ -93433,7 +93454,7 @@ const make$19 = require_Schema$1.gen(function* () {
93433
93454
  const forPrincipal = (principal) => require_Schema$1.promise(() => cached(principal));
93434
93455
  return PullRequestServiceFactory.of({ forPrincipal });
93435
93456
  });
93436
- const pullRequestServiceFactoryLayer = require_Schema$1.effect(PullRequestServiceFactory, make$19);
93457
+ const pullRequestServiceFactoryLayer = require_Schema$1.effect(PullRequestServiceFactory, make$18);
93437
93458
  //#endregion
93438
93459
  //#region ../../packages/shared/src/keybindings.ts
93439
93460
  /**
@@ -94298,7 +94319,7 @@ const launchDetached = (launch) => require_Schema$1.gen(function* () {
94298
94319
  }))));
94299
94320
  });
94300
94321
  });
94301
- const make$18 = require_Schema$1.gen(function* () {
94322
+ const make$17 = require_Schema$1.gen(function* () {
94302
94323
  const open = yield* require_Schema$1.tryPromise({
94303
94324
  try: () => Promise.resolve().then(() => require("./open-CghsF25U.cjs")),
94304
94325
  catch: (cause) => new OpenError$1({
@@ -94317,7 +94338,7 @@ const make$18 = require_Schema$1.gen(function* () {
94317
94338
  openInEditor: (input) => require_Schema$1.flatMap(resolveEditorLaunch(input), launchDetached)
94318
94339
  };
94319
94340
  });
94320
- const OpenLive = require_Schema$1.effect(Open, make$18);
94341
+ const OpenLive = require_Schema$1.effect(Open, make$17);
94321
94342
  //#endregion
94322
94343
  //#region src/workspace/Services/WorkspacePaths.ts
94323
94344
  /**
@@ -99310,7 +99331,7 @@ function readFailed(detail) {
99310
99331
  cause: require_Schema$1.squash(cause)
99311
99332
  }));
99312
99333
  }
99313
- const make$17 = require_Schema$1.gen(function* () {
99334
+ const make$16 = require_Schema$1.gen(function* () {
99314
99335
  const config = yield* ServerConfig;
99315
99336
  const snapshots = yield* ProjectionSnapshotQuery;
99316
99337
  const outbox = yield* RuntimeReplicationOutbox;
@@ -99356,7 +99377,7 @@ const make$17 = require_Schema$1.gen(function* () {
99356
99377
  };
99357
99378
  }) };
99358
99379
  });
99359
- const UsageRecordedSourceLive = require_Schema$1.effect(UsageRecordedSource, make$17);
99380
+ const UsageRecordedSourceLive = require_Schema$1.effect(UsageRecordedSource, make$16);
99360
99381
  //#endregion
99361
99382
  //#region src/runtimeReplication/usageSessionLookup.ts
99362
99383
  /**
@@ -99617,7 +99638,7 @@ function askTheLedger(request) {
99617
99638
  return require_Schema$1.logWarning("usage session lookup failed; local lanes keep their records").pipe(require_Schema$1.annotateLogs({ cause: outcome.error }), require_Schema$1.as(UNAVAILABLE.callFailed));
99618
99639
  }));
99619
99640
  }
99620
- const make$16 = (fetchImpl, resolveOwnerCredential) => require_Schema$1.gen(function* () {
99641
+ const make$15 = (fetchImpl, resolveOwnerCredential) => require_Schema$1.gen(function* () {
99621
99642
  const config = yield* ServerConfig;
99622
99643
  const sql = yield* require_SqlError.SqlClient;
99623
99644
  /** The cloud lane: this runtime's own scoped grant. */
@@ -99656,7 +99677,7 @@ const make$16 = (fetchImpl, resolveOwnerCredential) => require_Schema$1.gen(func
99656
99677
  * without a signed-in machine behind it. Both default to the real thing.
99657
99678
  */
99658
99679
  function makeUsageSessionLookupLayer(fetchImpl = fetch, resolveOwnerCredential = resolveOwnerCredentialLive) {
99659
- return require_Schema$1.effect(UsageSessionLookup, make$16(fetchImpl, resolveOwnerCredential));
99680
+ return require_Schema$1.effect(UsageSessionLookup, make$15(fetchImpl, resolveOwnerCredential));
99660
99681
  }
99661
99682
  const UsageSessionLookupLive = makeUsageSessionLookupLayer();
99662
99683
  //#endregion
@@ -100466,7 +100487,7 @@ function failedRecordedSources(hostId, detail) {
100466
100487
  message: detail
100467
100488
  }));
100468
100489
  }
100469
- const make$15 = (hooks) => require_Schema$1.gen(function* () {
100490
+ const make$14 = (hooks) => require_Schema$1.gen(function* () {
100470
100491
  const fileSystem = yield* require_Path.FileSystem;
100471
100492
  const path = yield* require_Path.Path;
100472
100493
  const config = yield* ServerConfig;
@@ -100895,7 +100916,7 @@ const make$15 = (hooks) => require_Schema$1.gen(function* () {
100895
100916
  });
100896
100917
  /** The service with a seam into the scan; tests pass their own hooks. */
100897
100918
  function makeUsageServiceLayer(hooks = NOOP_SCAN_HOOKS) {
100898
- return require_Schema$1.effect(UsageService, make$15(hooks));
100919
+ return require_Schema$1.effect(UsageService, make$14(hooks));
100899
100920
  }
100900
100921
  const UsageServiceLive = makeUsageServiceLayer();
100901
100922
  const DAY_MS = 1440 * 60 * 1e3;
@@ -115389,7 +115410,7 @@ const PgClient = /* @__PURE__ */ require_Schema$1.Service("@effect/sql-pg/PgClie
115389
115410
  * @category constructors
115390
115411
  * @since 1.0.0
115391
115412
  */
115392
- const make$14 = (options) => fromPool({
115413
+ const make$13 = (options) => fromPool({
115393
115414
  ...options,
115394
115415
  acquire: require_Schema$1.gen(function* () {
115395
115416
  const pool = new Pool({
@@ -115668,7 +115689,7 @@ const layerFrom = (acquire) => require_Schema$1.effectContext(require_Schema$1.m
115668
115689
  * @category layers
115669
115690
  * @since 1.0.0
115670
115691
  */
115671
- const layer$3 = (config) => layerFrom(make$14(config));
115692
+ const layer$3 = (config) => layerFrom(make$13(config));
115672
115693
  /**
115673
115694
  * @category constructor
115674
115695
  * @since 1.0.0
@@ -116222,7 +116243,7 @@ var MigrationError = class extends require_Schema$1.TaggedError("MigrationError"
116222
116243
  * @category constructor
116223
116244
  * @since 4.0.0
116224
116245
  */
116225
- const make$13 = ({ dumpSchema = () => require_Schema$1.void_ }) => ({ loader, schemaDirectory, table = "effect_sql_migrations" }) => require_Schema$1.gen(function* () {
116246
+ const make$12 = ({ dumpSchema = () => require_Schema$1.void_ }) => ({ loader, schemaDirectory, table = "effect_sql_migrations" }) => require_Schema$1.gen(function* () {
116226
116247
  const sql = yield* require_SqlError.SqlClient;
116227
116248
  const ensureMigrationsTable = sql.onDialectOrElse({
116228
116249
  mssql: () => sql`IF OBJECT_ID(N'${sql.literal(table)}', N'U') IS NULL
@@ -119301,7 +119322,7 @@ const makeMigrationLoader = (throughId) => fromRecord(Object.fromEntries(migrati
119301
119322
  * Migrator run function - no schema dumping needed
119302
119323
  * Uses the base Migrator.make without platform dependencies
119303
119324
  */
119304
- const run = make$13({});
119325
+ const run = make$12({});
119305
119326
  /**
119306
119327
  * Run all pending migrations.
119307
119328
  *
@@ -150697,7 +150718,7 @@ function formatLoggerMessage(message) {
150697
150718
  return typeof message === "string" ? message : String(message);
150698
150719
  }
150699
150720
  function makeLineLogger(streamLabel) {
150700
- return make$33(({ date, message }) => `[${date.toISOString()}] ${streamLabel}: ${formatLoggerMessage(message)}\n`);
150721
+ return make$32(({ date, message }) => `[${date.toISOString()}] ${streamLabel}: ${formatLoggerMessage(message)}\n`);
150701
150722
  }
150702
150723
  function resolveStreamLabel(stream) {
150703
150724
  switch (stream) {
@@ -150813,7 +150834,7 @@ const makeEventNdjsonLogger = require_Schema$1.fn("makeEventNdjsonLogger")(funct
150813
150834
  });
150814
150835
  return;
150815
150836
  }
150816
- const stateRef = yield* make$32({
150837
+ const stateRef = yield* make$31({
150817
150838
  threadWriters: /* @__PURE__ */ new Map(),
150818
150839
  failedSegments: /* @__PURE__ */ new Set()
150819
150840
  });
@@ -212603,6 +212624,17 @@ function isCommandMissingCause(error) {
212603
212624
  const lower = error.message.toLowerCase();
212604
212625
  return lower.includes("enoent") || lower.includes("notfound");
212605
212626
  }
212627
+ /**
212628
+ * The one thing a spawn failure answers for sure when it is command-missing
212629
+ * shaped: the binary is not there. Any other spawn failure (a permissions
212630
+ * error, a crashed shell, a Sprite freeze mid-spawn) never actually asked the
212631
+ * CLI anything, so it is not evidence the binary is missing (forge#3588).
212632
+ * Shared by every provider Layer's version-probe failure branch so the
212633
+ * classification reads the same way everywhere it is made.
212634
+ */
212635
+ function availabilityCheckForSpawnFailure(commandMissing) {
212636
+ return commandMissing ? "confirmed" : "could-not-check";
212637
+ }
212606
212638
  const spawnAndCollect = (binaryPath, command) => require_Schema$1.gen(function* () {
212607
212639
  const child = yield* (yield* require_NodeTerminal.ChildProcessSpawner).spawn(command);
212608
212640
  const [stdout, stderr, exitCode] = yield* require_Schema$1.all([
@@ -212709,6 +212741,7 @@ function buildServerProvider(input) {
212709
212741
  auth: input.probe.auth,
212710
212742
  checkedAt: input.checkedAt,
212711
212743
  ...input.probe.message ? { message: input.probe.message } : {},
212744
+ ...input.probe.availabilityCheck ? { availabilityCheck: input.probe.availabilityCheck } : {},
212712
212745
  models: input.models,
212713
212746
  slashCommands: [...input.slashCommands ?? []],
212714
212747
  skills: [...withForgeBuiltInSkills(input.skills)]
@@ -214793,19 +214826,29 @@ const makeManagedServerProvider = require_Schema$1.fn("makeManagedServerProvider
214793
214826
  });
214794
214827
  yield* require_Path.runForEach(input.streamSettings, (nextSettings) => require_Schema$1.asVoid(applySnapshot(nextSettings))).pipe(require_Schema$1.forkScoped);
214795
214828
  const refreshFailureCount = yield* require_HttpServer.make$3(0);
214829
+ const QUICK_RETRY_MS = 5e3;
214830
+ const MAX_QUICK_RETRIES = 3;
214831
+ const quickRetriesSoFar = yield* require_HttpServer.make$3(0);
214796
214832
  yield* require_Schema$1.forever(require_Schema$1.gen(function* () {
214797
214833
  const failureCount = yield* require_HttpServer.get$1(refreshFailureCount);
214834
+ const quickRetriesDone = yield* require_HttpServer.get$1(quickRetriesSoFar);
214798
214835
  const baseMs = 6e4;
214799
214836
  const backoffMs = Math.min(baseMs * Math.pow(2, failureCount), 3e5);
214800
- yield* require_Schema$1.sleep(require_Schema$1.millis(backoffMs));
214837
+ const delayMs = quickRetriesDone > 0 ? QUICK_RETRY_MS : backoffMs;
214838
+ yield* require_Schema$1.sleep(require_Schema$1.millis(delayMs));
214801
214839
  const result = yield* refreshSnapshot().pipe(require_Schema$1.tapError((e) => require_Schema$1.sync(() => captureServerError(e))), require_Schema$1.exit);
214802
214840
  if (require_Schema$1.isFailure(result)) {
214803
214841
  yield* require_HttpServer.update(refreshFailureCount, (n) => Math.min(n + 1, 4));
214842
+ yield* require_HttpServer.set(quickRetriesSoFar, 0);
214804
214843
  yield* require_Schema$1.logInfo("Provider refresh failed, backing off", {
214805
214844
  failureCount: failureCount + 1,
214806
214845
  nextDelayMs: Math.min(baseMs * Math.pow(2, failureCount + 1), 3e5)
214807
214846
  });
214808
- } else yield* require_HttpServer.set(refreshFailureCount, 0);
214847
+ } else {
214848
+ yield* require_HttpServer.set(refreshFailureCount, 0);
214849
+ const keepRetryingQuickly = result.value.availabilityCheck === "could-not-check" && quickRetriesDone < MAX_QUICK_RETRIES;
214850
+ yield* require_HttpServer.set(quickRetriesSoFar, keepRetryingQuickly ? quickRetriesDone + 1 : 0);
214851
+ }
214809
214852
  })).pipe(require_Schema$1.forkScoped);
214810
214853
  return {
214811
214854
  getSnapshot: input.getSettings.pipe(require_Schema$1.flatMap(applySnapshot), require_Schema$1.tapError(require_Schema$1.logError), require_Schema$1.orDie),
@@ -215458,7 +215501,8 @@ function buildClaudeProviderFromAuthProbe(input) {
215458
215501
  version: input.parsedVersion,
215459
215502
  status: "warning",
215460
215503
  auth: { status: "unknown" },
215461
- message: error instanceof Error ? `Could not verify Claude authentication status: ${error.message}.` : "Could not verify Claude authentication status."
215504
+ message: error instanceof Error ? `Could not verify Claude authentication status: ${error.message}.` : "Could not verify Claude authentication status.",
215505
+ availabilityCheck: "could-not-check"
215462
215506
  }
215463
215507
  });
215464
215508
  }
@@ -215479,7 +215523,8 @@ function buildClaudeProviderFromAuthProbe(input) {
215479
215523
  status: "warning",
215480
215524
  auth: { status: "unknown" },
215481
215525
  message: "Could not verify Claude authentication status. Timed out while running command."
215482
- }
215526
+ },
215527
+ availabilityCheck: "could-not-check"
215483
215528
  }
215484
215529
  });
215485
215530
  const parsed = parseClaudeAuthStatusFromOutput(input.authProbe.success.value, { proxiedCredential: input.provenance.credentialScope === "proxied" });
@@ -215498,7 +215543,8 @@ function buildClaudeProviderFromAuthProbe(input) {
215498
215543
  ...input.authMetadata ? input.authMetadata : {},
215499
215544
  provenance: input.provenance
215500
215545
  },
215501
- ...parsed.message ? { message: parsed.message } : {}
215546
+ ...parsed.message ? { message: parsed.message } : {},
215547
+ availabilityCheck: "confirmed"
215502
215548
  }
215503
215549
  });
215504
215550
  }
@@ -215564,7 +215610,8 @@ function claudeVersionProbeTimeoutProvider(input) {
215564
215610
  version: null,
215565
215611
  status: "error",
215566
215612
  auth: { status: "unknown" },
215567
- message: "Claude Agent CLI is installed but failed to run. Timed out while running command."
215613
+ message: "Claude Agent CLI is installed but failed to run. Timed out while running command.",
215614
+ availabilityCheck: "could-not-check"
215568
215615
  }
215569
215616
  });
215570
215617
  }
@@ -215596,7 +215643,8 @@ const nativeClaudeProviderStatus = require_Schema$1.fn("nativeClaudeProviderStat
215596
215643
  status: usable ? "authenticated" : "unauthenticated",
215597
215644
  provenance: input.provenance
215598
215645
  },
215599
- ...usable ? {} : { message: claudeNativeCredentialUnusableMessage() }
215646
+ ...usable ? {} : { message: claudeNativeCredentialUnusableMessage() },
215647
+ availabilityCheck: "confirmed"
215600
215648
  }
215601
215649
  });
215602
215650
  });
@@ -215642,23 +215690,26 @@ const checkClaudeProviderStatus = require_Schema$1.fn("checkClaudeProviderStatus
215642
215690
  version: null,
215643
215691
  status: "warning",
215644
215692
  auth: { status: "unknown" },
215645
- message: "Claude is disabled in Forge settings."
215693
+ message: "Claude is disabled in Forge settings.",
215694
+ availabilityCheck: "confirmed"
215646
215695
  }
215647
215696
  });
215648
215697
  const versionProbe = yield* runClaudeCommand(["--version"]).pipe(require_Schema$1.timeoutOption(CLAUDE_VERSION_PROBE_TIMEOUT_MS), require_Schema$1.result);
215649
215698
  if (require_Schema$1.isFailure$1(versionProbe)) {
215650
215699
  const error = versionProbe.failure;
215700
+ const commandMissing = isCommandMissingCause(error);
215651
215701
  return buildServerProvider({
215652
215702
  provider: PROVIDER$12,
215653
215703
  enabled: claudeSettings.enabled,
215654
215704
  checkedAt,
215655
215705
  models: fallbackModels,
215656
215706
  probe: {
215657
- installed: !isCommandMissingCause(error),
215707
+ installed: !commandMissing,
215658
215708
  version: null,
215659
215709
  status: "error",
215660
215710
  auth: { status: "unknown" },
215661
- message: isCommandMissingCause(error) ? "Claude Agent CLI (`claude`) is not installed or not on PATH." : `Failed to execute Claude Agent CLI health check: ${error instanceof Error ? error.message : String(error)}.`
215711
+ message: commandMissing ? "Claude Agent CLI (`claude`) is not installed or not on PATH." : `Failed to execute Claude Agent CLI health check: ${error instanceof Error ? error.message : String(error)}.`,
215712
+ availabilityCheck: availabilityCheckForSpawnFailure(commandMissing)
215662
215713
  }
215663
215714
  });
215664
215715
  }
@@ -215681,7 +215732,8 @@ const checkClaudeProviderStatus = require_Schema$1.fn("checkClaudeProviderStatus
215681
215732
  version: parsedVersion,
215682
215733
  status: "error",
215683
215734
  auth: { status: "unknown" },
215684
- message: detail ? `Claude Agent CLI is installed but failed to run. ${detail}` : "Claude Agent CLI is installed but failed to run."
215735
+ message: detail ? `Claude Agent CLI is installed but failed to run. ${detail}` : "Claude Agent CLI is installed but failed to run.",
215736
+ availabilityCheck: "confirmed"
215685
215737
  }
215686
215738
  });
215687
215739
  }
@@ -223619,113 +223671,113 @@ function toRpcClientError(error) {
223619
223671
  }
223620
223672
  //#endregion
223621
223673
  //#region ../../packages/effect-acp/src/rpc.ts
223622
- const InitializeRpc = make$30(AGENT_METHODS.initialize, {
223674
+ const InitializeRpc = make$29(AGENT_METHODS.initialize, {
223623
223675
  payload: InitializeRequest,
223624
223676
  success: InitializeResponse,
223625
223677
  error: Error$1
223626
223678
  });
223627
- const AuthenticateRpc = make$30(AGENT_METHODS.authenticate, {
223679
+ const AuthenticateRpc = make$29(AGENT_METHODS.authenticate, {
223628
223680
  payload: AuthenticateRequest,
223629
223681
  success: AuthenticateResponse,
223630
223682
  error: Error$1
223631
223683
  });
223632
- const LogoutRpc = make$30(AGENT_METHODS.logout, {
223684
+ const LogoutRpc = make$29(AGENT_METHODS.logout, {
223633
223685
  payload: LogoutRequest,
223634
223686
  success: LogoutResponse,
223635
223687
  error: Error$1
223636
223688
  });
223637
- const NewSessionRpc = make$30(AGENT_METHODS.session_new, {
223689
+ const NewSessionRpc = make$29(AGENT_METHODS.session_new, {
223638
223690
  payload: NewSessionRequest,
223639
223691
  success: NewSessionResponse,
223640
223692
  error: Error$1
223641
223693
  });
223642
- const LoadSessionRpc = make$30(AGENT_METHODS.session_load, {
223694
+ const LoadSessionRpc = make$29(AGENT_METHODS.session_load, {
223643
223695
  payload: LoadSessionRequest,
223644
223696
  success: LoadSessionResponse,
223645
223697
  error: Error$1
223646
223698
  });
223647
- const ListSessionsRpc = make$30(AGENT_METHODS.session_list, {
223699
+ const ListSessionsRpc = make$29(AGENT_METHODS.session_list, {
223648
223700
  payload: ListSessionsRequest,
223649
223701
  success: ListSessionsResponse,
223650
223702
  error: Error$1
223651
223703
  });
223652
- const ForkSessionRpc = make$30(AGENT_METHODS.session_fork, {
223704
+ const ForkSessionRpc = make$29(AGENT_METHODS.session_fork, {
223653
223705
  payload: ForkSessionRequest,
223654
223706
  success: ForkSessionResponse,
223655
223707
  error: Error$1
223656
223708
  });
223657
- const ResumeSessionRpc = make$30(AGENT_METHODS.session_resume, {
223709
+ const ResumeSessionRpc = make$29(AGENT_METHODS.session_resume, {
223658
223710
  payload: ResumeSessionRequest,
223659
223711
  success: ResumeSessionResponse,
223660
223712
  error: Error$1
223661
223713
  });
223662
- const CloseSessionRpc = make$30(AGENT_METHODS.session_close, {
223714
+ const CloseSessionRpc = make$29(AGENT_METHODS.session_close, {
223663
223715
  payload: CloseSessionRequest,
223664
223716
  success: CloseSessionResponse,
223665
223717
  error: Error$1
223666
223718
  });
223667
- const PromptRpc = make$30(AGENT_METHODS.session_prompt, {
223719
+ const PromptRpc = make$29(AGENT_METHODS.session_prompt, {
223668
223720
  payload: PromptRequest,
223669
223721
  success: PromptResponse,
223670
223722
  error: Error$1
223671
223723
  });
223672
- const SetSessionModelRpc = make$30(AGENT_METHODS.session_set_model, {
223724
+ const SetSessionModelRpc = make$29(AGENT_METHODS.session_set_model, {
223673
223725
  payload: SetSessionModelRequest,
223674
223726
  success: SetSessionModelResponse,
223675
223727
  error: Error$1
223676
223728
  });
223677
- const SetSessionConfigOptionRpc = make$30(AGENT_METHODS.session_set_config_option, {
223729
+ const SetSessionConfigOptionRpc = make$29(AGENT_METHODS.session_set_config_option, {
223678
223730
  payload: SetSessionConfigOptionRequest,
223679
223731
  success: SetSessionConfigOptionResponse,
223680
223732
  error: Error$1
223681
223733
  });
223682
- const ReadTextFileRpc = make$30(CLIENT_METHODS.fs_read_text_file, {
223734
+ const ReadTextFileRpc = make$29(CLIENT_METHODS.fs_read_text_file, {
223683
223735
  payload: ReadTextFileRequest,
223684
223736
  success: ReadTextFileResponse,
223685
223737
  error: Error$1
223686
223738
  });
223687
- const WriteTextFileRpc = make$30(CLIENT_METHODS.fs_write_text_file, {
223739
+ const WriteTextFileRpc = make$29(CLIENT_METHODS.fs_write_text_file, {
223688
223740
  payload: WriteTextFileRequest,
223689
223741
  success: WriteTextFileResponse,
223690
223742
  error: Error$1
223691
223743
  });
223692
- const RequestPermissionRpc = make$30(CLIENT_METHODS.session_request_permission, {
223744
+ const RequestPermissionRpc = make$29(CLIENT_METHODS.session_request_permission, {
223693
223745
  payload: RequestPermissionRequest,
223694
223746
  success: RequestPermissionResponse,
223695
223747
  error: Error$1
223696
223748
  });
223697
- const ElicitationRpc = make$30(CLIENT_METHODS.session_elicitation, {
223749
+ const ElicitationRpc = make$29(CLIENT_METHODS.session_elicitation, {
223698
223750
  payload: ElicitationRequest,
223699
223751
  success: ElicitationResponse,
223700
223752
  error: Error$1
223701
223753
  });
223702
- const CreateTerminalRpc = make$30(CLIENT_METHODS.terminal_create, {
223754
+ const CreateTerminalRpc = make$29(CLIENT_METHODS.terminal_create, {
223703
223755
  payload: CreateTerminalRequest,
223704
223756
  success: CreateTerminalResponse,
223705
223757
  error: Error$1
223706
223758
  });
223707
- const TerminalOutputRpc = make$30(CLIENT_METHODS.terminal_output, {
223759
+ const TerminalOutputRpc = make$29(CLIENT_METHODS.terminal_output, {
223708
223760
  payload: TerminalOutputRequest,
223709
223761
  success: TerminalOutputResponse,
223710
223762
  error: Error$1
223711
223763
  });
223712
- const ReleaseTerminalRpc = make$30(CLIENT_METHODS.terminal_release, {
223764
+ const ReleaseTerminalRpc = make$29(CLIENT_METHODS.terminal_release, {
223713
223765
  payload: ReleaseTerminalRequest,
223714
223766
  success: ReleaseTerminalResponse,
223715
223767
  error: Error$1
223716
223768
  });
223717
- const WaitForTerminalExitRpc = make$30(CLIENT_METHODS.terminal_wait_for_exit, {
223769
+ const WaitForTerminalExitRpc = make$29(CLIENT_METHODS.terminal_wait_for_exit, {
223718
223770
  payload: WaitForTerminalExitRequest,
223719
223771
  success: WaitForTerminalExitResponse,
223720
223772
  error: Error$1
223721
223773
  });
223722
- const KillTerminalRpc = make$30(CLIENT_METHODS.terminal_kill, {
223774
+ const KillTerminalRpc = make$29(CLIENT_METHODS.terminal_kill, {
223723
223775
  payload: KillTerminalRequest,
223724
223776
  success: KillTerminalResponse,
223725
223777
  error: Error$1
223726
223778
  });
223727
- const AgentRpcs = make$29(InitializeRpc, AuthenticateRpc, LogoutRpc, NewSessionRpc, LoadSessionRpc, ListSessionsRpc, ForkSessionRpc, ResumeSessionRpc, CloseSessionRpc, PromptRpc, SetSessionModelRpc, SetSessionConfigOptionRpc);
223728
- const ClientRpcs = make$29(ReadTextFileRpc, WriteTextFileRpc, RequestPermissionRpc, ElicitationRpc, CreateTerminalRpc, TerminalOutputRpc, ReleaseTerminalRpc, WaitForTerminalExitRpc, KillTerminalRpc);
223779
+ const AgentRpcs = make$28(InitializeRpc, AuthenticateRpc, LogoutRpc, NewSessionRpc, LoadSessionRpc, ListSessionsRpc, ForkSessionRpc, ResumeSessionRpc, CloseSessionRpc, PromptRpc, SetSessionModelRpc, SetSessionConfigOptionRpc);
223780
+ const ClientRpcs = make$28(ReadTextFileRpc, WriteTextFileRpc, RequestPermissionRpc, ElicitationRpc, CreateTerminalRpc, TerminalOutputRpc, ReleaseTerminalRpc, WaitForTerminalExitRpc, KillTerminalRpc);
223729
223781
  //#endregion
223730
223782
  //#region ../../packages/effect-acp/src/_internal/shared.ts
223731
223783
  const isError = require_Schema$1.is(Error$1);
@@ -223788,7 +223840,7 @@ function runNotificationHandlers(registration, notification) {
223788
223840
  return require_Schema$1.forEach(registration.handlers, (handler) => handler(notification).pipe(require_Schema$1.catch_(() => require_Schema$1.void_)), { discard: true });
223789
223841
  }
223790
223842
  var AcpClient = class extends require_Schema$1.Service()("effect-acp/AcpClient") {};
223791
- const make$12 = require_Schema$1.fn("effect-acp/AcpClient.make")(function* (stdio, options = {}, terminationError) {
223843
+ const make$11 = require_Schema$1.fn("effect-acp/AcpClient.make")(function* (stdio, options = {}, terminationError) {
223792
223844
  const coreHandlers = {};
223793
223845
  const notificationHandlers = {
223794
223846
  sessionUpdate: {
@@ -223856,9 +223908,9 @@ const make$12 = require_Schema$1.fn("effect-acp/AcpClient.make")(function* (stdi
223856
223908
  [CLIENT_METHODS.terminal_kill]: (payload) => runHandler(coreHandlers.terminalKill, payload, CLIENT_METHODS.terminal_kill).pipe(require_Schema$1.map((result) => result ?? {})),
223857
223909
  [CLIENT_METHODS.terminal_release]: (payload) => runHandler(coreHandlers.terminalRelease, payload, CLIENT_METHODS.terminal_release).pipe(require_Schema$1.map((result) => result ?? {}))
223858
223910
  }));
223859
- yield* make$24(ClientRpcs).pipe(require_Schema$1.provideService(Protocol, transport.serverProtocol), require_Schema$1.provide(clientHandlerLayer), require_Schema$1.forkScoped);
223911
+ yield* make$23(ClientRpcs).pipe(require_Schema$1.provideService(Protocol, transport.serverProtocol), require_Schema$1.provide(clientHandlerLayer), require_Schema$1.forkScoped);
223860
223912
  let nextRpcRequestId = 1n << 32n;
223861
- const rpc = yield* make$25(AgentRpcs, { generateRequestId: () => nextRpcRequestId++ }).pipe(require_Schema$1.provideService(Protocol$1, transport.clientProtocol));
223913
+ const rpc = yield* make$24(AgentRpcs, { generateRequestId: () => nextRpcRequestId++ }).pipe(require_Schema$1.provideService(Protocol$1, transport.clientProtocol));
223862
223914
  return AcpClient.of({
223863
223915
  raw: {
223864
223916
  notifications: transport.incoming,
@@ -223945,7 +223997,7 @@ const make$12 = require_Schema$1.fn("effect-acp/AcpClient.make")(function* (stdi
223945
223997
  const layerChildProcess = (handle, options = {}) => {
223946
223998
  const stdio = makeChildStdio(handle);
223947
223999
  const terminationError = makeTerminationError(handle);
223948
- return require_Schema$1.effect(AcpClient, make$12(stdio, options, terminationError));
224000
+ return require_Schema$1.effect(AcpClient, make$11(stdio, options, terminationError));
223949
224001
  };
223950
224002
  //#endregion
223951
224003
  //#region src/provider/acp/AcpSessionRuntime.ts
@@ -225060,7 +225112,7 @@ function makeCursorAdapter(cursorSettings, options) {
225060
225112
  const nativeEventLogger = options?.nativeEventLogger ?? (options?.nativeEventLogPath !== void 0 ? yield* makeEventNdjsonLogger(options.nativeEventLogPath, { stream: "native" }) : void 0);
225061
225113
  const managedNativeEventLogger = options?.nativeEventLogger === void 0 ? nativeEventLogger : void 0;
225062
225114
  const sessions = /* @__PURE__ */ new Map();
225063
- const threadLocksRef = yield* make$32(/* @__PURE__ */ new Map());
225115
+ const threadLocksRef = yield* make$31(/* @__PURE__ */ new Map());
225064
225116
  const runtimeEventPubSub = yield* require_Path.unbounded$1();
225065
225117
  const nowIso = require_Schema$1.map(require_Schema$1.now, require_Schema$1.formatIso);
225066
225118
  const nextEventId = require_Schema$1.map(nextUUIDv4, (id) => EventId.make(id));
@@ -234775,7 +234827,7 @@ var CheckpointStore = class extends require_Schema$1.Service()("forge/checkpoint
234775
234827
  //#endregion
234776
234828
  //#region src/checkpointing/Layers/CheckpointDiffQuery.ts
234777
234829
  const isTurnDiffResult = require_Schema$1.is(OrchestrationGetTurnDiffResult);
234778
- const make$11 = require_Schema$1.gen(function* () {
234830
+ const make$10 = require_Schema$1.gen(function* () {
234779
234831
  const projectionSnapshotQuery = yield* ProjectionSnapshotQuery;
234780
234832
  const checkpointStore = yield* CheckpointStore;
234781
234833
  const getTurnDiff = require_Schema$1.fn("getTurnDiff")(function* (input) {
@@ -234867,7 +234919,7 @@ const make$11 = require_Schema$1.gen(function* () {
234867
234919
  getFullThreadDiff
234868
234920
  };
234869
234921
  });
234870
- const CheckpointDiffQueryLive = require_Schema$1.effect(CheckpointDiffQuery, make$11);
234922
+ const CheckpointDiffQueryLive = require_Schema$1.effect(CheckpointDiffQuery, make$10);
234871
234923
  //#endregion
234872
234924
  //#region src/checkpointing/Layers/CheckpointStore.ts
234873
234925
  /**
@@ -237162,7 +237214,7 @@ const GitStatusBroadcasterLive = require_Schema$1.effect(GitStatusBroadcaster, r
237162
237214
  const changesPubSub = yield* require_Schema$1.acquireRelease(require_Path.unbounded$1(), (pubsub) => require_Path.shutdown$1(pubsub));
237163
237215
  const broadcasterScope = yield* require_Schema$1.acquireRelease(require_Schema$1.make$3(), (scope) => require_Schema$1.close(scope, require_Schema$1.void_$1));
237164
237216
  const cacheRef = yield* require_HttpServer.make$3(/* @__PURE__ */ new Map());
237165
- const pollersRef = yield* make$32(/* @__PURE__ */ new Map());
237217
+ const pollersRef = yield* make$31(/* @__PURE__ */ new Map());
237166
237218
  const getCachedStatus = require_Schema$1.fn("getCachedStatus")(function* (cwd) {
237167
237219
  return yield* require_HttpServer.get$1(cacheRef).pipe(require_Schema$1.map((cache) => cache.get(cwd) ?? null));
237168
237220
  });
@@ -237826,23 +237878,26 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237826
237878
  status: "unknown",
237827
237879
  provenance
237828
237880
  },
237829
- message: "Codex is disabled in Forge settings."
237881
+ message: "Codex is disabled in Forge settings.",
237882
+ availabilityCheck: "confirmed"
237830
237883
  }
237831
237884
  });
237832
237885
  const versionProbe = yield* runCodexCommand(["--version"]).pipe(require_Schema$1.timeoutOption(CODEX_VERSION_PROBE_TIMEOUT_MS), require_Schema$1.result);
237833
237886
  if (require_Schema$1.isFailure$1(versionProbe)) {
237834
237887
  const error = versionProbe.failure;
237888
+ const commandMissing = isCommandMissingCause(error);
237835
237889
  return buildServerProvider({
237836
237890
  provider: PROVIDER$4,
237837
237891
  enabled: codexSettings.enabled,
237838
237892
  checkedAt,
237839
237893
  models: fallbackModels,
237840
237894
  probe: {
237841
- installed: !isCommandMissingCause(error),
237895
+ installed: !commandMissing,
237842
237896
  version: null,
237843
237897
  status: "error",
237844
237898
  auth: { status: "unknown" },
237845
- message: isCommandMissingCause(error) ? "Codex CLI (`codex`) is not installed or not on PATH." : `Failed to execute Codex CLI health check: ${error.message}.`
237899
+ message: commandMissing ? "Codex CLI (`codex`) is not installed or not on PATH." : `Failed to execute Codex CLI health check: ${error.message}.`,
237900
+ availabilityCheck: availabilityCheckForSpawnFailure(commandMissing)
237846
237901
  }
237847
237902
  });
237848
237903
  }
@@ -237856,7 +237911,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237856
237911
  version: null,
237857
237912
  status: "error",
237858
237913
  auth: { status: "unknown" },
237859
- message: "Codex CLI is installed but failed to run. Timed out while running command."
237914
+ message: "Codex CLI is installed but failed to run. Timed out while running command.",
237915
+ availabilityCheck: "could-not-check"
237860
237916
  }
237861
237917
  });
237862
237918
  const version = versionProbe.success.value;
@@ -237873,7 +237929,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237873
237929
  version: parsedVersion,
237874
237930
  status: "error",
237875
237931
  auth: { status: "unknown" },
237876
- message: detail ? `Codex CLI is installed but failed to run. ${detail}` : "Codex CLI is installed but failed to run."
237932
+ message: detail ? `Codex CLI is installed but failed to run. ${detail}` : "Codex CLI is installed but failed to run.",
237933
+ availabilityCheck: "confirmed"
237877
237934
  }
237878
237935
  });
237879
237936
  }
@@ -237887,7 +237944,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237887
237944
  version: parsedVersion,
237888
237945
  status: "error",
237889
237946
  auth: { status: "unknown" },
237890
- message: formatCodexCliUpgradeMessage(parsedVersion)
237947
+ message: formatCodexCliUpgradeMessage(parsedVersion),
237948
+ availabilityCheck: "confirmed"
237891
237949
  }
237892
237950
  });
237893
237951
  const skills = (resolveSkills ? yield* resolveSkills({
@@ -237912,7 +237970,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237912
237970
  version: parsedVersion,
237913
237971
  status: "ready",
237914
237972
  auth: { status: "unknown" },
237915
- message: "Using a custom Codex model provider; OpenAI login check skipped."
237973
+ message: "Using a custom Codex model provider; OpenAI login check skipped.",
237974
+ availabilityCheck: "confirmed"
237916
237975
  }
237917
237976
  });
237918
237977
  const authProbe = yield* runCodexCommand(["login", "status"]).pipe(require_Schema$1.timeoutOption(CODEX_AUTH_PROBE_TIMEOUT_MS), require_Schema$1.result);
@@ -237934,7 +237993,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237934
237993
  version: parsedVersion,
237935
237994
  status: "warning",
237936
237995
  auth: { status: "unknown" },
237937
- message: `Could not verify Codex authentication status: ${error.message}.`
237996
+ message: `Could not verify Codex authentication status: ${error.message}.`,
237997
+ availabilityCheck: "could-not-check"
237938
237998
  }
237939
237999
  });
237940
238000
  }
@@ -237949,7 +238009,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237949
238009
  version: parsedVersion,
237950
238010
  status: "warning",
237951
238011
  auth: { status: "unknown" },
237952
- message: "Codex authentication status check did not respond in time. The agent can still run; refresh the provider from Settings to retry."
238012
+ message: "Codex authentication status check did not respond in time. The agent can still run; refresh the provider from Settings to retry.",
238013
+ availabilityCheck: "could-not-check"
237953
238014
  }
237954
238015
  });
237955
238016
  const parsed = parseAuthStatusFromOutput(authProbe.success.value);
@@ -237976,7 +238037,8 @@ const checkCodexProviderStatus = require_Schema$1.fn("checkCodexProviderStatus")
237976
238037
  ...accountEmail ? { accountLabel: accountEmail } : {}
237977
238038
  }
237978
238039
  },
237979
- ...parsed.message ? { message: parsed.message } : {}
238040
+ ...parsed.message ? { message: parsed.message } : {},
238041
+ availabilityCheck: "confirmed"
237980
238042
  }
237981
238043
  });
237982
238044
  });
@@ -238724,7 +238786,7 @@ const TextGenerationUsageLive = require_Schema$1.effect(TextGenerationUsage, mak
238724
238786
  //#region ../../packages/shared/src/KeyedCoalescingWorker.ts
238725
238787
  const makeKeyedCoalescingWorker = (options) => require_Schema$1.gen(function* () {
238726
238788
  const queue = yield* require_Schema$1.acquireRelease(unbounded(), shutdown);
238727
- const stateRef = yield* make$31({
238789
+ const stateRef = yield* make$30({
238728
238790
  latestByKey: /* @__PURE__ */ new Map(),
238729
238791
  queuedKeys: /* @__PURE__ */ new Set(),
238730
238792
  activeKeys: /* @__PURE__ */ new Set()
@@ -239285,11 +239347,11 @@ const makeTerminalManagerWithOptions = require_Schema$1.fn("makeTerminalManagerW
239285
239347
  const processKillGraceMs = options.processKillGraceMs ?? DEFAULT_PROCESS_KILL_GRACE_MS;
239286
239348
  const maxRetainedInactiveSessions = options.maxRetainedInactiveSessions ?? DEFAULT_MAX_RETAINED_INACTIVE_SESSIONS;
239287
239349
  yield* fileSystem.makeDirectory(logsDir, { recursive: true }).pipe(require_Schema$1.orDie);
239288
- const managerStateRef = yield* make$32({
239350
+ const managerStateRef = yield* make$31({
239289
239351
  sessions: /* @__PURE__ */ new Map(),
239290
239352
  killFibers: /* @__PURE__ */ new Map()
239291
239353
  });
239292
- const threadLocksRef = yield* make$32(/* @__PURE__ */ new Map());
239354
+ const threadLocksRef = yield* make$31(/* @__PURE__ */ new Map());
239293
239355
  const terminalEventListeners = /* @__PURE__ */ new Set();
239294
239356
  const transitionReceipts = /* @__PURE__ */ new Map();
239295
239357
  const workerScope = yield* require_Schema$1.make$3("sequential");
@@ -242203,6 +242265,18 @@ var SpriteTaskHoldManager = class {
242203
242265
  return [...this.#holds.keys()];
242204
242266
  }
242205
242267
  /**
242268
+ * Every hold key currently associated with one thread: what `releaseThread`
242269
+ * releases. Read-only and synchronous, so a caller can snapshot what is
242270
+ * live right now and decide later, from that snapshot, what it is still
242271
+ * safe to release -- rather than asking this manager what is live AFTER
242272
+ * some delay of its own, by which point a fresh acquire may have replaced
242273
+ * the very hold the caller meant to release (SpriteTaskHoldReactor's
242274
+ * session.exited handling does exactly this, forge#3602).
242275
+ */
242276
+ activeTurnIdsForThread(threadId) {
242277
+ return [...this.#holds.entries()].filter(([, hold]) => hold.threadId === threadId).map(([turnId]) => turnId);
242278
+ }
242279
+ /**
242206
242280
  * `maxRefreshes` bounds a hold that has no terminal event of its own, such as a launch
242207
242281
  * whose turn may never start. When the budget is spent the hold releases itself.
242208
242282
  *
@@ -242478,7 +242552,7 @@ var SpriteTaskHoldManager = class {
242478
242552
  * from silently dropping the holds of the other turns running beside it.
242479
242553
  */
242480
242554
  async releaseThread(threadId) {
242481
- const turnIds = [...this.#holds.entries()].filter(([, hold]) => hold.threadId === threadId).map(([turnId]) => turnId);
242555
+ const turnIds = this.activeTurnIdsForThread(threadId);
242482
242556
  await Promise.all(turnIds.map((turnId) => this.release(turnId)));
242483
242557
  }
242484
242558
  /**
@@ -290280,7 +290354,7 @@ async function applyWorkerRecoveryPlan(recovery, input) {
290280
290354
  if (recovery.kind === "recover") await input.onRecover(recovery);
290281
290355
  return recovery.commandToken;
290282
290356
  }
290283
- const make$10 = require_Schema$1.gen(function* () {
290357
+ const make$9 = require_Schema$1.gen(function* () {
290284
290358
  const orchestration = yield* OrchestrationEngineService;
290285
290359
  const projectionSnapshotQuery = yield* ProjectionSnapshotQuery;
290286
290360
  const projectionTurns = yield* ProjectionTurnRepository;
@@ -290577,7 +290651,7 @@ const make$10 = require_Schema$1.gen(function* () {
290577
290651
  reconcile
290578
290652
  });
290579
290653
  });
290580
- const ApprovedWorkerPlanReactorLive = require_Schema$1.effect(ApprovedWorkerPlanReactor, make$10);
290654
+ const ApprovedWorkerPlanReactorLive = require_Schema$1.effect(ApprovedWorkerPlanReactor, make$9);
290581
290655
  //#endregion
290582
290656
  //#region src/orchestration/Services/RuntimeReceiptBus.ts
290583
290657
  /**
@@ -292167,7 +292241,7 @@ function shouldApplyProviderTurnCompleted(activeTurnId, eventTurnId) {
292167
292241
  if (activeTurnId !== null && eventTurnId === void 0) return false;
292168
292242
  return activeTurnId === null || eventTurnId === void 0 || sameId$1(activeTurnId, eventTurnId);
292169
292243
  }
292170
- const make$9 = require_Schema$1.fn("make")(function* () {
292244
+ const make$8 = require_Schema$1.fn("make")(function* () {
292171
292245
  const orchestrationEngine = yield* OrchestrationEngineService;
292172
292246
  const claudeUsageTelemetry = yield* ClaudeUsageTelemetry;
292173
292247
  const claudeUsageScope = yield* require_Schema$1.make$3("parallel");
@@ -292760,7 +292834,7 @@ const make$9 = require_Schema$1.fn("make")(function* () {
292760
292834
  drain: worker.drain
292761
292835
  };
292762
292836
  });
292763
- const ProviderRuntimeIngestionLive = require_Schema$1.effect(ProviderRuntimeIngestionService, make$9()).pipe(require_Schema$1.provide$1(ProjectionTurnRepositoryLive));
292837
+ const ProviderRuntimeIngestionLive = require_Schema$1.effect(ProviderRuntimeIngestionService, make$8()).pipe(require_Schema$1.provide$1(ProjectionTurnRepositoryLive));
292764
292838
  //#endregion
292765
292839
  //#region src/usage/Layers/ClaudeUsageTelemetry.ts
292766
292840
  /**
@@ -292812,7 +292886,7 @@ const ClaudeUsageTelemetryLive = require_Schema$1.effect(ClaudeUsageTelemetry, r
292812
292886
  */
292813
292887
  const makeDrainableWorker = (process) => require_Schema$1.gen(function* () {
292814
292888
  const queue = yield* require_Schema$1.acquireRelease(unbounded(), shutdown);
292815
- const outstanding = yield* make$31(0);
292889
+ const outstanding = yield* make$30(0);
292816
292890
  yield* take(queue).pipe(require_Schema$1.tap((a) => require_Schema$1.ensuring(process(a), update$1(outstanding, (n) => n - 1))), require_Schema$1.forever, require_Schema$1.forkScoped);
292817
292891
  const drain = get$1(outstanding).pipe(require_Schema$1.tap((n) => n > 0 ? require_Schema$1.txRetry : require_Schema$1.void_), require_Schema$1.tx);
292818
292892
  const enqueue = (element) => offer(queue, element).pipe(require_Schema$1.tap(() => update$1(outstanding, (n) => n + 1)), require_Schema$1.tx);
@@ -293382,7 +293456,7 @@ function buildGeneratedWorktreeBranchName(raw) {
293382
293456
  const branchFragment = (normalized.startsWith(`forge/`) ? normalized.slice(`${WORKTREE_BRANCH_PREFIX}/`.length) : normalized).replace(/[^a-z0-9/_-]+/g, "-").replace(/\/+/g, "/").replace(/-+/g, "-").replace(/^[./_-]+|[./_-]+$/g, "").slice(0, 64).replace(/[./_-]+$/g, "");
293383
293457
  return `${WORKTREE_BRANCH_PREFIX}/${branchFragment.length > 0 ? branchFragment : "update"}`;
293384
293458
  }
293385
- const make$8 = require_Schema$1.gen(function* () {
293459
+ const make$7 = require_Schema$1.gen(function* () {
293386
293460
  const orchestrationEngine = yield* OrchestrationEngineService;
293387
293461
  const providerService = yield* ProviderService;
293388
293462
  const git = yield* GitCore;
@@ -294262,7 +294336,7 @@ const make$8 = require_Schema$1.gen(function* () {
294262
294336
  })
294263
294337
  };
294264
294338
  });
294265
- const ProviderCommandReactorLive = require_Schema$1.effect(ProviderCommandReactor, make$8);
294339
+ const ProviderCommandReactorLive = require_Schema$1.effect(ProviderCommandReactor, make$7);
294266
294340
  function withProviderTurnStartTimeout(operation, onTimeout, timeout = require_Schema$1.seconds(45)) {
294267
294341
  return operation.pipe(require_Schema$1.timeout(timeout), require_Schema$1.catchTag("TimeoutError", () => onTimeout));
294268
294342
  }
@@ -294999,7 +295073,7 @@ function findSessionWithCwd(session) {
294999
295073
  cwd: session.cwd
295000
295074
  }) : require_Schema$1.none();
295001
295075
  }
295002
- const make$7 = require_Schema$1.gen(function* () {
295076
+ const make$6 = require_Schema$1.gen(function* () {
295003
295077
  const orchestrationEngine = yield* OrchestrationEngineService;
295004
295078
  const providerService = yield* ProviderService;
295005
295079
  const checkpointStore = yield* CheckpointStore;
@@ -295490,7 +295564,10 @@ const make$7 = require_Schema$1.gen(function* () {
295490
295564
  drain: worker.drain
295491
295565
  };
295492
295566
  });
295493
- const CheckpointReactorLive = require_Schema$1.effect(CheckpointReactor, make$7);
295567
+ const CheckpointReactorLive = require_Schema$1.effect(CheckpointReactor, make$6);
295568
+ //#endregion
295569
+ //#region src/runtimeReplication/Services/RuntimeReplicationThreadFlush.ts
295570
+ var RuntimeReplicationThreadFlush = class extends require_Schema$1.Service()("forge/runtimeReplication/Services/RuntimeReplicationThreadFlush") {};
295494
295571
  //#endregion
295495
295572
  //#region src/orchestration/Layers/SpriteTaskHoldReactor.ts
295496
295573
  /**
@@ -295507,6 +295584,48 @@ const CheckpointReactorLive = require_Schema$1.effect(CheckpointReactor, make$7)
295507
295584
  * `turn.started` / `turn.completed` through `ProviderService.streamEvents`.
295508
295585
  */
295509
295586
  /**
295587
+ * Bound for how long a terminal turn event (`turn.completed` / `turn.aborted`)
295588
+ * waits on that thread's pending replication before releasing the sprite's
295589
+ * turn hold anyway (forge#3600). The sprite freezes about a second after the
295590
+ * hold goes, so this is also roughly how much longer a finished turn's sprite
295591
+ * stays billed.
295592
+ *
295593
+ * Justified from the numbers already in this codebase, not a guess: the
295594
+ * outbox drain loop claims and posts on a 2 s tick
295595
+ * (`Schedule.spaced("2 seconds")` in RuntimeReplication.ts), each CMMD publish
295596
+ * attempt has its own 10 s deadline (`RUNTIME_REPLICATION_TIMEOUT_MS` in
295597
+ * RuntimeReplicationClient.ts), and `claim()` orders a thread's inventory row
295598
+ * ahead of its thread-events row, so one tick can mean two requests before the
295599
+ * thread's own batch goes out. 15 s covers one drain tick plus one full
295600
+ * publish attempt with headroom for that second request, while still keeping
295601
+ * a completed turn's sprite from staying billed anywhere near CMMD's own
295602
+ * stalled-turn sweep window (production: about 15 minutes, per forge#3600).
295603
+ */
295604
+ const REPLICATION_FLUSH_TIMEOUT_MS = 15e3;
295605
+ /**
295606
+ * How often the flush re-checks the thread's outbox row while waiting. Short
295607
+ * enough that the wait tracks CMMD's actual ack latency (typically well under
295608
+ * a second) rather than the bound, long enough that a 15 s wait costs at most
295609
+ * about 60 reads against the outbox table.
295610
+ */
295611
+ const REPLICATION_FLUSH_POLL_INTERVAL_MS = 250;
295612
+ /**
295613
+ * A single extra wait before trusting a flush's very first "nothing pending"
295614
+ * read (forge#3600 review follow-up). SpriteTaskHoldReactor and
295615
+ * RuntimeReplication's own domain-event-driven enqueue are independent
295616
+ * subscribers of the same ProviderService.streamEvents broadcast: this
295617
+ * reactor can see turn.completed and read the outbox before the OTHER
295618
+ * subscriber has finished projecting the turn's final events into a row. In
295619
+ * both production runs behind forge#3600, the final assistant_message and
295620
+ * turn_usage writes landed about a second apart from each other (00:43:15Z
295621
+ * and 00:43:16Z), so an immediate "nothing pending" read cannot be trusted:
295622
+ * that is exactly the race that stranded both turns. One settle wait,
295623
+ * re-checked once, closes it without turning every genuinely idle turn's
295624
+ * release into a long poll -- a thread that already has nothing to replicate
295625
+ * pays this once, never the full flushTimeoutMs bound.
295626
+ */
295627
+ const REPLICATION_FLUSH_SETTLE_MS = 1e3;
295628
+ /**
295510
295629
  * A launch hold refreshes every 60 s, so this budget is about ten minutes. A launch whose turn
295511
295630
  * never starts, because the provider refused it or the process died first, has no event to
295512
295631
  * release it. The budget is what stops that hold from keeping the sprite billing.
@@ -295524,8 +295643,69 @@ const TURN_START_HOLD_MAX_REFRESHES = 10;
295524
295643
  /** The hold id for `holdTurnStart` / `releaseTurnStart`. Distinct from `launchHoldId` on purpose:
295525
295644
  * see the shape's doc comment on `holdTurnStart`. */
295526
295645
  const turnStartHoldId = (key) => `turn-start-${key}`;
295527
- const make$6 = require_Schema$1.gen(function* () {
295646
+ const makeSpriteTaskHoldReactor = (overrides = {}) => require_Schema$1.gen(function* () {
295528
295647
  const providerService = yield* ProviderService;
295648
+ const replicationOutbox = yield* RuntimeReplicationThreadFlush;
295649
+ const replicationRuntimeId = resolveRuntimeReplicationRuntimeId(yield* ServerConfig);
295650
+ const flushTimeoutMs = overrides.replicationFlushTimeoutMs ?? REPLICATION_FLUSH_TIMEOUT_MS;
295651
+ const flushPollIntervalMs = overrides.replicationFlushPollIntervalMs ?? REPLICATION_FLUSH_POLL_INTERVAL_MS;
295652
+ const flushSettleMs = overrides.replicationFlushSettleMs ?? REPLICATION_FLUSH_SETTLE_MS;
295653
+ /**
295654
+ * Waits for CMMD to acknowledge this thread's outstanding replication -- or
295655
+ * for nothing to have been pending in the first place -- before the caller
295656
+ * releases the turn hold that keeps the sprite awake for the outbox drain
295657
+ * loop to run (forge#3600). Bounded so a wedged publish cannot hold a
295658
+ * finished turn's sprite open indefinitely: the bound firing releases
295659
+ * anyway and logs a warning with however much was still outstanding.
295660
+ *
295661
+ * Never fails: a defect from the outbox read (a SQL error, say) is caught
295662
+ * and treated the same as a timeout -- release the hold rather than let a
295663
+ * replication-read bug strand the sprite awake, or worse, crash the worker
295664
+ * that also has to release every OTHER turn's hold.
295665
+ */
295666
+ const flushThreadReplication = (threadId) => {
295667
+ if (replicationRuntimeId === void 0) return require_Schema$1.void_;
295668
+ const runtimeId = replicationRuntimeId;
295669
+ const streamKey = `thread:${threadId}`;
295670
+ const startedAt = Date.now();
295671
+ const poll = (phase) => replicationOutbox.readPendingCount({
295672
+ runtimeId,
295673
+ streamKey
295674
+ }).pipe(require_Schema$1.flatMap((pending) => {
295675
+ if (pending === 0) {
295676
+ if (phase === "initial") return require_Schema$1.sleep(flushSettleMs).pipe(require_Schema$1.andThen(require_Schema$1.suspend$1(() => poll("settle-recheck"))));
295677
+ return require_Schema$1.succeed({
295678
+ outcome: phase === "settle-recheck" ? "nothing_pending" : "delivered",
295679
+ pending,
295680
+ settled: phase === "settle-recheck"
295681
+ });
295682
+ }
295683
+ if (Date.now() - startedAt >= flushTimeoutMs) return require_Schema$1.succeed({
295684
+ outcome: "timed_out",
295685
+ pending,
295686
+ settled: false
295687
+ });
295688
+ return require_Schema$1.sleep(flushPollIntervalMs).pipe(require_Schema$1.andThen(require_Schema$1.suspend$1(() => poll("steady"))));
295689
+ }));
295690
+ return poll("initial").pipe(require_Schema$1.flatMap(({ outcome, pending, settled }) => {
295691
+ const elapsedMs = Date.now() - startedAt;
295692
+ const logOutcome = require_Schema$1.logInfo("sprite task hold replication flush", {
295693
+ threadId,
295694
+ outcome,
295695
+ pending,
295696
+ elapsedMs,
295697
+ ...settled ? { settledMs: flushSettleMs } : {}
295698
+ });
295699
+ return outcome === "timed_out" ? logOutcome.pipe(require_Schema$1.andThen(require_Schema$1.logWarning("sprite task hold replication flush timed out; releasing the turn hold anyway", {
295700
+ threadId,
295701
+ pending,
295702
+ elapsedMs
295703
+ }))) : logOutcome;
295704
+ }), require_Schema$1.catchCause((cause) => require_Schema$1.logError("sprite task hold replication flush failed; releasing the turn hold anyway", {
295705
+ threadId,
295706
+ cause: require_Schema$1.pretty(cause)
295707
+ })));
295708
+ };
295529
295709
  const manager = makeSpriteTaskHoldManager(process.env, (message, cause) => {
295530
295710
  require_Schema$1.runFork(require_Schema$1.logWarning(message, { cause: cause instanceof Error ? cause.message : cause }));
295531
295711
  }, (event) => {
@@ -295554,61 +295734,112 @@ const make$6 = require_Schema$1.gen(function* () {
295554
295734
  const launchCallers = /* @__PURE__ */ new Map();
295555
295735
  const launchGeneration = /* @__PURE__ */ new Map();
295556
295736
  const turnLaunchGeneration = /* @__PURE__ */ new Map();
295737
+ const turnHoldGeneration = /* @__PURE__ */ new Map();
295738
+ let nextTurnHoldGeneration = 0;
295557
295739
  /**
295558
- * Belt-and-braces cleanup for a turn reaching a terminal state
295559
- * (turn.completed or turn.aborted): a launch hold whose hand-off never
295560
- * confirmed (the turn hold's PUT kept failing) is still up, refreshing on
295561
- * its own budget, and the turn ending either way means the launch phase is
295562
- * over. `manager.release(String(turnId))` above can itself wait on the
295563
- * guest API, so by the time this runs the NEXT stage's own dispatch may
295564
- * already have acquired a fresh launch hold for the same thread; only
295565
- * release it here when no such newer launch has started since this turn's
295566
- * own turn.started was processed (CodeRabbit review, forge#3592). A no-op
295567
- * when this turn's own generation is stale, or when the hold was already
295568
- * released.
295740
+ * Release a launch hold left over from a turn hand-off that never
295741
+ * confirmed, once the turn it was covering has reached a terminal state
295742
+ * one way or another. `capturedGeneration` must be read from
295743
+ * `turnLaunchGeneration` by the caller before this runs -- see that map's
295744
+ * own doc comment for why the read cannot happen in here. A no-op when
295745
+ * nothing was captured, when a newer launch has since superseded it, or
295746
+ * when the hold was already released.
295569
295747
  */
295570
- const releaseLingeringLaunchHold = async (turnId, threadId) => {
295571
- const capturedGeneration = turnLaunchGeneration.get(turnId);
295572
- turnLaunchGeneration.delete(turnId);
295748
+ const releaseLingeringLaunchHoldIfCurrent = async (threadId, capturedGeneration) => {
295573
295749
  if (manager === null || capturedGeneration === void 0) return;
295574
295750
  if (launchGeneration.get(threadId) !== capturedGeneration) return;
295575
295751
  await manager.release(launchHoldId(threadId));
295576
295752
  };
295753
+ /**
295754
+ * Release a completed or aborted turn's hold, once its thread's pending
295755
+ * replication has flushed (forge#3600). Skips the release entirely once
295756
+ * `turnHoldGeneration` has moved past `expectedGeneration`: see that map's
295757
+ * own doc comment for the reused-turnId race this guards against.
295758
+ */
295759
+ const processTerminalItem = (item) => flushThreadReplication(item.threadId).pipe(require_Schema$1.andThen(require_Schema$1.promise(async () => {
295760
+ if (manager === null) return;
295761
+ if (turnHoldGeneration.get(item.turnId) !== item.expectedGeneration) return;
295762
+ await manager.release(item.turnId);
295763
+ await releaseLingeringLaunchHoldIfCurrent(item.threadId, item.capturedLaunchGeneration);
295764
+ if (turnHoldGeneration.get(item.turnId) === item.expectedGeneration) turnHoldGeneration.delete(item.turnId);
295765
+ })));
295766
+ /**
295767
+ * Release every hold a dead session was covering, once its thread's
295768
+ * pending replication has flushed (#3603 item 1: this used to call
295769
+ * `manager.releaseThread` on the spot, with nothing stopping a provider
295770
+ * process that died right after its own turn from stranding that turn's
295771
+ * final events the same way forge#3600 did for a clean completion).
295772
+ * `turns` and `capturedLaunchGeneration` are snapshotted by the caller at
295773
+ * session.exited time, BEFORE the flush runs: a launch or a turn that
295774
+ * starts on this thread WHILE the flush is running must survive. Reading
295775
+ * "what is live for this thread" only AFTER the flush -- the naive
295776
+ * flush-then-releaseThread shape -- would reopen the exact hand-off gap
295777
+ * forge#3589 already closed once, just moved behind a longer wait.
295778
+ */
295779
+ const processSessionExited = (item) => flushThreadReplication(item.threadId).pipe(require_Schema$1.andThen(require_Schema$1.promise(async () => {
295780
+ if (manager === null) return;
295781
+ await Promise.all(item.turns.filter((turn) => turnHoldGeneration.get(turn.turnId) === turn.expectedGeneration).map(async (turn) => {
295782
+ await manager.release(turn.turnId);
295783
+ if (turnHoldGeneration.get(turn.turnId) === turn.expectedGeneration) turnHoldGeneration.delete(turn.turnId);
295784
+ }));
295785
+ await releaseLingeringLaunchHoldIfCurrent(item.threadId, item.capturedLaunchGeneration);
295786
+ })));
295577
295787
  const start = require_Schema$1.fn("start")(function* () {
295578
295788
  if (manager === null) return;
295789
+ const terminalFibers = yield* require_HttpServer.make$4();
295790
+ const onTurnStarted = (turnIdKey, threadId) => {
295791
+ const generation = launchGeneration.get(threadId) ?? 0;
295792
+ turnHoldGeneration.set(turnIdKey, ++nextTurnHoldGeneration);
295793
+ return require_Schema$1.promise(async () => {
295794
+ const outcome = await manager.acquire(turnIdKey, threadId);
295795
+ launchCallers.delete(threadId);
295796
+ turnLaunchGeneration.set(turnIdKey, generation);
295797
+ if (outcome === "succeeded") await manager.release(launchHoldId(threadId));
295798
+ });
295799
+ };
295800
+ /** Shared by turn.completed and turn.aborted: see the dispatch below for why they are distinct wire events but handled identically. */
295801
+ const onTerminalTurnEvent = (turnIdKey, threadIdKey) => {
295802
+ const capturedLaunchGeneration = turnLaunchGeneration.get(turnIdKey);
295803
+ turnLaunchGeneration.delete(turnIdKey);
295804
+ return require_HttpServer.run(terminalFibers, processTerminalItem({
295805
+ turnId: turnIdKey,
295806
+ threadId: threadIdKey,
295807
+ expectedGeneration: turnHoldGeneration.get(turnIdKey) ?? 0,
295808
+ capturedLaunchGeneration
295809
+ })).pipe(require_Schema$1.asVoid);
295810
+ };
295811
+ const onSessionExited = (threadId) => {
295812
+ launchCallers.delete(threadId);
295813
+ const launchKey = launchHoldId(threadId);
295814
+ const turns = manager.activeTurnIdsForThread(threadId).filter((turnId) => turnId !== launchKey).map((turnId) => ({
295815
+ turnId,
295816
+ expectedGeneration: turnHoldGeneration.get(turnId) ?? 0
295817
+ }));
295818
+ for (const turn of turns) turnLaunchGeneration.delete(turn.turnId);
295819
+ const capturedLaunchGeneration = launchGeneration.get(threadId);
295820
+ return require_HttpServer.run(terminalFibers, processSessionExited({
295821
+ threadId,
295822
+ turns,
295823
+ capturedLaunchGeneration
295824
+ })).pipe(require_Schema$1.asVoid);
295825
+ };
295579
295826
  yield* require_Schema$1.forkScoped(require_Path.runForEach(providerService.streamEvents, (event) => {
295580
295827
  if (event.type === "turn.started") {
295581
295828
  const turnId = event.turnId;
295582
295829
  if (turnId === void 0) return require_Schema$1.void_;
295583
- const threadId = String(event.threadId);
295584
- const generation = launchGeneration.get(threadId) ?? 0;
295585
- return require_Schema$1.promise(async () => {
295586
- const outcome = await manager.acquire(String(turnId), threadId);
295587
- launchCallers.delete(threadId);
295588
- turnLaunchGeneration.set(String(turnId), generation);
295589
- if (outcome === "succeeded") await manager.release(launchHoldId(threadId));
295590
- });
295830
+ return onTurnStarted(String(turnId), String(event.threadId));
295591
295831
  }
295592
295832
  if (event.type === "turn.completed") {
295593
295833
  const turnId = event.turnId;
295594
295834
  if (turnId === void 0) return require_Schema$1.void_;
295595
- return require_Schema$1.promise(async () => {
295596
- await manager.release(String(turnId));
295597
- await releaseLingeringLaunchHold(String(turnId), String(event.threadId));
295598
- });
295835
+ return onTerminalTurnEvent(String(turnId), String(event.threadId));
295599
295836
  }
295600
295837
  if (event.type === "turn.aborted") {
295601
295838
  const turnId = event.turnId;
295602
295839
  if (turnId === void 0) return require_Schema$1.void_;
295603
- return require_Schema$1.promise(async () => {
295604
- await manager.release(String(turnId));
295605
- await releaseLingeringLaunchHold(String(turnId), String(event.threadId));
295606
- });
295607
- }
295608
- if (event.type === "session.exited") {
295609
- launchCallers.delete(String(event.threadId));
295610
- return require_Schema$1.promise(() => manager.releaseThread(String(event.threadId)));
295840
+ return onTerminalTurnEvent(String(turnId), String(event.threadId));
295611
295841
  }
295842
+ if (event.type === "session.exited") return onSessionExited(String(event.threadId));
295612
295843
  return require_Schema$1.void_;
295613
295844
  }));
295614
295845
  });
@@ -295646,7 +295877,7 @@ const make$6 = require_Schema$1.gen(function* () {
295646
295877
  releaseAll: onManager((taskHolds) => taskHolds.releaseAll())
295647
295878
  };
295648
295879
  });
295649
- const SpriteTaskHoldReactorLive = require_Schema$1.effect(SpriteTaskHoldReactor, make$6);
295880
+ const SpriteTaskHoldReactorLive = require_Schema$1.effect(SpriteTaskHoldReactor, makeSpriteTaskHoldReactor());
295650
295881
  //#endregion
295651
295882
  //#region src/orchestration/Layers/PlanTaskCreationReactor.ts
295652
295883
  var PlanMaterializationRequestError = class extends require_Schema$1.TaggedError("PlanMaterializationRequestError") {};
@@ -296699,6 +296930,31 @@ const loadProviders = (codexProvider, claudeProvider, ollamaProvider, cmmdProvid
296699
296930
  opencodeProvider.getSnapshot
296700
296931
  ], { concurrency: "unbounded" });
296701
296932
  const haveProvidersChanged = (previousProviders, nextProviders) => !require_Schema$1.equals(previousProviders, nextProviders);
296933
+ /**
296934
+ * Keep publishing a previous good reading, marked stale, across a probe that
296935
+ * could not check rather than replacing it with a false "not on this
296936
+ * environment" (forge#3588).
296937
+ *
296938
+ * A Sprite freezes the cgroup about a second after the last inbound request,
296939
+ * so a probe already in flight at the freeze resumes into a timeout that
296940
+ * proves nothing: `checkCodexProviderStatus`/`checkClaudeProviderStatus` mark
296941
+ * exactly that shape `availabilityCheck: "could-not-check"`. When the last
296942
+ * thing this registry confirmed for the same provider was available, this
296943
+ * keeps publishing THAT reading rather than the fresh could-not-check one,
296944
+ * stamped stale with the time it was last confirmed. A provider with no prior
296945
+ * confirmed reading, or one whose previous reading was itself withheld, has
296946
+ * nothing to carry forward, so the fresh (still unavailable) reading stands.
296947
+ */
296948
+ function carryForwardStaleReading(incoming, previous) {
296949
+ if (incoming.availabilityCheck !== "could-not-check") return incoming;
296950
+ if (previous === void 0 || previous.availability !== "available") return incoming;
296951
+ return {
296952
+ ...previous,
296953
+ checkedAt: incoming.checkedAt,
296954
+ availabilityCheck: "could-not-check",
296955
+ lastConfirmedAt: previous.lastConfirmedAt ?? previous.checkedAt
296956
+ };
296957
+ }
296702
296958
  const ProviderRegistryLive = require_Schema$1.effect(ProviderRegistry, require_Schema$1.gen(function* () {
296703
296959
  const config = yield* ServerConfig;
296704
296960
  const codexProvider = yield* CodexProvider;
@@ -296737,15 +296993,25 @@ const ProviderRegistryLive = require_Schema$1.effect(ProviderRegistry, require_S
296737
296993
  error
296738
296994
  })), require_Schema$1.ignore);
296739
296995
  const upsertProviders = require_Schema$1.fn("upsertProviders")(function* (incomingProviders, options) {
296740
- const nextProviders = incomingProviders.map((provider) => withProviderAvailability(provider));
296741
- const [previousProviders, providers] = yield* require_HttpServer.modify(providersRef, (previousProviders) => {
296742
- const mergedProviders = new Map(previousProviders.map((provider) => [provider.provider, provider]));
296743
- for (const provider of nextProviders) mergedProviders.set(provider.provider, provider);
296996
+ const withAvailability = incomingProviders.map((provider) => withProviderAvailability(provider));
296997
+ const [previousProviders, providers, resolvedProviders] = yield* require_HttpServer.modify(providersRef, (previousProviders) => {
296998
+ const previousByKind = new Map(previousProviders.map((provider) => [provider.provider, provider]));
296999
+ const mergedProviders = new Map(previousByKind);
297000
+ const resolvedProviders = [];
297001
+ for (const provider of withAvailability) {
297002
+ const resolved = carryForwardStaleReading(provider, previousByKind.get(provider.provider));
297003
+ resolvedProviders.push(resolved);
297004
+ mergedProviders.set(provider.provider, resolved);
297005
+ }
296744
297006
  const providers = orderProviderSnapshots([...mergedProviders.values()]);
296745
- return [[previousProviders, providers], providers];
297007
+ return [[
297008
+ previousProviders,
297009
+ providers,
297010
+ resolvedProviders
297011
+ ], providers];
296746
297012
  });
296747
297013
  if (haveProvidersChanged(previousProviders, providers)) {
296748
- yield* require_Schema$1.forEach(nextProviders, persistProvider, {
297014
+ yield* require_Schema$1.forEach(resolvedProviders, persistProvider, {
296749
297015
  concurrency: "unbounded",
296750
297016
  discard: true
296751
297017
  });
@@ -298891,7 +299157,7 @@ const make$3 = /* @__PURE__ */ require_Schema$1.fnUntraced(function* (options) {
298891
299157
  excludeLogSpans: options.excludeLogSpans ?? false,
298892
299158
  clock: yield* require_Schema$1.Clock
298893
299159
  };
298894
- return make$33((options) => {
299160
+ return make$32((options) => {
298895
299161
  exporter.push(makeLogRecord(options, opts));
298896
299162
  });
298897
299163
  });
@@ -299788,7 +300054,7 @@ function resolveBuildCommitFromEnv(env) {
299788
300054
  * environment descriptor down instead of reporting an honest "unknown".
299789
300055
  */
299790
300056
  function readBakedBuildCommit() {
299791
- return "bb958274b2ec30ab04e69fa421419a546b6490de";
300057
+ return "96780e9bb987ecd23f530709589bda1b4b5791e5";
299792
300058
  }
299793
300059
  async function resolveServerBuildCommit(input) {
299794
300060
  if (isFullCommitSha(input.baked)) return input.baked;
@@ -315454,6 +315720,36 @@ const RuntimeReplicationOutboxLive = require_Schema$1.effect(RuntimeReplicationO
315454
315720
  getDiagnostics
315455
315721
  });
315456
315722
  }));
315723
+ //#endregion
315724
+ //#region src/runtimeReplication/Layers/RuntimeReplicationThreadFlush.ts
315725
+ /**
315726
+ * A thread's outbox row holds its whole unacknowledged batch as one
315727
+ * `{ events: [...] }` payload -- RuntimeReplicationOutbox upserts by
315728
+ * `(runtime_id, stream_key)`, so there is at most one row per thread -- so the
315729
+ * count is that array's length. A row whose payload does not decode that way
315730
+ * (a blocked THREAD_STREAM_LOCAL_HISTORY_CONFLICT placeholder, for instance)
315731
+ * still represents one undelivered publication, so it counts as 1 rather than
315732
+ * 0: a caller bounding a wait on this number must never read a blocked row as
315733
+ * "nothing pending".
315734
+ */
315735
+ function pendingEventCount(payloadJson) {
315736
+ try {
315737
+ const parsed = JSON.parse(payloadJson);
315738
+ if (Array.isArray(parsed.events)) return parsed.events.length;
315739
+ } catch {}
315740
+ return 1;
315741
+ }
315742
+ const RuntimeReplicationThreadFlushLive = require_Schema$1.effect(RuntimeReplicationThreadFlush, require_Schema$1.gen(function* () {
315743
+ const sql = yield* require_SqlError.SqlClient;
315744
+ const readPendingCount = (input) => sql`
315745
+ SELECT payload_json AS "payloadJson" FROM runtime_replication_outbox
315746
+ WHERE runtime_id = ${input.runtimeId} AND stream_key = ${input.streamKey}
315747
+ `.pipe(require_Schema$1.map((rows) => {
315748
+ const row = rows[0];
315749
+ return row === void 0 ? 0 : pendingEventCount(row.payloadJson);
315750
+ }), require_Schema$1.orDie);
315751
+ return RuntimeReplicationThreadFlush.of({ readPendingCount });
315752
+ }));
315457
315753
  /**
315458
315754
  * Gates guest-side Active Hour measurement (FOR-32642). Shadow-only: even
315459
315755
  * with this on, whether a reported interval is also recorded against the
@@ -322763,7 +323059,7 @@ const makeUserSlot = require_Schema$1.gen(function* () {
322763
323059
  };
322764
323060
  });
322765
323061
  const makeWorkspaceReadinessState = require_Schema$1.gen(function* () {
322766
- const slotsRef = yield* make$32(/* @__PURE__ */ new Map());
323062
+ const slotsRef = yield* make$31(/* @__PURE__ */ new Map());
322767
323063
  const pruneScope = yield* require_Schema$1.make$3("sequential");
322768
323064
  yield* require_Schema$1.addFinalizer(() => require_Schema$1.close(pruneScope, require_Schema$1.void_$1));
322769
323065
  /**
@@ -323834,8 +324130,8 @@ const PtyAdapterLive = require_Schema$1.unwrap(require_Schema$1.gen(function* ()
323834
324130
  }));
323835
324131
  const HttpServerLive = require_Schema$1.unwrap(require_Schema$1.gen(function* () {
323836
324132
  const config = yield* ServerConfig;
323837
- if (typeof Bun !== "undefined") return (yield* require_Schema$1.promise(() => Promise.resolve().then(() => require("./BunHttpServer-DTG5XWSi.cjs")))).layer(bunHttpServerOptions(config));
323838
- const [NodeHttpServer, NodeHttp] = yield* require_Schema$1.all([require_Schema$1.promise(() => Promise.resolve().then(() => require("./NodeHttpServer-RV5QsVeb.cjs"))), require_Schema$1.promise(() => import("node:http"))]);
324133
+ if (typeof Bun !== "undefined") return (yield* require_Schema$1.promise(() => Promise.resolve().then(() => require("./BunHttpServer-CtFGbsWr.cjs")))).layer(bunHttpServerOptions(config));
324134
+ const [NodeHttpServer, NodeHttp] = yield* require_Schema$1.all([require_Schema$1.promise(() => Promise.resolve().then(() => require("./NodeHttpServer-DyI6OyMg.cjs"))), require_Schema$1.promise(() => import("node:http"))]);
323839
324135
  return NodeHttpServer.layer(NodeHttp.createServer, {
323840
324136
  host: config.host,
323841
324137
  port: config.port
@@ -323850,7 +324146,7 @@ const PlatformServicesLive = require_Schema$1.unwrap(require_Schema$1.gen(functi
323850
324146
  return layer;
323851
324147
  }
323852
324148
  }));
323853
- const RuntimeReplicationLayerLive = RuntimeReplicationLive.pipe(require_Schema$1.provideMerge(RuntimeReplicationClientLive), require_Schema$1.provideMerge(RuntimeReplicationOutboxLive), require_Schema$1.provideMerge(ActiveHourMeterLive.pipe(require_Schema$1.provide$1(RuntimeReplicationOutboxLive))));
324149
+ const RuntimeReplicationLayerLive = RuntimeReplicationLive.pipe(require_Schema$1.provideMerge(RuntimeReplicationClientLive), require_Schema$1.provideMerge(RuntimeReplicationOutboxLive), require_Schema$1.provideMerge(RuntimeReplicationThreadFlushLive), require_Schema$1.provideMerge(ActiveHourMeterLive.pipe(require_Schema$1.provide$1(RuntimeReplicationOutboxLive))));
323854
324150
  const RuntimeDrainLayerLive = RuntimeDrainReporterLive.pipe(require_Schema$1.provideMerge(RuntimeDrainStateLive));
323855
324151
  const RuntimeAwareProviderReactorsLive = require_Schema$1.mergeAll(ProviderRuntimeIngestionLive, ProviderCommandReactorLive).pipe(require_Schema$1.provide$1(RuntimeDrainLayerLive), require_Schema$1.provideMerge(RuntimeDrainStateLive), require_Schema$1.provide$1(ClaudeUsageTelemetryLive));
323856
324152
  const PipelineWorkerCoordinatorLayerLive = PipelineWorkerCoordinatorLive.pipe(require_Schema$1.provideMerge(PipelineRunClientLive));
@@ -324628,7 +324924,7 @@ const tokenOnlyFlag = boolean$2("token-only").pipe(withDescription$2("Print only
324628
324924
  * it stays least-privilege unless the operator asks otherwise.
324629
324925
  */
324630
324926
  const pairingRoleFlag = choice("role", ["owner", "client"]).pipe(withDescription$2("Role for the issued pairing token."), withDefault("client"));
324631
- const pairingCreateCommand = make$34("create", {
324927
+ const pairingCreateCommand = make$33("create", {
324632
324928
  ...authLocationFlags,
324633
324929
  ttl: ttlFlag,
324634
324930
  role: pairingRoleFlag,
@@ -324646,24 +324942,24 @@ const pairingCreateCommand = make$34("create", {
324646
324942
  ...require_Schema$1.isSome(flags.baseUrl) ? { baseUrl: flags.baseUrl.value } : {}
324647
324943
  }));
324648
324944
  }), { quietLogs: flags.json })));
324649
- const pairingListCommand = make$34("list", {
324945
+ const pairingListCommand = make$33("list", {
324650
324946
  ...authLocationFlags,
324651
324947
  json: jsonFlag
324652
324948
  }).pipe(withDescription$1("List active client pairing tokens without revealing their secrets."), withHandler((flags) => runWithAuthControlPlane(flags, (authControlPlane) => require_Schema$1.gen(function* () {
324653
324949
  yield* log$3(formatPairingCredentialList(yield* authControlPlane.listPairingLinks({ role: "client" }), { json: flags.json }));
324654
324950
  }), { quietLogs: flags.json })));
324655
- const pairingRevokeCommand = make$34("revoke", {
324951
+ const pairingRevokeCommand = make$33("revoke", {
324656
324952
  ...authLocationFlags,
324657
324953
  id: string$4("id").pipe(withDescription$3("Pairing credential id to revoke."))
324658
324954
  }).pipe(withDescription$1("Revoke an active client pairing token."), withHandler((flags) => runWithAuthControlPlane(flags, (authControlPlane) => require_Schema$1.gen(function* () {
324659
324955
  yield* log$3((yield* authControlPlane.revokePairingLink(flags.id)) ? `Revoked pairing credential ${flags.id}.\n` : `No active pairing credential found for ${flags.id}.\n`);
324660
324956
  }))));
324661
- const pairingCommand = make$34("pairing").pipe(withDescription$1("Manage one-time client pairing tokens."), withSubcommands([
324957
+ const pairingCommand = make$33("pairing").pipe(withDescription$1("Manage one-time client pairing tokens."), withSubcommands([
324662
324958
  pairingCreateCommand,
324663
324959
  pairingListCommand,
324664
324960
  pairingRevokeCommand
324665
324961
  ]));
324666
- const sessionIssueCommand = make$34("issue", {
324962
+ const sessionIssueCommand = make$33("issue", {
324667
324963
  ...authLocationFlags,
324668
324964
  ttl: ttlFlag,
324669
324965
  role: sessionRoleFlag,
@@ -324682,25 +324978,25 @@ const sessionIssueCommand = make$34("issue", {
324682
324978
  tokenOnly: flags.tokenOnly
324683
324979
  }));
324684
324980
  }), { quietLogs: flags.json || flags.tokenOnly })));
324685
- const sessionListCommand = make$34("list", {
324981
+ const sessionListCommand = make$33("list", {
324686
324982
  ...authLocationFlags,
324687
324983
  json: jsonFlag
324688
324984
  }).pipe(withDescription$1("List active sessions without revealing bearer tokens."), withHandler((flags) => runWithAuthControlPlane(flags, (authControlPlane) => require_Schema$1.gen(function* () {
324689
324985
  yield* log$3(formatSessionList(yield* authControlPlane.listSessions(), { json: flags.json }));
324690
324986
  }), { quietLogs: flags.json })));
324691
- const sessionRevokeCommand = make$34("revoke", {
324987
+ const sessionRevokeCommand = make$33("revoke", {
324692
324988
  ...authLocationFlags,
324693
324989
  sessionId: string$4("session-id").pipe(withDescription$3("Session id to revoke."), withSchema$1(AuthSessionId))
324694
324990
  }).pipe(withDescription$1("Revoke an active session."), withHandler((flags) => runWithAuthControlPlane(flags, (authControlPlane) => require_Schema$1.gen(function* () {
324695
324991
  yield* log$3((yield* authControlPlane.revokeSession(flags.sessionId)) ? `Revoked session ${flags.sessionId}.\n` : `No active session found for ${flags.sessionId}.\n`);
324696
324992
  }))));
324697
- const sessionCommand = make$34("session").pipe(withDescription$1("Manage bearer sessions."), withSubcommands([
324993
+ const sessionCommand = make$33("session").pipe(withDescription$1("Manage bearer sessions."), withSubcommands([
324698
324994
  sessionIssueCommand,
324699
324995
  sessionListCommand,
324700
324996
  sessionRevokeCommand
324701
324997
  ]));
324702
- const authCommand = make$34("auth").pipe(withDescription$1("Manage the local auth control plane for headless deployments."), withSubcommands([pairingCommand, sessionCommand]));
324703
- const projectAddCommand = make$34("add", {
324998
+ const authCommand = make$33("auth").pipe(withDescription$1("Manage the local auth control plane for headless deployments."), withSubcommands([pairingCommand, sessionCommand]));
324999
+ const projectAddCommand = make$33("add", {
324704
325000
  ...projectLocationFlags,
324705
325001
  workspaceRoot: string$4("path").pipe(withDescription$3("Workspace root to add as a project.")),
324706
325002
  title: string$3("title").pipe(withDescription$2("Optional project title."), optional$1)
@@ -324720,7 +325016,7 @@ const projectAddCommand = make$34("add", {
324720
325016
  });
324721
325017
  return `Added project ${projectId} (${title}) at ${workspaceRoot}.`;
324722
325018
  }))));
324723
- const projectRemoveCommand = make$34("remove", {
325019
+ const projectRemoveCommand = make$33("remove", {
324724
325020
  ...projectLocationFlags,
324725
325021
  project: string$4("project").pipe(withDescription$3("Project id or workspace root to remove."))
324726
325022
  }).pipe(withDescription$1("Remove a project."), withHandler((flags) => runProjectMutation(flags, require_Schema$1.fn("projectRemoveMutation")(function* ({ snapshot, dispatch }) {
@@ -324735,7 +325031,7 @@ const projectRemoveCommand = make$34("remove", {
324735
325031
  });
324736
325032
  return `Removed project ${project.id} (${project.title}).`;
324737
325033
  }))));
324738
- const projectRenameCommand = make$34("rename", {
325034
+ const projectRenameCommand = make$33("rename", {
324739
325035
  ...projectLocationFlags,
324740
325036
  project: string$4("project").pipe(withDescription$3("Project id or workspace root to rename.")),
324741
325037
  title: string$4("title").pipe(withDescription$3("New project title."))
@@ -324758,12 +325054,12 @@ const parseCmmdProjectId = (value) => {
324758
325054
  const projectId = Number(value);
324759
325055
  return Number.isSafeInteger(projectId) && projectId > 0 ? require_Schema$1.succeed(projectId) : require_Schema$1.fail(/* @__PURE__ */ new Error(`Invalid CMMD project id '${value}'. Expected a positive integer.`));
324760
325056
  };
324761
- const projectLeadExplainCommand = make$34("explain", {
325057
+ const projectLeadExplainCommand = make$33("explain", {
324762
325058
  ...projectLocationFlags,
324763
325059
  projectId: string$4("project-id").pipe(withDescription$3("Numeric CMMD project id.")),
324764
325060
  json: jsonFlag
324765
325061
  }).pipe(withDescription$1("Explain canonical Project Lead controller state."), withHandler((flags) => parseCmmdProjectId(flags.projectId).pipe(require_Schema$1.flatMap((projectId) => runProjectLeadQuery(flags, projectId, (explanation) => flags.json ? JSON.stringify(explanation, null, 2) : formatProjectLeadExplanation(projectId, explanation))))));
324766
- const projectLeadDoctorCommand = make$34("doctor", {
325062
+ const projectLeadDoctorCommand = make$33("doctor", {
324767
325063
  ...projectLocationFlags,
324768
325064
  projectId: string$4("project-id").pipe(withDescription$3("Numeric CMMD project id.")),
324769
325065
  json: jsonFlag
@@ -324771,7 +325067,7 @@ const projectLeadDoctorCommand = make$34("doctor", {
324771
325067
  const report = diagnoseProjectLead(projectId, explanation);
324772
325068
  return flags.json ? JSON.stringify(report, null, 2) : formatProjectLeadDoctor(report);
324773
325069
  })))));
324774
- const projectLeadCommand = make$34("lead").pipe(withDescription$1("Inspect the CMMD-owned Project Lead controller."), withSubcommands([projectLeadExplainCommand, projectLeadDoctorCommand]));
325070
+ const projectLeadCommand = make$33("lead").pipe(withDescription$1("Inspect the CMMD-owned Project Lead controller."), withSubcommands([projectLeadExplainCommand, projectLeadDoctorCommand]));
324775
325071
  const connectStatePathFor = require_Schema$1.fn("connectStatePathFor")(function* (flags) {
324776
325072
  const config = yield* resolveCliAuthConfig(flags, yield* LogLevel);
324777
325073
  return (yield* require_Path.Path).join(config.stateDir, "connect.json");
@@ -324784,18 +325080,18 @@ const runConnectCommand = (flags, update) => require_Schema$1.gen(function* () {
324784
325080
  const state = next ?? current;
324785
325081
  yield* log$3(flags.json ? JSON.stringify(state, null, 2) : formatConnectStatus(state));
324786
325082
  });
324787
- const connectStatusCommand = make$34("status", {
325083
+ const connectStatusCommand = make$33("status", {
324788
325084
  ...projectLocationFlags,
324789
325085
  json: jsonFlag
324790
325086
  }).pipe(withDescription$1("Show whether this machine is offered to CMMD over the relay."), withHandler((flags) => runConnectCommand(flags, () => null)));
324791
- const connectLinkCommand = make$34("link", {
325087
+ const connectLinkCommand = make$33("link", {
324792
325088
  ...projectLocationFlags,
324793
325089
  json: jsonFlag
324794
325090
  }).pipe(withDescription$1("Offer this machine to CMMD over the relay on the next start."), withHandler((flags) => runConnectCommand(flags, (current) => ({
324795
325091
  ...current,
324796
325092
  linked: true
324797
325093
  }))));
324798
- const connectUnlinkCommand = make$34("unlink", {
325094
+ const connectUnlinkCommand = make$33("unlink", {
324799
325095
  ...projectLocationFlags,
324800
325096
  json: jsonFlag
324801
325097
  }).pipe(withDescription$1("Stop offering this machine, keeping its runtime identity so relinking is the same device."), withHandler((flags) => runConnectCommand(flags, (current) => ({
@@ -324806,7 +325102,7 @@ const noBrowserLoginFlag = boolean$2("no-browser").pipe(withDescription$2("Print
324806
325102
  const CONNECT_CLI_CLIENT_ID = "cmmd-forge-web";
324807
325103
  const connectSecretsFor = (stateDir) => createFileSecretStorage({ keyPath: node_path.join(stateDir, "connect-secret.key") });
324808
325104
  const loginEmailFlag = string$3("email").pipe(withDescription$2("Sign in with this CMMD email and a password prompt instead of the browser flow."), optional$1);
324809
- const connectLoginCommand = make$34("login", {
325105
+ const connectLoginCommand = make$33("login", {
324810
325106
  ...projectLocationFlags,
324811
325107
  noBrowser: noBrowserLoginFlag,
324812
325108
  email: loginEmailFlag
@@ -324873,7 +325169,7 @@ const connectLoginCommand = make$34("login", {
324873
325169
  });
324874
325170
  yield* log$3("Signed in to CMMD. Run `cmmd-forge connect link` to offer this machine.");
324875
325171
  })));
324876
- const connectLogoutCommand = make$34("logout", { ...projectLocationFlags }).pipe(withDescription$1("Sign this machine out of CMMD and stop offering it."), withHandler((flags) => require_Schema$1.gen(function* () {
325172
+ const connectLogoutCommand = make$33("logout", { ...projectLocationFlags }).pipe(withDescription$1("Sign this machine out of CMMD and stop offering it."), withHandler((flags) => require_Schema$1.gen(function* () {
324877
325173
  const config = yield* resolveCliAuthConfig(flags, yield* LogLevel);
324878
325174
  const statePath = node_path.join(config.stateDir, "connect.json");
324879
325175
  writeConnectState(statePath, {
@@ -324883,14 +325179,14 @@ const connectLogoutCommand = make$34("logout", { ...projectLocationFlags }).pipe
324883
325179
  clearConnectCredential(node_path.join(config.stateDir, "connect-credential.json"));
324884
325180
  yield* log$3("Signed out of CMMD and stopped offering this machine.");
324885
325181
  })));
324886
- const connectCommand = make$34("connect").pipe(withDescription$1("Offer this machine to CMMD so other surfaces can reach it."), withSubcommands([
325182
+ const connectCommand = make$33("connect").pipe(withDescription$1("Offer this machine to CMMD so other surfaces can reach it."), withSubcommands([
324887
325183
  connectStatusCommand,
324888
325184
  connectLoginCommand,
324889
325185
  connectLogoutCommand,
324890
325186
  connectLinkCommand,
324891
325187
  connectUnlinkCommand
324892
325188
  ]));
324893
- const projectCommand = make$34("project").pipe(withDescription$1("Manage projects."), withSubcommands([
325189
+ const projectCommand = make$33("project").pipe(withDescription$1("Manage projects."), withSubcommands([
324894
325190
  projectAddCommand,
324895
325191
  projectRemoveCommand,
324896
325192
  projectRenameCommand,
@@ -324905,12 +325201,12 @@ const runServerCommand = (flags, options) => require_Schema$1.gen(function* () {
324905
325201
  });
324906
325202
  return yield* runServer.pipe(require_Schema$1.provideService(ServerConfig, config));
324907
325203
  });
324908
- const startCommand = make$34("start", { ...sharedServerCommandFlags }).pipe(withDescription$1("Run the Forge server."), withHandler((flags) => runServerCommand(flags)));
324909
- const serveCommand = make$34("serve", { ...sharedServerCommandFlags }).pipe(withDescription$1("Run the Forge server without opening a browser and print headless pairing details."), withHandler((flags) => runServerCommand(flags, {
325204
+ const startCommand = make$33("start", { ...sharedServerCommandFlags }).pipe(withDescription$1("Run the Forge server."), withHandler((flags) => runServerCommand(flags)));
325205
+ const serveCommand = make$33("serve", { ...sharedServerCommandFlags }).pipe(withDescription$1("Run the Forge server without opening a browser and print headless pairing details."), withHandler((flags) => runServerCommand(flags, {
324910
325206
  startupPresentation: "headless",
324911
325207
  forceAutoBootstrapProjectFromCwd: false
324912
325208
  })));
324913
- const cli = make$34("cmmd-forge", { ...sharedServerCommandFlags }).pipe(withDescription$1("Run the Forge server."), withHandler((flags) => runServerCommand(flags)), withSubcommands([
325209
+ const cli = make$33("cmmd-forge", { ...sharedServerCommandFlags }).pipe(withDescription$1("Run the Forge server."), withHandler((flags) => runServerCommand(flags)), withSubcommands([
324914
325210
  startCommand,
324915
325211
  serveCommand,
324916
325212
  authCommand,