@hybridaione/hybridclaw 0.3.1 → 0.4.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 (382) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +59 -3
  3. package/config.example.json +24 -1
  4. package/container/dist/approval-policy.js +41 -0
  5. package/container/dist/approval-policy.js.map +1 -1
  6. package/container/dist/browser-tools.js +86 -20
  7. package/container/dist/browser-tools.js.map +1 -1
  8. package/container/dist/index.js +32 -14
  9. package/container/dist/index.js.map +1 -1
  10. package/container/dist/model-client.js +27 -0
  11. package/container/dist/model-client.js.map +1 -0
  12. package/container/dist/model-retry.js +1 -1
  13. package/container/dist/model-retry.js.map +1 -1
  14. package/container/dist/{hybridai-client.js → providers/hybridai.js} +40 -57
  15. package/container/dist/providers/hybridai.js.map +1 -0
  16. package/container/dist/providers/openai-codex.js +598 -0
  17. package/container/dist/providers/openai-codex.js.map +1 -0
  18. package/container/dist/providers/shared.js +85 -0
  19. package/container/dist/providers/shared.js.map +1 -0
  20. package/container/dist/token-usage.js +1 -3
  21. package/container/dist/token-usage.js.map +1 -1
  22. package/container/dist/tools.js +147 -22
  23. package/container/dist/tools.js.map +1 -1
  24. package/container/dist/web-search.js +923 -0
  25. package/container/dist/web-search.js.map +1 -0
  26. package/container/package-lock.json +2 -2
  27. package/container/package.json +1 -1
  28. package/container/src/approval-policy.ts +48 -0
  29. package/container/src/browser-tools.ts +92 -19
  30. package/container/src/index.ts +57 -3
  31. package/container/src/model-client.ts +43 -0
  32. package/container/src/model-retry.ts +1 -1
  33. package/container/src/{hybridai-client.ts → providers/hybridai.ts} +51 -108
  34. package/container/src/providers/openai-codex.ts +824 -0
  35. package/container/src/providers/shared.ts +119 -0
  36. package/container/src/token-usage.ts +1 -4
  37. package/container/src/tools.ts +171 -23
  38. package/container/src/types.ts +22 -0
  39. package/container/src/web-search.ts +1182 -0
  40. package/dist/{agent.d.ts → agent/agent.d.ts} +1 -1
  41. package/dist/agent/agent.d.ts.map +1 -0
  42. package/dist/{agent.js → agent/agent.js} +1 -1
  43. package/dist/agent/agent.js.map +1 -0
  44. package/dist/{conversation.d.ts → agent/conversation.d.ts} +5 -3
  45. package/dist/agent/conversation.d.ts.map +1 -0
  46. package/dist/{conversation.js → agent/conversation.js} +5 -3
  47. package/dist/agent/conversation.js.map +1 -0
  48. package/dist/agent/delegation-manager.d.ts.map +1 -0
  49. package/dist/{delegation-manager.js → agent/delegation-manager.js} +2 -2
  50. package/dist/agent/delegation-manager.js.map +1 -0
  51. package/dist/{executor.d.ts → agent/executor.d.ts} +1 -1
  52. package/dist/agent/executor.d.ts.map +1 -0
  53. package/dist/{executor.js → agent/executor.js} +3 -3
  54. package/dist/agent/executor.js.map +1 -0
  55. package/dist/agent/proactive-policy.d.ts.map +1 -0
  56. package/dist/{proactive-policy.js → agent/proactive-policy.js} +1 -1
  57. package/dist/agent/proactive-policy.js.map +1 -0
  58. package/dist/{prompt-hooks.d.ts → agent/prompt-hooks.d.ts} +3 -1
  59. package/dist/agent/prompt-hooks.d.ts.map +1 -0
  60. package/dist/{prompt-hooks.js → agent/prompt-hooks.js} +14 -8
  61. package/dist/agent/prompt-hooks.js.map +1 -0
  62. package/dist/{side-effects.d.ts → agent/side-effects.d.ts} +1 -1
  63. package/dist/agent/side-effects.d.ts.map +1 -0
  64. package/dist/{side-effects.js → agent/side-effects.js} +3 -3
  65. package/dist/agent/side-effects.js.map +1 -0
  66. package/dist/agent/silent-reply-stream.d.ts.map +1 -0
  67. package/dist/agent/silent-reply-stream.js.map +1 -0
  68. package/dist/agent/silent-reply.d.ts.map +1 -0
  69. package/dist/agent/silent-reply.js.map +1 -0
  70. package/dist/agent/tool-summary.d.ts +6 -0
  71. package/dist/agent/tool-summary.d.ts.map +1 -0
  72. package/dist/agent/tool-summary.js +96 -0
  73. package/dist/agent/tool-summary.js.map +1 -0
  74. package/dist/audit/audit-cli.d.ts.map +1 -0
  75. package/dist/{audit-cli.js → audit/audit-cli.js} +3 -3
  76. package/dist/audit/audit-cli.js.map +1 -0
  77. package/dist/{audit-events.d.ts → audit/audit-events.d.ts} +1 -1
  78. package/dist/audit/audit-events.d.ts.map +1 -0
  79. package/dist/{audit-events.js → audit/audit-events.js} +2 -2
  80. package/dist/audit/audit-events.js.map +1 -0
  81. package/dist/audit/audit-trail.d.ts.map +1 -0
  82. package/dist/{audit-trail.js → audit/audit-trail.js} +1 -1
  83. package/dist/audit/audit-trail.js.map +1 -0
  84. package/dist/audit/observability-ingest.d.ts.map +1 -0
  85. package/dist/{observability-ingest.js → audit/observability-ingest.js} +3 -3
  86. package/dist/audit/observability-ingest.js.map +1 -0
  87. package/dist/auth/codex-auth.d.ts +111 -0
  88. package/dist/auth/codex-auth.d.ts.map +1 -0
  89. package/dist/auth/codex-auth.js +959 -0
  90. package/dist/auth/codex-auth.js.map +1 -0
  91. package/dist/auth/hybridai-auth.d.ts +24 -0
  92. package/dist/auth/hybridai-auth.d.ts.map +1 -0
  93. package/dist/auth/hybridai-auth.js +306 -0
  94. package/dist/auth/hybridai-auth.js.map +1 -0
  95. package/dist/channels/discord/attachments.js +1 -1
  96. package/dist/channels/discord/attachments.js.map +1 -1
  97. package/dist/channels/discord/delivery.d.ts.map +1 -1
  98. package/dist/channels/discord/delivery.js +2 -2
  99. package/dist/channels/discord/delivery.js.map +1 -1
  100. package/dist/channels/discord/inbound.js +2 -2
  101. package/dist/channels/discord/inbound.js.map +1 -1
  102. package/dist/channels/discord/runtime.d.ts.map +1 -1
  103. package/dist/channels/discord/runtime.js +85 -5
  104. package/dist/channels/discord/runtime.js.map +1 -1
  105. package/dist/channels/discord/send-permissions.d.ts +1 -1
  106. package/dist/channels/discord/send-permissions.d.ts.map +1 -1
  107. package/dist/channels/discord/send-permissions.js +1 -1
  108. package/dist/channels/discord/send-permissions.js.map +1 -1
  109. package/dist/channels/discord/stream.d.ts.map +1 -1
  110. package/dist/channels/discord/stream.js +2 -2
  111. package/dist/channels/discord/stream.js.map +1 -1
  112. package/dist/cli.d.ts +2 -1
  113. package/dist/cli.d.ts.map +1 -1
  114. package/dist/cli.js +202 -44
  115. package/dist/cli.js.map +1 -1
  116. package/dist/{cli-flags.d.ts → config/cli-flags.d.ts} +3 -1
  117. package/dist/config/cli-flags.d.ts.map +1 -0
  118. package/dist/{cli-flags.js → config/cli-flags.js} +14 -1
  119. package/dist/config/cli-flags.js.map +1 -0
  120. package/dist/{config.d.ts → config/config.d.ts} +10 -1
  121. package/dist/config/config.d.ts.map +1 -0
  122. package/dist/{config.js → config/config.js} +45 -11
  123. package/dist/config/config.js.map +1 -0
  124. package/dist/{runtime-config.d.ts → config/runtime-config.d.ts} +17 -1
  125. package/dist/config/runtime-config.d.ts.map +1 -0
  126. package/dist/{runtime-config.js → config/runtime-config.js} +95 -1
  127. package/dist/config/runtime-config.js.map +1 -0
  128. package/dist/gateway/gateway-client.d.ts.map +1 -0
  129. package/dist/{gateway-client.js → gateway/gateway-client.js} +1 -1
  130. package/dist/gateway/gateway-client.js.map +1 -0
  131. package/dist/{gateway-service.d.ts → gateway/gateway-service.d.ts} +1 -1
  132. package/dist/gateway/gateway-service.d.ts.map +1 -0
  133. package/dist/{gateway-service.js → gateway/gateway-service.js} +144 -40
  134. package/dist/gateway/gateway-service.js.map +1 -0
  135. package/dist/{gateway-types.d.ts → gateway/gateway-types.d.ts} +8 -1
  136. package/dist/gateway/gateway-types.d.ts.map +1 -0
  137. package/dist/gateway/gateway-types.js.map +1 -0
  138. package/dist/{gateway.d.ts.map → gateway/gateway.d.ts.map} +1 -1
  139. package/dist/{gateway.js → gateway/gateway.js} +16 -15
  140. package/dist/gateway/gateway.js.map +1 -0
  141. package/dist/gateway/health.d.ts.map +1 -0
  142. package/dist/{health.js → gateway/health.js} +16 -8
  143. package/dist/gateway/health.js.map +1 -0
  144. package/dist/{container-runner.d.ts → infra/container-runner.d.ts} +1 -1
  145. package/dist/infra/container-runner.d.ts.map +1 -0
  146. package/dist/{container-runner.js → infra/container-runner.js} +74 -22
  147. package/dist/infra/container-runner.js.map +1 -0
  148. package/dist/{container-setup.d.ts → infra/container-setup.d.ts} +2 -0
  149. package/dist/infra/container-setup.d.ts.map +1 -0
  150. package/dist/{container-setup.js → infra/container-setup.js} +65 -21
  151. package/dist/infra/container-setup.js.map +1 -0
  152. package/dist/{host-runner.d.ts → infra/host-runner.d.ts} +1 -1
  153. package/dist/infra/host-runner.d.ts.map +1 -0
  154. package/dist/{host-runner.js → infra/host-runner.js} +62 -22
  155. package/dist/infra/host-runner.js.map +1 -0
  156. package/dist/infra/install-root.d.ts.map +1 -0
  157. package/dist/infra/install-root.js.map +1 -0
  158. package/dist/{ipc.d.ts → infra/ipc.d.ts} +3 -3
  159. package/dist/infra/ipc.d.ts.map +1 -0
  160. package/dist/{ipc.js → infra/ipc.js} +7 -5
  161. package/dist/infra/ipc.js.map +1 -0
  162. package/dist/logger.d.ts.map +1 -1
  163. package/dist/logger.js +32 -2
  164. package/dist/logger.js.map +1 -1
  165. package/dist/memory/chunk.d.ts.map +1 -0
  166. package/dist/memory/chunk.js.map +1 -0
  167. package/dist/{db.d.ts → memory/db.d.ts} +2 -2
  168. package/dist/memory/db.d.ts.map +1 -0
  169. package/dist/{db.js → memory/db.js} +3 -3
  170. package/dist/memory/db.js.map +1 -0
  171. package/dist/memory/memory-consolidation.d.ts.map +1 -0
  172. package/dist/memory/memory-consolidation.js.map +1 -0
  173. package/dist/{memory-service.d.ts → memory/memory-service.d.ts} +1 -1
  174. package/dist/memory/memory-service.d.ts.map +1 -0
  175. package/dist/memory/memory-service.js.map +1 -0
  176. package/dist/onboarding.d.ts +2 -0
  177. package/dist/onboarding.d.ts.map +1 -1
  178. package/dist/onboarding.js +216 -101
  179. package/dist/onboarding.js.map +1 -1
  180. package/dist/providers/anthropic.d.ts +4 -0
  181. package/dist/providers/anthropic.d.ts.map +1 -0
  182. package/dist/providers/anthropic.js +22 -0
  183. package/dist/providers/anthropic.js.map +1 -0
  184. package/dist/providers/factory.d.ts +10 -0
  185. package/dist/providers/factory.d.ts.map +1 -0
  186. package/dist/providers/factory.js +42 -0
  187. package/dist/providers/factory.js.map +1 -0
  188. package/dist/{hybridai-bots.d.ts → providers/hybridai-bots.d.ts} +1 -1
  189. package/dist/providers/hybridai-bots.d.ts.map +1 -0
  190. package/dist/{hybridai-bots.js → providers/hybridai-bots.js} +2 -1
  191. package/dist/providers/hybridai-bots.js.map +1 -0
  192. package/dist/providers/hybridai-models.d.ts.map +1 -0
  193. package/dist/{hybridai-models.js → providers/hybridai-models.js} +1 -0
  194. package/dist/providers/hybridai-models.js.map +1 -0
  195. package/dist/providers/hybridai.d.ts +3 -0
  196. package/dist/providers/hybridai.d.ts.map +1 -0
  197. package/dist/providers/hybridai.js +30 -0
  198. package/dist/providers/hybridai.js.map +1 -0
  199. package/dist/providers/openai.d.ts +4 -0
  200. package/dist/providers/openai.d.ts.map +1 -0
  201. package/dist/providers/openai.js +38 -0
  202. package/dist/providers/openai.js.map +1 -0
  203. package/dist/providers/types.d.ts +25 -0
  204. package/dist/providers/types.d.ts.map +1 -0
  205. package/dist/providers/types.js +2 -0
  206. package/dist/providers/types.js.map +1 -0
  207. package/dist/scheduler/heartbeat.d.ts.map +1 -0
  208. package/dist/{heartbeat.js → scheduler/heartbeat.js} +23 -16
  209. package/dist/scheduler/heartbeat.js.map +1 -0
  210. package/dist/scheduler/scheduled-task-runner.d.ts.map +1 -0
  211. package/dist/{scheduled-task-runner.js → scheduler/scheduled-task-runner.js} +7 -5
  212. package/dist/scheduler/scheduled-task-runner.js.map +1 -0
  213. package/dist/scheduler/scheduler.d.ts.map +1 -0
  214. package/dist/{scheduler.js → scheduler/scheduler.js} +3 -3
  215. package/dist/scheduler/scheduler.js.map +1 -0
  216. package/dist/security/instruction-approval-audit.d.ts.map +1 -0
  217. package/dist/{instruction-approval-audit.js → security/instruction-approval-audit.js} +3 -3
  218. package/dist/security/instruction-approval-audit.js.map +1 -0
  219. package/dist/security/instruction-integrity.d.ts.map +1 -0
  220. package/dist/{instruction-integrity.js → security/instruction-integrity.js} +1 -1
  221. package/dist/security/instruction-integrity.js.map +1 -0
  222. package/dist/{mount-security.d.ts → security/mount-security.d.ts} +1 -1
  223. package/dist/security/mount-security.d.ts.map +1 -0
  224. package/dist/{mount-security.js → security/mount-security.js} +2 -2
  225. package/dist/security/mount-security.js.map +1 -0
  226. package/dist/security/runtime-secrets.d.ts.map +1 -0
  227. package/dist/security/runtime-secrets.js.map +1 -0
  228. package/dist/{session-export.d.ts → session/session-export.d.ts} +1 -1
  229. package/dist/session/session-export.d.ts.map +1 -0
  230. package/dist/{session-export.js → session/session-export.js} +2 -2
  231. package/dist/session/session-export.js.map +1 -0
  232. package/dist/session/session-maintenance.d.ts.map +1 -0
  233. package/dist/{session-maintenance.js → session/session-maintenance.js} +7 -6
  234. package/dist/session/session-maintenance.js.map +1 -0
  235. package/dist/session/session-transcripts.d.ts.map +1 -0
  236. package/dist/{session-transcripts.js → session/session-transcripts.js} +2 -2
  237. package/dist/session/session-transcripts.js.map +1 -0
  238. package/dist/{token-efficiency.d.ts → session/token-efficiency.d.ts} +1 -1
  239. package/dist/session/token-efficiency.d.ts.map +1 -0
  240. package/dist/session/token-efficiency.js.map +1 -0
  241. package/dist/skills/skills-guard.d.ts.map +1 -0
  242. package/dist/skills/skills-guard.js.map +1 -0
  243. package/dist/skills/skills.d.ts.map +1 -0
  244. package/dist/{skills.js → skills/skills.js} +3 -3
  245. package/dist/skills/skills.js.map +1 -0
  246. package/dist/tui.js +4 -4
  247. package/dist/tui.js.map +1 -1
  248. package/dist/types.d.ts +10 -0
  249. package/dist/types.d.ts.map +1 -1
  250. package/dist/types.js.map +1 -1
  251. package/dist/workspace.d.ts.map +1 -1
  252. package/dist/workspace.js +6 -3
  253. package/dist/workspace.js.map +1 -1
  254. package/docs/index.html +14 -14
  255. package/docs/tools/web-search.md +74 -0
  256. package/package.json +1 -1
  257. package/templates/AGENTS.md +4 -3
  258. package/templates/SOUL.md +1 -1
  259. package/container/dist/hybridai-client.js.map +0 -1
  260. package/dist/agent.d.ts.map +0 -1
  261. package/dist/agent.js.map +0 -1
  262. package/dist/audit-cli.d.ts.map +0 -1
  263. package/dist/audit-cli.js.map +0 -1
  264. package/dist/audit-events.d.ts.map +0 -1
  265. package/dist/audit-events.js.map +0 -1
  266. package/dist/audit-trail.d.ts.map +0 -1
  267. package/dist/audit-trail.js.map +0 -1
  268. package/dist/chunk.d.ts.map +0 -1
  269. package/dist/chunk.js.map +0 -1
  270. package/dist/cli-flags.d.ts.map +0 -1
  271. package/dist/cli-flags.js.map +0 -1
  272. package/dist/config.d.ts.map +0 -1
  273. package/dist/config.js.map +0 -1
  274. package/dist/container-runner.d.ts.map +0 -1
  275. package/dist/container-runner.js.map +0 -1
  276. package/dist/container-setup.d.ts.map +0 -1
  277. package/dist/container-setup.js.map +0 -1
  278. package/dist/conversation.d.ts.map +0 -1
  279. package/dist/conversation.js.map +0 -1
  280. package/dist/db.d.ts.map +0 -1
  281. package/dist/db.js.map +0 -1
  282. package/dist/delegation-manager.d.ts.map +0 -1
  283. package/dist/delegation-manager.js.map +0 -1
  284. package/dist/executor.d.ts.map +0 -1
  285. package/dist/executor.js.map +0 -1
  286. package/dist/gateway-client.d.ts.map +0 -1
  287. package/dist/gateway-client.js.map +0 -1
  288. package/dist/gateway-service.d.ts.map +0 -1
  289. package/dist/gateway-service.js.map +0 -1
  290. package/dist/gateway-types.d.ts.map +0 -1
  291. package/dist/gateway-types.js.map +0 -1
  292. package/dist/gateway.js.map +0 -1
  293. package/dist/health.d.ts.map +0 -1
  294. package/dist/health.js.map +0 -1
  295. package/dist/heartbeat.d.ts.map +0 -1
  296. package/dist/heartbeat.js.map +0 -1
  297. package/dist/host-runner.d.ts.map +0 -1
  298. package/dist/host-runner.js.map +0 -1
  299. package/dist/hybridai-bots.d.ts.map +0 -1
  300. package/dist/hybridai-bots.js.map +0 -1
  301. package/dist/hybridai-models.d.ts.map +0 -1
  302. package/dist/hybridai-models.js.map +0 -1
  303. package/dist/install-root.d.ts.map +0 -1
  304. package/dist/install-root.js.map +0 -1
  305. package/dist/instruction-approval-audit.d.ts.map +0 -1
  306. package/dist/instruction-approval-audit.js.map +0 -1
  307. package/dist/instruction-integrity.d.ts.map +0 -1
  308. package/dist/instruction-integrity.js.map +0 -1
  309. package/dist/ipc.d.ts.map +0 -1
  310. package/dist/ipc.js.map +0 -1
  311. package/dist/memory-consolidation.d.ts.map +0 -1
  312. package/dist/memory-consolidation.js.map +0 -1
  313. package/dist/memory-service.d.ts.map +0 -1
  314. package/dist/memory-service.js.map +0 -1
  315. package/dist/mount-security.d.ts.map +0 -1
  316. package/dist/mount-security.js.map +0 -1
  317. package/dist/observability-ingest.d.ts.map +0 -1
  318. package/dist/observability-ingest.js.map +0 -1
  319. package/dist/proactive-policy.d.ts.map +0 -1
  320. package/dist/proactive-policy.js.map +0 -1
  321. package/dist/prompt-hooks.d.ts.map +0 -1
  322. package/dist/prompt-hooks.js.map +0 -1
  323. package/dist/runtime-config.d.ts.map +0 -1
  324. package/dist/runtime-config.js.map +0 -1
  325. package/dist/runtime-secrets.d.ts.map +0 -1
  326. package/dist/runtime-secrets.js.map +0 -1
  327. package/dist/scheduled-task-runner.d.ts.map +0 -1
  328. package/dist/scheduled-task-runner.js.map +0 -1
  329. package/dist/scheduler.d.ts.map +0 -1
  330. package/dist/scheduler.js.map +0 -1
  331. package/dist/session-export.d.ts.map +0 -1
  332. package/dist/session-export.js.map +0 -1
  333. package/dist/session-maintenance.d.ts.map +0 -1
  334. package/dist/session-maintenance.js.map +0 -1
  335. package/dist/session-transcripts.d.ts.map +0 -1
  336. package/dist/session-transcripts.js.map +0 -1
  337. package/dist/side-effects.d.ts.map +0 -1
  338. package/dist/side-effects.js.map +0 -1
  339. package/dist/silent-reply-stream.d.ts.map +0 -1
  340. package/dist/silent-reply-stream.js.map +0 -1
  341. package/dist/silent-reply.d.ts.map +0 -1
  342. package/dist/silent-reply.js.map +0 -1
  343. package/dist/skills-guard.d.ts.map +0 -1
  344. package/dist/skills-guard.js.map +0 -1
  345. package/dist/skills.d.ts.map +0 -1
  346. package/dist/skills.js.map +0 -1
  347. package/dist/token-efficiency.d.ts.map +0 -1
  348. package/dist/token-efficiency.js.map +0 -1
  349. /package/dist/{delegation-manager.d.ts → agent/delegation-manager.d.ts} +0 -0
  350. /package/dist/{proactive-policy.d.ts → agent/proactive-policy.d.ts} +0 -0
  351. /package/dist/{silent-reply-stream.d.ts → agent/silent-reply-stream.d.ts} +0 -0
  352. /package/dist/{silent-reply-stream.js → agent/silent-reply-stream.js} +0 -0
  353. /package/dist/{silent-reply.d.ts → agent/silent-reply.d.ts} +0 -0
  354. /package/dist/{silent-reply.js → agent/silent-reply.js} +0 -0
  355. /package/dist/{audit-cli.d.ts → audit/audit-cli.d.ts} +0 -0
  356. /package/dist/{audit-trail.d.ts → audit/audit-trail.d.ts} +0 -0
  357. /package/dist/{observability-ingest.d.ts → audit/observability-ingest.d.ts} +0 -0
  358. /package/dist/{gateway-client.d.ts → gateway/gateway-client.d.ts} +0 -0
  359. /package/dist/{gateway-types.js → gateway/gateway-types.js} +0 -0
  360. /package/dist/{gateway.d.ts → gateway/gateway.d.ts} +0 -0
  361. /package/dist/{health.d.ts → gateway/health.d.ts} +0 -0
  362. /package/dist/{install-root.d.ts → infra/install-root.d.ts} +0 -0
  363. /package/dist/{install-root.js → infra/install-root.js} +0 -0
  364. /package/dist/{chunk.d.ts → memory/chunk.d.ts} +0 -0
  365. /package/dist/{chunk.js → memory/chunk.js} +0 -0
  366. /package/dist/{memory-consolidation.d.ts → memory/memory-consolidation.d.ts} +0 -0
  367. /package/dist/{memory-consolidation.js → memory/memory-consolidation.js} +0 -0
  368. /package/dist/{memory-service.js → memory/memory-service.js} +0 -0
  369. /package/dist/{hybridai-models.d.ts → providers/hybridai-models.d.ts} +0 -0
  370. /package/dist/{heartbeat.d.ts → scheduler/heartbeat.d.ts} +0 -0
  371. /package/dist/{scheduled-task-runner.d.ts → scheduler/scheduled-task-runner.d.ts} +0 -0
  372. /package/dist/{scheduler.d.ts → scheduler/scheduler.d.ts} +0 -0
  373. /package/dist/{instruction-approval-audit.d.ts → security/instruction-approval-audit.d.ts} +0 -0
  374. /package/dist/{instruction-integrity.d.ts → security/instruction-integrity.d.ts} +0 -0
  375. /package/dist/{runtime-secrets.d.ts → security/runtime-secrets.d.ts} +0 -0
  376. /package/dist/{runtime-secrets.js → security/runtime-secrets.js} +0 -0
  377. /package/dist/{session-maintenance.d.ts → session/session-maintenance.d.ts} +0 -0
  378. /package/dist/{session-transcripts.d.ts → session/session-transcripts.d.ts} +0 -0
  379. /package/dist/{token-efficiency.js → session/token-efficiency.js} +0 -0
  380. /package/dist/{skills-guard.d.ts → skills/skills-guard.d.ts} +0 -0
  381. /package/dist/{skills-guard.js → skills/skills-guard.js} +0 -0
  382. /package/dist/{skills.d.ts → skills/skills.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.4.2](https://github.com/HybridAIOne/hybridclaw/tree/v0.4.2)
6
+
7
+ ### Added
8
+
9
+ - **Gateway debug tracing**: Added `hybridclaw gateway start|restart --debug` to force debug logging and emit request-stage traces across Discord intake, gateway chat handling, container model calls, and Codex streaming transport.
10
+
11
+ ### Changed
12
+
13
+ - **Unified configured model catalog**: Discord slash commands, gateway model commands, and TUI model selection now all consume the same deduplicated configured model list derived from runtime config.
14
+ - **Startup path reliability**: TUI now attaches to a reachable gateway without redundant local runtime preflight, and the CLI resolves symlinked installs correctly so globally linked `hybridclaw` commands no longer exit silently.
15
+
16
+ ### Fixed
17
+
18
+ - **Discord DM trigger suppression**: Greeting-only direct messages are no longer dropped by the guild-oriented auto-suppress filter before they reach the model pipeline.
19
+ - **Container refresh fallback**: Gateway restart now keeps using an existing local image if a stale-image rebuild attempt fails, instead of aborting despite a usable runtime image.
20
+
21
+ ## [0.4.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.4.1)
22
+
23
+ ### Added
24
+
25
+ - **HybridAI auth commands**: Added `hybridclaw hybridai login`, `status`, and `logout` commands with browser-assisted, headless/manual, and env-import flows backed by the existing `~/.hybridclaw/credentials.json` secrets store.
26
+
27
+ ## [0.4.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.4.0)
28
+
29
+ ### Added
30
+
31
+ - **OpenAI Codex OAuth support**: Added `hybridclaw codex login`, `status`, and `logout` commands with browser PKCE, device-code, and Codex CLI import flows backed by a dedicated `~/.hybridclaw/codex-auth.json` store.
32
+ - **Provider-aware model selection**: Runtime config and onboarding now support `openai-codex/...` models alongside HybridAI models, including an expanded default Codex model catalog and provider-specific credential routing.
33
+
34
+ ### Changed
35
+
36
+ - **Human-readable tool summary in prompts**: System prompts now include a compact grouped tool inventory, and delegated subagents see the same summary filtered to their actual allowed toolset so plain-language tool selection guidance reinforces the API schemas.
37
+ - **Gateway/runtime provider plumbing**: Gateway status output now surfaces Codex auth state, model resolution routes provider-prefixed models through dedicated adapters, and the container runtime uses provider-specific model clients.
38
+
39
+ ### Fixed
40
+
41
+ - **Web-vs-browser tool routing**: Prompt guidance now pushes read-only retrieval toward `web_fetch`, while gateway media routing avoids `browser_vision` for Discord-uploaded images unless the task is explicitly about the active browser tab.
42
+
5
43
  ## [0.3.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.3.1)
6
44
 
7
45
  ### Changed
package/README.md CHANGED
@@ -11,8 +11,6 @@ npm install -g @hybridaione/hybridclaw
11
11
  hybridclaw onboarding
12
12
  ```
13
13
 
14
- Latest release: [v0.3.1](https://github.com/HybridAIOne/hybridclaw/releases/tag/v0.3.1)
15
-
16
14
  ## HybridAI Advantage
17
15
 
18
16
  - Security-focused foundation
@@ -61,6 +59,58 @@ hybridclaw tui
61
59
  # open http://127.0.0.1:9090/chat
62
60
  ```
63
61
 
62
+ ## Authentication
63
+
64
+ HybridClaw supports two auth paths:
65
+
66
+ - `HybridAI API key` via `hybridclaw hybridai ...` or `hybridclaw onboarding`
67
+ - `OpenAI Codex OAuth` via `hybridclaw codex ...`
68
+
69
+ HybridAI commands:
70
+
71
+ ```bash
72
+ hybridclaw hybridai login
73
+ hybridclaw hybridai login --device-code
74
+ hybridclaw hybridai login --browser
75
+ hybridclaw hybridai login --import
76
+ hybridclaw hybridai status
77
+ hybridclaw hybridai logout
78
+ ```
79
+
80
+ - `hybridclaw hybridai login` auto-selects browser login on local GUI machines and a manual/headless API-key flow on SSH, CI, and container shells.
81
+ - `hybridclaw hybridai login --import` copies the current `HYBRIDAI_API_KEY` from your shell into `~/.hybridclaw/credentials.json`.
82
+ - HybridAI secrets are stored in `~/.hybridclaw/credentials.json`.
83
+
84
+ Codex commands:
85
+
86
+ ```bash
87
+ hybridclaw codex login
88
+ hybridclaw codex login --device-code
89
+ hybridclaw codex login --browser
90
+ hybridclaw codex login --import
91
+ hybridclaw codex status
92
+ hybridclaw codex logout
93
+ ```
94
+
95
+ - `hybridclaw codex login` auto-selects browser PKCE on local GUI machines and device code on headless or remote shells.
96
+ - Codex credentials are stored separately in `~/.hybridclaw/codex-auth.json`.
97
+
98
+ ## Model Selection
99
+
100
+ Codex models use the `openai-codex/` prefix. The default shipped Codex model is `openai-codex/gpt-5-codex`.
101
+
102
+ Examples:
103
+
104
+ ```text
105
+ /model openai-codex/gpt-5-codex
106
+ /model default openai-codex/gpt-5-codex
107
+ ```
108
+
109
+ - `hybridai.defaultModel` in `~/.hybridclaw/config.json` can point at either a HybridAI model or an `openai-codex/...` model.
110
+ - `codex.models` in runtime config controls the allowed Codex model list shown in selectors and status output.
111
+ - When the selected model starts with `openai-codex/`, HybridClaw resolves OAuth credentials through the Codex provider instead of `HYBRIDAI_API_KEY`.
112
+ - Use `HYBRIDCLAW_CODEX_BASE_URL` to override the default Codex backend base URL (`https://chatgpt.com/backend-api/codex`).
113
+
64
114
  Runtime model:
65
115
 
66
116
  - `hybridclaw gateway` is the core process and should run first.
@@ -80,7 +130,7 @@ HybridClaw creates `~/.hybridclaw/config.json` on first run and hot-reloads most
80
130
  - Runtime state lives under `~/.hybridclaw/` (`config.json`, `credentials.json`, `data/hybridclaw.db`, audit/session files).
81
131
  - HybridClaw does not keep runtime state in the current working directory. If `./.env` exists, supported secrets are migrated once into `~/.hybridclaw/credentials.json`.
82
132
  - `container.*` controls execution isolation, including `sandboxMode`, `memory`, `memorySwap`, `cpus`, `network`, and additional mounts.
83
- - Keep secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY` required, `DISCORD_TOKEN` optional).
133
+ - Keep HybridAI secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY` required for HybridAI models, `DISCORD_TOKEN` optional). Codex OAuth sessions are stored separately in `~/.hybridclaw/codex-auth.json`.
84
134
  - Trust-model acceptance is stored in `~/.hybridclaw/config.json` under `security.*` and is required before runtime starts.
85
135
  - See [TRUST_MODEL.md](./TRUST_MODEL.md) for onboarding acceptance policy and [SECURITY.md](./SECURITY.md) for technical security guidelines.
86
136
  - For advanced configuration, audit/observability details, skills internals, agent tools, and developer docs, see [CONTRIBUTING.md](./CONTRIBUTING.md).
@@ -97,6 +147,12 @@ CLI runtime commands:
97
147
  - `hybridclaw gateway <command...>` — Send a command to a running gateway (for example `sessions`, `bot info`)
98
148
  - `hybridclaw tui` — Start terminal client connected to gateway
99
149
  - `hybridclaw onboarding` — Run HybridAI account/API key onboarding
150
+ - `hybridclaw hybridai login [--device-code|--browser|--import]` — Store HybridAI API credentials via browser-assisted, headless/manual, or env-import flows
151
+ - `hybridclaw hybridai status` — Show stored HybridAI auth state, token mask, and source
152
+ - `hybridclaw hybridai logout` — Clear stored HybridAI credentials
153
+ - `hybridclaw codex login [--device-code|--browser|--import]` — Authenticate OpenAI Codex via OAuth or one-time Codex CLI import
154
+ - `hybridclaw codex status` — Show stored Codex auth state, token mask, expiry, and source
155
+ - `hybridclaw codex logout` — Clear stored Codex credentials
100
156
  - `hybridclaw update [status|--check] [--yes]` — Check for updates and upgrade global npm installs (source checkouts get git-based update instructions)
101
157
  - `hybridclaw audit ...` — Verify and inspect structured audit trail (`recent`, `search`, `approvals`, `verify`, `instructions`)
102
158
  - `hybridclaw audit instructions [--sync]` — Compare runtime instruction copies under `~/.hybridclaw/instructions/` against installed sources and restore shipped defaults when needed
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 6,
2
+ "version": 7,
3
3
  "security": {
4
4
  "trustModelAccepted": false,
5
5
  "trustModelAcceptedAt": "",
@@ -68,6 +68,19 @@
68
68
  "enableRag": true,
69
69
  "models": ["gpt-5-nano", "gpt-5-mini", "gpt-5"]
70
70
  },
71
+ "codex": {
72
+ "baseUrl": "https://chatgpt.com/backend-api/codex",
73
+ "models": [
74
+ "openai-codex/gpt-5-codex",
75
+ "openai-codex/gpt-5.3-codex",
76
+ "openai-codex/gpt-5.4",
77
+ "openai-codex/gpt-5.3-codex-spark",
78
+ "openai-codex/gpt-5.2-codex",
79
+ "openai-codex/gpt-5.1-codex-max",
80
+ "openai-codex/gpt-5.2",
81
+ "openai-codex/gpt-5.1-codex-mini"
82
+ ]
83
+ },
71
84
  "container": {
72
85
  "sandboxMode": "container",
73
86
  "image": "hybridclaw-agent",
@@ -80,6 +93,16 @@
80
93
  "maxOutputBytes": 10485760,
81
94
  "maxConcurrent": 5
82
95
  },
96
+ "web": {
97
+ "search": {
98
+ "provider": "auto",
99
+ "fallbackProviders": [],
100
+ "defaultCount": 5,
101
+ "cacheTtlMinutes": 5,
102
+ "searxngBaseUrl": "",
103
+ "tavilySearchDepth": "advanced"
104
+ }
105
+ },
83
106
  "heartbeat": {
84
107
  "enabled": true,
85
108
  "intervalMs": 1800000,
@@ -941,6 +941,47 @@ export class TrustedCoworkerApprovalRuntime {
941
941
  stickyYellow: false,
942
942
  };
943
943
  }
944
+ if (lowerTool === 'web_search') {
945
+ const provider = normalizeText(args.provider).toLowerCase();
946
+ const providerHosts = (() => {
947
+ switch (provider) {
948
+ case 'brave':
949
+ return ['api.search.brave.com'];
950
+ case 'perplexity':
951
+ return ['api.perplexity.ai'];
952
+ case 'tavily':
953
+ return ['api.tavily.com'];
954
+ case 'duckduckgo':
955
+ return ['html.duckduckgo.com'];
956
+ case 'searxng':
957
+ return extractHostScopes(extractHostsFromUrlLikeText(process.env.SEARXNG_BASE_URL || ''));
958
+ default:
959
+ return [
960
+ 'api.search.brave.com',
961
+ 'api.perplexity.ai',
962
+ 'api.tavily.com',
963
+ 'html.duckduckgo.com',
964
+ ];
965
+ }
966
+ })();
967
+ const primaryHost = providerHosts[0] || 'web-search';
968
+ const unseen = providerHosts.filter((host) => !this.seenNetworkHosts.has(host));
969
+ return {
970
+ tier: unseen.length > 0 ? 'red' : 'yellow',
971
+ actionKey: `network:${primaryHost}`,
972
+ intent: `search the web via ${provider || 'configured providers'}`,
973
+ consequenceIfDenied: 'I will avoid external search providers and continue with local context only.',
974
+ reason: unseen.length > 0
975
+ ? 'this would contact a new external host'
976
+ : 'this is an external network action',
977
+ commandPreview: normalizePreview(JSON.stringify(args)),
978
+ pathHints: [],
979
+ hostHints: providerHosts,
980
+ writeIntent: false,
981
+ promotableRed: unseen.length > 0,
982
+ stickyYellow: true,
983
+ };
984
+ }
944
985
  if (lowerTool === 'web_fetch' || lowerTool === 'browser_navigate') {
945
986
  const rawUrl = normalizeText(args.url);
946
987
  const hostScopes = extractHostScopes(extractHostsFromUrlLikeText(rawUrl));
@@ -1 +1 @@
1
- {"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
@@ -124,21 +124,57 @@ const FIND_FILE_INPUT_SELECTORS_SCRIPT = `(() => {
124
124
  const activeSessions = new Map();
125
125
  let cachedRunner;
126
126
  let currentBrowserModelContext = {
127
+ provider: 'hybridai',
127
128
  baseUrl: '',
128
129
  apiKey: '',
129
130
  model: '',
130
131
  chatbotId: '',
132
+ requestHeaders: {},
131
133
  };
132
- export function setBrowserModelContext(baseUrl, apiKey, model, chatbotId) {
134
+ export function setBrowserModelContext(provider, baseUrl, apiKey, model, chatbotId, requestHeaders) {
133
135
  currentBrowserModelContext = {
136
+ provider: provider || 'hybridai',
134
137
  baseUrl: String(baseUrl || '')
135
138
  .trim()
136
139
  .replace(/\/+$/, ''),
137
140
  apiKey: String(apiKey || '').trim(),
138
141
  model: String(model || '').trim(),
139
142
  chatbotId: String(chatbotId || '').trim(),
143
+ requestHeaders: { ...(requestHeaders || {}) },
140
144
  };
141
145
  }
146
+ function normalizeCodexModelName(model) {
147
+ const trimmed = String(model || '').trim();
148
+ if (!trimmed.toLowerCase().startsWith('openai-codex/'))
149
+ return trimmed;
150
+ return trimmed.slice('openai-codex/'.length) || trimmed;
151
+ }
152
+ function extractCodexOutputText(payload) {
153
+ const output = Array.isArray(payload.output) ? payload.output : [];
154
+ const chunks = [];
155
+ for (const item of output) {
156
+ if (!item || typeof item !== 'object' || Array.isArray(item))
157
+ continue;
158
+ const record = item;
159
+ if (record.type !== 'message' || !Array.isArray(record.content))
160
+ continue;
161
+ for (const contentItem of record.content) {
162
+ if (contentItem &&
163
+ typeof contentItem === 'object' &&
164
+ !Array.isArray(contentItem)) {
165
+ const contentRecord = contentItem;
166
+ const text = typeof contentRecord.text === 'string'
167
+ ? contentRecord.text
168
+ : typeof contentRecord.output_text === 'string'
169
+ ? contentRecord.output_text
170
+ : '';
171
+ if (text)
172
+ chunks.push(text);
173
+ }
174
+ }
175
+ }
176
+ return chunks.join('\n').trim();
177
+ }
142
178
  function normalizeSessionKey(sessionId) {
143
179
  const normalized = String(sessionId || 'default')
144
180
  .trim()
@@ -719,6 +755,7 @@ async function callVisionModel(question, imageBase64) {
719
755
  const baseUrl = currentBrowserModelContext.baseUrl;
720
756
  const model = currentBrowserModelContext.model;
721
757
  const chatbotId = currentBrowserModelContext.chatbotId;
758
+ const provider = currentBrowserModelContext.provider;
722
759
  if (!apiKey) {
723
760
  throw new Error('browser_vision is not configured: missing active request API key context.');
724
761
  }
@@ -728,32 +765,51 @@ async function callVisionModel(question, imageBase64) {
728
765
  if (!model) {
729
766
  throw new Error('browser_vision is not configured: missing active request model context.');
730
767
  }
731
- if (!chatbotId) {
768
+ if (provider !== 'openai-codex' && !chatbotId) {
732
769
  throw new Error('browser_vision is not configured: missing active request chatbot_id context.');
733
770
  }
734
- const endpoint = `${baseUrl}/v1/chat/completions`;
735
- const payload = {
736
- model,
737
- chatbot_id: chatbotId,
738
- enable_rag: false,
739
- messages: [
740
- {
741
- role: 'user',
742
- content: [
743
- { type: 'text', text: question },
744
- {
745
- type: 'image_url',
746
- image_url: { url: `data:image/png;base64,${imageBase64}` },
747
- },
748
- ],
749
- },
750
- ],
751
- };
771
+ const endpoint = provider === 'openai-codex'
772
+ ? `${baseUrl}/responses`
773
+ : `${baseUrl}/v1/chat/completions`;
774
+ const payload = provider === 'openai-codex'
775
+ ? {
776
+ model: normalizeCodexModelName(model),
777
+ input: [
778
+ {
779
+ role: 'user',
780
+ content: [
781
+ { type: 'input_text', text: question },
782
+ {
783
+ type: 'input_image',
784
+ image_url: `data:image/png;base64,${imageBase64}`,
785
+ },
786
+ ],
787
+ },
788
+ ],
789
+ }
790
+ : {
791
+ model,
792
+ chatbot_id: chatbotId,
793
+ enable_rag: false,
794
+ messages: [
795
+ {
796
+ role: 'user',
797
+ content: [
798
+ { type: 'text', text: question },
799
+ {
800
+ type: 'image_url',
801
+ image_url: { url: `data:image/png;base64,${imageBase64}` },
802
+ },
803
+ ],
804
+ },
805
+ ],
806
+ };
752
807
  const response = await fetch(endpoint, {
753
808
  method: 'POST',
754
809
  headers: {
755
810
  'Content-Type': 'application/json',
756
811
  Authorization: `Bearer ${apiKey}`,
812
+ ...currentBrowserModelContext.requestHeaders,
757
813
  },
758
814
  body: JSON.stringify(payload),
759
815
  });
@@ -770,6 +826,16 @@ async function callVisionModel(question, imageBase64) {
770
826
  throw new Error('vision API returned a non-JSON response');
771
827
  }
772
828
  const record = asRecord(parsed);
829
+ if (provider === 'openai-codex') {
830
+ if (!record) {
831
+ throw new Error('vision API response did not include a JSON object');
832
+ }
833
+ const analysis = extractCodexOutputText(record);
834
+ if (!analysis) {
835
+ throw new Error('vision API response did not include text output');
836
+ }
837
+ return { model, analysis };
838
+ }
773
839
  const choices = record?.choices;
774
840
  if (!Array.isArray(choices) || choices.length === 0) {
775
841
  throw new Error('vision API response did not include choices');