@xeonr/console-shell 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.
Files changed (53) hide show
  1. package/dist/AccountMenu.d.ts +5 -0
  2. package/dist/AccountMenu.d.ts.map +1 -0
  3. package/dist/AccountMenu.js +71 -0
  4. package/dist/AccountMenu.js.map +1 -0
  5. package/dist/CommandPalette.d.ts +8 -0
  6. package/dist/CommandPalette.d.ts.map +1 -0
  7. package/dist/CommandPalette.js +160 -0
  8. package/dist/CommandPalette.js.map +1 -0
  9. package/dist/ConsoleProvider.d.ts +36 -0
  10. package/dist/ConsoleProvider.d.ts.map +1 -0
  11. package/dist/ConsoleProvider.js +110 -0
  12. package/dist/ConsoleProvider.js.map +1 -0
  13. package/dist/ConsoleShell.d.ts +20 -0
  14. package/dist/ConsoleShell.d.ts.map +1 -0
  15. package/dist/ConsoleShell.js +81 -0
  16. package/dist/ConsoleShell.js.map +1 -0
  17. package/dist/Launcher.d.ts +7 -0
  18. package/dist/Launcher.d.ts.map +1 -0
  19. package/dist/Launcher.js +119 -0
  20. package/dist/Launcher.js.map +1 -0
  21. package/dist/ScopeRail.d.ts +11 -0
  22. package/dist/ScopeRail.d.ts.map +1 -0
  23. package/dist/ScopeRail.js +74 -0
  24. package/dist/ScopeRail.js.map +1 -0
  25. package/dist/SectionSidebar.d.ts +11 -0
  26. package/dist/SectionSidebar.d.ts.map +1 -0
  27. package/dist/SectionSidebar.js +67 -0
  28. package/dist/SectionSidebar.js.map +1 -0
  29. package/dist/TeamCard.d.ts +5 -0
  30. package/dist/TeamCard.d.ts.map +1 -0
  31. package/dist/TeamCard.js +109 -0
  32. package/dist/TeamCard.js.map +1 -0
  33. package/dist/TopBar.d.ts +13 -0
  34. package/dist/TopBar.d.ts.map +1 -0
  35. package/dist/TopBar.js +50 -0
  36. package/dist/TopBar.js.map +1 -0
  37. package/dist/client.d.ts +11 -0
  38. package/dist/client.d.ts.map +1 -0
  39. package/dist/client.js +71 -0
  40. package/dist/client.js.map +1 -0
  41. package/dist/index.d.ts +7 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +6 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/nav.d.ts +18 -0
  46. package/dist/nav.d.ts.map +1 -0
  47. package/dist/nav.js +8 -0
  48. package/dist/nav.js.map +1 -0
  49. package/dist/types.d.ts +76 -0
  50. package/dist/types.d.ts.map +1 -0
  51. package/dist/types.js +6 -0
  52. package/dist/types.js.map +1 -0
  53. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { ConsoleProvider, useConsole, useConsoleMaybe, MAX_PINNED, type ConsoleState, type ConsoleProviderProps } from "./ConsoleProvider.tsx";
2
+ export { ConsoleShell, type ConsoleShellProps } from "./ConsoleShell.tsx";
3
+ export { httpConsoleClient, mockConsoleClient, type MockFixtures } from "./client.ts";
4
+ export { sectionFor, type NavGroup, type NavItem } from "./nav.ts";
5
+ export type { Crumb } from "./TopBar.tsx";
6
+ export type * from "./types.ts";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACnE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,mBAAmB,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ // @xeonr/console-shell — the Xeonr Cloud Console chrome and context.
2
+ export { ConsoleProvider, useConsole, useConsoleMaybe, MAX_PINNED } from "./ConsoleProvider.js";
3
+ export { ConsoleShell } from "./ConsoleShell.js";
4
+ export { httpConsoleClient, mockConsoleClient } from "./client.js";
5
+ export { sectionFor } from "./nav.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAgD,MAAM,sBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAoB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,UAAU,EAA+B,MAAM,UAAU,CAAC"}
package/dist/nav.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ export interface NavItem {
2
+ key: string;
3
+ label: string;
4
+ icon: string;
5
+ /** path relative to the product's team root — "" is the overview index */
6
+ path: string;
7
+ /** rendered as a count pill when the product knows it */
8
+ count?: number | string | undefined;
9
+ /** opens on another host (e.g. members → auth portal); rendered with an external mark */
10
+ href?: string | undefined;
11
+ hidden?: boolean | undefined;
12
+ }
13
+ export interface NavGroup {
14
+ label?: string | undefined;
15
+ items: NavItem[];
16
+ }
17
+ export declare function sectionFor(groups: NavGroup[], relPath: string): NavItem | undefined;
18
+ //# sourceMappingURL=nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAInF"}
package/dist/nav.js ADDED
@@ -0,0 +1,8 @@
1
+ // The product's own section nav, in the shape container-platform/ui and
2
+ // functions/ui already use, so adopting the shell is handing over `NAV`.
3
+ export function sectionFor(groups, relPath) {
4
+ const first = relPath.replace(/^\//, "").split("/")[0] ?? "";
5
+ const all = groups.flatMap((g) => g.items);
6
+ return all.find((i) => i.path === first) ?? (first === "" ? all[0] : undefined);
7
+ }
8
+ //# sourceMappingURL=nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.js","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AAoBzE,MAAM,UAAU,UAAU,CAAC,MAAkB,EAAE,OAAe;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,76 @@
1
+ export type Scope = "personal" | "team" | "organisation";
2
+ export type ProductCategory = "Compute" | "Data" | "Developer tools" | "Networking" | "Observability" | "Identity & access";
3
+ export type ProductStatus = "live" | "coming_soon";
4
+ /** One row of auth's ConsoleService.ListProducts — an OAuthApplication flagged as a console product. */
5
+ export interface Product {
6
+ /** registry key, e.g. "functions"; also the shell's `product` prop */
7
+ key: string;
8
+ name: string;
9
+ /** origin for this environment, e.g. "https://functions.xeonr.io" */
10
+ origin: string;
11
+ /** semantic icon name from @xeonr/platform-ui (or one the product registered with extendIcons) */
12
+ icon: string;
13
+ /** brand accent for the tile; a token-safe hex the registry vets */
14
+ colour: string;
15
+ category: ProductCategory;
16
+ blurb: string;
17
+ status: ProductStatus;
18
+ scopes: Scope[];
19
+ pinnedByDefault: boolean;
20
+ /** true when the active team holds a live TeamApplicationBinding */
21
+ enabled: boolean;
22
+ /** true when the caller may self-serve a binding (automatic_team_binding + owner) */
23
+ canEnable: boolean;
24
+ }
25
+ export interface Team {
26
+ /** urn:xeonr:auth:team:<uuid> — the only key products store */
27
+ id: string;
28
+ slug: string;
29
+ name: string;
30
+ avatarUrl?: string | undefined;
31
+ /** team governance role */
32
+ role: "owner" | "member";
33
+ /** this product's team-typed application roles for the caller */
34
+ roles: string[];
35
+ }
36
+ export interface Me {
37
+ subject: string;
38
+ displayName: string;
39
+ email: string;
40
+ avatarUrl?: string | undefined;
41
+ teams: Team[];
42
+ /** auth's User.teams_version at the time the BFF minted the session */
43
+ teamsVersion: number;
44
+ isOrgAdmin: boolean;
45
+ }
46
+ export interface Invitation {
47
+ id: string;
48
+ team: Pick<Team, "id" | "slug" | "name" | "avatarUrl">;
49
+ invitedBy: string;
50
+ role: "owner" | "member";
51
+ expiresAt: string;
52
+ }
53
+ /** Server-truth for what travels between consoles (ConsoleService.GetContext). */
54
+ export interface ConsoleContext {
55
+ activeTeam: string | null;
56
+ pinnedProducts: string[];
57
+ theme: "system" | "light" | "dark";
58
+ }
59
+ export interface ConsoleClient {
60
+ me(): Promise<Me>;
61
+ listProducts(team: string | null): Promise<Product[]>;
62
+ getContext(): Promise<ConsoleContext>;
63
+ setContext(patch: Partial<ConsoleContext>): Promise<ConsoleContext>;
64
+ listMyInvitations(): Promise<Invitation[]>;
65
+ /** federated ⌘K, tier 2 — optional until products expose /console/search */
66
+ search?(query: string, team: string | null): Promise<SearchResult[]>;
67
+ }
68
+ export interface SearchResult {
69
+ product: string;
70
+ kind: "entity" | "action" | "team" | "navigation";
71
+ title: string;
72
+ subtitle?: string | undefined;
73
+ href: string;
74
+ icon?: string | undefined;
75
+ }
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ // The console's data contract. Everything here is what a product BFF returns
2
+ // from its /console/* proxy (which forwards to auth's ConsoleService with the
3
+ // server-held access token) and from its own /auth/me. The browser never
4
+ // talks to auth directly — see platform-documentation/console/docs/DESIGN.md §6.
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8EAA8E;AAC9E,yEAAyE;AACzE,iFAAiF"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@xeonr/console-shell",
3
+ "version": "0.1.0",
4
+ "description": "The Xeonr Cloud Console chrome: product rail, team switcher, section sidebar, top bar, ⌘K and the All-products launcher, plus the console context hooks every product console mounts.",
5
+ "license": "UNLICENSED",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "peerDependencies": {
18
+ "react": "^19.0.0",
19
+ "react-dom": "^19.0.0",
20
+ "react-router-dom": "^7.0.0",
21
+ "styled-components": "^6.0.0",
22
+ "@xeonr/platform-ui": "^0.1.0"
23
+ },
24
+ "devDependencies": {
25
+ "@types/react": "^19.1.0",
26
+ "@types/react-dom": "^19.1.0",
27
+ "react": "^19.1.0",
28
+ "react-dom": "^19.1.0",
29
+ "react-router-dom": "^7.8.0",
30
+ "styled-components": "^6.1.19",
31
+ "typescript": "^5.9.2",
32
+ "@xeonr/platform-ui": "0.1.0"
33
+ },
34
+ "scripts": {
35
+ "build": "tsc -p tsconfig.build.json",
36
+ "lint": "tsc -p tsconfig.json --noEmit && xeonr-check-colour-literals"
37
+ }
38
+ }