@learncard/network-brain-service 3.18.0 → 3.19.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 (199) hide show
  1. package/.env.example +4 -0
  2. package/CHANGELOG.md +80 -0
  3. package/compose.inbox.yml +7 -0
  4. package/dist/accesslayer/auth-grant/read.d.ts +1 -0
  5. package/dist/accesslayer/auth-grant/read.d.ts.map +1 -1
  6. package/dist/accesslayer/credential-activity/create.d.ts.map +1 -1
  7. package/dist/accesslayer/credential-refresh/email-delivery.d.ts +18 -0
  8. package/dist/accesslayer/credential-refresh/email-delivery.d.ts.map +1 -0
  9. package/dist/accesslayer/credential-refresh/index.d.ts +1 -0
  10. package/dist/accesslayer/credential-refresh/index.d.ts.map +1 -1
  11. package/dist/accesslayer/credential-refresh/read.d.ts.map +1 -1
  12. package/dist/accesslayer/credential-refresh/update.d.ts.map +1 -1
  13. package/dist/accesslayer/inbox-batch/store.d.ts +33 -0
  14. package/dist/accesslayer/inbox-batch/store.d.ts.map +1 -0
  15. package/dist/accesslayer/inbox-credential/create.d.ts +5 -0
  16. package/dist/accesslayer/inbox-credential/create.d.ts.map +1 -1
  17. package/dist/accesslayer/inbox-credential/refresh.d.ts +71 -0
  18. package/dist/accesslayer/inbox-credential/refresh.d.ts.map +1 -0
  19. package/dist/accesslayer/inbox-credential/update.d.ts +1 -1
  20. package/dist/accesslayer/inbox-credential/update.d.ts.map +1 -1
  21. package/dist/cache/atomic-counter.test-helpers.d.ts +3 -0
  22. package/dist/cache/atomic-counter.test-helpers.d.ts.map +1 -0
  23. package/dist/cache/atomic-counter.test.d.ts +2 -0
  24. package/dist/cache/atomic-counter.test.d.ts.map +1 -0
  25. package/dist/cache/index.d.ts +1 -1
  26. package/dist/cache/index.d.ts.map +1 -1
  27. package/dist/config/environment.d.ts +46 -0
  28. package/dist/config/environment.d.ts.map +1 -1
  29. package/dist/credential-refresh.d.ts.map +1 -1
  30. package/dist/helpers/activity.helpers.d.ts +4 -0
  31. package/dist/helpers/activity.helpers.d.ts.map +1 -1
  32. package/dist/helpers/contact-method.helpers.d.ts.map +1 -1
  33. package/dist/helpers/contact-method.helpers.test.d.ts +2 -0
  34. package/dist/helpers/contact-method.helpers.test.d.ts.map +1 -0
  35. package/dist/helpers/credential-refresh-email-content.helpers.d.ts +44 -0
  36. package/dist/helpers/credential-refresh-email-content.helpers.d.ts.map +1 -0
  37. package/dist/helpers/credential-refresh-email-content.helpers.test.d.ts +2 -0
  38. package/dist/helpers/credential-refresh-email-content.helpers.test.d.ts.map +1 -0
  39. package/dist/helpers/credential-refresh-email.helpers.d.ts +17 -0
  40. package/dist/helpers/credential-refresh-email.helpers.d.ts.map +1 -0
  41. package/dist/helpers/credential-refresh-proof.helpers.d.ts +4 -0
  42. package/dist/helpers/credential-refresh-proof.helpers.d.ts.map +1 -0
  43. package/dist/helpers/credential-refresh-proof.helpers.test.d.ts +2 -0
  44. package/dist/helpers/credential-refresh-proof.helpers.test.d.ts.map +1 -0
  45. package/dist/helpers/credential-refresh.helpers.d.ts +45 -2
  46. package/dist/helpers/credential-refresh.helpers.d.ts.map +1 -1
  47. package/dist/helpers/credential.helpers.d.ts +2 -1
  48. package/dist/helpers/credential.helpers.d.ts.map +1 -1
  49. package/dist/helpers/finalize-inbox.helpers.d.ts.map +1 -1
  50. package/dist/helpers/inbox-batch-http.helpers.d.ts +15 -0
  51. package/dist/helpers/inbox-batch-http.helpers.d.ts.map +1 -0
  52. package/dist/helpers/inbox-batch-http.helpers.test.d.ts +2 -0
  53. package/dist/helpers/inbox-batch-http.helpers.test.d.ts.map +1 -0
  54. package/dist/helpers/inbox-batch-status.helpers.d.ts +3 -0
  55. package/dist/helpers/inbox-batch-status.helpers.d.ts.map +1 -0
  56. package/dist/helpers/inbox-batch.helpers.d.ts +10 -0
  57. package/dist/helpers/inbox-batch.helpers.d.ts.map +1 -0
  58. package/dist/helpers/inbox-batch.helpers.test.d.ts +2 -0
  59. package/dist/helpers/inbox-batch.helpers.test.d.ts.map +1 -0
  60. package/dist/helpers/inbox-issuance-error.helpers.d.ts +13 -0
  61. package/dist/helpers/inbox-issuance-error.helpers.d.ts.map +1 -0
  62. package/dist/helpers/inbox-queue.helpers.d.ts +11 -0
  63. package/dist/helpers/inbox-queue.helpers.d.ts.map +1 -0
  64. package/dist/helpers/inbox-queue.helpers.test.d.ts +2 -0
  65. package/dist/helpers/inbox-queue.helpers.test.d.ts.map +1 -0
  66. package/dist/helpers/inbox-refresh.helpers.d.ts +186 -0
  67. package/dist/helpers/inbox-refresh.helpers.d.ts.map +1 -0
  68. package/dist/helpers/inbox.helpers.d.ts +9 -1
  69. package/dist/helpers/inbox.helpers.d.ts.map +1 -1
  70. package/dist/helpers/notifications.helpers.d.ts.map +1 -1
  71. package/dist/helpers/rateLimit.helpers.d.ts.map +1 -1
  72. package/dist/helpers/refresh-send-intent.helpers.d.ts +51 -0
  73. package/dist/helpers/refresh-send-intent.helpers.d.ts.map +1 -0
  74. package/dist/helpers/shim.d.ts +1 -1
  75. package/dist/helpers/shim.d.ts.map +1 -1
  76. package/dist/inbox-queue-local.d.ts +2 -0
  77. package/dist/inbox-queue-local.d.ts.map +1 -0
  78. package/dist/index.js +2 -2
  79. package/dist/models/AuthGrant.d.ts.map +1 -1
  80. package/dist/models/CredentialActivity.d.ts +1 -0
  81. package/dist/models/CredentialActivity.d.ts.map +1 -1
  82. package/dist/models/CredentialRefresh.d.ts +5 -2
  83. package/dist/models/CredentialRefresh.d.ts.map +1 -1
  84. package/dist/models/InboxCredential.d.ts +1 -0
  85. package/dist/models/InboxCredential.d.ts.map +1 -1
  86. package/dist/models/credential-refresh-constraints.d.ts.map +1 -1
  87. package/dist/openapi.d.ts.map +1 -1
  88. package/dist/routes/act-as.test.d.ts +2 -0
  89. package/dist/routes/act-as.test.d.ts.map +1 -0
  90. package/dist/routes/activity.d.ts +3 -0
  91. package/dist/routes/activity.d.ts.map +1 -1
  92. package/dist/routes/auth-grants.d.ts +10 -0
  93. package/dist/routes/auth-grants.d.ts.map +1 -1
  94. package/dist/routes/boosts.d.ts +494 -0
  95. package/dist/routes/boosts.d.ts.map +1 -1
  96. package/dist/routes/credential-refreshes.d.ts.map +1 -1
  97. package/dist/routes/credentials.d.ts.map +1 -1
  98. package/dist/routes/inbox.d.ts +953 -11
  99. package/dist/routes/inbox.d.ts.map +1 -1
  100. package/dist/routes/index.d.ts +42 -126
  101. package/dist/routes/index.d.ts.map +1 -1
  102. package/dist/routes/workflows.d.ts.map +1 -1
  103. package/dist/services/delivery/adapters/postmark.adapter.d.ts.map +1 -1
  104. package/dist/services/delivery/adapters/postmark.adapter.test.d.ts +2 -0
  105. package/dist/services/delivery/adapters/postmark.adapter.test.d.ts.map +1 -0
  106. package/dist/services/registry/registry.factory.d.ts.map +1 -1
  107. package/dist/types/activity.d.ts +4 -0
  108. package/dist/types/activity.d.ts.map +1 -1
  109. package/dist/types/credential-refresh.d.ts +10 -1
  110. package/dist/types/credential-refresh.d.ts.map +1 -1
  111. package/dist/types/inbox-batch.d.ts +38 -0
  112. package/dist/types/inbox-batch.d.ts.map +1 -0
  113. package/inbox-e2e-setup.ts +53 -1
  114. package/inbox-elasticmq.conf +10 -0
  115. package/lambda.ts +61 -16
  116. package/package.json +18 -16
  117. package/scripts/setup-inbox-queues.ts +60 -0
  118. package/serverless-local.yml +2 -0
  119. package/serverless.yml +75 -0
  120. package/src/accesslayer/auth-grant/read.ts +2 -1
  121. package/src/accesslayer/credential-activity/create.ts +1 -0
  122. package/src/accesslayer/credential-refresh/email-delivery.ts +116 -0
  123. package/src/accesslayer/credential-refresh/index.ts +1 -0
  124. package/src/accesslayer/credential-refresh/read.ts +8 -2
  125. package/src/accesslayer/credential-refresh/update.ts +4 -0
  126. package/src/accesslayer/inbox-batch/store.ts +469 -0
  127. package/src/accesslayer/inbox-credential/create.ts +51 -19
  128. package/src/accesslayer/inbox-credential/refresh.ts +221 -0
  129. package/src/accesslayer/inbox-credential/update.ts +1 -1
  130. package/src/cache/atomic-counter.test-helpers.ts +27 -0
  131. package/src/cache/atomic-counter.test.ts +6 -0
  132. package/src/cache/index.ts +25 -13
  133. package/src/config/environment.ts +26 -0
  134. package/src/credential-refresh.ts +5 -1
  135. package/src/docker-entry.ts +8 -0
  136. package/src/helpers/activity.helpers.ts +4 -0
  137. package/src/helpers/app-counter.helpers.ts +1 -1
  138. package/src/helpers/contact-method.helpers.test.ts +43 -0
  139. package/src/helpers/contact-method.helpers.ts +3 -4
  140. package/src/helpers/credential-refresh-email-content.helpers.test.ts +222 -0
  141. package/src/helpers/credential-refresh-email-content.helpers.ts +155 -0
  142. package/src/helpers/credential-refresh-email.helpers.ts +201 -0
  143. package/src/helpers/credential-refresh-proof.helpers.test.ts +103 -0
  144. package/src/helpers/credential-refresh-proof.helpers.ts +43 -0
  145. package/src/helpers/credential-refresh.helpers.ts +375 -99
  146. package/src/helpers/credential.helpers.ts +4 -1
  147. package/src/helpers/finalize-inbox.helpers.ts +29 -14
  148. package/src/helpers/inbox-batch-http.helpers.test.ts +188 -0
  149. package/src/helpers/inbox-batch-http.helpers.ts +150 -0
  150. package/src/helpers/inbox-batch-status.helpers.ts +11 -0
  151. package/src/helpers/inbox-batch.helpers.test.ts +668 -0
  152. package/src/helpers/inbox-batch.helpers.ts +374 -0
  153. package/src/helpers/inbox-issuance-error.helpers.ts +25 -0
  154. package/src/helpers/inbox-queue.helpers.test.ts +253 -0
  155. package/src/helpers/inbox-queue.helpers.ts +372 -0
  156. package/src/helpers/inbox-refresh.helpers.ts +432 -0
  157. package/src/helpers/inbox.helpers.ts +268 -32
  158. package/src/helpers/notifications.helpers.ts +4 -2
  159. package/src/helpers/rateLimit.helpers.ts +2 -5
  160. package/src/helpers/refresh-send-intent.helpers.ts +273 -0
  161. package/src/helpers/shim.ts +32 -31
  162. package/src/inbox-queue-local.ts +28 -0
  163. package/src/models/AuthGrant.ts +1 -0
  164. package/src/models/CredentialActivity.ts +3 -5
  165. package/src/models/CredentialRefresh.ts +4 -2
  166. package/src/models/InboxCredential.ts +2 -0
  167. package/src/models/credential-refresh-constraints.test.ts +8 -3
  168. package/src/models/credential-refresh-constraints.ts +5 -0
  169. package/src/openapi.ts +8 -0
  170. package/src/routes/act-as.test.ts +239 -0
  171. package/src/routes/app-store.ts +2 -2
  172. package/src/routes/auth-grants.ts +13 -11
  173. package/src/routes/boosts.ts +914 -92
  174. package/src/routes/credential-refreshes.test.ts +8 -2
  175. package/src/routes/credential-refreshes.ts +4 -1
  176. package/src/routes/credentials.ts +2 -1
  177. package/src/routes/inbox.ts +95 -49
  178. package/src/routes/index.ts +82 -7
  179. package/src/routes/skills.ts +1 -1
  180. package/src/routes/workflows.ts +43 -24
  181. package/src/services/delivery/adapters/postmark.adapter.test.ts +54 -0
  182. package/src/services/delivery/adapters/postmark.adapter.ts +12 -0
  183. package/src/services/registry/registry.factory.ts +2 -1
  184. package/src/types/activity.ts +2 -0
  185. package/src/types/credential-refresh.ts +21 -2
  186. package/src/types/inbox-batch.ts +46 -0
  187. package/test/atomic-counter.e2e.ts +12 -0
  188. package/test/auth-grant.spec.ts +21 -21
  189. package/test/credential-refresh-email.spec.ts +663 -0
  190. package/test/credential-refresh-publication.spec.ts +2 -0
  191. package/test/helpers/inbox-e2e-environment.ts +6 -0
  192. package/test/inbox-batch.spec.ts +1338 -0
  193. package/test/inbox-refresh.spec.ts +534 -0
  194. package/test/openapi.spec.ts +41 -1
  195. package/test/refresh-send.spec.ts +1799 -0
  196. package/test/registry.spec.ts +56 -11
  197. package/vitest.config.ts +9 -0
  198. package/vitest.inbox-e2e.config.ts +5 -1
  199. package/vitest.integration.config.ts +2 -0
package/.env.example CHANGED
@@ -22,6 +22,10 @@ OIDC_EXPECTED_AUDIENCE=
22
22
 
23
23
  AWS_REGION=
24
24
  NOTIFICATIONS_QUEUE_URL=
25
+ INBOX_QUEUE_URL=
26
+ INBOX_DEAD_LETTER_QUEUE_URL=
27
+ # Set only for a local SQS emulator; production uses the AWS endpoint and IAM role.
28
+ INBOX_QUEUE_ENDPOINT=
25
29
  NOTIFICATIONS_QUEUE_POLL_URL=
26
30
  NOTIFICATIONS_SERVICE_WEBHOOK_URL=
27
31
  NOTIFICATIONS_SERVICE_PORT=5100
package/CHANGELOG.md CHANGED
@@ -1,5 +1,85 @@
1
1
  # @learncard/network-brain-service
2
2
 
3
+ ## 3.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1585](https://github.com/learningeconomy/LearnCard/pull/1585) [`0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e`](https://github.com/learningeconomy/LearnCard/commit/0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e) Thanks [@goblincore](https://github.com/goblincore)! - Send managed credential update emails to a bound holder's verified email (or a verified manager for managed accounts). Include the issuer display name and a bounded credential title, with a translated link to app notifications; exclude grades, subject data, and update summaries. Keep email failures independent of publication and in-app notifications, and persist a single delivery attempt per publication notification window so retries cannot send duplicate email.
8
+
9
+ Email delivery is best effort: a failed or ambiguous provider attempt is recorded and not retried within that window. A later material update in a new window can send another email. There is no background email retry worker.
10
+
11
+ Existing verified Universal Inbox recipients also receive an initial email pointing to their app notifications when delivery is not suppressed. Local claim and update links use the frontend address.
12
+
13
+ Preserve recipient profile identities when local webhook delivery normalizes notification DIDs, so the subsequent update-email lookup can still find verified contacts.
14
+
15
+ - [#1591](https://github.com/learningeconomy/LearnCard/pull/1591) [`928e587378b3674766cf58a8bbe1cbd4d66d3a9f`](https://github.com/learningeconomy/LearnCard/commit/928e587378b3674766cf58a8bbe1cbd4d66d3a9f) Thanks [@gerardopar](https://github.com/gerardopar)! - Add Universal Inbox batch issuance through `sendCredentialsViaInbox`, tRPC
16
+ `inbox.issueBatch`, and `POST /inbox/issue-batch`, with public batch input and result
17
+ validators/types, shared configuration defaults, ordered per-item outcomes, and
18
+ 24-hour issuer-scoped idempotency keys. Later duplicate keys in one batch conflict
19
+ deterministically. Completed issuances include reconciliation IDs if replay storage
20
+ cannot be confirmed; side-effect-free preflight failures release their keys.
21
+
22
+ Enforce a 4 MiB JSON payload budget and atomic batch quota admission without
23
+ charging rejected batches. Batch submission returns HTTP 202 with a durable
24
+ receipt. Poll `GET /inbox/batches/{batchId}` or
25
+ `getInboxCredentialBatch` for ordered progress and outcomes. Batch-level request IDs
26
+ make submission retries safe. Jobs, quota admission, dispatch records, and encrypted
27
+ results are stored in Neo4j; a dedicated SQS queue processes items independently of
28
+ notifications. Submission retries report the current batch state. Transient preparation
29
+ and signing failures retry before delivery. Terminal batches release their original
30
+ payload and remain available for 30 days, including uncertain outcomes; unresolved
31
+ client-keyed replay reservations stay blocked for reconciliation after job expiry.
32
+ Orphaned internal reservations for unkeyed items are collected after job pruning.
33
+ Container-backed tests exercise Neo4j, Redis, and an SQS emulator, including worker
34
+ recovery, duplicate delivery, polling authorization, and submission replay.
35
+
36
+ The existing single-issue route now accepts `configuration.guardianEmail`, exposing
37
+ guardian approval to single-issue clients. Both routes reject guardian self-approval
38
+ case-insensitively. Rate-limit errors use `TOO_MANY_REQUESTS` (HTTP 429); remove stale
39
+ TypeScript casts to `BAD_REQUEST` from existing callers. Those casts did not change
40
+ the runtime status code.
41
+
42
+ ### Patch Changes
43
+
44
+ - [#1585](https://github.com/learningeconomy/LearnCard/pull/1585) [`0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e`](https://github.com/learningeconomy/LearnCard/commit/0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e) Thanks [@goblincore](https://github.com/goblincore)! - Managed refreshable sends through the standard send paths (LC-2198). `send({ type: 'boost', refresh: true })` now issues refreshable credentials for profile/DID recipients: with local signing the SDK asks the server to run every managed-send guard, create or reuse the boost and allocate the managed refresh service in one step, injects the service (with its inline JSON-LD context) before signing, and hands the signed credential to the server's unified send so activity/contract behavior and the canonical receipt are preserved; without local signing the request is served by the signing-authority path. Email/phone recipients now use Universal Inbox deferred issuance: allocate a stable refresh service at issue, queue unsigned updates in encrypted inbox escrow, and bind/sign the latest content at verified claim. The deferred receipt is returned at `inbox.refresh`; direct `inbox/issue` returns it at `refresh`.
45
+
46
+ `sendBoost` with literal `{ enableRefresh: true }` now returns `{ credentialUri, refresh }` instead of a plain URI string, where `refresh` is the metadata-only issuance receipt (refreshId, refreshService, credentialId, issuerDid, holderDid, credentialStatus) needed to publish future versions via `publishCredentialRefresh`. Legacy callers — boolean options, omitted options, or object options without `enableRefresh` — still receive the credential URI string; a dynamically typed `enableRefresh` degrades the result to `string | { credentialUri, refresh }`. Delivered managed credentials remain holder-encrypted even when `encrypt: false`. Pending Inbox content uses the existing service-readable encrypted escrow until claim, when it is wiped.
47
+
48
+ `@learncard/types` adds the `ManagedCredentialRefreshReceipt` validator plus optional `refresh` on the unified send input/response validators; `@learncard/helpers` adds the shared managed context preparation helpers (`prepareManagedRefreshContext`, `injectManagedRefreshService`) now also used by SDK `issueCredential` signing.
49
+
50
+ Refreshable `send` accepts an optional `idempotencyKey` so a whole call can be retried without duplicating the boost, refresh allocation or delivery.
51
+
52
+ Completed-send comparisons canonicalize nested result keys so equivalent receipts remain idempotent regardless of property insertion order. Keyed sends reuse the recipient validation already performed in the request.
53
+
54
+ Keyed pre-signed retries now recover the original result when delivery bound successfully but its intent result was not recorded, matching preparation and signing-authority retries. Pending receipt fallbacks use the holder's network profile DID consistently.
55
+
56
+ Signing a credential with a managed refresh service now rejects conflicting inline JSON-LD term definitions (including `authorization`) instead of producing a credential whose refresh terms are not correctly signed. Credentials without a managed service are unaffected.
57
+
58
+ Managed send and refresh publication recover from a stale local issuer DID document after signing-authority registration: if proof verification fails, the server refreshes the authenticated issuer's document and verifies once more without relaxing signature checks.
59
+
60
+ Universal Inbox accepts `refresh: true` and an issuance `idempotencyKey`; both claim paths bind the latest revision atomically. Publication keys survive claim, and issuer `getInboxCredential` exposes the metadata-only receipt with its bound holder DID.
61
+
62
+ - [#1585](https://github.com/learningeconomy/LearnCard/pull/1585) [`0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e`](https://github.com/learningeconomy/LearnCard/commit/0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e) Thanks [@goblincore](https://github.com/goblincore)! - Honor delegated boost issuance permissions for managed refresh delivery. Expire saved post-login destinations after 30 minutes, discard legacy untimed destinations, and clear superseded claim redirects during sign-in.
63
+
64
+ - [#1591](https://github.com/learningeconomy/LearnCard/pull/1591) [`928e587378b3674766cf58a8bbe1cbd4d66d3a9f`](https://github.com/learningeconomy/LearnCard/commit/928e587378b3674766cf58a8bbe1cbd4d66d3a9f) Thanks [@gerardopar](https://github.com/gerardopar)! - Support managed refresh through batch and item configuration, with item overrides including explicit false. Forward refresh options and template anchors to issuance, preserve caller permissions for background processing, and return refresh receipts in item results and replays.
65
+
66
+ - Updated dependencies [[`2991bd32b03e26736239dd8e586e2f720d9bcd45`](https://github.com/learningeconomy/LearnCard/commit/2991bd32b03e26736239dd8e586e2f720d9bcd45), [`0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e`](https://github.com/learningeconomy/LearnCard/commit/0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e), [`0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e`](https://github.com/learningeconomy/LearnCard/commit/0c1bf9a8a33e6392d5fd279479d9ab4fb0449b5e), [`3174c09b97fde6f7b5251390245038cf6b7ea9ba`](https://github.com/learningeconomy/LearnCard/commit/3174c09b97fde6f7b5251390245038cf6b7ea9ba), [`928e587378b3674766cf58a8bbe1cbd4d66d3a9f`](https://github.com/learningeconomy/LearnCard/commit/928e587378b3674766cf58a8bbe1cbd4d66d3a9f), [`928e587378b3674766cf58a8bbe1cbd4d66d3a9f`](https://github.com/learningeconomy/LearnCard/commit/928e587378b3674766cf58a8bbe1cbd4d66d3a9f)]:
67
+ - @learncard/types@5.21.0
68
+ - @learncard/helpers@1.6.0
69
+ - @learncard/vc-plugin@1.6.2
70
+ - @learncard/email-templates@1.1.0
71
+ - @learncard/core@9.4.36
72
+ - @learncard/did-web-plugin@1.1.36
73
+ - @learncard/didkey-plugin@1.1.36
74
+ - @learncard/didkit-plugin@1.10.1
75
+ - @learncard/didkit-plugin-node@0.3.1
76
+ - @learncard/encryption-plugin@1.1.36
77
+ - @learncard/learn-card-plugin@1.2.36
78
+ - @learncard/vc-templates-plugin@1.1.36
79
+ - @learncard/crypto-plugin@1.1.36
80
+ - @learncard/dynamic-loader-plugin@1.1.36
81
+ - @learncard/expiration-plugin@1.2.36
82
+
3
83
  ## 3.18.0
4
84
 
5
85
  ### Minor Changes
@@ -0,0 +1,7 @@
1
+ services:
2
+ inbox-sqs:
3
+ image: softwaremill/elasticmq-native:1.6.15
4
+ ports:
5
+ - '9324:9324'
6
+ volumes:
7
+ - ./inbox-elasticmq.conf:/opt/elasticmq.conf:ro
@@ -12,5 +12,6 @@ export declare const isAuthGrantAssociatedWithProfile: (authGrantId: string, pro
12
12
  export declare const isAuthGrantChallengeValidForDID: (challenge: string, did: string) => Promise<{
13
13
  isChallengeValid: boolean;
14
14
  scope: string;
15
+ actAs?: string;
15
16
  }>;
16
17
  //# sourceMappingURL=read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/auth-grant/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,eAAO,MAAM,gBAAgB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAgB/E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,SAAS,WAAW,EACpB,uCAIG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,KAC9D,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCpD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,aAAa,MAAM,EACnB,WAAW,MAAM,KAClB,OAAO,CAAC,OAAO,CAmBjB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,WAAW,MAAM,EACjB,KAAK,MAAM,KACZ,OAAO,CAAC;IAAE,gBAAgB,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA6BtD,CAAC"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/auth-grant/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,eAAO,MAAM,gBAAgB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAgB/E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,SAAS,WAAW,EACpB,uCAIG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,KAC9D,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCpD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,aAAa,MAAM,EACnB,WAAW,MAAM,KAClB,OAAO,CAAC,OAAO,CAmBjB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,WAAW,MAAM,EACjB,KAAK,MAAM,KACZ,OAAO,CAAC;IAAE,gBAAgB,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA8BtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-activity/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAQ7D,eAAO,MAAM,wBAAwB,GACjC,QAAQ,2BAA2B,KACpC,OAAO,CAAC,MAAM,CAoDhB,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-activity/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAQ7D,eAAO,MAAM,wBAAwB,GACjC,QAAQ,2BAA2B,KACpC,OAAO,CAAC,MAAM,CAqDhB,CAAC"}
@@ -0,0 +1,18 @@
1
+ export type CredentialRefreshEmailDeliveryState = 'claimed' | 'delivered' | 'failed';
2
+ export declare const claimCredentialRefreshEmailDelivery: (params: {
3
+ refreshId: string;
4
+ windowKey: string;
5
+ }) => Promise<"claimed" | "duplicate">;
6
+ export declare const finalizeCredentialRefreshEmailDelivery: (params: {
7
+ refreshId: string;
8
+ windowKey: string;
9
+ state: Extract<CredentialRefreshEmailDeliveryState, "delivered" | "failed">;
10
+ }) => Promise<void>;
11
+ export declare const getCredentialRefreshEmailDelivery: (refreshId: string, windowKey: string) => Promise<{
12
+ deliveryKey: string;
13
+ refreshId: string;
14
+ windowKey: string;
15
+ state: CredentialRefreshEmailDeliveryState;
16
+ attempts: number;
17
+ } | null>;
18
+ //# sourceMappingURL=email-delivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-delivery.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/email-delivery.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,mCAAmC,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAkBrF,eAAO,MAAM,mCAAmC,GAAU,QAAQ;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,KAAG,OAAO,CAAC,SAAS,GAAG,WAAW,CA6BlC,CAAC;AAGF,eAAO,MAAM,sCAAsC,GAAU,QAAQ;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,mCAAmC,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAC;CAC/E,KAAG,OAAO,CAAC,IAAI,CASf,CAAC;AAGF,eAAO,MAAM,iCAAiC,GAC1C,WAAW,MAAM,EACjB,WAAW,MAAM,KAClB,OAAO,CAAC;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,mCAAmC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAmBP,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './create';
2
+ export * from './email-delivery';
2
3
  export * from './read';
3
4
  export * from './update';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/read.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,uBAAuB,EAEvB,4BAA4B,EAE5B,8BAA8B,EAEjC,MAAM,0BAA0B,CAAC;AAgBlC,eAAO,MAAM,oBAAoB,GAC7B,WAAW,MAAM,KAClB,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAWxC,CAAC;AAGF,eAAO,MAAM,wBAAwB,GACjC,WAAW,MAAM,KAClB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAY7C,CAAC;AAGF,eAAO,MAAM,2BAA2B,GACpC,WAAW,MAAM,EACjB,SAAS,MAAM,KAChB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAY7C,CAAC;AAGF,eAAO,MAAM,2CAA2C,GACpD,WAAW,MAAM,EACjB,gBAAgB,MAAM,KACvB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAW7C,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAE9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC7C,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAAC,CAAC,IAC3C;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAkBxF,eAAO,MAAM,iCAAiC,GAC1C,WAAW,MAAM,KAClB,OAAO,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,CAqBzE,CAAC;AAGF,eAAO,MAAM,oCAAoC,GAC7C,WAAW,MAAM,EACjB,SAAS,MAAM,KAChB,OAAO,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,CAqBzE,CAAC;AAGF,eAAO,MAAM,qCAAqC,GAC9C,WAAW,MAAM,EACjB,UAAS,mCAAwC,KAClD,OAAO,CAAC,iCAAiC,CAAC,kCAAkC,CAAC,CA6D/E,CAAC;AAMF,eAAO,MAAM,4BAA4B,GACrC,WAAW,MAAM,EACjB,UAAS,mCAAwC,KAClD,OAAO,CAAC,kCAAkC,CAoD5C,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAE9C,QAAQ,EAAE,OAAO,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAUF,eAAO,MAAM,sCAAsC,GAC/C,WAAW,MAAM,KAClB,OAAO,CAAC,mCAAmC,GAAG,IAAI,CAoBpD,CAAC"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/read.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,uBAAuB,EAEvB,4BAA4B,EAE5B,8BAA8B,EAEjC,MAAM,0BAA0B,CAAC;AAgBlC,eAAO,MAAM,oBAAoB,GAC7B,WAAW,MAAM,KAClB,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAWxC,CAAC;AAGF,eAAO,MAAM,wBAAwB,GACjC,WAAW,MAAM,KAClB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAY7C,CAAC;AAGF,eAAO,MAAM,2BAA2B,GACpC,WAAW,MAAM,EACjB,SAAS,MAAM,KAChB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAY7C,CAAC;AAGF,eAAO,MAAM,2CAA2C,GACpD,WAAW,MAAM,EACjB,gBAAgB,MAAM,KACvB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAW7C,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAE9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC7C,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAAC,CAAC,IAC3C;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAkBxF,eAAO,MAAM,iCAAiC,GAC1C,WAAW,MAAM,KAClB,OAAO,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,CAqBzE,CAAC;AAGF,eAAO,MAAM,oCAAoC,GAC7C,WAAW,MAAM,EACjB,SAAS,MAAM,KAChB,OAAO,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,CAqBzE,CAAC;AAGF,eAAO,MAAM,qCAAqC,GAC9C,WAAW,MAAM,EACjB,UAAS,mCAAwC,KAClD,OAAO,CAAC,iCAAiC,CAAC,kCAAkC,CAAC,CA6D/E,CAAC;AAMF,eAAO,MAAM,4BAA4B,GACrC,WAAW,MAAM,EACjB,UAAS,mCAAwC,KAClD,OAAO,CAAC,kCAAkC,CA0D5C,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAE9C,QAAQ,EAAE,OAAO,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAUF,eAAO,MAAM,sCAAsC,GAC/C,WAAW,MAAM,KAClB,OAAO,CAAC,mCAAmC,GAAG,IAAI,CAoBpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/update.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,kCAAkC,EAElC,kCAAkC,EAClC,uBAAuB,EAEvB,sBAAsB,EACzB,MAAM,0BAA0B,CAAC;AAuDlC,eAAO,MAAM,4BAA4B,GACrC,QAAQ,kCAAkC,KAC3C,OAAO,CAAC,kCAAkC,CAuK5C,CAAC;AASF,eAAO,MAAM,mCAAmC,GAAU,QAAQ;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB,cAAc,EAAE,MAAM,CAAC;IAEvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CAyBf,CAAC;AAGF,eAAO,MAAM,yBAAyB,GAClC,WAAW,MAAM,EACjB,OAAO,sBAAsB,EAC7B,gBAAgB,sBAAsB,KACvC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAgBxC,CAAC;AAWF,eAAO,MAAM,8CAA8C,GACvD,kBAAkB,MAAM,EACxB,iBAAiB,MAAM,KACxB,OAAO,CAAC,OAAO,CAYjB,CAAC;AAOF,eAAO,MAAM,oCAAoC,GAC7C,kBAAkB,MAAM,KACzB,OAAO,CAAC,OAAO,CAYjB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/credential-refresh/update.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,kCAAkC,EAElC,kCAAkC,EAClC,uBAAuB,EAEvB,sBAAsB,EACzB,MAAM,0BAA0B,CAAC;AAuDlC,eAAO,MAAM,4BAA4B,GACrC,QAAQ,kCAAkC,KAC3C,OAAO,CAAC,kCAAkC,CA2K5C,CAAC;AASF,eAAO,MAAM,mCAAmC,GAAU,QAAQ;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB,cAAc,EAAE,MAAM,CAAC;IAEvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CAyBf,CAAC;AAGF,eAAO,MAAM,yBAAyB,GAClC,WAAW,MAAM,EACjB,OAAO,sBAAsB,EAC7B,gBAAgB,sBAAsB,KACvC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAgBxC,CAAC;AAWF,eAAO,MAAM,8CAA8C,GACvD,kBAAkB,MAAM,EACxB,iBAAiB,MAAM,KACxB,OAAO,CAAC,OAAO,CAYjB,CAAC;AAOF,eAAO,MAAM,oCAAoC,GAC7C,kBAAkB,MAAM,KACzB,OAAO,CAAC,OAAO,CAYjB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { InboxBatchReceipt, IssueInboxCredentialBatchItemResult } from '@learncard/types';
2
+ import type { BatchItem, BatchJob, BatchReplayStore, InboxDispatchLease } from '../../types/inbox-batch';
3
+ export declare const DAY = 86400000;
4
+ export declare const LEASE_MS = 360000;
5
+ export declare const ensureInboxBatchConstraints: () => Promise<void>;
6
+ export declare const createBatchJob: (input: {
7
+ issuer: string;
8
+ requestId?: string;
9
+ requestHash: string;
10
+ payload: string;
11
+ items: {
12
+ replayKey: string;
13
+ duplicate: boolean;
14
+ correlation?: string;
15
+ }[];
16
+ limit: number;
17
+ }) => Promise<InboxBatchReceipt>;
18
+ export declare const readBatchJob: (id: string, issuer: string) => Promise<{
19
+ job: BatchJob;
20
+ items: BatchItem[];
21
+ }>;
22
+ export declare const claimBatchItem: (id: string, owner: string) => Promise<{
23
+ job: BatchJob;
24
+ item: BatchItem;
25
+ } | undefined>;
26
+ export declare const markBatchIssuanceStarted: (id: string, owner: string) => Promise<void>;
27
+ export declare const batchReplayStore: (itemId: string, owner: string, replayKey: string) => BatchReplayStore;
28
+ export declare const finishBatchItem: (id: string, owner: string, result: IssueInboxCredentialBatchItemResult) => Promise<void>;
29
+ export declare const takeInboxDispatches: () => Promise<InboxDispatchLease[]>;
30
+ export declare const acknowledgeInboxDispatches: (leases: InboxDispatchLease[]) => Promise<void>;
31
+ export declare const deadLetterBatchItem: (id: string) => Promise<void>;
32
+ export declare const recoverInboxJobs: (deadline?: number) => Promise<void>;
33
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/inbox-batch/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mCAAmC,EAAE,MAAM,kBAAkB,CAAC;AAG/F,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGnG,eAAO,MAAM,GAAG,WAAa,CAAC;AAC9B,eAAO,MAAM,QAAQ,SAAU,CAAC;AAIhC,eAAO,MAAM,2BAA2B,QAAO,OAAO,CAAC,IAAI,CAoC1D,CAAC;AAaF,eAAO,MAAM,cAAc,GAAU,OAAO;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;CACjB,KAAG,OAAO,CAAC,iBAAiB,CAkE5B,CAAC;AAEF,eAAO,MAAM,YAAY,GACrB,IAAI,MAAM,EACV,QAAQ,MAAM,KACf,OAAO,CAAC;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,CAW/C,CAAC;AAGF,eAAO,MAAM,cAAc,GACvB,IAAI,MAAM,EACV,OAAO,MAAM,KACd,OAAO,CAAC;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAgBnD,CAAC;AAsBP,eAAO,MAAM,wBAAwB,GAAU,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAIjF,CAAC;AAMP,eAAO,MAAM,gBAAgB,GACzB,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,WAAW,MAAM,KAClB,gBA2DD,CAAC;AAgBH,eAAO,MAAM,eAAe,GACxB,IAAI,MAAM,EACV,OAAO,MAAM,EACb,QAAQ,mCAAmC,KAC5C,OAAO,CAAC,IAAI,CA+Bd,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,kBAAkB,EAAE,CAanE,CAAC;AAEP,eAAO,MAAM,0BAA0B,GAAU,QAAQ,kBAAkB,EAAE,KAAG,OAAO,CAAC,IAAI,CAQ3F,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CA8B7D,CAAC;AAGP,eAAO,MAAM,gBAAgB,GAAU,iBAA8B,KAAG,OAAO,CAAC,IAAI,CAsFnF,CAAC"}
@@ -3,6 +3,11 @@ import { ProfileType } from '../../types/profile';
3
3
  export declare const DEFAULT_INBOX_EXPIRY_DAYS = 30;
4
4
  export declare const createInboxCredential: (input: {
5
5
  credential: string;
6
+ refresh?: {
7
+ aggregate: Record<string, unknown>;
8
+ issueKey: string;
9
+ requestDigest: string;
10
+ };
6
11
  delivered?: boolean;
7
12
  isSigned: boolean;
8
13
  isAccepted?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/inbox-credential/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAK/E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,qBAAqB,GAAU,OAAO;IAC/C,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,sBAAsB,CAAC;IAClC,aAAa,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;CACpF,KAAG,OAAO,CAAC,mBAAmB,CAsG9B,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/inbox-credential/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAK/E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,qBAAqB,GAAU,OAAO;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,sBAAsB,CAAC;IAClC,aAAa,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;CACpF,KAAG,OAAO,CAAC,mBAAmB,CAoI9B,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { InboxCredentialType, PublishCredentialRefreshResult } from '@learncard/types';
2
+ export declare const getInboxRefreshIssue: (issueKey: string) => Promise<{
3
+ inbox: InboxCredentialType;
4
+ requestDigest: string;
5
+ claimUrl?: string;
6
+ } | null>;
7
+ export declare const createPendingInboxRefresh: (params: {
8
+ inbox: Record<string, unknown>;
9
+ aggregate: Record<string, unknown>;
10
+ issueKey: string;
11
+ requestDigest: string;
12
+ }) => Promise<InboxCredentialType>;
13
+ export declare const getPendingInboxPublication: (refreshId: string, idempotencyKey?: string) => Promise<PublishCredentialRefreshResult | null>;
14
+ export declare const advancePendingInboxRefresh: (params: {
15
+ refreshId: string;
16
+ expectedVersion: number;
17
+ credential: string;
18
+ credentialName?: string;
19
+ materialDigest: string;
20
+ idempotencyKey?: string;
21
+ updateSummary?: string;
22
+ }) => Promise<PublishCredentialRefreshResult | null>;
23
+ export declare const bindPendingInboxRefresh: (params: {
24
+ inboxId: string;
25
+ refreshId: string;
26
+ expectedVersion: number;
27
+ holderDid: string;
28
+ holderProfileId?: string;
29
+ issuerProfileId: string;
30
+ root: Record<string, unknown>;
31
+ aggregate: Record<string, unknown>;
32
+ deliveryCredential: string;
33
+ deliveryExpiresAt: string;
34
+ accepted: boolean;
35
+ boostId?: string;
36
+ }) => Promise<boolean>;
37
+ export declare const getInboxRefreshSnapshot: (inboxId: string) => Promise<{
38
+ inbox: any;
39
+ aggregate: {
40
+ refreshId: string;
41
+ issuerProfileId: string;
42
+ issuerDid: string;
43
+ credentialId: string;
44
+ state: "active" | "revoked" | "pending_holder" | "awaiting_claim";
45
+ currentVersion: number;
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ inboxCredentialId?: string | undefined;
49
+ inboxCredentialStatus?: string | undefined;
50
+ holderProfileId?: string | undefined;
51
+ holderDid?: string | undefined;
52
+ etag?: string | undefined;
53
+ materialDigest?: string | undefined;
54
+ rootMaterialDigest?: string | undefined;
55
+ credentialStatusDigest?: string | undefined;
56
+ credentialSubjectDigest?: string | undefined;
57
+ boostId?: string | undefined;
58
+ signingMode?: "issuer-signed" | "signing-authority" | undefined;
59
+ idempotencyKey?: string | undefined;
60
+ updateSummary?: string | undefined;
61
+ credentialDisplayName?: string | undefined;
62
+ lastPublishedAt?: string | undefined;
63
+ notificationWindowKey?: string | undefined;
64
+ lastNotificationId?: string | undefined;
65
+ lastNotificationAt?: string | undefined;
66
+ initialNotificationSentAt?: string | undefined;
67
+ initialNotificationSuppressed?: boolean | undefined;
68
+ };
69
+ } | null>;
70
+ export declare const recordInboxRefreshClaimUrl: (id: string, claimUrl: string) => Promise<string>;
71
+ //# sourceMappingURL=refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/inbox-credential/refresh.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAG5F,eAAO,MAAM,oBAAoB,GAC7B,UAAU,MAAM,KACjB,OAAO,CAAC;IACP,KAAK,EAAE,mBAAmB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAaP,CAAC;AAGF,eAAO,MAAM,yBAAyB,GAAU,QAAQ;IACpD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,mBAAmB,CAuB9B,CAAC;AAGF,eAAO,MAAM,0BAA0B,GACnC,WAAW,MAAM,EACjB,iBAAiB,MAAM,KACxB,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAe/C,CAAC;AAGF,eAAO,MAAM,0BAA0B,GAAU,QAAQ;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,KAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CA6ChD,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAU,QAAQ;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,OAAO,CAAC,OAAO,CAwClB,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAU,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAiB5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,IAAI,MAAM,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAQ7F,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { InboxCredentialType } from '@learncard/types';
2
2
  import { InboxDelivery } from '../../types/inbox-delivery';
3
- export declare const updateInboxCredential: (id: string, updates: Partial<Omit<InboxCredentialType, "id" | "createdAt" | "credential">>) => Promise<InboxCredentialType | null>;
3
+ export declare const updateInboxCredential: (id: string, updates: Partial<Omit<InboxCredentialType, "id" | "createdAt" | "credential" | "refresh">>) => Promise<InboxCredentialType | null>;
4
4
  export declare const finalizeAndWipeInboxCredential: (id: string, delivery: InboxDelivery, { isAccepted }?: {
5
5
  isAccepted?: boolean;
6
6
  }) => Promise<InboxCredentialType | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/inbox-credential/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACH,aAAa,EAGhB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,qBAAqB,GAC9B,IAAI,MAAM,EACV,SAAS,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC,KAC/E,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAcpC,CAAC;AAGF,eAAO,MAAM,8BAA8B,GACvC,IAAI,MAAM,EACV,UAAU,aAAa,EACvB,iBAAuB;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,KACrD,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAsCpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAC/B,cAAoC,KACrC,OAAO,CAAC,MAAM,CAyBhB,CAAC;AAKF,eAAO,MAAM,0BAA0B,GACnC,cAAoC,KACrC,OAAO,CAAC,MAAM,CAWhB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/inbox-credential/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACH,aAAa,EAGhB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,qBAAqB,GAC9B,IAAI,MAAM,EACV,SAAS,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC,KAC3F,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAcpC,CAAC;AAGF,eAAO,MAAM,8BAA8B,GACvC,IAAI,MAAM,EACV,UAAU,aAAa,EACvB,iBAAuB;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,KACrD,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAsCpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAC/B,cAAoC,KACrC,OAAO,CAAC,MAAM,CAyBhB,CAAC;AAKF,eAAO,MAAM,0BAA0B,GACnC,cAAoC,KACrC,OAAO,CAAC,MAAM,CAWhB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Cache } from './index';
2
+ export declare const testAtomicCacheCounter: (cache: Cache) => void;
3
+ //# sourceMappingURL=atomic-counter.test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-counter.test-helpers.d.ts","sourceRoot":"","sources":["../../src/cache/atomic-counter.test-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,eAAO,MAAM,sBAAsB,GAAI,OAAO,KAAK,KAAG,IAsBrD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=atomic-counter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-counter.test.d.ts","sourceRoot":"","sources":["../../src/cache/atomic-counter.test.ts"],"names":[],"mappings":""}
@@ -12,7 +12,7 @@ export type Cache = {
12
12
  ttl: (key: RedisKey) => Promise<number | undefined>;
13
13
  rpush: (key: RedisKey, ...values: RedisValue[]) => Promise<number | undefined>;
14
14
  lrange: (key: RedisKey, start: number, stop: number) => Promise<string[] | undefined>;
15
- incr: (key: RedisKey, ttl?: number) => Promise<number | undefined>;
15
+ incr: (key: RedisKey, ttl?: number, amount?: number) => Promise<number | undefined>;
16
16
  };
17
17
  export declare const getCache: () => Cache;
18
18
  declare const _default: Cache;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAoB,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAiCnE,MAAM,MAAM,KAAK,GAAG;IAEhB,IAAI,EAAE,aAAa,CAAC;IAGpB,KAAK,CAAC,EAAE,KAAK,CAAC;IAMd,GAAG,EAAE,CACD,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,UAAU,EACjB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EACpB,OAAO,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAM/B,IAAI,EAAE,CACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAClC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAG/B,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAG7F,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAG9D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;IAG3D,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAG1D,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAGpD,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAG/E,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAOtF,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACtE,CAAC;AAKF,eAAO,MAAM,QAAQ,QAAO,KAwL3B,CAAC;;AAEF,wBAA0B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAoB,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAiCnE,MAAM,MAAM,KAAK,GAAG;IAEhB,IAAI,EAAE,aAAa,CAAC;IAGpB,KAAK,CAAC,EAAE,KAAK,CAAC;IAMd,GAAG,EAAE,CACD,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,UAAU,EACjB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EACpB,OAAO,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAM/B,IAAI,EAAE,CACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAClC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAG/B,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAG7F,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAG9D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;IAG3D,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAG1D,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAGpD,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAG/E,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAOtF,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvF,CAAC;AAKF,eAAO,MAAM,QAAQ,QAAO,KAoM3B,CAAC;;AAEF,wBAA0B"}
@@ -24,6 +24,9 @@ export declare const brainServiceEnvironmentShape: {
24
24
  OIDC_EXPECTED_AUDIENCE: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
25
25
  AWS_REGION: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
26
26
  NOTIFICATIONS_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
27
+ INBOX_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
28
+ INBOX_DEAD_LETTER_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
29
+ INBOX_QUEUE_ENDPOINT: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
27
30
  NOTIFICATIONS_QUEUE_POLL_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
28
31
  NOTIFICATIONS_SERVICE_WEBHOOK_URL: z.ZodUnion<[z.ZodPreprocess<z.ZodOptional<z.ZodURL>>, z.ZodLiteral<"false">]>;
29
32
  NOTIFICATIONS_SERVICE_PORT: z.ZodPreprocess<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
@@ -93,6 +96,8 @@ export declare const brainServiceEnvironmentShape: {
93
96
  true: "true";
94
97
  false: "false";
95
98
  }>, z.ZodTransform<boolean, "0" | "1" | "false" | "true">>>>>;
99
+ INBOX_BATCH_ITEMS_PER_HOUR: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
100
+ AWS_LAMBDA_FUNCTION_NAME: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
96
101
  ENABLE_BENCH_ROUTES: z.ZodDefault<z.ZodPreprocess<z.ZodOptional<z.ZodPipe<z.ZodEnum<{
97
102
  0: "0";
98
103
  1: "1";
@@ -184,6 +189,9 @@ export declare const brainServiceEnvironmentSchema: z.ZodPipe<z.ZodObject<{
184
189
  OIDC_EXPECTED_AUDIENCE: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
185
190
  AWS_REGION: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
186
191
  NOTIFICATIONS_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
192
+ INBOX_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
193
+ INBOX_DEAD_LETTER_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
194
+ INBOX_QUEUE_ENDPOINT: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
187
195
  NOTIFICATIONS_QUEUE_POLL_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
188
196
  NOTIFICATIONS_SERVICE_WEBHOOK_URL: z.ZodUnion<[z.ZodPreprocess<z.ZodOptional<z.ZodURL>>, z.ZodLiteral<"false">]>;
189
197
  NOTIFICATIONS_SERVICE_PORT: z.ZodPreprocess<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
@@ -253,6 +261,8 @@ export declare const brainServiceEnvironmentSchema: z.ZodPipe<z.ZodObject<{
253
261
  true: "true";
254
262
  false: "false";
255
263
  }>, z.ZodTransform<boolean, "0" | "1" | "false" | "true">>>>>;
264
+ INBOX_BATCH_ITEMS_PER_HOUR: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
265
+ AWS_LAMBDA_FUNCTION_NAME: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
256
266
  ENABLE_BENCH_ROUTES: z.ZodDefault<z.ZodPreprocess<z.ZodOptional<z.ZodPipe<z.ZodEnum<{
257
267
  0: "0";
258
268
  1: "1";
@@ -357,6 +367,9 @@ export declare const brainServiceEnvironmentSchema: z.ZodPipe<z.ZodObject<{
357
367
  OIDC_EXPECTED_AUDIENCE?: string | undefined;
358
368
  AWS_REGION?: string | undefined;
359
369
  NOTIFICATIONS_QUEUE_URL?: string | undefined;
370
+ INBOX_QUEUE_URL?: string | undefined;
371
+ INBOX_DEAD_LETTER_QUEUE_URL?: string | undefined;
372
+ INBOX_QUEUE_ENDPOINT?: string | undefined;
360
373
  NOTIFICATIONS_QUEUE_POLL_URL?: string | undefined;
361
374
  NOTIFICATIONS_SERVICE_WEBHOOK_URL?: string | undefined;
362
375
  BRAIN_SERVICE_REGISTRY_URL?: string | undefined;
@@ -394,6 +407,8 @@ export declare const brainServiceEnvironmentSchema: z.ZodPipe<z.ZodObject<{
394
407
  SKILL_SEMANTIC_SEARCH_RATE_LIMIT_PER_MIN?: number | undefined;
395
408
  BITSTRING_STATUS_LIST_SIZE?: number | undefined;
396
409
  CREDENTIAL_REFRESH_DIGEST_SECRET?: string | undefined;
410
+ INBOX_BATCH_ITEMS_PER_HOUR?: string | undefined;
411
+ AWS_LAMBDA_FUNCTION_NAME?: string | undefined;
397
412
  }, {
398
413
  NODE_ENV: "development" | "test" | "production";
399
414
  PORT: number;
@@ -431,6 +446,9 @@ export declare const brainServiceEnvironmentSchema: z.ZodPipe<z.ZodObject<{
431
446
  OIDC_EXPECTED_AUDIENCE?: string | undefined;
432
447
  AWS_REGION?: string | undefined;
433
448
  NOTIFICATIONS_QUEUE_URL?: string | undefined;
449
+ INBOX_QUEUE_URL?: string | undefined;
450
+ INBOX_DEAD_LETTER_QUEUE_URL?: string | undefined;
451
+ INBOX_QUEUE_ENDPOINT?: string | undefined;
434
452
  NOTIFICATIONS_QUEUE_POLL_URL?: string | undefined;
435
453
  NOTIFICATIONS_SERVICE_WEBHOOK_URL?: string | undefined;
436
454
  NOTIFICATIONS_SERVICE_PORT?: number | undefined;
@@ -469,6 +487,8 @@ export declare const brainServiceEnvironmentSchema: z.ZodPipe<z.ZodObject<{
469
487
  SKILL_SEMANTIC_SEARCH_RATE_LIMIT_PER_MIN?: number | undefined;
470
488
  BITSTRING_STATUS_LIST_SIZE?: number | undefined;
471
489
  CREDENTIAL_REFRESH_DIGEST_SECRET?: string | undefined;
490
+ INBOX_BATCH_ITEMS_PER_HOUR?: string | undefined;
491
+ AWS_LAMBDA_FUNCTION_NAME?: string | undefined;
472
492
  }>>;
473
493
  declare const notificationRuntimeEnvironmentSchema: z.ZodPipe<z.ZodObject<{
474
494
  NODE_ENV: z.ZodDefault<z.ZodEnum<{
@@ -529,6 +549,27 @@ declare const credentialRefreshRuntimeEnvironmentSchema: z.ZodObject<{
529
549
  }, z.core.$strip>;
530
550
  export type CredentialRefreshRuntimeEnvironment = z.output<typeof credentialRefreshRuntimeEnvironmentSchema>;
531
551
  export declare const getCredentialRefreshRuntimeEnvironment: () => CredentialRefreshRuntimeEnvironment;
552
+ declare const inboxBatchRuntimeEnvironmentSchema: z.ZodObject<{
553
+ INBOX_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
554
+ INBOX_DEAD_LETTER_QUEUE_URL: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
555
+ INBOX_QUEUE_ENDPOINT: z.ZodPreprocess<z.ZodOptional<z.ZodURL>>;
556
+ AWS_REGION: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
557
+ NODE_ENV: z.ZodDefault<z.ZodEnum<{
558
+ development: "development";
559
+ test: "test";
560
+ production: "production";
561
+ }>>;
562
+ IS_OFFLINE: z.ZodDefault<z.ZodPreprocess<z.ZodOptional<z.ZodPipe<z.ZodEnum<{
563
+ 0: "0";
564
+ 1: "1";
565
+ true: "true";
566
+ false: "false";
567
+ }>, z.ZodTransform<boolean, "0" | "1" | "false" | "true">>>>>;
568
+ AWS_LAMBDA_FUNCTION_NAME: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
569
+ INBOX_BATCH_ITEMS_PER_HOUR: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
570
+ }, z.core.$strip>;
571
+ export type InboxBatchRuntimeEnvironment = z.output<typeof inboxBatchRuntimeEnvironmentSchema>;
572
+ export declare const getInboxBatchRuntimeEnvironment: () => InboxBatchRuntimeEnvironment;
532
573
  export type BrainServiceEnvironment = z.output<typeof brainServiceEnvironmentSchema>;
533
574
  export declare const parseBrainServiceEnvironment: (raw: Record<string, unknown>, source?: string) => BrainServiceEnvironment;
534
575
  export declare const environment: {
@@ -569,6 +610,9 @@ export declare const environment: {
569
610
  OIDC_EXPECTED_AUDIENCE?: string | undefined;
570
611
  AWS_REGION?: string | undefined;
571
612
  NOTIFICATIONS_QUEUE_URL?: string | undefined;
613
+ INBOX_QUEUE_URL?: string | undefined;
614
+ INBOX_DEAD_LETTER_QUEUE_URL?: string | undefined;
615
+ INBOX_QUEUE_ENDPOINT?: string | undefined;
572
616
  NOTIFICATIONS_QUEUE_POLL_URL?: string | undefined;
573
617
  NOTIFICATIONS_SERVICE_WEBHOOK_URL?: string | undefined;
574
618
  BRAIN_SERVICE_REGISTRY_URL?: string | undefined;
@@ -606,6 +650,8 @@ export declare const environment: {
606
650
  SKILL_SEMANTIC_SEARCH_RATE_LIMIT_PER_MIN?: number | undefined;
607
651
  BITSTRING_STATUS_LIST_SIZE?: number | undefined;
608
652
  CREDENTIAL_REFRESH_DIGEST_SECRET?: string | undefined;
653
+ INBOX_BATCH_ITEMS_PER_HOUR?: string | undefined;
654
+ AWS_LAMBDA_FUNCTION_NAME?: string | undefined;
609
655
  };
610
656
  export {};
611
657
  //# sourceMappingURL=environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EhB,CAAC;AAE1B,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDpC,CAAC;AAEP,QAAA,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcnC,CAAC;AAER,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAEnG,eAAO,MAAM,iCAAiC,QAAO,8BAK/C,CAAC;AAEP,QAAA,MAAM,yCAAyC;;;;;;;;;;;;;;;iBAsBzC,CAAC;AAEP,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CACtD,OAAO,yCAAyC,CACnD,CAAC;AAGF,eAAO,MAAM,sCAAsC,QAAO,mCAKpD,CAAC;AAEP,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAErF,eAAO,MAAM,4BAA4B,GACrC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,eAA8B,KAC/B,uBAoBF,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4C,CAAC"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFhB,CAAC;AAE1B,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDpC,CAAC;AAEP,QAAA,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcnC,CAAC;AAER,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAEnG,eAAO,MAAM,iCAAiC,QAAO,8BAK/C,CAAC;AAEP,QAAA,MAAM,yCAAyC;;;;;;;;;;;;;;;iBAsBzC,CAAC;AAEP,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CACtD,OAAO,yCAAyC,CACnD,CAAC;AAGF,eAAO,MAAM,sCAAsC,QAAO,mCAKpD,CAAC;AAEP,QAAA,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;iBAStC,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAG/F,eAAO,MAAM,+BAA+B,QAAO,4BAK7C,CAAC;AAEP,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAErF,eAAO,MAAM,4BAA4B,GACrC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,eAA8B,KAC/B,uBAoBF,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"credential-refresh.d.ts","sourceRoot":"","sources":["../src/credential-refresh.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,kBAAkB,EAAgC,MAAM,SAAS,CAAC;AAgBpF,OAAO,EACH,8BAA8B,EAKjC,MAAM,0CAA0C,CAAC;AAclD,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,eAAO,MAAM,0BAA0B,QAAO,OACyB,CAAC;AAExE,MAAM,MAAM,8BAA8B,GAAG;IAEzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AA+MF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAC3D,8BAA8B,CAkKjC,CAAC;AAEF,eAAO,MAAM,GAAG;;CAAY,CAAC;AAK7B,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"credential-refresh.d.ts","sourceRoot":"","sources":["../src/credential-refresh.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,kBAAkB,EAAgC,MAAM,SAAS,CAAC;AAgBpF,OAAO,EACH,8BAA8B,EAKjC,MAAM,0CAA0C,CAAC;AAclD,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,eAAO,MAAM,0BAA0B,QAAO,OACyB,CAAC;AAExE,MAAM,MAAM,8BAA8B,GAAG;IAEzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAmNF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAC3D,8BAA8B,CAkKjC,CAAC;AAEF,eAAO,MAAM,GAAG;;CAAY,CAAC;AAK7B,eAAe,GAAG,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { LogCredentialActivityParams, CredentialActivityEventType, CredentialActivityRecipientType, CredentialActivitySourceType } from '../types/activity';
2
2
  export declare const logCredentialActivity: (params: LogCredentialActivityParams) => Promise<string>;
3
3
  export declare const logCredentialSent: (params: {
4
+ onBehalfOf?: string;
4
5
  actorProfileId?: string;
5
6
  recipientType: CredentialActivityRecipientType;
6
7
  recipientIdentifier: string;
@@ -15,6 +16,7 @@ export declare const logCredentialSent: (params: {
15
16
  activityId?: string;
16
17
  }) => Promise<string>;
17
18
  export declare const logCredentialDelivered: (params: {
19
+ onBehalfOf?: string;
18
20
  activityId: string;
19
21
  actorProfileId: string;
20
22
  recipientType: CredentialActivityRecipientType;
@@ -28,6 +30,7 @@ export declare const logCredentialDelivered: (params: {
28
30
  metadata?: Record<string, unknown>;
29
31
  }) => Promise<string>;
30
32
  export declare const logCredentialClaimed: (params: {
33
+ onBehalfOf?: string;
31
34
  activityId?: string;
32
35
  actorProfileId: string;
33
36
  recipientType: CredentialActivityRecipientType;
@@ -50,6 +53,7 @@ export declare const logCredentialExpired: (params: {
50
53
  source: CredentialActivitySourceType;
51
54
  }) => Promise<string>;
52
55
  export declare const logCredentialFailed: (params: {
56
+ onBehalfOf?: string;
53
57
  activityId?: string;
54
58
  actorProfileId: string;
55
59
  recipientType: CredentialActivityRecipientType;
@@ -1 +1 @@
1
- {"version":3,"file":"activity.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/activity.helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/activity.helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contact-method.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/contact-method.helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AASvE,eAAO,MAAM,sCAAsC,GAC/C,iBAAiB,MAAM,EACvB,MAAM,OAAO,GAAG,OAAO,EACvB,iBAAa,EACb,oBAAoB,cAAc,GAAG,MAAM,GAAG,SAAS,KACxD,OAAO,CAAC,MAAM,CAchB,CAAC;AAEF,eAAO,MAAM,sCAAsC,GAC/C,OAAO,MAAM,KACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAUvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,iBAAiB,MAAM,EACvB,iBAAa,EACb,iCAA+B,KAChC,OAAO,CAAC,MAAM,CAgBhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAgB1F,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAgB9E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAUhD,CAAC"}
1
+ {"version":3,"file":"contact-method.helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/contact-method.helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AASvE,eAAO,MAAM,sCAAsC,GAC/C,iBAAiB,MAAM,EACvB,MAAM,OAAO,GAAG,OAAO,EACvB,iBAAa,EACb,oBAAoB,cAAc,GAAG,MAAM,GAAG,SAAS,KACxD,OAAO,CAAC,MAAM,CAchB,CAAC;AAEF,eAAO,MAAM,sCAAsC,GAC/C,OAAO,MAAM,KACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAUvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,iBAAiB,MAAM,EACvB,iBAAa,EACb,iCAA+B,KAChC,OAAO,CAAC,MAAM,CAgBhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAgB1F,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAgB9E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAShD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contact-method.helpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact-method.helpers.test.d.ts","sourceRoot":"","sources":["../../src/helpers/contact-method.helpers.test.ts"],"names":[],"mappings":""}