@omercnet/paseo-gas-city 1.2.1 → 2.0.0-next.244.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/OVERVIEW.md +1 -1
- package/README.md +4 -4
- package/client/contribute.tsx +7 -20
- package/client/view-model.ts +0 -12
- package/package.json +5 -5
- package/paseo-plugin.json +1 -1
package/OVERVIEW.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gas City connects Paseo to a Gas City supervisor, so you can see its cities, sessions, convoys, work items and events from Paseo and, if you turn it on, act on them. It adds a **Gas City** screen and a **Factory** panel in workspaces that map to a Gas City rig.
|
|
2
2
|
|
|
3
|
-
Gas City v1.4.1 must be running with its supervisor HTTP API reachable from the Paseo daemon, and the plugin requires Paseo `^0.
|
|
3
|
+
Gas City v1.4.1 must be running with its supervisor HTTP API reachable from the Paseo daemon, and the plugin requires Paseo `^0.11.0`. The daemon, not the app, sends every request. By default it talks to a supervisor on the local machine, and it refuses any other host until you turn on the remote endpoint setting. Settings are host-wide, so every client connected to that daemon shares them.
|
|
4
4
|
|
|
5
5
|
The plugin reads the supervisor's health, cities, rigs, sessions, convoys, work items, pending interactions and events. It makes changes only after you turn on mutations, which are off by default. Mutations dispatch work, control sessions, and respond to permission and input requests, and each one needs explicit confirmation in the interface. That switch and confirmation guard against mistakes and are not authentication, so access control stays with Gas City, and the settings are not a place to store credentials.
|
|
6
6
|
|
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ Gas City settings are host-scoped and shared by every Paseo client connected to
|
|
|
49
49
|
- **Workspace mappings** override automatic longest-ancestor rig matching when a workspace is
|
|
50
50
|
ambiguous or lives outside its rig path.
|
|
51
51
|
|
|
52
|
-
Gas City requires Paseo `^0.
|
|
52
|
+
Gas City requires Paseo `^0.11.0`, whose server settings handle lets every daemon-side operation
|
|
53
53
|
use the persisted configuration.
|
|
54
54
|
|
|
55
55
|
Settings are a safety and routing configuration, not a credential vault. Put authentication and
|
|
@@ -68,7 +68,7 @@ host. Enabling a remote endpoint sends requests to that host from the Paseo daem
|
|
|
68
68
|
|
|
69
69
|
## Requirements and limitations
|
|
70
70
|
|
|
71
|
-
- Paseo `^0.
|
|
71
|
+
- Paseo `^0.11.0` with plugins enabled.
|
|
72
72
|
- A reachable Gas City v1.4.1 supervisor exposing its HTTP API.
|
|
73
73
|
- HTTP or HTTPS endpoints only. Credentials, query strings, and fragments are rejected.
|
|
74
74
|
- Automatic workspace mapping requires the workspace path to be inside exactly one discovered rig;
|
|
@@ -83,13 +83,13 @@ host. Enabling a remote endpoint sends requests to that host from the Paseo daem
|
|
|
83
83
|
|
|
84
84
|
## Install
|
|
85
85
|
|
|
86
|
-
With Paseo `^0.
|
|
86
|
+
With Paseo `^0.11.0`, install the npm package:
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
89
|
paseo plugin install npm:@omercnet/paseo-gas-city
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
npm updates are reviewed before they are applied. Check for a candidate, then run the
|
|
93
93
|
interactive review:
|
|
94
94
|
|
|
95
95
|
```bash
|
package/client/contribute.tsx
CHANGED
|
@@ -5,29 +5,17 @@ import { FactoryPanel } from "./factory-panel";
|
|
|
5
5
|
import { GasCitySurface } from "./gas-city-surface";
|
|
6
6
|
import { GasCitySettingsScreen } from "./settings-screen";
|
|
7
7
|
import { GasCitySidebarItem } from "./sidebar-item";
|
|
8
|
-
import { CITY_SCREEN_ID, cityScreenTitle
|
|
8
|
+
import { CITY_SCREEN_ID, cityScreenTitle } from "./view-model";
|
|
9
9
|
|
|
10
|
-
// Paseo 0.11+ registers screens and a sidebar row; 0.9/0.10 keep the static surface.
|
|
11
10
|
// The main screen keeps the old sidebar item id so saved links keep working.
|
|
12
11
|
function addNavigation(client: PluginClientContext) {
|
|
13
|
-
if (supportsScreens(client)) {
|
|
14
|
-
return [
|
|
15
|
-
client.addScreen({ id: "gas-city", title: "Gas City", Component: GasCitySurface }),
|
|
16
|
-
client.addScreen({ id: CITY_SCREEN_ID, title: cityScreenTitle, Component: CityScreen }),
|
|
17
|
-
client.addSidebarHeaderItem({
|
|
18
|
-
id: "gas-city",
|
|
19
|
-
title: "Gas City",
|
|
20
|
-
Component: GasCitySidebarItem,
|
|
21
|
-
}),
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
12
|
return [
|
|
25
|
-
client.
|
|
26
|
-
client.
|
|
13
|
+
client.addScreen({ id: "gas-city", title: "Gas City", Component: GasCitySurface }),
|
|
14
|
+
client.addScreen({ id: CITY_SCREEN_ID, title: cityScreenTitle, Component: CityScreen }),
|
|
15
|
+
client.addSidebarHeaderItem({
|
|
27
16
|
id: "gas-city",
|
|
28
17
|
title: "Gas City",
|
|
29
|
-
|
|
30
|
-
surface: "gas-city",
|
|
18
|
+
Component: GasCitySidebarItem,
|
|
31
19
|
}),
|
|
32
20
|
];
|
|
33
21
|
}
|
|
@@ -55,9 +43,8 @@ export function registerGasCityClient(client: PluginClientContext) {
|
|
|
55
43
|
icon: "Factory",
|
|
56
44
|
keywords: ["gas city", "supervisor", "sessions", "convoys", "operator"],
|
|
57
45
|
context: "global",
|
|
58
|
-
onSelect({
|
|
59
|
-
|
|
60
|
-
else openSurface("gas-city");
|
|
46
|
+
onSelect({ openScreen }) {
|
|
47
|
+
openScreen({ screenId: "gas-city" });
|
|
61
48
|
},
|
|
62
49
|
}),
|
|
63
50
|
client.addCommandCenterItem({
|
package/client/view-model.ts
CHANGED
|
@@ -334,18 +334,6 @@ export function cityScreenTitle(params: Record<string, string>): string {
|
|
|
334
334
|
return city ? `${city} · Gas City` : "Gas City";
|
|
335
335
|
}
|
|
336
336
|
|
|
337
|
-
export interface ScreenApi {
|
|
338
|
-
addScreen?: unknown;
|
|
339
|
-
addSidebarHeaderItem?: unknown;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
/** True on Paseo 0.11+, where screens and sidebar header items exist. */
|
|
343
|
-
export function supportsScreens(client: ScreenApi): boolean {
|
|
344
|
-
return (
|
|
345
|
-
typeof client.addScreen === "function" && typeof client.addSidebarHeaderItem === "function"
|
|
346
|
-
);
|
|
347
|
-
}
|
|
348
|
-
|
|
349
337
|
export type SupervisorTone = "loading" | "healthy" | "warning" | "unavailable" | "unconfigured";
|
|
350
338
|
|
|
351
339
|
export interface SupervisorHealth {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omercnet/paseo-gas-city",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.244.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A Paseo control plane for observing and operating Gas City supervisors.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@biomejs/biome": "^2.5.10",
|
|
56
|
-
"@getpaseo/cli": "0.11.
|
|
57
|
-
"@getpaseo/client": "0.11.
|
|
58
|
-
"@getpaseo/plugin": "0.11.
|
|
59
|
-
"@getpaseo/protocol": "0.11.
|
|
56
|
+
"@getpaseo/cli": "0.11.1",
|
|
57
|
+
"@getpaseo/client": "0.11.1",
|
|
58
|
+
"@getpaseo/plugin": "0.11.1",
|
|
59
|
+
"@getpaseo/protocol": "0.11.1",
|
|
60
60
|
"@tanstack/react-query": "^5.102.3",
|
|
61
61
|
"@types/node": "^24.10.1",
|
|
62
62
|
"@types/react": "^19.2.18",
|
package/paseo-plugin.json
CHANGED