golutra-mcp 0.1.2 → 0.1.4
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/.env.example +5 -1
- package/CHANGELOG.md +25 -0
- package/README.md +26 -18
- package/STARTUP_PROCESS.md +14 -0
- package/dist/lib/cli-runner.d.ts +3 -0
- package/dist/lib/cli-runner.js +25 -3
- package/dist/lib/cli-runner.js.map +1 -1
- package/dist/lib/context.d.ts +3 -1
- package/dist/lib/context.js +114 -8
- package/dist/lib/context.js.map +1 -1
- package/dist/lib/diagnostics.js +1 -1
- package/dist/lib/diagnostics.js.map +1 -1
- package/dist/lib/golutra-client.d.ts +113 -3
- package/dist/lib/golutra-client.js +408 -32
- package/dist/lib/golutra-client.js.map +1 -1
- package/dist/lib/toolkit.js +1061 -71
- package/dist/lib/toolkit.js.map +1 -1
- package/dist/lib/types.d.ts +34 -50
- package/dist/lib/types.js +1 -0
- package/dist/lib/types.js.map +1 -1
- package/docs/GOLUTRA_DIAGNOSE_EXAMPLES.md +11 -12
- package/docs/WORKSPACE_CONTEXT_EXAMPLES.md +25 -4
- package/package.json +1 -1
package/.env.example
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
# install paths for `golutra-cli`, then falls back to the platform command
|
|
3
3
|
# name from PATH (`golutra-cli.exe` on Windows, `golutra-cli` elsewhere).
|
|
4
4
|
GOLUTRA_CLI_PATH=golutra-cli
|
|
5
|
-
|
|
5
|
+
# Optional. If profile/host are unset, runtime search order is:
|
|
6
|
+
# stable:desktop, stable:server(web), dev:desktop, dev:server(web).
|
|
7
|
+
GOLUTRA_PROFILE=
|
|
8
|
+
GOLUTRA_CLI_HOST_KIND=
|
|
9
|
+
GOLUTRA_TARGET_ORDER=
|
|
6
10
|
GOLUTRA_WORKSPACE_PATH=/absolute/path/to/workspace
|
|
7
11
|
GOLUTRA_COMMAND_TIMEOUT_MS=30000
|
|
8
12
|
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,31 @@ The format follows Keep a Changelog, and this project uses Semantic Versioning.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.4] - 2026-05-07
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added `golutra-update-member-name` for renaming one project member by `memberId` without changing bindings, prompts, automation, conversations, or terminal sessions.
|
|
14
|
+
- Added focused template export tools: `golutra-export-template-workspace` for exporting workspace content into My Templates with create/replace modes, and `golutra-publish-template-edited` for exporting one My Templates card as a zip file.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Clarified template export tool descriptions so MCP hosts distinguish the two real actions: workspace-to-My-Templates and My-Templates-card-to-zip.
|
|
19
|
+
|
|
20
|
+
## [0.1.3] - 2026-05-01
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- Added focused MCP tools for Golutra team creation, member configuration, conversations, prompt settings, automation, skills, agents, templates, store commands, and generic structured command fallback.
|
|
25
|
+
- Added `golutra-read-cli-guide` so MCP hosts can read the current Golutra CLI team, collaboration, prompt, role, asset, and roadmap guidance directly.
|
|
26
|
+
- Added runtime target fallback for app-backed tools. MCP now tries `stable:desktop`, `stable:server`, `dev:desktop`, then `dev:server` by default, while still allowing explicit `profile`, `hostKind`, or `targetOrder` overrides.
|
|
27
|
+
- Added explicit confirmation fields for destructive or restart operations such as member deletion, conversation deletion, and member restart.
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- Kept `golutra-cli` as the stable integration boundary and injects `GOLUTRA_CLI_HOST_KIND` only for each spawned CLI child process.
|
|
32
|
+
- Updated documentation, environment examples, generated `dist/`, and tests for the expanded tool surface and runtime selection behavior.
|
|
33
|
+
|
|
9
34
|
## [0.1.2] - 2026-03-22
|
|
10
35
|
|
|
11
36
|
### Changed
|
package/README.md
CHANGED
|
@@ -85,7 +85,7 @@ golutra-mcp
|
|
|
85
85
|
|
|
86
86
|
`golutra-mcp` is a Model Context Protocol server that exposes Golutra collaboration capabilities to MCP-compatible hosts through `golutra-cli`.
|
|
87
87
|
|
|
88
|
-
It is not a replacement for Golutra itself, and it does not re-implement Golutra's local IPC protocol. Instead, it acts as a thin integration layer that lets external MCP clients reuse Golutra's existing chat, roadmap, and skill flows through a smaller and more stable boundary.
|
|
88
|
+
It is not a replacement for Golutra itself, and it does not re-implement Golutra's local IPC protocol. Instead, it acts as a thin integration layer that lets external MCP clients reuse Golutra's existing team-building, chat, roadmap, prompt, automation, and skill flows through a smaller and more stable boundary.
|
|
89
89
|
|
|
90
90
|
### What It Is Today
|
|
91
91
|
|
|
@@ -95,7 +95,7 @@ Today it already provides:
|
|
|
95
95
|
|
|
96
96
|
- a local `stdio` MCP server
|
|
97
97
|
- a command bridge based on `golutra-cli`
|
|
98
|
-
- tool coverage for chat, roadmap, context, diagnostics, and skill discovery
|
|
98
|
+
- tool coverage for CLI guides, team config, terminal creation, member rename/delete, conversation topology, chat, roadmap, prompt settings, member bindings, automation, agents, templates, template export/use, store commands, context, diagnostics, and skill discovery
|
|
99
99
|
- skill validation and direct project `SKILL.md` reading for local Golutra skill workflows
|
|
100
100
|
- an open-source project skeleton with contribution, security, CI, and release-facing metadata
|
|
101
101
|
|
|
@@ -119,7 +119,7 @@ To work correctly, the server still depends on the existing Golutra desktop runt
|
|
|
119
119
|
- a locally installed Golutra desktop application
|
|
120
120
|
- a reachable `golutra-cli` binary
|
|
121
121
|
- a valid Golutra workspace path
|
|
122
|
-
- the target Golutra
|
|
122
|
+
- the target Golutra app runtime running locally. By default MCP tries `stable` desktop, `stable` server/web, `dev` desktop, then `dev` server/web.
|
|
123
123
|
|
|
124
124
|
Default CLI discovery by platform:
|
|
125
125
|
|
|
@@ -133,7 +133,7 @@ Use `golutra-diagnose` when you need to separate:
|
|
|
133
133
|
|
|
134
134
|
- CLI path problems
|
|
135
135
|
- missing or invalid workspace paths
|
|
136
|
-
-
|
|
136
|
+
- workspace team config and app-backed command failures
|
|
137
137
|
- app-not-running or profile-mismatch failures
|
|
138
138
|
- generic app command failures
|
|
139
139
|
|
|
@@ -144,14 +144,18 @@ Detailed diagnostic output fields and common `reasonCode` values are documented
|
|
|
144
144
|
If an AI system or MCP-compatible host sees this repository, the intended usage is:
|
|
145
145
|
|
|
146
146
|
1. Launch `golutra-mcp` as a local `stdio` MCP server, not as an HTTP service.
|
|
147
|
-
2. Provide `GOLUTRA_CLI_PATH
|
|
147
|
+
2. Provide `GOLUTRA_CLI_PATH` and usually `GOLUTRA_WORKSPACE_PATH`. Leave profile/host unset to use the default target order, or set `GOLUTRA_PROFILE`, `GOLUTRA_CLI_HOST_KIND`, or `GOLUTRA_TARGET_ORDER` when you need a specific runtime.
|
|
148
148
|
3. Call `golutra-get-context` or `golutra-diagnose` first to confirm runtime readiness.
|
|
149
|
-
4.
|
|
149
|
+
4. Read the relevant guide before acting, for example `golutra-read-cli-guide` with `guide: "team"` before team creation.
|
|
150
|
+
5. Use the structured team-building flow instead of inventing a custom transport:
|
|
151
|
+
`golutra-read-team-config` -> `golutra-list-terminal-defaults` / `golutra-create-terminals` / conversation tools / prompt tools / automation tools.
|
|
152
|
+
6. For runtime collaboration after the team exists, use:
|
|
150
153
|
`golutra-list-conversations` -> `golutra-list-messages` / `golutra-send-message` / `golutra-read-roadmap` / `golutra-update-roadmap`.
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
7. Treat `golutra-cli` as the stable boundary. Do not bypass this project by directly calling Golutra local socket IPC unless you intentionally want to maintain a separate integration layer.
|
|
155
|
+
8. For destructive or restart tools, pass the explicit confirmation fields required by the tool schema, such as `confirmedMemberId` or `confirmedConversationId`.
|
|
156
|
+
9. When switching workspaces for a single request, pass `workspacePath` on that tool call. Use `golutra-set-context` only when you want to persist a new default for later calls.
|
|
153
157
|
|
|
154
|
-
In short: start with diagnostics,
|
|
158
|
+
In short: start with diagnostics, read `golutra-read-team-config` for the workspace shape, keep workspace/profile/host explicit when needed, and use the provided MCP tools as the integration contract.
|
|
155
159
|
|
|
156
160
|
For concrete workspace switching and chat flow examples, see `docs/WORKSPACE_CONTEXT_EXAMPLES.md`.
|
|
157
161
|
|
|
@@ -227,7 +231,7 @@ golutra-mcp
|
|
|
227
231
|
|
|
228
232
|
`golutra-mcp` 是一个把 Golutra 能力暴露给 MCP 客户端的桥接层,底层通过 `golutra-cli` 与 Golutra 桌面端联通。
|
|
229
233
|
|
|
230
|
-
它不是 Golutra 本体,也不是对 Golutra 本地 IPC 协议的重写。这个仓库的职责,是把外部 MCP Host 和 Golutra
|
|
234
|
+
它不是 Golutra 本体,也不是对 Golutra 本地 IPC 协议的重写。这个仓库的职责,是把外部 MCP Host 和 Golutra 之间的集成边界收敛成一层更小、更稳定、更容易复用的适配层,覆盖团队创建、聊天、路线图、提示词、自动化和技能等主要工作流。
|
|
231
235
|
|
|
232
236
|
### 当前阶段是什么
|
|
233
237
|
|
|
@@ -237,7 +241,7 @@ golutra-mcp
|
|
|
237
241
|
|
|
238
242
|
- 基于 `stdio` 的 MCP Server 形态
|
|
239
243
|
- 基于 `golutra-cli` 的命令桥接
|
|
240
|
-
- chat、roadmap、context、diagnostics、skills
|
|
244
|
+
- CLI 指南、team config、terminal 创建、成员删除、频道/私聊拓扑、chat、roadmap、prompt settings、member bindings、automation、agents、templates、store commands、context、diagnostics、skills 等工具面
|
|
241
245
|
- 技能校验与项目 `SKILL.md` 直接读取能力,能覆盖本地技能开发链路
|
|
242
246
|
- 基本完整的开源项目骨架,包括贡献规范、安全策略、CI 和发布元数据
|
|
243
247
|
|
|
@@ -261,7 +265,7 @@ golutra-mcp
|
|
|
261
265
|
- 本机已安装 Golutra 桌面应用
|
|
262
266
|
- 能访问到 `golutra-cli`
|
|
263
267
|
- 已知的有效工作区路径
|
|
264
|
-
- 本地已启动目标
|
|
268
|
+
- 本地已启动目标 Golutra 运行实例。默认查找顺序是 `stable` 桌面端、`stable` server/web、`dev` 桌面端、`dev` server/web。
|
|
265
269
|
|
|
266
270
|
按平台的默认 CLI 自动发现顺序:
|
|
267
271
|
|
|
@@ -275,7 +279,7 @@ golutra-mcp
|
|
|
275
279
|
|
|
276
280
|
- CLI 路径问题
|
|
277
281
|
- workspacePath 缺失或非法
|
|
278
|
-
-
|
|
282
|
+
- 工作区团队配置读取与 app 侧命令失败
|
|
279
283
|
- 桌面应用未运行或 profile 不匹配
|
|
280
284
|
- 普通 app 命令失败
|
|
281
285
|
|
|
@@ -286,14 +290,18 @@ golutra-mcp
|
|
|
286
290
|
如果一个 AI 系统或支持 MCP 的宿主看到这个仓库,推荐按下面方式接入:
|
|
287
291
|
|
|
288
292
|
1. 把 `golutra-mcp` 当作本地 `stdio` MCP Server 启动,不要把它当成 HTTP 服务。
|
|
289
|
-
2. 提供 `GOLUTRA_CLI_PATH
|
|
293
|
+
2. 提供 `GOLUTRA_CLI_PATH`,通常还需要提供 `GOLUTRA_WORKSPACE_PATH`。profile/host 不填时使用默认查找顺序;需要固定运行实例时再设置 `GOLUTRA_PROFILE`、`GOLUTRA_CLI_HOST_KIND` 或 `GOLUTRA_TARGET_ORDER`。
|
|
290
294
|
3. 先调用 `golutra-get-context` 或 `golutra-diagnose`,确认运行时上下文和联通状态。
|
|
291
|
-
4.
|
|
295
|
+
4. 执行前先读对应指南,例如创建团队前用 `golutra-read-cli-guide` 读取 `guide: "team"`。
|
|
296
|
+
5. 创建团队时按标准工具链路走,不要自造传输协议:
|
|
297
|
+
`golutra-read-team-config` -> `golutra-list-terminal-defaults` / `golutra-create-terminals` / 会话拓扑工具 / 提示词工具 / 自动化工具。
|
|
298
|
+
6. 团队创建完成后的运行期协作使用:
|
|
292
299
|
`golutra-list-conversations` -> `golutra-list-messages` / `golutra-send-message` / `golutra-read-roadmap` / `golutra-update-roadmap`。
|
|
293
|
-
|
|
294
|
-
|
|
300
|
+
7. 把 `golutra-cli` 视为稳定边界。除非你明确准备长期维护另一套集成层,否则不要绕过这个项目去直连 Golutra 本地 socket IPC。
|
|
301
|
+
8. 删除或重启类工具必须按 tool schema 传入显式确认字段,例如 `confirmedMemberId` 或 `confirmedConversationId`。
|
|
302
|
+
9. 如果只是某一次调用切换工作区,就在该次 tool 调用里显式传 `workspacePath`。只有在你希望后续调用默认都改到新工作区时,才使用 `golutra-set-context`。
|
|
295
303
|
|
|
296
|
-
|
|
304
|
+
一句话概括:先诊断,再用 `golutra-read-team-config` 读取工作区形态,必要时显式指定 workspace/profile/host,然后把 README 里提供的 MCP tools 当作正式集成契约来用。
|
|
297
305
|
|
|
298
306
|
如果你想看“工作区切换”和“真实聊天链路”的具体调用示例,直接看 `docs/WORKSPACE_CONTEXT_EXAMPLES.md`。
|
|
299
307
|
|
package/STARTUP_PROCESS.md
CHANGED
|
@@ -28,6 +28,9 @@ This repository focuses on protocol translation, context management, diagnostics
|
|
|
28
28
|
- `golutra-validate-skill`
|
|
29
29
|
- `golutra-list-project-skills`
|
|
30
30
|
- `golutra-read-project-skill`
|
|
31
|
+
- `golutra-update-member-name`
|
|
32
|
+
- `golutra-export-template-workspace`
|
|
33
|
+
- `golutra-publish-template-edited`
|
|
31
34
|
|
|
32
35
|
### Design Principles
|
|
33
36
|
|
|
@@ -91,6 +94,10 @@ It still needs more real-world validation across MCP hosts, operating systems, a
|
|
|
91
94
|
Default: auto-discover a platform-specific `golutra-cli` install when available, otherwise fall back to the platform command name from `PATH`
|
|
92
95
|
- `GOLUTRA_PROFILE`
|
|
93
96
|
Optional Golutra runtime profile: `dev`, `canary`, or `stable`
|
|
97
|
+
- `GOLUTRA_CLI_HOST_KIND`
|
|
98
|
+
Optional Golutra runtime host: `desktop` or `server`; `web` maps to `server`
|
|
99
|
+
- `GOLUTRA_TARGET_ORDER`
|
|
100
|
+
Optional comma-separated runtime search order, for example `stable:desktop,stable:server,dev:desktop,dev:server`
|
|
94
101
|
- `GOLUTRA_WORKSPACE_PATH`
|
|
95
102
|
Optional default workspace path used by tools that require a workspace
|
|
96
103
|
- `GOLUTRA_COMMAND_TIMEOUT_MS`
|
|
@@ -98,6 +105,13 @@ It still needs more real-world validation across MCP hosts, operating systems, a
|
|
|
98
105
|
|
|
99
106
|
Use [.env.example](./.env.example) as the minimal local template.
|
|
100
107
|
|
|
108
|
+
When profile/host are not pinned, MCP tries runtime targets in this order:
|
|
109
|
+
|
|
110
|
+
- `stable:desktop`
|
|
111
|
+
- `stable:server` / web
|
|
112
|
+
- `dev:desktop`
|
|
113
|
+
- `dev:server` / web
|
|
114
|
+
|
|
101
115
|
Default CLI discovery order:
|
|
102
116
|
|
|
103
117
|
- macOS: `/Applications/Golutra.app/Contents/MacOS/golutra-cli`, `~/Applications/Golutra.app/Contents/MacOS/golutra-cli`, `golutra-cli`
|
package/dist/lib/cli-runner.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { CliCommandRequest } from "./types.js";
|
|
2
2
|
export interface CliJsonRunner {
|
|
3
3
|
executeJson<T>(request: CliCommandRequest): Promise<T>;
|
|
4
|
+
executeText?(request: CliCommandRequest): Promise<string>;
|
|
4
5
|
}
|
|
5
6
|
export declare class NodeCliJsonRunner implements CliJsonRunner {
|
|
7
|
+
private executeRaw;
|
|
8
|
+
executeText(request: CliCommandRequest): Promise<string>;
|
|
6
9
|
executeJson<T>(request: CliCommandRequest): Promise<T>;
|
|
7
10
|
}
|
package/dist/lib/cli-runner.js
CHANGED
|
@@ -20,18 +20,21 @@ function extractErrorMessage(parsed) {
|
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
22
|
export class NodeCliJsonRunner {
|
|
23
|
-
async
|
|
23
|
+
async executeRaw(request) {
|
|
24
24
|
const stdoutChunks = [];
|
|
25
25
|
const stderrChunks = [];
|
|
26
26
|
const child = spawn(request.cliPath, request.args, {
|
|
27
|
-
env:
|
|
27
|
+
env: {
|
|
28
|
+
...process.env,
|
|
29
|
+
...request.env
|
|
30
|
+
},
|
|
28
31
|
stdio: ["ignore", "pipe", "pipe"]
|
|
29
32
|
});
|
|
30
33
|
child.stdout.setEncoding("utf8");
|
|
31
34
|
child.stderr.setEncoding("utf8");
|
|
32
35
|
child.stdout.on("data", (chunk) => stdoutChunks.push(chunk));
|
|
33
36
|
child.stderr.on("data", (chunk) => stderrChunks.push(chunk));
|
|
34
|
-
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
35
38
|
const timer = setTimeout(() => {
|
|
36
39
|
child.kill("SIGTERM");
|
|
37
40
|
reject(new CliExecutionError({
|
|
@@ -63,6 +66,25 @@ export class NodeCliJsonRunner {
|
|
|
63
66
|
});
|
|
64
67
|
});
|
|
65
68
|
});
|
|
69
|
+
}
|
|
70
|
+
async executeText(request) {
|
|
71
|
+
const completed = await this.executeRaw(request);
|
|
72
|
+
if (completed.exitCode !== 0) {
|
|
73
|
+
throw new CliExecutionError({
|
|
74
|
+
message: completed.stderr.trim() ||
|
|
75
|
+
completed.stdout.trim() ||
|
|
76
|
+
`golutra-cli exited with code ${completed.exitCode}`,
|
|
77
|
+
cliPath: request.cliPath,
|
|
78
|
+
args: request.args,
|
|
79
|
+
exitCode: completed.exitCode,
|
|
80
|
+
stdout: completed.stdout,
|
|
81
|
+
stderr: completed.stderr
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return completed.stdout.trimEnd();
|
|
85
|
+
}
|
|
86
|
+
async executeJson(request) {
|
|
87
|
+
const completed = await this.executeRaw(request);
|
|
66
88
|
const trimmedStdout = completed.stdout.trim();
|
|
67
89
|
if (!trimmedStdout) {
|
|
68
90
|
throw new CliExecutionError({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../../src/lib/cli-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../../src/lib/cli-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/context.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { CommandContextInput, RuntimeContextSnapshot } from "./types.js";
|
|
1
|
+
import type { CommandContextInput, GolutraRuntimeTarget, RuntimeContextSnapshot } from "./types.js";
|
|
2
|
+
export declare const DEFAULT_TARGET_ORDER: GolutraRuntimeTarget[];
|
|
3
|
+
export declare function resolveRuntimeTargets(context: RuntimeContextSnapshot): GolutraRuntimeTarget[];
|
|
2
4
|
export declare function resolveDefaultCliPath(env: NodeJS.ProcessEnv, options?: {
|
|
3
5
|
platform?: NodeJS.Platform;
|
|
4
6
|
homeDirectory?: string;
|
package/dist/lib/context.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { GOLUTRA_PROFILES } from "./types.js";
|
|
4
|
+
import { GOLUTRA_HOST_KINDS, GOLUTRA_PROFILES } from "./types.js";
|
|
5
5
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
6
6
|
const MAX_TIMEOUT_MS = 300_000;
|
|
7
|
+
export const DEFAULT_TARGET_ORDER = [
|
|
8
|
+
{ profile: "stable", hostKind: "desktop" },
|
|
9
|
+
{ profile: "stable", hostKind: "server" },
|
|
10
|
+
{ profile: "dev", hostKind: "desktop" },
|
|
11
|
+
{ profile: "dev", hostKind: "server" }
|
|
12
|
+
];
|
|
7
13
|
function normalizeNonEmptyString(value) {
|
|
8
14
|
const trimmed = value?.trim();
|
|
9
15
|
return trimmed ? trimmed : undefined;
|
|
@@ -43,6 +49,72 @@ function normalizeProfile(value) {
|
|
|
43
49
|
}
|
|
44
50
|
throw new Error(`Unsupported Golutra profile: ${trimmed}`);
|
|
45
51
|
}
|
|
52
|
+
function normalizeHostKind(value) {
|
|
53
|
+
const trimmed = normalizeNonEmptyString(value)?.toLowerCase();
|
|
54
|
+
if (!trimmed || trimmed === "auto") {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
const normalized = trimmed === "web" ? "server" : trimmed;
|
|
58
|
+
if (GOLUTRA_HOST_KINDS.includes(normalized)) {
|
|
59
|
+
return normalized;
|
|
60
|
+
}
|
|
61
|
+
throw new Error(`Unsupported Golutra hostKind: ${trimmed}`);
|
|
62
|
+
}
|
|
63
|
+
function normalizeTargetOrder(value) {
|
|
64
|
+
if (Array.isArray(value)) {
|
|
65
|
+
const targets = value.map((target) => ({
|
|
66
|
+
profile: normalizeProfile(target.profile) ?? "stable",
|
|
67
|
+
hostKind: normalizeHostKind(target.hostKind) ?? "desktop"
|
|
68
|
+
}));
|
|
69
|
+
return targets.length > 0 ? dedupeTargets(targets) : undefined;
|
|
70
|
+
}
|
|
71
|
+
const trimmed = normalizeNonEmptyString(value);
|
|
72
|
+
if (!trimmed) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
const targets = trimmed.split(",").map((rawTarget) => {
|
|
76
|
+
const [rawProfile, rawHostKind] = rawTarget.split(":");
|
|
77
|
+
const profile = normalizeProfile(rawProfile);
|
|
78
|
+
const hostKind = normalizeHostKind(rawHostKind);
|
|
79
|
+
if (!profile || !hostKind) {
|
|
80
|
+
throw new Error("Unsupported Golutra targetOrder entry. Expected profile:hostKind, for example stable:desktop.");
|
|
81
|
+
}
|
|
82
|
+
return { profile, hostKind };
|
|
83
|
+
});
|
|
84
|
+
return targets.length > 0 ? dedupeTargets(targets) : undefined;
|
|
85
|
+
}
|
|
86
|
+
function dedupeTargets(targets) {
|
|
87
|
+
const seen = new Set();
|
|
88
|
+
const result = [];
|
|
89
|
+
for (const target of targets) {
|
|
90
|
+
const key = `${target.profile}:${target.hostKind}`;
|
|
91
|
+
if (seen.has(key)) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
seen.add(key);
|
|
95
|
+
result.push(target);
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
export function resolveRuntimeTargets(context) {
|
|
100
|
+
if (context.targetOrder && context.targetOrder.length > 0) {
|
|
101
|
+
return context.targetOrder;
|
|
102
|
+
}
|
|
103
|
+
const profiles = context.profile
|
|
104
|
+
? [context.profile]
|
|
105
|
+
: DEFAULT_TARGET_ORDER.map((target) => target.profile);
|
|
106
|
+
const hostKinds = context.hostKind
|
|
107
|
+
? [context.hostKind]
|
|
108
|
+
: DEFAULT_TARGET_ORDER.map((target) => target.hostKind);
|
|
109
|
+
const candidates = [];
|
|
110
|
+
for (const defaultTarget of DEFAULT_TARGET_ORDER) {
|
|
111
|
+
if (profiles.includes(defaultTarget.profile) &&
|
|
112
|
+
hostKinds.includes(defaultTarget.hostKind)) {
|
|
113
|
+
candidates.push(defaultTarget);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return dedupeTargets(candidates);
|
|
117
|
+
}
|
|
46
118
|
function getDefaultCliCommand(platform) {
|
|
47
119
|
return platform === "win32" ? "golutra-cli.exe" : "golutra-cli";
|
|
48
120
|
}
|
|
@@ -101,12 +173,27 @@ export function resolveDefaultCliPath(env, options = {}) {
|
|
|
101
173
|
return (candidates.find((candidatePath) => pathModule.isAbsolute(candidatePath) && pathExists(candidatePath)) ?? fallbackCommand);
|
|
102
174
|
}
|
|
103
175
|
export function createInitialContext(env) {
|
|
104
|
-
|
|
176
|
+
const context = {
|
|
105
177
|
cliPath: resolveDefaultCliPath(env),
|
|
106
|
-
profile: normalizeProfile(env.GOLUTRA_PROFILE),
|
|
107
|
-
workspacePath: normalizeNonEmptyString(env.GOLUTRA_WORKSPACE_PATH),
|
|
108
178
|
timeoutMs: normalizeTimeout(env.GOLUTRA_COMMAND_TIMEOUT_MS)
|
|
109
179
|
};
|
|
180
|
+
const profile = normalizeProfile(env.GOLUTRA_PROFILE);
|
|
181
|
+
const hostKind = normalizeHostKind(env.GOLUTRA_CLI_HOST_KIND ?? env.GOLUTRA_HOST_KIND);
|
|
182
|
+
const targetOrder = normalizeTargetOrder(env.GOLUTRA_TARGET_ORDER);
|
|
183
|
+
const workspacePath = normalizeNonEmptyString(env.GOLUTRA_WORKSPACE_PATH);
|
|
184
|
+
if (profile) {
|
|
185
|
+
context.profile = profile;
|
|
186
|
+
}
|
|
187
|
+
if (hostKind) {
|
|
188
|
+
context.hostKind = hostKind;
|
|
189
|
+
}
|
|
190
|
+
if (targetOrder) {
|
|
191
|
+
context.targetOrder = targetOrder;
|
|
192
|
+
}
|
|
193
|
+
if (workspacePath) {
|
|
194
|
+
context.workspacePath = workspacePath;
|
|
195
|
+
}
|
|
196
|
+
return context;
|
|
110
197
|
}
|
|
111
198
|
export class ContextStore {
|
|
112
199
|
initialContext;
|
|
@@ -123,15 +210,34 @@ export class ContextStore {
|
|
|
123
210
|
return this.getSnapshot();
|
|
124
211
|
}
|
|
125
212
|
mergeContext(baseContext, nextValues) {
|
|
126
|
-
|
|
213
|
+
const nextContext = {
|
|
127
214
|
cliPath: normalizeNonEmptyString(nextValues.cliPath) ?? baseContext.cliPath,
|
|
128
|
-
profile: nextValues.profile ?? baseContext.profile,
|
|
129
|
-
workspacePath: normalizeNonEmptyString(nextValues.workspacePath) ??
|
|
130
|
-
baseContext.workspacePath,
|
|
131
215
|
timeoutMs: typeof nextValues.timeoutMs === "number"
|
|
132
216
|
? normalizeTimeout(nextValues.timeoutMs)
|
|
133
217
|
: baseContext.timeoutMs
|
|
134
218
|
};
|
|
219
|
+
const profile = nextValues.profile ?? baseContext.profile;
|
|
220
|
+
const hostKind = nextValues.hostKind ?? baseContext.hostKind;
|
|
221
|
+
const targetOrder = nextValues.targetOrder !== undefined
|
|
222
|
+
? normalizeTargetOrder(nextValues.targetOrder)
|
|
223
|
+
: nextValues.profile !== undefined || nextValues.hostKind !== undefined
|
|
224
|
+
? undefined
|
|
225
|
+
: baseContext.targetOrder;
|
|
226
|
+
const workspacePath = normalizeNonEmptyString(nextValues.workspacePath) ??
|
|
227
|
+
baseContext.workspacePath;
|
|
228
|
+
if (profile) {
|
|
229
|
+
nextContext.profile = profile;
|
|
230
|
+
}
|
|
231
|
+
if (hostKind) {
|
|
232
|
+
nextContext.hostKind = hostKind;
|
|
233
|
+
}
|
|
234
|
+
if (targetOrder) {
|
|
235
|
+
nextContext.targetOrder = targetOrder;
|
|
236
|
+
}
|
|
237
|
+
if (workspacePath) {
|
|
238
|
+
nextContext.workspacePath = workspacePath;
|
|
239
|
+
}
|
|
240
|
+
return nextContext;
|
|
135
241
|
}
|
|
136
242
|
update(nextValues) {
|
|
137
243
|
// `golutra-set-context` 走这里,表示显式持久化更新默认上下文。
|
package/dist/lib/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/lib/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/lib/context.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/diagnostics.js
CHANGED
|
@@ -97,7 +97,7 @@ export function inspectUserId(userId) {
|
|
|
97
97
|
ok: false,
|
|
98
98
|
skipped: true,
|
|
99
99
|
reasonCode: "USER_ID_MISSING",
|
|
100
|
-
message: "userId is
|
|
100
|
+
message: "userId was not provided. It is optional for the default project.members.config.list diagnostic probe."
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
|