@murphai/murph 0.1.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 (301) hide show
  1. package/CHANGELOG.md +2009 -0
  2. package/LICENSE +674 -0
  3. package/README.md +97 -0
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/assistant/automation/run-loop.d.ts +21 -0
  6. package/dist/assistant/automation/run-loop.d.ts.map +1 -0
  7. package/dist/assistant/automation/run-loop.js +31 -0
  8. package/dist/assistant/automation/run-loop.js.map +1 -0
  9. package/dist/assistant/automation.d.ts +10 -0
  10. package/dist/assistant/automation.d.ts.map +1 -0
  11. package/dist/assistant/automation.js +5 -0
  12. package/dist/assistant/automation.js.map +1 -0
  13. package/dist/assistant/cron.d.ts +19 -0
  14. package/dist/assistant/cron.d.ts.map +1 -0
  15. package/dist/assistant/cron.js +59 -0
  16. package/dist/assistant/cron.js.map +1 -0
  17. package/dist/assistant/doctor-security.d.ts +15 -0
  18. package/dist/assistant/doctor-security.d.ts.map +1 -0
  19. package/dist/assistant/doctor-security.js +172 -0
  20. package/dist/assistant/doctor-security.js.map +1 -0
  21. package/dist/assistant/doctor.d.ts +5 -0
  22. package/dist/assistant/doctor.d.ts.map +1 -0
  23. package/dist/assistant/doctor.js +527 -0
  24. package/dist/assistant/doctor.js.map +1 -0
  25. package/dist/assistant/outbox.d.ts +19 -0
  26. package/dist/assistant/outbox.d.ts.map +1 -0
  27. package/dist/assistant/outbox.js +28 -0
  28. package/dist/assistant/outbox.js.map +1 -0
  29. package/dist/assistant/provider-catalog.d.ts +61 -0
  30. package/dist/assistant/provider-catalog.d.ts.map +1 -0
  31. package/dist/assistant/provider-catalog.js +205 -0
  32. package/dist/assistant/provider-catalog.js.map +1 -0
  33. package/dist/assistant/service.d.ts +85 -0
  34. package/dist/assistant/service.d.ts.map +1 -0
  35. package/dist/assistant/service.js +26 -0
  36. package/dist/assistant/service.js.map +1 -0
  37. package/dist/assistant/status.d.ts +9 -0
  38. package/dist/assistant/status.d.ts.map +1 -0
  39. package/dist/assistant/status.js +16 -0
  40. package/dist/assistant/status.js.map +1 -0
  41. package/dist/assistant/stop.d.ts +20 -0
  42. package/dist/assistant/stop.d.ts.map +1 -0
  43. package/dist/assistant/stop.js +142 -0
  44. package/dist/assistant/stop.js.map +1 -0
  45. package/dist/assistant/store.d.ts +6 -0
  46. package/dist/assistant/store.d.ts.map +1 -0
  47. package/dist/assistant/store.js +21 -0
  48. package/dist/assistant/store.js.map +1 -0
  49. package/dist/assistant/ui/ink.d.ts +247 -0
  50. package/dist/assistant/ui/ink.d.ts.map +1 -0
  51. package/dist/assistant/ui/ink.js +2417 -0
  52. package/dist/assistant/ui/ink.js.map +1 -0
  53. package/dist/assistant/ui/theme.d.ts +64 -0
  54. package/dist/assistant/ui/theme.d.ts.map +1 -0
  55. package/dist/assistant/ui/theme.js +180 -0
  56. package/dist/assistant/ui/theme.js.map +1 -0
  57. package/dist/assistant/ui/view-model.d.ts +89 -0
  58. package/dist/assistant/ui/view-model.d.ts.map +1 -0
  59. package/dist/assistant/ui/view-model.js +298 -0
  60. package/dist/assistant/ui/view-model.js.map +1 -0
  61. package/dist/assistant-chat-ink.d.ts +2 -0
  62. package/dist/assistant-chat-ink.d.ts.map +1 -0
  63. package/dist/assistant-chat-ink.js +2 -0
  64. package/dist/assistant-chat-ink.js.map +1 -0
  65. package/dist/assistant-daemon-client.d.ts +81 -0
  66. package/dist/assistant-daemon-client.d.ts.map +1 -0
  67. package/dist/assistant-daemon-client.js +473 -0
  68. package/dist/assistant-daemon-client.js.map +1 -0
  69. package/dist/assistant-runtime.d.ts +25 -0
  70. package/dist/assistant-runtime.d.ts.map +1 -0
  71. package/dist/assistant-runtime.js +17 -0
  72. package/dist/assistant-runtime.js.map +1 -0
  73. package/dist/bin.d.ts +3 -0
  74. package/dist/bin.d.ts.map +1 -0
  75. package/dist/bin.js +7 -0
  76. package/dist/bin.js.map +1 -0
  77. package/dist/cli-entry.d.ts +10 -0
  78. package/dist/cli-entry.d.ts.map +1 -0
  79. package/dist/cli-entry.js +127 -0
  80. package/dist/cli-entry.js.map +1 -0
  81. package/dist/commands/assistant.d.ts +5 -0
  82. package/dist/commands/assistant.d.ts.map +1 -0
  83. package/dist/commands/assistant.js +1663 -0
  84. package/dist/commands/assistant.js.map +1 -0
  85. package/dist/commands/audit-command-helpers.d.ts +15 -0
  86. package/dist/commands/audit-command-helpers.d.ts.map +1 -0
  87. package/dist/commands/audit-command-helpers.js +24 -0
  88. package/dist/commands/audit-command-helpers.js.map +1 -0
  89. package/dist/commands/audit.d.ts +4 -0
  90. package/dist/commands/audit.d.ts.map +1 -0
  91. package/dist/commands/audit.js +107 -0
  92. package/dist/commands/audit.js.map +1 -0
  93. package/dist/commands/device.d.ts +4 -0
  94. package/dist/commands/device.d.ts.map +1 -0
  95. package/dist/commands/device.js +177 -0
  96. package/dist/commands/device.js.map +1 -0
  97. package/dist/commands/document.d.ts +4 -0
  98. package/dist/commands/document.d.ts.map +1 -0
  99. package/dist/commands/document.js +117 -0
  100. package/dist/commands/document.js.map +1 -0
  101. package/dist/commands/event.d.ts +4 -0
  102. package/dist/commands/event.d.ts.map +1 -0
  103. package/dist/commands/event.js +136 -0
  104. package/dist/commands/event.js.map +1 -0
  105. package/dist/commands/experiment.d.ts +4 -0
  106. package/dist/commands/experiment.d.ts.map +1 -0
  107. package/dist/commands/experiment.js +140 -0
  108. package/dist/commands/experiment.js.map +1 -0
  109. package/dist/commands/export-intake-read-helpers.d.ts +150 -0
  110. package/dist/commands/export-intake-read-helpers.d.ts.map +1 -0
  111. package/dist/commands/export-intake-read-helpers.js +328 -0
  112. package/dist/commands/export-intake-read-helpers.js.map +1 -0
  113. package/dist/commands/export.d.ts +4 -0
  114. package/dist/commands/export.d.ts.map +1 -0
  115. package/dist/commands/export.js +179 -0
  116. package/dist/commands/export.js.map +1 -0
  117. package/dist/commands/food.d.ts +4 -0
  118. package/dist/commands/food.d.ts.map +1 -0
  119. package/dist/commands/food.js +190 -0
  120. package/dist/commands/food.js.map +1 -0
  121. package/dist/commands/health-command-factory.d.ts +230 -0
  122. package/dist/commands/health-command-factory.d.ts.map +1 -0
  123. package/dist/commands/health-command-factory.js +551 -0
  124. package/dist/commands/health-command-factory.js.map +1 -0
  125. package/dist/commands/health-entity-command-registry.d.ts +27 -0
  126. package/dist/commands/health-entity-command-registry.d.ts.map +1 -0
  127. package/dist/commands/health-entity-command-registry.js +84 -0
  128. package/dist/commands/health-entity-command-registry.js.map +1 -0
  129. package/dist/commands/inbox.d.ts +5 -0
  130. package/dist/commands/inbox.d.ts.map +1 -0
  131. package/dist/commands/inbox.js +841 -0
  132. package/dist/commands/inbox.js.map +1 -0
  133. package/dist/commands/intake.d.ts +4 -0
  134. package/dist/commands/intake.d.ts.map +1 -0
  135. package/dist/commands/intake.js +175 -0
  136. package/dist/commands/intake.js.map +1 -0
  137. package/dist/commands/intervention.d.ts +4 -0
  138. package/dist/commands/intervention.d.ts.map +1 -0
  139. package/dist/commands/intervention.js +122 -0
  140. package/dist/commands/intervention.js.map +1 -0
  141. package/dist/commands/journal.d.ts +12 -0
  142. package/dist/commands/journal.d.ts.map +1 -0
  143. package/dist/commands/journal.js +186 -0
  144. package/dist/commands/journal.js.map +1 -0
  145. package/dist/commands/meal.d.ts +4 -0
  146. package/dist/commands/meal.d.ts.map +1 -0
  147. package/dist/commands/meal.js +123 -0
  148. package/dist/commands/meal.js.map +1 -0
  149. package/dist/commands/profile.d.ts +4 -0
  150. package/dist/commands/profile.d.ts.map +1 -0
  151. package/dist/commands/profile.js +62 -0
  152. package/dist/commands/profile.js.map +1 -0
  153. package/dist/commands/protocol.d.ts +4 -0
  154. package/dist/commands/protocol.d.ts.map +1 -0
  155. package/dist/commands/protocol.js +79 -0
  156. package/dist/commands/protocol.js.map +1 -0
  157. package/dist/commands/provider.d.ts +4 -0
  158. package/dist/commands/provider.d.ts.map +1 -0
  159. package/dist/commands/provider.js +115 -0
  160. package/dist/commands/provider.js.map +1 -0
  161. package/dist/commands/read.d.ts +4 -0
  162. package/dist/commands/read.d.ts.map +1 -0
  163. package/dist/commands/read.js +55 -0
  164. package/dist/commands/read.js.map +1 -0
  165. package/dist/commands/recipe.d.ts +4 -0
  166. package/dist/commands/recipe.d.ts.map +1 -0
  167. package/dist/commands/recipe.js +116 -0
  168. package/dist/commands/recipe.js.map +1 -0
  169. package/dist/commands/record-mutation-command-helpers.d.ts +196 -0
  170. package/dist/commands/record-mutation-command-helpers.d.ts.map +1 -0
  171. package/dist/commands/record-mutation-command-helpers.js +150 -0
  172. package/dist/commands/record-mutation-command-helpers.js.map +1 -0
  173. package/dist/commands/research.d.ts +3 -0
  174. package/dist/commands/research.d.ts.map +1 -0
  175. package/dist/commands/research.js +104 -0
  176. package/dist/commands/research.js.map +1 -0
  177. package/dist/commands/sample-batch-command-helpers.d.ts +24 -0
  178. package/dist/commands/sample-batch-command-helpers.d.ts.map +1 -0
  179. package/dist/commands/sample-batch-command-helpers.js +99 -0
  180. package/dist/commands/sample-batch-command-helpers.js.map +1 -0
  181. package/dist/commands/sample-import-command-helpers.d.ts +24 -0
  182. package/dist/commands/sample-import-command-helpers.d.ts.map +1 -0
  183. package/dist/commands/sample-import-command-helpers.js +49 -0
  184. package/dist/commands/sample-import-command-helpers.js.map +1 -0
  185. package/dist/commands/sample-query-command-helpers.d.ts +11 -0
  186. package/dist/commands/sample-query-command-helpers.d.ts.map +1 -0
  187. package/dist/commands/sample-query-command-helpers.js +26 -0
  188. package/dist/commands/sample-query-command-helpers.js.map +1 -0
  189. package/dist/commands/samples.d.ts +4 -0
  190. package/dist/commands/samples.d.ts.map +1 -0
  191. package/dist/commands/samples.js +261 -0
  192. package/dist/commands/samples.js.map +1 -0
  193. package/dist/commands/search.d.ts +4 -0
  194. package/dist/commands/search.d.ts.map +1 -0
  195. package/dist/commands/search.js +295 -0
  196. package/dist/commands/search.js.map +1 -0
  197. package/dist/commands/supplement.d.ts +4 -0
  198. package/dist/commands/supplement.d.ts.map +1 -0
  199. package/dist/commands/supplement.js +338 -0
  200. package/dist/commands/supplement.js.map +1 -0
  201. package/dist/commands/vault.d.ts +4 -0
  202. package/dist/commands/vault.d.ts.map +1 -0
  203. package/dist/commands/vault.js +164 -0
  204. package/dist/commands/vault.js.map +1 -0
  205. package/dist/commands/workout.d.ts +4 -0
  206. package/dist/commands/workout.d.ts.map +1 -0
  207. package/dist/commands/workout.js +284 -0
  208. package/dist/commands/workout.js.map +1 -0
  209. package/dist/incur.generated.d.ts +2164 -0
  210. package/dist/incur.generated.d.ts.map +1 -0
  211. package/dist/incur.generated.js +2 -0
  212. package/dist/incur.generated.js.map +1 -0
  213. package/dist/index.d.ts +13 -0
  214. package/dist/index.d.ts.map +1 -0
  215. package/dist/index.js +14 -0
  216. package/dist/index.js.map +1 -0
  217. package/dist/research-cli-contracts.d.ts +22 -0
  218. package/dist/research-cli-contracts.d.ts.map +1 -0
  219. package/dist/research-cli-contracts.js +18 -0
  220. package/dist/research-cli-contracts.js.map +1 -0
  221. package/dist/research-runtime.d.ts +79 -0
  222. package/dist/research-runtime.d.ts.map +1 -0
  223. package/dist/research-runtime.js +351 -0
  224. package/dist/research-runtime.js.map +1 -0
  225. package/dist/run-terminal-logging.d.ts +12 -0
  226. package/dist/run-terminal-logging.d.ts.map +1 -0
  227. package/dist/run-terminal-logging.js +323 -0
  228. package/dist/run-terminal-logging.js.map +1 -0
  229. package/dist/setup-agentmail.d.ts +30 -0
  230. package/dist/setup-agentmail.d.ts.map +1 -0
  231. package/dist/setup-agentmail.js +136 -0
  232. package/dist/setup-agentmail.js.map +1 -0
  233. package/dist/setup-assistant-account.d.ts +29 -0
  234. package/dist/setup-assistant-account.d.ts.map +1 -0
  235. package/dist/setup-assistant-account.js +443 -0
  236. package/dist/setup-assistant-account.js.map +1 -0
  237. package/dist/setup-assistant.d.ts +34 -0
  238. package/dist/setup-assistant.d.ts.map +1 -0
  239. package/dist/setup-assistant.js +355 -0
  240. package/dist/setup-assistant.js.map +1 -0
  241. package/dist/setup-cli.d.ts +72 -0
  242. package/dist/setup-cli.d.ts.map +1 -0
  243. package/dist/setup-cli.js +387 -0
  244. package/dist/setup-cli.js.map +1 -0
  245. package/dist/setup-services/channels.d.ts +19 -0
  246. package/dist/setup-services/channels.d.ts.map +1 -0
  247. package/dist/setup-services/channels.js +721 -0
  248. package/dist/setup-services/channels.js.map +1 -0
  249. package/dist/setup-services/process.d.ts +18 -0
  250. package/dist/setup-services/process.d.ts.map +1 -0
  251. package/dist/setup-services/process.js +98 -0
  252. package/dist/setup-services/process.js.map +1 -0
  253. package/dist/setup-services/scheduled-updates.d.ts +9 -0
  254. package/dist/setup-services/scheduled-updates.d.ts.map +1 -0
  255. package/dist/setup-services/scheduled-updates.js +64 -0
  256. package/dist/setup-services/scheduled-updates.js.map +1 -0
  257. package/dist/setup-services/shell.d.ts +18 -0
  258. package/dist/setup-services/shell.d.ts.map +1 -0
  259. package/dist/setup-services/shell.js +447 -0
  260. package/dist/setup-services/shell.js.map +1 -0
  261. package/dist/setup-services/steps.d.ts +39 -0
  262. package/dist/setup-services/steps.d.ts.map +1 -0
  263. package/dist/setup-services/steps.js +86 -0
  264. package/dist/setup-services/steps.js.map +1 -0
  265. package/dist/setup-services/toolchain.d.ts +46 -0
  266. package/dist/setup-services/toolchain.d.ts.map +1 -0
  267. package/dist/setup-services/toolchain.js +232 -0
  268. package/dist/setup-services/toolchain.js.map +1 -0
  269. package/dist/setup-services.d.ts +44 -0
  270. package/dist/setup-services.d.ts.map +1 -0
  271. package/dist/setup-services.js +739 -0
  272. package/dist/setup-services.js.map +1 -0
  273. package/dist/setup-wizard.d.ts +101 -0
  274. package/dist/setup-wizard.d.ts.map +1 -0
  275. package/dist/setup-wizard.js +1458 -0
  276. package/dist/setup-wizard.js.map +1 -0
  277. package/dist/usecases/intervention.d.ts +63 -0
  278. package/dist/usecases/intervention.d.ts.map +1 -0
  279. package/dist/usecases/intervention.js +205 -0
  280. package/dist/usecases/intervention.js.map +1 -0
  281. package/dist/usecases/text-duration.d.ts +4 -0
  282. package/dist/usecases/text-duration.d.ts.map +1 -0
  283. package/dist/usecases/text-duration.js +63 -0
  284. package/dist/usecases/text-duration.js.map +1 -0
  285. package/dist/usecases/workout-format.d.ts +139 -0
  286. package/dist/usecases/workout-format.d.ts.map +1 -0
  287. package/dist/usecases/workout-format.js +445 -0
  288. package/dist/usecases/workout-format.js.map +1 -0
  289. package/dist/usecases/workout.d.ts +94 -0
  290. package/dist/usecases/workout.d.ts.map +1 -0
  291. package/dist/usecases/workout.js +411 -0
  292. package/dist/usecases/workout.js.map +1 -0
  293. package/dist/vault-cli-command-manifest.d.ts +562 -0
  294. package/dist/vault-cli-command-manifest.d.ts.map +1 -0
  295. package/dist/vault-cli-command-manifest.js +759 -0
  296. package/dist/vault-cli-command-manifest.js.map +1 -0
  297. package/dist/vault-cli.d.ts +6 -0
  298. package/dist/vault-cli.d.ts.map +1 -0
  299. package/dist/vault-cli.js +38 -0
  300. package/dist/vault-cli.js.map +1 -0
  301. package/package.json +85 -0
@@ -0,0 +1,21 @@
1
+ import { maybeGetAssistantSessionViaDaemon, maybeListAssistantSessionsViaDaemon, } from '../assistant-daemon-client.js';
2
+ import { getAssistantSessionLocal, listAssistantSessionsLocal, } from '@murphai/assistant-core/assistant-store';
3
+ export * from '@murphai/assistant-core/assistant-store';
4
+ export async function listAssistantSessions(vault) {
5
+ const remote = await maybeListAssistantSessionsViaDaemon({ vault });
6
+ if (remote !== null) {
7
+ return remote;
8
+ }
9
+ return listAssistantSessionsLocal(vault);
10
+ }
11
+ export async function getAssistantSession(vault, sessionId) {
12
+ const remote = await maybeGetAssistantSessionViaDaemon({
13
+ sessionId,
14
+ vault,
15
+ });
16
+ if (remote) {
17
+ return remote;
18
+ }
19
+ return getAssistantSessionLocal(vault, sessionId);
20
+ }
21
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/assistant/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yCAAyC,CAAA;AAGhD,cAAc,yCAAyC,CAAA;AAGvD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,mCAAmC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;QACrD,SAAS;QACT,KAAK;KACN,CAAC,CAAA;IACF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACnD,CAAC"}
@@ -0,0 +1,247 @@
1
+ import * as React from 'react';
2
+ import { type Key } from 'ink';
3
+ import { assistantChatResultSchema, type AssistantSession } from '@murphai/assistant-core/assistant-cli-contracts';
4
+ import { sendAssistantMessage, type AssistantChatInput } from '../service.js';
5
+ import { type ChatMetadataBadge, type InkChatEntry } from './view-model.js';
6
+ import { type AssistantInkTheme } from './theme.js';
7
+ type AssistantChatResult = ReturnType<typeof assistantChatResultSchema.parse>;
8
+ type ComposerSubmitMode = 'enter' | 'tab';
9
+ interface AssistantMessageTextProps {
10
+ text: string;
11
+ }
12
+ interface ChromePanelProps {
13
+ backgroundColor?: string;
14
+ children?: React.ReactNode;
15
+ marginBottom?: number;
16
+ paddingX?: number;
17
+ paddingY?: number;
18
+ width?: number | string;
19
+ }
20
+ interface ComposerEditingState {
21
+ cursorOffset: number;
22
+ killBuffer: string;
23
+ value: string;
24
+ }
25
+ interface ComposerEditingResult extends ComposerEditingState {
26
+ handled: boolean;
27
+ }
28
+ interface ComposerControlledSyncInput {
29
+ cursorOffset: number;
30
+ currentValue: string;
31
+ nextControlledValue: string;
32
+ pendingValues: readonly string[];
33
+ previousControlledValue: string;
34
+ }
35
+ interface ComposerControlledSyncResult {
36
+ cursorOffset: number;
37
+ nextValue: string;
38
+ pendingValues: string[];
39
+ }
40
+ interface AssistantTurnErrorPresentation {
41
+ entry: {
42
+ kind: 'error' | 'status';
43
+ text: string;
44
+ };
45
+ persistTranscriptError: boolean;
46
+ status: {
47
+ kind: 'error' | 'info';
48
+ text: string;
49
+ };
50
+ }
51
+ type ComposerTerminalAction = {
52
+ kind: 'edit';
53
+ input: string;
54
+ key: Key;
55
+ } | {
56
+ kind: 'edit-last-queued';
57
+ } | {
58
+ mode: ComposerSubmitMode;
59
+ kind: 'submit';
60
+ };
61
+ type AssistantInkInputStream = NodeJS.ReadStream & {
62
+ destroy?: () => void;
63
+ isTTY?: boolean;
64
+ setRawMode?: (mode: boolean) => void;
65
+ };
66
+ interface AssistantInkInputAdapter {
67
+ close: () => void;
68
+ source: 'stdin' | 'tty' | 'unsupported';
69
+ stdin: AssistantInkInputStream | null;
70
+ }
71
+ interface ResolveAssistantInkInputAdapterInput {
72
+ createTtyReadStream?: (fd: number) => AssistantInkInputStream;
73
+ openTtyFd?: (path: string, flags: string) => number;
74
+ stdin?: AssistantInkInputStream;
75
+ ttyPath?: string;
76
+ }
77
+ export declare function resolveChromePanelBoxProps(props: ChromePanelProps): {
78
+ backgroundColor?: string;
79
+ flexDirection: 'column';
80
+ marginBottom: number;
81
+ paddingX: number;
82
+ paddingY: number;
83
+ width: number | string;
84
+ };
85
+ export declare function supportsAssistantInkRawMode(stdin: AssistantInkInputStream | null | undefined): boolean;
86
+ export declare function resolveAssistantInkInputAdapter(input?: ResolveAssistantInkInputAdapterInput): AssistantInkInputAdapter;
87
+ export declare function resolveMessageRoleLabel(kind: InkChatEntry['kind']): string | null;
88
+ export declare function renderWrappedTextBlock(input: {
89
+ children?: React.ReactNode;
90
+ color?: string;
91
+ dimColor?: boolean;
92
+ }): React.ReactElement;
93
+ export declare function wrapAssistantPlainText(input: string, columns: number): string;
94
+ export declare function resolveAssistantChatViewportWidth(columns: number | null | undefined): number;
95
+ export declare function resolveAssistantPlainTextWrapColumns(columns: number | null | undefined): number;
96
+ export declare function renderWrappedPlainTextBlock(input: {
97
+ columns: number;
98
+ color?: string;
99
+ dimColor?: boolean;
100
+ text: string;
101
+ }): React.ReactElement;
102
+ export declare function resolveAssistantTurnErrorPresentation(input: {
103
+ error: unknown;
104
+ restoredQueuedPromptCount: number;
105
+ }): AssistantTurnErrorPresentation;
106
+ export declare function formatFooterBadgeText(badge: ChatMetadataBadge): string;
107
+ export declare function splitAssistantMarkdownLinks(input: string): Array<{
108
+ kind: 'link';
109
+ label: string;
110
+ target: string;
111
+ } | {
112
+ kind: 'text';
113
+ text: string;
114
+ }>;
115
+ export declare function resolveAssistantHyperlinkTarget(target: string): string | null;
116
+ export declare function formatAssistantTerminalHyperlink(label: string, target: string): string;
117
+ export declare function supportsAssistantTerminalHyperlinks(input?: {
118
+ env?: NodeJS.ProcessEnv;
119
+ isTTY?: boolean;
120
+ }): boolean;
121
+ export declare function renderAssistantMessageText(input: AssistantMessageTextProps): React.ReactElement;
122
+ export declare function normalizeAssistantInkArrowKey(input: string, key: Key): Key;
123
+ export declare function mergeComposerDraftWithQueuedPrompts(draft: string, queuedPrompts: readonly string[]): string;
124
+ export declare function resolveComposerTerminalAction(input: string, key: Key): ComposerTerminalAction;
125
+ export declare function formatQueuedFollowUpPreview(prompt: string): string;
126
+ export declare function renderChatTranscriptFeed(input: {
127
+ bindingSummary: string | null;
128
+ busy: boolean;
129
+ entries: readonly InkChatEntry[];
130
+ sessionId: string;
131
+ }): React.ReactElement;
132
+ export declare function partitionChatTranscriptEntries(input: {
133
+ busy: boolean;
134
+ entries: readonly InkChatEntry[];
135
+ }): {
136
+ liveEntries: readonly InkChatEntry[];
137
+ staticEntries: readonly InkChatEntry[];
138
+ };
139
+ export declare function shouldShowBusyStatus(input: {
140
+ busy: boolean;
141
+ entries: readonly InkChatEntry[];
142
+ }): boolean;
143
+ export declare function reconcileComposerControlledValue(input: ComposerControlledSyncInput): ComposerControlledSyncResult;
144
+ export declare function resolveComposerVerticalCursorMove(input: {
145
+ cursorOffset: number;
146
+ direction: 'down' | 'up';
147
+ preferredColumn: number | null;
148
+ value: string;
149
+ }): {
150
+ cursorOffset: number;
151
+ preferredColumn: number | null;
152
+ };
153
+ export declare function applyComposerEditingInput(state: ComposerEditingState, input: string, key: Key): ComposerEditingResult;
154
+ export declare function normalizeComposerInsertedText(input: string): string;
155
+ export declare function renderComposerValue(input: {
156
+ cursorOffset: number;
157
+ disabled: boolean;
158
+ placeholder: string;
159
+ theme: AssistantInkTheme;
160
+ value: string;
161
+ }): React.ReactElement;
162
+ interface AssistantChatStatus {
163
+ kind: 'error' | 'info' | 'success';
164
+ text: string;
165
+ }
166
+ interface AssistantPromptQueueState {
167
+ prompts: readonly string[];
168
+ }
169
+ type AssistantPromptQueueAction = {
170
+ kind: 'clear';
171
+ } | {
172
+ kind: 'dequeue';
173
+ } | {
174
+ kind: 'enqueue';
175
+ prompt: string;
176
+ } | {
177
+ kind: 'pop-last';
178
+ };
179
+ interface AssistantTurnState {
180
+ pauseRequested: boolean;
181
+ phase: 'idle' | 'running';
182
+ }
183
+ export interface AssistantTurnSelection {
184
+ activeModel: string | null;
185
+ activeReasoningEffort: string | null;
186
+ }
187
+ type AssistantTurnAction = {
188
+ kind: 'finish';
189
+ } | {
190
+ kind: 'request-pause';
191
+ } | {
192
+ kind: 'start';
193
+ };
194
+ type AssistantSendMessageResult = Awaited<ReturnType<typeof sendAssistantMessage>>;
195
+ type AssistantPromptTurnOutcome = {
196
+ delivery: AssistantSendMessageResult['delivery'];
197
+ deliveryError: AssistantSendMessageResult['deliveryError'];
198
+ kind: 'completed';
199
+ response: string;
200
+ session: AssistantSession;
201
+ streamedAssistantEntryKey: string | null;
202
+ } | {
203
+ error: unknown;
204
+ kind: 'failed';
205
+ recoveredSession: AssistantSession | null;
206
+ } | {
207
+ kind: 'interrupted';
208
+ recoveredSession: AssistantSession | null;
209
+ };
210
+ type AssistantQueuedPromptDisposition = {
211
+ kind: 'idle';
212
+ } | {
213
+ kind: 'replay-next';
214
+ nextQueuedPrompt: string;
215
+ remainingQueuedPrompts: readonly string[];
216
+ } | {
217
+ kind: 'restore-composer';
218
+ restoredQueuedPromptCount: number;
219
+ };
220
+ interface RunAssistantPromptTurnInput {
221
+ activeModel: string | null;
222
+ activeReasoningEffort: string | null;
223
+ input: AssistantChatInput & {
224
+ abortSignal: AbortSignal;
225
+ };
226
+ prompt: string;
227
+ session: AssistantSession;
228
+ setEntries: React.Dispatch<React.SetStateAction<InkChatEntry[]>>;
229
+ setStatus: React.Dispatch<React.SetStateAction<AssistantChatStatus | null>>;
230
+ turnTracePrefix: string;
231
+ }
232
+ export declare function reduceAssistantPromptQueueState(state: AssistantPromptQueueState, action: AssistantPromptQueueAction): AssistantPromptQueueState;
233
+ export declare function reduceAssistantTurnState(state: AssistantTurnState, action: AssistantTurnAction): AssistantTurnState;
234
+ export declare function resolveAssistantQueuedPromptDisposition(input: {
235
+ pauseRequested: boolean;
236
+ queuedPrompts: readonly string[];
237
+ turnOutcome: AssistantPromptTurnOutcome['kind'];
238
+ }): AssistantQueuedPromptDisposition;
239
+ export declare function resolveAssistantSelectionAfterSessionSync(input: {
240
+ currentSelection: AssistantTurnSelection;
241
+ previousSession: AssistantSession;
242
+ nextSession: AssistantSession;
243
+ }): AssistantTurnSelection;
244
+ export declare function runAssistantPromptTurn(input: RunAssistantPromptTurnInput): Promise<AssistantPromptTurnOutcome>;
245
+ export declare function runAssistantChatWithInk(input: AssistantChatInput): Promise<AssistantChatResult>;
246
+ export {};
247
+ //# sourceMappingURL=ink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ink.d.ts","sourceRoot":"","sources":["../../../src/assistant/ui/ink.ts"],"names":[],"mappings":"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"}