@atlasauth/backend 0.26.0 → 0.27.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 (98) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/botid.js +3 -3
  3. package/dist/botid.js.map +1 -1
  4. package/dist/client/abac.d.ts +65 -0
  5. package/dist/client/abac.js +25 -0
  6. package/dist/client/abac.js.map +1 -1
  7. package/dist/client/access-policies.d.ts +84 -2
  8. package/dist/client/access-policies.js +8 -0
  9. package/dist/client/access-policies.js.map +1 -1
  10. package/dist/client/actions.d.ts +1 -1
  11. package/dist/client/actions.js.map +1 -1
  12. package/dist/client/agent-platform.d.ts +294 -0
  13. package/dist/client/agent-platform.js +132 -0
  14. package/dist/client/agent-platform.js.map +1 -0
  15. package/dist/client/app-catalog.d.ts +60 -1
  16. package/dist/client/app-catalog.js +32 -2
  17. package/dist/client/app-catalog.js.map +1 -1
  18. package/dist/client/authz-decisions.d.ts +46 -0
  19. package/dist/client/authz-decisions.js +13 -0
  20. package/dist/client/authz-decisions.js.map +1 -1
  21. package/dist/client/connections.d.ts +12 -0
  22. package/dist/client/connections.js +7 -0
  23. package/dist/client/connections.js.map +1 -1
  24. package/dist/client/desktop-mfa.d.ts +37 -0
  25. package/dist/client/desktop-mfa.js +14 -0
  26. package/dist/client/desktop-mfa.js.map +1 -1
  27. package/dist/client/devices.d.ts +130 -0
  28. package/dist/client/devices.js +54 -0
  29. package/dist/client/devices.js.map +1 -1
  30. package/dist/client/email-templates.d.ts +1 -1
  31. package/dist/client/email-templates.js.map +1 -1
  32. package/dist/client/fga.d.ts +176 -1
  33. package/dist/client/fga.js +41 -1
  34. package/dist/client/fga.js.map +1 -1
  35. package/dist/client/index.d.ts +3782 -2946
  36. package/dist/client/index.js +28 -0
  37. package/dist/client/index.js.map +1 -1
  38. package/dist/client/log-streams.d.ts +1 -1
  39. package/dist/client/mcp-gateways.d.ts +148 -2
  40. package/dist/client/mcp-gateways.js +52 -0
  41. package/dist/client/mcp-gateways.js.map +1 -1
  42. package/dist/client/messaging.d.ts +11 -2
  43. package/dist/client/messaging.js.map +1 -1
  44. package/dist/client/oauth-protocols.d.ts +116 -0
  45. package/dist/client/oauth-protocols.js +54 -0
  46. package/dist/client/oauth-protocols.js.map +1 -0
  47. package/dist/client/oauth-providers.d.ts +4 -4
  48. package/dist/client/org-ldap-connections.d.ts +3 -0
  49. package/dist/client/org-ldap-connections.js.map +1 -1
  50. package/dist/client/organizations.d.ts +14 -0
  51. package/dist/client/organizations.js.map +1 -1
  52. package/dist/client/risk-containment.d.ts +244 -0
  53. package/dist/client/risk-containment.js +120 -0
  54. package/dist/client/risk-containment.js.map +1 -0
  55. package/dist/client/saml-idp.d.ts +183 -0
  56. package/dist/client/saml-idp.js +71 -0
  57. package/dist/client/saml-idp.js.map +1 -0
  58. package/dist/client/scim-provisioning.d.ts +100 -4
  59. package/dist/client/scim-provisioning.js +30 -0
  60. package/dist/client/scim-provisioning.js.map +1 -1
  61. package/dist/client/scim-tokens.d.ts +34 -0
  62. package/dist/client/scim-tokens.js +17 -0
  63. package/dist/client/scim-tokens.js.map +1 -1
  64. package/dist/client/service-connectors.d.ts +1 -1
  65. package/dist/client/ssf.d.ts +29 -0
  66. package/dist/client/ssf.js +17 -0
  67. package/dist/client/ssf.js.map +1 -1
  68. package/dist/client/users.d.ts +9 -0
  69. package/dist/client/users.js +9 -0
  70. package/dist/client/users.js.map +1 -1
  71. package/dist/client/vault.d.ts +54 -0
  72. package/dist/client/vault.js +30 -0
  73. package/dist/client/vault.js.map +1 -1
  74. package/dist/client/vc.d.ts +54 -2
  75. package/dist/client/vc.js +15 -0
  76. package/dist/client/vc.js.map +1 -1
  77. package/dist/client/workflows.d.ts +182 -3
  78. package/dist/client/workflows.js +34 -0
  79. package/dist/client/workflows.js.map +1 -1
  80. package/dist/edge-crypto.d.ts +13 -0
  81. package/dist/edge-crypto.js +46 -0
  82. package/dist/edge-crypto.js.map +1 -0
  83. package/dist/index.d.ts +3 -2
  84. package/dist/index.js +3 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/oauth-resource.d.ts +30 -3
  87. package/dist/oauth-resource.js +43 -2
  88. package/dist/oauth-resource.js.map +1 -1
  89. package/dist/policy-source.js +4 -4
  90. package/dist/policy-source.js.map +1 -1
  91. package/dist/referral-test-calls.js +8 -8
  92. package/dist/referral-test-calls.js.map +1 -1
  93. package/dist/txn-token.d.ts +36 -0
  94. package/dist/txn-token.js +30 -0
  95. package/dist/txn-token.js.map +1 -0
  96. package/dist/webhooks.js +5 -5
  97. package/dist/webhooks.js.map +1 -1
  98. package/package.json +3 -3
@@ -445,6 +445,18 @@ export declare function connectionsResource(request: RequestFn): {
445
445
  staleAccessToken?: string;
446
446
  reason?: "provider_401" | "expired" | "manual";
447
447
  }): Promise<ConnectionToken>;
448
+ /**
449
+ * A token limited to a subset of the granted scopes, for a less-trusted caller. Not cached and never replaces the
450
+ * connection's own token. Refused with 422 `invalid_scope` or `downscope_unsupported` (the provider cannot narrow).
451
+ */
452
+ downscopeToken(id: string, scopes: string[]): Promise<{
453
+ object: "connection_token";
454
+ connection_id: string;
455
+ access_token: string;
456
+ expires_at: number | null;
457
+ scopes: string[];
458
+ downscoped: true;
459
+ }>;
448
460
  /** Read up to 100 connections' tokens in one call. Each id has its own result, so one dead connection does not fail the rest. */
449
461
  tokens(ids: string[], options?: {
450
462
  minTtlSeconds?: number;
@@ -79,6 +79,13 @@ function connectionsResource(request) {
79
79
  });
80
80
  return remember(t);
81
81
  },
82
+ /**
83
+ * A token limited to a subset of the granted scopes, for a less-trusted caller. Not cached and never replaces the
84
+ * connection's own token. Refused with 422 `invalid_scope` or `downscope_unsupported` (the provider cannot narrow).
85
+ */
86
+ downscopeToken(id, scopes) {
87
+ return request({ method: 'POST', path: `/v1/connections/${(0, request_1.enc)(id)}/token/downscope`, body: { scopes } });
88
+ },
82
89
  /** Read up to 100 connections' tokens in one call. Each id has its own result, so one dead connection does not fail the rest. */
83
90
  async tokens(ids, options = {}) {
84
91
  const r = await request({
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/client/connections.ts"],"names":[],"mappings":";;AA2YA,kDAoJC;AA/hBD,uCAAgD;AAsRhD,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AA+GD,uEAAuE;AACvE,SAAgB,mBAAmB,CAAC,OAAkB;IACpD,+HAA+H;IAC/H,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,MAAM,IAAI,GAAG,CAAC,CAA8B,EAAE,aAAqB,EAAwB,EAAE,CAC3F,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAG,CAAC,CAAkB,EAAmB,EAAE;QACvD,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;YACpD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,OAAO;QACL,MAAM,CAAC,IAA0B,EAAE,cAAuB;YACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,SAAgC,EAAE;YACrC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA0B;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,2GAA2G;QAC3G,MAAM,CAA4B,EAAU,EAAE,UAA0B,EAAE;YACxE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACnI,CAAC;QACD,+EAA+E;QAC/E,OAAO,CAAC,EAAU,EAAE,IAA2B;YAC7C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,uHAAuH;QACvH,MAAM,CAAC,EAAU;YACf,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;QACD;;;;WAIG;QACH,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,UAA4B,EAAE;YACpD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrL,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;gBAAE,OAAO,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACnG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAkB;gBACvC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,QAAQ;gBACxC,KAAK,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACnH,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD;;;WAGG;QACH,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,UAAyF,EAAE;YACxH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAkB;gBACvC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB;gBAChD,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACzJ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,iIAAiI;QACjI,KAAK,CAAC,MAAM,CAAC,GAAa,EAAE,UAAsC,EAAE;YAClE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAwE;gBAC7F,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,8BAA8B;gBACpC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aAC5F,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,IAAI;gBAAE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK;oBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,+GAA+G;QAC/G,iBAAiB,CAAC,IAA2B,EAAE,cAAuB;YACpE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD;;;WAGG;QACH,iBAAiB,CAAC,OAA8B,EAAE;YAChD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAChK,CAAC;QACD,wGAAwG;QACxG,cAAc,CAAC,EAAU,EAAE,IAAkC;YAC3D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,qFAAqF;QACrF,iBAAiB,CAAC,EAAU,EAAE,IAAqC;YACjE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,yEAAyE;QACzE,cAAc,CAAC,EAAU;YACvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD;;;;WAIG;QACH,MAAM,CAAC,EAAU,EAAE,UAAkF,EAAE;YACrG,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,IAAA,aAAG,EAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,CAAC;YAC7J,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACnI,CAAC;QACD,sFAAsF;QACtF,UAAU,CAAC,EAAU,EAAE,IAA4E;YACjG,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,QAAQ,EAAE;YACR,gFAAgF;YAChF,MAAM,CAAC,EAAU,EAAE,IAAiC;gBAClD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,cAAc,CAAC,EAAU,EAAE,IAAyC;gBAClE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,aAAa,CAAC,EAAU;gBACtB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,cAAc,CAAC,EAAU,EAAE,UAAkB,EAAE,IAA0E;gBACvH,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,cAAc,CAAC,EAAU,EAAE,UAAkB;gBAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,IAAA,aAAG,EAAC,EAAE,CAAC,sBAAsB,IAAA,aAAG,EAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAChH,CAAC;SACF;QACD,YAAY,EAAE;YACZ,GAAG,CAAC,IAAkC;gBACpC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,CAAC,SAAqF,EAAE;gBAC1F,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,GAAG,CAAC,EAAU;gBACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iCAAiC,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,CAAC,EAAU;gBACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,iCAAiC,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzF,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/client/connections.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,27 @@ export interface DesktopMfaPolicy {
16
16
  /** Relying-party domain the agents use; null uses the application's passkey RP id. */
17
17
  passkey_rp_id: string | null;
18
18
  passkey_require_uv: boolean;
19
+ /** Device-bound SSO (macOS Platform SSO, Windows broker) accepts registrations and logins. */
20
+ device_sso_enabled: boolean;
21
+ device_sso_session_minutes: number;
22
+ device_sso_refresh_days: number;
23
+ }
24
+ /** A device registered for device-bound SSO. */
25
+ export interface DeviceSsoRegistration {
26
+ object: 'device_sso_registration';
27
+ id: string;
28
+ user_id: string;
29
+ platform: 'macos' | 'windows';
30
+ hostname: string | null;
31
+ agent_version: string | null;
32
+ status: 'active' | 'revoked';
33
+ signing_key_id: string;
34
+ user_key_registered: boolean;
35
+ user_key_method: 'user_secure_enclave_key' | 'user_tpm_key' | null;
36
+ local_username: string | null;
37
+ last_login_at: number | null;
38
+ revoked_at: number | null;
39
+ created_at: number;
19
40
  }
20
41
  /** A passkey registered through a workstation. It answers the desktop passkey factor and never a web sign-in. */
21
42
  export interface DesktopPasskey {
@@ -101,4 +122,20 @@ export declare function desktopMfaResource(request: RequestFn): {
101
122
  id: string;
102
123
  deleted: boolean;
103
124
  }>;
125
+ /** Devices registered for device-bound SSO (macOS Platform SSO, Windows broker). */
126
+ listDeviceSsoRegistrations(query?: {
127
+ user_id?: string;
128
+ }): Promise<{
129
+ object: "list";
130
+ data: DeviceSsoRegistration[];
131
+ has_more: boolean;
132
+ }>;
133
+ getDeviceSsoRegistration(id: string): Promise<DeviceSsoRegistration>;
134
+ /** Ends every session the device holds and refuses its next call. */
135
+ revokeDeviceSsoRegistration(id: string): Promise<DeviceSsoRegistration>;
136
+ deleteDeviceSsoRegistration(id: string): Promise<{
137
+ object: "device_sso_registration";
138
+ id: string;
139
+ deleted: boolean;
140
+ }>;
104
141
  };
@@ -39,6 +39,20 @@ function desktopMfaResource(request) {
39
39
  deleteDevice(id) {
40
40
  return request({ method: 'DELETE', path: `/v1/desktop_mfa/devices/${(0, request_1.enc)(id)}` });
41
41
  },
42
+ /** Devices registered for device-bound SSO (macOS Platform SSO, Windows broker). */
43
+ listDeviceSsoRegistrations(query = {}) {
44
+ return request({ method: 'GET', path: '/v1/device_sso/registrations', query });
45
+ },
46
+ getDeviceSsoRegistration(id) {
47
+ return request({ method: 'GET', path: `/v1/device_sso/registrations/${(0, request_1.enc)(id)}` });
48
+ },
49
+ /** Ends every session the device holds and refuses its next call. */
50
+ revokeDeviceSsoRegistration(id) {
51
+ return request({ method: 'POST', path: `/v1/device_sso/registrations/${(0, request_1.enc)(id)}/revoke` });
52
+ },
53
+ deleteDeviceSsoRegistration(id) {
54
+ return request({ method: 'DELETE', path: `/v1/device_sso/registrations/${(0, request_1.enc)(id)}` });
55
+ },
42
56
  };
43
57
  }
44
58
  //# sourceMappingURL=desktop-mfa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-mfa.js","sourceRoot":"","sources":["../../src/client/desktop-mfa.ts"],"names":[],"mappings":";;AAqEA,gDAqCC;AA1GD,uCAAgD;AAoEhD,4EAA4E;AAC5E,SAAgB,kBAAkB,CAAC,OAAkB;IACnD,OAAO;QACL,SAAS;YACP,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,sCAAsC;QACtC,YAAY,CAAC,IAAgC;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,gGAAgG;QAChG,mBAAmB,CAAC,IAAsD;YACxE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,WAAW,CAAC,QAA8B,EAAE;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,SAAS,CAAC,EAAU;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,kBAAkB,CAAC,EAAU;YAC3B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,mBAAmB,CAAC,EAAU,EAAE,SAAiB;YAC/C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,aAAa,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,6EAA6E;QAC7E,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,0GAA0G;QAC1G,kBAAkB,CAAC,EAAU;YAC3B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"desktop-mfa.js","sourceRoot":"","sources":["../../src/client/desktop-mfa.ts"],"names":[],"mappings":";;AA2FA,gDAmDC;AA9ID,uCAAgD;AA0FhD,4EAA4E;AAC5E,SAAgB,kBAAkB,CAAC,OAAkB;IACnD,OAAO;QACL,SAAS;YACP,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,sCAAsC;QACtC,YAAY,CAAC,IAAgC;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,gGAAgG;QAChG,mBAAmB,CAAC,IAAsD;YACxE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,WAAW,CAAC,QAA8B,EAAE;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,SAAS,CAAC,EAAU;YAClB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,kBAAkB,CAAC,EAAU;YAC3B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,mBAAmB,CAAC,EAAU,EAAE,SAAiB;YAC/C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,aAAa,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,6EAA6E;QAC7E,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,0GAA0G;QAC1G,kBAAkB,CAAC,EAAU;YAC3B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,oFAAoF;QACpF,0BAA0B,CAAC,QAA8B,EAAE;YACzD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,wBAAwB,CAAC,EAAU;YACjC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,qEAAqE;QACrE,2BAA2B,CAAC,EAAU;YACpC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,2BAA2B,CAAC,EAAU;YACpC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gCAAgC,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -11,6 +11,21 @@ export interface Device {
11
11
  managed: boolean;
12
12
  compliant: boolean;
13
13
  posture: Record<string, unknown>;
14
+ os_version: string | null;
15
+ disk_encrypted: boolean | null;
16
+ screen_lock: boolean | null;
17
+ secure_hardware: boolean | null;
18
+ jailbroken: boolean | null;
19
+ firewall: boolean | null;
20
+ edr_present: boolean | null;
21
+ assurance_state: 'compliant' | 'grace' | 'noncompliant' | null;
22
+ assurance_checks: Array<{
23
+ policyId: string;
24
+ check: string;
25
+ ok: boolean;
26
+ detail?: string;
27
+ }>;
28
+ integration_id: string | null;
14
29
  last_reported_at: number;
15
30
  created_at: number;
16
31
  }
@@ -26,11 +41,71 @@ export interface DeviceReportBody {
26
41
  managed?: boolean;
27
42
  compliant?: boolean;
28
43
  posture?: Record<string, unknown>;
44
+ /** Typed posture; `null` or absent = unknown (never assumed good). */
45
+ os_version?: string | null;
46
+ disk_encrypted?: boolean | null;
47
+ screen_lock?: boolean | null;
48
+ secure_hardware?: boolean | null;
49
+ jailbroken?: boolean | null;
50
+ firewall?: boolean | null;
51
+ edr_present?: boolean | null;
52
+ }
53
+ export type DevicePlatform = 'any' | 'macos' | 'windows' | 'linux' | 'ios' | 'android' | 'chromeos';
54
+ export interface DeviceAssurancePolicy {
55
+ object: 'device_assurance_policy';
56
+ id: string;
57
+ name: string;
58
+ platform: DevicePlatform;
59
+ enabled: boolean;
60
+ min_os_version: string | null;
61
+ os_latest_minus: number | null;
62
+ require_disk_encryption: boolean;
63
+ require_screen_lock: boolean;
64
+ require_secure_hardware: boolean;
65
+ block_jailbroken: boolean;
66
+ require_firewall: boolean;
67
+ require_edr: boolean;
68
+ grace_hours: number;
69
+ created_at: number;
70
+ updated_at: number;
71
+ }
72
+ export type DeviceAssurancePolicyBody = Partial<Omit<DeviceAssurancePolicy, 'object' | 'id' | 'created_at' | 'updated_at'>> & {
73
+ name?: string;
74
+ };
75
+ export type DeviceIntegrationProvider = 'intune' | 'jamf' | 'crowdstrike' | 'fleet' | 'chrome';
76
+ export interface DeviceIntegration {
77
+ object: 'device_integration';
78
+ id: string;
79
+ provider: DeviceIntegrationProvider;
80
+ name: string;
81
+ status: 'active' | 'paused';
82
+ config: Record<string, unknown>;
83
+ has_credentials: boolean;
84
+ interval_minutes: number;
85
+ next_sync_at: number | null;
86
+ last_sync_at: number | null;
87
+ last_status: string | null;
88
+ last_error: string | null;
89
+ last_stats: Record<string, unknown>;
90
+ created_at: number;
91
+ updated_at: number;
92
+ }
93
+ export interface DeviceIntegrationBody {
94
+ provider?: DeviceIntegrationProvider;
95
+ name?: string;
96
+ /** Intune `{ tenantId }`; Jamf and Fleet `{ baseUrl }`; CrowdStrike `{ cloud, minZtaScore?, userEmailDomain? }`; Chrome `{ customer? }`. */
97
+ config?: Record<string, unknown>;
98
+ /** Write-only. Intune and Jamf and CrowdStrike `{ clientId, clientSecret }`; Fleet `{ apiToken }`; Chrome `{ clientEmail, privateKey, adminEmail }`. */
99
+ credentials?: Record<string, unknown>;
100
+ interval_minutes?: number;
101
+ status?: 'active' | 'paused';
29
102
  }
30
103
  export declare function devicesResource(request: RequestFn): {
31
104
  list(query?: {
32
105
  user_id?: string;
33
106
  source?: string;
107
+ platform?: string;
108
+ assurance_state?: string;
34
109
  }): Promise<ListPage<Device>>;
35
110
  get(id: string): Promise<Device>;
36
111
  report(body: DeviceReportBody): Promise<Device>;
@@ -41,4 +116,59 @@ export declare function devicesResource(request: RequestFn): {
41
116
  id: string;
42
117
  deleted: true;
43
118
  }>;
119
+ /** The compliance transitions of one device, newest first. */
120
+ complianceHistory(id: string): Promise<ListPage<{
121
+ object: "device_compliance_entry";
122
+ id: string;
123
+ device_id: string;
124
+ user_id: string | null;
125
+ state: string;
126
+ compliant: boolean;
127
+ failing: string[];
128
+ source: string;
129
+ created_at: number;
130
+ }>>;
131
+ };
132
+ /** Per-platform posture requirements (OS version, disk encryption, screen lock, ...) with a grace period. */
133
+ export declare function deviceAssurancePoliciesResource(request: RequestFn): {
134
+ list(): Promise<ListPage<DeviceAssurancePolicy>>;
135
+ get(id: string): Promise<DeviceAssurancePolicy>;
136
+ create(body: DeviceAssurancePolicyBody & {
137
+ name: string;
138
+ }): Promise<DeviceAssurancePolicy>;
139
+ update(id: string, body: DeviceAssurancePolicyBody): Promise<DeviceAssurancePolicy>;
140
+ delete(id: string): Promise<{
141
+ object: "device_assurance_policy";
142
+ id: string;
143
+ deleted: true;
144
+ }>;
145
+ /** Re-evaluate every device against the current policies. */
146
+ evaluate(): Promise<{
147
+ object: "device_assurance_evaluation";
148
+ evaluated: number;
149
+ changed: number;
150
+ }>;
151
+ };
152
+ /** Pull connectors for Intune, Jamf Pro, CrowdStrike Falcon, Fleet and Google Chrome / ChromeOS. */
153
+ export declare function deviceIntegrationsResource(request: RequestFn): {
154
+ list(): Promise<ListPage<DeviceIntegration>>;
155
+ get(id: string): Promise<DeviceIntegration>;
156
+ create(body: DeviceIntegrationBody & {
157
+ provider: DeviceIntegrationProvider;
158
+ name: string;
159
+ }): Promise<DeviceIntegration>;
160
+ update(id: string, body: DeviceIntegrationBody): Promise<DeviceIntegration>;
161
+ delete(id: string): Promise<{
162
+ object: "device_integration";
163
+ id: string;
164
+ deleted: true;
165
+ }>;
166
+ /** Pull now instead of waiting for the schedule. */
167
+ sync(id: string): Promise<{
168
+ object: "device_integration_sync";
169
+ integration_id: string;
170
+ ok: boolean;
171
+ seen: number;
172
+ error: string | null;
173
+ }>;
44
174
  };
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.devicesResource = devicesResource;
4
+ exports.deviceAssurancePoliciesResource = deviceAssurancePoliciesResource;
5
+ exports.deviceIntegrationsResource = deviceIntegrationsResource;
4
6
  const request_1 = require("./request");
5
7
  function devicesResource(request) {
6
8
  return {
@@ -21,6 +23,58 @@ function devicesResource(request) {
21
23
  remove(id) {
22
24
  return request({ method: 'DELETE', path: `/v1/devices/${(0, request_1.enc)(id)}` });
23
25
  },
26
+ /** The compliance transitions of one device, newest first. */
27
+ complianceHistory(id) {
28
+ return request({ method: 'GET', path: `/v1/devices/${(0, request_1.enc)(id)}/compliance_history` });
29
+ },
30
+ };
31
+ }
32
+ /** Per-platform posture requirements (OS version, disk encryption, screen lock, ...) with a grace period. */
33
+ function deviceAssurancePoliciesResource(request) {
34
+ return {
35
+ list() {
36
+ return request({ method: 'GET', path: '/v1/device_assurance_policies' });
37
+ },
38
+ get(id) {
39
+ return request({ method: 'GET', path: `/v1/device_assurance_policies/${(0, request_1.enc)(id)}` });
40
+ },
41
+ create(body) {
42
+ return request({ method: 'POST', path: '/v1/device_assurance_policies', body });
43
+ },
44
+ update(id, body) {
45
+ return request({ method: 'PATCH', path: `/v1/device_assurance_policies/${(0, request_1.enc)(id)}`, body });
46
+ },
47
+ delete(id) {
48
+ return request({ method: 'DELETE', path: `/v1/device_assurance_policies/${(0, request_1.enc)(id)}` });
49
+ },
50
+ /** Re-evaluate every device against the current policies. */
51
+ evaluate() {
52
+ return request({ method: 'POST', path: '/v1/device_assurance_policies/evaluate', body: {} });
53
+ },
54
+ };
55
+ }
56
+ /** Pull connectors for Intune, Jamf Pro, CrowdStrike Falcon, Fleet and Google Chrome / ChromeOS. */
57
+ function deviceIntegrationsResource(request) {
58
+ return {
59
+ list() {
60
+ return request({ method: 'GET', path: '/v1/device_integrations' });
61
+ },
62
+ get(id) {
63
+ return request({ method: 'GET', path: `/v1/device_integrations/${(0, request_1.enc)(id)}` });
64
+ },
65
+ create(body) {
66
+ return request({ method: 'POST', path: '/v1/device_integrations', body });
67
+ },
68
+ update(id, body) {
69
+ return request({ method: 'PATCH', path: `/v1/device_integrations/${(0, request_1.enc)(id)}`, body });
70
+ },
71
+ delete(id) {
72
+ return request({ method: 'DELETE', path: `/v1/device_integrations/${(0, request_1.enc)(id)}` });
73
+ },
74
+ /** Pull now instead of waiting for the schedule. */
75
+ sync(id) {
76
+ return request({ method: 'POST', path: `/v1/device_integrations/${(0, request_1.enc)(id)}/sync`, body: {} });
77
+ },
24
78
  };
25
79
  }
26
80
  //# sourceMappingURL=devices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/client/devices.ts"],"names":[],"mappings":";;AAgCA,0CAoBC;AApDD,uCAAgD;AAgChD,SAAgB,eAAe,CAAC,OAAkB;IAChD,OAAO;QACL,IAAI,CAAC,QAA+C,EAAE;YACpD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzH,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,IAAsB;YAC3B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,iDAAiD;QACjD,aAAa,CAAC,OAA2B;YACvC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/client/devices.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type RequestFn } from './request';
2
2
  import type { ListPage } from './types';
3
3
  /** The transactional email a template drives. */
4
- export type EmailTemplateName = 'verification_code' | 'magic_link' | 'password_reset' | 'password_changed' | 'account_exists_notice' | 'organization_invitation' | 'new_device_sign_in' | 'session_revoked_token_reuse' | 'account_locked' | 'account_secured' | 'team_member_added' | 'team_role_changed' | 'email_changed' | 'email_change_confirm' | 'parental_consent_request' | 'phone_changed' | 'identity_linked' | 'identity_unlinked' | 'passkey_added' | 'passkey_removed' | 'recovery_codes_regenerated' | 'factor_removed' | 'device_key_added' | 'device_key_removed' | 'uma_request_submitted' | 'risk_alert' | 'verification_link' | 'password_reset_link' | 'account_reactivated';
4
+ export type EmailTemplateName = 'verification_code' | 'magic_link' | 'password_reset' | 'password_changed' | 'account_exists_notice' | 'organization_invitation' | 'new_device_sign_in' | 'session_revoked_token_reuse' | 'account_locked' | 'account_secured' | 'team_member_added' | 'team_role_changed' | 'email_changed' | 'email_change_confirm' | 'parental_consent_request' | 'phone_changed' | 'identity_linked' | 'identity_unlinked' | 'passkey_added' | 'passkey_removed' | 'recovery_codes_regenerated' | 'factor_removed' | 'device_key_added' | 'device_key_removed' | 'uma_request_submitted' | 'risk_alert' | 'account_unblock' | 'impersonation_alert' | 'verification_link' | 'password_reset_link' | 'account_reactivated';
5
5
  /** The customizable body of a template: a subject line and a text body. */
6
6
  export interface EmailTemplateBody {
7
7
  subject?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"email-templates.js","sourceRoot":"","sources":["../../src/client/email-templates.ts"],"names":[],"mappings":";;AA0EA,wDAkBC;AA5FD,uCAAgD;AA0EhD,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,2EAA2E;QAC3E,OAAO,CAAC,IAAY,EAAE,OAA0B,EAAE;YAChD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,2DAA2D;QAC3D,MAAM,CAAC,IAAY,EAAE,IAAuB;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,8BAA8B;QAC9B,MAAM,CAAC,IAAY;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"email-templates.js","sourceRoot":"","sources":["../../src/client/email-templates.ts"],"names":[],"mappings":";;AA4EA,wDAkBC;AA9FD,uCAAgD;AA4EhD,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,2EAA2E;QAC3E,OAAO,CAAC,IAAY,EAAE,OAA0B,EAAE;YAChD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,2DAA2D;QAC3D,MAAM,CAAC,IAAY,EAAE,IAAuB;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,8BAA8B;QAC9B,MAAM,CAAC,IAAY;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -30,6 +30,8 @@ export interface FgaTuple {
30
30
  /** The object of the tuple as `type:id`. */
31
31
  target: string;
32
32
  condition?: FgaTupleCondition;
33
+ /** Epoch ms after which the tuple stops granting. */
34
+ expires_at?: number;
33
35
  created_at: number;
34
36
  }
35
37
  /** A model condition bound to a tuple, with the parameter values fixed on it. */
@@ -44,6 +46,8 @@ export interface FgaTupleKey {
44
46
  object: string;
45
47
  /** The tuple grants only while this model condition holds. */
46
48
  condition?: FgaTupleCondition;
49
+ /** The tuple stops granting at this time (ISO 8601 or epoch ms, in the future); a sweep then deletes it. */
50
+ expires_at?: string | number;
47
51
  }
48
52
  /**
49
53
  * Freshness of a read. `MINIMIZE_LATENCY` (and the default) may be served from a
@@ -192,10 +196,12 @@ export declare function fgaResource(request: RequestFn): {
192
196
  create(storeId: string, body: FgaAuthorizationModelInput, idempotencyKey?: string): Promise<FgaAuthorizationModel>;
193
197
  get(storeId: string, modelId: string): Promise<FgaAuthorizationModel>;
194
198
  };
195
- /** Write and/or delete tuples in one atomic call. */
199
+ /** Write and/or delete tuples in one atomic call. `on_duplicate` / `on_missing` = `error` refuse a repeat write or a delete of nothing. */
196
200
  write(storeId: string, body: {
197
201
  writes?: FgaTupleKeys;
198
202
  deletes?: FgaTupleKeys;
203
+ on_duplicate?: "ignore" | "error";
204
+ on_missing?: "ignore" | "error";
199
205
  }, idempotencyKey?: string): Promise<{
200
206
  object: "fga.write_result";
201
207
  writes: number;
@@ -242,6 +248,77 @@ export declare function fgaResource(request: RequestFn): {
242
248
  * to receive only what changed since.
243
249
  */
244
250
  readChanges(storeId: string, params?: FgaReadChangesParams): Promise<FgaChangesPage>;
251
+ /** What a local PDP syncs: a page of tuples (full), or the changes after `since` (a store revision). */
252
+ snapshot(storeId: string, params?: {
253
+ since?: number;
254
+ cursor?: string;
255
+ limit?: number;
256
+ }): Promise<FgaSnapshot>;
257
+ /** Bulk-import tuples (idempotent; `dry_run` reports without writing). */
258
+ importTuples(storeId: string, body: {
259
+ tuples: Array<FgaTupleKey>;
260
+ dry_run?: boolean;
261
+ }): Promise<{
262
+ object: "fga.import_result";
263
+ dry_run: boolean;
264
+ total: number;
265
+ new: number;
266
+ existing: number;
267
+ revision: number;
268
+ consistency_token?: string;
269
+ }>;
270
+ /** Run an FGA test suite in memory (the model from `dsl` / `modules`, or the store's). */
271
+ runTests(storeId: string, body: FgaTestSuite): Promise<FgaTestReport>;
272
+ /** The same, with no store: the model comes from `dsl` / `modules`. */
273
+ runTestsWithoutStore(body: FgaTestSuite): Promise<FgaTestReport>;
274
+ /** Validate a model and convert it DSL <-> JSON; `modules` compile to one model. */
275
+ transformModel(body: {
276
+ dsl?: string;
277
+ modules?: Array<{
278
+ name: string;
279
+ contents: string;
280
+ }>;
281
+ model?: Record<string, unknown>;
282
+ }): Promise<{
283
+ object: "fga.model_transform";
284
+ valid: true;
285
+ model: Record<string, unknown>;
286
+ dsl: string;
287
+ }>;
288
+ /** Nodes and edges of a model version, for a visualizer. */
289
+ modelGraph(storeId: string, modelId: string): Promise<{
290
+ object: "fga.model_graph";
291
+ model_id: string;
292
+ nodes: Array<{
293
+ id: string;
294
+ kind: "type" | "relation";
295
+ type: string;
296
+ relation?: string;
297
+ }>;
298
+ edges: Array<{
299
+ from: string;
300
+ to: string;
301
+ kind: "direct" | "computed" | "tupleset" | "parent";
302
+ label?: string;
303
+ }>;
304
+ }>;
305
+ /** What changed from the previous version (or `against`). */
306
+ modelDiff(storeId: string, modelId: string, against?: string): Promise<FgaModelDiff>;
307
+ /** OpenFGA assertions stored against a model version. */
308
+ assertions: {
309
+ get(storeId: string, modelId: string): Promise<{
310
+ authorization_model_id: string;
311
+ assertions: unknown[];
312
+ }>;
313
+ put(storeId: string, modelId: string, assertions: unknown[]): Promise<void>;
314
+ run(storeId: string, modelId: string): Promise<{
315
+ object: "fga.assertion_run";
316
+ passed: boolean;
317
+ total: number;
318
+ failed: number;
319
+ results: unknown[];
320
+ }>;
321
+ };
245
322
  /** Expand the full userset tree for an object#relation. */
246
323
  expand(storeId: string, body: {
247
324
  object: string;
@@ -310,3 +387,101 @@ export declare function fgaResource(request: RequestFn): {
310
387
  };
311
388
  };
312
389
  };
390
+ export interface FgaSnapshot {
391
+ object: 'fga.snapshot';
392
+ store_id: string;
393
+ model_id: string | null;
394
+ model: Record<string, unknown> | null;
395
+ full: boolean;
396
+ /** The store revision this snapshot is at; pass it back as `since`. */
397
+ revision: number;
398
+ tuples?: Array<FgaTupleKey>;
399
+ changes?: Array<FgaTupleKey & {
400
+ operation: 'write' | 'delete';
401
+ }>;
402
+ next_cursor?: string | null;
403
+ has_more: boolean;
404
+ }
405
+ export interface FgaTestSuite {
406
+ model_id?: string;
407
+ dsl?: string;
408
+ modules?: Array<{
409
+ name: string;
410
+ contents: string;
411
+ }>;
412
+ tuples?: Array<FgaTupleKey>;
413
+ tests: Array<{
414
+ name?: string;
415
+ tuples?: Array<FgaTupleKey>;
416
+ check?: Array<{
417
+ user: string;
418
+ object: string;
419
+ context?: Record<string, unknown>;
420
+ assertions: Record<string, boolean>;
421
+ }>;
422
+ list_objects?: Array<{
423
+ user: string;
424
+ type: string;
425
+ context?: Record<string, unknown>;
426
+ assertions: Record<string, string[]>;
427
+ }>;
428
+ list_users?: Array<{
429
+ object: string;
430
+ user_filter: {
431
+ type: string;
432
+ relation?: string;
433
+ } | Array<{
434
+ type: string;
435
+ relation?: string;
436
+ }>;
437
+ context?: Record<string, unknown>;
438
+ assertions: Record<string, {
439
+ users: string[];
440
+ }>;
441
+ }>;
442
+ }>;
443
+ }
444
+ export interface FgaTestReport {
445
+ object: 'fga.test_report';
446
+ passed: boolean;
447
+ total: number;
448
+ failed: number;
449
+ coverage: {
450
+ relations: number;
451
+ covered: number;
452
+ uncovered: string[];
453
+ };
454
+ results: Array<{
455
+ name: string;
456
+ passed: boolean;
457
+ checks: number;
458
+ failures: Array<{
459
+ kind: 'check' | 'list_objects' | 'list_users';
460
+ query: string;
461
+ expected: unknown;
462
+ actual: unknown;
463
+ error?: string;
464
+ }>;
465
+ }>;
466
+ }
467
+ export interface FgaModelDiff {
468
+ object: 'fga.model_diff';
469
+ from: string | null;
470
+ to: string;
471
+ types: {
472
+ added: string[];
473
+ removed: string[];
474
+ };
475
+ relations: {
476
+ added: string[];
477
+ removed: string[];
478
+ changed: string[];
479
+ };
480
+ conditions: {
481
+ added: string[];
482
+ removed: string[];
483
+ changed: string[];
484
+ };
485
+ breaking: boolean;
486
+ identical: boolean;
487
+ }