pulseed 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/adapters/agent-profile-loader.d.ts +26 -0
  2. package/dist/adapters/agent-profile-loader.d.ts.map +1 -0
  3. package/dist/adapters/agent-profile-loader.js +88 -0
  4. package/dist/adapters/agent-profile-loader.js.map +1 -0
  5. package/dist/adapters/claude-code-cli.d.ts.map +1 -1
  6. package/dist/adapters/claude-code-cli.js +3 -1
  7. package/dist/adapters/claude-code-cli.js.map +1 -1
  8. package/dist/adapters/mcp-client-manager.d.ts +22 -0
  9. package/dist/adapters/mcp-client-manager.d.ts.map +1 -0
  10. package/dist/adapters/mcp-client-manager.js +131 -0
  11. package/dist/adapters/mcp-client-manager.js.map +1 -0
  12. package/dist/adapters/mcp-datasource.d.ts +20 -0
  13. package/dist/adapters/mcp-datasource.d.ts.map +1 -0
  14. package/dist/adapters/mcp-datasource.js +116 -0
  15. package/dist/adapters/mcp-datasource.js.map +1 -0
  16. package/dist/adapters/openai-codex.d.ts.map +1 -1
  17. package/dist/adapters/openai-codex.js +3 -1
  18. package/dist/adapters/openai-codex.js.map +1 -1
  19. package/dist/chat/chat-history.d.ts +80 -0
  20. package/dist/chat/chat-history.d.ts.map +1 -0
  21. package/dist/chat/chat-history.js +70 -0
  22. package/dist/chat/chat-history.js.map +1 -0
  23. package/dist/chat/chat-runner.d.ts +46 -0
  24. package/dist/chat/chat-runner.d.ts.map +1 -0
  25. package/dist/chat/chat-runner.js +141 -0
  26. package/dist/chat/chat-runner.js.map +1 -0
  27. package/dist/chat/escalation.d.ts +30 -0
  28. package/dist/chat/escalation.d.ts.map +1 -0
  29. package/dist/chat/escalation.js +53 -0
  30. package/dist/chat/escalation.js.map +1 -0
  31. package/dist/cli/commands/chat.d.ts +3 -0
  32. package/dist/cli/commands/chat.d.ts.map +1 -0
  33. package/dist/cli/commands/chat.js +148 -0
  34. package/dist/cli/commands/chat.js.map +1 -0
  35. package/dist/cli/commands/daemon.d.ts +1 -0
  36. package/dist/cli/commands/daemon.d.ts.map +1 -1
  37. package/dist/cli/commands/daemon.js +173 -3
  38. package/dist/cli/commands/daemon.js.map +1 -1
  39. package/dist/cli/commands/doctor.d.ts +19 -0
  40. package/dist/cli/commands/doctor.d.ts.map +1 -0
  41. package/dist/cli/commands/doctor.js +203 -0
  42. package/dist/cli/commands/doctor.js.map +1 -0
  43. package/dist/cli/commands/goal-dispatch.d.ts.map +1 -1
  44. package/dist/cli/commands/goal-dispatch.js +15 -1
  45. package/dist/cli/commands/goal-dispatch.js.map +1 -1
  46. package/dist/cli/commands/goal-raw.d.ts +1 -0
  47. package/dist/cli/commands/goal-raw.d.ts.map +1 -1
  48. package/dist/cli/commands/goal-raw.js +3 -3
  49. package/dist/cli/commands/goal-raw.js.map +1 -1
  50. package/dist/cli/commands/goal-utils.d.ts +4 -2
  51. package/dist/cli/commands/goal-utils.d.ts.map +1 -1
  52. package/dist/cli/commands/goal-utils.js +36 -19
  53. package/dist/cli/commands/goal-utils.js.map +1 -1
  54. package/dist/cli/commands/goal-write.js +4 -4
  55. package/dist/cli/commands/goal-write.js.map +1 -1
  56. package/dist/cli/commands/install.d.ts +16 -0
  57. package/dist/cli/commands/install.d.ts.map +1 -0
  58. package/dist/cli/commands/install.js +153 -0
  59. package/dist/cli/commands/install.js.map +1 -0
  60. package/dist/cli/commands/logs.d.ts +2 -0
  61. package/dist/cli/commands/logs.d.ts.map +1 -0
  62. package/dist/cli/commands/logs.js +201 -0
  63. package/dist/cli/commands/logs.js.map +1 -0
  64. package/dist/cli/commands/notify.d.ts +2 -0
  65. package/dist/cli/commands/notify.d.ts.map +1 -0
  66. package/dist/cli/commands/notify.js +277 -0
  67. package/dist/cli/commands/notify.js.map +1 -0
  68. package/dist/cli/commands/run.d.ts +1 -1
  69. package/dist/cli/commands/run.d.ts.map +1 -1
  70. package/dist/cli/commands/run.js +2 -2
  71. package/dist/cli/commands/run.js.map +1 -1
  72. package/dist/cli/commands/suggest.d.ts.map +1 -1
  73. package/dist/cli/commands/suggest.js +6 -4
  74. package/dist/cli/commands/suggest.js.map +1 -1
  75. package/dist/cli/setup.d.ts +2 -1
  76. package/dist/cli/setup.d.ts.map +1 -1
  77. package/dist/cli/setup.js +33 -9
  78. package/dist/cli/setup.js.map +1 -1
  79. package/dist/cli/utils.d.ts.map +1 -1
  80. package/dist/cli/utils.js +15 -0
  81. package/dist/cli/utils.js.map +1 -1
  82. package/dist/cli-runner.d.ts.map +1 -1
  83. package/dist/cli-runner.js +86 -2
  84. package/dist/cli-runner.js.map +1 -1
  85. package/dist/core-loop.d.ts +5 -2
  86. package/dist/core-loop.d.ts.map +1 -1
  87. package/dist/core-loop.js +18 -7
  88. package/dist/core-loop.js.map +1 -1
  89. package/dist/drive/drive-system.d.ts.map +1 -1
  90. package/dist/drive/drive-system.js +11 -2
  91. package/dist/drive/drive-system.js.map +1 -1
  92. package/dist/drive/gap-calculator.d.ts +1 -1
  93. package/dist/drive/gap-calculator.d.ts.map +1 -1
  94. package/dist/drive/gap-calculator.js +12 -3
  95. package/dist/drive/gap-calculator.js.map +1 -1
  96. package/dist/execution/adapter-layer.d.ts +2 -0
  97. package/dist/execution/adapter-layer.d.ts.map +1 -1
  98. package/dist/execution/adapter-layer.js.map +1 -1
  99. package/dist/execution/issue-context-fetcher.d.ts +19 -0
  100. package/dist/execution/issue-context-fetcher.d.ts.map +1 -0
  101. package/dist/execution/issue-context-fetcher.js +73 -0
  102. package/dist/execution/issue-context-fetcher.js.map +1 -0
  103. package/dist/execution/session-manager.d.ts.map +1 -1
  104. package/dist/execution/session-manager.js +3 -0
  105. package/dist/execution/session-manager.js.map +1 -1
  106. package/dist/execution/task-executor.d.ts.map +1 -1
  107. package/dist/execution/task-executor.js +34 -3
  108. package/dist/execution/task-executor.js.map +1 -1
  109. package/dist/execution/task-generation.d.ts.map +1 -1
  110. package/dist/execution/task-generation.js +8 -0
  111. package/dist/execution/task-generation.js.map +1 -1
  112. package/dist/execution/task-lifecycle.d.ts +4 -0
  113. package/dist/execution/task-lifecycle.d.ts.map +1 -1
  114. package/dist/execution/task-lifecycle.js +16 -4
  115. package/dist/execution/task-lifecycle.js.map +1 -1
  116. package/dist/execution/task-prompt-builder.d.ts.map +1 -1
  117. package/dist/execution/task-prompt-builder.js +33 -1
  118. package/dist/execution/task-prompt-builder.js.map +1 -1
  119. package/dist/execution/task-verifier.d.ts.map +1 -1
  120. package/dist/execution/task-verifier.js +39 -5
  121. package/dist/execution/task-verifier.js.map +1 -1
  122. package/dist/goal/goal-decomposer.js +1 -1
  123. package/dist/goal/goal-decomposer.js.map +1 -1
  124. package/dist/goal/goal-refiner.d.ts.map +1 -1
  125. package/dist/goal/goal-refiner.js +11 -1
  126. package/dist/goal/goal-refiner.js.map +1 -1
  127. package/dist/goal/goal-tree-manager.d.ts.map +1 -1
  128. package/dist/goal/goal-tree-manager.js +6 -0
  129. package/dist/goal/goal-tree-manager.js.map +1 -1
  130. package/dist/goal/refiner-prompts.d.ts.map +1 -1
  131. package/dist/goal/refiner-prompts.js +5 -1
  132. package/dist/goal/refiner-prompts.js.map +1 -1
  133. package/dist/goal/tree-loop-orchestrator.d.ts +3 -1
  134. package/dist/goal/tree-loop-orchestrator.d.ts.map +1 -1
  135. package/dist/goal/tree-loop-orchestrator.js +4 -4
  136. package/dist/goal/tree-loop-orchestrator.js.map +1 -1
  137. package/dist/knowledge/memory-persistence.d.ts.map +1 -1
  138. package/dist/knowledge/memory-persistence.js +18 -3
  139. package/dist/knowledge/memory-persistence.js.map +1 -1
  140. package/dist/llm/provider-config.d.ts +4 -0
  141. package/dist/llm/provider-config.d.ts.map +1 -1
  142. package/dist/llm/provider-config.js +42 -2
  143. package/dist/llm/provider-config.js.map +1 -1
  144. package/dist/llm/provider-factory.d.ts.map +1 -1
  145. package/dist/llm/provider-factory.js +3 -4
  146. package/dist/llm/provider-factory.js.map +1 -1
  147. package/dist/loop/core-loop-phases.d.ts +1 -1
  148. package/dist/loop/core-loop-phases.d.ts.map +1 -1
  149. package/dist/loop/core-loop-phases.js +18 -7
  150. package/dist/loop/core-loop-phases.js.map +1 -1
  151. package/dist/loop/core-loop-types.d.ts +2 -0
  152. package/dist/loop/core-loop-types.d.ts.map +1 -1
  153. package/dist/loop/core-loop-types.js.map +1 -1
  154. package/dist/loop/tree-loop-runner.d.ts.map +1 -1
  155. package/dist/loop/tree-loop-runner.js +10 -7
  156. package/dist/loop/tree-loop-runner.js.map +1 -1
  157. package/dist/mcp-server/index.d.ts +4 -0
  158. package/dist/mcp-server/index.d.ts.map +1 -0
  159. package/dist/mcp-server/index.js +66 -0
  160. package/dist/mcp-server/index.js.map +1 -0
  161. package/dist/mcp-server/tools.d.ts +35 -0
  162. package/dist/mcp-server/tools.d.ts.map +1 -0
  163. package/dist/mcp-server/tools.js +160 -0
  164. package/dist/mcp-server/tools.js.map +1 -0
  165. package/dist/observation/context-provider.d.ts +10 -0
  166. package/dist/observation/context-provider.d.ts.map +1 -1
  167. package/dist/observation/context-provider.js +35 -0
  168. package/dist/observation/context-provider.js.map +1 -1
  169. package/dist/observation/observation-apply.d.ts.map +1 -1
  170. package/dist/observation/observation-apply.js +5 -1
  171. package/dist/observation/observation-apply.js.map +1 -1
  172. package/dist/observation/observation-engine.d.ts +4 -2
  173. package/dist/observation/observation-engine.d.ts.map +1 -1
  174. package/dist/observation/observation-engine.js +15 -6
  175. package/dist/observation/observation-engine.js.map +1 -1
  176. package/dist/observation/observation-llm.d.ts +10 -2
  177. package/dist/observation/observation-llm.d.ts.map +1 -1
  178. package/dist/observation/observation-llm.js +94 -11
  179. package/dist/observation/observation-llm.js.map +1 -1
  180. package/dist/observation/workspace-context.d.ts +1 -1
  181. package/dist/observation/workspace-context.d.ts.map +1 -1
  182. package/dist/observation/workspace-context.js +91 -12
  183. package/dist/observation/workspace-context.js.map +1 -1
  184. package/dist/orchestrator/goal-loop.d.ts +33 -0
  185. package/dist/orchestrator/goal-loop.d.ts.map +1 -0
  186. package/dist/orchestrator/goal-loop.js +72 -0
  187. package/dist/orchestrator/goal-loop.js.map +1 -0
  188. package/dist/prompt/context-assembler.js +3 -3
  189. package/dist/prompt/context-assembler.js.map +1 -1
  190. package/dist/prompt/purposes/strategy.d.ts +71 -26
  191. package/dist/prompt/purposes/strategy.d.ts.map +1 -1
  192. package/dist/prompt/purposes/strategy.js +34 -8
  193. package/dist/prompt/purposes/strategy.js.map +1 -1
  194. package/dist/reflection/dream-consolidation.d.ts +11 -0
  195. package/dist/reflection/dream-consolidation.d.ts.map +1 -0
  196. package/dist/reflection/dream-consolidation.js +61 -0
  197. package/dist/reflection/dream-consolidation.js.map +1 -0
  198. package/dist/reflection/evening-catchup.d.ts +13 -0
  199. package/dist/reflection/evening-catchup.d.ts.map +1 -0
  200. package/dist/reflection/evening-catchup.js +116 -0
  201. package/dist/reflection/evening-catchup.js.map +1 -0
  202. package/dist/reflection/index.d.ts +7 -0
  203. package/dist/reflection/index.d.ts.map +1 -0
  204. package/dist/reflection/index.js +6 -0
  205. package/dist/reflection/index.js.map +1 -0
  206. package/dist/reflection/morning-planning.d.ts +13 -0
  207. package/dist/reflection/morning-planning.d.ts.map +1 -0
  208. package/dist/reflection/morning-planning.js +107 -0
  209. package/dist/reflection/morning-planning.js.map +1 -0
  210. package/dist/reflection/types.d.ts +168 -0
  211. package/dist/reflection/types.d.ts.map +1 -0
  212. package/dist/reflection/types.js +58 -0
  213. package/dist/reflection/types.js.map +1 -0
  214. package/dist/reflection/weekly-review.d.ts +11 -0
  215. package/dist/reflection/weekly-review.d.ts.map +1 -0
  216. package/dist/reflection/weekly-review.js +114 -0
  217. package/dist/reflection/weekly-review.js.map +1 -0
  218. package/dist/runtime/cron-scheduler.d.ts +13 -0
  219. package/dist/runtime/cron-scheduler.d.ts.map +1 -0
  220. package/dist/runtime/cron-scheduler.js +90 -0
  221. package/dist/runtime/cron-scheduler.js.map +1 -0
  222. package/dist/runtime/daemon-runner.d.ts +34 -0
  223. package/dist/runtime/daemon-runner.d.ts.map +1 -1
  224. package/dist/runtime/daemon-runner.js +207 -4
  225. package/dist/runtime/daemon-runner.js.map +1 -1
  226. package/dist/runtime/event-server.d.ts +17 -2
  227. package/dist/runtime/event-server.d.ts.map +1 -1
  228. package/dist/runtime/event-server.js +214 -6
  229. package/dist/runtime/event-server.js.map +1 -1
  230. package/dist/runtime/hook-manager.d.ts +41 -0
  231. package/dist/runtime/hook-manager.d.ts.map +1 -0
  232. package/dist/runtime/hook-manager.js +174 -0
  233. package/dist/runtime/hook-manager.js.map +1 -0
  234. package/dist/runtime/notification-batcher.d.ts +28 -0
  235. package/dist/runtime/notification-batcher.d.ts.map +1 -0
  236. package/dist/runtime/notification-batcher.js +100 -0
  237. package/dist/runtime/notification-batcher.js.map +1 -0
  238. package/dist/runtime/notification-dispatcher.d.ts +5 -0
  239. package/dist/runtime/notification-dispatcher.d.ts.map +1 -1
  240. package/dist/runtime/notification-dispatcher.js +22 -0
  241. package/dist/runtime/notification-dispatcher.js.map +1 -1
  242. package/dist/runtime/trigger-mapper.d.ts +26 -0
  243. package/dist/runtime/trigger-mapper.d.ts.map +1 -0
  244. package/dist/runtime/trigger-mapper.js +89 -0
  245. package/dist/runtime/trigger-mapper.js.map +1 -0
  246. package/dist/strategy/strategy-helpers.d.ts +6 -0
  247. package/dist/strategy/strategy-helpers.d.ts.map +1 -1
  248. package/dist/strategy/strategy-helpers.js +20 -0
  249. package/dist/strategy/strategy-helpers.js.map +1 -1
  250. package/dist/strategy/strategy-manager-base.d.ts.map +1 -1
  251. package/dist/strategy/strategy-manager-base.js +16 -8
  252. package/dist/strategy/strategy-manager-base.js.map +1 -1
  253. package/dist/tui/app.d.ts.map +1 -1
  254. package/dist/tui/app.js +3 -2
  255. package/dist/tui/app.js.map +1 -1
  256. package/dist/tui/approval-overlay.d.ts.map +1 -1
  257. package/dist/tui/approval-overlay.js +5 -4
  258. package/dist/tui/approval-overlay.js.map +1 -1
  259. package/dist/tui/chat.d.ts.map +1 -1
  260. package/dist/tui/chat.js +6 -19
  261. package/dist/tui/chat.js.map +1 -1
  262. package/dist/tui/dashboard.d.ts.map +1 -1
  263. package/dist/tui/dashboard.js +3 -24
  264. package/dist/tui/dashboard.js.map +1 -1
  265. package/dist/tui/entry.d.ts.map +1 -1
  266. package/dist/tui/entry.js +19 -1
  267. package/dist/tui/entry.js.map +1 -1
  268. package/dist/tui/help-overlay.d.ts.map +1 -1
  269. package/dist/tui/help-overlay.js +2 -1
  270. package/dist/tui/help-overlay.js.map +1 -1
  271. package/dist/tui/markdown-renderer.d.ts.map +1 -1
  272. package/dist/tui/markdown-renderer.js +5 -4
  273. package/dist/tui/markdown-renderer.js.map +1 -1
  274. package/dist/tui/report-view.d.ts.map +1 -1
  275. package/dist/tui/report-view.js +1 -25
  276. package/dist/tui/report-view.js.map +1 -1
  277. package/dist/tui/theme.d.ts +47 -0
  278. package/dist/tui/theme.d.ts.map +1 -0
  279. package/dist/tui/theme.js +116 -0
  280. package/dist/tui/theme.js.map +1 -0
  281. package/dist/types/agent-profile.d.ts +32 -0
  282. package/dist/types/agent-profile.d.ts.map +1 -0
  283. package/dist/types/agent-profile.js +16 -0
  284. package/dist/types/agent-profile.js.map +1 -0
  285. package/dist/types/cron.d.ts +59 -0
  286. package/dist/types/cron.d.ts.map +1 -0
  287. package/dist/types/cron.js +13 -0
  288. package/dist/types/cron.js.map +1 -0
  289. package/dist/types/daemon.d.ts +47 -0
  290. package/dist/types/daemon.d.ts.map +1 -1
  291. package/dist/types/daemon.js +11 -0
  292. package/dist/types/daemon.js.map +1 -1
  293. package/dist/types/data-source.d.ts +9 -9
  294. package/dist/types/data-source.d.ts.map +1 -1
  295. package/dist/types/data-source.js +1 -1
  296. package/dist/types/data-source.js.map +1 -1
  297. package/dist/types/goal-refiner.d.ts +3 -0
  298. package/dist/types/goal-refiner.d.ts.map +1 -1
  299. package/dist/types/goal-refiner.js +1 -0
  300. package/dist/types/goal-refiner.js.map +1 -1
  301. package/dist/types/hook.d.ts +142 -0
  302. package/dist/types/hook.d.ts.map +1 -0
  303. package/dist/types/hook.js +43 -0
  304. package/dist/types/hook.js.map +1 -0
  305. package/dist/types/mcp.d.ts +170 -0
  306. package/dist/types/mcp.d.ts.map +1 -0
  307. package/dist/types/mcp.js +30 -0
  308. package/dist/types/mcp.js.map +1 -0
  309. package/dist/types/notification.d.ts +37 -0
  310. package/dist/types/notification.d.ts.map +1 -1
  311. package/dist/types/notification.js +7 -0
  312. package/dist/types/notification.js.map +1 -1
  313. package/dist/types/session.d.ts +4 -4
  314. package/dist/types/session.d.ts.map +1 -1
  315. package/dist/types/session.js +1 -0
  316. package/dist/types/session.js.map +1 -1
  317. package/dist/types/strategy.d.ts +12 -12
  318. package/dist/types/trigger.d.ts +77 -0
  319. package/dist/types/trigger.d.ts.map +1 -0
  320. package/dist/types/trigger.js +21 -0
  321. package/dist/types/trigger.js.map +1 -0
  322. package/dist/utils/execFileNoThrow.d.ts +20 -0
  323. package/dist/utils/execFileNoThrow.d.ts.map +1 -0
  324. package/dist/utils/execFileNoThrow.js +33 -0
  325. package/dist/utils/execFileNoThrow.js.map +1 -0
  326. package/package.json +8 -3
  327. package/dist/cli/commands/task-read 2.d.ts +0 -4
  328. package/dist/cli/commands/task-read 2.d.ts.map +0 -1
  329. package/dist/cli/commands/task-read 2.js +0 -195
  330. package/dist/cli/commands/task-read 2.js.map +0 -1
  331. package/dist/prompt/slot-definitions 2.d.ts +0 -33
  332. package/dist/prompt/slot-definitions 2.d.ts.map +0 -1
  333. package/dist/prompt/slot-definitions 2.js +0 -332
  334. package/dist/prompt/slot-definitions 2.js.map +0 -1
@@ -119,8 +119,6 @@ export declare const StrategySchema: z.ZodObject<{
119
119
  direction: "increase" | "decrease";
120
120
  magnitude: "small" | "medium" | "large";
121
121
  }[];
122
- effectiveness_score: number | null;
123
- state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
124
122
  resource_estimate: {
125
123
  duration: {
126
124
  value: number;
@@ -130,6 +128,8 @@ export declare const StrategySchema: z.ZodObject<{
130
128
  llm_calls: number | null;
131
129
  };
132
130
  allocation: number;
131
+ effectiveness_score: number | null;
132
+ state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
133
133
  gap_snapshot_at_start: number | null;
134
134
  tasks_generated: string[];
135
135
  consecutive_stall_count: number;
@@ -162,9 +162,9 @@ export declare const StrategySchema: z.ZodObject<{
162
162
  };
163
163
  started_at?: string | null | undefined;
164
164
  completed_at?: string | null | undefined;
165
+ allocation?: number | undefined;
165
166
  effectiveness_score?: number | null | undefined;
166
167
  state?: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated" | undefined;
167
- allocation?: number | undefined;
168
168
  gap_snapshot_at_start?: number | null | undefined;
169
169
  tasks_generated?: string[] | undefined;
170
170
  consecutive_stall_count?: number | undefined;
@@ -259,8 +259,6 @@ export declare const WaitStrategySchema: z.ZodObject<{
259
259
  direction: "increase" | "decrease";
260
260
  magnitude: "small" | "medium" | "large";
261
261
  }[];
262
- effectiveness_score: number | null;
263
- state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
264
262
  resource_estimate: {
265
263
  duration: {
266
264
  value: number;
@@ -270,6 +268,8 @@ export declare const WaitStrategySchema: z.ZodObject<{
270
268
  llm_calls: number | null;
271
269
  };
272
270
  allocation: number;
271
+ effectiveness_score: number | null;
272
+ state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
273
273
  gap_snapshot_at_start: number | null;
274
274
  tasks_generated: string[];
275
275
  consecutive_stall_count: number;
@@ -310,9 +310,9 @@ export declare const WaitStrategySchema: z.ZodObject<{
310
310
  fallback_strategy_id: string | null;
311
311
  started_at?: string | null | undefined;
312
312
  completed_at?: string | null | undefined;
313
+ allocation?: number | undefined;
313
314
  effectiveness_score?: number | null | undefined;
314
315
  state?: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated" | undefined;
315
- allocation?: number | undefined;
316
316
  gap_snapshot_at_start?: number | null | undefined;
317
317
  tasks_generated?: string[] | undefined;
318
318
  consecutive_stall_count?: number | undefined;
@@ -404,8 +404,6 @@ export declare const PortfolioSchema: z.ZodObject<{
404
404
  direction: "increase" | "decrease";
405
405
  magnitude: "small" | "medium" | "large";
406
406
  }[];
407
- effectiveness_score: number | null;
408
- state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
409
407
  resource_estimate: {
410
408
  duration: {
411
409
  value: number;
@@ -415,6 +413,8 @@ export declare const PortfolioSchema: z.ZodObject<{
415
413
  llm_calls: number | null;
416
414
  };
417
415
  allocation: number;
416
+ effectiveness_score: number | null;
417
+ state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
418
418
  gap_snapshot_at_start: number | null;
419
419
  tasks_generated: string[];
420
420
  consecutive_stall_count: number;
@@ -447,9 +447,9 @@ export declare const PortfolioSchema: z.ZodObject<{
447
447
  };
448
448
  started_at?: string | null | undefined;
449
449
  completed_at?: string | null | undefined;
450
+ allocation?: number | undefined;
450
451
  effectiveness_score?: number | null | undefined;
451
452
  state?: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated" | undefined;
452
- allocation?: number | undefined;
453
453
  gap_snapshot_at_start?: number | null | undefined;
454
454
  tasks_generated?: string[] | undefined;
455
455
  consecutive_stall_count?: number | undefined;
@@ -488,8 +488,6 @@ export declare const PortfolioSchema: z.ZodObject<{
488
488
  direction: "increase" | "decrease";
489
489
  magnitude: "small" | "medium" | "large";
490
490
  }[];
491
- effectiveness_score: number | null;
492
- state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
493
491
  resource_estimate: {
494
492
  duration: {
495
493
  value: number;
@@ -499,6 +497,8 @@ export declare const PortfolioSchema: z.ZodObject<{
499
497
  llm_calls: number | null;
500
498
  };
501
499
  allocation: number;
500
+ effectiveness_score: number | null;
501
+ state: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated";
502
502
  gap_snapshot_at_start: number | null;
503
503
  tasks_generated: string[];
504
504
  consecutive_stall_count: number;
@@ -539,9 +539,9 @@ export declare const PortfolioSchema: z.ZodObject<{
539
539
  };
540
540
  started_at?: string | null | undefined;
541
541
  completed_at?: string | null | undefined;
542
+ allocation?: number | undefined;
542
543
  effectiveness_score?: number | null | undefined;
543
544
  state?: "completed" | "candidate" | "active" | "evaluating" | "suspended" | "terminated" | undefined;
544
- allocation?: number | undefined;
545
545
  gap_snapshot_at_start?: number | null | undefined;
546
546
  tasks_generated?: string[] | undefined;
547
547
  consecutive_stall_count?: number | undefined;
@@ -0,0 +1,77 @@
1
+ import { z } from "zod";
2
+ export declare const TriggerEventSchema: z.ZodObject<{
3
+ source: z.ZodEnum<["github", "slack", "ci", "cron", "custom"]>;
4
+ event_type: z.ZodString;
5
+ data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6
+ goal_id: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ source: "custom" | "slack" | "github" | "ci" | "cron";
9
+ data: Record<string, unknown>;
10
+ event_type: string;
11
+ goal_id?: string | undefined;
12
+ }, {
13
+ source: "custom" | "slack" | "github" | "ci" | "cron";
14
+ event_type: string;
15
+ goal_id?: string | undefined;
16
+ data?: Record<string, unknown> | undefined;
17
+ }>;
18
+ export type TriggerEvent = z.infer<typeof TriggerEventSchema>;
19
+ export declare const TriggerMappingSchema: z.ZodObject<{
20
+ source: z.ZodString;
21
+ event_type: z.ZodString;
22
+ action: z.ZodEnum<["observe", "create_task", "notify", "wake"]>;
23
+ goal_id: z.ZodOptional<z.ZodString>;
24
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ source: string;
27
+ action: "notify" | "observe" | "create_task" | "wake";
28
+ event_type: string;
29
+ goal_id?: string | undefined;
30
+ config?: Record<string, unknown> | undefined;
31
+ }, {
32
+ source: string;
33
+ action: "notify" | "observe" | "create_task" | "wake";
34
+ event_type: string;
35
+ goal_id?: string | undefined;
36
+ config?: Record<string, unknown> | undefined;
37
+ }>;
38
+ export type TriggerMapping = z.infer<typeof TriggerMappingSchema>;
39
+ export declare const TriggerMappingsConfigSchema: z.ZodObject<{
40
+ mappings: z.ZodDefault<z.ZodArray<z.ZodObject<{
41
+ source: z.ZodString;
42
+ event_type: z.ZodString;
43
+ action: z.ZodEnum<["observe", "create_task", "notify", "wake"]>;
44
+ goal_id: z.ZodOptional<z.ZodString>;
45
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ source: string;
48
+ action: "notify" | "observe" | "create_task" | "wake";
49
+ event_type: string;
50
+ goal_id?: string | undefined;
51
+ config?: Record<string, unknown> | undefined;
52
+ }, {
53
+ source: string;
54
+ action: "notify" | "observe" | "create_task" | "wake";
55
+ event_type: string;
56
+ goal_id?: string | undefined;
57
+ config?: Record<string, unknown> | undefined;
58
+ }>, "many">>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ mappings: {
61
+ source: string;
62
+ action: "notify" | "observe" | "create_task" | "wake";
63
+ event_type: string;
64
+ goal_id?: string | undefined;
65
+ config?: Record<string, unknown> | undefined;
66
+ }[];
67
+ }, {
68
+ mappings?: {
69
+ source: string;
70
+ action: "notify" | "observe" | "create_task" | "wake";
71
+ event_type: string;
72
+ goal_id?: string | undefined;
73
+ config?: Record<string, unknown> | undefined;
74
+ }[] | undefined;
75
+ }>;
76
+ export type TriggerMappingsConfig = z.infer<typeof TriggerMappingsConfigSchema>;
77
+ //# sourceMappingURL=trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/types/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ // --- Trigger Event ---
3
+ export const TriggerEventSchema = z.object({
4
+ source: z.enum(["github", "slack", "ci", "cron", "custom"]),
5
+ event_type: z.string(), // e.g. "push", "issue_opened", "build_failed"
6
+ data: z.record(z.string(), z.unknown()).default({}),
7
+ goal_id: z.string().optional(), // target specific goal
8
+ });
9
+ // --- Trigger Mapping ---
10
+ export const TriggerMappingSchema = z.object({
11
+ source: z.string(),
12
+ event_type: z.string(),
13
+ action: z.enum(["observe", "create_task", "notify", "wake"]),
14
+ goal_id: z.string().optional(),
15
+ config: z.record(z.string(), z.unknown()).optional(),
16
+ });
17
+ // --- Trigger Mappings Config ---
18
+ export const TriggerMappingsConfigSchema = z.object({
19
+ mappings: z.array(TriggerMappingSchema).default([]),
20
+ });
21
+ //# sourceMappingURL=trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/types/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAwB;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,8CAA8C;IACtE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,uBAAuB;CACxD,CAAC,CAAC;AAGH,0BAA0B;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAGH,kCAAkC;AAElC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACpD,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface ExecFileResult {
2
+ stdout: string;
3
+ stderr: string;
4
+ exitCode: number | null;
5
+ }
6
+ export interface ExecFileOptions {
7
+ /** Timeout in milliseconds. Default: 10000 */
8
+ timeoutMs?: number;
9
+ /** Working directory for the child process. */
10
+ cwd?: string;
11
+ /** Environment variables. Default: process.env */
12
+ env?: NodeJS.ProcessEnv;
13
+ }
14
+ /**
15
+ * Run a command with execFile and return its result without throwing.
16
+ * On any error (spawn failure, timeout, non-zero exit), the error is
17
+ * captured in the returned object rather than thrown.
18
+ */
19
+ export declare function execFileNoThrow(cmd: string, args: string[], options?: ExecFileOptions): Promise<ExecFileResult>;
20
+ //# sourceMappingURL=execFileNoThrow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execFileNoThrow.d.ts","sourceRoot":"","sources":["../../src/utils/execFileNoThrow.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CA2BzB"}
@@ -0,0 +1,33 @@
1
+ // ─── execFileNoThrow ───
2
+ //
3
+ // Thin wrapper around Node's execFile that never throws.
4
+ // Returns { stdout, stderr, exitCode } on success/failure,
5
+ // and { stdout: "", stderr: <message>, exitCode: null } on spawn errors.
6
+ import { execFile } from "node:child_process";
7
+ /**
8
+ * Run a command with execFile and return its result without throwing.
9
+ * On any error (spawn failure, timeout, non-zero exit), the error is
10
+ * captured in the returned object rather than thrown.
11
+ */
12
+ export async function execFileNoThrow(cmd, args, options = {}) {
13
+ const { timeoutMs = 10000, cwd, env } = options;
14
+ return new Promise((resolve) => {
15
+ execFile(cmd, args, {
16
+ timeout: timeoutMs,
17
+ cwd,
18
+ env,
19
+ maxBuffer: 1024 * 1024, // 1 MB
20
+ }, (error, stdout, stderr) => {
21
+ if (error) {
22
+ // error.code is the exit code for non-zero exits; null for spawn errors
23
+ const exitCode = typeof error.code === "number"
24
+ ? error.code
25
+ : null;
26
+ resolve({ stdout: stdout ?? "", stderr: stderr ?? error.message, exitCode });
27
+ return;
28
+ }
29
+ resolve({ stdout, stderr, exitCode: 0 });
30
+ });
31
+ });
32
+ }
33
+ //# sourceMappingURL=execFileNoThrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execFileNoThrow.js","sourceRoot":"","sources":["../../src/utils/execFileNoThrow.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,EAAE;AACF,yDAAyD;AACzD,2DAA2D;AAC3D,yEAAyE;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAiB9C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,IAAc,EACd,UAA2B,EAAE;IAE7B,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEhD,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;QAC7C,QAAQ,CACN,GAAG,EACH,IAAI,EACJ;YACE,OAAO,EAAE,SAAS;YAClB,GAAG;YACH,GAAG;YACH,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO;SAChC,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,wEAAwE;gBACxE,MAAM,QAAQ,GACZ,OAAQ,KAAmD,CAAC,IAAI,KAAK,QAAQ;oBAC3E,CAAC,CAAE,KAAmD,CAAC,IAAK;oBAC5D,CAAC,CAAC,IAAI,CAAC;gBACX,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC7E,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pulseed",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "AI agent orchestrator that gives existing agents the drive to persist — set a goal, and PulSeed observes, delegates, verifies, and loops until done.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -53,13 +53,17 @@
53
53
  "test:changed": "vitest run --changed",
54
54
  "test:watch": "vitest",
55
55
  "typecheck": "tsc --noEmit",
56
- "tui": "node dist/tui/entry.js"
56
+ "tui": "node dist/tui/entry.js",
57
+ "test:remote": "bash scripts/test-remote.sh",
58
+ "test:remote:coverage": "bash scripts/test-remote.sh --coverage"
57
59
  },
58
60
  "engines": {
59
61
  "node": ">=20"
60
62
  },
61
63
  "dependencies": {
62
64
  "@anthropic-ai/sdk": "^0.39.0",
65
+ "@modelcontextprotocol/sdk": "^1.29.0",
66
+ "cron-parser": "^5.5.0",
63
67
  "ink": "^5.2.1",
64
68
  "ink-spinner": "^5.0.0",
65
69
  "ink-text-input": "^6.0.0",
@@ -74,7 +78,8 @@
74
78
  "@types/node": "^20.0.0",
75
79
  "@types/nodemailer": "^7.0.11",
76
80
  "@types/react": "^18.3.28",
81
+ "@vitest/coverage-v8": "^4.1.2",
77
82
  "typescript": "^5.3.0",
78
- "vitest": "^1.0.0"
83
+ "vitest": "^4.1.2"
79
84
  }
80
85
  }
@@ -1,4 +0,0 @@
1
- import { StateManager } from "../../state-manager.js";
2
- export declare function cmdTaskList(stateManager: StateManager, args: string[]): Promise<number>;
3
- export declare function cmdTaskShow(stateManager: StateManager, args: string[]): Promise<number>;
4
- //# sourceMappingURL=task-read%202.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-read 2.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/task-read 2.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA4DtD,wBAAsB,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD7F;AAID,wBAAsB,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwG7F"}
@@ -1,195 +0,0 @@
1
- // ─── pulseed task read commands (read-only) ───
2
- import * as path from "node:path";
3
- import { parseArgs } from "node:util";
4
- import { TaskSchema } from "../../types/task.js";
5
- import { getCliLogger } from "../cli-logger.js";
6
- import { formatOperationError } from "../utils.js";
7
- // ─── helpers ───
8
- function truncate(str, maxLen) {
9
- if (str.length <= maxLen)
10
- return str;
11
- return str.slice(0, maxLen - 3) + "...";
12
- }
13
- function shortId(id) {
14
- return id.length > 8 ? id.slice(0, 8) : id;
15
- }
16
- function elapsedLabel(task) {
17
- if (!task.started_at)
18
- return "-";
19
- const start = new Date(task.started_at).getTime();
20
- const end = task.completed_at ? new Date(task.completed_at).getTime() : Date.now();
21
- const ms = end - start;
22
- const seconds = Math.floor(ms / 1000);
23
- if (seconds < 60)
24
- return `${seconds}s`;
25
- const minutes = Math.floor(seconds / 60);
26
- if (minutes < 60)
27
- return `${minutes}m${seconds % 60}s`;
28
- const hours = Math.floor(minutes / 60);
29
- return `${hours}h${minutes % 60}m`;
30
- }
31
- async function readAllTasksForGoal(stateManager, goalId) {
32
- const baseDir = stateManager.getBaseDir();
33
- const tasksDir = path.join(baseDir, "tasks", goalId);
34
- const fsp = await import("node:fs/promises");
35
- let entries = [];
36
- try {
37
- entries = await fsp.readdir(tasksDir);
38
- }
39
- catch {
40
- return [];
41
- }
42
- const tasks = [];
43
- for (const entry of entries) {
44
- if (!entry.endsWith(".json") || entry === "task-history.json")
45
- continue;
46
- const raw = await stateManager.readRaw(`tasks/${goalId}/${entry}`);
47
- if (!raw)
48
- continue;
49
- const parsed = TaskSchema.safeParse(raw);
50
- if (parsed.success) {
51
- tasks.push(parsed.data);
52
- }
53
- else {
54
- getCliLogger().error(formatOperationError(`parse task file "${entry}"`, parsed.error));
55
- }
56
- }
57
- return tasks;
58
- }
59
- // ─── cmdTaskList ───
60
- export async function cmdTaskList(stateManager, args) {
61
- let values;
62
- try {
63
- ({ values } = parseArgs({
64
- args,
65
- options: {
66
- goal: { type: "string" },
67
- },
68
- strict: false,
69
- }));
70
- }
71
- catch (err) {
72
- getCliLogger().error(formatOperationError("parse task list arguments", err));
73
- values = {};
74
- }
75
- const goalId = values.goal;
76
- if (!goalId) {
77
- getCliLogger().error("Error: --goal <goalId> is required for `pulseed task list`.");
78
- return 1;
79
- }
80
- const tasks = await readAllTasksForGoal(stateManager, goalId);
81
- if (tasks.length === 0) {
82
- console.log(`No tasks found for goal "${goalId}".`);
83
- return 0;
84
- }
85
- // Sort by created_at descending (most recent first)
86
- const sorted = [...tasks].sort((a, b) => (a.created_at < b.created_at ? 1 : -1));
87
- console.log(`Tasks for goal: ${goalId}\n`);
88
- console.log(`${"ID".padEnd(10)} ${"STATUS".padEnd(12)} ${"VERDICT".padEnd(10)} ${"ELAPSED".padEnd(8)} DESCRIPTION`);
89
- console.log("-".repeat(90));
90
- for (const task of sorted) {
91
- const id = shortId(task.id);
92
- const status = (task.status ?? "pending").padEnd(12);
93
- const verdict = (task.verification_verdict ?? "-").padEnd(10);
94
- const elapsed = elapsedLabel(task).padEnd(8);
95
- const desc = truncate(task.work_description, 60);
96
- console.log(`${id.padEnd(10)} ${status} ${verdict} ${elapsed} ${desc}`);
97
- }
98
- console.log(`\nTotal: ${tasks.length} task(s)`);
99
- return 0;
100
- }
101
- // ─── cmdTaskShow ───
102
- export async function cmdTaskShow(stateManager, args) {
103
- let positionals = [];
104
- let values;
105
- try {
106
- const parsed = parseArgs({
107
- args,
108
- options: {
109
- goal: { type: "string" },
110
- },
111
- allowPositionals: true,
112
- strict: false,
113
- });
114
- values = parsed.values;
115
- positionals = parsed.positionals;
116
- }
117
- catch (err) {
118
- getCliLogger().error(formatOperationError("parse task show arguments", err));
119
- values = {};
120
- }
121
- const taskId = positionals[0];
122
- const goalId = values.goal;
123
- if (!taskId) {
124
- getCliLogger().error("Error: <taskId> is required. Usage: pulseed task show <taskId> --goal <goalId>");
125
- return 1;
126
- }
127
- if (!goalId) {
128
- getCliLogger().error("Error: --goal <goalId> is required for `pulseed task show`.");
129
- return 1;
130
- }
131
- const raw = await stateManager.readRaw(`tasks/${goalId}/${taskId}.json`);
132
- if (!raw) {
133
- getCliLogger().error(`Error: Task "${taskId}" not found for goal "${goalId}".`);
134
- return 1;
135
- }
136
- const parsed = TaskSchema.safeParse(raw);
137
- if (!parsed.success) {
138
- getCliLogger().error(formatOperationError(`parse task "${taskId}"`, parsed.error));
139
- return 1;
140
- }
141
- const task = parsed.data;
142
- console.log(`# Task: ${task.id}`);
143
- console.log();
144
- console.log(`Status: ${task.status}`);
145
- console.log(`Category: ${task.task_category}`);
146
- console.log(`Reversibility: ${task.reversibility}`);
147
- console.log(`Created at: ${task.created_at}`);
148
- if (task.started_at) {
149
- console.log(`Started at: ${task.started_at}`);
150
- }
151
- if (task.completed_at) {
152
- console.log(`Completed at: ${task.completed_at}`);
153
- }
154
- if (task.started_at) {
155
- console.log(`Elapsed: ${elapsedLabel(task)}`);
156
- }
157
- console.log();
158
- console.log(`## Work Description`);
159
- console.log(task.work_description);
160
- console.log();
161
- console.log(`## Approach`);
162
- console.log(task.approach);
163
- if (task.success_criteria.length > 0) {
164
- console.log();
165
- console.log(`## Success Criteria`);
166
- for (const criterion of task.success_criteria) {
167
- const blocking = criterion.is_blocking ? "[blocking]" : "[optional]";
168
- console.log(` ${blocking} ${criterion.description}`);
169
- console.log(` Verification: ${criterion.verification_method}`);
170
- }
171
- }
172
- if (task.execution_output) {
173
- console.log();
174
- console.log(`## Execution Output`);
175
- console.log(task.execution_output);
176
- }
177
- if (task.verification_verdict) {
178
- console.log();
179
- console.log(`## Verification`);
180
- console.log(`Verdict: ${task.verification_verdict}`);
181
- if (task.verification_evidence && task.verification_evidence.length > 0) {
182
- console.log(`Evidence:`);
183
- for (const evidence of task.verification_evidence) {
184
- console.log(` - ${evidence}`);
185
- }
186
- }
187
- }
188
- if (task.rationale) {
189
- console.log();
190
- console.log(`## Rationale`);
191
- console.log(task.rationale);
192
- }
193
- return 0;
194
- }
195
- //# sourceMappingURL=task-read%202.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-read 2.js","sourceRoot":"","sources":["../../../src/cli/commands/task-read 2.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /**
2
- * slot-definitions.ts
3
- * Purpose-specific slot configurations for the PromptGateway.
4
- * Defines context slots, memory layers, budget categories, and per-purpose configs.
5
- */
6
- export type ContextPurpose = "observation" | "task_generation" | "verification" | "strategy_generation" | "goal_decomposition" | "learning_extraction" | "learning_patternize" | "capability_detect" | "capability_goal_gap" | "capability_verify" | "ethics_evaluate" | "curiosity_propose" | "checkpoint_adapt" | "knowledge_gap_detection" | "knowledge_acquisition" | "knowledge_contradiction" | "knowledge_enrichment" | "knowledge_stability" | "memory_distill_extract_patterns" | "memory_distill_lessons" | "knowledge_transfer_adapt" | "knowledge_transfer_meta_patterns" | "knowledge_transfer_incremental" | "goal_quality_assessment" | "goal_quality_improvement" | "goal_quality_validation" | "dependency_analysis" | "strategy_template_match" | "strategy_template_adapt" | "knowledge_extraction" | "knowledge_consolidation" | "knowledge_query" | "knowledge_decision" | "knowledge_revalidation" | "memory_distill_summarize" | "memory_distill_prioritize" | "knowledge_transfer_extract" | "knowledge_transfer_apply" | "knowledge_transfer_validate" | "learning_pattern_extract" | "learning_insight_generate" | "capability_assess" | "capability_plan" | "ethics_explain" | "checkpoint_analyze";
7
- export type ContextSlot = "goal_definition" | "current_state" | "dimension_history" | "recent_task_results" | "reflections" | "lessons" | "knowledge" | "strategy_templates" | "workspace_state" | "failure_context";
8
- export type MemoryLayer = "hot" | "warm" | "cold" | "archival";
9
- export type BudgetCategory = "goalDefinition" | "observations" | "knowledge" | "transferKnowledge" | "meta";
10
- export interface SlotDefinition {
11
- slot: ContextSlot;
12
- layer: MemoryLayer;
13
- xmlTag: string;
14
- /** Lower value = higher priority (used for budget trimming) */
15
- priority: number;
16
- }
17
- export interface PurposeSlotConfig {
18
- purpose: ContextPurpose;
19
- activeSlots: ContextSlot[];
20
- budgetOverrides?: Partial<Record<BudgetCategory, number>>;
21
- }
22
- export declare const DEFAULT_BUDGET: Record<BudgetCategory, number>;
23
- /**
24
- * Returns the slot configuration (active slots + budget overrides) for a given purpose.
25
- * Throws if the purpose is not registered (should never happen with the union type).
26
- */
27
- export declare function getSlotConfig(purpose: ContextPurpose): PurposeSlotConfig;
28
- /**
29
- * Returns the full SlotDefinition for a given slot name.
30
- * Throws if the slot is not registered.
31
- */
32
- export declare function getSlotDefinition(slot: ContextSlot): SlotDefinition;
33
- //# sourceMappingURL=slot-definitions%202.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-definitions 2.d.ts","sourceRoot":"","sources":["../../src/prompt/slot-definitions 2.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,qBAAqB,GACrB,oBAAoB,GAEpB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,iCAAiC,GACjC,wBAAwB,GACxB,0BAA0B,GAC1B,kCAAkC,GAClC,gCAAgC,GAEhC,yBAAyB,GACzB,0BAA0B,GAC1B,yBAAyB,GACzB,qBAAqB,GACrB,yBAAyB,GACzB,yBAAyB,GAEzB,sBAAsB,GACtB,yBAAyB,GACzB,iBAAiB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,0BAA0B,GAC1B,2BAA2B,GAC3B,4BAA4B,GAC5B,0BAA0B,GAC1B,6BAA6B,GAE7B,0BAA0B,GAC1B,2BAA2B,GAC3B,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,qBAAqB,GACrB,aAAa,GACb,SAAS,GACT,WAAW,GACX,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/D,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,mBAAmB,GACnB,MAAM,CAAC;AAIX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3D;AAID,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAMzD,CAAC;AAqTF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAMxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CAMnE"}