@opengsd/gsd-pi 1.7.0 → 1.8.0

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 (60) hide show
  1. package/README.md +2 -5
  2. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  3. package/dist/web/standalone/.next/BUILD_ID +1 -1
  4. package/dist/web/standalone/.next/app-path-routes-manifest.json +8 -8
  5. package/dist/web/standalone/.next/build-manifest.json +2 -2
  6. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  7. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  15. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  16. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  17. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  19. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  22. package/dist/web/standalone/.next/server/app/index.html +1 -1
  23. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  24. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  25. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  26. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  27. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  28. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  29. package/dist/web/standalone/.next/server/app-paths-manifest.json +8 -8
  30. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  31. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  32. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  33. package/dist/web/standalone/node_modules/@gsd/native/package.json +1 -1
  34. package/dist/web/standalone/node_modules/node-pty/build/Makefile +1 -1
  35. package/integrations/hermes/open_gsd_hermes/gsd_client.py +1 -1
  36. package/integrations/hermes/pyproject.toml +1 -1
  37. package/package.json +6 -6
  38. package/packages/cloud-mcp-gateway/package.json +2 -2
  39. package/packages/contracts/package.json +1 -1
  40. package/packages/daemon/dist/cloud-config.d.ts.map +1 -1
  41. package/packages/daemon/dist/cloud-config.js +25 -7
  42. package/packages/daemon/dist/cloud-config.js.map +1 -1
  43. package/packages/daemon/dist/cloud-config.test.js +19 -1
  44. package/packages/daemon/dist/cloud-config.test.js.map +1 -1
  45. package/packages/daemon/package.json +4 -4
  46. package/packages/gsd-agent-core/package.json +5 -5
  47. package/packages/gsd-agent-modes/package.json +7 -7
  48. package/packages/gsd-cloud/README.md +18 -4
  49. package/packages/gsd-cloud/bin/gsd-cloud.js +6 -5
  50. package/packages/gsd-cloud/package.json +6 -4
  51. package/packages/mcp-server/package.json +4 -4
  52. package/packages/native/package.json +1 -1
  53. package/packages/pi-agent-core/package.json +1 -1
  54. package/packages/pi-ai/package.json +1 -1
  55. package/packages/pi-coding-agent/package.json +7 -7
  56. package/packages/pi-tui/package.json +2 -2
  57. package/packages/rpc-client/package.json +2 -2
  58. package/pkg/package.json +1 -1
  59. /package/dist/web/standalone/.next/static/{enWQFRY-aLTUq3wmxG2Qz → seHIUVbR1mm7LfG83nWJO}/_buildManifest.js +0 -0
  60. /package/dist/web/standalone/.next/static/{enWQFRY-aLTUq3wmxG2Qz → seHIUVbR1mm7LfG83nWJO}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengsd/daemon",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "GSD daemon — background process for project monitoring and Discord integration",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,9 +31,9 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@anthropic-ai/sdk": "^0.52.0",
34
- "@opengsd/contracts": "^1.7.0",
35
- "@opengsd/mcp-server": "^1.7.0",
36
- "@opengsd/rpc-client": "^1.7.0",
34
+ "@opengsd/contracts": "^1.8.0",
35
+ "@opengsd/mcp-server": "^1.8.0",
36
+ "@opengsd/rpc-client": "^1.8.0",
37
37
  "discord.js": "^14.25.1",
38
38
  "ws": "^8.20.0",
39
39
  "yaml": "^2.8.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/agent-core",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "GSD session orchestration layer on top of @gsd/pi-coding-agent",
5
5
  "type": "module",
6
6
  "gsd": {
@@ -25,9 +25,9 @@
25
25
  "test": "node --import ../../src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/*.test.ts src/**/*.test.ts"
26
26
  },
27
27
  "dependencies": {
28
- "@gsd/native": "^1.7.0",
29
- "@gsd/pi-agent-core": "^1.7.0",
30
- "@gsd/pi-ai": "^1.7.0",
31
- "@gsd/pi-coding-agent": "^1.7.0"
28
+ "@gsd/native": "^1.8.0",
29
+ "@gsd/pi-agent-core": "^1.8.0",
30
+ "@gsd/pi-ai": "^1.8.0",
31
+ "@gsd/pi-coding-agent": "^1.8.0"
32
32
  }
33
33
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/agent-modes",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "GSD run modes and CLI layer",
5
5
  "type": "module",
6
6
  "gsd": {
@@ -25,12 +25,12 @@
25
25
  "test": "node --import ../../src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/**/*.test.ts"
26
26
  },
27
27
  "dependencies": {
28
- "@gsd/agent-core": "^1.7.0",
29
- "@gsd/pi-agent-core": "^1.7.0",
30
- "@gsd/pi-ai": "^1.7.0",
31
- "@gsd/pi-coding-agent": "^1.7.0",
32
- "@gsd/pi-tui": "^1.7.0",
33
- "@opengsd/contracts": "^1.7.0",
28
+ "@gsd/agent-core": "^1.8.0",
29
+ "@gsd/pi-agent-core": "^1.8.0",
30
+ "@gsd/pi-ai": "^1.8.0",
31
+ "@gsd/pi-coding-agent": "^1.8.0",
32
+ "@gsd/pi-tui": "^1.8.0",
33
+ "@opengsd/contracts": "^1.8.0",
34
34
  "chalk": "^5.5.0"
35
35
  }
36
36
  }
@@ -3,10 +3,15 @@
3
3
  Connect a local GSD runtime to [GSD Cloud](https://cloud.opengsd.net) so you can
4
4
  monitor and control your GSD projects from any browser.
5
5
 
6
- This is a thin wrapper over `@opengsd/daemon`'s cloud runtime commands. Its only
7
- added behavior is defaulting the gateway to `https://cloud.opengsd.net` for the
8
- `login` and `pair` commands, so you never have to type `--gateway`. All
9
- device-flow, pairing, and connection logic is provided by the daemon.
6
+ This is a **self-contained** agent. It depends only on `ws` and `yaml` no
7
+ `@opengsd/daemon`, no `@opengsd/mcp-server`, no `@opengsd/gsd-pi`. It runs the
8
+ RFC 8628 device-flow login, opens a persistent WebSocket to the cloud gateway,
9
+ and forwards each requested GSD workflow tool to your locally-installed `gsd`
10
+ CLI (via `gsd --mode mcp`). The gateway default of `https://cloud.opengsd.net`
11
+ is injected for `login`/`pair` so you never have to type `--gateway`.
12
+
13
+ Requires the `gsd` CLI (from `@opengsd/gsd-pi`) to be installed and on your
14
+ `PATH` (or set `GSD_CLI_PATH`).
10
15
 
11
16
  ## Usage
12
17
 
@@ -29,6 +34,15 @@ npx @opengsd/gsd-cloud disconnect
29
34
  different gateway, pass `--gateway <url>` explicitly — the explicit flag always
30
35
  wins. The `status`, `connect`, and `disconnect` commands do not use a gateway.
31
36
 
37
+ ## Environment
38
+
39
+ - `GSD_CLOUD_PROJECTS` — path-delimiter separated list of project directories to
40
+ advertise to the cloud (default: the current working directory).
41
+ - `GSD_CLI_PATH` — path to the `gsd` binary (default: `gsd` on `PATH`).
42
+ - `GSD_CLOUD_EXECUTOR` — backend adapter: `gsd-pi` (default). `codex` and
43
+ `claude` adapters are stubbed for future use.
44
+
32
45
  ## Requirements
33
46
 
34
47
  - Node.js >= 22
48
+ - The `gsd` CLI (`@opengsd/gsd-pi`) installed locally
@@ -1,25 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  // Project/App: Open GSD
3
- // File Purpose: gsd-cloud CLI entry — inject the default gateway then delegate to the daemon.
3
+ // File Purpose: gsd-cloud CLI entry — inject the default gateway, then run the
4
+ // standalone cloud command handler. No @opengsd/daemon dependency.
4
5
  import { existsSync } from 'node:fs';
5
6
  import { dirname, join } from 'node:path';
6
7
  import { fileURLToPath } from 'node:url';
7
8
 
8
9
  const binDir = dirname(fileURLToPath(import.meta.url));
9
- const target = join(binDir, '..', 'dist', 'inject-gateway.js');
10
+ const distDir = join(binDir, '..', 'dist');
10
11
 
11
- if (!existsSync(target)) {
12
+ if (!existsSync(join(distDir, 'cli.js'))) {
12
13
  process.stderr.write('gsd-cloud: build output missing. Run `pnpm --filter @opengsd/gsd-cloud run build`.\n');
13
14
  process.exit(1);
14
15
  }
15
16
 
16
17
  const { injectDefaultGateway } = await import('../dist/inject-gateway.js');
17
- const { handleCloudRuntimeCommand } = await import('@opengsd/daemon');
18
+ const { handleCloudCommand } = await import('../dist/cli.js');
18
19
 
19
20
  const argv = injectDefaultGateway(process.argv.slice(2));
20
21
 
21
22
  try {
22
- await handleCloudRuntimeCommand(argv, { binaryName: 'gsd-cloud' });
23
+ await handleCloudCommand(argv, { binaryName: 'gsd-cloud' });
23
24
  } catch (err) {
24
25
  const msg = err instanceof Error ? err.message : String(err);
25
26
  process.stderr.write(`gsd-cloud: fatal: ${msg}\n`);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@opengsd/gsd-cloud",
3
- "version": "1.7.0",
4
- "description": "Thin CLI wrapper that connects a local GSD runtime to GSD Cloud (cloud.opengsd.net)",
3
+ "version": "1.8.0",
4
+ "description": "Standalone CLI agent that connects a local GSD runtime to GSD Cloud (cloud.opengsd.net)",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -17,13 +17,15 @@
17
17
  },
18
18
  "scripts": {
19
19
  "build": "node ../../scripts/clean-package-dist.cjs && tsc",
20
- "test": "pnpm run build && node --test dist/inject-gateway.test.js"
20
+ "test": "pnpm run build && node --test dist/inject-gateway.test.js dist/cloud-gateway-lookup.test.js dist/cloud-runtime.test.js dist/executors/mcp-stdio-client.test.js dist/executors/gsd-pi-executor.test.js"
21
21
  },
22
22
  "dependencies": {
23
- "@opengsd/daemon": "^1.7.0"
23
+ "ws": "^8.21.0",
24
+ "yaml": "^2.8.2"
24
25
  },
25
26
  "devDependencies": {
26
27
  "@types/node": "^24.12.0",
28
+ "@types/ws": "^8.5.13",
27
29
  "typescript": "^5.4.0"
28
30
  },
29
31
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengsd/mcp-server",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "MCP server exposing GSD orchestration tools for compatible clients",
5
5
  "license": "MIT",
6
6
  "gsd": {
@@ -50,9 +50,9 @@
50
50
  "test": "pnpm run build:test && node --test dist/mcp-server.test.js dist/remote-questions.test.js dist/moonshot-tool-schema.test.js dist/pid-registry.test.js dist/probe-mode.test.js dist/stdio-watchdog.test.js dist/cli-runner.test.js dist/readers/graph.test.js dist/readers/paths.test.js dist/readers/readers.test.js"
51
51
  },
52
52
  "dependencies": {
53
- "@gsd/pi-ai": "^1.7.0",
54
- "@opengsd/contracts": "^1.7.0",
55
- "@opengsd/rpc-client": "^1.7.0",
53
+ "@gsd/pi-ai": "^1.8.0",
54
+ "@opengsd/contracts": "^1.8.0",
55
+ "@opengsd/rpc-client": "^1.8.0",
56
56
  "@modelcontextprotocol/sdk": "^1.27.1",
57
57
  "zod": "^4.0.0"
58
58
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/native",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Native Rust bindings for GSD — high-performance native modules via N-API",
5
5
  "type": "commonjs",
6
6
  "gsd": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/pi-agent-core",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "General-purpose agent with transport abstraction, state management, and attachment support",
5
5
  "type": "module",
6
6
  "gsd": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/pi-ai",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Unified LLM API with automatic model discovery and provider configuration",
5
5
  "type": "module",
6
6
  "gsd": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/pi-coding-agent",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Coding agent CLI (vendored from earendil-works/pi)",
5
5
  "type": "module",
6
6
  "gsd": {
@@ -33,7 +33,7 @@
33
33
  "copy-assets": "node scripts/copy-assets.cjs"
34
34
  },
35
35
  "dependencies": {
36
- "@opengsd/contracts": "^1.7.0",
36
+ "@opengsd/contracts": "^1.8.0",
37
37
  "@mariozechner/jiti": "^2.6.2",
38
38
  "@silvia-odwyer/photon-node": "0.3.4",
39
39
  "chalk": "5.6.2",
@@ -53,11 +53,11 @@
53
53
  "typebox": "1.1.38",
54
54
  "undici": "7.28.0",
55
55
  "yaml": "2.9.0",
56
- "@gsd/agent-core": "^1.7.0",
57
- "@gsd/native": "^1.7.0",
58
- "@gsd/pi-agent-core": "^1.7.0",
59
- "@gsd/pi-ai": "^1.7.0",
60
- "@gsd/pi-tui": "^1.7.0",
56
+ "@gsd/agent-core": "^1.8.0",
57
+ "@gsd/native": "^1.8.0",
58
+ "@gsd/pi-agent-core": "^1.8.0",
59
+ "@gsd/pi-ai": "^1.8.0",
60
+ "@gsd/pi-tui": "^1.8.0",
61
61
  "@sinclair/typebox": "^0.34.41"
62
62
  },
63
63
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/pi-tui",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Terminal UI library (vendored from earendil-works/pi)",
5
5
  "type": "module",
6
6
  "gsd": {
@@ -21,7 +21,7 @@
21
21
  "build": "node ../../scripts/clean-package-dist.cjs && tsc -p tsconfig.json --incremental false"
22
22
  },
23
23
  "dependencies": {
24
- "@gsd/native": "^1.7.0",
24
+ "@gsd/native": "^1.8.0",
25
25
  "get-east-asian-width": "1.6.0",
26
26
  "marked": "15.0.12",
27
27
  "@sinclair/typebox": "^0.34.41"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengsd/rpc-client",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Standalone RPC client SDK for GSD — zero internal dependencies",
5
5
  "license": "MIT",
6
6
  "gsd": {
@@ -34,7 +34,7 @@
34
34
  "test": "node --test dist/rpc-client.test.js"
35
35
  },
36
36
  "dependencies": {
37
- "@opengsd/contracts": "^1.7.0"
37
+ "@opengsd/contracts": "^1.8.0"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=22.0.0"
package/pkg/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glittercowboy/gsd",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "piConfig": {
5
5
  "name": "gsd",
6
6
  "configDir": ".gsd"