@krapht/ork 1.0.0-alpha.2 → 1.0.0-alpha.4

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 (30) hide show
  1. package/dist/{__build_info__-fy6L1Mrd.mjs → __build_info__-1i1IwLg7.mjs} +2 -2
  2. package/dist/bin.mjs +72 -32
  3. package/dist/{clean-DaHjs__2.mjs → clean-B1zPxq6A.mjs} +1 -1
  4. package/dist/{completion-CSU5vkEt.mjs → completion-BY-frez8.mjs} +5 -5
  5. package/dist/{context-DT8MfEIR.mjs → context-CD5TCD1D.mjs} +3 -3
  6. package/dist/{decide-CGyx9rv7.mjs → decide-CBhYcjwI.mjs} +1 -1
  7. package/dist/{find-D6Gj1sxg.mjs → find-BgZjVKhv.mjs} +1 -1
  8. package/dist/{format-Dnfv8zMT.mjs → format-Creyq4U3.mjs} +2 -2
  9. package/dist/{in-a-run-pLAZeNys.mjs → in-a-run-CsSBQQ2q.mjs} +1 -1
  10. package/dist/{limits-B1-DYc3d.mjs → limits-D_HxH0CK.mjs} +1 -1
  11. package/dist/{list-BrH8KRSJ.mjs → list-CzzpVEpM.mjs} +1 -1
  12. package/dist/{mcp-DE_EmyVm.mjs → mcp-DYmQt372.mjs} +6 -6
  13. package/dist/{output-BLQWD6MJ.mjs → output-CuivUcDa.mjs} +1 -1
  14. package/dist/{pause-CL6N_Xrj.mjs → pause-W6MzQqg8.mjs} +4 -4
  15. package/dist/{relay-0SD0erwf.mjs → relay-CsdoZUXJ.mjs} +2 -2
  16. package/dist/{remove-BeGdqroy.mjs → remove-DLfDjBdF.mjs} +3 -3
  17. package/dist/{send-C8tunWhv.mjs → send-Bw2FI_Sv.mjs} +3 -3
  18. package/dist/{src-Dujmvv4s.mjs → src-BRB5EQyC.mjs} +235 -32
  19. package/dist/{src-DOcK8Jfp.mjs → src-Bc9yaAiZ.mjs} +159 -161
  20. package/dist/{src-CCUKRX51.mjs → src-CrYCkU9J.mjs} +16 -8
  21. package/dist/{src-BbyEoMn4.mjs → src-CsjumY1t.mjs} +7 -7
  22. package/dist/ui/assets/{app-T7wVAhgx.js → app-m9Gfrg_S.js} +1 -1
  23. package/dist/ui/assets/{index-9dFha9Qn.js → index-UEC5ZLYw.js} +2 -2
  24. package/dist/ui/index.html +1 -1
  25. package/dist/{ui-CTmO2Xzu.mjs → ui-wX050aH1.mjs} +4 -4
  26. package/dist/{usage-DYUmP0i4.mjs → usage-C96RDH-G.mjs} +5 -5
  27. package/dist/{watch-CtbgDAcz.mjs → watch-vdRobJil.mjs} +6 -6
  28. package/dist/{workflows-D1_WVukk.mjs → workflows-B28q8zMY.mjs} +3 -3
  29. package/dist/{worktrees-DdMYoNOC.mjs → worktrees-CKDRkl6b.mjs} +5 -5
  30. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { An as guardedBase, En as inside, Gt as publishPost, Mn as writePlainFile, On as LESSON_CAP_TOKENS, Rt as FEEDBACK_KINDS, Yt as targetOf, Zt as maskSecrets, bn as placeFiles, g as parseVersion, h as isNewer, jn as plainPathInside, kn as estimateTokens, m as compareVersions, qt as fingerprint, xn as placeFor, zt as FEEDBACK_SEVERITIES } from "./src-Dujmvv4s.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, en as maskSecrets, g as parseVersion, h as isNewer, jn as LESSON_CAP_TOKENS, kn as inside, m as compareVersions, wn as placeFor } from "./src-BRB5EQyC.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.2";
614
+ const ORK_VERSION = "1.0.0-alpha.4";
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 { Bn as serializeWorkflow, Bt as FEEDBACK_TARGETS, Cn as runDirOf, D as inspectProject, Dn as projectRootOf, Dt as userMessageText, En as inside, Ft as PROJECT_FILE, H as tellNode, Ht as planPost, I as createCalls, It as gitRulesOf, J as tellLiveRun, Jn as beforeOf, Jt as normalizeTitle, Kn as settingsOf, Kt as createFeedback, L as addressOf, Lt as loadProject, M as clearGitLocalEnv, N as parseInputPairs, P as resolveInputs, R as endLink, Rt as FEEDBACK_KINDS, Sn as projectsHome, Tt as startRun, Un as WorkflowSchema, V as peerOf, W as flattenTree, Wt as sendPost, Xt as maskReplacer, Yn as isClaudeNode, _ as lateTriggers, _n as hasInRepoFiles, _t as runStatus, an as wakeRun, ar as CLAUDE_DRIVERS, bn as placeFiles, cn as planMoveInto, d as runningRunIds, dn as toolsInUse, dt as namingNoDriver, er as INTEGRATIONS, et as adoptedCalls, f as runningScript, fn as createAgent, ft as sessionDriver, h as isNewer, hn as loadAgents, ht as liveStatus, i as NOT_STARTED, in as socketRoom, ir as ORK_LAYOUT, it as replayLoopAnswers, l as planUpgrade, ln as linkTools, mn as catalogAgent, n as resolveBase, nn as serveRun, nt as resumable, on as planAgentMigration, or as firstLine, ot as detachRun, pn as deleteAgent, q as requestStop, qt as fingerprint, rn as socketPath, rr as AGENT_TOOL_LAYOUTS, rt as createReplay, sn as applySteps, st as followEvents, t as createWorkspace, tt as detachResume, u as releaseNotes, un as toolLinks, ut as planNodeSession, v as triggersReport, vn as inRepoPlace, vt as runTree, wn as shownPath, wt as walkSummary, xn as placeFor, yn as newProjectId, z as endLinksOf, zt as FEEDBACK_SEVERITIES } from "./src-Dujmvv4s.mjs";
3
- 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__-fy6L1Mrd.mjs";
4
- import { i as builtinWorkflowFile, n as pendingDecisions, r as builtinProblem, t as answerDecision } from "./decide-CGyx9rv7.mjs";
5
- import { n as newRunId, t as findRun } from "./find-D6Gj1sxg.mjs";
6
- 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-BLQWD6MJ.mjs";
7
- import { n as listOrkWorktrees, t as createdWorktrees } from "./list-BrH8KRSJ.mjs";
8
- import { a as planClean, t as applyClean } from "./clean-DaHjs__2.mjs";
2
+ import { $t as maskReplacer, 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 serveRun, bn as hasInRepoFiles, cn as wakeRun, 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, 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 socketPath, or as AGENT_TOOL_LAYOUTS, ot as detachRun, pn as toolLinks, q as requestStop, qt as sendPost, rr as INTEGRATIONS, rt as createReplay, sn as socketRoom, 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-BRB5EQyC.mjs";
3
+ 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__-1i1IwLg7.mjs";
4
+ import { i as builtinWorkflowFile, n as pendingDecisions, r as builtinProblem, t as answerDecision } from "./decide-CBhYcjwI.mjs";
5
+ import { n as newRunId, t as findRun } from "./find-BgZjVKhv.mjs";
6
+ 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-CuivUcDa.mjs";
7
+ import { n as listOrkWorktrees, t as createdWorktrees } from "./list-CzzpVEpM.mjs";
8
+ import { a as planClean, t as applyClean } from "./clean-B1zPxq6A.mjs";
9
9
  import { c as subcommandsOf, i as argsOf, n as groupedEntries, o as publicArgs, s as resolved, t as groupOf } from "./help-groups-BwYoAWsh.mjs";
10
- import { a as formatRunEvent, i as formatEvent, n as formatRuns, o as createTerminalHuman, r as formatTree, t as ago } from "./format-Dnfv8zMT.mjs";
11
- import { c as registeredProjects, i as refusedBuiltin, n as WORKFLOW_SUFFIX, o as workflowArg, s as projectAt, t as WORKFLOW_DIR } from "./workflows-D1_WVukk.mjs";
12
- import { a as validate, c as warningLines, i as loadWorkflow, o as validateFile, r as formatReport, s as walkLoaded, t as context } from "./context-DT8MfEIR.mjs";
13
- import { i as runLimits, r as limitsRefusal, t as chatNotice } from "./limits-B1-DYc3d.mjs";
14
- import { _ as resultOf, 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 } from "./src-DOcK8Jfp.mjs";
15
- import { i as decideRefusal, n as chatRefusal } from "./in-a-run-pLAZeNys.mjs";
10
+ import { a as formatRunEvent, i as formatEvent, n as formatRuns, o as createTerminalHuman, r as formatTree, t as ago } from "./format-Creyq4U3.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-Bc9yaAiZ.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-B28q8zMY.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-CD5TCD1D.mjs";
14
+ import { i as runLimits, r as limitsRefusal, t as chatNotice } from "./limits-D_HxH0CK.mjs";
15
+ import { i as decideRefusal, n as chatRefusal } from "./in-a-run-CsSBQQ2q.mjs";
16
16
  import path from "node:path";
17
17
  import { stringify } from "yaml";
18
18
  import { z } from "zod";
@@ -802,8 +802,8 @@ const versionCheck = (current, cache, checksOff) => {
802
802
  * @file The checks behind `ork doctor`: Ork's own version against the last
803
803
  * update check, each tool's presence and login status (the drivers' own
804
804
  * checks, which `ork run` also reads to pick the one ready), and whether a
805
- * run's socket path fits, through an injectable `exec` so tests need no real
806
- * tools. Never prints a token or an account.
805
+ * run's socket path fits, and which experiments are on, through an injectable
806
+ * `exec` so tests need no real tools. Never prints a token or an account.
807
807
  */
808
808
  const TIMEOUT_MS = 15e3;
809
809
  const exec = (program, args) => new Promise((resolve) => {
@@ -933,6 +933,35 @@ const triggerChecks = (home) => {
933
933
  store.close();
934
934
  }
935
935
  };
936
+ const SOURCE_NAMES = {
937
+ project: "project file",
938
+ environment: "environment"
939
+ };
940
+ /**
941
+ * Which experiments are on and who turned them on; an unknown name fails this
942
+ * check alone. Prints names only. Outside a project, only the environment
943
+ * counts.
944
+ */
945
+ const experimentsCheck = (place, env = process.env, registry = EXPERIMENTS) => {
946
+ const { project, where } = loadProject(place.root, placeFiles(place).rules);
947
+ const state = experimentsOn({
948
+ env,
949
+ project,
950
+ where,
951
+ registry
952
+ });
953
+ if (!state.ok) return {
954
+ name: "experiments",
955
+ status: "fail",
956
+ detail: `unknown: ${state.unknown.map((u) => `\`${u.name}\` (${u.where})`).join(", ")}`,
957
+ hint: `Fix or remove the name. Known experiments: ${knownExperiments(registry)}.`
958
+ };
959
+ return {
960
+ name: "experiments",
961
+ status: "ok",
962
+ detail: state.on.length === 0 ? "none on" : state.on.map(({ name, sources }) => `${name} (${sources.map((s) => SOURCE_NAMES[s]).join(" and ")})`).join(", ")
963
+ };
964
+ };
936
965
  // src/run/ready-driver.ts
937
966
  /**
938
967
  * @file The driver a run takes for the session nodes that name none (core's
@@ -1035,6 +1064,8 @@ const resumeChat = async (options) => {
1035
1064
  ...template === void 0 ? {} : { template }
1036
1065
  });
1037
1066
  if (!plan.ok) return plan.error;
1067
+ const servers = namedMcpEntries(run.project, plan.mcp);
1068
+ if (!servers.ok) return servers.error;
1038
1069
  let driver = options.driver ?? session.driver ?? plan.driver;
1039
1070
  if (driver === void 0) {
1040
1071
  const ready = readyDriver(await (options.driverChecks ?? checksHere)());
@@ -1050,6 +1081,7 @@ const resumeChat = async (options) => {
1050
1081
  });
1051
1082
  const started = (await options.runtime(driver)).start({
1052
1083
  ...plan.spec,
1084
+ ...servers.value,
1053
1085
  resume: session.sessionId,
1054
1086
  prompt: options.body,
1055
1087
  ...machineClaudeOf(events)
@@ -1166,6 +1198,8 @@ const runNode = async (options) => {
1166
1198
  pluginDir: path.join(runDir, "plugins", options.nodeId)
1167
1199
  });
1168
1200
  if (!plan.ok) return failed([plan.error]);
1201
+ const servers = namedMcpEntries(projectRoot, plan.mcp);
1202
+ if (!servers.ok) return failed([servers.error]);
1169
1203
  const named = sessionDriver({
1170
1204
  override: options.driver,
1171
1205
  named: plan.driver
@@ -1239,7 +1273,10 @@ const runNode = async (options) => {
1239
1273
  });
1240
1274
  const runtime = await options.runtime(driver);
1241
1275
  if (options.machineClaude === true) plan.spec.machineClaude = true;
1242
- const session = runtime.start(plan.spec, {
1276
+ const session = runtime.start({
1277
+ ...plan.spec,
1278
+ ...servers.value
1279
+ }, {
1243
1280
  human: control.human,
1244
1281
  ...graph === null ? {} : { feedback: createFeedback({
1245
1282
  graph,
@@ -1685,7 +1722,7 @@ const flagValues = (rawArgs, flag) => {
1685
1722
  };
1686
1723
  const isDriver = (value) => CLAUDE_DRIVERS.some((d) => d.id === value);
1687
1724
  /** Loads the drivers only when a run starts, so other commands stay fast. */
1688
- const loadRuntime = async (driver) => (await import("./src-CCUKRX51.mjs")).createRuntime(driver, sessionEnv(process.env));
1725
+ const loadRuntime = async (driver) => (await import("./src-CrYCkU9J.mjs")).createRuntime(driver, sessionEnv(process.env));
1689
1726
  /**
1690
1727
  * Ctrl-C asks the run to stop, and so does a terminal closing or a polite kill,
1691
1728
  * so that the run ends tidily and leaves no result unscrubbed.
@@ -2529,17 +2566,20 @@ const doctor = defineCommand({
2529
2566
  run: async () => {
2530
2567
  const { results, ok } = await runChecks(exec, process.env, process.versions.node);
2531
2568
  const place = projectAt(process.cwd());
2569
+ const experiments = experimentsCheck(place);
2532
2570
  for (const result of [
2533
2571
  orkCheck(),
2534
2572
  ...results,
2535
2573
  ...place.mode === "attached" ? [] : projectChecks(place.root),
2536
2574
  socketCheck(),
2537
- ...triggerChecks()
2575
+ ...triggerChecks(),
2576
+ experiments
2538
2577
  ]) for (const line of formatCheck(result)) write(line);
2539
2578
  if (!ok) {
2540
2579
  write(`\n${style("red", "Not ready:")} Ork needs Node, git, and at least one Claude driver.`);
2541
2580
  process.exitCode = 1;
2542
2581
  }
2582
+ if (experiments.status === "fail") process.exitCode = 1;
2543
2583
  }
2544
2584
  });
2545
2585
  /** The ids of runs still running anywhere on this machine. */
@@ -4575,27 +4615,27 @@ const main = defineCommand({
4575
4615
  ps,
4576
4616
  logs,
4577
4617
  tree,
4578
- usage: () => import("./usage-DYUmP0i4.mjs").then((module) => module.usage),
4579
- prune: () => import("./usage-DYUmP0i4.mjs").then((module) => module.prune),
4618
+ usage: () => import("./usage-C96RDH-G.mjs").then((module) => module.usage),
4619
+ prune: () => import("./usage-C96RDH-G.mjs").then((module) => module.prune),
4580
4620
  decide,
4581
- relay: () => import("./relay-0SD0erwf.mjs").then((module) => module.relay),
4582
- pause: () => import("./pause-CL6N_Xrj.mjs").then((module) => module.pause),
4583
- continue: () => import("./pause-CL6N_Xrj.mjs").then((module) => module.continueRun),
4621
+ relay: () => import("./relay-CsdoZUXJ.mjs").then((module) => module.relay),
4622
+ pause: () => import("./pause-W6MzQqg8.mjs").then((module) => module.pause),
4623
+ continue: () => import("./pause-W6MzQqg8.mjs").then((module) => module.continueRun),
4584
4624
  stop,
4585
4625
  chat,
4586
- send: () => import("./send-C8tunWhv.mjs").then((module) => module.send),
4626
+ send: () => import("./send-Bw2FI_Sv.mjs").then((module) => module.send),
4587
4627
  resume,
4588
4628
  feedback,
4589
4629
  context,
4590
- worktrees: () => import("./worktrees-DdMYoNOC.mjs").then((module) => module.worktrees),
4591
- wt: () => import("./worktrees-DdMYoNOC.mjs").then((module) => module.worktrees),
4592
- watch: () => import("./watch-CtbgDAcz.mjs").then((module) => module.watch),
4593
- mcp: () => import("./mcp-DE_EmyVm.mjs").then((module) => module.mcp),
4594
- ui: () => import("./ui-CTmO2Xzu.mjs").then((module) => module.ui),
4630
+ worktrees: () => import("./worktrees-CKDRkl6b.mjs").then((module) => module.worktrees),
4631
+ wt: () => import("./worktrees-CKDRkl6b.mjs").then((module) => module.worktrees),
4632
+ watch: () => import("./watch-vdRobJil.mjs").then((module) => module.watch),
4633
+ mcp: () => import("./mcp-DYmQt372.mjs").then((module) => module.mcp),
4634
+ ui: () => import("./ui-wX050aH1.mjs").then((module) => module.ui),
4595
4635
  doctor,
4596
4636
  upgrade,
4597
- completion: () => import("./completion-CSU5vkEt.mjs").then((module) => module.completion),
4598
- __complete: () => import("./completion-CSU5vkEt.mjs").then((module) => module.completeCommand(main))
4637
+ completion: () => import("./completion-BY-frez8.mjs").then((module) => module.completion),
4638
+ __complete: () => import("./completion-BY-frez8.mjs").then((module) => module.completeCommand(main))
4599
4639
  }
4600
4640
  });
4601
4641
  // src/bin.ts
@@ -4613,7 +4653,7 @@ const main = defineCommand({
4613
4653
  clearGitLocalEnv();
4614
4654
  const argv = process.argv.slice(2);
4615
4655
  if (argv[0] === "__complete") {
4616
- const { printCompletions } = await import("./completion-CSU5vkEt.mjs");
4656
+ const { printCompletions } = await import("./completion-BY-frez8.mjs");
4617
4657
  await printCompletions(main, argv.slice(1));
4618
4658
  } else if (process.env["ORK_UPDATE_CHECK_CHILD"] === "1") await runUpdateChild();
4619
4659
  else {
@@ -1,4 +1,4 @@
1
- import { A as gitOk, O as removeWorktree } from "./src-Dujmvv4s.mjs";
1
+ import { A as gitOk, O as removeWorktree } from "./src-BRB5EQyC.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 { Qn as NodeIdSchema, ar as CLAUDE_DRIVERS, bn as placeFiles, ht as liveStatus, xn as placeFor } from "./src-Dujmvv4s.mjs";
2
- import { a as builtinWorkflowNames, n as pendingDecisions, o as builtinWorkflowText, s as isBuiltinArg } from "./decide-CGyx9rv7.mjs";
3
- import { t as findRun } from "./find-D6Gj1sxg.mjs";
4
- import { c as openStore, l as storePath, o as writeErr } from "./output-BLQWD6MJ.mjs";
1
+ import { Cn as placeFiles, cr as CLAUDE_DRIVERS, ht as liveStatus, tr as NodeIdSchema, wn as placeFor } from "./src-BRB5EQyC.mjs";
2
+ import { a as builtinWorkflowNames, n as pendingDecisions, o as builtinWorkflowText, s as isBuiltinArg } from "./decide-CBhYcjwI.mjs";
3
+ import { t as findRun } from "./find-BgZjVKhv.mjs";
4
+ import { c as openStore, l as storePath, o as writeErr } from "./output-CuivUcDa.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-D1_WVukk.mjs";
6
+ import { a as resolveWorkflowArg, n as WORKFLOW_SUFFIX } from "./workflows-B28q8zMY.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, Ct as walkChecks, On as LESSON_CAP_TOKENS, S as readProjectTriggers, St as checkWorkflowText, Tn as workflowDirOf, bn as placeFiles, lt as explainSession, wt as walkSummary, xn as placeFor } from "./src-Dujmvv4s.mjs";
2
- import { a as write, i as style, r as plain } from "./output-BLQWD6MJ.mjs";
3
- import { c as registeredProjects, i as refusedBuiltin, o as workflowArg, r as findWorkflowFiles, s as projectAt } from "./workflows-D1_WVukk.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-BRB5EQyC.mjs";
2
+ import { a as write, i as style, r as plain } from "./output-CuivUcDa.mjs";
3
+ import { c as registeredProjects, i as refusedBuiltin, o as workflowArg, r as findWorkflowFiles, s as projectAt } from "./workflows-B28q8zMY.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 { An as guardedBase, Mn as writePlainFile, an as wakeRun, bn as placeFiles, ht as liveStatus, jn as plainPathInside, rn as socketPath } from "./src-Dujmvv4s.mjs";
1
+ import { Cn as placeFiles, Fn as writePlainFile, Nn as guardedBase, Pn as plainPathInside, cn as wakeRun, ht as liveStatus, on as socketPath } from "./src-BRB5EQyC.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 { xn as placeFor } from "./src-Dujmvv4s.mjs";
1
+ import { wn as placeFor } from "./src-BRB5EQyC.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  // ../core/src/remote/find.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { ht as liveStatus } from "./src-Dujmvv4s.mjs";
2
- import { i as style, n as cost } from "./output-BLQWD6MJ.mjs";
1
+ import { ht as liveStatus } from "./src-BRB5EQyC.mjs";
2
+ import { i as style, n as cost } from "./output-CuivUcDa.mjs";
3
3
  import { createInterface } from "node:readline/promises";
4
4
  // src/human.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { p as runMarkerIn } from "./src-DOcK8Jfp.mjs";
1
+ import { p as runMarkerIn } from "./src-Bc9yaAiZ.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-Dujmvv4s.mjs";
1
+ import { a as limitsNow, i as NOT_STARTED, o as limitsReport, r as capsHere } from "./src-BRB5EQyC.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-Dujmvv4s.mjs";
1
+ import { A as gitOk, j as lines, k as git } from "./src-BRB5EQyC.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-Dujmvv4s.mjs";
2
- import { n as ORK_VERSION } from "./__build_info__-fy6L1Mrd.mjs";
3
- import { a as openMcp, c as refused, o as tool, s as answer } from "./src-BbyEoMn4.mjs";
4
- import { n as explainNode } from "./context-DT8MfEIR.mjs";
5
- import { p as runMarkerIn } from "./src-DOcK8Jfp.mjs";
1
+ import { h as isNewer } from "./src-BRB5EQyC.mjs";
2
+ import { n as ORK_VERSION } from "./__build_info__-1i1IwLg7.mjs";
3
+ import { a as openMcp, c as refused, o as tool, s as answer } from "./src-CsjumY1t.mjs";
4
+ import { p as runMarkerIn } from "./src-Bc9yaAiZ.mjs";
5
+ import { n as explainNode } from "./context-CD5TCD1D.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.2") ? tooOld(all, options.expects) : all;
46
+ const tools = options.expects !== void 0 && isNewer(options.expects, "1.0.0-alpha.4") ? 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, Bt as FEEDBACK_TARGETS, Q as inTransaction, Rt as FEEDBACK_KINDS, X as usageQueries, Xt as maskReplacer, Y as backfillUsage, Z as eventOf, Zt as maskSecrets, gn as PROJECT_MODES, yt as ownProcessStart, zt as FEEDBACK_SEVERITIES } from "./src-Dujmvv4s.mjs";
1
+ import { $ as text, $t as maskReplacer, Ht as FEEDBACK_SEVERITIES, Q as inTransaction, Ut as FEEDBACK_TARGETS, Vt as FEEDBACK_KINDS, X as usageQueries, Y as backfillUsage, Z as eventOf, en as maskSecrets, yn as PROJECT_MODES, yt as ownProcessStart } from "./src-BRB5EQyC.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-Dujmvv4s.mjs";
2
- import { t as findRun } from "./find-D6Gj1sxg.mjs";
3
- import { a as write, c as openStore, i as style, o as writeErr } from "./output-BLQWD6MJ.mjs";
4
- import { r as continueRefusal } from "./in-a-run-pLAZeNys.mjs";
1
+ import { G as requestContinue, K as requestPause } from "./src-BRB5EQyC.mjs";
2
+ import { t as findRun } from "./find-BgZjVKhv.mjs";
3
+ import { a as write, c as openStore, i as style, o as writeErr } from "./output-CuivUcDa.mjs";
4
+ import { r as continueRefusal } from "./in-a-run-CsSBQQ2q.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-Dujmvv4s.mjs";
2
- import { a as write, c as openStore, i as style, o as writeErr } from "./output-BLQWD6MJ.mjs";
1
+ import { B as linkNodes, L as addressOf, U as unlinkNodes } from "./src-BRB5EQyC.mjs";
2
+ import { a as write, c as openStore, i as style, o as writeErr } from "./output-CuivUcDa.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-Dujmvv4s.mjs";
2
- import { n as listOrkWorktrees, t as createdWorktrees } from "./list-BrH8KRSJ.mjs";
3
- import { i as keyOf, n as applyStep, r as cleanStep, s as stepPrunes } from "./clean-DaHjs__2.mjs";
1
+ import { ht as liveStatus, j as lines, k as git } from "./src-BRB5EQyC.mjs";
2
+ import { n as listOrkWorktrees, t as createdWorktrees } from "./list-CzzpVEpM.mjs";
3
+ import { i as keyOf, n as applyStep, r as cleanStep, s as stepPrunes } from "./clean-B1zPxq6A.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 { an as wakeRun, ht as liveStatus, kt as scriptContactsOf, rn as socketPath } from "./src-Dujmvv4s.mjs";
2
- import { c as openStore, o as writeErr } from "./output-BLQWD6MJ.mjs";
3
- import { u as inheritedScrubber } from "./src-DOcK8Jfp.mjs";
1
+ import { cn as wakeRun, ht as liveStatus, kt as scriptContactsOf, on as socketPath } from "./src-BRB5EQyC.mjs";
2
+ import { c as openStore, o as writeErr } from "./output-CuivUcDa.mjs";
3
+ import { u as inheritedScrubber } from "./src-Bc9yaAiZ.mjs";
4
4
  import { defineCommand } from "citty";
5
5
  // ../core/src/remote/send.ts
6
6
  /**