glimmervoid 0.41.1 → 0.42.0

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 (29) hide show
  1. package/dist/bin/glimmervoid.js +13 -13
  2. package/dist/chunks/{adapters-D8BJffFW.js → adapters-C8GfnK2r.js} +1 -1
  3. package/dist/chunks/{adapters-CyDflXHy.js → adapters-D2u85MEH.js} +5 -5
  4. package/dist/chunks/{agent-api-cli-CvCov9_e.js → agent-api-cli-B-1MqjKc.js} +1 -1
  5. package/dist/chunks/{agent-api-cli-B7-ToJul.js → agent-api-cli-D7JPxNso.js} +10 -5
  6. package/dist/chunks/{agent-api-core-CLxZAole.js → agent-api-core-PwO7fPoc.js} +19 -5
  7. package/dist/chunks/{agent-setup-cli-py1gUMvJ.js → agent-setup-cli-C9qDV2g5.js} +1 -1
  8. package/dist/chunks/config-store-BL8LDBuM.js +1 -0
  9. package/dist/chunks/{config-store-CxYqTNbe.js → config-store-BxCW2IwK.js} +2 -2
  10. package/dist/chunks/{contracts-C9Jj9iDo.js → contracts-LXlDbl4R.js} +2 -2
  11. package/dist/chunks/{control-messages-C6JGCTuy.js → control-messages-88sdxt-U.js} +7 -1
  12. package/dist/chunks/{git-version-D_iXgYTZ.js → git-version-DqagvnAZ.js} +1 -1
  13. package/dist/chunks/{grok-BUGgQVE3.js → grok-DwrAcNHC.js} +1 -1
  14. package/dist/chunks/{main-CRU5ahjl.js → main-DZzDU4Q4.js} +284 -95
  15. package/dist/chunks/{pair-cli-CL1D9xc7.js → pair-cli-3KKNhZ22.js} +2 -2
  16. package/dist/chunks/{remote-config-CaW0mpwr.js → remote-config-Ce5nN0zL.js} +1 -1
  17. package/dist/chunks/{session-C8IpFmGQ.js → session-3eSP3t1i.js} +8 -2
  18. package/dist/chunks/{session-routes-nySS7DUE.js → session-routes-B2oSzmQn.js} +1 -1
  19. package/dist/chunks/{settings-cli-Duculey3.js → settings-cli-BYY991YC.js} +5 -5
  20. package/dist/chunks/{settings-readout-core-CX7DmEuG.js → settings-readout-core-CWAhwZKN.js} +2 -2
  21. package/dist/chunks/{ssh-sign-cli-BEAAFjXg.js → ssh-sign-cli-BbqYIPwh.js} +2 -2
  22. package/dist/client/assets/index-C9wfiVqt.js +176 -0
  23. package/dist/client/assets/index-PnaYWtoe.css +2 -0
  24. package/dist/client/index.html +2 -2
  25. package/dist/server/index.js +1 -1
  26. package/package.json +1 -1
  27. package/dist/chunks/config-store-DcVWBJOV.js +0 -1
  28. package/dist/client/assets/index-CBjFGcSs.js +0 -176
  29. package/dist/client/assets/index-Cbb5NKHK.css +0 -2
@@ -1,6 +1,6 @@
1
1
  import { r as errorMessage } from "./text-DoirglWV.js";
2
- import { c as resolveConfigPath } from "./config-store-CxYqTNbe.js";
3
- import { c as defaultPairingsPath, i as REVOCATION_PROPAGATION_SECONDS, l as defaultSeenPath, n as normalizeRemoteConfig, o as createPairingsStore, s as createSeenStore } from "./remote-config-CaW0mpwr.js";
2
+ import { c as resolveConfigPath } from "./config-store-BxCW2IwK.js";
3
+ import { c as defaultPairingsPath, i as REVOCATION_PROPAGATION_SECONDS, l as defaultSeenPath, n as normalizeRemoteConfig, o as createPairingsStore, s as createSeenStore } from "./remote-config-Ce5nN0zL.js";
4
4
  import fs from "node:fs";
5
5
  //#region server/text-format.ts
6
6
  function trimIso(iso) {
@@ -3,7 +3,7 @@ import { n as equalsIgnoringCaseOnWindows } from "./paths-Bu4eH1Yd.js";
3
3
  import { n as isRecord } from "./coerce-NSst8oRP.js";
4
4
  import { n as unrefTimer, t as DEFAULT_TIMER_FNS } from "./timer-deps-u2DAQLok.js";
5
5
  import { a as jsonStateLoadError, d as writeJsonAtomicSync, l as sleepSync, s as loadJsonStateFileSync, u as writeJsonAtomic } from "./json-file-DFCTvPjj.js";
6
- import { o as glimmervoidHomeDir, ot as canonicalizePath } from "./config-store-CxYqTNbe.js";
6
+ import { o as glimmervoidHomeDir, ot as canonicalizePath } from "./config-store-BxCW2IwK.js";
7
7
  import fs from "node:fs";
8
8
  import path from "node:path";
9
9
  import crypto from "node:crypto";
@@ -868,6 +868,7 @@ var RefinedTaskTitle = z.object({
868
868
  name: z.string().nullable().optional()
869
869
  }).strict();
870
870
  var SessionState = z.enum(STATES);
871
+ var UnseenOutcome = z.enum(["finished", "failed"]);
871
872
  var PendingWakeup = z.object({
872
873
  at: z.number().finite().nullable(),
873
874
  kind: z.string(),
@@ -935,6 +936,7 @@ var SessionSnapshot = z.object({
935
936
  ownerId: z.string().nullable().optional(),
936
937
  isWorktree: z.boolean(),
937
938
  isWorkspace: z.boolean().default(false),
939
+ remoteWorkspace: z.string().nullable().default(null),
938
940
  isGuarded: z.boolean().default(false),
939
941
  isGuardrailsReleased: z.boolean().default(false),
940
942
  resumeSessionId: z.string().nullable(),
@@ -952,6 +954,7 @@ var SessionSnapshot = z.object({
952
954
  mergeReason: z.string().nullable(),
953
955
  worktreeNotice: z.string().nullable(),
954
956
  failureReason: z.string().nullable().optional(),
957
+ unseenOutcome: UnseenOutcome.nullable().default(null),
955
958
  effectiveBase: z.string().nullable(),
956
959
  linkedPrs: z.array(LinkedPr).default([]),
957
960
  coherenceHooks: CoherenceHooksState.nullable().default(null),
@@ -996,7 +999,10 @@ var AgentSpawnRequest = z.object({
996
999
  var SessionTarget = z.string({ error: "the session must be a string" }).min(1, { error: "the session must not be empty" }).max(300, { error: "the session must be at most 300 characters" });
997
1000
  var AgentSendRequest = z.object({ words: z.array(z.string({ error: "each word must be a string" }).max(2e4, { error: "each word must be at most 20000 characters" }), { error: "words must be a list" }).min(1, { error: "send needs text" }).max(5e3, { error: "send takes at most 5000 words" }) }).strict();
998
1001
  var AgentReadRequest = z.object({ child: SessionTarget.optional() }).strict();
999
- var AgentCloseRequest = z.object({ child: SessionTarget }).strict();
1002
+ var AgentCloseRequest = z.object({
1003
+ child: SessionTarget,
1004
+ discard: z.boolean().optional()
1005
+ }).strict();
1000
1006
  var AgentChannelEntry = z.object({
1001
1007
  from: z.enum([
1002
1008
  "parent",
@@ -1116,4 +1122,4 @@ var AgentLimitsReply = z.object({
1116
1122
  }).strict())
1117
1123
  }).strict().extend({ ok: z.literal(true) }).strict();
1118
1124
  //#endregion
1119
- export { MyPrSearchNode as $, SIGN_URL_ENV as A, TeamReviewThreadCommentsResponse as At, MyPr as B, GH_SEGMENT as Bt, PendingWakeup as C, ReviewVerdict as Ct, SESSION_DOC_PATH_MAX_CHARS as D, TeamReviewResolveResponse as Dt, SESSION_DOC_BODY_CAP_BYTES as E, TeamReviewCompareFiles as Et, SshSignReply as F, hasRequiredActionHead as Ft, MyPrKeepMergeableResult as G, GithubPollingRefreshResult as Gt, MyPrCheckContext as H, REPO_SLUG_RE as Ht, SshSignRequest as I, hasStandingViewerApproval as It, MyPrMergeRequest as J, BADGE_LABELS as Jt, MyPrLaneEntry as K, GithubPrsFreshness as Kt, TASK_TITLE_CONTROL_CHARACTERS as L, FULL_SHA_RE as Lt, SessionDoc as M, TeamReviewThreadsRepository as Mt, SessionSnapshot as N, canApproveAfterComment as Nt, SESSION_NAME_PATTERN as O, TeamReviewStateEntry as Ot, SessionState as P, decisionAsIfApprovalRequired as Pt, MyPrMergeWhenReadyResult as Q, STATES as Qt, TaskTitle as R, HEX_SHA_RE as Rt, ConversationQuestion as S, ReviewThreadId as St, SESSION_COMMANDS as T, TeamReviewActionResult as Tt, MyPrCheckContextsResponse as U, repoParts as Ut, MyPrAutoRebase as V, NODE_ID_RE as Vt, MyPrKeepMergeableRequest as W, GithubPollingRefreshRequest as Wt, MyPrMergeStateResponse as X, MERGEABLE_LIVE_STATES as Xt, MyPrMergeResult as Y, KILLABLE_STATES as Yt, MyPrMergeWhenReadyRequest as Z, RESTARTABLE_STATES as Zt, CONVERSATION_TOOL_RESULT_HOOK_EVENT as _, ReviewChecksState as _t, AgentCloseRequest as a, SessionPrLinks as at, ConversationApproval as b, ReviewFinding as bt, AgentPullRequestRequest as c, CommitSha as ct, AgentSettingsReply as d, FindingSeverity as dt, MyPrThreadNode as et, AgentSettingsRequest as f, GithubReviewDecision as ft, CONVERSATION_PERMISSION_HOOK_EVENT as g, QueuedReview as gt, CONVERSATION_APPROVAL_SUMMARY_MAX_CHARS as h, PrDetail as ht, AgentAttentionRequest as i, MyPrsStatus as it, SSH_SIGN_BODY_CAP_BYTES as j, TeamReviewThreadResult as jt, SESSION_NAME_RULE_TEXT as k, TeamReviewStatus as kt, AgentReadRequest as l, DECIDING_REVIEW_STATES as lt, COHERENCE_HOOKS_INACTIVE as m, PostingPlan as mt, AGENT_URL_ENV as n, MyPrsSnapshot as nt, AgentEditRequest as o, pullRequestKeyFormat as ot, AgentSpawnRequest as p, GithubReviewState as pt, MyPrMergeMethod as q, githubPollingShape as qt, ASK_USER_QUESTION_TOOL_NAME as r, MyPrsState as rt, AgentLimitsReply as s, repositoryName as st, AGENT_API_VERBS as t, MyPrThreadsResponse as tt, AgentSendRequest as u, EarlierReview as ut, CoherenceHooksState as v, ReviewComment as vt, RefinedTaskTitle as w, TeamReviewActionRequest as wt, ConversationApprovalDecision as x, ReviewResult as xt, ConversationAnswers as y, ReviewDraft as yt, LinkedPr as z, shortSha as zt };
1125
+ export { MyPrMergeWhenReadyResult as $, STATES as $t, SIGN_URL_ENV as A, TeamReviewStatus as At, LinkedPr as B, shortSha as Bt, PendingWakeup as C, ReviewThreadId as Ct, SESSION_DOC_PATH_MAX_CHARS as D, TeamReviewCompareFiles as Dt, SESSION_DOC_BODY_CAP_BYTES as E, TeamReviewActionResult as Et, SshSignReply as F, decisionAsIfApprovalRequired as Ft, MyPrKeepMergeableRequest as G, GithubPollingRefreshRequest as Gt, MyPrAutoRebase as H, NODE_ID_RE as Ht, SshSignRequest as I, hasRequiredActionHead as It, MyPrMergeMethod as J, githubPollingShape as Jt, MyPrKeepMergeableResult as K, GithubPollingRefreshResult as Kt, TASK_TITLE_CONTROL_CHARACTERS as L, hasStandingViewerApproval as Lt, SessionDoc as M, TeamReviewThreadResult as Mt, SessionSnapshot as N, TeamReviewThreadsRepository as Nt, SESSION_NAME_PATTERN as O, TeamReviewResolveResponse as Ot, SessionState as P, canApproveAfterComment as Pt, MyPrMergeWhenReadyRequest as Q, RESTARTABLE_STATES as Qt, TaskTitle as R, FULL_SHA_RE as Rt, ConversationQuestion as S, ReviewResult as St, SESSION_COMMANDS as T, TeamReviewActionRequest as Tt, MyPrCheckContext as U, REPO_SLUG_RE as Ut, MyPr as V, GH_SEGMENT as Vt, MyPrCheckContextsResponse as W, repoParts as Wt, MyPrMergeResult as X, KILLABLE_STATES as Xt, MyPrMergeRequest as Y, BADGE_LABELS as Yt, MyPrMergeStateResponse as Z, MERGEABLE_LIVE_STATES as Zt, CONVERSATION_TOOL_RESULT_HOOK_EVENT as _, QueuedReview as _t, AgentCloseRequest as a, MyPrsStatus as at, ConversationApproval as b, ReviewDraft as bt, AgentPullRequestRequest as c, repositoryName as ct, AgentSettingsReply as d, EarlierReview as dt, MyPrSearchNode as et, AgentSettingsRequest as f, FindingSeverity as ft, CONVERSATION_PERMISSION_HOOK_EVENT as g, PrDetail as gt, CONVERSATION_APPROVAL_SUMMARY_MAX_CHARS as h, PostingPlan as ht, AgentAttentionRequest as i, MyPrsState as it, SSH_SIGN_BODY_CAP_BYTES as j, TeamReviewThreadCommentsResponse as jt, SESSION_NAME_RULE_TEXT as k, TeamReviewStateEntry as kt, AgentReadRequest as l, CommitSha as lt, COHERENCE_HOOKS_INACTIVE as m, GithubReviewState as mt, AGENT_URL_ENV as n, MyPrThreadsResponse as nt, AgentEditRequest as o, SessionPrLinks as ot, AgentSpawnRequest as p, GithubReviewDecision as pt, MyPrLaneEntry as q, GithubPrsFreshness as qt, ASK_USER_QUESTION_TOOL_NAME as r, MyPrsSnapshot as rt, AgentLimitsReply as s, pullRequestKeyFormat as st, AGENT_API_VERBS as t, MyPrThreadNode as tt, AgentSendRequest as u, DECIDING_REVIEW_STATES as ut, CoherenceHooksState as v, ReviewChecksState as vt, RefinedTaskTitle as w, ReviewVerdict as wt, ConversationApprovalDecision as x, ReviewFinding as xt, ConversationAnswers as y, ReviewComment as yt, UnseenOutcome as z, HEX_SHA_RE as zt };
@@ -1,4 +1,4 @@
1
- import { T as SESSION_COMMANDS } from "./session-C8IpFmGQ.js";
1
+ import { T as SESSION_COMMANDS } from "./session-3eSP3t1i.js";
2
2
  //#region session/core/session-routes.ts
3
3
  var SUPERVISION_LINE = "Glimmervoid supervises this session. Run glimmervoid --help for the commands it gives you and this session's limits.";
4
4
  var GUARDRAILS_LINE = "Its guardrails are OS-enforced, so a read, write or connection they refuse will not succeed on retry.";
@@ -1,11 +1,11 @@
1
1
  import { r as errorMessage, t as errorCode } from "./text-DoirglWV.js";
2
- import { d as AgentSettingsReply } from "./session-C8IpFmGQ.js";
2
+ import { d as AgentSettingsReply } from "./session-3eSP3t1i.js";
3
3
  import { t as renderTable } from "./ascii-figure-core-pDAwtlKO.js";
4
4
  import { n as glimmervoidHomeDir, t as decideConfigPath } from "./config-path-core-DFt-TemS.js";
5
5
  import { n as isRecord } from "./coerce-NSst8oRP.js";
6
- import { C as deleteValueAtPath, D as scoreSettingsSearch, E as parsePosthogProjectSelection, N as SETTINGS_REGISTRY, O as setValueAtPath, Q as withEnvSecrets, S as cloneValue, X as readEnvSecrets, Y as ENV_SECRET_BINDINGS, j as valueAtPath, l as saveConfigFileOnce, s as loadConfigFile, u as validateConfig } from "./config-store-CxYqTNbe.js";
7
- import { m as BrowserConfig } from "./contracts-C9Jj9iDo.js";
8
- import { a as fail, c as listSettings, d as renderSectionTables, f as requireConfigFileSetting, g as valueText, h as succeed, i as describeSetting, l as readSetting, m as settingsRequestForServer, n as configFileViewOf, o as fitColumn, p as sectionOf, r as defaultText, s as getSetting, t as ALL_SETTINGS } from "./settings-readout-core-CX7DmEuG.js";
6
+ import { C as deleteValueAtPath, D as scoreSettingsSearch, E as parsePosthogProjectSelection, N as SETTINGS_REGISTRY, O as setValueAtPath, Q as withEnvSecrets, S as cloneValue, X as readEnvSecrets, Y as ENV_SECRET_BINDINGS, j as valueAtPath, l as saveConfigFileOnce, s as loadConfigFile, u as validateConfig } from "./config-store-BxCW2IwK.js";
7
+ import { m as BrowserConfig } from "./contracts-LXlDbl4R.js";
8
+ import { a as fail, c as listSettings, d as renderSectionTables, f as requireConfigFileSetting, g as valueText, h as succeed, i as describeSetting, l as readSetting, m as settingsRequestForServer, n as configFileViewOf, o as fitColumn, p as sectionOf, r as defaultText, s as getSetting, t as ALL_SETTINGS } from "./settings-readout-core-CWAhwZKN.js";
9
9
  import fs from "node:fs";
10
10
  import os from "node:os";
11
11
  import { parseArgs } from "node:util";
@@ -329,7 +329,7 @@ function processIo() {
329
329
  async function runSettingsCli(commandArguments, io = processIo()) {
330
330
  const serverRequest = settingsRequestForServer(commandArguments, process.env);
331
331
  if (!serverRequest) return runSettingsCommand(commandArguments, io);
332
- const { askAgentApi } = await import("./agent-api-cli-CvCov9_e.js");
332
+ const { askAgentApi } = await import("./agent-api-cli-B-1MqjKc.js");
333
333
  const reply = AgentSettingsReply.safeParse(await askAgentApi("settings", serverRequest).catch((error) => ({
334
334
  ok: false,
335
335
  error: errorMessage(error)
@@ -1,6 +1,6 @@
1
- import { f as AgentSettingsRequest } from "./session-C8IpFmGQ.js";
1
+ import { f as AgentSettingsRequest } from "./session-3eSP3t1i.js";
2
2
  import { t as renderTable } from "./ascii-figure-core-pDAwtlKO.js";
3
- import { A as settingsOf, M as FILE_ONLY_GROUPS, N as SETTINGS_REGISTRY, S as cloneValue, T as hasScaledUnit, X as readEnvSecrets, j as valueAtPath, k as settingsGroupOf, w as displayText, x as SETTINGS_INDEX } from "./config-store-CxYqTNbe.js";
3
+ import { A as settingsOf, M as FILE_ONLY_GROUPS, N as SETTINGS_REGISTRY, S as cloneValue, T as hasScaledUnit, X as readEnvSecrets, j as valueAtPath, k as settingsGroupOf, w as displayText, x as SETTINGS_INDEX } from "./config-store-BxCW2IwK.js";
4
4
  import { parseArgs } from "node:util";
5
5
  //#region server/core/settings-readout-core.ts
6
6
  var VALUE_COLUMN_WIDTH = 40;
@@ -1,8 +1,8 @@
1
1
  import { r as errorMessage } from "./text-DoirglWV.js";
2
- import { A as SIGN_URL_ENV, F as SshSignReply } from "./session-C8IpFmGQ.js";
2
+ import { A as SIGN_URL_ENV, F as SshSignReply } from "./session-3eSP3t1i.js";
3
3
  import { n as execFileAsync, o as spawn } from "./child-process-safe-D4hyVIXj.js";
4
4
  import { a as isLoopbackHostname } from "./hook-relay-core-DA_bz2KA.js";
5
- import { n as postToAgentIngress } from "./agent-api-cli-B7-ToJul.js";
5
+ import { n as postToAgentIngress } from "./agent-api-cli-D7JPxNso.js";
6
6
  import { l as parseSshPublicKey } from "./ssh-signing-core-CRhVVWNW.js";
7
7
  import path from "node:path";
8
8
  import fsp from "node:fs/promises";