@opensyber/tokenforge 1.0.0 → 1.1.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 (162) hide show
  1. package/README.md +130 -11
  2. package/dist/adapters/astro.d.ts +9 -0
  3. package/dist/adapters/astro.d.ts.map +1 -1
  4. package/dist/adapters/astro.js +13 -0
  5. package/dist/adapters/astro.js.map +1 -1
  6. package/dist/adapters/cloud-v2-bridge.d.ts +8 -0
  7. package/dist/adapters/cloud-v2-bridge.d.ts.map +1 -0
  8. package/dist/adapters/cloud-v2-bridge.js +24 -0
  9. package/dist/adapters/cloud-v2-bridge.js.map +1 -0
  10. package/dist/adapters/express.d.ts +15 -2
  11. package/dist/adapters/express.d.ts.map +1 -1
  12. package/dist/adapters/express.js +38 -0
  13. package/dist/adapters/express.js.map +1 -1
  14. package/dist/adapters/fastify.d.ts +15 -6
  15. package/dist/adapters/fastify.d.ts.map +1 -1
  16. package/dist/adapters/fastify.js +38 -0
  17. package/dist/adapters/fastify.js.map +1 -1
  18. package/dist/adapters/hono.d.ts +12 -0
  19. package/dist/adapters/hono.d.ts.map +1 -1
  20. package/dist/adapters/hono.js +13 -0
  21. package/dist/adapters/hono.js.map +1 -1
  22. package/dist/adapters/index.d.ts.map +1 -1
  23. package/dist/adapters/index.js.map +1 -1
  24. package/dist/adapters/nextjs.d.ts +15 -0
  25. package/dist/adapters/nextjs.d.ts.map +1 -1
  26. package/dist/adapters/nextjs.js +57 -30
  27. package/dist/adapters/nextjs.js.map +1 -1
  28. package/dist/adapters/sveltekit.d.ts +9 -0
  29. package/dist/adapters/sveltekit.d.ts.map +1 -1
  30. package/dist/adapters/sveltekit.js +13 -0
  31. package/dist/adapters/sveltekit.js.map +1 -1
  32. package/dist/client/action-signer.d.ts.map +1 -1
  33. package/dist/client/action-signer.js.map +1 -1
  34. package/dist/client/binding.d.ts.map +1 -1
  35. package/dist/client/binding.js.map +1 -1
  36. package/dist/client/cloud-device.d.ts +54 -0
  37. package/dist/client/cloud-device.d.ts.map +1 -0
  38. package/dist/client/cloud-device.js +301 -0
  39. package/dist/client/cloud-device.js.map +1 -0
  40. package/dist/client/crypto.d.ts.map +1 -1
  41. package/dist/client/crypto.js.map +1 -1
  42. package/dist/client/index.d.ts +1 -0
  43. package/dist/client/index.d.ts.map +1 -1
  44. package/dist/client/index.js +3 -1
  45. package/dist/client/index.js.map +1 -1
  46. package/dist/client/interceptor.d.ts.map +1 -1
  47. package/dist/client/interceptor.js +27 -3
  48. package/dist/client/interceptor.js.map +1 -1
  49. package/dist/client/signer.d.ts +23 -3
  50. package/dist/client/signer.d.ts.map +1 -1
  51. package/dist/client/signer.js +33 -5
  52. package/dist/client/signer.js.map +1 -1
  53. package/dist/client/storage.d.ts.map +1 -1
  54. package/dist/client/storage.js.map +1 -1
  55. package/dist/client/webauthn.d.ts.map +1 -1
  56. package/dist/client/webauthn.js.map +1 -1
  57. package/dist/protocol/v2.d.ts +23 -0
  58. package/dist/protocol/v2.d.ts.map +1 -0
  59. package/dist/protocol/v2.js +157 -0
  60. package/dist/protocol/v2.js.map +1 -0
  61. package/dist/react/index.d.ts.map +1 -1
  62. package/dist/react/index.js.map +1 -1
  63. package/dist/react/provider.d.ts.map +1 -1
  64. package/dist/react/provider.js.map +1 -1
  65. package/dist/server/action-verify.d.ts.map +1 -1
  66. package/dist/server/action-verify.js +1 -1
  67. package/dist/server/action-verify.js.map +1 -1
  68. package/dist/server/activity-histogram.d.ts +47 -0
  69. package/dist/server/activity-histogram.d.ts.map +1 -0
  70. package/dist/server/activity-histogram.js +76 -0
  71. package/dist/server/activity-histogram.js.map +1 -0
  72. package/dist/server/aitm-heuristics.d.ts.map +1 -1
  73. package/dist/server/aitm-heuristics.js.map +1 -1
  74. package/dist/server/bind-with-id-token.d.ts +55 -0
  75. package/dist/server/bind-with-id-token.d.ts.map +1 -0
  76. package/dist/server/bind-with-id-token.js +70 -0
  77. package/dist/server/bind-with-id-token.js.map +1 -0
  78. package/dist/server/bound-cookie.d.ts.map +1 -1
  79. package/dist/server/bound-cookie.js.map +1 -1
  80. package/dist/server/cbor.d.ts.map +1 -1
  81. package/dist/server/cbor.js.map +1 -1
  82. package/dist/server/cloud-bind.d.ts +42 -0
  83. package/dist/server/cloud-bind.d.ts.map +1 -0
  84. package/dist/server/cloud-bind.js +387 -0
  85. package/dist/server/cloud-bind.js.map +1 -0
  86. package/dist/server/cloud-middleware.d.ts +46 -0
  87. package/dist/server/cloud-middleware.d.ts.map +1 -0
  88. package/dist/server/cloud-middleware.js +344 -0
  89. package/dist/server/cloud-middleware.js.map +1 -0
  90. package/dist/server/cloud-verify.d.ts +30 -0
  91. package/dist/server/cloud-verify.d.ts.map +1 -0
  92. package/dist/server/cloud-verify.js +206 -0
  93. package/dist/server/cloud-verify.js.map +1 -0
  94. package/dist/server/dbsc-challenge.d.ts.map +1 -1
  95. package/dist/server/dbsc-challenge.js.map +1 -1
  96. package/dist/server/dbsc-endpoint.d.ts +20 -0
  97. package/dist/server/dbsc-endpoint.d.ts.map +1 -0
  98. package/dist/server/dbsc-endpoint.js +85 -0
  99. package/dist/server/dbsc-endpoint.js.map +1 -0
  100. package/dist/server/dbsc-verify.d.ts +32 -0
  101. package/dist/server/dbsc-verify.d.ts.map +1 -0
  102. package/dist/server/dbsc-verify.js +65 -0
  103. package/dist/server/dbsc-verify.js.map +1 -0
  104. package/dist/server/identity-profile.d.ts +18 -0
  105. package/dist/server/identity-profile.d.ts.map +1 -0
  106. package/dist/server/identity-profile.js +113 -0
  107. package/dist/server/identity-profile.js.map +1 -0
  108. package/dist/server/index.d.ts +10 -0
  109. package/dist/server/index.d.ts.map +1 -1
  110. package/dist/server/index.js +5 -0
  111. package/dist/server/index.js.map +1 -1
  112. package/dist/server/jws-verify.d.ts.map +1 -1
  113. package/dist/server/jws-verify.js.map +1 -1
  114. package/dist/server/middleware.d.ts +9 -0
  115. package/dist/server/middleware.d.ts.map +1 -1
  116. package/dist/server/middleware.js +60 -20
  117. package/dist/server/middleware.js.map +1 -1
  118. package/dist/server/oidc-verify.d.ts +16 -1
  119. package/dist/server/oidc-verify.d.ts.map +1 -1
  120. package/dist/server/oidc-verify.js +9 -1
  121. package/dist/server/oidc-verify.js.map +1 -1
  122. package/dist/server/policy.d.ts.map +1 -1
  123. package/dist/server/policy.js.map +1 -1
  124. package/dist/server/step-up-policy.d.ts.map +1 -1
  125. package/dist/server/step-up-policy.js.map +1 -1
  126. package/dist/server/storage/index.d.ts +3 -0
  127. package/dist/server/storage/index.d.ts.map +1 -0
  128. package/dist/server/storage/index.js +2 -0
  129. package/dist/server/storage/index.js.map +1 -0
  130. package/dist/server/storage/interface.d.ts +73 -0
  131. package/dist/server/storage/interface.d.ts.map +1 -0
  132. package/dist/server/storage/interface.js +2 -0
  133. package/dist/server/storage/interface.js.map +1 -0
  134. package/dist/server/storage/memory.d.ts +50 -0
  135. package/dist/server/storage/memory.d.ts.map +1 -0
  136. package/dist/server/storage/memory.js +121 -0
  137. package/dist/server/storage/memory.js.map +1 -0
  138. package/dist/server/webauthn-verify.d.ts.map +1 -1
  139. package/dist/server/webauthn-verify.js.map +1 -1
  140. package/dist/server/webhooks.d.ts.map +1 -1
  141. package/dist/server/webhooks.js.map +1 -1
  142. package/dist/shared/action-hash.d.ts.map +1 -1
  143. package/dist/shared/action-hash.js.map +1 -1
  144. package/dist/shared/identity.d.ts +45 -0
  145. package/dist/shared/identity.d.ts.map +1 -0
  146. package/dist/shared/identity.js +176 -0
  147. package/dist/shared/identity.js.map +1 -0
  148. package/dist/shared/types-internal.d.ts.map +1 -1
  149. package/dist/shared/types-internal.js.map +1 -1
  150. package/dist/shared/types.d.ts +47 -2
  151. package/dist/shared/types.d.ts.map +1 -1
  152. package/dist/shared/types.js +1 -0
  153. package/dist/shared/types.js.map +1 -1
  154. package/package.json +9 -47
  155. package/dist/server/trust-score-fixtures.d.ts +0 -9
  156. package/dist/server/trust-score-fixtures.d.ts.map +0 -1
  157. package/dist/server/trust-score-fixtures.js +0 -23
  158. package/dist/server/trust-score-fixtures.js.map +0 -1
  159. package/dist/server/webauthn-verify.test-helpers.d.ts +0 -8
  160. package/dist/server/webauthn-verify.test-helpers.d.ts.map +0 -1
  161. package/dist/server/webauthn-verify.test-helpers.js +0 -39
  162. package/dist/server/webauthn-verify.test-helpers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-histogram.d.ts","sourceRoot":"../src/","sources":["server/activity-histogram.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,MAAM,GACX,iBAAiB,CAKnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,GAClB,MAAM,CAiBR"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Activity Histogram — 24-bucket time-of-day anomaly detector.
3
+ *
4
+ * Tracks request counts per hour-of-day and scores how unusual the
5
+ * current hour is relative to the user's historical pattern.
6
+ *
7
+ * Storage key pattern: `tf:activity:{userId}`
8
+ */
9
+ /** Storage key prefix for activity histograms. */
10
+ export const ACTIVITY_KEY_PREFIX = 'tf:activity:';
11
+ /**
12
+ * Create an empty histogram with 24 zero-filled buckets.
13
+ * @returns A fresh ActivityHistogram with no recorded activity.
14
+ */
15
+ export function emptyHistogram() {
16
+ return { buckets: new Array(24).fill(0), totalRequests: 0 };
17
+ }
18
+ /**
19
+ * Record a request at the given hour, returning the updated histogram.
20
+ * Pure function — does not mutate the input.
21
+ * @param histogram - Current histogram state.
22
+ * @param hour - Hour of day (0-23).
23
+ * @returns New histogram with the incremented bucket.
24
+ */
25
+ export function recordActivity(histogram, hour) {
26
+ const h = Math.max(0, Math.min(23, Math.floor(hour)));
27
+ const buckets = [...histogram.buckets];
28
+ buckets[h] = (buckets[h] ?? 0) + 1;
29
+ return { buckets, totalRequests: histogram.totalRequests + 1 };
30
+ }
31
+ /**
32
+ * Score the current hour against the user's historical activity pattern.
33
+ *
34
+ * Returns 0-5 points:
35
+ * 5 — hour is within normal range (<=1 stddev from mean)
36
+ * 3 — hour is slightly unusual (1-2 stddev from mean)
37
+ * 1 — hour is very unusual (>2 stddev from mean)
38
+ * 0 — hour has zero historical requests AND histogram has >=30 total
39
+ *
40
+ * If totalRequests < 30, returns 5 (not enough data to penalize).
41
+ *
42
+ * @param histogram - The user's activity histogram.
43
+ * @param currentHour - Current hour of day (0-23).
44
+ * @returns Trust score contribution (0-5).
45
+ */
46
+ export function scoreTimeOfDay(histogram, currentHour) {
47
+ if (histogram.totalRequests < 30)
48
+ return 5;
49
+ const h = Math.max(0, Math.min(23, Math.floor(currentHour)));
50
+ const count = histogram.buckets[h];
51
+ if (count === 0)
52
+ return 0;
53
+ const { mean, stddev } = bucketStats(histogram.buckets);
54
+ if (stddev === 0)
55
+ return 5;
56
+ const deviations = Math.abs((count ?? 0) - mean) / stddev;
57
+ if (deviations <= 1)
58
+ return 5;
59
+ if (deviations <= 2)
60
+ return 3;
61
+ return 1;
62
+ }
63
+ /**
64
+ * Compute mean and standard deviation of non-zero buckets.
65
+ * @param buckets - 24-element array of request counts.
66
+ * @returns Object with mean and stddev of non-zero buckets.
67
+ */
68
+ function bucketStats(buckets) {
69
+ const nonZero = buckets.filter((b) => b > 0);
70
+ if (nonZero.length === 0)
71
+ return { mean: 0, stddev: 0 };
72
+ const mean = nonZero.reduce((a, b) => a + b, 0) / nonZero.length;
73
+ const variance = nonZero.reduce((sum, b) => sum + (b - mean) ** 2, 0) / nonZero.length;
74
+ return { mean, stddev: Math.sqrt(variance) };
75
+ }
76
+ //# sourceMappingURL=activity-histogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-histogram.js","sourceRoot":"../src/","sources":["server/activity-histogram.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,SAA4B,EAC5B,IAAY;IAEZ,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,SAA4B,EAC5B,WAAmB;IAEnB,IAAI,SAAS,CAAC,aAAa,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAExD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAE1D,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAiB;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAExD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACjE,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAExE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aitm-heuristics.d.ts","sourceRoot":"","sources":["../../src/server/aitm-heuristics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,eAAe,GACf,UAAU,GACV,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAID;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,GAAE,eAAoB,GACzB,WAAW,EAAE,CA0Ff;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAQ/D"}
1
+ {"version":3,"file":"aitm-heuristics.d.ts","sourceRoot":"../src/","sources":["server/aitm-heuristics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,eAAe,GACf,UAAU,GACV,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAID;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,GAAE,eAAoB,GACzB,WAAW,EAAE,CA0Ff;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAQ/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"aitm-heuristics.js","sourceRoot":"","sources":["../../src/server/aitm-heuristics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aitm-heuristics.js","sourceRoot":"../src/","sources":["server/aitm-heuristics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Server-side device bind using an IdP-issued ID token.
3
+ *
4
+ * The device keypair is generated in the browser and is non-extractable, so
5
+ * the public key must originate there. The *identity*, however, should not:
6
+ * a browser holds only a publishable key and can assert any user id. Relaying
7
+ * the bind through your own backend — which holds a secret API key and already
8
+ * knows who is signed in — is what makes the resulting identity trustworthy.
9
+ *
10
+ * With an ID token attached, TokenForge verifies it against the workforce
11
+ * app's JWKS and records a `verified` identity. Without one, the bind still
12
+ * succeeds but is graded `attested` rather than `verified`.
13
+ */
14
+ export interface BindWithIdTokenInput {
15
+ /** TokenForge API base, e.g. https://tokenforge-api.opensyber.cloud */
16
+ apiBase: string;
17
+ /** Secret `tf_` API key. Must never reach the browser. */
18
+ apiKey: string;
19
+ /** JWK exported from the browser's non-extractable device keypair. */
20
+ publicKey: string;
21
+ /** Your application's session identifier for this user. */
22
+ sessionId: string;
23
+ /** IdP-issued OIDC ID token. Omit for an `attested` bind. */
24
+ idToken?: string;
25
+ /** Workforce app the token was issued for. Required with `idToken`. */
26
+ workforceAppId?: string;
27
+ /** Your authenticated user id. Used when no ID token is supplied. */
28
+ userId?: string;
29
+ /** Optional device fingerprint from the browser SDK. */
30
+ fingerprint?: string;
31
+ /** Injected for tests. */
32
+ fetchImpl?: typeof fetch;
33
+ }
34
+ export type BindWithIdTokenResult = {
35
+ ok: true;
36
+ deviceId: string;
37
+ sessionId: string;
38
+ expiresAt: string;
39
+ trustScore: number;
40
+ } | {
41
+ ok: false;
42
+ status: number;
43
+ error: string;
44
+ };
45
+ /**
46
+ * Bind a device from your backend, attaching a verified identity when possible.
47
+ *
48
+ * @param input Connection details plus the browser-generated public key.
49
+ * @returns The created device session, or a structured failure. Never throws
50
+ * on an API error — network faults still reject.
51
+ * @throws {Error} When `idToken` is supplied without `workforceAppId`, which is
52
+ * always a caller mistake rather than a runtime condition.
53
+ */
54
+ export declare function bindDeviceWithIdToken(input: BindWithIdTokenInput): Promise<BindWithIdTokenResult>;
55
+ //# sourceMappingURL=bind-with-id-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-with-id-token.d.ts","sourceRoot":"../src/","sources":["server/bind-with-id-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAoDhC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Server-side device bind using an IdP-issued ID token.
3
+ *
4
+ * The device keypair is generated in the browser and is non-extractable, so
5
+ * the public key must originate there. The *identity*, however, should not:
6
+ * a browser holds only a publishable key and can assert any user id. Relaying
7
+ * the bind through your own backend — which holds a secret API key and already
8
+ * knows who is signed in — is what makes the resulting identity trustworthy.
9
+ *
10
+ * With an ID token attached, TokenForge verifies it against the workforce
11
+ * app's JWKS and records a `verified` identity. Without one, the bind still
12
+ * succeeds but is graded `attested` rather than `verified`.
13
+ */
14
+ /**
15
+ * Bind a device from your backend, attaching a verified identity when possible.
16
+ *
17
+ * @param input Connection details plus the browser-generated public key.
18
+ * @returns The created device session, or a structured failure. Never throws
19
+ * on an API error — network faults still reject.
20
+ * @throws {Error} When `idToken` is supplied without `workforceAppId`, which is
21
+ * always a caller mistake rather than a runtime condition.
22
+ */
23
+ export async function bindDeviceWithIdToken(input) {
24
+ if (input.idToken && !input.workforceAppId) {
25
+ throw new Error('workforceAppId is required when idToken is supplied');
26
+ }
27
+ if (!input.idToken && !input.userId) {
28
+ throw new Error('either idToken or userId must be supplied');
29
+ }
30
+ const doFetch = input.fetchImpl ?? fetch;
31
+ const body = {
32
+ publicKey: input.publicKey,
33
+ sessionId: input.sessionId,
34
+ };
35
+ if (input.fingerprint)
36
+ body.fingerprint = input.fingerprint;
37
+ if (input.idToken) {
38
+ body.idToken = input.idToken;
39
+ body.workforceAppId = input.workforceAppId;
40
+ // The verified subject from the token supersedes this, but the field is
41
+ // required by the API contract.
42
+ body.userId = input.userId ?? 'pending-idp-resolution';
43
+ }
44
+ else {
45
+ body.userId = input.userId;
46
+ // A server-relayed bind is an explicit identity assertion, not the SDK's
47
+ // cookie fallback.
48
+ body.userIdSource = 'declared';
49
+ }
50
+ const res = await doFetch(`${input.apiBase.replace(/\/+$/, '')}/v1/bind`, {
51
+ method: 'POST',
52
+ headers: {
53
+ Authorization: `Bearer ${input.apiKey}`,
54
+ 'Content-Type': 'application/json',
55
+ },
56
+ body: JSON.stringify(body),
57
+ });
58
+ const payload = (await res.json().catch(() => ({})));
59
+ if (!res.ok || !payload.data) {
60
+ return { ok: false, status: res.status, error: payload.error ?? 'bind_failed' };
61
+ }
62
+ return {
63
+ ok: true,
64
+ deviceId: payload.data.deviceId,
65
+ sessionId: payload.data.sessionId,
66
+ expiresAt: payload.data.expiresAt,
67
+ trustScore: payload.data.trustScore,
68
+ };
69
+ }
70
+ //# sourceMappingURL=bind-with-id-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-with-id-token.js","sourceRoot":"../src/","sources":["server/bind-with-id-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA2BH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA2B;IAE3B,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IACzC,MAAM,IAAI,GAA4B;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;IACF,IAAI,KAAK,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,wEAAwE;QACxE,gCAAgC;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,yEAAyE;QACzE,mBAAmB;QACnB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE;YACvC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAGlD,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;IAClF,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;QAC/B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;QACjC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;QACjC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;KACpC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bound-cookie.d.ts","sourceRoot":"","sources":["../../src/server/bound-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,WAAW,CAAC,CAetB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAShE;AAED,eAAO,MAAM,iBAAiB,sBAAc,CAAC"}
1
+ {"version":3,"file":"bound-cookie.d.ts","sourceRoot":"../src/","sources":["server/bound-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,WAAW,CAAC,CAetB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAShE;AAED,eAAO,MAAM,iBAAiB,sBAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bound-cookie.js","sourceRoot":"","sources":["../../src/server/bound-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAyBxC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC,EAAE;IAElC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK;QACL,IAAI;QACJ,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;QAC9B,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,cAAuB;IAC1E,OAAO,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,OAAO;QACL,GAAG,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE;QAChC,WAAW,MAAM,CAAC,aAAa,EAAE;QACjC,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,iBAAiB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE7C,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,WAA+B;IAC5E,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,OAAO,gBAAgB,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"bound-cookie.js","sourceRoot":"../src/","sources":["server/bound-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAyBxC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC,EAAE;IAElC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK;QACL,IAAI;QACJ,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;QAC9B,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,cAAuB;IAC1E,OAAO,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,OAAO;QACL,GAAG,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE;QAChC,WAAW,MAAM,CAAC,aAAa,EAAE;QACjC,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,iBAAiB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE7C,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,WAA+B;IAC5E,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,OAAO,gBAAgB,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cbor.d.ts","sourceRoot":"","sources":["../../src/server/cbor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAI9B,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAKrE"}
1
+ {"version":3,"file":"cbor.d.ts","sourceRoot":"../src/","sources":["server/cbor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAI9B,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAKrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"cbor.js","sourceRoot":"","sources":["../../src/server/cbor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cbor.js","sourceRoot":"../src/","sources":["server/cbor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH,qEAAqE;AACrE,MAAM,UAAU,UAAU,CAAC,KAA+B;IACxD,MAAM,GAAG,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,KAAK,GAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,CAAc,EAAE,MAAc;IAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,CAAc;IAChC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,GAAG,EAAE,CAAC;IACR,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;IAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEhC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAyB,eAAe;QACtE,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAY,eAAe;QACvE,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAe,cAAc;QACtE,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,cAAc,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAAc,EAAE,IAAY;IAC9C,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACX,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACX,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kDAAkD,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,CAAc,EAAE,CAAS;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,CAAc,EAAE,CAAS;IAC1C,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,CAAc,EAAE,CAAS;IACxC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;IACtD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type TokenForgeIdentity } from '../shared/identity.js';
2
+ export type TokenForgeCloudMode = 'off' | 'monitor' | 'enforce';
3
+ export interface CloudSession {
4
+ sessionId: string;
5
+ userId: string;
6
+ localDeviceId?: string;
7
+ correlationId?: string;
8
+ }
9
+ export type CloudSessionResolver = (request: Request) => Promise<CloudSession> | CloudSession;
10
+ export type CloudIdentityResolver = (request: Request, session: CloudSession) => Promise<TokenForgeIdentity | null> | TokenForgeIdentity | null;
11
+ export interface CloudBinding {
12
+ localDeviceId: string;
13
+ cloudDeviceId: string;
14
+ projectId: string;
15
+ sessionId: string;
16
+ correlationId: string;
17
+ publicKeyFingerprint: string;
18
+ publicKeyJwk: string;
19
+ expiresAt: string;
20
+ }
21
+ export interface CloudBindingStore {
22
+ getByLocalDeviceId(localDeviceId: string): Promise<CloudBinding | null>;
23
+ put(binding: CloudBinding): Promise<void>;
24
+ }
25
+ export interface CloudBindHandlerOptions {
26
+ apiKey?: string;
27
+ apiUrl?: string;
28
+ mode: TokenForgeCloudMode;
29
+ bindingStore: CloudBindingStore;
30
+ resolveSession: CloudSessionResolver;
31
+ resolveIdentity?: CloudIdentityResolver;
32
+ fetch?: typeof fetch;
33
+ requestTimeoutMs?: number;
34
+ maxRequestBytes?: number;
35
+ maxResponseBytes?: number;
36
+ }
37
+ /**
38
+ * Framework-neutral Cloud v2 bind handler. Mount the returned function behind
39
+ * the application's normal authenticated session endpoint.
40
+ */
41
+ export declare function createTokenForgeCloudBindHandler(options: CloudBindHandlerOptions): (request: Request) => Promise<Response>;
42
+ //# sourceMappingURL=cloud-bind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-bind.d.ts","sourceRoot":"../src/","sources":["server/cloud-bind.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAsB/B,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAC9F,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACxE,GAAG,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,YAAY,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,oBAAoB,CAAC;IACrC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAQD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,uBAAuB,GAC/B,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA4IzC"}