@appport/sdk 1.1.19 → 1.1.20

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 (479) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +86 -9
  3. package/dist/application-onboarding.d.ts +52 -0
  4. package/dist/application-onboarding.d.ts.map +1 -0
  5. package/dist/application-onboarding.js +50 -0
  6. package/dist/application-onboarding.js.map +1 -0
  7. package/dist/external-compatibility.d.ts +142 -0
  8. package/dist/external-compatibility.d.ts.map +1 -0
  9. package/dist/external-compatibility.js +132 -0
  10. package/dist/external-compatibility.js.map +1 -0
  11. package/dist/index.d.ts +18 -13
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +18 -13
  14. package/dist/index.js.map +1 -1
  15. package/dist/node.d.ts +1 -1
  16. package/dist/node.js +1 -1
  17. package/dist/provider-lifecycle.d.ts +247 -0
  18. package/dist/provider-lifecycle.d.ts.map +1 -0
  19. package/dist/provider-lifecycle.js +314 -0
  20. package/dist/provider-lifecycle.js.map +1 -0
  21. package/dist/resolution-policy.d.ts +81 -0
  22. package/dist/resolution-policy.d.ts.map +1 -0
  23. package/dist/resolution-policy.js +131 -0
  24. package/dist/resolution-policy.js.map +1 -0
  25. package/package.json +32 -22
  26. package/vendor/@appport/authorization/README.md +28 -0
  27. package/vendor/@appport/authorization/dist/index.d.ts +94 -0
  28. package/vendor/@appport/authorization/dist/index.d.ts.map +1 -0
  29. package/vendor/@appport/authorization/dist/index.js +131 -0
  30. package/vendor/@appport/authorization/dist/index.js.map +1 -0
  31. package/vendor/@appport/authorization/package.json +28 -0
  32. package/vendor/@appport/client/README.md +35 -0
  33. package/vendor/@appport/client/dist/channel.d.ts +14 -0
  34. package/vendor/@appport/client/dist/channel.d.ts.map +1 -0
  35. package/vendor/@appport/client/dist/channel.js +58 -0
  36. package/vendor/@appport/client/dist/channel.js.map +1 -0
  37. package/vendor/@appport/client/dist/client.d.ts +61 -0
  38. package/vendor/@appport/client/dist/client.d.ts.map +1 -0
  39. package/vendor/@appport/client/dist/client.js +214 -0
  40. package/vendor/@appport/client/dist/client.js.map +1 -0
  41. package/vendor/@appport/client/dist/contract.d.ts +55 -0
  42. package/vendor/@appport/client/dist/contract.d.ts.map +1 -0
  43. package/vendor/@appport/client/dist/contract.js +12 -0
  44. package/vendor/@appport/client/dist/contract.js.map +1 -0
  45. package/vendor/@appport/client/dist/discovery.d.ts +17 -0
  46. package/vendor/@appport/client/dist/discovery.d.ts.map +1 -0
  47. package/vendor/@appport/client/dist/discovery.js +56 -0
  48. package/vendor/@appport/client/dist/discovery.js.map +1 -0
  49. package/vendor/@appport/client/dist/duplex.d.ts +25 -0
  50. package/vendor/@appport/client/dist/duplex.d.ts.map +1 -0
  51. package/vendor/@appport/client/dist/duplex.js +194 -0
  52. package/vendor/@appport/client/dist/duplex.js.map +1 -0
  53. package/vendor/@appport/client/dist/host.d.ts +62 -0
  54. package/vendor/@appport/client/dist/host.d.ts.map +1 -0
  55. package/vendor/@appport/client/dist/host.js +139 -0
  56. package/vendor/@appport/client/dist/host.js.map +1 -0
  57. package/vendor/@appport/client/dist/index.d.ts +14 -0
  58. package/vendor/@appport/client/dist/index.d.ts.map +1 -0
  59. package/vendor/@appport/client/dist/index.js +14 -0
  60. package/vendor/@appport/client/dist/index.js.map +1 -0
  61. package/vendor/@appport/client/dist/transport.d.ts +42 -0
  62. package/vendor/@appport/client/dist/transport.d.ts.map +1 -0
  63. package/vendor/@appport/client/dist/transport.js +2 -0
  64. package/vendor/@appport/client/dist/transport.js.map +1 -0
  65. package/vendor/@appport/client/package.json +32 -0
  66. package/vendor/@appport/core/README.md +91 -0
  67. package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts +930 -0
  68. package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts.map +1 -0
  69. package/vendor/@appport/core/dist/appboundry-capability-catalog.js +352 -0
  70. package/vendor/@appport/core/dist/appboundry-capability-catalog.js.map +1 -0
  71. package/vendor/@appport/core/dist/appboundry-composition.d.ts +93 -0
  72. package/vendor/@appport/core/dist/appboundry-composition.d.ts.map +1 -0
  73. package/vendor/@appport/core/dist/appboundry-composition.js +184 -0
  74. package/vendor/@appport/core/dist/appboundry-composition.js.map +1 -0
  75. package/vendor/@appport/core/dist/appboundry-contract.d.ts +80 -0
  76. package/vendor/@appport/core/dist/appboundry-contract.d.ts.map +1 -0
  77. package/vendor/@appport/core/dist/appboundry-contract.js +160 -0
  78. package/vendor/@appport/core/dist/appboundry-contract.js.map +1 -0
  79. package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts +107 -0
  80. package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts.map +1 -0
  81. package/vendor/@appport/core/dist/appboundry-diagnostics.js +358 -0
  82. package/vendor/@appport/core/dist/appboundry-diagnostics.js.map +1 -0
  83. package/vendor/@appport/core/dist/appboundry-discovery.d.ts +110 -0
  84. package/vendor/@appport/core/dist/appboundry-discovery.d.ts.map +1 -0
  85. package/vendor/@appport/core/dist/appboundry-discovery.js +141 -0
  86. package/vendor/@appport/core/dist/appboundry-discovery.js.map +1 -0
  87. package/vendor/@appport/core/dist/appboundry-entitlements.d.ts +128 -0
  88. package/vendor/@appport/core/dist/appboundry-entitlements.d.ts.map +1 -0
  89. package/vendor/@appport/core/dist/appboundry-entitlements.js +312 -0
  90. package/vendor/@appport/core/dist/appboundry-entitlements.js.map +1 -0
  91. package/vendor/@appport/core/dist/appboundry-execution.d.ts +84 -0
  92. package/vendor/@appport/core/dist/appboundry-execution.d.ts.map +1 -0
  93. package/vendor/@appport/core/dist/appboundry-execution.js +150 -0
  94. package/vendor/@appport/core/dist/appboundry-execution.js.map +1 -0
  95. package/vendor/@appport/core/dist/appboundry-exercise.d.ts +152 -0
  96. package/vendor/@appport/core/dist/appboundry-exercise.d.ts.map +1 -0
  97. package/vendor/@appport/core/dist/appboundry-exercise.js +416 -0
  98. package/vendor/@appport/core/dist/appboundry-exercise.js.map +1 -0
  99. package/vendor/@appport/core/dist/appboundry-materialization.d.ts +222 -0
  100. package/vendor/@appport/core/dist/appboundry-materialization.d.ts.map +1 -0
  101. package/vendor/@appport/core/dist/appboundry-materialization.js +494 -0
  102. package/vendor/@appport/core/dist/appboundry-materialization.js.map +1 -0
  103. package/vendor/@appport/core/dist/appboundry-migration.d.ts +195 -0
  104. package/vendor/@appport/core/dist/appboundry-migration.d.ts.map +1 -0
  105. package/vendor/@appport/core/dist/appboundry-migration.js +227 -0
  106. package/vendor/@appport/core/dist/appboundry-migration.js.map +1 -0
  107. package/vendor/@appport/core/dist/appboundry-onboarding.d.ts +70 -0
  108. package/vendor/@appport/core/dist/appboundry-onboarding.d.ts.map +1 -0
  109. package/vendor/@appport/core/dist/appboundry-onboarding.js +232 -0
  110. package/vendor/@appport/core/dist/appboundry-onboarding.js.map +1 -0
  111. package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts +93 -0
  112. package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts.map +1 -0
  113. package/vendor/@appport/core/dist/appboundry-operation-discovery.js +89 -0
  114. package/vendor/@appport/core/dist/appboundry-operation-discovery.js.map +1 -0
  115. package/vendor/@appport/core/dist/appboundry-resolution.d.ts +160 -0
  116. package/vendor/@appport/core/dist/appboundry-resolution.d.ts.map +1 -0
  117. package/vendor/@appport/core/dist/appboundry-resolution.js +218 -0
  118. package/vendor/@appport/core/dist/appboundry-resolution.js.map +1 -0
  119. package/vendor/@appport/core/dist/appboundry-surface.d.ts +96 -0
  120. package/vendor/@appport/core/dist/appboundry-surface.d.ts.map +1 -0
  121. package/vendor/@appport/core/dist/appboundry-surface.js +223 -0
  122. package/vendor/@appport/core/dist/appboundry-surface.js.map +1 -0
  123. package/vendor/@appport/core/dist/appboundry-usage.d.ts +94 -0
  124. package/vendor/@appport/core/dist/appboundry-usage.d.ts.map +1 -0
  125. package/vendor/@appport/core/dist/appboundry-usage.js +80 -0
  126. package/vendor/@appport/core/dist/appboundry-usage.js.map +1 -0
  127. package/vendor/@appport/core/dist/application-conformance.d.ts +68 -0
  128. package/vendor/@appport/core/dist/application-conformance.d.ts.map +1 -0
  129. package/vendor/@appport/core/dist/application-conformance.js +108 -0
  130. package/vendor/@appport/core/dist/application-conformance.js.map +1 -0
  131. package/vendor/@appport/core/dist/application-implementation.d.ts +125 -0
  132. package/vendor/@appport/core/dist/application-implementation.d.ts.map +1 -0
  133. package/vendor/@appport/core/dist/application-implementation.js +220 -0
  134. package/vendor/@appport/core/dist/application-implementation.js.map +1 -0
  135. package/vendor/@appport/core/dist/application-lifecycle.d.ts +150 -0
  136. package/vendor/@appport/core/dist/application-lifecycle.d.ts.map +1 -0
  137. package/vendor/@appport/core/dist/application-lifecycle.js +70 -0
  138. package/vendor/@appport/core/dist/application-lifecycle.js.map +1 -0
  139. package/vendor/@appport/core/dist/application-package.d.ts +105 -0
  140. package/vendor/@appport/core/dist/application-package.d.ts.map +1 -0
  141. package/vendor/@appport/core/dist/application-package.js +349 -0
  142. package/vendor/@appport/core/dist/application-package.js.map +1 -0
  143. package/vendor/@appport/core/dist/application-source.d.ts +109 -0
  144. package/vendor/@appport/core/dist/application-source.d.ts.map +1 -0
  145. package/vendor/@appport/core/dist/application-source.js +186 -0
  146. package/vendor/@appport/core/dist/application-source.js.map +1 -0
  147. package/vendor/@appport/core/dist/application.d.ts +124 -0
  148. package/vendor/@appport/core/dist/application.d.ts.map +1 -0
  149. package/vendor/@appport/core/dist/application.js +518 -0
  150. package/vendor/@appport/core/dist/application.js.map +1 -0
  151. package/vendor/@appport/core/dist/artifact.d.ts +395 -0
  152. package/vendor/@appport/core/dist/artifact.d.ts.map +1 -0
  153. package/vendor/@appport/core/dist/artifact.js +392 -0
  154. package/vendor/@appport/core/dist/artifact.js.map +1 -0
  155. package/vendor/@appport/core/dist/assembly.d.ts +237 -0
  156. package/vendor/@appport/core/dist/assembly.d.ts.map +1 -0
  157. package/vendor/@appport/core/dist/assembly.js +458 -0
  158. package/vendor/@appport/core/dist/assembly.js.map +1 -0
  159. package/vendor/@appport/core/dist/authority-attestation.d.ts +34 -0
  160. package/vendor/@appport/core/dist/authority-attestation.d.ts.map +1 -0
  161. package/vendor/@appport/core/dist/authority-attestation.js +72 -0
  162. package/vendor/@appport/core/dist/authority-attestation.js.map +1 -0
  163. package/vendor/@appport/core/dist/authorization-grant.d.ts +107 -0
  164. package/vendor/@appport/core/dist/authorization-grant.d.ts.map +1 -0
  165. package/vendor/@appport/core/dist/authorization-grant.js +131 -0
  166. package/vendor/@appport/core/dist/authorization-grant.js.map +1 -0
  167. package/vendor/@appport/core/dist/binding.d.ts +294 -0
  168. package/vendor/@appport/core/dist/binding.d.ts.map +1 -0
  169. package/vendor/@appport/core/dist/binding.js +263 -0
  170. package/vendor/@appport/core/dist/binding.js.map +1 -0
  171. package/vendor/@appport/core/dist/builtins.d.ts +18 -0
  172. package/vendor/@appport/core/dist/builtins.d.ts.map +1 -0
  173. package/vendor/@appport/core/dist/builtins.js +38 -0
  174. package/vendor/@appport/core/dist/builtins.js.map +1 -0
  175. package/vendor/@appport/core/dist/capability.d.ts +94 -0
  176. package/vendor/@appport/core/dist/capability.d.ts.map +1 -0
  177. package/vendor/@appport/core/dist/capability.js +85 -0
  178. package/vendor/@appport/core/dist/capability.js.map +1 -0
  179. package/vendor/@appport/core/dist/concurrency.d.ts +16 -0
  180. package/vendor/@appport/core/dist/concurrency.d.ts.map +1 -0
  181. package/vendor/@appport/core/dist/concurrency.js +46 -0
  182. package/vendor/@appport/core/dist/concurrency.js.map +1 -0
  183. package/vendor/@appport/core/dist/context.d.ts +59 -0
  184. package/vendor/@appport/core/dist/context.d.ts.map +1 -0
  185. package/vendor/@appport/core/dist/context.js +14 -0
  186. package/vendor/@appport/core/dist/context.js.map +1 -0
  187. package/vendor/@appport/core/dist/contract-artifact.d.ts +15 -0
  188. package/vendor/@appport/core/dist/contract-artifact.d.ts.map +1 -0
  189. package/vendor/@appport/core/dist/contract-artifact.js +161 -0
  190. package/vendor/@appport/core/dist/contract-artifact.js.map +1 -0
  191. package/vendor/@appport/core/dist/contract-attestation.d.ts +68 -0
  192. package/vendor/@appport/core/dist/contract-attestation.d.ts.map +1 -0
  193. package/vendor/@appport/core/dist/contract-attestation.js +76 -0
  194. package/vendor/@appport/core/dist/contract-attestation.js.map +1 -0
  195. package/vendor/@appport/core/dist/crash-injection.d.ts +3 -0
  196. package/vendor/@appport/core/dist/crash-injection.d.ts.map +1 -0
  197. package/vendor/@appport/core/dist/crash-injection.js +8 -0
  198. package/vendor/@appport/core/dist/crash-injection.js.map +1 -0
  199. package/vendor/@appport/core/dist/events.d.ts +33 -0
  200. package/vendor/@appport/core/dist/events.d.ts.map +1 -0
  201. package/vendor/@appport/core/dist/events.js +79 -0
  202. package/vendor/@appport/core/dist/events.js.map +1 -0
  203. package/vendor/@appport/core/dist/execution-barrier.d.ts +13 -0
  204. package/vendor/@appport/core/dist/execution-barrier.d.ts.map +1 -0
  205. package/vendor/@appport/core/dist/execution-barrier.js +33 -0
  206. package/vendor/@appport/core/dist/execution-barrier.js.map +1 -0
  207. package/vendor/@appport/core/dist/execution-ledger.d.ts +81 -0
  208. package/vendor/@appport/core/dist/execution-ledger.d.ts.map +1 -0
  209. package/vendor/@appport/core/dist/execution-ledger.js +173 -0
  210. package/vendor/@appport/core/dist/execution-ledger.js.map +1 -0
  211. package/vendor/@appport/core/dist/execution.d.ts +387 -0
  212. package/vendor/@appport/core/dist/execution.d.ts.map +1 -0
  213. package/vendor/@appport/core/dist/execution.js +165 -0
  214. package/vendor/@appport/core/dist/execution.js.map +1 -0
  215. package/vendor/@appport/core/dist/idempotency.d.ts +36 -0
  216. package/vendor/@appport/core/dist/idempotency.d.ts.map +1 -0
  217. package/vendor/@appport/core/dist/idempotency.js +36 -0
  218. package/vendor/@appport/core/dist/idempotency.js.map +1 -0
  219. package/vendor/@appport/core/dist/implementation.d.ts +110 -0
  220. package/vendor/@appport/core/dist/implementation.d.ts.map +1 -0
  221. package/vendor/@appport/core/dist/implementation.js +65 -0
  222. package/vendor/@appport/core/dist/implementation.js.map +1 -0
  223. package/vendor/@appport/core/dist/index.d.ts +62 -0
  224. package/vendor/@appport/core/dist/index.d.ts.map +1 -0
  225. package/vendor/@appport/core/dist/index.js +61 -0
  226. package/vendor/@appport/core/dist/index.js.map +1 -0
  227. package/vendor/@appport/core/dist/invocation.d.ts +253 -0
  228. package/vendor/@appport/core/dist/invocation.d.ts.map +1 -0
  229. package/vendor/@appport/core/dist/invocation.js +258 -0
  230. package/vendor/@appport/core/dist/invocation.js.map +1 -0
  231. package/vendor/@appport/core/dist/manifest.d.ts +157 -0
  232. package/vendor/@appport/core/dist/manifest.d.ts.map +1 -0
  233. package/vendor/@appport/core/dist/manifest.js +255 -0
  234. package/vendor/@appport/core/dist/manifest.js.map +1 -0
  235. package/vendor/@appport/core/dist/memory-application-data-store.d.ts +19 -0
  236. package/vendor/@appport/core/dist/memory-application-data-store.d.ts.map +1 -0
  237. package/vendor/@appport/core/dist/memory-application-data-store.js +161 -0
  238. package/vendor/@appport/core/dist/memory-application-data-store.js.map +1 -0
  239. package/vendor/@appport/core/dist/operations.d.ts +61 -0
  240. package/vendor/@appport/core/dist/operations.d.ts.map +1 -0
  241. package/vendor/@appport/core/dist/operations.js +210 -0
  242. package/vendor/@appport/core/dist/operations.js.map +1 -0
  243. package/vendor/@appport/core/dist/provider-contract.d.ts +89 -0
  244. package/vendor/@appport/core/dist/provider-contract.d.ts.map +1 -0
  245. package/vendor/@appport/core/dist/provider-contract.js +40 -0
  246. package/vendor/@appport/core/dist/provider-contract.js.map +1 -0
  247. package/vendor/@appport/core/dist/public.d.ts +23 -0
  248. package/vendor/@appport/core/dist/public.d.ts.map +1 -0
  249. package/vendor/@appport/core/dist/public.js +22 -0
  250. package/vendor/@appport/core/dist/public.js.map +1 -0
  251. package/vendor/@appport/core/dist/registration.d.ts +165 -0
  252. package/vendor/@appport/core/dist/registration.d.ts.map +1 -0
  253. package/vendor/@appport/core/dist/registration.js +253 -0
  254. package/vendor/@appport/core/dist/registration.js.map +1 -0
  255. package/vendor/@appport/core/dist/registry.d.ts +30 -0
  256. package/vendor/@appport/core/dist/registry.d.ts.map +1 -0
  257. package/vendor/@appport/core/dist/registry.js +149 -0
  258. package/vendor/@appport/core/dist/registry.js.map +1 -0
  259. package/vendor/@appport/core/dist/resolver.d.ts +130 -0
  260. package/vendor/@appport/core/dist/resolver.d.ts.map +1 -0
  261. package/vendor/@appport/core/dist/resolver.js +252 -0
  262. package/vendor/@appport/core/dist/resolver.js.map +1 -0
  263. package/vendor/@appport/core/dist/runtime-manifest.d.ts +68 -0
  264. package/vendor/@appport/core/dist/runtime-manifest.d.ts.map +1 -0
  265. package/vendor/@appport/core/dist/runtime-manifest.js +84 -0
  266. package/vendor/@appport/core/dist/runtime-manifest.js.map +1 -0
  267. package/vendor/@appport/core/dist/sanitize.d.ts +14 -0
  268. package/vendor/@appport/core/dist/sanitize.d.ts.map +1 -0
  269. package/vendor/@appport/core/dist/sanitize.js +49 -0
  270. package/vendor/@appport/core/dist/sanitize.js.map +1 -0
  271. package/vendor/@appport/core/dist/server-internal.d.ts +5 -0
  272. package/vendor/@appport/core/dist/server-internal.d.ts.map +1 -0
  273. package/vendor/@appport/core/dist/server-internal.js +4 -0
  274. package/vendor/@appport/core/dist/server-internal.js.map +1 -0
  275. package/vendor/@appport/core/dist/sessions.d.ts +29 -0
  276. package/vendor/@appport/core/dist/sessions.d.ts.map +1 -0
  277. package/vendor/@appport/core/dist/sessions.js +39 -0
  278. package/vendor/@appport/core/dist/sessions.js.map +1 -0
  279. package/vendor/@appport/core/dist/sha256.d.ts +3 -0
  280. package/vendor/@appport/core/dist/sha256.d.ts.map +1 -0
  281. package/vendor/@appport/core/dist/sha256.js +46 -0
  282. package/vendor/@appport/core/dist/sha256.js.map +1 -0
  283. package/vendor/@appport/core/dist/source-verification.d.ts +53 -0
  284. package/vendor/@appport/core/dist/source-verification.d.ts.map +1 -0
  285. package/vendor/@appport/core/dist/source-verification.js +92 -0
  286. package/vendor/@appport/core/dist/source-verification.js.map +1 -0
  287. package/vendor/@appport/core/dist/state-context.d.ts +312 -0
  288. package/vendor/@appport/core/dist/state-context.d.ts.map +1 -0
  289. package/vendor/@appport/core/dist/state-context.js +100 -0
  290. package/vendor/@appport/core/dist/state-context.js.map +1 -0
  291. package/vendor/@appport/core/dist/state.d.ts +96 -0
  292. package/vendor/@appport/core/dist/state.d.ts.map +1 -0
  293. package/vendor/@appport/core/dist/state.js +89 -0
  294. package/vendor/@appport/core/dist/state.js.map +1 -0
  295. package/vendor/@appport/core/dist/streams.d.ts +38 -0
  296. package/vendor/@appport/core/dist/streams.d.ts.map +1 -0
  297. package/vendor/@appport/core/dist/streams.js +123 -0
  298. package/vendor/@appport/core/dist/streams.js.map +1 -0
  299. package/vendor/@appport/core/dist/telemetry.d.ts +42 -0
  300. package/vendor/@appport/core/dist/telemetry.d.ts.map +1 -0
  301. package/vendor/@appport/core/dist/telemetry.js +32 -0
  302. package/vendor/@appport/core/dist/telemetry.js.map +1 -0
  303. package/vendor/@appport/core/dist/wasm-engine.d.ts +24 -0
  304. package/vendor/@appport/core/dist/wasm-engine.d.ts.map +1 -0
  305. package/vendor/@appport/core/dist/wasm-engine.js +376 -0
  306. package/vendor/@appport/core/dist/wasm-engine.js.map +1 -0
  307. package/vendor/@appport/core/package.json +58 -0
  308. package/vendor/@appport/mcp/README.md +29 -0
  309. package/vendor/@appport/mcp/dist/index.d.ts +59 -0
  310. package/vendor/@appport/mcp/dist/index.d.ts.map +1 -0
  311. package/vendor/@appport/mcp/dist/index.js +70 -0
  312. package/vendor/@appport/mcp/dist/index.js.map +1 -0
  313. package/vendor/@appport/mcp/package.json +29 -0
  314. package/vendor/@appport/mobile/README.md +10 -0
  315. package/vendor/@appport/mobile/dist/index.d.ts +66 -0
  316. package/vendor/@appport/mobile/dist/index.d.ts.map +1 -0
  317. package/vendor/@appport/mobile/dist/index.js +182 -0
  318. package/vendor/@appport/mobile/dist/index.js.map +1 -0
  319. package/vendor/@appport/mobile/package.json +33 -0
  320. package/vendor/@appport/protocol/README.md +41 -0
  321. package/vendor/@appport/protocol/dist/blob.d.ts +46 -0
  322. package/vendor/@appport/protocol/dist/blob.d.ts.map +1 -0
  323. package/vendor/@appport/protocol/dist/blob.js +23 -0
  324. package/vendor/@appport/protocol/dist/blob.js.map +1 -0
  325. package/vendor/@appport/protocol/dist/compatibility.d.ts +25 -0
  326. package/vendor/@appport/protocol/dist/compatibility.d.ts.map +1 -0
  327. package/vendor/@appport/protocol/dist/compatibility.js +189 -0
  328. package/vendor/@appport/protocol/dist/compatibility.js.map +1 -0
  329. package/vendor/@appport/protocol/dist/envelopes.d.ts +175 -0
  330. package/vendor/@appport/protocol/dist/envelopes.d.ts.map +1 -0
  331. package/vendor/@appport/protocol/dist/envelopes.js +97 -0
  332. package/vendor/@appport/protocol/dist/envelopes.js.map +1 -0
  333. package/vendor/@appport/protocol/dist/errors.d.ts +74 -0
  334. package/vendor/@appport/protocol/dist/errors.d.ts.map +1 -0
  335. package/vendor/@appport/protocol/dist/errors.js +92 -0
  336. package/vendor/@appport/protocol/dist/errors.js.map +1 -0
  337. package/vendor/@appport/protocol/dist/ids.d.ts +12 -0
  338. package/vendor/@appport/protocol/dist/ids.d.ts.map +1 -0
  339. package/vendor/@appport/protocol/dist/ids.js +50 -0
  340. package/vendor/@appport/protocol/dist/ids.js.map +1 -0
  341. package/vendor/@appport/protocol/dist/index.d.ts +21 -0
  342. package/vendor/@appport/protocol/dist/index.d.ts.map +1 -0
  343. package/vendor/@appport/protocol/dist/index.js +21 -0
  344. package/vendor/@appport/protocol/dist/index.js.map +1 -0
  345. package/vendor/@appport/protocol/dist/jsonschema.d.ts +50 -0
  346. package/vendor/@appport/protocol/dist/jsonschema.d.ts.map +1 -0
  347. package/vendor/@appport/protocol/dist/jsonschema.js +6 -0
  348. package/vendor/@appport/protocol/dist/jsonschema.js.map +1 -0
  349. package/vendor/@appport/protocol/dist/manifest.d.ts +134 -0
  350. package/vendor/@appport/protocol/dist/manifest.d.ts.map +1 -0
  351. package/vendor/@appport/protocol/dist/manifest.js +20 -0
  352. package/vendor/@appport/protocol/dist/manifest.js.map +1 -0
  353. package/vendor/@appport/protocol/dist/materialization.d.ts +59 -0
  354. package/vendor/@appport/protocol/dist/materialization.d.ts.map +1 -0
  355. package/vendor/@appport/protocol/dist/materialization.js +2 -0
  356. package/vendor/@appport/protocol/dist/materialization.js.map +1 -0
  357. package/vendor/@appport/protocol/dist/names.d.ts +26 -0
  358. package/vendor/@appport/protocol/dist/names.d.ts.map +1 -0
  359. package/vendor/@appport/protocol/dist/names.js +85 -0
  360. package/vendor/@appport/protocol/dist/names.js.map +1 -0
  361. package/vendor/@appport/protocol/dist/operations.d.ts +34 -0
  362. package/vendor/@appport/protocol/dist/operations.d.ts.map +1 -0
  363. package/vendor/@appport/protocol/dist/operations.js +9 -0
  364. package/vendor/@appport/protocol/dist/operations.js.map +1 -0
  365. package/vendor/@appport/protocol/dist/session.d.ts +27 -0
  366. package/vendor/@appport/protocol/dist/session.d.ts.map +1 -0
  367. package/vendor/@appport/protocol/dist/session.js +7 -0
  368. package/vendor/@appport/protocol/dist/session.js.map +1 -0
  369. package/vendor/@appport/protocol/dist/validate.d.ts +37 -0
  370. package/vendor/@appport/protocol/dist/validate.d.ts.map +1 -0
  371. package/vendor/@appport/protocol/dist/validate.js +321 -0
  372. package/vendor/@appport/protocol/dist/validate.js.map +1 -0
  373. package/vendor/@appport/protocol/dist/version.d.ts +27 -0
  374. package/vendor/@appport/protocol/dist/version.d.ts.map +1 -0
  375. package/vendor/@appport/protocol/dist/version.js +26 -0
  376. package/vendor/@appport/protocol/dist/version.js.map +1 -0
  377. package/vendor/@appport/protocol/package.json +25 -0
  378. package/vendor/@appport/schema/README.md +32 -0
  379. package/vendor/@appport/schema/dist/builder.d.ts +85 -0
  380. package/vendor/@appport/schema/dist/builder.d.ts.map +1 -0
  381. package/vendor/@appport/schema/dist/builder.js +278 -0
  382. package/vendor/@appport/schema/dist/builder.js.map +1 -0
  383. package/vendor/@appport/schema/dist/from-json-schema.d.ts +12 -0
  384. package/vendor/@appport/schema/dist/from-json-schema.d.ts.map +1 -0
  385. package/vendor/@appport/schema/dist/from-json-schema.js +186 -0
  386. package/vendor/@appport/schema/dist/from-json-schema.js.map +1 -0
  387. package/vendor/@appport/schema/dist/index.d.ts +23 -0
  388. package/vendor/@appport/schema/dist/index.d.ts.map +1 -0
  389. package/vendor/@appport/schema/dist/index.js +22 -0
  390. package/vendor/@appport/schema/dist/index.js.map +1 -0
  391. package/vendor/@appport/schema/dist/standard.d.ts +46 -0
  392. package/vendor/@appport/schema/dist/standard.d.ts.map +1 -0
  393. package/vendor/@appport/schema/dist/standard.js +42 -0
  394. package/vendor/@appport/schema/dist/standard.js.map +1 -0
  395. package/vendor/@appport/schema/dist/types.d.ts +40 -0
  396. package/vendor/@appport/schema/dist/types.d.ts.map +1 -0
  397. package/vendor/@appport/schema/dist/types.js +19 -0
  398. package/vendor/@appport/schema/dist/types.js.map +1 -0
  399. package/vendor/@appport/schema/package.json +28 -0
  400. package/vendor/@appport/server/README.md +39 -0
  401. package/vendor/@appport/server/dist/connection.d.ts +45 -0
  402. package/vendor/@appport/server/dist/connection.d.ts.map +1 -0
  403. package/vendor/@appport/server/dist/connection.js +217 -0
  404. package/vendor/@appport/server/dist/connection.js.map +1 -0
  405. package/vendor/@appport/server/dist/fetch.d.ts +10 -0
  406. package/vendor/@appport/server/dist/fetch.d.ts.map +1 -0
  407. package/vendor/@appport/server/dist/fetch.js +50 -0
  408. package/vendor/@appport/server/dist/fetch.js.map +1 -0
  409. package/vendor/@appport/server/dist/http.d.ts +80 -0
  410. package/vendor/@appport/server/dist/http.d.ts.map +1 -0
  411. package/vendor/@appport/server/dist/http.js +307 -0
  412. package/vendor/@appport/server/dist/http.js.map +1 -0
  413. package/vendor/@appport/server/dist/index.d.ts +11 -0
  414. package/vendor/@appport/server/dist/index.d.ts.map +1 -0
  415. package/vendor/@appport/server/dist/index.js +11 -0
  416. package/vendor/@appport/server/dist/index.js.map +1 -0
  417. package/vendor/@appport/server/dist/node-entry.d.ts +4 -0
  418. package/vendor/@appport/server/dist/node-entry.d.ts.map +1 -0
  419. package/vendor/@appport/server/dist/node-entry.js +4 -0
  420. package/vendor/@appport/server/dist/node-entry.js.map +1 -0
  421. package/vendor/@appport/server/dist/node.d.ts +45 -0
  422. package/vendor/@appport/server/dist/node.d.ts.map +1 -0
  423. package/vendor/@appport/server/dist/node.js +190 -0
  424. package/vendor/@appport/server/dist/node.js.map +1 -0
  425. package/vendor/@appport/server/dist/server.d.ts +83 -0
  426. package/vendor/@appport/server/dist/server.d.ts.map +1 -0
  427. package/vendor/@appport/server/dist/server.js +114 -0
  428. package/vendor/@appport/server/dist/server.js.map +1 -0
  429. package/vendor/@appport/server/dist/websocket.d.ts +25 -0
  430. package/vendor/@appport/server/dist/websocket.d.ts.map +1 -0
  431. package/vendor/@appport/server/dist/websocket.js +221 -0
  432. package/vendor/@appport/server/dist/websocket.js.map +1 -0
  433. package/vendor/@appport/server/package.json +34 -0
  434. package/vendor/@appport/transport-electron/README.md +56 -0
  435. package/vendor/@appport/transport-electron/dist/index.d.ts +11 -0
  436. package/vendor/@appport/transport-electron/dist/index.d.ts.map +1 -0
  437. package/vendor/@appport/transport-electron/dist/index.js +11 -0
  438. package/vendor/@appport/transport-electron/dist/index.js.map +1 -0
  439. package/vendor/@appport/transport-electron/dist/main.d.ts +31 -0
  440. package/vendor/@appport/transport-electron/dist/main.d.ts.map +1 -0
  441. package/vendor/@appport/transport-electron/dist/main.js +61 -0
  442. package/vendor/@appport/transport-electron/dist/main.js.map +1 -0
  443. package/vendor/@appport/transport-electron/dist/preload.d.ts +22 -0
  444. package/vendor/@appport/transport-electron/dist/preload.d.ts.map +1 -0
  445. package/vendor/@appport/transport-electron/dist/preload.js +29 -0
  446. package/vendor/@appport/transport-electron/dist/preload.js.map +1 -0
  447. package/vendor/@appport/transport-electron/dist/renderer.d.ts +16 -0
  448. package/vendor/@appport/transport-electron/dist/renderer.d.ts.map +1 -0
  449. package/vendor/@appport/transport-electron/dist/renderer.js +36 -0
  450. package/vendor/@appport/transport-electron/dist/renderer.js.map +1 -0
  451. package/vendor/@appport/transport-electron/dist/types.d.ts +49 -0
  452. package/vendor/@appport/transport-electron/dist/types.d.ts.map +1 -0
  453. package/vendor/@appport/transport-electron/dist/types.js +5 -0
  454. package/vendor/@appport/transport-electron/dist/types.js.map +1 -0
  455. package/vendor/@appport/transport-electron/package.json +46 -0
  456. package/vendor/@appport/transport-http/README.md +24 -0
  457. package/vendor/@appport/transport-http/dist/index.d.ts +18 -0
  458. package/vendor/@appport/transport-http/dist/index.d.ts.map +1 -0
  459. package/vendor/@appport/transport-http/dist/index.js +223 -0
  460. package/vendor/@appport/transport-http/dist/index.js.map +1 -0
  461. package/vendor/@appport/transport-http/package.json +29 -0
  462. package/vendor/@appport/transport-inprocess/README.md +24 -0
  463. package/vendor/@appport/transport-inprocess/dist/index.d.ts +16 -0
  464. package/vendor/@appport/transport-inprocess/dist/index.d.ts.map +1 -0
  465. package/vendor/@appport/transport-inprocess/dist/index.js +30 -0
  466. package/vendor/@appport/transport-inprocess/dist/index.js.map +1 -0
  467. package/vendor/@appport/transport-inprocess/package.json +30 -0
  468. package/vendor/@appport/transport-tauri/README.md +45 -0
  469. package/vendor/@appport/transport-tauri/dist/index.d.ts +23 -0
  470. package/vendor/@appport/transport-tauri/dist/index.d.ts.map +1 -0
  471. package/vendor/@appport/transport-tauri/dist/index.js +44 -0
  472. package/vendor/@appport/transport-tauri/dist/index.js.map +1 -0
  473. package/vendor/@appport/transport-tauri/package.json +29 -0
  474. package/vendor/@appport/transport-websocket/README.md +22 -0
  475. package/vendor/@appport/transport-websocket/dist/index.d.ts +26 -0
  476. package/vendor/@appport/transport-websocket/dist/index.d.ts.map +1 -0
  477. package/vendor/@appport/transport-websocket/dist/index.js +72 -0
  478. package/vendor/@appport/transport-websocket/dist/index.js.map +1 -0
  479. package/vendor/@appport/transport-websocket/package.json +29 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Binary references (specification §51).
3
+ *
4
+ * AppPort v1 carries references to binary content rather than embedding large
5
+ * blobs in JSON envelopes. Transfer of the bytes themselves is provided by the
6
+ * application or an extension, not by the core protocol.
7
+ */
8
+ export interface BlobRef {
9
+ type: "blob";
10
+ id: string;
11
+ size: number;
12
+ contentType: string;
13
+ /** Optional URL a client may fetch the bytes from, when the deployment offers one. */
14
+ url?: string;
15
+ /** Optional content digest, e.g. `sha256:...`. */
16
+ digest?: string;
17
+ }
18
+ export declare function isBlobRef(value: unknown): value is BlobRef;
19
+ export declare const BLOB_REF_SCHEMA: {
20
+ readonly type: "object";
21
+ readonly title: "BlobRef";
22
+ readonly properties: {
23
+ readonly type: {
24
+ readonly const: "blob";
25
+ };
26
+ readonly id: {
27
+ readonly type: "string";
28
+ };
29
+ readonly size: {
30
+ readonly type: "integer";
31
+ readonly minimum: 0;
32
+ };
33
+ readonly contentType: {
34
+ readonly type: "string";
35
+ };
36
+ readonly url: {
37
+ readonly type: "string";
38
+ };
39
+ readonly digest: {
40
+ readonly type: "string";
41
+ };
42
+ };
43
+ readonly required: readonly ["type", "id", "size", "contentType"];
44
+ readonly additionalProperties: false;
45
+ };
46
+ //# sourceMappingURL=blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../src/blob.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAS1D;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CAalB,CAAC"}
@@ -0,0 +1,23 @@
1
+ export function isBlobRef(value) {
2
+ return (typeof value === "object" &&
3
+ value !== null &&
4
+ value.type === "blob" &&
5
+ typeof value.id === "string" &&
6
+ typeof value.size === "number" &&
7
+ typeof value.contentType === "string");
8
+ }
9
+ export const BLOB_REF_SCHEMA = {
10
+ type: "object",
11
+ title: "BlobRef",
12
+ properties: {
13
+ type: { const: "blob" },
14
+ id: { type: "string" },
15
+ size: { type: "integer", minimum: 0 },
16
+ contentType: { type: "string" },
17
+ url: { type: "string" },
18
+ digest: { type: "string" }
19
+ },
20
+ required: ["type", "id", "size", "contentType"],
21
+ additionalProperties: false
22
+ };
23
+ //# sourceMappingURL=blob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../src/blob.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAiB,CAAC,IAAI,KAAK,MAAM;QAClC,OAAQ,KAAiB,CAAC,EAAE,KAAK,QAAQ;QACzC,OAAQ,KAAiB,CAAC,IAAI,KAAK,QAAQ;QAC3C,OAAQ,KAAiB,CAAC,WAAW,KAAK,QAAQ,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACvB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACrC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC;IAC/C,oBAAoB,EAAE,KAAK;CACnB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { AppPortManifest } from "./manifest.js";
2
+ /**
3
+ * Backwards-compatibility analysis (specification §43).
4
+ *
5
+ * Adding an optional field, adding a capability or adding a capability version
6
+ * is non-breaking. Removing a required field, removing a capability version,
7
+ * changing a field's type, or tightening authorization is breaking.
8
+ */
9
+ export type ChangeSeverity = "breaking" | "non-breaking";
10
+ export interface ManifestChange {
11
+ severity: ChangeSeverity;
12
+ /** Machine-readable change kind, e.g. `capability.removed`. */
13
+ kind: string;
14
+ /** Where the change applies, e.g. `documents.save@1 input.content`. */
15
+ target: string;
16
+ message: string;
17
+ }
18
+ export interface CompatibilityReport {
19
+ compatible: boolean;
20
+ breaking: ManifestChange[];
21
+ nonBreaking: ManifestChange[];
22
+ }
23
+ /** Compares two manifests and classifies every difference. */
24
+ export declare function compareManifests(previous: AppPortManifest, next: AppPortManifest): CompatibilityReport;
25
+ //# sourceMappingURL=compatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,eAAe,CAAC;AAG7E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,cAAc,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AA+HD,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,mBAAmB,CAwFtG"}
@@ -0,0 +1,189 @@
1
+ function typesOf(schema) {
2
+ if (!schema?.type)
3
+ return [];
4
+ return Array.isArray(schema.type) ? [...schema.type].sort() : [schema.type];
5
+ }
6
+ function sameType(a, b) {
7
+ const ta = typesOf(a);
8
+ const tb = typesOf(b);
9
+ if (ta.length !== tb.length)
10
+ return false;
11
+ return ta.every((t, i) => t === tb[i]);
12
+ }
13
+ function compareSchema(previous, next, target, direction, changes) {
14
+ if (!sameType(previous, next)) {
15
+ changes.push({
16
+ severity: "breaking",
17
+ kind: `${direction}.type-changed`,
18
+ target,
19
+ message: `type changed from ${typesOf(previous).join("|") || "any"} to ${typesOf(next).join("|") || "any"}`
20
+ });
21
+ return;
22
+ }
23
+ const previousProps = previous.properties ?? {};
24
+ const nextProps = next.properties ?? {};
25
+ const previousRequired = new Set(previous.required ?? []);
26
+ const nextRequired = new Set(next.required ?? []);
27
+ for (const [key, schema] of Object.entries(previousProps)) {
28
+ const nextSchema = nextProps[key];
29
+ if (!nextSchema) {
30
+ // Removing an input field the client may still send is tolerated for
31
+ // inputs only when it was optional; removing output fields is breaking.
32
+ const wasRequired = previousRequired.has(key);
33
+ changes.push({
34
+ severity: direction === "output" || wasRequired ? "breaking" : "non-breaking",
35
+ kind: `${direction}.field-removed`,
36
+ target: `${target}.${key}`,
37
+ message: `field "${key}" was removed`
38
+ });
39
+ continue;
40
+ }
41
+ compareSchema(schema, nextSchema, `${target}.${key}`, direction, changes);
42
+ }
43
+ for (const key of Object.keys(nextProps)) {
44
+ if (previousProps[key])
45
+ continue;
46
+ const required = nextRequired.has(key);
47
+ if (direction === "input") {
48
+ changes.push({
49
+ severity: required ? "breaking" : "non-breaking",
50
+ kind: "input.field-added",
51
+ target: `${target}.${key}`,
52
+ message: required ? `required field "${key}" was added` : `optional field "${key}" was added`
53
+ });
54
+ }
55
+ else {
56
+ changes.push({
57
+ severity: "non-breaking",
58
+ kind: "output.field-added",
59
+ target: `${target}.${key}`,
60
+ message: `field "${key}" was added`
61
+ });
62
+ }
63
+ }
64
+ for (const key of nextRequired) {
65
+ if (!previousRequired.has(key) && previousProps[key] && direction === "input") {
66
+ changes.push({
67
+ severity: "breaking",
68
+ kind: "input.field-now-required",
69
+ target: `${target}.${key}`,
70
+ message: `optional field "${key}" is now required`
71
+ });
72
+ }
73
+ }
74
+ for (const key of previousRequired) {
75
+ if (!nextRequired.has(key) && nextProps[key] && direction === "output") {
76
+ changes.push({
77
+ severity: "breaking",
78
+ kind: "output.field-now-optional",
79
+ target: `${target}.${key}`,
80
+ message: `guaranteed field "${key}" is no longer required`
81
+ });
82
+ }
83
+ }
84
+ }
85
+ function compareVersion(name, previous, next, changes) {
86
+ const target = `${name}@${previous.version}`;
87
+ if (previous.kind !== next.kind) {
88
+ changes.push({
89
+ severity: "breaking",
90
+ kind: "capability.kind-changed",
91
+ target,
92
+ message: `kind changed from ${previous.kind} to ${next.kind}`
93
+ });
94
+ }
95
+ compareSchema(previous.inputSchema, next.inputSchema, `${target} input`, "input", changes);
96
+ compareSchema(previous.outputSchema, next.outputSchema, `${target} output`, "output", changes);
97
+ const previousPermissions = new Set(previous.authorization);
98
+ for (const permission of next.authorization) {
99
+ if (!previousPermissions.has(permission)) {
100
+ changes.push({
101
+ severity: "breaking",
102
+ kind: "capability.authorization-tightened",
103
+ target,
104
+ message: `now requires permission "${permission}"`
105
+ });
106
+ }
107
+ }
108
+ }
109
+ /** Compares two manifests and classifies every difference. */
110
+ export function compareManifests(previous, next) {
111
+ const changes = [];
112
+ const nextCapabilities = new Map(next.capabilities.map((entry) => [entry.name, entry]));
113
+ for (const previousEntry of previous.capabilities) {
114
+ const nextEntry = nextCapabilities.get(previousEntry.name);
115
+ if (!nextEntry) {
116
+ changes.push({
117
+ severity: "breaking",
118
+ kind: "capability.removed",
119
+ target: previousEntry.name,
120
+ message: `capability "${previousEntry.name}" was removed`
121
+ });
122
+ continue;
123
+ }
124
+ const nextVersions = new Map(nextEntry.definitions.map((d) => [d.version, d]));
125
+ for (const previousVersion of previousEntry.definitions) {
126
+ const nextVersion = nextVersions.get(previousVersion.version);
127
+ if (!nextVersion) {
128
+ changes.push({
129
+ severity: "breaking",
130
+ kind: "capability.version-removed",
131
+ target: `${previousEntry.name}@${previousVersion.version}`,
132
+ message: `version ${previousVersion.version} was removed`
133
+ });
134
+ continue;
135
+ }
136
+ compareVersion(previousEntry.name, previousVersion, nextVersion, changes);
137
+ }
138
+ for (const nextVersion of nextEntry.definitions) {
139
+ if (!previousEntry.definitions.some((d) => d.version === nextVersion.version)) {
140
+ changes.push({
141
+ severity: "non-breaking",
142
+ kind: "capability.version-added",
143
+ target: `${nextEntry.name}@${nextVersion.version}`,
144
+ message: `version ${nextVersion.version} was added`
145
+ });
146
+ }
147
+ }
148
+ }
149
+ const previousCapabilities = new Set(previous.capabilities.map((entry) => entry.name));
150
+ for (const entry of next.capabilities) {
151
+ if (!previousCapabilities.has(entry.name)) {
152
+ changes.push({
153
+ severity: "non-breaking",
154
+ kind: "capability.added",
155
+ target: entry.name,
156
+ message: `capability "${entry.name}" was added`
157
+ });
158
+ }
159
+ }
160
+ const nextEvents = new Map(next.events.map((entry) => [entry.name, entry]));
161
+ for (const previousEvent of previous.events) {
162
+ const nextEvent = nextEvents.get(previousEvent.name);
163
+ if (!nextEvent) {
164
+ changes.push({
165
+ severity: "breaking",
166
+ kind: "event.removed",
167
+ target: previousEvent.name,
168
+ message: `event "${previousEvent.name}" was removed`
169
+ });
170
+ continue;
171
+ }
172
+ compareSchema(previousEvent.payloadSchema, nextEvent.payloadSchema, `${previousEvent.name} payload`, "output", changes);
173
+ }
174
+ const previousEvents = new Set(previous.events.map((entry) => entry.name));
175
+ for (const entry of next.events) {
176
+ if (!previousEvents.has(entry.name)) {
177
+ changes.push({
178
+ severity: "non-breaking",
179
+ kind: "event.added",
180
+ target: entry.name,
181
+ message: `event "${entry.name}" was added`
182
+ });
183
+ }
184
+ }
185
+ const breaking = changes.filter((change) => change.severity === "breaking");
186
+ const nonBreaking = changes.filter((change) => change.severity === "non-breaking");
187
+ return { compatible: breaking.length === 0, breaking, nonBreaking };
188
+ }
189
+ //# sourceMappingURL=compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ import type { AppErrorObject, JsonValue } from "./errors.js";
2
+ import { type ProtocolId } from "./version.js";
3
+ /** A capability reference: name plus the requested capability version (§42). */
4
+ export interface CapabilityRef {
5
+ name: string;
6
+ version: number;
7
+ }
8
+ /**
9
+ * Transport-neutral request metadata (§10).
10
+ *
11
+ * Metadata never carries transport primitives (HTTP headers, IPC handles).
12
+ * A transport MAY populate `transport` and `receivedAt`; everything else is
13
+ * supplied by the application.
14
+ */
15
+ export interface RequestMetadata {
16
+ /** Kind of the transport that carried the request, e.g. `http`, `ipc`. */
17
+ transport?: string;
18
+ /** ISO-8601 timestamp assigned when the server accepted the envelope. */
19
+ receivedAt?: string;
20
+ /** BCP-47 locale hint. */
21
+ locale?: string;
22
+ /** Free-form, non-sensitive application metadata. */
23
+ attributes?: Record<string, JsonValue>;
24
+ }
25
+ /** Fields shared by every envelope. */
26
+ export interface EnvelopeBase {
27
+ protocol: ProtocolId;
28
+ type: EnvelopeType;
29
+ /** Correlation identifier propagated across process boundaries (§54). */
30
+ traceId?: string;
31
+ /** Namespaced protocol extensions (§71). Unknown extensions are ignored. */
32
+ extensions?: Record<string, JsonValue>;
33
+ }
34
+ export declare const ENVELOPE_TYPES: readonly ["request", "response", "event", "subscribe", "unsubscribe", "stream.request", "stream.start", "stream.chunk", "stream.end", "stream.cancel"];
35
+ export type EnvelopeType = (typeof ENVELOPE_TYPES)[number];
36
+ /** Request → response (§11). */
37
+ export interface AppRequest<Input = unknown> extends EnvelopeBase {
38
+ type: "request";
39
+ requestId: string;
40
+ capability: CapabilityRef;
41
+ input: Input;
42
+ /** Deduplication key for mutating capabilities (§44). */
43
+ idempotencyKey?: string;
44
+ /** Client-requested deadline in milliseconds (§46). Servers MAY clamp it. */
45
+ timeoutMs?: number;
46
+ metadata?: RequestMetadata;
47
+ }
48
+ /** Request → sequence of values (§20). Same shape as {@link AppRequest}. */
49
+ export interface AppStreamRequest<Input = unknown> extends Omit<AppRequest<Input>, "type"> {
50
+ type: "stream.request";
51
+ }
52
+ export interface AppSuccessResponse<Output = unknown> extends EnvelopeBase {
53
+ type: "response";
54
+ requestId: string;
55
+ ok: true;
56
+ output: Output;
57
+ }
58
+ export interface AppErrorResponse extends EnvelopeBase {
59
+ type: "response";
60
+ requestId: string;
61
+ ok: false;
62
+ error: AppErrorObject;
63
+ }
64
+ export type AppResponse<Output = unknown> = AppSuccessResponse<Output> | AppErrorResponse;
65
+ /** Publisher → subscribers (§17). Events are one-way and never answered. */
66
+ export interface AppEventEnvelope<Payload = unknown> extends EnvelopeBase {
67
+ type: "event";
68
+ event: CapabilityRef;
69
+ eventId: string;
70
+ /** ISO-8601 timestamp of publication. */
71
+ timestamp: string;
72
+ payload: Payload;
73
+ /** Set when the event is delivered against a specific subscription (§18). */
74
+ subscriptionId?: string;
75
+ }
76
+ /** Client → server subscription control (§18). */
77
+ export interface AppSubscribeRequest extends EnvelopeBase {
78
+ type: "subscribe";
79
+ requestId: string;
80
+ subscriptionId: string;
81
+ /** Event name, or `*` for every event the session may observe. */
82
+ event: {
83
+ name: string;
84
+ version?: number;
85
+ };
86
+ }
87
+ export interface AppUnsubscribeRequest extends EnvelopeBase {
88
+ type: "unsubscribe";
89
+ requestId: string;
90
+ subscriptionId: string;
91
+ }
92
+ export interface AppStreamStart extends EnvelopeBase {
93
+ type: "stream.start";
94
+ requestId: string;
95
+ streamId: string;
96
+ }
97
+ export interface AppStreamChunk<Payload = unknown> extends EnvelopeBase {
98
+ type: "stream.chunk";
99
+ streamId: string;
100
+ /** Zero-based, strictly increasing within a stream. */
101
+ sequence: number;
102
+ payload: Payload;
103
+ }
104
+ export interface AppStreamEnd extends EnvelopeBase {
105
+ type: "stream.end";
106
+ streamId: string;
107
+ /** Present when the stream terminated abnormally (`STREAM_ERROR`, `CANCELLED`). */
108
+ error?: AppErrorObject;
109
+ }
110
+ /** Client → server stream cancellation (§21). */
111
+ export interface AppStreamCancel extends EnvelopeBase {
112
+ type: "stream.cancel";
113
+ streamId: string;
114
+ reason?: string;
115
+ }
116
+ export type AppEnvelope = AppRequest | AppStreamRequest | AppResponse | AppEventEnvelope | AppSubscribeRequest | AppUnsubscribeRequest | AppStreamStart | AppStreamChunk | AppStreamEnd | AppStreamCancel;
117
+ /** Envelopes a client sends to a server. */
118
+ export type ClientEnvelope = AppRequest | AppStreamRequest | AppSubscribeRequest | AppUnsubscribeRequest | AppStreamCancel;
119
+ /** Envelopes a server sends to a client. */
120
+ export type ServerEnvelope = AppResponse | AppEventEnvelope | AppStreamStart | AppStreamChunk | AppStreamEnd;
121
+ export interface CreateRequestOptions {
122
+ requestId: string;
123
+ capability: CapabilityRef;
124
+ input: unknown;
125
+ idempotencyKey?: string;
126
+ timeoutMs?: number;
127
+ traceId?: string;
128
+ metadata?: RequestMetadata;
129
+ extensions?: Record<string, JsonValue>;
130
+ }
131
+ export declare function createRequest(options: CreateRequestOptions): AppRequest;
132
+ export declare function createStreamRequest(options: CreateRequestOptions): AppStreamRequest;
133
+ export declare function createSuccessResponse<Output>(requestId: string, output: Output, extra?: {
134
+ traceId?: string;
135
+ extensions?: Record<string, JsonValue>;
136
+ }): AppSuccessResponse<Output>;
137
+ export declare function createErrorResponse(requestId: string, error: AppErrorObject, extra?: {
138
+ traceId?: string;
139
+ extensions?: Record<string, JsonValue>;
140
+ }): AppErrorResponse;
141
+ export declare function createEvent<Payload>(options: {
142
+ name: string;
143
+ version: number;
144
+ eventId: string;
145
+ payload: Payload;
146
+ timestamp?: string;
147
+ subscriptionId?: string;
148
+ traceId?: string;
149
+ extensions?: Record<string, JsonValue>;
150
+ }): AppEventEnvelope<Payload>;
151
+ export declare function createStreamStart(requestId: string, streamId: string, traceId?: string): AppStreamStart;
152
+ export declare function createStreamChunk<Payload>(streamId: string, sequence: number, payload: Payload): AppStreamChunk<Payload>;
153
+ export declare function createStreamEnd(streamId: string, error?: AppErrorObject): AppStreamEnd;
154
+ export declare function createStreamCancel(streamId: string, reason?: string): AppStreamCancel;
155
+ export declare function createSubscribe(requestId: string, subscriptionId: string, event: {
156
+ name: string;
157
+ version?: number;
158
+ }): AppSubscribeRequest;
159
+ export declare function createUnsubscribe(requestId: string, subscriptionId: string): AppUnsubscribeRequest;
160
+ declare function isEnvelopeLike(value: unknown): value is EnvelopeBase;
161
+ export declare const isEnvelope: typeof isEnvelopeLike;
162
+ export declare const isRequest: (v: unknown) => v is AppRequest;
163
+ export declare const isStreamRequest: (v: unknown) => v is AppStreamRequest;
164
+ export declare const isResponse: (v: unknown) => v is AppResponse;
165
+ export declare const isEventEnvelope: (v: unknown) => v is AppEventEnvelope;
166
+ export declare const isSubscribeRequest: (v: unknown) => v is AppSubscribeRequest;
167
+ export declare const isUnsubscribeRequest: (v: unknown) => v is AppUnsubscribeRequest;
168
+ export declare const isStreamStart: (v: unknown) => v is AppStreamStart;
169
+ export declare const isStreamChunk: (v: unknown) => v is AppStreamChunk;
170
+ export declare const isStreamEnd: (v: unknown) => v is AppStreamEnd;
171
+ export declare const isStreamCancel: (v: unknown) => v is AppStreamCancel;
172
+ export declare const isSuccessResponse: <O>(v: AppResponse<O>) => v is AppSuccessResponse<O>;
173
+ export declare const isErrorResponse: (v: AppResponse<unknown>) => v is AppErrorResponse;
174
+ export {};
175
+ //# sourceMappingURL=envelopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelopes.d.ts","sourceRoot":"","sources":["../src/envelopes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { PROTOCOL_ID } from "./version.js";
2
+ export const ENVELOPE_TYPES = [
3
+ "request",
4
+ "response",
5
+ "event",
6
+ "subscribe",
7
+ "unsubscribe",
8
+ "stream.request",
9
+ "stream.start",
10
+ "stream.chunk",
11
+ "stream.end",
12
+ "stream.cancel"
13
+ ];
14
+ function withOptional(base, optional) {
15
+ for (const [key, value] of Object.entries(optional)) {
16
+ if (value !== undefined)
17
+ base[key] = value;
18
+ }
19
+ return base;
20
+ }
21
+ export function createRequest(options) {
22
+ return withOptional({
23
+ protocol: PROTOCOL_ID,
24
+ type: "request",
25
+ requestId: options.requestId,
26
+ capability: options.capability,
27
+ input: options.input
28
+ }, {
29
+ idempotencyKey: options.idempotencyKey,
30
+ timeoutMs: options.timeoutMs,
31
+ traceId: options.traceId,
32
+ metadata: options.metadata,
33
+ extensions: options.extensions
34
+ });
35
+ }
36
+ export function createStreamRequest(options) {
37
+ return { ...createRequest(options), type: "stream.request" };
38
+ }
39
+ export function createSuccessResponse(requestId, output, extra = {}) {
40
+ return withOptional({ protocol: PROTOCOL_ID, type: "response", requestId, ok: true, output }, extra);
41
+ }
42
+ export function createErrorResponse(requestId, error, extra = {}) {
43
+ return withOptional({ protocol: PROTOCOL_ID, type: "response", requestId, ok: false, error }, extra);
44
+ }
45
+ export function createEvent(options) {
46
+ return withOptional({
47
+ protocol: PROTOCOL_ID,
48
+ type: "event",
49
+ event: { name: options.name, version: options.version },
50
+ eventId: options.eventId,
51
+ timestamp: options.timestamp ?? new Date().toISOString(),
52
+ payload: options.payload
53
+ }, { subscriptionId: options.subscriptionId, traceId: options.traceId, extensions: options.extensions });
54
+ }
55
+ export function createStreamStart(requestId, streamId, traceId) {
56
+ return withOptional({ protocol: PROTOCOL_ID, type: "stream.start", requestId, streamId }, {
57
+ traceId
58
+ });
59
+ }
60
+ export function createStreamChunk(streamId, sequence, payload) {
61
+ return { protocol: PROTOCOL_ID, type: "stream.chunk", streamId, sequence, payload };
62
+ }
63
+ export function createStreamEnd(streamId, error) {
64
+ return withOptional({ protocol: PROTOCOL_ID, type: "stream.end", streamId }, { error });
65
+ }
66
+ export function createStreamCancel(streamId, reason) {
67
+ return withOptional({ protocol: PROTOCOL_ID, type: "stream.cancel", streamId }, { reason });
68
+ }
69
+ export function createSubscribe(requestId, subscriptionId, event) {
70
+ return { protocol: PROTOCOL_ID, type: "subscribe", requestId, subscriptionId, event };
71
+ }
72
+ export function createUnsubscribe(requestId, subscriptionId) {
73
+ return { protocol: PROTOCOL_ID, type: "unsubscribe", requestId, subscriptionId };
74
+ }
75
+ // ---------------------------------------------------------------------------
76
+ // Guards
77
+ // ---------------------------------------------------------------------------
78
+ function isEnvelopeLike(value) {
79
+ return (typeof value === "object" &&
80
+ value !== null &&
81
+ value.protocol === PROTOCOL_ID &&
82
+ typeof value.type === "string");
83
+ }
84
+ export const isEnvelope = isEnvelopeLike;
85
+ export const isRequest = (v) => isEnvelopeLike(v) && v.type === "request";
86
+ export const isStreamRequest = (v) => isEnvelopeLike(v) && v.type === "stream.request";
87
+ export const isResponse = (v) => isEnvelopeLike(v) && v.type === "response";
88
+ export const isEventEnvelope = (v) => isEnvelopeLike(v) && v.type === "event";
89
+ export const isSubscribeRequest = (v) => isEnvelopeLike(v) && v.type === "subscribe";
90
+ export const isUnsubscribeRequest = (v) => isEnvelopeLike(v) && v.type === "unsubscribe";
91
+ export const isStreamStart = (v) => isEnvelopeLike(v) && v.type === "stream.start";
92
+ export const isStreamChunk = (v) => isEnvelopeLike(v) && v.type === "stream.chunk";
93
+ export const isStreamEnd = (v) => isEnvelopeLike(v) && v.type === "stream.end";
94
+ export const isStreamCancel = (v) => isEnvelopeLike(v) && v.type === "stream.cancel";
95
+ export const isSuccessResponse = (v) => v.ok === true;
96
+ export const isErrorResponse = (v) => v.ok === false;
97
+ //# sourceMappingURL=envelopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelopes.js","sourceRoot":"","sources":["../src/envelopes.ts"],"names":[],"mappings":"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"}