@kortix/sdk 0.12.7 → 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 (52) hide show
  1. package/README.md +10 -0
  2. package/dist/core/http/api-client.d.ts.map +1 -1
  3. package/dist/core/http/api-client.js +10 -0
  4. package/dist/core/http/api-client.js.map +1 -1
  5. package/dist/core/http/impersonation.d.ts +58 -0
  6. package/dist/core/http/impersonation.d.ts.map +1 -0
  7. package/dist/core/http/impersonation.js +174 -0
  8. package/dist/core/http/impersonation.js.map +1 -0
  9. package/dist/core/rest/projects-client/agent-config.d.ts +21 -0
  10. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  11. package/dist/core/rest/projects-client/agent-config.js +14 -0
  12. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  13. package/dist/core/rest/projects-client/billing.d.ts +70 -0
  14. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  15. package/dist/core/rest/projects-client/billing.js +50 -0
  16. package/dist/core/rest/projects-client/billing.js.map +1 -1
  17. package/dist/core/rest/projects-client/sessions.d.ts +27 -2
  18. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  19. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  20. package/dist/core/turns/classify.d.ts +5 -2
  21. package/dist/core/turns/classify.d.ts.map +1 -1
  22. package/dist/core/turns/classify.js +1 -0
  23. package/dist/core/turns/classify.js.map +1 -1
  24. package/dist/core/turns/errors.d.ts +11 -0
  25. package/dist/core/turns/errors.d.ts.map +1 -1
  26. package/dist/core/turns/errors.js +49 -2
  27. package/dist/core/turns/errors.js.map +1 -1
  28. package/dist/core/turns/state.d.ts +1 -1
  29. package/dist/core/turns/state.d.ts.map +1 -1
  30. package/dist/core/turns/state.js +3 -1
  31. package/dist/core/turns/state.js.map +1 -1
  32. package/dist/core/turns/types.d.ts +3 -0
  33. package/dist/core/turns/types.d.ts.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/kortix.esm.min.js +19 -19
  39. package/dist/kortix.global.js +19 -19
  40. package/dist/react/index.d.ts +1 -0
  41. package/dist/react/index.d.ts.map +1 -1
  42. package/dist/react/index.js +1 -0
  43. package/dist/react/index.js.map +1 -1
  44. package/dist/react/use-admin-accounts.d.ts +121 -0
  45. package/dist/react/use-admin-accounts.d.ts.map +1 -1
  46. package/dist/react/use-admin-accounts.js +92 -0
  47. package/dist/react/use-admin-accounts.js.map +1 -1
  48. package/dist/react/use-impersonation.d.ts +54 -0
  49. package/dist/react/use-impersonation.d.ts.map +1 -0
  50. package/dist/react/use-impersonation.js +91 -0
  51. package/dist/react/use-impersonation.js.map +1 -0
  52. package/package.json +2 -2
@@ -19,6 +19,7 @@ export * from './use-admin-feedback.js';
19
19
  export * from './use-system-status.js';
20
20
  export * from './use-ops-overview.js';
21
21
  export * from './use-admin-billing.js';
22
+ export * from './use-impersonation.js';
22
23
  export * from './use-teams-installations.js';
23
24
  export * from './use-tunnel.js';
24
25
  export * from './use-admin-sandboxes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAOlC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAOlC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
@@ -57,6 +57,7 @@ export * from './use-admin-feedback.js';
57
57
  export * from './use-system-status.js';
58
58
  export * from './use-ops-overview.js';
59
59
  export * from './use-admin-billing.js';
60
+ export * from './use-impersonation.js';
60
61
  export * from './use-teams-installations.js';
61
62
  export * from './use-tunnel.js';
62
63
  export * from './use-admin-sandboxes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,0EAA0E;AAC1E,gFAAgF;AAChF,qEAAqE;AACrE,cAAc,YAAY,CAAC;AAE3B,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAKlB,MAAM,eAAe,CAAC;AAEvB,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AAEjC,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AACvE,iEAAiE;AACjE,8BAA8B;AAC9B,OAAO,EACL,eAAe,GAMhB,MAAM,6BAA6B,CAAC;AAErC,0EAA0E;AAC1E,8DAA8D;AAC9D,sEAAsE;AACtE,yEAAyE;AACzE,4EAA4E;AAC5E,cAAc,qBAAqB,CAAC;AAEpC,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GAajB,MAAM,oBAAoB,CAAC;AAE5B,yEAAyE;AACzE,mEAAmE;AACnE,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAsB,MAAM,QAAQ,CAAC;AAEtF,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,oDAAoD;AACpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,0EAA0E;AAC1E,gFAAgF;AAChF,qEAAqE;AACrE,cAAc,YAAY,CAAC;AAE3B,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAKlB,MAAM,eAAe,CAAC;AAEvB,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AAEjC,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AACvE,iEAAiE;AACjE,8BAA8B;AAC9B,OAAO,EACL,eAAe,GAMhB,MAAM,6BAA6B,CAAC;AAErC,0EAA0E;AAC1E,8DAA8D;AAC9D,sEAAsE;AACtE,yEAAyE;AACzE,4EAA4E;AAC5E,cAAc,qBAAqB,CAAC;AAEpC,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GAajB,MAAM,oBAAoB,CAAC;AAE5B,yEAAyE;AACzE,mEAAmE;AACnE,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAsB,MAAM,QAAQ,CAAC;AAEtF,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,oDAAoD;AACpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
@@ -14,6 +14,64 @@ export interface AdminAccountTrial {
14
14
  endsAt: string | null;
15
15
  note: string | null;
16
16
  }
17
+ /**
18
+ * The plan an account BEHAVES as, as the list route resolves it.
19
+ *
20
+ * Distinct from `AdminAccount.tier`, which stays the STORED
21
+ * `credit_accounts.tier` the tier filter matches on. An active admin trial and
22
+ * the per-seat self-heal overlay that column, so the two disagree exactly when
23
+ * it matters most — and the console must show the resolved one.
24
+ */
25
+ export interface AdminAccountPlan {
26
+ /** Plan key — e.g. 'free', 'per_seat', 'tier_25_200', 'enterprise'. */
27
+ key: string;
28
+ /** Public ladder position: there are exactly three families. */
29
+ family: 'free' | 'team' | 'enterprise';
30
+ /** Customer-facing family name — 'Free' | 'Team' | 'Enterprise'. */
31
+ label: string;
32
+ /** Qualifier to render muted after the label, e.g.
33
+ * '$40/seat/mo · grandfathered'. Null when the plan needs none. */
34
+ sublabel: string | null;
35
+ status: 'current' | 'grandfathered' | 'retired' | 'non_plan';
36
+ /** Sold once, still honored exactly as sold, no longer offered. */
37
+ is_grandfathered: boolean;
38
+ }
39
+ /**
40
+ * One entitlement override as the account row stores it: a value plus an
41
+ * optional ISO-8601 expiry. Absent `expires_at` = never expires.
42
+ *
43
+ * `value` is `unknown` on purpose. The source is a JSONB column written by
44
+ * admin routes, data migrations, and operator SQL, so a reader narrows
45
+ * (`typeof v === 'boolean'`) before it renders — it never assumes the shape.
46
+ */
47
+ export interface AdminEntitlementOverrideEntry {
48
+ value: unknown;
49
+ /** ISO-8601. At or past this instant the server ignores the entry. */
50
+ expires_at?: string;
51
+ }
52
+ /** The stored override map, keyed by {@link AdminOverrideKey}. */
53
+ export type AdminEntitlementOverrides = Record<string, AdminEntitlementOverrideEntry>;
54
+ /**
55
+ * Every override key the server accepts. Anything else is a 400 from
56
+ * `validateOverridePatch`, so the console builds its rows from this list rather
57
+ * than from free-form strings.
58
+ *
59
+ * Mirrors `OVERRIDE_KEYS` in
60
+ * `apps/api/src/billing/services/entitlement-overrides.ts`.
61
+ */
62
+ export declare const ADMIN_OVERRIDE_KEYS: readonly ["enterpriseEntitled", "demoEnterprise", "managedModelsOverride", "maxConcurrentSessions", "computeRateMultiplier", "sso", "scim", "rbac", "auditAccess", "managedModels"];
63
+ export type AdminOverrideKey = (typeof ADMIN_OVERRIDE_KEYS)[number];
64
+ /**
65
+ * A merge patch (RFC 7386, scoped to the known keys): an entry SETS the key,
66
+ * `null` DELETES it, and a key that is absent is left exactly as it was. That
67
+ * is what makes the route safe to call from a form that only knows one field.
68
+ */
69
+ export type AdminEntitlementOverridePatch = Partial<Record<AdminOverrideKey, {
70
+ value: boolean | number;
71
+ expires_at?: string;
72
+ } | null>>;
73
+ /** Wire path of the platform-admin entitlement-override merge-patch route. */
74
+ export declare function adminAccountOverridesPath(accountId: string): string;
17
75
  export interface AdminAccount {
18
76
  accountId: string;
19
77
  name: string | null;
@@ -23,7 +81,12 @@ export interface AdminAccount {
23
81
  expiringCredits: string | null;
24
82
  nonExpiringCredits: string | null;
25
83
  dailyCreditsBalance: string | null;
84
+ /** STORED `credit_accounts.tier` — what the tier filter matches on. For what
85
+ * the account behaves as, read {@link AdminAccount.plan}. */
26
86
  tier: string | null;
87
+ /** Resolved plan. Optional: an API older than the plan resolver omits it, so
88
+ * a console pointed at one falls back to the raw tier key. */
89
+ plan?: AdminAccountPlan;
27
90
  paymentStatus: string | null;
28
91
  provider: string | null;
29
92
  planType: string | null;
@@ -39,6 +102,19 @@ export interface AdminAccount {
39
102
  managedModelsOverride: boolean | null;
40
103
  demoEnterprise: boolean;
41
104
  enterpriseEntitled: boolean;
105
+ /**
106
+ * The STORED override map, exactly as the account row carries it — expiry is
107
+ * NOT applied, so a lapsed entry is still present and the console can show an
108
+ * operator what is on the row. Optional: an API older than the JSONB column
109
+ * omits it. Null is tolerated because the column itself is nullable.
110
+ */
111
+ entitlementOverrides?: AdminEntitlementOverrides | null;
112
+ /**
113
+ * The RESOLVED compute rate multiplier the meter bills at (1 = list price,
114
+ * 0.5 = half, 0 = free). Already clamped to [0, 10] by the server. Optional
115
+ * for the same reason as {@link AdminAccount.entitlementOverrides}.
116
+ */
117
+ computeRateMultiplier?: number;
42
118
  }
43
119
  export interface AdminAccountsSummary {
44
120
  totalCredits: string;
@@ -93,6 +169,17 @@ export interface AdminAccountsFilters {
93
169
  limit?: number;
94
170
  }
95
171
  export declare function useAdminAccounts(filters?: AdminAccountsFilters): import("@tanstack/react-query").UseQueryResult<NoInfer<AdminAccountsResponse>, Error>;
172
+ /** Wire path of the exact-id single-account lookup (list route + accountId filter). */
173
+ export declare function adminAccountLookupPath(accountId: string): string;
174
+ /**
175
+ * Live single-account row for the admin detail sheet. Uses the list route's
176
+ * exact-id filter, so it stays correct when the list's own filters (tier,
177
+ * balance, payment status) no longer match the account after a mutation —
178
+ * the bug where the sheet kept rendering a pre-mutation snapshot.
179
+ * Invalidated by the same ['admin','accounts', accountId] subtree every admin
180
+ * mutation already targets.
181
+ */
182
+ export declare function useAdminAccount(accountId: string | null): import("@tanstack/react-query").UseQueryResult<NoInfer<AdminAccount | null>, Error>;
96
183
  export declare function useAdminAccountUsers(accountId: string | null): import("@tanstack/react-query").UseQueryResult<NoInfer<{
97
184
  users: AdminAccountUser[];
98
185
  }>, Error>;
@@ -172,6 +259,40 @@ export declare function useAdminSetEnterpriseEntitled(): import("@tanstack/react
172
259
  accountId: string;
173
260
  enabled: boolean;
174
261
  }, unknown>;
262
+ /**
263
+ * Merge-patch an account's entitlement overrides — the ONE route behind every
264
+ * override, and the only one that can express an expiry.
265
+ *
266
+ * Send only the keys the form owns: an entry sets, `null` deletes, an absent
267
+ * key is untouched. The server mirrors a PERMANENT patch onto the four legacy
268
+ * columns and clears the column for a TIMED one, so the three single-purpose
269
+ * mutations above and this one stay consistent with each other.
270
+ */
271
+ export declare function useAdminSetOverrides(): import("@tanstack/react-query").UseMutationResult<{
272
+ ok: boolean;
273
+ overrides: AdminEntitlementOverrides;
274
+ }, Error, {
275
+ accountId: string;
276
+ patch: AdminEntitlementOverridePatch;
277
+ }, unknown>;
278
+ export type AdminAccountMemberRole = 'owner' | 'admin' | 'member';
279
+ /** Wire path of the platform-admin member-role override route. */
280
+ export declare function adminMemberRolePath(accountId: string, userId: string): string;
281
+ /**
282
+ * Platform-admin override of an account member's role. Bypasses the in-account
283
+ * permission rules (which require the caller to be a member), but the server
284
+ * still refuses to demote an account's last owner. Invalidates the account
285
+ * subtree, which includes the users list the Users tab renders.
286
+ */
287
+ export declare function useAdminSetMemberRole(): import("@tanstack/react-query").UseMutationResult<{
288
+ ok: boolean;
289
+ user_id: string;
290
+ account_role: string;
291
+ }, Error, {
292
+ accountId: string;
293
+ userId: string;
294
+ role: AdminAccountMemberRole;
295
+ }, unknown>;
175
296
  export interface AdminLedgerEntry {
176
297
  id: string;
177
298
  amount: string;
@@ -1 +1 @@
1
- {"version":3,"file":"use-admin-accounts.d.ts","sourceRoot":"","sources":["../../src/react/use-admin-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-admin-accounts.d.ts","sourceRoot":"","sources":["../../src/react/use-admin-accounts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,29 @@
1
1
  import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
2
2
  import { backendApi } from '../core/http/api-client.js';
3
+ /**
4
+ * Every override key the server accepts. Anything else is a 400 from
5
+ * `validateOverridePatch`, so the console builds its rows from this list rather
6
+ * than from free-form strings.
7
+ *
8
+ * Mirrors `OVERRIDE_KEYS` in
9
+ * `apps/api/src/billing/services/entitlement-overrides.ts`.
10
+ */
11
+ export const ADMIN_OVERRIDE_KEYS = [
12
+ 'enterpriseEntitled',
13
+ 'demoEnterprise',
14
+ 'managedModelsOverride',
15
+ 'maxConcurrentSessions',
16
+ 'computeRateMultiplier',
17
+ 'sso',
18
+ 'scim',
19
+ 'rbac',
20
+ 'auditAccess',
21
+ 'managedModels',
22
+ ];
23
+ /** Wire path of the platform-admin entitlement-override merge-patch route. */
24
+ export function adminAccountOverridesPath(accountId) {
25
+ return `/admin/api/accounts/${encodeURIComponent(accountId)}/overrides`;
26
+ }
3
27
  export function useAdminAccounts(filters = {}) {
4
28
  const { search = '', tier = [], paymentStatus = [], paidOnly = false, hasSubscription = null, minBalance = null, maxBalance = null, sortBy = 'created', sortDir = 'desc', page = 1, limit = 50, } = filters;
5
29
  return useQuery({
@@ -49,6 +73,31 @@ export function useAdminAccounts(filters = {}) {
49
73
  placeholderData: (prev) => prev,
50
74
  });
51
75
  }
76
+ /** Wire path of the exact-id single-account lookup (list route + accountId filter). */
77
+ export function adminAccountLookupPath(accountId) {
78
+ return `/admin/api/accounts?accountId=${encodeURIComponent(accountId)}&limit=1`;
79
+ }
80
+ /**
81
+ * Live single-account row for the admin detail sheet. Uses the list route's
82
+ * exact-id filter, so it stays correct when the list's own filters (tier,
83
+ * balance, payment status) no longer match the account after a mutation —
84
+ * the bug where the sheet kept rendering a pre-mutation snapshot.
85
+ * Invalidated by the same ['admin','accounts', accountId] subtree every admin
86
+ * mutation already targets.
87
+ */
88
+ export function useAdminAccount(accountId) {
89
+ return useQuery({
90
+ queryKey: ['admin', 'accounts', accountId, 'detail'],
91
+ enabled: !!accountId,
92
+ queryFn: async () => {
93
+ const response = await backendApi.get(adminAccountLookupPath(accountId));
94
+ if (response.error)
95
+ throw new Error(response.error.message);
96
+ return response.data?.accounts?.[0] ?? null;
97
+ },
98
+ staleTime: 5_000,
99
+ });
100
+ }
52
101
  export function useAdminAccountUsers(accountId) {
53
102
  return useQuery({
54
103
  queryKey: ['admin', 'accounts', accountId, 'users'],
@@ -207,6 +256,49 @@ export function useAdminSetEnterpriseEntitled() {
207
256
  onSuccess: (_data, { accountId }) => invalidateAdminAccount(queryClient, accountId),
208
257
  });
209
258
  }
259
+ /**
260
+ * Merge-patch an account's entitlement overrides — the ONE route behind every
261
+ * override, and the only one that can express an expiry.
262
+ *
263
+ * Send only the keys the form owns: an entry sets, `null` deletes, an absent
264
+ * key is untouched. The server mirrors a PERMANENT patch onto the four legacy
265
+ * columns and clears the column for a TIMED one, so the three single-purpose
266
+ * mutations above and this one stay consistent with each other.
267
+ */
268
+ export function useAdminSetOverrides() {
269
+ const queryClient = useQueryClient();
270
+ return useMutation({
271
+ mutationFn: async ({ accountId, patch }) => {
272
+ const response = await backendApi.put(adminAccountOverridesPath(accountId), patch);
273
+ if (response.error)
274
+ throw new Error(response.error.message);
275
+ return response.data;
276
+ },
277
+ onSuccess: (_data, { accountId }) => invalidateAdminAccount(queryClient, accountId),
278
+ });
279
+ }
280
+ /** Wire path of the platform-admin member-role override route. */
281
+ export function adminMemberRolePath(accountId, userId) {
282
+ return `/admin/api/accounts/${accountId}/members/${userId}/role`;
283
+ }
284
+ /**
285
+ * Platform-admin override of an account member's role. Bypasses the in-account
286
+ * permission rules (which require the caller to be a member), but the server
287
+ * still refuses to demote an account's last owner. Invalidates the account
288
+ * subtree, which includes the users list the Users tab renders.
289
+ */
290
+ export function useAdminSetMemberRole() {
291
+ const queryClient = useQueryClient();
292
+ return useMutation({
293
+ mutationFn: async ({ accountId, userId, role }) => {
294
+ const response = await backendApi.post(adminMemberRolePath(accountId, userId), { role });
295
+ if (response.error)
296
+ throw new Error(response.error.message);
297
+ return response.data;
298
+ },
299
+ onSuccess: (_data, { accountId }) => invalidateAdminAccount(queryClient, accountId),
300
+ });
301
+ }
210
302
  export function useAdminAccountLedger(accountId, limit = 50) {
211
303
  return useQuery({
212
304
  queryKey: ['admin', 'accounts', accountId, 'ledger', limit],
@@ -1 +1 @@
1
- {"version":3,"file":"use-admin-accounts.js","sourceRoot":"","sources":["../../src/react/use-admin-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-admin-accounts.js","sourceRoot":"","sources":["../../src/react/use-admin-accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { type ImpersonationSession } from '../core/http/impersonation.js';
2
+ /**
3
+ * React surface over the act-as store. The data logic (storage, expiry,
4
+ * header injection) lives in `core/http/impersonation`; these three hooks are
5
+ * the only React that knows about it, so the host renders a banner and a
6
+ * button and nothing else.
7
+ */
8
+ /** Wire path of the mint route. */
9
+ export declare const ADMIN_IMPERSONATE_PATH = "/admin/api/impersonate";
10
+ /** Wire path of the revoke route for one grant. */
11
+ export declare function adminImpersonateRevokePath(grantId: string): string;
12
+ /** Wire path of the caller's live grants. */
13
+ export declare const ADMIN_IMPERSONATE_ACTIVE_PATH = "/admin/api/impersonate/active";
14
+ /** What `POST /admin/api/impersonate` answers. */
15
+ export interface AdminImpersonateResponse {
16
+ grant_id: string;
17
+ account_id: string;
18
+ account_name?: string | null;
19
+ /** ISO-8601. Server-capped at one hour — the client never chooses it. */
20
+ expires_at: string;
21
+ }
22
+ /**
23
+ * The current act-as session, or null. Subscribes to the store, so a banner
24
+ * built on it disappears by itself when the grant expires or is exited from
25
+ * another component.
26
+ */
27
+ export declare function useImpersonation(): ImpersonationSession | null;
28
+ /**
29
+ * Start acting as an account. On success the session is stored, which makes
30
+ * every subsequent request from this tab carry the grant header — so the
31
+ * caller navigates to the app shell and nothing else needs wiring.
32
+ *
33
+ * The whole React Query cache is cleared, not invalidated: every cached entry
34
+ * was fetched as the OPERATOR, and re-serving one inside a customer's session
35
+ * would show the operator's own data under the customer's banner.
36
+ */
37
+ export declare function useAdminImpersonate(): import("@tanstack/react-query").UseMutationResult<AdminImpersonateResponse, Error, {
38
+ accountId: string;
39
+ reason?: string;
40
+ }, unknown>;
41
+ /**
42
+ * Stop acting. Revokes server-side FIRST, then clears the local session — in
43
+ * that order, because a client that forgot the grant id can no longer revoke
44
+ * it, and the row would stay live for the rest of its hour.
45
+ *
46
+ * A failed revoke still clears locally: the operator asked to leave, and the
47
+ * grant expires on its own. The error is surfaced so the caller can say so.
48
+ */
49
+ export declare function useStopImpersonation(): import("@tanstack/react-query").UseMutationResult<{
50
+ ok: boolean;
51
+ } | null, Error, void | {
52
+ grantId?: string;
53
+ }, unknown>;
54
+ //# sourceMappingURL=use-impersonation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-impersonation.d.ts","sourceRoot":"","sources":["../../src/react/use-impersonation.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC;;;;;GAKG;AAEH,mCAAmC;AACnC,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,mDAAmD;AACnD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,6CAA6C;AAC7C,eAAO,MAAM,6BAA6B,kCAAqC,CAAC;AAEhF,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAS9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB;eAEgC,MAAM;aAAW,MAAM;YAqBzF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB;QAET,OAAO;;cAA8B,MAAM;YAgBrE"}
@@ -0,0 +1,91 @@
1
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
2
+ import { useSyncExternalStore } from 'react';
3
+ import { backendApi } from '../core/http/api-client.js';
4
+ import { clearImpersonationSession, getImpersonationSession, setImpersonationSession, subscribeToImpersonation, } from '../core/http/impersonation.js';
5
+ /**
6
+ * React surface over the act-as store. The data logic (storage, expiry,
7
+ * header injection) lives in `core/http/impersonation`; these three hooks are
8
+ * the only React that knows about it, so the host renders a banner and a
9
+ * button and nothing else.
10
+ */
11
+ /** Wire path of the mint route. */
12
+ export const ADMIN_IMPERSONATE_PATH = '/admin/api/impersonate';
13
+ /** Wire path of the revoke route for one grant. */
14
+ export function adminImpersonateRevokePath(grantId) {
15
+ return `${ADMIN_IMPERSONATE_PATH}/${encodeURIComponent(grantId)}`;
16
+ }
17
+ /** Wire path of the caller's live grants. */
18
+ export const ADMIN_IMPERSONATE_ACTIVE_PATH = `${ADMIN_IMPERSONATE_PATH}/active`;
19
+ /**
20
+ * The current act-as session, or null. Subscribes to the store, so a banner
21
+ * built on it disappears by itself when the grant expires or is exited from
22
+ * another component.
23
+ */
24
+ export function useImpersonation() {
25
+ return useSyncExternalStore(subscribeToImpersonation, getImpersonationSession,
26
+ // Server render: never acting as an account. The store is per-tab
27
+ // `sessionStorage`, which does not exist during SSR, and claiming a session
28
+ // there would flash a banner for an operator who has none.
29
+ () => null);
30
+ }
31
+ /**
32
+ * Start acting as an account. On success the session is stored, which makes
33
+ * every subsequent request from this tab carry the grant header — so the
34
+ * caller navigates to the app shell and nothing else needs wiring.
35
+ *
36
+ * The whole React Query cache is cleared, not invalidated: every cached entry
37
+ * was fetched as the OPERATOR, and re-serving one inside a customer's session
38
+ * would show the operator's own data under the customer's banner.
39
+ */
40
+ export function useAdminImpersonate() {
41
+ const queryClient = useQueryClient();
42
+ return useMutation({
43
+ mutationFn: async ({ accountId, reason }) => {
44
+ const body = { account_id: accountId };
45
+ if (reason)
46
+ body.reason = reason;
47
+ const response = await backendApi.post(ADMIN_IMPERSONATE_PATH, body);
48
+ if (response.error)
49
+ throw new Error(response.error.message);
50
+ return response.data;
51
+ },
52
+ onSuccess: (data) => {
53
+ setImpersonationSession({
54
+ grantId: data.grant_id,
55
+ accountId: data.account_id,
56
+ accountName: data.account_name ?? null,
57
+ expiresAt: data.expires_at,
58
+ });
59
+ queryClient.clear();
60
+ },
61
+ });
62
+ }
63
+ /**
64
+ * Stop acting. Revokes server-side FIRST, then clears the local session — in
65
+ * that order, because a client that forgot the grant id can no longer revoke
66
+ * it, and the row would stay live for the rest of its hour.
67
+ *
68
+ * A failed revoke still clears locally: the operator asked to leave, and the
69
+ * grant expires on its own. The error is surfaced so the caller can say so.
70
+ */
71
+ export function useStopImpersonation() {
72
+ const queryClient = useQueryClient();
73
+ return useMutation({
74
+ mutationFn: async (variables) => {
75
+ const grantId = variables?.grantId ?? getImpersonationSession()?.grantId;
76
+ if (!grantId)
77
+ return null;
78
+ try {
79
+ const response = await backendApi.delete(adminImpersonateRevokePath(grantId));
80
+ if (response.error)
81
+ throw new Error(response.error.message);
82
+ return response.data ?? { ok: true };
83
+ }
84
+ finally {
85
+ clearImpersonationSession();
86
+ queryClient.clear();
87
+ }
88
+ },
89
+ });
90
+ }
91
+ //# sourceMappingURL=use-impersonation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-impersonation.js","sourceRoot":"","sources":["../../src/react/use-impersonation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AAEpC;;;;;GAKG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,mDAAmD;AACnD,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,GAAG,sBAAsB,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,sBAAsB,SAAS,CAAC;AAWhF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,CACzB,wBAAwB,EACxB,uBAAuB;IACvB,kEAAkE;IAClE,4EAA4E;IAC5E,2DAA2D;IAC3D,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,WAAW,CAA0E;QAC1F,UAAU,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1C,MAAM,IAAI,GAA4B,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAChE,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CACpC,sBAAsB,EACtB,IAAI,CACL,CAAC;YACF,IAAI,QAAQ,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO,QAAQ,CAAC,IAAK,CAAC;QACxB,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,uBAAuB,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;gBACtC,SAAS,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC,CAAC;YACH,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,WAAW,CAA6D;QAC7E,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,uBAAuB,EAAE,EAAE,OAAO,CAAC;YACzE,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CACtC,0BAA0B,CAAC,OAAO,CAAC,CACpC,CAAC;gBACF,IAAI,QAAQ,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;oBAAS,CAAC;gBACT,yBAAyB,EAAE,CAAC;gBAC5B,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kortix/sdk",
3
- "version": "0.12.7",
3
+ "version": "0.12.8",
4
4
  "description": "Official Kortix frontend TypeScript SDK — one typed client for the Kortix agent platform. Unifies project/session lifecycle and live agent streaming behind a single ergonomic Session handle, so web, mobile, and white-label apps never touch the raw HTTP API or OpenCode semantics.",
5
5
  "type": "module",
6
6
  "license": "Elastic-2.0",
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "sideEffects": false,
22
22
  "dependencies": {
23
- "@kortix/llm-catalog": "0.12.7",
23
+ "@kortix/llm-catalog": "0.12.8",
24
24
  "@opencode-ai/sdk": "1.17.11",
25
25
  "zustand": "^5.0.3"
26
26
  },