@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 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.9.0 || ^0.10.0 || ^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.
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.9.0 || ^0.10.0 || ^0.11.0`, whose server settings handle lets every daemon-side operation
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.9.0 || ^0.10.0 || ^0.11.0` with plugins enabled.
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.9.0 || ^0.10.0 || ^0.11.0`, install the npm package:
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
- Paseo 0.9 and 0.10 npm updates are reviewed before they are applied. Check for a candidate, then run the
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
@@ -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, supportsScreens } from "./view-model";
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.addSurface("gas-city", GasCitySurface),
26
- client.addSidebarItem({
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
- icon: "Factory",
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({ openSurface, openScreen }) {
59
- if (typeof openScreen === "function") openScreen({ screenId: "gas-city" });
60
- else openSurface("gas-city");
46
+ onSelect({ openScreen }) {
47
+ openScreen({ screenId: "gas-city" });
61
48
  },
62
49
  }),
63
50
  client.addCommandCenterItem({
@@ -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": "1.2.1",
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.0-beta.5",
57
- "@getpaseo/client": "0.11.0-beta.5",
58
- "@getpaseo/plugin": "0.11.0-beta.5",
59
- "@getpaseo/protocol": "0.11.0-beta.5",
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
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "id": "gas-city",
3
3
  "description": "A Paseo control plane for observing and operating Gas City supervisors.",
4
- "requirements": { "paseo": "^0.9.0 || ^0.10.0 || ^0.11.0" }
4
+ "requirements": { "paseo": "^0.11.0" }
5
5
  }