devchain-cli 0.14.1 → 0.16.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 (521) hide show
  1. package/README.md +11 -8
  2. package/dist/cli.js +19 -16
  3. package/dist/drizzle/0065_next_lady_bullseye.sql +11 -0
  4. package/dist/drizzle/meta/0065_snapshot.json +5691 -0
  5. package/dist/drizzle/meta/_journal.json +7 -0
  6. package/dist/node_modules/@devchain/codebase-overview/tsconfig.tsbuildinfo +1 -1
  7. package/dist/node_modules/@devchain/codebase-overview/types.d.ts.map +1 -1
  8. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts +20 -0
  9. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts.map +1 -0
  10. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js +77 -0
  11. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js.map +1 -0
  12. package/dist/node_modules/@devchain/shared/device-key/index.d.ts +2 -0
  13. package/dist/node_modules/@devchain/shared/device-key/index.d.ts.map +1 -0
  14. package/dist/node_modules/@devchain/shared/device-key/index.js +2 -0
  15. package/dist/node_modules/@devchain/shared/device-key/index.js.map +1 -0
  16. package/dist/node_modules/@devchain/shared/device-key/keypair.d.ts +23 -0
  17. package/dist/node_modules/@devchain/shared/device-key/keypair.d.ts.map +1 -0
  18. package/dist/node_modules/@devchain/shared/device-key/keypair.js +54 -0
  19. package/dist/node_modules/@devchain/shared/device-key/keypair.js.map +1 -0
  20. package/dist/node_modules/@devchain/shared/e2ee/aad.d.ts +3 -0
  21. package/dist/node_modules/@devchain/shared/e2ee/aad.d.ts.map +1 -0
  22. package/dist/node_modules/@devchain/shared/e2ee/aad.js +0 -0
  23. package/dist/node_modules/@devchain/shared/e2ee/aad.js.map +1 -0
  24. package/dist/node_modules/@devchain/shared/e2ee/base64.d.ts +6 -0
  25. package/dist/node_modules/@devchain/shared/e2ee/base64.d.ts.map +1 -0
  26. package/dist/node_modules/@devchain/shared/e2ee/base64.js +69 -0
  27. package/dist/node_modules/@devchain/shared/e2ee/base64.js.map +1 -0
  28. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.d.ts +9 -0
  29. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.d.ts.map +1 -0
  30. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.js +78 -0
  31. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.js.map +1 -0
  32. package/dist/node_modules/@devchain/shared/e2ee/envelope.d.ts +63 -0
  33. package/dist/node_modules/@devchain/shared/e2ee/envelope.d.ts.map +1 -0
  34. package/dist/node_modules/@devchain/shared/e2ee/envelope.js +64 -0
  35. package/dist/node_modules/@devchain/shared/e2ee/envelope.js.map +1 -0
  36. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +10 -0
  37. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -0
  38. package/dist/node_modules/@devchain/shared/e2ee/index.js +10 -0
  39. package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -0
  40. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.d.ts +17 -0
  41. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.d.ts.map +1 -0
  42. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.js +72 -0
  43. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.js.map +1 -0
  44. package/dist/node_modules/@devchain/shared/e2ee/keypair.d.ts +13 -0
  45. package/dist/node_modules/@devchain/shared/e2ee/keypair.d.ts.map +1 -0
  46. package/dist/node_modules/@devchain/shared/e2ee/keypair.js +34 -0
  47. package/dist/node_modules/@devchain/shared/e2ee/keypair.js.map +1 -0
  48. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +30 -0
  49. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -0
  50. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +70 -0
  51. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -0
  52. package/dist/node_modules/@devchain/shared/e2ee/safety-number.d.ts +3 -0
  53. package/dist/node_modules/@devchain/shared/e2ee/safety-number.d.ts.map +1 -0
  54. package/dist/node_modules/@devchain/shared/e2ee/safety-number.js +33 -0
  55. package/dist/node_modules/@devchain/shared/e2ee/safety-number.js.map +1 -0
  56. package/dist/node_modules/@devchain/shared/e2ee/trust.d.ts +22 -0
  57. package/dist/node_modules/@devchain/shared/e2ee/trust.d.ts.map +1 -0
  58. package/dist/node_modules/@devchain/shared/e2ee/trust.js +25 -0
  59. package/dist/node_modules/@devchain/shared/e2ee/trust.js.map +1 -0
  60. package/dist/node_modules/@devchain/shared/index.d.ts +3 -0
  61. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  62. package/dist/node_modules/@devchain/shared/index.js +3 -0
  63. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  64. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +14 -6
  65. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  66. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +1 -0
  67. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  68. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  69. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +99 -0
  70. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -0
  71. package/dist/node_modules/@devchain/shared/tunnel-protocol.js +148 -0
  72. package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -0
  73. package/dist/server/app.main.module.js +2 -0
  74. package/dist/server/app.main.module.js.map +1 -1
  75. package/dist/server/app.normal.module.js +2 -0
  76. package/dist/server/app.normal.module.js.map +1 -1
  77. package/dist/server/common/config/env.config.js +5 -7
  78. package/dist/server/common/config/env.config.js.map +1 -1
  79. package/dist/server/common/test/app-bootstrap.helper.js +5 -1
  80. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  81. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +4 -0
  82. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  83. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +3 -1
  84. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +16 -3
  85. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  86. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -0
  87. package/dist/server/modules/cloud/cloud.module.js +8 -1
  88. package/dist/server/modules/cloud/cloud.module.js.map +1 -1
  89. package/dist/server/modules/cloud/controllers/auth-callback.controller.js +5 -4
  90. package/dist/server/modules/cloud/controllers/auth-callback.controller.js.map +1 -1
  91. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js +1 -1
  92. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js.map +1 -1
  93. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js +1 -1
  94. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js.map +1 -1
  95. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js +1 -1
  96. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js.map +1 -1
  97. package/dist/server/modules/cloud/controllers/store-tokens-error.d.ts +4 -0
  98. package/dist/server/modules/cloud/controllers/store-tokens-error.js +103 -0
  99. package/dist/server/modules/cloud/controllers/store-tokens-error.js.map +1 -0
  100. package/dist/server/modules/cloud/services/cloud-session-manager.service.js +18 -8
  101. package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -1
  102. package/dist/server/modules/cloud/services/egress-queue.service.js +2 -2
  103. package/dist/server/modules/cloud/services/egress-queue.service.js.map +1 -1
  104. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +9 -1
  105. package/dist/server/modules/cloud/services/event-mapper.service.js +18 -2
  106. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
  107. package/dist/server/modules/cloud/services/project-activity-reporter.service.js +1 -1
  108. package/dist/server/modules/cloud/services/project-activity-reporter.service.js.map +1 -1
  109. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +57 -2
  110. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  111. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +20 -0
  112. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +84 -0
  113. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -0
  114. package/dist/server/modules/cloud-tunnel/services/epic-dto.util.d.ts +3 -0
  115. package/dist/server/modules/cloud-tunnel/services/epic-dto.util.js +43 -0
  116. package/dist/server/modules/cloud-tunnel/services/epic-dto.util.js.map +1 -0
  117. package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.d.ts +11 -0
  118. package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.js +32 -0
  119. package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.js.map +1 -0
  120. package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.d.ts +30 -0
  121. package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.js +80 -0
  122. package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.js.map +1 -0
  123. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +16 -0
  124. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +78 -0
  125. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -0
  126. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +112 -0
  127. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +457 -0
  128. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -0
  129. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +28 -2
  130. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +143 -5
  131. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  132. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +21 -0
  133. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +171 -0
  134. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -0
  135. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +12 -5
  136. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +209 -54
  137. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  138. package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.d.ts +21 -0
  139. package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.js +117 -0
  140. package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.js.map +1 -0
  141. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +45 -0
  142. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +126 -0
  143. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -0
  144. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +20 -0
  145. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +114 -0
  146. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -0
  147. package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.d.ts +6 -0
  148. package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.js +7 -0
  149. package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.js.map +1 -0
  150. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +30 -0
  151. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +228 -0
  152. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -0
  153. package/dist/server/modules/core/core-normal.module.js +2 -9
  154. package/dist/server/modules/core/core-normal.module.js.map +1 -1
  155. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.d.ts +2 -0
  156. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js +21 -0
  157. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js.map +1 -0
  158. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.d.ts +21 -0
  159. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js +249 -0
  160. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js.map +1 -0
  161. package/dist/server/modules/core/services/copilot-auth-probe.module.d.ts +2 -0
  162. package/dist/server/modules/core/services/copilot-auth-probe.module.js +21 -0
  163. package/dist/server/modules/core/services/copilot-auth-probe.module.js.map +1 -0
  164. package/dist/server/modules/core/services/copilot-auth-probe.service.d.ts +7 -0
  165. package/dist/server/modules/core/services/copilot-auth-probe.service.js +63 -0
  166. package/dist/server/modules/core/services/copilot-auth-probe.service.js.map +1 -0
  167. package/dist/server/modules/core/services/copilot-trusted-folders.module.d.ts +2 -0
  168. package/dist/server/modules/core/services/{gemini-trusted-folders.module.js → copilot-trusted-folders.module.js} +9 -9
  169. package/dist/server/modules/core/services/copilot-trusted-folders.module.js.map +1 -0
  170. package/dist/server/modules/core/services/copilot-trusted-folders.service.d.ts +22 -0
  171. package/dist/server/modules/core/services/copilot-trusted-folders.service.js +228 -0
  172. package/dist/server/modules/core/services/copilot-trusted-folders.service.js.map +1 -0
  173. package/dist/server/modules/core/services/preflight.service.d.ts +1 -0
  174. package/dist/server/modules/core/services/preflight.service.js +35 -3
  175. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  176. package/dist/server/modules/core/services/trust-folders-logic.d.ts +11 -0
  177. package/dist/server/modules/core/services/trust-folders-logic.js +33 -0
  178. package/dist/server/modules/core/services/trust-folders-logic.js.map +1 -0
  179. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.d.ts +19 -0
  180. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +63 -0
  181. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -0
  182. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +19 -0
  183. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +85 -0
  184. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -0
  185. package/dist/server/modules/e2ee/e2ee.module.d.ts +2 -0
  186. package/dist/server/modules/e2ee/e2ee.module.js +27 -0
  187. package/dist/server/modules/e2ee/e2ee.module.js.map +1 -0
  188. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +36 -0
  189. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +165 -0
  190. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -0
  191. package/dist/server/modules/e2ee/services/e2ee-keypair.service.d.ts +21 -0
  192. package/dist/server/modules/e2ee/services/e2ee-keypair.service.js +152 -0
  193. package/dist/server/modules/e2ee/services/e2ee-keypair.service.js.map +1 -0
  194. package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +29 -0
  195. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +108 -0
  196. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -0
  197. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +36 -0
  198. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +121 -0
  199. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -0
  200. package/dist/server/modules/epics/services/epics.service.d.ts +1 -0
  201. package/dist/server/modules/epics/services/epics.service.js +10 -0
  202. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  203. package/dist/server/modules/events/catalog/broadcast-metadata.d.ts +6 -2
  204. package/dist/server/modules/events/catalog/broadcast-registry.d.ts +2 -2
  205. package/dist/server/modules/events/catalog/broadcast-registry.js +58 -1
  206. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  207. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.d.ts +122 -0
  208. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.js +28 -0
  209. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.js.map +1 -0
  210. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.d.ts +18 -0
  211. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.js +13 -0
  212. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.js.map +1 -0
  213. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +6 -0
  214. package/dist/server/modules/events/catalog/claude.hooks.session.started.js +2 -0
  215. package/dist/server/modules/events/catalog/claude.hooks.session.started.js.map +1 -1
  216. package/dist/server/modules/events/catalog/index.d.ts +106 -10
  217. package/dist/server/modules/events/catalog/index.js +4 -0
  218. package/dist/server/modules/events/catalog/index.js.map +1 -1
  219. package/dist/server/modules/events/catalog/project-broadcast.d.ts +7 -0
  220. package/dist/server/modules/events/catalog/project-broadcast.js +10 -0
  221. package/dist/server/modules/events/catalog/project-broadcast.js.map +1 -0
  222. package/dist/server/modules/events/catalog/session.activity.changed.d.ts +2 -2
  223. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +5 -2
  224. package/dist/server/modules/events/catalog/session.transcript.discovered.js +1 -0
  225. package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -1
  226. package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +2 -2
  227. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +2 -2
  228. package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +2 -2
  229. package/dist/server/modules/events/services/catalog-broadcaster.service.js +3 -4
  230. package/dist/server/modules/events/services/catalog-broadcaster.service.js.map +1 -1
  231. package/dist/server/modules/hooks/dtos/ask-user-question.dto.d.ts +5 -0
  232. package/dist/server/modules/hooks/dtos/ask-user-question.dto.js +51 -0
  233. package/dist/server/modules/hooks/dtos/ask-user-question.dto.js.map +1 -0
  234. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +324 -7
  235. package/dist/server/modules/hooks/dtos/hook-event.dto.js +57 -9
  236. package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
  237. package/dist/server/modules/hooks/hooks.module.js +14 -2
  238. package/dist/server/modules/hooks/hooks.module.js.map +1 -1
  239. package/dist/server/modules/hooks/services/copilot-hooks-config.service.d.ts +13 -0
  240. package/dist/server/modules/hooks/services/copilot-hooks-config.service.js +185 -0
  241. package/dist/server/modules/hooks/services/copilot-hooks-config.service.js.map +1 -0
  242. package/dist/server/modules/hooks/services/hooks-config.service.d.ts +1 -0
  243. package/dist/server/modules/hooks/services/hooks-config.service.js +52 -33
  244. package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
  245. package/dist/server/modules/hooks/services/hooks.service.d.ts +6 -1
  246. package/dist/server/modules/hooks/services/hooks.service.js +86 -3
  247. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  248. package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +38 -0
  249. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +105 -0
  250. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -0
  251. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +2 -2
  252. package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -3
  253. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  254. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +3 -0
  255. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
  256. package/dist/server/modules/projects/controllers/projects.controller.d.ts +7 -0
  257. package/dist/server/modules/projects/dtos/export.dto.d.ts +8 -0
  258. package/dist/server/modules/projects/dtos/export.dto.js +1 -0
  259. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
  260. package/dist/server/modules/projects/helpers/project-export.d.ts +1 -0
  261. package/dist/server/modules/projects/helpers/project-export.js +19 -5
  262. package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
  263. package/dist/server/modules/projects/helpers/project-import-sessions.d.ts +11 -0
  264. package/dist/server/modules/projects/helpers/project-import-sessions.js +47 -0
  265. package/dist/server/modules/projects/helpers/project-import-sessions.js.map +1 -0
  266. package/dist/server/modules/projects/helpers/project-import.d.ts +4 -0
  267. package/dist/server/modules/projects/helpers/project-import.js +12 -2
  268. package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
  269. package/dist/server/modules/projects/services/projects.service.d.ts +5 -0
  270. package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +22 -0
  271. package/dist/server/modules/providers/adapters/antigravity.adapter.js +81 -0
  272. package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -0
  273. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  274. package/dist/server/modules/providers/adapters/capabilities/index.js +3 -1
  275. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  276. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +16 -1
  277. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +8 -0
  278. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  279. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +1 -0
  280. package/dist/server/modules/providers/adapters/claude.adapter.js +1 -0
  281. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  282. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +1 -0
  283. package/dist/server/modules/providers/adapters/codex.adapter.js +10 -4
  284. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  285. package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +31 -0
  286. package/dist/server/modules/providers/adapters/copilot.adapter.js +122 -0
  287. package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -0
  288. package/dist/server/modules/providers/adapters/index.d.ts +1 -1
  289. package/dist/server/modules/providers/adapters/index.js +1 -1
  290. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  291. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +4 -1
  292. package/dist/server/modules/providers/adapters/opencode.adapter.js +3 -0
  293. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  294. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +3 -2
  295. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +8 -5
  296. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  297. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +6 -0
  298. package/dist/server/modules/providers/adapters/provider-adapters.module.js +19 -4
  299. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  300. package/dist/server/modules/providers/controllers/provider-models.controller.js +3 -2
  301. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  302. package/dist/server/modules/providers/controllers/providers.controller.d.ts +50 -3
  303. package/dist/server/modules/providers/controllers/providers.controller.js +12 -3
  304. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  305. package/dist/server/modules/providers/providers.module.js +1 -0
  306. package/dist/server/modules/providers/providers.module.js.map +1 -1
  307. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.d.ts +17 -0
  308. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js +264 -0
  309. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js.map +1 -0
  310. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +5 -6
  311. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -1
  312. package/dist/server/modules/providers/services/mcp-registration/index.d.ts +1 -0
  313. package/dist/server/modules/providers/services/mcp-registration/index.js +3 -1
  314. package/dist/server/modules/providers/services/mcp-registration/index.js.map +1 -1
  315. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.d.ts +3 -1
  316. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js +6 -1
  317. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js.map +1 -1
  318. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +2 -1
  319. package/dist/server/modules/providers/services/provider-state-manager.service.js +43 -1
  320. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
  321. package/dist/server/modules/registry/controllers/templates.controller.d.ts +2 -1
  322. package/dist/server/modules/registry/services/template-cache.service.d.ts +2 -0
  323. package/dist/server/modules/registry/services/template-cache.service.js +5 -0
  324. package/dist/server/modules/registry/services/template-cache.service.js.map +1 -1
  325. package/dist/server/modules/registry/services/unified-template.service.d.ts +1 -0
  326. package/dist/server/modules/registry/services/unified-template.service.js +9 -1
  327. package/dist/server/modules/registry/services/unified-template.service.js.map +1 -1
  328. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.d.ts +3 -0
  329. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js +64 -0
  330. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js.map +1 -0
  331. package/dist/server/modules/seeders/services/data-seeder.service.js +2 -0
  332. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  333. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.d.ts +12 -0
  334. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js +41 -0
  335. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js.map +1 -0
  336. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.d.ts +44 -0
  337. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +85 -0
  338. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -0
  339. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +30 -0
  340. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js +268 -0
  341. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js.map +1 -0
  342. package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.d.ts → copilot-session-reader.adapter.d.ts} +4 -5
  343. package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.js → copilot-session-reader.adapter.js} +35 -68
  344. package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.js.map +1 -0
  345. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +23 -0
  346. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +150 -0
  347. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -0
  348. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -1
  349. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +16 -2
  350. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +39 -0
  351. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
  352. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.d.ts +11 -0
  353. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js +81 -0
  354. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -0
  355. package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.d.ts +2 -0
  356. package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.js +9 -0
  357. package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.js.map +1 -0
  358. package/dist/server/modules/session-reader/builders/chunk-builder.js +0 -2
  359. package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -1
  360. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +2 -0
  361. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
  362. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +1 -0
  363. package/dist/server/modules/session-reader/data/pricing.json +513 -44
  364. package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
  365. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +6 -0
  366. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -1
  367. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.d.ts +16 -0
  368. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js +307 -0
  369. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js.map +1 -0
  370. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +46 -0
  371. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
  372. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +35 -17
  373. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
  374. package/dist/server/modules/session-reader/parsers/{gemini-json.parser.d.ts → copilot-jsonl.parser.d.ts} +4 -3
  375. package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js +432 -0
  376. package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js.map +1 -0
  377. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.d.ts +25 -0
  378. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js +142 -0
  379. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js.map +1 -0
  380. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.d.ts +6 -0
  381. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js +35 -0
  382. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js.map +1 -0
  383. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.d.ts +24 -0
  384. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js +80 -0
  385. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js.map +1 -0
  386. package/dist/server/modules/session-reader/readers/copilot-model-pricing.d.ts +10 -0
  387. package/dist/server/modules/session-reader/readers/copilot-model-pricing.js +37 -0
  388. package/dist/server/modules/session-reader/readers/copilot-model-pricing.js.map +1 -0
  389. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +69 -0
  390. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js +378 -0
  391. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +1 -0
  392. package/dist/server/modules/session-reader/readers/protobuf-wire.d.ts +13 -0
  393. package/dist/server/modules/session-reader/readers/protobuf-wire.js +94 -0
  394. package/dist/server/modules/session-reader/readers/protobuf-wire.js.map +1 -0
  395. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +12 -3
  396. package/dist/server/modules/session-reader/services/session-cache.service.js +104 -19
  397. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  398. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +5 -0
  399. package/dist/server/modules/session-reader/services/session-reader.service.js +51 -16
  400. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  401. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +3 -1
  402. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
  403. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +4 -0
  404. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +109 -8
  405. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  406. package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.d.ts +10 -0
  407. package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.js +47 -0
  408. package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.js.map +1 -0
  409. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +7 -1
  410. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +177 -28
  411. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  412. package/dist/server/modules/session-reader/session-reader.module.d.ts +7 -3
  413. package/dist/server/modules/session-reader/session-reader.module.js +21 -7
  414. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  415. package/dist/server/modules/sessions/controllers/sessions.controller.js +2 -22
  416. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  417. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +1 -0
  418. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  419. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +5 -0
  420. package/dist/server/modules/sessions/services/active-session-lookup.service.js +12 -0
  421. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
  422. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -0
  423. package/dist/server/modules/sessions/services/message-enqueue.service.js +2 -0
  424. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  425. package/dist/server/modules/sessions/services/message-pool.types.d.ts +2 -0
  426. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -0
  427. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +14 -1
  428. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  429. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +18 -0
  430. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +74 -0
  431. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -0
  432. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +12 -2
  433. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +12 -3
  434. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  435. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
  436. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +44 -7
  437. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  438. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +3 -2
  439. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  440. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +15 -3
  441. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  442. package/dist/server/modules/sessions/services/sessions.service.d.ts +8 -0
  443. package/dist/server/modules/sessions/services/sessions.service.js +52 -1
  444. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  445. package/dist/server/modules/sessions/sessions-lifecycle.module.d.ts +2 -0
  446. package/dist/server/modules/sessions/sessions-lifecycle.module.js +23 -0
  447. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -0
  448. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  449. package/dist/server/modules/storage/db/schema.d.ts +83 -0
  450. package/dist/server/modules/storage/db/schema.js +15 -2
  451. package/dist/server/modules/storage/db/schema.js.map +1 -1
  452. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +13 -2
  453. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  454. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +1 -0
  455. package/dist/server/modules/storage/local/delegates/epic.delegate.js +8 -0
  456. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  457. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +5 -1
  458. package/dist/server/modules/storage/local/delegates/provider.delegate.js +122 -0
  459. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
  460. package/dist/server/modules/storage/local/delegates/session.delegate.d.ts +9 -0
  461. package/dist/server/modules/storage/local/delegates/session.delegate.js +115 -0
  462. package/dist/server/modules/storage/local/delegates/session.delegate.js.map +1 -0
  463. package/dist/server/modules/storage/local/local-storage.service.d.ts +10 -0
  464. package/dist/server/modules/storage/local/local-storage.service.js +20 -0
  465. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  466. package/dist/server/modules/storage/models/domain.models.d.ts +1 -0
  467. package/dist/server/modules/subscribers/events/event-fields-catalog.js +5 -3
  468. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  469. package/dist/server/modules/subscribers/services/automation-scheduler.service.js.map +1 -1
  470. package/dist/server/modules/teams/services/teams.service.d.ts +28 -2
  471. package/dist/server/modules/teams/services/teams.service.js +175 -0
  472. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  473. package/dist/server/modules/teams/storage/teams.store.d.ts +5 -0
  474. package/dist/server/modules/teams/storage/teams.store.js +34 -0
  475. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  476. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +5 -0
  477. package/dist/server/modules/terminal/gateways/terminal.gateway.js +38 -0
  478. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  479. package/dist/server/modules/terminal/services/pty.service.js +11 -3
  480. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  481. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +1 -1
  482. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +9 -2
  483. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  484. package/dist/server/modules/terminal/services/terminal-io/viewport-capture.d.ts +12 -0
  485. package/dist/server/modules/terminal/services/terminal-io/viewport-capture.js +50 -0
  486. package/dist/server/modules/terminal/services/terminal-io/viewport-capture.js.map +1 -0
  487. package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +2 -0
  488. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +10 -4
  489. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
  490. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.d.ts +12 -0
  491. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js +55 -0
  492. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -0
  493. package/dist/server/modules/terminal/terminal-viewport.module.d.ts +2 -0
  494. package/dist/server/modules/terminal/terminal-viewport.module.js +24 -0
  495. package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -0
  496. package/dist/server/templates/3-agents-dev.json +198 -160
  497. package/dist/server/templates/teams-dev.json +285 -225
  498. package/dist/server/tsconfig.tsbuildinfo +1 -1
  499. package/dist/server/ui/assets/{ReviewDetailPage-CobRKQBn.js → ReviewDetailPage-BDisSE9l.js} +1 -1
  500. package/dist/server/ui/assets/{ReviewsPage-Bb6ZmriH.js → ReviewsPage-3puoJiOQ.js} +1 -1
  501. package/dist/server/ui/assets/index-CzMrWNAV.css +32 -0
  502. package/dist/server/ui/assets/index-zlQ1ekQ2.js +1103 -0
  503. package/dist/server/ui/assets/{useReviewSubscription-DzaIaXy7.js → useReviewSubscription-wTrdkdi0.js} +1 -1
  504. package/dist/server/ui/favicon.svg +2 -16
  505. package/dist/server/ui/index.html +2 -2
  506. package/dist/templates/3-agents-dev.json +198 -160
  507. package/dist/templates/teams-dev.json +285 -225
  508. package/package.json +31 -8
  509. package/dist/server/modules/core/services/gemini-trusted-folders.module.d.ts +0 -2
  510. package/dist/server/modules/core/services/gemini-trusted-folders.module.js.map +0 -1
  511. package/dist/server/modules/core/services/gemini-trusted-folders.service.d.ts +0 -26
  512. package/dist/server/modules/core/services/gemini-trusted-folders.service.js +0 -181
  513. package/dist/server/modules/core/services/gemini-trusted-folders.service.js.map +0 -1
  514. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +0 -27
  515. package/dist/server/modules/providers/adapters/gemini.adapter.js +0 -119
  516. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +0 -1
  517. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +0 -1
  518. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +0 -380
  519. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +0 -1
  520. package/dist/server/ui/assets/index-BV_-Jlz8.js +0 -1095
  521. package/dist/server/ui/assets/index-C_ZOt0it.css +0 -32
@@ -0,0 +1,72 @@
1
+ import { x25519 } from '@noble/curves/ed25519';
2
+ import { hkdf } from '@noble/hashes/hkdf';
3
+ import { hmac } from '@noble/hashes/hmac';
4
+ import { sha256 } from '@noble/hashes/sha2';
5
+ const X25519_PRIVATE_KEY_BYTES = 32;
6
+ const X25519_PUBLIC_KEY_BYTES = 32;
7
+ export const E2EE_SHARED_KEY_BYTES = 32;
8
+ export const E2EE_HKDF_INFO = 'devchain-e2ee-v1';
9
+ export const E2EE_HKDF_SALT = 'devchain/e2ee/hkdf/salt/v1';
10
+ export const PAIRING_SECRET_BYTES = 32;
11
+ export const PAIRING_MAC_BYTES = 32;
12
+ const TRANSCRIPT_DOMAIN = 'devchain/e2ee/pairing/transcript/v1';
13
+ const utf8 = new TextEncoder();
14
+ export function deriveSharedKey(privateKey, peerPublicKey) {
15
+ if (privateKey.length !== X25519_PRIVATE_KEY_BYTES) {
16
+ throw new TypeError(`deriveSharedKey: privateKey must be ${X25519_PRIVATE_KEY_BYTES} bytes, got ${privateKey.length}`);
17
+ }
18
+ if (peerPublicKey.length !== X25519_PUBLIC_KEY_BYTES) {
19
+ throw new TypeError(`deriveSharedKey: peerPublicKey must be ${X25519_PUBLIC_KEY_BYTES} bytes, got ${peerPublicKey.length}`);
20
+ }
21
+ const ecdh = x25519.getSharedSecret(privateKey, peerPublicKey);
22
+ return hkdf(sha256, ecdh, utf8.encode(E2EE_HKDF_SALT), utf8.encode(E2EE_HKDF_INFO), E2EE_SHARED_KEY_BYTES);
23
+ }
24
+ export function buildPairingTranscript(input) {
25
+ return concat(field(utf8.encode(TRANSCRIPT_DOMAIN)), field(utf8.encode(input.channelId)), field(utf8.encode(input.pcKid)), field(input.pcPublicKey), field(utf8.encode(input.mobileKid)), field(input.mobilePublicKey));
26
+ }
27
+ export function computePairingMac(pairingSecret, transcript) {
28
+ if (pairingSecret.length === 0) {
29
+ throw new TypeError('computePairingMac: pairingSecret must be non-empty');
30
+ }
31
+ return hmac(sha256, pairingSecret, transcript);
32
+ }
33
+ export function verifyPairingMac(pairingSecret, transcript, mac) {
34
+ let expected;
35
+ try {
36
+ expected = computePairingMac(pairingSecret, transcript);
37
+ }
38
+ catch {
39
+ return false;
40
+ }
41
+ return constantTimeEqual(expected, mac);
42
+ }
43
+ function constantTimeEqual(a, b) {
44
+ if (a.length !== b.length)
45
+ return false;
46
+ let diff = 0;
47
+ for (let i = 0; i < a.length; i++)
48
+ diff |= a[i] ^ b[i];
49
+ return diff === 0;
50
+ }
51
+ function field(value) {
52
+ const out = new Uint8Array(4 + value.length);
53
+ out[0] = (value.length >>> 24) & 0xff;
54
+ out[1] = (value.length >>> 16) & 0xff;
55
+ out[2] = (value.length >>> 8) & 0xff;
56
+ out[3] = value.length & 0xff;
57
+ out.set(value, 4);
58
+ return out;
59
+ }
60
+ function concat(...parts) {
61
+ let total = 0;
62
+ for (const p of parts)
63
+ total += p.length;
64
+ const out = new Uint8Array(total);
65
+ let offset = 0;
66
+ for (const p of parts) {
67
+ out.set(p, offset);
68
+ offset += p.length;
69
+ }
70
+ return out;
71
+ }
72
+ //# sourceMappingURL=key-exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-exchange.js","sourceRoot":"","sources":["../../src/e2ee/key-exchange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { RandomBytes } from './envelope.js';
2
+ export declare const X25519_PRIVATE_KEY_BYTES = 32;
3
+ export declare const X25519_PUBLIC_KEY_BYTES = 32;
4
+ export declare const E2EE_KID_BYTES = 16;
5
+ export interface E2eeKeyPair {
6
+ privateKey: Uint8Array;
7
+ publicKey: Uint8Array;
8
+ kid: string;
9
+ }
10
+ export declare function deriveKid(publicKey: Uint8Array): string;
11
+ export declare function generateX25519KeyPair(randomBytes: RandomBytes): E2eeKeyPair;
12
+ export declare function fromX25519PrivateKey(privateKey: Uint8Array): E2eeKeyPair;
13
+ //# sourceMappingURL=keypair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/e2ee/keypair.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAO1C,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,MAAM,WAAW,WAAW;IAE1B,UAAU,EAAE,UAAU,CAAC;IAEvB,SAAS,EAAE,UAAU,CAAC;IAEtB,GAAG,EAAE,MAAM,CAAC;CACb;AAQD,wBAAgB,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAQvD;AAQD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAQ3E;AAOD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAQxE"}
@@ -0,0 +1,34 @@
1
+ import { x25519 } from '@noble/curves/ed25519';
2
+ import { sha256 } from '@noble/hashes/sha2';
3
+ export const X25519_PRIVATE_KEY_BYTES = 32;
4
+ export const X25519_PUBLIC_KEY_BYTES = 32;
5
+ export const E2EE_KID_BYTES = 16;
6
+ export function deriveKid(publicKey) {
7
+ if (publicKey.length !== X25519_PUBLIC_KEY_BYTES) {
8
+ throw new TypeError(`deriveKid: publicKey must be ${X25519_PUBLIC_KEY_BYTES} bytes, got ${publicKey.length}`);
9
+ }
10
+ const hash = sha256(publicKey);
11
+ return bytesToHex(hash.subarray(0, E2EE_KID_BYTES));
12
+ }
13
+ export function generateX25519KeyPair(randomBytes) {
14
+ const privateKey = randomBytes(X25519_PRIVATE_KEY_BYTES);
15
+ if (privateKey.length !== X25519_PRIVATE_KEY_BYTES) {
16
+ throw new Error(`generateX25519KeyPair: RNG returned ${privateKey.length} bytes, expected ${X25519_PRIVATE_KEY_BYTES}`);
17
+ }
18
+ return fromX25519PrivateKey(privateKey);
19
+ }
20
+ export function fromX25519PrivateKey(privateKey) {
21
+ if (privateKey.length !== X25519_PRIVATE_KEY_BYTES) {
22
+ throw new TypeError(`fromX25519PrivateKey: privateKey must be ${X25519_PRIVATE_KEY_BYTES} bytes, got ${privateKey.length}`);
23
+ }
24
+ const publicKey = x25519.getPublicKey(privateKey);
25
+ return { privateKey, publicKey, kid: deriveKid(publicKey) };
26
+ }
27
+ function bytesToHex(bytes) {
28
+ let out = '';
29
+ for (let i = 0; i < bytes.length; i++) {
30
+ out += bytes[i].toString(16).padStart(2, '0');
31
+ }
32
+ return out;
33
+ }
34
+ //# sourceMappingURL=keypair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/e2ee/keypair.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAO1C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAiBjC,MAAM,UAAU,SAAS,CAAC,SAAqB;IAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CACjB,gCAAgC,uBAAuB,eAAe,SAAS,CAAC,MAAM,EAAE,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AACtD,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,WAAwB;IAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,CAAC,MAAM,oBAAoB,wBAAwB,EAAE,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAAC,UAAsB;IACzD,IAAI,UAAU,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACnD,MAAM,IAAI,SAAS,CACjB,4CAA4C,wBAAwB,eAAe,UAAU,CAAC,MAAM,EAAE,CACvG,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AAC9D,CAAC;AAID,SAAS,UAAU,CAAC,KAAiB;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare const E2EE_NEGOTIATION_VERSION = 1;
2
+ export interface E2eeCapability {
3
+ v: number;
4
+ envelopeVersion: number;
5
+ e2eeSupported: boolean;
6
+ e2eeRequired: boolean;
7
+ keyFingerprint?: string;
8
+ publicKeyB64?: string;
9
+ }
10
+ export type E2eeNegotiationMode = 'encrypted' | 'plaintext' | 'blocked';
11
+ export type E2eeNegotiationReason = 'both-capable' | 'peer-incapable-required' | 'self-incapable-required' | 'downgrade-blocked' | 'plaintext-mixed';
12
+ export interface E2eeNegotiationResult {
13
+ mode: E2eeNegotiationMode;
14
+ failClosed: boolean;
15
+ plaintextFallback: boolean;
16
+ reason: E2eeNegotiationReason;
17
+ }
18
+ export declare function isE2eeCapability(value: unknown): value is E2eeCapability;
19
+ export declare function isCapable(cap: E2eeCapability | null | undefined): boolean;
20
+ export declare function negotiateE2ee(self: E2eeCapability, peer: E2eeCapability | null | undefined, opts?: {
21
+ hasExistingKey?: boolean;
22
+ }): E2eeNegotiationResult;
23
+ export declare function buildE2eeCapability(opts: {
24
+ e2eeRequired?: boolean;
25
+ key?: {
26
+ kid: string;
27
+ publicKeyB64: string;
28
+ } | null;
29
+ }): E2eeCapability;
30
+ //# sourceMappingURL=negotiation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negotiation.d.ts","sourceRoot":"","sources":["../../src/e2ee/negotiation.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAc1C,MAAM,WAAW,cAAc;IAE7B,CAAC,EAAE,MAAM,CAAC;IAEV,eAAe,EAAE,MAAM,CAAC;IAExB,aAAa,EAAE,OAAO,CAAC;IAEvB,YAAY,EAAE,OAAO,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;AAGxE,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,yBAAyB,GACzB,yBAAyB,GACzB,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAG1B,UAAU,EAAE,OAAO,CAAC;IAEpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CASxE;AASD,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOzE;AAaD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,qBAAqB,CA8CvB;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpD,GAAG,cAAc,CASjB"}
@@ -0,0 +1,70 @@
1
+ export const E2EE_NEGOTIATION_VERSION = 1;
2
+ const ENVELOPE_VERSION = 1;
3
+ export function isE2eeCapability(value) {
4
+ if (typeof value !== 'object' || value === null)
5
+ return false;
6
+ const c = value;
7
+ return (typeof c.v === 'number' &&
8
+ typeof c.envelopeVersion === 'number' &&
9
+ typeof c.e2eeSupported === 'boolean' &&
10
+ typeof c.e2eeRequired === 'boolean');
11
+ }
12
+ export function isCapable(cap) {
13
+ return (!!cap &&
14
+ cap.e2eeSupported === true &&
15
+ cap.v <= E2EE_NEGOTIATION_VERSION &&
16
+ cap.envelopeVersion >= 1);
17
+ }
18
+ export function negotiateE2ee(self, peer, opts = {}) {
19
+ const selfCapable = isCapable(self);
20
+ const peerCapable = isCapable(peer);
21
+ if (selfCapable && peerCapable) {
22
+ return {
23
+ mode: 'encrypted',
24
+ failClosed: false,
25
+ plaintextFallback: false,
26
+ reason: 'both-capable',
27
+ };
28
+ }
29
+ if (self.e2eeRequired && !peerCapable) {
30
+ return {
31
+ mode: 'blocked',
32
+ failClosed: true,
33
+ plaintextFallback: false,
34
+ reason: 'peer-incapable-required',
35
+ };
36
+ }
37
+ if (peer?.e2eeRequired && !selfCapable) {
38
+ return {
39
+ mode: 'blocked',
40
+ failClosed: true,
41
+ plaintextFallback: false,
42
+ reason: 'self-incapable-required',
43
+ };
44
+ }
45
+ if (opts.hasExistingKey) {
46
+ return {
47
+ mode: 'blocked',
48
+ failClosed: true,
49
+ plaintextFallback: false,
50
+ reason: 'downgrade-blocked',
51
+ };
52
+ }
53
+ return {
54
+ mode: 'plaintext',
55
+ failClosed: false,
56
+ plaintextFallback: true,
57
+ reason: 'plaintext-mixed',
58
+ };
59
+ }
60
+ export function buildE2eeCapability(opts) {
61
+ const supported = !!opts.key;
62
+ return {
63
+ v: E2EE_NEGOTIATION_VERSION,
64
+ envelopeVersion: ENVELOPE_VERSION,
65
+ e2eeSupported: supported,
66
+ e2eeRequired: !!opts.e2eeRequired,
67
+ ...(supported ? { keyFingerprint: opts.key.kid, publicKeyB64: opts.key.publicKeyB64 } : {}),
68
+ };
69
+ }
70
+ //# sourceMappingURL=negotiation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../src/e2ee/negotiation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAM1C,MAAM,gBAAgB,GAAG,CAAC,CAAC;AA6C3B,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,CACL,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;QACvB,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;QACrC,OAAO,CAAC,CAAC,aAAa,KAAK,SAAS;QACpC,OAAO,CAAC,CAAC,YAAY,KAAK,SAAS,CACpC,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,SAAS,CAAC,GAAsC;IAC9D,OAAO,CACL,CAAC,CAAC,GAAG;QACL,GAAG,CAAC,aAAa,KAAK,IAAI;QAC1B,GAAG,CAAC,CAAC,IAAI,wBAAwB;QACjC,GAAG,CAAC,eAAe,IAAI,CAAC,CACzB,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,aAAa,CAC3B,IAAoB,EACpB,IAAuC,EACvC,OAAqC,EAAE;IAEvC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,KAAK;YACjB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,cAAc;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,yBAAyB;SAClC,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,EAAE,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,yBAAyB;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,mBAAmB;SAC5B,CAAC;IACJ,CAAC;IAGD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,iBAAiB;KAC1B,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,mBAAmB,CAAC,IAGnC;IACC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B,OAAO;QACL,CAAC,EAAE,wBAAwB;QAC3B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;QACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,GAAI,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,GAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const E2EE_SAFETY_NUMBER_GROUPS = 8;
2
+ export declare function deriveSafetyNumber(pubA: Uint8Array, pubB: Uint8Array): string;
3
+ //# sourceMappingURL=safety-number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-number.d.ts","sourceRoot":"","sources":["../../src/e2ee/safety-number.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAU3C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAqB7E"}
@@ -0,0 +1,33 @@
1
+ import { sha256 } from '@noble/hashes/sha2';
2
+ const SAFETY_NUMBER_DOMAIN = 'devchain/e2ee/safety-number/v1';
3
+ export const E2EE_SAFETY_NUMBER_GROUPS = 8;
4
+ const utf8 = new TextEncoder();
5
+ export function deriveSafetyNumber(pubA, pubB) {
6
+ if (pubA.length !== 32 || pubB.length !== 32) {
7
+ throw new TypeError('deriveSafetyNumber: both public keys must be 32 bytes');
8
+ }
9
+ const [low, high] = compareBytes(pubA, pubB) <= 0 ? [pubA, pubB] : [pubB, pubA];
10
+ const material = new Uint8Array(low.length + high.length + SAFETY_NUMBER_DOMAIN.length);
11
+ const domain = utf8.encode(SAFETY_NUMBER_DOMAIN);
12
+ material.set(domain, 0);
13
+ material.set(low, domain.length);
14
+ material.set(high, domain.length + low.length);
15
+ const digest = sha256(material);
16
+ const groups = [];
17
+ for (let g = 0; g < E2EE_SAFETY_NUMBER_GROUPS; g++) {
18
+ const off = g * 4;
19
+ const n = ((digest[off] << 24) | (digest[off + 1] << 16) | (digest[off + 2] << 8) | digest[off + 3]) >>>
20
+ 0;
21
+ groups.push((n % 100000).toString().padStart(5, '0'));
22
+ }
23
+ return groups.join(' ');
24
+ }
25
+ function compareBytes(a, b) {
26
+ const len = Math.min(a.length, b.length);
27
+ for (let i = 0; i < len; i++) {
28
+ if (a[i] !== b[i])
29
+ return a[i] - b[i];
30
+ }
31
+ return a.length - b.length;
32
+ }
33
+ //# sourceMappingURL=safety-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-number.js","sourceRoot":"","sources":["../../src/e2ee/safety-number.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAG9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAQ/B,MAAM,UAAU,kBAAkB,CAAC,IAAgB,EAAE,IAAgB;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACjD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,GACL,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAGD,SAAS,YAAY,CAAC,CAAa,EAAE,CAAa;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type E2eeTrustStatus = 'unverified' | 'verified' | 'revoked';
2
+ export type E2eeVerificationMethod = 'qr' | 'email-tofu' | 'safety-number';
3
+ export type E2eeAdoptionMethod = 'qr' | 'email-tofu';
4
+ export interface E2eeTrustRecord {
5
+ kid: string;
6
+ publicKeyB64: string;
7
+ trust: E2eeTrustStatus;
8
+ adoptedVia?: E2eeAdoptionMethod;
9
+ verifiedVia?: E2eeVerificationMethod;
10
+ addedAt: string;
11
+ verifiedAt?: string;
12
+ label?: string;
13
+ }
14
+ export declare function isE2eeVerified(record: Pick<E2eeTrustRecord, 'trust'>): boolean;
15
+ export interface IncomingPeerKey {
16
+ kid: string;
17
+ publicKeyB64: string;
18
+ label?: string;
19
+ }
20
+ export declare function reconcilePeerKey(existing: E2eeTrustRecord | null, incoming: IncomingPeerKey, now: string): E2eeTrustRecord;
21
+ export declare function markVerifiedViaSafetyNumber(record: E2eeTrustRecord, now: string): E2eeTrustRecord;
22
+ //# sourceMappingURL=trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../src/e2ee/trust.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAGpE,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,YAAY,GAAG,eAAe,CAAC;AAG3E,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,YAAY,CAAC;AAOrD,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IAEZ,YAAY,EAAE,MAAM,CAAC;IAErB,KAAK,EAAE,eAAe,CAAC;IAEvB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAErC,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,OAAO,CAE9E;AAGD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,GACV,eAAe,CAcjB;AAMD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAOjG"}
@@ -0,0 +1,25 @@
1
+ export function isE2eeVerified(record) {
2
+ return record.trust === 'verified';
3
+ }
4
+ export function reconcilePeerKey(existing, incoming, now) {
5
+ if (existing && existing.publicKeyB64 === incoming.publicKeyB64) {
6
+ return incoming.label !== undefined ? { ...existing, label: incoming.label } : existing;
7
+ }
8
+ return {
9
+ kid: incoming.kid,
10
+ publicKeyB64: incoming.publicKeyB64,
11
+ trust: 'unverified',
12
+ adoptedVia: 'email-tofu',
13
+ addedAt: now,
14
+ ...(incoming.label !== undefined ? { label: incoming.label } : {}),
15
+ };
16
+ }
17
+ export function markVerifiedViaSafetyNumber(record, now) {
18
+ return {
19
+ ...record,
20
+ trust: 'verified',
21
+ verifiedVia: 'safety-number',
22
+ verifiedAt: now,
23
+ };
24
+ }
25
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/e2ee/trust.ts"],"names":[],"mappings":"AAgDA,MAAM,UAAU,cAAc,CAAC,MAAsC;IACnE,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAsBD,MAAM,UAAU,gBAAgB,CAC9B,QAAgC,EAChC,QAAyB,EACzB,GAAW;IAEX,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEhE,OAAO,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1F,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,GAAG;QACZ,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,2BAA2B,CAAC,MAAuB,EAAE,GAAW;IAC9E,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,GAAG;KAChB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,7 @@
1
1
  export { HostResolver } from './host-resolver.js';
2
2
  export { EnvVarsSchema, ExportSchema, type ExportData, type ExportDataInput, ManifestSchema, type ManifestData, } from './schemas/index.js';
3
+ export { type TunnelProtocolVersion, type TunnelPushFrame, type TunnelPushEnvelope, TUNNEL_PROTOCOL_VERSION_PUSH, SUPPORTED_TUNNEL_PROTOCOL_VERSIONS, TUNNEL_PUSH_FRAME_TYPE, TUNNEL_PUSH_FRAME_VERSION, isSupportedTunnelProtocolVersion, isPushCapableTunnelProtocolVersion, isTunnelPushFrame, type MobilePushTopicRule, MOBILE_PUSH_TOPIC_ID_SEGMENT, MOBILE_PUSH_TOPIC_ALLOWLIST, isAllowlistedTunnelPushTopic, type TunnelControlOp, type TunnelControlFrame, type TunnelLivenessQueryFrame, type TunnelLivenessResultFrame, TUNNEL_CONTROL_FRAME_TYPE, TUNNEL_CONTROL_FRAME_VERSION, isTunnelControlFrame, isTunnelLivenessQueryFrame, isTunnelLivenessResultFrame, type ViewportCursor, type ViewportScreen, type ViewportChangedLine, type ViewportFullBody, type ViewportDiffBody, type ViewportEncryptedFullBody, type ViewportBody, type TunnelViewportFrame, type MobileViewportSseEvent, TUNNEL_VIEWPORT_FRAME_TYPE, TUNNEL_VIEWPORT_FRAME_VERSION, isTunnelViewportFrame, isViewportBody, isViewportCursor, isMobileViewportSseEvent, MOBILE_VIEWPORT_SSE_EVENT, MOBILE_VIEWPORT_SSE_PATH_TEMPLATE, mobileViewportSsePath, } from './tunnel-protocol.js';
4
+ export { E2EE_KEY_BYTES, E2EE_NONCE_BYTES, E2EE_ENVELOPE_VERSION, E2EE_ALG_XCHACHA20POLY1305, E2eeError, E2eeMalformedEnvelopeError, E2eeUnsupportedVersionError, E2eeUnsupportedAlgError, E2eeUnknownKeyError, E2eeAuthenticationError, E2eeInvalidKeyError, isE2eeEnvelope, type E2eeEnvelope, type E2eeEnvelopeVersion, type E2eeAlg, type E2eeRecipient, type E2eeLane, type E2eeDirection, type E2eeContext, type E2eeKeyProvider, type SealKey, type KeyLookup, type RandomBytes, buildAad, bytesToBase64, base64ToBytes, InvalidBase64Error, CryptoEnvelopeService, X25519_PRIVATE_KEY_BYTES, X25519_PUBLIC_KEY_BYTES, E2EE_KID_BYTES, deriveKid, generateX25519KeyPair, fromX25519PrivateKey, type E2eeKeyPair, E2EE_SHARED_KEY_BYTES, E2EE_HKDF_INFO, E2EE_HKDF_SALT, PAIRING_SECRET_BYTES, PAIRING_MAC_BYTES, deriveSharedKey, buildPairingTranscript, computePairingMac, verifyPairingMac, type PairingTranscriptInput, isE2eeVerified, reconcilePeerKey, markVerifiedViaSafetyNumber, type E2eeTrustStatus, type E2eeVerificationMethod, type E2eeAdoptionMethod, type E2eeTrustRecord, type IncomingPeerKey, E2EE_SAFETY_NUMBER_GROUPS, deriveSafetyNumber, E2EE_NEGOTIATION_VERSION, isE2eeCapability, isCapable, negotiateE2ee, buildE2eeCapability, type E2eeCapability, type E2eeNegotiationMode, type E2eeNegotiationReason, type E2eeNegotiationResult, } from './e2ee/index.js';
5
+ export { ED25519_PRIVATE_KEY_BYTES, ED25519_PUBLIC_KEY_BYTES, ED25519_SIGNATURE_BYTES, DEVICE_KEY_KTY, DEVICE_KEY_CRV, fromEd25519PrivateKey, generateEd25519KeyPair, publicKeyToJwk, canonicalJwk, computeJwkThumbprint, signMessage, verifySignature, type Ed25519KeyPair, type Ed25519PublicJwk, } from './device-key/index.js';
3
6
  export { parseSemVer, isValidSemVer, compareSemVer, isGreaterThan, isLessThan, isEqual, sortVersions, getLatestVersion, formatSemVer, type SemVer, } from './utils/index.js';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,KAAK,MAAM,GACZ,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,kCAAkC,EAClC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,kCAAkC,EAClC,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,SAAS,EACT,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,WAAW,EAChB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,cAAc,EACd,gBAAgB,EAChB,2BAA2B,EAC3B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,KAAK,MAAM,GACZ,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,7 @@
1
1
  export { HostResolver } from './host-resolver.js';
2
2
  export { EnvVarsSchema, ExportSchema, ManifestSchema, } from './schemas/index.js';
3
+ export { TUNNEL_PROTOCOL_VERSION_PUSH, SUPPORTED_TUNNEL_PROTOCOL_VERSIONS, TUNNEL_PUSH_FRAME_TYPE, TUNNEL_PUSH_FRAME_VERSION, isSupportedTunnelProtocolVersion, isPushCapableTunnelProtocolVersion, isTunnelPushFrame, MOBILE_PUSH_TOPIC_ID_SEGMENT, MOBILE_PUSH_TOPIC_ALLOWLIST, isAllowlistedTunnelPushTopic, TUNNEL_CONTROL_FRAME_TYPE, TUNNEL_CONTROL_FRAME_VERSION, isTunnelControlFrame, isTunnelLivenessQueryFrame, isTunnelLivenessResultFrame, TUNNEL_VIEWPORT_FRAME_TYPE, TUNNEL_VIEWPORT_FRAME_VERSION, isTunnelViewportFrame, isViewportBody, isViewportCursor, isMobileViewportSseEvent, MOBILE_VIEWPORT_SSE_EVENT, MOBILE_VIEWPORT_SSE_PATH_TEMPLATE, mobileViewportSsePath, } from './tunnel-protocol.js';
4
+ export { E2EE_KEY_BYTES, E2EE_NONCE_BYTES, E2EE_ENVELOPE_VERSION, E2EE_ALG_XCHACHA20POLY1305, E2eeError, E2eeMalformedEnvelopeError, E2eeUnsupportedVersionError, E2eeUnsupportedAlgError, E2eeUnknownKeyError, E2eeAuthenticationError, E2eeInvalidKeyError, isE2eeEnvelope, buildAad, bytesToBase64, base64ToBytes, InvalidBase64Error, CryptoEnvelopeService, X25519_PRIVATE_KEY_BYTES, X25519_PUBLIC_KEY_BYTES, E2EE_KID_BYTES, deriveKid, generateX25519KeyPair, fromX25519PrivateKey, E2EE_SHARED_KEY_BYTES, E2EE_HKDF_INFO, E2EE_HKDF_SALT, PAIRING_SECRET_BYTES, PAIRING_MAC_BYTES, deriveSharedKey, buildPairingTranscript, computePairingMac, verifyPairingMac, isE2eeVerified, reconcilePeerKey, markVerifiedViaSafetyNumber, E2EE_SAFETY_NUMBER_GROUPS, deriveSafetyNumber, E2EE_NEGOTIATION_VERSION, isE2eeCapability, isCapable, negotiateE2ee, buildE2eeCapability, } from './e2ee/index.js';
5
+ export { ED25519_PRIVATE_KEY_BYTES, ED25519_PUBLIC_KEY_BYTES, ED25519_SIGNATURE_BYTES, DEVICE_KEY_KTY, DEVICE_KEY_CRV, fromEd25519PrivateKey, generateEd25519KeyPair, publicKeyToJwk, canonicalJwk, computeJwkThumbprint, signMessage, verifySignature, } from './device-key/index.js';
3
6
  export { parseSemVer, isValidSemVer, compareSemVer, isGreaterThan, isLessThan, isEqual, sortVersions, getLatestVersion, formatSemVer, } from './utils/index.js';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,YAAY,EAGZ,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,YAAY,GAEb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,YAAY,EAGZ,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAIL,4BAA4B,EAC5B,kCAAkC,EAClC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,kCAAkC,EAClC,iBAAiB,EAEjB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAK5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAU3B,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,SAAS,EACT,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EAYd,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EAEpB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,2BAA2B,EAM3B,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,mBAAmB,GAKpB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,YAAY,GAEb,MAAM,kBAAkB,CAAC"}
@@ -12,6 +12,7 @@ export declare const ManifestSchema: z.ZodObject<{
12
12
  publishedAt: z.ZodOptional<z.ZodString>;
13
13
  changelog: z.ZodOptional<z.ZodString>;
14
14
  gitCommit: z.ZodOptional<z.ZodString>;
15
+ order: z.ZodOptional<z.ZodNumber>;
15
16
  }, "strict", z.ZodTypeAny, {
16
17
  name: string;
17
18
  slug?: string | undefined;
@@ -25,6 +26,7 @@ export declare const ManifestSchema: z.ZodObject<{
25
26
  publishedAt?: string | undefined;
26
27
  changelog?: string | undefined;
27
28
  gitCommit?: string | undefined;
29
+ order?: number | undefined;
28
30
  }, {
29
31
  name: string;
30
32
  slug?: string | undefined;
@@ -38,6 +40,7 @@ export declare const ManifestSchema: z.ZodObject<{
38
40
  publishedAt?: string | undefined;
39
41
  changelog?: string | undefined;
40
42
  gitCommit?: string | undefined;
43
+ order?: number | undefined;
41
44
  }>;
42
45
  export type ManifestData = z.infer<typeof ManifestSchema>;
43
46
  export declare const ExportSchema: z.ZodObject<{
@@ -89,14 +92,14 @@ export declare const ExportSchema: z.ZodObject<{
89
92
  }, "strip", z.ZodTypeAny, {
90
93
  name: string;
91
94
  providerName: string;
92
- description?: string | null | undefined;
93
95
  options?: string | null | undefined;
96
+ description?: string | null | undefined;
94
97
  env?: Record<string, string> | null | undefined;
95
98
  }, {
96
99
  name: string;
97
100
  providerName: string;
98
- description?: string | null | undefined;
99
101
  options?: string | null | undefined;
102
+ description?: string | null | undefined;
100
103
  env?: Record<string, string> | null | undefined;
101
104
  }>, "many">>;
102
105
  }, "strip", z.ZodTypeAny, {
@@ -114,8 +117,8 @@ export declare const ExportSchema: z.ZodObject<{
114
117
  providerConfigs?: {
115
118
  name: string;
116
119
  providerName: string;
117
- description?: string | null | undefined;
118
120
  options?: string | null | undefined;
121
+ description?: string | null | undefined;
119
122
  env?: Record<string, string> | null | undefined;
120
123
  }[] | undefined;
121
124
  }, {
@@ -133,8 +136,8 @@ export declare const ExportSchema: z.ZodObject<{
133
136
  providerConfigs?: {
134
137
  name: string;
135
138
  providerName: string;
136
- description?: string | null | undefined;
137
139
  options?: string | null | undefined;
140
+ description?: string | null | undefined;
138
141
  env?: Record<string, string> | null | undefined;
139
142
  }[] | undefined;
140
143
  }>, "many">>>;
@@ -545,6 +548,7 @@ export declare const ExportSchema: z.ZodObject<{
545
548
  publishedAt: z.ZodOptional<z.ZodString>;
546
549
  changelog: z.ZodOptional<z.ZodString>;
547
550
  gitCommit: z.ZodOptional<z.ZodString>;
551
+ order: z.ZodOptional<z.ZodNumber>;
548
552
  }, "strict", z.ZodTypeAny, {
549
553
  name: string;
550
554
  slug?: string | undefined;
@@ -558,6 +562,7 @@ export declare const ExportSchema: z.ZodObject<{
558
562
  publishedAt?: string | undefined;
559
563
  changelog?: string | undefined;
560
564
  gitCommit?: string | undefined;
565
+ order?: number | undefined;
561
566
  }, {
562
567
  name: string;
563
568
  slug?: string | undefined;
@@ -571,6 +576,7 @@ export declare const ExportSchema: z.ZodObject<{
571
576
  publishedAt?: string | undefined;
572
577
  changelog?: string | undefined;
573
578
  gitCommit?: string | undefined;
579
+ order?: number | undefined;
574
580
  }>>;
575
581
  }, "strict", z.ZodTypeAny, {
576
582
  version: number;
@@ -596,8 +602,8 @@ export declare const ExportSchema: z.ZodObject<{
596
602
  providerConfigs?: {
597
603
  name: string;
598
604
  providerName: string;
599
- description?: string | null | undefined;
600
605
  options?: string | null | undefined;
606
+ description?: string | null | undefined;
601
607
  env?: Record<string, string> | null | undefined;
602
608
  }[] | undefined;
603
609
  }[];
@@ -737,6 +743,7 @@ export declare const ExportSchema: z.ZodObject<{
737
743
  publishedAt?: string | undefined;
738
744
  changelog?: string | undefined;
739
745
  gitCommit?: string | undefined;
746
+ order?: number | undefined;
740
747
  } | undefined;
741
748
  }, {
742
749
  version?: number | undefined;
@@ -763,8 +770,8 @@ export declare const ExportSchema: z.ZodObject<{
763
770
  providerConfigs?: {
764
771
  name: string;
765
772
  providerName: string;
766
- description?: string | null | undefined;
767
773
  options?: string | null | undefined;
774
+ description?: string | null | undefined;
768
775
  env?: Record<string, string> | null | undefined;
769
776
  }[] | undefined;
770
777
  }[] | undefined;
@@ -903,6 +910,7 @@ export declare const ExportSchema: z.ZodObject<{
903
910
  publishedAt?: string | undefined;
904
911
  changelog?: string | undefined;
905
912
  gitCommit?: string | undefined;
913
+ order?: number | undefined;
906
914
  } | undefined;
907
915
  }>;
908
916
  export type ExportData = z.infer<typeof ExportSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AAGZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqPd,CAAC;AAGZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+BxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBhB,CAAC;AAGZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqPd,CAAC;AAGZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -18,6 +18,7 @@ export const ManifestSchema = z
18
18
  publishedAt: z.string().optional(),
19
19
  changelog: z.string().optional(),
20
20
  gitCommit: z.string().optional(),
21
+ order: z.number().int().optional(),
21
22
  })
22
23
  .strict();
23
24
  export const ExportSchema = z
@@ -1 +1 @@
1
- {"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"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"}