@kortix/sdk 0.12.6 → 0.12.8

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 (112) hide show
  1. package/README.md +16 -1
  2. package/dist/browser/stores/sync-store/stream-cache.d.ts +29 -0
  3. package/dist/browser/stores/sync-store/stream-cache.d.ts.map +1 -1
  4. package/dist/browser/stores/sync-store/stream-cache.js +127 -18
  5. package/dist/browser/stores/sync-store/stream-cache.js.map +1 -1
  6. package/dist/core/client/kortix.d.ts +28 -13
  7. package/dist/core/client/kortix.d.ts.map +1 -1
  8. package/dist/core/client/kortix.js +13 -1
  9. package/dist/core/client/kortix.js.map +1 -1
  10. package/dist/core/http/api/errors.d.ts +26 -0
  11. package/dist/core/http/api/errors.d.ts.map +1 -1
  12. package/dist/core/http/api/errors.js +44 -0
  13. package/dist/core/http/api/errors.js.map +1 -1
  14. package/dist/core/http/api-client.d.ts +37 -1
  15. package/dist/core/http/api-client.d.ts.map +1 -1
  16. package/dist/core/http/api-client.js +61 -1
  17. package/dist/core/http/api-client.js.map +1 -1
  18. package/dist/core/http/impersonation.d.ts +58 -0
  19. package/dist/core/http/impersonation.d.ts.map +1 -0
  20. package/dist/core/http/impersonation.js +174 -0
  21. package/dist/core/http/impersonation.js.map +1 -0
  22. package/dist/core/http/opencode-errors.d.ts.map +1 -1
  23. package/dist/core/http/opencode-errors.js +19 -0
  24. package/dist/core/http/opencode-errors.js.map +1 -1
  25. package/dist/core/rest/platform-client/host-boundary.d.ts +17 -0
  26. package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -1
  27. package/dist/core/rest/platform-client/host-boundary.js +21 -0
  28. package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
  29. package/dist/core/rest/projects-client/agent-config.d.ts +21 -0
  30. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  31. package/dist/core/rest/projects-client/agent-config.js +14 -0
  32. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  33. package/dist/core/rest/projects-client/audit.d.ts +39 -2
  34. package/dist/core/rest/projects-client/audit.d.ts.map +1 -1
  35. package/dist/core/rest/projects-client/audit.js +46 -2
  36. package/dist/core/rest/projects-client/audit.js.map +1 -1
  37. package/dist/core/rest/projects-client/billing.d.ts +70 -0
  38. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  39. package/dist/core/rest/projects-client/billing.js +50 -0
  40. package/dist/core/rest/projects-client/billing.js.map +1 -1
  41. package/dist/core/rest/projects-client/connectors.d.ts +87 -7
  42. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  43. package/dist/core/rest/projects-client/connectors.js +43 -6
  44. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  45. package/dist/core/rest/projects-client/iam.d.ts +3 -1
  46. package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
  47. package/dist/core/rest/projects-client/iam.js +2 -0
  48. package/dist/core/rest/projects-client/iam.js.map +1 -1
  49. package/dist/core/rest/projects-client/projects.d.ts +136 -15
  50. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  51. package/dist/core/rest/projects-client/projects.js +180 -5
  52. package/dist/core/rest/projects-client/projects.js.map +1 -1
  53. package/dist/core/rest/projects-client/sessions.d.ts +77 -7
  54. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  55. package/dist/core/rest/projects-client/sessions.js +91 -7
  56. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  57. package/dist/core/turns/classify.d.ts +5 -2
  58. package/dist/core/turns/classify.d.ts.map +1 -1
  59. package/dist/core/turns/classify.js +1 -0
  60. package/dist/core/turns/classify.js.map +1 -1
  61. package/dist/core/turns/errors.d.ts +11 -0
  62. package/dist/core/turns/errors.d.ts.map +1 -1
  63. package/dist/core/turns/errors.js +49 -2
  64. package/dist/core/turns/errors.js.map +1 -1
  65. package/dist/core/turns/state.d.ts +1 -1
  66. package/dist/core/turns/state.d.ts.map +1 -1
  67. package/dist/core/turns/state.js +3 -1
  68. package/dist/core/turns/state.js.map +1 -1
  69. package/dist/core/turns/types.d.ts +3 -0
  70. package/dist/core/turns/types.d.ts.map +1 -1
  71. package/dist/core/turns/view-model.d.ts +15 -0
  72. package/dist/core/turns/view-model.d.ts.map +1 -1
  73. package/dist/core/turns/view-model.js +19 -2
  74. package/dist/core/turns/view-model.js.map +1 -1
  75. package/dist/index.d.ts +3 -2
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +3 -2
  78. package/dist/index.js.map +1 -1
  79. package/dist/kortix.esm.min.js +43 -31
  80. package/dist/kortix.global.js +43 -31
  81. package/dist/react/index.d.ts +2 -0
  82. package/dist/react/index.d.ts.map +1 -1
  83. package/dist/react/index.js +2 -0
  84. package/dist/react/index.js.map +1 -1
  85. package/dist/react/use-admin-accounts.d.ts +121 -0
  86. package/dist/react/use-admin-accounts.d.ts.map +1 -1
  87. package/dist/react/use-admin-accounts.js +92 -0
  88. package/dist/react/use-admin-accounts.js.map +1 -1
  89. package/dist/react/use-feature-flag.d.ts +23 -0
  90. package/dist/react/use-feature-flag.d.ts.map +1 -0
  91. package/dist/react/use-feature-flag.js +32 -0
  92. package/dist/react/use-feature-flag.js.map +1 -0
  93. package/dist/react/use-impersonation.d.ts +54 -0
  94. package/dist/react/use-impersonation.d.ts.map +1 -0
  95. package/dist/react/use-impersonation.js +91 -0
  96. package/dist/react/use-impersonation.js.map +1 -0
  97. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  98. package/dist/react/use-opencode-events/handle-event.js +8 -2
  99. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  100. package/dist/react/use-opencode-events/helpers.d.ts +17 -0
  101. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
  102. package/dist/react/use-opencode-events/helpers.js +58 -1
  103. package/dist/react/use-opencode-events/helpers.js.map +1 -1
  104. package/dist/react/use-session-phase.d.ts +23 -0
  105. package/dist/react/use-session-phase.d.ts.map +1 -0
  106. package/dist/react/use-session-phase.js +23 -0
  107. package/dist/react/use-session-phase.js.map +1 -0
  108. package/dist/react/use-session.d.ts +117 -1
  109. package/dist/react/use-session.d.ts.map +1 -1
  110. package/dist/react/use-session.js +222 -21
  111. package/dist/react/use-session.js.map +1 -1
  112. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/core/http/api/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,+DAA+D;IAC/D,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB;CAyBzD;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,QAAQ;gBACzB,OAAO,SAAsB;CAI1C;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBAG9C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC/C,OAAO,CAAC,EAAE,MAAM;CAQnB;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;gBAGA,MAAM,GAAE,MAAY,EACpB,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAClD,OAAO,CAAC,EAAE,MAAM;CAcnB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAUnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAElD;AAMD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,GAAG,cAAc,GAAG,IAAI,CAoBzE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/core/http/api/errors.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,50 @@ export class RequestTooLargeError extends Error {
99
99
  }
100
100
  }
101
101
  // ============================================================================
102
+ // Feature-flag gate
103
+ // ============================================================================
104
+ /**
105
+ * The machine-readable `code` every flag-gated route rejects with. Mirrors
106
+ * `FEATURE_DISABLED_CODE` in `apps/api/src/feature-flags/gate.ts`. Clients
107
+ * branch on this, never on the prose in `error`.
108
+ */
109
+ export const FEATURE_DISABLED_CODE = 'feature_disabled';
110
+ /** Read the gate body off whichever field `makeRequest` populated. */
111
+ function featureDisabledBody(error) {
112
+ if (!(error instanceof ApiError))
113
+ return null;
114
+ if (error.status !== 403 || error.code !== FEATURE_DISABLED_CODE)
115
+ return null;
116
+ const body = error.details ?? error.data;
117
+ return body && typeof body === 'object' ? body : {};
118
+ }
119
+ /**
120
+ * True when `error` is the server's 403 feature-flag gate. Narrows to
121
+ * {@link FeatureDisabledError} so `.feature` is typed at the call site.
122
+ *
123
+ * Note the `feature` key is read from the response BODY and hoisted onto the
124
+ * error, because `ApiError` only lifts `status`/`code`/`details` itself.
125
+ */
126
+ export function isFeatureDisabledError(error) {
127
+ const body = featureDisabledBody(error);
128
+ if (!body)
129
+ return false;
130
+ if (typeof body.feature === 'string' && !error.feature) {
131
+ error.feature = body.feature;
132
+ }
133
+ return true;
134
+ }
135
+ /** The gated flag's key, or `null` when `error` is not a feature-flag gate. */
136
+ export function featureDisabledKey(error) {
137
+ const body = featureDisabledBody(error);
138
+ if (!body)
139
+ return null;
140
+ const fromError = error.feature;
141
+ if (typeof fromError === 'string')
142
+ return fromError;
143
+ return typeof body.feature === 'string' ? body.feature : null;
144
+ }
145
+ // ============================================================================
102
146
  // Error Parsing
103
147
  // ============================================================================
104
148
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/core/http/api/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/core/http/api/errors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ApiError } from './api/errors.js';
2
- export { ApiError, AuthError, BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, type ApiErrorFields, type BillingErrorUI, } from './api/errors.js';
2
+ export { ApiError, AuthError, BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, FEATURE_DISABLED_CODE, isFeatureDisabledError, featureDisabledKey, type ApiErrorFields, type BillingErrorUI, type FeatureDisabledError, } from './api/errors.js';
3
3
  export interface ErrorContext {
4
4
  operation?: string;
5
5
  resource?: string;
@@ -9,6 +9,20 @@ export interface ApiClientOptions {
9
9
  showErrors?: boolean;
10
10
  errorContext?: ErrorContext;
11
11
  timeout?: number;
12
+ /**
13
+ * Override for the `fetch` implementation `backendApi.postStream` issues
14
+ * the request with. Exists as an explicit injection point — not a global
15
+ * (`globalThis.fetch = …`) — so a test (or a host with an unusual runtime)
16
+ * can hand in a stub `Response` with a real streamed `ReadableStream` body
17
+ * without touching the network. Ignored by `get`/`post`/`put`/`patch`/
18
+ * `delete`/`upload`, which all go through `makeRequest` and the ambient
19
+ * `fetch`. Defaults to the ambient `fetch`.
20
+ *
21
+ * Deliberately narrower than `typeof fetch` (no `preconnect` static) so a
22
+ * plain `async (input, init?) => new Response(...)` stub satisfies it
23
+ * without also having to fake Bun's non-standard `fetch.preconnect`.
24
+ */
25
+ fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
12
26
  }
13
27
  export interface ApiResponse<T = any> {
14
28
  data?: T;
@@ -66,6 +80,27 @@ export declare const supabaseClient: {
66
80
  error: any;
67
81
  }>, errorContext?: ErrorContext): Promise<ApiResponse<T>>;
68
82
  };
83
+ /**
84
+ * Streaming POST — bypasses `makeRequest`'s single-shot body consumption
85
+ * (`.json()`/`.text()`/`.blob()`, which can only run once) and hands back
86
+ * the raw `Response` so a caller can read `response.body` incrementally as
87
+ * Server-Sent-Event frames arrive. No idempotent-read retry (POST is not
88
+ * retryable), no automatic body parsing.
89
+ *
90
+ * Auth mirrors `makeRequest`: same bearer token, client-source header, and
91
+ * admin-bypass header. Unlike `makeRequest`, a missing token does not
92
+ * short-circuit before the network call — the caller either gets a stream to
93
+ * read or the server's own 401, not a synthetic client-side one, because this
94
+ * is the one path where "no token yet" and "an actually-unauthorized create"
95
+ * both have to reach the caller as the SAME kind of terminal failure (a
96
+ * rejected promise), not silently different ones.
97
+ *
98
+ * `timeout` bounds only the initial connect/response-headers exchange (as
99
+ * `fetch()`'s promise settles), not how long the stream stays open —
100
+ * provisioning can legitimately take longer than one request timeout while
101
+ * it reports progress frames.
102
+ */
103
+ declare function postStream(endpoint: string, data: unknown, options?: ApiClientOptions): Promise<Response>;
69
104
  export declare const backendApi: {
70
105
  get: <T = any>(endpoint: string, options?: Omit<RequestInit & ApiClientOptions, "method" | "body">) => Promise<ApiResponse<T>>;
71
106
  post: <T = any>(endpoint: string, data?: any, options?: Omit<RequestInit & ApiClientOptions, "method">) => Promise<ApiResponse<T>>;
@@ -74,5 +109,6 @@ export declare const backendApi: {
74
109
  delete: <T = any>(endpoint: string, options?: Omit<RequestInit & ApiClientOptions, "method" | "body">) => Promise<ApiResponse<T>>;
75
110
  upload: <T = any>(endpoint: string, formData: FormData, options?: Omit<RequestInit & ApiClientOptions, "method" | "body">) => Promise<ApiResponse<T>>;
76
111
  uploadPut: <T = any>(endpoint: string, formData: FormData, options?: Omit<RequestInit & ApiClientOptions, "method" | "body">) => Promise<ApiResponse<T>>;
112
+ postStream: typeof postStream;
77
113
  };
78
114
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/core/http/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAsD,MAAM,cAAc,CAAC;AAS5F,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAuD9D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAErD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AA0UD,eAAO,MAAM,cAAc;YACX,CAAC,iBACJ,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,iBACvC,YAAY,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAuC3B,CAAC;AAEF,eAAO,MAAM,UAAU;UACf,CAAC,kBACK,MAAM,YACN,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;WAG5D,CAAC,kBACI,MAAM,SACT,GAAG,YACA,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC;UAQpD,CAAC,kBACK,MAAM,SACT,GAAG,YACA,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC;YAQlD,CAAC,kBACG,MAAM,SACT,GAAG,YACA,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC;aAQjD,CAAC,kBACE,MAAM,YACN,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;aAO1D,CAAC,kBACE,MAAM,YACN,QAAQ,YACR,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;gBAcvD,CAAC,kBACD,MAAM,YACN,QAAQ,YACR,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;CAapE,CAAC"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/core/http/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAsD,MAAM,cAAc,CAAC;AAU5F,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAuD9D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAErD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAgVD,eAAO,MAAM,cAAc;YACX,CAAC,iBACJ,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,iBACvC,YAAY,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAuC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iBAAe,UAAU,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CA8BnB;AAED,eAAO,MAAM,UAAU;UACf,CAAC,kBACK,MAAM,YACN,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;WAG5D,CAAC,kBACI,MAAM,SACT,GAAG,YACA,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC;UAQpD,CAAC,kBACK,MAAM,SACT,GAAG,YACA,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC;YAQlD,CAAC,kBACG,MAAM,SACT,GAAG,YACA,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC;aAQjD,CAAC,kBACE,MAAM,YACN,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;aAO1D,CAAC,kBACE,MAAM,YACN,QAAQ,YACR,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;gBAcvD,CAAC,kBACD,MAAM,YACN,QAAQ,YACR,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAC;;CAepE,CAAC"}
@@ -2,12 +2,13 @@ import { normalizeClientSource } from '../../platform/auth-core.js';
2
2
  import { getSupabaseAccessTokenWithRetry } from './auth.js';
3
3
  import { ApiError, AuthError, parseBillingError, RequestTooLargeError } from './api/errors.js';
4
4
  import { platformConfig } from './config.js';
5
+ import { impersonationHeaders } from './impersonation.js';
5
6
  const getApiUrl = () => platformConfig().backendUrl || '';
6
7
  // Ported from web's error-handler. User-facing error handling is routed
7
8
  // through platformConfig().onError?.() instead of web's handleApiError.
8
9
  // The error classes live in ./api/errors — re-exported here so both the
9
10
  // root barrel and the `@kortix/sdk/api-client` subpath expose them.
10
- export { ApiError, AuthError, BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, } from './api/errors.js';
11
+ export { ApiError, AuthError, BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, FEATURE_DISABLED_CODE, isFeatureDisabledError, featureDisabledKey, } from './api/errors.js';
11
12
  /**
12
13
  * Stable error code the platform API returns (HTTP 501) when an OPTIONAL
13
14
  * capability isn't wired on the current deployment — e.g. connector
@@ -130,6 +131,11 @@ async function makeRequest(url, options = {}) {
130
131
  if (adminBypassEnabled) {
131
132
  headers['x-kortix-admin-bypass'] = '1';
132
133
  }
134
+ // Act-as: while a platform admin holds a live grant, EVERY platform request
135
+ // from this tab carries it, exactly as the banner claims. Attached after the
136
+ // caller's own headers so a call site cannot accidentally drop it, and
137
+ // before `Authorization` because the server validates the pair together.
138
+ Object.assign(headers, impersonationHeaders(url));
133
139
  if (token) {
134
140
  headers['Authorization'] = `Bearer ${token}`;
135
141
  }
@@ -415,6 +421,59 @@ export const supabaseClient = {
415
421
  }
416
422
  },
417
423
  };
424
+ /**
425
+ * Streaming POST — bypasses `makeRequest`'s single-shot body consumption
426
+ * (`.json()`/`.text()`/`.blob()`, which can only run once) and hands back
427
+ * the raw `Response` so a caller can read `response.body` incrementally as
428
+ * Server-Sent-Event frames arrive. No idempotent-read retry (POST is not
429
+ * retryable), no automatic body parsing.
430
+ *
431
+ * Auth mirrors `makeRequest`: same bearer token, client-source header, and
432
+ * admin-bypass header. Unlike `makeRequest`, a missing token does not
433
+ * short-circuit before the network call — the caller either gets a stream to
434
+ * read or the server's own 401, not a synthetic client-side one, because this
435
+ * is the one path where "no token yet" and "an actually-unauthorized create"
436
+ * both have to reach the caller as the SAME kind of terminal failure (a
437
+ * rejected promise), not silently different ones.
438
+ *
439
+ * `timeout` bounds only the initial connect/response-headers exchange (as
440
+ * `fetch()`'s promise settles), not how long the stream stays open —
441
+ * provisioning can legitimately take longer than one request timeout while
442
+ * it reports progress frames.
443
+ */
444
+ async function postStream(endpoint, data, options = {}) {
445
+ const { timeout = 30000, fetch: fetchImpl = fetch } = options;
446
+ const token = await getSupabaseAccessTokenWithRetry();
447
+ const headers = {
448
+ Accept: 'text/event-stream',
449
+ 'Content-Type': 'application/json',
450
+ };
451
+ const clientSource = normalizeClientSource(platformConfig().clientSource);
452
+ if (clientSource)
453
+ headers['X-Kortix-Client'] = clientSource;
454
+ if (adminBypassEnabled)
455
+ headers['x-kortix-admin-bypass'] = '1';
456
+ // Same act-as rule as makeRequest — a streamed POST is still a platform
457
+ // request, and an SSE stream opened without the header would silently read
458
+ // the OPERATOR's account while the banner named the customer's.
459
+ Object.assign(headers, impersonationHeaders(endpoint));
460
+ if (token)
461
+ headers['Authorization'] = `Bearer ${token}`;
462
+ const controller = new AbortController();
463
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
464
+ try {
465
+ return await fetchImpl(`${getApiUrl()}${endpoint}`, {
466
+ method: 'POST',
467
+ headers,
468
+ body: JSON.stringify(data),
469
+ signal: controller.signal,
470
+ credentials: 'omit',
471
+ });
472
+ }
473
+ finally {
474
+ clearTimeout(timeoutId);
475
+ }
476
+ }
418
477
  export const backendApi = {
419
478
  get: (endpoint, options) => makeRequest(`${getApiUrl()}${endpoint}`, { ...options, method: 'GET' }),
420
479
  post: (endpoint, data, options) => makeRequest(`${getApiUrl()}${endpoint}`, {
@@ -458,5 +517,6 @@ export const backendApi = {
458
517
  headers: uploadHeaders,
459
518
  });
460
519
  },
520
+ postStream,
461
521
  };
462
522
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/core/http/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/core/http/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;AAE1D,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GAInB,MAAM,cAAc,CAAC;AAkCtB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAE9D,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACjD,MAAM,+BAA+B,GAAG,wDAAwD,CAAC;AAEjG,MAAM,yBAAyB,GAAG,CAChC,MAAc,EACd,SAAkB,EAClB,OAAe,EACN,EAAE;IACX,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,IAAI,GACR,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI,SAAS;QACxE,CAAC,CAAE,SAAgC,CAAC,IAAI;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,IAAI,KAAK,qBAAqB,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAE/F;;;;;;;;GAQG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5D,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAW,EAAE,CAC3D,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEzC;mFACmF;AACnF,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAW,EAAE;IACtD,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9C,KAAkC,EAAE,IAAI,KAAK,YAAY;IACzD,KAAkC,EAAE,IAAI,KAAK,aAAa;IAC3D,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhE,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,0EAA0E;AAC1E,+EAA+E;AAC/E,yDAAyD;AACzD,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,kBAAkB,GAAG,OAAO,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAW,EACX,UAA0C,EAAE;IAE5C,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,YAAY,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IAEtF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,SAAS,GAA0B,IAAI,CAAC;IAC5C,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,oEAAoE;IACpE,2EAA2E;IAC3E,wDAAwD;IACxD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,CAAC;QACH,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7C,SAAS,GAAG,IAAI,CAAC;gBACjB,UAAU,GAAG,IAAI,CAAC;gBAClB,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,KAAK,GAAG,MAAM,+BAA+B,EAAE,CAAC;QAEtD,wFAAwF;QACxF,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,YAAY,QAAQ,CAAC;QACzD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,OAAiC,CAAC,CAAC;QAEvE,MAAM,YAAY,GAAG,qBAAqB,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,iBAAiB,CACnD,CAAC;QACF,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;QAC5C,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAC;QACzC,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,4EAA4E;YAC5E,wEAAwE;YACxE,mDAAmD;YACnD,OAAO;gBACL,KAAK,EAAE,IAAI,SAAS,EAAE;gBACtB,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,uFAAuF;QACvF,2DAA2D;QAE3D,MAAM,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,QAAmB,CAAC;QAExB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;YAC7E,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,UAAU,GAAG,IAAI,CAAC;oBAClB,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAC5B,CAAC,EAAE,OAAO,CAAC,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC;gBAClD,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;oBAC9B,GAAG,YAAY;oBACf,OAAO;oBACP,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,MAAM;iBAChD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;oBACvD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,MAAM,iBAAiB,GACrB,aAAa,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;YAC1F,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;YACrE,IAAI,SAAS,GAAQ,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;gBAClC,CAAC;qBAAM,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACjD,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;gBACnC,CAAC;qBAAM,IAAI,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAClE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC;gBACjC,CAAC;qBAAM,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChD,8CAA8C;oBAC9C,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;gBAClC,CAAC;qBAAM,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACzD,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC9F,IAAI,KAAK,GAAqB,IAAI,QAAQ,CAAC,YAAY,EAAE;gBACvD,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,SAAS,IAAI,SAAS;gBAC/B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS,EAAE,MAAM;gBACzB,IAAI,EAAE,iBAAiB;oBACrB,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,SAAS,EAAE,IAAI;wBACf,SAAS,EAAE,UAAU;wBACrB,SAAS,EAAE,MAAM,EAAE,UAAU;wBAC7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;aAC/B,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAED,mEAAmE;YACnE,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,IACE,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACvB,SAAS,EAAE,IAAI,KAAK,sBAAsB;gBAC1C,OAAO,MAAM,KAAK,WAAW;gBAC7B,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAC1C,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,4DAA4D;gBAC9D,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,2DAA2D;YAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,KAAK,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE;oBACpC,OAAO,EAAE,iCAAiC;oBAC1C,UAAU,EACR,4FAA4F;iBAC/F,CAAC,CAAC;YACL,CAAC;YAED,wEAAwE;YACxE,oEAAoE;YACpE,qEAAqE;YACrE,4DAA4D;YAC5D,wEAAwE;YACxE,qEAAqE;YACrE,iEAAiE;YACjE,sEAAsE;YACtE,kEAAkE;YAClE,yEAAyE;YACzE,4DAA4D;YAC5D,qEAAqE;YACrE,8DAA8D;YAC9D,wEAAwE;YACxE,sEAAsE;YACtE,kCAAkC;YAClC,MAAM,qBAAqB,GACzB,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,0BAA0B,CAAC;YAE5E,qEAAqE;YACrE,sEAAsE;YACtE,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,sEAAsE;YACtE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,kBAAkB,GACtB,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,uBAAuB,CAAC;YAEzE,yEAAyE;YACzE,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,MAAM,mBAAmB,GACvB,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,wBAAwB,CAAC;YAE1E,IACE,UAAU;gBACV,CAAC,qBAAqB;gBACtB,CAAC,kBAAkB;gBACnB,CAAC,mBAAmB;gBACpB,CAAC,iBAAiB,EAClB,CAAC;gBACD,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,IAAI,IAAO,CAAC;QACZ,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEzD,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9C,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QACtC,CAAC;QAED,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,gCAAgC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAE9C,4DAA4D;QAC5D,IAAI,iBAAiB,EAAE,CAAC;YACtB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,QAAkB,CAAC;QAEvB,IAAI,iBAAiB,EAAE,CAAC;YACtB,uEAAuE;YACvE,kEAAkE;YAClE,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,KAAK,EAAE,IAAI,QAAQ,CAAC,iBAAiB,EAAE;wBACrC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB,CAAC;oBACF,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,wDAAwD;YACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;YACrD,QAAQ,GAAG,IAAI,QAAQ,CACrB,2BAA2B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,QAAQ,EAAE,EACrE;gBACE,IAAI,EAAE,SAAS;gBACf,GAAG;gBACH,QAAQ;gBACR,OAAO;aACR,CACF,CAAC;YAEF,uEAAuE;YACvE,2EAA2E;YAC3E,sEAAsE;QACxE,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAClC,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;gBACrC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,UAAU;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YAEH,IAAI,UAAU,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEvC,IAAI,UAAU,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,OAAO,CACX,OAAsD,EACtD,YAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;YAExC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;oBACzE,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBAEH,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAEnD,OAAO;oBACL,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAS;gBACf,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,UAAU;oBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;gBACJ,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAElC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEnD,OAAO;gBACL,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,IAAa,EACb,UAA4B,EAAE;IAE9B,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,+BAA+B,EAAE,CAAC;IAEtD,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,mBAAmB;QAC3B,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,MAAM,YAAY,GAAG,qBAAqB,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1E,IAAI,YAAY;QAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;IAC5D,IAAI,kBAAkB;QAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAC;IAC/D,wEAAwE;IACxE,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAExD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,CACH,QAAgB,EAChB,OAAiE,EACjE,EAAE,CAAC,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAE/E,IAAI,EAAE,CACJ,QAAgB,EAChB,IAAU,EACV,OAAwD,EACxD,EAAE,CACF,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;QAC1C,GAAG,OAAO;QACV,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC;IAEJ,GAAG,EAAE,CACH,QAAgB,EAChB,IAAU,EACV,OAAwD,EACxD,EAAE,CACF,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;QAC1C,GAAG,OAAO;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC;IAEJ,KAAK,EAAE,CACL,QAAgB,EAChB,IAAU,EACV,OAAwD,EACxD,EAAE,CACF,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;QAC1C,GAAG,OAAO;QACV,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC;IAEJ,MAAM,EAAE,CACN,QAAgB,EAChB,OAAiE,EACjE,EAAE,CACF,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;QAC1C,GAAG,OAAO;QACV,MAAM,EAAE,QAAQ;KACjB,CAAC;IAEJ,MAAM,EAAE,CACN,QAAgB,EAChB,QAAkB,EAClB,OAAiE,EACjE,EAAE;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,EAAE,GAAI,OAAkC,EAAE,CAAC;QACjE,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;QAErC,OAAO,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;YACjD,GAAG,WAAW;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,EAAE,CACT,QAAgB,EAChB,QAAkB,EAClB,OAAiE,EACjE,EAAE;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,EAAE,GAAI,OAAkC,EAAE,CAAC;QACjE,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;QAErC,OAAO,WAAW,CAAI,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE;YACjD,GAAG,WAAW;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;IACL,CAAC;IAED,UAAU;CACX,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Client half of platform-admin act-as impersonation.
3
+ *
4
+ * The client holds an ID, never a capability. `X-Kortix-Impersonate: <grantId>`
5
+ * is only meaningful next to the operator's own Supabase JWT, and the API
6
+ * re-validates ownership, expiry, revocation and the operator's CURRENT
7
+ * platform role on every request (see apps/api/src/shared/impersonation.ts).
8
+ * So nothing here is a security boundary — losing this value to another tab or
9
+ * another user grants them nothing. What this module owes the user is honesty:
10
+ * while a session is stored, EVERY request carries the header, and the app
11
+ * shell shows the banner that says so.
12
+ *
13
+ * Persisted in `sessionStorage`, not `localStorage`: acting as an account is
14
+ * per-tab and must not outlive the tab. `window`/`sessionStorage` are globals,
15
+ * not imports, so every access is guarded — the SDK core has to load in Node,
16
+ * a Worker, and React Native, where neither exists.
17
+ */
18
+ /** The request header. Matches `IMPERSONATION_HEADER` in the API. */
19
+ export declare const IMPERSONATION_HEADER = "X-Kortix-Impersonate";
20
+ /** What the console stores after minting a grant. */
21
+ export interface ImpersonationSession {
22
+ /** `impersonation_grants.id`. The only part sent to the server. */
23
+ grantId: string;
24
+ /** The account being acted as — what the banner names. */
25
+ accountId: string;
26
+ /** Display name, for the banner. Null when the account has none. */
27
+ accountName?: string | null;
28
+ /** ISO-8601 instant the grant dies. The server caps this at one hour. */
29
+ expiresAt: string;
30
+ }
31
+ /**
32
+ * A session with no parseable future expiry is NOT a session. Treating an
33
+ * unreadable date as "no expiry" would leave a banner up, and a header
34
+ * attached, forever after one corrupt write.
35
+ */
36
+ export declare function isImpersonationSessionLive(session: ImpersonationSession | null | undefined, now?: number): boolean;
37
+ /**
38
+ * The live session, or null. Reads through to `sessionStorage` once per JS
39
+ * context so a full page navigation (admin console → app shell) keeps acting
40
+ * as the account, then serves the in-memory mirror.
41
+ *
42
+ * An expired session is DROPPED here — the store never hands back a value the
43
+ * server would 403 — and dropping it notifies subscribers, so the banner
44
+ * disappears on its own when the hour is up.
45
+ */
46
+ export declare function getImpersonationSession(): ImpersonationSession | null;
47
+ export declare function setImpersonationSession(session: ImpersonationSession | null): void;
48
+ export declare function clearImpersonationSession(): void;
49
+ /** Subscribe to session changes (the banner's data source). Returns an unsubscribe. */
50
+ export declare function subscribeToImpersonation(listener: () => void): () => void;
51
+ export declare function shouldAttachImpersonation(url: string): boolean;
52
+ /**
53
+ * Headers a platform request adds while acting as an account. `{}` when there
54
+ * is no live session, so the ordinary path allocates one empty object and
55
+ * touches nothing else.
56
+ */
57
+ export declare function impersonationHeaders(url?: string): Record<string, string>;
58
+ //# sourceMappingURL=impersonation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impersonation.d.ts","sourceRoot":"","sources":["../../../src/core/http/impersonation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAI3D,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAChD,GAAG,GAAE,MAAmB,GACvB,OAAO,CAIT;AA6BD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAUrE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAclF;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAUhD;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKzE;AAuBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAU9D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIzE"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Client half of platform-admin act-as impersonation.
3
+ *
4
+ * The client holds an ID, never a capability. `X-Kortix-Impersonate: <grantId>`
5
+ * is only meaningful next to the operator's own Supabase JWT, and the API
6
+ * re-validates ownership, expiry, revocation and the operator's CURRENT
7
+ * platform role on every request (see apps/api/src/shared/impersonation.ts).
8
+ * So nothing here is a security boundary — losing this value to another tab or
9
+ * another user grants them nothing. What this module owes the user is honesty:
10
+ * while a session is stored, EVERY request carries the header, and the app
11
+ * shell shows the banner that says so.
12
+ *
13
+ * Persisted in `sessionStorage`, not `localStorage`: acting as an account is
14
+ * per-tab and must not outlive the tab. `window`/`sessionStorage` are globals,
15
+ * not imports, so every access is guarded — the SDK core has to load in Node,
16
+ * a Worker, and React Native, where neither exists.
17
+ */
18
+ /** The request header. Matches `IMPERSONATION_HEADER` in the API. */
19
+ export const IMPERSONATION_HEADER = 'X-Kortix-Impersonate';
20
+ const STORAGE_KEY = 'kortix.impersonation';
21
+ let current = null;
22
+ let hydrated = false;
23
+ const listeners = new Set();
24
+ function storage() {
25
+ try {
26
+ if (typeof sessionStorage === 'undefined')
27
+ return null;
28
+ return sessionStorage;
29
+ }
30
+ catch {
31
+ // Access to storage throws outright in some privacy modes.
32
+ return null;
33
+ }
34
+ }
35
+ /**
36
+ * A session with no parseable future expiry is NOT a session. Treating an
37
+ * unreadable date as "no expiry" would leave a banner up, and a header
38
+ * attached, forever after one corrupt write.
39
+ */
40
+ export function isImpersonationSessionLive(session, now = Date.now()) {
41
+ if (!session || !session.grantId || !session.accountId)
42
+ return false;
43
+ const expiry = Date.parse(session.expiresAt);
44
+ return Number.isFinite(expiry) && expiry > now;
45
+ }
46
+ function parse(raw) {
47
+ if (!raw)
48
+ return null;
49
+ try {
50
+ const parsed = JSON.parse(raw);
51
+ if (typeof parsed?.grantId !== 'string' || typeof parsed?.accountId !== 'string')
52
+ return null;
53
+ return {
54
+ grantId: parsed.grantId,
55
+ accountId: parsed.accountId,
56
+ accountName: typeof parsed.accountName === 'string' ? parsed.accountName : null,
57
+ expiresAt: typeof parsed.expiresAt === 'string' ? parsed.expiresAt : '',
58
+ };
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ }
64
+ function notify() {
65
+ for (const listener of listeners) {
66
+ try {
67
+ listener();
68
+ }
69
+ catch {
70
+ // A broken subscriber must not stop the others, and must never break the
71
+ // request that triggered the change.
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * The live session, or null. Reads through to `sessionStorage` once per JS
77
+ * context so a full page navigation (admin console → app shell) keeps acting
78
+ * as the account, then serves the in-memory mirror.
79
+ *
80
+ * An expired session is DROPPED here — the store never hands back a value the
81
+ * server would 403 — and dropping it notifies subscribers, so the banner
82
+ * disappears on its own when the hour is up.
83
+ */
84
+ export function getImpersonationSession() {
85
+ if (!hydrated) {
86
+ hydrated = true;
87
+ current = parse(storage()?.getItem(STORAGE_KEY) ?? null);
88
+ }
89
+ if (current && !isImpersonationSessionLive(current)) {
90
+ clearImpersonationSession();
91
+ return null;
92
+ }
93
+ return current;
94
+ }
95
+ export function setImpersonationSession(session) {
96
+ hydrated = true;
97
+ if (!session) {
98
+ clearImpersonationSession();
99
+ return;
100
+ }
101
+ current = session;
102
+ try {
103
+ storage()?.setItem(STORAGE_KEY, JSON.stringify(session));
104
+ }
105
+ catch {
106
+ // Quota or privacy mode. The in-memory mirror still works for this tab's
107
+ // lifetime; only reload-survival is lost.
108
+ }
109
+ notify();
110
+ }
111
+ export function clearImpersonationSession() {
112
+ hydrated = true;
113
+ const had = current !== null;
114
+ current = null;
115
+ try {
116
+ storage()?.removeItem(STORAGE_KEY);
117
+ }
118
+ catch {
119
+ /* see setImpersonationSession */
120
+ }
121
+ if (had)
122
+ notify();
123
+ }
124
+ /** Subscribe to session changes (the banner's data source). Returns an unsubscribe. */
125
+ export function subscribeToImpersonation(listener) {
126
+ listeners.add(listener);
127
+ return () => {
128
+ listeners.delete(listener);
129
+ };
130
+ }
131
+ /**
132
+ * The admin console is the ONE surface that is never impersonated.
133
+ *
134
+ * The server refuses an impersonated `/v1/admin/*` request outright — no
135
+ * nesting, no minting a second grant, no changing platform roles from inside a
136
+ * customer's context. The revoke route lives under that same prefix, so a
137
+ * client that attached the header everywhere would 403 its own Exit button and
138
+ * strand the operator until the grant expired.
139
+ *
140
+ * Skipping it here is UX, not a security decision: the server's denial is the
141
+ * control, and it still fires for any client that does send the header.
142
+ *
143
+ * Matched on `admin/` FOLLOWED BY one of the console's two sub-routers, not on
144
+ * the bare word: every admin route is `/admin/api/…` or `/admin/analytics/…`,
145
+ * while `/projects/admin/sessions` is an ordinary product path for a project
146
+ * that happens to be called "admin". Anchoring on the pair keeps a
147
+ * customer-controlled name from silently exempting itself, and keeps working
148
+ * when the backend URL carries a path prefix of its own.
149
+ */
150
+ const ADMIN_CONSOLE_PATH_RE = /(^|\/)admin\/(api|analytics)(\/|$)/;
151
+ export function shouldAttachImpersonation(url) {
152
+ let path = url;
153
+ if (/^https?:\/\//.test(url)) {
154
+ try {
155
+ path = new URL(url).pathname;
156
+ }
157
+ catch {
158
+ path = url;
159
+ }
160
+ }
161
+ return !ADMIN_CONSOLE_PATH_RE.test(path);
162
+ }
163
+ /**
164
+ * Headers a platform request adds while acting as an account. `{}` when there
165
+ * is no live session, so the ordinary path allocates one empty object and
166
+ * touches nothing else.
167
+ */
168
+ export function impersonationHeaders(url) {
169
+ if (url !== undefined && !shouldAttachImpersonation(url))
170
+ return {};
171
+ const session = getImpersonationSession();
172
+ return session ? { [IMPERSONATION_HEADER]: session.grantId } : {};
173
+ }
174
+ //# sourceMappingURL=impersonation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impersonation.js","sourceRoot":"","sources":["../../../src/core/http/impersonation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-errors.d.ts","sourceRoot":"","sources":["../../../src/core/http/opencode-errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;KAChC,CAAC;CACH;AAeD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsBjE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,GAAG,IAAI,CAK/F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAuBA"}
1
+ {"version":3,"file":"opencode-errors.d.ts","sourceRoot":"","sources":["../../../src/core/http/opencode-errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;KAChC,CAAC;CACH;AAeD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsBjE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,GAAG,IAAI,CAK/F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CA6CA"}
@@ -63,6 +63,25 @@ export function formatOpenCodeRuntimeError(error) {
63
63
  };
64
64
  }
65
65
  const raw = rawErrorMessage(error);
66
+ // A parked box is not a crash. The proxy answers `sandbox not ready
67
+ // (status: stopped)` for a sandbox the control plane stopped ON PURPOSE to
68
+ // save compute, and the conversation is intact behind it. Reserve "OpenCode
69
+ // failed to load" for a runtime that genuinely broke.
70
+ //
71
+ // Matched against `raw`, not a `parseOpenCodeErrorPayload` field: `unwrap()`
72
+ // (react/use-opencode-sessions/shared.ts) is what actually produces the
73
+ // error this function receives for the session-list poll that drives the
74
+ // page's runtime-error card, and it throws `new Error(body.error)` — just
75
+ // the bare phrase, with the JSON wrapper already stripped off. There is no
76
+ // payload left to parse by the time it gets here. The regex is exact enough
77
+ // (`(status: stopped)` and all) that matching it against the raw string
78
+ // cannot false-positive on an unrelated error that merely mentions "stopped".
79
+ if (/sandbox not ready \(status: stopped\)/.test(raw)) {
80
+ return {
81
+ title: 'Session is waking up',
82
+ message: 'This session slept to save compute. Your conversation is safe — sending a message wakes it back up.',
83
+ };
84
+ }
66
85
  return {
67
86
  title: 'OpenCode failed to load',
68
87
  message: raw || 'The sandbox is running, but OpenCode returned an error.',
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-errors.js","sourceRoot":"","sources":["../../../src/core/http/opencode-errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-errors.js","sourceRoot":"","sources":["../../../src/core/http/opencode-errors.ts"],"names":[],"mappings":"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"}