@xopcai/xopc 0.0.164 → 0.0.166
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/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-RpxkQtQ3.js → agent-avatar-dicebear-Tr2hgn4j.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-CxpwxMPE.js → agents-DZ69tC4K.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-DLdjfMXB.js → app-management-settings-panel-D7Nrbhez.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-C89-uxkq.js → appearance-settings-DNNbABFj.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-k-tZbaRB.js → apps-page-0zXIeywq.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-CqbH5geE.js → archive-plugin-CizqFy4G.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-CeU4Qiot.js → attachment-load-DU8KjTua.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-suggestion-card-WiOuqXq9.js → automation-suggestion-card-3pqyIveW.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-Bdn3dgC_.js → automations-page-DSz3xDsi.js} +1 -1
- package/dist/gateway/static/root/assets/{binary-plugins-C5TdzrhJ.js → binary-plugins-CipUnsOr.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-BjvWhphG.js → block-editor-XoEq6qiv.js} +3 -3
- package/dist/gateway/static/root/assets/{browser-settings-page-GsVTGfGs.js → browser-settings-page-COYvq3y5.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-DXmzQ3nk.js → browser-workflow-inputs-DRH995XI.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-C1-ptRe4.js → browser-workflows-page-65edjhpz.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-6d4kVjzl.js → capabilities-settings-panel-LOQyfdsM.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-api-C0pVlUyc.js → capability-presets-api-XL4h7dCK.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-settings-panel-DCxy5Ls_.js → capability-presets-settings-panel-KPJFkt1h.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-settings-Bg3P8k0f.js → channels-settings-D8nH0mve.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-logo-CuI5w4qM.js → connector-logo-n4Hg41iD.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-page-6UR7yhIZ.js → connectors-page-jvRWZn3Y.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-BvG8vDXZ.js → desktop-pet-D4OzBOwm.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-CR__kZ8C.js → desktop-pet-settings-CDGezbaf.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-BblWMz3e.js → directory-picker-path-field-DmL4AUXQ.js} +1 -1
- package/dist/gateway/static/root/assets/{dreaming-settings-DHMPugDE.js → dreaming-settings-ClUcBKnd.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-ByVY1gZg.js → extension-debug-page-DsV_KUDM.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DLCKKtbK.js → extension-page-DJv_G1jY.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-M-rhlFBC.js → extension-settings-page-DUAlJ4CU.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-DZHqhbXH.js → gateway-config-api-SVYgzqv7.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-CZswIehx.js → gateway-settings-YL6f2C_F.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-create-dialog-TbyRfDas.js → goal-create-dialog-CJJe-4Co.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-detail-page-B-QBVOf2.js → goal-detail-page-Da9VMWRd.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-config-api-DMxG6f0N.js → goals-config-api-st_Itxa9.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-page-BGxki8BR.js → goals-page-B6pC7PYZ.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-settings-G-w1gCYD.js → goals-settings-BEZePZ5m.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-Csb90R59.js → heartbeat-settings-DpeD9GQ9.js} +1 -1
- package/dist/gateway/static/root/assets/{index-CGwuxvzr.js → index-BhQMnKH1.js} +6 -6
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-C_Bl3YOr.js → keyboard-shortcuts-settings-fhssr2-J.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-BR2tBhO3.js → local-app-workbench-page-Ctia6lSG.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-_8Rv-tSk.js → local-apps-page-DWF9rpWQ.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-CwF0C_Z2.js → logs-page-D3gL6vHX.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-split-CZnZS6gq.js → markdown-split-BuduJ0Ev.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-C2XLYC6G.js → media-plugins-CLASZjhT.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-BkuZxTFo.js → notes-page-ve3XiBDF.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-workbench-CD4FADi7.js → notes-workbench-oHU532lp.js} +2 -2
- package/dist/gateway/static/root/assets/{page-tabs-DR2FGC4E.js → page-tabs-DU85jn98.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-B65O8wBL.js → preview-open-alternatives-CtchTuRQ.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-Cag-utLH.js → product-open-page-DFT6Fx6y.js} +1 -1
- package/dist/gateway/static/root/assets/{project-detail-page-COKtUblD.js → project-detail-page-Ceu0NoC1.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-QYmqanBN.js → projects-page-CdpqOmO8.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-BU_gBU0f.js → remote-access-hub-D1NKLyiR.js} +1 -1
- package/dist/gateway/static/root/assets/{save-bar-controls-DCWpFnPc.js → save-bar-controls-CmcrHpMc.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-ClacZdvE.js → schedule-field-DmIkP6JV.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-BVlbEipU.js → schema-form-Dkk9blN0.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-u-Pjbzfm.js → sessions-page-CMj_JaOk.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-DR9Q2ZyF.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-GSNlQWSW.js → settings-form-section-CuQzWvg5.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-08Ae5sB_.js → settings-loading-skeleton-C5FNbyej.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-BseJD4I-.js → settings-page-a-A2yTGE.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-bSliH-Y3.js → settings-page-layout-MuXpamWD.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-CGRhJVlt.js → setup-status-panel-BUdh8FKY.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-C114OpTx.js → share-preview-page-BfzzmTgg.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-BRFpWFgI.js → shares-settings-8a9qnLF8.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-cVjU2GnN.js → skill-reload-api-da5gLCer.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-CoMTjtRT.js → skills-page-CmHj-CKY.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-El8cDcTY.js → system-settings-panel-CyhRkWMi.js} +1 -1
- package/dist/gateway/static/root/assets/{time-picker-CU7hhD8T.js → time-picker-WEPp3HrB.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-kToxD7Rc.js → typed-models-lib-Bi1uoxFR.js} +1 -1
- package/dist/gateway/static/root/assets/{user-context-page-C0xYCSXB.js → user-context-page-BObEyiim.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-DzEpwYaU.js → voice-api-key-field-Gvgodhec.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-DakZqR85.js → work-discovery-page-BHnjvGH1.js} +1 -1
- package/dist/gateway/static/root/assets/{work-item-detail-page-CswqPbTT.js → work-item-detail-page-CQ8ybkxx.js} +1 -1
- package/dist/gateway/static/root/assets/{work-page-DYRXEk8m.js → work-page-D_U_En23.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BwSxyVMM.js → workflow-run-setup-panel-B-Sk6gFn.js} +1 -1
- package/dist/gateway/static/root/assets/{workflows-page-CiLSYGuN.js → workflows-page-DT0pzfkz.js} +1 -1
- package/dist/gateway/static/root/index.html +1 -1
- package/dist/package.js +1 -1
- package/dist/src/agent/embedded/run-turn.js +9 -2
- package/dist/src/agent/index.js +1 -1
- package/dist/src/cli/commands/channels.js +1 -1
- package/dist/src/cli/commands/connectors.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/extensions/sdk/index.js +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +1 -1
- package/dist/src/gateway/service.js +2 -2
- package/dist/src/providers/index.js +5 -2
- package/dist/src/providers/model-ref.d.ts +6 -0
- package/dist/src/providers/model-ref.js +15 -0
- package/dist/src/providers/model-registry.js +5 -2
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-1Yck1PKq.js +0 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260713-1" />
|
|
12
12
|
<link rel="manifest" href="/site.webmanifest?v=20260713-1" />
|
|
13
13
|
<title>xopc</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-BhQMnKH1.js"></script>
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
package/dist/package.js
CHANGED
|
@@ -7,6 +7,7 @@ import { getAssistantTurnErrorMessage, isAssistantTurnAborted, isAssistantTurnFa
|
|
|
7
7
|
import { abortEmbeddedRun, queueEmbeddedSteer, registerEmbeddedRun, unregisterEmbeddedRun } from "./runs.js";
|
|
8
8
|
import { lastAssistantPlainText, subscribeEmbeddedSessionEvents } from "./subscribe-session.js";
|
|
9
9
|
import { detectToolLoops } from "../orchestration/loop-guard.js";
|
|
10
|
+
import { tryApplySessionTranscriptHygiene } from "../transcript/transcript-hygiene.js";
|
|
10
11
|
//#region src/agent/embedded/run-turn.ts
|
|
11
12
|
init_logger();
|
|
12
13
|
const log = createLogger("EmbeddedRun");
|
|
@@ -76,8 +77,13 @@ async function runXopcEmbeddedTurn(params) {
|
|
|
76
77
|
const { session, reused } = runner;
|
|
77
78
|
const streamFnWithXopcExtensions = wrapStreamFnForXopcExtensions(session.agent.streamFunction);
|
|
78
79
|
const loggingStreamFn = (streamModel, context, options) => {
|
|
79
|
-
const
|
|
80
|
-
|
|
80
|
+
const sourceMessages = [...context.messages];
|
|
81
|
+
const hygienicMessages = tryApplySessionTranscriptHygiene(sourceMessages, streamModel);
|
|
82
|
+
const loopGuard = detectToolLoops(extractRecentToolCalls(hygienicMessages));
|
|
83
|
+
let effectiveContext = {
|
|
84
|
+
...context,
|
|
85
|
+
messages: hygienicMessages
|
|
86
|
+
};
|
|
81
87
|
if (loopGuard.injection || loopGuard.hiddenTools.size > 0) {
|
|
82
88
|
const messages = loopGuard.injection ? [...context.messages, {
|
|
83
89
|
role: "user",
|
|
@@ -98,6 +104,7 @@ async function runXopcEmbeddedTurn(params) {
|
|
|
98
104
|
modelRef: `${streamModel.provider}/${streamModel.id}`,
|
|
99
105
|
systemPromptLength: effectiveContext.systemPrompt?.length ?? 0,
|
|
100
106
|
messageCount: effectiveContext.messages.length,
|
|
107
|
+
transcriptRepaired: hygienicMessages !== sourceMessages,
|
|
101
108
|
toolCount: effectiveContext.tools?.length ?? 0,
|
|
102
109
|
lastUserMessagePreview: getLastUserMessagePreview(effectiveContext.messages),
|
|
103
110
|
loopWarningInjected: !!loopGuard.injection,
|
package/dist/src/agent/index.js
CHANGED
|
@@ -5,10 +5,10 @@ import { AgentInbox } from "./ipc/inbox.js";
|
|
|
5
5
|
import { AgentBus } from "./ipc/bus.js";
|
|
6
6
|
import { AgentSocketClient, AgentSocketServer, isSocketAvailable } from "./ipc/socket.js";
|
|
7
7
|
import "./ipc/index.js";
|
|
8
|
-
import { AgentService } from "./service.js";
|
|
9
8
|
import { resolveTranscriptPolicy } from "./transcript/transcript-policy.js";
|
|
10
9
|
import { dropThinkingBlocks } from "./transcript/thinking.js";
|
|
11
10
|
import { applySessionTranscriptHygiene, applySessionTranscriptHygieneForPersistence, applySessionTranscriptHygieneWithPolicy, resolvePolicyForModel, tryApplySessionTranscriptHygiene, tryApplySessionTranscriptHygieneForPersistence } from "./transcript/transcript-hygiene.js";
|
|
11
|
+
import { AgentService } from "./service.js";
|
|
12
12
|
import { stripToolMessages } from "./transcript/strip-tool-messages.js";
|
|
13
13
|
import "./transcript/index.js";
|
|
14
14
|
export { AgentBus, AgentInbox, AgentService, AgentSocketClient, AgentSocketServer, applySessionTranscriptHygiene, applySessionTranscriptHygieneForPersistence, applySessionTranscriptHygieneWithPolicy, createResponseMessage, createSignalMessage, createTaskMessage, dropThinkingBlocks, extractToolCallsFromAssistant, extractToolResultId, isSocketAvailable, isValidIPCMessage, makeMissingToolResult, repairToolUseResultPairing, resolvePolicyForModel, resolveTranscriptPolicy, sanitizeToolCallId, sanitizeToolCallIdsForCloudCodeAssist, sanitizeToolCallInputs, sanitizeToolUseResultPairing, stripToolMessages, stripToolResultDetails, tryApplySessionTranscriptHygiene, tryApplySessionTranscriptHygieneForPersistence };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { buildChannelCatalogForConfig, init_channel_catalog_service } from "../../channels/catalog/channel-catalog-service.js";
|
|
2
2
|
import { init_loader, loadConfig, saveConfig } from "../../config/loader.js";
|
|
3
|
+
import { formatExamples, register } from "../registry.js";
|
|
3
4
|
import { listChannelPairingState } from "../../channels/pairing/pairing-service.js";
|
|
4
5
|
import { approveChannelPairingFromCli } from "../../channels/pairing/approve-cli.js";
|
|
5
|
-
import { formatExamples, register } from "../registry.js";
|
|
6
6
|
import { colors } from "../utils/colors.js";
|
|
7
7
|
import { Command } from "commander";
|
|
8
8
|
//#region src/cli/commands/channels.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { init_loader, loadConfig, saveConfig } from "../../config/loader.js";
|
|
2
2
|
import { getStoreConnectorInstallPlan, installStoreConnector, listStoreConnectors } from "../../capabilities/store-connector.js";
|
|
3
3
|
import { register } from "../registry.js";
|
|
4
|
-
import { confirm } from "@inquirer/prompts";
|
|
5
4
|
import { Command } from "commander";
|
|
5
|
+
import { confirm } from "@inquirer/prompts";
|
|
6
6
|
//#region src/cli/commands/connectors.ts
|
|
7
7
|
init_loader();
|
|
8
8
|
function parsePairs(values, option) {
|
|
@@ -12,8 +12,8 @@ import { join, resolve } from "node:path";
|
|
|
12
12
|
import { existsSync, readFileSync, rmSync, statSync } from "node:fs";
|
|
13
13
|
import { execSync } from "node:child_process";
|
|
14
14
|
import { createHash } from "node:crypto";
|
|
15
|
-
import { confirm } from "@inquirer/prompts";
|
|
16
15
|
import { Command } from "commander";
|
|
16
|
+
import { confirm } from "@inquirer/prompts";
|
|
17
17
|
import semver from "semver";
|
|
18
18
|
//#region src/cli/commands/extension-marketplace.ts
|
|
19
19
|
init_loader();
|
|
@@ -8,8 +8,8 @@ import "../../config/index.js";
|
|
|
8
8
|
import { prepareUpdateGlobalDefaults } from "../../gateway/global-defaults-admin.js";
|
|
9
9
|
import { colors } from "../utils/colors.js";
|
|
10
10
|
import { runCliOAuthLogin } from "../utils/oauth-login.js";
|
|
11
|
-
import { input } from "@inquirer/prompts";
|
|
12
11
|
import { Command } from "commander";
|
|
12
|
+
import { input } from "@inquirer/prompts";
|
|
13
13
|
//#region src/cli/commands/models.ts
|
|
14
14
|
init_credentials();
|
|
15
15
|
init_schema();
|
|
@@ -8,8 +8,8 @@ import { initWorkspace } from "../utils/init-workspace.js";
|
|
|
8
8
|
import { setupModel } from "./onboard/model.js";
|
|
9
9
|
import { getChannelConfigurators } from "./onboard/channels/registry.js";
|
|
10
10
|
import { setupChannels } from "./onboard/channels/index.js";
|
|
11
|
-
import { select } from "@inquirer/prompts";
|
|
12
11
|
import { Command } from "commander";
|
|
12
|
+
import { select } from "@inquirer/prompts";
|
|
13
13
|
//#region src/cli/commands/onboard.ts
|
|
14
14
|
init_schema();
|
|
15
15
|
function isInteractive() {
|
|
@@ -7,8 +7,8 @@ import { SlotRegistry, getSlotRegistry, registerSlotType } from "../slots.js";
|
|
|
7
7
|
import { ExtensionDiagnostics, ExtensionLoaderCacheImpl, getExtensionCache, getExtensionDiagnostics } from "../diagnostics.js";
|
|
8
8
|
import "../loader.js";
|
|
9
9
|
import { ExtensionHookRunner, createHookContext, isHookEvent } from "../hooks.js";
|
|
10
|
-
import { defineChannelPluginEntry } from "./channel-entry.js";
|
|
11
10
|
import { registerExtensionCliProgram } from "./channel-helpers.js";
|
|
11
|
+
import { defineChannelPluginEntry } from "./channel-entry.js";
|
|
12
12
|
import { lazyFunction, lazyModule } from "./lazy.js";
|
|
13
13
|
import { createMockExtensionApi, createTestGateway } from "./testing.js";
|
|
14
14
|
//#region src/extensions/sdk/index.ts
|
|
@@ -7,9 +7,9 @@ import { messagesToClientHistory } from "../../../session/client-history.js";
|
|
|
7
7
|
import "../../../workflows/domain/index.js";
|
|
8
8
|
import { resolveWorkflowRunArtifactsDir } from "../../../workflows/store/paths.js";
|
|
9
9
|
import { WorkflowDraftService } from "../../../workflows/draft/workflow-draft-service.js";
|
|
10
|
+
import "../../../workflows/draft/index.js";
|
|
10
11
|
import { WorkflowDraftConflictError, WorkflowDraftStore } from "../../../workflows/authoring/workflow-draft-store.js";
|
|
11
12
|
import "../../../workflows/authoring/index.js";
|
|
12
|
-
import "../../../workflows/draft/index.js";
|
|
13
13
|
import { basename, join } from "node:path";
|
|
14
14
|
import { readFile, stat } from "node:fs/promises";
|
|
15
15
|
//#region src/gateway/hono/routes/workflows.ts
|
|
@@ -37,11 +37,11 @@ import { AgentService } from "../agent/service.js";
|
|
|
37
37
|
import { ensureStarterAgentsInitialized } from "../agent/starter-agents.js";
|
|
38
38
|
import { AutomationService } from "../automations/service/automation-service.js";
|
|
39
39
|
import "../automations/index.js";
|
|
40
|
+
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
41
|
+
import "../config/index.js";
|
|
40
42
|
import { setPairingBroadcastSink } from "../channels/pairing/pairing-events.js";
|
|
41
43
|
import { registerClarifyBridge } from "./clarify-runtime.js";
|
|
42
44
|
import { ChannelManager } from "../channels/manager.js";
|
|
43
|
-
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
44
|
-
import "../config/index.js";
|
|
45
45
|
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
46
46
|
import "../knowledge/index.js";
|
|
47
47
|
import { startConnectorMemorySyncCoordinator } from "../connectors/memory-sync-coordinator.js";
|
|
@@ -3,6 +3,7 @@ import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
|
3
3
|
import { getOAuthProviderIds, init_registry } from "../auth/oauth/registry.js";
|
|
4
4
|
import { hasProviderAuthOnDiskSync, init_sync_provider_auth } from "../auth/sync-provider-auth.js";
|
|
5
5
|
import { PROVIDER_ENV_MAP, getApiKeyFromEnv, init_env_keys } from "./env-keys.js";
|
|
6
|
+
import { init_model_ref, splitProviderModelRef } from "./model-ref.js";
|
|
6
7
|
import { ModelRegistry, getModelRegistry, init_model_registry, prewarmModelRegistry, resetModelRegistry } from "./model-registry.js";
|
|
7
8
|
import { CredentialResolver, hasCredentials, init_credentials, resolveApiKey } from "../auth/credentials.js";
|
|
8
9
|
import { EXTENSION_PROVIDER_BASE_URL, init_constants } from "./constants.js";
|
|
@@ -90,8 +91,9 @@ function resolveModel(ref) {
|
|
|
90
91
|
if (!trimmedRef) throw new Error("No default model configured. Choose a model in onboarding or set agents.capabilityPresets.default.models.roles.<role>.model.");
|
|
91
92
|
const customModel = getModelRegistry().resolve(trimmedRef);
|
|
92
93
|
if (customModel) return customModel;
|
|
93
|
-
|
|
94
|
-
|
|
94
|
+
const qualifiedRef = splitProviderModelRef(trimmedRef);
|
|
95
|
+
if (qualifiedRef) {
|
|
96
|
+
const { provider, modelId } = qualifiedRef;
|
|
95
97
|
const piAiModel = getModel(provider, modelId);
|
|
96
98
|
if (piAiModel) return normalizeProviderModel(piAiModel);
|
|
97
99
|
const supplementalModel = getSupplementalModels().find((m) => m.provider === provider && m.id === modelId);
|
|
@@ -316,6 +318,7 @@ var init_providers = __esmMin((() => {
|
|
|
316
318
|
init_env_keys();
|
|
317
319
|
init_constants();
|
|
318
320
|
init_model_supplements();
|
|
321
|
+
init_model_ref();
|
|
319
322
|
init_plugin_registry();
|
|
320
323
|
OPENAI_CODEX_CANONICAL_BASE_URL = "https://chatgpt.com/backend-api/codex";
|
|
321
324
|
PROVIDER_META = {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region src/providers/model-ref.ts
|
|
3
|
+
/** Split a provider-qualified model reference while preserving slashes in the model ID. */
|
|
4
|
+
function splitProviderModelRef(ref) {
|
|
5
|
+
const slashIndex = ref.indexOf("/");
|
|
6
|
+
if (slashIndex <= 0 || slashIndex === ref.length - 1) return void 0;
|
|
7
|
+
return {
|
|
8
|
+
provider: ref.slice(0, slashIndex),
|
|
9
|
+
modelId: ref.slice(slashIndex + 1)
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
var init_model_ref = __esmMin((() => {}));
|
|
13
|
+
//#endregion
|
|
14
|
+
init_model_ref();
|
|
15
|
+
export { init_model_ref, splitProviderModelRef };
|
|
@@ -6,6 +6,7 @@ import { init_resolve_config_value, resolveConfigValue, resolveHeaders } from ".
|
|
|
6
6
|
import { getDefaultModelValues, init_models_json, validateModelsConfig } from "../config/models-json.js";
|
|
7
7
|
import { getApiKeyFromEnv, init_env_keys } from "./env-keys.js";
|
|
8
8
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
9
|
+
import { init_model_ref, splitProviderModelRef } from "./model-ref.js";
|
|
9
10
|
import { existsSync, readFileSync } from "fs";
|
|
10
11
|
import { getModels, getProviders } from "@earendil-works/pi-ai/compat";
|
|
11
12
|
//#region src/providers/model-registry.ts
|
|
@@ -96,6 +97,7 @@ var init_model_registry = __esmMin((() => {
|
|
|
96
97
|
init_logger();
|
|
97
98
|
init_env_keys();
|
|
98
99
|
init_model_catalog_store();
|
|
100
|
+
init_model_ref();
|
|
99
101
|
log = createLogger("ModelRegistry");
|
|
100
102
|
ModelRegistry = class {
|
|
101
103
|
models = [];
|
|
@@ -176,8 +178,9 @@ var init_model_registry = __esmMin((() => {
|
|
|
176
178
|
*/
|
|
177
179
|
resolve(ref) {
|
|
178
180
|
this.ensureLoaded();
|
|
179
|
-
|
|
180
|
-
|
|
181
|
+
const qualifiedRef = splitProviderModelRef(ref);
|
|
182
|
+
if (qualifiedRef) {
|
|
183
|
+
const { provider, modelId } = qualifiedRef;
|
|
181
184
|
return this.find(provider, modelId);
|
|
182
185
|
}
|
|
183
186
|
for (const model of this.models) if (model.id === ref) return model;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ti as e}from"./index-CGwuxvzr.js";function t(t){let{children:n,fallback:r}=t,i=r===void 0?null:r;return e()?n:i}export{t};
|