@omercnet/paseo-gas-city 0.2.0 → 1.0.0-next.159.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 +17 -44
- package/index.server.ts +2 -24
- package/package.json +11 -15
- package/paseo-plugin.json +2 -1
- package/CHANGELOG.md +0 -37
- package/docs/images/paseo-gas-city-compact-overview.webp +0 -0
- package/docs/images/paseo-gas-city-dispatch-confirmation.webp +0 -0
- package/docs/images/paseo-gas-city-wide-events.webp +0 -0
- package/docs/images/paseo-gas-city-wide-overview.webp +0 -0
package/README.md
CHANGED
|
@@ -5,25 +5,22 @@ surface and a workspace-scoped Factory panel.
|
|
|
5
5
|
|
|
6
6
|
## Screenshots
|
|
7
7
|
|
|
8
|
-
These
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
These PNGs use a temporary local Gas City v1.4.1 fixture and an isolated Paseo test daemon. Browser
|
|
9
|
+
DevTools verifies that no private organization names remain before each 2× capture. Wide captures
|
|
10
|
+
omit Paseo's host navigation so the plugin surface remains the focus.
|
|
11
11
|
|
|
12
12
|
### Wide overview
|
|
13
13
|
|
|
14
|
-

|
|
15
15
|
|
|
16
16
|
### Work and event feed
|
|
17
17
|
|
|
18
|
-

|
|
19
19
|
|
|
20
|
-
### Guarded dispatch
|
|
21
|
-
|
|
22
|
-

|
|
23
20
|
|
|
24
21
|
### Compact layout
|
|
25
22
|
|
|
26
|
-

|
|
27
24
|
|
|
28
25
|
## What it does
|
|
29
26
|
|
|
@@ -48,10 +45,8 @@ Gas City settings are host-scoped and shared by every Paseo client connected to
|
|
|
48
45
|
- **Workspace mappings** override automatic longest-ancestor rig matching when a workspace is
|
|
49
46
|
ambiguous or lives outside its rig path.
|
|
50
47
|
|
|
51
|
-
Paseo 0.
|
|
52
|
-
use
|
|
53
|
-
event limit, and no workspace mappings. Customized Gas City settings require Paseo `0.9.0-beta.1`
|
|
54
|
-
or later.
|
|
48
|
+
Gas City requires Paseo `^0.9.0`, whose server settings handle lets every daemon-side operation
|
|
49
|
+
use the persisted configuration.
|
|
55
50
|
|
|
56
51
|
Settings are a safety and routing configuration, not a credential vault. Put authentication and
|
|
57
52
|
network access controls in front of Gas City itself.
|
|
@@ -69,7 +64,7 @@ host. Enabling a remote endpoint sends requests to that host from the Paseo daem
|
|
|
69
64
|
|
|
70
65
|
## Requirements and limitations
|
|
71
66
|
|
|
72
|
-
- Paseo `^0.
|
|
67
|
+
- Paseo `^0.9.0` with plugins enabled.
|
|
73
68
|
- A reachable Gas City v1.4.1 supervisor exposing its HTTP API.
|
|
74
69
|
- HTTP or HTTPS endpoints only. Credentials, query strings, and fragments are rejected.
|
|
75
70
|
- Automatic workspace mapping requires the workspace path to be inside exactly one discovered rig;
|
|
@@ -84,7 +79,7 @@ host. Enabling a remote endpoint sends requests to that host from the Paseo daem
|
|
|
84
79
|
|
|
85
80
|
## Install
|
|
86
81
|
|
|
87
|
-
With Paseo
|
|
82
|
+
With Paseo `^0.9.0`, install the npm package:
|
|
88
83
|
|
|
89
84
|
```bash
|
|
90
85
|
paseo plugin install npm:@omercnet/paseo-gas-city
|
|
@@ -98,21 +93,6 @@ paseo plugin update gas-city --check
|
|
|
98
93
|
paseo plugin update gas-city
|
|
99
94
|
```
|
|
100
95
|
|
|
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
96
|
Start or confirm the Gas City supervisor before opening the plugin:
|
|
117
97
|
|
|
118
98
|
```bash
|
|
@@ -130,21 +110,14 @@ mapped rig.
|
|
|
130
110
|
## Develop
|
|
131
111
|
|
|
132
112
|
```bash
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
npm run verify:package
|
|
113
|
+
bun install
|
|
114
|
+
bun run check
|
|
115
|
+
bun run typecheck
|
|
116
|
+
bun run test
|
|
117
|
+
bun run test:coverage
|
|
139
118
|
```
|
|
140
119
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
npm run verify:package
|
|
145
|
-
npm run package:release
|
|
146
|
-
```
|
|
120
|
+
Standalone ZIP archives are retired. Releases publish npm tarballs with npm provenance from the release workflow.
|
|
147
121
|
|
|
148
122
|
Release Please maintains the package version, changelog, component tag, and GitHub release. Tags use
|
|
149
|
-
`paseo-gas-city-v<version>`.
|
|
150
|
-
verification before uploading the ZIP asset and its SHA-256 checksum.
|
|
123
|
+
`paseo-gas-city-v<version>`.
|
package/index.server.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { PluginServerContext
|
|
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
|
|
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.
|
|
3
|
+
"version": "1.0.0-next.159.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": "
|
|
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
|
|
60
|
-
"@getpaseo/client": "0.9.0
|
|
61
|
-
"@getpaseo/plugin": "0.9.0
|
|
62
|
-
"@getpaseo/protocol": "0.9.0
|
|
55
|
+
"@getpaseo/cli": "0.9.0",
|
|
56
|
+
"@getpaseo/client": "0.9.0",
|
|
57
|
+
"@getpaseo/plugin": "0.9.0",
|
|
58
|
+
"@getpaseo/protocol": "0.9.0",
|
|
63
59
|
"@tanstack/react-query": "^5.102.3",
|
|
64
|
-
"@types/node": "^24.
|
|
65
|
-
"@types/react": "
|
|
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.
|
|
66
|
+
"typescript": "^7.0.2",
|
|
71
67
|
"vitest": "^5.0.0",
|
|
72
|
-
"zod": "
|
|
68
|
+
"zod": "4.4.3"
|
|
73
69
|
}
|
|
74
70
|
}
|
package/paseo-plugin.json
CHANGED
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|