@atelierai/uco 1.0.6 → 1.0.7
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/CHANGELOG.md +21 -0
- package/README.md +7 -8
- package/bin/server.mjs +1 -1
- package/bin/stub-plugin.mjs +3 -3
- package/dist/codegen/coerce.js +1 -1
- package/dist/codegen/coerce.js.map +1 -1
- package/dist/codegen/emit.js +2 -2
- package/dist/codegen/emit.js.map +1 -1
- package/dist/codegen/refs.js +1 -1
- package/dist/codegen/refs.js.map +1 -1
- package/dist/codegen/types.js +1 -1
- package/dist/codegen/types.js.map +1 -1
- package/dist/commands/call.js +1 -1
- package/dist/commands/call.js.map +1 -1
- package/dist/commands/devops/configure.js +1 -1
- package/dist/commands/devops/configure.js.map +1 -1
- package/dist/commands/devops/index.js +0 -4
- package/dist/commands/devops/index.js.map +1 -1
- package/dist/commands/devops/install-plugin.js +1 -1
- package/dist/commands/devops/install-plugin.js.map +1 -1
- package/dist/commands/devops/open.js +7 -7
- package/dist/commands/devops/open.js.map +1 -1
- package/dist/commands/devops/status.js +3 -3
- package/dist/commands/devops/status.js.map +1 -1
- package/dist/commands/exec.js +1 -1
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/install.js +2 -2
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/prompt.js +2 -2
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/resource.js +2 -2
- package/dist/commands/resource.js.map +1 -1
- package/dist/commands/update.js +1 -26
- package/dist/commands/update.js.map +1 -1
- package/dist/config/port.js +2 -2
- package/dist/config/port.js.map +1 -1
- package/dist/config/resolve.d.ts +1 -2
- package/dist/config/resolve.js +0 -12
- package/dist/config/resolve.js.map +1 -1
- package/dist/devops/lib/configure.d.ts +1 -1
- package/dist/devops/lib/configure.js +2 -2
- package/dist/devops/lib/configure.js.map +1 -1
- package/dist/devops/lib/install-plugin.d.ts +1 -1
- package/dist/devops/lib/install-plugin.js +1 -1
- package/dist/devops/lib/install-plugin.js.map +1 -1
- package/dist/devops/lib/install.d.ts +2 -2
- package/dist/devops/lib/install.js +5 -5
- package/dist/devops/lib/install.js.map +1 -1
- package/dist/devops/lib/open.js +11 -32
- package/dist/devops/lib/open.js.map +1 -1
- package/dist/devops/lib/remove-plugin.d.ts +1 -1
- package/dist/devops/lib/remove-plugin.js +3 -3
- package/dist/devops/lib/remove-plugin.js.map +1 -1
- package/dist/devops/lib/run-tool.d.ts +2 -2
- package/dist/devops/lib/run-tool.js +2 -2
- package/dist/devops/lib/types.d.ts +17 -54
- package/dist/devops/lib/types.js +2 -2
- package/dist/devops/lib/types.js.map +1 -1
- package/dist/devops/lib/update.d.ts +0 -15
- package/dist/devops/lib/update.js +2 -91
- package/dist/devops/lib/update.js.map +1 -1
- package/dist/devops/utils/agents.d.ts +0 -28
- package/dist/devops/utils/agents.js +0 -462
- package/dist/devops/utils/agents.js.map +1 -1
- package/dist/devops/utils/config.d.ts +9 -18
- package/dist/devops/utils/config.js +7 -20
- package/dist/devops/utils/config.js.map +1 -1
- package/dist/devops/utils/editor-cache.js +1 -1
- package/dist/devops/utils/editor-cache.js.map +1 -1
- package/dist/devops/utils/launch-error-dismiss.d.ts +2 -2
- package/dist/devops/utils/launch-error-dismiss.js +5 -5
- package/dist/devops/utils/manifest.d.ts +2 -2
- package/dist/devops/utils/manifest.js +3 -3
- package/dist/devops/utils/manifest.js.map +1 -1
- package/dist/devops/utils/port.d.ts +1 -1
- package/dist/devops/utils/port.js +1 -1
- package/dist/devops/utils/probe.d.ts +1 -1
- package/dist/devops/utils/probe.js +1 -1
- package/dist/devops/utils/ui.js +2 -2
- package/dist/devops/utils/ui.js.map +1 -1
- package/dist/devops/utils/unity-editor.js +4 -4
- package/dist/devops/utils/unity-editor.js.map +1 -1
- package/dist/devops/utils/unity-hub.js +1 -1
- package/dist/devops/utils/unity-hub.js.map +1 -1
- package/dist/devops/utils/unity-shutdown.d.ts +1 -1
- package/dist/devops/utils/unity-shutdown.js +1 -1
- package/dist/devops/utils/update-check.js +3 -3
- package/dist/devops/utils/update-check.js.map +1 -1
- package/dist/devops/utils/vendor.d.ts +2 -2
- package/dist/devops/utils/vendor.js +4 -4
- package/dist/devops/utils/vendor.js.map +1 -1
- package/dist/generated/tools.js +1 -1
- package/dist/generated/tools.js.map +1 -1
- package/dist/program.js +3 -3
- package/dist/program.js.map +1 -1
- package/dist/server/app.d.ts +5 -5
- package/dist/server/app.js +3 -3
- package/dist/server/app.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/rest/auth.d.ts +1 -1
- package/dist/server/rest/auth.js +3 -3
- package/dist/server/rest/auth.js.map +1 -1
- package/dist/server/rest/context.d.ts +2 -2
- package/dist/server/rest/forward.d.ts +2 -2
- package/dist/server/session/store.d.ts +3 -3
- package/dist/server/session/store.js +4 -4
- package/dist/server/session/store.js.map +1 -1
- package/dist/server/stub-client/scenarios.js +8 -8
- package/dist/server/stub-client/scenarios.js.map +1 -1
- package/dist/server/types.d.ts +11 -11
- package/dist/server/types.js +9 -9
- package/dist/server/types.js.map +1 -1
- package/dist/server/ws/hub.d.ts +8 -8
- package/dist/server/ws/hub.js +13 -13
- package/dist/server/ws/hub.js.map +1 -1
- package/dist/server/ws/rpc.d.ts +3 -3
- package/dist/server/ws/rpc.js +4 -4
- package/dist/server/ws/rpc.js.map +1 -1
- package/dist/transport/index.d.ts +1 -1
- package/dist/transport/index.js +3 -3
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/rest.js +1 -1
- package/dist/transport/rest.js.map +1 -1
- package/docs/INSTALL.zh-CN.md +2 -3
- package/package.json +1 -1
- package/skills/uco-setup/SKILL.md +1 -1
- package/skills/unity-editor/references/diagnostics.md +24 -24
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Components/ExtensionPanel.cs +379 -379
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/MenuItems.cs +72 -72
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/UnityCopilotProjectSettingsProvider.cs +64 -64
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotServer.cs +372 -372
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/ReflectorNet.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.Common.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Config.cs +175 -175
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.cs +1 -1
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Utils/EnvironmentUtils.cs +368 -368
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Environment/EnvironmentUtilsTests.cs +3 -3
- package/vendor/plugin/com.atelierai.unity.copilot/package.json +1 -1
- package/dist/commands/devops/login.d.ts +0 -2
- package/dist/commands/devops/login.js +0 -29
- package/dist/commands/devops/login.js.map +0 -1
- package/dist/commands/devops/setup-mcp.d.ts +0 -2
- package/dist/commands/devops/setup-mcp.js +0 -41
- package/dist/commands/devops/setup-mcp.js.map +0 -1
- package/dist/devops/commands-upstream/bootstrap-local.d.ts +0 -17
- package/dist/devops/commands-upstream/bootstrap-local.js +0 -87
- package/dist/devops/commands-upstream/bootstrap-local.js.map +0 -1
- package/dist/devops/commands-upstream/close.d.ts +0 -57
- package/dist/devops/commands-upstream/close.js +0 -188
- package/dist/devops/commands-upstream/close.js.map +0 -1
- package/dist/devops/commands-upstream/configure.d.ts +0 -2
- package/dist/devops/commands-upstream/configure.js +0 -87
- package/dist/devops/commands-upstream/configure.js.map +0 -1
- package/dist/devops/commands-upstream/create-project.d.ts +0 -2
- package/dist/devops/commands-upstream/create-project.js +0 -43
- package/dist/devops/commands-upstream/create-project.js.map +0 -1
- package/dist/devops/commands-upstream/install-plugin.d.ts +0 -2
- package/dist/devops/commands-upstream/install-plugin.js +0 -64
- package/dist/devops/commands-upstream/install-plugin.js.map +0 -1
- package/dist/devops/commands-upstream/install-unity.d.ts +0 -2
- package/dist/devops/commands-upstream/install-unity.js +0 -72
- package/dist/devops/commands-upstream/install-unity.js.map +0 -1
- package/dist/devops/commands-upstream/login.d.ts +0 -2
- package/dist/devops/commands-upstream/login.js +0 -33
- package/dist/devops/commands-upstream/login.js.map +0 -1
- package/dist/devops/commands-upstream/open.d.ts +0 -32
- package/dist/devops/commands-upstream/open.js +0 -282
- package/dist/devops/commands-upstream/open.js.map +0 -1
- package/dist/devops/commands-upstream/remove-plugin.d.ts +0 -2
- package/dist/devops/commands-upstream/remove-plugin.js +0 -41
- package/dist/devops/commands-upstream/remove-plugin.js.map +0 -1
- package/dist/devops/commands-upstream/run-system-tool.d.ts +0 -1
- package/dist/devops/commands-upstream/run-system-tool.js +0 -13
- package/dist/devops/commands-upstream/run-system-tool.js.map +0 -1
- package/dist/devops/commands-upstream/run-tool-builder.d.ts +0 -25
- package/dist/devops/commands-upstream/run-tool-builder.js +0 -125
- package/dist/devops/commands-upstream/run-tool-builder.js.map +0 -1
- package/dist/devops/commands-upstream/run-tool.d.ts +0 -1
- package/dist/devops/commands-upstream/run-tool.js +0 -13
- package/dist/devops/commands-upstream/run-tool.js.map +0 -1
- package/dist/devops/commands-upstream/setup-mcp.d.ts +0 -2
- package/dist/devops/commands-upstream/setup-mcp.js +0 -68
- package/dist/devops/commands-upstream/setup-mcp.js.map +0 -1
- package/dist/devops/commands-upstream/setup-skills.d.ts +0 -2
- package/dist/devops/commands-upstream/setup-skills.js +0 -167
- package/dist/devops/commands-upstream/setup-skills.js.map +0 -1
- package/dist/devops/commands-upstream/status.d.ts +0 -2
- package/dist/devops/commands-upstream/status.js +0 -87
- package/dist/devops/commands-upstream/status.js.map +0 -1
- package/dist/devops/commands-upstream/update.d.ts +0 -2
- package/dist/devops/commands-upstream/update.js +0 -77
- package/dist/devops/commands-upstream/update.js.map +0 -1
- package/dist/devops/commands-upstream/wait-for-ready.d.ts +0 -2
- package/dist/devops/commands-upstream/wait-for-ready.js +0 -93
- package/dist/devops/commands-upstream/wait-for-ready.js.map +0 -1
- package/dist/devops/lib/setup-mcp.d.ts +0 -35
- package/dist/devops/lib/setup-mcp.js +0 -177
- package/dist/devops/lib/setup-mcp.js.map +0 -1
- package/dist/devops/utils/cloud-login.d.ts +0 -7
- package/dist/devops/utils/cloud-login.js +0 -56
- package/dist/devops/utils/cloud-login.js.map +0 -1
package/dist/program.js
CHANGED
|
@@ -24,7 +24,7 @@ export function buildProgram() {
|
|
|
24
24
|
program
|
|
25
25
|
.name('uco')
|
|
26
26
|
.description('uco — Unity Co-Pilot CLI: drive Unity Editor via plain HTTP.\n' +
|
|
27
|
-
'Backed by the Unity
|
|
27
|
+
'Backed by the Unity Copilot Node bridge (plain REST + WebSocket wire).')
|
|
28
28
|
.version(VERSION)
|
|
29
29
|
// Global options — every subcommand inherits these.
|
|
30
30
|
.option('-P, --project <path>', 'Unity project path (used to find config + derive deterministic port). Defaults to $CWD.')
|
|
@@ -55,9 +55,9 @@ export function buildProgram() {
|
|
|
55
55
|
registerPrompt(program);
|
|
56
56
|
registerResource(program);
|
|
57
57
|
// Dev-ops command suite (install-plugin, open, configure, status, etc.) —
|
|
58
|
-
// vendored from upstream
|
|
58
|
+
// vendored from upstream bridge/cli (Apache-2.0).
|
|
59
59
|
registerDevopsCommands(program);
|
|
60
|
-
// All
|
|
60
|
+
// All bridge tools mirrored 1:1 as `uco <tool-name>`.
|
|
61
61
|
// Run `uco gen` against a running server to refresh.
|
|
62
62
|
registerGeneratedTools(program);
|
|
63
63
|
applyGlobalPassthroughOptions(program);
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,uEAAuE;AACvE,iEAAiE;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,wEAAwE;AACxE,oDAAoD;AACpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CACV,gEAAgE;QAC9D,wEAAwE,CAC3E;SACA,OAAO,CAAC,OAAO,CAAC;QACjB,oDAAoD;SACnD,MAAM,CACL,sBAAsB,EACtB,yFAAyF,CAC1F;SACA,MAAM,CAAC,iBAAiB,EAAE,sEAAsE,CAAC;SACjG,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;SAC9E,MAAM,CAAC,YAAY,EAAE,0EAA0E,CAAC;SAChG,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,4EAA4E,sBAAsB,gCAAgC,CAAC;SAC/J,MAAM,CAAC,gBAAgB,EAAE,6EAA6E,sBAAsB,EAAE,EAAE,OAAO,CAAC,CAAC;IAE5I,uEAAuE;IACvE,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,wEAAwE;IACxE,yEAAyE;IACzE,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAElC,oCAAoC;IACpC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1B,0EAA0E;IAC1E,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/dist/server/app.d.ts
CHANGED
|
@@ -7,13 +7,13 @@ import { type Server } from 'node:http';
|
|
|
7
7
|
import type { Server as NetServer } from 'node:net';
|
|
8
8
|
import { type ServerConfig } from './config.js';
|
|
9
9
|
import { ConnectionRegistry } from './ws/registry.js';
|
|
10
|
-
import {
|
|
10
|
+
import { PluginHub } from './ws/hub.js';
|
|
11
11
|
import { SessionStateStore } from './session/store.js';
|
|
12
|
-
export interface
|
|
12
|
+
export interface BridgeHandle {
|
|
13
13
|
/** The underlying HTTP server. */
|
|
14
14
|
httpServer: Server;
|
|
15
15
|
/** The WebSocket hub. */
|
|
16
|
-
hub:
|
|
16
|
+
hub: PluginHub;
|
|
17
17
|
/** The connection registry. */
|
|
18
18
|
registry: ConnectionRegistry;
|
|
19
19
|
/** The session store. */
|
|
@@ -35,8 +35,8 @@ export interface OwnedServerRuntime {
|
|
|
35
35
|
phase: 'precommit' | 'committed';
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
|
-
* Create the
|
|
38
|
+
* Create the bridge server: HTTP REST + WebSocket hub.
|
|
39
39
|
*
|
|
40
40
|
* @param config Server configuration.
|
|
41
41
|
*/
|
|
42
|
-
export declare function createServer(config: ServerConfig, ownedRuntime?: OwnedServerRuntime):
|
|
42
|
+
export declare function createServer(config: ServerConfig, ownedRuntime?: OwnedServerRuntime): BridgeHandle;
|
package/dist/server/app.js
CHANGED
|
@@ -7,12 +7,12 @@ import { createServer as createHttpServer } from 'node:http';
|
|
|
7
7
|
import { validateServerConfig } from './config.js';
|
|
8
8
|
import { ConnectionRegistry } from './ws/registry.js';
|
|
9
9
|
import { PendingTracker } from './ws/pending.js';
|
|
10
|
-
import {
|
|
10
|
+
import { PluginHub } from './ws/hub.js';
|
|
11
11
|
import { SessionStateStore } from './session/store.js';
|
|
12
12
|
import { CallRecordStore } from './calls/call-record-store.js';
|
|
13
13
|
import { createRestRouter } from './rest/router.js';
|
|
14
14
|
/**
|
|
15
|
-
* Create the
|
|
15
|
+
* Create the bridge server: HTTP REST + WebSocket hub.
|
|
16
16
|
*
|
|
17
17
|
* @param config Server configuration.
|
|
18
18
|
*/
|
|
@@ -24,7 +24,7 @@ export function createServer(config, ownedRuntime) {
|
|
|
24
24
|
const sessionStore = new SessionStateStore();
|
|
25
25
|
const callRecords = new CallRecordStore();
|
|
26
26
|
const clientData = [];
|
|
27
|
-
const hub = new
|
|
27
|
+
const hub = new PluginHub({
|
|
28
28
|
registry,
|
|
29
29
|
pending,
|
|
30
30
|
authToken: validated.token,
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* Exports createServer(), ServerConfig, and shared types.
|
|
5
5
|
* Also provides a main() function for the `uco serve` subcommand / bin entry.
|
|
6
6
|
*/
|
|
7
|
-
export { createServer, type ListeningAddress, type
|
|
7
|
+
export { createServer, type ListeningAddress, type BridgeHandle, type OwnedServerRuntime, } from './app.js';
|
|
8
8
|
export { isLoopbackHost, normalizeListenHost, parseServerConfig, validateServerConfig, type ServerConfig, DEFAULT_SERVER_API_VERSION, DEFAULT_SERVER_VERSION, } from './config.js';
|
|
9
9
|
export { ConnectionRegistry } from './ws/registry.js';
|
|
10
10
|
export { PendingTracker } from './ws/pending.js';
|
|
11
|
-
export {
|
|
11
|
+
export { PluginHub } from './ws/hub.js';
|
|
12
12
|
export { SessionStateStore, type SessionState } from './session/store.js';
|
|
13
13
|
export * as types from './types.js';
|
|
14
14
|
/**
|
package/dist/server/index.js
CHANGED
|
@@ -8,7 +8,7 @@ export { createServer, } from './app.js';
|
|
|
8
8
|
export { isLoopbackHost, normalizeListenHost, parseServerConfig, validateServerConfig, DEFAULT_SERVER_API_VERSION, DEFAULT_SERVER_VERSION, } from './config.js';
|
|
9
9
|
export { ConnectionRegistry } from './ws/registry.js';
|
|
10
10
|
export { PendingTracker } from './ws/pending.js';
|
|
11
|
-
export {
|
|
11
|
+
export { PluginHub } from './ws/hub.js';
|
|
12
12
|
export { SessionStateStore } from './session/store.js';
|
|
13
13
|
export * as types from './types.js';
|
|
14
14
|
import { createServer } from './app.js';
|
|
@@ -36,7 +36,7 @@ export async function main(argv) {
|
|
|
36
36
|
console.log(` API version: ${config.serverApiVersion}`);
|
|
37
37
|
console.log(` Server version: ${config.serverVersion}`);
|
|
38
38
|
console.log(` Auth: ${config.authorization}`);
|
|
39
|
-
console.log(` WebSocket hub: ws://${displayHost}:${listening.port}/hub/
|
|
39
|
+
console.log(` WebSocket hub: ws://${displayHost}:${listening.port}/hub/plugin`);
|
|
40
40
|
console.log(` REST: http://${displayHost}:${listening.port}/help`);
|
|
41
41
|
// Graceful shutdown.
|
|
42
42
|
const shutdown = async () => {
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,GAIb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EAEpB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export interface AuthOptions {
|
|
|
17
17
|
*/
|
|
18
18
|
export declare function restAuthMiddleware(req: IncomingMessage, res: ServerResponse, opts: AuthOptions): boolean;
|
|
19
19
|
/**
|
|
20
|
-
* Extract the session ID from the
|
|
20
|
+
* Extract the session ID from the Uco-Session-Id header.
|
|
21
21
|
* Returns the stdio sentinel when the header is absent.
|
|
22
22
|
*/
|
|
23
23
|
export declare function extractSessionId(req: IncomingMessage): string;
|
package/dist/server/rest/auth.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* When `token` is empty: all endpoints open (auth=none).
|
|
9
9
|
*/
|
|
10
10
|
import { timingSafeEqual } from 'node:crypto';
|
|
11
|
-
import { SESSION_ID_HEADER,
|
|
11
|
+
import { SESSION_ID_HEADER, DEFAULT_SESSION_ID } from '../types.js';
|
|
12
12
|
import { sendError } from './context.js';
|
|
13
13
|
/**
|
|
14
14
|
* REST auth middleware. Returns true if the request is authorized, false if
|
|
@@ -30,14 +30,14 @@ export function restAuthMiddleware(req, res, opts) {
|
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* Extract the session ID from the
|
|
33
|
+
* Extract the session ID from the Uco-Session-Id header.
|
|
34
34
|
* Returns the stdio sentinel when the header is absent.
|
|
35
35
|
*/
|
|
36
36
|
export function extractSessionId(req) {
|
|
37
37
|
const raw = req.headers[SESSION_ID_HEADER];
|
|
38
38
|
if (typeof raw === 'string' && raw.length > 0)
|
|
39
39
|
return raw;
|
|
40
|
-
return
|
|
40
|
+
return DEFAULT_SESSION_ID;
|
|
41
41
|
}
|
|
42
42
|
function sendUnauthorized(res, message) {
|
|
43
43
|
sendError(res, 401, 'unauthorized', message, false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/rest/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/rest/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAoB,EACpB,GAAmB,EACnB,IAAiB;IAEjB,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,YAAY;IAE1C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,gBAAgB,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,gBAAgB,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1D,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,OAAe;IAC5D,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ConnectionRegistry } from '../ws/registry.js';
|
|
6
6
|
import type { PendingTracker } from '../ws/pending.js';
|
|
7
|
-
import type {
|
|
7
|
+
import type { PluginHub } from '../ws/hub.js';
|
|
8
8
|
import type { SessionStateStore } from '../session/store.js';
|
|
9
9
|
import type { CallRecordStore } from '../calls/call-record-store.js';
|
|
10
10
|
import type { OwnedServerRuntime } from '../app.js';
|
|
@@ -12,7 +12,7 @@ import { type ToolCallContext, type ToolCallStructuredError } from '../../tool-c
|
|
|
12
12
|
export interface RestContext {
|
|
13
13
|
registry: ConnectionRegistry;
|
|
14
14
|
pending: PendingTracker;
|
|
15
|
-
hub:
|
|
15
|
+
hub: PluginHub;
|
|
16
16
|
sessionStore: SessionStateStore;
|
|
17
17
|
/** Bounded durable call records (COCli-09); queryable after a timeout. */
|
|
18
18
|
callRecords: CallRecordStore;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { ConnectionEntry, ConnectionRegistry } from '../ws/registry.js';
|
|
10
10
|
import type { PendingTracker } from '../ws/pending.js';
|
|
11
|
-
import type {
|
|
11
|
+
import type { PluginHub } from '../ws/hub.js';
|
|
12
12
|
import { type ToolCallContext } from '../../tool-call-control.js';
|
|
13
13
|
export interface ForwardOptions {
|
|
14
14
|
/** The active session's instanceId pin (takes priority for routing). */
|
|
@@ -45,7 +45,7 @@ export interface ForwardOptions {
|
|
|
45
45
|
export interface ForwardDeps {
|
|
46
46
|
registry: ConnectionRegistry;
|
|
47
47
|
pending: PendingTracker;
|
|
48
|
-
hub:
|
|
48
|
+
hub: PluginHub;
|
|
49
49
|
pluginTimeoutMs: number;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Session state store — mirrors the .NET ISessionStateStore.
|
|
3
3
|
*
|
|
4
4
|
* `Map<sessionId, SessionState>` with session-ID resolution from the
|
|
5
|
-
* `
|
|
5
|
+
* `Uco-Session-Id` header (defaults to a stdio sentinel).
|
|
6
6
|
*
|
|
7
7
|
* Session sweeper removes sessions idle > 30 minutes.
|
|
8
8
|
*/
|
|
@@ -14,11 +14,11 @@ export interface SessionState {
|
|
|
14
14
|
lastSeenUtc: Date;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Resolve the session ID from the
|
|
17
|
+
* Resolve the session ID from the Uco-Session-Id header.
|
|
18
18
|
* Falls back to the stdio sentinel when missing.
|
|
19
19
|
*/
|
|
20
20
|
export declare function resolveSessionId(headers: {
|
|
21
|
-
'
|
|
21
|
+
'uco-session-id'?: string;
|
|
22
22
|
}): string;
|
|
23
23
|
export declare class SessionStateStore {
|
|
24
24
|
private readonly sessions;
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
* Session state store — mirrors the .NET ISessionStateStore.
|
|
3
3
|
*
|
|
4
4
|
* `Map<sessionId, SessionState>` with session-ID resolution from the
|
|
5
|
-
* `
|
|
5
|
+
* `Uco-Session-Id` header (defaults to a stdio sentinel).
|
|
6
6
|
*
|
|
7
7
|
* Session sweeper removes sessions idle > 30 minutes.
|
|
8
8
|
*/
|
|
9
|
-
import { SESSION_IDLE_TIMEOUT_MS,
|
|
9
|
+
import { SESSION_IDLE_TIMEOUT_MS, DEFAULT_SESSION_ID } from '../types.js';
|
|
10
10
|
/**
|
|
11
|
-
* Resolve the session ID from the
|
|
11
|
+
* Resolve the session ID from the Uco-Session-Id header.
|
|
12
12
|
* Falls back to the stdio sentinel when missing.
|
|
13
13
|
*/
|
|
14
14
|
export function resolveSessionId(headers) {
|
|
15
|
-
return headers['
|
|
15
|
+
return headers['uco-session-id'] ?? DEFAULT_SESSION_ID;
|
|
16
16
|
}
|
|
17
17
|
export class SessionStateStore {
|
|
18
18
|
sessions = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/server/session/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/server/session/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAU1E;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAsC;IACrE,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,kBAAkB,CAAC;AACzD,CAAC;AAED,MAAM,OAAO,iBAAiB;IACX,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACpD,YAAY,GAA0C,IAAI,CAAC;IAEnE,WAAW,CAAC,SAAiB;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,SAAS;gBACT,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,IAAI,IAAI,EAAE;aACxB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,+CAA+C;IAC/C,YAAY,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QACrC,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QAChE,qDAAqD;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACvE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,KAAK;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,uBAAuB,EAAE,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+CAA+C;IAC/C,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -28,29 +28,29 @@ export async function runServerFacingScenarios(client) {
|
|
|
28
28
|
catch (err) {
|
|
29
29
|
results.push({ name: 'PerformVersionHandshake', passed: false, message: String(err) });
|
|
30
30
|
}
|
|
31
|
-
// 2.
|
|
31
|
+
// 2. GetPluginClientData
|
|
32
32
|
try {
|
|
33
|
-
const result = await client.sendServerRequest(ServerFacingMethod.
|
|
33
|
+
const result = await client.sendServerRequest(ServerFacingMethod.GetPluginClientData);
|
|
34
34
|
results.push({
|
|
35
|
-
name: '
|
|
35
|
+
name: 'GetPluginClientData',
|
|
36
36
|
passed: Array.isArray(result),
|
|
37
37
|
message: `count=${result?.length ?? 0}`,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
catch (err) {
|
|
41
|
-
results.push({ name: '
|
|
41
|
+
results.push({ name: 'GetPluginClientData', passed: false, message: String(err) });
|
|
42
42
|
}
|
|
43
|
-
// 3.
|
|
43
|
+
// 3. GetServerData
|
|
44
44
|
try {
|
|
45
|
-
const result = await client.sendServerRequest(ServerFacingMethod.
|
|
45
|
+
const result = await client.sendServerRequest(ServerFacingMethod.GetServerData);
|
|
46
46
|
results.push({
|
|
47
|
-
name: '
|
|
47
|
+
name: 'GetServerData',
|
|
48
48
|
passed: typeof result?.serverVersion === 'string',
|
|
49
49
|
message: `serverVersion=${result?.serverVersion}, isAiAgentConnected=${result?.isAiAgentConnected}`,
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
catch (err) {
|
|
53
|
-
results.push({ name: '
|
|
53
|
+
results.push({ name: 'GetServerData', passed: false, message: String(err) });
|
|
54
54
|
}
|
|
55
55
|
// 4. NotifyAboutUpdatedTools
|
|
56
56
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../../src/server/stub-client/scenarios.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAA4F,MAAM,aAAa,CAAC;AAQ3I;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAwB;IACrE,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,uBAAuB,EAAE;YACxF,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SACjC,CAA6B,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,OAAO,MAAM,EAAE,UAAU,KAAK,SAAS,IAAI,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ;YACzF,OAAO,EAAE,cAAc,MAAM,EAAE,UAAU,gBAAgB,MAAM,EAAE,UAAU,EAAE;SAC9E,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../../src/server/stub-client/scenarios.ts"],"names":[],"mappings":"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"}
|
package/dist/server/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared TypeScript types for the Node
|
|
2
|
+
* Shared TypeScript types for the Node bridge server.
|
|
3
3
|
*
|
|
4
4
|
* These mirror the C# model types in uco-framework/Uco.Framework.Common/src/Data/.
|
|
5
5
|
* The JSON wire format must match the .NET server exactly (camelCase).
|
|
@@ -168,7 +168,7 @@ export interface VersionHandshakeResponse {
|
|
|
168
168
|
compatible: boolean;
|
|
169
169
|
message: string;
|
|
170
170
|
}
|
|
171
|
-
export interface
|
|
171
|
+
export interface PluginClientData {
|
|
172
172
|
isConnected: boolean;
|
|
173
173
|
sessionId?: string | null;
|
|
174
174
|
clientTitle?: string | null;
|
|
@@ -177,15 +177,15 @@ export interface McpClientData {
|
|
|
177
177
|
clientDescription?: string | null;
|
|
178
178
|
clientWebsiteUrl?: string | null;
|
|
179
179
|
}
|
|
180
|
-
export interface
|
|
180
|
+
export interface ServerData {
|
|
181
181
|
serverVersion?: string;
|
|
182
182
|
serverApiVersion?: string;
|
|
183
183
|
isAiAgentConnected: boolean;
|
|
184
184
|
}
|
|
185
185
|
export declare const ServerFacingMethod: {
|
|
186
186
|
readonly PerformVersionHandshake: "PerformVersionHandshake";
|
|
187
|
-
readonly
|
|
188
|
-
readonly
|
|
187
|
+
readonly GetPluginClientData: "GetPluginClientData";
|
|
188
|
+
readonly GetServerData: "GetServerData";
|
|
189
189
|
readonly NotifyAboutUpdatedTools: "NotifyAboutUpdatedTools";
|
|
190
190
|
readonly NotifyAboutUpdatedPrompts: "NotifyAboutUpdatedPrompts";
|
|
191
191
|
readonly NotifyAboutUpdatedResources: "NotifyAboutUpdatedResources";
|
|
@@ -204,12 +204,12 @@ export declare const ClientFacingMethod: {
|
|
|
204
204
|
readonly RunListSystemTool: "RunListSystemTool";
|
|
205
205
|
readonly ForceDisconnect: "ForceDisconnect";
|
|
206
206
|
readonly OnInitialClientData: "OnInitialClientData";
|
|
207
|
-
readonly
|
|
208
|
-
readonly
|
|
207
|
+
readonly OnPluginClientConnected: "OnPluginClientConnected";
|
|
208
|
+
readonly OnPluginClientDisconnected: "OnPluginClientDisconnected";
|
|
209
209
|
};
|
|
210
210
|
/** All additive and legacy valid method names. */
|
|
211
211
|
export declare const ALL_METHODS: ReadonlySet<string>;
|
|
212
|
-
export declare const HUB_PATH = "/hub/
|
|
212
|
+
export declare const HUB_PATH = "/hub/plugin";
|
|
213
213
|
export declare const DEFAULT_PORT = 8080;
|
|
214
214
|
export declare const HEARTBEAT_METHOD = "Heartbeat";
|
|
215
215
|
export declare const DEFAULT_HEARTBEAT_INTERVAL_MS = 20000;
|
|
@@ -218,7 +218,7 @@ export declare const TOOL_CALL_TIMEOUT_MS: number;
|
|
|
218
218
|
export declare const MAX_RETRIES = 0;
|
|
219
219
|
export declare const RETRY_DELAY_MS = 1000;
|
|
220
220
|
export declare const SESSION_IDLE_TIMEOUT_MS: number;
|
|
221
|
-
export declare const
|
|
222
|
-
export declare const SESSION_ID_HEADER = "
|
|
223
|
-
export declare const INSTANCE_ID_HEADER = "
|
|
221
|
+
export declare const DEFAULT_SESSION_ID = "stdio";
|
|
222
|
+
export declare const SESSION_ID_HEADER = "uco-session-id";
|
|
223
|
+
export declare const INSTANCE_ID_HEADER = "plugin-instance-id";
|
|
224
224
|
export declare const WS_AUTH_CLOSE_CODE = 4001;
|
package/dist/server/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared TypeScript types for the Node
|
|
2
|
+
* Shared TypeScript types for the Node bridge server.
|
|
3
3
|
*
|
|
4
4
|
* These mirror the C# model types in uco-framework/Uco.Framework.Common/src/Data/.
|
|
5
5
|
* The JSON wire format must match the .NET server exactly (camelCase).
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
// ===== Method name constants (the 21 RPC methods) =====
|
|
10
10
|
export const ServerFacingMethod = {
|
|
11
11
|
PerformVersionHandshake: 'PerformVersionHandshake',
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
GetPluginClientData: 'GetPluginClientData',
|
|
13
|
+
GetServerData: 'GetServerData',
|
|
14
14
|
NotifyAboutUpdatedTools: 'NotifyAboutUpdatedTools',
|
|
15
15
|
NotifyAboutUpdatedPrompts: 'NotifyAboutUpdatedPrompts',
|
|
16
16
|
NotifyAboutUpdatedResources: 'NotifyAboutUpdatedResources',
|
|
@@ -29,8 +29,8 @@ export const ClientFacingMethod = {
|
|
|
29
29
|
RunListSystemTool: 'RunListSystemTool',
|
|
30
30
|
ForceDisconnect: 'ForceDisconnect',
|
|
31
31
|
OnInitialClientData: 'OnInitialClientData',
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
OnPluginClientConnected: 'OnPluginClientConnected',
|
|
33
|
+
OnPluginClientDisconnected: 'OnPluginClientDisconnected',
|
|
34
34
|
};
|
|
35
35
|
/** All additive and legacy valid method names. */
|
|
36
36
|
export const ALL_METHODS = new Set([
|
|
@@ -38,7 +38,7 @@ export const ALL_METHODS = new Set([
|
|
|
38
38
|
...Object.values(ClientFacingMethod),
|
|
39
39
|
]);
|
|
40
40
|
// ===== Hub path and defaults =====
|
|
41
|
-
export const HUB_PATH = '/hub/
|
|
41
|
+
export const HUB_PATH = '/hub/plugin';
|
|
42
42
|
export const DEFAULT_PORT = 8080;
|
|
43
43
|
export const HEARTBEAT_METHOD = 'Heartbeat';
|
|
44
44
|
export const DEFAULT_HEARTBEAT_INTERVAL_MS = 20_000;
|
|
@@ -47,8 +47,8 @@ export const TOOL_CALL_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
|
|
|
47
47
|
export const MAX_RETRIES = 0;
|
|
48
48
|
export const RETRY_DELAY_MS = 1000;
|
|
49
49
|
export const SESSION_IDLE_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
|
|
50
|
-
export const
|
|
51
|
-
export const SESSION_ID_HEADER = '
|
|
52
|
-
export const INSTANCE_ID_HEADER = '
|
|
50
|
+
export const DEFAULT_SESSION_ID = 'stdio';
|
|
51
|
+
export const SESSION_ID_HEADER = 'uco-session-id';
|
|
52
|
+
export const INSTANCE_ID_HEADER = 'plugin-instance-id';
|
|
53
53
|
export const WS_AUTH_CLOSE_CODE = 4001;
|
|
54
54
|
//# sourceMappingURL=types.js.map
|
package/dist/server/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4NH,yDAAyD;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,uBAAuB,EAAE,yBAAyB;IAClD,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4NH,yDAAyD;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,uBAAuB,EAAE,yBAAyB;IAClD,yBAAyB,EAAE,2BAA2B;IACtD,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;CAChD,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,0BAA0B,EAAE,4BAA4B;CAChD,CAAC;AAEX,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAS;IAC9D,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACpC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;CACrC,CAAC,CAAC;AAEH,oCAAoC;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC"}
|
package/dist/server/ws/hub.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WebSocket hub — accepts plugin connections at /hub/
|
|
2
|
+
* WebSocket hub — accepts plugin connections at /hub/plugin.
|
|
3
3
|
*
|
|
4
4
|
* Responsibilities:
|
|
5
5
|
* - Validate auth token from query param (?access_token=) or header
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
* resolve pending REST-forwarded request
|
|
9
9
|
* - Handle close/error: unregister connection, reject pending requests
|
|
10
10
|
* - Send OnInitialClientData notification on connect
|
|
11
|
-
* - Broadcast
|
|
11
|
+
* - Broadcast OnPluginClientConnected / OnPluginClientDisconnected notifications
|
|
12
12
|
*/
|
|
13
13
|
import type { Server } from 'node:http';
|
|
14
14
|
import type { OwnedServerRuntime } from '../app.js';
|
|
15
15
|
import type { ConnectionRegistry } from './registry.js';
|
|
16
16
|
import type { PendingTracker } from './pending.js';
|
|
17
|
-
import { type
|
|
17
|
+
import { type PluginClientData } from '../types.js';
|
|
18
18
|
export interface HubOptions {
|
|
19
19
|
registry: ConnectionRegistry;
|
|
20
20
|
pending: PendingTracker;
|
|
@@ -22,7 +22,7 @@ export interface HubOptions {
|
|
|
22
22
|
serverApiVersion: string;
|
|
23
23
|
serverVersion: string;
|
|
24
24
|
heartbeatIntervalMs: number;
|
|
25
|
-
clientData?:
|
|
25
|
+
clientData?: PluginClientData[];
|
|
26
26
|
onToolsUpdated?: (connectionId: string, tools: unknown[]) => void;
|
|
27
27
|
onPromptsUpdated?: (connectionId: string, prompts: unknown) => void;
|
|
28
28
|
onResourcesUpdated?: (connectionId: string, resources: unknown[]) => void;
|
|
@@ -32,7 +32,7 @@ export interface HubOptions {
|
|
|
32
32
|
onCallRecordCompleted?: (requestId: string, operationId: string | undefined, result: unknown, isError: boolean) => void;
|
|
33
33
|
ownedRuntime?: OwnedServerRuntime;
|
|
34
34
|
}
|
|
35
|
-
export declare class
|
|
35
|
+
export declare class PluginHub {
|
|
36
36
|
private wss;
|
|
37
37
|
private readonly registry;
|
|
38
38
|
private readonly pending;
|
|
@@ -63,11 +63,11 @@ export declare class McpHub {
|
|
|
63
63
|
/** Close the WebSocket server. */
|
|
64
64
|
close(): void;
|
|
65
65
|
/**
|
|
66
|
-
* Map a registry entry to the client-facing
|
|
67
|
-
* (camelCase, mirrors the C#
|
|
66
|
+
* Map a registry entry to the client-facing PluginClientData shape
|
|
67
|
+
* (camelCase, mirrors the C# PluginClientData [JsonPropertyName] attributes).
|
|
68
68
|
*/
|
|
69
69
|
private clientDataFor;
|
|
70
|
-
/** Snapshot of all live connections as
|
|
70
|
+
/** Snapshot of all live connections as PluginClientData. */
|
|
71
71
|
private connectionsClientData;
|
|
72
72
|
/** Send a notification to every open connection. */
|
|
73
73
|
private broadcastNotification;
|