@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,18 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
export const OpenAICompatiblePlugin = define({
|
|
4
|
+
id: "openai-compatible",
|
|
5
|
+
effect: Effect.fn(function* (ctx) {
|
|
6
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
7
|
+
if (evt.sdk)
|
|
8
|
+
return;
|
|
9
|
+
if (!evt.package.includes("@ai-sdk/openai-compatible"))
|
|
10
|
+
return;
|
|
11
|
+
if (evt.options.includeUsage !== false)
|
|
12
|
+
evt.options.includeUsage = true;
|
|
13
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/openai-compatible"));
|
|
14
|
+
evt.sdk = mod.createOpenAICompatible(evt.options);
|
|
15
|
+
}));
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=openai-compatible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/plugin/provider/openai-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;IAC3C,EAAE,EAAE,mBAAmB;IACvB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,GAAG;gBAAE,OAAM;YACnB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBAAE,OAAM;YAC9D,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,KAAK;gBAAE,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;YACvE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;YAC5E,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAc,CAAC,CAAA;QAC1D,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import { define } from "@zyraxon-ai/plugin/v2/effect/plugin";
|
|
3
|
+
import { Deferred, Effect } from "effect";
|
|
4
|
+
import { Credential } from "../../credential";
|
|
5
|
+
import { InstallationVersion } from "../../installation/version";
|
|
6
|
+
import { Integration } from "../../integration";
|
|
7
|
+
import { ModelV2 } from "../../model";
|
|
8
|
+
import { OauthCallbackPage } from "../../oauth/page";
|
|
9
|
+
import { ProviderV2 } from "../../provider";
|
|
10
|
+
const clientID = "app_EMoamEEZ73f0CkXaXp7hrann";
|
|
11
|
+
const issuer = "https://auth.openai.com";
|
|
12
|
+
const callbackPort = 1455;
|
|
13
|
+
const pollingSafetyMargin = 3000;
|
|
14
|
+
const browserMethodID = Integration.MethodID.make("chatgpt-browser");
|
|
15
|
+
const headlessMethodID = Integration.MethodID.make("chatgpt-headless");
|
|
16
|
+
const browser = {
|
|
17
|
+
integrationID: Integration.ID.make("openai"),
|
|
18
|
+
method: {
|
|
19
|
+
id: browserMethodID,
|
|
20
|
+
type: "oauth",
|
|
21
|
+
label: "ChatGPT Pro/Plus (browser)",
|
|
22
|
+
},
|
|
23
|
+
authorize: () => Effect.gen(function* () {
|
|
24
|
+
const pkce = yield* Effect.promise(generatePKCE);
|
|
25
|
+
const state = base64UrlEncode(crypto.getRandomValues(new Uint8Array(32)).buffer);
|
|
26
|
+
const code = yield* Deferred.make();
|
|
27
|
+
const redirect = `http://localhost:${callbackPort}/auth/callback`;
|
|
28
|
+
const server = createServer((request, response) => {
|
|
29
|
+
const url = new URL(request.url ?? "/", `http://localhost:${callbackPort}`);
|
|
30
|
+
if (url.pathname !== "/auth/callback") {
|
|
31
|
+
response.writeHead(404).end("Not found");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const error = url.searchParams.get("error_description") ?? url.searchParams.get("error");
|
|
35
|
+
const value = url.searchParams.get("code");
|
|
36
|
+
if (error) {
|
|
37
|
+
Effect.runFork(Deferred.fail(code, new Error(error)));
|
|
38
|
+
response
|
|
39
|
+
.writeHead(400, { "Content-Type": "text/html" })
|
|
40
|
+
.end(OauthCallbackPage.error(error, { provider: "ChatGPT" }));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!value || url.searchParams.get("state") !== state) {
|
|
44
|
+
const message = value ? "Invalid OAuth state" : "Missing authorization code";
|
|
45
|
+
Effect.runFork(Deferred.fail(code, new Error(message)));
|
|
46
|
+
response
|
|
47
|
+
.writeHead(400, { "Content-Type": "text/html" })
|
|
48
|
+
.end(OauthCallbackPage.error(message, { provider: "ChatGPT" }));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
Effect.runFork(Deferred.succeed(code, value));
|
|
52
|
+
response.writeHead(200, { "Content-Type": "text/html" }).end(OauthCallbackPage.success({ provider: "ChatGPT" }));
|
|
53
|
+
});
|
|
54
|
+
yield* Effect.callback((resume) => {
|
|
55
|
+
server.once("error", (error) => resume(Effect.fail(error)));
|
|
56
|
+
server.listen(callbackPort, "localhost", () => resume(Effect.void));
|
|
57
|
+
});
|
|
58
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => server.close()));
|
|
59
|
+
return {
|
|
60
|
+
mode: "auto",
|
|
61
|
+
url: authorizeURL(redirect, pkce, state),
|
|
62
|
+
instructions: "Complete authorization in your browser. This window will close automatically.",
|
|
63
|
+
callback: Deferred.await(code).pipe(Effect.flatMap((value) => exchange(value, redirect, pkce)), Effect.map((tokens) => credential(browserMethodID, tokens))),
|
|
64
|
+
};
|
|
65
|
+
}),
|
|
66
|
+
refresh: (value) => refresh(browserMethodID, value),
|
|
67
|
+
};
|
|
68
|
+
const headless = {
|
|
69
|
+
integrationID: Integration.ID.make("openai"),
|
|
70
|
+
method: {
|
|
71
|
+
id: headlessMethodID,
|
|
72
|
+
type: "oauth",
|
|
73
|
+
label: "ChatGPT Pro/Plus (headless)",
|
|
74
|
+
},
|
|
75
|
+
authorize: () => Effect.gen(function* () {
|
|
76
|
+
const device = yield* request(`${issuer}/api/accounts/deviceauth/usercode`, {
|
|
77
|
+
method: "POST",
|
|
78
|
+
headers: headers("application/json"),
|
|
79
|
+
body: JSON.stringify({ client_id: clientID }),
|
|
80
|
+
});
|
|
81
|
+
const interval = Math.max(Number.parseInt(device.interval) || 5, 1) * 1000;
|
|
82
|
+
return {
|
|
83
|
+
mode: "auto",
|
|
84
|
+
url: `${issuer}/codex/device`,
|
|
85
|
+
instructions: `Enter code: ${device.user_code}`,
|
|
86
|
+
callback: Effect.gen(function* () {
|
|
87
|
+
while (true) {
|
|
88
|
+
const response = yield* Effect.tryPromise({
|
|
89
|
+
try: (signal) => fetch(`${issuer}/api/accounts/deviceauth/token`, {
|
|
90
|
+
method: "POST",
|
|
91
|
+
headers: headers("application/json"),
|
|
92
|
+
body: JSON.stringify({ device_auth_id: device.device_auth_id, user_code: device.user_code }),
|
|
93
|
+
signal,
|
|
94
|
+
}),
|
|
95
|
+
catch: (cause) => cause,
|
|
96
|
+
});
|
|
97
|
+
if (response.ok) {
|
|
98
|
+
const data = (yield* Effect.promise(() => response.json()));
|
|
99
|
+
return credential(headlessMethodID, yield* exchange(data.authorization_code, `${issuer}/deviceauth/callback`, {
|
|
100
|
+
verifier: data.code_verifier,
|
|
101
|
+
challenge: "",
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
if (response.status !== 403 && response.status !== 404) {
|
|
105
|
+
return yield* Effect.fail(new Error(`Device authorization failed: ${response.status}`));
|
|
106
|
+
}
|
|
107
|
+
yield* Effect.sleep(interval + pollingSafetyMargin);
|
|
108
|
+
}
|
|
109
|
+
}),
|
|
110
|
+
};
|
|
111
|
+
}),
|
|
112
|
+
refresh: (value) => refresh(headlessMethodID, value),
|
|
113
|
+
};
|
|
114
|
+
export const OpenAIPlugin = define({
|
|
115
|
+
id: "openai",
|
|
116
|
+
effect: Effect.fn(function* (ctx) {
|
|
117
|
+
yield* ctx.integration.transform((draft) => {
|
|
118
|
+
draft.method.update(browser);
|
|
119
|
+
draft.method.update(headless);
|
|
120
|
+
});
|
|
121
|
+
yield* ctx.catalog.transform(Effect.fn(function* (evt) {
|
|
122
|
+
for (const item of evt.provider.list()) {
|
|
123
|
+
if (item.provider.api.type !== "aisdk")
|
|
124
|
+
continue;
|
|
125
|
+
if (item.provider.api.package !== "@ai-sdk/openai")
|
|
126
|
+
continue;
|
|
127
|
+
if (!item.models.has(ModelV2.ID.make("gpt-5-chat-latest")))
|
|
128
|
+
continue;
|
|
129
|
+
evt.model.update(item.provider.id, ModelV2.ID.make("gpt-5-chat-latest"), (model) => {
|
|
130
|
+
// OpenAIPlugin sends OpenAI models through Responses; this alias is a
|
|
131
|
+
// chat-completions-only model, so hide it only from OpenAI's catalog.
|
|
132
|
+
model.enabled = false;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}));
|
|
136
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
137
|
+
if (evt.package !== "@ai-sdk/openai")
|
|
138
|
+
return;
|
|
139
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/openai"));
|
|
140
|
+
evt.sdk = mod.createOpenAI(evt.options);
|
|
141
|
+
}));
|
|
142
|
+
yield* ctx.aisdk.language(Effect.fn(function* (evt) {
|
|
143
|
+
if (evt.model.providerID !== ProviderV2.ID.openai)
|
|
144
|
+
return;
|
|
145
|
+
evt.language = evt.sdk.responses(evt.model.api.id);
|
|
146
|
+
}));
|
|
147
|
+
}),
|
|
148
|
+
});
|
|
149
|
+
function headers(contentType) {
|
|
150
|
+
return { "Content-Type": contentType, "User-Agent": `zyraxon/${InstallationVersion}` };
|
|
151
|
+
}
|
|
152
|
+
function exchange(code, redirect, pkce) {
|
|
153
|
+
return request(`${issuer}/oauth/token`, {
|
|
154
|
+
method: "POST",
|
|
155
|
+
headers: headers("application/x-www-form-urlencoded"),
|
|
156
|
+
body: new URLSearchParams({
|
|
157
|
+
grant_type: "authorization_code",
|
|
158
|
+
code,
|
|
159
|
+
redirect_uri: redirect,
|
|
160
|
+
client_id: clientID,
|
|
161
|
+
code_verifier: pkce.verifier,
|
|
162
|
+
}).toString(),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function refresh(methodID, value) {
|
|
166
|
+
return request(`${issuer}/oauth/token`, {
|
|
167
|
+
method: "POST",
|
|
168
|
+
headers: headers("application/x-www-form-urlencoded"),
|
|
169
|
+
body: new URLSearchParams({
|
|
170
|
+
grant_type: "refresh_token",
|
|
171
|
+
refresh_token: value.refresh,
|
|
172
|
+
client_id: clientID,
|
|
173
|
+
}).toString(),
|
|
174
|
+
}).pipe(Effect.map((tokens) => {
|
|
175
|
+
const next = credential(methodID, tokens);
|
|
176
|
+
return Credential.OAuth.make({ ...next, metadata: next.metadata ?? value.metadata });
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
function request(url, init) {
|
|
180
|
+
return Effect.tryPromise({
|
|
181
|
+
try: async (signal) => {
|
|
182
|
+
const response = await fetch(url, { ...init, signal });
|
|
183
|
+
if (!response.ok)
|
|
184
|
+
throw new Error(`Request failed: ${response.status}`);
|
|
185
|
+
return response.json();
|
|
186
|
+
},
|
|
187
|
+
catch: (cause) => cause,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
function credential(methodID, tokens) {
|
|
191
|
+
const accountID = extractAccountID(tokens);
|
|
192
|
+
return Credential.OAuth.make({
|
|
193
|
+
type: "oauth",
|
|
194
|
+
methodID,
|
|
195
|
+
refresh: tokens.refresh_token,
|
|
196
|
+
access: tokens.access_token,
|
|
197
|
+
expires: Date.now() + (tokens.expires_in ?? 3600) * 1000,
|
|
198
|
+
metadata: accountID ? { accountID } : undefined,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
async function generatePKCE() {
|
|
202
|
+
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
|
|
203
|
+
const verifier = Array.from(crypto.getRandomValues(new Uint8Array(43)), (byte) => chars[byte % chars.length]).join("");
|
|
204
|
+
const challenge = base64UrlEncode(await crypto.subtle.digest("SHA-256", new TextEncoder().encode(verifier)));
|
|
205
|
+
return { verifier, challenge };
|
|
206
|
+
}
|
|
207
|
+
function base64UrlEncode(buffer) {
|
|
208
|
+
return Buffer.from(buffer).toString("base64url");
|
|
209
|
+
}
|
|
210
|
+
function authorizeURL(redirect, pkce, state) {
|
|
211
|
+
return `${issuer}/oauth/authorize?${new URLSearchParams({
|
|
212
|
+
response_type: "code",
|
|
213
|
+
client_id: clientID,
|
|
214
|
+
redirect_uri: redirect,
|
|
215
|
+
scope: "openid profile email offline_access",
|
|
216
|
+
code_challenge: pkce.challenge,
|
|
217
|
+
code_challenge_method: "S256",
|
|
218
|
+
id_token_add_organizations: "true",
|
|
219
|
+
codex_cli_simplified_flow: "true",
|
|
220
|
+
state,
|
|
221
|
+
originator: "opencode",
|
|
222
|
+
})}`;
|
|
223
|
+
}
|
|
224
|
+
function extractAccountID(tokens) {
|
|
225
|
+
return claim(tokens.id_token) ?? claim(tokens.access_token);
|
|
226
|
+
}
|
|
227
|
+
function claim(token) {
|
|
228
|
+
const part = token.split(".")[1];
|
|
229
|
+
if (!part)
|
|
230
|
+
return;
|
|
231
|
+
try {
|
|
232
|
+
const claims = JSON.parse(Buffer.from(part, "base64url").toString());
|
|
233
|
+
return (claims.chatgpt_account_id ??
|
|
234
|
+
claims["https://api.openai.com/auth"]?.chatgpt_account_id ??
|
|
235
|
+
claims.organizations?.[0]?.id);
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=openai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/plugin/provider/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { ModelV2 } from "../../model";
|
|
3
|
+
import { define } from "../internal";
|
|
4
|
+
export const OpenRouterPlugin = define({
|
|
5
|
+
id: "openrouter",
|
|
6
|
+
effect: Effect.fn(function* (ctx) {
|
|
7
|
+
yield* ctx.catalog.transform(Effect.fn(function* (evt) {
|
|
8
|
+
for (const item of evt.provider.list()) {
|
|
9
|
+
if (item.provider.api.type !== "aisdk")
|
|
10
|
+
continue;
|
|
11
|
+
if (item.provider.api.package !== "@openrouter/ai-sdk-provider")
|
|
12
|
+
continue;
|
|
13
|
+
evt.provider.update(item.provider.id, (provider) => {
|
|
14
|
+
provider.request.headers["HTTP-Referer"] = "https://zyraxon.ai/";
|
|
15
|
+
provider.request.headers["X-Title"] = "opencode";
|
|
16
|
+
});
|
|
17
|
+
for (const modelID of [ModelV2.ID.make("gpt-5-chat-latest"), ModelV2.ID.make("openai/gpt-5-chat")]) {
|
|
18
|
+
if (!item.models.has(modelID))
|
|
19
|
+
continue;
|
|
20
|
+
evt.model.update(item.provider.id, modelID, (model) => {
|
|
21
|
+
// These are OpenRouter-specific OpenAI chat aliases that do not work
|
|
22
|
+
// on the generic path. Keep custom providers with matching IDs untouched.
|
|
23
|
+
model.enabled = false;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
29
|
+
if (evt.package !== "@openrouter/ai-sdk-provider")
|
|
30
|
+
return;
|
|
31
|
+
const mod = yield* Effect.promise(() => import("@openrouter/ai-sdk-provider"));
|
|
32
|
+
evt.sdk = mod.createOpenRouter(evt.options);
|
|
33
|
+
}));
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=openrouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/plugin/provider/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAC1B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAQ;gBAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK,6BAA6B;oBAAE,SAAQ;gBACzE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACjD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAA;oBAChE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAA;gBAClD,CAAC,CAAC,CAAA;gBACF,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;oBACnG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;wBAAE,SAAQ;oBACvC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACpD,qEAAqE;wBACrE,0EAA0E;wBAC1E,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;oBACvB,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QACD,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,6BAA6B;gBAAE,OAAM;YACzD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAA;YAC9E,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
export const PerplexityPlugin = define({
|
|
4
|
+
id: "perplexity",
|
|
5
|
+
effect: Effect.fn(function* (ctx) {
|
|
6
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
7
|
+
if (evt.package !== "@ai-sdk/perplexity")
|
|
8
|
+
return;
|
|
9
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/perplexity"));
|
|
10
|
+
evt.sdk = mod.createPerplexity(evt.options);
|
|
11
|
+
}));
|
|
12
|
+
}),
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=perplexity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perplexity.js","sourceRoot":"","sources":["../../../src/plugin/provider/perplexity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,oBAAoB;gBAAE,OAAM;YAChD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAA;YACrE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { pathToFileURL } from "url";
|
|
3
|
+
import { define } from "../internal";
|
|
4
|
+
import { Npm } from "../../npm";
|
|
5
|
+
import { ProviderV2 } from "../../provider";
|
|
6
|
+
export const SapAICorePlugin = define({
|
|
7
|
+
id: "sap-ai-core",
|
|
8
|
+
effect: Effect.fn(function* (ctx) {
|
|
9
|
+
const npm = yield* Npm.Service;
|
|
10
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
11
|
+
if (evt.model.providerID !== ProviderV2.ID.make("sap-ai-core"))
|
|
12
|
+
return;
|
|
13
|
+
const serviceKey = process.env.AICORE_SERVICE_KEY ??
|
|
14
|
+
(typeof evt.options.serviceKey === "string" ? evt.options.serviceKey : undefined);
|
|
15
|
+
if (serviceKey && !process.env.AICORE_SERVICE_KEY)
|
|
16
|
+
process.env.AICORE_SERVICE_KEY = serviceKey;
|
|
17
|
+
const installedPath = evt.package.startsWith("file://")
|
|
18
|
+
? evt.package
|
|
19
|
+
: (yield* npm.add(evt.package).pipe(Effect.orDie)).entrypoint;
|
|
20
|
+
if (!installedPath)
|
|
21
|
+
throw new Error(`Package ${evt.package} has no import entrypoint`);
|
|
22
|
+
const mod = yield* Effect.promise(async () => {
|
|
23
|
+
return (await import(installedPath.startsWith("file://") ? installedPath : pathToFileURL(installedPath).href));
|
|
24
|
+
}).pipe(Effect.orDie);
|
|
25
|
+
const match = Object.keys(mod).find((name) => name.startsWith("create"));
|
|
26
|
+
if (!match)
|
|
27
|
+
throw new Error(`Package ${evt.package} has no provider factory export`);
|
|
28
|
+
evt.sdk = mod[match](serviceKey
|
|
29
|
+
? { deploymentId: process.env.AICORE_DEPLOYMENT_ID, resourceGroup: process.env.AICORE_RESOURCE_GROUP }
|
|
30
|
+
: {});
|
|
31
|
+
}));
|
|
32
|
+
yield* ctx.aisdk.language(Effect.fn(function* (evt) {
|
|
33
|
+
if (evt.model.providerID !== ProviderV2.ID.make("sap-ai-core"))
|
|
34
|
+
return;
|
|
35
|
+
evt.language = evt.sdk(evt.model.api.id);
|
|
36
|
+
}));
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=sap-ai-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sap-ai-core.js","sourceRoot":"","sources":["../../../src/plugin/provider/sap-ai-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
import { ProviderV2 } from "../../provider";
|
|
4
|
+
// Exported for testing: intercepts Cortex-specific request/response quirks.
|
|
5
|
+
export function cortexFetch(upstream = fetch) {
|
|
6
|
+
return async (url, init) => {
|
|
7
|
+
if (init?.body && typeof init.body === "string") {
|
|
8
|
+
try {
|
|
9
|
+
const body = JSON.parse(init.body);
|
|
10
|
+
if ("max_tokens" in body) {
|
|
11
|
+
body.max_completion_tokens = body.max_tokens;
|
|
12
|
+
delete body.max_tokens;
|
|
13
|
+
init = { ...init, body: JSON.stringify(body) };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch { }
|
|
17
|
+
}
|
|
18
|
+
const response = await upstream(url, init);
|
|
19
|
+
// Cortex returns 400 "conversation complete" as a normal stop condition
|
|
20
|
+
if (!response.ok && response.status === 400) {
|
|
21
|
+
try {
|
|
22
|
+
const errorData = (await response.clone().json());
|
|
23
|
+
if (String(errorData.message || errorData.error || "")
|
|
24
|
+
.toLowerCase()
|
|
25
|
+
.includes("conversation complete")) {
|
|
26
|
+
return new Response(JSON.stringify({ choices: [{ finish_reason: "stop", message: { content: "", role: "assistant" } }] }), { status: 200, headers: new Headers({ "content-type": "application/json" }) });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch { }
|
|
30
|
+
}
|
|
31
|
+
// Cortex returns role:"" in streaming deltas; the AI SDK schema requires "assistant"
|
|
32
|
+
if (response.body && response.headers.get("content-type")?.includes("text/event-stream")) {
|
|
33
|
+
const reader = response.body.getReader();
|
|
34
|
+
const encoder = new TextEncoder();
|
|
35
|
+
const decoder = new TextDecoder();
|
|
36
|
+
const stream = new ReadableStream({
|
|
37
|
+
async pull(ctrl) {
|
|
38
|
+
const { done, value } = await reader.read();
|
|
39
|
+
if (done) {
|
|
40
|
+
ctrl.close();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
ctrl.enqueue(encoder.encode(decoder.decode(value, { stream: true }).replace(/"role"\s*:\s*""/g, '"role":"assistant"')));
|
|
44
|
+
},
|
|
45
|
+
cancel() {
|
|
46
|
+
reader.cancel();
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
return new Response(stream, { headers: response.headers, status: response.status });
|
|
50
|
+
}
|
|
51
|
+
return response;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export const SnowflakeCortexPlugin = define({
|
|
55
|
+
id: "snowflake-cortex",
|
|
56
|
+
effect: Effect.fn(function* (ctx) {
|
|
57
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
58
|
+
if (evt.model.providerID !== ProviderV2.ID.make("snowflake-cortex"))
|
|
59
|
+
return;
|
|
60
|
+
const token = process.env.SNOWFLAKE_CORTEX_TOKEN ??
|
|
61
|
+
process.env.SNOWFLAKE_CORTEX_PAT ??
|
|
62
|
+
(typeof evt.options.token === "string" ? evt.options.token : undefined) ??
|
|
63
|
+
(typeof evt.options.apiKey === "string" ? evt.options.apiKey : undefined);
|
|
64
|
+
const upstream = typeof evt.options.fetch === "function" ? evt.options.fetch : undefined;
|
|
65
|
+
if (evt.options.includeUsage !== false)
|
|
66
|
+
evt.options.includeUsage = true;
|
|
67
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/openai-compatible"));
|
|
68
|
+
evt.sdk = mod.createOpenAICompatible({
|
|
69
|
+
...evt.options,
|
|
70
|
+
...(token ? { apiKey: token } : {}),
|
|
71
|
+
fetch: cortexFetch(upstream),
|
|
72
|
+
});
|
|
73
|
+
}));
|
|
74
|
+
}),
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=snowflake-cortex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snowflake-cortex.js","sourceRoot":"","sources":["../../../src/plugin/provider/snowflake-cortex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
export const TogetherAIPlugin = define({
|
|
4
|
+
id: "togetherai",
|
|
5
|
+
effect: Effect.fn(function* (ctx) {
|
|
6
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
7
|
+
if (evt.package !== "@ai-sdk/togetherai")
|
|
8
|
+
return;
|
|
9
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/togetherai"));
|
|
10
|
+
evt.sdk = mod.createTogetherAI(evt.options);
|
|
11
|
+
}));
|
|
12
|
+
}),
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=togetherai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"togetherai.js","sourceRoot":"","sources":["../../../src/plugin/provider/togetherai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,oBAAoB;gBAAE,OAAM;YAChD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAA;YACrE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
export const VenicePlugin = define({
|
|
4
|
+
id: "venice",
|
|
5
|
+
effect: Effect.fn(function* (ctx) {
|
|
6
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
7
|
+
if (evt.package !== "venice-ai-sdk-provider")
|
|
8
|
+
return;
|
|
9
|
+
const mod = yield* Effect.promise(() => import("venice-ai-sdk-provider"));
|
|
10
|
+
evt.sdk = mod.createVenice(evt.options);
|
|
11
|
+
}));
|
|
12
|
+
}),
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=venice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venice.js","sourceRoot":"","sources":["../../../src/plugin/provider/venice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,wBAAwB;gBAAE,OAAM;YACpD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAA;YACzE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
export const VercelPlugin = define({
|
|
4
|
+
id: "vercel",
|
|
5
|
+
effect: Effect.fn(function* (ctx) {
|
|
6
|
+
yield* ctx.catalog.transform(Effect.fn(function* (evt) {
|
|
7
|
+
for (const item of evt.provider.list()) {
|
|
8
|
+
if (item.provider.api.type !== "aisdk")
|
|
9
|
+
continue;
|
|
10
|
+
if (item.provider.api.package !== "@ai-sdk/vercel")
|
|
11
|
+
continue;
|
|
12
|
+
evt.provider.update(item.provider.id, (provider) => {
|
|
13
|
+
provider.request.headers["http-referer"] = "https://zyraxon.ai/";
|
|
14
|
+
provider.request.headers["x-title"] = "opencode";
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
19
|
+
if (evt.package !== "@ai-sdk/vercel")
|
|
20
|
+
return;
|
|
21
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/vercel"));
|
|
22
|
+
evt.sdk = mod.createVercel(evt.options);
|
|
23
|
+
}));
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../src/plugin/provider/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAC1B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAQ;gBAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK,gBAAgB;oBAAE,SAAQ;gBAC5D,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACjD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAA;oBAChE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAA;gBAClD,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QACD,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,gBAAgB;gBAAE,OAAM;YAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;YACjE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
import { ProviderV2 } from "../../provider";
|
|
4
|
+
export const XAIPlugin = define({
|
|
5
|
+
id: "xai",
|
|
6
|
+
effect: Effect.fn(function* (ctx) {
|
|
7
|
+
yield* ctx.aisdk.sdk(Effect.fn(function* (evt) {
|
|
8
|
+
if (evt.package !== "@ai-sdk/xai")
|
|
9
|
+
return;
|
|
10
|
+
const mod = yield* Effect.promise(() => import("@ai-sdk/xai"));
|
|
11
|
+
evt.sdk = mod.createXai(evt.options);
|
|
12
|
+
}));
|
|
13
|
+
yield* ctx.aisdk.language(Effect.fn(function* (evt) {
|
|
14
|
+
if (evt.model.providerID !== ProviderV2.ID.make("xai"))
|
|
15
|
+
return;
|
|
16
|
+
evt.language = evt.sdk.responses(evt.model.api.id);
|
|
17
|
+
}));
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=xai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/plugin/provider/xai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;IAC9B,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa;gBAAE,OAAM;YACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;YAC9D,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC,CAAC,CACH,CAAA;QACD,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CACvB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAM;YAC9D,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACpD,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { define } from "../internal";
|
|
3
|
+
export const ZenmuxPlugin = define({
|
|
4
|
+
id: "zenmux",
|
|
5
|
+
effect: Effect.fn(function* (ctx) {
|
|
6
|
+
yield* ctx.catalog.transform(Effect.fn(function* (evt) {
|
|
7
|
+
for (const item of evt.provider.list()) {
|
|
8
|
+
if (item.provider.api.type !== "aisdk")
|
|
9
|
+
continue;
|
|
10
|
+
if (item.provider.api.package !== "@ai-sdk/openai-compatible")
|
|
11
|
+
continue;
|
|
12
|
+
if (item.provider.api.url !== "https://zenmux.ai/api/v1")
|
|
13
|
+
continue;
|
|
14
|
+
evt.provider.update(item.provider.id, (provider) => {
|
|
15
|
+
provider.request.headers["HTTP-Referer"] ??= "https://zyraxon.ai/";
|
|
16
|
+
provider.request.headers["X-Title"] ??= "opencode";
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
20
|
+
}),
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=zenmux.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zenmux.js","sourceRoot":"","sources":["../../../src/plugin/provider/zenmux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAC1B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;YACtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAQ;gBAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK,2BAA2B;oBAAE,SAAQ;gBACvE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,0BAA0B;oBAAE,SAAQ;gBAClE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACjD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,qBAAqB,CAAA;oBAClE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,UAAU,CAAA;gBACpD,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC;CACH,CAAC,CAAA"}
|