@hybridaione/hybridclaw 0.9.0 → 0.9.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 (401) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +42 -14
  3. package/community-skills/datalion/SKILL.md +259 -0
  4. package/community-skills/datalion/references/setup-and-capabilities.md +290 -0
  5. package/community-skills/meme-generation/SKILL.md +164 -0
  6. package/community-skills/meme-generation/scripts/generate_meme.py +838 -0
  7. package/community-skills/meme-generation/scripts/templates.json +280 -0
  8. package/console/dist/assets/{index-CSApibDa.js → index-CK5IADUX.js} +1 -1
  9. package/console/dist/index.html +1 -1
  10. package/container/dist/extensions.js +12 -0
  11. package/container/dist/extensions.js.map +1 -1
  12. package/container/dist/runtime-paths.js +5 -1
  13. package/container/dist/runtime-paths.js.map +1 -1
  14. package/container/dist/tools/search-tools.js +694 -0
  15. package/container/dist/tools/search-tools.js.map +1 -0
  16. package/container/dist/tools.js +19 -143
  17. package/container/dist/tools.js.map +1 -1
  18. package/container/package-lock.json +2 -2
  19. package/container/package.json +1 -1
  20. package/container/src/extensions.ts +15 -0
  21. package/container/src/runtime-paths.ts +10 -0
  22. package/container/src/tools/search-tools.ts +869 -0
  23. package/container/src/tools.ts +19 -154
  24. package/container/src/types.ts +38 -39
  25. package/dist/agent/agent.d.ts +1 -1
  26. package/dist/agent/agent.d.ts.map +1 -1
  27. package/dist/agent/agent.js.map +1 -1
  28. package/dist/agent/conversation.d.ts +1 -1
  29. package/dist/agent/conversation.d.ts.map +1 -1
  30. package/dist/agent/executor-types.d.ts +4 -1
  31. package/dist/agent/executor-types.d.ts.map +1 -1
  32. package/dist/agent/prompt-hooks.d.ts.map +1 -1
  33. package/dist/agent/prompt-hooks.js +1 -0
  34. package/dist/agent/prompt-hooks.js.map +1 -1
  35. package/dist/agent/side-effects.d.ts +2 -1
  36. package/dist/agent/side-effects.d.ts.map +1 -1
  37. package/dist/agent/side-effects.js.map +1 -1
  38. package/dist/agents/agent-registry.d.ts +1 -1
  39. package/dist/agents/agent-registry.d.ts.map +1 -1
  40. package/dist/agents/claw-archive.d.ts +3 -0
  41. package/dist/agents/claw-archive.d.ts.map +1 -1
  42. package/dist/agents/claw-archive.js +25 -1
  43. package/dist/agents/claw-archive.js.map +1 -1
  44. package/dist/agents/claw-manifest.d.ts +4 -0
  45. package/dist/agents/claw-manifest.d.ts.map +1 -1
  46. package/dist/agents/claw-manifest.js +25 -0
  47. package/dist/agents/claw-manifest.js.map +1 -1
  48. package/dist/audit/audit-events.d.ts +1 -1
  49. package/dist/audit/audit-events.d.ts.map +1 -1
  50. package/dist/auth/codex-auth.d.ts.map +1 -1
  51. package/dist/auth/codex-auth.js.map +1 -1
  52. package/dist/channels/discord/attachments.d.ts +1 -1
  53. package/dist/channels/discord/attachments.d.ts.map +1 -1
  54. package/dist/channels/discord/delivery.d.ts +1 -1
  55. package/dist/channels/discord/delivery.d.ts.map +1 -1
  56. package/dist/channels/discord/runtime.d.ts +1 -1
  57. package/dist/channels/discord/runtime.d.ts.map +1 -1
  58. package/dist/channels/email/inbound.d.ts +1 -1
  59. package/dist/channels/email/inbound.d.ts.map +1 -1
  60. package/dist/channels/email/runtime.d.ts +1 -1
  61. package/dist/channels/email/runtime.d.ts.map +1 -1
  62. package/dist/channels/msteams/attachments.d.ts +2 -1
  63. package/dist/channels/msteams/attachments.d.ts.map +1 -1
  64. package/dist/channels/msteams/attachments.js.map +1 -1
  65. package/dist/channels/msteams/runtime.d.ts +1 -1
  66. package/dist/channels/msteams/runtime.d.ts.map +1 -1
  67. package/dist/channels/whatsapp/connection.d.ts.map +1 -1
  68. package/dist/channels/whatsapp/connection.js +37 -10
  69. package/dist/channels/whatsapp/connection.js.map +1 -1
  70. package/dist/channels/whatsapp/debounce.d.ts +2 -1
  71. package/dist/channels/whatsapp/debounce.d.ts.map +1 -1
  72. package/dist/channels/whatsapp/debounce.js.map +1 -1
  73. package/dist/channels/whatsapp/delivery.d.ts +7 -2
  74. package/dist/channels/whatsapp/delivery.d.ts.map +1 -1
  75. package/dist/channels/whatsapp/delivery.js +9 -0
  76. package/dist/channels/whatsapp/delivery.js.map +1 -1
  77. package/dist/channels/whatsapp/inbound.d.ts +1 -1
  78. package/dist/channels/whatsapp/inbound.d.ts.map +1 -1
  79. package/dist/channels/whatsapp/inbound.js +13 -1
  80. package/dist/channels/whatsapp/inbound.js.map +1 -1
  81. package/dist/channels/whatsapp/runtime.d.ts +1 -1
  82. package/dist/channels/whatsapp/runtime.d.ts.map +1 -1
  83. package/dist/channels/whatsapp/runtime.js +52 -3
  84. package/dist/channels/whatsapp/runtime.js.map +1 -1
  85. package/dist/cli/agent-command.d.ts +2 -0
  86. package/dist/cli/agent-command.d.ts.map +1 -0
  87. package/dist/cli/agent-command.js +494 -0
  88. package/dist/cli/agent-command.js.map +1 -0
  89. package/dist/cli/auth-command.d.ts +5 -0
  90. package/dist/cli/auth-command.d.ts.map +1 -0
  91. package/dist/cli/auth-command.js +1018 -0
  92. package/dist/cli/auth-command.js.map +1 -0
  93. package/dist/cli/channels-command.d.ts +2 -0
  94. package/dist/cli/channels-command.d.ts.map +1 -0
  95. package/dist/cli/channels-command.js +761 -0
  96. package/dist/cli/channels-command.js.map +1 -0
  97. package/dist/cli/common.d.ts +38 -0
  98. package/dist/cli/common.d.ts.map +1 -0
  99. package/dist/cli/common.js +87 -0
  100. package/dist/cli/common.js.map +1 -0
  101. package/dist/cli/help.d.ts +23 -0
  102. package/dist/cli/help.d.ts.map +1 -0
  103. package/dist/cli/help.js +471 -0
  104. package/dist/cli/help.js.map +1 -0
  105. package/dist/cli/onboarding-api.d.ts +4 -0
  106. package/dist/cli/onboarding-api.d.ts.map +1 -0
  107. package/dist/cli/onboarding-api.js +6 -0
  108. package/dist/cli/onboarding-api.js.map +1 -0
  109. package/dist/cli/plugin-command.d.ts +2 -0
  110. package/dist/cli/plugin-command.d.ts.map +1 -0
  111. package/dist/cli/plugin-command.js +177 -0
  112. package/dist/cli/plugin-command.js.map +1 -0
  113. package/dist/cli/skill-command.d.ts +2 -0
  114. package/dist/cli/skill-command.d.ts.map +1 -0
  115. package/dist/cli/skill-command.js +329 -0
  116. package/dist/cli/skill-command.js.map +1 -0
  117. package/dist/cli/whatsapp-api.d.ts +11 -0
  118. package/dist/cli/whatsapp-api.d.ts.map +1 -0
  119. package/dist/cli/whatsapp-api.js +23 -0
  120. package/dist/cli/whatsapp-api.js.map +1 -0
  121. package/dist/cli.d.ts.map +1 -1
  122. package/dist/cli.js +188 -3257
  123. package/dist/cli.js.map +1 -1
  124. package/dist/command-registry.d.ts.map +1 -1
  125. package/dist/command-registry.js +85 -11
  126. package/dist/command-registry.js.map +1 -1
  127. package/dist/config/config.d.ts.map +1 -1
  128. package/dist/config/config.js +9 -2
  129. package/dist/config/config.js.map +1 -1
  130. package/dist/config/runtime-config.d.ts +1 -1
  131. package/dist/config/runtime-config.d.ts.map +1 -1
  132. package/dist/context-references/index.d.ts +14 -0
  133. package/dist/context-references/index.d.ts.map +1 -0
  134. package/dist/context-references/index.js +97 -0
  135. package/dist/context-references/index.js.map +1 -0
  136. package/dist/context-references/parser.d.ts +26 -0
  137. package/dist/context-references/parser.d.ts.map +1 -0
  138. package/dist/context-references/parser.js +129 -0
  139. package/dist/context-references/parser.js.map +1 -0
  140. package/dist/context-references/resolver.d.ts +13 -0
  141. package/dist/context-references/resolver.d.ts.map +1 -0
  142. package/dist/context-references/resolver.js +364 -0
  143. package/dist/context-references/resolver.js.map +1 -0
  144. package/dist/context-references/security.d.ts +4 -0
  145. package/dist/context-references/security.d.ts.map +1 -0
  146. package/dist/context-references/security.js +145 -0
  147. package/dist/context-references/security.js.map +1 -0
  148. package/dist/gateway/development-docs.d.ts.map +1 -1
  149. package/dist/gateway/development-docs.js +135 -3
  150. package/dist/gateway/development-docs.js.map +1 -1
  151. package/dist/gateway/fullauto.d.ts +2 -1
  152. package/dist/gateway/fullauto.d.ts.map +1 -1
  153. package/dist/gateway/gateway-agent-cards.d.ts +1 -1
  154. package/dist/gateway/gateway-agent-cards.d.ts.map +1 -1
  155. package/dist/gateway/gateway-agent-cards.js.map +1 -1
  156. package/dist/gateway/gateway-client.d.ts +8 -2
  157. package/dist/gateway/gateway-client.d.ts.map +1 -1
  158. package/dist/gateway/gateway-client.js +15 -0
  159. package/dist/gateway/gateway-client.js.map +1 -1
  160. package/dist/gateway/gateway-http-server.d.ts.map +1 -1
  161. package/dist/gateway/gateway-http-server.js +414 -25
  162. package/dist/gateway/gateway-http-server.js.map +1 -1
  163. package/dist/gateway/gateway-service.d.ts +13 -6
  164. package/dist/gateway/gateway-service.d.ts.map +1 -1
  165. package/dist/gateway/gateway-service.js +242 -56
  166. package/dist/gateway/gateway-service.js.map +1 -1
  167. package/dist/gateway/gateway-types.d.ts +43 -9
  168. package/dist/gateway/gateway-types.d.ts.map +1 -1
  169. package/dist/gateway/gateway-types.js.map +1 -1
  170. package/dist/gateway/gateway-utils.d.ts +1 -1
  171. package/dist/gateway/gateway-utils.d.ts.map +1 -1
  172. package/dist/gateway/gateway.js +97 -74
  173. package/dist/gateway/gateway.js.map +1 -1
  174. package/dist/gateway/managed-media-cleanup.d.ts.map +1 -1
  175. package/dist/gateway/managed-media-cleanup.js +7 -1
  176. package/dist/gateway/managed-media-cleanup.js.map +1 -1
  177. package/dist/gateway/media-upload-quota.d.ts +21 -0
  178. package/dist/gateway/media-upload-quota.d.ts.map +1 -0
  179. package/dist/gateway/media-upload-quota.js +57 -0
  180. package/dist/gateway/media-upload-quota.js.map +1 -0
  181. package/dist/gateway/show-mode.d.ts +1 -1
  182. package/dist/gateway/show-mode.d.ts.map +1 -1
  183. package/dist/gateway/text-channel-commands.d.ts +1 -1
  184. package/dist/gateway/text-channel-commands.d.ts.map +1 -1
  185. package/dist/infra/container-runner.d.ts +1 -1
  186. package/dist/infra/container-runner.d.ts.map +1 -1
  187. package/dist/infra/container-runner.js +16 -10
  188. package/dist/infra/container-runner.js.map +1 -1
  189. package/dist/infra/host-runner.d.ts +1 -1
  190. package/dist/infra/host-runner.d.ts.map +1 -1
  191. package/dist/infra/host-runner.js +41 -1
  192. package/dist/infra/host-runner.js.map +1 -1
  193. package/dist/infra/ipc.d.ts +1 -1
  194. package/dist/infra/ipc.d.ts.map +1 -1
  195. package/dist/infra/ipc.js +1 -1
  196. package/dist/infra/ipc.js.map +1 -1
  197. package/dist/infra/worker-signature.d.ts +1 -1
  198. package/dist/infra/worker-signature.d.ts.map +1 -1
  199. package/dist/infra/worker-signature.js +1 -1
  200. package/dist/infra/worker-signature.js.map +1 -1
  201. package/dist/media/audio-transcription.d.ts +1 -1
  202. package/dist/media/audio-transcription.d.ts.map +1 -1
  203. package/dist/media/audio-transcription.js +3 -0
  204. package/dist/media/audio-transcription.js.map +1 -1
  205. package/dist/media/media-summary.d.ts +2 -0
  206. package/dist/media/media-summary.d.ts.map +1 -0
  207. package/dist/media/media-summary.js +15 -0
  208. package/dist/media/media-summary.js.map +1 -0
  209. package/dist/media/pdf-context.d.ts +2 -1
  210. package/dist/media/pdf-context.d.ts.map +1 -1
  211. package/dist/media/pdf-context.js +12 -0
  212. package/dist/media/pdf-context.js.map +1 -1
  213. package/dist/media/uploaded-media-cache.d.ts +25 -0
  214. package/dist/media/uploaded-media-cache.d.ts.map +1 -0
  215. package/dist/media/uploaded-media-cache.js +249 -0
  216. package/dist/media/uploaded-media-cache.js.map +1 -0
  217. package/dist/memory/citation-extractor.d.ts +1 -1
  218. package/dist/memory/citation-extractor.d.ts.map +1 -1
  219. package/dist/memory/compaction-archive.d.ts +2 -1
  220. package/dist/memory/compaction-archive.d.ts.map +1 -1
  221. package/dist/memory/compaction-archive.js.map +1 -1
  222. package/dist/memory/compaction.d.ts +2 -1
  223. package/dist/memory/compaction.d.ts.map +1 -1
  224. package/dist/memory/compaction.js.map +1 -1
  225. package/dist/memory/db.d.ts +21 -2
  226. package/dist/memory/db.d.ts.map +1 -1
  227. package/dist/memory/db.js +616 -399
  228. package/dist/memory/db.js.map +1 -1
  229. package/dist/memory/memory-service.d.ts +13 -2
  230. package/dist/memory/memory-service.d.ts.map +1 -1
  231. package/dist/memory/memory-service.js +24 -4
  232. package/dist/memory/memory-service.js.map +1 -1
  233. package/dist/plugins/plugin-manager.d.ts +1 -1
  234. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  235. package/dist/plugins/plugin-sdk.d.ts +1 -1
  236. package/dist/plugins/plugin-sdk.d.ts.map +1 -1
  237. package/dist/plugins/plugin-types.d.ts +1 -1
  238. package/dist/plugins/plugin-types.d.ts.map +1 -1
  239. package/dist/providers/auxiliary.d.ts +1 -1
  240. package/dist/providers/auxiliary.d.ts.map +1 -1
  241. package/dist/providers/hybridai-bots.d.ts +1 -1
  242. package/dist/providers/hybridai-bots.d.ts.map +1 -1
  243. package/dist/providers/hybridai-health.d.ts +8 -0
  244. package/dist/providers/hybridai-health.d.ts.map +1 -0
  245. package/dist/providers/hybridai-health.js +26 -0
  246. package/dist/providers/hybridai-health.js.map +1 -0
  247. package/dist/providers/local-health.d.ts +1 -4
  248. package/dist/providers/local-health.d.ts.map +1 -1
  249. package/dist/providers/local-health.js +5 -32
  250. package/dist/providers/local-health.js.map +1 -1
  251. package/dist/providers/on-demand-probe.d.ts +10 -0
  252. package/dist/providers/on-demand-probe.d.ts.map +1 -0
  253. package/dist/providers/on-demand-probe.js +32 -0
  254. package/dist/providers/on-demand-probe.js.map +1 -0
  255. package/dist/providers/task-routing.d.ts +1 -1
  256. package/dist/providers/task-routing.d.ts.map +1 -1
  257. package/dist/providers/task-routing.js +1 -1
  258. package/dist/providers/task-routing.js.map +1 -1
  259. package/dist/scheduler/model-usage.d.ts +2 -1
  260. package/dist/scheduler/model-usage.d.ts.map +1 -1
  261. package/dist/scheduler/model-usage.js.map +1 -1
  262. package/dist/scheduler/scheduler.d.ts +1 -1
  263. package/dist/scheduler/scheduler.d.ts.map +1 -1
  264. package/dist/security/media-paths.d.ts +2 -0
  265. package/dist/security/media-paths.d.ts.map +1 -1
  266. package/dist/security/media-paths.js +8 -2
  267. package/dist/security/media-paths.js.map +1 -1
  268. package/dist/security/mount-config.d.ts +1 -1
  269. package/dist/security/mount-config.d.ts.map +1 -1
  270. package/dist/security/mount-security.d.ts +1 -1
  271. package/dist/security/mount-security.d.ts.map +1 -1
  272. package/dist/security/mount-security.js.map +1 -1
  273. package/dist/session/session-export.d.ts +1 -1
  274. package/dist/session/session-export.d.ts.map +1 -1
  275. package/dist/session/session-maintenance.d.ts +1 -1
  276. package/dist/session/session-maintenance.d.ts.map +1 -1
  277. package/dist/session/session-maintenance.js.map +1 -1
  278. package/dist/session/token-efficiency.d.ts +1 -1
  279. package/dist/session/token-efficiency.d.ts.map +1 -1
  280. package/dist/skills/skill-import-args.d.ts +12 -0
  281. package/dist/skills/skill-import-args.d.ts.map +1 -0
  282. package/dist/skills/skill-import-args.js +38 -0
  283. package/dist/skills/skill-import-args.js.map +1 -0
  284. package/dist/skills/skill-import-warnings.d.ts +3 -0
  285. package/dist/skills/skill-import-warnings.d.ts.map +1 -0
  286. package/dist/skills/skill-import-warnings.js +15 -0
  287. package/dist/skills/skill-import-warnings.js.map +1 -0
  288. package/dist/skills/skills-import-github.d.ts +22 -0
  289. package/dist/skills/skills-import-github.d.ts.map +1 -0
  290. package/dist/skills/skills-import-github.js +710 -0
  291. package/dist/skills/skills-import-github.js.map +1 -0
  292. package/dist/skills/skills-import-hubs.d.ts +34 -0
  293. package/dist/skills/skills-import-hubs.d.ts.map +1 -0
  294. package/dist/skills/skills-import-hubs.js +425 -0
  295. package/dist/skills/skills-import-hubs.js.map +1 -0
  296. package/dist/skills/skills-import.d.ts +23 -0
  297. package/dist/skills/skills-import.d.ts.map +1 -0
  298. package/dist/skills/skills-import.js +456 -0
  299. package/dist/skills/skills-import.js.map +1 -0
  300. package/dist/skills/skills-observation.d.ts +1 -1
  301. package/dist/skills/skills-observation.d.ts.map +1 -1
  302. package/dist/skills/skills.d.ts +3 -2
  303. package/dist/skills/skills.d.ts.map +1 -1
  304. package/dist/skills/skills.js +23 -7
  305. package/dist/skills/skills.js.map +1 -1
  306. package/dist/tui-banner.d.ts.map +1 -1
  307. package/dist/tui-banner.js +2 -1
  308. package/dist/tui-banner.js.map +1 -1
  309. package/dist/tui-clipboard.d.ts +20 -0
  310. package/dist/tui-clipboard.d.ts.map +1 -0
  311. package/dist/tui-clipboard.js +439 -0
  312. package/dist/tui-clipboard.js.map +1 -0
  313. package/dist/tui-input.d.ts +3 -0
  314. package/dist/tui-input.d.ts.map +1 -1
  315. package/dist/tui-input.js +13 -0
  316. package/dist/tui-input.js.map +1 -1
  317. package/dist/tui-slash-command.d.ts.map +1 -1
  318. package/dist/tui-slash-command.js +4 -2
  319. package/dist/tui-slash-command.js.map +1 -1
  320. package/dist/tui-slash-menu.d.ts.map +1 -1
  321. package/dist/tui-slash-menu.js +5 -8
  322. package/dist/tui-slash-menu.js.map +1 -1
  323. package/dist/tui.d.ts.map +1 -1
  324. package/dist/tui.js +140 -12
  325. package/dist/tui.js.map +1 -1
  326. package/dist/types/api.d.ts +33 -0
  327. package/dist/types/api.d.ts.map +1 -0
  328. package/dist/types/api.js +2 -0
  329. package/dist/types/api.js.map +1 -0
  330. package/dist/types/audit.d.ts +34 -0
  331. package/dist/types/audit.d.ts.map +1 -0
  332. package/dist/types/audit.js +2 -0
  333. package/dist/types/audit.js.map +1 -0
  334. package/dist/types/container.d.ts +72 -0
  335. package/dist/types/container.d.ts.map +1 -0
  336. package/dist/types/container.js +2 -0
  337. package/dist/types/container.js.map +1 -0
  338. package/dist/types/execution.d.ts +61 -0
  339. package/dist/types/execution.d.ts.map +1 -0
  340. package/dist/types/execution.js +2 -0
  341. package/dist/types/execution.js.map +1 -0
  342. package/dist/types/hybridai.d.ts +7 -0
  343. package/dist/types/hybridai.d.ts.map +1 -0
  344. package/dist/types/hybridai.js +2 -0
  345. package/dist/types/hybridai.js.map +1 -0
  346. package/dist/types/knowledge.d.ts +58 -0
  347. package/dist/types/knowledge.d.ts.map +1 -0
  348. package/dist/{types.js → types/knowledge.js} +1 -11
  349. package/dist/types/knowledge.js.map +1 -0
  350. package/dist/types/memory.d.ts +69 -0
  351. package/dist/types/memory.d.ts.map +1 -0
  352. package/dist/types/memory.js +2 -0
  353. package/dist/types/memory.js.map +1 -0
  354. package/dist/types/models.d.ts +37 -0
  355. package/dist/types/models.d.ts.map +1 -0
  356. package/dist/types/models.js +10 -0
  357. package/dist/types/models.js.map +1 -0
  358. package/dist/types/scheduler.d.ts +25 -0
  359. package/dist/types/scheduler.d.ts.map +1 -0
  360. package/dist/types/scheduler.js +2 -0
  361. package/dist/types/scheduler.js.map +1 -0
  362. package/dist/types/security.d.ts +15 -0
  363. package/dist/types/security.d.ts.map +1 -0
  364. package/dist/types/security.js +2 -0
  365. package/dist/types/security.js.map +1 -0
  366. package/dist/types/session.d.ts +82 -0
  367. package/dist/types/session.d.ts.map +1 -0
  368. package/dist/types/session.js +2 -0
  369. package/dist/types/session.js.map +1 -0
  370. package/dist/types/side-effects.d.ts +25 -0
  371. package/dist/types/side-effects.d.ts.map +1 -0
  372. package/dist/types/side-effects.js +2 -0
  373. package/dist/types/side-effects.js.map +1 -0
  374. package/dist/types/usage.d.ts +59 -0
  375. package/dist/types/usage.d.ts.map +1 -0
  376. package/dist/types/usage.js +2 -0
  377. package/dist/types/usage.js.map +1 -0
  378. package/docs/.nojekyll +1 -0
  379. package/docs/404.html +31 -0
  380. package/docs/agents.html +17 -0
  381. package/docs/chat.html +1270 -82
  382. package/docs/development/README.md +19 -1
  383. package/docs/development/extensibility/README.md +8 -1
  384. package/docs/development/extensibility/adaptive-skills.md +4 -4
  385. package/docs/development/extensibility/agent-packages.md +24 -9
  386. package/docs/development/extensibility/skills.md +33 -0
  387. package/docs/development/getting-started/quickstart.md +15 -0
  388. package/docs/development/index.html +30 -0
  389. package/docs/development/internals/releasing.md +1 -1
  390. package/docs/development/reference/commands.md +25 -2
  391. package/docs/development/reference/configuration.md +2 -0
  392. package/docs/development/reference/faq.md +13 -0
  393. package/docs/index.html +51 -11
  394. package/docs/static/development-docs.css +632 -0
  395. package/docs/static/development-docs.js +1014 -0
  396. package/package.json +3 -2
  397. package/skills/google-workspace/SKILL.md +1 -1
  398. package/dist/types.d.ts +0 -538
  399. package/dist/types.d.ts.map +0 -1
  400. package/dist/types.js.map +0 -1
  401. /package/{skills → community-skills}/himalaya/SKILL.md +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,90 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.2](https://github.com/HybridAIOne/hybridclaw/tree/v0.9.2)
6
+
7
+ ### Added
8
+
9
+ - **Skill sync and packaged Datalion workflow**: Added `skill sync`, updated
10
+ TUI help/commands, shared import-argument parsing, and the repo-shipped
11
+ Datalion community skill with bundled setup/capabilities docs.
12
+ - **Meme generation community skill**: Added a packaged meme-generation skill
13
+ with reusable scripts, template data, and cached output reuse for community
14
+ image workflows.
15
+ - **Workspace search hardening**: Added stricter workspace `glob` and `grep`
16
+ handling in the container runtime for safer repository searches.
17
+
18
+ ### Changed
19
+
20
+ - **Web chat branching and history flow**: Improved web chat controls,
21
+ branch-aware history routing, paging persistence, and related stdin/history
22
+ handling so browser sessions behave more predictably.
23
+ - **Shared type and search-tool internals**: Split the old shared type barrel
24
+ into focused modules and moved container search logic into a dedicated
25
+ `search-tools` module.
26
+ - **Skill import UX cleanup**: Centralized import warning text, shared the
27
+ skill-import argument parser, removed sync/skip-scan quick entries from
28
+ menus, and simplified optional import-result guard fields.
29
+
30
+ ### Fixed
31
+
32
+ - **WhatsApp restart and ack recovery**: Reduced restart replay failures,
33
+ captured and cleared ack reactions more reliably, dropped timestampless
34
+ append-history writes, and hardened reconnect handling.
35
+ - **TUI history-arrow behavior**: Restored arrow-key prompt history when the
36
+ slash menu has no matches while keeping those keys reserved for history
37
+ navigation.
38
+ - **Agent skill overwrite protection**: `agent install` now requires
39
+ `--force` before overwriting imported skills instead of silently replacing
40
+ existing content.
41
+ - **Static docs publishing and QMD paging stability**: Synced the static docs
42
+ shell with the gateway renderer, added `.nojekyll` for GitHub Pages, and
43
+ persisted branch paging state while quieting QMD timeout noise.
44
+ - **Meme skill runtime hardening**: Tightened meme fetch error handling,
45
+ file-path validation, and cache reuse so the packaged skill is safer and
46
+ cheaper to run repeatedly.
47
+
48
+ ## [0.9.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.9.1)
49
+
50
+ ### Added
51
+
52
+ - **Inline prompt context references**: Added `@file:`, `@folder:`, `@diff`,
53
+ `@staged`, `@git:<count>`, and `@url:` so prompts can pull repository or web
54
+ context directly.
55
+ - **Current-turn web chat and TUI attachments**: Added upload/paste support
56
+ for files and clipboard media in the built-in chat UI and TUI, including
57
+ uploaded-media summaries for supported content.
58
+ - **Community skill imports and docs browser**: Added `hybridclaw skill import`
59
+ and `skill learn`, packaged and hub-backed skill sources, manifest-declared
60
+ skill imports during `.claw` install, and the built-in `/development` docs
61
+ browser with raw-markdown views.
62
+
63
+ ### Changed
64
+
65
+ - **Gateway/provider health probing**: Status endpoints now use TTL-cached
66
+ on-demand probes for HybridAI and local backends instead of background
67
+ polling loops, with async status flow and better probe-site error handling.
68
+ - **CLI command structure**: Split the large CLI handlers into focused command
69
+ modules with shared lazy-loader and flag-parsing helpers.
70
+ - **Skill import source coverage**: Community imports expanded from packaged
71
+ sources into hub-backed and GitHub-backed skill sources, with web docs
72
+ navigation updated to expose the new workflows.
73
+
74
+ ### Fixed
75
+
76
+ - **HybridAI base-url reachability reporting**: `/api/status` and operator
77
+ hints now honor `HYBRIDAI_BASE_URL` consistently and probe actual backend
78
+ reachability instead of assuming credentials imply connectivity.
79
+ - **Uploaded media hardening**: Tightened cache-dir resolution, path
80
+ validation, MIME filtering, per-auth upload quotas, and filename handling
81
+ for web chat and TUI attachments.
82
+ - **Context-reference safety and command preservation**: Blocked symlink
83
+ escapes, URL redirects, and unbounded URL fetches for attached prompt
84
+ context while preserving skill invocations with injected context.
85
+ - **CLI install output for imported skills**: `agent install` now tolerates
86
+ missing imported skills in the CLI summary instead of failing the output
87
+ path.
88
+
5
89
  ## [0.9.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.9.0)
6
90
 
7
91
  ### Added
package/README.md CHANGED
@@ -24,6 +24,9 @@ agent reuse authenticated web sessions for later browser automation.
24
24
  Local plugins can extend the gateway with typed manifests, plugin tools,
25
25
  memory layers, prompt hooks, and lifecycle hooks, including the installable
26
26
  QMD-backed memory layer shipped in `plugins/qmd-memory`.
27
+ Web chat and TUI can attach current-turn files, and inline context references
28
+ like `@file:src/app.ts`, `@diff`, or `@url:https://example.com/spec` can
29
+ ground a turn without pasting raw content.
27
30
 
28
31
  Operators can also health-check the runtime with `hybridclaw doctor`, tune
29
32
  skill availability globally or per channel, and review adaptive skill health
@@ -189,6 +192,9 @@ Examples:
189
192
  - `/model clear` removes the session override and falls back to the current agent model or the global default.
190
193
  - `/agent model <name>` sets the persistent model for the current session agent.
191
194
  - `/model info` shows the current model configuration by scope (global default, agent model, and any session override).
195
+ - Use `HYBRIDAI_BASE_URL` to override `hybridai.baseUrl` for the current
196
+ process without rewriting `~/.hybridclaw/config.json`, which is useful for
197
+ local or preview HybridAI deployments.
192
198
  - Use `HYBRIDCLAW_CODEX_BASE_URL` to override the default Codex backend base URL (`https://chatgpt.com/backend-api/codex`).
193
199
 
194
200
  Runtime model:
@@ -268,6 +274,26 @@ hybridclaw browser reset
268
274
  local storage without exposing credentials in chat.
269
275
  - Treat the browser profile directory as sensitive operator data.
270
276
 
277
+ ## Context References And Attachments
278
+
279
+ HybridClaw can ground a prompt with current-turn uploads or inline context
280
+ references instead of making you paste large blobs manually.
281
+
282
+ ```text
283
+ Explain this regression using @diff and @file:src/gateway/gateway.ts:120-220
284
+ Compare @folder:docs/development with @url:https://example.com/spec
285
+ ```
286
+
287
+ - Web chat accepts uploads and pasted clipboard items for images, audio, PDFs,
288
+ Office docs, and text files before send.
289
+ - TUI queues a copied local file or clipboard image with `/paste` or `Ctrl-V`
290
+ before sending.
291
+ - Inline references supported in prompts are `@file:path[:start-end]`,
292
+ `@folder:path`, `@diff`, `@staged`, `@git:<count>`, and
293
+ `@url:https://...`.
294
+ - If a reference is blocked or too large, HybridClaw keeps the prompt text and
295
+ adds a warning instead of silently broadening access.
296
+
271
297
  ## Agent Packages
272
298
 
273
299
  HybridClaw can package an agent into a portable `.claw` archive for backup,
@@ -275,18 +301,20 @@ distribution, or bootstrap flows:
275
301
 
276
302
  ```bash
277
303
  hybridclaw agent list
278
- hybridclaw agent pack main -o /tmp/main.claw
304
+ hybridclaw agent export main -o /tmp/main.claw
279
305
  hybridclaw agent inspect /tmp/main.claw
280
- hybridclaw agent unpack /tmp/main.claw --id demo-agent --yes
306
+ hybridclaw agent install /tmp/main.claw --id demo-agent --yes
281
307
  ```
282
308
 
283
- - `agent pack` exports the workspace plus optional bundled workspace skills and
284
- home plugins.
309
+ - `agent export` exports the workspace plus optional bundled workspace skills
310
+ and home plugins.
285
311
  - `agent inspect` validates the manifest and prints archive metadata without
286
312
  extracting it.
287
- - `agent unpack` restores the agent, fills missing bootstrap files, and
313
+ - `agent install` restores the agent, fills missing bootstrap files, and
288
314
  re-registers bundled content with the runtime.
289
- - See [docs/development/agent-packages.md](./docs/development/agent-packages.md)
315
+ - Legacy aliases still work: `agent pack` maps to `export`, and `agent unpack`
316
+ maps to `install`.
317
+ - See [docs/development/extensibility/agent-packages.md](./docs/development/extensibility/agent-packages.md)
290
318
  for the archive layout, manifest fields, and security rules.
291
319
 
292
320
  ## Local Provider Quickstart (LM Studio Example)
@@ -402,7 +430,7 @@ such as `filesystem__read_file` or `github__list_issues`.
402
430
 
403
431
  ## Bundled Skills
404
432
 
405
- HybridClaw currently ships with 28 bundled skills. Notable workflow and app
433
+ HybridClaw currently ships with 27 bundled skills. Notable workflow and app
406
434
  integrations include:
407
435
 
408
436
  - `pdf` is bundled and supports text extraction, page rendering, fillable form inspection/filling, and non-fillable overlay workflows.
@@ -419,7 +447,6 @@ integrations include:
419
447
  - `github-pr-workflow` is bundled for branch creation, commits, PR authoring, CI follow-up, and merge-readiness workflows with GitHub.
420
448
  - `write-blog-post` is bundled for audience-aware blog post outlines and drafts built from briefs, notes, transcripts, or source material.
421
449
  - `discord` is bundled for Discord channel operations through the `message` tool, including reads, sends, reactions, pins, and threads.
422
- - `himalaya` is bundled for host-side IMAP/SMTP email workflows through the Himalaya CLI.
423
450
  - `google-workspace` is bundled for Gmail, Calendar, Drive, Docs, and Sheets setup guidance plus browser/API workflow coordination.
424
451
  - `1password` is bundled for secure `op`-based secret lookup and command injection workflows.
425
452
  - `stripe` is bundled for Stripe API, CLI, Dashboard, checkout, billing, and webhook-debugging workflows with a test-mode-first default.
@@ -428,11 +455,14 @@ integrations include:
428
455
  - `apple-passwords` is bundled for Passwords.app and Keychain-backed credential lookup on macOS.
429
456
  - `apple-music` is bundled for macOS Music app playback control, now-playing checks, and Apple Music URL workflows.
430
457
  - Use `hybridclaw skill list` to inspect available installers and `hybridclaw skill install pdf [install-id]` when a bundled skill advertises optional setup helpers.
458
+ - Use `hybridclaw skill import official/himalaya` to install the packaged Himalaya community skill into `~/.hybridclaw/skills` for host-side IMAP/SMTP email workflows.
459
+ - Use `hybridclaw skill import <source>` to install community skills into `~/.hybridclaw/skills` from `skills-sh/anthropics/skills/brand-guidelines`, `clawhub/brand-voice`, `lobehub/github-issue-helper`, `claude-marketplace/brand-guidelines@anthropic-agent-skills`, `well-known:https://mintlify.com/docs`, or explicit GitHub repo/path refs such as `anthropics/skills/skills/brand-guidelines`.
460
+ - Use `hybridclaw skill import --force <source>` to override a `caution` scanner verdict for a reviewed community skill. `dangerous` verdicts stay blocked.
431
461
 
432
462
  Skills can be disabled globally or per channel kind (`discord`, `msteams`,
433
463
  `whatsapp`, `email`) with `hybridclaw skill enable|disable <name> [--channel <kind>]`
434
464
  or via the TUI `/skill config` screen. For observation-driven health and
435
- amendment workflows, use `hybridclaw skill inspect|runs|amend|history` or the
465
+ amendment workflows, use `hybridclaw skill inspect|runs|learn|history` or the
436
466
  admin `Skills` page.
437
467
 
438
468
  ## Optional Office Dependencies
@@ -489,7 +519,7 @@ CLI runtime commands:
489
519
  - `hybridclaw gateway compact` — Archive older session history into semantic memory while preserving a recent active context tail
490
520
  - `hybridclaw gateway reset [yes|no]` — Clear session history, reset per-session model/chatbot/RAG settings, and remove the current agent workspace (confirmation required)
491
521
  - `hybridclaw agent list` — Show registered agents in a script-friendly tab-separated format
492
- - `hybridclaw agent export [agent-id] [-o <path>]`, `inspect <file.claw>`, `install <file.claw> [--id <id>]`, `uninstall <agent-id> [--yes]` — Manage portable `.claw` agent archives
522
+ - `hybridclaw agent export [agent-id] [-o <path>]`, `inspect <file.claw>`, `install <file.claw> [--id <id>]`, `uninstall <agent-id> [--yes]` — Manage portable `.claw` agent archives (legacy `pack` / `unpack` aliases still work)
493
523
  - `hybridclaw tui` — Start terminal client connected to gateway
494
524
  - `hybridclaw tui --resume <sessionId>` / `hybridclaw --resume <sessionId>` — Resume an earlier TUI session by canonical session id
495
525
  - `hybridclaw onboarding` — Run trust-model acceptance plus interactive provider onboarding
@@ -502,9 +532,6 @@ CLI runtime commands:
502
532
  - `hybridclaw channels email setup [--address <email>] [--password <password>] [--imap-host <host>] [--imap-port <port>] [--imap-secure|--no-imap-secure] [--smtp-host <host>] [--smtp-port <port>] [--smtp-secure|--no-smtp-secure] [--folder <name>]... [--allow-from <email|*@domain|*>]... [--poll-interval-ms <ms>] [--text-chunk-limit <chars>] [--media-max-mb <mb>]` — Configure IMAP/SMTP email delivery, optionally prompt for missing credentials, default to a 30-second IMAP poll interval, and save `EMAIL_PASSWORD`
503
533
  - `hybridclaw channels whatsapp setup [--reset] [--allow-from <+E164>]...` — Prepare private-by-default WhatsApp config, enable the default `👀` ack reaction, optionally wipe stale auth, open a temporary pairing session, and print the QR code
504
534
  - `hybridclaw browser login [--url <url>]`, `status`, `reset` — Manage the persistent browser profile used for authenticated web automation
505
- - `hybridclaw agent list` — List registered agents in a script-friendly format
506
- - `hybridclaw agent pack [agent-id] [-o <path>] [--skills ...] [--plugins ...]` — Export a portable `.claw` archive with optional bundled skills and plugins
507
- - `hybridclaw agent inspect <file.claw>` / `unpack <file.claw> [--id <id>] [--force] [--skip-externals] [--yes]` — Validate or restore a packaged agent archive
508
535
  - `hybridclaw local status` — Show current local backend config and default model
509
536
  - `hybridclaw local configure <backend> <model-id> [--base-url <url>] [--api-key <key>] [--no-default]` — Enable and configure a local backend
510
537
  - `hybridclaw hybridai ...`, `hybridclaw codex ...`, and `hybridclaw local ...` — Legacy aliases for the older provider-specific command surface
@@ -512,7 +539,8 @@ CLI runtime commands:
512
539
  - `hybridclaw doctor [--fix|--json|<component>]` — Diagnose runtime, gateway, config, credentials, database, providers, local backends, Docker, channels, skills, security, and disk state
513
540
  - `hybridclaw skill list` — Show skills and any declared installer options
514
541
  - `hybridclaw skill enable <skill-name> [--channel <kind>]`, `disable`, `toggle` — Manage global and per-channel skill availability
515
- - `hybridclaw skill inspect <skill-name>` / `hybridclaw skill inspect --all`, `runs`, `amend`, `history` — Review adaptive skill health, observations, and amendment history
542
+ - `hybridclaw skill inspect <skill-name>` / `hybridclaw skill inspect --all`, `runs`, `learn`, `history` — Review adaptive skill health, observations, and amendment history
543
+ - `hybridclaw skill import [--force] <source>` — Import a packaged community skill with `official/<skill-name>` or a community skill from `skills-sh`, `clawhub`, `lobehub`, `claude-marketplace`, `well-known`, or an explicit GitHub repo/path into `~/.hybridclaw/skills`; `--force` only overrides `caution`, never `dangerous`
516
544
  - `hybridclaw skill install <skill> [install-id]` — Run a declared skill dependency installer
517
545
  - `hybridclaw plugin list` — Show discovered plugins, enabled state, registered tools/hooks, and load errors
518
546
  - `hybridclaw plugin config <plugin-id> [key] [value|--unset]` — Inspect or change one top-level `plugins.list[].config` override
@@ -0,0 +1,259 @@
1
+ ---
2
+ name: datalion
3
+ description: Use this skill when the user wants DataLion workflows such as listing, reading, creating, or editing projects, inspecting data sources, importing Excel or CSV data, working with reports and report tabs and codebooks, reading chart tables, or coordinating dashboard and export work through a configured datalion MCP server and related API or UI paths.
4
+ user-invocable: true
5
+ metadata:
6
+ hybridclaw:
7
+ tags:
8
+ - datalion
9
+ - analytics
10
+ - dashboards
11
+ - reports
12
+ - data
13
+ related_skills:
14
+ - xlsx
15
+ - project-manager
16
+ ---
17
+
18
+ # DataLion
19
+
20
+ Use this skill for DataLion project, project-settings, data-import, codebook,
21
+ chart-table, report, report-tab, dashboard, and export workflows.
22
+
23
+ In DataLion, "tab" and "dashboard" are used interchangeably for the report
24
+ subpages managed under a report.
25
+
26
+ ## Default Strategy
27
+
28
+ 1. Verify the `datalion` MCP server is enabled and inspect which
29
+ `datalion__*` tools are actually available in the current session.
30
+ 2. Use MCP first for supported actions.
31
+ 3. Do not invent Datalion MCP tools. If a matching tool is missing, switch to a
32
+ REST or browser/UI path from
33
+ [references/setup-and-capabilities.md](references/setup-and-capabilities.md).
34
+ 4. Read first, write second. Restate the exact target object and proposed
35
+ mutation before calling a write path.
36
+
37
+ ## Setup
38
+
39
+ - Run HybridClaw in host sandbox mode for this local Node-based MCP server.
40
+ - Install the bridge dependencies before first use:
41
+ `npm --prefix <path-to-your-datalion-repo>/mcp install`
42
+ - Keep `DATALION_API_TOKEN` inside MCP server config `env`, never in tracked
43
+ files or chat.
44
+ - Use the MCP server name `datalion` so tools appear as `datalion__...`.
45
+ - For `hybridclaw gateway mcp add ...`, pass the JSON config as one quoted
46
+ shell argument. In `zsh`, unquoted `{...}` and `[...]` will be expanded
47
+ before HybridClaw sees them.
48
+ - See
49
+ [references/setup-and-capabilities.md](references/setup-and-capabilities.md)
50
+ for ready-to-paste CLI and TUI examples, dependency notes, and ability
51
+ requirements.
52
+
53
+ ## Working Rules
54
+
55
+ - Always state whether you are using MCP, REST API, or browser/UI automation.
56
+ - Resolve the exact project, report, dashboard, export, or chart before
57
+ mutating anything.
58
+ - The current bridge directly supports project listing, project reads, project
59
+ creation, project settings updates, data source listing, CSV upload, full
60
+ Excel/CSV import, report list/create and tab CRUD, chart-table reads, and
61
+ codebook list, download, generation, deletion, and upload.
62
+ - The bridge also exposes 4 browser URL helpers for project/report/dashboard
63
+ opening and widget insertion.
64
+ - The current bridge tool surface has 22 tools total: 18 backend MCP actions
65
+ and 4 browser URL helpers.
66
+ - Prefer `datalion__list_projects` and `datalion__read_project` before writes
67
+ when the exact target project is not already pinned down.
68
+ - Treat `datalion__upload_data` as a data-import tool, not a generic
69
+ project-update tool.
70
+ - Treat `datalion__edit_project` as a `defsettings` merge tool. It updates only
71
+ the keys you pass and keeps the existing settings for all other keys.
72
+ - Use `datalion__list_data_sources` to inspect what is already loaded into a
73
+ project before uploading or troubleshooting data.
74
+ - Prefer `datalion__import_excel_data` when the source is an `.xlsx` workbook or
75
+ when you want Datalion's full import pipeline, including optional codebook
76
+ generation during import.
77
+ - Use `datalion__list_codebook` when the user needs a question-level inventory;
78
+ use `datalion__download_codebook` for the tree structure.
79
+ - For workbook imports, prefer an absolute `localPath` so the bridge can read
80
+ the file directly.
81
+ - For uploads, confirm filename, header and delimiter assumptions, data source
82
+ name if relevant, and whether existing rows should be truncated.
83
+ - For `import_excel_data`, confirm `projectId`, file path or base64 file
84
+ content, filename if you are not using `localPath`, whether you want the
85
+ default main data source (`useDefaultDataSource=true`) or a named data
86
+ source, and whether `replaceData`, `runCalculations`, `convertComma`,
87
+ `skipLines`, `comment`, and `createCodebook` should be enabled.
88
+ - For project settings edits, confirm the target `projectId` and the exact
89
+ `defsettings` keys and values before calling.
90
+ - For chart-table reads, confirm `projectId`, `chartId`, and any filter string
91
+ before calling.
92
+ - For codebook uploads, confirm `projectId`, CSV filename, import mode, and
93
+ whether any explicit column mapping is needed. The current backend expects
94
+ `columnMapping` as an array aligned to the CSV header order.
95
+ - For reports, prefer direct MCP coverage first.
96
+ - For dashboard and export tasks without direct MCP coverage, inspect the local
97
+ Datalion repo and its OpenAPI or route definitions before choosing a fallback
98
+ path.
99
+ - Keep tokens, auth headers, and exported files out of logs unless the user
100
+ explicitly asks for them.
101
+
102
+ ## Current MCP Coverage
103
+
104
+ The current `datalion` bridge exposes these direct tools:
105
+
106
+ - `datalion__list_projects`
107
+ - `datalion__read_project`
108
+ - `datalion__create_project`
109
+ - `datalion__edit_project`
110
+ - `datalion__list_data_sources`
111
+ - `datalion__upload_data`
112
+ - `datalion__import_excel_data`
113
+ - `datalion__list_reports`
114
+ - `datalion__create_report`
115
+ - `datalion__create_report_tab`
116
+ - `datalion__edit_report_tab`
117
+ - `datalion__delete_report_tab`
118
+ - `datalion__open_project_browser`
119
+ - `datalion__open_report_browser`
120
+ - `datalion__open_dashboard_browser`
121
+ - `datalion__open_add_widget_browser`
122
+ - `datalion__get_chart_table`
123
+ - `datalion__list_codebook`
124
+ - `datalion__download_codebook`
125
+ - `datalion__generate_codebook`
126
+ - `datalion__delete_codebook`
127
+ - `datalion__upload_codebook`
128
+
129
+ That means:
130
+
131
+ - project discovery and project detail reads are supported directly
132
+ - project creation is supported directly
133
+ - project settings updates through `defsettings` merges are supported directly
134
+ - project data sources can be listed directly
135
+ - CSV-style data import into an existing project is supported directly
136
+ - workbook and full-pipeline Excel/CSV import are supported directly
137
+ - the full-pipeline import path uses DataLion's datasource service rather than
138
+ the raw CSV upload path, so it handles type detection, replace/append mode,
139
+ optional codebook generation, and optional calculations
140
+ - report listing and report creation are supported directly
141
+ - chart tables can be read directly
142
+ - codebooks can be listed, downloaded, generated, deleted, and uploaded
143
+ directly
144
+ - report editing beyond report-tab CRUD, dashboard editing, and export
145
+ generation require fallback API or UI paths until the bridge grows more tools
146
+
147
+ ## Common Workflows
148
+
149
+ For explicit TUI testing, prefer `/skill datalion ...`.
150
+
151
+ - `/skill datalion create a project named "MCP Smoke Test"`
152
+ - plain natural-language prompts that mention DataLion also work
153
+ - `/datalion ...` may still be routed as a normal message, but it is not a
154
+ built-in slash-menu command, so do not use slash-menu visibility as the test
155
+ for whether the skill is installed
156
+
157
+ ### Create a Project
158
+
159
+ 1. Confirm the project name and any optional `identcode` or `defsettings`.
160
+ 2. Call `datalion__create_project`.
161
+ 3. Return the new project ID and recommend the next step, usually data import
162
+ or report/dashboard setup.
163
+
164
+ ### Create a Report
165
+
166
+ 1. Confirm the project ID and report name.
167
+ 2. Call `datalion__create_report`.
168
+ 3. Note that the report is seeded with a first tab and return both the report
169
+ ID and first tab ID.
170
+
171
+ ### Manage Report Tabs
172
+
173
+ 1. Call `datalion__create_report_tab` to add a tab to an existing report.
174
+ 2. Call `datalion__edit_report_tab` to rename or update a tab.
175
+ 3. Call `datalion__delete_report_tab` to remove a tab after confirming the
176
+ report and tab IDs.
177
+ 4. Keep `projectId` aligned with the report or tab/dashboard you are mutating.
178
+
179
+ ### Open In Browser
180
+
181
+ 1. Use `datalion__open_project_browser` for the project screen.
182
+ 2. Use `datalion__open_report_browser` for the report editor or a specific
183
+ report tab/dashboard.
184
+ 3. Use `datalion__open_dashboard_browser` for a specific tab/dashboard view.
185
+ 4. Use `datalion__open_add_widget_browser` to get the modal URL used to add a
186
+ question/widget to a tab/dashboard. The actual insertion still happens in
187
+ the browser UI after the modal is opened.
188
+
189
+ ### Find or Read a Project
190
+
191
+ 1. Call `datalion__list_projects` when the user gives a fuzzy project name or
192
+ identcode.
193
+ 2. Call `datalion__read_project` once you know the `projectId`.
194
+ 3. Use the returned `defsettings`, `categoriesCount`, and `dataSourcesCount` to
195
+ guide the next step.
196
+
197
+ ### Edit Project Settings
198
+
199
+ 1. Confirm `projectId` and the exact `defsettings` keys to merge.
200
+ 2. Call `datalion__edit_project`.
201
+ 3. Return the updated keys and note that untouched settings stay as they were.
202
+
203
+ ### Upload Data
204
+
205
+ 1. Confirm the target project ID.
206
+ 2. Call `datalion__list_data_sources` first if you need to inspect existing
207
+ data sources.
208
+ 3. Prefer CSV text input for the current bridge.
209
+ 4. Call `datalion__upload_data`.
210
+ 5. Return the job ID and the import assumptions you used.
211
+
212
+ ### Import Excel or CSV via Datalion Pipeline
213
+
214
+ 1. Confirm `projectId` and the source file path or file content.
215
+ 2. Prefer `localPath` for `.xlsx` imports when the file exists on disk.
216
+ 3. Use `useDefaultDataSource=true` when you want the workbook imported into
217
+ the main project data table and codebook generation to read from that same
218
+ table. Otherwise confirm `dataSourceName`.
219
+ 4. Confirm whether `createCodebook` should run during import.
220
+ 5. Call `datalion__import_excel_data`.
221
+ 6. Return the data source name, imported row count, and whether codebook
222
+ generation was requested.
223
+
224
+ ### Read a Chart Table
225
+
226
+ 1. Confirm `projectId`, `chartId`, and filters.
227
+ 2. Call `datalion__get_chart_table`.
228
+ 3. Summarize the result and surface obvious caveats.
229
+
230
+ ### Codebook Workflows
231
+
232
+ 1. For question-level inspection, call `datalion__list_codebook`.
233
+ 2. For tree-structured inspection, call `datalion__download_codebook`.
234
+ 3. For regenerate-from-data workflows, call `datalion__generate_codebook`.
235
+ 4. For destructive cleanup, call `datalion__delete_codebook` and confirm
236
+ whether `includeTextboxes` should be `true`.
237
+ 5. For CSV import, call `datalion__upload_codebook` with the filename, file
238
+ content, import mode, and any index-based `columnMapping` array that should
239
+ align with the CSV header order.
240
+
241
+ ### Reports
242
+
243
+ 1. Call `datalion__list_reports` to inspect existing reports for a project.
244
+ 2. Call `datalion__create_report` to create a new report once the target
245
+ project and report name are confirmed. The new report is seeded with a
246
+ first tab and the response includes both IDs.
247
+ 3. Use the report-tab tools for tab-level create/edit/delete work.
248
+ 4. Treat report edits beyond tab CRUD as fallback work until direct MCP
249
+ coverage exists.
250
+
251
+ ### Dashboards and Exports
252
+
253
+ 1. Check current `datalion__*` tool coverage first.
254
+ 2. If no direct tool exists, inspect `openapi.yaml`, `routes/dashboard.php`, and
255
+ `routes/export.php` in the local Datalion checkout or use browser automation
256
+ against the Datalion UI.
257
+ 3. Prefer REST endpoints for API-backed CRUD and browser/UI paths for web-only
258
+ export flows.
259
+ 4. Be explicit about which path you chose and why.