@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.
- package/dist/account/sql.js +31 -0
- package/dist/account/sql.js.map +1 -0
- package/dist/account.js +82 -0
- package/dist/account.js.map +1 -0
- package/dist/agent.js +77 -0
- package/dist/agent.js.map +1 -0
- package/dist/aisdk.js +171 -0
- package/dist/aisdk.js.map +1 -0
- package/dist/background-job.js +236 -0
- package/dist/background-job.js.map +1 -0
- package/dist/catalog.js +197 -0
- package/dist/catalog.js.map +1 -0
- package/dist/command.js +40 -0
- package/dist/command.js.map +1 -0
- package/dist/config/agent.js +24 -0
- package/dist/config/agent.js.map +1 -0
- package/dist/config/attachments.js +15 -0
- package/dist/config/attachments.js.map +1 -0
- package/dist/config/command.js +12 -0
- package/dist/config/command.js.map +1 -0
- package/dist/config/compaction.js +15 -0
- package/dist/config/compaction.js.map +1 -0
- package/dist/config/experimental.js +17 -0
- package/dist/config/experimental.js.map +1 -0
- package/dist/config/formatter.js +11 -0
- package/dist/config/formatter.js.map +1 -0
- package/dist/config/lsp.js +16 -0
- package/dist/config/lsp.js.map +1 -0
- package/dist/config/markdown.js +41 -0
- package/dist/config/markdown.js.map +1 -0
- package/dist/config/mcp.js +47 -0
- package/dist/config/mcp.js.map +1 -0
- package/dist/config/plugin/agent.js +149 -0
- package/dist/config/plugin/agent.js.map +1 -0
- package/dist/config/plugin/command.js +71 -0
- package/dist/config/plugin/command.js.map +1 -0
- package/dist/config/plugin/external.js +82 -0
- package/dist/config/plugin/external.js.map +1 -0
- package/dist/config/plugin/provider.js +109 -0
- package/dist/config/plugin/provider.js.map +1 -0
- package/dist/config/plugin/reference.js +59 -0
- package/dist/config/plugin/reference.js.map +1 -0
- package/dist/config/plugin/skill.js +41 -0
- package/dist/config/plugin/skill.js.map +1 -0
- package/dist/config/plugin.js +10 -0
- package/dist/config/plugin.js.map +1 -0
- package/dist/config/provider.js +70 -0
- package/dist/config/provider.js.map +1 -0
- package/dist/config/reference.js +18 -0
- package/dist/config/reference.js.map +1 -0
- package/dist/config/tool-output.js +9 -0
- package/dist/config/tool-output.js.map +1 -0
- package/dist/config/watcher.js +7 -0
- package/dist/config/watcher.js.map +1 -0
- package/dist/config.js +201 -0
- package/dist/config.js.map +1 -0
- package/dist/control-plane/move-session.js +111 -0
- package/dist/control-plane/move-session.js.map +1 -0
- package/dist/control-plane/workspace.sql.js +18 -0
- package/dist/control-plane/workspace.sql.js.map +1 -0
- package/dist/credential/sql.js +13 -0
- package/dist/credential/sql.js.map +1 -0
- package/dist/credential.js +105 -0
- package/dist/credential.js.map +1 -0
- package/dist/cross-spawn-spawner.js +412 -0
- package/dist/cross-spawn-spawner.js.map +1 -0
- package/dist/data-migration.sql.js +6 -0
- package/dist/data-migration.sql.js.map +1 -0
- package/dist/database/database.js +67 -0
- package/dist/database/database.js.map +1 -0
- package/dist/database/migration/20260127222353_familiar_lady_ursula.js +106 -0
- package/dist/database/migration/20260127222353_familiar_lady_ursula.js.map +1 -0
- package/dist/database/migration/20260211171708_add_project_commands.js +10 -0
- package/dist/database/migration/20260211171708_add_project_commands.js.map +1 -0
- package/dist/database/migration/20260213144116_wakeful_the_professor.js +22 -0
- package/dist/database/migration/20260213144116_wakeful_the_professor.js.map +1 -0
- package/dist/database/migration/20260225215848_workspace.js +18 -0
- package/dist/database/migration/20260225215848_workspace.js.map +1 -0
- package/dist/database/migration/20260227213759_add_session_workspace_id.js +11 -0
- package/dist/database/migration/20260227213759_add_session_workspace_id.js.map +1 -0
- package/dist/database/migration/20260228203230_blue_harpoon.js +29 -0
- package/dist/database/migration/20260228203230_blue_harpoon.js.map +1 -0
- package/dist/database/migration/20260303231226_add_workspace_fields.js +14 -0
- package/dist/database/migration/20260303231226_add_workspace_fields.js.map +1 -0
- package/dist/database/migration/20260309230000_move_org_to_state.js +12 -0
- package/dist/database/migration/20260309230000_move_org_to_state.js.map +1 -0
- package/dist/database/migration/20260312043431_session_message_cursor.js +13 -0
- package/dist/database/migration/20260312043431_session_message_cursor.js.map +1 -0
- package/dist/database/migration/20260323234822_events.js +25 -0
- package/dist/database/migration/20260323234822_events.js.map +1 -0
- package/dist/database/migration/20260410174513_workspace-name.js +26 -0
- package/dist/database/migration/20260410174513_workspace-name.js.map +1 -0
- package/dist/database/migration/20260413175956_chief_energizer.js +23 -0
- package/dist/database/migration/20260413175956_chief_energizer.js.map +1 -0
- package/dist/database/migration/20260423070820_add_icon_url_override.js +13 -0
- package/dist/database/migration/20260423070820_add_icon_url_override.js.map +1 -0
- package/dist/database/migration/20260427172553_slow_nightmare.js +27 -0
- package/dist/database/migration/20260427172553_slow_nightmare.js.map +1 -0
- package/dist/database/migration/20260428004200_add_session_path.js +10 -0
- package/dist/database/migration/20260428004200_add_session_path.js.map +1 -0
- package/dist/database/migration/20260501142318_next_venus.js +11 -0
- package/dist/database/migration/20260501142318_next_venus.js.map +1 -0
- package/dist/database/migration/20260504145000_add_sync_owner.js +10 -0
- package/dist/database/migration/20260504145000_add_sync_owner.js.map +1 -0
- package/dist/database/migration/20260507164347_add_workspace_time.js +10 -0
- package/dist/database/migration/20260507164347_add_workspace_time.js.map +1 -0
- package/dist/database/migration/20260510033149_session_usage.js +55 -0
- package/dist/database/migration/20260510033149_session_usage.js.map +1 -0
- package/dist/database/migration/20260511000411_data_migration_state.js +15 -0
- package/dist/database/migration/20260511000411_data_migration_state.js.map +1 -0
- package/dist/database/migration/20260511173437_session-metadata.js +13 -0
- package/dist/database/migration/20260511173437_session-metadata.js.map +1 -0
- package/dist/database/migration/20260601010001_normalize_storage_paths.js +13 -0
- package/dist/database/migration/20260601010001_normalize_storage_paths.js.map +1 -0
- package/dist/database/migration/20260601202201_amazing_prowler.js +10 -0
- package/dist/database/migration/20260601202201_amazing_prowler.js.map +1 -0
- package/dist/database/migration/20260602002951_lowly_union_jack.js +21 -0
- package/dist/database/migration/20260602002951_lowly_union_jack.js.map +1 -0
- package/dist/database/migration/20260602182828_add_project_directories.js +19 -0
- package/dist/database/migration/20260602182828_add_project_directories.js.map +1 -0
- package/dist/database/migration/20260603001617_session_message_projection_indexes.js +14 -0
- package/dist/database/migration/20260603001617_session_message_projection_indexes.js.map +1 -0
- package/dist/database/migration/20260603040000_session_message_projection_order.js +16 -0
- package/dist/database/migration/20260603040000_session_message_projection_order.js.map +1 -0
- package/dist/database/migration/20260603141458_session_input_inbox.js +22 -0
- package/dist/database/migration/20260603141458_session_input_inbox.js.map +1 -0
- package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +13 -0
- package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js.map +1 -0
- package/dist/database/migration/20260604172448_event_sourced_session_input.js +38 -0
- package/dist/database/migration/20260604172448_event_sourced_session_input.js.map +1 -0
- package/dist/database/migration/20260605003541_add_session_context_snapshot.js +20 -0
- package/dist/database/migration/20260605003541_add_session_context_snapshot.js.map +1 -0
- package/dist/database/migration/20260605042240_add_context_epoch_agent.js +10 -0
- package/dist/database/migration/20260605042240_add_context_epoch_agent.js.map +1 -0
- package/dist/database/migration/20260611035744_credential.js +22 -0
- package/dist/database/migration/20260611035744_credential.js.map +1 -0
- package/dist/database/migration/20260611192811_lush_chimera.js +24 -0
- package/dist/database/migration/20260611192811_lush_chimera.js.map +1 -0
- package/dist/database/migration/20260612174303_project_dir_strategy.js +26 -0
- package/dist/database/migration/20260612174303_project_dir_strategy.js.map +1 -0
- package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +12 -0
- package/dist/database/migration/20260622142730_simplify_session_context_epoch.js.map +1 -0
- package/dist/database/migration/20260622170816_reset_v2_session_state.js +16 -0
- package/dist/database/migration/20260622170816_reset_v2_session_state.js.map +1 -0
- package/dist/database/migration/20260622202450_simplify_session_input.js +16 -0
- package/dist/database/migration/20260622202450_simplify_session_input.js.map +1 -0
- package/dist/database/migration/20260730000000_eternal_memory_system.js +141 -0
- package/dist/database/migration/20260730000000_eternal_memory_system.js.map +1 -0
- package/dist/database/migration/20260912000000_db_performance_optimization.js +29 -0
- package/dist/database/migration/20260912000000_db_performance_optimization.js.map +1 -0
- package/dist/database/migration/20260912000000_performance_indexes.js +35 -0
- package/dist/database/migration/20260912000000_performance_indexes.js.map +1 -0
- package/dist/database/migration.gen.js +42 -0
- package/dist/database/migration.gen.js.map +1 -0
- package/dist/database/migration.js +48 -0
- package/dist/database/migration.js.map +1 -0
- package/dist/database/path.js +70 -0
- package/dist/database/path.js.map +1 -0
- package/dist/database/schema.gen.js +257 -0
- package/dist/database/schema.gen.js.map +1 -0
- package/dist/database/schema.sql.js +10 -0
- package/dist/database/schema.sql.js.map +1 -0
- package/dist/database/sqlite.bun.js +130 -0
- package/dist/database/sqlite.bun.js.map +1 -0
- package/dist/database/sqlite.js +7 -0
- package/dist/database/sqlite.js.map +1 -0
- package/dist/database/sqlite.node.js +124 -0
- package/dist/database/sqlite.node.js.map +1 -0
- package/dist/effect/app-node-builder.js +19 -0
- package/dist/effect/app-node-builder.js.map +1 -0
- package/dist/effect/app-node-platform.js +17 -0
- package/dist/effect/app-node-platform.js.map +1 -0
- package/dist/effect/app-node.js +9 -0
- package/dist/effect/app-node.js.map +1 -0
- package/dist/effect/keyed-mutex.js +31 -0
- package/dist/effect/keyed-mutex.js.map +1 -0
- package/dist/effect/layer-node.js +182 -0
- package/dist/effect/layer-node.js.map +1 -0
- package/dist/effect/memo-map.js +3 -0
- package/dist/effect/memo-map.js.map +1 -0
- package/dist/effect/runtime.js +17 -0
- package/dist/effect/runtime.js.map +1 -0
- package/dist/effect/service-use.js +28 -0
- package/dist/effect/service-use.js.map +1 -0
- package/dist/event/sql.js +19 -0
- package/dist/event/sql.js.map +1 -0
- package/dist/event.js +421 -0
- package/dist/event.js.map +1 -0
- package/dist/file-mutation.js +102 -0
- package/dist/file-mutation.js.map +1 -0
- package/dist/file.js +4 -0
- package/dist/file.js.map +1 -0
- package/dist/filesystem/fff.bun.js +28 -0
- package/dist/filesystem/fff.bun.js.map +1 -0
- package/dist/filesystem/fff.node.js +8 -0
- package/dist/filesystem/fff.node.js.map +1 -0
- package/dist/filesystem/ignore.js +63 -0
- package/dist/filesystem/ignore.js.map +1 -0
- package/dist/filesystem/protected.js +50 -0
- package/dist/filesystem/protected.js.map +1 -0
- package/dist/filesystem/search.js +198 -0
- package/dist/filesystem/search.js.map +1 -0
- package/dist/filesystem/watcher.js +109 -0
- package/dist/filesystem/watcher.js.map +1 -0
- package/dist/filesystem.js +96 -0
- package/dist/filesystem.js.map +1 -0
- package/dist/flag/flag.js +66 -0
- package/dist/flag/flag.js.map +1 -0
- package/dist/fs-util.js +222 -0
- package/dist/fs-util.js.map +1 -0
- package/dist/git.js +558 -0
- package/dist/git.js.map +1 -0
- package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +147 -0
- package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js.map +1 -0
- package/dist/github-copilot/chat/get-response-metadata.js +8 -0
- package/dist/github-copilot/chat/get-response-metadata.js.map +1 -0
- package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +16 -0
- package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js.map +1 -0
- package/dist/github-copilot/chat/openai-compatible-api-types.js +2 -0
- package/dist/github-copilot/chat/openai-compatible-api-types.js.map +1 -0
- package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +618 -0
- package/dist/github-copilot/chat/openai-compatible-chat-language-model.js.map +1 -0
- package/dist/github-copilot/chat/openai-compatible-chat-options.js +21 -0
- package/dist/github-copilot/chat/openai-compatible-chat-options.js.map +1 -0
- package/dist/github-copilot/chat/openai-compatible-metadata-extractor.js +2 -0
- package/dist/github-copilot/chat/openai-compatible-metadata-extractor.js.map +1 -0
- package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +51 -0
- package/dist/github-copilot/chat/openai-compatible-prepare-tools.js.map +1 -0
- package/dist/github-copilot/copilot-provider.js +48 -0
- package/dist/github-copilot/copilot-provider.js.map +1 -0
- package/dist/github-copilot/openai-compatible-error.js +17 -0
- package/dist/github-copilot/openai-compatible-error.js.map +1 -0
- package/dist/github-copilot/responses/convert-to-openai-responses-input.js +284 -0
- package/dist/github-copilot/responses/convert-to-openai-responses-input.js.map +1 -0
- package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +14 -0
- package/dist/github-copilot/responses/map-openai-responses-finish-reason.js.map +1 -0
- package/dist/github-copilot/responses/openai-config.js +2 -0
- package/dist/github-copilot/responses/openai-config.js.map +1 -0
- package/dist/github-copilot/responses/openai-error.js +18 -0
- package/dist/github-copilot/responses/openai-error.js.map +1 -0
- package/dist/github-copilot/responses/openai-responses-api-types.js +2 -0
- package/dist/github-copilot/responses/openai-responses-api-types.js.map +1 -0
- package/dist/github-copilot/responses/openai-responses-language-model.js +1487 -0
- package/dist/github-copilot/responses/openai-responses-language-model.js.map +1 -0
- package/dist/github-copilot/responses/openai-responses-prepare-tools.js +140 -0
- package/dist/github-copilot/responses/openai-responses-prepare-tools.js.map +1 -0
- package/dist/github-copilot/responses/openai-responses-settings.js +2 -0
- package/dist/github-copilot/responses/openai-responses-settings.js.map +1 -0
- package/dist/github-copilot/responses/tool/code-interpreter.js +33 -0
- package/dist/github-copilot/responses/tool/code-interpreter.js.map +1 -0
- package/dist/github-copilot/responses/tool/file-search.js +40 -0
- package/dist/github-copilot/responses/tool/file-search.js.map +1 -0
- package/dist/github-copilot/responses/tool/image-generation.js +33 -0
- package/dist/github-copilot/responses/tool/image-generation.js.map +1 -0
- package/dist/github-copilot/responses/tool/local-shell.js +21 -0
- package/dist/github-copilot/responses/tool/local-shell.js.map +1 -0
- package/dist/github-copilot/responses/tool/web-search-preview.js +62 -0
- package/dist/github-copilot/responses/tool/web-search-preview.js.map +1 -0
- package/dist/github-copilot/responses/tool/web-search.js +45 -0
- package/dist/github-copilot/responses/tool/web-search.js.map +1 -0
- package/dist/global.js +78 -0
- package/dist/global.js.map +1 -0
- package/dist/id/id.js +40 -0
- package/dist/id/id.js.map +1 -0
- package/dist/image/photon.js +84 -0
- package/dist/image/photon.js.map +1 -0
- package/dist/image.js +49 -0
- package/dist/image.js.map +1 -0
- package/dist/installation/version.js +4 -0
- package/dist/installation/version.js.map +1 -0
- package/dist/instruction-context.js +69 -0
- package/dist/instruction-context.js.map +1 -0
- package/dist/integration/connection.js +6 -0
- package/dist/integration/connection.js.map +1 -0
- package/dist/integration.js +335 -0
- package/dist/integration.js.map +1 -0
- package/dist/location-mutation.js +104 -0
- package/dist/location-mutation.js.map +1 -0
- package/dist/location-service-map.js +11 -0
- package/dist/location-service-map.js.map +1 -0
- package/dist/location-services.js +94 -0
- package/dist/location-services.js.map +1 -0
- package/dist/location.js +26 -0
- package/dist/location.js.map +1 -0
- package/dist/model.js +20 -0
- package/dist/model.js.map +1 -0
- package/dist/models-dev.js +187 -0
- package/dist/models-dev.js.map +1 -0
- package/dist/npm-config.js +33 -0
- package/dist/npm-config.js.map +1 -0
- package/dist/npm.js +203 -0
- package/dist/npm.js.map +1 -0
- package/dist/oauth/page.js +229 -0
- package/dist/oauth/page.js.map +1 -0
- package/dist/observability/logging.js +62 -0
- package/dist/observability/logging.js.map +1 -0
- package/dist/observability/otlp.js +69 -0
- package/dist/observability/otlp.js.map +1 -0
- package/dist/observability/shared.js +2 -0
- package/dist/observability/shared.js.map +1 -0
- package/dist/observability.js +14 -0
- package/dist/observability.js.map +1 -0
- package/dist/omni/index.js +36 -0
- package/dist/omni/index.js.map +1 -0
- package/dist/omni/kernel/01-multi-file-composer.js +57 -0
- package/dist/omni/kernel/01-multi-file-composer.js.map +1 -0
- package/dist/omni/kernel/02-terminal-autonomy.js +47 -0
- package/dist/omni/kernel/02-terminal-autonomy.js.map +1 -0
- package/dist/omni/kernel/03-background-loop.js +43 -0
- package/dist/omni/kernel/03-background-loop.js.map +1 -0
- package/dist/omni/kernel/04-behavior-cascade.js +39 -0
- package/dist/omni/kernel/04-behavior-cascade.js.map +1 -0
- package/dist/omni/kernel/05-git-pair.js +42 -0
- package/dist/omni/kernel/05-git-pair.js.map +1 -0
- package/dist/omni/kernel/06-sandbox-runtime.js +34 -0
- package/dist/omni/kernel/06-sandbox-runtime.js.map +1 -0
- package/dist/omni/kernel/07-idea-to-deploy.js +28 -0
- package/dist/omni/kernel/07-idea-to-deploy.js.map +1 -0
- package/dist/omni/kernel/08-cost-router.js +26 -0
- package/dist/omni/kernel/08-cost-router.js.map +1 -0
- package/dist/omni/kernel/09-live-observability.js +40 -0
- package/dist/omni/kernel/09-live-observability.js.map +1 -0
- package/dist/omni/kernel/10-knowledge-graph.js +39 -0
- package/dist/omni/kernel/10-knowledge-graph.js.map +1 -0
- package/dist/omni/kernel/11-security-scanner.js +52 -0
- package/dist/omni/kernel/11-security-scanner.js.map +1 -0
- package/dist/omni/kernel/12-silent-precompile.js +58 -0
- package/dist/omni/kernel/12-silent-precompile.js.map +1 -0
- package/dist/omni/kernel/13-visual-context-sync.js +59 -0
- package/dist/omni/kernel/13-visual-context-sync.js.map +1 -0
- package/dist/omni/kernel/14-self-evolving-prompt.js +45 -0
- package/dist/omni/kernel/14-self-evolving-prompt.js.map +1 -0
- package/dist/omni/kernel/15-zero-trust-token.js +78 -0
- package/dist/omni/kernel/15-zero-trust-token.js.map +1 -0
- package/dist/omni/kernel/index.js +79 -0
- package/dist/omni/kernel/index.js.map +1 -0
- package/dist/omni/memory-graph.js +64 -0
- package/dist/omni/memory-graph.js.map +1 -0
- package/dist/omni/secret-redact.js +81 -0
- package/dist/omni/secret-redact.js.map +1 -0
- package/dist/omni/shadow-clone.js +54 -0
- package/dist/omni/shadow-clone.js.map +1 -0
- package/dist/omni/vision-context.js +61 -0
- package/dist/omni/vision-context.js.map +1 -0
- package/dist/patch.js +179 -0
- package/dist/patch.js.map +1 -0
- package/dist/permission/saved.js +53 -0
- package/dist/permission/saved.js.map +1 -0
- package/dist/permission/sql.js +14 -0
- package/dist/permission/sql.js.map +1 -0
- package/dist/permission.js +222 -0
- package/dist/permission.js.map +1 -0
- package/dist/plugin/agent.js +180 -0
- package/dist/plugin/agent.js.map +1 -0
- package/dist/plugin/command.js +24 -0
- package/dist/plugin/command.js.map +1 -0
- package/dist/plugin/host.js +168 -0
- package/dist/plugin/host.js.map +1 -0
- package/dist/plugin/internal.js +102 -0
- package/dist/plugin/internal.js.map +1 -0
- package/dist/plugin/layer-map.example.js +37 -0
- package/dist/plugin/layer-map.example.js.map +1 -0
- package/dist/plugin/models-dev.js +161 -0
- package/dist/plugin/models-dev.js.map +1 -0
- package/dist/plugin/promise.js +71 -0
- package/dist/plugin/promise.js.map +1 -0
- package/dist/plugin/provider/alibaba.js +14 -0
- package/dist/plugin/provider/alibaba.js.map +1 -0
- package/dist/plugin/provider/amazon-bedrock.js +109 -0
- package/dist/plugin/provider/amazon-bedrock.js.map +1 -0
- package/dist/plugin/provider/anthropic.js +26 -0
- package/dist/plugin/provider/anthropic.js.map +1 -0
- package/dist/plugin/provider/azure.js +79 -0
- package/dist/plugin/provider/azure.js.map +1 -0
- package/dist/plugin/provider/cerebras.js +25 -0
- package/dist/plugin/provider/cerebras.js.map +1 -0
- package/dist/plugin/provider/cloudflare-ai-gateway.js +68 -0
- package/dist/plugin/provider/cloudflare-ai-gateway.js.map +1 -0
- package/dist/plugin/provider/cloudflare-workers-ai.js +74 -0
- package/dist/plugin/provider/cloudflare-workers-ai.js.map +1 -0
- package/dist/plugin/provider/cohere.js +14 -0
- package/dist/plugin/provider/cohere.js.map +1 -0
- package/dist/plugin/provider/deepinfra.js +14 -0
- package/dist/plugin/provider/deepinfra.js.map +1 -0
- package/dist/plugin/provider/dynamic.js +27 -0
- package/dist/plugin/provider/dynamic.js.map +1 -0
- package/dist/plugin/provider/gateway.js +14 -0
- package/dist/plugin/provider/gateway.js.map +1 -0
- package/dist/plugin/provider/github-copilot.js +48 -0
- package/dist/plugin/provider/github-copilot.js.map +1 -0
- package/dist/plugin/provider/gitlab.js +57 -0
- package/dist/plugin/provider/gitlab.js.map +1 -0
- package/dist/plugin/provider/google-vertex.js +153 -0
- package/dist/plugin/provider/google-vertex.js.map +1 -0
- package/dist/plugin/provider/google.js +14 -0
- package/dist/plugin/provider/google.js.map +1 -0
- package/dist/plugin/provider/groq.js +14 -0
- package/dist/plugin/provider/groq.js.map +1 -0
- package/dist/plugin/provider/kilo.js +22 -0
- package/dist/plugin/provider/kilo.js.map +1 -0
- package/dist/plugin/provider/llmgateway.js +29 -0
- package/dist/plugin/provider/llmgateway.js.map +1 -0
- package/dist/plugin/provider/mistral.js +14 -0
- package/dist/plugin/provider/mistral.js.map +1 -0
- package/dist/plugin/provider/nvidia.js +23 -0
- package/dist/plugin/provider/nvidia.js.map +1 -0
- package/dist/plugin/provider/openai-compatible.js +18 -0
- package/dist/plugin/provider/openai-compatible.js.map +1 -0
- package/dist/plugin/provider/openai.js +241 -0
- package/dist/plugin/provider/openai.js.map +1 -0
- package/dist/plugin/provider/openrouter.js +36 -0
- package/dist/plugin/provider/openrouter.js.map +1 -0
- package/dist/plugin/provider/perplexity.js +14 -0
- package/dist/plugin/provider/perplexity.js.map +1 -0
- package/dist/plugin/provider/sap-ai-core.js +39 -0
- package/dist/plugin/provider/sap-ai-core.js.map +1 -0
- package/dist/plugin/provider/snowflake-cortex.js +76 -0
- package/dist/plugin/provider/snowflake-cortex.js.map +1 -0
- package/dist/plugin/provider/togetherai.js +14 -0
- package/dist/plugin/provider/togetherai.js.map +1 -0
- package/dist/plugin/provider/venice.js +14 -0
- package/dist/plugin/provider/venice.js.map +1 -0
- package/dist/plugin/provider/vercel.js +26 -0
- package/dist/plugin/provider/vercel.js.map +1 -0
- package/dist/plugin/provider/xai.js +20 -0
- package/dist/plugin/provider/xai.js.map +1 -0
- package/dist/plugin/provider/zenmux.js +22 -0
- package/dist/plugin/provider/zenmux.js.map +1 -0
- package/dist/plugin/provider/zyraxon.js +260 -0
- package/dist/plugin/provider/zyraxon.js.map +1 -0
- package/dist/plugin/provider.js +69 -0
- package/dist/plugin/provider.js.map +1 -0
- package/dist/plugin/skill.js +25 -0
- package/dist/plugin/skill.js.map +1 -0
- package/dist/plugin/variant.js +38 -0
- package/dist/plugin/variant.js.map +1 -0
- package/dist/plugin.js +119 -0
- package/dist/plugin.js.map +1 -0
- package/dist/policy.js +30 -0
- package/dist/policy.js.map +1 -0
- package/dist/process.js +163 -0
- package/dist/process.js.map +1 -0
- package/dist/project/copy-strategies.js +28 -0
- package/dist/project/copy-strategies.js.map +1 -0
- package/dist/project/copy.js +180 -0
- package/dist/project/copy.js.map +1 -0
- package/dist/project/directories.js +89 -0
- package/dist/project/directories.js.map +1 -0
- package/dist/project/schema.js +12 -0
- package/dist/project/schema.js.map +1 -0
- package/dist/project/sql.js +29 -0
- package/dist/project/sql.js.map +1 -0
- package/dist/project.js +94 -0
- package/dist/project.js.map +1 -0
- package/dist/provider.js +9 -0
- package/dist/provider.js.map +1 -0
- package/dist/pty/protocol.js +35 -0
- package/dist/pty/protocol.js.map +1 -0
- package/dist/pty/pty.bun.js +23 -0
- package/dist/pty/pty.bun.js.map +1 -0
- package/dist/pty/pty.js +2 -0
- package/dist/pty/pty.js.map +1 -0
- package/dist/pty/pty.node.js +23 -0
- package/dist/pty/pty.node.js.map +1 -0
- package/dist/pty/schema.js +2 -0
- package/dist/pty/schema.js.map +1 -0
- package/dist/pty/ticket.js +33 -0
- package/dist/pty/ticket.js.map +1 -0
- package/dist/pty.js +253 -0
- package/dist/pty.js.map +1 -0
- package/dist/public-event-manifest.js +6 -0
- package/dist/public-event-manifest.js.map +1 -0
- package/dist/question.js +78 -0
- package/dist/question.js.map +1 -0
- package/dist/reference/guidance.js +55 -0
- package/dist/reference/guidance.js.map +1 -0
- package/dist/reference.js +90 -0
- package/dist/reference.js.map +1 -0
- package/dist/repository-cache.js +180 -0
- package/dist/repository-cache.js.map +1 -0
- package/dist/repository.js +164 -0
- package/dist/repository.js.map +1 -0
- package/dist/ripgrep/binary.js +107 -0
- package/dist/ripgrep/binary.js.map +1 -0
- package/dist/ripgrep.js +174 -0
- package/dist/ripgrep.js.map +1 -0
- package/dist/schema.js +33 -0
- package/dist/schema.js.map +1 -0
- package/dist/session/compaction.js +197 -0
- package/dist/session/compaction.js.map +1 -0
- package/dist/session/context-epoch.js +110 -0
- package/dist/session/context-epoch.js.map +1 -0
- package/dist/session/error.js +20 -0
- package/dist/session/error.js.map +1 -0
- package/dist/session/event.js +3 -0
- package/dist/session/event.js.map +1 -0
- package/dist/session/execution/local.js +35 -0
- package/dist/session/execution/local.js.map +1 -0
- package/dist/session/execution.js +16 -0
- package/dist/session/execution.js.map +1 -0
- package/dist/session/history.js +58 -0
- package/dist/session/history.js.map +1 -0
- package/dist/session/info.js +48 -0
- package/dist/session/info.js.map +1 -0
- package/dist/session/input.js +167 -0
- package/dist/session/input.js.map +1 -0
- package/dist/session/message-updater.js +340 -0
- package/dist/session/message-updater.js.map +1 -0
- package/dist/session/message.js +3 -0
- package/dist/session/message.js.map +1 -0
- package/dist/session/projector.js +385 -0
- package/dist/session/projector.js.map +1 -0
- package/dist/session/prompt.js +2 -0
- package/dist/session/prompt.js.map +1 -0
- package/dist/session/revert.js +107 -0
- package/dist/session/revert.js.map +1 -0
- package/dist/session/run-coordinator.js +65 -0
- package/dist/session/run-coordinator.js.map +1 -0
- package/dist/session/runner/index.js +5 -0
- package/dist/session/runner/index.js.map +1 -0
- package/dist/session/runner/llm.js +356 -0
- package/dist/session/runner/llm.js.map +1 -0
- package/dist/session/runner/max-steps.js +17 -0
- package/dist/session/runner/max-steps.js.map +1 -0
- package/dist/session/runner/model.js +150 -0
- package/dist/session/runner/model.js.map +1 -0
- package/dist/session/runner/publish-llm-event.js +387 -0
- package/dist/session/runner/publish-llm-event.js.map +1 -0
- package/dist/session/runner/to-llm-message.js +152 -0
- package/dist/session/runner/to-llm-message.js.map +1 -0
- package/dist/session/schema.js +5 -0
- package/dist/session/schema.js.map +1 -0
- package/dist/session/sql.js +121 -0
- package/dist/session/sql.js.map +1 -0
- package/dist/session/store.js +44 -0
- package/dist/session/store.js.map +1 -0
- package/dist/session/todo.js +53 -0
- package/dist/session/todo.js.map +1 -0
- package/dist/session.js +330 -0
- package/dist/session.js.map +1 -0
- package/dist/share/sql.js +13 -0
- package/dist/share/sql.js.map +1 -0
- package/dist/shell.js +227 -0
- package/dist/shell.js.map +1 -0
- package/dist/skill/discovery.js +163 -0
- package/dist/skill/discovery.js.map +1 -0
- package/dist/skill/guidance.js +58 -0
- package/dist/skill/guidance.js.map +1 -0
- package/dist/skill.js +101 -0
- package/dist/skill.js.map +1 -0
- package/dist/snapshot.js +174 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/state.js +76 -0
- package/dist/state.js.map +1 -0
- package/dist/system-context/builtins.js +44 -0
- package/dist/system-context/builtins.js.map +1 -0
- package/dist/system-context/index.js +208 -0
- package/dist/system-context/index.js.map +1 -0
- package/dist/system-context/registry.js +24 -0
- package/dist/system-context/registry.js.map +1 -0
- package/dist/tool/application-tools.js +33 -0
- package/dist/tool/application-tools.js.map +1 -0
- package/dist/tool/apply-patch.js +177 -0
- package/dist/tool/apply-patch.js.map +1 -0
- package/dist/tool/bash.js +177 -0
- package/dist/tool/bash.js.map +1 -0
- package/dist/tool/builtins.js +49 -0
- package/dist/tool/builtins.js.map +1 -0
- package/dist/tool/edit.js +181 -0
- package/dist/tool/edit.js.map +1 -0
- package/dist/tool/glob.js +83 -0
- package/dist/tool/glob.js.map +1 -0
- package/dist/tool/grep.js +110 -0
- package/dist/tool/grep.js.map +1 -0
- package/dist/tool/http-body.js +26 -0
- package/dist/tool/http-body.js.map +1 -0
- package/dist/tool/marketplace.js +483 -0
- package/dist/tool/marketplace.js.map +1 -0
- package/dist/tool/question.js +70 -0
- package/dist/tool/question.js.map +1 -0
- package/dist/tool/read-filesystem.js +326 -0
- package/dist/tool/read-filesystem.js.map +1 -0
- package/dist/tool/read.js +107 -0
- package/dist/tool/read.js.map +1 -0
- package/dist/tool/registry.js +102 -0
- package/dist/tool/registry.js.map +1 -0
- package/dist/tool/skill.js +97 -0
- package/dist/tool/skill.js.map +1 -0
- package/dist/tool/todowrite.js +50 -0
- package/dist/tool/todowrite.js.map +1 -0
- package/dist/tool/tool.js +71 -0
- package/dist/tool/tool.js.map +1 -0
- package/dist/tool/tools.js +6 -0
- package/dist/tool/tools.js.map +1 -0
- package/dist/tool/webfetch.js +184 -0
- package/dist/tool/webfetch.js.map +1 -0
- package/dist/tool/websearch.js +201 -0
- package/dist/tool/websearch.js.map +1 -0
- package/dist/tool/write.js +83 -0
- package/dist/tool/write.js.map +1 -0
- package/dist/tool-output-store.js +164 -0
- package/dist/tool-output-store.js.map +1 -0
- package/dist/util/array.js +9 -0
- package/dist/util/array.js.map +1 -0
- package/dist/util/binary.js +41 -0
- package/dist/util/binary.js.map +1 -0
- package/dist/util/effect-flock.js +179 -0
- package/dist/util/effect-flock.js.map +1 -0
- package/dist/util/encode.js +50 -0
- package/dist/util/encode.js.map +1 -0
- package/dist/util/error.js +46 -0
- package/dist/util/error.js.map +1 -0
- package/dist/util/flock.js +274 -0
- package/dist/util/flock.js.map +1 -0
- package/dist/util/glob.js +27 -0
- package/dist/util/glob.js.map +1 -0
- package/dist/util/hash.js +13 -0
- package/dist/util/hash.js.map +1 -0
- package/dist/util/identifier.js +2 -0
- package/dist/util/identifier.js.map +1 -0
- package/dist/util/iife.js +4 -0
- package/dist/util/iife.js.map +1 -0
- package/dist/util/lazy.js +12 -0
- package/dist/util/lazy.js.map +1 -0
- package/dist/util/module.js +13 -0
- package/dist/util/module.js.map +1 -0
- package/dist/util/path.js +40 -0
- package/dist/util/path.js.map +1 -0
- package/dist/util/retry.js +35 -0
- package/dist/util/retry.js.map +1 -0
- package/dist/util/slug.js +75 -0
- package/dist/util/slug.js.map +1 -0
- package/dist/util/token.js +4 -0
- package/dist/util/token.js.map +1 -0
- package/dist/util/which.js +14 -0
- package/dist/util/which.js.map +1 -0
- package/dist/util/wildcard.js +13 -0
- package/dist/util/wildcard.js.map +1 -0
- package/dist/v1/config/agent.js +77 -0
- package/dist/v1/config/agent.js.map +1 -0
- package/dist/v1/config/attachment.js +21 -0
- package/dist/v1/config/attachment.js.map +1 -0
- package/dist/v1/config/command.js +11 -0
- package/dist/v1/config/command.js.map +1 -0
- package/dist/v1/config/config.js +157 -0
- package/dist/v1/config/config.js.map +1 -0
- package/dist/v1/config/console-state.js +15 -0
- package/dist/v1/config/console-state.js.map +1 -0
- package/dist/v1/config/error.js +30 -0
- package/dist/v1/config/error.js.map +1 -0
- package/dist/v1/config/formatter.js +10 -0
- package/dist/v1/config/formatter.js.map +1 -0
- package/dist/v1/config/layout.js +4 -0
- package/dist/v1/config/layout.js.map +1 -0
- package/dist/v1/config/lsp.js +74 -0
- package/dist/v1/config/lsp.js.map +1 -0
- package/dist/v1/config/mcp.js +54 -0
- package/dist/v1/config/mcp.js.map +1 -0
- package/dist/v1/config/migrate.js +230 -0
- package/dist/v1/config/migrate.js.map +1 -0
- package/dist/v1/config/permission.js +32 -0
- package/dist/v1/config/permission.js.map +1 -0
- package/dist/v1/config/plugin.js +5 -0
- package/dist/v1/config/plugin.js.map +1 -0
- package/dist/v1/config/provider-options.js +193 -0
- package/dist/v1/config/provider-options.js.map +1 -0
- package/dist/v1/config/provider.js +83 -0
- package/dist/v1/config/provider.js.map +1 -0
- package/dist/v1/config/server.js +17 -0
- package/dist/v1/config/server.js.map +1 -0
- package/dist/v1/config/skills.js +11 -0
- package/dist/v1/config/skills.js.map +1 -0
- package/dist/v1/permission.js +28 -0
- package/dist/v1/permission.js.map +1 -0
- package/dist/v1/session.js +26 -0
- package/dist/v1/session.js.map +1 -0
- package/dist/v2-schema.js +3 -0
- package/dist/v2-schema.js.map +1 -0
- package/dist/workspace.js +4 -0
- package/dist/workspace.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|