@omercnet/paseo-gas-city 0.1.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.
- package/CHANGELOG.md +24 -0
- package/LICENSE +21 -0
- package/README.md +140 -0
- package/bun.lock +1217 -0
- package/client/city-operations.tsx +1505 -0
- package/client/contribute.tsx +96 -0
- package/client/dispatch-intent.ts +53 -0
- package/client/factory-panel.tsx +373 -0
- package/client/gas-city-surface.tsx +343 -0
- package/client/settings-screen.tsx +286 -0
- package/client/view-model.ts +318 -0
- 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/icon.svg +5 -0
- package/index.client.tsx +1 -0
- package/index.server.ts +42 -0
- package/package.json +73 -0
- package/paseo-plugin.json +4 -0
- package/server/gas-city-client.ts +668 -0
- package/server/handlers.ts +790 -0
- package/server/workspace-mapping.ts +170 -0
- package/shared/index.ts +4 -0
- package/shared/limits.ts +28 -0
- package/shared/rpc.ts +99 -0
- package/shared/schemas.ts +430 -0
- package/shared/settings.ts +89 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [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)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **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))
|
|
9
|
+
|
|
10
|
+
## 0.0.1 (2026-09-11)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- add global supervisor and workspace Factory views for cities, rigs, sessions, convoys, events, and operator attention
|
|
15
|
+
- map Paseo workspaces to Gas City rigs through explicit overrides or longest ancestor paths
|
|
16
|
+
- add safe, bounded RPC adapters for discovery, observation, dispatch, and session actions
|
|
17
|
+
- keep remote endpoints and mutations opt-in, with explicit confirmation required for every mutation
|
|
18
|
+
- add Command Center entries and a workspace `/sling` command
|
|
19
|
+
- adopt Gas City's Reading Room visual language and publish sidebar-free desktop and compact screenshots
|
|
20
|
+
|
|
21
|
+
### Compatibility
|
|
22
|
+
|
|
23
|
+
- target the Gas City v1.4.1 HTTP control plane
|
|
24
|
+
- defer a native Paseo session bridge until Gas City exposes correlated prompt and reply identifiers
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Omer Cohen
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Paseo Gas City
|
|
2
|
+
|
|
3
|
+
A Paseo control plane for observing and operating Gas City supervisors. It adds a global Gas City
|
|
4
|
+
surface and a workspace-scoped Factory panel.
|
|
5
|
+
|
|
6
|
+
## Screenshots
|
|
7
|
+
|
|
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.
|
|
11
|
+
|
|
12
|
+
### Wide overview
|
|
13
|
+
|
|
14
|
+

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

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

|
|
23
|
+
|
|
24
|
+
### Compact layout
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
## What it does
|
|
29
|
+
|
|
30
|
+
- Discovers the configured supervisor and shows its cities, health, version, and diagnostics.
|
|
31
|
+
- Shows city-wide status and recent events, plus rig-filtered sessions and work. Convoys without
|
|
32
|
+
upstream rig attribution remain visible in mapped workspace views.
|
|
33
|
+
- Maps a Paseo workspace to a Gas City rig by explicit override or longest ancestor path.
|
|
34
|
+
- Provides **Open Gas City**, **Configure Gas City**, and workspace **Open Gas City Factory** commands.
|
|
35
|
+
- Provides `/sling <bead-id> [agent-role]` to prefill a confirmed dispatch from a workspace.
|
|
36
|
+
- When mutations are enabled, supports confirmed bead dispatch plus wake, message, submit, stop,
|
|
37
|
+
suspend, close, and kill session actions.
|
|
38
|
+
|
|
39
|
+
## Configure
|
|
40
|
+
|
|
41
|
+
Gas City settings are host-scoped and shared by every Paseo client connected to that daemon:
|
|
42
|
+
|
|
43
|
+
- **Supervisor endpoint** defaults to `http://127.0.0.1:8372`.
|
|
44
|
+
- **Allow remote endpoint** opts into daemon-side requests to a non-loopback host.
|
|
45
|
+
- **Enable mutations** unlocks confirmed dispatch and session controls; observation remains available
|
|
46
|
+
while it is off.
|
|
47
|
+
- **Refresh interval** and **event limit** control dashboard polling and bounded event pages.
|
|
48
|
+
- **Workspace mappings** override automatic longest-ancestor rig matching when a workspace is
|
|
49
|
+
ambiguous or lives outside its rig path.
|
|
50
|
+
|
|
51
|
+
Settings are a safety and routing configuration, not a credential vault. Put authentication and
|
|
52
|
+
network access controls in front of Gas City itself.
|
|
53
|
+
|
|
54
|
+
## Safety defaults
|
|
55
|
+
|
|
56
|
+
The default endpoint is `http://127.0.0.1:8372`. Non-loopback endpoints are rejected unless **Allow
|
|
57
|
+
remote endpoint** is enabled. Mutations are disabled by default, and mutation RPCs require explicit
|
|
58
|
+
confirmation even after they are enabled. These controls are an interactive safety interlock, not
|
|
59
|
+
an authorization boundary; Gas City remains responsible for access control. Responses, lists, and
|
|
60
|
+
strings are bounded and validated before they reach the UI.
|
|
61
|
+
|
|
62
|
+
Paseo plugins are trusted, unsandboxed code. Review the source before installing it on the daemon
|
|
63
|
+
host. Enabling a remote endpoint sends requests to that host from the Paseo daemon.
|
|
64
|
+
|
|
65
|
+
## Requirements and limitations
|
|
66
|
+
|
|
67
|
+
- Paseo `^0.8.0` with plugins enabled.
|
|
68
|
+
- A reachable Gas City v1.4.1 supervisor exposing its HTTP API.
|
|
69
|
+
- HTTP or HTTPS endpoints only. Credentials, query strings, and fragments are rejected.
|
|
70
|
+
- Automatic workspace mapping requires the workspace path to be inside exactly one discovered rig;
|
|
71
|
+
ambiguous or unrelated paths need an explicit mapping.
|
|
72
|
+
- The dashboard polls at the configured interval. Supervisor events are a head snapshot, city event
|
|
73
|
+
pages expose continuation cursors, and bounded or partial responses are marked truncated.
|
|
74
|
+
- **Open in Paseo is unavailable with Gas City v1.4.1.** `POST
|
|
75
|
+
/v0/city/{cityName}/session/{id}/messages` returns a request ID and city event cursor, but
|
|
76
|
+
`/v0/city/{cityName}/session/{id}/stream` emits transcript events with no request, message, or
|
|
77
|
+
turn correlation ID. A provider would therefore be unable to assign a reply to a Paseo prompt
|
|
78
|
+
safely when the session produces independent output.
|
|
79
|
+
|
|
80
|
+
## Install
|
|
81
|
+
|
|
82
|
+
From GitHub:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
paseo plugin add omercnet/paseo-plugins:paseo-gas-city
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Update an existing Git installation with:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
paseo plugin update gas-city
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
From a local checkout on the Paseo daemon host:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git clone https://github.com/omercnet/paseo-plugins.git
|
|
98
|
+
cd paseo-plugins/paseo-gas-city
|
|
99
|
+
bun install --frozen-lockfile
|
|
100
|
+
paseo plugin install "$PWD"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Start or confirm the Gas City supervisor before opening the plugin:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
gc start /path/to/city
|
|
107
|
+
gc status /path/to/city --json
|
|
108
|
+
paseo plugin ls
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`paseo plugin ls` must report `gas-city` as `running` with no load error.
|
|
112
|
+
|
|
113
|
+
Open **Gas City** from the sidebar or Command Center. Configure the supervisor endpoint and optional
|
|
114
|
+
workspace mappings under **Gas City settings**. In a workspace, open the **Factory** panel for the
|
|
115
|
+
mapped rig.
|
|
116
|
+
|
|
117
|
+
## Develop
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
bun install
|
|
121
|
+
bun run check
|
|
122
|
+
bun run typecheck
|
|
123
|
+
bun test
|
|
124
|
+
bun run test:coverage
|
|
125
|
+
bun run verify:package
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Build and verify the distributable archives with:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
bun run verify:package
|
|
132
|
+
bun run package:release
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Release Please maintains the package version, changelog, component tag, and GitHub release. Tags use
|
|
136
|
+
`paseo-gas-city-v<version>`. The release workflow re-runs checks, typechecking, coverage, and package
|
|
137
|
+
verification before uploading the ZIP asset and its SHA-256 checksum.
|
|
138
|
+
|
|
139
|
+
The package is `@omercnet/paseo-gas-city` at version `0.0.1`. The supported distribution paths are
|
|
140
|
+
the Git source above and the versioned GitHub release ZIP.
|