@autopilot-harness/cli 0.1.0 → 0.2.1

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 (46) hide show
  1. package/README.md +1 -1
  2. package/assets/autopilot-harness-hook.mjs +292 -39
  3. package/assets/vendor/runtime.mjs +397 -15
  4. package/dist/assets/autopilot-harness-hook.mjs +292 -39
  5. package/dist/assets/vendor/runtime.mjs +397 -15
  6. package/dist/bin.js +6 -3
  7. package/dist/bin.js.map +1 -1
  8. package/dist/index.d.ts +3 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/init/claude-settings-merge.d.ts +56 -0
  13. package/dist/init/claude-settings-merge.d.ts.map +1 -0
  14. package/dist/init/claude-settings-merge.js +347 -0
  15. package/dist/init/claude-settings-merge.js.map +1 -0
  16. package/dist/init/hooks-merge.d.ts +12 -0
  17. package/dist/init/hooks-merge.d.ts.map +1 -1
  18. package/dist/init/hooks-merge.js +55 -1
  19. package/dist/init/hooks-merge.js.map +1 -1
  20. package/dist/init/install.d.ts +4 -1
  21. package/dist/init/install.d.ts.map +1 -1
  22. package/dist/init/install.js +258 -83
  23. package/dist/init/install.js.map +1 -1
  24. package/dist/init/platforms.d.ts +5 -0
  25. package/dist/init/platforms.d.ts.map +1 -1
  26. package/dist/init/platforms.js +17 -0
  27. package/dist/init/platforms.js.map +1 -1
  28. package/dist/init/types.d.ts +1 -1
  29. package/dist/init/types.js +1 -1
  30. package/dist/init/wizard-helpers.d.ts.map +1 -1
  31. package/dist/init/wizard-helpers.js +21 -10
  32. package/dist/init/wizard-helpers.js.map +1 -1
  33. package/dist/status-doctor.d.ts.map +1 -1
  34. package/dist/status-doctor.js +132 -56
  35. package/dist/status-doctor.js.map +1 -1
  36. package/dist/uninstall.d.ts.map +1 -1
  37. package/dist/uninstall.js +163 -5
  38. package/dist/uninstall.js.map +1 -1
  39. package/dist/upgrade.d.ts.map +1 -1
  40. package/dist/upgrade.js +100 -2
  41. package/dist/upgrade.js.map +1 -1
  42. package/dist/vendor-entry.d.ts +4 -1
  43. package/dist/vendor-entry.d.ts.map +1 -1
  44. package/dist/vendor-entry.js +6 -2
  45. package/dist/vendor-entry.js.map +1 -1
  46. package/package.json +5 -4
@@ -1748,7 +1748,27 @@ function getLens(roundIndex, confirmRounds) {
1748
1748
  }
1749
1749
 
1750
1750
  // ../core/src/review-scope.ts
1751
- function ensureAmbientReviewSession(store, conversationId, projectRoot, reviewScope) {
1751
+ var MAX_SESSION_PLATFORM_CHARS = 64;
1752
+ function normalizeSessionPlatform(raw) {
1753
+ if (typeof raw !== "string") return "cursor";
1754
+ if (raw.includes("\0")) return "cursor";
1755
+ const trimmed = raw.trim();
1756
+ if (!trimmed) return "cursor";
1757
+ if (trimmed.length > MAX_SESSION_PLATFORM_CHARS) return "cursor";
1758
+ if (!/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/i.test(trimmed)) return "cursor";
1759
+ return trimmed.toLowerCase();
1760
+ }
1761
+ function resolveSessionPlatform(optsPlatform, fallback = "cursor") {
1762
+ const fb = normalizeSessionPlatform(fallback);
1763
+ if (optsPlatform === void 0 || optsPlatform === null) return fb;
1764
+ if (typeof optsPlatform !== "string") return fb;
1765
+ const raw = optsPlatform.trim();
1766
+ if (!raw) return fb;
1767
+ const n = normalizeSessionPlatform(optsPlatform);
1768
+ if (n === "cursor" && raw.toLowerCase() !== "cursor") return fb;
1769
+ return n;
1770
+ }
1771
+ function ensureAmbientReviewSession(store, conversationId, projectRoot, reviewScope, platform) {
1752
1772
  if (reviewScope !== "project") return false;
1753
1773
  if (!store.isConversationIdOk(conversationId)) return false;
1754
1774
  const root = normalizeProjectRoot(store.projectRoot) ?? normalizeProjectRoot(projectRoot);
@@ -1763,6 +1783,7 @@ function ensureAmbientReviewSession(store, conversationId, projectRoot, reviewSc
1763
1783
  if (!fresh || fresh.paused !== 0 || !(fresh.phase === "done" || fresh.phase === "idle" && fresh.armed === 0)) {
1764
1784
  return { commit: false, value: void 0 };
1765
1785
  }
1786
+ const host2 = resolveSessionPlatform(platform, fresh.platform);
1766
1787
  store.upsertSession({
1767
1788
  conversation_id: conversationId,
1768
1789
  project_root: root,
@@ -1770,14 +1791,26 @@ function ensureAmbientReviewSession(store, conversationId, projectRoot, reviewSc
1770
1791
  phase: "idle",
1771
1792
  armed: 1,
1772
1793
  paused: 0,
1773
- paused_reason: null
1794
+ paused_reason: null,
1795
+ platform: host2
1774
1796
  });
1775
1797
  store.neutralizeReviewChain(conversationId);
1776
1798
  return { commit: true, value: void 0 };
1777
1799
  });
1800
+ } else {
1801
+ const host2 = resolveSessionPlatform(platform, existing.platform);
1802
+ if (host2 !== existing.platform) {
1803
+ store.upsertSession({
1804
+ conversation_id: conversationId,
1805
+ project_root: existing.project_root,
1806
+ code_root: existing.code_root,
1807
+ platform: host2
1808
+ });
1809
+ }
1778
1810
  }
1779
1811
  return true;
1780
1812
  }
1813
+ const host = normalizeSessionPlatform(platform);
1781
1814
  store.exclusiveWrite(() => {
1782
1815
  if (store.getSession(conversationId)) {
1783
1816
  return { commit: false, value: void 0 };
@@ -1786,7 +1819,7 @@ function ensureAmbientReviewSession(store, conversationId, projectRoot, reviewSc
1786
1819
  conversation_id: conversationId,
1787
1820
  project_root: root,
1788
1821
  code_root: root,
1789
- platform: "cursor",
1822
+ platform: host,
1790
1823
  phase: "idle",
1791
1824
  armed: 1,
1792
1825
  paused: 0,
@@ -2365,7 +2398,8 @@ var ReviewEngine = class {
2365
2398
  this.store,
2366
2399
  input.conversationId,
2367
2400
  this.config.projectRoot,
2368
- this.config.reviewScope
2401
+ this.config.reviewScope,
2402
+ input.platform
2369
2403
  );
2370
2404
  session = this.store.getSession(input.conversationId);
2371
2405
  }
@@ -3943,6 +3977,10 @@ function applyOn(store, conversationId, projectRoot, opts) {
3943
3977
  };
3944
3978
  }
3945
3979
  const trackId = opts?.slug ?? session?.track_id ?? "_pending";
3980
+ const platform = resolveSessionPlatform(
3981
+ opts?.platform,
3982
+ session?.platform ?? "cursor"
3983
+ );
3946
3984
  if (session?.phase === "done") {
3947
3985
  const s2 = store.upsertSession({
3948
3986
  conversation_id: conversationId,
@@ -3953,7 +3991,7 @@ function applyOn(store, conversationId, projectRoot, opts) {
3953
3991
  paused: 0,
3954
3992
  paused_reason: null,
3955
3993
  track_id: opts?.slug ?? session.track_id,
3956
- platform: session.platform
3994
+ platform
3957
3995
  });
3958
3996
  return { ok: true, session: s2 };
3959
3997
  }
@@ -3961,7 +3999,7 @@ function applyOn(store, conversationId, projectRoot, opts) {
3961
3999
  conversation_id: conversationId,
3962
4000
  project_root: projectRoot,
3963
4001
  code_root: projectRoot,
3964
- platform: session?.platform ?? "cursor",
4002
+ platform,
3965
4003
  phase: "planning",
3966
4004
  armed: 0,
3967
4005
  paused: 0,
@@ -4645,14 +4683,25 @@ function isChecklistPathAllowed(projectRoot, checklistPath) {
4645
4683
  return isLexicallyInsideProject(root, checklistPath);
4646
4684
  }
4647
4685
  }
4648
- function ensureSession(store, conversationId, projectRoot) {
4686
+ function ensureSession(store, conversationId, projectRoot, platform) {
4649
4687
  const existing = store.getSession(conversationId);
4650
- if (existing) return existing;
4688
+ if (existing) {
4689
+ const want = resolveSessionPlatform(platform, existing.platform);
4690
+ if (want !== existing.platform) {
4691
+ return store.upsertSession({
4692
+ conversation_id: conversationId,
4693
+ project_root: existing.project_root,
4694
+ code_root: existing.code_root,
4695
+ platform: want
4696
+ });
4697
+ }
4698
+ return existing;
4699
+ }
4651
4700
  return store.upsertSession({
4652
4701
  conversation_id: conversationId,
4653
4702
  project_root: projectRoot,
4654
4703
  code_root: projectRoot,
4655
- platform: "cursor",
4704
+ platform: normalizeSessionPlatform(platform),
4656
4705
  phase: "idle",
4657
4706
  armed: 0,
4658
4707
  paused: 0,
@@ -4755,7 +4804,12 @@ function applyRun(store, conversationId, projectRoot, opts) {
4755
4804
  return { ok: false, userMessage: "Invalid plans directory." };
4756
4805
  }
4757
4806
  const concurrencyMode = opts?.config?.concurrencyMode ?? "one_executor";
4758
- const session = ensureSession(store, conversationId, projectRoot);
4807
+ const session = ensureSession(
4808
+ store,
4809
+ conversationId,
4810
+ projectRoot,
4811
+ opts?.platform
4812
+ );
4759
4813
  const resolved = resolveRunSlug(
4760
4814
  store,
4761
4815
  session,
@@ -4886,7 +4940,12 @@ function applyReplan(store, conversationId, projectRoot, opts) {
4886
4940
  if (!plansDir) {
4887
4941
  return { ok: false, userMessage: "Invalid plans directory." };
4888
4942
  }
4889
- const session = ensureSession(store, conversationId, projectRoot);
4943
+ const session = ensureSession(
4944
+ store,
4945
+ conversationId,
4946
+ projectRoot,
4947
+ opts?.platform
4948
+ );
4890
4949
  let slug = opts?.slug ?? session.track_id;
4891
4950
  if (slug && slug !== "_pending" && !isSafeTrackSlug(slug)) {
4892
4951
  return {
@@ -5030,12 +5089,14 @@ function applyTrackPick(store, conversationId, projectRoot, pick, opts) {
5030
5089
  if (pending === "replan") {
5031
5090
  return applyReplan(store, conversationId, projectRoot, {
5032
5091
  slug,
5033
- config: opts?.config
5092
+ config: opts?.config,
5093
+ platform: opts?.platform
5034
5094
  });
5035
5095
  }
5036
5096
  return applyRun(store, conversationId, projectRoot, {
5037
5097
  slug,
5038
- config: opts?.config
5098
+ config: opts?.config,
5099
+ platform: opts?.platform
5039
5100
  });
5040
5101
  }
5041
5102
 
@@ -5237,13 +5298,35 @@ function isAutopilotIgnoredPath(relativePath, patterns) {
5237
5298
  }
5238
5299
  return ignored;
5239
5300
  }
5301
+ function realpathForCompare(absPath) {
5302
+ try {
5303
+ return fs10.realpathSync(absPath);
5304
+ } catch {
5305
+ }
5306
+ let dir = path8.dirname(absPath);
5307
+ const base = path8.basename(absPath);
5308
+ const missing = [];
5309
+ for (; ; ) {
5310
+ try {
5311
+ const realDir = fs10.realpathSync(dir);
5312
+ return path8.join(realDir, ...missing, base);
5313
+ } catch {
5314
+ const parent = path8.dirname(dir);
5315
+ if (parent === dir) return absPath;
5316
+ missing.unshift(path8.basename(dir));
5317
+ dir = parent;
5318
+ }
5319
+ }
5320
+ }
5240
5321
  function toProjectRelativePath(filePath, projectRoot) {
5241
5322
  const posix = filePath.replace(/\\/g, "/");
5242
5323
  if (!projectRoot?.trim()) {
5243
5324
  return normalizeRelativePath(posix);
5244
5325
  }
5245
- const root = path8.resolve(projectRoot);
5246
- const abs = path8.isAbsolute(posix) ? path8.resolve(posix) : path8.resolve(root, posix);
5326
+ const root = realpathForCompare(path8.resolve(projectRoot));
5327
+ const abs = realpathForCompare(
5328
+ path8.isAbsolute(posix) ? path8.resolve(posix) : path8.resolve(root, posix)
5329
+ );
5247
5330
  const rel = path8.relative(root, abs);
5248
5331
  if (rel.startsWith("..") || path8.isAbsolute(rel)) {
5249
5332
  return "";
@@ -5506,6 +5589,300 @@ function handleStop(engine, payload) {
5506
5589
  return { followup_message: action.message, loop: true };
5507
5590
  }
5508
5591
 
5592
+ // ../ports/claude-code/src/index.ts
5593
+ var CLAUDE_PLATFORM = "claude-code";
5594
+ function sid(p) {
5595
+ return (p.session_id ?? p.sessionId ?? p.conversation_id ?? p.conversationId ?? "").trim();
5596
+ }
5597
+ function loopCountFromStopHookActive(payload) {
5598
+ const active = payload.stop_hook_active ?? payload.stopHookActive;
5599
+ return active === true ? 1 : 0;
5600
+ }
5601
+ function collectClaudeStopErrorText(payload) {
5602
+ if (!payload || typeof payload !== "object") return "";
5603
+ const MAX_CHARS = 8192;
5604
+ const parts = [];
5605
+ try {
5606
+ const push = (value) => {
5607
+ if (typeof value === "string" && value.trim()) {
5608
+ parts.push(value);
5609
+ return;
5610
+ }
5611
+ if (Array.isArray(value)) {
5612
+ for (const item of value.slice(0, 8)) {
5613
+ if (typeof item === "string" && item.trim()) parts.push(item);
5614
+ }
5615
+ return;
5616
+ }
5617
+ if (value && typeof value === "object") {
5618
+ const o = value;
5619
+ for (const key of [
5620
+ "message",
5621
+ "error",
5622
+ "name",
5623
+ "stack",
5624
+ "detail",
5625
+ "title"
5626
+ ]) {
5627
+ const nested = o[key];
5628
+ if (typeof nested === "string" && nested.trim()) parts.push(nested);
5629
+ }
5630
+ }
5631
+ };
5632
+ push(payload.error);
5633
+ push(payload.message);
5634
+ push(payload.status_message);
5635
+ push(payload.reason);
5636
+ push(payload.detail);
5637
+ push(payload.title);
5638
+ } catch {
5639
+ return "";
5640
+ }
5641
+ const joined = parts.join("\n");
5642
+ return joined.length > MAX_CHARS ? joined.slice(0, MAX_CHARS) : joined;
5643
+ }
5644
+ function normalizeClaudeStopStatus(payload, opts) {
5645
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
5646
+ return opts?.status ?? "completed";
5647
+ }
5648
+ const statusRaw = String(payload.status ?? "").toLowerCase().trim();
5649
+ const errText = collectClaudeStopErrorText(payload);
5650
+ if (statusRaw === "aborted" || statusRaw === "cancelled" || statusRaw === "canceled") {
5651
+ return "aborted";
5652
+ }
5653
+ if (opts?.status === "aborted") return "aborted";
5654
+ if (statusRaw === "error" || statusRaw === "failed") {
5655
+ if (isUserAbortText(errText)) return "aborted";
5656
+ return "error";
5657
+ }
5658
+ if (opts?.status === "error") {
5659
+ if (isUserAbortText(errText)) return "aborted";
5660
+ return "error";
5661
+ }
5662
+ if (opts?.status === "completed") return "completed";
5663
+ const hookName = String(
5664
+ payload.hook_event_name ?? payload.hookEventName ?? ""
5665
+ ).trim();
5666
+ if (/^stopfailure$/i.test(hookName)) {
5667
+ if (isUserAbortText(errText)) return "aborted";
5668
+ return "error";
5669
+ }
5670
+ if (!statusRaw && isUserAbortText(errText)) return "aborted";
5671
+ return "completed";
5672
+ }
5673
+ function blockReason(message, fallback) {
5674
+ const m = typeof message === "string" ? message.trim() : "";
5675
+ return m || fallback;
5676
+ }
5677
+ function filePathFromClaudeEdit(payload) {
5678
+ const input = payload.tool_input ?? payload.toolInput ?? {};
5679
+ if (!input || typeof input !== "object" || Array.isArray(input)) return "";
5680
+ const candidates = [
5681
+ input.file_path,
5682
+ input.filePath,
5683
+ input.notebook_path,
5684
+ input.notebookPath,
5685
+ input.path
5686
+ ];
5687
+ for (const c of candidates) {
5688
+ if (typeof c === "string" && c.trim()) return c.trim();
5689
+ }
5690
+ return "";
5691
+ }
5692
+ function isClaudeEditTool(toolName) {
5693
+ const n = toolName.trim();
5694
+ return n === "Edit" || n === "Write" || n === "NotebookEdit";
5695
+ }
5696
+ function stampClaudePlatform(store, conversationId, projectRoot) {
5697
+ const session = store.getSession(conversationId);
5698
+ if (!session || session.platform === CLAUDE_PLATFORM) return;
5699
+ store.upsertSession({
5700
+ conversation_id: conversationId,
5701
+ project_root: session.project_root || projectRoot,
5702
+ code_root: session.code_root || projectRoot,
5703
+ platform: CLAUDE_PLATFORM
5704
+ });
5705
+ }
5706
+ function handleUserPromptSubmit(store, payload, projectRoot, portConfig) {
5707
+ const conversationId = sid(payload);
5708
+ if (!conversationId) return {};
5709
+ const prompt = typeof payload.prompt === "string" ? payload.prompt : "";
5710
+ try {
5711
+ store.clearPendingFollowupIf(
5712
+ conversationId,
5713
+ isRecoverOrStuckFollowupMessage
5714
+ );
5715
+ } catch {
5716
+ }
5717
+ const session = store.getSession(conversationId);
5718
+ const trigger = parseTrigger({
5719
+ prompt,
5720
+ conversationId,
5721
+ projectRoot,
5722
+ pendingAction: session?.pending_action
5723
+ });
5724
+ const actionConfig = portConfig?.phaseActions;
5725
+ const gateFallback = "Autopilot rejected this prompt. Check `npx autopilot-harness status`.";
5726
+ if (trigger) {
5727
+ if (trigger.kind === "off") {
5728
+ applyOff(store, conversationId);
5729
+ stampClaudePlatform(store, conversationId, projectRoot);
5730
+ return {};
5731
+ }
5732
+ if (trigger.kind === "on") {
5733
+ const result = applyOn(store, conversationId, projectRoot, {
5734
+ initialBrief: trigger.initialBrief,
5735
+ slug: trigger.slug,
5736
+ platform: CLAUDE_PLATFORM
5737
+ });
5738
+ if (!result.ok) {
5739
+ stampClaudePlatform(store, conversationId, projectRoot);
5740
+ return {
5741
+ decision: "block",
5742
+ reason: blockReason(result.userMessage, gateFallback)
5743
+ };
5744
+ }
5745
+ return {};
5746
+ }
5747
+ if (trigger.kind === "resume") {
5748
+ const result = applyResume(store, conversationId, {
5749
+ slug: trigger.slug
5750
+ });
5751
+ if (!result.ok) {
5752
+ stampClaudePlatform(store, conversationId, projectRoot);
5753
+ return {
5754
+ decision: "block",
5755
+ reason: blockReason(result.userMessage, gateFallback)
5756
+ };
5757
+ }
5758
+ stampClaudePlatform(store, conversationId, projectRoot);
5759
+ return {};
5760
+ }
5761
+ if (trigger.kind === "resume_review") {
5762
+ applyResumeReview(store, conversationId);
5763
+ stampClaudePlatform(store, conversationId, projectRoot);
5764
+ return {};
5765
+ }
5766
+ if (trigger.kind === "run") {
5767
+ const result = applyRun(store, conversationId, projectRoot, {
5768
+ slug: trigger.slug,
5769
+ config: actionConfig,
5770
+ platform: CLAUDE_PLATFORM
5771
+ });
5772
+ if (!result.ok) {
5773
+ stampClaudePlatform(store, conversationId, projectRoot);
5774
+ return {
5775
+ decision: "block",
5776
+ reason: blockReason(result.userMessage, gateFallback)
5777
+ };
5778
+ }
5779
+ return {};
5780
+ }
5781
+ if (trigger.kind === "replan") {
5782
+ const result = applyReplan(store, conversationId, projectRoot, {
5783
+ slug: trigger.slug,
5784
+ config: actionConfig,
5785
+ platform: CLAUDE_PLATFORM
5786
+ });
5787
+ if (!result.ok) {
5788
+ stampClaudePlatform(store, conversationId, projectRoot);
5789
+ return {
5790
+ decision: "block",
5791
+ reason: blockReason(result.userMessage, gateFallback)
5792
+ };
5793
+ }
5794
+ return {};
5795
+ }
5796
+ if (trigger.kind === "track_pick" && trigger.trackPick) {
5797
+ const result = applyTrackPick(
5798
+ store,
5799
+ conversationId,
5800
+ projectRoot,
5801
+ trigger.trackPick,
5802
+ { config: actionConfig, platform: CLAUDE_PLATFORM }
5803
+ );
5804
+ if (!result.ok) {
5805
+ stampClaudePlatform(store, conversationId, projectRoot);
5806
+ return {
5807
+ decision: "block",
5808
+ reason: blockReason(result.userMessage, gateFallback)
5809
+ };
5810
+ }
5811
+ return {};
5812
+ }
5813
+ return {};
5814
+ }
5815
+ if (!isHarnessFollowupMessage(prompt)) {
5816
+ store.clearChainPending(conversationId);
5817
+ }
5818
+ stampClaudePlatform(store, conversationId, projectRoot);
5819
+ return {};
5820
+ }
5821
+ function handlePostToolUse(store, payload, projectRoot) {
5822
+ const conversationId = sid(payload);
5823
+ const toolName = String(payload.tool_name ?? payload.toolName ?? "").trim();
5824
+ if (!conversationId || !isClaudeEditTool(toolName)) return;
5825
+ const filePath = filePathFromClaudeEdit(payload);
5826
+ if (!filePath) return;
5827
+ if (!isProductCodeEdit(filePath, { projectRoot })) return;
5828
+ const cfg = loadProjectReviewConfig(projectRoot);
5829
+ if (cfg.reviewScope === "project") {
5830
+ ensureAmbientReviewSession(
5831
+ store,
5832
+ conversationId,
5833
+ projectRoot,
5834
+ cfg.reviewScope,
5835
+ CLAUDE_PLATFORM
5836
+ );
5837
+ }
5838
+ stampClaudePlatform(store, conversationId, projectRoot);
5839
+ const session = store.getSession(conversationId);
5840
+ const checklistPath = session?.checklist_path?.trim() ?? "";
5841
+ let checklistSnap = null;
5842
+ if (checklistPath) {
5843
+ try {
5844
+ checklistSnap = parseChecklist(checklistPath, { projectRoot });
5845
+ } catch {
5846
+ }
5847
+ }
5848
+ store.markCodeEdited(conversationId, (chain) => {
5849
+ const fromPending = parseAdvanceNextItemId(chain.pending_followup);
5850
+ if (checklistSnap) {
5851
+ if (fromPending && effectiveReviewingItemId(checklistSnap, fromPending)) {
5852
+ return fromPending;
5853
+ }
5854
+ return firstUnchecked(checklistSnap)?.id ?? null;
5855
+ }
5856
+ return fromPending;
5857
+ });
5858
+ }
5859
+ function handleStop2(engine, payload, opts) {
5860
+ const conversationId = sid(payload);
5861
+ if (!conversationId) return {};
5862
+ const status = normalizeClaudeStopStatus(payload, opts);
5863
+ const transcriptRaw = payload.transcript_path ?? payload.transcriptPath;
5864
+ const transcriptPath = typeof transcriptRaw === "string" && transcriptRaw.trim() ? transcriptRaw.trim() : void 0;
5865
+ const action = engine.handleStop({
5866
+ conversationId,
5867
+ status,
5868
+ loopCount: loopCountFromStopHookActive(payload),
5869
+ transcriptPath,
5870
+ platform: CLAUDE_PLATFORM
5871
+ });
5872
+ if (!action?.message) return {};
5873
+ const reason = blockReason(action.message, "Autopilot followup");
5874
+ if (!action.loop) {
5875
+ return { continue: false, stopReason: reason };
5876
+ }
5877
+ return {
5878
+ decision: "block",
5879
+ reason
5880
+ };
5881
+ }
5882
+ function handleStopFailure(engine, payload) {
5883
+ return handleStop2(engine, payload, { status: "error" });
5884
+ }
5885
+
5509
5886
  // src/vendor-entry.ts
5510
5887
  function createConfiguredReviewEngine2(store, projectRoot) {
5511
5888
  const cfg = loadProjectReviewConfig(projectRoot);
@@ -5519,6 +5896,11 @@ export {
5519
5896
  getLatestSchemaVersion,
5520
5897
  handleAfterFileEdit,
5521
5898
  handleBeforeSubmitPrompt,
5899
+ handleStop2 as handleClaudeStop,
5900
+ handleStop as handleCursorStop,
5901
+ handlePostToolUse,
5522
5902
  handleStop,
5903
+ handleStopFailure,
5904
+ handleUserPromptSubmit,
5523
5905
  loadProjectReviewConfig
5524
5906
  };
package/dist/bin.js CHANGED
@@ -15,18 +15,21 @@ program
15
15
  .option("--harness <platform>", "Alias for --platform")
16
16
  .option("--platforms <list>", "Comma-separated platforms (e.g. cursor). Wins over --platform")
17
17
  .option("--add-platform <platform>", "Merge a platform into an existing install (updates config.yml)")
18
- .option("--surface <surface>", "Surface for a single --platform", "ide")
18
+ .option("--surface <surface>", "Surface for a single --platform (omit for host default: cursor→ide, claude-code→cli)")
19
19
  .option("--locale <locale>", "Locale", "en")
20
20
  .option("-y, --yes", "Non-interactive defaults")
21
21
  .option("--force", "Refresh hook/skills/pin + merge hooks (keeps existing config.yml)")
22
22
  .action(async (opts) => {
23
23
  const addPlatformRaw = typeof opts.addPlatform === "string" ? opts.addPlatform.trim() : "";
24
24
  const mergePlatforms = addPlatformRaw !== "";
25
+ const surfaceOpt = typeof opts.surface === "string" && opts.surface.trim() !== ""
26
+ ? opts.surface.trim()
27
+ : undefined;
25
28
  const platformsFlag = typeof opts.platforms === "string" ? opts.platforms.trim() : "";
26
29
  let platforms = null;
27
30
  if (platformsFlag !== "") {
28
31
  try {
29
- platforms = parsePlatformsCliList(platformsFlag, opts.surface);
32
+ platforms = parsePlatformsCliList(platformsFlag, surfaceOpt);
30
33
  }
31
34
  catch (err) {
32
35
  const msg = err instanceof Error ? err.message : String(err);
@@ -51,7 +54,7 @@ program
51
54
  }
52
55
  if (!platforms || platforms.length === 0) {
53
56
  const single = opts.harness ?? opts.platform;
54
- const b = normalizeBinding(single, opts.surface);
57
+ const b = normalizeBinding(single, surfaceOpt);
55
58
  platforms = b ? [b] : [{ id: "cursor", surface: "ide" }];
56
59
  }
57
60
  const primary = primaryBinding(platforms);
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { CLI_NAME, NPM_PACKAGE_NAME, PREFERRED_NAME } from "./names.js";
2
- export { installInitYes, preflightForceRefresh, mergeHooksJson, stripAutopilotHooks, countAutopilotDuplicates, validateHooksShape, hasCompleteAutopilotHooks, summarizeAutopilotHooks, autopilotStopHasUnlimitedLoop, autopilotHookCommand, } from "./init/install.js";
2
+ export { installInitYes, preflightForceRefresh, mergeHooksJson, stripAutopilotHooks, countAutopilotDuplicates, validateHooksShape, hasCompleteAutopilotHooks, summarizeAutopilotHooks, autopilotStopHasUnlimitedLoop, autopilotHookCommand, mergeClaudeSettings, validateClaudeSettingsShape, hasClaudeBlockCapZero, hasCompleteClaudeAutopilotHooks, summarizeClaudeAutopilotHooks, stripAutopilotClaudeSettings, claudeSettingsContainAutopilot, CLAUDE_AUTOPILOT_EVENTS, CLAUDE_BLOCK_CAP_ENV, } from "./init/install.js";
3
3
  export type { InitYesOptions, InitResult, HooksFile } from "./init/types.js";
4
+ export type { ClaudeSettingsFile, ClaudeMatcherGroup, ClaudeHookHandler, } from "./init/claude-settings-merge.js";
4
5
  export type { PreflightResult } from "./init/install.js";
5
6
  export { PACKAGE_VERSION } from "./init/types.js";
6
7
  export { formatStatus, runDoctor, readPinVersion, readStaleAfterHours, hasGlobalSelfReviewHooks } from "./status-doctor.js";
@@ -14,7 +15,7 @@ export { collectWizardAnswers, runInteractiveInit, } from "./init/tui.js";
14
15
  export type { InitPrompts, InteractiveInitOptions } from "./init/tui.js";
15
16
  export { probeProject, applyPlansGitignore, applyAutopilotRuntimeGitignore, answersToInstallOptions, formatCheatSheet, formatHostDisplayName, formatHostActivationTips, formatPostInstallOutro, formatPostInstallFooter, installableHostOptions, writeQuickstart, normalizePlansDir, resolveCliCommand, tryResolveRunningCliScript, autopilotShellAliasLine, assertNotSymlink, assertRealpathInside, assertPairInsideOrUnlinkAll, isRealRegularFile, isRealDirectory, resolveProjectRootOrThrow, } from "./init/wizard-helpers.js";
16
17
  export type { InitWizardAnswers, PlansGitPolicy, ShellAliasTarget, } from "./init/wizard-helpers.js";
17
- export { INSTALLABLE_BINDINGS, MAX_PLATFORM_BINDINGS, applyPlatformsToConfigYaml, assertInstallablePlatforms, defaultSurfaceFor, formatPlatformsDisplay, mergePlatformBindings, mergedIncludesAllRequested, normalizeBinding, parsePlatformBindingsFromConfig, parsePlatformsCliList, primaryBinding, sanitizePlatformId, } from "./init/platforms.js";
18
+ export { INSTALLABLE_BINDINGS, MAX_PLATFORM_BINDINGS, applyPlatformsToConfigYaml, assertInstallablePlatforms, configWantsInstallableHost, defaultSurfaceFor, formatBindingOptionLabel, formatPlatformsDisplay, mergePlatformBindings, mergedIncludesAllRequested, normalizeBinding, parsePlatformBindingsFromConfig, parsePlatformsCliList, primaryBinding, sanitizePlatformId, } from "./init/platforms.js";
18
19
  export type { PlatformBinding, PlatformSurface } from "./init/platforms.js";
19
20
  export { setProjectLocale } from "./locale-set.js";
20
21
  export type { LocaleSetOptions, LocaleSetResult, } from "./locale-set.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC5H,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,EAC9B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,+BAA+B,EAC/B,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC5H,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,EAC9B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,+BAA+B,EAC/B,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { CLI_NAME, NPM_PACKAGE_NAME, PREFERRED_NAME } from "./names.js";
2
- export { installInitYes, preflightForceRefresh, mergeHooksJson, stripAutopilotHooks, countAutopilotDuplicates, validateHooksShape, hasCompleteAutopilotHooks, summarizeAutopilotHooks, autopilotStopHasUnlimitedLoop, autopilotHookCommand, } from "./init/install.js";
2
+ export { installInitYes, preflightForceRefresh, mergeHooksJson, stripAutopilotHooks, countAutopilotDuplicates, validateHooksShape, hasCompleteAutopilotHooks, summarizeAutopilotHooks, autopilotStopHasUnlimitedLoop, autopilotHookCommand, mergeClaudeSettings, validateClaudeSettingsShape, hasClaudeBlockCapZero, hasCompleteClaudeAutopilotHooks, summarizeClaudeAutopilotHooks, stripAutopilotClaudeSettings, claudeSettingsContainAutopilot, CLAUDE_AUTOPILOT_EVENTS, CLAUDE_BLOCK_CAP_ENV, } from "./init/install.js";
3
3
  export { PACKAGE_VERSION } from "./init/types.js";
4
4
  export { formatStatus, runDoctor, readPinVersion, readStaleAfterHours, hasGlobalSelfReviewHooks } from "./status-doctor.js";
5
5
  export { upgradeProject } from "./upgrade.js";
@@ -7,7 +7,7 @@ export { uninstallProject } from "./uninstall.js";
7
7
  export { mergeConfigYamlMissingKeys, mergeMissingKeys, readConfigInstallHints, readConfigPlatformsOrThrow, } from "./init/config-merge.js";
8
8
  export { collectWizardAnswers, runInteractiveInit, } from "./init/tui.js";
9
9
  export { probeProject, applyPlansGitignore, applyAutopilotRuntimeGitignore, answersToInstallOptions, formatCheatSheet, formatHostDisplayName, formatHostActivationTips, formatPostInstallOutro, formatPostInstallFooter, installableHostOptions, writeQuickstart, normalizePlansDir, resolveCliCommand, tryResolveRunningCliScript, autopilotShellAliasLine, assertNotSymlink, assertRealpathInside, assertPairInsideOrUnlinkAll, isRealRegularFile, isRealDirectory, resolveProjectRootOrThrow, } from "./init/wizard-helpers.js";
10
- export { INSTALLABLE_BINDINGS, MAX_PLATFORM_BINDINGS, applyPlatformsToConfigYaml, assertInstallablePlatforms, defaultSurfaceFor, formatPlatformsDisplay, mergePlatformBindings, mergedIncludesAllRequested, normalizeBinding, parsePlatformBindingsFromConfig, parsePlatformsCliList, primaryBinding, sanitizePlatformId, } from "./init/platforms.js";
10
+ export { INSTALLABLE_BINDINGS, MAX_PLATFORM_BINDINGS, applyPlatformsToConfigYaml, assertInstallablePlatforms, configWantsInstallableHost, defaultSurfaceFor, formatBindingOptionLabel, formatPlatformsDisplay, mergePlatformBindings, mergedIncludesAllRequested, normalizeBinding, parsePlatformBindingsFromConfig, parsePlatformsCliList, primaryBinding, sanitizePlatformId, } from "./init/platforms.js";
11
11
  export { setProjectLocale } from "./locale-set.js";
12
12
  export { formatSessionDisplayName, formatSessionList, purgeProjectSession, renameProjectSession, resetProjectSessionReview, shortSessionId, } from "./session.js";
13
13
  //# sourceMappingURL=index.js.map