luca 3.0.0 → 3.0.2

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 (372) hide show
  1. package/.github/workflows/release.yaml +1 -0
  2. package/CLAUDE.md +10 -2
  3. package/README.md +130 -112
  4. package/assistants/codingAssistant/CORE.md +6 -1
  5. package/assistants/codingAssistant/hooks.ts +1 -1
  6. package/assistants/inkbot/hooks.ts +1 -1
  7. package/assistants/inkbot/tools.ts +1 -1
  8. package/bun.lock +220 -322
  9. package/commands/audit-docs.ts +2 -2
  10. package/commands/build-bootstrap.ts +2 -3
  11. package/commands/build-python-bridge.ts +2 -3
  12. package/commands/build-scaffolds.ts +2 -3
  13. package/commands/bundle-consumer-project.ts +521 -0
  14. package/commands/generate-api-docs.ts +2 -2
  15. package/commands/inkbot.ts +2 -2
  16. package/commands/release.ts +2 -2
  17. package/commands/try-all-challenges.ts +3 -3
  18. package/commands/try-challenge.ts +3 -3
  19. package/dist/agi/container.server.d.ts +2 -2
  20. package/dist/agi/features/assistant.d.ts +2 -2
  21. package/dist/agi/features/assistants-manager.d.ts +1 -1
  22. package/dist/agi/features/autonomous-assistant.d.ts +1 -1
  23. package/dist/agi/features/browser-use.d.ts +1 -1
  24. package/dist/agi/features/claude-code.d.ts +1 -1
  25. package/dist/agi/features/conversation-history.d.ts +2 -2
  26. package/dist/agi/features/conversation.d.ts +1 -1
  27. package/dist/agi/features/docs-reader.d.ts +1 -1
  28. package/dist/agi/features/file-tools.d.ts +1 -1
  29. package/dist/agi/features/luca-coder.d.ts +1 -1
  30. package/dist/agi/features/openai-codex.d.ts +1 -1
  31. package/dist/agi/features/skills-library.d.ts +1 -1
  32. package/dist/clients/civitai/index.d.ts +4 -4
  33. package/dist/clients/client-template.d.ts +4 -4
  34. package/dist/clients/comfyui/index.d.ts +2 -2
  35. package/dist/clients/elevenlabs/index.d.ts +2 -2
  36. package/dist/clients/openai/index.d.ts +2 -2
  37. package/dist/clients/supabase/index.d.ts +3 -3
  38. package/dist/command.d.ts +1 -1
  39. package/dist/node/container.d.ts +1 -1
  40. package/dist/node/features/helpers.d.ts +3 -3
  41. package/dist/node/features/semantic-search.d.ts +1 -1
  42. package/dist/node/features/vm.d.ts +3 -3
  43. package/dist/node.d.ts +1 -1
  44. package/dist/scaffolds/generated.d.ts +1 -1
  45. package/dist/selector.d.ts +1 -1
  46. package/index.html +217 -190
  47. package/luca.console.ts +1 -1
  48. package/package.json +2 -2
  49. package/public/index.html +217 -190
  50. package/public/slides-ai-native.html +1 -1
  51. package/public/slides-intro.html +2 -2
  52. package/scripts/examples/ask-luca-expert.ts +1 -1
  53. package/scripts/examples/assistant-questions.ts +1 -1
  54. package/scripts/examples/excalidraw-expert.ts +1 -1
  55. package/scripts/examples/file-manager.ts +1 -1
  56. package/scripts/examples/ideas.ts +1 -1
  57. package/scripts/examples/interactive-chat.ts +1 -1
  58. package/scripts/examples/opening-a-web-browser.ts +1 -1
  59. package/scripts/examples/telegram-bot.ts +1 -1
  60. package/scripts/examples/using-assistant-with-mcp.ts +1 -1
  61. package/scripts/examples/using-claude-code.ts +1 -1
  62. package/scripts/examples/using-contentdb.ts +2 -2
  63. package/scripts/examples/using-conversations.ts +1 -1
  64. package/scripts/examples/using-disk-cache.ts +1 -1
  65. package/scripts/examples/using-docker-shell.ts +1 -1
  66. package/scripts/examples/using-elevenlabs.ts +1 -1
  67. package/scripts/examples/using-google-calendar.ts +1 -1
  68. package/scripts/examples/using-google-docs.ts +1 -1
  69. package/scripts/examples/using-google-drive.ts +1 -1
  70. package/scripts/examples/using-google-sheets.ts +1 -1
  71. package/scripts/examples/using-nlp.ts +1 -1
  72. package/scripts/examples/using-ollama.ts +1 -1
  73. package/scripts/examples/using-postgres.ts +1 -1
  74. package/scripts/examples/using-runpod.ts +1 -1
  75. package/scripts/examples/using-tts.ts +1 -1
  76. package/scripts/scaffold.ts +5 -5
  77. package/scripts/scratch.ts +1 -1
  78. package/scripts/test-assistant-hooks.ts +1 -1
  79. package/scripts/test-docs-reader.ts +1 -1
  80. package/src/agi/container.server.ts +6 -2
  81. package/src/agi/features/agent-memory.ts +25 -25
  82. package/src/agi/features/assistant.ts +34 -5
  83. package/src/agi/features/assistants-manager.ts +122 -6
  84. package/src/agi/features/autonomous-assistant.ts +1 -1
  85. package/src/agi/features/browser-use.ts +20 -1
  86. package/src/agi/features/claude-code.ts +51 -5
  87. package/src/agi/features/coding-tools.ts +1 -1
  88. package/src/agi/features/conversation-history.ts +181 -4
  89. package/src/agi/features/conversation.ts +186 -15
  90. package/src/agi/features/docs-reader.ts +2 -2
  91. package/src/agi/features/file-tools.ts +49 -2
  92. package/src/agi/features/luca-coder.ts +7 -5
  93. package/src/agi/features/mcp-bridge.ts +532 -0
  94. package/src/agi/features/openai-codex.ts +2 -2
  95. package/src/agi/features/skills-library.ts +131 -52
  96. package/src/agi/lib/token-counter.ts +80 -0
  97. package/src/bootstrap/generated.ts +56 -57
  98. package/src/browser.ts +1 -1
  99. package/src/cli/build-info.ts +2 -2
  100. package/src/cli/cli.ts +2 -2
  101. package/src/clients/civitai/index.ts +5 -5
  102. package/src/clients/client-template.ts +4 -4
  103. package/src/clients/comfyui/index.ts +4 -4
  104. package/src/clients/elevenlabs/index.ts +4 -4
  105. package/src/clients/openai/index.ts +7 -7
  106. package/src/clients/supabase/index.ts +4 -4
  107. package/src/clients/voicebox/index.ts +4 -4
  108. package/src/command.ts +2 -1
  109. package/src/commands/chat.ts +1 -0
  110. package/src/commands/eval.ts +2 -56
  111. package/src/commands/introspect.ts +1 -1
  112. package/src/commands/prompt.ts +41 -9
  113. package/src/container-describer.ts +8 -1
  114. package/src/container.ts +13 -0
  115. package/src/entity.ts +2 -2
  116. package/src/helper.ts +1 -1
  117. package/src/introspection/generated.agi.ts +28563 -27571
  118. package/src/introspection/generated.node.ts +20281 -20194
  119. package/src/introspection/generated.web.ts +605 -584
  120. package/src/introspection/scan.ts +11 -6
  121. package/src/node/container.ts +1 -1
  122. package/src/node/features/content-db.ts +39 -2
  123. package/src/node/features/display-result.ts +57 -0
  124. package/src/node/features/helpers.ts +42 -15
  125. package/src/node/features/python.ts +25 -19
  126. package/src/node/features/repl.ts +1 -1
  127. package/src/node/features/secure-shell.ts +11 -17
  128. package/src/node/features/semantic-search.ts +2 -2
  129. package/src/node/features/transpiler.ts +2 -3
  130. package/src/node/features/ui.ts +5 -0
  131. package/src/node/features/vm.ts +3 -3
  132. package/src/node.ts +3 -3
  133. package/src/python/generated.ts +0 -1
  134. package/src/scaffolds/generated.ts +82 -83
  135. package/src/selector.ts +1 -1
  136. package/src/servers/express.ts +1 -1
  137. package/src/web/features/helpers.ts +22 -0
  138. package/tsconfig.json +12 -12
  139. package/docs/CLI.md +0 -335
  140. package/docs/CNAME +0 -1
  141. package/docs/README.md +0 -60
  142. package/docs/TABLE-OF-CONTENTS.md +0 -183
  143. package/docs/apis/clients/elevenlabs.md +0 -308
  144. package/docs/apis/clients/graph.md +0 -107
  145. package/docs/apis/clients/openai.md +0 -429
  146. package/docs/apis/clients/rest.md +0 -161
  147. package/docs/apis/clients/websocket.md +0 -174
  148. package/docs/apis/features/agi/assistant.md +0 -625
  149. package/docs/apis/features/agi/assistants-manager.md +0 -282
  150. package/docs/apis/features/agi/auto-assistant.md +0 -279
  151. package/docs/apis/features/agi/browser-use.md +0 -802
  152. package/docs/apis/features/agi/claude-code.md +0 -884
  153. package/docs/apis/features/agi/conversation-history.md +0 -364
  154. package/docs/apis/features/agi/conversation.md +0 -548
  155. package/docs/apis/features/agi/docs-reader.md +0 -99
  156. package/docs/apis/features/agi/file-tools.md +0 -163
  157. package/docs/apis/features/agi/luca-coder.md +0 -407
  158. package/docs/apis/features/agi/openai-codex.md +0 -396
  159. package/docs/apis/features/agi/openapi.md +0 -138
  160. package/docs/apis/features/agi/semantic-search.md +0 -387
  161. package/docs/apis/features/agi/skills-library.md +0 -239
  162. package/docs/apis/features/node/container-link.md +0 -192
  163. package/docs/apis/features/node/content-db.md +0 -450
  164. package/docs/apis/features/node/disk-cache.md +0 -379
  165. package/docs/apis/features/node/dns.md +0 -652
  166. package/docs/apis/features/node/docker.md +0 -706
  167. package/docs/apis/features/node/downloader.md +0 -81
  168. package/docs/apis/features/node/esbuild.md +0 -60
  169. package/docs/apis/features/node/file-manager.md +0 -191
  170. package/docs/apis/features/node/fs.md +0 -1217
  171. package/docs/apis/features/node/git.md +0 -371
  172. package/docs/apis/features/node/google-auth.md +0 -193
  173. package/docs/apis/features/node/google-calendar.md +0 -202
  174. package/docs/apis/features/node/google-docs.md +0 -173
  175. package/docs/apis/features/node/google-drive.md +0 -246
  176. package/docs/apis/features/node/google-mail.md +0 -214
  177. package/docs/apis/features/node/google-sheets.md +0 -194
  178. package/docs/apis/features/node/grep.md +0 -292
  179. package/docs/apis/features/node/helpers.md +0 -164
  180. package/docs/apis/features/node/ink.md +0 -334
  181. package/docs/apis/features/node/ipc-socket.md +0 -249
  182. package/docs/apis/features/node/json-tree.md +0 -86
  183. package/docs/apis/features/node/networking.md +0 -316
  184. package/docs/apis/features/node/nlp.md +0 -133
  185. package/docs/apis/features/node/opener.md +0 -97
  186. package/docs/apis/features/node/os.md +0 -146
  187. package/docs/apis/features/node/package-finder.md +0 -392
  188. package/docs/apis/features/node/postgres.md +0 -234
  189. package/docs/apis/features/node/proc.md +0 -399
  190. package/docs/apis/features/node/process-manager.md +0 -305
  191. package/docs/apis/features/node/python.md +0 -604
  192. package/docs/apis/features/node/redis.md +0 -380
  193. package/docs/apis/features/node/repl.md +0 -88
  194. package/docs/apis/features/node/runpod.md +0 -674
  195. package/docs/apis/features/node/secure-shell.md +0 -176
  196. package/docs/apis/features/node/semantic-search.md +0 -408
  197. package/docs/apis/features/node/sqlite.md +0 -233
  198. package/docs/apis/features/node/telegram.md +0 -279
  199. package/docs/apis/features/node/transpiler.md +0 -74
  200. package/docs/apis/features/node/tts.md +0 -133
  201. package/docs/apis/features/node/ui.md +0 -701
  202. package/docs/apis/features/node/vault.md +0 -59
  203. package/docs/apis/features/node/vm.md +0 -75
  204. package/docs/apis/features/node/yaml-tree.md +0 -85
  205. package/docs/apis/features/node/yaml.md +0 -176
  206. package/docs/apis/features/web/asset-loader.md +0 -59
  207. package/docs/apis/features/web/container-link.md +0 -192
  208. package/docs/apis/features/web/esbuild.md +0 -54
  209. package/docs/apis/features/web/helpers.md +0 -164
  210. package/docs/apis/features/web/network.md +0 -44
  211. package/docs/apis/features/web/speech.md +0 -69
  212. package/docs/apis/features/web/vault.md +0 -59
  213. package/docs/apis/features/web/vm.md +0 -75
  214. package/docs/apis/features/web/voice.md +0 -84
  215. package/docs/apis/servers/express.md +0 -171
  216. package/docs/apis/servers/mcp.md +0 -238
  217. package/docs/apis/servers/websocket.md +0 -170
  218. package/docs/bootstrap/CLAUDE.md +0 -101
  219. package/docs/bootstrap/SKILL.md +0 -341
  220. package/docs/bootstrap/templates/about-command.ts +0 -41
  221. package/docs/bootstrap/templates/docs-models.ts +0 -22
  222. package/docs/bootstrap/templates/docs-readme.md +0 -43
  223. package/docs/bootstrap/templates/example-feature.ts +0 -53
  224. package/docs/bootstrap/templates/health-endpoint.ts +0 -15
  225. package/docs/bootstrap/templates/luca-cli.ts +0 -30
  226. package/docs/bootstrap/templates/runme.md +0 -54
  227. package/docs/challenges/caching-proxy.md +0 -16
  228. package/docs/challenges/content-db-round-trip.md +0 -14
  229. package/docs/challenges/custom-command.md +0 -9
  230. package/docs/challenges/file-watcher-pipeline.md +0 -11
  231. package/docs/challenges/grep-audit-report.md +0 -15
  232. package/docs/challenges/multi-feature-dashboard.md +0 -14
  233. package/docs/challenges/process-orchestrator.md +0 -17
  234. package/docs/challenges/rest-api-server-with-client.md +0 -12
  235. package/docs/challenges/script-runner-with-vm.md +0 -11
  236. package/docs/challenges/simple-rest-api.md +0 -15
  237. package/docs/challenges/websocket-serve-and-client.md +0 -11
  238. package/docs/challenges/yaml-config-system.md +0 -14
  239. package/docs/command-system-overhaul.md +0 -94
  240. package/docs/documentation-audit.md +0 -134
  241. package/docs/examples/assistant/CORE.md +0 -18
  242. package/docs/examples/assistant/hooks.ts +0 -3
  243. package/docs/examples/assistant/tools.ts +0 -10
  244. package/docs/examples/assistant-hooks-reference.ts +0 -171
  245. package/docs/examples/assistant-with-process-manager.md +0 -84
  246. package/docs/examples/content-db.md +0 -77
  247. package/docs/examples/disk-cache.md +0 -83
  248. package/docs/examples/docker.md +0 -101
  249. package/docs/examples/downloader.md +0 -70
  250. package/docs/examples/entity.md +0 -124
  251. package/docs/examples/esbuild.md +0 -80
  252. package/docs/examples/feature-as-tool-provider.md +0 -143
  253. package/docs/examples/file-manager.md +0 -82
  254. package/docs/examples/fs.md +0 -83
  255. package/docs/examples/git.md +0 -85
  256. package/docs/examples/google-auth.md +0 -88
  257. package/docs/examples/google-calendar.md +0 -94
  258. package/docs/examples/google-docs.md +0 -82
  259. package/docs/examples/google-drive.md +0 -96
  260. package/docs/examples/google-sheets.md +0 -95
  261. package/docs/examples/grep.md +0 -85
  262. package/docs/examples/ink-blocks.md +0 -75
  263. package/docs/examples/ink-renderer.md +0 -41
  264. package/docs/examples/ink.md +0 -103
  265. package/docs/examples/ipc-socket.md +0 -103
  266. package/docs/examples/json-tree.md +0 -91
  267. package/docs/examples/networking.md +0 -58
  268. package/docs/examples/nlp.md +0 -91
  269. package/docs/examples/opener.md +0 -78
  270. package/docs/examples/os.md +0 -72
  271. package/docs/examples/package-finder.md +0 -89
  272. package/docs/examples/postgres.md +0 -91
  273. package/docs/examples/proc.md +0 -81
  274. package/docs/examples/process-manager.md +0 -79
  275. package/docs/examples/python.md +0 -132
  276. package/docs/examples/repl.md +0 -93
  277. package/docs/examples/runpod.md +0 -119
  278. package/docs/examples/secure-shell.md +0 -92
  279. package/docs/examples/sqlite.md +0 -86
  280. package/docs/examples/structured-output-with-assistants.md +0 -144
  281. package/docs/examples/telegram.md +0 -77
  282. package/docs/examples/tts.md +0 -86
  283. package/docs/examples/ui.md +0 -80
  284. package/docs/examples/vault.md +0 -70
  285. package/docs/examples/vm.md +0 -86
  286. package/docs/examples/websocket-ask-and-reply-example.md +0 -128
  287. package/docs/examples/yaml-tree.md +0 -93
  288. package/docs/examples/yaml.md +0 -104
  289. package/docs/ideas/assistant-factory-pattern.md +0 -142
  290. package/docs/in-memory-fs.md +0 -4
  291. package/docs/introspection-audit.md +0 -49
  292. package/docs/introspection.md +0 -164
  293. package/docs/mcp/readme.md +0 -162
  294. package/docs/models.ts +0 -41
  295. package/docs/philosophy.md +0 -86
  296. package/docs/principles.md +0 -7
  297. package/docs/prompts/audit-codebase-for-failures-to-use-the-container.md +0 -34
  298. package/docs/prompts/check-for-undocumented-features.md +0 -27
  299. package/docs/prompts/mcp-test-easy-command.md +0 -27
  300. package/docs/scaffolds/client.md +0 -149
  301. package/docs/scaffolds/command.md +0 -120
  302. package/docs/scaffolds/endpoint.md +0 -171
  303. package/docs/scaffolds/feature.md +0 -158
  304. package/docs/scaffolds/selector.md +0 -91
  305. package/docs/scaffolds/server.md +0 -196
  306. package/docs/selectors.md +0 -115
  307. package/docs/sessions/custom-command/attempt-log-2.md +0 -195
  308. package/docs/sessions/file-watcher-pipeline/attempt-log-1.md +0 -728
  309. package/docs/sessions/file-watcher-pipeline/attempt-log-2.md +0 -555
  310. package/docs/sessions/grep-audit-report/attempt-log-1.md +0 -289
  311. package/docs/sessions/multi-feature-dashboard/attempt-log-2.md +0 -679
  312. package/docs/sessions/rest-api-server-with-client/attempt-log-1.md +0 -1
  313. package/docs/sessions/rest-api-server-with-client/attempt-log-3.md +0 -920
  314. package/docs/sessions/simple-rest-api/attempt-log-1.md +0 -593
  315. package/docs/sessions/websocket-serve-and-client/attempt-log-2.md +0 -995
  316. package/docs/tutorials/00-bootstrap.md +0 -166
  317. package/docs/tutorials/01-getting-started.md +0 -106
  318. package/docs/tutorials/02-container.md +0 -210
  319. package/docs/tutorials/03-scripts.md +0 -194
  320. package/docs/tutorials/04-features-overview.md +0 -196
  321. package/docs/tutorials/05-state-and-events.md +0 -171
  322. package/docs/tutorials/06-servers.md +0 -157
  323. package/docs/tutorials/07-endpoints.md +0 -198
  324. package/docs/tutorials/08-commands.md +0 -252
  325. package/docs/tutorials/09-clients.md +0 -162
  326. package/docs/tutorials/10-creating-features.md +0 -203
  327. package/docs/tutorials/11-contentbase.md +0 -191
  328. package/docs/tutorials/12-assistants.md +0 -215
  329. package/docs/tutorials/13-introspection.md +0 -157
  330. package/docs/tutorials/14-type-system.md +0 -174
  331. package/docs/tutorials/15-project-patterns.md +0 -222
  332. package/docs/tutorials/16-google-features.md +0 -534
  333. package/docs/tutorials/17-tui-blocks.md +0 -530
  334. package/docs/tutorials/18-semantic-search.md +0 -334
  335. package/docs/tutorials/19-python-sessions.md +0 -401
  336. package/docs/tutorials/20-browser-esm.md +0 -234
  337. package/src/agi/endpoints/ask.ts +0 -60
  338. package/src/agi/endpoints/conversations/[id].ts +0 -45
  339. package/src/agi/endpoints/conversations.ts +0 -31
  340. package/src/agi/endpoints/experts.ts +0 -37
  341. package/test/assistant-hooks.test.ts +0 -306
  342. package/test/assistant.test.ts +0 -81
  343. package/test/bus.test.ts +0 -134
  344. package/test/clients-servers.test.ts +0 -217
  345. package/test/command.test.ts +0 -267
  346. package/test/container-link.test.ts +0 -274
  347. package/test/conversation.test.ts +0 -220
  348. package/test/features.test.ts +0 -160
  349. package/test/fork-and-research.test.ts +0 -450
  350. package/test/integration.test.ts +0 -787
  351. package/test/interceptor-chain.test.ts +0 -61
  352. package/test/node-container.test.ts +0 -121
  353. package/test/python-session.test.ts +0 -105
  354. package/test/rate-limit.test.ts +0 -272
  355. package/test/semantic-search.test.ts +0 -550
  356. package/test/state.test.ts +0 -121
  357. package/test/vm-context.test.ts +0 -146
  358. package/test/vm-loadmodule.test.ts +0 -213
  359. package/test/websocket-ask.test.ts +0 -101
  360. package/test-integration/assistant.test.ts +0 -138
  361. package/test-integration/assistants-manager.test.ts +0 -113
  362. package/test-integration/claude-code.test.ts +0 -98
  363. package/test-integration/conversation-history.test.ts +0 -205
  364. package/test-integration/conversation.test.ts +0 -137
  365. package/test-integration/elevenlabs.test.ts +0 -55
  366. package/test-integration/google-services.test.ts +0 -80
  367. package/test-integration/helpers.ts +0 -89
  368. package/test-integration/memory.test.ts +0 -204
  369. package/test-integration/openai-codex.test.ts +0 -93
  370. package/test-integration/runpod.test.ts +0 -58
  371. package/test-integration/server-endpoints.test.ts +0 -97
  372. package/test-integration/telegram.test.ts +0 -46
@@ -1,202 +0,0 @@
1
- # GoogleCalendar (features.googleCalendar)
2
-
3
- Google Calendar feature for listing calendars and reading events. Depends on the googleAuth feature for authentication. Creates a Calendar v3 API client lazily. Provides convenience methods for today's events and upcoming days.
4
-
5
- ## Usage
6
-
7
- ```ts
8
- container.feature('googleCalendar', {
9
- // An authorized instance of the googleAuth feature
10
- auth,
11
- // Default calendar ID (default: "primary")
12
- defaultCalendarId,
13
- // Default timezone for event queries (e.g. "America/Chicago")
14
- timeZone,
15
- })
16
- ```
17
-
18
- ## Options (Zod v4 schema)
19
-
20
- | Property | Type | Description |
21
- |----------|------|-------------|
22
- | `auth` | `any` | An authorized instance of the googleAuth feature |
23
- | `defaultCalendarId` | `string` | Default calendar ID (default: "primary") |
24
- | `timeZone` | `string` | Default timezone for event queries (e.g. "America/Chicago") |
25
-
26
- ## Methods
27
-
28
- ### listCalendars
29
-
30
- List all calendars accessible to the authenticated user.
31
-
32
- **Returns:** `Promise<CalendarInfo[]>`
33
-
34
-
35
-
36
- ### listEvents
37
-
38
- List events from a calendar within a time range.
39
-
40
- **Parameters:**
41
-
42
- | Name | Type | Required | Description |
43
- |------|------|----------|-------------|
44
- | `options` | `ListEventsOptions` | | Filtering options including timeMin, timeMax, query, maxResults |
45
-
46
- `ListEventsOptions` properties:
47
-
48
- | Property | Type | Description |
49
- |----------|------|-------------|
50
- | `calendarId` | `string` | |
51
- | `timeMin` | `string` | |
52
- | `timeMax` | `string` | |
53
- | `maxResults` | `number` | |
54
- | `query` | `string` | |
55
- | `orderBy` | `'startTime' | 'updated'` | |
56
- | `pageToken` | `string` | |
57
- | `singleEvents` | `boolean` | |
58
-
59
- **Returns:** `Promise<CalendarEventList>`
60
-
61
-
62
-
63
- ### getToday
64
-
65
- Get today's events from a calendar.
66
-
67
- **Parameters:**
68
-
69
- | Name | Type | Required | Description |
70
- |------|------|----------|-------------|
71
- | `calendarId` | `string` | | Calendar ID (defaults to options.defaultCalendarId or 'primary') |
72
-
73
- **Returns:** `Promise<CalendarEvent[]>`
74
-
75
-
76
-
77
- ### getUpcoming
78
-
79
- Get upcoming events for the next N days.
80
-
81
- **Parameters:**
82
-
83
- | Name | Type | Required | Description |
84
- |------|------|----------|-------------|
85
- | `days` | `number` | | Number of days to look ahead (default: 7) |
86
- | `calendarId` | `string` | | Calendar ID |
87
-
88
- **Returns:** `Promise<CalendarEvent[]>`
89
-
90
-
91
-
92
- ### getEvent
93
-
94
- Get a single event by ID.
95
-
96
- **Parameters:**
97
-
98
- | Name | Type | Required | Description |
99
- |------|------|----------|-------------|
100
- | `eventId` | `string` | ✓ | The event ID |
101
- | `calendarId` | `string` | | Calendar ID |
102
-
103
- **Returns:** `Promise<CalendarEvent>`
104
-
105
-
106
-
107
- ### searchEvents
108
-
109
- Search events by text query across event summaries, descriptions, and locations.
110
-
111
- **Parameters:**
112
-
113
- | Name | Type | Required | Description |
114
- |------|------|----------|-------------|
115
- | `query` | `string` | ✓ | Freetext search term |
116
- | `options` | `ListEventsOptions` | | Additional listing options (timeMin, timeMax, calendarId, etc.) |
117
-
118
- `ListEventsOptions` properties:
119
-
120
- | Property | Type | Description |
121
- |----------|------|-------------|
122
- | `calendarId` | `string` | |
123
- | `timeMin` | `string` | |
124
- | `timeMax` | `string` | |
125
- | `maxResults` | `number` | |
126
- | `query` | `string` | |
127
- | `orderBy` | `'startTime' | 'updated'` | |
128
- | `pageToken` | `string` | |
129
- | `singleEvents` | `boolean` | |
130
-
131
- **Returns:** `Promise<CalendarEvent[]>`
132
-
133
-
134
-
135
- ## Getters
136
-
137
- | Property | Type | Description |
138
- |----------|------|-------------|
139
- | `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
140
- | `defaultCalendarId` | `string` | Default calendar ID from options or 'primary'. |
141
-
142
- ## Events (Zod v4 schema)
143
-
144
- ### error
145
-
146
- Calendar API error occurred
147
-
148
- **Event Arguments:**
149
-
150
- | Name | Type | Description |
151
- |------|------|-------------|
152
- | `arg0` | `any` | The error |
153
-
154
-
155
-
156
- ### eventsFetched
157
-
158
- Events were fetched from Calendar
159
-
160
- **Event Arguments:**
161
-
162
- | Name | Type | Description |
163
- |------|------|-------------|
164
- | `arg0` | `number` | Number of events returned |
165
-
166
-
167
-
168
- ## State (Zod v4 schema)
169
-
170
- | Property | Type | Description |
171
- |----------|------|-------------|
172
- | `enabled` | `boolean` | Whether this feature is currently enabled |
173
- | `lastCalendarId` | `string` | Last calendar ID queried |
174
- | `lastEventCount` | `number` | Number of events returned in last query |
175
- | `lastError` | `string` | Last Calendar API error message |
176
-
177
- ## Examples
178
-
179
- **features.googleCalendar**
180
-
181
- ```ts
182
- const calendar = container.feature('googleCalendar')
183
-
184
- // List all calendars
185
- const calendars = await calendar.listCalendars()
186
-
187
- // Get today's events
188
- const today = await calendar.getToday()
189
-
190
- // Get next 7 days of events
191
- const upcoming = await calendar.getUpcoming(7)
192
-
193
- // Search events
194
- const meetings = await calendar.searchEvents('standup')
195
-
196
- // List events in a time range
197
- const events = await calendar.listEvents({
198
- timeMin: '2026-03-01T00:00:00Z',
199
- timeMax: '2026-03-31T23:59:59Z',
200
- })
201
- ```
202
-
@@ -1,173 +0,0 @@
1
- # GoogleDocs (features.googleDocs)
2
-
3
- Google Docs feature for reading documents and converting them to Markdown. Depends on googleAuth for authentication and optionally googleDrive for listing docs. The markdown converter handles headings, text formatting, links, lists, tables, and images.
4
-
5
- ## Usage
6
-
7
- ```ts
8
- container.feature('googleDocs', {
9
- // An authorized instance of the googleAuth feature
10
- auth,
11
- })
12
- ```
13
-
14
- ## Options (Zod v4 schema)
15
-
16
- | Property | Type | Description |
17
- |----------|------|-------------|
18
- | `auth` | `any` | An authorized instance of the googleAuth feature |
19
-
20
- ## Methods
21
-
22
- ### getDocument
23
-
24
- Get the raw document structure from the Docs API.
25
-
26
- **Parameters:**
27
-
28
- | Name | Type | Required | Description |
29
- |------|------|----------|-------------|
30
- | `documentId` | `string` | ✓ | The Google Docs document ID |
31
-
32
- **Returns:** `Promise<docs_v1.Schema$Document>`
33
-
34
-
35
-
36
- ### getAsMarkdown
37
-
38
- Read a Google Doc and convert it to Markdown. Handles headings, bold/italic/strikethrough, links, code fonts, ordered/unordered lists with nesting, tables, images, and section breaks.
39
-
40
- **Parameters:**
41
-
42
- | Name | Type | Required | Description |
43
- |------|------|----------|-------------|
44
- | `documentId` | `string` | ✓ | The Google Docs document ID |
45
-
46
- **Returns:** `Promise<string>`
47
-
48
-
49
-
50
- ### getAsText
51
-
52
- Read a Google Doc as plain text (strips all formatting).
53
-
54
- **Parameters:**
55
-
56
- | Name | Type | Required | Description |
57
- |------|------|----------|-------------|
58
- | `documentId` | `string` | ✓ | The Google Docs document ID |
59
-
60
- **Returns:** `Promise<string>`
61
-
62
-
63
-
64
- ### saveAsMarkdown
65
-
66
- Download a Google Doc as Markdown and save to a local file.
67
-
68
- **Parameters:**
69
-
70
- | Name | Type | Required | Description |
71
- |------|------|----------|-------------|
72
- | `documentId` | `string` | ✓ | The Google Docs document ID |
73
- | `localPath` | `string` | ✓ | Local file path (resolved relative to container cwd) |
74
-
75
- **Returns:** `Promise<string>`
76
-
77
-
78
-
79
- ### listDocs
80
-
81
- List Google Docs in Drive (filters by Docs MIME type).
82
-
83
- **Parameters:**
84
-
85
- | Name | Type | Required | Description |
86
- |------|------|----------|-------------|
87
- | `query` | `string` | | Optional additional Drive search query |
88
- | `options` | `{ pageSize?: number; pageToken?: string }` | | Pagination options |
89
-
90
- **Returns:** `Promise<DriveFile[]>`
91
-
92
-
93
-
94
- ### searchDocs
95
-
96
- Search for Google Docs by name or content.
97
-
98
- **Parameters:**
99
-
100
- | Name | Type | Required | Description |
101
- |------|------|----------|-------------|
102
- | `term` | `string` | ✓ | Search term |
103
-
104
- **Returns:** `Promise<DriveFile[]>`
105
-
106
-
107
-
108
- ## Getters
109
-
110
- | Property | Type | Description |
111
- |----------|------|-------------|
112
- | `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
113
- | `drive` | `GoogleDrive` | Access the google-drive feature lazily. |
114
-
115
- ## Events (Zod v4 schema)
116
-
117
- ### documentFetched
118
-
119
- A document was fetched
120
-
121
- **Event Arguments:**
122
-
123
- | Name | Type | Description |
124
- |------|------|-------------|
125
- | `arg0` | `string` | Document ID |
126
- | `arg1` | `string` | Title |
127
-
128
-
129
-
130
- ### error
131
-
132
- Docs API error occurred
133
-
134
- **Event Arguments:**
135
-
136
- | Name | Type | Description |
137
- |------|------|-------------|
138
- | `arg0` | `any` | The error |
139
-
140
-
141
-
142
- ## State (Zod v4 schema)
143
-
144
- | Property | Type | Description |
145
- |----------|------|-------------|
146
- | `enabled` | `boolean` | Whether this feature is currently enabled |
147
- | `lastDocId` | `string` | Last document ID accessed |
148
- | `lastDocTitle` | `string` | Title of the last document accessed |
149
- | `lastError` | `string` | Last Docs API error message |
150
-
151
- ## Examples
152
-
153
- **features.googleDocs**
154
-
155
- ```ts
156
- const docs = container.feature('googleDocs')
157
-
158
- // Get a doc as markdown
159
- const markdown = await docs.getAsMarkdown('1abc_document_id')
160
-
161
- // Save to file
162
- await docs.saveAsMarkdown('1abc_document_id', './output/doc.md')
163
-
164
- // List all Google Docs in Drive
165
- const allDocs = await docs.listDocs()
166
-
167
- // Get raw document structure
168
- const rawDoc = await docs.getDocument('1abc_document_id')
169
-
170
- // Plain text extraction
171
- const text = await docs.getAsText('1abc_document_id')
172
- ```
173
-
@@ -1,246 +0,0 @@
1
- # GoogleDrive (features.googleDrive)
2
-
3
- Google Drive feature for listing, searching, browsing, and downloading files. Depends on the googleAuth feature for authentication. Creates a Drive v3 API client lazily and passes the auth client from googleAuth.
4
-
5
- ## Usage
6
-
7
- ```ts
8
- container.feature('googleDrive', {
9
- // An authorized instance of the googleAuth feature
10
- auth,
11
- // Default corpus for file queries (default: user)
12
- defaultCorpora,
13
- // Default number of results per page (default: 100)
14
- pageSize,
15
- })
16
- ```
17
-
18
- ## Options (Zod v4 schema)
19
-
20
- | Property | Type | Description |
21
- |----------|------|-------------|
22
- | `auth` | `any` | An authorized instance of the googleAuth feature |
23
- | `defaultCorpora` | `string` | Default corpus for file queries (default: user) |
24
- | `pageSize` | `number` | Default number of results per page (default: 100) |
25
-
26
- ## Methods
27
-
28
- ### listFiles
29
-
30
- List files in the user's Drive with an optional query filter.
31
-
32
- **Parameters:**
33
-
34
- | Name | Type | Required | Description |
35
- |------|------|----------|-------------|
36
- | `query` | `string` | | Drive search query (e.g. "name contains 'report'", "mimeType='application/pdf'") |
37
- | `options` | `ListFilesOptions` | | Pagination and filtering options |
38
-
39
- `ListFilesOptions` properties:
40
-
41
- | Property | Type | Description |
42
- |----------|------|-------------|
43
- | `pageSize` | `number` | |
44
- | `pageToken` | `string` | |
45
- | `orderBy` | `string` | |
46
- | `fields` | `string` | |
47
- | `corpora` | `'user' | 'drive' | 'allDrives'` | |
48
-
49
- **Returns:** `Promise<DriveFileList>`
50
-
51
-
52
-
53
- ### listFolder
54
-
55
- List files within a specific folder.
56
-
57
- **Parameters:**
58
-
59
- | Name | Type | Required | Description |
60
- |------|------|----------|-------------|
61
- | `folderId` | `string` | ✓ | The Drive folder ID |
62
- | `options` | `ListFilesOptions` | | Pagination and filtering options |
63
-
64
- `ListFilesOptions` properties:
65
-
66
- | Property | Type | Description |
67
- |----------|------|-------------|
68
- | `pageSize` | `number` | |
69
- | `pageToken` | `string` | |
70
- | `orderBy` | `string` | |
71
- | `fields` | `string` | |
72
- | `corpora` | `'user' | 'drive' | 'allDrives'` | |
73
-
74
- **Returns:** `Promise<DriveFileList>`
75
-
76
-
77
-
78
- ### browse
79
-
80
- Browse a folder's contents, separating files from subfolders.
81
-
82
- **Parameters:**
83
-
84
- | Name | Type | Required | Description |
85
- |------|------|----------|-------------|
86
- | `folderId` | `string` | | Folder ID to browse (defaults to 'root') |
87
-
88
- **Returns:** `Promise<DriveBrowseResult>`
89
-
90
-
91
-
92
- ### search
93
-
94
- Search files by name, content, or MIME type.
95
-
96
- **Parameters:**
97
-
98
- | Name | Type | Required | Description |
99
- |------|------|----------|-------------|
100
- | `term` | `string` | ✓ | Search term to look for in file names and content |
101
- | `options` | `SearchOptions` | | Additional search options like mimeType filter or folder restriction |
102
-
103
- **Returns:** `Promise<DriveFileList>`
104
-
105
-
106
-
107
- ### getFile
108
-
109
- Get file metadata by file ID.
110
-
111
- **Parameters:**
112
-
113
- | Name | Type | Required | Description |
114
- |------|------|----------|-------------|
115
- | `fileId` | `string` | ✓ | The Drive file ID |
116
- | `fields` | `string` | | Specific fields to request (defaults to common fields) |
117
-
118
- **Returns:** `Promise<DriveFile>`
119
-
120
-
121
-
122
- ### download
123
-
124
- Download a file's content as a Buffer. Uses alt=media for binary download of non-Google files.
125
-
126
- **Parameters:**
127
-
128
- | Name | Type | Required | Description |
129
- |------|------|----------|-------------|
130
- | `fileId` | `string` | ✓ | The Drive file ID |
131
-
132
- **Returns:** `Promise<Buffer>`
133
-
134
-
135
-
136
- ### downloadTo
137
-
138
- Download a file and save it to a local path.
139
-
140
- **Parameters:**
141
-
142
- | Name | Type | Required | Description |
143
- |------|------|----------|-------------|
144
- | `fileId` | `string` | ✓ | The Drive file ID |
145
- | `localPath` | `string` | ✓ | Local file path (resolved relative to container cwd) |
146
-
147
- **Returns:** `Promise<string>`
148
-
149
-
150
-
151
- ### exportFile
152
-
153
- Export a Google Workspace file (Docs, Sheets, Slides) to a given MIME type. Uses the Files.export endpoint.
154
-
155
- **Parameters:**
156
-
157
- | Name | Type | Required | Description |
158
- |------|------|----------|-------------|
159
- | `fileId` | `string` | ✓ | The Drive file ID of a Google Workspace document |
160
- | `mimeType` | `string` | ✓ | Target MIME type (e.g. 'text/plain', 'application/pdf', 'text/csv') |
161
-
162
- **Returns:** `Promise<Buffer>`
163
-
164
-
165
-
166
- ### listDrives
167
-
168
- List all shared drives the user has access to.
169
-
170
- **Returns:** `Promise<SharedDrive[]>`
171
-
172
-
173
-
174
- ## Getters
175
-
176
- | Property | Type | Description |
177
- |----------|------|-------------|
178
- | `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
179
-
180
- ## Events (Zod v4 schema)
181
-
182
- ### filesFetched
183
-
184
- Files were fetched from Drive
185
-
186
- **Event Arguments:**
187
-
188
- | Name | Type | Description |
189
- |------|------|-------------|
190
- | `arg0` | `number` | Number of files returned |
191
-
192
-
193
-
194
- ### error
195
-
196
- Drive API error occurred
197
-
198
- **Event Arguments:**
199
-
200
- | Name | Type | Description |
201
- |------|------|-------------|
202
- | `arg0` | `any` | The error |
203
-
204
-
205
-
206
- ### fileDownloaded
207
-
208
- A file was downloaded
209
-
210
- **Event Arguments:**
211
-
212
- | Name | Type | Description |
213
- |------|------|-------------|
214
- | `arg0` | `string` | File ID |
215
-
216
-
217
-
218
- ## State (Zod v4 schema)
219
-
220
- | Property | Type | Description |
221
- |----------|------|-------------|
222
- | `enabled` | `boolean` | Whether this feature is currently enabled |
223
- | `lastQuery` | `string` | Last search query or folder ID browsed |
224
- | `lastResultCount` | `number` | Number of results from last list/search operation |
225
- | `lastError` | `string` | Last Drive API error message |
226
-
227
- ## Examples
228
-
229
- **features.googleDrive**
230
-
231
- ```ts
232
- const drive = container.feature('googleDrive')
233
-
234
- // List recent files
235
- const { files } = await drive.listFiles()
236
-
237
- // Search for documents
238
- const { files: docs } = await drive.search('quarterly report', { mimeType: 'application/pdf' })
239
-
240
- // Browse a folder
241
- const contents = await drive.browse('folder-id-here')
242
-
243
- // Download a file to disk
244
- await drive.downloadTo('file-id', './downloads/report.pdf')
245
- ```
246
-