@triedotdev/mcp 1.0.148 → 1.0.151

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -78
  3. package/dist/{autonomy-config-ZCOSTMPD.js → autonomy-config-3APNC6QF.js} +3 -3
  4. package/dist/{chat-store-OJLJCJFI.js → chat-store-HMTDL7I2.js} +3 -3
  5. package/dist/{chunk-LD7ZEFNY.js → chunk-3KZBC3RJ.js} +2 -2
  6. package/dist/{chunk-SH7H3WRU.js → chunk-4TQQP7JD.js} +3 -3
  7. package/dist/{chunk-SH7H3WRU.js.map → chunk-4TQQP7JD.js.map} +1 -1
  8. package/dist/{chunk-N2EDZTKG.js → chunk-4UDBGYI3.js} +13 -13
  9. package/dist/{chunk-XTTZAQWJ.js → chunk-74R4XSFB.js} +5 -5
  10. package/dist/{chunk-T6PS3MXJ.js → chunk-7HYOJ4Q7.js} +8 -8
  11. package/dist/{chunk-T6PS3MXJ.js.map → chunk-7HYOJ4Q7.js.map} +1 -1
  12. package/dist/{chunk-3MUCUZ46.js → chunk-ABY2R7OK.js} +3 -3
  13. package/dist/chunk-ED7PLRQA.js +782 -0
  14. package/dist/chunk-ED7PLRQA.js.map +1 -0
  15. package/dist/{chunk-4MJ52WBH.js → chunk-EFWVF6TI.js} +4 -2
  16. package/dist/chunk-EFWVF6TI.js.map +1 -0
  17. package/dist/{chunk-23RJT5WT.js → chunk-F7BMFOZ6.js} +2 -2
  18. package/dist/{chunk-4PAAGLKO.js → chunk-G7Q23IGF.js} +36 -9
  19. package/dist/{chunk-4PAAGLKO.js.map → chunk-G7Q23IGF.js.map} +1 -1
  20. package/dist/{chunk-LT6VUZG2.js → chunk-GLY76TSI.js} +3 -3
  21. package/dist/{chunk-WMDFK7LI.js → chunk-IFBEAOHH.js} +5 -5
  22. package/dist/{chunk-YEIJW6X6.js → chunk-JIS2OCZR.js} +4 -4
  23. package/dist/{chunk-FG467PDD.js → chunk-LNUMECBJ.js} +2 -2
  24. package/dist/{chunk-FPEMP54L.js → chunk-OJXFQRUE.js} +2 -2
  25. package/dist/{chunk-5KJ4UJOY.js → chunk-QQG42HCI.js} +2 -2
  26. package/dist/{chunk-7OJ6JIPL.js → chunk-REHKDCI6.js} +7 -150
  27. package/dist/chunk-REHKDCI6.js.map +1 -0
  28. package/dist/{chunk-J7CEBSEB.js → chunk-SU3WCAC4.js} +102 -163
  29. package/dist/chunk-SU3WCAC4.js.map +1 -0
  30. package/dist/{chunk-4C67GV3O.js → chunk-TCNCNWGV.js} +2 -2
  31. package/dist/{chunk-NKHO34UZ.js → chunk-TU7D5DEW.js} +2 -2
  32. package/dist/{chunk-62POBLFC.js → chunk-TWPX6PHF.js} +453 -986
  33. package/dist/chunk-TWPX6PHF.js.map +1 -0
  34. package/dist/{chunk-FH335WL5.js → chunk-TWQPOVRA.js} +2 -2
  35. package/dist/{chunk-YOJGSRZK.js → chunk-V3O7C2LY.js} +2 -2
  36. package/dist/{chunk-V7AY2EJO.js → chunk-WOTLY5NA.js} +2 -2
  37. package/dist/cli/create-agent.js +8 -40
  38. package/dist/cli/create-agent.js.map +1 -1
  39. package/dist/cli/main.js +121 -164
  40. package/dist/cli/main.js.map +1 -1
  41. package/dist/cli/yolo-daemon.js +31 -155
  42. package/dist/cli/yolo-daemon.js.map +1 -1
  43. package/dist/{client-INNE2GGZ.js → client-5L64D5SQ.js} +3 -3
  44. package/dist/{codebase-index-FMIULFZQ.js → codebase-index-OOE7OAHP.js} +3 -3
  45. package/dist/{fast-analyzer-MWKCDRGD.js → fast-analyzer-FMU3X4AZ.js} +5 -5
  46. package/dist/github-ingester-C66ZRUYC.js +11 -0
  47. package/dist/{goal-manager-ZBWKWEML.js → goal-manager-VTBFFYN4.js} +8 -7
  48. package/dist/{goal-validator-DA3JQ6JN.js → goal-validator-EM5XVWVC.js} +7 -6
  49. package/dist/{graph-J4OGTYCO.js → graph-26JPZ3DF.js} +3 -3
  50. package/dist/{hypothesis-JCUMZKTG.js → hypothesis-4UPE7KXU.js} +8 -7
  51. package/dist/{incident-index-BWW2UEY7.js → incident-index-H6APJ4S3.js} +3 -3
  52. package/dist/index.js +116 -397
  53. package/dist/index.js.map +1 -1
  54. package/dist/{insight-store-A5XXMFD6.js → insight-store-QEEUQR5L.js} +4 -4
  55. package/dist/{issue-store-LZWZIGM7.js → issue-store-C6XYENE5.js} +7 -4
  56. package/dist/ledger-VNA4DX3Z.js +51 -0
  57. package/dist/linear-ingester-WIUBWF55.js +11 -0
  58. package/dist/{tiered-storage-VZL7KK64.js → tiered-storage-P6Z3NV2Q.js} +3 -3
  59. package/dist/trie-agent-GJJJCL6P.js +27 -0
  60. package/dist/trie-agent-GJJJCL6P.js.map +1 -0
  61. package/package.json +8 -6
  62. package/dist/chunk-4MJ52WBH.js.map +0 -1
  63. package/dist/chunk-62POBLFC.js.map +0 -1
  64. package/dist/chunk-7OJ6JIPL.js.map +0 -1
  65. package/dist/chunk-G76DYVGX.js +0 -136
  66. package/dist/chunk-G76DYVGX.js.map +0 -1
  67. package/dist/chunk-J7CEBSEB.js.map +0 -1
  68. package/dist/comprehension-46F7ZNKL.js +0 -821
  69. package/dist/comprehension-46F7ZNKL.js.map +0 -1
  70. package/dist/github-ingester-J2ZFYXVE.js +0 -11
  71. package/dist/linear-ingester-JRDQAIAA.js +0 -11
  72. package/dist/trie-agent-6A7YBNTQ.js +0 -26
  73. package/dist/workers/agent-worker.d.ts +0 -2
  74. package/dist/workers/agent-worker.js +0 -28
  75. package/dist/workers/agent-worker.js.map +0 -1
  76. /package/dist/{autonomy-config-ZCOSTMPD.js.map → autonomy-config-3APNC6QF.js.map} +0 -0
  77. /package/dist/{chat-store-OJLJCJFI.js.map → chat-store-HMTDL7I2.js.map} +0 -0
  78. /package/dist/{chunk-LD7ZEFNY.js.map → chunk-3KZBC3RJ.js.map} +0 -0
  79. /package/dist/{chunk-N2EDZTKG.js.map → chunk-4UDBGYI3.js.map} +0 -0
  80. /package/dist/{chunk-XTTZAQWJ.js.map → chunk-74R4XSFB.js.map} +0 -0
  81. /package/dist/{chunk-3MUCUZ46.js.map → chunk-ABY2R7OK.js.map} +0 -0
  82. /package/dist/{chunk-23RJT5WT.js.map → chunk-F7BMFOZ6.js.map} +0 -0
  83. /package/dist/{chunk-LT6VUZG2.js.map → chunk-GLY76TSI.js.map} +0 -0
  84. /package/dist/{chunk-WMDFK7LI.js.map → chunk-IFBEAOHH.js.map} +0 -0
  85. /package/dist/{chunk-YEIJW6X6.js.map → chunk-JIS2OCZR.js.map} +0 -0
  86. /package/dist/{chunk-FG467PDD.js.map → chunk-LNUMECBJ.js.map} +0 -0
  87. /package/dist/{chunk-FPEMP54L.js.map → chunk-OJXFQRUE.js.map} +0 -0
  88. /package/dist/{chunk-5KJ4UJOY.js.map → chunk-QQG42HCI.js.map} +0 -0
  89. /package/dist/{chunk-4C67GV3O.js.map → chunk-TCNCNWGV.js.map} +0 -0
  90. /package/dist/{chunk-NKHO34UZ.js.map → chunk-TU7D5DEW.js.map} +0 -0
  91. /package/dist/{chunk-FH335WL5.js.map → chunk-TWQPOVRA.js.map} +0 -0
  92. /package/dist/{chunk-YOJGSRZK.js.map → chunk-V3O7C2LY.js.map} +0 -0
  93. /package/dist/{chunk-V7AY2EJO.js.map → chunk-WOTLY5NA.js.map} +0 -0
  94. /package/dist/{client-INNE2GGZ.js.map → client-5L64D5SQ.js.map} +0 -0
  95. /package/dist/{codebase-index-FMIULFZQ.js.map → codebase-index-OOE7OAHP.js.map} +0 -0
  96. /package/dist/{fast-analyzer-MWKCDRGD.js.map → fast-analyzer-FMU3X4AZ.js.map} +0 -0
  97. /package/dist/{github-ingester-J2ZFYXVE.js.map → github-ingester-C66ZRUYC.js.map} +0 -0
  98. /package/dist/{goal-manager-ZBWKWEML.js.map → goal-manager-VTBFFYN4.js.map} +0 -0
  99. /package/dist/{goal-validator-DA3JQ6JN.js.map → goal-validator-EM5XVWVC.js.map} +0 -0
  100. /package/dist/{graph-J4OGTYCO.js.map → graph-26JPZ3DF.js.map} +0 -0
  101. /package/dist/{hypothesis-JCUMZKTG.js.map → hypothesis-4UPE7KXU.js.map} +0 -0
  102. /package/dist/{incident-index-BWW2UEY7.js.map → incident-index-H6APJ4S3.js.map} +0 -0
  103. /package/dist/{insight-store-A5XXMFD6.js.map → insight-store-QEEUQR5L.js.map} +0 -0
  104. /package/dist/{issue-store-LZWZIGM7.js.map → issue-store-C6XYENE5.js.map} +0 -0
  105. /package/dist/{linear-ingester-JRDQAIAA.js.map → ledger-VNA4DX3Z.js.map} +0 -0
  106. /package/dist/{tiered-storage-VZL7KK64.js.map → linear-ingester-WIUBWF55.js.map} +0 -0
  107. /package/dist/{trie-agent-6A7YBNTQ.js.map → tiered-storage-P6Z3NV2Q.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getChatStore
3
- } from "./chunk-23RJT5WT.js";
3
+ } from "./chunk-F7BMFOZ6.js";
4
4
  import {
5
5
  getTrieAgent
6
- } from "./chunk-N2EDZTKG.js";
6
+ } from "./chunk-4UDBGYI3.js";
7
7
  import {
8
8
  getOutputManager
9
9
  } from "./chunk-TIMIKBY2.js";
@@ -16,72 +16,51 @@ import {
16
16
  perceiveCurrentChanges,
17
17
  reasonAboutChangesHumanReadable,
18
18
  saveCheckpoint
19
- } from "./chunk-4PAAGLKO.js";
19
+ } from "./chunk-G7Q23IGF.js";
20
20
  import {
21
21
  loadConfig,
22
22
  saveConfig
23
- } from "./chunk-NKHO34UZ.js";
23
+ } from "./chunk-TU7D5DEW.js";
24
24
  import {
25
25
  IncidentIndex
26
- } from "./chunk-4C67GV3O.js";
26
+ } from "./chunk-TCNCNWGV.js";
27
27
  import {
28
28
  findCrossProjectPatterns
29
- } from "./chunk-WMDFK7LI.js";
29
+ } from "./chunk-IFBEAOHH.js";
30
30
  import {
31
31
  ContextGraph
32
- } from "./chunk-FH335WL5.js";
32
+ } from "./chunk-TWQPOVRA.js";
33
33
  import {
34
34
  measureInitialGoalValue
35
- } from "./chunk-T6PS3MXJ.js";
35
+ } from "./chunk-7HYOJ4Q7.js";
36
36
  import {
37
37
  getKeyFromKeychain,
38
38
  isAIAvailable,
39
39
  runAIWithTools,
40
40
  setAPIKey
41
- } from "./chunk-FPEMP54L.js";
41
+ } from "./chunk-OJXFQRUE.js";
42
42
  import {
43
43
  getProjectState
44
- } from "./chunk-LT6VUZG2.js";
44
+ } from "./chunk-GLY76TSI.js";
45
45
  import {
46
46
  TieredStorage,
47
47
  getStorage
48
- } from "./chunk-FG467PDD.js";
48
+ } from "./chunk-LNUMECBJ.js";
49
49
  import {
50
50
  loadAutonomyConfig,
51
51
  saveAutonomyConfig
52
- } from "./chunk-5KJ4UJOY.js";
52
+ } from "./chunk-QQG42HCI.js";
53
53
  import {
54
- deleteBlocks,
55
54
  getLedgerBlocks
56
- } from "./chunk-62POBLFC.js";
55
+ } from "./chunk-TWPX6PHF.js";
57
56
  import {
58
57
  getTrieDirectory,
59
58
  getWorkingDirectory
60
- } from "./chunk-SH7H3WRU.js";
59
+ } from "./chunk-4TQQP7JD.js";
61
60
  import {
62
61
  isInteractiveMode
63
62
  } from "./chunk-APMV77PU.js";
64
63
 
65
- // src/tools/scan.ts
66
- var hasLoggedRefocus = false;
67
- var TrieScanTool = class {
68
- async execute(_input) {
69
- if (!isInteractiveMode() && !hasLoggedRefocus) {
70
- hasLoggedRefocus = true;
71
- console.error("Trie scan has been refocused on decision ledger");
72
- console.error(" trie tell - report incidents");
73
- console.error(" trie gotcha - predict risks");
74
- console.error(" trie learn - learn from history");
75
- }
76
- return {
77
- content: [{
78
- type: "text",
79
- text: "Scan functionality has been refocused on decision ledger.\n\nUse:\n- trie tell - to report incidents\n- trie gotcha - to predict risks\n- trie learn - to learn from history"
80
- }]
81
- };
82
- }
83
- };
84
-
85
64
  // src/utils/streaming.ts
86
65
  var shouldSuppressConsole = () => isInteractiveMode();
87
66
  var StreamingManager = class {
@@ -516,9 +495,6 @@ function dashboardReducer(state, action) {
516
495
  return handleStreamUpdate(state, action.update);
517
496
  case "SET_VIEW": {
518
497
  const next = { ...state, previousView: state.view, view: action.view };
519
- if (action.view !== "memory" && state.memoryTree.pendingLedgerDelete) {
520
- next.memoryTree = { ...state.memoryTree, pendingLedgerDelete: null };
521
- }
522
498
  return next;
523
499
  }
524
500
  case "GO_BACK":
@@ -701,8 +677,6 @@ function dashboardReducer(state, action) {
701
677
  return { ...state, memoryTree: { ...state.memoryTree, selectedNode: action.nodeId } };
702
678
  case "SET_MEMORY_EXPANDED_ITEM":
703
679
  return { ...state, memoryTree: { ...state.memoryTree, expandedItemId: action.itemId } };
704
- case "SET_PENDING_LEDGER_DELETE":
705
- return { ...state, memoryTree: { ...state.memoryTree, pendingLedgerDelete: action.date } };
706
680
  case "TOGGLE_MEMORY_NODE": {
707
681
  const expandable = ["decisions", "incidents", "patterns", "cross-project", "hotspots", "ledger-chain"];
708
682
  if (expandable.includes(action.nodeId)) {
@@ -956,7 +930,7 @@ function createInitialState() {
956
930
  },
957
931
  goalsPanel: { goals: [], selectedIndex: 0, selectedAchievedIndex: 0, inputMode: "browse", inputBuffer: "", lastRefresh: 0, scanningGoalId: null, scanningProgress: "" },
958
932
  hypothesesPanel: { hypotheses: [], selectedIndex: 0, selectedCompletedIndex: 0, inputMode: "browse", inputBuffer: "", lastRefresh: 0, scanningHypothesisId: null, scanningProgress: "" },
959
- memoryTree: { loaded: false, snapshot: null, globalPatterns: [], storageGovernance: [], storageGotchas: [], ledgerBlocks: [], expandedNodes: /* @__PURE__ */ new Set(["decisions"]), expandedItemId: null, selectedNode: "decisions", scrollPosition: 0, lastRefresh: 0, pendingLedgerDelete: null },
933
+ memoryTree: { loaded: false, snapshot: null, globalPatterns: [], storageGovernance: [], storageGotchas: [], ledgerBlocks: [], expandedNodes: /* @__PURE__ */ new Set(["decisions"]), expandedItemId: null, selectedNode: "decisions", scrollPosition: 0, lastRefresh: 0 },
960
934
  agentBrain: { loaded: false, governance: [], patterns: [], ledgerHash: null, selectedIndex: 0, expandedIndex: null },
961
935
  chatState: { messages: [], inputBuffer: "", loading: false, progress: null, messageQueue: [], currentSessionId: null, currentSessionTitle: null },
962
936
  chatArchivePanel: { sessions: [], selectedIndex: 0, showArchived: false, loading: false, inputMode: "browse", inputBuffer: "" },
@@ -1220,7 +1194,7 @@ function ConfigDialog({ onClose }) {
1220
1194
  const loadStats = async () => {
1221
1195
  try {
1222
1196
  const workDir = getWorkingDirectory(void 0, true);
1223
- const { CodebaseIndex } = await import("./codebase-index-FMIULFZQ.js");
1197
+ const { CodebaseIndex } = await import("./codebase-index-OOE7OAHP.js");
1224
1198
  const index = new CodebaseIndex(workDir);
1225
1199
  const stats = index.getStats();
1226
1200
  let lastUpdatedDisplay = "Never";
@@ -1413,7 +1387,7 @@ function ConfigDialog({ onClose }) {
1413
1387
  const loadStats = async () => {
1414
1388
  try {
1415
1389
  const workDir = getWorkingDirectory(void 0, true);
1416
- const { CodebaseIndex } = await import("./codebase-index-FMIULFZQ.js");
1390
+ const { CodebaseIndex } = await import("./codebase-index-OOE7OAHP.js");
1417
1391
  const index = new CodebaseIndex(workDir);
1418
1392
  const stats = index.getStats();
1419
1393
  setIndexStats({
@@ -1488,7 +1462,7 @@ function ConfigDialog({ onClose }) {
1488
1462
  }
1489
1463
  async function reindexCodebase() {
1490
1464
  const workDir = getWorkingDirectory(void 0, true);
1491
- const { CodebaseIndex } = await import("./codebase-index-FMIULFZQ.js");
1465
+ const { CodebaseIndex } = await import("./codebase-index-OOE7OAHP.js");
1492
1466
  const { glob } = await import("glob");
1493
1467
  const index = new CodebaseIndex(workDir);
1494
1468
  const indexPattern = `${workDir}/**/*.{ts,tsx,js,jsx,mjs,vue,svelte,astro,py,go,rs,java,c,cpp,h,hpp,cs,rb,php,css,scss,html}`;
@@ -1951,10 +1925,10 @@ function AgentView() {
1951
1925
  if (!insight) return;
1952
1926
  try {
1953
1927
  const workDir = getWorkingDirectory(void 0, true);
1954
- const { getInsightStore } = await import("./insight-store-A5XXMFD6.js");
1928
+ const { getInsightStore } = await import("./insight-store-QEEUQR5L.js");
1955
1929
  const store = getInsightStore(workDir);
1956
1930
  await store.dismissInsight(insight.id);
1957
- const { getStorage: getStorage2 } = await import("./tiered-storage-VZL7KK64.js");
1931
+ const { getStorage: getStorage2 } = await import("./tiered-storage-P6Z3NV2Q.js");
1958
1932
  const storage = getStorage2(workDir);
1959
1933
  await storage.dismissNudge(insight.id).catch(() => {
1960
1934
  });
@@ -2170,10 +2144,20 @@ function GoalsView() {
2170
2144
  const goals = agentState.getAllGoals();
2171
2145
  dispatch({
2172
2146
  type: "SET_GOALS",
2173
- goals: goals.map((g) => {
2174
- const base = { id: g.id, description: g.description, type: g.type, target: g.target, currentValue: g.currentValue, startValue: g.startValue, status: g.status, autoGenerated: g.autoGenerated, updatedAt: g.updatedAt, ...g.achievedAt != null ? { achievedAt: g.achievedAt } : {}, ...g.achievedBy != null ? { achievedBy: g.achievedBy } : {}, ...g.category != null ? { category: g.category } : {} };
2175
- return base;
2176
- })
2147
+ goals: goals.map((g) => ({
2148
+ id: g.id,
2149
+ description: g.description,
2150
+ type: g.type,
2151
+ target: g.target,
2152
+ currentValue: g.currentValue,
2153
+ status: g.status,
2154
+ autoGenerated: g.autoGenerated,
2155
+ updatedAt: g.updatedAt,
2156
+ ...g.startValue !== void 0 && { startValue: g.startValue },
2157
+ ...g.achievedAt != null && { achievedAt: g.achievedAt },
2158
+ ...g.achievedBy != null && { achievedBy: g.achievedBy },
2159
+ ...g.category != null && { category: g.category }
2160
+ }))
2177
2161
  });
2178
2162
  } catch (err) {
2179
2163
  }
@@ -2303,7 +2287,7 @@ function GoalsView() {
2303
2287
  dispatch({ type: "SET_GOAL_SCANNING", goalId, progress: "Starting scan..." });
2304
2288
  dispatch({ type: "ADD_ACTIVITY", message: `Scanning goal: ${goalSummary.description}...` });
2305
2289
  dispatch({ type: "SET_GOAL_SCANNING", goalId, progress: "Loading goal configuration..." });
2306
- const { checkFilesForGoalViolations } = await import("./goal-validator-DA3JQ6JN.js");
2290
+ const { checkFilesForGoalViolations } = await import("./goal-validator-EM5XVWVC.js");
2307
2291
  const agentState = getProjectState(workDir);
2308
2292
  await agentState.load();
2309
2293
  const fullGoal = agentState.getAllGoals().find((g) => g.id === goalId);
@@ -2414,7 +2398,7 @@ function GoalsView() {
2414
2398
  const sourceLabel = goal.autoGenerated ? "AI" : "you";
2415
2399
  if (isScanning) {
2416
2400
  return /* @__PURE__ */ jsx9(Box8, { borderStyle: "round", borderColor: "cyan", paddingX: 1, children: /* @__PURE__ */ jsxs8(Box8, { flexDirection: "column", children: [
2417
- /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", overflow: "visible", children: [
2401
+ /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", children: [
2418
2402
  /* @__PURE__ */ jsx9(Text8, { bold: true, color: "cyan", children: "\u27F3 " }),
2419
2403
  /* @__PURE__ */ jsx9(Text8, { color: "cyan", bold: true, children: goal.description })
2420
2404
  ] }),
@@ -2423,7 +2407,7 @@ function GoalsView() {
2423
2407
  ] }) }, goal.id);
2424
2408
  }
2425
2409
  return /* @__PURE__ */ jsxs8(Box8, { flexDirection: "column", children: [
2426
- /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", overflow: "visible", children: [
2410
+ /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", children: [
2427
2411
  isSelected ? /* @__PURE__ */ jsx9(Text8, { bold: true, color: "green", children: "> " }) : " ",
2428
2412
  goal.autoGenerated ? /* @__PURE__ */ jsx9(Text8, { color: "cyan", children: "\u25C7" }) : /* @__PURE__ */ jsx9(Text8, { color: "green", children: "\u25CB" }),
2429
2413
  " ",
@@ -2455,7 +2439,7 @@ function GoalsView() {
2455
2439
  /* @__PURE__ */ jsx9(Text8, { dimColor: true, children: " Achieved" }),
2456
2440
  achievedGoals.slice(0, 5).map((g) => {
2457
2441
  const byLabel = g.achievedBy === "agent" ? "AI" : "you";
2458
- return /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", overflow: "visible", children: [
2442
+ return /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", children: [
2459
2443
  " ",
2460
2444
  g.achievedBy === "agent" ? /* @__PURE__ */ jsx9(Text8, { color: "cyan", children: "\u25CF" }) : /* @__PURE__ */ jsx9(Text8, { color: "green", children: "\u25CF" }),
2461
2445
  " ",
@@ -2476,7 +2460,7 @@ function GoalsView() {
2476
2460
  otherGoals.length > 0 && /* @__PURE__ */ jsxs8(Box8, { flexDirection: "column", marginTop: 1, children: [
2477
2461
  /* @__PURE__ */ jsx9(Text8, { dimColor: true, children: " Other" }),
2478
2462
  otherGoals.slice(0, 2).map((g) => {
2479
- return /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", overflow: "visible", children: [
2463
+ return /* @__PURE__ */ jsxs8(Text8, { wrap: "wrap", children: [
2480
2464
  " ",
2481
2465
  /* @__PURE__ */ jsx9(Text8, { dimColor: true, children: "\u25CB" }),
2482
2466
  " ",
@@ -2501,7 +2485,6 @@ function HypothesesView() {
2501
2485
  const { stdout } = useStdout7();
2502
2486
  const cols = stdout?.columns || 80;
2503
2487
  const narrow = cols < 60;
2504
- const contentWidth = Math.max(20, cols - 4);
2505
2488
  const testing = hypothesesPanel.hypotheses.filter((h) => h.status === "testing");
2506
2489
  const validated = hypothesesPanel.hypotheses.filter((h) => h.status === "validated");
2507
2490
  const invalidated = hypothesesPanel.hypotheses.filter((h) => h.status === "invalidated");
@@ -2579,7 +2562,7 @@ function HypothesesView() {
2579
2562
  dispatch({ type: "SET_HYPOTHESIS_SCANNING", hypothesisId: hypoId, progress: "Gathering evidence..." });
2580
2563
  dispatch({ type: "ADD_ACTIVITY", message: `Testing hypothesis: ${hypo.statement}` });
2581
2564
  dispatch({ type: "SHOW_NOTIFICATION", message: `Gathering evidence for hypothesis...`, severity: "info", autoHideMs: 3e3 });
2582
- const { gatherEvidenceForHypothesis } = await import("./hypothesis-JCUMZKTG.js");
2565
+ const { gatherEvidenceForHypothesis } = await import("./hypothesis-4UPE7KXU.js");
2583
2566
  const evidence = await gatherEvidenceForHypothesis(hypoId, workDir, signal);
2584
2567
  scanAbortRef.current = null;
2585
2568
  dispatch({ type: "SET_HYPOTHESIS_SCANNING", hypothesisId: null, progress: "" });
@@ -2751,7 +2734,7 @@ function timeAgo2(iso) {
2751
2734
  function MemoryTreeView() {
2752
2735
  const { state, dispatch } = useDashboard();
2753
2736
  const { memoryTree } = state;
2754
- const { snapshot, globalPatterns, storageGovernance, storageGotchas, ledgerBlocks, expandedNodes, expandedItemId, selectedNode, loaded, pendingLedgerDelete } = memoryTree;
2737
+ const { snapshot, globalPatterns, storageGovernance, storageGotchas, ledgerBlocks, expandedNodes, expandedItemId, selectedNode, loaded } = memoryTree;
2755
2738
  const { stdout } = useStdout8();
2756
2739
  const cols = stdout?.columns || 80;
2757
2740
  const narrow = cols < 60;
@@ -2797,57 +2780,13 @@ function MemoryTreeView() {
2797
2780
  dispatch({ type: "ADD_ACTIVITY", message: "Failed to update incident" });
2798
2781
  }
2799
2782
  }, [selectedNode, expandedItemId, loadData, dispatch]);
2800
- const handleLedgerBlockDelete = useCallback4(async () => {
2801
- const dateToDelete = pendingLedgerDelete;
2802
- if (!dateToDelete) return;
2803
- try {
2804
- dispatch({ type: "ADD_ACTIVITY", message: `Attempting to delete ledger block ${dateToDelete}...` });
2805
- const workDir = getWorkingDirectory(void 0, true);
2806
- const result = await deleteBlocks([dateToDelete], workDir, true);
2807
- if (result.success) {
2808
- dispatch({ type: "ADD_ACTIVITY", message: `Ledger block ${dateToDelete} deleted permanently` });
2809
- dispatch({ type: "SET_MEMORY_EXPANDED_ITEM", itemId: null });
2810
- dispatch({ type: "SET_PENDING_LEDGER_DELETE", date: null });
2811
- void loadData();
2812
- } else {
2813
- dispatch({ type: "ADD_ACTIVITY", message: `Failed to delete block: ${result.error}` });
2814
- dispatch({ type: "SHOW_NOTIFICATION", message: result.error ?? "Delete failed", severity: "warning" });
2815
- dispatch({ type: "SET_PENDING_LEDGER_DELETE", date: null });
2816
- }
2817
- } catch (err) {
2818
- const msg = err instanceof Error ? err.message : "unknown error";
2819
- dispatch({ type: "ADD_ACTIVITY", message: `Failed to delete ledger block: ${msg}` });
2820
- dispatch({ type: "SHOW_NOTIFICATION", message: `Delete failed: ${msg}`, severity: "warning" });
2821
- dispatch({ type: "SET_PENDING_LEDGER_DELETE", date: null });
2822
- }
2823
- }, [pendingLedgerDelete, loadData, dispatch]);
2824
2783
  useInput6((_input, key) => {
2825
2784
  const incidentSelected = selectedNode?.startsWith("incident-") || expandedItemId?.startsWith("incident-");
2826
2785
  const ledgerBlockSelected = selectedNode?.startsWith("ledger-block-") || expandedItemId?.startsWith("ledger-block-");
2827
- if (pendingLedgerDelete) {
2828
- if (_input === "y" || _input === "Y" || key.return) {
2829
- void handleLedgerBlockDelete();
2830
- return;
2831
- }
2832
- if (_input === "n" || _input === "N" || key.escape) {
2833
- dispatch({ type: "SET_PENDING_LEDGER_DELETE", date: null });
2834
- return;
2835
- }
2836
- return;
2837
- }
2838
2786
  if (incidentSelected && (_input === "d" || _input === "D")) {
2839
2787
  void handleIncidentAction("delete");
2840
2788
  return;
2841
2789
  }
2842
- if (ledgerBlockSelected && (_input === "d" || _input === "D")) {
2843
- const blockNodeId = selectedNode?.startsWith("ledger-block-") ? selectedNode : expandedItemId?.startsWith("ledger-block-") ? expandedItemId : null;
2844
- const blockIndex = blockNodeId ? parseInt(blockNodeId.replace("ledger-block-", ""), 10) : -1;
2845
- const block = blockIndex >= 0 ? ledgerBlocks[blockIndex] : null;
2846
- if (block) {
2847
- dispatch({ type: "SET_PENDING_LEDGER_DELETE", date: block.date });
2848
- }
2849
- return;
2850
- }
2851
2790
  if (incidentSelected && (_input === "r" || _input === "c")) {
2852
2791
  void handleIncidentAction("resolve");
2853
2792
  return;
@@ -3080,23 +3019,6 @@ function MemoryTreeView() {
3080
3019
  expandedLedgerBlock.createdAt
3081
3020
  ] }) })
3082
3021
  ] }),
3083
- pendingLedgerDelete && /* @__PURE__ */ jsxs10(Box10, { flexDirection: "column", marginTop: 1, borderStyle: "single", borderColor: "red", paddingX: 1, paddingY: 1, children: [
3084
- /* @__PURE__ */ jsx11(Text10, { bold: true, color: "red", children: "\u26A0\uFE0F DANGER: PERMANENT DELETION" }),
3085
- /* @__PURE__ */ jsx11(Box10, { marginTop: 1, children: /* @__PURE__ */ jsx11(Text10, { children: "You are about to permanently delete ledger block:" }) }),
3086
- /* @__PURE__ */ jsx11(Box10, { marginTop: 1, children: /* @__PURE__ */ jsx11(Text10, { bold: true, color: "cyan", children: pendingLedgerDelete }) }),
3087
- /* @__PURE__ */ jsx11(Box10, { marginTop: 1, children: /* @__PURE__ */ jsx11(Text10, { color: "red", children: "This operation cannot be undone and will permanently" }) }),
3088
- /* @__PURE__ */ jsx11(Box10, { marginTop: 0, children: /* @__PURE__ */ jsx11(Text10, { color: "red", children: "remove all issues and data from this block." }) }),
3089
- /* @__PURE__ */ jsx11(Box10, { marginTop: 1, children: /* @__PURE__ */ jsxs10(Text10, { children: [
3090
- /* @__PURE__ */ jsx11(Text10, { bold: true, color: "green", children: "y" }),
3091
- " or ",
3092
- /* @__PURE__ */ jsx11(Text10, { bold: true, color: "green", children: "Enter" }),
3093
- " to confirm \xB7 ",
3094
- /* @__PURE__ */ jsx11(Text10, { bold: true, children: "n" }),
3095
- " or ",
3096
- /* @__PURE__ */ jsx11(Text10, { bold: true, children: "Esc" }),
3097
- " to cancel"
3098
- ] }) })
3099
- ] }),
3100
3022
  /* @__PURE__ */ jsxs10(Box10, { flexDirection: "column", marginTop: 1, children: [
3101
3023
  renderHeader("decisions", "Product Governance", governance.length, "-- use trie tell or chat"),
3102
3024
  expandedNodes.has("decisions") && governance.slice(0, 10).map((g) => {
@@ -5948,23 +5870,23 @@ var TrieFixTool = class {
5948
5870
  const pending = getPendingFixes();
5949
5871
  if (pending.length === 0) {
5950
5872
  return {
5951
- content: [{ type: "text", text: "No pending issues. Run trie_scan to detect new issues, or check memory with trie_memory action:recent." }]
5873
+ content: [{ type: "text", text: "No pending issues. Run trie watch to detect new issues, or check memory with trie_memory action:recent." }]
5952
5874
  };
5953
5875
  }
5954
5876
  const issues = pending.map((p) => ({
5955
5877
  id: p.id,
5956
5878
  severity: p.severity ?? "moderate",
5957
- effort: p.effort,
5958
5879
  issue: p.issue,
5959
5880
  fix: p.suggestedFix,
5960
5881
  file: p.file,
5961
5882
  line: p.line,
5962
5883
  confidence: p.confidence,
5963
5884
  autoFixable: p.autoFixable ?? false,
5964
- agent: "trie_scan",
5965
- cwe: p.cwe,
5966
- owasp: p.owasp,
5967
- category: p.category
5885
+ agent: "trie_fix",
5886
+ ...p.effort && { effort: p.effort },
5887
+ ...p.cwe && { cwe: p.cwe },
5888
+ ...p.owasp && { owasp: p.owasp },
5889
+ ...p.category && { category: p.category }
5968
5890
  }));
5969
5891
  const filtered = issueIds && issueIds.length > 0 ? issues.filter((i) => issueIds.includes(i.id)) : issues;
5970
5892
  const workDir = getWorkingDirectory(void 0, true);
@@ -6263,7 +6185,7 @@ trie_fix
6263
6185
 
6264
6186
  ## Workflow
6265
6187
 
6266
- 1. Run \`trie_scan\` to detect issues
6188
+ 1. Run \`trie watch\` to detect issues
6267
6189
  2. Review the issues found
6268
6190
  3. Run \`trie_fix\` to apply fixes
6269
6191
 
@@ -6284,7 +6206,7 @@ The AI will analyze each issue, generate the fix, and you can review before appl
6284
6206
  line: p.line,
6285
6207
  confidence: p.confidence,
6286
6208
  autoFixable: false,
6287
- agent: "trie_scan"
6209
+ agent: "trie_fix"
6288
6210
  }));
6289
6211
  const workDir = getWorkingDirectory(void 0, true);
6290
6212
  const config = await loadAutonomyConfig(workDir);
@@ -6316,14 +6238,14 @@ function getPendingFixes() {
6316
6238
  }
6317
6239
  async function loadPendingFixesFromMemory() {
6318
6240
  try {
6319
- const { getRecentIssues } = await import("./issue-store-LZWZIGM7.js");
6241
+ const { getRecentIssues } = await import("./issue-store-C6XYENE5.js");
6320
6242
  pendingFixes.clear();
6321
6243
  const recentIssues = await getRecentIssues({ limit: 50, includeResolved: false });
6322
6244
  for (const storedIssue of recentIssues) {
6323
6245
  const fix = {
6324
6246
  id: storedIssue.id,
6325
6247
  file: storedIssue.file,
6326
- line: storedIssue.line || 0,
6248
+ line: storedIssue.line ?? 0,
6327
6249
  issue: storedIssue.issue,
6328
6250
  suggestedFix: storedIssue.fix,
6329
6251
  confidence: 0.8,
@@ -6331,8 +6253,7 @@ async function loadPendingFixesFromMemory() {
6331
6253
  status: "pending",
6332
6254
  severity: storedIssue.severity,
6333
6255
  autoFixable: true,
6334
- // Memory issues are generally auto-fixable
6335
- category: storedIssue.category
6256
+ ...storedIssue.category && { category: storedIssue.category }
6336
6257
  };
6337
6258
  pendingFixes.set(fix.id, fix);
6338
6259
  }
@@ -6406,11 +6327,12 @@ var TrieCloudFixTool = class {
6406
6327
  allIssues = await this.resolveIssues(args?.issueIds);
6407
6328
  }
6408
6329
  if (allIssues.length === 0) {
6409
- return this.text("No issues to dispatch. Run trie_scan to detect new issues, or check memory with trie_memory action:recent. For ad-hoc fixes, pass file, issue, and fix.");
6330
+ return this.text("No issues to dispatch. Run trie watch to detect new issues, or check memory with trie_memory action:recent. For ad-hoc fixes, pass file, issue, and fix.");
6410
6331
  }
6411
6332
  const isAdHocMode = args?.file && args?.issue && args?.fix;
6412
6333
  if (isAdHocMode) {
6413
- console.log(`Ad-hoc mode: dispatching single issue (${allIssues[0].file})`);
6334
+ const first = allIssues[0];
6335
+ console.log(`Ad-hoc mode: dispatching single issue (${first?.file ?? "unknown"})`);
6414
6336
  } else {
6415
6337
  console.log(`Memory mode: loaded ${allIssues.length} issue(s) from memory/scan`);
6416
6338
  }
@@ -6420,7 +6342,8 @@ var TrieCloudFixTool = class {
6420
6342
  if (isAdHocMode) {
6421
6343
  lines.push("FIX ROUTING PLAN (ad-hoc single incident mode)");
6422
6344
  lines.push("\u2500".repeat(68));
6423
- lines.push(` ${shortPath2(allIssues[0].file)}:${allIssues[0].line ?? "?"} \u2192 cloud-agent (single incident)`);
6345
+ const firstIssue = allIssues[0];
6346
+ lines.push(` ${shortPath2(firstIssue?.file ?? "")}:${firstIssue?.line ?? "?"} \u2192 cloud-agent (single incident)`);
6424
6347
  lines.push("");
6425
6348
  } else if (forceCloud) {
6426
6349
  lines.push("FIX ROUTING PLAN (forceCloud: bypassing triage)");
@@ -6618,7 +6541,7 @@ var TrieCloudFixTool = class {
6618
6541
  if (pending.length === 0) {
6619
6542
  try {
6620
6543
  console.log("Loading issues from memory...");
6621
- const { getRecentIssues } = await import("./issue-store-LZWZIGM7.js");
6544
+ const { getRecentIssues } = await import("./issue-store-C6XYENE5.js");
6622
6545
  const recentIssues = await getRecentIssues({ limit: 50, includeResolved: false });
6623
6546
  console.log(`Found ${recentIssues.length} recent issues in memory`);
6624
6547
  const memoryIssues = recentIssues.map((storedIssue) => ({
@@ -6627,13 +6550,13 @@ var TrieCloudFixTool = class {
6627
6550
  issue: storedIssue.issue,
6628
6551
  fix: storedIssue.fix,
6629
6552
  file: storedIssue.file,
6630
- line: storedIssue.line,
6553
+ ...storedIssue.line !== void 0 && { line: storedIssue.line },
6631
6554
  confidence: 0.8,
6632
6555
  // Default confidence for memory issues
6633
6556
  autoFixable: true,
6634
6557
  // Memory issues are generally auto-fixable
6635
6558
  agent: storedIssue.agent,
6636
- category: storedIssue.category
6559
+ ...storedIssue.category && { category: storedIssue.category }
6637
6560
  }));
6638
6561
  console.log(`Converted ${memoryIssues.length} memory issues for cloud dispatch`);
6639
6562
  if (issueIds && issueIds.length > 0) {
@@ -6648,17 +6571,17 @@ var TrieCloudFixTool = class {
6648
6571
  const issues = pending.map((p) => ({
6649
6572
  id: p.id,
6650
6573
  severity: p.severity ?? "moderate",
6651
- effort: p.effort,
6652
6574
  issue: p.issue,
6653
6575
  fix: p.suggestedFix,
6654
6576
  file: p.file,
6655
6577
  line: p.line,
6656
6578
  confidence: p.confidence,
6657
6579
  autoFixable: p.autoFixable ?? false,
6658
- agent: "trie_scan",
6659
- cwe: p.cwe,
6660
- owasp: p.owasp,
6661
- category: p.category
6580
+ agent: "trie_fix",
6581
+ ...p.effort && { effort: p.effort },
6582
+ ...p.cwe && { cwe: p.cwe },
6583
+ ...p.owasp && { owasp: p.owasp },
6584
+ ...p.category && { category: p.category }
6662
6585
  }));
6663
6586
  if (issueIds && issueIds.length > 0) {
6664
6587
  return issues.filter((i) => issueIds.includes(i.id));
@@ -7058,7 +6981,7 @@ var TrieQueryContextTool = class {
7058
6981
  }
7059
6982
  if (includeIncidents) {
7060
6983
  try {
7061
- const { ContextGraph: ContextGraph2 } = await import("./graph-J4OGTYCO.js");
6984
+ const { ContextGraph: ContextGraph2 } = await import("./graph-26JPZ3DF.js");
7062
6985
  const graph = new ContextGraph2(workDir);
7063
6986
  const allNodes = await graph.listNodes();
7064
6987
  const incidentNodes = allNodes.filter((n) => n.type === "incident");
@@ -8323,7 +8246,7 @@ ${truncated}`;
8323
8246
  const goalId = input.goalId ? String(input.goalId).trim() : void 0;
8324
8247
  try {
8325
8248
  onProgress?.("Loading goals...");
8326
- const { getActiveGoals } = await import("./goal-validator-DA3JQ6JN.js");
8249
+ const { getActiveGoals } = await import("./goal-validator-EM5XVWVC.js");
8327
8250
  const agentState = getProjectState(directory);
8328
8251
  await agentState.load();
8329
8252
  const allGoals = await getActiveGoals(directory);
@@ -8332,7 +8255,7 @@ ${truncated}`;
8332
8255
  return goalId ? `No active goal found with ID: ${goalId}` : "No active goals to check. Add goals in the Goals view first.";
8333
8256
  }
8334
8257
  onProgress?.("Scanning codebase for violations...");
8335
- const { analyzeFilesRapidly } = await import("./fast-analyzer-MWKCDRGD.js");
8258
+ const { analyzeFilesRapidly } = await import("./fast-analyzer-FMU3X4AZ.js");
8336
8259
  const analysisOptions = {
8337
8260
  maxFiles: 50,
8338
8261
  enableSmartBatching: true
@@ -8346,7 +8269,7 @@ ${truncated}`;
8346
8269
  const cacheInfo2 = analysisResult.cacheHitRatio > 0 ? ` (${Math.round(analysisResult.cacheHitRatio * 100)}% cache hit, ${analysisResult.timeMs}ms)` : ` (${analysisResult.timeMs}ms)`;
8347
8270
  return `\u2713 Scan complete! No violations found for ${goalsToCheck.length} goal(s).${cacheInfo2}`;
8348
8271
  }
8349
- const { storeIssues } = await import("./issue-store-LZWZIGM7.js");
8272
+ const { storeIssues } = await import("./issue-store-C6XYENE5.js");
8350
8273
  const { basename } = await import("path");
8351
8274
  const issuesToStore = violations.map((v, i) => ({
8352
8275
  id: `goal-violation-${Date.now()}-${i}`,
@@ -8425,7 +8348,7 @@ ${truncated}`;
8425
8348
  }
8426
8349
  try {
8427
8350
  onProgress?.("Gathering evidence for hypothesis...");
8428
- const { gatherEvidenceForHypothesis } = await import("./hypothesis-JCUMZKTG.js");
8351
+ const { gatherEvidenceForHypothesis } = await import("./hypothesis-4UPE7KXU.js");
8429
8352
  const evidence = await gatherEvidenceForHypothesis(hypothesisId, directory);
8430
8353
  if (evidence.length === 0) {
8431
8354
  return `No evidence found for this hypothesis yet. The codebase may not have enough data to validate it \u2014 try running trie_scan_for_goal_violations first to populate issues, or add more context.`;
@@ -8689,7 +8612,7 @@ function ChatView() {
8689
8612
  const saveChat = async () => {
8690
8613
  try {
8691
8614
  const workDir = getWorkingDirectory(void 0, true);
8692
- const { getChatStore: getChatStore2 } = await import("./chat-store-OJLJCJFI.js");
8615
+ const { getChatStore: getChatStore2 } = await import("./chat-store-HMTDL7I2.js");
8693
8616
  const store = getChatStore2(workDir);
8694
8617
  const sessionId = await store.saveSession(
8695
8618
  messages,
@@ -8889,10 +8812,18 @@ ${contextBlock}`;
8889
8812
  const goals = agentState.getAllGoals();
8890
8813
  dispatch({
8891
8814
  type: "SET_GOALS",
8892
- goals: goals.map((g) => {
8893
- const base = { id: g.id, description: g.description, type: g.type, target: g.target, currentValue: g.currentValue, startValue: g.startValue, status: g.status, autoGenerated: g.autoGenerated, updatedAt: g.updatedAt, ...g.category != null ? { category: g.category } : {} };
8894
- return base;
8895
- })
8815
+ goals: goals.map((g) => ({
8816
+ id: g.id,
8817
+ description: g.description,
8818
+ type: g.type,
8819
+ target: g.target,
8820
+ currentValue: g.currentValue,
8821
+ status: g.status,
8822
+ autoGenerated: g.autoGenerated,
8823
+ updatedAt: g.updatedAt,
8824
+ ...g.startValue !== void 0 && { startValue: g.startValue },
8825
+ ...g.category != null && { category: g.category }
8826
+ }))
8896
8827
  });
8897
8828
  }
8898
8829
  if (toolNames.has("trie_add_hypothesis") || toolNames.has("trie_test_hypothesis")) {
@@ -9316,7 +9247,7 @@ import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
9316
9247
  var MAIN_VIEWS = ["overview", "memory", "goals", "hypotheses", "agent", "chat"];
9317
9248
  async function applyGoalFix(fix, dispatch) {
9318
9249
  try {
9319
- const { runAIAnalysis, isAIAvailable: isAIAvailable2 } = await import("./client-INNE2GGZ.js");
9250
+ const { runAIAnalysis, isAIAvailable: isAIAvailable2 } = await import("./client-5L64D5SQ.js");
9320
9251
  if (!isAIAvailable2()) {
9321
9252
  dispatch({ type: "DISMISS_FIX", id: fix.id });
9322
9253
  getOutputManager().nudge("AI not available for fix", "warning");
@@ -9351,7 +9282,7 @@ ${content}
9351
9282
  fixedContent = fixedContent.replace(/^```\w*\n?/, "").replace(/\n?```$/, "");
9352
9283
  }
9353
9284
  await writeFile2(fullPath, fixedContent, "utf-8");
9354
- const { recordGoalViolationFixed, getActiveGoals } = await import("./goal-validator-DA3JQ6JN.js");
9285
+ const { recordGoalViolationFixed, getActiveGoals } = await import("./goal-validator-EM5XVWVC.js");
9355
9286
  const goals = await getActiveGoals(projectPath);
9356
9287
  const matchedGoal = goals.find((g) => g.description === fix.goalDescription);
9357
9288
  if (matchedGoal) {
@@ -9389,7 +9320,7 @@ function DashboardApp({ onReady }) {
9389
9320
  const workDir = getWorkingDirectory(void 0, true);
9390
9321
  await mkdir2(getTrieDirectory(workDir), { recursive: true });
9391
9322
  await writeFile2(configPath, JSON.stringify(stateRef.current.agentConfig, null, 2), "utf-8");
9392
- const { saveAutonomyConfig: saveAutonomyConfig2, loadAutonomyConfig: loadAutonomyConfig2 } = await import("./autonomy-config-ZCOSTMPD.js");
9323
+ const { saveAutonomyConfig: saveAutonomyConfig2, loadAutonomyConfig: loadAutonomyConfig2 } = await import("./autonomy-config-3APNC6QF.js");
9393
9324
  const autonomy = await loadAutonomyConfig2(workDir);
9394
9325
  autonomy.aiWatcher = stateRef.current.agentConfig.aiWatcher;
9395
9326
  await saveAutonomyConfig2(workDir, autonomy);
@@ -9430,10 +9361,20 @@ function DashboardApp({ onReady }) {
9430
9361
  const goals = agentState.getAllGoals();
9431
9362
  dispatchRef.current({
9432
9363
  type: "SET_GOALS",
9433
- goals: goals.map((g) => {
9434
- const base = { id: g.id, description: g.description, type: g.type, target: g.target, currentValue: g.currentValue, startValue: g.startValue, status: g.status, autoGenerated: g.autoGenerated, updatedAt: g.updatedAt, ...g.achievedAt != null ? { achievedAt: g.achievedAt } : {}, ...g.achievedBy != null ? { achievedBy: g.achievedBy } : {}, ...g.category != null ? { category: g.category } : {} };
9435
- return base;
9436
- })
9364
+ goals: goals.map((g) => ({
9365
+ id: g.id,
9366
+ description: g.description,
9367
+ type: g.type,
9368
+ target: g.target,
9369
+ currentValue: g.currentValue,
9370
+ status: g.status,
9371
+ autoGenerated: g.autoGenerated,
9372
+ updatedAt: g.updatedAt,
9373
+ ...g.startValue !== void 0 && { startValue: g.startValue },
9374
+ ...g.achievedAt != null && { achievedAt: g.achievedAt },
9375
+ ...g.achievedBy != null && { achievedBy: g.achievedBy },
9376
+ ...g.category != null && { category: g.category }
9377
+ }))
9437
9378
  });
9438
9379
  } catch {
9439
9380
  }
@@ -9457,7 +9398,7 @@ function DashboardApp({ onReady }) {
9457
9398
  const loadPersistedNudges = useCallback7(async () => {
9458
9399
  try {
9459
9400
  const workDir = getWorkingDirectory(void 0, true);
9460
- const { getStorage: getStorage2 } = await import("./tiered-storage-VZL7KK64.js");
9401
+ const { getStorage: getStorage2 } = await import("./tiered-storage-P6Z3NV2Q.js");
9461
9402
  const storage = getStorage2(workDir);
9462
9403
  await storage.initialize();
9463
9404
  const nudges = await storage.queryNudges({ resolved: false, limit: 50 });
@@ -9562,7 +9503,6 @@ function DashboardApp({ onReady }) {
9562
9503
  }, [state.pendingFixes]);
9563
9504
  useInput10((input, key) => {
9564
9505
  if (showConfig) return;
9565
- if (state.memoryTree.pendingLedgerDelete) return;
9566
9506
  const inAddMode = state.view === "goals" && state.goalsPanel.inputMode === "add" || state.view === "hypotheses" && state.hypothesesPanel.inputMode === "add";
9567
9507
  const inChat = state.view === "chat";
9568
9508
  const scanningGoal = !!state.goalsPanel.scanningGoalId;
@@ -9716,7 +9656,6 @@ var InteractiveDashboard = class {
9716
9656
  };
9717
9657
 
9718
9658
  export {
9719
- TrieScanTool,
9720
9659
  getPrompt,
9721
9660
  getSystemPrompt,
9722
9661
  TrieFixTool,
@@ -9738,4 +9677,4 @@ export {
9738
9677
  GitHubBranchesTool,
9739
9678
  InteractiveDashboard
9740
9679
  };
9741
- //# sourceMappingURL=chunk-J7CEBSEB.js.map
9680
+ //# sourceMappingURL=chunk-SU3WCAC4.js.map