@krapht/ork 1.0.0-alpha.5 → 1.0.0-alpha.6

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 (32) hide show
  1. package/dist/{__build_info__-Dl8yTEu-.mjs → __build_info__-CxH89h1r.mjs} +2 -2
  2. package/dist/bin.mjs +28 -28
  3. package/dist/{clean-DYVmLkd4.mjs → clean-BbrkMQQi.mjs} +1 -1
  4. package/dist/{completion-BVx917Yr.mjs → completion-BeS2NCgO.mjs} +5 -5
  5. package/dist/{context-CepHRoj9.mjs → context-CHV6aTs7.mjs} +3 -3
  6. package/dist/{decide-CK_-lI5V.mjs → decide-Cnt7o3ya.mjs} +1 -1
  7. package/dist/{find-DWiDJ5Lc.mjs → find-Dy2H5IvT.mjs} +1 -1
  8. package/dist/{format-yBEAXZhk.mjs → format-OL0E1AjA.mjs} +2 -2
  9. package/dist/{in-a-run-CKFIeMpU.mjs → in-a-run-emTc-kZI.mjs} +1 -1
  10. package/dist/{limits-CwzPe9wZ.mjs → limits-TxTnWxix.mjs} +1 -1
  11. package/dist/{list-BE02pCZ9.mjs → list-P5CfcoWx.mjs} +1 -1
  12. package/dist/{mcp-DMuBbUHU.mjs → mcp-qUwFT9yi.mjs} +6 -6
  13. package/dist/{output-BhYkshYq.mjs → output-CjOPL8W0.mjs} +1 -1
  14. package/dist/{pause-C_Q0W6iX.mjs → pause-CBSAxtTp.mjs} +4 -4
  15. package/dist/{relay-COCvG-0I.mjs → relay-UgK1Cp9a.mjs} +2 -2
  16. package/dist/{remove-RVcX1KqP.mjs → remove-ccycC3vI.mjs} +3 -3
  17. package/dist/{send-OVpRei_5.mjs → send-B39-Xeo7.mjs} +3 -3
  18. package/dist/{src-CxZr4Bp2.mjs → src-5-sCA7cY.mjs} +50 -19
  19. package/dist/{src-HxtJOMRr.mjs → src-8nec4uoe.mjs} +1 -1
  20. package/dist/{src-Do_MhwiV.mjs → src-DG4dyBqm.mjs} +7 -0
  21. package/dist/{src-QEycKJWk.mjs → src-jyCJE1kd.mjs} +7 -7
  22. package/dist/ui/assets/{app-DzI77WV9.js → app-C1DAgdU2.js} +7 -7
  23. package/dist/ui/assets/app-Dt_tjFj6.css +1 -0
  24. package/dist/ui/assets/{index-2G_6XIIv.js → index-BZKXPhht.js} +2 -2
  25. package/dist/ui/index.html +1 -1
  26. package/dist/{ui-Dz_qfUOz.mjs → ui-DmJWLgxL.mjs} +4 -4
  27. package/dist/{usage-BcLUZ1xw.mjs → usage-Bh1lVioA.mjs} +5 -5
  28. package/dist/{watch-Buyn0Mhz.mjs → watch-C_vcsn_g.mjs} +6 -6
  29. package/dist/{workflows-1sntXqSd.mjs → workflows-lpexsAYt.mjs} +3 -3
  30. package/dist/{worktrees-B_Go_A9w.mjs → worktrees-D4bVVKfY.mjs} +10 -4
  31. package/package.json +1 -1
  32. package/dist/ui/assets/app-pTYGrAbI.css +0 -1
@@ -1,4 +1,4 @@
1
- import { Cn as placeFiles, Fn as writePlainFile, Ht as FEEDBACK_SEVERITIES, Jt as publishPost, Mn as estimateTokens, Nn as guardedBase, Pn as plainPathInside, Qt as targetOf, Vt as FEEDBACK_KINDS, Xt as fingerprint, cn as maskSecrets, g as parseVersion, h as isNewer, jn as LESSON_CAP_TOKENS, kn as inside, m as compareVersions, wn as placeFor } from "./src-Do_MhwiV.mjs";
1
+ import { Cn as placeFiles, Fn as writePlainFile, Ht as FEEDBACK_SEVERITIES, Jt as publishPost, Mn as estimateTokens, Nn as guardedBase, Pn as plainPathInside, Qt as targetOf, Vt as FEEDBACK_KINDS, Xt as fingerprint, cn as maskSecrets, g as parseVersion, h as isNewer, jn as LESSON_CAP_TOKENS, kn as inside, m as compareVersions, wn as placeFor } from "./src-DG4dyBqm.mjs";
2
2
  import path from "node:path";
3
3
  import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, writeFileSync } from "node:fs";
4
4
  import { homedir } from "node:os";
@@ -611,5 +611,5 @@ const registryShown = (registry) => {
611
611
  * fails when it is stale.
612
612
  */
613
613
  const ORK_NAME = "@krapht/ork";
614
- const ORK_VERSION = "1.0.0-alpha.5";
614
+ const ORK_VERSION = "1.0.0-alpha.6";
615
615
  export { feedbackActions as C, placeOf as S, previewPost as _, registryShown as a, acceptItem as b, checkDue as c, pendingNotice as d, readUpdateCache as f, nodeSession as g, writeUpdateCache as h, registryOf as i, fetchLatest as l, updateCachePath as m, ORK_VERSION as n, updateSwitchOff as o, refreshUpdateCache as p, isSwitchedOn as r, runInstall as s, ORK_NAME as t, newerVersion as u, checkNote as v, openFixRun as w, lessonPlaceOf as x, recordNote as y };
package/dist/bin.mjs CHANGED
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
- import { An as projectRootOf, Cn as placeFiles, D as inspectProject, Dn as shownPath, Dt as userMessageText, En as runDirOf, Ft as PROJECT_FILE, Gt as planPost, H as tellNode, Ht as FEEDBACK_SEVERITIES, I as createCalls, It as gitRulesOf, J as tellLiveRun, Kn as WorkflowSchema, L as addressOf, Lt as loadProject, M as clearGitLocalEnv, N as parseInputPairs, P as resolveInputs, Qn as isClaudeNode, R as endLink, Sn as newProjectId, Tn as projectsHome, Tt as startRun, Un as serializeWorkflow, Ut as FEEDBACK_TARGETS, V as peerOf, Vt as FEEDBACK_KINDS, W as flattenTree, Xt as fingerprint, Yn as settingsOf, Yt as createFeedback, Zn as beforeOf, Zt as normalizeTitle, _ as lateTriggers, _n as catalogAgent, _t as runStatus, an as socketRoom, bn as hasInRepoFiles, cr as CLAUDE_DRIVERS, d as runningRunIds, dn as planMoveInto, dr as experimentsOn, dt as namingNoDriver, et as adoptedCalls, f as runningScript, fn as linkTools, fr as knownExperiments, ft as sessionDriver, gn as deleteAgent, h as isNewer, hn as createAgent, ht as liveStatus, i as NOT_STARTED, in as socketPath, it as replayLoopAnswers, kn as inside, l as planUpgrade, ln as planAgentMigration, lr as firstLine, mn as toolsInUse, n as resolveBase, nt as resumable, on as wakeRun, or as AGENT_TOOL_LAYOUTS, ot as detachRun, pn as toolLinks, q as requestStop, qt as sendPost, rn as serveRun, rr as INTEGRATIONS, rt as createReplay, sn as maskReplacer, sr as ORK_LAYOUT, st as followEvents, t as createWorkspace, tt as detachResume, u as releaseNotes, un as applySteps, ur as EXPERIMENTS, ut as planNodeSession, v as triggersReport, vn as loadAgents, vt as runTree, wn as placeFor, wt as walkSummary, xn as inRepoPlace, z as endLinksOf } from "./src-Do_MhwiV.mjs";
3
- import { a as formatRunEvent, i as formatEvent, n as formatRuns, o as createTerminalHuman, r as formatTree, s as createDecisionQueue, t as ago } from "./format-yBEAXZhk.mjs";
4
- import { C as feedbackActions, S as placeOf, _ as previewPost, b as acceptItem, c as checkDue, d as pendingNotice, f as readUpdateCache, g as nodeSession, h as writeUpdateCache, i as registryOf, l as fetchLatest, m as updateCachePath, n as ORK_VERSION, o as updateSwitchOff, p as refreshUpdateCache, r as isSwitchedOn, s as runInstall, t as ORK_NAME, u as newerVersion$1, v as checkNote, w as openFixRun, y as recordNote } from "./__build_info__-Dl8yTEu-.mjs";
5
- import { i as builtinWorkflowFile, n as pendingDecisions, r as builtinProblem, t as answerDecision } from "./decide-CK_-lI5V.mjs";
6
- import { n as newRunId, t as findRun } from "./find-DWiDJ5Lc.mjs";
7
- import { a as write, c as openStore, i as style, l as storePath, n as cost, o as writeErr, s as nodeOf, t as confirm } from "./output-BhYkshYq.mjs";
8
- import { n as listOrkWorktrees, t as createdWorktrees } from "./list-BE02pCZ9.mjs";
9
- import { a as planClean, t as applyClean } from "./clean-DYVmLkd4.mjs";
2
+ import { An as projectRootOf, Cn as placeFiles, D as inspectProject, Dn as shownPath, Dt as userMessageText, En as runDirOf, Ft as PROJECT_FILE, Gt as planPost, H as tellNode, Ht as FEEDBACK_SEVERITIES, I as createCalls, It as gitRulesOf, J as tellLiveRun, Kn as WorkflowSchema, L as addressOf, Lt as loadProject, M as clearGitLocalEnv, N as parseInputPairs, P as resolveInputs, Qn as isClaudeNode, R as endLink, Sn as newProjectId, Tn as projectsHome, Tt as startRun, Un as serializeWorkflow, Ut as FEEDBACK_TARGETS, V as peerOf, Vt as FEEDBACK_KINDS, W as flattenTree, Xt as fingerprint, Yn as settingsOf, Yt as createFeedback, Zn as beforeOf, Zt as normalizeTitle, _ as lateTriggers, _n as catalogAgent, _t as runStatus, an as socketRoom, bn as hasInRepoFiles, cr as CLAUDE_DRIVERS, d as runningRunIds, dn as planMoveInto, dr as experimentsOn, dt as namingNoDriver, et as adoptedCalls, f as runningScript, fn as linkTools, fr as knownExperiments, ft as sessionDriver, gn as deleteAgent, h as isNewer, hn as createAgent, ht as liveStatus, i as NOT_STARTED, in as socketPath, it as replayLoopAnswers, kn as inside, l as planUpgrade, ln as planAgentMigration, lr as firstLine, mn as toolsInUse, n as resolveBase, nt as resumable, on as wakeRun, or as AGENT_TOOL_LAYOUTS, ot as detachRun, pn as toolLinks, q as requestStop, qt as sendPost, rn as serveRun, rr as INTEGRATIONS, rt as createReplay, sn as maskReplacer, sr as ORK_LAYOUT, st as followEvents, t as createWorkspace, tt as detachResume, u as releaseNotes, un as applySteps, ur as EXPERIMENTS, ut as planNodeSession, v as triggersReport, vn as loadAgents, vt as runTree, wn as placeFor, wt as walkSummary, xn as inRepoPlace, z as endLinksOf } from "./src-DG4dyBqm.mjs";
3
+ import { a as formatRunEvent, i as formatEvent, n as formatRuns, o as createTerminalHuman, r as formatTree, s as createDecisionQueue, t as ago } from "./format-OL0E1AjA.mjs";
4
+ import { C as feedbackActions, S as placeOf, _ as previewPost, b as acceptItem, c as checkDue, d as pendingNotice, f as readUpdateCache, g as nodeSession, h as writeUpdateCache, i as registryOf, l as fetchLatest, m as updateCachePath, n as ORK_VERSION, o as updateSwitchOff, p as refreshUpdateCache, r as isSwitchedOn, s as runInstall, t as ORK_NAME, u as newerVersion$1, v as checkNote, w as openFixRun, y as recordNote } from "./__build_info__-CxH89h1r.mjs";
5
+ import { i as builtinWorkflowFile, n as pendingDecisions, r as builtinProblem, t as answerDecision } from "./decide-Cnt7o3ya.mjs";
6
+ import { n as newRunId, t as findRun } from "./find-Dy2H5IvT.mjs";
7
+ import { a as write, c as openStore, i as style, l as storePath, n as cost, o as writeErr, s as nodeOf, t as confirm } from "./output-CjOPL8W0.mjs";
8
+ import { n as listOrkWorktrees, t as createdWorktrees } from "./list-P5CfcoWx.mjs";
9
+ import { a as planClean, t as applyClean } from "./clean-BbrkMQQi.mjs";
10
10
  import { c as subcommandsOf, i as argsOf, n as groupedEntries, o as publicArgs, s as resolved, t as groupOf } from "./help-groups-BwYoAWsh.mjs";
11
- import { _ as namedMcpEntries, a as builtinExecutors, d as maskedEnv, f as maskedNamesOfRun, g as clearOutputFiles, h as sessionEnv, i as onPath, l as clearStateFiles, m as runScrubber, n as missingProgramMessage, r as missingPrograms, t as envProblems, v as resultOf } from "./src-HxtJOMRr.mjs";
12
- import { c as registeredProjects, i as refusedBuiltin, n as WORKFLOW_SUFFIX, o as workflowArg, s as projectAt, t as WORKFLOW_DIR } from "./workflows-1sntXqSd.mjs";
13
- import { a as validate, c as warningLines, i as loadWorkflow, o as validateFile, r as formatReport, s as walkLoaded, t as context } from "./context-CepHRoj9.mjs";
14
- import { i as runLimits, r as limitsRefusal, t as chatNotice } from "./limits-CwzPe9wZ.mjs";
15
- import { i as decideRefusal, n as chatRefusal } from "./in-a-run-CKFIeMpU.mjs";
11
+ import { _ as namedMcpEntries, a as builtinExecutors, d as maskedEnv, f as maskedNamesOfRun, g as clearOutputFiles, h as sessionEnv, i as onPath, l as clearStateFiles, m as runScrubber, n as missingProgramMessage, r as missingPrograms, t as envProblems, v as resultOf } from "./src-8nec4uoe.mjs";
12
+ import { c as registeredProjects, i as refusedBuiltin, n as WORKFLOW_SUFFIX, o as workflowArg, s as projectAt, t as WORKFLOW_DIR } from "./workflows-lpexsAYt.mjs";
13
+ import { a as validate, c as warningLines, i as loadWorkflow, o as validateFile, r as formatReport, s as walkLoaded, t as context } from "./context-CHV6aTs7.mjs";
14
+ import { i as runLimits, r as limitsRefusal, t as chatNotice } from "./limits-TxTnWxix.mjs";
15
+ import { i as decideRefusal, n as chatRefusal } from "./in-a-run-emTc-kZI.mjs";
16
16
  import path from "node:path";
17
17
  import { stringify } from "yaml";
18
18
  import { z } from "zod";
@@ -1530,7 +1530,7 @@ const flagValues = (rawArgs, flag) => {
1530
1530
  };
1531
1531
  const isDriver = (value) => CLAUDE_DRIVERS.some((d) => d.id === value);
1532
1532
  /** Loads the drivers only when a run starts, so other commands stay fast. */
1533
- const loadRuntime = async (driver) => (await import("./src-CxZr4Bp2.mjs")).createRuntime(driver, sessionEnv(process.env));
1533
+ const loadRuntime = async (driver) => (await import("./src-5-sCA7cY.mjs")).createRuntime(driver, sessionEnv(process.env));
1534
1534
  /**
1535
1535
  * Ctrl-C asks the run to stop, and so does a terminal closing or a polite kill,
1536
1536
  * so that the run ends tidily and leaves no result unscrubbed.
@@ -4445,27 +4445,27 @@ const main = defineCommand({
4445
4445
  ps,
4446
4446
  logs,
4447
4447
  tree,
4448
- usage: () => import("./usage-BcLUZ1xw.mjs").then((module) => module.usage),
4449
- prune: () => import("./usage-BcLUZ1xw.mjs").then((module) => module.prune),
4448
+ usage: () => import("./usage-Bh1lVioA.mjs").then((module) => module.usage),
4449
+ prune: () => import("./usage-Bh1lVioA.mjs").then((module) => module.prune),
4450
4450
  decide,
4451
- relay: () => import("./relay-COCvG-0I.mjs").then((module) => module.relay),
4452
- pause: () => import("./pause-C_Q0W6iX.mjs").then((module) => module.pause),
4453
- continue: () => import("./pause-C_Q0W6iX.mjs").then((module) => module.continueRun),
4451
+ relay: () => import("./relay-UgK1Cp9a.mjs").then((module) => module.relay),
4452
+ pause: () => import("./pause-CBSAxtTp.mjs").then((module) => module.pause),
4453
+ continue: () => import("./pause-CBSAxtTp.mjs").then((module) => module.continueRun),
4454
4454
  stop,
4455
4455
  chat,
4456
- send: () => import("./send-OVpRei_5.mjs").then((module) => module.send),
4456
+ send: () => import("./send-B39-Xeo7.mjs").then((module) => module.send),
4457
4457
  resume,
4458
4458
  feedback,
4459
4459
  context,
4460
- worktrees: () => import("./worktrees-B_Go_A9w.mjs").then((module) => module.worktrees),
4461
- wt: () => import("./worktrees-B_Go_A9w.mjs").then((module) => module.worktrees),
4462
- watch: () => import("./watch-Buyn0Mhz.mjs").then((module) => module.watch),
4463
- mcp: () => import("./mcp-DMuBbUHU.mjs").then((module) => module.mcp),
4464
- ui: () => import("./ui-Dz_qfUOz.mjs").then((module) => module.ui),
4460
+ worktrees: () => import("./worktrees-D4bVVKfY.mjs").then((module) => module.worktrees),
4461
+ wt: () => import("./worktrees-D4bVVKfY.mjs").then((module) => module.worktrees),
4462
+ watch: () => import("./watch-C_vcsn_g.mjs").then((module) => module.watch),
4463
+ mcp: () => import("./mcp-qUwFT9yi.mjs").then((module) => module.mcp),
4464
+ ui: () => import("./ui-DmJWLgxL.mjs").then((module) => module.ui),
4465
4465
  doctor,
4466
4466
  upgrade,
4467
- completion: () => import("./completion-BVx917Yr.mjs").then((module) => module.completion),
4468
- __complete: () => import("./completion-BVx917Yr.mjs").then((module) => module.completeCommand(main))
4467
+ completion: () => import("./completion-BeS2NCgO.mjs").then((module) => module.completion),
4468
+ __complete: () => import("./completion-BeS2NCgO.mjs").then((module) => module.completeCommand(main))
4469
4469
  }
4470
4470
  });
4471
4471
  // src/bin.ts
@@ -4483,7 +4483,7 @@ const main = defineCommand({
4483
4483
  clearGitLocalEnv();
4484
4484
  const argv = process.argv.slice(2);
4485
4485
  if (argv[0] === "__complete") {
4486
- const { printCompletions } = await import("./completion-BVx917Yr.mjs");
4486
+ const { printCompletions } = await import("./completion-BeS2NCgO.mjs");
4487
4487
  await printCompletions(main, argv.slice(1));
4488
4488
  } else if (process.env["ORK_UPDATE_CHECK_CHILD"] === "1") await runUpdateChild();
4489
4489
  else {
@@ -1,4 +1,4 @@
1
- import { A as gitOk, O as removeWorktree } from "./src-Do_MhwiV.mjs";
1
+ import { A as gitOk, O as removeWorktree } from "./src-DG4dyBqm.mjs";
2
2
  // ../core/src/worktree/clean.ts
3
3
  /**
4
4
  * @file What `ork worktrees clean` and `ork worktrees remove` do with what
@@ -1,9 +1,9 @@
1
- import { Cn as placeFiles, cr as CLAUDE_DRIVERS, ht as liveStatus, tr as NodeIdSchema, wn as placeFor } from "./src-Do_MhwiV.mjs";
2
- import { a as builtinWorkflowNames, n as pendingDecisions, o as builtinWorkflowText, s as isBuiltinArg } from "./decide-CK_-lI5V.mjs";
3
- import { t as findRun } from "./find-DWiDJ5Lc.mjs";
4
- import { c as openStore, l as storePath, o as writeErr } from "./output-BhYkshYq.mjs";
1
+ import { Cn as placeFiles, cr as CLAUDE_DRIVERS, ht as liveStatus, tr as NodeIdSchema, wn as placeFor } from "./src-DG4dyBqm.mjs";
2
+ import { a as builtinWorkflowNames, n as pendingDecisions, o as builtinWorkflowText, s as isBuiltinArg } from "./decide-Cnt7o3ya.mjs";
3
+ import { t as findRun } from "./find-Dy2H5IvT.mjs";
4
+ import { c as openStore, l as storePath, o as writeErr } from "./output-CjOPL8W0.mjs";
5
5
  import { a as findEntry, c as subcommandsOf, d as SHELL_SCRIPTS, l as COMPLETE_COMMAND, n as groupedEntries, r as argInfoOf, t as groupOf, u as SHELLS } from "./help-groups-BwYoAWsh.mjs";
6
- import { a as resolveWorkflowArg, n as WORKFLOW_SUFFIX } from "./workflows-1sntXqSd.mjs";
6
+ import { a as resolveWorkflowArg, n as WORKFLOW_SUFFIX } from "./workflows-lpexsAYt.mjs";
7
7
  import path from "node:path";
8
8
  import { parse } from "yaml";
9
9
  import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
@@ -1,6 +1,6 @@
1
- import { C as workflowTextHash, Cn as placeFiles, Ct as walkChecks, On as workflowDirOf, S as readProjectTriggers, St as checkWorkflowText, jn as LESSON_CAP_TOKENS, lt as explainSession, wn as placeFor, wt as walkSummary } from "./src-Do_MhwiV.mjs";
2
- import { a as write, i as style, r as plain } from "./output-BhYkshYq.mjs";
3
- import { c as registeredProjects, i as refusedBuiltin, o as workflowArg, r as findWorkflowFiles, s as projectAt } from "./workflows-1sntXqSd.mjs";
1
+ import { C as workflowTextHash, Cn as placeFiles, Ct as walkChecks, On as workflowDirOf, S as readProjectTriggers, St as checkWorkflowText, jn as LESSON_CAP_TOKENS, lt as explainSession, wn as placeFor, wt as walkSummary } from "./src-DG4dyBqm.mjs";
2
+ import { a as write, i as style, r as plain } from "./output-CjOPL8W0.mjs";
3
+ import { c as registeredProjects, i as refusedBuiltin, o as workflowArg, r as findWorkflowFiles, s as projectAt } from "./workflows-lpexsAYt.mjs";
4
4
  import path from "node:path";
5
5
  import { readFileSync } from "node:fs";
6
6
  import { defineCommand } from "citty";
@@ -1,4 +1,4 @@
1
- import { Cn as placeFiles, Fn as writePlainFile, Nn as guardedBase, Pn as plainPathInside, ht as liveStatus, in as socketPath, on as wakeRun } from "./src-Do_MhwiV.mjs";
1
+ import { Cn as placeFiles, Fn as writePlainFile, Nn as guardedBase, Pn as plainPathInside, ht as liveStatus, in as socketPath, on as wakeRun } from "./src-DG4dyBqm.mjs";
2
2
  import path from "node:path";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
4
  import { createHash } from "node:crypto";
@@ -1,4 +1,4 @@
1
- import { wn as placeFor } from "./src-Do_MhwiV.mjs";
1
+ import { wn as placeFor } from "./src-DG4dyBqm.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  // ../core/src/remote/find.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { cn as maskSecrets, ht as liveStatus } from "./src-Do_MhwiV.mjs";
2
- import { i as style, n as cost } from "./output-BhYkshYq.mjs";
1
+ import { cn as maskSecrets, ht as liveStatus } from "./src-DG4dyBqm.mjs";
2
+ import { i as style, n as cost } from "./output-CjOPL8W0.mjs";
3
3
  import { createInterface } from "node:readline/promises";
4
4
  // ../core/src/control/queue.ts
5
5
  const PERMISSION_OPTIONS = [{
@@ -1,4 +1,4 @@
1
- import { p as runMarkerIn } from "./src-HxtJOMRr.mjs";
1
+ import { p as runMarkerIn } from "./src-8nec4uoe.mjs";
2
2
  // src/commands/in-a-run.ts
3
3
  /**
4
4
  * @file The commands that act as the user refuse a program or an agent in a run
@@ -1,4 +1,4 @@
1
- import { a as limitsNow, i as NOT_STARTED, o as limitsReport, r as capsHere } from "./src-Do_MhwiV.mjs";
1
+ import { a as limitsNow, i as NOT_STARTED, o as limitsReport, r as capsHere } from "./src-DG4dyBqm.mjs";
2
2
  // src/run/limits.ts
3
3
  /**
4
4
  * @file The limits across runs that apply here (RFC-007): the user's settings
@@ -1,4 +1,4 @@
1
- import { A as gitOk, j as lines, k as git } from "./src-Do_MhwiV.mjs";
1
+ import { A as gitOk, j as lines, k as git } from "./src-DG4dyBqm.mjs";
2
2
  import { existsSync } from "node:fs";
3
3
  // ../core/src/worktree/list.ts
4
4
  /**
@@ -1,8 +1,8 @@
1
- import { h as isNewer } from "./src-Do_MhwiV.mjs";
2
- import { n as ORK_VERSION } from "./__build_info__-Dl8yTEu-.mjs";
3
- import { a as openMcp, c as refused, o as tool, s as answer } from "./src-QEycKJWk.mjs";
4
- import { p as runMarkerIn } from "./src-HxtJOMRr.mjs";
5
- import { n as explainNode } from "./context-CepHRoj9.mjs";
1
+ import { h as isNewer } from "./src-DG4dyBqm.mjs";
2
+ import { n as ORK_VERSION } from "./__build_info__-CxH89h1r.mjs";
3
+ import { a as openMcp, c as refused, o as tool, s as answer } from "./src-jyCJE1kd.mjs";
4
+ import { p as runMarkerIn } from "./src-8nec4uoe.mjs";
5
+ import { n as explainNode } from "./context-CHV6aTs7.mjs";
6
6
  import { z } from "zod";
7
7
  import { defineCommand } from "citty";
8
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -43,7 +43,7 @@ const orkMcpServer = (options = {}) => {
43
43
  ...options.script === void 0 ? {} : { script: options.script }
44
44
  });
45
45
  const all = [...opened.tools, explainTool(opened, options.home)];
46
- const tools = options.expects !== void 0 && isNewer(options.expects, "1.0.0-alpha.5") ? tooOld(all, options.expects) : all;
46
+ const tools = options.expects !== void 0 && isNewer(options.expects, "1.0.0-alpha.6") ? tooOld(all, options.expects) : all;
47
47
  const server = new McpServer({
48
48
  name: "ork",
49
49
  version: ORK_VERSION
@@ -1,4 +1,4 @@
1
- import { $ as text, Ht as FEEDBACK_SEVERITIES, Q as inTransaction, Ut as FEEDBACK_TARGETS, Vt as FEEDBACK_KINDS, X as usageQueries, Y as backfillUsage, Z as eventOf, cn as maskSecrets, sn as maskReplacer, yn as PROJECT_MODES, yt as ownProcessStart } from "./src-Do_MhwiV.mjs";
1
+ import { $ as text, Ht as FEEDBACK_SEVERITIES, Q as inTransaction, Ut as FEEDBACK_TARGETS, Vt as FEEDBACK_KINDS, X as usageQueries, Y as backfillUsage, Z as eventOf, cn as maskSecrets, sn as maskReplacer, yn as PROJECT_MODES, yt as ownProcessStart } from "./src-DG4dyBqm.mjs";
2
2
  import path from "node:path";
3
3
  import { mkdirSync } from "node:fs";
4
4
  import { homedir } from "node:os";
@@ -1,7 +1,7 @@
1
- import { G as requestContinue, K as requestPause } from "./src-Do_MhwiV.mjs";
2
- import { t as findRun } from "./find-DWiDJ5Lc.mjs";
3
- import { a as write, c as openStore, i as style, o as writeErr } from "./output-BhYkshYq.mjs";
4
- import { r as continueRefusal } from "./in-a-run-CKFIeMpU.mjs";
1
+ import { G as requestContinue, K as requestPause } from "./src-DG4dyBqm.mjs";
2
+ import { t as findRun } from "./find-Dy2H5IvT.mjs";
3
+ import { a as write, c as openStore, i as style, o as writeErr } from "./output-CjOPL8W0.mjs";
4
+ import { r as continueRefusal } from "./in-a-run-emTc-kZI.mjs";
5
5
  import { defineCommand } from "citty";
6
6
  // src/commands/pause.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { B as linkNodes, L as addressOf, U as unlinkNodes } from "./src-Do_MhwiV.mjs";
2
- import { a as write, c as openStore, i as style, o as writeErr } from "./output-BhYkshYq.mjs";
1
+ import { B as linkNodes, L as addressOf, U as unlinkNodes } from "./src-DG4dyBqm.mjs";
2
+ import { a as write, c as openStore, i as style, o as writeErr } from "./output-CjOPL8W0.mjs";
3
3
  import { defineCommand } from "citty";
4
4
  // src/commands/relay.ts
5
5
  /**
@@ -1,6 +1,6 @@
1
- import { ht as liveStatus, j as lines, k as git } from "./src-Do_MhwiV.mjs";
2
- import { n as listOrkWorktrees, t as createdWorktrees } from "./list-BE02pCZ9.mjs";
3
- import { i as keyOf, n as applyStep, r as cleanStep, s as stepPrunes } from "./clean-DYVmLkd4.mjs";
1
+ import { ht as liveStatus, j as lines, k as git } from "./src-DG4dyBqm.mjs";
2
+ import { n as listOrkWorktrees, t as createdWorktrees } from "./list-P5CfcoWx.mjs";
3
+ import { i as keyOf, n as applyStep, r as cleanStep, s as stepPrunes } from "./clean-BbrkMQQi.mjs";
4
4
  // ../core/src/worktree/words.ts
5
5
  /**
6
6
  * @file The plain words for what `ork worktrees` shows, in one place, so the
@@ -1,6 +1,6 @@
1
- import { ht as liveStatus, in as socketPath, kt as scriptContactsOf, on as wakeRun } from "./src-Do_MhwiV.mjs";
2
- import { c as openStore, o as writeErr } from "./output-BhYkshYq.mjs";
3
- import { u as inheritedScrubber } from "./src-HxtJOMRr.mjs";
1
+ import { ht as liveStatus, in as socketPath, kt as scriptContactsOf, on as wakeRun } from "./src-DG4dyBqm.mjs";
2
+ import { c as openStore, o as writeErr } from "./output-CjOPL8W0.mjs";
3
+ import { u as inheritedScrubber } from "./src-8nec4uoe.mjs";
4
4
  import { defineCommand } from "citty";
5
5
  // ../core/src/remote/send.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { Ht as FEEDBACK_SEVERITIES, Ut as FEEDBACK_TARGETS, Vt as FEEDBACK_KINDS, pt as parseReport } from "./src-Do_MhwiV.mjs";
1
+ import { Ht as FEEDBACK_SEVERITIES, Ut as FEEDBACK_TARGETS, Vt as FEEDBACK_KINDS, pt as parseReport } from "./src-DG4dyBqm.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomBytes, timingSafeEqual } from "node:crypto";
4
4
  import { createInterface } from "node:readline";
@@ -336,20 +336,45 @@ const text = (value) => ({ content: [{
336
336
  type: "text",
337
337
  text: value
338
338
  }] });
339
- const defineTool = (definition) => {
340
- const schema = z.object(definition.shape);
341
- return {
342
- name: definition.name,
343
- bind: (context) => definition.available?.(context) ?? true ? {
339
+ const issueAt = (issue) => {
340
+ const where = z.core.toDotPath(issue.path);
341
+ return where === "" ? "" : `${where}: `;
342
+ };
343
+ /** Whether `issue` is about a field of the object `parent` is about. */
344
+ const isFieldOf = (issue, parent) => issue.path.length === parent.path.length + 1 && parent.path.every((key, index) => key === issue.path[index]);
345
+ const expectedField = (issue) => `; the field is \`${String(issue.path.at(-1))}\`${issue.code === "invalid_value" ? `, one of: ${issue.values.join(", ")}` : ""}`;
346
+ /**
347
+ * A failed parse as text a model can act on. A stray key is reported with the
348
+ * fields its object lacks, read from the schema's own issues: a wrong name is
349
+ * otherwise only a "missing" error that hides what was sent.
350
+ */
351
+ const readableIssues = (issues) => {
352
+ const strays = issues.filter((issue) => issue.code === "unrecognized_keys");
353
+ const lacking = issues.filter((issue) => issue.input === void 0 && strays.some((stray) => isFieldOf(issue, stray)));
354
+ return [...strays.map((stray) => `${issueAt(stray)}unknown field ${stray.keys.map((key) => `\`${key}\``).join(", ")}${lacking.filter((issue) => isFieldOf(issue, stray)).map((issue) => expectedField(issue)).join("")}`), ...issues.filter((issue) => issue.code !== "unrecognized_keys" && !lacking.includes(issue)).map((issue) => `${issueAt(issue)}${issue.message}`)].join("\n");
355
+ };
356
+ const defineTool = (definition) => ({
357
+ name: definition.name,
358
+ bind: (context) => {
359
+ if (!(definition.available?.(context) ?? true)) return null;
360
+ const shape = typeof definition.shape === "function" ? definition.shape(context) : definition.shape;
361
+ const schema = z.object(shape);
362
+ return {
344
363
  name: definition.name,
345
364
  description: definition.description,
346
- shape: definition.shape,
365
+ shape,
347
366
  schema,
348
367
  preapproved: definition.preapproved ?? true,
349
- call: (args) => definition.run(context, schema.parse(args))
350
- } : null
351
- };
352
- };
368
+ call: (args) => {
369
+ const parsed = schema.safeParse(args, { reportInput: true });
370
+ return parsed.success ? definition.run(context, parsed.data) : Promise.resolve({
371
+ ...text(readableIssues(parsed.error.issues)),
372
+ isError: true
373
+ });
374
+ }
375
+ };
376
+ }
377
+ });
353
378
  // ../runtime-claude/src/mcp-http.ts
354
379
  /**
355
380
  * @file A minimal MCP server over the streamable HTTP transport, for the
@@ -621,10 +646,13 @@ const delegationText = (delegation) => text(JSON.stringify({
621
646
  const delegateTool = defineTool({
622
647
  name: "delegate",
623
648
  description: "Hand tasks to nodes you own. Tasks in one call run in parallel; the call returns every child's report when all are done. Ork merges a passing child's branch into yours.",
624
- shape: { tasks: z.array(z.object({
625
- child: z.string().describe("The id of a node you own."),
626
- brief: BRIEF
627
- })).min(1) },
649
+ shape: ({ ports }) => {
650
+ const ids = ports.ownership?.children.map((child) => child.id) ?? [];
651
+ return { tasks: z.array(z.strictObject({
652
+ child: z.enum(ids).describe(`The id of a node you own: ${ids.join(", ")}.`),
653
+ brief: BRIEF
654
+ })).min(1) };
655
+ },
628
656
  available: ({ ports }) => (ports.ownership?.children.length ?? 0) > 0,
629
657
  run: async ({ ports }, args) => {
630
658
  if (ports.ownership === void 0) return text("You own no nodes.");
@@ -634,10 +662,13 @@ const delegateTool = defineTool({
634
662
  const spawnWorkerTool = defineTool({
635
663
  name: "spawn_worker",
636
664
  description: "Start new instances of a child worker for work that splits into independent parts. Each runs in its own worktree; the call returns their reports when all are done.",
637
- shape: { tasks: z.array(z.object({
638
- template: z.string().describe("The id of a child worker you own."),
639
- brief: BRIEF
640
- })).min(1) },
665
+ shape: ({ ports }) => {
666
+ const ids = ports.ownership?.templates ?? [];
667
+ return { tasks: z.array(z.strictObject({
668
+ template: z.enum(ids).describe(`The id of a child worker you own: ${ids.join(", ")}.`),
669
+ brief: BRIEF
670
+ })).min(1) };
671
+ },
641
672
  available: ({ ports }) => ports.ownership !== void 0 && ports.ownership.templates.length > 0 && ports.ownership.workersLeft() > 0,
642
673
  run: async ({ ports }, args) => {
643
674
  if (ports.ownership === void 0) return text("You own no workers.");
@@ -1,4 +1,4 @@
1
- import { $n as isToolNode, $t as evaluate, At as runScope, Bt as serversIn, F as declaredProblem, Mt as envReadsOf, Ot as heldTimeout, Pt as declaredOutputOf, Rt as MCP_FILE, Wn as markValue, Zn as beforeOf, ar as integrationFor, en as parseTemplate, er as programsRunBy, ft as sessionDriver, ir as TOOL_PREFIX, jt as calledWorkflows, mt as reportSchemaFor, nr as timeoutMs, rr as INTEGRATIONS, s as planReason, tn as renderTemplate, ut as planNodeSession, zt as mcpNotText } from "./src-Do_MhwiV.mjs";
1
+ import { $n as isToolNode, $t as evaluate, At as runScope, Bt as serversIn, F as declaredProblem, Mt as envReadsOf, Ot as heldTimeout, Pt as declaredOutputOf, Rt as MCP_FILE, Wn as markValue, Zn as beforeOf, ar as integrationFor, en as parseTemplate, er as programsRunBy, ft as sessionDriver, ir as TOOL_PREFIX, jt as calledWorkflows, mt as reportSchemaFor, nr as timeoutMs, rr as INTEGRATIONS, s as planReason, tn as renderTemplate, ut as planNodeSession, zt as mcpNotText } from "./src-DG4dyBqm.mjs";
2
2
  import path from "node:path";
3
3
  import { accessSync, constants, lstatSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
4
4
  import { spawn } from "node:child_process";
@@ -6525,6 +6525,8 @@ const createOwnership = (hooks) => {
6525
6525
  if (accepted.length > 0) {
6526
6526
  const problem = await hooks.checkpoint();
6527
6527
  if (problem !== null) notes.push(`Your uncommitted work could not be committed (${problem}); the children started from your branch's last commit.`);
6528
+ const released = hooks.releaseClaims().map((r) => `\`${r}\``);
6529
+ if (released.length > 0) notes.push(`Your claims on ${released.join(", ")} were released while your children worked; claim again before you edit.`);
6528
6530
  }
6529
6531
  hooks.lend();
6530
6532
  try {
@@ -6676,6 +6678,11 @@ const nodeContext = (deps, activation, cwd, round) => {
6676
6678
  runChild: deps.runChild,
6677
6679
  isRunning: (other) => deps.running.has(other),
6678
6680
  checkpoint: () => options.workspace?.checkpoint(id) ?? Promise.resolve(null),
6681
+ releaseClaims: () => {
6682
+ const held = context.claims?.held() ?? [];
6683
+ for (const resource of held) context.claims?.release(resource);
6684
+ return held;
6685
+ },
6679
6686
  lend: deps.slots.release,
6680
6687
  reclaim: deps.slots.take
6681
6688
  });
@@ -1,11 +1,11 @@
1
- import { B as linkNodes, Bn as readDocument, Cn as placeFiles, Ct as walkChecks, En as runDirOf, G as requestContinue, Gn as EdgeInputSchema, Gt as planPost, Hn as parseWorkflow, In as skillsIn, J as tellLiveRun, Jn as expandEdge, K as requestPause, Kt as runGh, Ln as WorkflowEditSchema, Nt as nodeSays, On as workflowDirOf, Rn as applyEdits, St as checkWorkflowText, U as unlinkNodes, Vn as renderJsonSchema, Wt as DISCUSSIONS, Xn as NodeSchema, _t as runStatus, bt as processAlive, ct as explainWorkflowText, d as runningRunIds, f as runningScript, gt as pausedOf, ht as liveStatus, jn as LESSON_CAP_TOKENS, kn as inside, l as planUpgrade, nn as readCondition, nt as resumable, o as limitsReport, ot as detachRun, p as detectInstaller, q as requestStop, qt as sendPost, r as capsHere, st as followEvents, tt as detachResume, u as releaseNotes, v as triggersReport, vn as loadAgents, vt as runTree, wn as placeFor, wt as walkSummary, zn as newWorkflowText } from "./src-Do_MhwiV.mjs";
2
- import { C as feedbackActions, S as placeOf$1, _ as previewPost, a as registryShown, b as acceptItem, c as checkDue, f as readUpdateCache, g as nodeSession, h as writeUpdateCache, i as registryOf, l as fetchLatest, m as updateCachePath, o as updateSwitchOff, p as refreshUpdateCache, s as runInstall, u as newerVersion, w as openFixRun, x as lessonPlaceOf, y as recordNote } from "./__build_info__-Dl8yTEu-.mjs";
3
- import { n as pendingDecisions, r as builtinProblem, t as answerDecision } from "./decide-CK_-lI5V.mjs";
4
- import { n as newRunId, t as findRun } from "./find-DWiDJ5Lc.mjs";
5
- import { c as openStore, l as storePath, s as nodeOf } from "./output-BhYkshYq.mjs";
1
+ import { B as linkNodes, Bn as readDocument, Cn as placeFiles, Ct as walkChecks, En as runDirOf, G as requestContinue, Gn as EdgeInputSchema, Gt as planPost, Hn as parseWorkflow, In as skillsIn, J as tellLiveRun, Jn as expandEdge, K as requestPause, Kt as runGh, Ln as WorkflowEditSchema, Nt as nodeSays, On as workflowDirOf, Rn as applyEdits, St as checkWorkflowText, U as unlinkNodes, Vn as renderJsonSchema, Wt as DISCUSSIONS, Xn as NodeSchema, _t as runStatus, bt as processAlive, ct as explainWorkflowText, d as runningRunIds, f as runningScript, gt as pausedOf, ht as liveStatus, jn as LESSON_CAP_TOKENS, kn as inside, l as planUpgrade, nn as readCondition, nt as resumable, o as limitsReport, ot as detachRun, p as detectInstaller, q as requestStop, qt as sendPost, r as capsHere, st as followEvents, tt as detachResume, u as releaseNotes, v as triggersReport, vn as loadAgents, vt as runTree, wn as placeFor, wt as walkSummary, zn as newWorkflowText } from "./src-DG4dyBqm.mjs";
2
+ import { C as feedbackActions, S as placeOf$1, _ as previewPost, a as registryShown, b as acceptItem, c as checkDue, f as readUpdateCache, g as nodeSession, h as writeUpdateCache, i as registryOf, l as fetchLatest, m as updateCachePath, o as updateSwitchOff, p as refreshUpdateCache, s as runInstall, u as newerVersion, w as openFixRun, x as lessonPlaceOf, y as recordNote } from "./__build_info__-CxH89h1r.mjs";
3
+ import { n as pendingDecisions, r as builtinProblem, t as answerDecision } from "./decide-Cnt7o3ya.mjs";
4
+ import { n as newRunId, t as findRun } from "./find-Dy2H5IvT.mjs";
5
+ import { c as openStore, l as storePath, s as nodeOf } from "./output-CjOPL8W0.mjs";
6
6
  import { n as usageReport } from "./report-DK4LGqwF.mjs";
7
- import { a as planClean, i as keyOf, o as stepActs, r as cleanStep, s as stepPrunes, t as applyClean } from "./clean-DYVmLkd4.mjs";
8
- import { a as readWorktrees, c as planLine, i as projectHead, l as removeRefusal, n as lostWork, o as labelOf, r as planRemove, s as mergeStateOf, t as applyRemove, u as stateParts } from "./remove-RVcX1KqP.mjs";
7
+ import { a as planClean, i as keyOf, o as stepActs, r as cleanStep, s as stepPrunes, t as applyClean } from "./clean-BbrkMQQi.mjs";
8
+ import { a as readWorktrees, c as planLine, i as projectHead, l as removeRefusal, n as lostWork, o as labelOf, r as planRemove, s as mergeStateOf, t as applyRemove, u as stateParts } from "./remove-ccycC3vI.mjs";
9
9
  import path from "node:path";
10
10
  import { z } from "zod";
11
11
  import { chmodSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";