@jungjaehoon/mama-os 0.77.0 → 0.79.0

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 (338) hide show
  1. package/CHANGELOG.md +446 -0
  2. package/README.md +59 -30
  3. package/db/migrations/002-model-runs-parent-index.sql +11 -0
  4. package/db/migrations/003-upkeep-settled.sql +15 -0
  5. package/dist/api/google-read-actions.d.ts +30 -0
  6. package/dist/api/google-read-actions.d.ts.map +1 -0
  7. package/dist/api/google-read-actions.js +256 -0
  8. package/dist/api/google-read-actions.js.map +1 -0
  9. package/dist/api/record-actions.d.ts.map +1 -1
  10. package/dist/api/record-actions.js +23 -5
  11. package/dist/api/record-actions.js.map +1 -1
  12. package/dist/api/report-handler.d.ts +0 -6
  13. package/dist/api/report-handler.d.ts.map +1 -1
  14. package/dist/api/report-handler.js +0 -54
  15. package/dist/api/report-handler.js.map +1 -1
  16. package/dist/api/security-events.d.ts +1 -1
  17. package/dist/api/security-events.d.ts.map +1 -1
  18. package/dist/api/security-events.js +10 -1
  19. package/dist/api/security-events.js.map +1 -1
  20. package/dist/api/source-actions.d.ts +9 -0
  21. package/dist/api/source-actions.d.ts.map +1 -1
  22. package/dist/api/source-actions.js +49 -0
  23. package/dist/api/source-actions.js.map +1 -1
  24. package/dist/api/viewer-request-security.d.ts +14 -1
  25. package/dist/api/viewer-request-security.d.ts.map +1 -1
  26. package/dist/api/viewer-request-security.js +26 -3
  27. package/dist/api/viewer-request-security.js.map +1 -1
  28. package/dist/api/viewer-server.d.ts +8 -0
  29. package/dist/api/viewer-server.d.ts.map +1 -1
  30. package/dist/api/viewer-server.js +66 -0
  31. package/dist/api/viewer-server.js.map +1 -1
  32. package/dist/api/work-actions.d.ts +19 -2
  33. package/dist/api/work-actions.d.ts.map +1 -1
  34. package/dist/api/work-actions.js +42 -2
  35. package/dist/api/work-actions.js.map +1 -1
  36. package/dist/cli/commands/backfill.d.ts.map +1 -1
  37. package/dist/cli/commands/backfill.js +1 -0
  38. package/dist/cli/commands/backfill.js.map +1 -1
  39. package/dist/cli/commands/backup.d.ts +14 -0
  40. package/dist/cli/commands/backup.d.ts.map +1 -0
  41. package/dist/cli/commands/backup.js +174 -0
  42. package/dist/cli/commands/backup.js.map +1 -0
  43. package/dist/cli/commands/control.d.ts +44 -0
  44. package/dist/cli/commands/control.d.ts.map +1 -0
  45. package/dist/cli/commands/control.js +354 -0
  46. package/dist/cli/commands/control.js.map +1 -0
  47. package/dist/cli/commands/daemon.d.ts +60 -3
  48. package/dist/cli/commands/daemon.d.ts.map +1 -1
  49. package/dist/cli/commands/daemon.js +454 -78
  50. package/dist/cli/commands/daemon.js.map +1 -1
  51. package/dist/cli/commands/doctor.d.ts +13 -0
  52. package/dist/cli/commands/doctor.d.ts.map +1 -0
  53. package/dist/cli/commands/doctor.js +216 -0
  54. package/dist/cli/commands/doctor.js.map +1 -0
  55. package/dist/cli/commands/init-questions.d.ts +98 -0
  56. package/dist/cli/commands/init-questions.d.ts.map +1 -0
  57. package/dist/cli/commands/init-questions.js +420 -0
  58. package/dist/cli/commands/init-questions.js.map +1 -0
  59. package/dist/cli/commands/init-section.d.ts +13 -0
  60. package/dist/cli/commands/init-section.d.ts.map +1 -0
  61. package/dist/cli/commands/init-section.js +375 -0
  62. package/dist/cli/commands/init-section.js.map +1 -0
  63. package/dist/cli/commands/init.d.ts +56 -2
  64. package/dist/cli/commands/init.d.ts.map +1 -1
  65. package/dist/cli/commands/init.js +562 -350
  66. package/dist/cli/commands/init.js.map +1 -1
  67. package/dist/cli/commands/logs.d.ts +9 -0
  68. package/dist/cli/commands/logs.d.ts.map +1 -0
  69. package/dist/cli/commands/logs.js +109 -0
  70. package/dist/cli/commands/logs.js.map +1 -0
  71. package/dist/cli/commands/node-move.d.ts +20 -0
  72. package/dist/cli/commands/node-move.d.ts.map +1 -0
  73. package/dist/cli/commands/node-move.js +289 -0
  74. package/dist/cli/commands/node-move.js.map +1 -0
  75. package/dist/cli/commands/register-owner.d.ts +3 -0
  76. package/dist/cli/commands/register-owner.d.ts.map +1 -1
  77. package/dist/cli/commands/register-owner.js +14 -0
  78. package/dist/cli/commands/register-owner.js.map +1 -1
  79. package/dist/cli/commands/restore.d.ts +16 -0
  80. package/dist/cli/commands/restore.d.ts.map +1 -0
  81. package/dist/cli/commands/restore.js +137 -0
  82. package/dist/cli/commands/restore.js.map +1 -0
  83. package/dist/cli/commands/service.d.ts +44 -0
  84. package/dist/cli/commands/service.d.ts.map +1 -0
  85. package/dist/cli/commands/service.js +306 -0
  86. package/dist/cli/commands/service.js.map +1 -0
  87. package/dist/cli/commands/tools.d.ts +1 -1
  88. package/dist/cli/commands/tools.d.ts.map +1 -1
  89. package/dist/cli/commands/tools.js +8 -3
  90. package/dist/cli/commands/tools.js.map +1 -1
  91. package/dist/cli/commands/uninstall.d.ts +7 -0
  92. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  93. package/dist/cli/commands/uninstall.js +335 -0
  94. package/dist/cli/commands/uninstall.js.map +1 -0
  95. package/dist/cli/commands/update.d.ts +59 -0
  96. package/dist/cli/commands/update.d.ts.map +1 -0
  97. package/dist/cli/commands/update.js +948 -0
  98. package/dist/cli/commands/update.js.map +1 -0
  99. package/dist/cli/index.js +74 -23
  100. package/dist/cli/index.js.map +1 -1
  101. package/dist/cli/launch-files.d.ts +119 -0
  102. package/dist/cli/launch-files.d.ts.map +1 -1
  103. package/dist/cli/launch-files.js +324 -15
  104. package/dist/cli/launch-files.js.map +1 -1
  105. package/dist/cli/prompt.d.ts +2 -1
  106. package/dist/cli/prompt.d.ts.map +1 -1
  107. package/dist/cli/prompt.js +5 -2
  108. package/dist/cli/prompt.js.map +1 -1
  109. package/dist/cli/runtime/backend-probe.d.ts +34 -0
  110. package/dist/cli/runtime/backend-probe.d.ts.map +1 -0
  111. package/dist/cli/runtime/backend-probe.js +83 -0
  112. package/dist/cli/runtime/backend-probe.js.map +1 -0
  113. package/dist/cli/runtime/backup.d.ts +130 -0
  114. package/dist/cli/runtime/backup.d.ts.map +1 -0
  115. package/dist/cli/runtime/backup.js +592 -0
  116. package/dist/cli/runtime/backup.js.map +1 -0
  117. package/dist/cli/runtime/daemon-control.d.ts +169 -0
  118. package/dist/cli/runtime/daemon-control.d.ts.map +1 -0
  119. package/dist/cli/runtime/daemon-control.js +441 -0
  120. package/dist/cli/runtime/daemon-control.js.map +1 -0
  121. package/dist/cli/runtime/default-roots.d.ts +27 -0
  122. package/dist/cli/runtime/default-roots.d.ts.map +1 -0
  123. package/dist/cli/runtime/default-roots.js +61 -0
  124. package/dist/cli/runtime/default-roots.js.map +1 -0
  125. package/dist/cli/runtime/diagnostics.d.ts +68 -0
  126. package/dist/cli/runtime/diagnostics.d.ts.map +1 -0
  127. package/dist/cli/runtime/diagnostics.js +1139 -0
  128. package/dist/cli/runtime/diagnostics.js.map +1 -0
  129. package/dist/cli/runtime/init-state.d.ts +20 -0
  130. package/dist/cli/runtime/init-state.d.ts.map +1 -0
  131. package/dist/cli/runtime/init-state.js +51 -0
  132. package/dist/cli/runtime/init-state.js.map +1 -0
  133. package/dist/cli/runtime/install-kind.d.ts +54 -0
  134. package/dist/cli/runtime/install-kind.d.ts.map +1 -0
  135. package/dist/cli/runtime/install-kind.js +164 -0
  136. package/dist/cli/runtime/install-kind.js.map +1 -0
  137. package/dist/cli/runtime/node-move-journal.d.ts +44 -0
  138. package/dist/cli/runtime/node-move-journal.d.ts.map +1 -0
  139. package/dist/cli/runtime/node-move-journal.js +48 -0
  140. package/dist/cli/runtime/node-move-journal.js.map +1 -0
  141. package/dist/cli/runtime/release-check.d.ts +94 -0
  142. package/dist/cli/runtime/release-check.d.ts.map +1 -0
  143. package/dist/cli/runtime/release-check.js +316 -0
  144. package/dist/cli/runtime/release-check.js.map +1 -0
  145. package/dist/cli/runtime/restore.d.ts +98 -0
  146. package/dist/cli/runtime/restore.d.ts.map +1 -0
  147. package/dist/cli/runtime/restore.js +756 -0
  148. package/dist/cli/runtime/restore.js.map +1 -0
  149. package/dist/cli/runtime/setup-page.d.ts +57 -0
  150. package/dist/cli/runtime/setup-page.d.ts.map +1 -0
  151. package/dist/cli/runtime/setup-page.js +266 -0
  152. package/dist/cli/runtime/setup-page.js.map +1 -0
  153. package/dist/cli/runtime/source-tools.d.ts +60 -0
  154. package/dist/cli/runtime/source-tools.d.ts.map +1 -0
  155. package/dist/cli/runtime/source-tools.js +170 -0
  156. package/dist/cli/runtime/source-tools.js.map +1 -0
  157. package/dist/cli/runtime/systemd-service.d.ts +13 -0
  158. package/dist/cli/runtime/systemd-service.d.ts.map +1 -0
  159. package/dist/cli/runtime/systemd-service.js +32 -0
  160. package/dist/cli/runtime/systemd-service.js.map +1 -0
  161. package/dist/cli/runtime/telegram-pairing.d.ts +73 -0
  162. package/dist/cli/runtime/telegram-pairing.d.ts.map +1 -0
  163. package/dist/cli/runtime/telegram-pairing.js +184 -0
  164. package/dist/cli/runtime/telegram-pairing.js.map +1 -0
  165. package/dist/cli/runtime/update-journal.d.ts +135 -0
  166. package/dist/cli/runtime/update-journal.d.ts.map +1 -0
  167. package/dist/cli/runtime/update-journal.js +144 -0
  168. package/dist/cli/runtime/update-journal.js.map +1 -0
  169. package/dist/cli/runtime/update-progress.d.ts +95 -0
  170. package/dist/cli/runtime/update-progress.d.ts.map +1 -0
  171. package/dist/cli/runtime/update-progress.js +154 -0
  172. package/dist/cli/runtime/update-progress.js.map +1 -0
  173. package/dist/cli/runtime/update-request.d.ts +58 -0
  174. package/dist/cli/runtime/update-request.d.ts.map +1 -0
  175. package/dist/cli/runtime/update-request.js +172 -0
  176. package/dist/cli/runtime/update-request.js.map +1 -0
  177. package/dist/connectors/calendar/index.d.ts +5 -1
  178. package/dist/connectors/calendar/index.d.ts.map +1 -1
  179. package/dist/connectors/calendar/index.js +19 -28
  180. package/dist/connectors/calendar/index.js.map +1 -1
  181. package/dist/connectors/chatwork/index.d.ts.map +1 -1
  182. package/dist/connectors/chatwork/index.js +7 -3
  183. package/dist/connectors/chatwork/index.js.map +1 -1
  184. package/dist/connectors/config-loader.d.ts +7 -1
  185. package/dist/connectors/config-loader.d.ts.map +1 -1
  186. package/dist/connectors/config-loader.js +11 -2
  187. package/dist/connectors/config-loader.js.map +1 -1
  188. package/dist/connectors/discord/index.d.ts.map +1 -1
  189. package/dist/connectors/discord/index.js +4 -3
  190. package/dist/connectors/discord/index.js.map +1 -1
  191. package/dist/connectors/drive/index.d.ts.map +1 -1
  192. package/dist/connectors/drive/index.js +15 -13
  193. package/dist/connectors/drive/index.js.map +1 -1
  194. package/dist/connectors/framework/gws-utils.d.ts +62 -0
  195. package/dist/connectors/framework/gws-utils.d.ts.map +1 -1
  196. package/dist/connectors/framework/gws-utils.js +133 -3
  197. package/dist/connectors/framework/gws-utils.js.map +1 -1
  198. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  199. package/dist/connectors/framework/polling-scheduler.js +12 -11
  200. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  201. package/dist/connectors/framework/types.d.ts +24 -0
  202. package/dist/connectors/framework/types.d.ts.map +1 -1
  203. package/dist/connectors/framework/types.js +9 -0
  204. package/dist/connectors/framework/types.js.map +1 -1
  205. package/dist/connectors/gmail/index.d.ts.map +1 -1
  206. package/dist/connectors/gmail/index.js +14 -13
  207. package/dist/connectors/gmail/index.js.map +1 -1
  208. package/dist/connectors/imessage/index.d.ts.map +1 -1
  209. package/dist/connectors/imessage/index.js +2 -1
  210. package/dist/connectors/imessage/index.js.map +1 -1
  211. package/dist/connectors/index.d.ts +4 -4
  212. package/dist/connectors/index.d.ts.map +1 -1
  213. package/dist/connectors/index.js +4 -10
  214. package/dist/connectors/index.js.map +1 -1
  215. package/dist/connectors/notion/index.d.ts.map +1 -1
  216. package/dist/connectors/notion/index.js +5 -3
  217. package/dist/connectors/notion/index.js.map +1 -1
  218. package/dist/connectors/sheets/index.d.ts.map +1 -1
  219. package/dist/connectors/sheets/index.js +17 -12
  220. package/dist/connectors/sheets/index.js.map +1 -1
  221. package/dist/connectors/slack/index.d.ts.map +1 -1
  222. package/dist/connectors/slack/index.js +9 -3
  223. package/dist/connectors/slack/index.js.map +1 -1
  224. package/dist/connectors/telegram/index.d.ts.map +1 -1
  225. package/dist/connectors/telegram/index.js +4 -3
  226. package/dist/connectors/telegram/index.js.map +1 -1
  227. package/dist/connectors/trello/index.d.ts +1 -1
  228. package/dist/connectors/trello/index.d.ts.map +1 -1
  229. package/dist/connectors/trello/index.js +10 -5
  230. package/dist/connectors/trello/index.js.map +1 -1
  231. package/dist/gateways/discord.d.ts +6 -0
  232. package/dist/gateways/discord.d.ts.map +1 -1
  233. package/dist/gateways/discord.js +38 -27
  234. package/dist/gateways/discord.js.map +1 -1
  235. package/dist/gateways/slack.d.ts +6 -0
  236. package/dist/gateways/slack.d.ts.map +1 -1
  237. package/dist/gateways/slack.js +38 -27
  238. package/dist/gateways/slack.js.map +1 -1
  239. package/dist/gateways/telegram-commands.d.ts +124 -0
  240. package/dist/gateways/telegram-commands.d.ts.map +1 -0
  241. package/dist/gateways/telegram-commands.js +131 -0
  242. package/dist/gateways/telegram-commands.js.map +1 -0
  243. package/dist/gateways/telegram.d.ts +20 -0
  244. package/dist/gateways/telegram.d.ts.map +1 -1
  245. package/dist/gateways/telegram.js +138 -34
  246. package/dist/gateways/telegram.js.map +1 -1
  247. package/dist/gateways/turn-contract.d.ts +11 -0
  248. package/dist/gateways/turn-contract.d.ts.map +1 -1
  249. package/dist/runtime/action-surface.d.ts +1 -1
  250. package/dist/runtime/action-surface.d.ts.map +1 -1
  251. package/dist/runtime/action-surface.js +10 -0
  252. package/dist/runtime/action-surface.js.map +1 -1
  253. package/dist/runtime/backend-security.d.ts +26 -2
  254. package/dist/runtime/backend-security.d.ts.map +1 -1
  255. package/dist/runtime/backend-security.js +63 -10
  256. package/dist/runtime/backend-security.js.map +1 -1
  257. package/dist/runtime/config.d.ts +3 -0
  258. package/dist/runtime/config.d.ts.map +1 -1
  259. package/dist/runtime/config.js +4 -4
  260. package/dist/runtime/config.js.map +1 -1
  261. package/dist/runtime/connectors.d.ts +21 -1
  262. package/dist/runtime/connectors.d.ts.map +1 -1
  263. package/dist/runtime/connectors.js +28 -17
  264. package/dist/runtime/connectors.js.map +1 -1
  265. package/dist/runtime/core-db.d.ts.map +1 -1
  266. package/dist/runtime/core-db.js +2 -0
  267. package/dist/runtime/core-db.js.map +1 -1
  268. package/dist/runtime/member-paths.d.ts +15 -7
  269. package/dist/runtime/member-paths.d.ts.map +1 -1
  270. package/dist/runtime/member-paths.js +64 -12
  271. package/dist/runtime/member-paths.js.map +1 -1
  272. package/dist/runtime/member-session.d.ts +4 -0
  273. package/dist/runtime/member-session.d.ts.map +1 -1
  274. package/dist/runtime/member-session.js +23 -2
  275. package/dist/runtime/member-session.js.map +1 -1
  276. package/dist/runtime/native-session.d.ts +2 -0
  277. package/dist/runtime/native-session.d.ts.map +1 -1
  278. package/dist/runtime/native-session.js +1 -0
  279. package/dist/runtime/native-session.js.map +1 -1
  280. package/dist/runtime/owner-runtime.d.ts +63 -1
  281. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  282. package/dist/runtime/owner-runtime.js +180 -3
  283. package/dist/runtime/owner-runtime.js.map +1 -1
  284. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  285. package/dist/runtime/owner-system-prompt.js +6 -5
  286. package/dist/runtime/owner-system-prompt.js.map +1 -1
  287. package/dist/runtime/principal-access.d.ts +2 -0
  288. package/dist/runtime/principal-access.d.ts.map +1 -1
  289. package/dist/runtime/principal-access.js +7 -0
  290. package/dist/runtime/principal-access.js.map +1 -1
  291. package/dist/runtime/principal-sessions.d.ts.map +1 -1
  292. package/dist/runtime/principal-sessions.js +8 -1
  293. package/dist/runtime/principal-sessions.js.map +1 -1
  294. package/dist/runtime/record-orders.d.ts.map +1 -1
  295. package/dist/runtime/record-orders.js +3 -29
  296. package/dist/runtime/record-orders.js.map +1 -1
  297. package/dist/runtime/report-scheduler.d.ts +9 -2
  298. package/dist/runtime/report-scheduler.d.ts.map +1 -1
  299. package/dist/runtime/report-scheduler.js +37 -10
  300. package/dist/runtime/report-scheduler.js.map +1 -1
  301. package/dist/runtime/rotating-log.d.ts +44 -0
  302. package/dist/runtime/rotating-log.d.ts.map +1 -0
  303. package/dist/runtime/rotating-log.js +124 -0
  304. package/dist/runtime/rotating-log.js.map +1 -0
  305. package/dist/runtime/stimulus-delivery.d.ts +3 -0
  306. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  307. package/dist/runtime/stimulus-delivery.js +19 -3
  308. package/dist/runtime/stimulus-delivery.js.map +1 -1
  309. package/dist/runtime/tools-paths.d.ts +7 -0
  310. package/dist/runtime/tools-paths.d.ts.map +1 -1
  311. package/dist/runtime/tools-paths.js +11 -5
  312. package/dist/runtime/tools-paths.js.map +1 -1
  313. package/dist/runtime/upkeep-close.d.ts +17 -0
  314. package/dist/runtime/upkeep-close.d.ts.map +1 -0
  315. package/dist/runtime/upkeep-close.js +127 -0
  316. package/dist/runtime/upkeep-close.js.map +1 -0
  317. package/dist/runtime/upkeep-orders.d.ts +124 -0
  318. package/dist/runtime/upkeep-orders.d.ts.map +1 -0
  319. package/dist/runtime/upkeep-orders.js +310 -0
  320. package/dist/runtime/upkeep-orders.js.map +1 -0
  321. package/dist/runtime/upkeep-reconcile.d.ts +25 -0
  322. package/dist/runtime/upkeep-reconcile.d.ts.map +1 -0
  323. package/dist/runtime/upkeep-reconcile.js +231 -0
  324. package/dist/runtime/upkeep-reconcile.js.map +1 -0
  325. package/dist/runtime/upkeep-writeback.d.ts +22 -0
  326. package/dist/runtime/upkeep-writeback.d.ts.map +1 -0
  327. package/dist/runtime/upkeep-writeback.js +203 -0
  328. package/dist/runtime/upkeep-writeback.js.map +1 -0
  329. package/dist/tools/document-toolkit.d.ts +2 -0
  330. package/dist/tools/document-toolkit.d.ts.map +1 -1
  331. package/dist/tools/document-toolkit.js +2 -0
  332. package/dist/tools/document-toolkit.js.map +1 -1
  333. package/dist/utils/untrusted-content.d.ts.map +1 -1
  334. package/dist/utils/untrusted-content.js +8 -1
  335. package/dist/utils/untrusted-content.js.map +1 -1
  336. package/install/install.sh +457 -0
  337. package/install/node.json +9 -0
  338. package/package.json +5 -5
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RECONCILE_ORDER_CHANNEL = void 0;
4
+ exports.reconcileUpkeepKind = reconcileUpkeepKind;
5
+ const work_actions_js_1 = require("../api/work-actions.js");
6
+ const untrusted_content_js_1 = require("../utils/untrusted-content.js");
7
+ const timezone_js_1 = require("./timezone.js");
8
+ const upkeep_orders_js_1 = require("./upkeep-orders.js");
9
+ exports.RECONCILE_ORDER_CHANNEL = 'operator:reconcile';
10
+ const KIND = 'reconcile';
11
+ /** The stale step the daily page carried until U3: items in progress or in review. */
12
+ const STALE_STATUSES = ['in_progress', 'review'];
13
+ /** An item whose latest source event is older than this is stale. */
14
+ const STALE_AFTER_MS = 30 * 24 * 60 * 60 * 1000;
15
+ /**
16
+ * Whether the day's order is due: from local midnight until the first full report after midnight
17
+ * (or the next midnight when there is none), once a local day. The hourly tick finds it due at its
18
+ * first run of the day; a restart in the same morning finds the order already placed, and a
19
+ * subject the order missed waits for the next day.
20
+ */
21
+ function due(adapter, now, zone, hours) {
22
+ const day = (0, timezone_js_1.localDateKey)(now, zone);
23
+ const midnight = (0, timezone_js_1.epochAtLocalDateTime)(`${day}T00:00:00`, zone);
24
+ const after = hours.filter((hour) => hour > 0);
25
+ if (after.length > 0) {
26
+ const morning = String(Math.min(...after)).padStart(2, '0');
27
+ if (now >= (0, timezone_js_1.epochAtLocalDateTime)(`${day}T${morning}:00:00`, zone))
28
+ return false;
29
+ }
30
+ return (adapter
31
+ .prepare(`SELECT 1 FROM mailbox_inputs
32
+ WHERE kind = 'scheduled' AND channel_key = ? AND created_at >= ? LIMIT 1`)
33
+ .get(exports.RECONCILE_ORDER_CHANNEL, midnight) === undefined);
34
+ }
35
+ /**
36
+ * The time of an item's latest revision on the source timeline: its event time, or its write time
37
+ * when it has none, as work.list's event spans read a revision. A backfill writes an earlier
38
+ * period after later revisions, so the last-written revision is not always the latest one.
39
+ */
40
+ function latestRevisionAt(item) {
41
+ return Math.max(...(item.chain ?? []).map((entry) => entry.eventDatetime ?? entry.createdAt));
42
+ }
43
+ /**
44
+ * The card ids among the observations each item's revisions cite. Card ids are read from the
45
+ * observation's metadata (`cardId`), which only the Trello connector writes today; it stores the
46
+ * board id there for a board-level action, which names no card. Read from the item side, every
47
+ * join is on a key (an edge's object is the observation id).
48
+ */
49
+ function citedCards(adapter) {
50
+ const rows = adapter
51
+ .prepare(`SELECT DISTINCT a.commitment_id AS commitmentId, o.source AS connector,
52
+ json_extract(o.metadata_json, '$.cardId') AS card
53
+ FROM commitment_assignments a
54
+ JOIN twin_edges e ON e.subject_kind = 'memory' AND e.subject_id = a.record_id
55
+ AND e.edge_type = 'derived_from' AND e.object_kind = 'observation'
56
+ JOIN observation_versions o ON o.observation_id = e.object_id
57
+ WHERE json_extract(o.metadata_json, '$.cardId') IS NOT NULL
58
+ AND json_extract(o.metadata_json, '$.cardId') IS NOT json_extract(o.metadata_json, '$.boardId')
59
+ ORDER BY commitmentId, connector, card`)
60
+ .all();
61
+ const cards = new Map();
62
+ for (const row of rows)
63
+ cards.set(row.commitmentId, [
64
+ ...(cards.get(row.commitmentId) ?? []),
65
+ { connector: row.connector, card: row.card },
66
+ ]);
67
+ return cards;
68
+ }
69
+ /**
70
+ * Stored list moves in the attempt window, oldest first: a stored board event whose action data
71
+ * names the list the card went to (`data.listAfter`). A subject older than the window would count
72
+ * its attempts from zero again.
73
+ */
74
+ function windowMoves(adapter, since, now) {
75
+ return adapter
76
+ .prepare(`SELECT source_connector AS connector, json_extract(metadata_json, '$.cardId') AS card,
77
+ source_id AS event, current_observation_id AS ref, event_datetime AS at
78
+ FROM connector_event_index
79
+ WHERE event_datetime >= ? AND event_datetime <= ?
80
+ AND json_extract(metadata_json, '$.data.listAfter') IS NOT NULL
81
+ AND json_extract(metadata_json, '$.cardId') IS NOT NULL
82
+ AND current_observation_id IS NOT NULL
83
+ ORDER BY event_datetime, source_id`)
84
+ .all(since, now);
85
+ }
86
+ /**
87
+ * Each item's latest revision not written by a reconcile order's run or its child runs. A stale
88
+ * subject is keyed by it: an order that keeps the item with a work.revise does not make it a new
89
+ * subject the next morning, while a revision from anywhere else does.
90
+ */
91
+ function outsideRevisions(adapter, ids) {
92
+ if (ids.length === 0)
93
+ return new Map();
94
+ const prefix = `${(0, upkeep_orders_js_1.upkeepOrderIdPrefix)(KIND)}%`;
95
+ const rows = adapter
96
+ .prepare(`WITH order_runs AS (
97
+ SELECT model_run_id FROM model_runs
98
+ WHERE json_extract(input_refs_json, '$.sourceMessageRef') LIKE ?
99
+ UNION
100
+ SELECT c.model_run_id FROM model_runs c JOIN model_runs p ON c.parent_model_run_id = p.model_run_id
101
+ WHERE json_extract(p.input_refs_json, '$.sourceMessageRef') LIKE ?)
102
+ SELECT commitment_id AS commitmentId, MAX(revision) AS revision FROM commitment_assignments
103
+ WHERE commitment_id IN (${ids.map(() => '?').join(',')})
104
+ AND (model_run_id IS NULL OR model_run_id NOT IN (SELECT model_run_id FROM order_runs))
105
+ GROUP BY commitment_id`)
106
+ .all(prefix, prefix, ...ids);
107
+ return new Map(rows.map((row) => [row.commitmentId, row.revision]));
108
+ }
109
+ function title(item) {
110
+ return typeof item.values.title === 'string' ? item.values.title : '';
111
+ }
112
+ /**
113
+ * U3, board reconcile. Once a day before the morning report the host orders two groups of
114
+ * subject, at most ten of each:
115
+ * - an open item with cited cards that moved after the item's latest revision, all its moved cards
116
+ * in one subject keyed by the item and its latest move, so a new move is a new subject;
117
+ * - an item in progress or in review whose latest source event is over 30 days old, chosen the way
118
+ * work.list lastEventBefore chooses it, oldest first, keyed by the item and its latest revision
119
+ * from outside the reconcile orders.
120
+ * A subject is checked by a revision on the item from the order's runs, or a work.no_update
121
+ * naming it. The runner keeps settled subjects past the mailbox's retention (upkeep_settled).
122
+ */
123
+ function reconcileUpkeepKind(options) {
124
+ return {
125
+ name: KIND,
126
+ channel: exports.RECONCILE_ORDER_CHANNEL,
127
+ intervalMs: 60 * 60 * 1000,
128
+ maxPerOrder: 10,
129
+ group: (subject) => subject.group,
130
+ scan: (adapter, now, page) => {
131
+ const zone = options.timeZone();
132
+ if (!due(adapter, now, zone, options.fullReportHours()))
133
+ return [];
134
+ const ledger = (0, work_actions_js_1.workListLedger)({ knowledge: options.knowledge, access: options.access(), timeZone: zone, now: () => now }, { status: STALE_STATUSES, lastEventBefore: now - STALE_AFTER_MS });
135
+ const open = new Map(ledger
136
+ .filter((entry) => work_actions_js_1.OPEN_WORK_STATUSES.includes(entry.status))
137
+ .map((entry) => [entry.item.commitmentId, entry]));
138
+ const cards = citedCards(adapter);
139
+ const citing = new Map();
140
+ for (const [commitmentId, list] of cards)
141
+ for (const card of list) {
142
+ const at = `${card.connector}\n${card.card}`;
143
+ citing.set(at, [...(citing.get(at) ?? []), commitmentId]);
144
+ }
145
+ // Per item, each cited card's latest move that the item's revisions have not caught up with.
146
+ const movesOf = new Map();
147
+ for (const move of windowMoves(adapter, now - upkeep_orders_js_1.UPKEEP_WINDOW_MS, now))
148
+ for (const commitmentId of citing.get(`${move.connector}\n${move.card}`) ?? []) {
149
+ const entry = open.get(commitmentId);
150
+ if (!entry || move.at <= latestRevisionAt(entry.item))
151
+ continue;
152
+ const byCard = movesOf.get(commitmentId) ?? new Map();
153
+ byCard.set(`${move.connector}\n${move.card}`, move);
154
+ movesOf.set(commitmentId, byCard);
155
+ }
156
+ const moved = [...movesOf].map(([commitmentId, byCard]) => {
157
+ const entry = open.get(commitmentId);
158
+ const moves = [...byCard.values()].sort((a, b) => a.at - b.at);
159
+ return {
160
+ key: `move:${commitmentId}:${moves.at(-1).connector}:${moves.at(-1).event}`,
161
+ group: 'move',
162
+ commitmentId,
163
+ title: title(entry.item),
164
+ status: entry.status,
165
+ lastEventAt: null,
166
+ cards: [],
167
+ moves,
168
+ revisedAt: latestRevisionAt(entry.item),
169
+ };
170
+ });
171
+ moved.sort((a, b) => a.moves.at(-1).at - b.moves.at(-1).at || a.key.localeCompare(b.key));
172
+ const staleEntries = ledger
173
+ .filter((entry) => entry.stale)
174
+ .sort((a, b) => a.lastEvent - b.lastEvent || a.item.commitmentId.localeCompare(b.item.commitmentId));
175
+ const revisions = outsideRevisions(adapter, staleEntries.map((entry) => entry.item.commitmentId));
176
+ const stale = staleEntries.map((entry) => ({
177
+ // An item the orders themselves created has no outside revision: revision 0.
178
+ key: `stale:${entry.item.commitmentId}:${revisions.get(entry.item.commitmentId) ?? 0}`,
179
+ group: 'stale',
180
+ commitmentId: entry.item.commitmentId,
181
+ title: title(entry.item),
182
+ status: entry.status,
183
+ lastEventAt: entry.lastEvent,
184
+ cards: cards.get(entry.item.commitmentId) ?? [],
185
+ moves: [],
186
+ revisedAt: null,
187
+ }));
188
+ return [...moved, ...stale].slice(page * upkeep_orders_js_1.UPKEEP_SCAN_PAGE, (page + 1) * upkeep_orders_js_1.UPKEEP_SCAN_PAGE);
189
+ },
190
+ checked: (adapter, subject, runIds) => {
191
+ const { commitmentId } = subject;
192
+ if (runIds.length === 0)
193
+ return false;
194
+ const revised = adapter
195
+ .prepare(`SELECT 1 FROM commitment_assignments
196
+ WHERE commitment_id = ? AND model_run_id IN (${runIds.map(() => '?').join(',')})
197
+ LIMIT 1`)
198
+ .get(commitmentId, ...runIds) !== undefined;
199
+ return (revised ||
200
+ (0, upkeep_orders_js_1.noUpdateCites)(adapter, runIds, { field: 'commitmentIds', values: [commitmentId] }));
201
+ },
202
+ render: (subjects, now) => {
203
+ const zone = options.timeZone();
204
+ const all = subjects;
205
+ const at = (ms) => (0, timezone_js_1.localNow)(ms, zone);
206
+ const lines = all.map((subject) => subject.group === 'move'
207
+ ? `- moved ${subject.commitmentId} (${subject.status}), after the item's latest revision ${at(subject.revisedAt)}: ${subject.moves
208
+ .map((move) => `card ${move.card} (${move.connector}) moved ${at(move.at)}, event ${move.ref}`)
209
+ .join('; ')}`
210
+ : `- stale ${subject.commitmentId} (${subject.status}): latest source event ${at(subject.lastEventAt)}; ${subject.cards.length === 0
211
+ ? 'cites no card'
212
+ : `cards ${subject.cards.map((card) => `${card.card} (${card.connector})`).join(', ')}`}`);
213
+ // Titles come from stored work, which sources can shape: they are data, never instructions.
214
+ const titles = all.map((subject) => `${subject.commitmentId}: ${subject.title.replace(/\s+/g, ' ').slice(0, 200)}`);
215
+ return [
216
+ `[upkeep_reconcile] ${all.length} work item${all.length === 1 ? '' : 's'} to reconcile with the board`,
217
+ `Current time: ${at(now.getTime())} (${zone})`,
218
+ 'Each item below may no longer match its source: a card it cites moved after its latest revision, or it is still in progress or in review with no source event in over 30 days (work.list lastEventBefore, not changedBefore: a backfill or correction rewrote many items later without a new event). Settle each one, so the ledger matches the board:',
219
+ "1. Read each item with work.list view=detail with ids (up to 4 per call), and its last originals with source.read (a moved item's move events first).",
220
+ '2. Read each listed card live with its connector: trello.read view=card id=<card id>. An item that cites no card but is board work: find its card with trello.read view=search (by its title), and say so when none exists. A stored move only chose the item; the live card decides. When the live card differs from its stored events, the collection has a gap: say so in the reason.',
221
+ '3. Close, cancel, change or keep each item: work.revise with what changed and why, linking what it rests on with derived_from; or, when it stays as it is, work.no_update with commitmentIds naming it and why it stays.',
222
+ '4. The order is checked when it ends: each item needs step 3. Correct a refused write (help gives its contract) and write it again.',
223
+ '5. Reply exactly [ack].',
224
+ 'Items, at most ten moved and ten stale a day, stale oldest first; the rest come in the next days:',
225
+ ...lines,
226
+ (0, untrusted_content_js_1.wrapUntrustedContent)('work_titles', titles.join('\n')),
227
+ ].join('\n');
228
+ },
229
+ };
230
+ }
231
+ //# sourceMappingURL=upkeep-reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upkeep-reconcile.js","sourceRoot":"","sources":["../../src/runtime/upkeep-reconcile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type UpkeepKind } from './upkeep-orders.js';
2
+ export declare const WRITEBACK_ORDER_CHANNEL = "operator:writeback";
3
+ export interface WritebackKindOptions {
4
+ /**
5
+ * The non-chat connectors the common session reads in full (ownerAccess.connectorWideRead).
6
+ * Their observations carry no memory scope, and the owner read path admits them by connector
7
+ * (observations.ts isObservationVisibilityRowVisible), so the same list decides they are common.
8
+ */
9
+ wideReadConnectors: () => readonly string[];
10
+ /** The common session's principal: its question turns qualify, and its chat scope is common. */
11
+ ownerPrincipalId: string;
12
+ timeZone: () => string;
13
+ }
14
+ /**
15
+ * U2, write-back orders. A subject is one question turn (a committed owner_message run of the
16
+ * common session or an owner-role principal) that read common-scope sources and recorded nothing
17
+ * from them. The order carries only common-scope handles; the question text is never carried. It
18
+ * is checked when the order's run writes a revision or a fact/lesson citing one of the handles, or
19
+ * declares work.no_update naming them.
20
+ */
21
+ export declare function writebackUpkeepKind(options: WritebackKindOptions): UpkeepKind;
22
+ //# sourceMappingURL=upkeep-writeback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upkeep-writeback.d.ts","sourceRoot":"","sources":["../../src/runtime/upkeep-writeback.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAK5D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC5C,gGAAgG;IAChG,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB;AAgGD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CA0I7E"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITEBACK_ORDER_CHANNEL = void 0;
4
+ exports.writebackUpkeepKind = writebackUpkeepKind;
5
+ const timezone_js_1 = require("./timezone.js");
6
+ const upkeep_orders_js_1 = require("./upkeep-orders.js");
7
+ exports.WRITEBACK_ORDER_CHANNEL = 'operator:writeback';
8
+ /** How many sources one subject carries: the refs source.read opened first, then search hits. */
9
+ const MAX_REFS_PER_SUBJECT = 30;
10
+ /**
11
+ * The privacy boundary (docs/development/work/ledger-upkeep.md, U2; Codex: "U2 crossed the
12
+ * personal boundary"). It reads the observation's own scope columns, which appendObservationVersion
13
+ * derives from the flat scope bag every connector and chat write carries, and decides "common" the
14
+ * way the common session's reads already do (action-surface.ts ownerAccess):
15
+ * - a non-chat source the owner reads connector-wide, unscoped or scoped to the common principal;
16
+ * - a chat message scoped to the common principal (`user:<owner>`), outside every private
17
+ * Telegram channel, so no DM, the owner's own included, reaches the common order.
18
+ * Chat is never admitted by connector: its commonness is its scope. Anything else (another
19
+ * principal's scope, an owner-visibility record, an unknown handle) is dropped.
20
+ */
21
+ function commonSourceFilter(col, wideReadConnectors, ownerPrincipalId) {
22
+ const connectorWide = wideReadConnectors.length === 0
23
+ ? ''
24
+ : `(o.source <> 'chat' AND o.source IN (${wideReadConnectors.map(() => '?').join(',')})
25
+ AND (o.memory_scope_kind IS NULL
26
+ OR (o.memory_scope_kind = 'user' AND o.memory_scope_id = ?))) OR`;
27
+ const sql = `EXISTS (
28
+ SELECT 1 FROM observation_versions o
29
+ WHERE o.observation_id = ${col}
30
+ AND (${connectorWide}
31
+ (o.source = 'chat' AND o.memory_scope_kind = 'user' AND o.memory_scope_id = ?
32
+ AND o.channel IS NOT NULL
33
+ AND o.channel NOT IN (SELECT 'telegram:' || external_id FROM external_identities
34
+ WHERE connector = 'telegram' AND namespace = 'private'))))`;
35
+ return {
36
+ sql,
37
+ params: [
38
+ ...(wideReadConnectors.length === 0 ? [] : [...wideReadConnectors, ownerPrincipalId]),
39
+ ownerPrincipalId,
40
+ ],
41
+ };
42
+ }
43
+ /** `${alias}`'s run belongs to the question turn `r`: the turn's own run or a direct child run. */
44
+ function inTurnRuns(alias) {
45
+ return `(${alias}.model_run_id = r.model_run_id
46
+ OR ${alias}.model_run_id IN (SELECT model_run_id FROM model_runs
47
+ WHERE parent_model_run_id = r.model_run_id))`;
48
+ }
49
+ /** The observation handles a turn's reads returned in evidence_json, correlated on the turn `r`. */
50
+ function readRefsSubquery(tool, filter) {
51
+ const tools = tool === 'read' ? `'source.read'` : `'source.search', 'source.read'`;
52
+ const sql = `SELECT ref.value AS oref, tr.tool_name AS tool, tr.created_at AS at
53
+ FROM tool_traces tr
54
+ JOIN json_each(json_extract(tr.evidence_json, '$.observationRefs')) ref
55
+ WHERE ${inTurnRuns('tr')}
56
+ AND tr.tool_name IN (${tools})
57
+ AND tr.execution_status = 'completed'
58
+ AND tr.evidence_json IS NOT NULL
59
+ ${filter ? `AND ${filter.sql}` : ''}`;
60
+ return { sql, params: filter?.params ?? [] };
61
+ }
62
+ /** A completed derived_from edge in these runs that cites one of `refs` (work revision or memory.save). */
63
+ function derivedFromCites(adapter, runIds, refs) {
64
+ if (runIds.length === 0 || refs.length === 0)
65
+ return false;
66
+ return (adapter
67
+ .prepare(`SELECT 1 FROM twin_edges
68
+ WHERE edge_type = 'derived_from' AND object_kind = 'observation'
69
+ AND object_id IN (${refs.map(() => '?').join(',')})
70
+ AND model_run_id IN (${runIds.map(() => '?').join(',')})
71
+ LIMIT 1`)
72
+ .get(...refs, ...runIds) !== undefined);
73
+ }
74
+ /**
75
+ * U2, write-back orders. A subject is one question turn (a committed owner_message run of the
76
+ * common session or an owner-role principal) that read common-scope sources and recorded nothing
77
+ * from them. The order carries only common-scope handles; the question text is never carried. It
78
+ * is checked when the order's run writes a revision or a fact/lesson citing one of the handles, or
79
+ * declares work.no_update naming them.
80
+ */
81
+ function writebackUpkeepKind(options) {
82
+ return {
83
+ name: 'writeback',
84
+ channel: exports.WRITEBACK_ORDER_CHANNEL,
85
+ // Hourly, like the closing-summary kind: a question answered off the ledger is worth writing
86
+ // back the same day, and the attempt window and one-order-per-kind cap keep it bounded.
87
+ intervalMs: 60 * 60 * 1000,
88
+ // Each subject already asks for up to 30 sources to read and record; three turns an order
89
+ // keeps the common session's queue, the owner's, workable.
90
+ maxPerOrder: 3,
91
+ scan: (adapter, now, page) => {
92
+ const wide = options.wideReadConnectors();
93
+ // Consulting a source is a search hit or an opened read: a question answered from a search
94
+ // preview without opening the record is the same unrecorded gap. The order still marks which
95
+ // were opened. The turn qualifies when it consulted a common source and cited none of what
96
+ // it consulted.
97
+ const commonRead = readRefsSubquery('any', commonSourceFilter('ref.value', wide, options.ownerPrincipalId));
98
+ const allRead = readRefsSubquery('any');
99
+ // A subject older than the attempt window would count its attempts from zero again; the
100
+ // mailbox keeps owner_message rows the same seven days, so the join never loses a newer one.
101
+ // No lower `since`: evidence_json did not exist before the deploy, so earlier turns carry no
102
+ // read receipt and cannot qualify.
103
+ const rows = adapter
104
+ .prepare(`SELECT r.model_run_id AS runId, r.created_at AS askedAt
105
+ FROM model_runs r
106
+ JOIN mailbox_inputs m
107
+ ON m.principal_id = json_extract(r.input_refs_json, '$.principalId')
108
+ AND m.stimulus_id = json_extract(r.input_refs_json, '$.sourceMessageRef')
109
+ AND m.kind = 'owner_message'
110
+ WHERE r.status = 'committed'
111
+ AND r.created_at >= ?
112
+ AND (json_extract(r.input_refs_json, '$.principalId') = ?
113
+ OR json_extract(r.input_refs_json, '$.principalId') IN
114
+ (SELECT principal_id FROM principal_roles WHERE role = 'owner'))
115
+ AND EXISTS (${commonRead.sql})
116
+ AND NOT EXISTS (
117
+ SELECT 1 FROM twin_edges e
118
+ WHERE e.edge_type = 'derived_from' AND e.object_kind = 'observation'
119
+ AND ${inTurnRuns('e')}
120
+ AND e.object_id IN (SELECT oref FROM (${allRead.sql})))
121
+ -- One row per turn: mailbox_inputs has no unique (principal_id, stimulus_id) constraint.
122
+ GROUP BY r.model_run_id, r.created_at
123
+ ORDER BY r.created_at, r.model_run_id
124
+ LIMIT ? OFFSET ?`)
125
+ .all(now - upkeep_orders_js_1.UPKEEP_WINDOW_MS, options.ownerPrincipalId, ...commonRead.params, upkeep_orders_js_1.UPKEEP_SCAN_PAGE, page * upkeep_orders_js_1.UPKEEP_SCAN_PAGE);
126
+ if (rows.length === 0)
127
+ return [];
128
+ // Assemble each subject's carried handles: the common-scope refs the turn opened first, then
129
+ // its common-scope search hits, up to thirty, oldest first.
130
+ const common2 = commonSourceFilter('ref.value', wide, options.ownerPrincipalId);
131
+ const refRows = adapter
132
+ .prepare(`WITH turn(id) AS (VALUES ${rows.map(() => '(?)').join(',')}),
133
+ runs AS (
134
+ SELECT id AS turnId, id AS runId FROM turn
135
+ UNION
136
+ SELECT turn.id, c.model_run_id FROM model_runs c
137
+ JOIN turn ON c.parent_model_run_id = turn.id)
138
+ SELECT runs.turnId AS turnId, ref.value AS oref,
139
+ MAX(CASE WHEN tr.tool_name = 'source.read' THEN 1 ELSE 0 END) AS opened,
140
+ MIN(tr.created_at) AS at
141
+ FROM runs
142
+ JOIN tool_traces tr ON tr.model_run_id = runs.runId
143
+ JOIN json_each(json_extract(tr.evidence_json, '$.observationRefs')) ref
144
+ WHERE tr.tool_name IN ('source.search', 'source.read')
145
+ AND tr.execution_status = 'completed'
146
+ AND tr.evidence_json IS NOT NULL
147
+ AND ${common2.sql}
148
+ GROUP BY runs.turnId, ref.value
149
+ ORDER BY runs.turnId, opened DESC, at, ref.value`)
150
+ .all(...rows.map((row) => row.runId), ...common2.params);
151
+ const byTurn = new Map();
152
+ for (const row of refRows) {
153
+ const entry = byTurn.get(row.turnId) ?? { refs: [], opened: [] };
154
+ if (entry.refs.length < MAX_REFS_PER_SUBJECT) {
155
+ entry.refs.push(row.oref);
156
+ if (row.opened === 1)
157
+ entry.opened.push(row.oref);
158
+ }
159
+ byTurn.set(row.turnId, entry);
160
+ }
161
+ return rows.flatMap((row) => {
162
+ const entry = byTurn.get(row.runId);
163
+ // A turn with no common-scope handle after assembly carries nothing; it is not a subject.
164
+ if (!entry || entry.refs.length === 0)
165
+ return [];
166
+ return [{ key: row.runId, refs: entry.refs, opened: entry.opened, askedAt: row.askedAt }];
167
+ });
168
+ },
169
+ checked: (adapter, subject, runIds) => {
170
+ const { refs } = subject;
171
+ if (runIds.length === 0 || refs.length === 0)
172
+ return false;
173
+ return (derivedFromCites(adapter, runIds, refs) ||
174
+ (0, upkeep_orders_js_1.noUpdateCites)(adapter, runIds, { field: 'observationRefs', values: refs }));
175
+ },
176
+ render: (subjects, now) => {
177
+ const zone = options.timeZone();
178
+ const lines = subjects.map((subject) => {
179
+ const openedSet = new Set(subject.opened);
180
+ const opened = subject.refs.filter((ref) => openedSet.has(ref));
181
+ const hits = subject.refs.filter((ref) => !openedSet.has(ref));
182
+ const parts = [`- turn ${subject.key} (asked ${(0, timezone_js_1.localNow)(subject.askedAt, zone)}):`];
183
+ if (opened.length > 0)
184
+ parts.push(`opened ${opened.join(', ')}`);
185
+ if (hits.length > 0)
186
+ parts.push(`${opened.length > 0 ? 'also found' : 'found'} ${hits.join(', ')}`);
187
+ return parts.join(' ');
188
+ });
189
+ return [
190
+ `[upkeep_writeback] ${subjects.length} answered question turn${subjects.length === 1 ? '' : 's'} that read sources and recorded nothing`,
191
+ `Current time: ${(0, timezone_js_1.localNow)(now.getTime(), zone)} (${zone})`,
192
+ 'A question was answered from these sources. Record what belongs in the ledger, so the next question reads one place:',
193
+ '1. Read each source with source.read (observationRefs, batched per connector).',
194
+ '2. Record what belongs in the ledger, each with derived_from links to the sources it came from: work.revise or work.create for a work change; memory.save for a fact or lesson (prices, specs and client rules are facts).',
195
+ '3. A matter already recorded, or chatter not worth recording: work.no_update with observationRefs naming those sources and the reason.',
196
+ '4. The order is checked when it ends: at least one write or a no-update must cite these sources. Correct a refused write (help gives its contract) and write it again.',
197
+ '5. Reply exactly [ack].',
198
+ ...lines,
199
+ ].join('\n');
200
+ },
201
+ };
202
+ }
203
+ //# sourceMappingURL=upkeep-writeback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upkeep-writeback.js","sourceRoot":"","sources":["../../src/runtime/upkeep-writeback.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface InstallToolkitOptions {
10
10
  locate?: (name: string) => string | undefined;
11
11
  write?: (line: string) => void;
12
12
  }
13
+ /** A toolkit version is read-only once installed: made writable again, then removed. */
14
+ export declare function removeVersion(path: string): void;
13
15
  /** Host-only, offline-testable provisioning. No daemon state, config rewrite or restart. */
14
16
  export declare function installDocumentToolkit(options: InstallToolkitOptions): Promise<DocumentToolkit>;
15
17
  //# sourceMappingURL=document-toolkit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-toolkit.d.ts","sourceRoot":"","sources":["../../src/tools/document-toolkit.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AA0SD,4FAA4F;AAC5F,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAqO1B"}
1
+ {"version":3,"file":"document-toolkit.d.ts","sourceRoot":"","sources":["../../src/tools/document-toolkit.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAgLD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGhD;AAuHD,4FAA4F;AAC5F,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAqO1B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.readDocumentToolkit = void 0;
4
+ exports.removeVersion = removeVersion;
4
5
  exports.installDocumentToolkit = installDocumentToolkit;
5
6
  const node_crypto_1 = require("node:crypto");
6
7
  const node_fs_1 = require("node:fs");
@@ -179,6 +180,7 @@ function permissions(path, readOnly) {
179
180
  for (const name of (0, node_fs_1.readdirSync)(path))
180
181
  permissions((0, node_path_1.join)(path, name), readOnly);
181
182
  }
183
+ /** A toolkit version is read-only once installed: made writable again, then removed. */
182
184
  function removeVersion(path) {
183
185
  permissions(path, false);
184
186
  (0, node_fs_1.rmSync)(path, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"document-toolkit.js","sourceRoot":"","sources":["../../src/tools/document-toolkit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-toolkit.js","sourceRoot":"","sources":["../../src/tools/document-toolkit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"untrusted-content.d.ts","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAYzE;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAItE"}
1
+ {"version":3,"file":"untrusted-content.d.ts","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBzE;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAItE"}