@gaia-ai/addon-gaia-ui 0.11.2 → 0.11.3

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.
@@ -92,10 +92,12 @@ export declare const PROJECT_TABLE: {
92
92
  * A CLOSED VOCABULARY, and deliberately unbounded for that reason — the
93
93
  * same shape of argument the run list's STATE gives.
94
94
  *
95
- * `ConductorStatus` is `running | stale | offline | registry-only`, whose
96
- * longest member is 13 characters, so a width of 14 already shows every one
97
- * of them whole. A `max` would be a constant nobody reads and a `grow` would
98
- * have nothing left to reach.
95
+ * `ConductorLiveness` is `online | stale | offline` (GAIA-450 D11 renamed
96
+ * the fresh state from `running`; the `registry-only` fourth state went
97
+ * with the local registry), whose longest member is 7 characters, so the
98
+ * width of 14 this column has always had shows every one of them whole
99
+ * with room to spare. A `max` would be a constant nobody reads and a
100
+ * `grow` would have nothing left to reach.
99
101
  */
100
102
  readonly key: "status";
101
103
  readonly label: "STATUS";
@@ -133,7 +135,7 @@ export declare const PROJECT_TABLE: {
133
135
  * `gaia_conductor` entities (read is owner-gated, so this is already scoped to
134
136
  * the current user's conductors — no local registry needed), sideload their
135
137
  * `project_id`, group by project name, and report each project's liveliest
136
- * conductor (running > stale > offline). Everything is a Drupal entity read
138
+ * conductor (online > stale > offline). Everything is a Drupal entity read
137
139
  * through `services.client` (AC-5); the screen itself stays a screen/route.
138
140
  */
139
141
  export declare function loadProjectRows({ client, nowSeconds, }: {
@@ -22,7 +22,7 @@ function singleRelId(rel) {
22
22
  // Most-alive-first ranking so a project with several conductors reports its
23
23
  // liveliest one, not whichever the collection happened to return first.
24
24
  const STATUS_RANK = {
25
- running: 0,
25
+ online: 0,
26
26
  stale: 1,
27
27
  offline: 2,
28
28
  'registry-only': 3,
@@ -101,10 +101,12 @@ export const PROJECT_TABLE = {
101
101
  * A CLOSED VOCABULARY, and deliberately unbounded for that reason — the
102
102
  * same shape of argument the run list's STATE gives.
103
103
  *
104
- * `ConductorStatus` is `running | stale | offline | registry-only`, whose
105
- * longest member is 13 characters, so a width of 14 already shows every one
106
- * of them whole. A `max` would be a constant nobody reads and a `grow` would
107
- * have nothing left to reach.
104
+ * `ConductorLiveness` is `online | stale | offline` (GAIA-450 D11 renamed
105
+ * the fresh state from `running`; the `registry-only` fourth state went
106
+ * with the local registry), whose longest member is 7 characters, so the
107
+ * width of 14 this column has always had shows every one of them whole
108
+ * with room to spare. A `max` would be a constant nobody reads and a
109
+ * `grow` would have nothing left to reach.
108
110
  */
109
111
  key: 'status',
110
112
  label: 'STATUS',
@@ -144,7 +146,7 @@ export const PROJECT_TABLE = {
144
146
  * `gaia_conductor` entities (read is owner-gated, so this is already scoped to
145
147
  * the current user's conductors — no local registry needed), sideload their
146
148
  * `project_id`, group by project name, and report each project's liveliest
147
- * conductor (running > stale > offline). Everything is a Drupal entity read
149
+ * conductor (online > stale > offline). Everything is a Drupal entity read
148
150
  * through `services.client` (AC-5); the screen itself stays a screen/route.
149
151
  */
150
152
  export async function loadProjectRows({ client, nowSeconds, }) {
@@ -15,6 +15,14 @@ export declare const SPLASH_FRAME_WIDTH: number;
15
15
  /**
16
16
  * Centered BORDER box with an ASCIIFont GAIA mark — modal-like, not a wash.
17
17
  * Font is OpenTUI block letters; the terminal typeface is unchanged.
18
+ *
19
+ * `position: 'absolute'` is load-bearing: the splash is mounted into the SAME
20
+ * `shell` that `createRegions` has already filled with `region-chrome`,
21
+ * `region-body` (`flexGrow: 1`) and `region-footer`. A column child would take a
22
+ * SLICE of the terminal beside the body's grow and land off-centre; out of the
23
+ * flow it fills the whole shell (`inset 0`, `100%` × `100%`) and its own
24
+ * `justifyContent`/`alignItems: center` place the frame in the true middle —
25
+ * the same treatment `region-modal` gets (`regions.ts`).
18
26
  */
19
27
  export declare const splashTree: () => VNode;
20
28
  export type SplashWait = (ms: number) => Promise<void>;
@@ -21,11 +21,21 @@ export const SPLASH_FRAME_WIDTH = splashMarkSize.width + SPLASH_FRAME_PAD_X * 2
21
21
  /**
22
22
  * Centered BORDER box with an ASCIIFont GAIA mark — modal-like, not a wash.
23
23
  * Font is OpenTUI block letters; the terminal typeface is unchanged.
24
+ *
25
+ * `position: 'absolute'` is load-bearing: the splash is mounted into the SAME
26
+ * `shell` that `createRegions` has already filled with `region-chrome`,
27
+ * `region-body` (`flexGrow: 1`) and `region-footer`. A column child would take a
28
+ * SLICE of the terminal beside the body's grow and land off-centre; out of the
29
+ * flow it fills the whole shell (`inset 0`, `100%` × `100%`) and its own
30
+ * `justifyContent`/`alignItems: center` place the frame in the true middle —
31
+ * the same treatment `region-modal` gets (`regions.ts`).
24
32
  */
25
33
  export const splashTree = () => h(BoxRenderable, {
26
34
  id: 'splash-root',
35
+ position: 'absolute',
36
+ left: 0,
37
+ top: 0,
27
38
  flexDirection: 'column',
28
- flexGrow: 1,
29
39
  width: '100%',
30
40
  height: '100%',
31
41
  justifyContent: 'center',
@@ -1,4 +1,5 @@
1
1
  import { ConductorsScreen } from '../Entity/conductor/Screen/conductors.js';
2
+ import { ProjectConductorsScreen } from '../Entity/conductor/Screen/project-conductors.js';
2
3
  import { ProjectPickerScreen } from '../Entity/project/Screen/project-picker.js';
3
4
  import { ProjectsScreen } from '../Entity/project/Screen/projects-screen.js';
4
5
  import { RunDetailScreen } from '../Entity/run/Screen/run-detail.js';
@@ -65,6 +66,7 @@ export const routes = defineRoutes([
65
66
  TicketAgentsScreen,
66
67
  WhoFilterScreen,
67
68
  RunsScreen,
69
+ ProjectConductorsScreen,
68
70
  TicketDetailScreen,
69
71
  RunDetailScreen,
70
72
  // No instance-wide `UsersScreen` any more: the users LIST is the team
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gaia-ai/addon-gaia-ui",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
4
4
  "description": "GAIA TUI: interactive terminal UI (dashboard, projects, tickets) as a dropsh `tui` renderer plugin.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,6 +26,6 @@
26
26
  "drupal-jsonapi-params": "^3.0.1"
27
27
  },
28
28
  "peerDependencies": {
29
- "@gaia-ai/core": "^0.11.2"
29
+ "@gaia-ai/core": "^0.11.3"
30
30
  }
31
31
  }