@estifanos-sh/convex-auth 0.0.1-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/README.md +52 -0
  2. package/dist/_generated/component.d.ts +2981 -0
  3. package/dist/bin.js +7194 -0
  4. package/dist/browser/index.d.ts +22 -0
  5. package/dist/browser/index.js +61 -0
  6. package/dist/browser/locks.js +20 -0
  7. package/dist/browser/navigation.js +14 -0
  8. package/dist/browser/runtime.js +90 -0
  9. package/dist/browser/webauthn.js +99 -0
  10. package/dist/client/core/types.d.ts +615 -0
  11. package/dist/client/core/types.js +23 -0
  12. package/dist/client/errors.js +30 -0
  13. package/dist/client/factors/device.js +100 -0
  14. package/dist/client/factors/totp.js +111 -0
  15. package/dist/client/factors/webauthn.js +69 -0
  16. package/dist/client/index.d.ts +60 -0
  17. package/dist/client/index.js +976 -0
  18. package/dist/client/runtime/invite.js +50 -0
  19. package/dist/client/runtime/mutex.js +25 -0
  20. package/dist/client/runtime/proxy.js +75 -0
  21. package/dist/client/runtime/storage.js +65 -0
  22. package/dist/component/_generated/api.js +26 -0
  23. package/dist/component/_generated/component.d.ts +2981 -0
  24. package/dist/component/_generated/component.js +1 -0
  25. package/dist/component/_generated/dataModel.js +1 -0
  26. package/dist/component/_generated/server.js +74 -0
  27. package/dist/component/account.js +197 -0
  28. package/dist/component/connection/audit.js +152 -0
  29. package/dist/component/connection/cache.js +205 -0
  30. package/dist/component/connection/domain/verification.js +63 -0
  31. package/dist/component/connection/domain.js +108 -0
  32. package/dist/component/connection/saml/assertion.js +41 -0
  33. package/dist/component/connection/saml/request.js +61 -0
  34. package/dist/component/connection/scim/config.js +55 -0
  35. package/dist/component/connection/scim/identity.js +162 -0
  36. package/dist/component/connection/secret.js +65 -0
  37. package/dist/component/connection/webhook/delivery.js +396 -0
  38. package/dist/component/connection/webhook/endpoint.js +77 -0
  39. package/dist/component/connection.js +204 -0
  40. package/dist/component/convex.config.d.ts +7 -0
  41. package/dist/component/convex.config.js +15 -0
  42. package/dist/component/crons.js +27 -0
  43. package/dist/component/event.js +341 -0
  44. package/dist/component/factor/device.js +141 -0
  45. package/dist/component/factor/passkey.js +385 -0
  46. package/dist/component/factor/totp.js +253 -0
  47. package/dist/component/functions.js +3 -0
  48. package/dist/component/group/active.js +63 -0
  49. package/dist/component/group/invite.js +300 -0
  50. package/dist/component/group/member.js +188 -0
  51. package/dist/component/group.js +431 -0
  52. package/dist/component/http.js +9 -0
  53. package/dist/component/index.d.ts +5 -0
  54. package/dist/component/index.js +3 -0
  55. package/dist/component/limits.js +103 -0
  56. package/dist/component/maintenance.js +205 -0
  57. package/dist/component/migrations.js +277 -0
  58. package/dist/component/model.d.ts +384 -0
  59. package/dist/component/model.js +709 -0
  60. package/dist/component/modules.js +53 -0
  61. package/dist/component/oauth/client.js +196 -0
  62. package/dist/component/oauth/code.js +97 -0
  63. package/dist/component/oauth/refresh.js +230 -0
  64. package/dist/component/schema.d.ts +1530 -0
  65. package/dist/component/schema.js +401 -0
  66. package/dist/component/session.js +134 -0
  67. package/dist/component/token/pkce.js +121 -0
  68. package/dist/component/token/refresh.js +189 -0
  69. package/dist/component/token/verification.js +155 -0
  70. package/dist/component/user/email.js +147 -0
  71. package/dist/component/user/key.js +273 -0
  72. package/dist/component/user.js +173 -0
  73. package/dist/core/index.d.ts +531 -0
  74. package/dist/core/index.js +81 -0
  75. package/dist/expo/index.d.ts +43 -0
  76. package/dist/expo/index.js +131 -0
  77. package/dist/expo/webauthn.js +88 -0
  78. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.d.ts +2 -0
  79. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/api/logs.d.ts +3 -0
  80. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/index.d.ts +7 -0
  81. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/AnyValue.d.ts +21 -0
  82. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/LogRecord.d.ts +36 -0
  83. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/Logger.d.ts +1 -0
  84. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.d.ts +1 -0
  85. package/dist/node_modules/.pnpm/@opentelemetry_api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.d.ts +2 -0
  86. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.d.ts +1 -0
  87. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/utils.d.ts +1 -0
  88. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/common/attributes.d.ts +1 -0
  89. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/common/global-error-handler.d.ts +2 -0
  90. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.d.ts +1 -0
  91. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/common/time.d.ts +1 -0
  92. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/common/types.d.ts +16 -0
  93. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/index.d.ts +13 -0
  94. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/propagation/composite.d.ts +1 -0
  95. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/TraceState.d.ts +1 -0
  96. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.d.ts +1 -0
  97. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.d.ts +1 -0
  98. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.d.ts +1 -0
  99. package/dist/node_modules/.pnpm/@opentelemetry_core@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/configuration.d.ts +1 -0
  100. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordProcessor.d.ts +24 -0
  101. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.d.ts +2 -0
  102. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/config/LoggerConfigurators.d.ts +1 -0
  103. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.d.ts +4 -0
  104. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/ConsoleLogRecordExporter.d.ts +3 -0
  105. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/InMemoryLogRecordExporter.d.ts +3 -0
  106. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/LogRecordExporter.d.ts +2 -0
  107. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadableLogRecord.d.ts +4 -0
  108. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.d.ts +71 -0
  109. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.d.ts +3 -0
  110. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/index.d.ts +11 -0
  111. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/platform/index.d.ts +1 -0
  112. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/platform/node/export/BatchLogRecordProcessor.d.ts +2 -0
  113. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/platform/node/index.d.ts +1 -0
  114. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/types.d.ts +4 -0
  115. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.d.ts +3 -0
  116. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.d.ts +4 -0
  117. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.d.ts +4 -0
  118. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.ts +5 -0
  119. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.d.ts +5 -0
  120. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.d.ts +5 -0
  121. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.d.ts +5 -0
  122. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.d.ts +6 -0
  123. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.d.ts +53 -0
  124. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.d.ts +16 -0
  125. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.d.ts +11 -0
  126. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/CardinalitySelector.d.ts +10 -0
  127. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.d.ts +4 -0
  128. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.d.ts +3 -0
  129. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.d.ts +148 -0
  130. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricExporter.d.ts +3 -0
  131. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricProducer.d.ts +27 -0
  132. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.d.ts +138 -0
  133. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.d.ts +3 -0
  134. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/index.d.ts +15 -0
  135. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/types.d.ts +10 -0
  136. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/utils.d.ts +2 -0
  137. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.d.ts +4 -0
  138. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.d.ts +41 -0
  139. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.d.ts +1 -0
  140. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.d.ts +1 -0
  141. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.d.ts +5 -0
  142. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.d.ts +2 -0
  143. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/IdGenerator.d.ts +11 -0
  144. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/Sampler.d.ts +74 -0
  145. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.d.ts +17 -0
  146. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/SpanProcessor.d.ts +43 -0
  147. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/TimedEvent.d.ts +19 -0
  148. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/BatchSpanProcessorBase.d.ts +6 -0
  149. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/ConsoleSpanExporter.d.ts +3 -0
  150. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/InMemorySpanExporter.d.ts +3 -0
  151. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/NoopSpanProcessor.d.ts +4 -0
  152. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/ReadableSpan.d.ts +29 -0
  153. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/SimpleSpanProcessor.d.ts +5 -0
  154. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/SpanExporter.d.ts +2 -0
  155. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/index.d.ts +18 -0
  156. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/index.d.ts +1 -0
  157. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/export/BatchSpanProcessor.d.ts +2 -0
  158. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/index.d.ts +1 -0
  159. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/AlwaysOffSampler.d.ts +1 -0
  160. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/AlwaysOnSampler.d.ts +1 -0
  161. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/ParentBasedSampler.d.ts +2 -0
  162. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/TraceIdRatioBasedSampler.d.ts +1 -0
  163. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/types.d.ts +66 -0
  164. package/dist/otel.d.ts +73 -0
  165. package/dist/otel.js +82 -0
  166. package/dist/permissions/index.d.ts +81 -0
  167. package/dist/permissions/index.js +18 -0
  168. package/dist/providers/anonymous.d.ts +35 -0
  169. package/dist/providers/anonymous.js +40 -0
  170. package/dist/providers/apple.d.ts +61 -0
  171. package/dist/providers/apple.js +57 -0
  172. package/dist/providers/connection.d.ts +30 -0
  173. package/dist/providers/connection.js +33 -0
  174. package/dist/providers/credentials.d.ts +78 -0
  175. package/dist/providers/credentials.js +31 -0
  176. package/dist/providers/custom.d.ts +96 -0
  177. package/dist/providers/custom.js +108 -0
  178. package/dist/providers/device.d.ts +33 -0
  179. package/dist/providers/device.js +30 -0
  180. package/dist/providers/email.d.ts +45 -0
  181. package/dist/providers/email.js +52 -0
  182. package/dist/providers/github.d.ts +56 -0
  183. package/dist/providers/github.js +79 -0
  184. package/dist/providers/google.d.ts +56 -0
  185. package/dist/providers/google.js +59 -0
  186. package/dist/providers/index.d.ts +16 -0
  187. package/dist/providers/index.js +16 -0
  188. package/dist/providers/microsoft.d.ts +59 -0
  189. package/dist/providers/microsoft.js +98 -0
  190. package/dist/providers/password.d.ts +68 -0
  191. package/dist/providers/password.js +348 -0
  192. package/dist/providers/phone.d.ts +33 -0
  193. package/dist/providers/phone.js +35 -0
  194. package/dist/providers/redirect.d.ts +1 -0
  195. package/dist/providers/redirect.js +11 -0
  196. package/dist/providers/totp.d.ts +29 -0
  197. package/dist/providers/totp.js +29 -0
  198. package/dist/providers/webauthn/attestation.d.ts +42 -0
  199. package/dist/providers/webauthn/attestation.js +167 -0
  200. package/dist/providers/webauthn.d.ts +83 -0
  201. package/dist/providers/webauthn.js +57 -0
  202. package/dist/react/index.d.ts +55 -0
  203. package/dist/react/index.js +80 -0
  204. package/dist/server/auth.d.ts +443 -0
  205. package/dist/server/auth.js +178 -0
  206. package/dist/server/cache/context.js +94 -0
  207. package/dist/server/component/api.d.ts +14 -0
  208. package/dist/server/component/api.js +13 -0
  209. package/dist/server/component/context.d.ts +16 -0
  210. package/dist/server/component/context.js +1 -0
  211. package/dist/server/component/factor/db.js +71 -0
  212. package/dist/server/config.d.ts +3 -0
  213. package/dist/server/config.js +78 -0
  214. package/dist/server/connection/config.js +101 -0
  215. package/dist/server/connection/domain.d.ts +878 -0
  216. package/dist/server/connection/domain.js +1122 -0
  217. package/dist/server/connection/group/service.d.ts +25 -0
  218. package/dist/server/connection/group/service.js +250 -0
  219. package/dist/server/connection/http.js +1485 -0
  220. package/dist/server/connection/oidc.js +366 -0
  221. package/dist/server/connection/policy/domain.js +59 -0
  222. package/dist/server/connection/policy.d.ts +1 -0
  223. package/dist/server/connection/policy.js +163 -0
  224. package/dist/server/connection/profile.js +22 -0
  225. package/dist/server/connection/provision.js +182 -0
  226. package/dist/server/connection/saml/api.js +70 -0
  227. package/dist/server/connection/saml/binding/post.js +140 -0
  228. package/dist/server/connection/saml/binding/redirect.js +139 -0
  229. package/dist/server/connection/saml/binding/shared.js +18 -0
  230. package/dist/server/connection/saml/c14n.js +224 -0
  231. package/dist/server/connection/saml/constants.js +100 -0
  232. package/dist/server/connection/saml/crypto.js +170 -0
  233. package/dist/server/connection/saml/dom/select.js +299 -0
  234. package/dist/server/connection/saml/encoding.js +93 -0
  235. package/dist/server/connection/saml/encryption.js +34 -0
  236. package/dist/server/connection/saml/entity.js +24 -0
  237. package/dist/server/connection/saml/extractor.js +408 -0
  238. package/dist/server/connection/saml/flow.js +150 -0
  239. package/dist/server/connection/saml/identity/provider.js +66 -0
  240. package/dist/server/connection/saml/index.js +5 -0
  241. package/dist/server/connection/saml/metadata.js +294 -0
  242. package/dist/server/connection/saml/service/provider.js +117 -0
  243. package/dist/server/connection/saml/signature.js +214 -0
  244. package/dist/server/connection/saml/template.js +68 -0
  245. package/dist/server/connection/saml/types.js +1 -0
  246. package/dist/server/connection/saml/validator.js +32 -0
  247. package/dist/server/connection/saml/xml/builder.js +68 -0
  248. package/dist/server/connection/saml/xmldsig.js +598 -0
  249. package/dist/server/connection/saml/xmlenc.js +162 -0
  250. package/dist/server/connection/saml.d.ts +56 -0
  251. package/dist/server/connection/saml.js +762 -0
  252. package/dist/server/connection/scim.js +115 -0
  253. package/dist/server/connection/shared.js +74 -0
  254. package/dist/server/connection/webhook.js +163 -0
  255. package/dist/server/context.d.ts +137 -0
  256. package/dist/server/context.js +108 -0
  257. package/dist/server/contract.d.ts +48 -0
  258. package/dist/server/contract.js +107 -0
  259. package/dist/server/cookies.js +90 -0
  260. package/dist/server/core.js +163 -0
  261. package/dist/server/cors.d.ts +22 -0
  262. package/dist/server/cors.js +93 -0
  263. package/dist/server/crypto.js +43 -0
  264. package/dist/server/db.js +88 -0
  265. package/dist/server/device.js +140 -0
  266. package/dist/server/domains/access.js +29 -0
  267. package/dist/server/domains/account.d.ts +16 -0
  268. package/dist/server/domains/account.js +92 -0
  269. package/dist/server/domains/factor.d.ts +28 -0
  270. package/dist/server/domains/factor.js +115 -0
  271. package/dist/server/domains/group.js +87 -0
  272. package/dist/server/domains/invite.js +76 -0
  273. package/dist/server/domains/key.js +253 -0
  274. package/dist/server/domains/member.js +149 -0
  275. package/dist/server/domains/session.js +29 -0
  276. package/dist/server/domains/user.js +119 -0
  277. package/dist/server/env.d.ts +46 -0
  278. package/dist/server/env.js +96 -0
  279. package/dist/server/errors.js +38 -0
  280. package/dist/server/events.d.ts +880 -0
  281. package/dist/server/events.js +406 -0
  282. package/dist/server/facade.d.ts +83 -0
  283. package/dist/server/facade.js +124 -0
  284. package/dist/server/http.d.ts +125 -0
  285. package/dist/server/http.js +566 -0
  286. package/dist/server/identity/claims.js +58 -0
  287. package/dist/server/identity/convex.d.ts +15 -0
  288. package/dist/server/identity/convex.js +1 -0
  289. package/dist/server/index.d.ts +17 -0
  290. package/dist/server/index.js +11 -0
  291. package/dist/server/keys.js +60 -0
  292. package/dist/server/limits.js +41 -0
  293. package/dist/server/log.js +28 -0
  294. package/dist/server/mcp.d.ts +19 -0
  295. package/dist/server/mcp.js +250 -0
  296. package/dist/server/mutations/account.js +47 -0
  297. package/dist/server/mutations/calls.js +16 -0
  298. package/dist/server/mutations/code.js +91 -0
  299. package/dist/server/mutations/credentials/signin.js +210 -0
  300. package/dist/server/mutations/invalidate.js +60 -0
  301. package/dist/server/mutations/oauth.js +251 -0
  302. package/dist/server/mutations/refresh.js +152 -0
  303. package/dist/server/mutations/register.js +93 -0
  304. package/dist/server/mutations/retrieve.js +66 -0
  305. package/dist/server/mutations/signature.js +36 -0
  306. package/dist/server/mutations/signin.js +81 -0
  307. package/dist/server/mutations/signout.js +61 -0
  308. package/dist/server/mutations/store/refs.js +15 -0
  309. package/dist/server/mutations/store.js +82 -0
  310. package/dist/server/mutations/verifier.js +25 -0
  311. package/dist/server/mutations/verify.js +199 -0
  312. package/dist/server/oauth/authorize.js +98 -0
  313. package/dist/server/oauth/client.d.ts +93 -0
  314. package/dist/server/oauth/client.js +115 -0
  315. package/dist/server/oauth/code.d.ts +63 -0
  316. package/dist/server/oauth/code.js +124 -0
  317. package/dist/server/oauth/domain.d.ts +23 -0
  318. package/dist/server/oauth/domain.js +1 -0
  319. package/dist/server/oauth/factory.js +46 -0
  320. package/dist/server/oauth/grant.js +46 -0
  321. package/dist/server/oauth/handlers.js +108 -0
  322. package/dist/server/oauth/manage.js +121 -0
  323. package/dist/server/oauth/normalize.js +27 -0
  324. package/dist/server/oauth/refresh.d.ts +71 -0
  325. package/dist/server/oauth/refresh.js +132 -0
  326. package/dist/server/oauth/register.js +147 -0
  327. package/dist/server/oauth/runtime.js +280 -0
  328. package/dist/server/oauth/token.js +355 -0
  329. package/dist/server/payloads.d.ts +16 -0
  330. package/dist/server/payloads.js +30 -0
  331. package/dist/server/preload.d.ts +249 -0
  332. package/dist/server/preload.js +673 -0
  333. package/dist/server/random.js +25 -0
  334. package/dist/server/redirects.js +85 -0
  335. package/dist/server/runtime.d.ts +845 -0
  336. package/dist/server/runtime.js +387 -0
  337. package/dist/server/secret.js +46 -0
  338. package/dist/server/services/factors.js +117 -0
  339. package/dist/server/services/providers.js +23 -0
  340. package/dist/server/services/resolve.js +17 -0
  341. package/dist/server/session/lifecycle.d.ts +23 -0
  342. package/dist/server/session/lifecycle.js +139 -0
  343. package/dist/server/signin/flow.js +359 -0
  344. package/dist/server/telemetry.js +68 -0
  345. package/dist/server/templates.js +91 -0
  346. package/dist/server/token/refresh.js +35 -0
  347. package/dist/server/tokens.js +164 -0
  348. package/dist/server/totp.js +282 -0
  349. package/dist/server/types.d.ts +1154 -0
  350. package/dist/server/types.js +1 -0
  351. package/dist/server/url.js +43 -0
  352. package/dist/server/user/account.js +325 -0
  353. package/dist/server/utils/bearer.js +24 -0
  354. package/dist/server/utils/cache.js +51 -0
  355. package/dist/server/utils/retry.js +3 -0
  356. package/dist/server/utils/span.js +59 -0
  357. package/dist/server/validators.d.ts +2061 -0
  358. package/dist/server/validators.js +320 -0
  359. package/dist/server/webauthn.js +699 -0
  360. package/dist/server/wellknown.d.ts +74 -0
  361. package/dist/server/wellknown.js +195 -0
  362. package/dist/shared/brand.d.ts +28 -0
  363. package/dist/shared/brand.js +13 -0
  364. package/dist/shared/codes.d.ts +99 -0
  365. package/dist/shared/codes.js +98 -0
  366. package/dist/shared/compare.js +23 -0
  367. package/dist/shared/errors.js +24 -0
  368. package/dist/shared/event/kinds.d.ts +188 -0
  369. package/dist/shared/event/kinds.js +103 -0
  370. package/dist/shared/fetch/guard.js +189 -0
  371. package/dist/shared/log.js +62 -0
  372. package/dist/shared/results.d.ts +58 -0
  373. package/dist/shared/retry.js +27 -0
  374. package/dist/shared/webauthn.js +9 -0
  375. package/dist/svelte/AuthLoading.svelte +13 -0
  376. package/dist/svelte/AuthLoading.svelte.d.ts +8 -0
  377. package/dist/svelte/SignedIn.svelte +14 -0
  378. package/dist/svelte/SignedIn.svelte.d.ts +8 -0
  379. package/dist/svelte/SignedOut.svelte +13 -0
  380. package/dist/svelte/SignedOut.svelte.d.ts +8 -0
  381. package/dist/svelte/context.svelte.d.ts +26 -0
  382. package/dist/svelte/context.svelte.js +61 -0
  383. package/dist/svelte/index.d.ts +5 -0
  384. package/dist/svelte/index.js +4 -0
  385. package/dist/test.d.ts +48 -0
  386. package/dist/test.js +54 -0
  387. package/package.json +247 -0
@@ -0,0 +1,878 @@
1
+ import { EncryptedSecret } from "../../shared/brand.js";
2
+ import { AuthEventKind } from "../../shared/event/kinds.js";
3
+ import { ComponentActionCtx, ComponentCtx, ComponentReadCtx } from "../component/context.js";
4
+ import { ConvexAuthMaterializedConfig, GroupConnectionPolicy, GroupConnectionPolicyPatch, OIDCClaimMapping } from "../types.js";
5
+ import { ScimIdentityRecord, getGroupConnection, getGroupConnectionByDomain } from "../contract.js";
6
+ import { EmitGroupAuthEventInput } from "./group/service.js";
7
+ import { SamlConfigShape } from "./saml.js";
8
+ import "../index.js";
9
+ import { GenericActionCtx, GenericDataModel } from "convex/server";
10
+
11
+ //#region src/server/connection/domain.d.ts
12
+ type DomainDeps = {
13
+ config: ConvexAuthMaterializedConfig & {
14
+ extraProviders?: unknown[];
15
+ };
16
+ connectionNotFoundError: string;
17
+ GROUP_CONNECTION_OIDC_CLIENT_SECRET_KIND: "oidc_client_secret";
18
+ requireEnv: (name: string) => string;
19
+ generateRandomString: (length: number, alphabet: string) => string;
20
+ INVITE_TOKEN_ALPHABET: string;
21
+ sha256: (input: string) => Promise<string>;
22
+ encryptSecret: (value: string) => Promise<EncryptedSecret>;
23
+ sharedOidcRedirectURI?: string;
24
+ getGroupConnectionSecret: (ctx: ComponentReadCtx, connectionId: string, kind: "oidc_client_secret") => Promise<Record<string, unknown> | null>;
25
+ loadConnectionOrThrow: (ctx: ComponentReadCtx, connectionId: string) => Promise<{
26
+ _id: string;
27
+ groupId: string;
28
+ protocol: "oidc" | "saml";
29
+ status: "draft" | "active" | "disabled";
30
+ config?: unknown;
31
+ }>;
32
+ validateGroupConnectionPolicy: (policy: GroupConnectionPolicy) => Array<{
33
+ name: string;
34
+ ok: boolean;
35
+ message?: string;
36
+ }>;
37
+ emitGroupAuthEvent: (ctx: ComponentCtx, data: EmitGroupAuthEventInput) => Promise<string>;
38
+ loadGroupPolicyOrThrow: (ctx: ComponentReadCtx, groupId: string) => Promise<GroupConnectionPolicy>;
39
+ };
40
+ /**
41
+ * Build the connection and Connection management domain.
42
+ */
43
+ declare function createGroupConnectionDomain<TDeps extends DomainDeps>(deps: TDeps): {
44
+ connection: {
45
+ create: (ctx: ComponentCtx, data: {
46
+ groupId: string;
47
+ protocol: "oidc" | "saml";
48
+ slug?: string;
49
+ name?: string;
50
+ status?: "draft" | "active" | "disabled";
51
+ config?: Record<string, unknown>;
52
+ extend?: Record<string, unknown>;
53
+ }) => Promise<{
54
+ connectionId: string;
55
+ groupId: string;
56
+ }>;
57
+ get: {
58
+ (ctx: ComponentReadCtx, args: {
59
+ id: string;
60
+ }): Promise<Awaited<ReturnType<typeof getGroupConnection>>>;
61
+ (ctx: ComponentReadCtx, args: {
62
+ domain: string;
63
+ }): Promise<Awaited<ReturnType<typeof getGroupConnectionByDomain>>>;
64
+ };
65
+ list: (ctx: ComponentReadCtx, opts: {
66
+ where?: {
67
+ groupId?: string;
68
+ slug?: string;
69
+ status?: "draft" | "active" | "disabled";
70
+ };
71
+ paginationOpts: {
72
+ numItems: number;
73
+ cursor: string | null;
74
+ };
75
+ orderBy?: "_creationTime" | "name" | "slug" | "status";
76
+ order?: "asc" | "desc";
77
+ }) => Promise<{
78
+ page: {
79
+ config: Record<string, unknown>;
80
+ _id: string;
81
+ _creationTime: number;
82
+ groupId: string;
83
+ slug?: string;
84
+ name?: string;
85
+ protocol: "oidc" | "saml";
86
+ status: "draft" | "active" | "disabled";
87
+ extend?: unknown;
88
+ }[];
89
+ isDone: boolean;
90
+ continueCursor: string;
91
+ }>;
92
+ update: (ctx: ComponentCtx, args: {
93
+ id: string;
94
+ patch: Record<string, unknown>;
95
+ }) => Promise<{
96
+ connectionId: string;
97
+ }>;
98
+ remove: (ctx: ComponentCtx, args: {
99
+ id: string;
100
+ }) => Promise<{
101
+ connectionId: string;
102
+ }>;
103
+ /**
104
+ * Aggregate readiness status across all configured protocols for an
105
+ * group connection.
106
+ *
107
+ * Returns a structured result indicating whether the connection is
108
+ * ready, with per-protocol checks so callers can surface actionable
109
+ * diagnostics without running full network validation.
110
+ */
111
+ status: (ctx: ComponentReadCtx, args: {
112
+ id: string;
113
+ }) => Promise<{
114
+ connectionId: string;
115
+ status: "draft" | "active" | "disabled";
116
+ ready: boolean;
117
+ domainCount: number;
118
+ protocols: {
119
+ oidc: {
120
+ configured: boolean;
121
+ ready: boolean;
122
+ clientId: string | null;
123
+ issuer: string | null;
124
+ };
125
+ saml: {
126
+ configured: boolean;
127
+ ready: boolean;
128
+ entityId: string | null;
129
+ };
130
+ scim: {
131
+ configured: boolean;
132
+ ready: boolean;
133
+ basePath: string | null;
134
+ deprovisionMode: "soft" | "hard";
135
+ };
136
+ };
137
+ }>;
138
+ };
139
+ domain: {
140
+ create: (ctx: ComponentCtx, data: {
141
+ connectionId: string;
142
+ groupId: string;
143
+ domain: string;
144
+ isPrimary?: boolean;
145
+ }) => Promise<string>;
146
+ list: (ctx: ComponentReadCtx, args: {
147
+ connectionId: string;
148
+ }) => Promise<{
149
+ _id: string;
150
+ _creationTime: number;
151
+ connectionId: string;
152
+ groupId: string;
153
+ domain: string;
154
+ isPrimary: boolean;
155
+ verifiedAt?: number;
156
+ }[]>;
157
+ validate: (ctx: ComponentReadCtx, args: {
158
+ connectionId: string;
159
+ }) => Promise<{
160
+ connectionId: string;
161
+ ready: boolean;
162
+ summary: {
163
+ domainCount: number;
164
+ primaryCount: number;
165
+ verifiedCount: number;
166
+ };
167
+ domains: {
168
+ domainId: string;
169
+ domain: string;
170
+ isPrimary: boolean;
171
+ verified: boolean;
172
+ verifiedAt: number | null;
173
+ }[];
174
+ warnings: string[];
175
+ }>;
176
+ status: (ctx: ComponentReadCtx, args: {
177
+ connectionId: string;
178
+ }) => Promise<{
179
+ connectionId: string;
180
+ ready: boolean;
181
+ primaryDomain: {
182
+ domainId: string;
183
+ domain: string;
184
+ isPrimary: boolean;
185
+ verified: boolean;
186
+ verifiedAt: number | null;
187
+ } | null;
188
+ trustedDomains: {
189
+ domainId: string;
190
+ domain: string;
191
+ isPrimary: boolean;
192
+ verified: boolean;
193
+ verifiedAt: number | null;
194
+ }[];
195
+ pendingChallenges: {
196
+ domain: string;
197
+ recordName: string;
198
+ expiresAt: number;
199
+ }[];
200
+ trust: {
201
+ domainDiscoveryReady: boolean;
202
+ primaryDomainVerified: boolean;
203
+ automaticLinkingEligible: boolean;
204
+ };
205
+ warnings: string[];
206
+ nextSteps: string[];
207
+ }>;
208
+ remove: (ctx: ComponentCtx, args: {
209
+ id: string;
210
+ }) => Promise<void>;
211
+ verification: {
212
+ request: (ctx: ComponentCtx, args: {
213
+ connectionId: string;
214
+ domain: string;
215
+ }) => Promise<{
216
+ connectionId: string;
217
+ domain: string;
218
+ requestedAt: number;
219
+ expiresAt: number;
220
+ challenge: {
221
+ recordType: "TXT";
222
+ recordName: string;
223
+ recordValue: string;
224
+ };
225
+ }>;
226
+ confirm: (ctx: ComponentCtx, args: {
227
+ connectionId: string;
228
+ domain: string;
229
+ }) => Promise<{
230
+ connectionId: string;
231
+ domain: string;
232
+ checks: {
233
+ name: string;
234
+ ok: boolean;
235
+ message?: string;
236
+ }[];
237
+ verifiedAt?: undefined;
238
+ } | {
239
+ connectionId: string;
240
+ domain: string;
241
+ verifiedAt: number;
242
+ checks: {
243
+ name: string;
244
+ ok: boolean;
245
+ message?: string;
246
+ }[];
247
+ }>;
248
+ };
249
+ };
250
+ saml: {
251
+ upsert: <DataModel extends GenericDataModel>(ctx: GenericActionCtx<DataModel>, data: {
252
+ connectionId: string;
253
+ metadata: {
254
+ xml?: string;
255
+ url?: string;
256
+ };
257
+ domains?: string[];
258
+ request?: {
259
+ signAuthnRequests?: boolean;
260
+ nameIdFormat?: string;
261
+ forceAuthn?: boolean;
262
+ authnContextClassRefs?: string[];
263
+ };
264
+ security?: {
265
+ requireSignedAssertions?: boolean;
266
+ requireTimestamps?: boolean;
267
+ clockSkewSeconds?: number;
268
+ weakAlgorithmHandling?: "warn" | "reject";
269
+ maxMetadataSize?: number;
270
+ maxResponseSize?: number;
271
+ };
272
+ serviceProvider?: {
273
+ entityId?: string;
274
+ acsUrl?: string;
275
+ sloUrl?: string;
276
+ signingCert?: string | string[];
277
+ encryptCert?: string | string[];
278
+ privateKey?: string;
279
+ privateKeyPass?: string;
280
+ encPrivateKey?: string;
281
+ encPrivateKeyPass?: string;
282
+ };
283
+ profile?: {
284
+ mapping?: {
285
+ subject?: string;
286
+ email?: string;
287
+ name?: string;
288
+ firstName?: string;
289
+ lastName?: string;
290
+ image?: string;
291
+ groups?: string;
292
+ roles?: string;
293
+ };
294
+ extraFields?: Record<string, string>;
295
+ };
296
+ }) => Promise<{
297
+ connectionId: string;
298
+ groupId: string;
299
+ }>;
300
+ refresh: (ctx: ComponentActionCtx, data: {
301
+ connectionId: string;
302
+ }) => Promise<{
303
+ connectionId: string;
304
+ groupId: string;
305
+ }>;
306
+ get: (ctx: ComponentReadCtx, args: {
307
+ connectionId: string;
308
+ }) => Promise<SamlConfigShape>;
309
+ status: (ctx: ComponentReadCtx, args: {
310
+ connectionId: string;
311
+ }) => Promise<{
312
+ connectionId: string;
313
+ configured: boolean;
314
+ ready: boolean;
315
+ config: SamlConfigShape;
316
+ checks: {
317
+ name: string;
318
+ ok: boolean;
319
+ message: string | undefined;
320
+ }[];
321
+ }>;
322
+ metadata: (ctx: ComponentReadCtx, opts: {
323
+ connectionId: string;
324
+ entityId?: string;
325
+ acsUrl?: string;
326
+ sloUrl?: string;
327
+ }) => Promise<string>;
328
+ /**
329
+ * Validate the stored SAML config for an group connection.
330
+ *
331
+ * Re-parses IdP metadata, checks signing cert presence, and verifies
332
+ * SP metadata can be generated. Returns a structured result with
333
+ * per-check details rather than throwing on first failure.
334
+ */
335
+ validate: (ctx: ComponentReadCtx, args: {
336
+ connectionId: string;
337
+ }) => Promise<{
338
+ ok: boolean;
339
+ connectionId: string;
340
+ checks: {
341
+ name: string;
342
+ ok: boolean;
343
+ message?: string;
344
+ }[];
345
+ }>;
346
+ };
347
+ policy: {
348
+ get: (ctx: ComponentReadCtx, args: {
349
+ groupId: string;
350
+ }) => Promise<GroupConnectionPolicy>;
351
+ update: (ctx: ComponentCtx, args: {
352
+ groupId: string;
353
+ patch: GroupConnectionPolicyPatch;
354
+ }) => Promise<GroupConnectionPolicy>;
355
+ validate: (ctx: ComponentReadCtx, args: {
356
+ groupId: string;
357
+ }) => Promise<{
358
+ ok: boolean;
359
+ groupId: string;
360
+ checks: {
361
+ name: string;
362
+ ok: boolean;
363
+ message: string;
364
+ }[];
365
+ policy?: undefined;
366
+ } | {
367
+ ok: boolean;
368
+ groupId: string;
369
+ policy: GroupConnectionPolicy;
370
+ checks: {
371
+ name: string;
372
+ ok: boolean;
373
+ message?: string;
374
+ }[];
375
+ }>;
376
+ };
377
+ oidc: {
378
+ /**
379
+ * Register or update connection OIDC connection settings.
380
+ *
381
+ * Persists protocol config under `connection.config.protocols.oidc` and
382
+ * emits a `connection.oidc.set` auth event.
383
+ */
384
+ upsert: (ctx: ComponentCtx, data: {
385
+ connectionId: string;
386
+ discovery: {
387
+ issuer?: string;
388
+ discoveryUrl?: string;
389
+ jwksUri?: string;
390
+ audience?: string | string[];
391
+ };
392
+ client: {
393
+ id: string;
394
+ secret?: string;
395
+ authMethod?: "client_secret_post" | "client_secret_basic";
396
+ };
397
+ request?: {
398
+ scopes?: string[];
399
+ loginHint?: string;
400
+ authorizationParams?: Record<string, string>;
401
+ };
402
+ security?: {
403
+ clockToleranceSeconds?: number;
404
+ strictIssuer?: boolean;
405
+ };
406
+ profile?: {
407
+ mapping?: OIDCClaimMapping;
408
+ extraFields?: Record<string, string>;
409
+ };
410
+ }) => Promise<{
411
+ hasClientSecret: boolean;
412
+ }>;
413
+ /**
414
+ * Fetch the stored OIDC config for an connection.
415
+ */
416
+ get: (ctx: ComponentReadCtx, args: {
417
+ connectionId: string;
418
+ }) => Promise<{
419
+ hasClientSecret: boolean;
420
+ }>;
421
+ status: (ctx: ComponentReadCtx, args: {
422
+ connectionId: string;
423
+ }) => Promise<{
424
+ connectionId: string;
425
+ configured: boolean;
426
+ ready: boolean;
427
+ config: {
428
+ hasClientSecret: boolean;
429
+ };
430
+ checks: {
431
+ name: string;
432
+ ok: boolean;
433
+ message: string | undefined;
434
+ }[];
435
+ }>;
436
+ /**
437
+ * Resolve group Connection sign-in route from connection id, domain, or
438
+ * user email domain.
439
+ */
440
+ signIn: (ctx: ComponentReadCtx, data: {
441
+ connectionId?: string;
442
+ email?: string;
443
+ domain?: string;
444
+ redirectTo?: string;
445
+ loginHint?: string;
446
+ }) => Promise<{
447
+ connectionId: string;
448
+ protocol: "oidc" | "saml";
449
+ providerId: string;
450
+ signInPath: string;
451
+ callbackPath: string;
452
+ redirectTo: string | undefined;
453
+ }>;
454
+ /**
455
+ * Validate the stored OIDC config for an group connection.
456
+ *
457
+ * Fetches the OIDC discovery document from the configured issuer or
458
+ * discoveryUrl, verifies required fields are present, and checks that
459
+ * clientId is set. Returns a structured result with per-check details.
460
+ */
461
+ validate: (ctx: ComponentReadCtx, args: {
462
+ connectionId: string;
463
+ }) => Promise<{
464
+ ok: boolean;
465
+ connectionId: string;
466
+ checks: {
467
+ name: string;
468
+ ok: boolean;
469
+ message?: string;
470
+ }[];
471
+ }>;
472
+ };
473
+ scim: {
474
+ upsert: (ctx: ComponentCtx, data: {
475
+ connectionId: string;
476
+ status?: "draft" | "active" | "disabled";
477
+ security?: {
478
+ maxRequestSize?: number;
479
+ };
480
+ profile?: {
481
+ mapping?: {
482
+ subject?: string;
483
+ externalId?: string;
484
+ email?: string;
485
+ firstName?: string;
486
+ lastName?: string;
487
+ name?: string;
488
+ phone?: string;
489
+ active?: string;
490
+ groups?: string;
491
+ roles?: string;
492
+ };
493
+ extraFields?: Record<string, string>;
494
+ };
495
+ }) => Promise<{
496
+ connectionId: string;
497
+ configId: string;
498
+ basePath: string;
499
+ token: string;
500
+ }>;
501
+ get: (ctx: ComponentReadCtx, args: {
502
+ connectionId: string;
503
+ }) => Promise<{
504
+ security: {
505
+ maxRequestSize?: number;
506
+ } | undefined;
507
+ profile: {
508
+ mapping?: {
509
+ subject?: string;
510
+ externalId?: string;
511
+ email?: string;
512
+ firstName?: string;
513
+ lastName?: string;
514
+ name?: string;
515
+ phone?: string;
516
+ active?: string;
517
+ groups?: string;
518
+ roles?: string;
519
+ };
520
+ extraFields?: Record<string, string>;
521
+ } | undefined;
522
+ _creationTime: number;
523
+ extend?: unknown;
524
+ connectionId: string;
525
+ status: "draft" | "active" | "disabled";
526
+ groupId: string;
527
+ basePath: string;
528
+ lastRotatedAt?: number | undefined;
529
+ _id: string;
530
+ hasToken: boolean;
531
+ } | null>;
532
+ status: (ctx: ComponentReadCtx, args: {
533
+ connectionId: string;
534
+ }) => Promise<{
535
+ connectionId: string;
536
+ configured: boolean;
537
+ ready: boolean;
538
+ config: (Omit<{
539
+ _id: string;
540
+ _creationTime: number;
541
+ connectionId: string;
542
+ groupId: string;
543
+ status: "draft" | "active" | "disabled";
544
+ basePath: string;
545
+ tokenHash: string;
546
+ lastRotatedAt?: number;
547
+ extend?: unknown;
548
+ }, "tokenHash"> & {
549
+ hasToken: boolean;
550
+ }) | null;
551
+ checks: {
552
+ name: string;
553
+ ok: boolean;
554
+ message?: string;
555
+ }[] | {
556
+ name: string;
557
+ ok: boolean;
558
+ message: string;
559
+ }[];
560
+ capabilities: {
561
+ users: boolean;
562
+ groups: boolean;
563
+ patch: boolean;
564
+ put: boolean;
565
+ filters: string[];
566
+ bulk: boolean;
567
+ etag: boolean;
568
+ } | undefined;
569
+ }>;
570
+ getConfigByToken: (ctx: ComponentReadCtx, args: {
571
+ token: string;
572
+ }) => Promise<{
573
+ _id: string;
574
+ _creationTime: number;
575
+ connectionId: string;
576
+ groupId: string;
577
+ status: "draft" | "active" | "disabled";
578
+ basePath: string;
579
+ tokenHash: string;
580
+ lastRotatedAt?: number;
581
+ extend?: unknown;
582
+ } | null>;
583
+ validate: (ctx: ComponentReadCtx, args: {
584
+ connectionId: string;
585
+ }) => Promise<{
586
+ ok: boolean;
587
+ connectionId: string;
588
+ checks: {
589
+ name: string;
590
+ ok: boolean;
591
+ message: string;
592
+ }[];
593
+ basePath?: undefined;
594
+ deprovisionMode?: undefined;
595
+ capabilities?: undefined;
596
+ } | {
597
+ ok: boolean;
598
+ connectionId: string;
599
+ basePath: string;
600
+ deprovisionMode: "soft" | "hard";
601
+ capabilities: {
602
+ users: boolean;
603
+ groups: boolean;
604
+ patch: boolean;
605
+ put: boolean;
606
+ filters: string[];
607
+ bulk: boolean;
608
+ etag: boolean;
609
+ };
610
+ checks: {
611
+ name: string;
612
+ ok: boolean;
613
+ message?: string;
614
+ }[];
615
+ }>;
616
+ identity: {
617
+ get: (ctx: ComponentReadCtx, data: {
618
+ connectionId: string;
619
+ resourceType: "user" | "group";
620
+ externalId: string;
621
+ }) => Promise<ScimIdentityRecord | null>;
622
+ upsert: (ctx: ComponentCtx, data: {
623
+ connectionId: string;
624
+ groupId: string;
625
+ resourceType: "user" | "group";
626
+ externalId: string;
627
+ userId?: string;
628
+ mappedGroupId?: string;
629
+ active?: boolean;
630
+ raw?: Record<string, unknown>;
631
+ }) => Promise<string>;
632
+ };
633
+ };
634
+ audit: {
635
+ list: (ctx: ComponentReadCtx, data: {
636
+ connectionId?: string;
637
+ groupId?: string;
638
+ paginationOpts: {
639
+ numItems: number;
640
+ cursor: string | null;
641
+ };
642
+ }) => Promise<{
643
+ continueCursor: string;
644
+ isDone: boolean;
645
+ page: Array<{
646
+ _creationTime: number;
647
+ _id: string;
648
+ actorId?: string;
649
+ actorType: "user" | "system" | "scim" | "api_key" | "oauth_client" | "webhook" | "anonymous";
650
+ category: "user" | "session" | "account" | "password" | "passkey" | "totp" | "email" | "phone" | "api_key" | "oauth" | "connection" | "scim" | "webhook" | "security";
651
+ data?: {
652
+ existingUserId?: string;
653
+ profile?: Record<string, any>;
654
+ provider?: string;
655
+ type?: string;
656
+ } | {
657
+ method?: string;
658
+ provider: string;
659
+ } | {
660
+ flow?: "reset" | "change";
661
+ reason?: string;
662
+ refreshTokenId?: string;
663
+ sessionId?: string;
664
+ userId?: string;
665
+ } | {
666
+ accountId?: string;
667
+ provider?: string;
668
+ providerAccountId?: string;
669
+ } | {
670
+ credentialId?: string;
671
+ keyId?: string;
672
+ name?: string;
673
+ passkeyId?: string;
674
+ prefix?: string;
675
+ reason?: string;
676
+ totpId?: string;
677
+ } | {
678
+ email?: string;
679
+ phone?: string;
680
+ userId?: string;
681
+ } | {
682
+ clientId?: string;
683
+ codeId?: string;
684
+ grantType?: string;
685
+ name?: string;
686
+ redirectUri?: string;
687
+ resource?: string;
688
+ scopes?: Array<string>;
689
+ userId?: string;
690
+ } | {
691
+ audience?: string | Array<string>;
692
+ changed?: Array<string>;
693
+ connectionId?: string;
694
+ discoveryUrl?: string;
695
+ domain?: string;
696
+ domains?: Array<string>;
697
+ errorCode?: string;
698
+ expiresAt?: number;
699
+ issuer?: string;
700
+ jwksUri?: string;
701
+ metadataUrl?: string;
702
+ protocol?: "oidc" | "saml";
703
+ recordName?: string;
704
+ tokenEndpointAuthMethod?: string;
705
+ userId?: string;
706
+ verifiedAt?: number;
707
+ version?: number;
708
+ } | {
709
+ active?: boolean;
710
+ externalId?: string;
711
+ groupId?: string;
712
+ operation?: string;
713
+ resourceId?: string;
714
+ resourceType?: "user" | "group";
715
+ scimConfigId?: string;
716
+ userId?: string;
717
+ } | {
718
+ attemptCount?: number;
719
+ deliveryId?: string;
720
+ endpointId?: string;
721
+ error?: string;
722
+ sourceEventId?: string;
723
+ sourceEventType?: "user.created" | "user.updated" | "session.signed_in" | "session.signed_out" | "session.invalidated" | "session.refresh_exchanged" | "session.refresh_reuse_detected" | "account.linked" | "account.unlinked" | "password.changed" | "passkey.added" | "passkey.removed" | "totp.enrolled" | "totp.removed" | "email.verified" | "phone.verified" | "api_key.created" | "api_key.revoked" | "oauth.client.created" | "oauth.client.revoked" | "oauth.code.created" | "oauth.token.created" | "oauth.token.exchanged" | "oauth.refresh.reuse_detected" | "oauth.refresh.revoked" | "connection.created" | "connection.updated" | "connection.removed" | "connection.login.succeeded" | "connection.login.failed" | "connection.domain.verification_requested" | "connection.domain.verified" | "connection.policy.updated" | "connection.saml.set" | "connection.saml.refreshed" | "connection.oidc.set" | "connection.scim.set" | "connection.scim.read" | "connection.scim.user.provisioned" | "connection.scim.user.updated" | "connection.scim.user.deactivated" | "connection.scim.user.reactivated" | "connection.scim.group.provisioned" | "connection.scim.group.updated" | "connection.scim.group.deactivated" | "connection.scim.group.reactivated" | "webhook.endpoint.created" | "webhook.endpoint.disabled" | "webhook.delivery.created" | "webhook.delivery.attempted" | "webhook.delivery.succeeded" | "webhook.delivery.failed";
724
+ status?: number;
725
+ };
726
+ errorCode?: string;
727
+ eventId: string;
728
+ ip?: string;
729
+ kind: "user.created" | "user.updated" | "session.signed_in" | "session.signed_out" | "session.invalidated" | "session.refresh_exchanged" | "session.refresh_reuse_detected" | "account.linked" | "account.unlinked" | "password.changed" | "passkey.added" | "passkey.removed" | "totp.enrolled" | "totp.removed" | "email.verified" | "phone.verified" | "api_key.created" | "api_key.revoked" | "oauth.client.created" | "oauth.client.revoked" | "oauth.code.created" | "oauth.token.created" | "oauth.token.exchanged" | "oauth.refresh.reuse_detected" | "oauth.refresh.revoked" | "connection.created" | "connection.updated" | "connection.removed" | "connection.login.succeeded" | "connection.login.failed" | "connection.domain.verification_requested" | "connection.domain.verified" | "connection.policy.updated" | "connection.saml.set" | "connection.saml.refreshed" | "connection.oidc.set" | "connection.scim.set" | "connection.scim.read" | "connection.scim.user.provisioned" | "connection.scim.user.updated" | "connection.scim.user.deactivated" | "connection.scim.user.reactivated" | "connection.scim.group.provisioned" | "connection.scim.group.updated" | "connection.scim.group.deactivated" | "connection.scim.group.reactivated" | "webhook.endpoint.created" | "webhook.endpoint.disabled" | "webhook.delivery.created" | "webhook.delivery.attempted" | "webhook.delivery.succeeded" | "webhook.delivery.failed";
730
+ occurredAt: number;
731
+ outcome: "success" | "failure";
732
+ requestId?: string;
733
+ subjectId?: string;
734
+ subjectType: "user" | "session" | "account" | "passkey" | "totp" | "email" | "phone" | "api_key" | "oauth_client" | "oauth_code" | "group" | "connection" | "scim_identity" | "webhook_endpoint" | "webhook_delivery" | "system";
735
+ targetId: string;
736
+ targetKind: "user" | "session" | "group" | "connection" | "oauth_client" | "api_key" | "global";
737
+ }>;
738
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null;
739
+ splitCursor?: string | null;
740
+ }>;
741
+ };
742
+ webhook: {
743
+ endpoint: {
744
+ get: (ctx: ComponentReadCtx, args: {
745
+ id: string;
746
+ }) => Promise<(Omit<{
747
+ _id: string;
748
+ _creationTime: number;
749
+ connectionId: string;
750
+ groupId: string;
751
+ url: string;
752
+ status: "active" | "disabled";
753
+ secretCiphertext?: string;
754
+ secretHash?: string;
755
+ subscriptions: string[];
756
+ createdByUserId?: string;
757
+ lastSuccessAt?: number;
758
+ lastFailureAt?: number;
759
+ failureCount: number;
760
+ extend?: unknown;
761
+ }, "status" | "secretCiphertext" | "secretHash" | "subscriptions"> & {
762
+ status: "active" | "disabled";
763
+ subscriptions: AuthEventKind[];
764
+ hasSecret: boolean;
765
+ }) | null>;
766
+ create: (ctx: ComponentCtx, data: {
767
+ connectionId: string;
768
+ url: string;
769
+ secret: string;
770
+ subscriptions: AuthEventKind[];
771
+ createdByUserId?: string;
772
+ }) => Promise<{
773
+ endpointId: string;
774
+ }>;
775
+ list: (ctx: ComponentReadCtx, args: {
776
+ connectionId: string;
777
+ }) => Promise<(Omit<{
778
+ _id: string;
779
+ _creationTime: number;
780
+ connectionId: string;
781
+ groupId: string;
782
+ url: string;
783
+ status: "active" | "disabled";
784
+ secretCiphertext?: string;
785
+ secretHash?: string;
786
+ subscriptions: string[];
787
+ createdByUserId?: string;
788
+ lastSuccessAt?: number;
789
+ lastFailureAt?: number;
790
+ failureCount: number;
791
+ extend?: unknown;
792
+ }, "status" | "secretCiphertext" | "secretHash" | "subscriptions"> & {
793
+ status: "active" | "disabled";
794
+ subscriptions: AuthEventKind[];
795
+ hasSecret: boolean;
796
+ })[]>;
797
+ update: (ctx: ComponentCtx, args: {
798
+ id: string;
799
+ patch: {
800
+ url?: string;
801
+ status?: "active" | "disabled";
802
+ secret?: string;
803
+ subscriptions?: AuthEventKind[];
804
+ };
805
+ }) => Promise<{
806
+ endpointId: string;
807
+ }>;
808
+ revoke: (ctx: ComponentCtx, args: {
809
+ id: string;
810
+ }) => Promise<{
811
+ endpointId: string;
812
+ }>;
813
+ };
814
+ delivery: {
815
+ list: (ctx: ComponentReadCtx, data: {
816
+ connectionId: string;
817
+ paginationOpts: {
818
+ numItems: number;
819
+ cursor: string | null;
820
+ };
821
+ }) => Promise<{
822
+ page: {
823
+ _id: string;
824
+ _creationTime: number;
825
+ connectionId: string;
826
+ endpointId: string;
827
+ eventId: string;
828
+ kind: AuthEventKind;
829
+ status: "pending" | "processing" | "delivered" | "failed";
830
+ attemptCount: number;
831
+ nextAttemptAt: number;
832
+ lastAttemptAt?: number;
833
+ lastResponseStatus?: number;
834
+ lastError?: string;
835
+ signedAt: number;
836
+ }[];
837
+ isDone: boolean;
838
+ continueCursor: string;
839
+ }>;
840
+ listReady: (ctx: ComponentReadCtx, args?: {
841
+ limit?: number;
842
+ }) => Promise<({
843
+ _id: string;
844
+ _creationTime: number;
845
+ connectionId: string;
846
+ endpointId: string;
847
+ eventId: string;
848
+ kind: AuthEventKind;
849
+ status: "pending" | "processing" | "delivered" | "failed";
850
+ attemptCount: number;
851
+ nextAttemptAt: number;
852
+ lastAttemptAt?: number;
853
+ lastResponseStatus?: number;
854
+ lastError?: string;
855
+ signedAt: number;
856
+ } & {
857
+ payload: unknown;
858
+ signature: string;
859
+ })[]>;
860
+ markDelivered: (ctx: ComponentCtx, args: {
861
+ id: string;
862
+ responseStatus?: number;
863
+ }) => Promise<void>;
864
+ markFailed: (ctx: ComponentCtx, args: {
865
+ id: string;
866
+ data: {
867
+ attemptCount: number;
868
+ responseStatus?: number;
869
+ error?: string;
870
+ retryAt?: number;
871
+ };
872
+ }) => Promise<void>;
873
+ };
874
+ };
875
+ };
876
+ //#endregion
877
+ export { createGroupConnectionDomain };
878
+ //# sourceMappingURL=domain.d.ts.map