@roackb2/heddle 0.0.24 → 0.0.25

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 (138) hide show
  1. package/README.md +11 -1
  2. package/dist/examples/repo-investigator.js +2 -2
  3. package/dist/examples/repo-investigator.js.map +1 -1
  4. package/dist/src/cli/chat/App.d.ts.map +1 -1
  5. package/dist/src/cli/chat/App.js +51 -324
  6. package/dist/src/cli/chat/App.js.map +1 -1
  7. package/dist/src/cli/chat/hooks/useChatDrift.d.ts +22 -0
  8. package/dist/src/cli/chat/hooks/useChatDrift.d.ts.map +1 -0
  9. package/dist/src/cli/chat/hooks/useChatDrift.js +43 -0
  10. package/dist/src/cli/chat/hooks/useChatDrift.js.map +1 -0
  11. package/dist/src/cli/chat/hooks/useChatPickers.d.ts +44 -0
  12. package/dist/src/cli/chat/hooks/useChatPickers.d.ts.map +1 -0
  13. package/dist/src/cli/chat/hooks/useChatPickers.js +142 -0
  14. package/dist/src/cli/chat/hooks/useChatPickers.js.map +1 -0
  15. package/dist/src/cli/chat/hooks/useLocalIds.d.ts +2 -0
  16. package/dist/src/cli/chat/hooks/useLocalIds.d.ts.map +1 -0
  17. package/dist/src/cli/chat/hooks/useLocalIds.js +6 -0
  18. package/dist/src/cli/chat/hooks/useLocalIds.js.map +1 -0
  19. package/dist/src/cli/chat/hooks/usePromptDraft.d.ts +9 -0
  20. package/dist/src/cli/chat/hooks/usePromptDraft.d.ts.map +1 -0
  21. package/dist/src/cli/chat/hooks/usePromptDraft.js +22 -0
  22. package/dist/src/cli/chat/hooks/usePromptDraft.js.map +1 -0
  23. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts +58 -0
  24. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -0
  25. package/dist/src/cli/chat/hooks/usePromptSubmission.js +144 -0
  26. package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -0
  27. package/dist/src/cli/chat/state/local-commands.js +1 -1
  28. package/dist/src/cli/chat/state/local-commands.js.map +1 -1
  29. package/dist/src/cli/chat/utils/format.d.ts +5 -5
  30. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  31. package/dist/src/cli/chat/utils/format.js +5 -2
  32. package/dist/src/cli/chat/utils/format.js.map +1 -1
  33. package/dist/src/cli/heartbeat/args.d.ts +11 -0
  34. package/dist/src/cli/heartbeat/args.d.ts.map +1 -0
  35. package/dist/src/cli/heartbeat/args.js +147 -0
  36. package/dist/src/cli/heartbeat/args.js.map +1 -0
  37. package/dist/src/cli/heartbeat/duration.d.ts +3 -0
  38. package/dist/src/cli/heartbeat/duration.d.ts.map +1 -0
  39. package/dist/src/cli/heartbeat/duration.js +33 -0
  40. package/dist/src/cli/heartbeat/duration.js.map +1 -0
  41. package/dist/src/cli/heartbeat/output.d.ts +5 -0
  42. package/dist/src/cli/heartbeat/output.d.ts.map +1 -0
  43. package/dist/src/cli/heartbeat/output.js +89 -0
  44. package/dist/src/cli/heartbeat/output.js.map +1 -0
  45. package/dist/src/cli/heartbeat/run-commands.d.ts +4 -0
  46. package/dist/src/cli/heartbeat/run-commands.d.ts.map +1 -0
  47. package/dist/src/cli/heartbeat/run-commands.js +58 -0
  48. package/dist/src/cli/heartbeat/run-commands.js.map +1 -0
  49. package/dist/src/cli/heartbeat/store.d.ts +3 -0
  50. package/dist/src/cli/heartbeat/store.d.ts.map +1 -0
  51. package/dist/src/cli/heartbeat/store.js +10 -0
  52. package/dist/src/cli/heartbeat/store.js.map +1 -0
  53. package/dist/src/cli/heartbeat/summary.d.ts +3 -0
  54. package/dist/src/cli/heartbeat/summary.d.ts.map +1 -0
  55. package/dist/src/cli/heartbeat/summary.js +9 -0
  56. package/dist/src/cli/heartbeat/summary.js.map +1 -0
  57. package/dist/src/cli/heartbeat/task-commands.d.ts +4 -0
  58. package/dist/src/cli/heartbeat/task-commands.d.ts.map +1 -0
  59. package/dist/src/cli/heartbeat/task-commands.js +117 -0
  60. package/dist/src/cli/heartbeat/task-commands.js.map +1 -0
  61. package/dist/src/cli/heartbeat/types.d.ts +11 -0
  62. package/dist/src/cli/heartbeat/types.d.ts.map +1 -0
  63. package/dist/src/cli/heartbeat/types.js +2 -0
  64. package/dist/src/cli/heartbeat/types.js.map +1 -0
  65. package/dist/src/cli/heartbeat/worker.d.ts +5 -0
  66. package/dist/src/cli/heartbeat/worker.d.ts.map +1 -0
  67. package/dist/src/cli/heartbeat/worker.js +92 -0
  68. package/dist/src/cli/heartbeat/worker.js.map +1 -0
  69. package/dist/src/cli/heartbeat.d.ts +4 -18
  70. package/dist/src/cli/heartbeat.d.ts.map +1 -1
  71. package/dist/src/cli/heartbeat.js +9 -525
  72. package/dist/src/cli/heartbeat.js.map +1 -1
  73. package/dist/src/core/chat/conversation-lines.d.ts +4 -0
  74. package/dist/src/core/chat/conversation-lines.d.ts.map +1 -0
  75. package/dist/src/core/chat/conversation-lines.js +48 -0
  76. package/dist/src/core/chat/conversation-lines.js.map +1 -0
  77. package/dist/src/core/chat/failure-messages.d.ts +6 -0
  78. package/dist/src/core/chat/failure-messages.d.ts.map +1 -0
  79. package/dist/src/core/chat/failure-messages.js +24 -0
  80. package/dist/src/core/chat/failure-messages.js.map +1 -0
  81. package/dist/src/core/chat/session-submit.d.ts.map +1 -1
  82. package/dist/src/core/chat/session-submit.js +3 -1
  83. package/dist/src/core/chat/session-submit.js.map +1 -1
  84. package/dist/src/core/chat/storage.js +1 -1
  85. package/dist/src/core/chat/storage.js.map +1 -1
  86. package/dist/src/core/chat/trace-summary.d.ts +4 -0
  87. package/dist/src/core/chat/trace-summary.d.ts.map +1 -0
  88. package/dist/src/core/chat/trace-summary.js +64 -0
  89. package/dist/src/core/chat/trace-summary.js.map +1 -0
  90. package/dist/src/core/runtime/heartbeat-lucid.d.ts +2 -1
  91. package/dist/src/core/runtime/heartbeat-lucid.d.ts.map +1 -1
  92. package/dist/src/core/runtime/heartbeat-lucid.js.map +1 -1
  93. package/dist/src/core/runtime/heartbeat-scheduler.d.ts +3 -58
  94. package/dist/src/core/runtime/heartbeat-scheduler.d.ts.map +1 -1
  95. package/dist/src/core/runtime/heartbeat-scheduler.js +6 -177
  96. package/dist/src/core/runtime/heartbeat-scheduler.js.map +1 -1
  97. package/dist/src/core/runtime/heartbeat-task-state.d.ts +5 -0
  98. package/dist/src/core/runtime/heartbeat-task-state.d.ts.map +1 -0
  99. package/dist/src/core/runtime/heartbeat-task-state.js +81 -0
  100. package/dist/src/core/runtime/heartbeat-task-state.js.map +1 -0
  101. package/dist/src/core/runtime/heartbeat-task-store.d.ts +63 -0
  102. package/dist/src/core/runtime/heartbeat-task-store.d.ts.map +1 -0
  103. package/dist/src/core/runtime/heartbeat-task-store.js +95 -0
  104. package/dist/src/core/runtime/heartbeat-task-store.js.map +1 -0
  105. package/dist/src/core/runtime/heartbeat-views.d.ts +1 -1
  106. package/dist/src/core/runtime/heartbeat-views.d.ts.map +1 -1
  107. package/dist/src/core/utils/text.d.ts +2 -0
  108. package/dist/src/core/utils/text.d.ts.map +1 -0
  109. package/dist/src/core/utils/text.js +7 -0
  110. package/dist/src/core/utils/text.js.map +1 -0
  111. package/dist/src/index.d.ts +4 -2
  112. package/dist/src/index.d.ts.map +1 -1
  113. package/dist/src/index.js +2 -1
  114. package/dist/src/index.js.map +1 -1
  115. package/dist/src/server/features/control-plane/router.d.ts +7 -0
  116. package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
  117. package/dist/src/server/features/control-plane/router.js +7 -0
  118. package/dist/src/server/features/control-plane/router.js.map +1 -1
  119. package/dist/src/server/features/control-plane/services/layout-snapshots.d.ts +6 -0
  120. package/dist/src/server/features/control-plane/services/layout-snapshots.d.ts.map +1 -0
  121. package/dist/src/server/features/control-plane/services/layout-snapshots.js +68 -0
  122. package/dist/src/server/features/control-plane/services/layout-snapshots.js.map +1 -0
  123. package/dist/src/server/router.d.ts +7 -0
  124. package/dist/src/server/router.d.ts.map +1 -1
  125. package/dist/src/web/assets/index-C9ux8zc8.js +12 -0
  126. package/dist/src/web/assets/index-D6c7O-7y.css +2 -0
  127. package/dist/src/web/index.html +2 -2
  128. package/package.json +15 -16
  129. package/dist/examples/conversation.d.ts +0 -2
  130. package/dist/examples/conversation.d.ts.map +0 -1
  131. package/dist/examples/conversation.js +0 -3
  132. package/dist/examples/conversation.js.map +0 -1
  133. package/dist/src/core/chat/format.d.ts +0 -12
  134. package/dist/src/core/chat/format.d.ts.map +0 -1
  135. package/dist/src/core/chat/format.js +0 -139
  136. package/dist/src/core/chat/format.js.map +0 -1
  137. package/dist/src/web/assets/index-B5Df7Ey_.js +0 -12
  138. package/dist/src/web/assets/index-Cu-enbes.css +0 -1
package/README.md CHANGED
@@ -60,6 +60,16 @@ Saved session review in the control plane, with conversation history in the cent
60
60
 
61
61
  ![Heddle control plane session review](docs/images/control-plane-session-review.png)
62
62
 
63
+ ### Mobile control plane
64
+
65
+ The control plane also has a phone-oriented layout for checking sessions, reading the latest conversation, and reviewing evidence from another device:
66
+
67
+ <p>
68
+ <img src="docs/images/mobile-control-plane-sessions.png" alt="Heddle mobile session list" width="240">
69
+ <img src="docs/images/mobile-control-plane-chat.png" alt="Heddle mobile chat view" width="240">
70
+ <img src="docs/images/mobile-control-plane-review.png" alt="Heddle mobile review evidence" width="240">
71
+ </p>
72
+
63
73
  ## 2-Minute Try-It Path
64
74
 
65
75
  1. Install Heddle:
@@ -143,7 +153,7 @@ It gives you a browser-based view into sessions, run state, heartbeat tasks, and
143
153
 
144
154
  If terminal chat is the execution surface, the control plane is the oversight surface.
145
155
 
146
- This is useful if you want a more inspectable and operator-friendly workflow than a plain CLI transcript.
156
+ This is useful if you want a more inspectable and operator-friendly workflow than a plain CLI transcript. The layout adapts for phone use as well, with mobile-native session navigation, bottom root navigation, a compact chat composer, and dedicated session info/review views.
147
157
 
148
158
  More: [Control plane guide](docs/guides/control-plane.md)
149
159
 
@@ -2,7 +2,7 @@
2
2
  // Example: Repo Investigator
3
3
  //
4
4
  // Usage:
5
- // OPENAI_API_KEY=sk-... npx tsx examples/repo-investigator.ts "What does this project do?"
5
+ // OPENAI_API_KEY=sk-... yarn example:repo-investigator "What does this project do?"
6
6
  // ---------------------------------------------------------------------------
7
7
  import { writeFileSync, mkdirSync } from 'node:fs';
8
8
  import { join } from 'node:path';
@@ -10,7 +10,7 @@ import { DEFAULT_OPENAI_MODEL, runAgent, createOpenAiAdapter, listFilesTool, rea
10
10
  async function main() {
11
11
  const goal = process.argv[2];
12
12
  if (!goal) {
13
- console.error('Usage: npx tsx examples/repo-investigator.ts "<goal>"');
13
+ console.error('Usage: yarn example:repo-investigator "<goal>"');
14
14
  process.exit(1);
15
15
  }
16
16
  const model = process.env.OPENAI_MODEL ?? DEFAULT_OPENAI_MODEL;
@@ -1 +1 @@
1
- {"version":3,"file":"repo-investigator.js","sourceRoot":"","sources":["../../examples/repo-investigator.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6BAA6B;AAC7B,EAAE;AACF,SAAS;AACT,6FAA6F;AAC7F,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,oBAAoB,CAAC;IAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAEtE,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAExE,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAC9B,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB;KAC1E,CAAC,CAAC;IACH,MAAM,KAAK,GAAG;QACZ,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,eAAe;QACf,yBAAyB,EAAE;QAC3B,wBAAwB,EAAE;KAC3B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtE,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjD,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7D,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"repo-investigator.js","sourceRoot":"","sources":["../../examples/repo-investigator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,2CA6gB9D"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,2CAgR9D"}
@@ -1,57 +1,40 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useRef, useState, useCallback } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import { Box, Text } from 'ink';
4
4
  import { ApprovalComposer, CommandHintPanel, ConversationPanel, FileMentionPickerPanel, ModelPickerPanel, PromptInput, SessionPickerPanel, shouldShowCommandHint, shouldShowSlashHints, SlashHintPanel, } from './components/index.js';
5
- import { estimateBuiltInContextWindow, filterBuiltInModels } from '../../core/llm/openai-models.js';
5
+ import { estimateBuiltInContextWindow } from '../../core/llm/openai-models.js';
6
6
  import { useApprovalFlow } from './hooks/useApprovalFlow.js';
7
7
  import { useAgentRun } from './hooks/useAgentRun.js';
8
+ import { useChatDrift } from './hooks/useChatDrift.js';
9
+ import { useChatPickers } from './hooks/useChatPickers.js';
8
10
  import { useChatSessions } from './hooks/useChatSessions.js';
9
- import { submitChatPrompt } from './submit.js';
10
- import { driftFooterColor, formatDriftFooter } from './utils/drift-footer.js';
11
+ import { useLocalIds } from './hooks/useLocalIds.js';
12
+ import { usePromptDraft } from './hooks/usePromptDraft.js';
13
+ import { usePromptSubmission } from './hooks/usePromptSubmission.js';
11
14
  import { currentActivityText } from './utils/format.js';
12
- import { buildPromptWithFileMentions, filterMentionableFiles, getMentionQuery, insertMentionSelection, listMentionableFiles } from './utils/file-mentions.js';
15
+ import { listMentionableFiles } from './utils/file-mentions.js';
13
16
  const SESSION_TITLE_MODEL = 'gpt-5.1-codex-mini';
14
17
  export function App({ runtime }) {
15
- const nextIdRef = useRef(0);
18
+ const nextLocalId = useLocalIds();
16
19
  const [activeModel, setActiveModel] = useState(runtime.model);
17
- const [draft, setDraft] = useState('');
18
- const [draftCursor, setDraftCursor] = useState(0);
19
- const [pendingSubmittedPrompt, setPendingSubmittedPrompt] = useState();
20
- const [driftEnabled, setDriftEnabledState] = useState(true);
21
- const [driftLevel, setDriftLevel] = useState('unknown');
22
- const [driftError, setDriftError] = useState();
23
- const [modelPickerIndex, setModelPickerIndex] = useState(0);
24
- const [sessionPickerIndex, setSessionPickerIndex] = useState(0);
25
- const [fileMentionPickerIndex, setFileMentionPickerIndex] = useState(0);
26
- const nextLocalId = () => `ui-${Date.now()}-${nextIdRef.current++}`;
20
+ const { draft, setDraft, draftCursor, setDraftCursor, clearDraft, replaceDraft, } = usePromptDraft();
27
21
  const mentionableFiles = useState(() => listMentionableFiles(runtime.workspaceRoot, runtime.searchIgnoreDirs))[0];
28
- const mentionQuery = getMentionQuery(draft);
29
- const fileMentionPickerVisible = mentionQuery !== undefined;
30
- const filteredMentionFiles = fileMentionPickerVisible ? filterMentionableFiles(mentionableFiles, mentionQuery) : [];
31
- const safeFileMentionPickerIndex = filteredMentionFiles.length === 0 ? 0 : Math.min(fileMentionPickerIndex, Math.max(0, filteredMentionFiles.length - 1));
32
- const highlightedMentionFile = filteredMentionFiles[safeFileMentionPickerIndex];
33
- const modelPickerQuery = getModelPickerQuery(draft);
34
- const modelPickerVisible = modelPickerQuery !== undefined;
35
- const filteredModels = modelPickerVisible ? filterBuiltInModels(modelPickerQuery) : [];
36
- const safeModelPickerIndex = filteredModels.length === 0 ? 0 : Math.min(modelPickerIndex, Math.max(0, filteredModels.length - 1));
37
- const highlightedModel = filteredModels[safeModelPickerIndex];
38
22
  const { sessions, activeSessionId, setActiveSessionId, activeSession, recentSessions, listRecentSessionsMessage, updateSessionById, updateActiveSession, setSessionModel, createSession, renameSession, removeSession, } = useChatSessions({
39
23
  sessionCatalogFile: runtime.sessionCatalogFile,
40
24
  apiKeyPresent: Boolean(runtime.apiKey),
41
25
  defaultModel: runtime.model,
42
26
  });
43
- const sessionPickerQuery = getSessionPickerQuery(draft);
44
- const sessionPickerVisible = sessionPickerQuery !== undefined;
45
- const filteredSessions = sessionPickerVisible ? filterSessionsForPicker(recentSessions, sessionPickerQuery) : [];
46
- const safeSessionPickerIndex = filteredSessions.length === 0 ? 0 : Math.min(sessionPickerIndex, Math.max(0, filteredSessions.length - 1));
47
- const highlightedSession = filteredSessions[safeSessionPickerIndex];
48
- const preparePromptWithMentions = (prompt) => {
49
- const prepared = buildPromptWithFileMentions(prompt, runtime.workspaceRoot, mentionableFiles);
50
- return {
51
- prompt: prepared.runPrompt,
52
- displayText: prompt,
53
- };
54
- };
27
+ const pickers = useChatPickers({
28
+ draft,
29
+ recentSessions,
30
+ mentionableFiles,
31
+ clearDraft,
32
+ replaceDraft,
33
+ });
34
+ const drift = useChatDrift({
35
+ activeSession,
36
+ updateActiveSession,
37
+ });
55
38
  useEffect(() => {
56
39
  if (!activeSession) {
57
40
  return;
@@ -61,21 +44,10 @@ export function App({ runtime }) {
61
44
  setActiveModel(sessionModel);
62
45
  }
63
46
  }, [activeModel, activeSession, runtime.model]);
64
- useEffect(() => {
65
- if (!activeSession) {
66
- return;
67
- }
68
- const sessionDriftEnabled = activeSession.driftEnabled ?? true;
69
- if (sessionDriftEnabled !== driftEnabled) {
70
- setDriftEnabledState(sessionDriftEnabled);
71
- }
72
- }, [activeSession, driftEnabled]);
73
47
  const { status, setStatus, isRunning, error, liveEvents, workingFrame, elapsedSeconds, pendingApproval, approvalChoice, interruptRequested, currentAssistantText, currentPlan, resetRunState, actionState, workingFrames, } = useApprovalFlow(nextLocalId);
74
48
  const messages = activeSession?.messages ?? [];
75
49
  const activityText = currentActivityText(liveEvents, isRunning, elapsedSeconds, pendingApproval, interruptRequested);
76
50
  const contextStatus = formatContextStatus(activeModel, activeSession?.context?.lastRunInputTokens ?? activeSession?.context?.estimatedRequestTokens);
77
- const driftFooter = formatDriftFooter(driftEnabled, driftLevel, driftError);
78
- const driftColor = driftFooterColor(driftEnabled, driftLevel, driftError);
79
51
  const sessionFooter = `session=${activeSession?.id ?? activeSessionId}${activeSession?.name ? ` (${activeSession.name})` : ''}`;
80
52
  const activityLines = liveEvents
81
53
  .slice(-4)
@@ -101,8 +73,7 @@ export function App({ runtime }) {
101
73
  : undefined;
102
74
  const switchSession = (id) => {
103
75
  setActiveSessionId(id);
104
- setDraft('');
105
- setDraftCursor(0);
76
+ clearDraft();
106
77
  resetRunState({ abortInFlight: true });
107
78
  };
108
79
  const applyActiveModel = (model) => {
@@ -111,35 +82,14 @@ export function App({ runtime }) {
111
82
  setSessionModel(activeSession.id, model);
112
83
  }
113
84
  };
114
- const applyDriftEnabled = useCallback((enabled) => {
115
- setDriftEnabledState(enabled);
116
- setDriftError(undefined);
117
- updateActiveSession((session) => ({
118
- ...session,
119
- driftEnabled: enabled,
120
- }));
121
- }, [updateActiveSession]);
122
85
  const closeSession = (id) => {
123
86
  const removedActive = removeSession(id);
124
87
  if (removedActive) {
125
- setDraft('');
126
- setDraftCursor(0);
127
- setPendingSubmittedPrompt(undefined);
88
+ clearDraft();
89
+ clearPendingSubmittedPrompt();
128
90
  resetRunState({ abortInFlight: true });
129
91
  }
130
92
  };
131
- const appendPendingUserMessage = useCallback((prompt) => {
132
- const message = {
133
- id: nextLocalId(),
134
- role: 'user',
135
- text: prompt,
136
- isPending: true,
137
- };
138
- updateActiveSession((session) => ({
139
- ...session,
140
- messages: [...session.messages, message],
141
- }));
142
- }, [updateActiveSession]);
143
93
  const { executeTurn, executeDirectShellCommand } = useAgentRun({
144
94
  runtime,
145
95
  activeModel,
@@ -149,284 +99,61 @@ export function App({ runtime }) {
149
99
  state: actionState,
150
100
  updateSessionById,
151
101
  updateActiveSession,
152
- drift: {
153
- enabled: driftEnabled,
154
- onRunStart: () => {
155
- setDriftLevel('unknown');
156
- setDriftError(undefined);
157
- },
158
- onAnnotation: (annotation) => setDriftLevel(annotation.driftLevel),
159
- onError: (error) => setDriftError(error instanceof Error ? error.message : String(error)),
160
- },
102
+ drift: drift.observer,
161
103
  });
162
- const submitPrompt = useCallback(async (value, options) => {
163
- const effectiveIsRunning = options?.allowWhileRunning ? false : isRunning;
164
- if (effectiveIsRunning && !pendingApproval) {
165
- setPendingSubmittedPrompt(value);
166
- appendPendingUserMessage(value);
167
- return;
168
- }
169
- if (options?.allowWhileRunning && pendingSubmittedPrompt === value) {
170
- updateActiveSession((session) => {
171
- const pendingIndex = session.messages.findIndex((message) => message.role === 'user' && message.text === value && message.isPending);
172
- if (pendingIndex < 0) {
173
- return session;
174
- }
175
- return {
176
- ...session,
177
- messages: session.messages.map((message, index) => index === pendingIndex ? { ...message, isPending: false } : message),
178
- };
179
- });
180
- }
181
- if (modelPickerVisible && highlightedModel) {
182
- setDraft('');
183
- setDraftCursor(0);
184
- setModelPickerIndex(0);
185
- await submitChatPrompt({
186
- value: `/model ${highlightedModel}`,
187
- isRunning: effectiveIsRunning,
188
- activeModel,
189
- setActiveModel: applyActiveModel,
190
- sessions,
191
- recentSessions,
192
- activeSessionId,
193
- activeSession,
194
- apiKeyPresent: Boolean(runtime.apiKey),
195
- nextLocalId,
196
- setStatus,
197
- switchSession,
198
- closeSession,
199
- updateSessionById,
200
- updateActiveSession,
201
- createSession,
202
- renameSession,
203
- listRecentSessionsMessage,
204
- driftEnabled,
205
- driftError,
206
- setDriftEnabled: applyDriftEnabled,
207
- workspaceRoot: runtime.workspaceRoot,
208
- stateRoot: runtime.stateRoot,
209
- preparePrompt: preparePromptWithMentions,
210
- executeTurn,
211
- executeDirectShellCommand,
212
- });
213
- return;
214
- }
215
- if (sessionPickerVisible && highlightedSession) {
216
- setDraft('');
217
- setDraftCursor(0);
218
- setSessionPickerIndex(0);
219
- await submitChatPrompt({
220
- value: `/session switch ${highlightedSession.id}`,
221
- isRunning: effectiveIsRunning,
222
- activeModel,
223
- setActiveModel: applyActiveModel,
224
- sessions,
225
- recentSessions,
226
- activeSessionId,
227
- activeSession,
228
- apiKeyPresent: Boolean(runtime.apiKey),
229
- nextLocalId,
230
- setStatus,
231
- switchSession,
232
- closeSession,
233
- updateSessionById,
234
- updateActiveSession,
235
- createSession,
236
- renameSession,
237
- listRecentSessionsMessage,
238
- driftEnabled,
239
- driftError,
240
- setDriftEnabled: applyDriftEnabled,
241
- workspaceRoot: runtime.workspaceRoot,
242
- stateRoot: runtime.stateRoot,
243
- preparePrompt: preparePromptWithMentions,
244
- executeTurn,
245
- executeDirectShellCommand,
246
- });
247
- return;
248
- }
249
- if (fileMentionPickerVisible && highlightedMentionFile) {
250
- const nextDraft = insertMentionSelection(value, highlightedMentionFile);
251
- setDraft(nextDraft);
252
- setDraftCursor(nextDraft.length);
253
- setFileMentionPickerIndex(0);
254
- return;
255
- }
256
- setModelPickerIndex(0);
257
- setSessionPickerIndex(0);
258
- setFileMentionPickerIndex(0);
259
- await submitChatPrompt({
260
- value,
261
- isRunning: effectiveIsRunning,
262
- activeModel,
263
- setActiveModel: applyActiveModel,
264
- sessions,
265
- recentSessions,
266
- activeSessionId,
267
- activeSession,
268
- apiKeyPresent: Boolean(runtime.apiKey),
269
- nextLocalId,
270
- setStatus,
271
- switchSession,
272
- closeSession,
273
- updateSessionById,
274
- updateActiveSession,
275
- createSession,
276
- renameSession,
277
- listRecentSessionsMessage,
278
- driftEnabled,
279
- driftError,
280
- setDriftEnabled: applyDriftEnabled,
281
- workspaceRoot: runtime.workspaceRoot,
282
- stateRoot: runtime.stateRoot,
283
- preparePrompt: preparePromptWithMentions,
284
- executeTurn,
285
- executeDirectShellCommand,
286
- });
287
- }, [
288
- isRunning,
289
- pendingApproval,
290
- modelPickerVisible,
291
- highlightedModel,
292
- sessionPickerVisible,
293
- highlightedSession,
294
- fileMentionPickerVisible,
295
- highlightedMentionFile,
104
+ const { pendingSubmittedPrompt, clearPendingSubmittedPrompt, submitPrompt } = usePromptSubmission({
105
+ runtime,
296
106
  activeModel,
107
+ setActiveModel: applyActiveModel,
297
108
  sessions,
298
109
  recentSessions,
299
110
  activeSessionId,
300
111
  activeSession,
301
- runtime.apiKey,
112
+ apiKeyPresent: Boolean(runtime.apiKey),
113
+ nextLocalId,
302
114
  setStatus,
115
+ switchSession,
116
+ closeSession,
303
117
  updateSessionById,
304
118
  updateActiveSession,
305
119
  createSession,
306
120
  renameSession,
307
121
  listRecentSessionsMessage,
308
- driftEnabled,
309
- driftError,
310
- applyDriftEnabled,
122
+ driftEnabled: drift.enabled,
123
+ driftError: drift.error,
124
+ setDriftEnabled: drift.setEnabled,
125
+ isRunning,
126
+ pendingApproval,
311
127
  executeTurn,
312
128
  executeDirectShellCommand,
313
- appendPendingUserMessage,
314
129
  mentionableFiles,
315
- runtime.workspaceRoot,
316
- preparePromptWithMentions,
317
- ]);
318
- useEffect(() => {
319
- if (isRunning || pendingApproval || !pendingSubmittedPrompt) {
320
- return;
321
- }
322
- const queuedPrompt = pendingSubmittedPrompt;
323
- setPendingSubmittedPrompt(undefined);
324
- void submitPrompt(queuedPrompt, { allowWhileRunning: true });
325
- }, [isRunning, pendingApproval, pendingSubmittedPrompt, submitPrompt]);
130
+ modelPicker: pickers.model,
131
+ sessionPicker: pickers.session,
132
+ fileMentionPicker: pickers.fileMention,
133
+ resetPickerIndexes: pickers.resetPickerIndexes,
134
+ });
326
135
  return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { bold: true, children: ["Heddle", _jsx(Text, { dimColor: true, children: ` • ${activeSession?.name ?? 'unknown'} • model=${activeModel} • steps=${runtime.maxSteps}` })] }), _jsxs(Text, { color: error ? 'red' : isRunning ? 'yellow' : 'green', children: ["status=", pendingApproval ? 'awaiting approval' : interruptRequested ? 'interrupt requested' : isRunning ? 'running' : status] }), _jsx(Text, { dimColor: true, children: pendingApproval ? '←/→ choose • Enter confirms • A remembers for this project • Esc denies • Ctrl+C exits'
327
136
  : isRunning ? 'Type freely • Enter queues prompt • Esc requests stop after the current step • Ctrl+C exits'
328
137
  : 'Enter sends • /help shows commands • !command runs shell • Ctrl+C exits' })] }), _jsx(ConversationPanel, { messages: messages, activeTurn: activeTurn }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: pendingApproval ? 'yellow' : isRunning ? 'yellow' : 'cyan', paddingX: 1, paddingY: 0, children: [_jsx(Text, { bold: true, color: pendingApproval ? 'yellow' : undefined, children: pendingApproval ? 'Approval Required' : isRunning ? `Working${workingFrames[workingFrame]}` : 'Prompt' }), pendingApproval ?
329
138
  _jsx(ApprovalComposer, { pendingApproval: pendingApproval, approvalChoice: approvalChoice })
330
- : _jsxs(_Fragment, { children: [modelPickerVisible ?
331
- _jsx(ModelPickerPanel, { query: modelPickerQuery, models: filteredModels, activeModel: activeModel, highlightedIndex: safeModelPickerIndex })
332
- : null, sessionPickerVisible ?
333
- _jsx(SessionPickerPanel, { query: sessionPickerQuery, sessions: filteredSessions, activeSessionId: activeSessionId, highlightedIndex: safeSessionPickerIndex })
334
- : null, fileMentionPickerVisible ?
335
- _jsx(FileMentionPickerPanel, { query: mentionQuery, files: filteredMentionFiles, highlightedIndex: safeFileMentionPickerIndex })
139
+ : _jsxs(_Fragment, { children: [pickers.model.visible ?
140
+ _jsx(ModelPickerPanel, { query: pickers.model.query ?? '', models: pickers.model.items, activeModel: activeModel, highlightedIndex: pickers.model.highlightedIndex })
141
+ : null, pickers.session.visible ?
142
+ _jsx(SessionPickerPanel, { query: pickers.session.query ?? '', sessions: pickers.session.items, activeSessionId: activeSessionId, highlightedIndex: pickers.session.highlightedIndex })
143
+ : null, pickers.fileMention.visible ?
144
+ _jsx(FileMentionPickerPanel, { query: pickers.fileMention.query ?? '', files: pickers.fileMention.items, highlightedIndex: pickers.fileMention.highlightedIndex })
336
145
  : null, shouldShowSlashHints(draft) ?
337
146
  _jsx(SlashHintPanel, { draft: draft, activeSessionId: activeSession?.id ?? '', sessions: sessions })
338
147
  : shouldShowCommandHint(draft) ?
339
148
  _jsx(CommandHintPanel, { draft: draft })
340
- : null, _jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ['>', " "] }), _jsx(Box, { flexGrow: 1, children: _jsx(PromptInput, { value: draft, cursor: draftCursor, isDisabled: Boolean(pendingApproval), placeholder: isRunning ? "Keep typing while Heddle works" : "Ask Heddle about this project", maxVisibleLines: 10, onChange: setDraft, onCursorChange: setDraftCursor, onSpecialKey: ({ key }) => {
341
- if (modelPickerVisible) {
342
- return handlePickerKeys({
343
- key,
344
- itemCount: filteredModels.length,
345
- resetDraft: () => {
346
- setDraft('');
347
- setDraftCursor(0);
348
- },
349
- resetIndex: () => setModelPickerIndex(0),
350
- advance: () => setModelPickerIndex((current) => (current + 1) % filteredModels.length),
351
- retreat: () => setModelPickerIndex((current) => (current <= 0 ? filteredModels.length - 1 : current - 1)),
352
- });
353
- }
354
- if (sessionPickerVisible) {
355
- return handlePickerKeys({
356
- key,
357
- itemCount: filteredSessions.length,
358
- resetDraft: () => {
359
- setDraft('');
360
- setDraftCursor(0);
361
- },
362
- resetIndex: () => setSessionPickerIndex(0),
363
- advance: () => setSessionPickerIndex((current) => (current + 1) % filteredSessions.length),
364
- retreat: () => setSessionPickerIndex((current) => (current <= 0 ? filteredSessions.length - 1 : current - 1)),
365
- });
366
- }
367
- if (fileMentionPickerVisible) {
368
- return handlePickerKeys({
369
- key,
370
- itemCount: filteredMentionFiles.length,
371
- resetDraft: () => {
372
- setDraft('');
373
- setDraftCursor(0);
374
- },
375
- resetIndex: () => setFileMentionPickerIndex(0),
376
- advance: () => setFileMentionPickerIndex((current) => (current + 1) % filteredMentionFiles.length),
377
- retreat: () => setFileMentionPickerIndex((current) => (current <= 0 ? filteredMentionFiles.length - 1 : current - 1)),
378
- });
379
- }
380
- return false;
381
- }, onSubmit: (value) => {
382
- setDraft('');
383
- setDraftCursor(0);
149
+ : null, _jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ['>', " "] }), _jsx(Box, { flexGrow: 1, children: _jsx(PromptInput, { value: draft, cursor: draftCursor, isDisabled: Boolean(pendingApproval), placeholder: isRunning ? "Keep typing while Heddle works" : "Ask Heddle about this project", maxVisibleLines: 10, onChange: setDraft, onCursorChange: setDraftCursor, onSpecialKey: pickers.handleSpecialKey, onSubmit: (value) => {
150
+ clearDraft();
384
151
  void submitPrompt(value);
385
152
  } }) })] }), _jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { dimColor: true, children: draft ? `${draft.length} chars`
386
153
  : isRunning ? 'Enter to queue'
387
154
  : 'Enter to send' }), _jsx(Text, { dimColor: true, children: pendingSubmittedPrompt ? '1 queued'
388
155
  : isRunning ? `${elapsedSeconds}s elapsed`
389
- : '' })] })] })] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: `model=${activeModel} • ${contextStatus} • ` }), _jsx(Text, { color: driftColor, dimColor: !driftColor, children: `drift=${driftFooter}` }), _jsx(Text, { dimColor: true, children: ` • ${sessionFooter}` })] })] }));
390
- }
391
- function getModelPickerQuery(draft) {
392
- const trimmedStart = draft.trimStart();
393
- if (!trimmedStart.startsWith('/model set')) {
394
- return undefined;
395
- }
396
- const remainder = trimmedStart.slice('/model set'.length);
397
- return remainder.trim();
398
- }
399
- function getSessionPickerQuery(draft) {
400
- const trimmedStart = draft.trimStart();
401
- if (!trimmedStart.startsWith('/session choose')) {
402
- return undefined;
403
- }
404
- const remainder = trimmedStart.slice('/session choose'.length);
405
- return remainder.trim();
406
- }
407
- function filterSessionsForPicker(sessions, query) {
408
- const normalized = query.trim().toLowerCase();
409
- if (!normalized) {
410
- return sessions;
411
- }
412
- return sessions.filter((session) => session.id.toLowerCase().includes(normalized) ||
413
- session.name.toLowerCase().includes(normalized));
414
- }
415
- function handlePickerKeys(options) {
416
- if ((options.key.upArrow || options.key.leftArrow) && options.itemCount > 0) {
417
- options.retreat();
418
- return true;
419
- }
420
- if ((options.key.downArrow || options.key.rightArrow || options.key.tab) && options.itemCount > 0) {
421
- options.advance();
422
- return true;
423
- }
424
- if (options.key.escape) {
425
- options.resetDraft();
426
- options.resetIndex();
427
- return true;
428
- }
429
- return false;
156
+ : '' })] })] })] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: `model=${activeModel} • ${contextStatus} • ` }), _jsx(Text, { color: drift.color, dimColor: !drift.color, children: `drift=${drift.footer}` }), _jsx(Text, { dimColor: true, children: ` • ${sessionFooter}` })] })] }));
430
157
  }
431
158
  function formatContextStatus(model, estimatedRequestTokens) {
432
159
  if (estimatedRequestTokens === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/cli/chat/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { CyberLoopDriftLevel, CyberLoopObserverAnnotation } from '../../../index.js';
2
+ import type { ChatSession } from '../state/types.js';
3
+ type ActiveSessionUpdater = (updater: (session: ChatSession) => ChatSession) => void;
4
+ export declare function useChatDrift({ activeSession, updateActiveSession, }: {
5
+ activeSession?: ChatSession;
6
+ updateActiveSession: ActiveSessionUpdater;
7
+ }): {
8
+ enabled: boolean;
9
+ level: CyberLoopDriftLevel;
10
+ error: string | undefined;
11
+ setEnabled: (nextEnabled: boolean) => void;
12
+ observer: {
13
+ enabled: boolean;
14
+ onRunStart: () => void;
15
+ onAnnotation: (annotation: CyberLoopObserverAnnotation) => void;
16
+ onError: (caught: unknown) => void;
17
+ };
18
+ footer: string;
19
+ color: import("../utils/drift-footer.js").DriftFooterColor;
20
+ };
21
+ export {};
22
+ //# sourceMappingURL=useChatDrift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatDrift.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useChatDrift.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;AAErF,wBAAgB,YAAY,CAAC,EAC3B,aAAa,EACb,mBAAmB,GACpB,EAAE;IACD,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,mBAAmB,EAAE,oBAAoB,CAAC;CAC3C;;;;8BAgB8C,OAAO;;;;mCAevB,2BAA2B;0BACpC,OAAO;;;;EAY5B"}