@omercnet/paseo-gas-city 0.2.0 → 1.0.0-next.162.1

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/README.md CHANGED
@@ -3,27 +3,28 @@
3
3
  A Paseo control plane for observing and operating Gas City supervisors. It adds a global Gas City
4
4
  surface and a workspace-scoped Factory panel.
5
5
 
6
+ ## Demo
7
+
8
+ https://github.com/user-attachments/assets/f1e82351-f11e-440e-9875-7e266d0bbdb4
9
+
6
10
  ## Screenshots
7
11
 
8
- These screenshots use a temporary local Gas City v1.4.1 fixture. They contain no private project
9
- or session data.
10
- Wide captures omit Paseo's host navigation so the plugin surface remains the focus.
12
+ These PNGs use a temporary local Gas City v1.4.1 fixture and an isolated Paseo test daemon. Browser
13
+ DevTools verifies that no private organization names remain before each 2× capture. Wide captures
14
+ omit Paseo's host navigation so the plugin surface remains the focus.
11
15
 
12
16
  ### Wide overview
13
17
 
14
- ![Gas City supervisor, city status, sessions, convoys, and work](docs/images/paseo-gas-city-wide-overview.webp)
18
+ ![Gas City supervisor, city status, sessions, convoys, and work](https://raw.githubusercontent.com/omercnet/paseo-plugins/main/paseo-gas-city/docs/images/paseo-gas-city-wide-overview.png)
15
19
 
16
20
  ### Work and event feed
17
21
 
18
- ![Gas City sessions, work, and recent event feed](docs/images/paseo-gas-city-wide-events.webp)
22
+ ![Gas City sessions, work, and recent event feed](https://raw.githubusercontent.com/omercnet/paseo-plugins/main/paseo-gas-city/docs/images/paseo-gas-city-wide-events.png)
19
23
 
20
- ### Guarded dispatch
21
-
22
- ![Observe-only Gas City dispatch confirmation](docs/images/paseo-gas-city-dispatch-confirmation.webp)
23
24
 
24
25
  ### Compact layout
25
26
 
26
- ![Gas City compact mobile layout](docs/images/paseo-gas-city-compact-overview.webp)
27
+ ![Gas City compact mobile layout](https://raw.githubusercontent.com/omercnet/paseo-plugins/main/paseo-gas-city/docs/images/paseo-gas-city-compact-overview.png)
27
28
 
28
29
  ## What it does
29
30
 
@@ -48,10 +49,8 @@ Gas City settings are host-scoped and shared by every Paseo client connected to
48
49
  - **Workspace mappings** override automatic longest-ancestor rig matching when a workspace is
49
50
  ambiguous or lives outside its rig path.
50
51
 
51
- Paseo 0.8 does not expose persisted settings to server handlers. On 0.8, server operations therefore
52
- use schema defaults only: the loopback endpoint, remote access and mutations disabled, the default
53
- event limit, and no workspace mappings. Customized Gas City settings require Paseo `0.9.0-beta.1`
54
- or later.
52
+ Gas City requires Paseo `^0.9.0`, whose server settings handle lets every daemon-side operation
53
+ use the persisted configuration.
55
54
 
56
55
  Settings are a safety and routing configuration, not a credential vault. Put authentication and
57
56
  network access controls in front of Gas City itself.
@@ -69,7 +68,7 @@ host. Enabling a remote endpoint sends requests to that host from the Paseo daem
69
68
 
70
69
  ## Requirements and limitations
71
70
 
72
- - Paseo `^0.8.0` or `^0.9.0-beta.1` with plugins enabled.
71
+ - Paseo `^0.9.0` with plugins enabled.
73
72
  - A reachable Gas City v1.4.1 supervisor exposing its HTTP API.
74
73
  - HTTP or HTTPS endpoints only. Credentials, query strings, and fragments are rejected.
75
74
  - Automatic workspace mapping requires the workspace path to be inside exactly one discovered rig;
@@ -84,7 +83,7 @@ host. Enabling a remote endpoint sends requests to that host from the Paseo daem
84
83
 
85
84
  ## Install
86
85
 
87
- With Paseo `0.9.0-beta.1`, install the npm package:
86
+ With Paseo `^0.9.0`, install the npm package:
88
87
 
89
88
  ```bash
90
89
  paseo plugin install npm:@omercnet/paseo-gas-city
@@ -98,21 +97,6 @@ paseo plugin update gas-city --check
98
97
  paseo plugin update gas-city
99
98
  ```
100
99
 
101
- Paseo 0.8 users can install from Git instead:
102
-
103
- ```bash
104
- paseo plugin install omercnet/paseo-plugins:paseo-gas-city
105
- ```
106
-
107
- Paseo 0.8 and 0.9 can also install from a local checkout on the Paseo daemon host:
108
-
109
- ```bash
110
- git clone https://github.com/omercnet/paseo-plugins.git
111
- cd paseo-plugins/paseo-gas-city
112
- npm ci
113
- paseo plugin install "$PWD"
114
- ```
115
-
116
100
  Start or confirm the Gas City supervisor before opening the plugin:
117
101
 
118
102
  ```bash
@@ -130,21 +114,14 @@ mapped rig.
130
114
  ## Develop
131
115
 
132
116
  ```bash
133
- npm ci
134
- npm run check
135
- npm run typecheck
136
- npm test
137
- npm run test:coverage
138
- npm run verify:package
117
+ bun install
118
+ bun run check
119
+ bun run typecheck
120
+ bun run test
121
+ bun run test:coverage
139
122
  ```
140
123
 
141
- Build and verify the distributable archives with:
142
-
143
- ```bash
144
- npm run verify:package
145
- npm run package:release
146
- ```
124
+ Standalone ZIP archives are retired. Releases publish npm tarballs with npm provenance from the release workflow.
147
125
 
148
126
  Release Please maintains the package version, changelog, component tag, and GitHub release. Tags use
149
- `paseo-gas-city-v<version>`. The release workflow re-runs checks, typechecking, coverage, and package
150
- verification before uploading the ZIP asset and its SHA-256 checksum.
127
+ `paseo-gas-city-v<version>`.
package/index.server.ts CHANGED
@@ -1,9 +1,8 @@
1
- import type { PluginServerContext, PluginSettings } from "@getpaseo/plugin/server";
1
+ import type { PluginServerContext } from "@getpaseo/plugin/server";
2
2
  import { createGasCityHandlers } from "./server/handlers";
3
3
  import {
4
4
  discoverSupervisor,
5
5
  dispatchWork,
6
- GasCitySettingsSchema,
7
6
  gasCitySettings,
8
7
  getCityRigSnapshot,
9
8
  listAttention,
@@ -15,29 +14,8 @@ import {
15
14
  resolveWorkspaceRig,
16
15
  } from "./shared";
17
16
 
18
- type GasCitySettingsHandle = PluginSettings<typeof gasCitySettings.schema>;
19
-
20
- const paseo08DefaultSettings = GasCitySettingsSchema.parse({});
21
- const paseo08SettingsHandle: GasCitySettingsHandle = {
22
- read: async () => ({
23
- status: "ready",
24
- revision: "paseo-0.8-schema-defaults",
25
- values: paseo08DefaultSettings,
26
- }),
27
- subscribe: () => () => {},
28
- };
29
-
30
- export function resolveRegisteredGasCitySettings(
31
- registered: GasCitySettingsHandle | undefined,
32
- ): GasCitySettingsHandle {
33
- // Paseo 0.8 registers the persisted settings RPCs but returns no server read handle.
34
- // Its only authoritative option is the schema-default, fail-closed policy.
35
- return registered ?? paseo08SettingsHandle;
36
- }
37
-
38
17
  export default function contribute(server: PluginServerContext) {
39
- const settings = resolveRegisteredGasCitySettings(server.registerSettings(gasCitySettings));
40
- const handlers = createGasCityHandlers(settings);
18
+ const handlers = createGasCityHandlers(server.registerSettings(gasCitySettings));
41
19
  server.handle(discoverSupervisor, handlers.discoverSupervisor);
42
20
  server.handle(resolveWorkspaceRig, handlers.resolveWorkspaceRig);
43
21
  server.handle(getCityRigSnapshot, handlers.getCityRigSnapshot);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omercnet/paseo-gas-city",
3
- "version": "0.2.0",
3
+ "version": "1.0.0-next.162.1",
4
4
  "type": "module",
5
5
  "description": "A Paseo control plane for observing and operating Gas City supervisors.",
6
6
  "license": "MIT",
@@ -17,7 +17,7 @@
17
17
  "publishConfig": {
18
18
  "access": "public"
19
19
  },
20
- "packageManager": "npm@11.19.1",
20
+ "packageManager": "bun@1.4.2",
21
21
  "engines": {
22
22
  "node": ">=24"
23
23
  },
@@ -33,14 +33,12 @@
33
33
  "coding-agents"
34
34
  ],
35
35
  "files": [
36
- "CHANGELOG.md",
37
36
  "icon.svg",
38
37
  "LICENSE",
39
38
  "README.md",
40
39
  "index.client.tsx",
41
40
  "index.server.ts",
42
41
  "client",
43
- "docs",
44
42
  "server",
45
43
  "shared",
46
44
  "paseo-plugin.json"
@@ -50,25 +48,23 @@
50
48
  "check:write": "biome check --write .",
51
49
  "test": "vitest run",
52
50
  "test:coverage": "vitest run --coverage --coverage.reporter=text --coverage.reporter=lcov --coverage.thresholds.lines=90 --coverage.thresholds.functions=85 --coverage.exclude=index.client.tsx --coverage.exclude=index.server.ts",
53
- "typecheck": "tsc --noEmit -p tsconfig.client.json && tsc --noEmit -p tsconfig.server.json && tsc --noEmit -p tsconfig.scripts.json",
54
- "package:release": "node scripts/package-release.ts",
55
- "verify:package": "node scripts/verify-package.ts"
51
+ "typecheck": "tsc --noEmit -p tsconfig.client.json && tsc --noEmit -p tsconfig.server.json && tsc --noEmit -p tsconfig.scripts.json"
56
52
  },
57
53
  "devDependencies": {
58
54
  "@biomejs/biome": "^2.5.10",
59
- "@getpaseo/cli": "0.9.0-beta.1",
60
- "@getpaseo/client": "0.9.0-beta.1",
61
- "@getpaseo/plugin": "0.9.0-beta.1",
62
- "@getpaseo/protocol": "0.9.0-beta.1",
55
+ "@getpaseo/cli": "0.9.2",
56
+ "@getpaseo/client": "0.9.2",
57
+ "@getpaseo/plugin": "0.9.2",
58
+ "@getpaseo/protocol": "0.9.2",
63
59
  "@tanstack/react-query": "^5.102.3",
64
- "@types/node": "^24.5.2",
65
- "@types/react": "~19.2.0",
60
+ "@types/node": "^24.10.1",
61
+ "@types/react": "^19.2.18",
66
62
  "@vitest/coverage-v8": "^5.0.0",
67
63
  "fflate": "^0.8.3",
68
64
  "react": "19.1.0",
69
65
  "react-native": "0.81.5",
70
- "typescript": "^7.0.0",
66
+ "typescript": "^7.0.2",
71
67
  "vitest": "^5.0.0",
72
- "zod": "^4.4.3"
68
+ "zod": "4.4.3"
73
69
  }
74
70
  }
package/paseo-plugin.json CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "id": "gas-city",
3
- "requirements": { "paseo": "^0.8.0 || ^0.9.0-beta.1" }
3
+ "description": "A Paseo control plane for observing and operating Gas City supervisors.",
4
+ "requirements": { "paseo": "^0.9.0" }
4
5
  }
package/CHANGELOG.md DELETED
@@ -1,37 +0,0 @@
1
- # Changelog
2
-
3
- ## [0.2.0](https://github.com/omercnet/paseo-plugins/compare/paseo-gas-city-v0.1.0...paseo-gas-city-v0.2.0) (2026-09-18)
4
-
5
-
6
- ### Features
7
-
8
- * **release:** publish plugins to npm ([#80](https://github.com/omercnet/paseo-plugins/issues/80)) ([3c93048](https://github.com/omercnet/paseo-plugins/commit/3c93048cfefda97d8c2bc1631e3428fb64bdad09))
9
-
10
-
11
- ### Bug Fixes
12
-
13
- * **gas-city:** support Paseo 0.9 beta settings ([#102](https://github.com/omercnet/paseo-plugins/issues/102)) ([dd4ccda](https://github.com/omercnet/paseo-plugins/commit/dd4ccda0d85e4160c9ad39d5a9045fb690ed5510))
14
- * **gas-city:** support Paseo 0.9 beta settings ([#91](https://github.com/omercnet/paseo-plugins/issues/91)) ([15c9a97](https://github.com/omercnet/paseo-plugins/commit/15c9a970ce5fccd7a09ed4284b8aa2d37c43b464))
15
-
16
- ## [0.1.0](https://github.com/omercnet/paseo-plugins/compare/paseo-gas-city-v0.0.1...paseo-gas-city-v0.1.0) (2026-09-11)
17
-
18
-
19
- ### Features
20
-
21
- * **gas-city:** add operator control-plane plugin ([#15](https://github.com/omercnet/paseo-plugins/issues/15)) ([42b17ce](https://github.com/omercnet/paseo-plugins/commit/42b17ce9e894f8c39c02be2cdc288cac78fb0124))
22
-
23
- ## 0.0.1 (2026-09-11)
24
-
25
- ### Features
26
-
27
- - add global supervisor and workspace Factory views for cities, rigs, sessions, convoys, events, and operator attention
28
- - map Paseo workspaces to Gas City rigs through explicit overrides or longest ancestor paths
29
- - add safe, bounded RPC adapters for discovery, observation, dispatch, and session actions
30
- - keep remote endpoints and mutations opt-in, with explicit confirmation required for every mutation
31
- - add Command Center entries and a workspace `/sling` command
32
- - adopt Gas City's Reading Room visual language and publish sidebar-free desktop and compact screenshots
33
-
34
- ### Compatibility
35
-
36
- - target the Gas City v1.4.1 HTTP control plane
37
- - defer a native Paseo session bridge until Gas City exposes correlated prompt and reply identifiers