@xopcai/xopc 0.0.187 → 0.0.188
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/demo-memory/src/index.js +1 -0
- package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -3
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +0 -2
- package/dist/extensions/telegram/src/draft-stream.d.ts +0 -4
- package/dist/extensions/telegram/src/draft-stream.js +1 -53
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-WlR2zEvA.js → activity-store--QoUGhiS.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-RedDszrG.js → agent-avatar-dicebear-B0yweLNQ.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-Df9mTa-K.js → agents-C6OV-gMm.js} +1 -1
- package/dist/gateway/static/root/assets/{api-tVOllncq.js → api-5laWqfiE.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-C9hKBzaF.js → app-management-settings-panel-BXJ8Jiv_.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-5cQvq7hd.js → appearance-settings-DG9n9D1M.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-Bd3tN-k2.js → apps-page-Ci14lDeO.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-Ct-shK4n.js → archive-plugin-Ceh5qrZf.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-CpPj3m-q.js → attachment-load-jFW7uYf7.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-Q1xmb4Rh.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-BpSXZBle.js → binary-plugins-XDlkI1r4.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-B8hR2tXc.js → block-editor-kyKc2IhE.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-jb5Hf-hm.js → browser-settings-page-DbowrHXD.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-D_LAXUrh.js → browser-workflow-inputs-BJa5Iz_v.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-CPAs7-6s.js → browser-workflows-page-CTQQOsn5.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-BjUe4raq.js → capabilities-settings-panel-DoZPFdKF.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-api-CKklVY2p.js → capability-presets-api-Dn-7MMEo.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-settings-panel-DiWIMYRr.js → capability-presets-settings-panel-Bt8Hnx0h.js} +1 -1
- package/dist/gateway/static/root/assets/{channel-recipient-api-WWN-nbFL.js → channel-recipient-api-BgIkWq01.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-settings-D8IkjMuX.js → channels-settings-Bpsebsru.js} +1 -1
- package/dist/gateway/static/root/assets/channels-status-swr-DFmdYRE5.js +1 -0
- package/dist/gateway/static/root/assets/{connector-logo-CdNkVFdB.js → connector-logo-TRr9ybf6.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-page-BT2ahw52.js → connectors-page-Tg5kl22i.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-Bm_IEAf3.js → desktop-pet-CSwd00CV.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-C0Ve04-G.js → desktop-pet-settings-CuNQvHGu.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-B2cvhvAI.js → directory-picker-path-field-ct0n5Rje.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-DNashgGu.js → extension-debug-page-BeRBuMUU.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-Bvo-5htX.js → extension-page-DbK-Cwao.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BBESdISV.js → extension-settings-page-C9ag5tb5.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-ClQvokMo.js → gateway-config-api-CC7EvEFp.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-CIRs2QVy.js → gateway-settings-9g8uIry9.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CntXJF6W.js → gateway-startup-retry-B2DmdlwO.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-CWKcZuvc.js → heartbeat-settings-fl1oC_-5.js} +1 -1
- package/dist/gateway/static/root/assets/{home-page-C59f8UJw.js → home-page-Bao9jq_z.js} +1 -1
- package/dist/gateway/static/root/assets/{image-generation-api-DjSAQwGy.js → image-generation-api-GMTaS6eI.js} +1 -1
- package/dist/gateway/static/root/assets/index-Cl5n1f_U.css +1 -0
- package/dist/gateway/static/root/assets/index-OJgiMh07.js +223 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-ahKHpjoW.js → keyboard-shortcuts-settings-DhGYddbI.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-DRB4UQBE.js → local-app-workbench-page-B69NvtvH.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-B6GKdgza.js → local-apps-page-CmnrBmWi.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-Bff30u5V.js → locale-store-D6hs74o5.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-CNp4XiBN.js → logs-page-Cq3cABqg.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-split-BeNMJm_i.js → markdown-split-CZaBPOVn.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-Bdzrj_-6.js → media-plugins-CiKvSgCv.js} +1 -1
- package/dist/gateway/static/root/assets/messages-D02NNLCZ.js +3 -0
- package/dist/gateway/static/root/assets/{notes-page-MYIi-9S9.js → notes-page-Bisbzqlz.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-workbench-DqSkeDXX.js → notes-workbench-BOZfJFhE.js} +2 -2
- package/dist/gateway/static/root/assets/{page-tabs-3t88bbGx.js → page-tabs-BxlwhAbH.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Cf_BWbeE.js → preview-open-alternatives-RM8wXxfT.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-CKq73c98.js → product-open-page-DdBlibek.js} +1 -1
- package/dist/gateway/static/root/assets/{project-detail-page-BrbHs4Wp.js → project-detail-page-TSKFb2tN.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-B80rtkj6.js → projects-page-BokeBrTT.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-_Q3GEznb.js → remote-access-hub-C56anxCX.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-NqOm-OG1.js → schema-form-BDKbpmXv.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-55dJOUVg.js → sessions-page-C7TQADrD.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BDOPKeAX.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-DYAS8p8z.js → settings-form-section-zxo5ZGOu.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-DZFhxihA.js → settings-loading-skeleton-DgIp8_S6.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-BSIiMLi-.js → settings-page-BUPSIa9P.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-DfFfkdED.js → settings-page-layout-97LmwrzC.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-q_yE6-H1.js → setup-status-panel-BRg766eW.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-CYtrQaZN.js → share-preview-page-BH7i3g1S.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-gYkRX9Ik.js → shares-settings-DhEAviQ_.js} +1 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Ct7AV8ls.js +1 -0
- package/dist/gateway/static/root/assets/{skills-page-GZHKDFSb.js → skills-page-DoVuprZm.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page.utils-BBXirAjc.js → skills-page.utils-s-a5WV9j.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-DLf5YvFl.js → system-settings-panel-BxjeMT5k.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-DFGkuYfl.js → task-detail-page-BahycnfW.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-y7e_tvYi.js → theme-store-BRxdsmic.js} +1 -1
- package/dist/gateway/static/root/assets/{time-picker-5sHEZ5w5.js → time-picker-BGk_Tbsj.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-DR12j_dr.js → typed-models-lib-39MjwPSq.js} +1 -1
- package/dist/gateway/static/root/assets/{use-save-bar-registration-BsvcJgZl.js → use-save-bar-registration-5aVSjTjO.js} +1 -1
- package/dist/gateway/static/root/assets/{user-context-page-q5dr8JFG.js → user-context-page-B9K41qmy.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-DKADXFWD.js → voice-api-key-field-XU-7sBSg.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-BC1nExf8.js → work-discovery-overlay-CJqu8UHq.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-fNvSg40M.js → work-discovery-page-BBVnRHju.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-C8X5W-8k.js → workflow-run-setup-panel-DXtg8Qxl.js} +1 -1
- package/dist/gateway/static/root/assets/{workflows-page-YJBKmPYK.js → workflows-page-Bs_tYfst.js} +1 -1
- package/dist/gateway/static/root/index.html +7 -7
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/tool-activity.js +223 -0
- package/dist/src/agent/agent-manager.js +2 -8
- package/dist/src/agent/code-intelligence/binary.js +1 -1
- package/dist/src/agent/embedded/run-for-session.d.ts +0 -2
- package/dist/src/agent/embedded/run-for-session.js +99 -112
- package/dist/src/agent/external-tools/composio-provider.d.ts +29 -0
- package/dist/src/agent/external-tools/composio-provider.js +307 -0
- package/dist/src/agent/external-tools/extension-provider.d.ts +20 -0
- package/dist/src/agent/external-tools/extension-provider.js +68 -0
- package/dist/src/agent/external-tools/gateway-tools.d.ts +8 -0
- package/dist/src/agent/external-tools/gateway-tools.js +89 -0
- package/dist/src/agent/external-tools/index.d.ts +24 -0
- package/dist/src/agent/external-tools/index.js +40 -0
- package/dist/src/agent/external-tools/mcp-provider.d.ts +29 -0
- package/dist/src/agent/external-tools/mcp-provider.js +118 -0
- package/dist/src/agent/external-tools/memory-provider.d.ts +21 -0
- package/dist/src/agent/external-tools/memory-provider.js +56 -0
- package/dist/src/agent/external-tools/refs.d.ts +5 -0
- package/dist/src/agent/external-tools/refs.js +18 -0
- package/dist/src/agent/external-tools/service.d.ts +26 -0
- package/dist/src/agent/external-tools/service.js +117 -0
- package/dist/src/agent/external-tools/types.d.ts +28 -0
- package/dist/src/agent/external-tools/types.js +9 -0
- package/dist/src/agent/inbound/inbound-loop.d.ts +0 -2
- package/dist/src/agent/inbound/inbound-loop.js +0 -3
- package/dist/src/agent/mcp/{bundle-mcp-materialize.d.ts → bundle-mcp-gateway.d.ts} +1 -19
- package/dist/src/agent/mcp/bundle-mcp-gateway.js +60 -0
- package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -8
- package/dist/src/agent/mcp/bundle-mcp-names.js +2 -29
- package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +4 -7
- package/dist/src/agent/mcp/bundle-mcp-policy.js +6 -20
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +1 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.js +1 -2
- package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -5
- package/dist/src/agent/mcp/index.d.ts +0 -2
- package/dist/src/agent/mcp/index.js +2 -5
- package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/memory/context/planner.d.ts +1 -0
- package/dist/src/agent/memory/context/planner.js +22 -7
- package/dist/src/agent/memory/manager.d.ts +4 -1
- package/dist/src/agent/memory/manager.js +5 -2
- package/dist/src/agent/memory/types.d.ts +2 -0
- package/dist/src/agent/messaging/stream-manager.d.ts +2 -14
- package/dist/src/agent/messaging/stream-manager.js +0 -12
- package/dist/src/agent/orchestration/agent-event-handler.d.ts +1 -3
- package/dist/src/agent/orchestration/agent-event-handler.js +0 -36
- package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -5
- package/dist/src/agent/orchestration/agent-orchestrator.js +0 -5
- package/dist/src/agent/prompt/sections/behavior.js +6 -4
- package/dist/src/agent/service.d.ts +0 -3
- package/dist/src/agent/service.js +0 -28
- package/dist/src/agent/service.types.d.ts +0 -3
- package/dist/src/agent/skills/hub-pull.js +1 -1
- package/dist/src/agent/starter-agents.js +2 -2
- package/dist/src/agent/tools/delegate-tool.js +5 -1
- package/dist/src/agent/tools/executor.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +2 -1
- package/dist/src/agent/tools/factory.js +16 -22
- package/dist/src/agent/tools/index.d.ts +0 -1
- package/dist/src/agent/tools/index.js +1 -2
- package/dist/src/agent/workflow/workflow-child-tools.js +7 -1
- package/dist/src/browser/providers/cloakbrowser.js +1 -1
- package/dist/src/channels/channel-domain.d.ts +0 -4
- package/dist/src/channels/plugin-types.d.ts +0 -2
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/extensions/extension-registry-impl.d.ts +3 -1
- package/dist/src/extensions/extension-registry-impl.js +7 -1
- package/dist/src/extensions/loader.js +1 -1
- package/dist/src/extensions/types/core.d.ts +2 -1
- package/dist/src/extensions/update.js +1 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.js +5 -2
- package/dist/src/gateway/chat-stream/mapper.js +16 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +4 -0
- package/dist/src/gateway/file-reference-errors.d.ts +6 -0
- package/dist/src/gateway/file-reference-errors.js +21 -0
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/mcp.js +1 -1
- package/dist/src/gateway/hono/routes/projects.js +34 -13
- package/dist/src/gateway/hono/routes/workflows.js +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +34 -13
- package/dist/src/gateway/hono/routes/you.js +3 -3
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service/run-gateway-agent.js +4 -1
- package/dist/src/gateway/service.js +6 -6
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/storage/sqlite/memory-records-repository.js +3 -1
- package/dist/src/storage/sqlite/migrations/108_repair_user_memory_provider.sql +18 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/tui/tool-summary.d.ts +1 -2
- package/dist/src/tui/tool-summary.js +2 -18
- package/dist/src/tunnel/frpc-binary.js +1 -1
- package/dist/src/user-context/projection.d.ts +1 -0
- package/dist/src/user-context/projection.js +2 -1
- package/dist/src/voice/local/model-files.js +1 -1
- package/dist/src/work-discovery/service.js +1 -1
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +0 -6
- package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +0 -1
- package/dist/gateway/static/root/assets/index-D-YfWVyS.css +0 -1
- package/dist/gateway/static/root/assets/index-vi5KlR5_.js +0 -222
- package/dist/gateway/static/root/assets/messages-CPxz48hr.js +0 -3
- package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +0 -1
- package/dist/src/agent/feedback/feedback-coordinator.d.ts +0 -73
- package/dist/src/agent/feedback/feedback-coordinator.js +0 -156
- package/dist/src/agent/feedback/index.d.ts +0 -4
- package/dist/src/agent/feedback/index.js +0 -2
- package/dist/src/agent/lifecycle/progress.d.ts +0 -90
- package/dist/src/agent/lifecycle/progress.js +0 -339
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +0 -183
- package/dist/src/agent/mcp/mcp-tool-meta.d.ts +0 -8
- package/dist/src/agent/mcp/mcp-tool-meta.js +0 -13
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.d.ts +0 -14
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +0 -48
- package/dist/src/agent/tools/composio-tool.d.ts +0 -21
- package/dist/src/agent/tools/composio-tool.js +0 -261
|
@@ -3,6 +3,7 @@ import { validateWritePath } from "../../../agent/sandbox/path-policy.js";
|
|
|
3
3
|
import { isPathUnderWorkspace, resolveWorkspaceSafePath, toWorkspaceRelativePosix } from "../../workspace-editor-path.js";
|
|
4
4
|
import { getWorkspacePath } from "../../../config/workspace-path-helpers.js";
|
|
5
5
|
import { buildFilePathClassifierContext, classifyFileLocation, displayNameForPath, fileRefSessionKeysMatch, resolveFileReferenceCandidate } from "../../file-path-classifier.js";
|
|
6
|
+
import { classifyFileReferenceFsError } from "../../file-reference-errors.js";
|
|
6
7
|
import { fileReferenceRegistry } from "../../file-reference-registry.js";
|
|
7
8
|
import { resolveHeartbeatMdPath } from "../../workspace-heartbeat-path.js";
|
|
8
9
|
import { createGatewayRouteLogger } from "../lib/route-logger.js";
|
|
@@ -407,23 +408,43 @@ function registerWorkspaceRoutes(authenticated, deps) {
|
|
|
407
408
|
}
|
|
408
409
|
});
|
|
409
410
|
let st = null;
|
|
411
|
+
let statError = null;
|
|
410
412
|
try {
|
|
411
413
|
st = await stat(candidate);
|
|
412
|
-
} catch {
|
|
413
|
-
|
|
414
|
+
} catch (err) {
|
|
415
|
+
statError = err;
|
|
414
416
|
}
|
|
415
|
-
if (!st)
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
417
|
+
if (!st) {
|
|
418
|
+
const failure = classifyFileReferenceFsError(statError);
|
|
419
|
+
if (failure.code !== "FILE_NOT_FOUND") {
|
|
420
|
+
log.warn({
|
|
421
|
+
err: statError,
|
|
422
|
+
sessionKey,
|
|
423
|
+
workspaceRoot,
|
|
424
|
+
candidate,
|
|
425
|
+
errorCode: failure.code
|
|
426
|
+
}, `Workspace file reference access failed: ${failure.message}`);
|
|
427
|
+
return c.json({
|
|
428
|
+
ok: false,
|
|
429
|
+
error: {
|
|
430
|
+
code: failure.code,
|
|
431
|
+
message: failure.message
|
|
432
|
+
}
|
|
433
|
+
}, failure.status === 403 ? 403 : 500);
|
|
425
434
|
}
|
|
426
|
-
|
|
435
|
+
return c.json({
|
|
436
|
+
ok: true,
|
|
437
|
+
payload: {
|
|
438
|
+
inputPath: rawPath,
|
|
439
|
+
displayName,
|
|
440
|
+
scope: "missing",
|
|
441
|
+
exists: false,
|
|
442
|
+
absolutePath: candidate,
|
|
443
|
+
capabilities: fileReferenceCapabilities("missing", false),
|
|
444
|
+
errorCode: "FILE_NOT_FOUND"
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
}
|
|
427
448
|
const { scope, locationKind, manageRoute } = classifyFileLocation(candidate, classifierCtx);
|
|
428
449
|
const inWorkspace = scope === "workspace";
|
|
429
450
|
const isDirectory = st.isDirectory();
|
|
@@ -25,8 +25,8 @@ import { TaskApplicationService } from "../../../tasks/task-application-service.
|
|
|
25
25
|
import { defineTaskContract } from "../../../tasks/task-contract-definition.js";
|
|
26
26
|
import "../../../tasks/index.js";
|
|
27
27
|
import { nextMemoryReviewAt, resolveMemoryStability } from "../../../agent/memory/lifecycle.js";
|
|
28
|
-
import { PERSONAL_PLAYBOOK_DISABLED_TAG, PERSONAL_PLAYBOOK_ORDER_PREFIX, PERSONAL_PLAYBOOK_RULE_TAG, patchPersonalPlaybookContextTags, personalPlaybookContext } from "../../../user-context/personal-playbook.js";
|
|
29
28
|
import { isUserContextMemoryKind, isUserContextRecord, projectPersonalContextSources, projectUserContextRecord, recordsDerivedFromPersonalContextSource } from "../../../user-context/projection.js";
|
|
29
|
+
import { PERSONAL_PLAYBOOK_DISABLED_TAG, PERSONAL_PLAYBOOK_ORDER_PREFIX, PERSONAL_PLAYBOOK_RULE_TAG, patchPersonalPlaybookContextTags, personalPlaybookContext } from "../../../user-context/personal-playbook.js";
|
|
30
30
|
import { createManualUnderstanding } from "../../../user-context/manual-understanding.js";
|
|
31
31
|
import { resolveDreamingAgentScope } from "../../../agent/memory/dreaming/scope.js";
|
|
32
32
|
import { runDreamingPhase } from "../../../agent/memory/dreaming/runner.js";
|
|
@@ -270,7 +270,7 @@ function editableRecord(recordId) {
|
|
|
270
270
|
}
|
|
271
271
|
function memoryRecordInput(record) {
|
|
272
272
|
return {
|
|
273
|
-
providerId: record.
|
|
273
|
+
providerId: record.providerId,
|
|
274
274
|
kind: record.kind,
|
|
275
275
|
userId: record.scope.userId,
|
|
276
276
|
sourceAgentId: record.provenance.sourceAgentId,
|
|
@@ -599,7 +599,7 @@ function registerYouRoutes(authenticated, deps) {
|
|
|
599
599
|
const candidate = renderUserClaim(updated);
|
|
600
600
|
const evidence = listUserClaimEvidence(updated.id);
|
|
601
601
|
const record = upsertMemoryRecord({
|
|
602
|
-
providerId: "
|
|
602
|
+
providerId: "local",
|
|
603
603
|
kind: candidate.kind,
|
|
604
604
|
sourceAgentId: updated.agentId,
|
|
605
605
|
content: candidate.content,
|
|
@@ -3,9 +3,9 @@ import { init_logger } from "../../utils/logger.js";
|
|
|
3
3
|
import { loadConfig, saveConfig } from "../../config/loader.js";
|
|
4
4
|
import { getModelRegistry } from "../../providers/model-registry.js";
|
|
5
5
|
import { init_providers } from "../../providers/index.js";
|
|
6
|
+
import { disposeAllSessionMcpRuntimes } from "../../agent/mcp/bundle-mcp-runtime.js";
|
|
6
7
|
import { sanitizeTunnelConfig } from "../../tunnel/tunnel-config.js";
|
|
7
8
|
import { reloadImageGenerationProviders } from "../../agent/image/generation/provider-registry.js";
|
|
8
|
-
import { disposeAllSessionMcpRuntimes } from "../../agent/mcp/bundle-mcp-runtime.js";
|
|
9
9
|
import "../../agent/mcp/bundle-mcp-tools.js";
|
|
10
10
|
import { ConfigHotReloader } from "../../config/reload.js";
|
|
11
11
|
import "../../config/index.js";
|
|
@@ -242,7 +242,10 @@ async function* runGatewayAgent(deps, message, channel, chatId, attachments, thi
|
|
|
242
242
|
runId,
|
|
243
243
|
sessionKey: streamSessionKey,
|
|
244
244
|
timestamp: Date.now(),
|
|
245
|
-
payload: {
|
|
245
|
+
payload: {
|
|
246
|
+
messageId,
|
|
247
|
+
presentation: "answer"
|
|
248
|
+
}
|
|
246
249
|
}]);
|
|
247
250
|
yield* emitAndYield(mapper.end("success", "Message processed"));
|
|
248
251
|
taskRunStatus = "succeeded";
|
|
@@ -18,6 +18,7 @@ import { loadConfig, saveConfig } from "../config/loader.js";
|
|
|
18
18
|
import { prewarmModelRegistry } from "../providers/model-registry.js";
|
|
19
19
|
import { init_providers, providers_exports } from "../providers/index.js";
|
|
20
20
|
import { TaskRepository } from "../tasks/task-repository.js";
|
|
21
|
+
import { disposeAllSessionMcpRuntimes } from "../agent/mcp/bundle-mcp-runtime.js";
|
|
21
22
|
import { resolveEffectiveGatewayPort } from "./host.js";
|
|
22
23
|
import { AutomationService } from "../automations/service/automation-service.js";
|
|
23
24
|
import { onAutomationProductEvent, publishAutomationProductEvent } from "../automations/product-events.js";
|
|
@@ -36,7 +37,6 @@ import { TaskOutboxDispatcher } from "../tasks/task-outbox-dispatcher.js";
|
|
|
36
37
|
import { TaskRunDispatcher } from "../tasks/task-run-dispatcher.js";
|
|
37
38
|
import { TaskSignalService } from "../tasks/task-signal-service.js";
|
|
38
39
|
import "../tasks/index.js";
|
|
39
|
-
import { disposeAllSessionMcpRuntimes } from "../agent/mcp/bundle-mcp-runtime.js";
|
|
40
40
|
import "../agent/mcp/bundle-mcp-tools.js";
|
|
41
41
|
import { onSessionTranscriptUpdate } from "../session/transcript-events.js";
|
|
42
42
|
import { SessionIndex } from "../session/manager.js";
|
|
@@ -52,17 +52,17 @@ import { registerClarifyBridge } from "./clarify-runtime.js";
|
|
|
52
52
|
import { ChannelManager } from "../channels/manager.js";
|
|
53
53
|
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
54
54
|
import "../config/index.js";
|
|
55
|
-
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
56
|
-
import "../knowledge/index.js";
|
|
57
|
-
import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
|
|
58
|
-
import { ConnectedSourceChangePublisher } from "../connectors/source-change-publisher.js";
|
|
59
|
-
import { startConnectorSupervisor } from "../connectors/supervisor.js";
|
|
60
55
|
import { DiscussionService } from "../discussions/service.js";
|
|
61
56
|
import { DiscussionOrganizer } from "../discussions/organizer.js";
|
|
62
57
|
import { DiscussionLiveWorker } from "../discussions/live-worker.js";
|
|
63
58
|
import { DiscussionOrganizerWorker } from "../discussions/organizer-worker.js";
|
|
64
59
|
import { DiscussionSealer } from "../discussions/sealer.js";
|
|
65
60
|
import "../discussions/index.js";
|
|
61
|
+
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
62
|
+
import "../knowledge/index.js";
|
|
63
|
+
import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
|
|
64
|
+
import { ConnectedSourceChangePublisher } from "../connectors/source-change-publisher.js";
|
|
65
|
+
import { startConnectorSupervisor } from "../connectors/supervisor.js";
|
|
66
66
|
import { assertGatewayAuthConfigured, extractToken, resolveGatewayAuth, validateToken } from "./auth.js";
|
|
67
67
|
import { reconcileDreamingAutomations } from "./dreaming-automation-reconciler.js";
|
|
68
68
|
import { NotesStore } from "../notes/store.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_ACK_MAX_CHARS, HEARTBEAT_OK, NO_REPLY, shouldSilence, stripHeartbeatToken } from "./tokens.js";
|
|
2
|
-
import { appendCronEventLines } from "./event-prompt.js";
|
|
3
2
|
import { isWithinActiveHours } from "./active-hours.js";
|
|
4
3
|
import { isHeartbeatContentEmpty } from "./content-check.js";
|
|
4
|
+
import { appendCronEventLines } from "./event-prompt.js";
|
|
5
5
|
import { createHeartbeatWake } from "./wake.js";
|
|
6
6
|
export { DEFAULT_ACK_MAX_CHARS, HEARTBEAT_OK, NO_REPLY, appendCronEventLines, createHeartbeatWake, isHeartbeatContentEmpty, isWithinActiveHours, shouldSilence, stripHeartbeatToken };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { runPostUpdateExtensionSync } from "../extensions/update.js";
|
|
2
1
|
import "./update-channels.js";
|
|
3
2
|
import { compareSemver, resolveNpmChannelTag } from "./update-check.js";
|
|
3
|
+
import { runPostUpdateExtensionSync } from "../extensions/update.js";
|
|
4
4
|
import { readPackageName, readPackageVersion } from "./package-json.js";
|
|
5
5
|
import { createDefaultCommandRunner, runCommandWithTimeout } from "./run-command.js";
|
|
6
6
|
import { XOPC_PACKAGE_NAME, cleanupGlobalRenameDirs, createGlobalInstallEnv, detectGlobalInstallManagerForRoot, resolveGlobalInstallSpec, resolveGlobalInstallTarget } from "./update-global.js";
|
|
@@ -2,8 +2,8 @@ import { isPathUnderWorkspace } from "../gateway/workspace-editor-path.js";
|
|
|
2
2
|
import { relative, resolve } from "node:path";
|
|
3
3
|
import { createReadStream } from "node:fs";
|
|
4
4
|
import { lstat, readdir, realpath, stat } from "node:fs/promises";
|
|
5
|
-
import { pipeline } from "node:stream/promises";
|
|
6
5
|
import { Readable, Transform } from "node:stream";
|
|
6
|
+
import { pipeline } from "node:stream/promises";
|
|
7
7
|
import { crc32, createDeflateRaw } from "node:zlib";
|
|
8
8
|
//#region src/share/share-zip.ts
|
|
9
9
|
const SIG_LOCAL = 67324752;
|
|
@@ -79,6 +79,7 @@ function parseSource(json) {
|
|
|
79
79
|
function rowToRecord(row) {
|
|
80
80
|
return {
|
|
81
81
|
id: row.record_id,
|
|
82
|
+
providerId: row.provider_id,
|
|
82
83
|
kind: row.kind,
|
|
83
84
|
status: row.status,
|
|
84
85
|
...row.canonical_key ? { canonicalKey: row.canonical_key } : {},
|
|
@@ -191,6 +192,7 @@ function upsertMemoryRecord(input) {
|
|
|
191
192
|
});
|
|
192
193
|
return {
|
|
193
194
|
id,
|
|
195
|
+
providerId: input.providerId,
|
|
194
196
|
kind: input.kind,
|
|
195
197
|
status,
|
|
196
198
|
...input.canonicalKey ? { canonicalKey: input.canonicalKey } : {},
|
|
@@ -351,7 +353,7 @@ function searchMemoryRecords(options) {
|
|
|
351
353
|
score: memoryLexicalSimilarity(options.query, record.content),
|
|
352
354
|
snippet: record.content,
|
|
353
355
|
citation: {
|
|
354
|
-
providerId: record.
|
|
356
|
+
providerId: record.providerId,
|
|
355
357
|
recordId: record.id,
|
|
356
358
|
path: record.source.path,
|
|
357
359
|
lineStart: record.source.lineStart,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
UPDATE memory_records
|
|
2
|
+
SET provider_id = 'local'
|
|
3
|
+
WHERE provider_id IN ('personal-context', 'connected-understanding')
|
|
4
|
+
AND EXISTS (
|
|
5
|
+
SELECT 1
|
|
6
|
+
FROM json_each(memory_records.tags_json)
|
|
7
|
+
WHERE json_each.value = 'user-understanding'
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
DELETE FROM memory_records_fts;
|
|
11
|
+
|
|
12
|
+
INSERT INTO memory_records_fts (
|
|
13
|
+
content, record_id, provider_id, kind, user_id, source_agent_id, workspace_id
|
|
14
|
+
)
|
|
15
|
+
SELECT
|
|
16
|
+
content, record_id, provider_id, kind, user_id, source_agent_id, workspace_id
|
|
17
|
+
FROM memory_records
|
|
18
|
+
WHERE trim(content) <> '';
|
|
@@ -3,7 +3,7 @@ import type { ApplyMigrationsOptions } from './types.js';
|
|
|
3
3
|
/** Baseline schema version applied from schema.sql on first open. */
|
|
4
4
|
export declare const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;
|
|
5
5
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
6
|
-
export declare const XOPC_DB_SCHEMA_VERSION =
|
|
6
|
+
export declare const XOPC_DB_SCHEMA_VERSION = 108;
|
|
7
7
|
export declare function resolveMigrationsDir(override?: string): string;
|
|
8
8
|
/**
|
|
9
9
|
* Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.
|
|
@@ -12,7 +12,7 @@ const log = createLogger("Sqlite:Migrations");
|
|
|
12
12
|
/** Baseline schema version applied from schema.sql on first open. */
|
|
13
13
|
const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;
|
|
14
14
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
15
|
-
const XOPC_DB_SCHEMA_VERSION =
|
|
15
|
+
const XOPC_DB_SCHEMA_VERSION = 108;
|
|
16
16
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
17
17
|
function backupBeforeTaskCutover(db, databasePath) {
|
|
18
18
|
db.exec("PRAGMA wal_checkpoint(FULL)");
|
|
@@ -57,7 +57,7 @@ function applySingleMigration(db, migration) {
|
|
|
57
57
|
* Each step runs in its own transaction and updates schema_meta on success.
|
|
58
58
|
*/
|
|
59
59
|
function applyPendingMigrations(db, options = {}) {
|
|
60
|
-
const targetVersion = options.targetVersion ??
|
|
60
|
+
const targetVersion = options.targetVersion ?? 108;
|
|
61
61
|
let currentVersion = readSchemaVersion(db);
|
|
62
62
|
if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
|
|
63
63
|
if (currentVersion >= targetVersion) return currentVersion;
|
|
@@ -94,7 +94,7 @@ function applyPendingMigrations(db, options = {}) {
|
|
|
94
94
|
}
|
|
95
95
|
/** Inspect schema version without mutating the database. */
|
|
96
96
|
function inspectSchemaMigrationStatus(db, options = {}) {
|
|
97
|
-
const appVersion = options.targetVersion ??
|
|
97
|
+
const appVersion = options.targetVersion ?? 108;
|
|
98
98
|
const dbVersion = readSchemaVersion(db);
|
|
99
99
|
if (dbVersion > appVersion) return {
|
|
100
100
|
dbVersion,
|
|
@@ -19,7 +19,7 @@ const log = createLogger('Sqlite:Migrations');
|
|
|
19
19
|
export const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;
|
|
20
20
|
|
|
21
21
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
22
|
-
export const XOPC_DB_SCHEMA_VERSION =
|
|
22
|
+
export const XOPC_DB_SCHEMA_VERSION = 108;
|
|
23
23
|
|
|
24
24
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
25
25
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TuiToolContentBlock } from './tui-tool-result.js';
|
|
2
|
-
export type ToolSummaryKind = 'read' | 'search' | 'exec' | '
|
|
2
|
+
export type ToolSummaryKind = 'read' | 'search' | 'exec' | 'generic';
|
|
3
3
|
export interface ToolSummaryContext {
|
|
4
4
|
toolName: string;
|
|
5
5
|
args: unknown;
|
|
@@ -14,7 +14,6 @@ export declare function getToolSummaryKind(toolName: string): ToolSummaryKind;
|
|
|
14
14
|
export declare function isReadStyleTool(toolName: string): boolean;
|
|
15
15
|
export declare function isSearchStyleTool(toolName: string): boolean;
|
|
16
16
|
export declare function isExecStyleTool(toolName: string): boolean;
|
|
17
|
-
export declare function isMcpStyleTool(toolName: string): boolean;
|
|
18
17
|
export declare function displayToolName(toolName: string): string;
|
|
19
18
|
export declare function compactPath(path: string, maxLength?: number): string;
|
|
20
19
|
export declare function formatCollapsedToolSummary(ctx: ToolSummaryContext): string;
|
|
@@ -20,7 +20,6 @@ function getToolSummaryKind(toolName) {
|
|
|
20
20
|
if (isReadStyleTool(toolName)) return "read";
|
|
21
21
|
if (isSearchStyleTool(toolName)) return "search";
|
|
22
22
|
if (isExecStyleTool(toolName)) return "exec";
|
|
23
|
-
if (isMcpStyleTool(toolName)) return "mcp";
|
|
24
23
|
return "generic";
|
|
25
24
|
}
|
|
26
25
|
function isReadStyleTool(toolName) {
|
|
@@ -60,12 +59,7 @@ function isExecStyleTool(toolName) {
|
|
|
60
59
|
"terminal"
|
|
61
60
|
].includes(base);
|
|
62
61
|
}
|
|
63
|
-
function isMcpStyleTool(toolName) {
|
|
64
|
-
return toolName.includes("__");
|
|
65
|
-
}
|
|
66
62
|
function displayToolName(toolName) {
|
|
67
|
-
const parts = toolName.split("__");
|
|
68
|
-
if (parts.length === 2 && parts[0] && parts[1]) return `${parts[0]}.${parts[1]}`;
|
|
69
63
|
return toolName;
|
|
70
64
|
}
|
|
71
65
|
function compactPath(path, maxLength = MAX_PATH_LABEL_LENGTH) {
|
|
@@ -89,7 +83,6 @@ function formatCollapsedToolSummary(ctx) {
|
|
|
89
83
|
}
|
|
90
84
|
case "search": return formatSearchSummary(ctx.output, ctx.expandKey);
|
|
91
85
|
case "exec": return formatExecSummary(ctx.output, ctx.details, ctx.isError, ctx.expandKey);
|
|
92
|
-
case "mcp": return formatMcpSummary(ctx.output, ctx.content, ctx.expandKey);
|
|
93
86
|
case "generic": return "";
|
|
94
87
|
}
|
|
95
88
|
}
|
|
@@ -132,7 +125,7 @@ function commandFromArgs(args) {
|
|
|
132
125
|
return null;
|
|
133
126
|
}
|
|
134
127
|
function baseToolName(toolName) {
|
|
135
|
-
return toolName.split(
|
|
128
|
+
return toolName.split(".").pop()?.toLowerCase() ?? toolName.toLowerCase();
|
|
136
129
|
}
|
|
137
130
|
function firstFiniteNumber(...values) {
|
|
138
131
|
for (const value of values) {
|
|
@@ -176,15 +169,6 @@ function formatExecSummary(output, details, isError, expandKey) {
|
|
|
176
169
|
const rows = nonBlankLines([parsed.stdout, parsed.stderr].filter(Boolean).join("\n") || output).length;
|
|
177
170
|
return `${parsed.exitCode === void 0 ? isError ? "failed" : "completed" : `exit ${parsed.exitCode}`}; ${rows === 1 ? "1 output line" : `${rows} output lines`}; ${expandKey} to expand`;
|
|
178
171
|
}
|
|
179
|
-
function formatMcpSummary(output, content, expandKey) {
|
|
180
|
-
if (content?.length) {
|
|
181
|
-
const counts = /* @__PURE__ */ new Map();
|
|
182
|
-
for (const block of content) counts.set(block.type, (counts.get(block.type) ?? 0) + 1);
|
|
183
|
-
return `${[...counts.entries()].map(([type, count]) => `${count} ${type}`).join(", ")}; ${expandKey} to expand`;
|
|
184
|
-
}
|
|
185
|
-
const rows = nonBlankLines(output).length;
|
|
186
|
-
return `${rows === 1 ? "1 result line" : `${rows} result lines`}; ${expandKey} to expand`;
|
|
187
|
-
}
|
|
188
172
|
function parseExecDetails(details) {
|
|
189
173
|
if (!details || typeof details !== "object") return {};
|
|
190
174
|
const record = details;
|
|
@@ -213,4 +197,4 @@ function extractResultPath(line) {
|
|
|
213
197
|
return null;
|
|
214
198
|
}
|
|
215
199
|
//#endregion
|
|
216
|
-
export { compactPath, displayToolName, extractExitCode, formatArgsSummary, formatCollapsedToolSummary, formatExecExpandedOutput, getToolSummaryKind, isExecStyleTool,
|
|
200
|
+
export { compactPath, displayToolName, extractExitCode, formatArgsSummary, formatCollapsedToolSummary, formatExecExpandedOutput, getToolSummaryKind, isExecStyleTool, isReadStyleTool, isSearchStyleTool };
|
|
@@ -6,8 +6,8 @@ import { tmpdir } from "node:os";
|
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { chmodSync, createWriteStream, existsSync, mkdirSync, rmSync } from "node:fs";
|
|
8
8
|
import { randomBytes } from "node:crypto";
|
|
9
|
-
import { pipeline } from "node:stream/promises";
|
|
10
9
|
import { Readable } from "node:stream";
|
|
10
|
+
import { pipeline } from "node:stream/promises";
|
|
11
11
|
//#region src/tunnel/frpc-binary.ts
|
|
12
12
|
init_paths();
|
|
13
13
|
init_logger();
|
|
@@ -4,6 +4,7 @@ import type { KnowledgeSourceItem, KnowledgeSyncRun } from '../knowledge/types.j
|
|
|
4
4
|
import type { ConnectorLearningJob } from '../storage/sqlite/index.js';
|
|
5
5
|
export type UserContextFacet = 'basics' | 'collaboration' | 'boundaries' | 'priorities' | 'people' | 'current';
|
|
6
6
|
export type UserContextOrigin = 'told_by_you' | 'observed' | 'inferred' | 'connected_source';
|
|
7
|
+
export declare const USER_CONTEXT_MEMORY_KINDS: readonly MemoryKind[];
|
|
7
8
|
export declare function isUserContextRecord(record: MemoryRecord): boolean;
|
|
8
9
|
export declare function isUserContextMemoryKind(value: unknown): value is MemoryKind;
|
|
9
10
|
export declare function facetForMemoryKind(kind: MemoryKind): UserContextFacet;
|
|
@@ -20,6 +20,7 @@ const CONTEXTUAL_USER_KINDS = new Set([
|
|
|
20
20
|
"derived_insight",
|
|
21
21
|
"task_lesson"
|
|
22
22
|
]);
|
|
23
|
+
const USER_CONTEXT_MEMORY_KINDS = [...ALWAYS_PERSONAL_KINDS, ...CONTEXTUAL_USER_KINDS];
|
|
23
24
|
function isUserContextRecord(record) {
|
|
24
25
|
if (ALWAYS_PERSONAL_KINDS.has(record.kind)) return true;
|
|
25
26
|
return CONTEXTUAL_USER_KINDS.has(record.kind) && record.tags?.includes("user-understanding") === true;
|
|
@@ -258,4 +259,4 @@ function projectPersonalContextSources(definitions, instances, knowledge = {}) {
|
|
|
258
259
|
});
|
|
259
260
|
}
|
|
260
261
|
//#endregion
|
|
261
|
-
export { facetForMemoryKind, isPersonalContextConnector, isUserContextMemoryKind, isUserContextRecord, originForMemoryRecord, projectPersonalContextSources, projectUserContextRecord, recordsDerivedFromPersonalContextSource };
|
|
262
|
+
export { USER_CONTEXT_MEMORY_KINDS, facetForMemoryKind, isPersonalContextConnector, isUserContextMemoryKind, isUserContextRecord, originForMemoryRecord, projectPersonalContextSources, projectUserContextRecord, recordsDerivedFromPersonalContextSource };
|
|
@@ -2,8 +2,8 @@ import { dirname, join } from "node:path";
|
|
|
2
2
|
import { createReadStream, createWriteStream } from "node:fs";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { mkdir, rm, stat } from "node:fs/promises";
|
|
5
|
-
import { pipeline } from "node:stream/promises";
|
|
6
5
|
import { Readable } from "node:stream";
|
|
6
|
+
import { pipeline } from "node:stream/promises";
|
|
7
7
|
//#region src/voice/local/model-files.ts
|
|
8
8
|
function resolveModelFileUrl(remoteHost, model, file) {
|
|
9
9
|
const base = remoteHost.endsWith("/") ? remoteHost : `${remoteHost}/`;
|
|
@@ -801,7 +801,7 @@ var WorkDiscoveryService = class {
|
|
|
801
801
|
preserveMemoryRecord(record, patch) {
|
|
802
802
|
return upsertMemoryRecord({
|
|
803
803
|
id: record.id,
|
|
804
|
-
providerId:
|
|
804
|
+
providerId: record.providerId,
|
|
805
805
|
kind: record.kind,
|
|
806
806
|
sourceAgentId: record.provenance.sourceAgentId,
|
|
807
807
|
workspaceId: record.scope.workspaceId,
|
package/package.json
CHANGED