pulseed 0.4.13 → 0.4.15

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 (210) hide show
  1. package/assets/seedy.png +0 -0
  2. package/dist/adapters/types/mcp.d.ts +6 -6
  3. package/dist/base/config/global-config.d.ts.map +1 -1
  4. package/dist/base/config/global-config.js +2 -2
  5. package/dist/base/config/global-config.js.map +1 -1
  6. package/dist/base/llm/codex-llm-client.d.ts +1 -1
  7. package/dist/base/llm/codex-llm-client.d.ts.map +1 -1
  8. package/dist/base/llm/codex-llm-client.js +1 -1
  9. package/dist/base/llm/codex-llm-client.js.map +1 -1
  10. package/dist/base/llm/llm-client.d.ts +3 -2
  11. package/dist/base/llm/llm-client.d.ts.map +1 -1
  12. package/dist/base/llm/llm-client.js.map +1 -1
  13. package/dist/base/llm/provider-config.d.ts +6 -1
  14. package/dist/base/llm/provider-config.d.ts.map +1 -1
  15. package/dist/base/llm/provider-config.js +148 -94
  16. package/dist/base/llm/provider-config.js.map +1 -1
  17. package/dist/base/utils/json-io.d.ts +6 -1
  18. package/dist/base/utils/json-io.d.ts.map +1 -1
  19. package/dist/base/utils/json-io.js +16 -3
  20. package/dist/base/utils/json-io.js.map +1 -1
  21. package/dist/interface/chat/chat-history.d.ts +6 -1
  22. package/dist/interface/chat/chat-history.d.ts.map +1 -1
  23. package/dist/interface/chat/chat-history.js +16 -2
  24. package/dist/interface/chat/chat-history.js.map +1 -1
  25. package/dist/interface/chat/chat-runner.d.ts +27 -1
  26. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  27. package/dist/interface/chat/chat-runner.js +441 -13
  28. package/dist/interface/chat/chat-runner.js.map +1 -1
  29. package/dist/interface/chat/grounding.d.ts.map +1 -1
  30. package/dist/interface/chat/grounding.js +2 -1
  31. package/dist/interface/chat/grounding.js.map +1 -1
  32. package/dist/interface/chat/mutation-tool-defs.d.ts +0 -21
  33. package/dist/interface/chat/mutation-tool-defs.d.ts.map +1 -1
  34. package/dist/interface/chat/mutation-tool-defs.js +1 -164
  35. package/dist/interface/chat/mutation-tool-defs.js.map +1 -1
  36. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  37. package/dist/interface/cli/commands/daemon.js +4 -14
  38. package/dist/interface/cli/commands/daemon.js.map +1 -1
  39. package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -1
  40. package/dist/interface/cli/commands/setup/import/apply.js +4 -0
  41. package/dist/interface/cli/commands/setup/import/apply.js.map +1 -1
  42. package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -1
  43. package/dist/interface/cli/commands/setup/import/discovery.js +10 -2
  44. package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -1
  45. package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -1
  46. package/dist/interface/cli/commands/setup/import/flow.js +11 -1
  47. package/dist/interface/cli/commands/setup/import/flow.js.map +1 -1
  48. package/dist/interface/cli/commands/setup/import/types.d.ts +3 -0
  49. package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -1
  50. package/dist/interface/cli/commands/setup/steps-identity.d.ts.map +1 -1
  51. package/dist/interface/cli/commands/setup/steps-identity.js +1 -2
  52. package/dist/interface/cli/commands/setup/steps-identity.js.map +1 -1
  53. package/dist/interface/cli/commands/setup/steps-provider.d.ts +4 -0
  54. package/dist/interface/cli/commands/setup/steps-provider.d.ts.map +1 -1
  55. package/dist/interface/cli/commands/setup/steps-provider.js +26 -0
  56. package/dist/interface/cli/commands/setup/steps-provider.js.map +1 -1
  57. package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
  58. package/dist/interface/cli/commands/setup-wizard.js +65 -17
  59. package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
  60. package/dist/interface/cli/commands/setup.d.ts.map +1 -1
  61. package/dist/interface/cli/commands/setup.js +12 -2
  62. package/dist/interface/cli/commands/setup.js.map +1 -1
  63. package/dist/interface/cli/setup.d.ts.map +1 -1
  64. package/dist/interface/cli/setup.js +6 -5
  65. package/dist/interface/cli/setup.js.map +1 -1
  66. package/dist/interface/mcp-server/index.d.ts.map +1 -1
  67. package/dist/interface/mcp-server/index.js +2 -1
  68. package/dist/interface/mcp-server/index.js.map +1 -1
  69. package/dist/orchestrator/execution/agent-loop/agent-loop-budget.d.ts +1 -1
  70. package/dist/orchestrator/execution/agent-loop/agent-loop-budget.d.ts.map +1 -1
  71. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.d.ts.map +1 -1
  72. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.js +3 -0
  73. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.js.map +1 -1
  74. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.d.ts.map +1 -1
  75. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js +15 -6
  76. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js.map +1 -1
  77. package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts +1 -0
  78. package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts.map +1 -1
  79. package/dist/orchestrator/execution/agent-loop/agent-loop-model.js.map +1 -1
  80. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -1
  81. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +0 -3
  82. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -1
  83. package/dist/orchestrator/execution/agent-loop/index.d.ts +1 -0
  84. package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -1
  85. package/dist/orchestrator/execution/agent-loop/index.js +1 -0
  86. package/dist/orchestrator/execution/agent-loop/index.js.map +1 -1
  87. package/dist/orchestrator/execution/agent-loop/prompted-tool-protocol.d.ts +16 -0
  88. package/dist/orchestrator/execution/agent-loop/prompted-tool-protocol.d.ts.map +1 -0
  89. package/dist/orchestrator/execution/agent-loop/prompted-tool-protocol.js +74 -0
  90. package/dist/orchestrator/execution/agent-loop/prompted-tool-protocol.js.map +1 -0
  91. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts +1 -1
  92. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts.map +1 -1
  93. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js +3 -2
  94. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js.map +1 -1
  95. package/dist/orchestrator/execution/task/task-lifecycle.js +1 -1
  96. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  97. package/dist/platform/observation/observation-tools.d.ts.map +1 -1
  98. package/dist/platform/observation/observation-tools.js +4 -1
  99. package/dist/platform/observation/observation-tools.js.map +1 -1
  100. package/dist/platform/soil/config.d.ts.map +1 -1
  101. package/dist/platform/soil/config.js +1 -2
  102. package/dist/platform/soil/config.js.map +1 -1
  103. package/dist/platform/soil/display/index.d.ts +4 -0
  104. package/dist/platform/soil/display/index.d.ts.map +1 -0
  105. package/dist/platform/soil/display/index.js +4 -0
  106. package/dist/platform/soil/display/index.js.map +1 -0
  107. package/dist/platform/soil/display/materialize.d.ts +3 -0
  108. package/dist/platform/soil/display/materialize.d.ts.map +1 -0
  109. package/dist/platform/soil/display/materialize.js +381 -0
  110. package/dist/platform/soil/display/materialize.js.map +1 -0
  111. package/dist/platform/soil/display/registry.d.ts +4 -0
  112. package/dist/platform/soil/display/registry.d.ts.map +1 -0
  113. package/dist/platform/soil/display/registry.js +19 -0
  114. package/dist/platform/soil/display/registry.js.map +1 -0
  115. package/dist/platform/soil/display/types.d.ts +28 -0
  116. package/dist/platform/soil/display/types.d.ts.map +1 -0
  117. package/dist/platform/soil/display/types.js +2 -0
  118. package/dist/platform/soil/display/types.js.map +1 -0
  119. package/dist/platform/soil/index.d.ts +1 -0
  120. package/dist/platform/soil/index.d.ts.map +1 -1
  121. package/dist/platform/soil/index.js +1 -0
  122. package/dist/platform/soil/index.js.map +1 -1
  123. package/dist/platform/soil/open.d.ts.map +1 -1
  124. package/dist/platform/soil/open.js +2 -0
  125. package/dist/platform/soil/open.js.map +1 -1
  126. package/dist/platform/soil/publish/publisher.d.ts.map +1 -1
  127. package/dist/platform/soil/publish/publisher.js +2 -0
  128. package/dist/platform/soil/publish/publisher.js.map +1 -1
  129. package/dist/reflection/evening-catchup.d.ts.map +1 -1
  130. package/dist/reflection/evening-catchup.js +6 -41
  131. package/dist/reflection/evening-catchup.js.map +1 -1
  132. package/dist/reflection/morning-planning.d.ts.map +1 -1
  133. package/dist/reflection/morning-planning.js +6 -46
  134. package/dist/reflection/morning-planning.js.map +1 -1
  135. package/dist/reflection/reflection-utils.d.ts +16 -0
  136. package/dist/reflection/reflection-utils.d.ts.map +1 -0
  137. package/dist/reflection/reflection-utils.js +56 -0
  138. package/dist/reflection/reflection-utils.js.map +1 -0
  139. package/dist/reflection/weekly-review.d.ts.map +1 -1
  140. package/dist/reflection/weekly-review.js +3 -12
  141. package/dist/reflection/weekly-review.js.map +1 -1
  142. package/dist/reporting/report-formatters.d.ts +7 -0
  143. package/dist/reporting/report-formatters.d.ts.map +1 -1
  144. package/dist/reporting/report-formatters.js +22 -33
  145. package/dist/reporting/report-formatters.js.map +1 -1
  146. package/dist/reporting/reporting-engine.d.ts.map +1 -1
  147. package/dist/reporting/reporting-engine.js +34 -49
  148. package/dist/reporting/reporting-engine.js.map +1 -1
  149. package/dist/runtime/builtin-integrations.d.ts +4 -0
  150. package/dist/runtime/builtin-integrations.d.ts.map +1 -0
  151. package/dist/runtime/builtin-integrations.js +45 -0
  152. package/dist/runtime/builtin-integrations.js.map +1 -0
  153. package/dist/runtime/event/server.d.ts +1 -1
  154. package/dist/runtime/event/server.d.ts.map +1 -1
  155. package/dist/runtime/event/server.js +5 -27
  156. package/dist/runtime/event/server.js.map +1 -1
  157. package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
  158. package/dist/runtime/executor/loop-supervisor.js +2 -2
  159. package/dist/runtime/executor/loop-supervisor.js.map +1 -1
  160. package/dist/runtime/foreign-plugins/compatibility.d.ts +7 -0
  161. package/dist/runtime/foreign-plugins/compatibility.d.ts.map +1 -0
  162. package/dist/runtime/foreign-plugins/compatibility.js +175 -0
  163. package/dist/runtime/foreign-plugins/compatibility.js.map +1 -0
  164. package/dist/runtime/foreign-plugins/index.d.ts +3 -0
  165. package/dist/runtime/foreign-plugins/index.d.ts.map +1 -0
  166. package/dist/runtime/foreign-plugins/index.js +2 -0
  167. package/dist/runtime/foreign-plugins/index.js.map +1 -0
  168. package/dist/runtime/foreign-plugins/types.d.ts +25 -0
  169. package/dist/runtime/foreign-plugins/types.d.ts.map +1 -0
  170. package/dist/runtime/foreign-plugins/types.js +2 -0
  171. package/dist/runtime/foreign-plugins/types.js.map +1 -0
  172. package/dist/runtime/schedule/engine.d.ts +12 -0
  173. package/dist/runtime/schedule/engine.d.ts.map +1 -1
  174. package/dist/runtime/schedule/engine.js +402 -243
  175. package/dist/runtime/schedule/engine.js.map +1 -1
  176. package/dist/runtime/types/builtin-integration.d.ts +13 -0
  177. package/dist/runtime/types/builtin-integration.d.ts.map +1 -0
  178. package/dist/runtime/types/builtin-integration.js +2 -0
  179. package/dist/runtime/types/builtin-integration.js.map +1 -0
  180. package/dist/tools/executor.js +2 -2
  181. package/dist/tools/executor.js.map +1 -1
  182. package/dist/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.d.ts.map +1 -1
  183. package/dist/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.js +21 -5
  184. package/dist/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.js.map +1 -1
  185. package/dist/tools/fs/WritePulseedFileTool/WritePulseedFileTool.d.ts.map +1 -1
  186. package/dist/tools/fs/WritePulseedFileTool/WritePulseedFileTool.js +61 -6
  187. package/dist/tools/fs/WritePulseedFileTool/WritePulseedFileTool.js.map +1 -1
  188. package/dist/tools/interaction/plan-utils.js +2 -2
  189. package/dist/tools/interaction/plan-utils.js.map +1 -1
  190. package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +10 -10
  191. package/dist/tools/query/ConfigTool/ConfigTool.d.ts.map +1 -1
  192. package/dist/tools/query/ConfigTool/ConfigTool.js +4 -3
  193. package/dist/tools/query/ConfigTool/ConfigTool.js.map +1 -1
  194. package/dist/tools/query/PluginStateTool/PluginStateTool.d.ts.map +1 -1
  195. package/dist/tools/query/PluginStateTool/PluginStateTool.js +13 -2
  196. package/dist/tools/query/PluginStateTool/PluginStateTool.js.map +1 -1
  197. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +4 -4
  198. package/package.json +2 -1
  199. package/dist/interface/chat/self-knowledge-mutation-tools.d.ts +0 -12
  200. package/dist/interface/chat/self-knowledge-mutation-tools.d.ts.map +0 -1
  201. package/dist/interface/chat/self-knowledge-mutation-tools.js +0 -261
  202. package/dist/interface/chat/self-knowledge-mutation-tools.js.map +0 -1
  203. package/dist/interface/chat/self-knowledge-tools.d.ts +0 -30
  204. package/dist/interface/chat/self-knowledge-tools.d.ts.map +0 -1
  205. package/dist/interface/chat/self-knowledge-tools.js +0 -248
  206. package/dist/interface/chat/self-knowledge-tools.js.map +0 -1
  207. package/dist/prompt/index.d.ts +0 -12
  208. package/dist/prompt/index.d.ts.map +0 -1
  209. package/dist/prompt/index.js +0 -9
  210. package/dist/prompt/index.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import * as fsp from "node:fs/promises";
2
2
  import * as path from "node:path";
3
- import { writeJsonFileAtomic } from "../base/utils/json-io.js";
4
3
  import { z } from "zod";
5
4
  import { CatchupReportSchema } from "./types.js";
6
5
  import { getInternalIdentityPrefix } from "../base/config/identity-loader.js";
6
+ import { dispatchReflectionNotification, emitReflectionComplete, loadActiveGoalSummaries, persistReflectionReport, todayISO, } from "./reflection-utils.js";
7
7
  // ─── LLM response schema ───
8
8
  const LLMCatchupResponseSchema = z.object({
9
9
  progress_summary: z.string(),
@@ -11,39 +11,12 @@ const LLMCatchupResponseSchema = z.object({
11
11
  stalls: z.array(z.string()).default([]),
12
12
  concerns: z.array(z.string()).default([]),
13
13
  });
14
- // ─── Helpers ───
15
- function todayISO() {
16
- return new Date().toISOString().slice(0, 10);
17
- }
18
- async function loadGoalSummaries(stateManager) {
19
- const goalIds = await stateManager.listGoalIds();
20
- const summaries = [];
21
- for (const id of goalIds) {
22
- const goal = await stateManager.loadGoal(id);
23
- if (!goal || goal.status !== "active")
24
- continue;
25
- const gapHistory = await stateManager.loadGapHistory(id);
26
- const latest = gapHistory.at(-1);
27
- const gapScore = latest
28
- ? Math.max(...latest.gap_vector.map((g) => g.normalized_weighted_gap))
29
- : 0;
30
- summaries.push({
31
- goal_id: goal.id,
32
- title: goal.title,
33
- status: goal.status,
34
- gap_score: Math.min(1, Math.max(0, gapScore)),
35
- stall_level: 0,
36
- dimensions_count: goal.dimensions.length,
37
- });
38
- }
39
- return summaries;
40
- }
41
14
  // ─── Main ───
42
15
  export async function runEveningCatchup(deps) {
43
16
  const { stateManager, llmClient, baseDir, notificationDispatcher, hookManager } = deps;
44
17
  const date = todayISO();
45
18
  const now = new Date().toISOString();
46
- const goalSummaries = await loadGoalSummaries(stateManager);
19
+ const goalSummaries = await loadActiveGoalSummaries(stateManager);
47
20
  let progressSummary = "No active goals to review.";
48
21
  let completions = [];
49
22
  let stalls = [];
@@ -92,24 +65,16 @@ Respond with JSON:
92
65
  stalls,
93
66
  concerns,
94
67
  });
95
- // Persist report
96
- const reflectionsDir = path.join(baseDir, "reflections");
97
- await fsp.mkdir(reflectionsDir, { recursive: true });
98
- await writeJsonFileAtomic(path.join(reflectionsDir, `evening-${date}.json`), report);
99
- void hookManager?.emit("ReflectionComplete", { data: { type: "evening_catchup" } });
68
+ await persistReflectionReport(baseDir, `evening-${date}.json`, report);
69
+ emitReflectionComplete(hookManager, "evening_catchup");
100
70
  // Notify
101
71
  if (notificationDispatcher && goalSummaries.length > 0) {
102
- const now2 = new Date().toISOString();
103
- await notificationDispatcher.dispatch({
72
+ await dispatchReflectionNotification(notificationDispatcher, {
104
73
  id: `evening-catchup-${date}`,
105
74
  report_type: "daily_summary",
106
- goal_id: null,
107
75
  title: `Evening Catch-up — ${date}`,
108
76
  content: progressSummary,
109
- verbosity: "standard",
110
- generated_at: now2,
111
- delivered_at: null,
112
- read: false,
77
+ generated_at: new Date().toISOString(),
113
78
  });
114
79
  }
115
80
  return report;
@@ -1 +1 @@
1
- {"version":3,"file":"evening-catchup.js","sourceRoot":"","sources":["../../src/reflection/evening-catchup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evening-catchup.js","sourceRoot":"","sources":["../../src/reflection/evening-catchup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,8BAA8B;AAE9B,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1C,CAAC,CAAC;AAEH,eAAe;AAEf,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAMvC;IACC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACvF,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAElE,IAAI,eAAe,GAAG,4BAA4B,CAAC;IACnD,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,IAAI,QAAQ,GAAa,EAAE,CAAC;IAE5B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,kDAAkD;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,IAAI,OAAO,CAAC,CAAC;QAC9E,IAAI,WAAW,GAAY,IAAI,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACrD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,yBAAyB,CAAC,4BAA4B,CAAC;;;EAG3E,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;;EAEtC,WAAW,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;kGAKmB,CAAC;QAE/F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC/E,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC1C,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAC7B,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;YACpC,eAAe,GAAG,8CAA8C,CAAC;QACnE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC;QACvC,IAAI;QACJ,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,aAAa,CAAC,MAAM;QACpC,gBAAgB,EAAE,eAAe;QACjC,WAAW;QACX,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IAEvE,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAEvD,SAAS;IACT,IAAI,sBAAsB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,8BAA8B,CAAC,sBAAsB,EAAE;YAC3D,EAAE,EAAE,mBAAmB,IAAI,EAAE;YAC7B,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,sBAAsB,IAAI,EAAE;YACnC,OAAO,EAAE,eAAe;YACxB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"morning-planning.d.ts","sourceRoot":"","sources":["../../src/reflection/morning-planning.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAuD9D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,GAAG,OAAO,CAAC,cAAc,CAAC,CAmE1B"}
1
+ {"version":3,"file":"morning-planning.d.ts","sourceRoot":"","sources":["../../src/reflection/morning-planning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AA0B9D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,GAAG,OAAO,CAAC,cAAc,CAAC,CA2D1B"}
@@ -1,9 +1,7 @@
1
- import * as fsp from "node:fs/promises";
2
- import * as path from "node:path";
3
- import { writeJsonFileAtomic } from "../base/utils/json-io.js";
4
1
  import { z } from "zod";
5
2
  import { PlanningReportSchema } from "./types.js";
6
3
  import { getInternalIdentityPrefix } from "../base/config/identity-loader.js";
4
+ import { dispatchReflectionNotification, emitReflectionComplete, loadActiveGoalSummaries, persistReflectionReport, todayISO, } from "./reflection-utils.js";
7
5
  // ─── LLM response schema ───
8
6
  const LLMPlanningResponseSchema = z.object({
9
7
  priorities: z.array(z.object({
@@ -14,42 +12,12 @@ const LLMPlanningResponseSchema = z.object({
14
12
  suggestions: z.array(z.string()).default([]),
15
13
  concerns: z.array(z.string()).default([]),
16
14
  });
17
- // ─── Helpers ───
18
- function todayISO() {
19
- return new Date().toISOString().slice(0, 10);
20
- }
21
- function aggregateGapScore(gaps) {
22
- if (gaps.length === 0)
23
- return 0;
24
- return Math.max(...gaps.map((g) => g.normalized_weighted_gap));
25
- }
26
- async function buildGoalSummaries(stateManager) {
27
- const goalIds = await stateManager.listGoalIds();
28
- const summaries = [];
29
- for (const id of goalIds) {
30
- const goal = await stateManager.loadGoal(id);
31
- if (!goal || goal.status !== "active")
32
- continue;
33
- const gapHistory = await stateManager.loadGapHistory(id);
34
- const latest = gapHistory.at(-1);
35
- const gapScore = latest ? aggregateGapScore(latest.gap_vector) : 0;
36
- summaries.push({
37
- goal_id: goal.id,
38
- title: goal.title,
39
- status: goal.status,
40
- gap_score: Math.min(1, Math.max(0, gapScore)),
41
- stall_level: 0,
42
- dimensions_count: goal.dimensions.length,
43
- });
44
- }
45
- return summaries;
46
- }
47
15
  // ─── Main ───
48
16
  export async function runMorningPlanning(deps) {
49
17
  const { stateManager, llmClient, baseDir, notificationDispatcher, hookManager } = deps;
50
18
  const date = todayISO();
51
19
  const now = new Date().toISOString();
52
- const goalSummaries = await buildGoalSummaries(stateManager);
20
+ const goalSummaries = await loadActiveGoalSummaries(stateManager);
53
21
  let priorities = [];
54
22
  let suggestions = [];
55
23
  let concerns = [];
@@ -83,24 +51,16 @@ Respond with JSON matching this schema:
83
51
  suggestions,
84
52
  concerns,
85
53
  });
86
- // Persist report
87
- const reflectionsDir = path.join(baseDir, "reflections");
88
- await fsp.mkdir(reflectionsDir, { recursive: true });
89
- await writeJsonFileAtomic(path.join(reflectionsDir, `morning-${date}.json`), report);
90
- void hookManager?.emit("ReflectionComplete", { data: { type: "morning_planning" } });
54
+ await persistReflectionReport(baseDir, `morning-${date}.json`, report);
55
+ emitReflectionComplete(hookManager, "morning_planning");
91
56
  // Notify
92
57
  if (notificationDispatcher && goalSummaries.length > 0) {
93
- const now2 = new Date().toISOString();
94
- await notificationDispatcher.dispatch({
58
+ await dispatchReflectionNotification(notificationDispatcher, {
95
59
  id: `morning-planning-${date}`,
96
60
  report_type: "daily_summary",
97
- goal_id: null,
98
61
  title: `Morning Planning — ${date}`,
99
62
  content: `Reviewed ${goalSummaries.length} goals. ${concerns.length} concern(s).`,
100
- verbosity: "standard",
101
- generated_at: now2,
102
- delivered_at: null,
103
- read: false,
63
+ generated_at: new Date().toISOString(),
104
64
  });
105
65
  }
106
66
  return report;
@@ -1 +1 @@
1
- {"version":3,"file":"morning-planning.js","sourceRoot":"","sources":["../../src/reflection/morning-planning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"morning-planning.js","sourceRoot":"","sources":["../../src/reflection/morning-planning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { StateManager } from "../base/state/state-manager.js";
2
+ import type { GoalSummary } from "./types.js";
3
+ import type { HookManager } from "../runtime/hook-manager.js";
4
+ import type { INotificationDispatcher } from "../runtime/notification-dispatcher.js";
5
+ export declare function todayISO(): string;
6
+ export declare function loadActiveGoalSummaries(stateManager: StateManager): Promise<GoalSummary[]>;
7
+ export declare function persistReflectionReport(baseDir: string, filename: string, report: unknown): Promise<void>;
8
+ export declare function emitReflectionComplete(hookManager: HookManager | undefined, type: string): void;
9
+ export declare function dispatchReflectionNotification(notificationDispatcher: INotificationDispatcher | undefined, notification: {
10
+ id: string;
11
+ report_type: "daily_summary" | "weekly_report";
12
+ title: string;
13
+ content: string;
14
+ generated_at: string;
15
+ }): Promise<void>;
16
+ //# sourceMappingURL=reflection-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection-utils.d.ts","sourceRoot":"","sources":["../../src/reflection/reflection-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIrF,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAOD,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAuBhG;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/F;AAED,wBAAsB,8BAA8B,CAClD,sBAAsB,EAAE,uBAAuB,GAAG,SAAS,EAC3D,YAAY,EAAE;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,eAAe,GAAG,eAAe,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,56 @@
1
+ import * as fsp from "node:fs/promises";
2
+ import * as path from "node:path";
3
+ import { writeJsonFileAtomic } from "../base/utils/json-io.js";
4
+ export function todayISO() {
5
+ return new Date().toISOString().slice(0, 10);
6
+ }
7
+ function aggregateGapScore(gaps) {
8
+ if (gaps.length === 0)
9
+ return 0;
10
+ return Math.max(...gaps.map((g) => g.normalized_weighted_gap));
11
+ }
12
+ export async function loadActiveGoalSummaries(stateManager) {
13
+ const goalIds = await stateManager.listGoalIds();
14
+ const summaries = [];
15
+ for (const id of goalIds) {
16
+ const goal = await stateManager.loadGoal(id);
17
+ if (!goal || goal.status !== "active")
18
+ continue;
19
+ const gapHistory = await stateManager.loadGapHistory(id);
20
+ const latest = gapHistory.at(-1);
21
+ const gapScore = latest ? aggregateGapScore(latest.gap_vector) : 0;
22
+ summaries.push({
23
+ goal_id: goal.id,
24
+ title: goal.title,
25
+ status: goal.status,
26
+ gap_score: Math.min(1, Math.max(0, gapScore)),
27
+ stall_level: 0,
28
+ dimensions_count: goal.dimensions.length,
29
+ });
30
+ }
31
+ return summaries;
32
+ }
33
+ export async function persistReflectionReport(baseDir, filename, report) {
34
+ const reflectionsDir = path.join(baseDir, "reflections");
35
+ await fsp.mkdir(reflectionsDir, { recursive: true });
36
+ await writeJsonFileAtomic(path.join(reflectionsDir, filename), report);
37
+ }
38
+ export function emitReflectionComplete(hookManager, type) {
39
+ void hookManager?.emit("ReflectionComplete", { data: { type } });
40
+ }
41
+ export async function dispatchReflectionNotification(notificationDispatcher, notification) {
42
+ if (!notificationDispatcher)
43
+ return;
44
+ await notificationDispatcher.dispatch({
45
+ id: notification.id,
46
+ report_type: notification.report_type,
47
+ goal_id: null,
48
+ title: notification.title,
49
+ content: notification.content,
50
+ verbosity: "standard",
51
+ generated_at: notification.generated_at,
52
+ delivered_at: null,
53
+ read: false,
54
+ });
55
+ }
56
+ //# sourceMappingURL=reflection-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection-utils.js","sourceRoot":"","sources":["../../src/reflection/reflection-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"weekly-review.d.ts","sourceRoot":"","sources":["../../src/reflection/weekly-review.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA6CrD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;CAClD,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwF9B"}
1
+ {"version":3,"file":"weekly-review.d.ts","sourceRoot":"","sources":["../../src/reflection/weekly-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiDrD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;CAClD,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiF9B"}
@@ -1,9 +1,7 @@
1
- import * as fsp from "node:fs/promises";
2
- import * as path from "node:path";
3
- import { writeJsonFileAtomic } from "../base/utils/json-io.js";
4
1
  import { z } from "zod";
5
2
  import { getInternalIdentityPrefix } from "../base/config/identity-loader.js";
6
3
  import { WeeklyReviewReportSchema } from "./types.js";
4
+ import { dispatchReflectionNotification, persistReflectionReport, } from "./reflection-utils.js";
7
5
  // ─── LLM response schema ───
8
6
  const LLMWeeklyResponseSchema = z.object({
9
7
  rankings: z.array(z.object({
@@ -92,22 +90,15 @@ Respond with JSON matching this schema:
92
90
  suggested_removals,
93
91
  summary,
94
92
  });
95
- // Persist report
96
- const reflectionsDir = path.join(baseDir, "reflections");
97
- await fsp.mkdir(reflectionsDir, { recursive: true });
98
- await writeJsonFileAtomic(path.join(reflectionsDir, `weekly-${week}.json`), report);
93
+ await persistReflectionReport(baseDir, `weekly-${week}.json`, report);
99
94
  // Notify
100
95
  if (notificationDispatcher && goalSummaries.length > 0) {
101
- await notificationDispatcher.dispatch({
96
+ await dispatchReflectionNotification(notificationDispatcher, {
102
97
  id: `weekly-review-${week}`,
103
98
  report_type: "weekly_report",
104
- goal_id: null,
105
99
  title: `Weekly Review — ${week}`,
106
100
  content: `Reviewed ${goalSummaries.length} goals. ${suggested_removals.length} removal(s) suggested.`,
107
- verbosity: "standard",
108
101
  generated_at: now,
109
- delivered_at: null,
110
- read: false,
111
102
  });
112
103
  }
113
104
  return report;
@@ -1 +1 @@
1
- {"version":3,"file":"weekly-review.js","sourceRoot":"","sources":["../../src/reflection/weekly-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weekly-review.js","sourceRoot":"","sources":["../../src/reflection/weekly-review.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import type { Report } from "../base/types/report.js";
2
2
  import type { CharacterConfig } from "../base/types/character.js";
3
3
  import type { ExecutionSummaryParams, NotificationType, NotificationContext } from "./reporting-types.js";
4
4
  export declare function getVerbosityLevel(characterConfig: CharacterConfig): "brief" | "normal" | "detailed";
5
+ export declare function readMetadataOrContent<T>(metadataValue: T | null | undefined, content: string, pattern: RegExp, parse: (match: RegExpMatchArray) => T): T | null;
6
+ export declare function buildSectionedReportContent(args: {
7
+ heading: string;
8
+ goalId: string;
9
+ body: string;
10
+ generatedAt: string;
11
+ }): string;
5
12
  export declare function formatReportForCLI(report: Report): string;
6
13
  export declare function buildExecutionSummaryContent(params: ExecutionSummaryParams, verbosity: "brief" | "normal" | "detailed"): string;
7
14
  export declare function buildNotificationContent(type: NotificationType, context: NotificationContext, characterConfig: CharacterConfig): {
@@ -1 +1 @@
1
- {"version":3,"file":"report-formatters.d.ts","sourceRoot":"","sources":["../../src/reporting/report-formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI1G,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAKnG;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA4DzD;AAID,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GACzC,MAAM,CA+DR;AAID,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAE,eAAe,GAC/B;IAAE,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqDvE"}
1
+ {"version":3,"file":"report-formatters.d.ts","sourceRoot":"","sources":["../../src/reporting/report-formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI1G,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAKnG;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,CAAC,GACpC,CAAC,GAAG,IAAI,CAIV;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAOT;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA+DzD;AAID,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GACzC,MAAM,CA+DR;AAID,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAE,eAAe,GAC/B;IAAE,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqDvE"}
@@ -7,24 +7,26 @@ export function getVerbosityLevel(characterConfig) {
7
7
  return "normal";
8
8
  return "detailed";
9
9
  }
10
+ export function readMetadataOrContent(metadataValue, content, pattern, parse) {
11
+ if (metadataValue !== undefined && metadataValue !== null)
12
+ return metadataValue;
13
+ const match = content.match(pattern);
14
+ return match ? parse(match) : null;
15
+ }
16
+ export function buildSectionedReportContent(args) {
17
+ return (`## ${args.heading}\n\n` +
18
+ `**Goal**: ${args.goalId}\n\n` +
19
+ `${args.body}\n\n` +
20
+ `_Generated at ${args.generatedAt}_`);
21
+ }
10
22
  // ─── formatReportForCLI ───
11
23
  export function formatReportForCLI(report) {
12
24
  if (report.report_type === "execution_summary") {
13
25
  const m = report.metadata;
14
- const loopNum = m?.loop_index ?? (() => {
15
- const match = report.title.match(/Loop (\d+)/);
16
- return match ? parseInt(match[1], 10) : null;
17
- })();
18
- const gap = m?.gap_aggregate !== undefined
19
- ? m.gap_aggregate.toFixed(2)
20
- : (() => {
21
- const match = report.content.match(/\*\*Score\*\*:\s*([\d.]+)/);
22
- return match ? parseFloat(match[1]).toFixed(2) : "?.??";
23
- })();
24
- const taskPart = m
25
- ? (m.task_id != null && m.task_action != null
26
- ? `task: ${m.task_id} (${m.task_action})`
27
- : "no task")
26
+ const loopNum = readMetadataOrContent(m?.loop_index, report.content, /Loop (\d+)/, (match) => parseInt(match[1], 10));
27
+ const gapValue = readMetadataOrContent(m?.gap_aggregate, report.content, /\*\*Score\*\*:\s*([\d.]+)/, (match) => parseFloat(match[1]));
28
+ const taskPart = m?.task_id != null && m?.task_action != null
29
+ ? `task: ${m.task_id} (${m.task_action})`
28
30
  : (() => {
29
31
  const taskIdMatch = report.content.match(/\*\*Task ID\*\*:\s*(.+)/);
30
32
  const actionMatch = report.content.match(/\*\*Action\*\*:\s*(.+)/);
@@ -32,36 +34,23 @@ export function formatReportForCLI(report) {
32
34
  ? `task: ${taskIdMatch[1].trim()} (${actionMatch[1].trim()})`
33
35
  : "no task";
34
36
  })();
35
- const elapsed = m?.elapsed_ms !== undefined
36
- ? `${(m.elapsed_ms / 1000).toFixed(1)}s`
37
- : (() => {
38
- const match = report.content.match(/^([\d.]+)s$/m);
39
- return match ? `${match[1]}s` : "?s";
40
- })();
37
+ const elapsedValue = readMetadataOrContent(m?.elapsed_ms, report.content, /^([\d.]+)s$/m, (match) => parseFloat(match[1]) * 1000);
41
38
  const goalId = report.goal_id ?? "(no goal)";
42
- return `[Loop ${loopNum ?? "?"}] ${goalId} | gap: ${gap} | ${taskPart} | ${elapsed}`;
39
+ return `[Loop ${loopNum ?? "?"}] ${goalId} | gap: ${gapValue !== null ? gapValue.toFixed(2) : "?.??"} | ${taskPart} | ${elapsedValue !== null ? `${(elapsedValue / 1000).toFixed(1)}s` : "?s"}`;
43
40
  }
44
41
  if (report.report_type === "daily_summary") {
45
42
  const dateMatch = report.title.match(/(\d{4}-\d{2}-\d{2})/);
46
43
  const date = dateMatch ? dateMatch[1] : "?";
47
- const loops = report.metadata?.loops_run
48
- ?? (() => {
49
- const m = report.content.match(/\*\*Loops run\*\*:\s*(\d+)/);
50
- return m ? m[1] : "?";
51
- })();
44
+ const loops = readMetadataOrContent(report.metadata?.loops_run, report.content, /\*\*Loops run\*\*:\s*(\d+)/, (match) => parseInt(match[1], 10));
52
45
  const goalId = report.goal_id ?? "(no goal)";
53
- return `[Daily ${date}] ${goalId} | ${loops} loops`;
46
+ return `[Daily ${date}] ${goalId} | ${loops ?? "?"} loops`;
54
47
  }
55
48
  if (report.report_type === "weekly_report") {
56
49
  const dateMatch = report.title.match(/(\d{4}-\d{2}-\d{2})/);
57
50
  const date = dateMatch ? dateMatch[1] : "?";
58
- const totalLoops = report.metadata?.total_loops
59
- ?? (() => {
60
- const m = report.content.match(/\*\*Total loops run\*\*:\s*(\d+)/);
61
- return m ? m[1] : "?";
62
- })();
51
+ const totalLoops = readMetadataOrContent(report.metadata?.total_loops, report.content, /\*\*Total loops run\*\*:\s*(\d+)/, (match) => parseInt(match[1], 10));
63
52
  const goalId = report.goal_id ?? "(no goal)";
64
- return `[Weekly ${date}] ${goalId} | ${totalLoops} total loops`;
53
+ return `[Weekly ${date}] ${goalId} | ${totalLoops ?? "?"} total loops`;
65
54
  }
66
55
  // Notification types / fallback
67
56
  return `[${report.report_type}] ${report.goal_id ?? "(no goal)"} | ${report.title}`;
@@ -1 +1 @@
1
- {"version":3,"file":"report-formatters.js","sourceRoot":"","sources":["../../src/reporting/report-formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-formatters.js","sourceRoot":"","sources":["../../src/reporting/report-formatters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reporting-engine.d.ts","sourceRoot":"","sources":["../../src/reporting/reporting-engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,OAAO,CAAC,iBAAiB,CAAC,CAIxB;IAEF,OAAO,CAAC,aAAa,CAAC,CAEpB;gBAGA,YAAY,EAAE,YAAY,EAC1B,sBAAsB,CAAC,EAAE,uBAAuB,EAChD,eAAe,CAAC,EAAE,eAAe;IAOnC,oBAAoB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI;IAI7D,gBAAgB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI;IAIrD,yBAAyB,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;IAMpE,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;IAiC1D,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0FrD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6FrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQnD,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA2BvC,sBAAsB;IAyBpC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAM9B,oBAAoB,CACxB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC;IA4BlB;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDnD,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC;IA+DrD,wEAAwE;IAClE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBnD;AAGD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"reporting-engine.d.ts","sourceRoot":"","sources":["../../src/reporting/reporting-engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAUlE,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,OAAO,CAAC,iBAAiB,CAAC,CAIxB;IAEF,OAAO,CAAC,aAAa,CAAC,CAEpB;gBAGA,YAAY,EAAE,YAAY,EAC1B,sBAAsB,CAAC,EAAE,uBAAuB,EAChD,eAAe,CAAC,EAAE,eAAe;IAOnC,oBAAoB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI;IAI7D,gBAAgB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI;IAIrD,yBAAyB,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;IAMpE,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;IAiC1D,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsGrD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2GrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQnD,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA2BvC,sBAAsB;IAyBpC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAM9B,oBAAoB,CACxB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC;IA4BlB;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDnD,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC;IA+DrD,wEAAwE;IAClE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBnD;AAGD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC"}