@xopcai/xopc 0.0.175 → 0.0.176
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/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-CM6mQUS2.js → activity-store-DsFM1upC.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-eckyE9AY.js → agent-avatar-dicebear-DvdMLOga.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-D-OIB_r0.js → agents-BVjlpbeZ.js} +1 -1
- package/dist/gateway/static/root/assets/{api-BfMRS6FX.js → api-BdPLCCBm.js} +1 -1
- package/dist/gateway/static/root/assets/{api-2SLLStKp.js → api-Bop4IQRW.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-DYkzZQzZ.js → app-management-settings-panel-DMLDOHul.js} +1 -1
- package/dist/gateway/static/root/assets/appearance-settings-DbI9foFR.js +1 -0
- package/dist/gateway/static/root/assets/{apps-page-CuvFyvuu.js → apps-page-njqxLWYD.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-k909a76t.js → archive-plugin-Dfdxuwvb.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-CqNzyhdJ.js → attachment-load-Dn3RlnYD.js} +2 -2
- package/dist/gateway/static/root/assets/{attachment-preview-renderer-DonnL2dL.js → attachment-preview-renderer-Cmo-5BP5.js} +2 -2
- package/dist/gateway/static/root/assets/{attachment-process-heavy-RnGYy9bC.js → attachment-process-heavy-B2_kr5EA.js} +3 -3
- package/dist/gateway/static/root/assets/{automation-suggestion-card-snNG6u0v.js → automation-suggestion-card-Bc0Y7A9u.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-DetGVTjI.js → automations-page-D-eweHZJ.js} +1 -1
- package/dist/gateway/static/root/assets/{binary-plugins-PfQ9ZHDF.js → binary-plugins-0XtB-xC0.js} +2 -2
- package/dist/gateway/static/root/assets/{block-editor-Xrw-DnE_.js → block-editor-C4fXWbEE.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-G92AdEnX.js → browser-settings-page-lC86-drr.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-DJPF2lUY.js → browser-workflow-inputs-CZmzNymN.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-BoXs4pgc.js → browser-workflows-page-CBYM9HqG.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-nS_AMN1K.js → capabilities-settings-panel-6tYNfHqJ.js} +2 -2
- package/dist/gateway/static/root/assets/{capability-presets-api-BgY-Ysmi.js → capability-presets-api-BiJxmmhW.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-settings-panel-DIO8ZNHW.js → capability-presets-settings-panel-Co-ymbd9.js} +1 -1
- package/dist/gateway/static/root/assets/{channel-recipient-api-D32T1EJM.js → channel-recipient-api-BKTUZDp-.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-settings-4Im3vtnO.js → channels-settings-D46eVjaQ.js} +1 -1
- package/dist/gateway/static/root/assets/channels-status-swr-BMRAO4zZ.js +1 -0
- package/dist/gateway/static/root/assets/{connector-logo-C-l8haIK.js → connector-logo-Pr4RIKjj.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-page-vL3SjHSc.js → connectors-page-Dw1eYbRi.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-CwOI_Hei.js → desktop-pet-B8cZuQUt.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-Cldo_pA3.js → desktop-pet-settings-CEQacUDF.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-CMASXbgJ.js → directory-picker-path-field-DWnxdZtc.js} +1 -1
- package/dist/gateway/static/root/assets/{dreaming-settings-BnMx02w0.js → dreaming-settings-D2e2w2Ho.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-mUFs3ign.js → extension-debug-page-BLjTGbv3.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BsFBOZ5N.js → extension-page-D2_UC6hy.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-CTEoovnV.js → extension-settings-page-BsH6o_PX.js} +1 -1
- package/dist/gateway/static/root/assets/{focus-detail-page-CCaZthpU.js → focus-detail-page-BBXUtxRB.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-Bwx-EetD.js → gateway-config-api-C-DkC6UJ.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-CvgyqhR_.js → gateway-settings-DEOGiimF.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-C8f5KwkT.js → gateway-startup-retry-BlSLh1TF.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-create-dialog-Bhynl9LN.js → goal-create-dialog-CSFcRE_N.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-detail-page-ChS2rU0w.js → goal-detail-page-VjRArfAJ.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-config-api-CUnfbgHa.js → goals-config-api-CcdS9qek.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-page-BAS_liXl.js → goals-page-BAcErdch.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-settings-Bkk-tOcf.js → goals-settings-BY7crl0z.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-D9Pldf5E.js → heartbeat-settings-DtTkS0gs.js} +1 -1
- package/dist/gateway/static/root/assets/{image-generation-api-D7aCMgOv.js → image-generation-api-WGgkbwDZ.js} +1 -1
- package/dist/gateway/static/root/assets/index-2UImfRDC.js +212 -0
- package/dist/gateway/static/root/assets/index-CS9sVShT.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CBhtXhHb.js → keyboard-shortcuts-settings-C5lpWQ3f.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-HQeu_F1C.js → local-app-workbench-page-Cl0fcPL4.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-BtJGF3M8.js → local-apps-page-b05wWvXG.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-DO-u1yS7.js → locale-store-sToMfHX_.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-0lvwfLAA.js → logs-page-cDE1jLJv.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-split-BGPaeTch.js → markdown-split-0gPVst5y.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-C_Cx8v6u.js → media-plugins-Rxyq_KTm.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CarlxqXV.js +3 -0
- package/dist/gateway/static/root/assets/{notes-page-CIYy5BKF.js → notes-page-DRhNDl_Q.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-workbench-_FgNPlOx.js → notes-workbench-BKNBk0Uf.js} +2 -2
- package/dist/gateway/static/root/assets/{page-tabs-C2vsdfJO.js → page-tabs-cOEOQqHh.js} +1 -1
- package/dist/gateway/static/root/assets/pdf-D4PI9qAw.js +54 -0
- package/dist/gateway/static/root/assets/pdf.worker.min-CHFwMXne.mjs +29 -0
- package/dist/gateway/static/root/assets/{preview-open-alternatives-D_VT83bW.js → preview-open-alternatives-BopOLFvu.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-BNP9kZ3Q.js → product-open-page-DWVPmmOq.js} +1 -1
- package/dist/gateway/static/root/assets/{project-detail-page-MNi-3mZU.js → project-detail-page-BhjEXNQW.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-xx8nUKZO.js → projects-page-B80e69PH.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-H5DSn2bR.js → remote-access-hub-CwdVob6H.js} +1 -1
- package/dist/gateway/static/root/assets/{save-bar-controls-BJL6Xb-F.js → save-bar-controls-BfZmKe1t.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-CxCPSLbu.js → schedule-field-Cpi4jCRV.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-Cao1wGbk.js → schema-form-OXFkcZQe.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-CMQsupwM.js → sessions-page-BGt3Asj6.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BnTdM9Nn.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-9pgClEud.js → settings-form-section-BwqkZCHJ.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-CQz0gEUK.js → settings-loading-skeleton-BbqH_S3Y.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-DgsMzZLm.js → settings-page-BoxC-JSa.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-BhqupMfG.js → settings-page-layout-Ddu2iGaW.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-B7BsWxJt.js → setup-status-panel-z1Lwv0js.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-CC4dQsQN.js → share-preview-page-CVazOFjy.js} +2 -2
- package/dist/gateway/static/root/assets/{shares-settings-Bhz21P05.js → shares-settings-C4lXuyQj.js} +1 -1
- package/dist/gateway/static/root/assets/skill-reload-api-DSuIDkeI.js +1 -0
- package/dist/gateway/static/root/assets/{skills-page-A0rNObNB.js → skills-page-xgZczqVe.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page.utils-CF4AYPQg.js → skills-page.utils-DgyB1tSo.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-CzZHWI4u.js → system-settings-panel-BoLSQL65.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-BZWNdSZC.js → theme-store-CBNcGOfj.js} +1 -1
- package/dist/gateway/static/root/assets/{time-picker-BC922Mdg.js → time-picker-gochWrny.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-C1S-B1pk.js → typed-models-lib-DvRnr7YB.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-DTiLxcLF.js → use-channel-catalog-CA9BFVB7.js} +1 -1
- package/dist/gateway/static/root/assets/{user-context-page-8XdpiAyP.js → user-context-page-CEfIy4WZ.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-CtIYRNfI.js → voice-api-key-field-v8tgylEZ.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-DBer86NF.js → work-discovery-page-B-3MClaf.js} +1 -1
- package/dist/gateway/static/root/assets/{work-item-detail-page-BUPyfYaq.js → work-item-detail-page-CEsFEdax.js} +1 -1
- package/dist/gateway/static/root/assets/work-page-CT9AHnq6.js +3 -0
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-CC3cJn5k.js +3 -0
- package/dist/gateway/static/root/assets/{workflows-page-CNls7g6v.js → workflows-page-C-1-_Zp1.js} +1 -1
- package/dist/gateway/static/root/index.html +7 -7
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.js +7 -7
- package/dist/src/agent/context/execution-scope.d.ts +26 -0
- package/dist/src/agent/context/execution-scope.js +84 -0
- package/dist/src/agent/context/project-context.d.ts +3 -1
- package/dist/src/agent/context/project-context.js +26 -8
- package/dist/src/agent/embedded/model-runtime.d.ts +1 -2
- package/dist/src/agent/embedded/model-runtime.js +17 -29
- package/dist/src/agent/embedded/session-runner.js +2 -3
- package/dist/src/agent/prompt/service-prompt-builder.js +1 -0
- package/dist/src/agent/prompt/system-prompt.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +7 -4
- package/dist/src/agent/session/session-config-service.d.ts +4 -1
- package/dist/src/agent/session/session-config-service.js +5 -3
- package/dist/src/agent/session/session-inspector.d.ts +6 -0
- package/dist/src/agent/session/session-inspector.js +9 -2
- package/dist/src/agent/workflow/subagent-runner.js +2 -0
- package/dist/src/agent/workflow/types.d.ts +1 -0
- package/dist/src/auth/model-credential-store.d.ts +17 -0
- package/dist/src/auth/model-credential-store.js +110 -0
- package/dist/src/auth/oauth/github-copilot.js +2 -2
- package/dist/src/auth/oauth/openai-codex.js +98 -7
- package/dist/src/auth/oauth/types.d.ts +4 -1
- package/dist/src/auth/oauth/xopc-cloud.js +124 -6
- package/dist/src/cli/commands/gateway/lifecycle.js +2 -2
- package/dist/src/cli/commands/update.js +1 -1
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/schema.d.ts +21 -0
- package/dist/src/config/schema.js +12 -2
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +3 -0
- package/dist/src/gateway/hono/lib/config-payload.js +1 -0
- package/dist/src/gateway/hono/oauth-async.d.ts +5 -0
- package/dist/src/gateway/hono/oauth-async.js +20 -8
- package/dist/src/gateway/hono/routes/config-patch/gateway.d.ts +1 -1
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +9 -0
- package/dist/src/gateway/hono/routes/goals.js +13 -0
- package/dist/src/gateway/hono/routes/local-apps.js +1 -1
- package/dist/src/gateway/hono/routes/update.js +2 -2
- package/dist/src/gateway/index.js +1 -1
- package/dist/src/gateway/run-loop.js +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +2 -1
- package/dist/src/gateway/service.js +5 -5
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/infra/gateway-processes.js +1 -1
- package/dist/src/infra/update-restart.js +2 -2
- package/dist/src/infra/update-runner.js +2 -2
- package/dist/src/infra/update-startup.js +1 -1
- package/dist/src/mcp/channel-bridge.js +1 -1
- package/dist/src/providers/index.js +4 -2
- package/dist/src/providers/provider-auth-service.d.ts +22 -0
- package/dist/src/providers/provider-auth-service.js +66 -0
- package/dist/src/providers/register-runtime-providers.d.ts +6 -0
- package/dist/src/providers/register-runtime-providers.js +55 -0
- package/dist/src/providers/xopc-cloud-account-service.d.ts +2 -2
- package/dist/src/providers/xopc-cloud-account-service.js +6 -5
- package/dist/src/providers/xopc-cloud-config.d.ts +3 -0
- package/dist/src/providers/xopc-cloud-config.js +13 -0
- package/dist/src/providers/xopc-cloud-model-source.d.ts +2 -2
- package/dist/src/providers/xopc-cloud-model-source.js +6 -5
- package/dist/src/session/index.d.ts +1 -1
- package/dist/src/session/index.js +2 -2
- package/dist/src/session/thinking-resolve.d.ts +8 -0
- package/dist/src/session/thinking-resolve.js +6 -3
- package/dist/src/tui/tui.js +2 -2
- package/dist/src/tui/xopc-tui-keybindings.d.ts +44 -4
- package/dist/src/workflows/engine/workflow-engine.d.ts +1 -0
- package/dist/src/workflows/engine/workflow-engine.js +2 -0
- package/dist/src/workflows/service/workflow-run-service.js +12 -6
- package/dist/src/workflows/service/workflow-session-bridge.js +2 -1
- package/package.json +5 -5
- package/dist/gateway/static/root/assets/appearance-settings-CDXXN57j.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-CMctpuqb.js +0 -1
- package/dist/gateway/static/root/assets/index-DJ5vdaHk.css +0 -1
- package/dist/gateway/static/root/assets/index-TnouSpay.js +0 -212
- package/dist/gateway/static/root/assets/messages-BP8aQX-5.js +0 -3
- package/dist/gateway/static/root/assets/pdf-epILhEOn.js +0 -54
- package/dist/gateway/static/root/assets/pdf.worker.min-iDqQPrd3.mjs +0 -31
- package/dist/gateway/static/root/assets/settings-advanced-gate-OBUdG6bV.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-CBP-UB88.js +0 -1
- package/dist/gateway/static/root/assets/work-page-G8phwwI1.js +0 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-IKxqDAXw.js +0 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region src/providers/xopc-cloud-config.ts
|
|
3
|
+
function resolveXopcModelRouterUrl(override) {
|
|
4
|
+
return (override ?? process.env.XOPC_MODEL_ROUTER_URL ?? "https://router.xopc.ai/v1").replace(/\/+$/, "");
|
|
5
|
+
}
|
|
6
|
+
var XOPC_CLOUD_PROVIDER_ID, DEFAULT_XOPC_MODEL_ROUTER_URL;
|
|
7
|
+
var init_xopc_cloud_config = __esmMin((() => {
|
|
8
|
+
XOPC_CLOUD_PROVIDER_ID = "xopc-cloud";
|
|
9
|
+
DEFAULT_XOPC_MODEL_ROUTER_URL = "https://router.xopc.ai/v1";
|
|
10
|
+
}));
|
|
11
|
+
//#endregion
|
|
12
|
+
init_xopc_cloud_config();
|
|
13
|
+
export { DEFAULT_XOPC_MODEL_ROUTER_URL, XOPC_CLOUD_PROVIDER_ID, init_xopc_cloud_config, resolveXopcModelRouterUrl };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type CredentialResolver } from '../auth/credentials.js';
|
|
2
1
|
import { type ModelCatalogStore } from './model-catalog-store.js';
|
|
2
|
+
import { type ProviderAuthService } from './provider-auth-service.js';
|
|
3
3
|
export type XopcCloudModelRefreshResult = {
|
|
4
4
|
status: 'skipped';
|
|
5
5
|
reason: 'not_configured';
|
|
@@ -22,7 +22,7 @@ export declare class XopcCloudModelSource {
|
|
|
22
22
|
constructor(options?: {
|
|
23
23
|
fetchImpl?: typeof fetch;
|
|
24
24
|
routerUrl?: string;
|
|
25
|
-
credentials?: Pick<
|
|
25
|
+
credentials?: Pick<ProviderAuthService, 'resolveApiKey'>;
|
|
26
26
|
catalogStore?: ModelCatalogStore;
|
|
27
27
|
refreshModels?: () => void;
|
|
28
28
|
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
2
2
|
import { getModelRegistry, init_model_registry } from "./model-registry.js";
|
|
3
|
-
import {
|
|
3
|
+
import { init_xopc_cloud_config, resolveXopcModelRouterUrl } from "./xopc-cloud-config.js";
|
|
4
|
+
import { getProviderAuthService, init_provider_auth_service } from "./provider-auth-service.js";
|
|
4
5
|
//#region src/providers/xopc-cloud-model-source.ts
|
|
5
|
-
init_credentials();
|
|
6
6
|
init_model_catalog_store();
|
|
7
7
|
init_model_registry();
|
|
8
|
-
|
|
8
|
+
init_provider_auth_service();
|
|
9
|
+
init_xopc_cloud_config();
|
|
9
10
|
var XopcCloudModelError = class extends Error {
|
|
10
11
|
constructor(message, status, code) {
|
|
11
12
|
super(message);
|
|
@@ -22,8 +23,8 @@ var XopcCloudModelSource = class {
|
|
|
22
23
|
refreshModels;
|
|
23
24
|
constructor(options = {}) {
|
|
24
25
|
this.fetchImpl = options.fetchImpl ?? fetch;
|
|
25
|
-
this.routerUrl = (options.routerUrl
|
|
26
|
-
this.credentials = options.credentials ??
|
|
26
|
+
this.routerUrl = resolveXopcModelRouterUrl(options.routerUrl);
|
|
27
|
+
this.credentials = options.credentials ?? getProviderAuthService();
|
|
27
28
|
this.catalogStore = options.catalogStore ?? getModelCatalogStore();
|
|
28
29
|
this.refreshModels = options.refreshModels ?? (() => getModelRegistry().refresh());
|
|
29
30
|
}
|
|
@@ -3,7 +3,7 @@ export { onSessionTranscriptUpdate, emitSessionTranscriptUpdate, type SessionTra
|
|
|
3
3
|
export { SessionStore } from './store.js';
|
|
4
4
|
export type { SessionStoreOptions } from './store.js';
|
|
5
5
|
export { SessionConfigStore, resolveThinkingLevel, resolveReasoningLevel, resolveVerboseLevel } from './config-store.js';
|
|
6
|
-
export { resolveEffectiveThinkingLevel, resolveEffectiveReasoningLevel } from './thinking-resolve.js';
|
|
6
|
+
export { DEFAULT_ACTIVITY_DETAIL_LEVEL, resolveConfiguredActivityDetailDefault, resolveEffectiveThinkingLevel, resolveEffectiveReasoningLevel, } from './thinking-resolve.js';
|
|
7
7
|
export type { SessionAgentConfig } from './config-types.js';
|
|
8
8
|
export { normalizeWorkingDirectoryInput, effectiveWorkspacePathForSession, projectWorkspacePath, } from './session-workspace.js';
|
|
9
9
|
export { SessionStatus, type SessionMetadata, type SessionDetail, type SessionListQuery, type PaginatedResult, type SessionStats, type ExportFormat, type SessionExport, type SessionTranscriptSummary, type CompactionBoundarySummary, } from './types.js';
|
|
@@ -8,7 +8,7 @@ import { SessionStore } from "./store.js";
|
|
|
8
8
|
import { applySessionPatchToMetadata } from "./patch-metadata.js";
|
|
9
9
|
import { SessionIndex } from "./manager.js";
|
|
10
10
|
import { SessionConfigStore, resolveReasoningLevel, resolveThinkingLevel, resolveVerboseLevel } from "./config-store.js";
|
|
11
|
-
import { resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel } from "./thinking-resolve.js";
|
|
11
|
+
import { DEFAULT_ACTIVITY_DETAIL_LEVEL, resolveConfiguredActivityDetailDefault, resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel } from "./thinking-resolve.js";
|
|
12
12
|
import { shouldSkipWebchatInboundByAbortCutoff } from "./abort-cutoff.js";
|
|
13
13
|
import { DEFAULT_IDLE_MINUTES, DEFAULT_RESET_AT_HOUR, DEFAULT_RESET_MODE, evaluateSessionFreshness, resolveDailyResetAtMs, resolveSessionResetPolicy } from "./reset-policy.js";
|
|
14
14
|
import { resolveChannelResetConfig, resolveSessionResetType } from "./reset-type.js";
|
|
@@ -17,4 +17,4 @@ import { resolveSession, resolveSessionKeyForRequest } from "./resolve-session.j
|
|
|
17
17
|
import { DEFAULT_RESET_TRIGGERS, RESET_OVERLAP_COMMANDS, bareResetAckMessage, matchResetTriggers, resolveResetTriggers, shouldSkipResetOverlapCommand, stripLeadingEnvelopeTimestamp } from "./reset-triggers.js";
|
|
18
18
|
import { initSessionTurn } from "./init-session-turn.js";
|
|
19
19
|
import { CURRENT_SESSION_TRANSCRIPT_VERSION, XOPC_SESSION_TRANSCRIPT_TYPE } from "./transcript-format.js";
|
|
20
|
-
export { CURRENT_SESSION_TRANSCRIPT_VERSION, DEFAULT_IDLE_MINUTES, DEFAULT_RESET_AT_HOUR, DEFAULT_RESET_MODE, DEFAULT_RESET_TRIGGERS, RESET_OVERLAP_COMMANDS, SessionConfigStore, SessionIndex, SessionStatus, SessionStore, XOPC_SESSION_TRANSCRIPT_TYPE, applySessionPatchToMetadata, bareResetAckMessage, buildSessionContextForLlm, effectiveWorkspacePathForSession, emitSessionTranscriptUpdate, evaluateSessionFreshness, fallbackTitleFromMessages, flattenMessageContent, generateSessionTitleFromMessages, getSessionTitleSource, initSessionTurn, isTranscriptContextEntry, isWebchatSessionKey, matchResetTriggers, maybeRefineSessionTitleWithLlm, maybeSetProvisionalSessionTitle, mergeLlmMessagesPreservingContextRows, messagesToClientHistory, normalizeWorkingDirectoryInput, onSessionTranscriptUpdate, projectWorkspacePath, provisionalTitleFromUserText, resolveChannelResetConfig, resolveDailyResetAtMs, resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel, resolveReasoningLevel, resolveResetTriggers, resolveSession, resolveSessionKeyForRequest, resolveSessionLifecycleTimestamps, resolveSessionResetPolicy, resolveSessionResetType, resolveThinkingLevel, resolveVerboseLevel, sanitizeGeneratedSessionTitle, sanitizeSessionTitle, shouldAutoTitleSessionKey, shouldRefineSessionTitleWithLlm, shouldSkipResetOverlapCommand, shouldSkipWebchatInboundByAbortCutoff, stripLeadingEnvelopeTimestamp, transcriptRowsFromJsonArray };
|
|
20
|
+
export { CURRENT_SESSION_TRANSCRIPT_VERSION, DEFAULT_ACTIVITY_DETAIL_LEVEL, DEFAULT_IDLE_MINUTES, DEFAULT_RESET_AT_HOUR, DEFAULT_RESET_MODE, DEFAULT_RESET_TRIGGERS, RESET_OVERLAP_COMMANDS, SessionConfigStore, SessionIndex, SessionStatus, SessionStore, XOPC_SESSION_TRANSCRIPT_TYPE, applySessionPatchToMetadata, bareResetAckMessage, buildSessionContextForLlm, effectiveWorkspacePathForSession, emitSessionTranscriptUpdate, evaluateSessionFreshness, fallbackTitleFromMessages, flattenMessageContent, generateSessionTitleFromMessages, getSessionTitleSource, initSessionTurn, isTranscriptContextEntry, isWebchatSessionKey, matchResetTriggers, maybeRefineSessionTitleWithLlm, maybeSetProvisionalSessionTitle, mergeLlmMessagesPreservingContextRows, messagesToClientHistory, normalizeWorkingDirectoryInput, onSessionTranscriptUpdate, projectWorkspacePath, provisionalTitleFromUserText, resolveChannelResetConfig, resolveConfiguredActivityDetailDefault, resolveDailyResetAtMs, resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel, resolveReasoningLevel, resolveResetTriggers, resolveSession, resolveSessionKeyForRequest, resolveSessionLifecycleTimestamps, resolveSessionResetPolicy, resolveSessionResetType, resolveThinkingLevel, resolveVerboseLevel, sanitizeGeneratedSessionTitle, sanitizeSessionTitle, shouldAutoTitleSessionKey, shouldRefineSessionTitleWithLlm, shouldSkipResetOverlapCommand, shouldSkipWebchatInboundByAbortCutoff, stripLeadingEnvelopeTimestamp, transcriptRowsFromJsonArray };
|
|
@@ -8,6 +8,14 @@ import { type ThinkLevel, type ReasoningLevel } from '../agent/transcript/thinki
|
|
|
8
8
|
* @param requestOverride - Raw value from HTTP/API (e.g. Web pill); wins over persisted session when valid.
|
|
9
9
|
*/
|
|
10
10
|
export declare function resolveEffectiveThinkingLevel(sessionConfigStore: SessionConfigStore, sessionKey: string, requestOverride?: string | null, agentDefault?: ThinkLevel): Promise<ThinkingLevel>;
|
|
11
|
+
export declare const DEFAULT_ACTIVITY_DETAIL_LEVEL: ReasoningLevel;
|
|
12
|
+
export declare function resolveConfiguredActivityDetailDefault(config?: {
|
|
13
|
+
gateway?: {
|
|
14
|
+
webchat?: {
|
|
15
|
+
activityDetailDefault?: ReasoningLevel;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}): ReasoningLevel;
|
|
11
19
|
/**
|
|
12
20
|
* Session override > runtime default.
|
|
13
21
|
*/
|
|
@@ -12,13 +12,16 @@ async function resolveEffectiveThinkingLevel(sessionConfigStore, sessionKey, req
|
|
|
12
12
|
if (fromSession !== void 0) return fromSession;
|
|
13
13
|
return agentDefault ?? FALLBACK;
|
|
14
14
|
}
|
|
15
|
-
const
|
|
15
|
+
const DEFAULT_ACTIVITY_DETAIL_LEVEL = "on";
|
|
16
|
+
function resolveConfiguredActivityDetailDefault(config) {
|
|
17
|
+
return config?.gateway?.webchat?.activityDetailDefault ?? "on";
|
|
18
|
+
}
|
|
16
19
|
/**
|
|
17
20
|
* Session override > runtime default.
|
|
18
21
|
*/
|
|
19
22
|
async function resolveEffectiveReasoningLevel(sessionConfigStore, sessionKey, agentDefault) {
|
|
20
|
-
const def = agentDefault ??
|
|
23
|
+
const def = agentDefault ?? "on";
|
|
21
24
|
return await resolveReasoningLevel(sessionConfigStore, sessionKey, def) ?? def;
|
|
22
25
|
}
|
|
23
26
|
//#endregion
|
|
24
|
-
export { resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel };
|
|
27
|
+
export { DEFAULT_ACTIVITY_DETAIL_LEVEL, resolveConfiguredActivityDetailDefault, resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel };
|
package/dist/src/tui/tui.js
CHANGED
|
@@ -59,7 +59,7 @@ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
|
59
59
|
import { mkdirSync, mkdtempSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
60
60
|
import { spawnSync } from "node:child_process";
|
|
61
61
|
import { randomUUID } from "node:crypto";
|
|
62
|
-
import { Container, Loader, ProcessTerminal,
|
|
62
|
+
import { Container, Loader, ProcessTerminal, TuiMainScreen, setKeybindings } from "@earendil-works/pi-tui";
|
|
63
63
|
import { Buffer } from "node:buffer";
|
|
64
64
|
//#region src/tui/tui.ts
|
|
65
65
|
init_paths();
|
|
@@ -252,7 +252,7 @@ async function runTui(opts) {
|
|
|
252
252
|
bottomBar.invalidate();
|
|
253
253
|
tui.requestRender();
|
|
254
254
|
};
|
|
255
|
-
const tui = new
|
|
255
|
+
const tui = new TuiMainScreen(new ProcessTerminal());
|
|
256
256
|
tui.setShowHardwareCursor(tuiSettings.showHardwareCursor);
|
|
257
257
|
tui.setClearOnShrink(tuiSettings.clearOnShrink);
|
|
258
258
|
const dedupeBackspace = createBackspaceDeduper();
|
|
@@ -213,6 +213,14 @@ export declare const XOPC_TUI_KEYBINDINGS: {
|
|
|
213
213
|
readonly defaultKeys: "down";
|
|
214
214
|
readonly description: "Move cursor down";
|
|
215
215
|
};
|
|
216
|
+
readonly "tui.editor.historyPrevious": {
|
|
217
|
+
readonly defaultKeys: [];
|
|
218
|
+
readonly description: "Select previous prompt history entry";
|
|
219
|
+
};
|
|
220
|
+
readonly "tui.editor.historyNext": {
|
|
221
|
+
readonly defaultKeys: [];
|
|
222
|
+
readonly description: "Select next prompt history entry";
|
|
223
|
+
};
|
|
216
224
|
readonly "tui.editor.cursorLeft": {
|
|
217
225
|
readonly defaultKeys: ["left", "ctrl+b"];
|
|
218
226
|
readonly description: "Move cursor left";
|
|
@@ -230,11 +238,11 @@ export declare const XOPC_TUI_KEYBINDINGS: {
|
|
|
230
238
|
readonly description: "Move cursor word right";
|
|
231
239
|
};
|
|
232
240
|
readonly "tui.editor.cursorLineStart": {
|
|
233
|
-
readonly defaultKeys: ["home", "ctrl+a"];
|
|
241
|
+
readonly defaultKeys: ["home", "ctrl+home", "ctrl+a"];
|
|
234
242
|
readonly description: "Move to line start";
|
|
235
243
|
};
|
|
236
244
|
readonly "tui.editor.cursorLineEnd": {
|
|
237
|
-
readonly defaultKeys: ["end", "ctrl+e"];
|
|
245
|
+
readonly defaultKeys: ["end", "ctrl+end", "ctrl+e"];
|
|
238
246
|
readonly description: "Move to line end";
|
|
239
247
|
};
|
|
240
248
|
readonly "tui.editor.jumpForward": {
|
|
@@ -246,11 +254,11 @@ export declare const XOPC_TUI_KEYBINDINGS: {
|
|
|
246
254
|
readonly description: "Jump backward to character";
|
|
247
255
|
};
|
|
248
256
|
readonly "tui.editor.pageUp": {
|
|
249
|
-
readonly defaultKeys: "pageUp";
|
|
257
|
+
readonly defaultKeys: ["pageUp", "ctrl+pageUp"];
|
|
250
258
|
readonly description: "Page up";
|
|
251
259
|
};
|
|
252
260
|
readonly "tui.editor.pageDown": {
|
|
253
|
-
readonly defaultKeys: "pageDown";
|
|
261
|
+
readonly defaultKeys: ["pageDown", "ctrl+pageDown"];
|
|
254
262
|
readonly description: "Page down";
|
|
255
263
|
};
|
|
256
264
|
readonly "tui.editor.deleteCharBackward": {
|
|
@@ -329,6 +337,38 @@ export declare const XOPC_TUI_KEYBINDINGS: {
|
|
|
329
337
|
readonly defaultKeys: ["escape", "ctrl+c"];
|
|
330
338
|
readonly description: "Cancel selection";
|
|
331
339
|
};
|
|
340
|
+
readonly "tui.altScreen.pageUp": {
|
|
341
|
+
readonly defaultKeys: "pageUp";
|
|
342
|
+
readonly description: "Scroll viewport up one page";
|
|
343
|
+
};
|
|
344
|
+
readonly "tui.altScreen.pageDown": {
|
|
345
|
+
readonly defaultKeys: "pageDown";
|
|
346
|
+
readonly description: "Scroll viewport down one page";
|
|
347
|
+
};
|
|
348
|
+
readonly "tui.altScreen.halfPageUp": {
|
|
349
|
+
readonly defaultKeys: [];
|
|
350
|
+
readonly description: "Scroll viewport up half a page";
|
|
351
|
+
};
|
|
352
|
+
readonly "tui.altScreen.halfPageDown": {
|
|
353
|
+
readonly defaultKeys: [];
|
|
354
|
+
readonly description: "Scroll viewport down half a page";
|
|
355
|
+
};
|
|
356
|
+
readonly "tui.altScreen.previousPrompt": {
|
|
357
|
+
readonly defaultKeys: "ctrl+shift+up";
|
|
358
|
+
readonly description: "Jump to previous semantic prompt";
|
|
359
|
+
};
|
|
360
|
+
readonly "tui.altScreen.nextPrompt": {
|
|
361
|
+
readonly defaultKeys: "ctrl+shift+down";
|
|
362
|
+
readonly description: "Jump to next semantic prompt";
|
|
363
|
+
};
|
|
364
|
+
readonly "tui.altScreen.top": {
|
|
365
|
+
readonly defaultKeys: "home";
|
|
366
|
+
readonly description: "Scroll viewport to top";
|
|
367
|
+
};
|
|
368
|
+
readonly "tui.altScreen.bottom": {
|
|
369
|
+
readonly defaultKeys: "end";
|
|
370
|
+
readonly description: "Scroll viewport to bottom";
|
|
371
|
+
};
|
|
332
372
|
};
|
|
333
373
|
/** Order for `/hotkeys` and docs (pi-style UX). */
|
|
334
374
|
export declare const XOPC_TUI_HOTKEY_ORDER: XopcTuiAppKeybinding[];
|
|
@@ -8,6 +8,7 @@ import type { Api, Model } from '@earendil-works/pi-ai';
|
|
|
8
8
|
import type { WorkflowAgentInvocationSnapshot } from '../domain/index.js';
|
|
9
9
|
export interface WorkflowEngineOptions {
|
|
10
10
|
cwd: string;
|
|
11
|
+
projectId?: string;
|
|
11
12
|
eventStore: WorkflowEventStore;
|
|
12
13
|
runStore: WorkflowRunStore;
|
|
13
14
|
runner: WorkflowRuntimeSubagentRunner;
|
|
@@ -164,6 +164,7 @@ var WorkflowEngine = class {
|
|
|
164
164
|
sessionKey,
|
|
165
165
|
sessionMetadata: {
|
|
166
166
|
parentSessionKey: this.options.parentSessionKey,
|
|
167
|
+
projectId: this.options.projectId,
|
|
167
168
|
workflowRunId: runId,
|
|
168
169
|
workflowDefinitionId: definition.id,
|
|
169
170
|
workflowAgentId: agentId,
|
|
@@ -370,6 +371,7 @@ var WorkflowEngine = class {
|
|
|
370
371
|
sessionKey,
|
|
371
372
|
sessionMetadata: {
|
|
372
373
|
parentSessionKey: this.options.parentSessionKey,
|
|
374
|
+
projectId: this.options.projectId,
|
|
373
375
|
workflowRunId: params.runId,
|
|
374
376
|
workflowDefinitionId: params.definition.id,
|
|
375
377
|
workflowAgentId: target.agentId,
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { extractProfileAgentId } from "../../config/agent-profile.js";
|
|
1
|
+
import { extractProfileAgentId, resolveEffectiveAgentProfileForSession } from "../../config/agent-profile.js";
|
|
2
2
|
import { init_providers, resolveModel } from "../../providers/index.js";
|
|
3
3
|
import { publishAutomationProductEvent } from "../../automations/product-events.js";
|
|
4
4
|
import { GoalService } from "../../goals/goal-service.js";
|
|
5
5
|
import "../../goals/index.js";
|
|
6
|
+
import { getProjectWorkspacePathForSession } from "../../projects/workspace.js";
|
|
6
7
|
import { DelegateSubagentRunner } from "../../agent/workflow/subagent-runner.js";
|
|
7
|
-
import { preflightWorkflowConnectors } from "../../connectors/workflow-preflight.js";
|
|
8
8
|
import { resolveModelRef } from "../../config/agent-typed-models.js";
|
|
9
|
+
import { preflightWorkflowConnectors } from "../../connectors/workflow-preflight.js";
|
|
9
10
|
import { CatalogWorkflowDefinitionRegistry } from "../registry/catalog-workflow-definition-registry.js";
|
|
10
11
|
import { validateWorkflowJsonSchema } from "../domain/schema-validation.js";
|
|
11
12
|
import { isTerminalWorkflowRunStatus } from "../domain/run.js";
|
|
@@ -79,7 +80,8 @@ var WorkflowRunService = class {
|
|
|
79
80
|
const engine = this.createWorkflowEngine({
|
|
80
81
|
eventStore,
|
|
81
82
|
runStore,
|
|
82
|
-
sessionKey
|
|
83
|
+
sessionKey,
|
|
84
|
+
projectId
|
|
83
85
|
});
|
|
84
86
|
const limits = resolveWorkflowRunLimits({
|
|
85
87
|
config: this.options.service.currentConfig,
|
|
@@ -201,7 +203,8 @@ var WorkflowRunService = class {
|
|
|
201
203
|
const engine = this.createWorkflowEngine({
|
|
202
204
|
eventStore,
|
|
203
205
|
runStore: replayRunStore,
|
|
204
|
-
sessionKey
|
|
206
|
+
sessionKey,
|
|
207
|
+
projectId
|
|
205
208
|
});
|
|
206
209
|
const limits = resolveWorkflowRunLimits({
|
|
207
210
|
config: this.options.service.currentConfig,
|
|
@@ -356,8 +359,10 @@ var WorkflowRunService = class {
|
|
|
356
359
|
createWorkflowEngine(params) {
|
|
357
360
|
const gatewayService = this.options.service;
|
|
358
361
|
const profileAgentId = extractProfileAgentId(params.sessionKey, gatewayService.currentConfig);
|
|
362
|
+
const agentWorkspace = gatewayService.currentConfig.agents?.list ? resolveEffectiveAgentProfileForSession(gatewayService.currentConfig, params.sessionKey).resolvedWorkspacePath : gatewayService.currentWorkspacePath;
|
|
363
|
+
const workspace = getProjectWorkspacePathForSession(params.sessionKey) ?? agentWorkspace;
|
|
359
364
|
const runner = new DelegateSubagentRunner({
|
|
360
|
-
workspace
|
|
365
|
+
workspace,
|
|
361
366
|
bus: gatewayService.messageBusInstance,
|
|
362
367
|
agentId: profileAgentId,
|
|
363
368
|
getDefaultModel: () => resolveModel(gatewayService.agentService.getModelForSession(params.sessionKey)),
|
|
@@ -366,7 +371,8 @@ var WorkflowRunService = class {
|
|
|
366
371
|
buildChildTools: (childOptions) => this.options.buildChildTools(childOptions)
|
|
367
372
|
});
|
|
368
373
|
return new WorkflowEngine({
|
|
369
|
-
cwd:
|
|
374
|
+
cwd: workspace,
|
|
375
|
+
projectId: params.projectId,
|
|
370
376
|
eventStore: params.eventStore,
|
|
371
377
|
runStore: params.runStore,
|
|
372
378
|
runner,
|
|
@@ -5,6 +5,7 @@ import { renderWorkflowText } from "../../agent/workflow/snapshot.js";
|
|
|
5
5
|
import { runViewToSnapshot } from "./run-view-to-snapshot.js";
|
|
6
6
|
import { GoalWorkflowJudge } from "../../goals/goal-workflow-judge.js";
|
|
7
7
|
import "../../goals/index.js";
|
|
8
|
+
import { getProjectWorkspacePathForSession } from "../../projects/workspace.js";
|
|
8
9
|
import { isTerminalWorkflowRunStatus } from "../domain/run.js";
|
|
9
10
|
import "../domain/index.js";
|
|
10
11
|
import { WorkItemWorkflowJudge } from "../../work-items/work-item-workflow-judge.js";
|
|
@@ -166,7 +167,7 @@ var WorkflowSessionBridge = class {
|
|
|
166
167
|
providerId: "workflow-run",
|
|
167
168
|
kind: "task_lesson",
|
|
168
169
|
sourceAgentId: agentId,
|
|
169
|
-
workspaceId: this.gateway.currentWorkspacePath,
|
|
170
|
+
workspaceId: getProjectWorkspacePathForSession(sessionKey) ?? this.gateway.currentWorkspacePath,
|
|
170
171
|
sessionKey,
|
|
171
172
|
projectId,
|
|
172
173
|
content: [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xopcai/xopc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.176",
|
|
4
4
|
"description": "Local-first AI system that remembers context, coordinates AI, and sustains long-term progress.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"node": ">=22.19.0"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@earendil-works/pi-agent-core": "0.
|
|
69
|
-
"@earendil-works/pi-ai": "0.
|
|
70
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
71
|
-
"@earendil-works/pi-tui": "0.
|
|
68
|
+
"@earendil-works/pi-agent-core": "0.84.1",
|
|
69
|
+
"@earendil-works/pi-ai": "0.84.1",
|
|
70
|
+
"@earendil-works/pi-coding-agent": "0.84.1",
|
|
71
|
+
"@earendil-works/pi-tui": "0.84.1",
|
|
72
72
|
"@grammyjs/runner": "^2.0.3",
|
|
73
73
|
"@hono/node-server": "^2.0.4",
|
|
74
74
|
"@inquirer/prompts": "^8.5.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./cn-JdwAhgNB.js";import{t as r}from"./messages-BP8aQX-5.js";import{n as i}from"./locale-store-DO-u1yS7.js";import{i as a}from"./theme-store-BZWNdSZC.js";import{Dt as o,es as s,ws as c}from"./index-TnouSpay.js";import{n as l,r as u}from"./settings-page-layout-BhqupMfG.js";import{t as d}from"./settings-advanced-gate-OBUdG6bV.js";var f=e(),p=t();function m(){return n(`rounded-xl bg-surface-base px-4 py-1 sm:px-5`)}var h={default:{light:{canvas:`#ffffff`,panel:`#fafafa`,accent:`#3a6bff`,fg:`#111111`,muted:`#ececec`},dark:{canvas:`#0a0a0a`,panel:`#121212`,accent:`#3a6bff`,fg:`#f5f5f5`,muted:`#222222`}},emerald:{light:{canvas:`#f0fdf4`,panel:`#ffffff`,accent:`#059669`,fg:`#052e16`,muted:`#86efac`},dark:{canvas:`#000000`,panel:`#0a0a0a`,accent:`#10b981`,fg:`#d1fae5`,muted:`#134e2a`}},mono:{light:{canvas:`#ffffff`,panel:`#f5f5f5`,accent:`#111111`,fg:`#111111`,muted:`#e5e7eb`},dark:{canvas:`#101010`,panel:`#1a1a1a`,accent:`#737373`,fg:`#fafafa`,muted:`#333333`}},clay:{light:{canvas:`#fffaf0`,panel:`#ffffff`,accent:`#1a3a3a`,fg:`#0a0a0a`,muted:`#e5e5e5`},dark:{canvas:`#0a1a1a`,panel:`#1a2a2a`,accent:`#ffb084`,fg:`#fffaf0`,muted:`#2a3a3a`}}};function g(e){let t=(0,f.c)(24),{canvas:n,panel:r,accent:i,fg:a,muted:o}=e,s;t[0]===n?s=t[1]:(s={backgroundColor:n},t[0]=n,t[1]=s);let c;t[2]!==o||t[3]!==r?(c={backgroundColor:r,borderColor:o},t[2]=o,t[3]=r,t[4]=c):c=t[4];let l;t[5]===i?l=t[6]:(l=(0,p.jsx)(`div`,{className:`size-1 shrink-0 rounded-full`,style:{backgroundColor:i}}),t[5]=i,t[6]=l);let u;t[7]===a?u=t[8]:(u=(0,p.jsx)(`div`,{className:`h-1 min-w-0 flex-1 rounded-full`,style:{backgroundColor:a,opacity:.85}}),t[7]=a,t[8]=u);let d;t[9]!==l||t[10]!==u?(d=(0,p.jsxs)(`div`,{className:`flex items-center gap-1`,children:[l,u]}),t[9]=l,t[10]=u,t[11]=d):d=t[11];let m;t[12]===o?m=t[13]:(m=(0,p.jsx)(`div`,{className:`h-1 w-2/3 max-w-[70%] rounded-full`,style:{backgroundColor:o}}),t[12]=o,t[13]=m);let h;t[14]===o?h=t[15]:(h=(0,p.jsx)(`div`,{className:`size-1/2 max-w-[55%] rounded-full`,style:{backgroundColor:o}}),t[14]=o,t[15]=h);let g;t[16]!==c||t[17]!==d||t[18]!==m||t[19]!==h?(g=(0,p.jsxs)(`div`,{className:`flex flex-col gap-0.5 rounded-sm border p-1`,style:c,children:[d,m,h]}),t[16]=c,t[17]=d,t[18]=m,t[19]=h,t[20]=g):g=t[20];let _;return t[21]!==s||t[22]!==g?(_=(0,p.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col justify-center gap-1 p-1.5`,style:s,children:g}),t[21]=s,t[22]=g,t[23]=_):_=t[23],_}function _(e){let t=(0,f.c)(8),{scheme:n}=e,{light:r,dark:i}=h[n],a;t[0]===r?a=t[1]:(a=(0,p.jsx)(g,{...r}),t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,p.jsx)(`div`,{className:`w-px shrink-0 bg-black/12 dark:bg-white/12`,"aria-hidden":!0}),t[2]=o):o=t[2];let s;t[3]===i?s=t[4]:(s=(0,p.jsx)(g,{...i}),t[3]=i,t[4]=s);let c;return t[5]!==a||t[6]!==s?(c=(0,p.jsxs)(`div`,{className:`flex h-11 w-full overflow-hidden rounded-md border border-edge-subtle`,children:[a,o,s]}),t[5]=a,t[6]=s,t[7]=c):c=t[7],c}var v=[{value:`default`,labelKey:`colorSchemeDefault`},{value:`emerald`,labelKey:`colorSchemeLightGreen`},{value:`mono`,labelKey:`colorSchemeModernMono`},{value:`clay`,labelKey:`colorSchemeClay`}];function y(){let e=(0,f.c)(18),t=i(S),o;e[0]===t?o=e[1]:(o=r(t),e[0]=t,e[1]=o);let s=o.appearanceSettings,l=a(x),u=a(b),d;e[2]===s.colorSchemeTitle?d=e[3]:(d=(0,p.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:s.colorSchemeTitle}),e[2]=s.colorSchemeTitle,e[3]=d);let m;e[4]===s.colorSchemeDescription?m=e[5]:(m=(0,p.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:s.colorSchemeDescription}),e[4]=s.colorSchemeDescription,e[5]=m);let h;e[6]!==d||e[7]!==m?(h=(0,p.jsxs)(`div`,{className:`min-w-0`,children:[d,m]}),e[6]=d,e[7]=m,e[8]=h):h=e[8];let g;e[9]!==s||e[10]!==l||e[11]!==u?(g=v.map(e=>{let{value:t,labelKey:r}=e,i=l===t;return(0,p.jsxs)(`button`,{type:`button`,"aria-pressed":i,onClick:()=>u(t),className:n(`flex flex-col gap-2 rounded-xl border-2 p-2.5 text-left transition-[border-color,box-shadow,transform] duration-150`,c.pressCard,i?`border-accent shadow-[0_0_0_1px_var(--color-accent)]`:`border-edge-subtle hover:border-edge`),children:[(0,p.jsx)(_,{scheme:t}),(0,p.jsx)(`span`,{className:n(`text-xs font-medium leading-none`,i?`text-accent-fg`:`text-fg-muted`),children:s[r]})]},t)}),e[9]=s,e[10]=l,e[11]=u,e[12]=g):g=e[12];let y;e[13]===g?y=e[14]:(y=(0,p.jsx)(`div`,{className:`grid grid-cols-2 gap-3 lg:grid-cols-4`,children:g}),e[13]=g,e[14]=y);let C;return e[15]!==h||e[16]!==y?(C=(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg bg-surface-panel/50 p-3.5 sm:py-4`,children:[h,y]}),e[15]=h,e[16]=y,e[17]=C):C=e[17],C}function b(e){return e.setColorScheme}function x(e){return e.colorScheme}function S(e){return e.language}function C(){let e=(0,f.c)(27),t=i(E),n;e[0]===t?n=e[1]:(n=r(t),e[0]=t,e[1]=n);let a=n.appearanceSettings,s=o(T),c=o(w),l;e[2]===a.developerGroupTitle?l=e[3]:(l=(0,p.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:a.developerGroupTitle}),e[2]=a.developerGroupTitle,e[3]=l);let u;e[4]===a.developerGroupDescription?u=e[5]:(u=(0,p.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:a.developerGroupDescription}),e[4]=a.developerGroupDescription,e[5]=u);let d;e[6]!==l||e[7]!==u?(d=(0,p.jsxs)(`div`,{className:`min-w-0`,children:[l,u]}),e[6]=l,e[7]=u,e[8]=d):d=e[8];let m;e[9]===a.showRawToolDataTitle?m=e[10]:(m=(0,p.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:a.showRawToolDataTitle}),e[9]=a.showRawToolDataTitle,e[10]=m);let h;e[11]===a.showRawToolDataDescription?h=e[12]:(h=(0,p.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.showRawToolDataDescription}),e[11]=a.showRawToolDataDescription,e[12]=h);let g;e[13]!==m||e[14]!==h?(g=(0,p.jsxs)(`div`,{className:`min-w-0`,children:[m,h]}),e[13]=m,e[14]=h,e[15]=g):g=e[15];let _;e[16]===c?_=e[17]:(_=e=>c(e.target.checked),e[16]=c,e[17]=_);let v;e[18]!==s||e[19]!==_?(v=(0,p.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:s,onChange:_}),e[18]=s,e[19]=_,e[20]=v):v=e[20];let y;e[21]!==g||e[22]!==v?(y=(0,p.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5 dark:bg-surface-hover/35`,children:[g,v]}),e[21]=g,e[22]=v,e[23]=y):y=e[23];let b;return e[24]!==d||e[25]!==y?(b=(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 py-3.5 sm:py-4`,children:[d,y]}),e[24]=d,e[25]=y,e[26]=b):b=e[26],b}function w(e){return e.setShowRawToolData}function T(e){return e.showRawToolData}function E(e){return e.language}function D(){let e=(0,f.c)(29),t=i(O),n;e[0]===t?n=e[1]:(n=r(t),e[0]=t,e[1]=n);let a=n.appearanceSettings,o;e[2]!==a.pageTitle||e[3]!==a.subtitle?(o=(0,p.jsx)(l,{title:a.pageTitle,subtitle:a.subtitle}),e[2]=a.pageTitle,e[3]=a.subtitle,e[4]=o):o=e[4];let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=m(),e[5]=c):c=e[5];let h;e[6]===a.languageTitle?h=e[7]:(h=(0,p.jsx)(`h2`,{id:`pref-language-heading`,className:`sr-only`,children:a.languageTitle}),e[6]=a.languageTitle,e[7]=h);let g;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,p.jsx)(s,{variant:`page`,sections:[`language`]}),e[8]=g):g=e[8];let _;e[9]===h?_=e[10]:(_=(0,p.jsxs)(`section`,{className:c,"aria-labelledby":`pref-language-heading`,children:[h,g]}),e[9]=h,e[10]=_);let v;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(v=m(),e[11]=v):v=e[11];let b;e[12]===a.themeTitle?b=e[13]:(b=(0,p.jsx)(`h2`,{id:`pref-appearance-heading`,className:`sr-only`,children:a.themeTitle}),e[12]=a.themeTitle,e[13]=b);let x,S;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,p.jsx)(s,{variant:`page`,sections:[`theme`,`font`]}),S=(0,p.jsx)(y,{}),e[14]=x,e[15]=S):(x=e[14],S=e[15]);let w;e[16]===b?w=e[17]:(w=(0,p.jsxs)(`section`,{className:v,"aria-labelledby":`pref-appearance-heading`,children:[b,x,S]}),e[16]=b,e[17]=w);let T;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(T=m(),e[18]=T):T=e[18];let E;e[19]===a.developerGroupTitle?E=e[20]:(E=(0,p.jsx)(`h2`,{id:`pref-developer-heading`,className:`sr-only`,children:a.developerGroupTitle}),e[19]=a.developerGroupTitle,e[20]=E);let D;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,p.jsx)(C,{}),e[21]=D):D=e[21];let k;e[22]===E?k=e[23]:(k=(0,p.jsx)(d,{children:(0,p.jsxs)(`section`,{className:T,"aria-labelledby":`pref-developer-heading`,children:[E,D]})}),e[22]=E,e[23]=k);let A;return e[24]!==o||e[25]!==w||e[26]!==k||e[27]!==_?(A=(0,p.jsxs)(u,{gap:`gap-6`,children:[o,_,w,k]}),e[24]=o,e[25]=w,e[26]=k,e[27]=_,e[28]=A):A=e[28],A}function O(e){return e.language}export{D as AppearanceSettingsPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./locale-store-DO-u1yS7.js";import{n as t}from"./channel-recipient-api-D32T1EJM.js";function n(){return e(`/api/channels/status`)}var r=t;export{r as n,n as t};
|