@xopcai/xopc 0.0.291 → 0.0.292

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.
Files changed (84) hide show
  1. package/dist/browser-ext/dist/assets/{auth-B2CDTr_F.js → auth-C8gJZEsn.js} +13 -2
  2. package/dist/browser-ext/dist/background.js +1 -1
  3. package/dist/browser-ext/dist/sidepanel.html +1 -1
  4. package/dist/browser-ext/dist/sidepanel.js +1 -1
  5. package/dist/browser-ext/manifest.json +1 -1
  6. package/dist/extensions/telegram/xopc.extension.json +1 -1
  7. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BCtrkF15.js → agent-avatar-dicebear-B-KN7Vxe.js} +1 -1
  8. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-D2eYNelh.js → agent-defaults-settings-panel-Baxstv7m.js} +1 -1
  9. package/dist/gateway/static/root/assets/{agents-BedA5XwI.js → agents-flPS95X0.js} +1 -1
  10. package/dist/gateway/static/root/assets/{app-management-settings-panel-Md562Fo-.js → app-management-settings-panel-Clx3-koM.js} +1 -1
  11. package/dist/gateway/static/root/assets/{appearance-settings-BiBFI4BM.js → appearance-settings-Dh9-tszr.js} +1 -1
  12. package/dist/gateway/static/root/assets/{apps-page-Corla83b.js → apps-page-Dp2xsMsd.js} +1 -1
  13. package/dist/gateway/static/root/assets/{archive-plugin-A_Unp751.js → archive-plugin-yBbgFmfo.js} +1 -1
  14. package/dist/gateway/static/root/assets/{attachment-load-D6idSUyP.js → attachment-load-7erralOU.js} +1 -1
  15. package/dist/gateway/static/root/assets/{automations-page-C6j71Lgs.js → automations-page-CUonEZ2x.js} +1 -1
  16. package/dist/gateway/static/root/assets/{automations-workspace-DjZdhLQ5.js → automations-workspace-B4GlDw5q.js} +1 -1
  17. package/dist/gateway/static/root/assets/{binary-plugins-BkKYh-8v.js → binary-plugins-DaoKg78d.js} +1 -1
  18. package/dist/gateway/static/root/assets/{block-editor-CDcMvaku.js → block-editor-CSzMTtSP.js} +1 -1
  19. package/dist/gateway/static/root/assets/{browser-automations-page-C64k4TBH.js → browser-automations-page-BcoqlR0A.js} +1 -1
  20. package/dist/gateway/static/root/assets/{browser-settings-page-1k5rj_qR.js → browser-settings-page-CNBpt5_s.js} +1 -1
  21. package/dist/gateway/static/root/assets/{capabilities-settings-panel-B2NvoTYb.js → capabilities-settings-panel-Cq2xEfFR.js} +1 -1
  22. package/dist/gateway/static/root/assets/{channels-settings-DExixzp4.js → channels-settings-qriatUpN.js} +1 -1
  23. package/dist/gateway/static/root/assets/{chat-terminal-dock-B9eKFkbg.js → chat-terminal-dock-8ulboLW3.js} +1 -1
  24. package/dist/gateway/static/root/assets/{computer-model-settings-DW6j2lsn.js → computer-model-settings-CC9cAadg.js} +1 -1
  25. package/dist/gateway/static/root/assets/{computer-settings-page-C2Qyw63Q.js → computer-settings-page-Bx4S_5aZ.js} +1 -1
  26. package/dist/gateway/static/root/assets/{connectors-page-C3ubZz7K.js → connectors-page-DMmdLl1C.js} +1 -1
  27. package/dist/gateway/static/root/assets/{date-picker-BdxjXVKL.js → date-picker-D-PLqwOO.js} +1 -1
  28. package/dist/gateway/static/root/assets/{dependency-picker-CXOa4uh4.js → dependency-picker-Byi8Pj4r.js} +1 -1
  29. package/dist/gateway/static/root/assets/{desktop-pet-CBWiAaSv.js → desktop-pet-Cz65FJT2.js} +1 -1
  30. package/dist/gateway/static/root/assets/{desktop-pet-settings-BX1aILDK.js → desktop-pet-settings-Bkl4Ze0r.js} +1 -1
  31. package/dist/gateway/static/root/assets/{device-pairing-wizard-bqm_Yf4i.js → device-pairing-wizard-CIA_xQBM.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-debug-page-B4MMerja.js → extension-debug-page-X7zxTl6D.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-page-B3ZtINak.js → extension-page-DCdlL4LI.js} +1 -1
  34. package/dist/gateway/static/root/assets/{extension-settings-page-8BkQVh0z.js → extension-settings-page-DQJnK5Sk.js} +1 -1
  35. package/dist/gateway/static/root/assets/{gateway-settings-ZyhacQX5.js → gateway-settings-BjBrlZtF.js} +1 -1
  36. package/dist/gateway/static/root/assets/{heartbeat-settings-Bllcxm2A.js → heartbeat-settings-B2lYz7Xz.js} +1 -1
  37. package/dist/gateway/static/root/assets/{home-page-Cv2e8XBR.js → home-page-DqqyuD7d.js} +1 -1
  38. package/dist/gateway/static/root/assets/{index-B7EieIE4.js → index-BN6wV2e0.js} +43 -43
  39. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-6A6JOHTI.js → keyboard-shortcuts-settings-CUpJbykV.js} +1 -1
  40. package/dist/gateway/static/root/assets/{local-app-workbench-page-Cipj52Zq.js → local-app-workbench-page-nUjivsK_.js} +1 -1
  41. package/dist/gateway/static/root/assets/{local-apps-page-bD-m7YHJ.js → local-apps-page-3uXvbS57.js} +1 -1
  42. package/dist/gateway/static/root/assets/{logs-page-D5feO2yw.js → logs-page-DBvHm-DU.js} +1 -1
  43. package/dist/gateway/static/root/assets/{management-settings-B7mz0_44.js → management-settings-CX-GlWnS.js} +1 -1
  44. package/dist/gateway/static/root/assets/{media-plugins-DQ2HfMeG.js → media-plugins-Ba0_Rfpy.js} +1 -1
  45. package/dist/gateway/static/root/assets/{note-detail-panel-DhYJigb3.js → note-detail-panel-Dc39UgwB.js} +3 -3
  46. package/dist/gateway/static/root/assets/{notes-page-Bg5NPUdf.js → notes-page-R7kUqGnr.js} +1 -1
  47. package/dist/gateway/static/root/assets/{page-tabs-DmG_Qjl8.js → page-tabs-BSAf6FWu.js} +1 -1
  48. package/dist/gateway/static/root/assets/{preview-open-alternatives-Y9J1kjKC.js → preview-open-alternatives-DD-poGvE.js} +1 -1
  49. package/dist/gateway/static/root/assets/{proactive-page-Duc_NQ8l.js → proactive-page-BO0XQvPb.js} +1 -1
  50. package/dist/gateway/static/root/assets/{project-detail-page-DVOiucVA.js → project-detail-page-Ng3MMqXN.js} +1 -1
  51. package/dist/gateway/static/root/assets/{projects-page-Dr_kDoCJ.js → projects-page-CDchhHzo.js} +1 -1
  52. package/dist/gateway/static/root/assets/{remote-access-hub-hyJ2KKKK.js → remote-access-hub-BF3vmGvt.js} +1 -1
  53. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DB7J9opJ.js → runtime-tools-settings-panel-MlJvsGiE.js} +1 -1
  54. package/dist/gateway/static/root/assets/{schema-form-CMYuPOlE.js → schema-form-DPs22QFN.js} +1 -1
  55. package/dist/gateway/static/root/assets/{sessions-page-DGsnYcoh.js → sessions-page-gUejQ_g6.js} +1 -1
  56. package/dist/gateway/static/root/assets/settings-advanced-gate-C_a6vOHk.js +1 -0
  57. package/dist/gateway/static/root/assets/{settings-form-section-BayJP08a.js → settings-form-section-hi0uaiG8.js} +1 -1
  58. package/dist/gateway/static/root/assets/{settings-page-CWBqZtt6.js → settings-page-D74V1t2j.js} +1 -1
  59. package/dist/gateway/static/root/assets/{setup-status-panel-C97S5g5c.js → setup-status-panel-BkIWwcLb.js} +1 -1
  60. package/dist/gateway/static/root/assets/{share-preview-page-Wn5bQA-5.js → share-preview-page-BSw02mMX.js} +1 -1
  61. package/dist/gateway/static/root/assets/{shares-settings-pfVzP8F7.js → shares-settings-DoCUNMfG.js} +1 -1
  62. package/dist/gateway/static/root/assets/{skill-reload-api-DDJ0ZKx3.js → skill-reload-api-CDf5qL2o.js} +1 -1
  63. package/dist/gateway/static/root/assets/{skills-page-DbDpLjDW.js → skills-page-CnJdaqt2.js} +1 -1
  64. package/dist/gateway/static/root/assets/{skills-page.utils-DCHY_kou.js → skills-page.utils-D1RxQndr.js} +1 -1
  65. package/dist/gateway/static/root/assets/{system-settings-panel-DhgITgId.js → system-settings-panel-CVRCYwdg.js} +1 -1
  66. package/dist/gateway/static/root/assets/{task-detail-page-UqwtiHYu.js → task-detail-page-C985d6ss.js} +1 -1
  67. package/dist/gateway/static/root/assets/{tunnel-api-DJ3gz2tM.js → tunnel-api-C0rbTyba.js} +1 -1
  68. package/dist/gateway/static/root/assets/{use-autosave-htvgT192.js → use-autosave-DIKW1_0g.js} +1 -1
  69. package/dist/gateway/static/root/assets/{user-model-page-xOsXY_2W.js → user-model-page-BXMU-s3Y.js} +1 -1
  70. package/dist/gateway/static/root/assets/{voice-api-key-field-BviJF3Oa.js → voice-api-key-field-fcggfSSi.js} +1 -1
  71. package/dist/gateway/static/root/assets/{work-discovery-overlay-BOBVNEYZ.js → work-discovery-overlay-D-Q7woUy.js} +1 -1
  72. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-D1N9uUyM.js → workflow-run-setup-panel-C0fSWp3X.js} +1 -1
  73. package/dist/gateway/static/root/assets/{workflows-page-2ylzlgkG.js → workflows-page-DZmh3rJf.js} +1 -1
  74. package/dist/gateway/static/root/index.html +1 -1
  75. package/dist/package.js +1 -1
  76. package/dist/packages/computer-control-contract/src/index.js +20 -2
  77. package/dist/packages/realtime-client/src/index.js +9 -2
  78. package/dist/src/gateway/hono/routes/endpoint-compatibility.d.ts +2 -0
  79. package/dist/src/gateway/hono/routes/endpoint-compatibility.js +20 -0
  80. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  81. package/dist/src/gateway/service.js +7 -7
  82. package/dist/src/realtime/runtime.js +9 -0
  83. package/package.json +4 -4
  84. package/dist/gateway/static/root/assets/settings-advanced-gate-DuzZqQMn.js +0 -1
@@ -0,0 +1,20 @@
1
+ import { init_src } from "../../../../packages/endpoint-tools-protocol/src/index.js";
2
+ import { COMPUTER_DESCRIPTOR, init_src as init_src$1 } from "../../../../packages/computer-control-contract/src/index.js";
3
+ //#region src/gateway/hono/routes/endpoint-compatibility.ts
4
+ init_src$1();
5
+ init_src();
6
+ function registerEndpointCompatibilityRoutes(authenticated) {
7
+ authenticated.get("/api/endpoint-tools/compatibility", (c) => {
8
+ c.header("Cache-Control", "no-store");
9
+ return c.json({
10
+ ok: true,
11
+ payload: {
12
+ realtimeProtocolVersion: 2,
13
+ endpointProtocolVersion: 2,
14
+ computerControl: COMPUTER_DESCRIPTOR
15
+ }
16
+ });
17
+ });
18
+ }
19
+ //#endregion
20
+ export { registerEndpointCompatibilityRoutes };
@@ -3,6 +3,14 @@ function startsWithAny(path, prefixes) {
3
3
  return prefixes.some((prefix) => path === prefix || path.startsWith(`${prefix}/`));
4
4
  }
5
5
  const AUTHENTICATED_LAZY_ROUTE_BUNDLES = [
6
+ {
7
+ id: "endpoint-compatibility",
8
+ match: (path) => path === "/api/endpoint-tools/compatibility",
9
+ load: async () => {
10
+ const { registerEndpointCompatibilityRoutes } = await import("./endpoint-compatibility.js");
11
+ return { register: registerEndpointCompatibilityRoutes };
12
+ }
13
+ },
6
14
  {
7
15
  id: "imports",
8
16
  match: (path) => startsWithAny(path, ["/api/imports"]),
@@ -58,13 +58,6 @@ import { registerClarificationChannelRuntime } from "./clarify-runtime.js";
58
58
  import { ChannelManager } from "../channels/manager.js";
59
59
  import { getWorkspacePath } from "../config/workspace-path-helpers.js";
60
60
  import "../config/index.js";
61
- import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
62
- import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
63
- import "../knowledge/index.js";
64
- import { ConnectionRecoveryService } from "../connectors/connection-recovery-service.js";
65
- import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
66
- import { ConnectedSourceChangePublisher } from "../connectors/source-change-publisher.js";
67
- import { startConnectorSupervisor } from "../connectors/supervisor.js";
68
61
  import { DiscussionService } from "../discussions/service.js";
69
62
  import { DiscussionOrganizer } from "../discussions/organizer.js";
70
63
  import { DiscussionLiveWorker } from "../discussions/live-worker.js";
@@ -73,6 +66,13 @@ import { DiscussionSealer } from "../discussions/sealer.js";
73
66
  import "../discussions/index.js";
74
67
  import { EndpointToolRuntime } from "../endpoint-tools/runtime.js";
75
68
  import "../endpoint-tools/index.js";
69
+ import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
70
+ import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
71
+ import "../knowledge/index.js";
72
+ import { ConnectionRecoveryService } from "../connectors/connection-recovery-service.js";
73
+ import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
74
+ import { ConnectedSourceChangePublisher } from "../connectors/source-change-publisher.js";
75
+ import { startConnectorSupervisor } from "../connectors/supervisor.js";
76
76
  import { assertGatewayAuthConfigured, extractToken, resolveGatewayAuth, validateToken } from "./auth.js";
77
77
  import { prepareAutomationAgentSession } from "./automation-agent-session.js";
78
78
  import { stopTailscaleExposure } from "./tailscale-lifecycle.js";
@@ -1,6 +1,7 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { hasGatewayScope } from "../gateway/security/gateway-scopes.js";
4
+ import { EndpointToolPolicyError } from "../endpoint-tools/policy.js";
4
5
  import { REALTIME_HEARTBEAT_INTERVAL_MS, REALTIME_HEARTBEAT_TIMEOUT_MS, REALTIME_HELLO_TIMEOUT_MS, REALTIME_MAX_CLIENT_FRAME_BYTES, parseClientRealtimeJsonFrame, parseClientRealtimeMessage } from "../../packages/realtime-protocol/src/index.js";
5
6
  import { createPreauthConnectionBudget } from "../gateway/security/preauth-connection-budget.js";
6
7
  import { RealtimeBroker } from "./broker.js";
@@ -246,6 +247,14 @@ var RealtimeRuntime = class {
246
247
  turnToken: registration.turnToken
247
248
  };
248
249
  } catch (error) {
250
+ if (error instanceof EndpointToolPolicyError) {
251
+ log.warn({
252
+ err: error,
253
+ principalId: message.payload.endpoint.principalId
254
+ }, "Realtime endpoint contract is incompatible");
255
+ socket.close(4409, "GATEWAY_PROTOCOL_INCOMPATIBLE");
256
+ return;
257
+ }
249
258
  log.warn({
250
259
  err: error,
251
260
  principalId: message.payload.endpoint.principalId
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xopcai/xopc",
3
- "version": "0.0.291",
3
+ "version": "0.0.292",
4
4
  "description": "Local-first personal AI assistant with reviewable user understanding, durable tasks, workflows, automations, and local or cloud models.",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -166,13 +166,13 @@
166
166
  "vitepress": "^1.6.4",
167
167
  "vitest": "4.1.5",
168
168
  "vue": "^3.5.35",
169
- "@xopcai/browser-control-contract": "0.1.0",
170
169
  "@xopcai/computer-control-contract": "0.1.0",
170
+ "@xopcai/browser-control-contract": "0.1.0",
171
171
  "@xopcai/endpoint-tools-client": "0.0.0",
172
172
  "@xopcai/endpoint-tools-protocol": "0.0.0",
173
173
  "@xopcai/gateway-contract": "0.0.0",
174
- "@xopcai/realtime-client": "0.0.0",
175
- "@xopcai/realtime-protocol": "0.0.0"
174
+ "@xopcai/realtime-protocol": "0.0.0",
175
+ "@xopcai/realtime-client": "0.0.0"
176
176
  },
177
177
  "scripts": {
178
178
  "assets:brand": "node scripts/generate-brand-assets.mjs",
@@ -1 +0,0 @@
1
- import{xn as e}from"./index-B7EieIE4.js";function t(t){let{children:n,fallback:r}=t,i=r===void 0?null:r;return e()?n:i}export{t};