@zyraxon-ai/core 19.0.5

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 (681) hide show
  1. package/dist/account/sql.js +31 -0
  2. package/dist/account/sql.js.map +1 -0
  3. package/dist/account.js +82 -0
  4. package/dist/account.js.map +1 -0
  5. package/dist/agent.js +77 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/aisdk.js +171 -0
  8. package/dist/aisdk.js.map +1 -0
  9. package/dist/background-job.js +236 -0
  10. package/dist/background-job.js.map +1 -0
  11. package/dist/catalog.js +197 -0
  12. package/dist/catalog.js.map +1 -0
  13. package/dist/command.js +40 -0
  14. package/dist/command.js.map +1 -0
  15. package/dist/config/agent.js +24 -0
  16. package/dist/config/agent.js.map +1 -0
  17. package/dist/config/attachments.js +15 -0
  18. package/dist/config/attachments.js.map +1 -0
  19. package/dist/config/command.js +12 -0
  20. package/dist/config/command.js.map +1 -0
  21. package/dist/config/compaction.js +15 -0
  22. package/dist/config/compaction.js.map +1 -0
  23. package/dist/config/experimental.js +17 -0
  24. package/dist/config/experimental.js.map +1 -0
  25. package/dist/config/formatter.js +11 -0
  26. package/dist/config/formatter.js.map +1 -0
  27. package/dist/config/lsp.js +16 -0
  28. package/dist/config/lsp.js.map +1 -0
  29. package/dist/config/markdown.js +41 -0
  30. package/dist/config/markdown.js.map +1 -0
  31. package/dist/config/mcp.js +47 -0
  32. package/dist/config/mcp.js.map +1 -0
  33. package/dist/config/plugin/agent.js +149 -0
  34. package/dist/config/plugin/agent.js.map +1 -0
  35. package/dist/config/plugin/command.js +71 -0
  36. package/dist/config/plugin/command.js.map +1 -0
  37. package/dist/config/plugin/external.js +82 -0
  38. package/dist/config/plugin/external.js.map +1 -0
  39. package/dist/config/plugin/provider.js +109 -0
  40. package/dist/config/plugin/provider.js.map +1 -0
  41. package/dist/config/plugin/reference.js +59 -0
  42. package/dist/config/plugin/reference.js.map +1 -0
  43. package/dist/config/plugin/skill.js +41 -0
  44. package/dist/config/plugin/skill.js.map +1 -0
  45. package/dist/config/plugin.js +10 -0
  46. package/dist/config/plugin.js.map +1 -0
  47. package/dist/config/provider.js +70 -0
  48. package/dist/config/provider.js.map +1 -0
  49. package/dist/config/reference.js +18 -0
  50. package/dist/config/reference.js.map +1 -0
  51. package/dist/config/tool-output.js +9 -0
  52. package/dist/config/tool-output.js.map +1 -0
  53. package/dist/config/watcher.js +7 -0
  54. package/dist/config/watcher.js.map +1 -0
  55. package/dist/config.js +201 -0
  56. package/dist/config.js.map +1 -0
  57. package/dist/control-plane/move-session.js +111 -0
  58. package/dist/control-plane/move-session.js.map +1 -0
  59. package/dist/control-plane/workspace.sql.js +18 -0
  60. package/dist/control-plane/workspace.sql.js.map +1 -0
  61. package/dist/credential/sql.js +13 -0
  62. package/dist/credential/sql.js.map +1 -0
  63. package/dist/credential.js +105 -0
  64. package/dist/credential.js.map +1 -0
  65. package/dist/cross-spawn-spawner.js +412 -0
  66. package/dist/cross-spawn-spawner.js.map +1 -0
  67. package/dist/data-migration.sql.js +6 -0
  68. package/dist/data-migration.sql.js.map +1 -0
  69. package/dist/database/database.js +67 -0
  70. package/dist/database/database.js.map +1 -0
  71. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +106 -0
  72. package/dist/database/migration/20260127222353_familiar_lady_ursula.js.map +1 -0
  73. package/dist/database/migration/20260211171708_add_project_commands.js +10 -0
  74. package/dist/database/migration/20260211171708_add_project_commands.js.map +1 -0
  75. package/dist/database/migration/20260213144116_wakeful_the_professor.js +22 -0
  76. package/dist/database/migration/20260213144116_wakeful_the_professor.js.map +1 -0
  77. package/dist/database/migration/20260225215848_workspace.js +18 -0
  78. package/dist/database/migration/20260225215848_workspace.js.map +1 -0
  79. package/dist/database/migration/20260227213759_add_session_workspace_id.js +11 -0
  80. package/dist/database/migration/20260227213759_add_session_workspace_id.js.map +1 -0
  81. package/dist/database/migration/20260228203230_blue_harpoon.js +29 -0
  82. package/dist/database/migration/20260228203230_blue_harpoon.js.map +1 -0
  83. package/dist/database/migration/20260303231226_add_workspace_fields.js +14 -0
  84. package/dist/database/migration/20260303231226_add_workspace_fields.js.map +1 -0
  85. package/dist/database/migration/20260309230000_move_org_to_state.js +12 -0
  86. package/dist/database/migration/20260309230000_move_org_to_state.js.map +1 -0
  87. package/dist/database/migration/20260312043431_session_message_cursor.js +13 -0
  88. package/dist/database/migration/20260312043431_session_message_cursor.js.map +1 -0
  89. package/dist/database/migration/20260323234822_events.js +25 -0
  90. package/dist/database/migration/20260323234822_events.js.map +1 -0
  91. package/dist/database/migration/20260410174513_workspace-name.js +26 -0
  92. package/dist/database/migration/20260410174513_workspace-name.js.map +1 -0
  93. package/dist/database/migration/20260413175956_chief_energizer.js +23 -0
  94. package/dist/database/migration/20260413175956_chief_energizer.js.map +1 -0
  95. package/dist/database/migration/20260423070820_add_icon_url_override.js +13 -0
  96. package/dist/database/migration/20260423070820_add_icon_url_override.js.map +1 -0
  97. package/dist/database/migration/20260427172553_slow_nightmare.js +27 -0
  98. package/dist/database/migration/20260427172553_slow_nightmare.js.map +1 -0
  99. package/dist/database/migration/20260428004200_add_session_path.js +10 -0
  100. package/dist/database/migration/20260428004200_add_session_path.js.map +1 -0
  101. package/dist/database/migration/20260501142318_next_venus.js +11 -0
  102. package/dist/database/migration/20260501142318_next_venus.js.map +1 -0
  103. package/dist/database/migration/20260504145000_add_sync_owner.js +10 -0
  104. package/dist/database/migration/20260504145000_add_sync_owner.js.map +1 -0
  105. package/dist/database/migration/20260507164347_add_workspace_time.js +10 -0
  106. package/dist/database/migration/20260507164347_add_workspace_time.js.map +1 -0
  107. package/dist/database/migration/20260510033149_session_usage.js +55 -0
  108. package/dist/database/migration/20260510033149_session_usage.js.map +1 -0
  109. package/dist/database/migration/20260511000411_data_migration_state.js +15 -0
  110. package/dist/database/migration/20260511000411_data_migration_state.js.map +1 -0
  111. package/dist/database/migration/20260511173437_session-metadata.js +13 -0
  112. package/dist/database/migration/20260511173437_session-metadata.js.map +1 -0
  113. package/dist/database/migration/20260601010001_normalize_storage_paths.js +13 -0
  114. package/dist/database/migration/20260601010001_normalize_storage_paths.js.map +1 -0
  115. package/dist/database/migration/20260601202201_amazing_prowler.js +10 -0
  116. package/dist/database/migration/20260601202201_amazing_prowler.js.map +1 -0
  117. package/dist/database/migration/20260602002951_lowly_union_jack.js +21 -0
  118. package/dist/database/migration/20260602002951_lowly_union_jack.js.map +1 -0
  119. package/dist/database/migration/20260602182828_add_project_directories.js +19 -0
  120. package/dist/database/migration/20260602182828_add_project_directories.js.map +1 -0
  121. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +14 -0
  122. package/dist/database/migration/20260603001617_session_message_projection_indexes.js.map +1 -0
  123. package/dist/database/migration/20260603040000_session_message_projection_order.js +16 -0
  124. package/dist/database/migration/20260603040000_session_message_projection_order.js.map +1 -0
  125. package/dist/database/migration/20260603141458_session_input_inbox.js +22 -0
  126. package/dist/database/migration/20260603141458_session_input_inbox.js.map +1 -0
  127. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +13 -0
  128. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js.map +1 -0
  129. package/dist/database/migration/20260604172448_event_sourced_session_input.js +38 -0
  130. package/dist/database/migration/20260604172448_event_sourced_session_input.js.map +1 -0
  131. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +20 -0
  132. package/dist/database/migration/20260605003541_add_session_context_snapshot.js.map +1 -0
  133. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +10 -0
  134. package/dist/database/migration/20260605042240_add_context_epoch_agent.js.map +1 -0
  135. package/dist/database/migration/20260611035744_credential.js +22 -0
  136. package/dist/database/migration/20260611035744_credential.js.map +1 -0
  137. package/dist/database/migration/20260611192811_lush_chimera.js +24 -0
  138. package/dist/database/migration/20260611192811_lush_chimera.js.map +1 -0
  139. package/dist/database/migration/20260612174303_project_dir_strategy.js +26 -0
  140. package/dist/database/migration/20260612174303_project_dir_strategy.js.map +1 -0
  141. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +12 -0
  142. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js.map +1 -0
  143. package/dist/database/migration/20260622170816_reset_v2_session_state.js +16 -0
  144. package/dist/database/migration/20260622170816_reset_v2_session_state.js.map +1 -0
  145. package/dist/database/migration/20260622202450_simplify_session_input.js +16 -0
  146. package/dist/database/migration/20260622202450_simplify_session_input.js.map +1 -0
  147. package/dist/database/migration/20260730000000_eternal_memory_system.js +141 -0
  148. package/dist/database/migration/20260730000000_eternal_memory_system.js.map +1 -0
  149. package/dist/database/migration/20260912000000_db_performance_optimization.js +29 -0
  150. package/dist/database/migration/20260912000000_db_performance_optimization.js.map +1 -0
  151. package/dist/database/migration/20260912000000_performance_indexes.js +35 -0
  152. package/dist/database/migration/20260912000000_performance_indexes.js.map +1 -0
  153. package/dist/database/migration.gen.js +42 -0
  154. package/dist/database/migration.gen.js.map +1 -0
  155. package/dist/database/migration.js +48 -0
  156. package/dist/database/migration.js.map +1 -0
  157. package/dist/database/path.js +70 -0
  158. package/dist/database/path.js.map +1 -0
  159. package/dist/database/schema.gen.js +257 -0
  160. package/dist/database/schema.gen.js.map +1 -0
  161. package/dist/database/schema.sql.js +10 -0
  162. package/dist/database/schema.sql.js.map +1 -0
  163. package/dist/database/sqlite.bun.js +130 -0
  164. package/dist/database/sqlite.bun.js.map +1 -0
  165. package/dist/database/sqlite.js +7 -0
  166. package/dist/database/sqlite.js.map +1 -0
  167. package/dist/database/sqlite.node.js +124 -0
  168. package/dist/database/sqlite.node.js.map +1 -0
  169. package/dist/effect/app-node-builder.js +19 -0
  170. package/dist/effect/app-node-builder.js.map +1 -0
  171. package/dist/effect/app-node-platform.js +17 -0
  172. package/dist/effect/app-node-platform.js.map +1 -0
  173. package/dist/effect/app-node.js +9 -0
  174. package/dist/effect/app-node.js.map +1 -0
  175. package/dist/effect/keyed-mutex.js +31 -0
  176. package/dist/effect/keyed-mutex.js.map +1 -0
  177. package/dist/effect/layer-node.js +182 -0
  178. package/dist/effect/layer-node.js.map +1 -0
  179. package/dist/effect/memo-map.js +3 -0
  180. package/dist/effect/memo-map.js.map +1 -0
  181. package/dist/effect/runtime.js +17 -0
  182. package/dist/effect/runtime.js.map +1 -0
  183. package/dist/effect/service-use.js +28 -0
  184. package/dist/effect/service-use.js.map +1 -0
  185. package/dist/event/sql.js +19 -0
  186. package/dist/event/sql.js.map +1 -0
  187. package/dist/event.js +421 -0
  188. package/dist/event.js.map +1 -0
  189. package/dist/file-mutation.js +102 -0
  190. package/dist/file-mutation.js.map +1 -0
  191. package/dist/file.js +4 -0
  192. package/dist/file.js.map +1 -0
  193. package/dist/filesystem/fff.bun.js +28 -0
  194. package/dist/filesystem/fff.bun.js.map +1 -0
  195. package/dist/filesystem/fff.node.js +8 -0
  196. package/dist/filesystem/fff.node.js.map +1 -0
  197. package/dist/filesystem/ignore.js +63 -0
  198. package/dist/filesystem/ignore.js.map +1 -0
  199. package/dist/filesystem/protected.js +50 -0
  200. package/dist/filesystem/protected.js.map +1 -0
  201. package/dist/filesystem/search.js +198 -0
  202. package/dist/filesystem/search.js.map +1 -0
  203. package/dist/filesystem/watcher.js +109 -0
  204. package/dist/filesystem/watcher.js.map +1 -0
  205. package/dist/filesystem.js +96 -0
  206. package/dist/filesystem.js.map +1 -0
  207. package/dist/flag/flag.js +66 -0
  208. package/dist/flag/flag.js.map +1 -0
  209. package/dist/fs-util.js +222 -0
  210. package/dist/fs-util.js.map +1 -0
  211. package/dist/git.js +558 -0
  212. package/dist/git.js.map +1 -0
  213. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +147 -0
  214. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js.map +1 -0
  215. package/dist/github-copilot/chat/get-response-metadata.js +8 -0
  216. package/dist/github-copilot/chat/get-response-metadata.js.map +1 -0
  217. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +16 -0
  218. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js.map +1 -0
  219. package/dist/github-copilot/chat/openai-compatible-api-types.js +2 -0
  220. package/dist/github-copilot/chat/openai-compatible-api-types.js.map +1 -0
  221. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +618 -0
  222. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js.map +1 -0
  223. package/dist/github-copilot/chat/openai-compatible-chat-options.js +21 -0
  224. package/dist/github-copilot/chat/openai-compatible-chat-options.js.map +1 -0
  225. package/dist/github-copilot/chat/openai-compatible-metadata-extractor.js +2 -0
  226. package/dist/github-copilot/chat/openai-compatible-metadata-extractor.js.map +1 -0
  227. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +51 -0
  228. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js.map +1 -0
  229. package/dist/github-copilot/copilot-provider.js +48 -0
  230. package/dist/github-copilot/copilot-provider.js.map +1 -0
  231. package/dist/github-copilot/openai-compatible-error.js +17 -0
  232. package/dist/github-copilot/openai-compatible-error.js.map +1 -0
  233. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +284 -0
  234. package/dist/github-copilot/responses/convert-to-openai-responses-input.js.map +1 -0
  235. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +14 -0
  236. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js.map +1 -0
  237. package/dist/github-copilot/responses/openai-config.js +2 -0
  238. package/dist/github-copilot/responses/openai-config.js.map +1 -0
  239. package/dist/github-copilot/responses/openai-error.js +18 -0
  240. package/dist/github-copilot/responses/openai-error.js.map +1 -0
  241. package/dist/github-copilot/responses/openai-responses-api-types.js +2 -0
  242. package/dist/github-copilot/responses/openai-responses-api-types.js.map +1 -0
  243. package/dist/github-copilot/responses/openai-responses-language-model.js +1487 -0
  244. package/dist/github-copilot/responses/openai-responses-language-model.js.map +1 -0
  245. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +140 -0
  246. package/dist/github-copilot/responses/openai-responses-prepare-tools.js.map +1 -0
  247. package/dist/github-copilot/responses/openai-responses-settings.js +2 -0
  248. package/dist/github-copilot/responses/openai-responses-settings.js.map +1 -0
  249. package/dist/github-copilot/responses/tool/code-interpreter.js +33 -0
  250. package/dist/github-copilot/responses/tool/code-interpreter.js.map +1 -0
  251. package/dist/github-copilot/responses/tool/file-search.js +40 -0
  252. package/dist/github-copilot/responses/tool/file-search.js.map +1 -0
  253. package/dist/github-copilot/responses/tool/image-generation.js +33 -0
  254. package/dist/github-copilot/responses/tool/image-generation.js.map +1 -0
  255. package/dist/github-copilot/responses/tool/local-shell.js +21 -0
  256. package/dist/github-copilot/responses/tool/local-shell.js.map +1 -0
  257. package/dist/github-copilot/responses/tool/web-search-preview.js +62 -0
  258. package/dist/github-copilot/responses/tool/web-search-preview.js.map +1 -0
  259. package/dist/github-copilot/responses/tool/web-search.js +45 -0
  260. package/dist/github-copilot/responses/tool/web-search.js.map +1 -0
  261. package/dist/global.js +78 -0
  262. package/dist/global.js.map +1 -0
  263. package/dist/id/id.js +40 -0
  264. package/dist/id/id.js.map +1 -0
  265. package/dist/image/photon.js +84 -0
  266. package/dist/image/photon.js.map +1 -0
  267. package/dist/image.js +49 -0
  268. package/dist/image.js.map +1 -0
  269. package/dist/installation/version.js +4 -0
  270. package/dist/installation/version.js.map +1 -0
  271. package/dist/instruction-context.js +69 -0
  272. package/dist/instruction-context.js.map +1 -0
  273. package/dist/integration/connection.js +6 -0
  274. package/dist/integration/connection.js.map +1 -0
  275. package/dist/integration.js +335 -0
  276. package/dist/integration.js.map +1 -0
  277. package/dist/location-mutation.js +104 -0
  278. package/dist/location-mutation.js.map +1 -0
  279. package/dist/location-service-map.js +11 -0
  280. package/dist/location-service-map.js.map +1 -0
  281. package/dist/location-services.js +94 -0
  282. package/dist/location-services.js.map +1 -0
  283. package/dist/location.js +26 -0
  284. package/dist/location.js.map +1 -0
  285. package/dist/model.js +20 -0
  286. package/dist/model.js.map +1 -0
  287. package/dist/models-dev.js +187 -0
  288. package/dist/models-dev.js.map +1 -0
  289. package/dist/npm-config.js +33 -0
  290. package/dist/npm-config.js.map +1 -0
  291. package/dist/npm.js +203 -0
  292. package/dist/npm.js.map +1 -0
  293. package/dist/oauth/page.js +229 -0
  294. package/dist/oauth/page.js.map +1 -0
  295. package/dist/observability/logging.js +62 -0
  296. package/dist/observability/logging.js.map +1 -0
  297. package/dist/observability/otlp.js +69 -0
  298. package/dist/observability/otlp.js.map +1 -0
  299. package/dist/observability/shared.js +2 -0
  300. package/dist/observability/shared.js.map +1 -0
  301. package/dist/observability.js +14 -0
  302. package/dist/observability.js.map +1 -0
  303. package/dist/omni/index.js +36 -0
  304. package/dist/omni/index.js.map +1 -0
  305. package/dist/omni/kernel/01-multi-file-composer.js +57 -0
  306. package/dist/omni/kernel/01-multi-file-composer.js.map +1 -0
  307. package/dist/omni/kernel/02-terminal-autonomy.js +47 -0
  308. package/dist/omni/kernel/02-terminal-autonomy.js.map +1 -0
  309. package/dist/omni/kernel/03-background-loop.js +43 -0
  310. package/dist/omni/kernel/03-background-loop.js.map +1 -0
  311. package/dist/omni/kernel/04-behavior-cascade.js +39 -0
  312. package/dist/omni/kernel/04-behavior-cascade.js.map +1 -0
  313. package/dist/omni/kernel/05-git-pair.js +42 -0
  314. package/dist/omni/kernel/05-git-pair.js.map +1 -0
  315. package/dist/omni/kernel/06-sandbox-runtime.js +34 -0
  316. package/dist/omni/kernel/06-sandbox-runtime.js.map +1 -0
  317. package/dist/omni/kernel/07-idea-to-deploy.js +28 -0
  318. package/dist/omni/kernel/07-idea-to-deploy.js.map +1 -0
  319. package/dist/omni/kernel/08-cost-router.js +26 -0
  320. package/dist/omni/kernel/08-cost-router.js.map +1 -0
  321. package/dist/omni/kernel/09-live-observability.js +40 -0
  322. package/dist/omni/kernel/09-live-observability.js.map +1 -0
  323. package/dist/omni/kernel/10-knowledge-graph.js +39 -0
  324. package/dist/omni/kernel/10-knowledge-graph.js.map +1 -0
  325. package/dist/omni/kernel/11-security-scanner.js +52 -0
  326. package/dist/omni/kernel/11-security-scanner.js.map +1 -0
  327. package/dist/omni/kernel/12-silent-precompile.js +58 -0
  328. package/dist/omni/kernel/12-silent-precompile.js.map +1 -0
  329. package/dist/omni/kernel/13-visual-context-sync.js +59 -0
  330. package/dist/omni/kernel/13-visual-context-sync.js.map +1 -0
  331. package/dist/omni/kernel/14-self-evolving-prompt.js +45 -0
  332. package/dist/omni/kernel/14-self-evolving-prompt.js.map +1 -0
  333. package/dist/omni/kernel/15-zero-trust-token.js +78 -0
  334. package/dist/omni/kernel/15-zero-trust-token.js.map +1 -0
  335. package/dist/omni/kernel/index.js +79 -0
  336. package/dist/omni/kernel/index.js.map +1 -0
  337. package/dist/omni/memory-graph.js +64 -0
  338. package/dist/omni/memory-graph.js.map +1 -0
  339. package/dist/omni/secret-redact.js +81 -0
  340. package/dist/omni/secret-redact.js.map +1 -0
  341. package/dist/omni/shadow-clone.js +54 -0
  342. package/dist/omni/shadow-clone.js.map +1 -0
  343. package/dist/omni/vision-context.js +61 -0
  344. package/dist/omni/vision-context.js.map +1 -0
  345. package/dist/patch.js +179 -0
  346. package/dist/patch.js.map +1 -0
  347. package/dist/permission/saved.js +53 -0
  348. package/dist/permission/saved.js.map +1 -0
  349. package/dist/permission/sql.js +14 -0
  350. package/dist/permission/sql.js.map +1 -0
  351. package/dist/permission.js +222 -0
  352. package/dist/permission.js.map +1 -0
  353. package/dist/plugin/agent.js +180 -0
  354. package/dist/plugin/agent.js.map +1 -0
  355. package/dist/plugin/command.js +24 -0
  356. package/dist/plugin/command.js.map +1 -0
  357. package/dist/plugin/host.js +168 -0
  358. package/dist/plugin/host.js.map +1 -0
  359. package/dist/plugin/internal.js +102 -0
  360. package/dist/plugin/internal.js.map +1 -0
  361. package/dist/plugin/layer-map.example.js +37 -0
  362. package/dist/plugin/layer-map.example.js.map +1 -0
  363. package/dist/plugin/models-dev.js +161 -0
  364. package/dist/plugin/models-dev.js.map +1 -0
  365. package/dist/plugin/promise.js +71 -0
  366. package/dist/plugin/promise.js.map +1 -0
  367. package/dist/plugin/provider/alibaba.js +14 -0
  368. package/dist/plugin/provider/alibaba.js.map +1 -0
  369. package/dist/plugin/provider/amazon-bedrock.js +109 -0
  370. package/dist/plugin/provider/amazon-bedrock.js.map +1 -0
  371. package/dist/plugin/provider/anthropic.js +26 -0
  372. package/dist/plugin/provider/anthropic.js.map +1 -0
  373. package/dist/plugin/provider/azure.js +79 -0
  374. package/dist/plugin/provider/azure.js.map +1 -0
  375. package/dist/plugin/provider/cerebras.js +25 -0
  376. package/dist/plugin/provider/cerebras.js.map +1 -0
  377. package/dist/plugin/provider/cloudflare-ai-gateway.js +68 -0
  378. package/dist/plugin/provider/cloudflare-ai-gateway.js.map +1 -0
  379. package/dist/plugin/provider/cloudflare-workers-ai.js +74 -0
  380. package/dist/plugin/provider/cloudflare-workers-ai.js.map +1 -0
  381. package/dist/plugin/provider/cohere.js +14 -0
  382. package/dist/plugin/provider/cohere.js.map +1 -0
  383. package/dist/plugin/provider/deepinfra.js +14 -0
  384. package/dist/plugin/provider/deepinfra.js.map +1 -0
  385. package/dist/plugin/provider/dynamic.js +27 -0
  386. package/dist/plugin/provider/dynamic.js.map +1 -0
  387. package/dist/plugin/provider/gateway.js +14 -0
  388. package/dist/plugin/provider/gateway.js.map +1 -0
  389. package/dist/plugin/provider/github-copilot.js +48 -0
  390. package/dist/plugin/provider/github-copilot.js.map +1 -0
  391. package/dist/plugin/provider/gitlab.js +57 -0
  392. package/dist/plugin/provider/gitlab.js.map +1 -0
  393. package/dist/plugin/provider/google-vertex.js +153 -0
  394. package/dist/plugin/provider/google-vertex.js.map +1 -0
  395. package/dist/plugin/provider/google.js +14 -0
  396. package/dist/plugin/provider/google.js.map +1 -0
  397. package/dist/plugin/provider/groq.js +14 -0
  398. package/dist/plugin/provider/groq.js.map +1 -0
  399. package/dist/plugin/provider/kilo.js +22 -0
  400. package/dist/plugin/provider/kilo.js.map +1 -0
  401. package/dist/plugin/provider/llmgateway.js +29 -0
  402. package/dist/plugin/provider/llmgateway.js.map +1 -0
  403. package/dist/plugin/provider/mistral.js +14 -0
  404. package/dist/plugin/provider/mistral.js.map +1 -0
  405. package/dist/plugin/provider/nvidia.js +23 -0
  406. package/dist/plugin/provider/nvidia.js.map +1 -0
  407. package/dist/plugin/provider/openai-compatible.js +18 -0
  408. package/dist/plugin/provider/openai-compatible.js.map +1 -0
  409. package/dist/plugin/provider/openai.js +241 -0
  410. package/dist/plugin/provider/openai.js.map +1 -0
  411. package/dist/plugin/provider/openrouter.js +36 -0
  412. package/dist/plugin/provider/openrouter.js.map +1 -0
  413. package/dist/plugin/provider/perplexity.js +14 -0
  414. package/dist/plugin/provider/perplexity.js.map +1 -0
  415. package/dist/plugin/provider/sap-ai-core.js +39 -0
  416. package/dist/plugin/provider/sap-ai-core.js.map +1 -0
  417. package/dist/plugin/provider/snowflake-cortex.js +76 -0
  418. package/dist/plugin/provider/snowflake-cortex.js.map +1 -0
  419. package/dist/plugin/provider/togetherai.js +14 -0
  420. package/dist/plugin/provider/togetherai.js.map +1 -0
  421. package/dist/plugin/provider/venice.js +14 -0
  422. package/dist/plugin/provider/venice.js.map +1 -0
  423. package/dist/plugin/provider/vercel.js +26 -0
  424. package/dist/plugin/provider/vercel.js.map +1 -0
  425. package/dist/plugin/provider/xai.js +20 -0
  426. package/dist/plugin/provider/xai.js.map +1 -0
  427. package/dist/plugin/provider/zenmux.js +22 -0
  428. package/dist/plugin/provider/zenmux.js.map +1 -0
  429. package/dist/plugin/provider/zyraxon.js +260 -0
  430. package/dist/plugin/provider/zyraxon.js.map +1 -0
  431. package/dist/plugin/provider.js +69 -0
  432. package/dist/plugin/provider.js.map +1 -0
  433. package/dist/plugin/skill.js +25 -0
  434. package/dist/plugin/skill.js.map +1 -0
  435. package/dist/plugin/variant.js +38 -0
  436. package/dist/plugin/variant.js.map +1 -0
  437. package/dist/plugin.js +119 -0
  438. package/dist/plugin.js.map +1 -0
  439. package/dist/policy.js +30 -0
  440. package/dist/policy.js.map +1 -0
  441. package/dist/process.js +163 -0
  442. package/dist/process.js.map +1 -0
  443. package/dist/project/copy-strategies.js +28 -0
  444. package/dist/project/copy-strategies.js.map +1 -0
  445. package/dist/project/copy.js +180 -0
  446. package/dist/project/copy.js.map +1 -0
  447. package/dist/project/directories.js +89 -0
  448. package/dist/project/directories.js.map +1 -0
  449. package/dist/project/schema.js +12 -0
  450. package/dist/project/schema.js.map +1 -0
  451. package/dist/project/sql.js +29 -0
  452. package/dist/project/sql.js.map +1 -0
  453. package/dist/project.js +94 -0
  454. package/dist/project.js.map +1 -0
  455. package/dist/provider.js +9 -0
  456. package/dist/provider.js.map +1 -0
  457. package/dist/pty/protocol.js +35 -0
  458. package/dist/pty/protocol.js.map +1 -0
  459. package/dist/pty/pty.bun.js +23 -0
  460. package/dist/pty/pty.bun.js.map +1 -0
  461. package/dist/pty/pty.js +2 -0
  462. package/dist/pty/pty.js.map +1 -0
  463. package/dist/pty/pty.node.js +23 -0
  464. package/dist/pty/pty.node.js.map +1 -0
  465. package/dist/pty/schema.js +2 -0
  466. package/dist/pty/schema.js.map +1 -0
  467. package/dist/pty/ticket.js +33 -0
  468. package/dist/pty/ticket.js.map +1 -0
  469. package/dist/pty.js +253 -0
  470. package/dist/pty.js.map +1 -0
  471. package/dist/public-event-manifest.js +6 -0
  472. package/dist/public-event-manifest.js.map +1 -0
  473. package/dist/question.js +78 -0
  474. package/dist/question.js.map +1 -0
  475. package/dist/reference/guidance.js +55 -0
  476. package/dist/reference/guidance.js.map +1 -0
  477. package/dist/reference.js +90 -0
  478. package/dist/reference.js.map +1 -0
  479. package/dist/repository-cache.js +180 -0
  480. package/dist/repository-cache.js.map +1 -0
  481. package/dist/repository.js +164 -0
  482. package/dist/repository.js.map +1 -0
  483. package/dist/ripgrep/binary.js +107 -0
  484. package/dist/ripgrep/binary.js.map +1 -0
  485. package/dist/ripgrep.js +174 -0
  486. package/dist/ripgrep.js.map +1 -0
  487. package/dist/schema.js +33 -0
  488. package/dist/schema.js.map +1 -0
  489. package/dist/session/compaction.js +197 -0
  490. package/dist/session/compaction.js.map +1 -0
  491. package/dist/session/context-epoch.js +110 -0
  492. package/dist/session/context-epoch.js.map +1 -0
  493. package/dist/session/error.js +20 -0
  494. package/dist/session/error.js.map +1 -0
  495. package/dist/session/event.js +3 -0
  496. package/dist/session/event.js.map +1 -0
  497. package/dist/session/execution/local.js +35 -0
  498. package/dist/session/execution/local.js.map +1 -0
  499. package/dist/session/execution.js +16 -0
  500. package/dist/session/execution.js.map +1 -0
  501. package/dist/session/history.js +58 -0
  502. package/dist/session/history.js.map +1 -0
  503. package/dist/session/info.js +48 -0
  504. package/dist/session/info.js.map +1 -0
  505. package/dist/session/input.js +167 -0
  506. package/dist/session/input.js.map +1 -0
  507. package/dist/session/message-updater.js +340 -0
  508. package/dist/session/message-updater.js.map +1 -0
  509. package/dist/session/message.js +3 -0
  510. package/dist/session/message.js.map +1 -0
  511. package/dist/session/projector.js +385 -0
  512. package/dist/session/projector.js.map +1 -0
  513. package/dist/session/prompt.js +2 -0
  514. package/dist/session/prompt.js.map +1 -0
  515. package/dist/session/revert.js +107 -0
  516. package/dist/session/revert.js.map +1 -0
  517. package/dist/session/run-coordinator.js +65 -0
  518. package/dist/session/run-coordinator.js.map +1 -0
  519. package/dist/session/runner/index.js +5 -0
  520. package/dist/session/runner/index.js.map +1 -0
  521. package/dist/session/runner/llm.js +356 -0
  522. package/dist/session/runner/llm.js.map +1 -0
  523. package/dist/session/runner/max-steps.js +17 -0
  524. package/dist/session/runner/max-steps.js.map +1 -0
  525. package/dist/session/runner/model.js +150 -0
  526. package/dist/session/runner/model.js.map +1 -0
  527. package/dist/session/runner/publish-llm-event.js +387 -0
  528. package/dist/session/runner/publish-llm-event.js.map +1 -0
  529. package/dist/session/runner/to-llm-message.js +152 -0
  530. package/dist/session/runner/to-llm-message.js.map +1 -0
  531. package/dist/session/schema.js +5 -0
  532. package/dist/session/schema.js.map +1 -0
  533. package/dist/session/sql.js +121 -0
  534. package/dist/session/sql.js.map +1 -0
  535. package/dist/session/store.js +44 -0
  536. package/dist/session/store.js.map +1 -0
  537. package/dist/session/todo.js +53 -0
  538. package/dist/session/todo.js.map +1 -0
  539. package/dist/session.js +330 -0
  540. package/dist/session.js.map +1 -0
  541. package/dist/share/sql.js +13 -0
  542. package/dist/share/sql.js.map +1 -0
  543. package/dist/shell.js +227 -0
  544. package/dist/shell.js.map +1 -0
  545. package/dist/skill/discovery.js +163 -0
  546. package/dist/skill/discovery.js.map +1 -0
  547. package/dist/skill/guidance.js +58 -0
  548. package/dist/skill/guidance.js.map +1 -0
  549. package/dist/skill.js +101 -0
  550. package/dist/skill.js.map +1 -0
  551. package/dist/snapshot.js +174 -0
  552. package/dist/snapshot.js.map +1 -0
  553. package/dist/state.js +76 -0
  554. package/dist/state.js.map +1 -0
  555. package/dist/system-context/builtins.js +44 -0
  556. package/dist/system-context/builtins.js.map +1 -0
  557. package/dist/system-context/index.js +208 -0
  558. package/dist/system-context/index.js.map +1 -0
  559. package/dist/system-context/registry.js +24 -0
  560. package/dist/system-context/registry.js.map +1 -0
  561. package/dist/tool/application-tools.js +33 -0
  562. package/dist/tool/application-tools.js.map +1 -0
  563. package/dist/tool/apply-patch.js +177 -0
  564. package/dist/tool/apply-patch.js.map +1 -0
  565. package/dist/tool/bash.js +177 -0
  566. package/dist/tool/bash.js.map +1 -0
  567. package/dist/tool/builtins.js +49 -0
  568. package/dist/tool/builtins.js.map +1 -0
  569. package/dist/tool/edit.js +181 -0
  570. package/dist/tool/edit.js.map +1 -0
  571. package/dist/tool/glob.js +83 -0
  572. package/dist/tool/glob.js.map +1 -0
  573. package/dist/tool/grep.js +110 -0
  574. package/dist/tool/grep.js.map +1 -0
  575. package/dist/tool/http-body.js +26 -0
  576. package/dist/tool/http-body.js.map +1 -0
  577. package/dist/tool/marketplace.js +483 -0
  578. package/dist/tool/marketplace.js.map +1 -0
  579. package/dist/tool/question.js +70 -0
  580. package/dist/tool/question.js.map +1 -0
  581. package/dist/tool/read-filesystem.js +326 -0
  582. package/dist/tool/read-filesystem.js.map +1 -0
  583. package/dist/tool/read.js +107 -0
  584. package/dist/tool/read.js.map +1 -0
  585. package/dist/tool/registry.js +102 -0
  586. package/dist/tool/registry.js.map +1 -0
  587. package/dist/tool/skill.js +97 -0
  588. package/dist/tool/skill.js.map +1 -0
  589. package/dist/tool/todowrite.js +50 -0
  590. package/dist/tool/todowrite.js.map +1 -0
  591. package/dist/tool/tool.js +71 -0
  592. package/dist/tool/tool.js.map +1 -0
  593. package/dist/tool/tools.js +6 -0
  594. package/dist/tool/tools.js.map +1 -0
  595. package/dist/tool/webfetch.js +184 -0
  596. package/dist/tool/webfetch.js.map +1 -0
  597. package/dist/tool/websearch.js +201 -0
  598. package/dist/tool/websearch.js.map +1 -0
  599. package/dist/tool/write.js +83 -0
  600. package/dist/tool/write.js.map +1 -0
  601. package/dist/tool-output-store.js +164 -0
  602. package/dist/tool-output-store.js.map +1 -0
  603. package/dist/util/array.js +9 -0
  604. package/dist/util/array.js.map +1 -0
  605. package/dist/util/binary.js +41 -0
  606. package/dist/util/binary.js.map +1 -0
  607. package/dist/util/effect-flock.js +179 -0
  608. package/dist/util/effect-flock.js.map +1 -0
  609. package/dist/util/encode.js +50 -0
  610. package/dist/util/encode.js.map +1 -0
  611. package/dist/util/error.js +46 -0
  612. package/dist/util/error.js.map +1 -0
  613. package/dist/util/flock.js +274 -0
  614. package/dist/util/flock.js.map +1 -0
  615. package/dist/util/glob.js +27 -0
  616. package/dist/util/glob.js.map +1 -0
  617. package/dist/util/hash.js +13 -0
  618. package/dist/util/hash.js.map +1 -0
  619. package/dist/util/identifier.js +2 -0
  620. package/dist/util/identifier.js.map +1 -0
  621. package/dist/util/iife.js +4 -0
  622. package/dist/util/iife.js.map +1 -0
  623. package/dist/util/lazy.js +12 -0
  624. package/dist/util/lazy.js.map +1 -0
  625. package/dist/util/module.js +13 -0
  626. package/dist/util/module.js.map +1 -0
  627. package/dist/util/path.js +40 -0
  628. package/dist/util/path.js.map +1 -0
  629. package/dist/util/retry.js +35 -0
  630. package/dist/util/retry.js.map +1 -0
  631. package/dist/util/slug.js +75 -0
  632. package/dist/util/slug.js.map +1 -0
  633. package/dist/util/token.js +4 -0
  634. package/dist/util/token.js.map +1 -0
  635. package/dist/util/which.js +14 -0
  636. package/dist/util/which.js.map +1 -0
  637. package/dist/util/wildcard.js +13 -0
  638. package/dist/util/wildcard.js.map +1 -0
  639. package/dist/v1/config/agent.js +77 -0
  640. package/dist/v1/config/agent.js.map +1 -0
  641. package/dist/v1/config/attachment.js +21 -0
  642. package/dist/v1/config/attachment.js.map +1 -0
  643. package/dist/v1/config/command.js +11 -0
  644. package/dist/v1/config/command.js.map +1 -0
  645. package/dist/v1/config/config.js +157 -0
  646. package/dist/v1/config/config.js.map +1 -0
  647. package/dist/v1/config/console-state.js +15 -0
  648. package/dist/v1/config/console-state.js.map +1 -0
  649. package/dist/v1/config/error.js +30 -0
  650. package/dist/v1/config/error.js.map +1 -0
  651. package/dist/v1/config/formatter.js +10 -0
  652. package/dist/v1/config/formatter.js.map +1 -0
  653. package/dist/v1/config/layout.js +4 -0
  654. package/dist/v1/config/layout.js.map +1 -0
  655. package/dist/v1/config/lsp.js +74 -0
  656. package/dist/v1/config/lsp.js.map +1 -0
  657. package/dist/v1/config/mcp.js +54 -0
  658. package/dist/v1/config/mcp.js.map +1 -0
  659. package/dist/v1/config/migrate.js +230 -0
  660. package/dist/v1/config/migrate.js.map +1 -0
  661. package/dist/v1/config/permission.js +32 -0
  662. package/dist/v1/config/permission.js.map +1 -0
  663. package/dist/v1/config/plugin.js +5 -0
  664. package/dist/v1/config/plugin.js.map +1 -0
  665. package/dist/v1/config/provider-options.js +193 -0
  666. package/dist/v1/config/provider-options.js.map +1 -0
  667. package/dist/v1/config/provider.js +83 -0
  668. package/dist/v1/config/provider.js.map +1 -0
  669. package/dist/v1/config/server.js +17 -0
  670. package/dist/v1/config/server.js.map +1 -0
  671. package/dist/v1/config/skills.js +11 -0
  672. package/dist/v1/config/skills.js.map +1 -0
  673. package/dist/v1/permission.js +28 -0
  674. package/dist/v1/permission.js.map +1 -0
  675. package/dist/v1/session.js +26 -0
  676. package/dist/v1/session.js.map +1 -0
  677. package/dist/v2-schema.js +3 -0
  678. package/dist/v2-schema.js.map +1 -0
  679. package/dist/workspace.js +4 -0
  680. package/dist/workspace.js.map +1 -0
  681. package/package.json +103 -0
@@ -0,0 +1,59 @@
1
+ export class VisualContextSync {
2
+ lastContext = null;
3
+ errorBuffer = [];
4
+ async syncFromScreen(screenText) {
5
+ const context = {
6
+ screenContent: screenText,
7
+ detectedErrors: this.detectErrors(screenText),
8
+ uiElements: this.extractUIElements(screenText),
9
+ timestamp: Date.now(),
10
+ };
11
+ this.lastContext = context;
12
+ if (context.detectedErrors.length > 0) {
13
+ this.errorBuffer.push(...context.detectedErrors);
14
+ if (this.errorBuffer.length > 20)
15
+ this.errorBuffer.splice(0, this.errorBuffer.length - 20);
16
+ }
17
+ return context;
18
+ }
19
+ detectErrors(text) {
20
+ const errors = [];
21
+ const patterns = [
22
+ /(?:Error|Exception|Fatal|Failed|Crash):\s*[^\n]+/gi,
23
+ /(?:Uncaught|Unhandled|Rejected|Rejection)[^\n]+/gi,
24
+ /(?:SyntaxError|TypeError|ReferenceError|RangeError):[^\n]+/gi,
25
+ /\b(?:404|500|403|401|502|503)\s+(?:Error|Not Found|Forbidden|Unauthorized)/gi,
26
+ ];
27
+ for (const pattern of patterns) {
28
+ let match;
29
+ while ((match = pattern.exec(text)) !== null) {
30
+ errors.push(match[0].trim());
31
+ }
32
+ }
33
+ return [...new Set(errors)].slice(0, 5);
34
+ }
35
+ extractUIElements(text) {
36
+ const elements = [];
37
+ const patterns = [
38
+ /<button[^>]*>([^<]+)<\/button>/gi,
39
+ /<a[^>]*>([^<]+)<\/a>/gi,
40
+ /aria-label="([^"]+)"/gi,
41
+ /placeholder="([^"]+)"/gi,
42
+ /class="([^"]*)btn[^"]*"/gi,
43
+ ];
44
+ for (const pattern of patterns) {
45
+ let match;
46
+ while ((match = pattern.exec(text)) !== null) {
47
+ elements.push(match[1] || match[0]);
48
+ }
49
+ }
50
+ return [...new Set(elements)];
51
+ }
52
+ getLastContext() {
53
+ return this.lastContext;
54
+ }
55
+ getRecentErrors() {
56
+ return [...this.errorBuffer];
57
+ }
58
+ }
59
+ //# sourceMappingURL=13-visual-context-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"13-visual-context-sync.js","sourceRoot":"","sources":["../../../src/omni/kernel/13-visual-context-sync.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,iBAAiB;IACpB,WAAW,GAAyB,IAAI,CAAA;IACxC,WAAW,GAAa,EAAE,CAAA;IAElC,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,MAAM,OAAO,GAAkB;YAC7B,aAAa,EAAE,UAAU;YACzB,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAC9C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;QAE1B,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;QAC5F,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,MAAM,QAAQ,GAAG;YACf,oDAAoD;YACpD,mDAAmD;YACnD,8DAA8D;YAC9D,8EAA8E;SAC/E,CAAA;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAA;YACT,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG;YACf,kCAAkC;YAClC,wBAAwB;YACxB,wBAAwB;YACxB,yBAAyB;YACzB,2BAA2B;SAC5B,CAAA;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAA;YACT,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ import { Database } from 'bun:sqlite';
2
+ import { writeFile } from 'node:fs/promises';
3
+ export class SelfEvolvingPrompt {
4
+ db;
5
+ promptPath = '';
6
+ async init() {
7
+ this.db = new Database(':memory:');
8
+ this.db.run(`CREATE TABLE IF NOT EXISTS prompt_rules (
9
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
10
+ trigger TEXT,
11
+ action TEXT,
12
+ success_count INTEGER DEFAULT 1,
13
+ effectiveness REAL DEFAULT 0.5,
14
+ created_at INTEGER
15
+ )`);
16
+ this.promptPath = process.cwd() + '/packages/core/src/omni/kernel/prompt-rules.json';
17
+ }
18
+ async learn(trigger, action, success) {
19
+ const existing = this.db.query(`SELECT * FROM prompt_rules WHERE trigger = ? AND action = ?`).get(trigger, action);
20
+ if (existing) {
21
+ const newCount = existing.success_count + (success ? 1 : 0);
22
+ const newEff = Math.min(1.0, (existing.effectiveness * existing.success_count + (success ? 1 : 0)) / newCount);
23
+ this.db.run(`UPDATE prompt_rules SET success_count = ?, effectiveness = ? WHERE id = ?`, [newCount, newEff, existing.id]);
24
+ }
25
+ else {
26
+ this.db.run(`INSERT INTO prompt_rules (trigger, action, success_count, effectiveness, created_at) VALUES (?, ?, 1, ?, ?)`, [trigger, action, success ? 0.8 : 0.2, Date.now()]);
27
+ }
28
+ }
29
+ async suggest(problem) {
30
+ const words = problem.toLowerCase().split(/\s+/);
31
+ const conditions = words.map(() => 'trigger LIKE ?').join(' OR ');
32
+ const params = words.map((w) => `%${w}%`);
33
+ const results = this.db.query(`SELECT * FROM prompt_rules WHERE ${conditions} ORDER BY effectiveness DESC, success_count DESC LIMIT 1`).all(...params);
34
+ return results.length > 0 ? results[0].action : null;
35
+ }
36
+ async exportRules() {
37
+ const rules = this.db.query(`SELECT * FROM prompt_rules ORDER BY effectiveness DESC`).all();
38
+ return JSON.stringify(rules, null, 2);
39
+ }
40
+ async saveToFile() {
41
+ const rules = await this.exportRules();
42
+ await writeFile(this.promptPath, rules, 'utf-8');
43
+ }
44
+ }
45
+ //# sourceMappingURL=14-self-evolving-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"14-self-evolving-prompt.js","sourceRoot":"","sources":["../../../src/omni/kernel/14-self-evolving-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAUtD,MAAM,OAAO,kBAAkB;IACrB,EAAE,CAAU;IACZ,UAAU,GAAW,EAAE,CAAA;IAE/B,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;MAOV,CAAC,CAAA;QACH,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,kDAAkD,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,MAAc,EAAE,OAAgB;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAQ,CAAA;QACzH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;YAC9G,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,2EAA2E,EAC3E,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAChC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,6GAA6G,EAC7G,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CACnD,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC3B,oCAAoC,UAAU,0DAA0D,CACzG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAA;QAEhC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,GAAG,EAAkB,CAAA;QAC3G,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ const TOKEN_PATTERNS = [
2
+ /ghp_[A-Za-z0-9]{36,}/g,
3
+ /gho_[A-Za-z0-9]{36,}/g,
4
+ /ghu_[A-Za-z0-9]{36,}/g,
5
+ /ghs_[A-Za-z0-9]{36,}/g,
6
+ /ghr_[A-Za-z0-9]{36,}/g,
7
+ /sk-[A-Za-z0-9]{32,}/g,
8
+ /pk-[A-Za-z0-9]{32,}/g,
9
+ /xox[bpsar]-[A-Za-z0-9]{10,}/g,
10
+ /AKIA[0-9A-Z]{16}/g,
11
+ /eyJ[a-zA-Z0-9_-]{10,}\.[a-zA-Z0-9_-]{10,}\.[a-zA-Z0-9_-]{10,}/g,
12
+ /(?:api[_-]?key|apikey|secret|token|password)\s*[:=]\s*['"]?[A-Za-z0-9_\-\.]{16,}['"]?/gi,
13
+ /-----BEGIN (?:RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----/g,
14
+ /(?:gh|gl|gb)_[A-Za-z0-9]{20,}/g,
15
+ /AIza[0-9A-Za-z_-]{35}/g,
16
+ /SG\.[A-Za-z0-9_-]{22}\.[A-Za-z0-9_-]{43}/g,
17
+ /(?:facebook|fb|twitter|instagram|github)_?token['"]?\s*[:=]\s*['"][A-Za-z0-9_\-\.]{10,}['"]?/gi,
18
+ ];
19
+ const SENSITIVE_FILES = [
20
+ '.env', '.env.local', '.env.production', '.env.development',
21
+ 'credentials.json', 'service-account.json', 'config.yml',
22
+ 'id_rsa', 'id_ed25519', 'deploy-key',
23
+ 'tokens.txt', 'secrets.json', 'passwords.txt',
24
+ ];
25
+ export class ZeroTrustToken {
26
+ active = false;
27
+ async init() {
28
+ this.active = true;
29
+ }
30
+ stripTokens(data) {
31
+ if (!this.active)
32
+ return data;
33
+ let result = data;
34
+ for (const pattern of TOKEN_PATTERNS) {
35
+ result = result.replace(pattern, (match) => {
36
+ if (match.length > 15)
37
+ return match.slice(0, 4) + '...' + match.slice(-4);
38
+ return match;
39
+ });
40
+ }
41
+ return result;
42
+ }
43
+ stripFromObject(obj) {
44
+ if (!this.active)
45
+ return obj;
46
+ const str = JSON.stringify(obj);
47
+ const cleaned = this.stripTokens(str);
48
+ try {
49
+ return JSON.parse(cleaned);
50
+ }
51
+ catch {
52
+ return cleaned;
53
+ }
54
+ }
55
+ detectSensitiveFile(filename) {
56
+ return SENSITIVE_FILES.some((f) => filename.endsWith(f) || filename.includes(f));
57
+ }
58
+ async scanFile(content, filename) {
59
+ const findings = [];
60
+ if (this.detectSensitiveFile(filename)) {
61
+ findings.push({ finding: `Sensitive file detected: ${filename}`, severity: 'critical' });
62
+ }
63
+ for (const pattern of TOKEN_PATTERNS) {
64
+ const matches = content.match(pattern);
65
+ if (matches) {
66
+ findings.push({
67
+ finding: `Potential token/secret found in ${filename}: ${matches[0].slice(0, 10)}...`,
68
+ severity: 'critical',
69
+ });
70
+ }
71
+ }
72
+ return findings;
73
+ }
74
+ async shutdown() {
75
+ this.active = false;
76
+ }
77
+ }
78
+ //# sourceMappingURL=15-zero-trust-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"15-zero-trust-token.js","sourceRoot":"","sources":["../../../src/omni/kernel/15-zero-trust-token.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,8BAA8B;IAC9B,mBAAmB;IACnB,gEAAgE;IAChE,yFAAyF;IACzF,yDAAyD;IACzD,gCAAgC;IAChC,wBAAwB;IACxB,2CAA2C;IAC3C,gGAAgG;CACjG,CAAA;AAED,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB;IAC3D,kBAAkB,EAAE,sBAAsB,EAAE,YAAY;IACxD,QAAQ,EAAE,YAAY,EAAE,YAAY;IACpC,YAAY,EAAE,cAAc,EAAE,eAAe;CAC9C,CAAA;AAED,MAAM,OAAO,cAAc;IACjB,MAAM,GAAY,KAAK,CAAA;IAE/B,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC7B,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;oBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACzE,OAAO,KAAK,CAAA;YACd,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,eAAe,CAAC,GAAQ;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAA;QAChB,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,QAAgB;QAClC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,QAAgB;QAC9C,MAAM,QAAQ,GAAsE,EAAE,CAAA;QAEtF,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,4BAA4B,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;QAC1F,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACtC,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,mCAAmC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;oBACrF,QAAQ,EAAE,UAAU;iBACrB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;CACF"}
@@ -0,0 +1,79 @@
1
+ import { Database } from 'bun:sqlite';
2
+ import { MultiFileComposer } from './01-multi-file-composer';
3
+ import { TerminalAutonomy } from './02-terminal-autonomy';
4
+ import { BackgroundLoop } from './03-background-loop';
5
+ import { BehaviorCascade } from './04-behavior-cascade';
6
+ import { GitPairProgramming } from './05-git-pair';
7
+ import { SandboxRuntime } from './06-sandbox-runtime';
8
+ import { IdeaToDeploy } from './07-idea-to-deploy';
9
+ import { CostRouter } from './08-cost-router';
10
+ import { LiveObservability } from './09-live-observability';
11
+ import { KnowledgeGraph } from './10-knowledge-graph';
12
+ import { SecurityScanner } from './11-security-scanner';
13
+ import { SilentPrecompile } from './12-silent-precompile';
14
+ import { VisualContextSync } from './13-visual-context-sync';
15
+ import { SelfEvolvingPrompt } from './14-self-evolving-prompt';
16
+ import { ZeroTrustToken } from './15-zero-trust-token';
17
+ export class KernelEngine {
18
+ mechanisms = {};
19
+ db;
20
+ learningDb;
21
+ async init() {
22
+ this.db = new Database(':memory:');
23
+ this.learningDb = new Database(':memory:');
24
+ this.db.run(`CREATE TABLE IF NOT EXISTS mechanism_registry (
25
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
26
+ name TEXT UNIQUE,
27
+ active INTEGER DEFAULT 1,
28
+ success_count INTEGER DEFAULT 0,
29
+ fail_count INTEGER DEFAULT 0,
30
+ last_used INTEGER
31
+ )`);
32
+ this.mechanisms = {
33
+ 'multi-file-composer': new MultiFileComposer(),
34
+ 'terminal-autonomy': new TerminalAutonomy(),
35
+ 'background-loop': new BackgroundLoop(),
36
+ 'behavior-cascade': new BehaviorCascade(),
37
+ 'git-pair': new GitPairProgramming(),
38
+ 'sandbox-runtime': new SandboxRuntime(),
39
+ 'idea-to-deploy': new IdeaToDeploy(),
40
+ 'cost-router': new CostRouter(),
41
+ 'live-observability': new LiveObservability(),
42
+ 'knowledge-graph': new KnowledgeGraph(),
43
+ 'security-scanner': new SecurityScanner(),
44
+ 'silent-precompile': new SilentPrecompile(),
45
+ 'visual-context-sync': new VisualContextSync(),
46
+ 'self-evolving-prompt': new SelfEvolvingPrompt(),
47
+ 'zero-trust-token': new ZeroTrustToken(),
48
+ };
49
+ for (const [name, mechanism] of Object.entries(this.mechanisms)) {
50
+ if (mechanism.init)
51
+ await mechanism.init();
52
+ this.db.run(`INSERT OR IGNORE INTO mechanism_registry (name) VALUES (?)`, [name]);
53
+ }
54
+ }
55
+ async learn(toolName, result) {
56
+ const mech = this.findRelevantMechanism(toolName);
57
+ if (mech && this.mechanisms[mech]) {
58
+ await this.mechanisms[mech].learn?.(toolName, result);
59
+ this.db.run(`UPDATE mechanism_registry SET success_count = success_count + 1, last_used = ? WHERE name = ?`, [Date.now(), mech]);
60
+ }
61
+ }
62
+ findRelevantMechanism(toolName) {
63
+ const mapping = {
64
+ 'edit': 'multi-file-composer',
65
+ 'write': 'multi-file-composer',
66
+ 'bash': 'terminal-autonomy',
67
+ 'task': 'background-loop',
68
+ 'browser': 'visual-context-sync',
69
+ 'memory': 'knowledge-graph',
70
+ 'strike': 'security-scanner',
71
+ };
72
+ return mapping[toolName] ?? null;
73
+ }
74
+ async getActiveMechanisms() {
75
+ const rows = this.db.query(`SELECT name FROM mechanism_registry WHERE active = 1`).all();
76
+ return rows.map((r) => r.name);
77
+ }
78
+ }
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/omni/kernel/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { Database } from 'bun:sqlite';
2
+ export class MemoryGraphEngine {
3
+ db;
4
+ pruningInterval = null;
5
+ async init() {
6
+ this.db = new Database(':memory:');
7
+ this.db.run(`CREATE TABLE IF NOT EXISTS tool_history (
8
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
9
+ tool_name TEXT,
10
+ args_hash TEXT,
11
+ result_summary TEXT,
12
+ success INTEGER,
13
+ latency REAL,
14
+ timestamp INTEGER,
15
+ session_id TEXT
16
+ )`);
17
+ this.db.run(`CREATE TABLE IF NOT EXISTS semantic_graph (
18
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
19
+ concept TEXT UNIQUE,
20
+ frequency INTEGER DEFAULT 1,
21
+ success_rate REAL DEFAULT 1.0,
22
+ avg_latency REAL DEFAULT 0,
23
+ related_concepts TEXT DEFAULT '[]'
24
+ )`);
25
+ this.startPruningLoop();
26
+ }
27
+ async record(toolName, result, success) {
28
+ const latency = performance.now();
29
+ this.db.run(`INSERT INTO tool_history (tool_name, args_hash, result_summary, success, latency, timestamp, session_id)
30
+ VALUES (?, ?, ?, ?, ?, ?, ?)`, [toolName, '', JSON.stringify(result).slice(0, 200), success ? 1 : 0, latency, Date.now(), '']);
31
+ this.updateSemanticGraph(toolName, latency, success);
32
+ }
33
+ updateSemanticGraph(concept, latency, success) {
34
+ const existing = this.db.query(`SELECT * FROM semantic_graph WHERE concept = ?`).get(concept);
35
+ if (existing) {
36
+ const newFreq = existing.frequency + 1;
37
+ const newRate = ((existing.success_rate * existing.frequency) + (success ? 1 : 0)) / newFreq;
38
+ const newLat = ((existing.avg_latency * existing.frequency) + latency) / newFreq;
39
+ this.db.run(`UPDATE semantic_graph SET frequency = ?, success_rate = ?, avg_latency = ? WHERE concept = ?`, [newFreq, newRate, newLat, concept]);
40
+ }
41
+ else {
42
+ this.db.run(`INSERT INTO semantic_graph (concept, frequency, success_rate, avg_latency) VALUES (?, ?, ?, ?)`, [concept, 1, success ? 1 : 0, latency]);
43
+ }
44
+ }
45
+ getHighSuccessPatterns(threshold = 0.95) {
46
+ return this.db.query(`SELECT * FROM semantic_graph WHERE success_rate >= ? AND frequency >= 3 ORDER BY success_rate DESC, frequency DESC`).all(threshold);
47
+ }
48
+ startPruningLoop() {
49
+ this.pruningInterval = setInterval(() => {
50
+ this.pruneOldEntries();
51
+ }, 3600000);
52
+ }
53
+ pruneOldEntries() {
54
+ const weekAgo = Date.now() - 604800000;
55
+ this.db.run(`DELETE FROM tool_history WHERE timestamp < ?`, [weekAgo]);
56
+ this.db.run(`DELETE FROM semantic_graph WHERE frequency < 2 AND success_rate < 0.5`);
57
+ }
58
+ async shutdown() {
59
+ if (this.pruningInterval)
60
+ clearInterval(this.pruningInterval);
61
+ this.db.close();
62
+ }
63
+ }
64
+ //# sourceMappingURL=memory-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-graph.js","sourceRoot":"","sources":["../../src/omni/memory-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ const SECRET_PATTERNS = [
3
+ /(?:api[_-]?key|apikey|secret|token|password|passwd|credential|auth)\s*[:=]\s*['"]?[A-Za-z0-9_\-\.]{16,}['"]?/gi,
4
+ /sk-[A-Za-z0-9]{32,}/g,
5
+ /ghp_[A-Za-z0-9]{36,}/g,
6
+ /gho_[A-Za-z0-9]{36,}/g,
7
+ /xox[bpsar]-[A-Za-z0-9]{10,}/g,
8
+ /AKIA[0-9A-Z]{16}/g,
9
+ /-----BEGIN (RSA |EC )?PRIVATE KEY-----/g,
10
+ /eyJ[a-zA-Z0-9_-]{10,}\.[a-zA-Z0-9_-]{10,}\.[a-zA-Z0-9_-]{10,}/g,
11
+ ];
12
+ const CONTEXTUAL_PATTERNS = [
13
+ /\b(?:password|secret|key|token)\s*[:=]\s*'[^']+'/gi,
14
+ /\b(?:password|secret|key|token)\s*[:=]\s*"[^"]+"/gi,
15
+ /process\.env\.\w+/g,
16
+ ];
17
+ export class SecretRedactEngine {
18
+ active = false;
19
+ envVars = new Map();
20
+ async init() {
21
+ this.active = true;
22
+ await this.loadEnvVars();
23
+ }
24
+ async loadEnvVars() {
25
+ try {
26
+ const envContent = await readFile('.env', 'utf-8').catch(() => '');
27
+ for (const line of envContent.split('\n')) {
28
+ const match = line.match(/^(\w+)=["']?(.+)["']?$/);
29
+ if (match)
30
+ this.envVars.set(match[1].toLowerCase(), match[2].trim());
31
+ }
32
+ }
33
+ catch { }
34
+ }
35
+ sanitizeContext(context) {
36
+ if (!this.active)
37
+ return context;
38
+ const str = JSON.stringify(context);
39
+ const sanitized = this.applyPatterns(str);
40
+ try {
41
+ return JSON.parse(sanitized);
42
+ }
43
+ catch {
44
+ return sanitized;
45
+ }
46
+ }
47
+ sanitizeString(input) {
48
+ if (!this.active)
49
+ return input;
50
+ return this.applyPatterns(input);
51
+ }
52
+ applyPatterns(input) {
53
+ let result = input;
54
+ for (const pattern of SECRET_PATTERNS) {
55
+ result = result.replace(pattern, '[REDACTED]');
56
+ }
57
+ for (const pattern of CONTEXTUAL_PATTERNS) {
58
+ result = result.replace(pattern, '[REDACTED]');
59
+ }
60
+ for (const [key, value] of this.envVars) {
61
+ if (value.length > 8) {
62
+ const escaped = value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
63
+ result = result.replace(new RegExp(escaped, 'g'), '[ENV_REDACTED]');
64
+ }
65
+ }
66
+ if (this.containsApiKey(result)) {
67
+ result = this.aggressiveRedact(result);
68
+ }
69
+ return result;
70
+ }
71
+ containsApiKey(input) {
72
+ return SECRET_PATTERNS.some((p) => p.test(input));
73
+ }
74
+ aggressiveRedact(input) {
75
+ return input.replace(/[A-Za-z0-9_-]{20,}/g, '[KEY_REDACTED]');
76
+ }
77
+ async shutdown() {
78
+ this.active = false;
79
+ }
80
+ }
81
+ //# sourceMappingURL=secret-redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-redact.js","sourceRoot":"","sources":["../../src/omni/secret-redact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { mkdir, cp, rm, writeFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ export class ShadowCloneEngine {
4
+ shadowRoot = '';
5
+ active = false;
6
+ async init() {
7
+ this.shadowRoot = join(process.cwd(), '.zyraxon-shadow');
8
+ await mkdir(this.shadowRoot, { recursive: true });
9
+ this.active = true;
10
+ }
11
+ async cloneWorkspace(workspacePath) {
12
+ const shadowPath = join(this.shadowRoot, `shadow-${Date.now()}`);
13
+ await mkdir(shadowPath, { recursive: true });
14
+ await cp(workspacePath, shadowPath, { recursive: true, force: true });
15
+ return shadowPath;
16
+ }
17
+ async dryRun(filePath, newContent) {
18
+ if (!this.active)
19
+ return { valid: true, errors: [] };
20
+ try {
21
+ const ext = filePath.split('.').pop();
22
+ const tempPath = join(this.shadowRoot, `dry-${Date.now()}.${ext}`);
23
+ await writeFile(tempPath, newContent);
24
+ const errors = [];
25
+ if (ext === 'ts' || ext === 'tsx') {
26
+ try {
27
+ const proc = Bun.spawnSync(['bun', 'build', '--no-bundle', tempPath], {
28
+ cwd: this.shadowRoot,
29
+ stdio: ['ignore', 'pipe', 'pipe'],
30
+ });
31
+ if (!proc.success)
32
+ errors.push(proc.stderr.toString().slice(0, 500));
33
+ }
34
+ catch (e) {
35
+ errors.push(e.message);
36
+ }
37
+ }
38
+ await rm(tempPath).catch(() => { });
39
+ return { valid: errors.length === 0, errors };
40
+ }
41
+ catch (e) {
42
+ return { valid: false, errors: [e.message] };
43
+ }
44
+ }
45
+ async repair(filePath, error) {
46
+ const errStr = typeof error === 'string' ? error : JSON.stringify(error);
47
+ return errStr;
48
+ }
49
+ async shutdown() {
50
+ await rm(this.shadowRoot, { recursive: true, force: true }).catch(() => { });
51
+ this.active = false;
52
+ }
53
+ }
54
+ //# sourceMappingURL=shadow-clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-clone.js","sourceRoot":"","sources":["../../src/omni/shadow-clone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { Database } from 'bun:sqlite';
2
+ export class VisionContextEngine {
3
+ db;
4
+ lastFrame = null;
5
+ predictiveCache = new Map();
6
+ async init() {
7
+ this.db = new Database(':memory:');
8
+ this.db.run(`CREATE TABLE IF NOT EXISTS visual_history (
9
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
10
+ frame_summary TEXT,
11
+ detected_elements TEXT,
12
+ app_state TEXT,
13
+ terminal_activity TEXT,
14
+ timestamp INTEGER
15
+ )`);
16
+ this.db.run(`CREATE TABLE IF NOT EXISTS predictive_cache (
17
+ key TEXT PRIMARY KEY,
18
+ data TEXT,
19
+ hit_count INTEGER DEFAULT 1,
20
+ last_access INTEGER
21
+ )`);
22
+ }
23
+ async captureFrame(frame) {
24
+ this.lastFrame = frame;
25
+ this.db.run(`INSERT INTO visual_history (frame_summary, detected_elements, app_state, terminal_activity, timestamp)
26
+ VALUES (?, ?, ?, ?, ?)`, [frame.detectedElements.join(','), JSON.stringify(frame.detectedElements), frame.appState, frame.terminalActivity, frame.timestamp]);
27
+ }
28
+ async predict(context) {
29
+ const key = this.buildContextKey(context);
30
+ const cached = this.predictiveCache.get(key);
31
+ if (cached) {
32
+ this.db.run(`UPDATE predictive_cache SET hit_count = hit_count + 1, last_access = ? WHERE key = ?`, [Date.now(), key]);
33
+ return cached;
34
+ }
35
+ return null;
36
+ }
37
+ async preload(keys) {
38
+ const rows = this.db.query(`SELECT * FROM predictive_cache WHERE key IN (${keys.map(() => '?').join(',')})`).all(...keys);
39
+ for (const row of rows) {
40
+ try {
41
+ this.predictiveCache.set(row.key, JSON.parse(row.data));
42
+ }
43
+ catch { }
44
+ }
45
+ }
46
+ async cacheResult(key, data) {
47
+ this.predictiveCache.set(key, data);
48
+ this.db.run(`INSERT OR REPLACE INTO predictive_cache (key, data, hit_count, last_access) VALUES (?, ?, 1, ?)`, [key, JSON.stringify(data), Date.now()]);
49
+ }
50
+ buildContextKey(context) {
51
+ const relevant = { tool: context.tool, action: context.action, file: context.file };
52
+ return JSON.stringify(relevant);
53
+ }
54
+ getTerminalActivity() {
55
+ return this.lastFrame?.terminalActivity ?? '';
56
+ }
57
+ getAppState() {
58
+ return this.lastFrame?.appState ?? '';
59
+ }
60
+ }
61
+ //# sourceMappingURL=vision-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vision-context.js","sourceRoot":"","sources":["../../src/omni/vision-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAUrC,MAAM,OAAO,mBAAmB;IACtB,EAAE,CAAU;IACZ,SAAS,GAAuB,IAAI,CAAA;IACpC,eAAe,GAAqB,IAAI,GAAG,EAAE,CAAA;IAErD,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;MAOV,CAAC,CAAA;QACH,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;MAKV,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAkB;QACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,EAAE,CAAC,GAAG,CACT;8BACwB,EACxB,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,CACpI,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAY;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,sFAAsF,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;YACtH,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAU,CAAA;QAClI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACzD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,IAAS;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,iGAAiG,EACjG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CACxC,CAAA;IACH,CAAC;IAEO,eAAe,CAAC,OAAY;QAClC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QACnF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,SAAS,EAAE,gBAAgB,IAAI,EAAE,CAAA;IAC/C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAA;IACvC,CAAC;CACF"}