@runcore-sh/runcore 0.3.1 → 0.4.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 (523) hide show
  1. package/README.md +19 -19
  2. package/brain-template/agents/README.md +20 -0
  3. package/brain-template/identity/README.md +20 -0
  4. package/brain-template/identity/brand.md +25 -0
  5. package/brain-template/identity/principles.md +21 -0
  6. package/brain-template/identity/tone-of-voice.md +23 -0
  7. package/brain-template/knowledge/notes/tier-gated-ui-spec.md +1 -1
  8. package/brain-template/metrics/README.md +13 -0
  9. package/brain-template/operations/goals.yaml +12 -0
  10. package/brain-template/operations/todos.md +17 -0
  11. package/brain-template/ops/README.md +13 -0
  12. package/brain-template/scheduling/README.md +2 -2
  13. package/brain-template/skills/README.md +23 -0
  14. package/brain-template/templates/README.md +9 -0
  15. package/brain-template/training/README.md +20 -0
  16. package/dictionary.json +2 -2
  17. package/dist/activity/log.d.ts +3 -0
  18. package/dist/activity/log.d.ts.map +1 -1
  19. package/dist/activity/log.js +12 -0
  20. package/dist/activity/log.js.map +1 -1
  21. package/dist/agents/autonomous.js +1 -0
  22. package/dist/agents/autonomous.js.map +1 -1
  23. package/dist/agents/commit.d.ts.map +1 -1
  24. package/dist/agents/commit.js +3 -10
  25. package/dist/agents/commit.js.map +1 -1
  26. package/dist/agents/dedup-guard.d.ts.map +1 -1
  27. package/dist/agents/dedup-guard.js +26 -23
  28. package/dist/agents/dedup-guard.js.map +1 -1
  29. package/dist/agents/feed.d.ts +69 -0
  30. package/dist/agents/feed.d.ts.map +1 -0
  31. package/dist/agents/feed.js +176 -0
  32. package/dist/agents/feed.js.map +1 -0
  33. package/dist/agents/governance.d.ts +14 -0
  34. package/dist/agents/governance.d.ts.map +1 -1
  35. package/dist/agents/governance.js +73 -1
  36. package/dist/agents/governance.js.map +1 -1
  37. package/dist/agents/governed-spawn.d.ts +12 -0
  38. package/dist/agents/governed-spawn.d.ts.map +1 -1
  39. package/dist/agents/governed-spawn.js +8 -2
  40. package/dist/agents/governed-spawn.js.map +1 -1
  41. package/dist/agents/index.d.ts +2 -0
  42. package/dist/agents/index.d.ts.map +1 -1
  43. package/dist/agents/index.js +1 -0
  44. package/dist/agents/index.js.map +1 -1
  45. package/dist/agents/issue-reporter.d.ts +15 -0
  46. package/dist/agents/issue-reporter.d.ts.map +1 -0
  47. package/dist/agents/issue-reporter.js +123 -0
  48. package/dist/agents/issue-reporter.js.map +1 -0
  49. package/dist/agents/issues.d.ts +33 -0
  50. package/dist/agents/issues.d.ts.map +1 -0
  51. package/dist/agents/issues.js +141 -0
  52. package/dist/agents/issues.js.map +1 -0
  53. package/dist/agents/reflection.js +3 -3
  54. package/dist/agents/reflection.js.map +1 -1
  55. package/dist/agents/runtime/driver.d.ts.map +1 -1
  56. package/dist/agents/runtime/driver.js +1 -2
  57. package/dist/agents/runtime/driver.js.map +1 -1
  58. package/dist/agents/runtime/manager.d.ts.map +1 -1
  59. package/dist/agents/runtime/manager.js +1 -0
  60. package/dist/agents/runtime/manager.js.map +1 -1
  61. package/dist/agents/runtime/types.d.ts +2 -0
  62. package/dist/agents/runtime/types.d.ts.map +1 -1
  63. package/dist/agents/spawn.d.ts.map +1 -1
  64. package/dist/agents/spawn.js +20 -26
  65. package/dist/agents/spawn.js.map +1 -1
  66. package/dist/agents/store.d.ts.map +1 -1
  67. package/dist/agents/store.js +34 -1
  68. package/dist/agents/store.js.map +1 -1
  69. package/dist/agents/types.d.ts +27 -0
  70. package/dist/agents/types.d.ts.map +1 -1
  71. package/dist/auth/identity.d.ts +3 -0
  72. package/dist/auth/identity.d.ts.map +1 -1
  73. package/dist/auth/identity.js +9 -1
  74. package/dist/auth/identity.js.map +1 -1
  75. package/dist/auth/middleware.d.ts.map +1 -1
  76. package/dist/auth/middleware.js +4 -0
  77. package/dist/auth/middleware.js.map +1 -1
  78. package/dist/calibration/conversation.d.ts +46 -0
  79. package/dist/calibration/conversation.d.ts.map +1 -0
  80. package/dist/calibration/conversation.js +295 -0
  81. package/dist/calibration/conversation.js.map +1 -0
  82. package/dist/calibration/index.d.ts +5 -0
  83. package/dist/calibration/index.d.ts.map +1 -0
  84. package/dist/calibration/index.js +5 -0
  85. package/dist/calibration/index.js.map +1 -0
  86. package/dist/calibration/runner.d.ts +127 -0
  87. package/dist/calibration/runner.d.ts.map +1 -0
  88. package/dist/calibration/runner.js +307 -0
  89. package/dist/calibration/runner.js.map +1 -0
  90. package/dist/calibration/store.d.ts +49 -0
  91. package/dist/calibration/store.d.ts.map +1 -0
  92. package/dist/calibration/store.js +140 -0
  93. package/dist/calibration/store.js.map +1 -0
  94. package/dist/calibration/types.d.ts +93 -0
  95. package/dist/calibration/types.d.ts.map +1 -0
  96. package/dist/calibration/types.js +53 -0
  97. package/dist/calibration/types.js.map +1 -0
  98. package/dist/cli.d.ts +1 -1
  99. package/dist/cli.js +17 -2
  100. package/dist/cli.js.map +1 -1
  101. package/dist/config/index.d.ts +5 -0
  102. package/dist/config/index.d.ts.map +1 -0
  103. package/dist/config/index.js +3 -0
  104. package/dist/config/index.js.map +1 -0
  105. package/dist/config/loader.d.ts +28 -0
  106. package/dist/config/loader.d.ts.map +1 -0
  107. package/dist/config/loader.js +181 -0
  108. package/dist/config/loader.js.map +1 -0
  109. package/dist/config/schema.d.ts +76 -0
  110. package/dist/config/schema.d.ts.map +1 -0
  111. package/dist/config/schema.js +93 -0
  112. package/dist/config/schema.js.map +1 -0
  113. package/dist/dictionary/challenge.d.ts +66 -0
  114. package/dist/dictionary/challenge.d.ts.map +1 -0
  115. package/dist/dictionary/challenge.js +145 -0
  116. package/dist/dictionary/challenge.js.map +1 -0
  117. package/dist/dictionary/client.d.ts +32 -0
  118. package/dist/dictionary/client.d.ts.map +1 -0
  119. package/dist/dictionary/client.js +139 -0
  120. package/dist/dictionary/client.js.map +1 -0
  121. package/dist/dictionary/compatibility.d.ts +8 -0
  122. package/dist/dictionary/compatibility.d.ts.map +1 -0
  123. package/dist/dictionary/compatibility.js +56 -0
  124. package/dist/dictionary/compatibility.js.map +1 -0
  125. package/dist/dictionary/index.d.ts +22 -0
  126. package/dist/dictionary/index.d.ts.map +1 -0
  127. package/dist/dictionary/index.js +15 -0
  128. package/dist/dictionary/index.js.map +1 -0
  129. package/dist/dictionary/matcher.d.ts +18 -0
  130. package/dist/dictionary/matcher.d.ts.map +1 -0
  131. package/dist/dictionary/matcher.js +98 -0
  132. package/dist/dictionary/matcher.js.map +1 -0
  133. package/dist/dictionary/publisher.d.ts +17 -0
  134. package/dist/dictionary/publisher.d.ts.map +1 -0
  135. package/dist/dictionary/publisher.js +156 -0
  136. package/dist/dictionary/publisher.js.map +1 -0
  137. package/dist/dictionary/sync.d.ts +28 -0
  138. package/dist/dictionary/sync.d.ts.map +1 -0
  139. package/dist/dictionary/sync.js +268 -0
  140. package/dist/dictionary/sync.js.map +1 -0
  141. package/dist/dictionary/types.d.ts +75 -0
  142. package/dist/dictionary/types.d.ts.map +1 -0
  143. package/dist/dictionary/types.js +8 -0
  144. package/dist/dictionary/types.js.map +1 -0
  145. package/dist/dictionary/updater.d.ts +23 -0
  146. package/dist/dictionary/updater.d.ts.map +1 -0
  147. package/dist/dictionary/updater.js +84 -0
  148. package/dist/dictionary/updater.js.map +1 -0
  149. package/dist/dictionary/versioning.d.ts +15 -0
  150. package/dist/dictionary/versioning.d.ts.map +1 -0
  151. package/dist/dictionary/versioning.js +52 -0
  152. package/dist/dictionary/versioning.js.map +1 -0
  153. package/dist/errors.d.ts +36 -0
  154. package/dist/errors.d.ts.map +1 -0
  155. package/dist/errors.js +66 -0
  156. package/dist/errors.js.map +1 -0
  157. package/dist/events/event-bus.d.ts +37 -0
  158. package/dist/events/event-bus.d.ts.map +1 -0
  159. package/dist/events/event-bus.js +261 -0
  160. package/dist/events/event-bus.js.map +1 -0
  161. package/dist/events/index.d.ts +3 -0
  162. package/dist/events/index.d.ts.map +1 -0
  163. package/dist/events/index.js +2 -0
  164. package/dist/events/index.js.map +1 -0
  165. package/dist/events/types.d.ts +71 -0
  166. package/dist/events/types.d.ts.map +1 -0
  167. package/dist/events/types.js +7 -0
  168. package/dist/events/types.js.map +1 -0
  169. package/dist/feed/client.d.ts +34 -0
  170. package/dist/feed/client.d.ts.map +1 -0
  171. package/dist/feed/client.js +206 -0
  172. package/dist/feed/client.js.map +1 -0
  173. package/dist/feed/index.d.ts +61 -0
  174. package/dist/feed/index.d.ts.map +1 -0
  175. package/dist/feed/index.js +115 -0
  176. package/dist/feed/index.js.map +1 -0
  177. package/dist/feed/metrics.d.ts +51 -0
  178. package/dist/feed/metrics.d.ts.map +1 -0
  179. package/dist/feed/metrics.js +84 -0
  180. package/dist/feed/metrics.js.map +1 -0
  181. package/dist/feed/mixer.d.ts +89 -0
  182. package/dist/feed/mixer.d.ts.map +1 -0
  183. package/dist/feed/mixer.js +230 -0
  184. package/dist/feed/mixer.js.map +1 -0
  185. package/dist/feed/tiers.d.ts +15 -0
  186. package/dist/feed/tiers.d.ts.map +1 -0
  187. package/dist/feed/tiers.js +75 -0
  188. package/dist/feed/tiers.js.map +1 -0
  189. package/dist/feed/types.d.ts +76 -0
  190. package/dist/feed/types.d.ts.map +1 -0
  191. package/dist/feed/types.js +6 -0
  192. package/dist/feed/types.js.map +1 -0
  193. package/dist/files/registry.d.ts +77 -0
  194. package/dist/files/registry.d.ts.map +1 -0
  195. package/dist/files/registry.js +222 -0
  196. package/dist/files/registry.js.map +1 -0
  197. package/dist/google/plugin.d.ts +17 -0
  198. package/dist/google/plugin.d.ts.map +1 -0
  199. package/dist/google/plugin.js +169 -0
  200. package/dist/google/plugin.js.map +1 -0
  201. package/dist/health/checker.d.ts.map +1 -1
  202. package/dist/health/checker.js +14 -4
  203. package/dist/health/checker.js.map +1 -1
  204. package/dist/health/checks/openrouter.js +1 -1
  205. package/dist/health/checks/openrouter.js.map +1 -1
  206. package/dist/health/checks.d.ts +1 -1
  207. package/dist/health/checks.d.ts.map +1 -1
  208. package/dist/health/checks.js +9 -3
  209. package/dist/health/checks.js.map +1 -1
  210. package/dist/ledger/distance.d.ts +19 -0
  211. package/dist/ledger/distance.d.ts.map +1 -0
  212. package/dist/ledger/distance.js +70 -0
  213. package/dist/ledger/distance.js.map +1 -0
  214. package/dist/ledger/index.d.ts +8 -0
  215. package/dist/ledger/index.d.ts.map +1 -0
  216. package/dist/ledger/index.js +7 -0
  217. package/dist/ledger/index.js.map +1 -0
  218. package/dist/ledger/store.d.ts +27 -0
  219. package/dist/ledger/store.d.ts.map +1 -0
  220. package/dist/ledger/store.js +123 -0
  221. package/dist/ledger/store.js.map +1 -0
  222. package/dist/ledger/types.d.ts +109 -0
  223. package/dist/ledger/types.d.ts.map +1 -0
  224. package/dist/ledger/types.js +57 -0
  225. package/dist/ledger/types.js.map +1 -0
  226. package/dist/literacy.d.ts +50 -0
  227. package/dist/literacy.d.ts.map +1 -0
  228. package/dist/literacy.js +141 -0
  229. package/dist/literacy.js.map +1 -0
  230. package/dist/llm/complete.d.ts.map +1 -1
  231. package/dist/llm/complete.js +36 -3
  232. package/dist/llm/complete.js.map +1 -1
  233. package/dist/llm/fetch-guard.d.ts.map +1 -1
  234. package/dist/llm/fetch-guard.js +2 -0
  235. package/dist/llm/fetch-guard.js.map +1 -1
  236. package/dist/llm/membrane.d.ts +5 -0
  237. package/dist/llm/membrane.d.ts.map +1 -1
  238. package/dist/llm/membrane.js +48 -8
  239. package/dist/llm/membrane.js.map +1 -1
  240. package/dist/llm/nlp-detect.d.ts +17 -0
  241. package/dist/llm/nlp-detect.d.ts.map +1 -0
  242. package/dist/llm/nlp-detect.js +45 -0
  243. package/dist/llm/nlp-detect.js.map +1 -0
  244. package/dist/llm/ollama.d.ts +5 -0
  245. package/dist/llm/ollama.d.ts.map +1 -1
  246. package/dist/llm/ollama.js +39 -1
  247. package/dist/llm/ollama.js.map +1 -1
  248. package/dist/llm/openrouter.d.ts.map +1 -1
  249. package/dist/llm/openrouter.js +17 -1
  250. package/dist/llm/openrouter.js.map +1 -1
  251. package/dist/llm/providers/ollama.d.ts +7 -2
  252. package/dist/llm/providers/ollama.d.ts.map +1 -1
  253. package/dist/llm/providers/ollama.js +109 -17
  254. package/dist/llm/providers/ollama.js.map +1 -1
  255. package/dist/llm/providers/openrouter.js +1 -1
  256. package/dist/llm/providers/openrouter.js.map +1 -1
  257. package/dist/llm/sensitive-registry.d.ts +6 -0
  258. package/dist/llm/sensitive-registry.d.ts.map +1 -1
  259. package/dist/llm/sensitive-registry.js +60 -1
  260. package/dist/llm/sensitive-registry.js.map +1 -1
  261. package/dist/mcp-server.js +25 -18
  262. package/dist/mcp-server.js.map +1 -1
  263. package/dist/metrics/collector.d.ts +6 -0
  264. package/dist/metrics/collector.d.ts.map +1 -1
  265. package/dist/metrics/collector.js +150 -0
  266. package/dist/metrics/collector.js.map +1 -1
  267. package/dist/metrics/types.d.ts +1 -1
  268. package/dist/metrics/types.d.ts.map +1 -1
  269. package/dist/middleware/error-handler.d.ts +13 -0
  270. package/dist/middleware/error-handler.d.ts.map +1 -0
  271. package/dist/middleware/error-handler.js +71 -0
  272. package/dist/middleware/error-handler.js.map +1 -0
  273. package/dist/notifications/channels/adapter.d.ts +28 -0
  274. package/dist/notifications/channels/adapter.d.ts.map +1 -0
  275. package/dist/notifications/channels/adapter.js +55 -0
  276. package/dist/notifications/channels/adapter.js.map +1 -0
  277. package/dist/notifications/channels/index.d.ts +6 -0
  278. package/dist/notifications/channels/index.d.ts.map +1 -0
  279. package/dist/notifications/channels/index.js +6 -0
  280. package/dist/notifications/channels/index.js.map +1 -0
  281. package/dist/notifications/channels/log.d.ts +15 -0
  282. package/dist/notifications/channels/log.d.ts.map +1 -0
  283. package/dist/notifications/channels/log.js +29 -0
  284. package/dist/notifications/channels/log.js.map +1 -0
  285. package/dist/notifications/engine.d.ts +37 -0
  286. package/dist/notifications/engine.d.ts.map +1 -0
  287. package/dist/notifications/engine.js +198 -0
  288. package/dist/notifications/engine.js.map +1 -0
  289. package/dist/notifications/index.d.ts +12 -3
  290. package/dist/notifications/index.d.ts.map +1 -1
  291. package/dist/notifications/index.js +15 -3
  292. package/dist/notifications/index.js.map +1 -1
  293. package/dist/notifications/types.d.ts +97 -0
  294. package/dist/notifications/types.d.ts.map +1 -0
  295. package/dist/notifications/types.js +14 -0
  296. package/dist/notifications/types.js.map +1 -0
  297. package/dist/onboarding/bootstrap.d.ts +51 -0
  298. package/dist/onboarding/bootstrap.d.ts.map +1 -0
  299. package/dist/onboarding/bootstrap.js +92 -0
  300. package/dist/onboarding/bootstrap.js.map +1 -0
  301. package/dist/onboarding/conversation.d.ts +131 -0
  302. package/dist/onboarding/conversation.d.ts.map +1 -0
  303. package/dist/onboarding/conversation.js +259 -0
  304. package/dist/onboarding/conversation.js.map +1 -0
  305. package/dist/onboarding/flow.d.ts +63 -0
  306. package/dist/onboarding/flow.d.ts.map +1 -0
  307. package/dist/onboarding/flow.js +287 -0
  308. package/dist/onboarding/flow.js.map +1 -0
  309. package/dist/onboarding/index.d.ts +17 -0
  310. package/dist/onboarding/index.d.ts.map +1 -0
  311. package/dist/onboarding/index.js +23 -0
  312. package/dist/onboarding/index.js.map +1 -0
  313. package/dist/onboarding/name-extraction.d.ts +42 -0
  314. package/dist/onboarding/name-extraction.d.ts.map +1 -0
  315. package/dist/onboarding/name-extraction.js +164 -0
  316. package/dist/onboarding/name-extraction.js.map +1 -0
  317. package/dist/onboarding/nerve-link.d.ts +23 -0
  318. package/dist/onboarding/nerve-link.d.ts.map +1 -0
  319. package/dist/onboarding/nerve-link.js +24 -0
  320. package/dist/onboarding/nerve-link.js.map +1 -0
  321. package/dist/onboarding/phases.d.ts +66 -0
  322. package/dist/onboarding/phases.d.ts.map +1 -0
  323. package/dist/onboarding/phases.js +167 -0
  324. package/dist/onboarding/phases.js.map +1 -0
  325. package/dist/onboarding/safe-word.d.ts +39 -0
  326. package/dist/onboarding/safe-word.d.ts.map +1 -0
  327. package/dist/onboarding/safe-word.js +90 -0
  328. package/dist/onboarding/safe-word.js.map +1 -0
  329. package/dist/onboarding/types.d.ts +124 -0
  330. package/dist/onboarding/types.d.ts.map +1 -0
  331. package/dist/onboarding/types.js +46 -0
  332. package/dist/onboarding/types.js.map +1 -0
  333. package/dist/openloop/resolution-scanner.d.ts +1 -1
  334. package/dist/openloop/resolution-scanner.d.ts.map +1 -1
  335. package/dist/openloop/resolution-scanner.js +4 -14
  336. package/dist/openloop/resolution-scanner.js.map +1 -1
  337. package/dist/plugins/index.d.ts +24 -0
  338. package/dist/plugins/index.d.ts.map +1 -0
  339. package/dist/plugins/index.js +91 -0
  340. package/dist/plugins/index.js.map +1 -0
  341. package/dist/plugins/status.d.ts +10 -0
  342. package/dist/plugins/status.d.ts.map +1 -0
  343. package/dist/plugins/status.js +12 -0
  344. package/dist/plugins/status.js.map +1 -0
  345. package/dist/posture/index.d.ts +2 -2
  346. package/dist/posture/index.d.ts.map +1 -1
  347. package/dist/posture/index.js +1 -1
  348. package/dist/posture/index.js.map +1 -1
  349. package/dist/posture/types.d.ts +34 -0
  350. package/dist/posture/types.d.ts.map +1 -1
  351. package/dist/posture/types.js +28 -0
  352. package/dist/posture/types.js.map +1 -1
  353. package/dist/pulse/activation-event.d.ts +5 -4
  354. package/dist/pulse/activation-event.d.ts.map +1 -1
  355. package/dist/pulse/activation-event.js +31 -8
  356. package/dist/pulse/activation-event.js.map +1 -1
  357. package/dist/pulse/activation-log.d.ts.map +1 -1
  358. package/dist/pulse/activation-log.js.map +1 -1
  359. package/dist/pulse/index.d.ts +3 -0
  360. package/dist/pulse/index.d.ts.map +1 -1
  361. package/dist/pulse/index.js +4 -0
  362. package/dist/pulse/index.js.map +1 -1
  363. package/dist/pulse/tier.d.ts +67 -0
  364. package/dist/pulse/tier.d.ts.map +1 -0
  365. package/dist/pulse/tier.js +104 -0
  366. package/dist/pulse/tier.js.map +1 -0
  367. package/dist/pulse/work.d.ts +66 -0
  368. package/dist/pulse/work.d.ts.map +1 -0
  369. package/dist/pulse/work.js +117 -0
  370. package/dist/pulse/work.js.map +1 -0
  371. package/dist/runtime-lock.d.ts +51 -0
  372. package/dist/runtime-lock.d.ts.map +1 -0
  373. package/dist/runtime-lock.js +147 -0
  374. package/dist/runtime-lock.js.map +1 -0
  375. package/dist/server.d.ts.map +1 -1
  376. package/dist/server.js +1244 -188
  377. package/dist/server.js.map +1 -1
  378. package/dist/services/whatsapp.js +1 -1
  379. package/dist/services/whatsapp.js.map +1 -1
  380. package/dist/settings.d.ts +15 -0
  381. package/dist/settings.d.ts.map +1 -1
  382. package/dist/settings.js +48 -1
  383. package/dist/settings.js.map +1 -1
  384. package/dist/skills/index.d.ts +2 -2
  385. package/dist/skills/index.d.ts.map +1 -1
  386. package/dist/skills/index.js +2 -2
  387. package/dist/skills/index.js.map +1 -1
  388. package/dist/skills/registry.d.ts +53 -142
  389. package/dist/skills/registry.d.ts.map +1 -1
  390. package/dist/skills/registry.js +249 -611
  391. package/dist/skills/registry.js.map +1 -1
  392. package/dist/stream/emitter.d.ts +36 -0
  393. package/dist/stream/emitter.d.ts.map +1 -0
  394. package/dist/stream/emitter.js +177 -0
  395. package/dist/stream/emitter.js.map +1 -0
  396. package/dist/stream/index.d.ts +4 -0
  397. package/dist/stream/index.d.ts.map +1 -0
  398. package/dist/stream/index.js +3 -0
  399. package/dist/stream/index.js.map +1 -0
  400. package/dist/stream/types.d.ts +100 -0
  401. package/dist/stream/types.d.ts.map +1 -0
  402. package/dist/stream/types.js +19 -0
  403. package/dist/stream/types.js.map +1 -0
  404. package/dist/threads/index.d.ts +3 -0
  405. package/dist/threads/index.d.ts.map +1 -0
  406. package/dist/threads/index.js +2 -0
  407. package/dist/threads/index.js.map +1 -0
  408. package/dist/threads/store.d.ts +36 -0
  409. package/dist/threads/store.d.ts.map +1 -0
  410. package/dist/threads/store.js +171 -0
  411. package/dist/threads/store.js.map +1 -0
  412. package/dist/threads/types.d.ts +16 -0
  413. package/dist/threads/types.d.ts.map +1 -0
  414. package/dist/threads/types.js +6 -0
  415. package/dist/threads/types.js.map +1 -0
  416. package/dist/tick/index.d.ts +10 -0
  417. package/dist/tick/index.d.ts.map +1 -0
  418. package/dist/tick/index.js +8 -0
  419. package/dist/tick/index.js.map +1 -0
  420. package/dist/tick/runner.d.ts +56 -0
  421. package/dist/tick/runner.d.ts.map +1 -0
  422. package/dist/tick/runner.js +235 -0
  423. package/dist/tick/runner.js.map +1 -0
  424. package/dist/tick/types.d.ts +73 -0
  425. package/dist/tick/types.d.ts.map +1 -0
  426. package/dist/tick/types.js +8 -0
  427. package/dist/tick/types.js.map +1 -0
  428. package/dist/tier/types.js +3 -3
  429. package/dist/tier/types.js.map +1 -1
  430. package/dist/ui-sync.d.ts +34 -0
  431. package/dist/ui-sync.d.ts.map +1 -0
  432. package/dist/ui-sync.js +108 -0
  433. package/dist/ui-sync.js.map +1 -0
  434. package/dist/utils/git.d.ts +12 -0
  435. package/dist/utils/git.d.ts.map +1 -0
  436. package/dist/utils/git.js +44 -0
  437. package/dist/utils/git.js.map +1 -0
  438. package/dist/volumes/index.d.ts +3 -0
  439. package/dist/volumes/index.d.ts.map +1 -0
  440. package/dist/volumes/index.js +2 -0
  441. package/dist/volumes/index.js.map +1 -0
  442. package/dist/volumes/manager.d.ts +83 -0
  443. package/dist/volumes/manager.d.ts.map +1 -0
  444. package/dist/volumes/manager.js +462 -0
  445. package/dist/volumes/manager.js.map +1 -0
  446. package/dist/volumes/types.d.ts +66 -0
  447. package/dist/volumes/types.d.ts.map +1 -0
  448. package/dist/volumes/types.js +8 -0
  449. package/dist/volumes/types.js.map +1 -0
  450. package/package.json +8 -5
  451. package/public/avatar/Hey-Dash_en_windows_v4_0_0.zip +0 -0
  452. package/public/avatar/README.md +43 -0
  453. package/public/avatar/cache/06fa55aececcc478.mp4 +0 -0
  454. package/public/avatar/cache/07a65738ba170827.mp4 +0 -0
  455. package/public/avatar/cache/08b6f4880f59a385.mp4 +0 -0
  456. package/public/avatar/cache/0ef9e0e78d715af4.mp4 +0 -0
  457. package/public/avatar/cache/0fa85e9e8f444a8b.mp4 +0 -0
  458. package/public/avatar/cache/1185fd491f413406.mp4 +0 -0
  459. package/public/avatar/cache/1b374d5390258fea.mp4 +0 -0
  460. package/public/avatar/cache/1e2367029b92f8aa.mp4 +0 -0
  461. package/public/avatar/cache/272c004a41087de5.mp4 +0 -0
  462. package/public/avatar/cache/2a0f3ff34d92521a.mp4 +0 -0
  463. package/public/avatar/cache/307a6f70859aeab8.mp4 +0 -0
  464. package/public/avatar/cache/332384e088ca214b.mp4 +0 -0
  465. package/public/avatar/cache/39fc4e81574d14ed.mp4 +0 -0
  466. package/public/avatar/cache/4a5c6051c1ef6a71.mp4 +0 -0
  467. package/public/avatar/cache/51f4aa76398c8c29.mp4 +0 -0
  468. package/public/avatar/cache/5d9a960bbf71732c.mp4 +0 -0
  469. package/public/avatar/cache/5e0954401e15af89.mp4 +0 -0
  470. package/public/avatar/cache/884ae6717fcacdd5.mp4 +0 -0
  471. package/public/avatar/cache/8ea0b7220d139615.mp4 +0 -0
  472. package/public/avatar/cache/9b9c4f7b8508eecc.mp4 +0 -0
  473. package/public/avatar/cache/9be1030ec2aa2b01.mp4 +0 -0
  474. package/public/avatar/cache/b35f7a3d558f22cb.mp4 +0 -0
  475. package/public/avatar/cache/be89f49970672374.mp4 +0 -0
  476. package/public/avatar/cache/c11fdc99479492b6.mp4 +0 -0
  477. package/public/avatar/cache/c900811e3382ac6d.mp4 +0 -0
  478. package/public/avatar/cache/d42a73667acf5716.mp4 +0 -0
  479. package/public/avatar/cache/e539f247a8908603.mp4 +0 -0
  480. package/public/avatar/cache/e78fceae2373b7c1.mp4 +0 -0
  481. package/public/avatar/cache/ec95af57d33b3f07.mp4 +0 -0
  482. package/public/avatar/cache/eeb8d775f40dbe2c.mp4 +0 -0
  483. package/public/avatar/dash_headhshot_v1.png +0 -0
  484. package/public/avatar/idle.mp4 +0 -0
  485. package/public/avatar/photo.png +0 -0
  486. package/public/board.html +6 -0
  487. package/public/browser.html +6 -2
  488. package/public/demo-data/Family Photos/2024/christmas-dinner.txt +13 -0
  489. package/public/demo-data/Family Photos/2025/summer-cookout.txt +13 -0
  490. package/public/demo-data/Financial/Insurance/auto-policy.txt +26 -0
  491. package/public/demo-data/Financial/Insurance/homeowners-policy.txt +20 -0
  492. package/public/demo-data/Financial/Taxes/property-tax-2025.txt +18 -0
  493. package/public/demo-data/Financial/Taxes/w2-2025.txt +18 -0
  494. package/public/demo-data/Health Records/lab-results-2026.txt +26 -0
  495. package/public/demo-data/Health Records/prescription-list.txt +24 -0
  496. package/public/demo-data/Health Records/vaccination-record.csv +8 -0
  497. package/public/demo-data/Legal/Estate/beneficiary-contacts.csv +4 -0
  498. package/public/demo-data/Legal/Estate/will-summary.txt +22 -0
  499. package/public/demo-data/Recipes/christmas-cookies.md +25 -0
  500. package/public/demo-data/Recipes/grandmas-chili.md +30 -0
  501. package/public/demo-data/Work/Contracts/lawn-service-2026.txt +23 -0
  502. package/public/demo-data/Work/Projects/project-status.md +19 -0
  503. package/public/demo-data/passwords.txt +13 -0
  504. package/public/demo-ingest.html +388 -0
  505. package/public/help.html +4 -1
  506. package/public/icon-192.png +0 -0
  507. package/public/icon-512.png +0 -0
  508. package/public/index.html +2641 -574
  509. package/public/library.html +51 -29
  510. package/public/manifest.json +21 -0
  511. package/public/nerve/icon-192.svg +6 -0
  512. package/public/nerve/icon-512.svg +6 -0
  513. package/public/nerve/index.html +698 -0
  514. package/public/nerve/manifest.json +24 -0
  515. package/public/nerve/sw.js +84 -0
  516. package/public/observatory.html +5 -1
  517. package/public/ops.html +33 -3
  518. package/public/pulse.html +3 -0
  519. package/public/registry.html +6 -2
  520. package/public/roadmap.html +7 -2
  521. package/public/sw.js +65 -0
  522. package/brain-template/registry.md +0 -566
  523. package/brain-template/rest_api-integration.md +0 -522
@@ -0,0 +1,43 @@
1
+ # Core Avatar
2
+
3
+ Place a GLB avatar model here as `dash.glb` to enable the 3D TalkingHead avatar.
4
+
5
+ ## How it works
6
+
7
+ Core uses [TalkingHead.js](https://github.com/met4citizen/TalkingHead) to render a 3D avatar in the chat UI. When Piper TTS speaks, the audio drives lip-sync animations on the model.
8
+
9
+ If no `dash.glb` file is found, Core falls back to a CSS-animated placeholder.
10
+
11
+ ## Getting a compatible model
12
+
13
+ The GLB model needs:
14
+ - **Mixamo-compatible skeleton rig** (standard humanoid bone names)
15
+ - **52 ARKit blend shapes** (eyeBlinkLeft, jawOpen, mouthSmile, etc.)
16
+ - **15 Oculus viseme blend shapes** (viseme_sil, viseme_PP, viseme_FF, etc.)
17
+
18
+ ### Option 1: Avaturn (recommended, free)
19
+
20
+ 1. Go to [avaturn.me](https://avaturn.me/)
21
+ 2. Create an avatar (photo upload or customize)
22
+ 3. Export as GLB with ARKit blend shapes enabled
23
+ 4. Save as `public/avatar/dash.glb`
24
+
25
+ ### Option 2: MPFB (Blender, free)
26
+
27
+ 1. Install [MPFB](https://static.makehumancommunity.org/mpfb.html) Blender extension
28
+ 2. Create a character, export as GLB
29
+ 3. Use the TalkingHead [build-visemes-from-arkit.py](https://github.com/met4citizen/TalkingHead/blob/main/blender/build-visemes-from-arkit.py) Blender script to add Oculus visemes from ARKit shapes
30
+ 4. Save as `public/avatar/dash.glb`
31
+
32
+ ### Option 3: Any GLB with the right blend shapes
33
+
34
+ Any GLB/GLTF model with the required blend shapes will work. The model is loaded via Three.js at `/public/avatar/dash.glb`.
35
+
36
+ ## Customization
37
+
38
+ The avatar initialization is in the `<script type="module">` block at the bottom of `public/index.html`. You can adjust:
39
+
40
+ - `cameraView`: `"full"`, `"mid"`, `"upper"`, `"head"`
41
+ - `avatarMood`: `"neutral"`, `"happy"`, `"angry"`, `"sad"`, `"love"`, etc.
42
+ - `body`: `"M"` or `"F"` (affects idle animation style)
43
+ - Lighting: ambient/direct color and intensity
Binary file
Binary file
package/public/board.html CHANGED
@@ -689,6 +689,9 @@
689
689
  </div>
690
690
 
691
691
  <script>
692
+ var sessionId = sessionStorage.getItem("dash_sid");
693
+ function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
694
+ fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.integrations))location.href='/'}).catch(()=>{});
692
695
  (function() {
693
696
  // --- Config ---
694
697
  const COLUMNS = [
@@ -734,7 +737,10 @@
734
737
 
735
738
  // --- Helpers ---
736
739
  async function fetchJSON(url, opts) {
740
+ opts = opts || {};
741
+ opts.headers = Object.assign({}, authHeaders(), opts.headers || {});
737
742
  var res = await fetch(url, opts);
743
+ if (res.status === 401) { window.location.href = '/'; return null; }
738
744
  // Retry once on rate limit after a short delay
739
745
  if (res.status === 429) {
740
746
  var retryAfter = parseInt(res.headers.get('Retry-After') || '2', 10);
@@ -414,6 +414,9 @@
414
414
  </div>
415
415
 
416
416
  <script>
417
+ var sessionId = sessionStorage.getItem("dash_sid");
418
+ function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
419
+ fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.vault))location.href='/'}).catch(()=>{});
417
420
  const urlInput = document.getElementById('urlInput');
418
421
  const fetchBtn = document.getElementById('fetchBtn');
419
422
  const metaBar = document.getElementById('metaBar');
@@ -477,9 +480,10 @@ function navigateTo(url, addToHistory = true) {
477
480
  setView(currentView);
478
481
  pageFrame.src = url;
479
482
 
480
- fetch('/api/browse?url=' + encodeURIComponent(url))
481
- .then(r => r.json())
483
+ fetch('/api/browse?url=' + encodeURIComponent(url), { headers: authHeaders() })
484
+ .then(r => { if (r.status === 401) { window.location.href = '/'; return null; } return r.json(); })
482
485
  .then(data => {
486
+ if (!data) return;
483
487
  if (data.error) {
484
488
  metaBar.innerHTML = `<span class="badge error">error</span> <span>${escapeHtml(data.error)}</span>`;
485
489
  content.innerHTML = `<div class="error-display">${escapeHtml(data.error)}</div>`;
@@ -0,0 +1,13 @@
1
+ [Photo placeholder — christmas-dinner-2024.jpg]
2
+
3
+ Christmas dinner at 4412 Maple Ridge Dr.
4
+ Everyone's here. Robert at the head of the table carving the ham.
5
+ Margaret's tablecloth — the red one from her mother.
6
+ Bryant flew in from wherever he was. Lisa brought the kids.
7
+ Mike and Carol drove up from Newark.
8
+
9
+ The kids opened presents after dinner. Jackson got the bike he wanted.
10
+ Emma got art supplies — she's been drawing nonstop since.
11
+
12
+ This is the one where Robert fell asleep in his recliner at 7pm
13
+ and Margaret covered him with the Ohio State blanket.
@@ -0,0 +1,13 @@
1
+ [Photo placeholder — backyard-cookout-july-2025.jpg]
2
+
3
+ 4th of July cookout. 87 degrees. Robert on the grill as always.
4
+ Margaret's potato salad. Bryant brought the fireworks (legal ones, mostly).
5
+
6
+ Neighbors came over — the Patels from next door, the Johnsons across the street.
7
+ Raj Patel and Robert argued about the Buckeyes' offensive line for an hour.
8
+ Margaret and Priya exchanged recipes again.
9
+
10
+ Kids played with sparklers until dark.
11
+ Lisa caught Jackson trying to light a Roman candle — crisis averted.
12
+
13
+ The good summer. Before Robert's knee surgery in August.
@@ -0,0 +1,26 @@
1
+ State Farm Auto Insurance Policy
2
+
3
+ Policy #: SF-OH-8842-5567-A
4
+ Effective: 01/01/2026 — 07/01/2026
5
+
6
+ Named Insured: Robert A. Herrman
7
+ Address: 4412 Maple Ridge Dr, Columbus OH 43220
8
+ Phone: 614-555-0147
9
+ Driver's License: OH-RH442891
10
+
11
+ Vehicle 1: 2022 Toyota RAV4 XLE
12
+ VIN: 2T3P1RFV8NW123456
13
+ Liability: 100/300/100
14
+ Collision: $500 deductible
15
+ Comprehensive: $250 deductible
16
+ Premium: $847/6mo
17
+
18
+ Vehicle 2: 2020 Honda Accord Sport
19
+ VIN: 1HGCV1F34LA098765
20
+ Liability: 100/300/100
21
+ Collision: $500 deductible
22
+ Comprehensive: $250 deductible
23
+ Premium: $762/6mo
24
+
25
+ Agent: Mike Patterson
26
+ Office: 614-555-0288
@@ -0,0 +1,20 @@
1
+ Nationwide Homeowners Policy
2
+
3
+ Policy #: NW-HO-44891-2026
4
+ Effective: 03/01/2026 — 03/01/2027
5
+
6
+ Insured: Robert A. & Margaret L. Herrman
7
+ Property: 4412 Maple Ridge Dr, Columbus OH 43220
8
+
9
+ Dwelling Coverage (A): $285,000
10
+ Other Structures (B): $28,500
11
+ Personal Property (C): $199,500
12
+ Loss of Use (D): $57,000
13
+ Personal Liability (E): $300,000
14
+ Medical Payments (F): $5,000
15
+
16
+ Deductible: $1,000
17
+ Annual Premium: $1,842.00
18
+
19
+ Mortgage: Fifth Third Bank
20
+ Loan #: FTB-2019-884291
@@ -0,0 +1,18 @@
1
+ Franklin County Auditor
2
+ Property Tax Statement — 2025
3
+
4
+ Parcel #: 010-287441
5
+ Owner: Robert A. Herrman & Margaret L. Herrman
6
+ Property: 4412 Maple Ridge Dr, Columbus OH 43220
7
+
8
+ Appraised Value: $285,000
9
+ Taxable Value: $99,750
10
+
11
+ First Half Due: 02/20/2026 — $2,847.31
12
+ Second Half Due: 07/20/2026 — $2,847.31
13
+ Annual Total: $5,694.62
14
+
15
+ School District: Columbus City Schools
16
+ Tax Rate: 57.06 mills
17
+
18
+ Payment Method: ACH from Chase checking ****4891
@@ -0,0 +1,18 @@
1
+ W-2 Wage and Tax Statement — 2025
2
+
3
+ Employer: Nationwide Insurance
4
+ EIN: 31-4177660
5
+ Address: One Nationwide Plaza, Columbus OH 43215
6
+
7
+ Employee: Robert Herrman
8
+ SSN: 298-54-7163
9
+ Address: 4412 Maple Ridge Dr, Columbus OH 43220
10
+
11
+ Box 1 - Wages: $82,450.00
12
+ Box 2 - Federal tax withheld: $12,891.00
13
+ Box 3 - Social security wages: $82,450.00
14
+ Box 4 - Social security tax: $5,111.90
15
+ Box 5 - Medicare wages: $82,450.00
16
+ Box 6 - Medicare tax: $1,195.53
17
+ Box 12a - 401(k): $8,245.00
18
+ Box 14 - State: OH State wages: $82,450.00 State tax: $3,298.00
@@ -0,0 +1,26 @@
1
+ Quest Diagnostics Lab Report
2
+ Patient: Margaret Herrman
3
+ DOB: 04/15/1958
4
+ SSN: 412-68-9203
5
+ MRN: QD-2026-44891
6
+
7
+ Test Date: 02/14/2026
8
+ Ordering Physician: Dr. Sarah Chen, NPI: 1234567890
9
+
10
+ COMPLETE BLOOD COUNT (CBC)
11
+ WBC: 6.2 x10^3/uL (4.5-11.0)
12
+ RBC: 4.51 x10^6/uL (4.10-5.10)
13
+ Hemoglobin: 13.8 g/dL (12.0-15.5)
14
+ Hematocrit: 41.2% (36.0-44.0)
15
+ Platelets: 245 x10^3/uL (150-379)
16
+
17
+ METABOLIC PANEL
18
+ Glucose: 98 mg/dL (65-99)
19
+ BUN: 14 mg/dL (6-20)
20
+ Creatinine: 0.9 mg/dL (0.57-1.00)
21
+ eGFR: >60 mL/min
22
+
23
+ HbA1c: 5.6% (<5.7 Normal)
24
+
25
+ Notes: All values within normal range. Continue current medications.
26
+ Follow-up in 6 months.
@@ -0,0 +1,24 @@
1
+ Current Medications — Margaret Herrman
2
+ Updated: 2026-02-20
3
+ Pharmacy: CVS #4412, 1825 Oak Ave, Columbus OH 43215
4
+ Phone: 614-555-0193
5
+
6
+ 1. Lisinopril 10mg — 1 tablet daily (blood pressure)
7
+ Rx #: 7842901 | Dr. Chen | Refills: 3
8
+
9
+ 2. Atorvastatin 20mg — 1 tablet at bedtime (cholesterol)
10
+ Rx #: 7842902 | Dr. Chen | Refills: 5
11
+
12
+ 3. Vitamin D3 2000IU — 1 capsule daily (supplement)
13
+ OTC — no prescription needed
14
+
15
+ 4. Metformin 500mg — DISCONTINUED 01/2026 (A1c normalized)
16
+
17
+ Insurance: Anthem Blue Cross
18
+ Policy #: ANT-884-2210-5567
19
+ Group #: GRP-OH-44891
20
+ Member ID: MH958412689
21
+
22
+ Emergency Contact: Bryant Herrman
23
+ Phone: 614-555-0147
24
+ Relationship: Son
@@ -0,0 +1,8 @@
1
+ Date,Vaccine,Provider,Lot Number,Location
2
+ 2025-09-15,Influenza (Quad),CVS Pharmacy,FL2025-8842,1825 Oak Ave Columbus OH
3
+ 2025-03-01,COVID-19 Booster (Moderna),Kroger Pharmacy,MOD-2025-1192,3400 W Broad St Columbus OH
4
+ 2024-10-01,Influenza (Quad),CVS Pharmacy,FL2024-7731,1825 Oak Ave Columbus OH
5
+ 2024-04-20,Shingrix Dose 2,Dr. Chen Office,SHX-2024-0491,890 E Main St Columbus OH 43205
6
+ 2024-02-15,Shingrix Dose 1,Dr. Chen Office,SHX-2024-0312,890 E Main St Columbus OH 43205
7
+ 2023-09-22,Influenza (Quad),CVS Pharmacy,FL2023-6619,1825 Oak Ave Columbus OH
8
+ 2023-04-10,COVID-19 Booster (Pfizer),Walgreens,PFZ-2023-8841,2100 N High St Columbus OH
@@ -0,0 +1,4 @@
1
+ Name,Relationship,Phone,Email,Address,SSN_Last4
2
+ Bryant Herrman,Son,614-555-0147,bryant@herrmangroup.com,"1847 Summit St, Columbus OH 43201",7821
3
+ Lisa Herrman-Powell,Daughter,614-555-0312,lisa.powell@gmail.com,"8824 Riverside Dr, Dublin OH 43017",4456
4
+ Mike Herrman,Brother,740-555-0891,mike.herrman@yahoo.com,"2201 County Rd 44, Newark OH 43055",6612
@@ -0,0 +1,22 @@
1
+ Last Will and Testament — Summary
2
+ Robert A. Herrman & Margaret L. Herrman
3
+
4
+ Prepared by: Schottenstein, Zox & Dunn
5
+ Attorney: Jennifer Walsh, Esq.
6
+ Date: 08/15/2023
7
+
8
+ Executor: Bryant Herrman (son)
9
+ Alternate Executor: Lisa Herrman-Powell (daughter)
10
+
11
+ Key Provisions:
12
+ - Property at 4412 Maple Ridge Dr to be sold, proceeds split equally
13
+ - 401(k) and IRA accounts — beneficiary designations on file with Nationwide
14
+ - Personal effects per attached schedule
15
+ - Charitable bequest: $10,000 to Columbus Humane Society
16
+
17
+ Safe Deposit Box: Fifth Third Bank, Main St branch
18
+ Box #: 2847
19
+ Access: Robert, Margaret, or Bryant (authorized)
20
+
21
+ Power of Attorney (Healthcare): Bryant Herrman
22
+ Power of Attorney (Financial): Bryant Herrman
@@ -0,0 +1,25 @@
1
+ # Margaret's Buckeye Cookies
2
+
3
+ *Every Christmas since 1982. The kids fight over these.*
4
+
5
+ ## Ingredients
6
+ - 1.5 cups creamy peanut butter
7
+ - 1 cup butter, softened
8
+ - 3.5 cups powdered sugar
9
+ - 1 tsp vanilla
10
+ - 2 cups semi-sweet chocolate chips
11
+ - 2 tbsp shortening
12
+
13
+ ## Instructions
14
+ 1. Mix peanut butter, butter, sugar, and vanilla until smooth
15
+ 2. Roll into 1-inch balls
16
+ 3. Stick a toothpick in each, freeze 30 min
17
+ 4. Melt chocolate chips + shortening (double boiler or microwave)
18
+ 5. Dip each ball 3/4 into chocolate, leave the top exposed (looks like a buckeye)
19
+ 6. Set on wax paper, remove toothpick, smooth the hole
20
+ 7. Refrigerate until chocolate sets
21
+
22
+ ## Notes
23
+ - Makes about 60 cookies
24
+ - Hide a batch before the party or there won't be any left
25
+ - Lisa's kids are allergic to peanuts — make a separate batch with sunbutter
@@ -0,0 +1,30 @@
1
+ # Grandma Herrman's Chili
2
+
3
+ *The real one. Not the one she gave the church cookbook.*
4
+
5
+ ## Ingredients
6
+ - 2 lbs ground beef (80/20)
7
+ - 1 large onion, diced
8
+ - 4 cloves garlic, minced
9
+ - 2 cans kidney beans (dark red), drained
10
+ - 1 can black beans, drained
11
+ - 2 cans diced tomatoes (do NOT drain)
12
+ - 1 small can tomato paste
13
+ - 2 tbsp chili powder
14
+ - 1 tbsp cumin
15
+ - 1 tsp smoked paprika
16
+ - 1/2 tsp cayenne (Margaret uses 1/4 tsp)
17
+ - Salt & pepper to taste
18
+ - 1 bottle beer (whatever Robert has open)
19
+
20
+ ## Instructions
21
+ 1. Brown the beef in a big pot. Don't drain the fat — that's the flavor.
22
+ 2. Add onion and garlic, cook until soft (5 min).
23
+ 3. Add everything else. Stir.
24
+ 4. Simmer on low for at least 2 hours. 3 is better.
25
+ 5. Serve with cornbread. Not crackers. Cornbread.
26
+
27
+ ## Notes
28
+ - Freezes great. Makes enough for 3 meals.
29
+ - Robert likes it with sharp cheddar and raw onion on top.
30
+ - For the church version, skip the beer and halve the cayenne.
@@ -0,0 +1,23 @@
1
+ Lawn Care Service Agreement — 2026 Season
2
+
3
+ Provider: Green Thumb Lawn Care LLC
4
+ Contact: Tony Garcia, 614-555-0772
5
+ Email: tony@greenthumbcolumbus.com
6
+
7
+ Customer: Robert Herrman
8
+ Property: 4412 Maple Ridge Dr, Columbus OH 43220
9
+
10
+ Services:
11
+ - Weekly mowing (April - October): $45/visit
12
+ - Spring cleanup + fertilizer: $225
13
+ - Fall leaf removal: $275
14
+ - Snow removal (per event): $75
15
+
16
+ Season estimate: $1,720
17
+ Payment: Monthly invoice, due net-15
18
+ Card on file: Visa ****8847
19
+
20
+ Start date: April 1, 2026
21
+ Auto-renews annually unless cancelled 30 days prior.
22
+
23
+ Signed: Robert Herrman, 02/28/2026
@@ -0,0 +1,19 @@
1
+ # Q1 2026 Project Status
2
+
3
+ ## Active Projects
4
+
5
+ ### Kitchen Renovation
6
+ - **Contractor:** Dave's Custom Builds, 614-555-0441
7
+ - **Budget:** $35,000 (approved by Margaret)
8
+ - **Status:** Cabinets ordered, countertops measured
9
+ - **Timeline:** March - May 2026
10
+ - **Paid so far:** $12,000 (deposit) — Chase checking ****4891
11
+
12
+ ### Garage Organization
13
+ - **Budget:** $2,500
14
+ - **Status:** Shelving units ordered from Home Depot (order #HD-2026-884291)
15
+ - **Timeline:** This weekend
16
+
17
+ ## Completed
18
+ - Roof repair (Jan 2026) — $4,200 paid to ABC Roofing
19
+ - Furnace maintenance (Dec 2025) — $189 paid to Aire Serv
@@ -0,0 +1,13 @@
1
+ Robert's Passwords — DO NOT LOSE
2
+ Updated: January 2026
3
+
4
+ WiFi: HerrmansNetwork / buckeyefan1982
5
+ Email: rherman1958@gmail.com / MargaretAndMe!2024
6
+ Amazon: rherman1958@gmail.com / same as email (I know, I know)
7
+ Netflix: rherman1958@gmail.com / OSUbuckeyes#1
8
+ Bank (Chase): username rh4412 / MargaretBday0415!
9
+ Bank (Fifth Third): username rherman / Maple4412Ridge!
10
+ Social Security: my-account / FifthThirdBank2019
11
+
12
+ IMPORTANT: Safe deposit box combo is Lisa's birthday backwards + 42
13
+ Bryant knows.