@ankhorage/studio 0.4.0 → 0.5.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.
Files changed (67) hide show
  1. package/README.md +1 -1
  2. package/dist/host/auth/projectAuthHealthService.d.ts +30 -0
  3. package/dist/host/auth/projectAuthHealthService.d.ts.map +1 -0
  4. package/dist/host/auth/projectAuthHealthService.js +46 -0
  5. package/dist/host/auth/projectAuthHealthService.js.map +1 -0
  6. package/dist/host/http/authRoutes.d.ts +1 -0
  7. package/dist/host/http/authRoutes.d.ts.map +1 -1
  8. package/dist/host/http/authRoutes.js +30 -0
  9. package/dist/host/http/authRoutes.js.map +1 -1
  10. package/dist/host/http/secretRoutes.d.ts.map +1 -1
  11. package/dist/host/http/secretRoutes.js +53 -2
  12. package/dist/host/http/secretRoutes.js.map +1 -1
  13. package/dist/host/http/serverWithSecrets.js +1 -1
  14. package/dist/host/http/serverWithSecrets.js.map +1 -1
  15. package/dist/host/index.d.ts +1 -0
  16. package/dist/host/index.d.ts.map +1 -1
  17. package/dist/host/index.js +1 -0
  18. package/dist/host/index.js.map +1 -1
  19. package/dist/host/layout/layoutGenerator.d.ts.map +1 -1
  20. package/dist/host/layout/layoutGenerator.js +8 -0
  21. package/dist/host/layout/layoutGenerator.js.map +1 -1
  22. package/dist/host/secrets/projectSecretService.d.ts +32 -1
  23. package/dist/host/secrets/projectSecretService.d.ts.map +1 -1
  24. package/dist/host/secrets/projectSecretService.js +83 -10
  25. package/dist/host/secrets/projectSecretService.js.map +1 -1
  26. package/dist/index.d.ts +4 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/projectAuthApi.d.ts +7 -0
  31. package/dist/projectAuthApi.d.ts.map +1 -1
  32. package/dist/projectAuthApi.js +120 -0
  33. package/dist/projectAuthApi.js.map +1 -1
  34. package/dist/projectAuthHealth.d.ts +38 -0
  35. package/dist/projectAuthHealth.d.ts.map +1 -0
  36. package/dist/projectAuthHealth.js +219 -0
  37. package/dist/projectAuthHealth.js.map +1 -0
  38. package/dist/projectSecretApi.d.ts +14 -1
  39. package/dist/projectSecretApi.d.ts.map +1 -1
  40. package/dist/projectSecretApi.js +75 -18
  41. package/dist/projectSecretApi.js.map +1 -1
  42. package/dist/projectSecretUsage.d.ts +19 -0
  43. package/dist/projectSecretUsage.d.ts.map +1 -0
  44. package/dist/projectSecretUsage.js +38 -0
  45. package/dist/projectSecretUsage.js.map +1 -0
  46. package/dist/root.d.ts +3 -0
  47. package/dist/root.d.ts.map +1 -1
  48. package/dist/root.js +3 -0
  49. package/dist/root.js.map +1 -1
  50. package/dist/secretResponseGuard.d.ts +8 -0
  51. package/dist/secretResponseGuard.d.ts.map +1 -0
  52. package/dist/secretResponseGuard.js +46 -0
  53. package/dist/secretResponseGuard.js.map +1 -0
  54. package/dist/studioAdminRouteModel.d.ts +5 -6
  55. package/dist/studioAdminRouteModel.d.ts.map +1 -1
  56. package/dist/studioAdminRouteModel.js.map +1 -1
  57. package/dist/ui/StudioAdminOverlay.d.ts +0 -4
  58. package/dist/ui/StudioAdminOverlay.d.ts.map +1 -1
  59. package/dist/ui/StudioAdminOverlay.js +125 -107
  60. package/dist/ui/StudioAdminOverlay.js.map +1 -1
  61. package/dist/ui/StudioAuthSettingsOverlay.d.ts.map +1 -1
  62. package/dist/ui/StudioAuthSettingsOverlay.js +228 -20
  63. package/dist/ui/StudioAuthSettingsOverlay.js.map +1 -1
  64. package/dist/ui/useStudioAppBarAugmentation.d.ts.map +1 -1
  65. package/dist/ui/useStudioAppBarAugmentation.js +14 -8
  66. package/dist/ui/useStudioAppBarAugmentation.js.map +1 -1
  67. package/package.json +11 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secretResponseGuard.d.ts","sourceRoot":"","sources":["../src/secretResponseGuard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,4FAQ3B,CAAC;AAIX,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAEzF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKhF"}
@@ -0,0 +1,46 @@
1
+ export const RAW_SECRET_RESPONSE_KEYS = [
2
+ 'clientSecret',
3
+ 'payload',
4
+ 'privateKey',
5
+ 'rawValue',
6
+ 'secret',
7
+ 'token',
8
+ 'value',
9
+ ];
10
+ const RAW_SECRET_RESPONSE_KEY_SET = new Set(RAW_SECRET_RESPONSE_KEYS);
11
+ export function findRawSecretResponseKey(value) {
12
+ return findRawSecretResponseKeyAtPath(value, '$', new Set());
13
+ }
14
+ export function assertMetadataOnlyResponse(value, message) {
15
+ const match = findRawSecretResponseKey(value);
16
+ if (match) {
17
+ throw new Error(`${message} Raw secret-shaped response field "${match.key}" at ${match.path}.`);
18
+ }
19
+ }
20
+ function findRawSecretResponseKeyAtPath(value, path, seen) {
21
+ if (typeof value !== 'object' || value === null) {
22
+ return null;
23
+ }
24
+ if (seen.has(value)) {
25
+ return null;
26
+ }
27
+ seen.add(value);
28
+ if (Array.isArray(value)) {
29
+ for (let index = 0; index < value.length; index += 1) {
30
+ const match = findRawSecretResponseKeyAtPath(value[index], `${path}[${index}]`, seen);
31
+ if (match)
32
+ return match;
33
+ }
34
+ return null;
35
+ }
36
+ for (const [key, nestedValue] of Object.entries(value)) {
37
+ if (RAW_SECRET_RESPONSE_KEY_SET.has(key)) {
38
+ return { path: `${path}.${key}`, key };
39
+ }
40
+ const match = findRawSecretResponseKeyAtPath(nestedValue, `${path}.${key}`, seen);
41
+ if (match)
42
+ return match;
43
+ }
44
+ return null;
45
+ }
46
+ //# sourceMappingURL=secretResponseGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secretResponseGuard.js","sourceRoot":"","sources":["../src/secretResponseGuard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,cAAc;IACd,SAAS;IACT,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;CACC,CAAC;AAEX,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAS,wBAAwB,CAAC,CAAC;AAO9E,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,8BAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc,EAAE,OAAe;IACxE,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,sCAAsC,KAAK,CAAC,GAAG,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,KAAc,EACd,IAAY,EACZ,IAAiB;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC;YACtF,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAClF,IAAI,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,GAAG,8BAA8B,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAClF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,22 +1,21 @@
1
1
  import type { StudioAdminRoutePath, StudioPanelId } from './index';
2
- export type StudioResolvedAdminRoutePath = StudioAdminRoutePath | '/ankh/secrets';
3
2
  export interface StudioAdminRouteRenderState {
4
- routeAdminPath: StudioResolvedAdminRoutePath | null;
5
- resolvedAdminRoutePath: StudioResolvedAdminRoutePath;
3
+ routeAdminPath: StudioAdminRoutePath | null;
4
+ resolvedAdminRoutePath: StudioAdminRoutePath;
6
5
  propertiesNodeId: string | null;
7
6
  shouldRenderAppContent: true;
8
7
  shouldRenderAdminOverlay: boolean;
9
8
  }
10
- export declare function resolveStudioAdminRoutePath(pathname: string): StudioResolvedAdminRoutePath | null;
9
+ export declare function resolveStudioAdminRoutePath(pathname: string): StudioAdminRoutePath | null;
11
10
  export declare function resolveStudioPropertiesNodeId(pathname: string): string | null;
12
11
  export declare function createStudioAdminRouteRenderState(args: {
13
12
  pathname: string;
14
13
  activeAdminRoutePath: StudioAdminRoutePath;
15
14
  }): StudioAdminRouteRenderState;
16
15
  export declare function openStudioAdminRoute(args: {
17
- next: Exclude<StudioResolvedAdminRoutePath, '/'>;
16
+ next: Exclude<StudioAdminRoutePath, '/'>;
18
17
  setActivePanelId: (panelId: StudioPanelId | null) => void;
19
- pushRoute: (routePath: Exclude<StudioResolvedAdminRoutePath, '/'>) => void;
18
+ pushRoute: (routePath: Exclude<StudioAdminRoutePath, '/'>) => void;
20
19
  }): void;
21
20
  export declare function createStudioPropertiesRoutePath(nodeId: string): `/ankh/properties/${string}`;
22
21
  //# sourceMappingURL=studioAdminRouteModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"studioAdminRouteModel.d.ts","sourceRoot":"","sources":["../src/studioAdminRouteModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACpD,sBAAsB,EAAE,4BAA4B,CAAC;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sBAAsB,EAAE,IAAI,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAKD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI,CAMjG;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe7E;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,GAAG,2BAA2B,CAW9B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAC5E,GAAG,IAAI,CAGP;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,MAAM,EAAE,CAE5F"}
1
+ {"version":3,"file":"studioAdminRouteModel.d.ts","sourceRoot":"","sources":["../src/studioAdminRouteModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sBAAsB,EAAE,IAAI,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAKD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAMzF;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe7E;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,GAAG,2BAA2B,CAW9B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACzC,gBAAgB,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACpE,GAAG,IAAI,CAGP;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,MAAM,EAAE,CAE5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"studioAdminRouteModel.js","sourceRoot":"","sources":["../src/studioAdminRouteModel.ts"],"names":[],"mappings":"AAYA,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAU,CAAC;AAChG,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACjD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC5D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAGjD;IACC,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,sBAAsB,GAAG,cAAc,IAAI,IAAI,CAAC,oBAAoB,CAAC;IAE3E,OAAO;QACL,cAAc;QACd,sBAAsB;QACtB,gBAAgB,EAAE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9D,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,sBAAsB,KAAK,GAAG;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAIpC;IACC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAAc;IAC5D,OAAO,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"studioAdminRouteModel.js","sourceRoot":"","sources":["../src/studioAdminRouteModel.ts"],"names":[],"mappings":"AAUA,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAU,CAAC;AAChG,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACjD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC5D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAGjD;IACC,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,sBAAsB,GAAG,cAAc,IAAI,IAAI,CAAC,oBAAoB,CAAC;IAE3E,OAAO;QACL,cAAc;QACd,sBAAsB;QACtB,gBAAgB,EAAE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9D,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,sBAAsB,KAAK,GAAG;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAIpC;IACC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAAc;IAC5D,OAAO,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,10 +1,6 @@
1
- import type { AppManifest } from '@ankhorage/contracts';
2
1
  import React from 'react';
3
- export type StudioPhase2AdminRoute = '/ankh/auth' | '/ankh/secrets';
4
2
  export interface StudioAdminOverlayProps {
5
- readonly route: StudioPhase2AdminRoute;
6
3
  readonly projectId: string;
7
- readonly manifest: AppManifest | null;
8
4
  readonly onClose: () => void;
9
5
  }
10
6
  export declare function StudioAdminOverlay(props: StudioAdminOverlayProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"StudioAdminOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/StudioAdminOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAQ7E,OAAO,KAAoD,MAAM,OAAO,CAAC;AAsBzE,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,eAAe,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAcD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBAqChE"}
1
+ {"version":3,"file":"StudioAdminOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/StudioAdminOverlay.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAsBjF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAmBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBA8BhE"}
@@ -1,35 +1,72 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getSupabaseOAuthProviderDefinition, SUPABASE_OAUTH_PROVIDER_IDS, } from '@ankhorage/supabase-auth';
3
2
  import { Heading, IconButton, Text, useZoraTheme } from '@ankhorage/zora';
4
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
5
- import { ActivityIndicator, Alert, Pressable, ScrollView, StyleSheet, Switch, TextInput, View, } from 'react-native';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { ActivityIndicator, Alert, Pressable, ScrollView, StyleSheet, TextInput, View, } from 'react-native';
6
5
  import { SafeAreaView } from 'react-native-safe-area-context';
7
- import { configureProjectOAuthProvider, createProjectSecret, listProjectSecrets, ProjectSecretApiError, removeProjectSecret, replaceProjectSecret, } from '../projectSecretApi';
6
+ import { createProjectSecret, getProjectSecretUsages, listProjectSecrets, ProjectSecretApiError, removeProjectSecret, replaceProjectSecret, } from '../projectSecretApi';
8
7
  let nextFieldId = 1;
9
8
  function createField(name = '') {
10
9
  return { id: nextFieldId++, name, value: '' };
11
10
  }
12
11
  export function StudioAdminOverlay(props) {
13
- const { route, projectId, manifest, onClose } = props;
12
+ const { projectId, onClose } = props;
14
13
  const { theme } = useZoraTheme();
15
- const authRoute = route === '/ankh/auth';
16
14
  return (_jsxs(SafeAreaView, { style: [
17
15
  styles.overlay,
18
16
  { backgroundColor: theme.colors.background, borderColor: theme.colors.border },
19
- ], children: [_jsxs(View, { style: [styles.header, { borderBottomColor: theme.colors.border }], children: [_jsxs(View, { style: styles.grow, children: [_jsx(Heading, { level: 2, text: authRoute ? 'Authentication' : 'Project secrets' }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: authRoute
20
- ? 'Configure OAuth providers without exposing stored credentials.'
21
- : 'Create, rotate, and explicitly remove server-side project secrets.' })] }), _jsx(IconButton, { icon: { name: 'close-outline' }, label: "Close administration", color: "neutral", variant: "ghost", onPress: onClose })] }), authRoute ? (_jsx(AuthAdmin, { projectId: projectId, manifest: manifest })) : (_jsx(SecretsAdmin, { projectId: projectId }))] }));
17
+ ], children: [_jsxs(View, { style: [styles.header, { borderBottomColor: theme.colors.border }], children: [_jsxs(View, { style: styles.grow, children: [_jsx(Heading, { level: 2, text: "Project secrets" }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: "Create, rotate, and explicitly remove server-side project secrets." })] }), _jsx(IconButton, { icon: { name: 'close-outline' }, label: "Close administration", color: "neutral", variant: "ghost", onPress: onClose })] }), _jsx(SecretsAdmin, { projectId: projectId })] }));
22
18
  }
23
19
  function SecretsAdmin({ projectId }) {
24
- const inventory = useSecretInventory(projectId);
20
+ const [inventoryEnvironment, setInventoryEnvironment] = useState('local');
21
+ const inventory = useSecretInventory(projectId, inventoryEnvironment);
25
22
  const [environment, setEnvironment] = useState('local');
26
23
  const [ref, setRef] = useState('');
27
24
  const [kind, setKind] = useState('api-key');
28
25
  const [provider, setProvider] = useState('');
26
+ const [kindFilter, setKindFilter] = useState('All');
27
+ const [providerFilter, setProviderFilter] = useState('All');
28
+ const [usageByKey, setUsageByKey] = useState({});
29
29
  const [fields, setFields] = useState([createField('value')]);
30
30
  const [replaceTarget, setReplaceTarget] = useState(null);
31
+ const [pendingDelete, setPendingDelete] = useState(null);
31
32
  const [message, setMessage] = useState(null);
32
33
  const [saving, setSaving] = useState(false);
34
+ const [deleting, setDeleting] = useState(false);
35
+ const kindOptions = useMemo(() => ['All', ...uniqueSorted(inventory.items.map((item) => item.kind))], [inventory.items]);
36
+ const providerOptions = useMemo(() => [
37
+ 'All',
38
+ ...uniqueSorted(inventory.items.map((item) => item.provider).filter(isPresentString)),
39
+ ], [inventory.items]);
40
+ const filteredItems = useMemo(() => inventory.items.filter((item) => (kindFilter === 'All' || item.kind === kindFilter) &&
41
+ (providerFilter === 'All' || item.provider === providerFilter)), [inventory.items, kindFilter, providerFilter]);
42
+ useEffect(() => {
43
+ let cancelled = false;
44
+ setUsageByKey(Object.fromEntries(inventory.items.map((item) => [secretInventoryKey(item), { status: 'loading' }])));
45
+ void (async () => {
46
+ const entries = await Promise.all(inventory.items.map(async (item) => {
47
+ try {
48
+ const summary = await getProjectSecretUsages({
49
+ projectId,
50
+ environment: item.scope.environment,
51
+ ref: item.ref,
52
+ });
53
+ return [secretInventoryKey(item), { status: 'loaded', summary }];
54
+ }
55
+ catch (error) {
56
+ return [
57
+ secretInventoryKey(item),
58
+ { status: 'error', message: toMessage(error) },
59
+ ];
60
+ }
61
+ }));
62
+ if (!cancelled) {
63
+ setUsageByKey(Object.fromEntries(entries));
64
+ }
65
+ })();
66
+ return () => {
67
+ cancelled = true;
68
+ };
69
+ }, [inventory.items, projectId]);
33
70
  const resetDraft = useCallback(() => {
34
71
  setRef('');
35
72
  setKind('api-key');
@@ -92,8 +129,24 @@ function SecretsAdmin({ projectId }) {
92
129
  setSaving(false);
93
130
  }
94
131
  }, [environment, fields, inventory, kind, projectId, provider, ref, replaceTarget, resetDraft]);
95
- const confirmRemove = useCallback((metadata) => {
96
- Alert.alert('Remove secret', `Remove ${metadata.ref}? Manifest references are not changed automatically.`, [
132
+ const confirmRemove = useCallback(async (metadata) => {
133
+ let usageSummary;
134
+ try {
135
+ usageSummary = await getProjectSecretUsages({
136
+ projectId,
137
+ environment: metadata.scope.environment,
138
+ ref: metadata.ref,
139
+ });
140
+ }
141
+ catch (error) {
142
+ setMessage(`Secret usage is unavailable. ${toMessage(error)}`);
143
+ return;
144
+ }
145
+ if (usageSummary.usages.length > 0) {
146
+ setPendingDelete({ metadata, usageSummary, confirmation: '' });
147
+ return;
148
+ }
149
+ Alert.alert('Remove secret', `Remove ${metadata.ref}?`, [
97
150
  { text: 'Cancel', style: 'cancel' },
98
151
  {
99
152
  text: 'Remove',
@@ -111,110 +164,63 @@ function SecretsAdmin({ projectId }) {
111
164
  },
112
165
  ]);
113
166
  }, [inventory.refresh, projectId]);
114
- return (_jsxs(ScrollView, { contentContainerStyle: styles.content, keyboardShouldPersistTaps: "handled", children: [_jsxs(Card, { title: replaceTarget ? 'Rotate secret' : 'Create secret', children: [_jsx(Field, { label: "Environment", children: _jsx(Input, { value: environment, onChangeText: setEnvironment }) }), _jsx(Field, { label: "Logical reference", children: _jsx(Input, { value: ref, editable: !replaceTarget, autoCapitalize: "none", placeholder: "services/example", onChangeText: setRef }) }), _jsxs(View, { style: styles.columns, children: [_jsx(View, { style: styles.column, children: _jsx(Field, { label: "Kind", children: _jsx(Input, { value: kind, editable: !replaceTarget, onChangeText: setKind }) }) }), _jsx(View, { style: styles.column, children: _jsx(Field, { label: "Provider (optional)", children: _jsx(Input, { value: provider, editable: !replaceTarget, onChangeText: setProvider }) }) })] }), _jsx(Text, { weight: "semiBold", children: "Complete payload" }), fields.map((field) => (_jsxs(View, { style: styles.payloadRow, children: [_jsx(View, { style: styles.payloadName, children: _jsx(Input, { value: field.name, editable: !replaceTarget, autoCapitalize: "none", placeholder: "fieldName", onChangeText: (name) => updateField(field.id, { name }) }) }), _jsx(View, { style: styles.grow, children: _jsx(Input, { value: field.value, secureTextEntry: true, autoCapitalize: "none", placeholder: "New value", onChangeText: (value) => updateField(field.id, { value }) }) }), _jsx(IconButton, { icon: { name: 'remove-circle-outline' }, label: "Remove field", color: "danger", variant: "ghost", disabled: replaceTarget !== null || fields.length === 1, onPress: () => setFields((current) => current.filter((candidate) => candidate.id !== field.id)) })] }, field.id))), _jsxs(View, { style: styles.actions, children: [!replaceTarget ? (_jsx(SecondaryButton, { label: "Add field", onPress: () => setFields((current) => [...current, createField()]) })) : (_jsx(SecondaryButton, { label: "Cancel rotation", onPress: resetDraft })), _jsx(PrimaryButton, { label: replaceTarget ? 'Rotate secret' : 'Create secret', loading: saving, onPress: () => void save() })] }), message ? _jsx(Message, { text: message }) : null] }), _jsxs(Card, { title: "Secret inventory", children: [_jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: "Only metadata and configured field names are available to the browser." }), inventory.loading ? _jsx(ActivityIndicator, {}) : null, inventory.error ? _jsx(Message, { text: inventory.error }) : null, inventory.items.map((metadata) => (_jsx(InventoryRow, { metadata: metadata, onRotate: () => beginRotation(metadata), onRemove: () => confirmRemove(metadata) }, `${metadata.scope.environment}:${metadata.ref}`))), !inventory.loading && inventory.items.length === 0 ? (_jsx(Text, { color: "neutral", emphasis: "muted", children: "No local project secrets configured." })) : null] })] }));
115
- }
116
- function AuthAdmin(props) {
117
- const { projectId, manifest } = props;
118
- const inventory = useSecretInventory(projectId);
119
- const [providerId, setProviderId] = useState('google');
120
- const [enabled, setEnabled] = useState(true);
121
- const [label, setLabel] = useState('Google');
122
- const [scopes, setScopes] = useState('openid, email, profile');
123
- const [callbackRoute, setCallbackRoute] = useState('/auth/callback');
124
- const [values, setValues] = useState({});
125
- const [message, setMessage] = useState(null);
126
- const [saving, setSaving] = useState(false);
127
- const definition = getSupabaseOAuthProviderDefinition(providerId);
128
- const providerConfig = manifest?.infra.auth?.oauth?.providers.find((provider) => provider.id === providerId);
129
- const credentialsRef = providerConfig?.credentialsRef ?? `auth/oauth/${providerId}`;
130
- const metadata = inventory.items.find((item) => item.ref === credentialsRef);
131
- const requiredFields = definition?.secretFields.map((field) => field.name) ?? [];
132
- const configured = metadata !== undefined &&
133
- requiredFields.every((name) => metadata.configuredFields.includes(name));
134
- useEffect(() => {
135
- const currentDefinition = getSupabaseOAuthProviderDefinition(providerId);
136
- const currentConfig = manifest?.infra.auth?.oauth?.providers.find((provider) => provider.id === providerId);
137
- setEnabled(currentConfig?.enabled ?? true);
138
- setLabel(currentConfig?.label ?? currentDefinition?.label ?? providerId);
139
- setScopes((currentConfig?.scopes ?? currentDefinition?.defaultScopes ?? []).join(', '));
140
- setCallbackRoute(manifest?.infra.auth?.oauth?.callbackRoute ?? '/auth/callback');
141
- setValues({});
142
- setMessage(null);
143
- }, [manifest, providerId]);
144
- const save = useCallback(async () => {
145
- if (!definition) {
146
- setMessage('The selected OAuth provider is not supported.');
147
- return;
148
- }
149
- const entries = definition.secretFields.map((field) => [field.name, values[field.name] ?? '']);
150
- if (entries.some(([, value]) => !value)) {
151
- setMessage('Enter a complete credential payload. Existing values cannot be merged.');
167
+ const confirmBrokenReferenceDelete = useCallback(async () => {
168
+ if (!pendingDelete || pendingDelete.confirmation !== pendingDelete.metadata.ref) {
152
169
  return;
153
170
  }
154
- setSaving(true);
155
- setMessage(null);
171
+ setDeleting(true);
156
172
  try {
157
- const result = await configureProjectOAuthProvider({
173
+ await removeProjectSecret({
158
174
  projectId,
159
- providerId: providerId,
160
- environment: 'local',
161
- credentialsRef,
162
- enabled,
163
- label,
164
- scopes: scopes
165
- .split(',')
166
- .map((scope) => scope.trim())
167
- .filter(Boolean),
168
- callbackRoute,
169
- payload: Object.freeze(Object.fromEntries(entries)),
175
+ environment: pendingDelete.metadata.scope.environment,
176
+ ref: pendingDelete.metadata.ref,
177
+ confirmBrokenReferences: true,
170
178
  });
171
- setMessage(result.ok
172
- ? `${definition.label} credentials saved through ${result.credentialsRef}.`
173
- : result.error.message);
174
179
  await inventory.refresh();
180
+ setMessage(`Removed ${pendingDelete.metadata.ref}. Manifest references were not changed.`);
181
+ setPendingDelete(null);
175
182
  }
176
183
  catch (error) {
177
184
  setMessage(toMessage(error));
178
185
  }
179
186
  finally {
180
- setValues({});
181
- setSaving(false);
187
+ setDeleting(false);
182
188
  }
183
- }, [
184
- callbackRoute,
185
- credentialsRef,
186
- definition,
187
- enabled,
188
- inventory,
189
- label,
190
- projectId,
191
- providerId,
192
- scopes,
193
- values,
194
- ]);
195
- return (_jsxs(ScrollView, { contentContainerStyle: styles.content, keyboardShouldPersistTaps: "handled", children: [_jsxs(Card, { title: "Authentication overview", children: [_jsx(KeyValue, { label: "Provider", value: manifest?.infra.auth?.provider ?? 'Not configured' }), _jsx(KeyValue, { label: "Sign-in identifiers", value: (manifest?.infra.auth?.signIn?.identifiers ?? ['email']).join(', ') }), _jsx(KeyValue, { label: "Sign-in route", value: manifest?.infra.auth?.flow?.signInRoute ?? 'Canonical default' }), _jsx(KeyValue, { label: "Profile table", value: manifest?.infra.auth?.profile?.table ?? 'Not configured' })] }), _jsxs(Card, { title: "OAuth provider credentials", children: [_jsx(View, { style: styles.providerTabs, children: SUPABASE_OAUTH_PROVIDER_IDS.map((id) => (_jsx(ProviderTab, { id: id, selected: id === providerId, configured: inventory.items.some((item) => item.ref === `auth/oauth/${id}`), onPress: () => setProviderId(id) }, id))) }), _jsxs(View, { style: styles.switchRow, children: [_jsxs(View, { style: styles.grow, children: [_jsxs(Text, { weight: "semiBold", children: ["Enable ", definition?.label ?? providerId] }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Disabling does not delete the stored secret." })] }), _jsx(Switch, { value: enabled, onValueChange: setEnabled })] }), _jsx(Field, { label: "Label", children: _jsx(Input, { value: label, onChangeText: setLabel }) }), _jsx(Field, { label: "Callback route", children: _jsx(Input, { value: callbackRoute, autoCapitalize: "none", onChangeText: setCallbackRoute }) }), _jsx(Field, { label: "Scopes (comma-separated)", children: _jsx(Input, { value: scopes, autoCapitalize: "none", onChangeText: setScopes }) }), _jsx(Text, { color: configured ? 'success' : 'warning', variant: "bodySmall", children: configured
196
- ? `Configured fields: ${metadata?.configuredFields.join(', ')}`
197
- : `Required fields: ${requiredFields.join(', ')}` }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Existing values are never loaded. Saving always performs a complete replacement." }), definition?.secretFields.map((field) => (_jsx(Field, { label: field.label, children: _jsx(Input, { value: values[field.name] ?? '', secureTextEntry: field.secret, autoCapitalize: "none", placeholder: configured ? 'Enter complete replacement value' : field.label, onChangeText: (value) => setValues((current) => ({ ...current, [field.name]: value })) }) }, field.name))), _jsx(View, { style: styles.actions, children: _jsx(PrimaryButton, { label: configured ? 'Replace credentials' : 'Save provider', loading: saving, onPress: () => void save() }) }), inventory.error ? _jsx(Message, { text: inventory.error }) : null, message ? _jsx(Message, { text: message }) : null] })] }));
189
+ }, [inventory, pendingDelete, projectId]);
190
+ return (_jsxs(ScrollView, { contentContainerStyle: styles.content, keyboardShouldPersistTaps: "handled", children: [_jsxs(Card, { title: replaceTarget ? 'Rotate secret' : 'Create secret', children: [_jsx(Field, { label: "Environment", children: _jsx(Input, { value: environment, onChangeText: setEnvironment }) }), _jsx(Field, { label: "Logical reference", children: _jsx(Input, { value: ref, editable: !replaceTarget, autoCapitalize: "none", placeholder: "services/example", onChangeText: setRef }) }), _jsxs(View, { style: styles.columns, children: [_jsx(View, { style: styles.column, children: _jsx(Field, { label: "Kind", children: _jsx(Input, { value: kind, editable: !replaceTarget, onChangeText: setKind }) }) }), _jsx(View, { style: styles.column, children: _jsx(Field, { label: "Provider (optional)", children: _jsx(Input, { value: provider, editable: !replaceTarget, onChangeText: setProvider }) }) })] }), _jsx(Text, { weight: "semiBold", children: "Complete payload" }), fields.map((field) => (_jsxs(View, { style: styles.payloadRow, children: [_jsx(View, { style: styles.payloadName, children: _jsx(Input, { value: field.name, editable: !replaceTarget, autoCapitalize: "none", placeholder: "fieldName", onChangeText: (name) => updateField(field.id, { name }) }) }), _jsx(View, { style: styles.grow, children: _jsx(Input, { value: field.value, secureTextEntry: true, autoCapitalize: "none", placeholder: "New value", onChangeText: (value) => updateField(field.id, { value }) }) }), _jsx(IconButton, { icon: { name: 'remove-circle-outline' }, label: "Remove field", color: "danger", variant: "ghost", disabled: replaceTarget !== null || fields.length === 1, onPress: () => setFields((current) => current.filter((candidate) => candidate.id !== field.id)) })] }, field.id))), _jsxs(View, { style: styles.actions, children: [!replaceTarget ? (_jsx(SecondaryButton, { label: "Add field", onPress: () => setFields((current) => [...current, createField()]) })) : (_jsx(SecondaryButton, { label: "Cancel rotation", onPress: resetDraft })), _jsx(PrimaryButton, { label: replaceTarget ? 'Rotate secret' : 'Create secret', loading: saving, onPress: () => void save() })] }), message ? _jsx(Message, { text: message }) : null] }), _jsxs(Card, { title: "Secret inventory", children: [_jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: "Only metadata and configured field names are available to the browser." }), _jsxs(View, { style: styles.columns, children: [_jsx(View, { style: styles.column, children: _jsx(Field, { label: "Environment filter", children: _jsx(Input, { value: inventoryEnvironment, autoCapitalize: "none", onChangeText: setInventoryEnvironment }) }) }), _jsxs(View, { style: styles.column, children: [_jsx(Text, { variant: "bodySmall", weight: "semiBold", children: "Kind" }), _jsx(FilterPills, { options: kindOptions, value: kindFilter, onChange: setKindFilter })] }), _jsxs(View, { style: styles.column, children: [_jsx(Text, { variant: "bodySmall", weight: "semiBold", children: "Provider" }), _jsx(FilterPills, { options: providerOptions, value: providerFilter, onChange: setProviderFilter })] })] }), inventory.loading ? _jsx(ActivityIndicator, {}) : null, inventory.error ? _jsx(Message, { text: inventory.error }) : null, filteredItems.map((metadata) => (_jsx(InventoryRow, { metadata: metadata, usageState: usageByKey[secretInventoryKey(metadata)], onRotate: () => beginRotation(metadata), onRemove: () => void confirmRemove(metadata) }, `${metadata.scope.environment}:${metadata.ref}`))), !inventory.loading && inventory.items.length === 0 ? (_jsx(Text, { color: "neutral", emphasis: "muted", children: "No project secrets configured for this environment." })) : null, !inventory.loading && inventory.items.length > 0 && filteredItems.length === 0 ? (_jsx(Text, { color: "neutral", emphasis: "muted", children: "No project secrets match the selected filters." })) : null] }), pendingDelete ? (_jsxs(Card, { title: "Delete in-use secret", children: [_jsx(Text, { color: "danger", variant: "bodySmall", weight: "semiBold", children: "References will remain and become broken. No manifest cleanup will be performed." }), _jsxs(Text, { variant: "bodySmall", children: ["Logical ref: ", pendingDelete.metadata.ref] }), pendingDelete.usageSummary.usages.map((usage) => (_jsxs(View, { style: styles.usageRow, children: [_jsx(Text, { weight: "semiBold", children: usage.label }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: usage.path }), _jsxs(Text, { color: usage.breaksWhenMissing ? 'danger' : 'neutral', variant: "caption", children: ["Breaking when missing: ", usage.breaksWhenMissing ? 'yes' : 'no'] })] }, `${usage.path}:${usage.label}`))), _jsx(Field, { label: "Type the full logical ref to confirm", children: _jsx(Input, { value: pendingDelete.confirmation, autoCapitalize: "none", onChangeText: (confirmation) => setPendingDelete((current) => (current ? { ...current, confirmation } : current)) }) }), _jsxs(View, { style: styles.actions, children: [_jsx(SecondaryButton, { label: "Cancel", onPress: () => setPendingDelete(null) }), _jsx(PrimaryButton, { label: "Delete and leave references", loading: deleting, disabled: pendingDelete.confirmation !== pendingDelete.metadata.ref, onPress: () => void confirmBrokenReferenceDelete() })] })] })) : null] }));
198
191
  }
199
- function useSecretInventory(projectId) {
192
+ function useSecretInventory(projectId, environment) {
200
193
  const [items, setItems] = useState([]);
201
194
  const [loading, setLoading] = useState(true);
202
195
  const [error, setError] = useState(null);
196
+ const requestGeneration = useRef(0);
203
197
  const refresh = useCallback(async () => {
198
+ const generation = ++requestGeneration.current;
199
+ setItems([]);
204
200
  setLoading(true);
201
+ setError(null);
205
202
  try {
206
- setItems(await listProjectSecrets({ projectId, environment: 'local' }));
207
- setError(null);
203
+ const nextItems = await listProjectSecrets({ projectId, environment });
204
+ if (generation !== requestGeneration.current)
205
+ return;
206
+ setItems(nextItems);
208
207
  }
209
208
  catch (caught) {
209
+ if (generation !== requestGeneration.current)
210
+ return;
211
+ setItems([]);
210
212
  setError(toMessage(caught));
211
213
  }
212
214
  finally {
213
- setLoading(false);
215
+ if (generation === requestGeneration.current)
216
+ setLoading(false);
214
217
  }
215
- }, [projectId]);
218
+ }, [environment, projectId]);
216
219
  useEffect(() => {
217
220
  void refresh();
221
+ return () => {
222
+ requestGeneration.current += 1;
223
+ };
218
224
  }, [refresh]);
219
225
  return useMemo(() => ({ items, loading, error, refresh }), [error, items, loading, refresh]);
220
226
  }
@@ -243,31 +249,35 @@ function Input(props) {
243
249
  function InventoryRow(props) {
244
250
  const { theme } = useZoraTheme();
245
251
  const { metadata } = props;
246
- return (_jsxs(View, { style: [styles.inventoryRow, { borderColor: theme.colors.border }], children: [_jsxs(View, { style: styles.grow, children: [_jsx(Text, { weight: "semiBold", children: metadata.ref }), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: [metadata.scope.environment, " \u00B7 ", metadata.kind, metadata.provider ? ` · ${metadata.provider}` : ''] }), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: ["Fields: ", metadata.configuredFields.join(', ') || 'none'] })] }), _jsxs(View, { style: styles.rowActions, children: [_jsx(SecondaryButton, { label: "Rotate", compact: true, onPress: props.onRotate }), _jsx(SecondaryButton, { label: "Remove", compact: true, danger: true, onPress: props.onRemove })] })] }));
247
- }
248
- function ProviderTab(props) {
249
- const { theme } = useZoraTheme();
250
- const definition = getSupabaseOAuthProviderDefinition(props.id);
251
- return (_jsxs(Pressable, { onPress: props.onPress, style: [
252
- styles.providerTab,
253
- { borderColor: props.selected ? theme.colors.primary : theme.colors.border },
254
- ], children: [_jsx(Text, { weight: "semiBold", children: definition?.label ?? props.id }), _jsx(Text, { color: props.configured ? 'success' : 'neutral', emphasis: "muted", variant: "caption", children: props.configured ? 'Configured' : 'Not configured' })] }));
252
+ const [expanded, setExpanded] = useState(false);
253
+ const usageSummary = props.usageState?.status === 'loaded' ? props.usageState.summary : null;
254
+ const usageCount = usageSummary?.usages.length ?? 0;
255
+ return (_jsxs(View, { style: [styles.inventoryRow, { borderColor: theme.colors.border }], children: [_jsxs(View, { style: styles.grow, children: [_jsx(Text, { weight: "semiBold", children: metadata.ref }), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: [metadata.scope.environment, " \u00B7 ", metadata.kind, metadata.provider ? ` · ${metadata.provider}` : ''] }), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: ["Fields: ", metadata.configuredFields.join(', ') || 'none'] }), props.usageState?.status === 'loaded' ? (_jsxs(Text, { color: usageCount > 0 ? 'warning' : 'neutral', emphasis: "muted", variant: "caption", children: ["Usage count: ", usageCount] })) : props.usageState?.status === 'error' ? (_jsxs(Text, { color: "warning", emphasis: "muted", variant: "caption", children: ["Usage unavailable: ", props.usageState.message] })) : (_jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Usage loading" })), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: ["Created: ", metadata.createdAt, " \u00B7 Updated: ", metadata.updatedAt] }), props.usageState?.status === 'loaded' ? (_jsx(Text, { color: usageCount > 0 ? 'warning' : 'success', variant: "caption", children: usageCount > 0 ? 'Referenced by project configuration' : 'No detected references' })) : (_jsx(Text, { color: "warning", variant: "caption", children: "Reference status unavailable" })), expanded && usageSummary
256
+ ? usageSummary.usages.map((usage) => (_jsxs(View, { style: styles.usageRow, children: [_jsx(Text, { weight: "semiBold", children: usage.label }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: usage.path }), _jsxs(Text, { color: usage.breaksWhenMissing ? 'danger' : 'neutral', variant: "caption", children: ["Breaking when missing: ", usage.breaksWhenMissing ? 'yes' : 'no'] })] }, `${usage.path}:${usage.label}`)))
257
+ : null] }), _jsxs(View, { style: styles.rowActions, children: [_jsx(SecondaryButton, { label: expanded ? 'Hide usage' : 'Usage', compact: true, onPress: () => setExpanded((current) => !current) }), _jsx(SecondaryButton, { label: "Rotate", compact: true, onPress: props.onRotate }), _jsx(SecondaryButton, { label: "Remove", compact: true, danger: true, onPress: props.onRemove })] })] }));
255
258
  }
256
259
  function PrimaryButton(props) {
257
260
  const { theme } = useZoraTheme();
258
- return (_jsx(Pressable, { disabled: props.loading, onPress: props.onPress, style: [styles.primaryButton, { backgroundColor: theme.colors.primary }], children: props.loading ? (_jsx(ActivityIndicator, { color: "#ffffff" })) : (_jsx(Text, { emphasis: "inverse", weight: "semiBold", children: props.label })) }));
261
+ return (_jsx(Pressable, { disabled: props.loading || props.disabled === true, onPress: props.onPress, style: [
262
+ styles.primaryButton,
263
+ { backgroundColor: theme.colors.primary },
264
+ props.disabled ? styles.disabledButton : null,
265
+ ], children: props.loading ? (_jsx(ActivityIndicator, { color: "#ffffff" })) : (_jsx(Text, { emphasis: "inverse", weight: "semiBold", children: props.label })) }));
266
+ }
267
+ function FilterPills(props) {
268
+ return (_jsx(View, { style: styles.filterPills, children: props.options.map((option) => (_jsx(SecondaryButton, { label: option, compact: true, selected: props.value === option, onPress: () => props.onChange(option) }, option))) }));
259
269
  }
260
270
  function SecondaryButton(props) {
261
271
  const { theme } = useZoraTheme();
262
272
  return (_jsx(Pressable, { onPress: props.onPress, style: [
263
273
  styles.secondaryButton,
264
274
  props.compact ? styles.compactButton : null,
265
- { borderColor: theme.colors.border },
275
+ {
276
+ borderColor: props.selected ? theme.colors.primary : theme.colors.border,
277
+ backgroundColor: props.selected ? theme.colors.surface : 'transparent',
278
+ },
266
279
  ], children: _jsx(Text, { color: props.danger ? 'danger' : 'neutral', variant: "bodySmall", weight: "semiBold", children: props.label }) }));
267
280
  }
268
- function KeyValue(props) {
269
- return (_jsxs(View, { style: styles.keyValue, children: [_jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: props.label }), _jsx(Text, { align: "right", variant: "bodySmall", weight: "semiBold", children: props.value })] }));
270
- }
271
281
  function Message({ text }) {
272
282
  const { theme } = useZoraTheme();
273
283
  return (_jsx(View, { style: [styles.message, { borderColor: theme.colors.border }], children: _jsx(Text, { variant: "bodySmall", children: text }) }));
@@ -277,6 +287,15 @@ function toMessage(error) {
277
287
  return error.message;
278
288
  return 'The Studio secret operation failed.';
279
289
  }
290
+ function secretInventoryKey(metadata) {
291
+ return `${metadata.scope.environment}:${metadata.ref}`;
292
+ }
293
+ function uniqueSorted(values) {
294
+ return [...new Set(values)].sort((left, right) => left.localeCompare(right));
295
+ }
296
+ function isPresentString(value) {
297
+ return typeof value === 'string' && value.length > 0;
298
+ }
280
299
  const styles = StyleSheet.create({
281
300
  overlay: {
282
301
  ...StyleSheet.absoluteFillObject,
@@ -330,6 +349,7 @@ const styles = StyleSheet.create({
330
349
  alignItems: 'center',
331
350
  justifyContent: 'center',
332
351
  },
352
+ disabledButton: { opacity: 0.5 },
333
353
  secondaryButton: {
334
354
  minHeight: 42,
335
355
  borderWidth: 1,
@@ -351,9 +371,7 @@ const styles = StyleSheet.create({
351
371
  gap: 12,
352
372
  },
353
373
  rowActions: { flexDirection: 'row', gap: 8 },
354
- providerTabs: { flexDirection: 'row', flexWrap: 'wrap', gap: 10 },
355
- providerTab: { minWidth: 150, borderWidth: 1, borderRadius: 10, padding: 12, gap: 3 },
356
- switchRow: { flexDirection: 'row', alignItems: 'center', gap: 16 },
357
- keyValue: { flexDirection: 'row', justifyContent: 'space-between', gap: 16 },
374
+ filterPills: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 },
375
+ usageRow: { gap: 2, paddingVertical: 6 },
358
376
  });
359
377
  //# sourceMappingURL=StudioAdminOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StudioAdminOverlay.js","sourceRoot":"","sources":["../../src/ui/StudioAdminOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StudioAdminOverlay.js","sourceRoot":"","sources":["../../src/ui/StudioAdminOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StudioAuthSettingsOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/StudioAuthSettingsOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAO3E,OAAO,KAAoD,MAAM,OAAO,CAAC;AAoBzE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAaD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,qBAqa9E"}
1
+ {"version":3,"file":"StudioAuthSettingsOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/StudioAuthSettingsOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAA2C,MAAM,OAAO,CAAC;AAsBhE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAqBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,qBA0f9E"}