@appport/sdk 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +39 -0
  3. package/dist/index.d.ts +14 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +14 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/node.d.ts +3 -0
  8. package/dist/node.d.ts.map +1 -0
  9. package/dist/node.js +3 -0
  10. package/dist/node.js.map +1 -0
  11. package/node_modules/@appport/authorization/README.md +28 -0
  12. package/node_modules/@appport/authorization/dist/index.d.ts +94 -0
  13. package/node_modules/@appport/authorization/dist/index.d.ts.map +1 -0
  14. package/node_modules/@appport/authorization/dist/index.js +131 -0
  15. package/node_modules/@appport/authorization/dist/index.js.map +1 -0
  16. package/node_modules/@appport/authorization/package.json +28 -0
  17. package/node_modules/@appport/client/README.md +35 -0
  18. package/node_modules/@appport/client/dist/channel.d.ts +14 -0
  19. package/node_modules/@appport/client/dist/channel.d.ts.map +1 -0
  20. package/node_modules/@appport/client/dist/channel.js +58 -0
  21. package/node_modules/@appport/client/dist/channel.js.map +1 -0
  22. package/node_modules/@appport/client/dist/client.d.ts +61 -0
  23. package/node_modules/@appport/client/dist/client.d.ts.map +1 -0
  24. package/node_modules/@appport/client/dist/client.js +214 -0
  25. package/node_modules/@appport/client/dist/client.js.map +1 -0
  26. package/node_modules/@appport/client/dist/contract.d.ts +55 -0
  27. package/node_modules/@appport/client/dist/contract.d.ts.map +1 -0
  28. package/node_modules/@appport/client/dist/contract.js +12 -0
  29. package/node_modules/@appport/client/dist/contract.js.map +1 -0
  30. package/node_modules/@appport/client/dist/discovery.d.ts +17 -0
  31. package/node_modules/@appport/client/dist/discovery.d.ts.map +1 -0
  32. package/node_modules/@appport/client/dist/discovery.js +56 -0
  33. package/node_modules/@appport/client/dist/discovery.js.map +1 -0
  34. package/node_modules/@appport/client/dist/duplex.d.ts +25 -0
  35. package/node_modules/@appport/client/dist/duplex.d.ts.map +1 -0
  36. package/node_modules/@appport/client/dist/duplex.js +194 -0
  37. package/node_modules/@appport/client/dist/duplex.js.map +1 -0
  38. package/node_modules/@appport/client/dist/index.d.ts +13 -0
  39. package/node_modules/@appport/client/dist/index.d.ts.map +1 -0
  40. package/node_modules/@appport/client/dist/index.js +13 -0
  41. package/node_modules/@appport/client/dist/index.js.map +1 -0
  42. package/node_modules/@appport/client/dist/transport.d.ts +42 -0
  43. package/node_modules/@appport/client/dist/transport.d.ts.map +1 -0
  44. package/node_modules/@appport/client/dist/transport.js +2 -0
  45. package/node_modules/@appport/client/dist/transport.js.map +1 -0
  46. package/node_modules/@appport/client/package.json +32 -0
  47. package/node_modules/@appport/core/README.md +91 -0
  48. package/node_modules/@appport/core/dist/appboundry-contract.d.ts +80 -0
  49. package/node_modules/@appport/core/dist/appboundry-contract.d.ts.map +1 -0
  50. package/node_modules/@appport/core/dist/appboundry-contract.js +160 -0
  51. package/node_modules/@appport/core/dist/appboundry-contract.js.map +1 -0
  52. package/node_modules/@appport/core/dist/application-implementation.d.ts +125 -0
  53. package/node_modules/@appport/core/dist/application-implementation.d.ts.map +1 -0
  54. package/node_modules/@appport/core/dist/application-implementation.js +220 -0
  55. package/node_modules/@appport/core/dist/application-implementation.js.map +1 -0
  56. package/node_modules/@appport/core/dist/application-lifecycle.d.ts +150 -0
  57. package/node_modules/@appport/core/dist/application-lifecycle.d.ts.map +1 -0
  58. package/node_modules/@appport/core/dist/application-lifecycle.js +70 -0
  59. package/node_modules/@appport/core/dist/application-lifecycle.js.map +1 -0
  60. package/node_modules/@appport/core/dist/application-source.d.ts +109 -0
  61. package/node_modules/@appport/core/dist/application-source.d.ts.map +1 -0
  62. package/node_modules/@appport/core/dist/application-source.js +186 -0
  63. package/node_modules/@appport/core/dist/application-source.js.map +1 -0
  64. package/node_modules/@appport/core/dist/application.d.ts +122 -0
  65. package/node_modules/@appport/core/dist/application.d.ts.map +1 -0
  66. package/node_modules/@appport/core/dist/application.js +515 -0
  67. package/node_modules/@appport/core/dist/application.js.map +1 -0
  68. package/node_modules/@appport/core/dist/artifact.d.ts +395 -0
  69. package/node_modules/@appport/core/dist/artifact.d.ts.map +1 -0
  70. package/node_modules/@appport/core/dist/artifact.js +392 -0
  71. package/node_modules/@appport/core/dist/artifact.js.map +1 -0
  72. package/node_modules/@appport/core/dist/assembly.d.ts +237 -0
  73. package/node_modules/@appport/core/dist/assembly.d.ts.map +1 -0
  74. package/node_modules/@appport/core/dist/assembly.js +458 -0
  75. package/node_modules/@appport/core/dist/assembly.js.map +1 -0
  76. package/node_modules/@appport/core/dist/authority-attestation.d.ts +34 -0
  77. package/node_modules/@appport/core/dist/authority-attestation.d.ts.map +1 -0
  78. package/node_modules/@appport/core/dist/authority-attestation.js +72 -0
  79. package/node_modules/@appport/core/dist/authority-attestation.js.map +1 -0
  80. package/node_modules/@appport/core/dist/authorization-grant.d.ts +107 -0
  81. package/node_modules/@appport/core/dist/authorization-grant.d.ts.map +1 -0
  82. package/node_modules/@appport/core/dist/authorization-grant.js +131 -0
  83. package/node_modules/@appport/core/dist/authorization-grant.js.map +1 -0
  84. package/node_modules/@appport/core/dist/binding.d.ts +294 -0
  85. package/node_modules/@appport/core/dist/binding.d.ts.map +1 -0
  86. package/node_modules/@appport/core/dist/binding.js +263 -0
  87. package/node_modules/@appport/core/dist/binding.js.map +1 -0
  88. package/node_modules/@appport/core/dist/builtins.d.ts +18 -0
  89. package/node_modules/@appport/core/dist/builtins.d.ts.map +1 -0
  90. package/node_modules/@appport/core/dist/builtins.js +38 -0
  91. package/node_modules/@appport/core/dist/builtins.js.map +1 -0
  92. package/node_modules/@appport/core/dist/capability.d.ts +94 -0
  93. package/node_modules/@appport/core/dist/capability.d.ts.map +1 -0
  94. package/node_modules/@appport/core/dist/capability.js +85 -0
  95. package/node_modules/@appport/core/dist/capability.js.map +1 -0
  96. package/node_modules/@appport/core/dist/concurrency.d.ts +16 -0
  97. package/node_modules/@appport/core/dist/concurrency.d.ts.map +1 -0
  98. package/node_modules/@appport/core/dist/concurrency.js +46 -0
  99. package/node_modules/@appport/core/dist/concurrency.js.map +1 -0
  100. package/node_modules/@appport/core/dist/context.d.ts +59 -0
  101. package/node_modules/@appport/core/dist/context.d.ts.map +1 -0
  102. package/node_modules/@appport/core/dist/context.js +14 -0
  103. package/node_modules/@appport/core/dist/context.js.map +1 -0
  104. package/node_modules/@appport/core/dist/contract-artifact.d.ts +15 -0
  105. package/node_modules/@appport/core/dist/contract-artifact.d.ts.map +1 -0
  106. package/node_modules/@appport/core/dist/contract-artifact.js +152 -0
  107. package/node_modules/@appport/core/dist/contract-artifact.js.map +1 -0
  108. package/node_modules/@appport/core/dist/contract-attestation.d.ts +68 -0
  109. package/node_modules/@appport/core/dist/contract-attestation.d.ts.map +1 -0
  110. package/node_modules/@appport/core/dist/contract-attestation.js +76 -0
  111. package/node_modules/@appport/core/dist/contract-attestation.js.map +1 -0
  112. package/node_modules/@appport/core/dist/crash-injection.d.ts +3 -0
  113. package/node_modules/@appport/core/dist/crash-injection.d.ts.map +1 -0
  114. package/node_modules/@appport/core/dist/crash-injection.js +8 -0
  115. package/node_modules/@appport/core/dist/crash-injection.js.map +1 -0
  116. package/node_modules/@appport/core/dist/events.d.ts +33 -0
  117. package/node_modules/@appport/core/dist/events.d.ts.map +1 -0
  118. package/node_modules/@appport/core/dist/events.js +79 -0
  119. package/node_modules/@appport/core/dist/events.js.map +1 -0
  120. package/node_modules/@appport/core/dist/execution-barrier.d.ts +13 -0
  121. package/node_modules/@appport/core/dist/execution-barrier.d.ts.map +1 -0
  122. package/node_modules/@appport/core/dist/execution-barrier.js +33 -0
  123. package/node_modules/@appport/core/dist/execution-barrier.js.map +1 -0
  124. package/node_modules/@appport/core/dist/execution-ledger.d.ts +81 -0
  125. package/node_modules/@appport/core/dist/execution-ledger.d.ts.map +1 -0
  126. package/node_modules/@appport/core/dist/execution-ledger.js +173 -0
  127. package/node_modules/@appport/core/dist/execution-ledger.js.map +1 -0
  128. package/node_modules/@appport/core/dist/execution.d.ts +387 -0
  129. package/node_modules/@appport/core/dist/execution.d.ts.map +1 -0
  130. package/node_modules/@appport/core/dist/execution.js +165 -0
  131. package/node_modules/@appport/core/dist/execution.js.map +1 -0
  132. package/node_modules/@appport/core/dist/idempotency.d.ts +36 -0
  133. package/node_modules/@appport/core/dist/idempotency.d.ts.map +1 -0
  134. package/node_modules/@appport/core/dist/idempotency.js +36 -0
  135. package/node_modules/@appport/core/dist/idempotency.js.map +1 -0
  136. package/node_modules/@appport/core/dist/implementation.d.ts +110 -0
  137. package/node_modules/@appport/core/dist/implementation.d.ts.map +1 -0
  138. package/node_modules/@appport/core/dist/implementation.js +65 -0
  139. package/node_modules/@appport/core/dist/implementation.js.map +1 -0
  140. package/node_modules/@appport/core/dist/index.d.ts +44 -0
  141. package/node_modules/@appport/core/dist/index.d.ts.map +1 -0
  142. package/node_modules/@appport/core/dist/index.js +44 -0
  143. package/node_modules/@appport/core/dist/index.js.map +1 -0
  144. package/node_modules/@appport/core/dist/invocation.d.ts +253 -0
  145. package/node_modules/@appport/core/dist/invocation.d.ts.map +1 -0
  146. package/node_modules/@appport/core/dist/invocation.js +258 -0
  147. package/node_modules/@appport/core/dist/invocation.js.map +1 -0
  148. package/node_modules/@appport/core/dist/manifest.d.ts +157 -0
  149. package/node_modules/@appport/core/dist/manifest.d.ts.map +1 -0
  150. package/node_modules/@appport/core/dist/manifest.js +255 -0
  151. package/node_modules/@appport/core/dist/manifest.js.map +1 -0
  152. package/node_modules/@appport/core/dist/memory-application-data-store.d.ts +19 -0
  153. package/node_modules/@appport/core/dist/memory-application-data-store.d.ts.map +1 -0
  154. package/node_modules/@appport/core/dist/memory-application-data-store.js +161 -0
  155. package/node_modules/@appport/core/dist/memory-application-data-store.js.map +1 -0
  156. package/node_modules/@appport/core/dist/operations.d.ts +61 -0
  157. package/node_modules/@appport/core/dist/operations.d.ts.map +1 -0
  158. package/node_modules/@appport/core/dist/operations.js +210 -0
  159. package/node_modules/@appport/core/dist/operations.js.map +1 -0
  160. package/node_modules/@appport/core/dist/public.d.ts +19 -0
  161. package/node_modules/@appport/core/dist/public.d.ts.map +1 -0
  162. package/node_modules/@appport/core/dist/public.js +18 -0
  163. package/node_modules/@appport/core/dist/public.js.map +1 -0
  164. package/node_modules/@appport/core/dist/registration.d.ts +165 -0
  165. package/node_modules/@appport/core/dist/registration.d.ts.map +1 -0
  166. package/node_modules/@appport/core/dist/registration.js +253 -0
  167. package/node_modules/@appport/core/dist/registration.js.map +1 -0
  168. package/node_modules/@appport/core/dist/registry.d.ts +29 -0
  169. package/node_modules/@appport/core/dist/registry.d.ts.map +1 -0
  170. package/node_modules/@appport/core/dist/registry.js +148 -0
  171. package/node_modules/@appport/core/dist/registry.js.map +1 -0
  172. package/node_modules/@appport/core/dist/repository-connection.d.ts +100 -0
  173. package/node_modules/@appport/core/dist/repository-connection.d.ts.map +1 -0
  174. package/node_modules/@appport/core/dist/repository-connection.js +57 -0
  175. package/node_modules/@appport/core/dist/repository-connection.js.map +1 -0
  176. package/node_modules/@appport/core/dist/resolver.d.ts +130 -0
  177. package/node_modules/@appport/core/dist/resolver.d.ts.map +1 -0
  178. package/node_modules/@appport/core/dist/resolver.js +252 -0
  179. package/node_modules/@appport/core/dist/resolver.js.map +1 -0
  180. package/node_modules/@appport/core/dist/runtime-manifest.d.ts +68 -0
  181. package/node_modules/@appport/core/dist/runtime-manifest.d.ts.map +1 -0
  182. package/node_modules/@appport/core/dist/runtime-manifest.js +84 -0
  183. package/node_modules/@appport/core/dist/runtime-manifest.js.map +1 -0
  184. package/node_modules/@appport/core/dist/sanitize.d.ts +14 -0
  185. package/node_modules/@appport/core/dist/sanitize.d.ts.map +1 -0
  186. package/node_modules/@appport/core/dist/sanitize.js +49 -0
  187. package/node_modules/@appport/core/dist/sanitize.js.map +1 -0
  188. package/node_modules/@appport/core/dist/server-internal.d.ts +5 -0
  189. package/node_modules/@appport/core/dist/server-internal.d.ts.map +1 -0
  190. package/node_modules/@appport/core/dist/server-internal.js +4 -0
  191. package/node_modules/@appport/core/dist/server-internal.js.map +1 -0
  192. package/node_modules/@appport/core/dist/sessions.d.ts +29 -0
  193. package/node_modules/@appport/core/dist/sessions.d.ts.map +1 -0
  194. package/node_modules/@appport/core/dist/sessions.js +39 -0
  195. package/node_modules/@appport/core/dist/sessions.js.map +1 -0
  196. package/node_modules/@appport/core/dist/sha256.d.ts +3 -0
  197. package/node_modules/@appport/core/dist/sha256.d.ts.map +1 -0
  198. package/node_modules/@appport/core/dist/sha256.js +46 -0
  199. package/node_modules/@appport/core/dist/sha256.js.map +1 -0
  200. package/node_modules/@appport/core/dist/source-verification.d.ts +53 -0
  201. package/node_modules/@appport/core/dist/source-verification.d.ts.map +1 -0
  202. package/node_modules/@appport/core/dist/source-verification.js +92 -0
  203. package/node_modules/@appport/core/dist/source-verification.js.map +1 -0
  204. package/node_modules/@appport/core/dist/state-context.d.ts +312 -0
  205. package/node_modules/@appport/core/dist/state-context.d.ts.map +1 -0
  206. package/node_modules/@appport/core/dist/state-context.js +100 -0
  207. package/node_modules/@appport/core/dist/state-context.js.map +1 -0
  208. package/node_modules/@appport/core/dist/state.d.ts +96 -0
  209. package/node_modules/@appport/core/dist/state.d.ts.map +1 -0
  210. package/node_modules/@appport/core/dist/state.js +89 -0
  211. package/node_modules/@appport/core/dist/state.js.map +1 -0
  212. package/node_modules/@appport/core/dist/streams.d.ts +38 -0
  213. package/node_modules/@appport/core/dist/streams.d.ts.map +1 -0
  214. package/node_modules/@appport/core/dist/streams.js +123 -0
  215. package/node_modules/@appport/core/dist/streams.js.map +1 -0
  216. package/node_modules/@appport/core/dist/telemetry.d.ts +42 -0
  217. package/node_modules/@appport/core/dist/telemetry.d.ts.map +1 -0
  218. package/node_modules/@appport/core/dist/telemetry.js +32 -0
  219. package/node_modules/@appport/core/dist/telemetry.js.map +1 -0
  220. package/node_modules/@appport/core/dist/wasm-engine.d.ts +22 -0
  221. package/node_modules/@appport/core/dist/wasm-engine.d.ts.map +1 -0
  222. package/node_modules/@appport/core/dist/wasm-engine.js +367 -0
  223. package/node_modules/@appport/core/dist/wasm-engine.js.map +1 -0
  224. package/node_modules/@appport/core/package.json +58 -0
  225. package/node_modules/@appport/mobile/README.md +10 -0
  226. package/node_modules/@appport/mobile/dist/index.d.ts +66 -0
  227. package/node_modules/@appport/mobile/dist/index.d.ts.map +1 -0
  228. package/node_modules/@appport/mobile/dist/index.js +182 -0
  229. package/node_modules/@appport/mobile/dist/index.js.map +1 -0
  230. package/node_modules/@appport/mobile/package.json +33 -0
  231. package/node_modules/@appport/protocol/README.md +41 -0
  232. package/node_modules/@appport/protocol/dist/blob.d.ts +46 -0
  233. package/node_modules/@appport/protocol/dist/blob.d.ts.map +1 -0
  234. package/node_modules/@appport/protocol/dist/blob.js +23 -0
  235. package/node_modules/@appport/protocol/dist/blob.js.map +1 -0
  236. package/node_modules/@appport/protocol/dist/compatibility.d.ts +25 -0
  237. package/node_modules/@appport/protocol/dist/compatibility.d.ts.map +1 -0
  238. package/node_modules/@appport/protocol/dist/compatibility.js +189 -0
  239. package/node_modules/@appport/protocol/dist/compatibility.js.map +1 -0
  240. package/node_modules/@appport/protocol/dist/envelopes.d.ts +175 -0
  241. package/node_modules/@appport/protocol/dist/envelopes.d.ts.map +1 -0
  242. package/node_modules/@appport/protocol/dist/envelopes.js +97 -0
  243. package/node_modules/@appport/protocol/dist/envelopes.js.map +1 -0
  244. package/node_modules/@appport/protocol/dist/errors.d.ts +74 -0
  245. package/node_modules/@appport/protocol/dist/errors.d.ts.map +1 -0
  246. package/node_modules/@appport/protocol/dist/errors.js +91 -0
  247. package/node_modules/@appport/protocol/dist/errors.js.map +1 -0
  248. package/node_modules/@appport/protocol/dist/ids.d.ts +12 -0
  249. package/node_modules/@appport/protocol/dist/ids.d.ts.map +1 -0
  250. package/node_modules/@appport/protocol/dist/ids.js +50 -0
  251. package/node_modules/@appport/protocol/dist/ids.js.map +1 -0
  252. package/node_modules/@appport/protocol/dist/index.d.ts +20 -0
  253. package/node_modules/@appport/protocol/dist/index.d.ts.map +1 -0
  254. package/node_modules/@appport/protocol/dist/index.js +20 -0
  255. package/node_modules/@appport/protocol/dist/index.js.map +1 -0
  256. package/node_modules/@appport/protocol/dist/jsonschema.d.ts +50 -0
  257. package/node_modules/@appport/protocol/dist/jsonschema.d.ts.map +1 -0
  258. package/node_modules/@appport/protocol/dist/jsonschema.js +6 -0
  259. package/node_modules/@appport/protocol/dist/jsonschema.js.map +1 -0
  260. package/node_modules/@appport/protocol/dist/manifest.d.ts +131 -0
  261. package/node_modules/@appport/protocol/dist/manifest.d.ts.map +1 -0
  262. package/node_modules/@appport/protocol/dist/manifest.js +20 -0
  263. package/node_modules/@appport/protocol/dist/manifest.js.map +1 -0
  264. package/node_modules/@appport/protocol/dist/names.d.ts +26 -0
  265. package/node_modules/@appport/protocol/dist/names.d.ts.map +1 -0
  266. package/node_modules/@appport/protocol/dist/names.js +85 -0
  267. package/node_modules/@appport/protocol/dist/names.js.map +1 -0
  268. package/node_modules/@appport/protocol/dist/operations.d.ts +34 -0
  269. package/node_modules/@appport/protocol/dist/operations.d.ts.map +1 -0
  270. package/node_modules/@appport/protocol/dist/operations.js +9 -0
  271. package/node_modules/@appport/protocol/dist/operations.js.map +1 -0
  272. package/node_modules/@appport/protocol/dist/session.d.ts +27 -0
  273. package/node_modules/@appport/protocol/dist/session.d.ts.map +1 -0
  274. package/node_modules/@appport/protocol/dist/session.js +7 -0
  275. package/node_modules/@appport/protocol/dist/session.js.map +1 -0
  276. package/node_modules/@appport/protocol/dist/validate.d.ts +37 -0
  277. package/node_modules/@appport/protocol/dist/validate.d.ts.map +1 -0
  278. package/node_modules/@appport/protocol/dist/validate.js +321 -0
  279. package/node_modules/@appport/protocol/dist/validate.js.map +1 -0
  280. package/node_modules/@appport/protocol/dist/version.d.ts +27 -0
  281. package/node_modules/@appport/protocol/dist/version.d.ts.map +1 -0
  282. package/node_modules/@appport/protocol/dist/version.js +26 -0
  283. package/node_modules/@appport/protocol/dist/version.js.map +1 -0
  284. package/node_modules/@appport/protocol/package.json +25 -0
  285. package/node_modules/@appport/schema/README.md +32 -0
  286. package/node_modules/@appport/schema/dist/builder.d.ts +85 -0
  287. package/node_modules/@appport/schema/dist/builder.d.ts.map +1 -0
  288. package/node_modules/@appport/schema/dist/builder.js +278 -0
  289. package/node_modules/@appport/schema/dist/builder.js.map +1 -0
  290. package/node_modules/@appport/schema/dist/from-json-schema.d.ts +12 -0
  291. package/node_modules/@appport/schema/dist/from-json-schema.d.ts.map +1 -0
  292. package/node_modules/@appport/schema/dist/from-json-schema.js +186 -0
  293. package/node_modules/@appport/schema/dist/from-json-schema.js.map +1 -0
  294. package/node_modules/@appport/schema/dist/index.d.ts +23 -0
  295. package/node_modules/@appport/schema/dist/index.d.ts.map +1 -0
  296. package/node_modules/@appport/schema/dist/index.js +22 -0
  297. package/node_modules/@appport/schema/dist/index.js.map +1 -0
  298. package/node_modules/@appport/schema/dist/standard.d.ts +46 -0
  299. package/node_modules/@appport/schema/dist/standard.d.ts.map +1 -0
  300. package/node_modules/@appport/schema/dist/standard.js +42 -0
  301. package/node_modules/@appport/schema/dist/standard.js.map +1 -0
  302. package/node_modules/@appport/schema/dist/types.d.ts +40 -0
  303. package/node_modules/@appport/schema/dist/types.d.ts.map +1 -0
  304. package/node_modules/@appport/schema/dist/types.js +19 -0
  305. package/node_modules/@appport/schema/dist/types.js.map +1 -0
  306. package/node_modules/@appport/schema/package.json +28 -0
  307. package/node_modules/@appport/server/README.md +39 -0
  308. package/node_modules/@appport/server/dist/connection.d.ts +45 -0
  309. package/node_modules/@appport/server/dist/connection.d.ts.map +1 -0
  310. package/node_modules/@appport/server/dist/connection.js +217 -0
  311. package/node_modules/@appport/server/dist/connection.js.map +1 -0
  312. package/node_modules/@appport/server/dist/fetch.d.ts +10 -0
  313. package/node_modules/@appport/server/dist/fetch.d.ts.map +1 -0
  314. package/node_modules/@appport/server/dist/fetch.js +50 -0
  315. package/node_modules/@appport/server/dist/fetch.js.map +1 -0
  316. package/node_modules/@appport/server/dist/http.d.ts +80 -0
  317. package/node_modules/@appport/server/dist/http.d.ts.map +1 -0
  318. package/node_modules/@appport/server/dist/http.js +306 -0
  319. package/node_modules/@appport/server/dist/http.js.map +1 -0
  320. package/node_modules/@appport/server/dist/index.d.ts +11 -0
  321. package/node_modules/@appport/server/dist/index.d.ts.map +1 -0
  322. package/node_modules/@appport/server/dist/index.js +11 -0
  323. package/node_modules/@appport/server/dist/index.js.map +1 -0
  324. package/node_modules/@appport/server/dist/node-entry.d.ts +4 -0
  325. package/node_modules/@appport/server/dist/node-entry.d.ts.map +1 -0
  326. package/node_modules/@appport/server/dist/node-entry.js +4 -0
  327. package/node_modules/@appport/server/dist/node-entry.js.map +1 -0
  328. package/node_modules/@appport/server/dist/node.d.ts +45 -0
  329. package/node_modules/@appport/server/dist/node.d.ts.map +1 -0
  330. package/node_modules/@appport/server/dist/node.js +190 -0
  331. package/node_modules/@appport/server/dist/node.js.map +1 -0
  332. package/node_modules/@appport/server/dist/server.d.ts +83 -0
  333. package/node_modules/@appport/server/dist/server.d.ts.map +1 -0
  334. package/node_modules/@appport/server/dist/server.js +114 -0
  335. package/node_modules/@appport/server/dist/server.js.map +1 -0
  336. package/node_modules/@appport/server/dist/websocket.d.ts +25 -0
  337. package/node_modules/@appport/server/dist/websocket.d.ts.map +1 -0
  338. package/node_modules/@appport/server/dist/websocket.js +221 -0
  339. package/node_modules/@appport/server/dist/websocket.js.map +1 -0
  340. package/node_modules/@appport/server/package.json +34 -0
  341. package/node_modules/@appport/transport-electron/README.md +56 -0
  342. package/node_modules/@appport/transport-electron/dist/index.d.ts +11 -0
  343. package/node_modules/@appport/transport-electron/dist/index.d.ts.map +1 -0
  344. package/node_modules/@appport/transport-electron/dist/index.js +11 -0
  345. package/node_modules/@appport/transport-electron/dist/index.js.map +1 -0
  346. package/node_modules/@appport/transport-electron/dist/main.d.ts +31 -0
  347. package/node_modules/@appport/transport-electron/dist/main.d.ts.map +1 -0
  348. package/node_modules/@appport/transport-electron/dist/main.js +61 -0
  349. package/node_modules/@appport/transport-electron/dist/main.js.map +1 -0
  350. package/node_modules/@appport/transport-electron/dist/preload.d.ts +22 -0
  351. package/node_modules/@appport/transport-electron/dist/preload.d.ts.map +1 -0
  352. package/node_modules/@appport/transport-electron/dist/preload.js +29 -0
  353. package/node_modules/@appport/transport-electron/dist/preload.js.map +1 -0
  354. package/node_modules/@appport/transport-electron/dist/renderer.d.ts +16 -0
  355. package/node_modules/@appport/transport-electron/dist/renderer.d.ts.map +1 -0
  356. package/node_modules/@appport/transport-electron/dist/renderer.js +36 -0
  357. package/node_modules/@appport/transport-electron/dist/renderer.js.map +1 -0
  358. package/node_modules/@appport/transport-electron/dist/types.d.ts +49 -0
  359. package/node_modules/@appport/transport-electron/dist/types.d.ts.map +1 -0
  360. package/node_modules/@appport/transport-electron/dist/types.js +5 -0
  361. package/node_modules/@appport/transport-electron/dist/types.js.map +1 -0
  362. package/node_modules/@appport/transport-electron/package.json +46 -0
  363. package/node_modules/@appport/transport-http/README.md +24 -0
  364. package/node_modules/@appport/transport-http/dist/index.d.ts +18 -0
  365. package/node_modules/@appport/transport-http/dist/index.d.ts.map +1 -0
  366. package/node_modules/@appport/transport-http/dist/index.js +223 -0
  367. package/node_modules/@appport/transport-http/dist/index.js.map +1 -0
  368. package/node_modules/@appport/transport-http/package.json +29 -0
  369. package/node_modules/@appport/transport-inprocess/README.md +24 -0
  370. package/node_modules/@appport/transport-inprocess/dist/index.d.ts +16 -0
  371. package/node_modules/@appport/transport-inprocess/dist/index.d.ts.map +1 -0
  372. package/node_modules/@appport/transport-inprocess/dist/index.js +30 -0
  373. package/node_modules/@appport/transport-inprocess/dist/index.js.map +1 -0
  374. package/node_modules/@appport/transport-inprocess/package.json +30 -0
  375. package/node_modules/@appport/transport-tauri/README.md +45 -0
  376. package/node_modules/@appport/transport-tauri/dist/index.d.ts +23 -0
  377. package/node_modules/@appport/transport-tauri/dist/index.d.ts.map +1 -0
  378. package/node_modules/@appport/transport-tauri/dist/index.js +44 -0
  379. package/node_modules/@appport/transport-tauri/dist/index.js.map +1 -0
  380. package/node_modules/@appport/transport-tauri/package.json +29 -0
  381. package/node_modules/@appport/transport-websocket/README.md +22 -0
  382. package/node_modules/@appport/transport-websocket/dist/index.d.ts +26 -0
  383. package/node_modules/@appport/transport-websocket/dist/index.d.ts.map +1 -0
  384. package/node_modules/@appport/transport-websocket/dist/index.js +72 -0
  385. package/node_modules/@appport/transport-websocket/dist/index.js.map +1 -0
  386. package/node_modules/@appport/transport-websocket/package.json +29 -0
  387. package/package.json +79 -0
@@ -0,0 +1,321 @@
1
+ import { ENVELOPE_TYPES } from "./envelopes.js";
2
+ import { AppPortError, errors, isErrorCode } from "./errors.js";
3
+ import { isValidName } from "./names.js";
4
+ import { PROTOCOL_ID } from "./version.js";
5
+ const ENVELOPE_TYPE_SET = new Set(ENVELOPE_TYPES);
6
+ const CLIENT_TYPES = new Set([
7
+ "request",
8
+ "stream.request",
9
+ "subscribe",
10
+ "unsubscribe",
11
+ "stream.cancel"
12
+ ]);
13
+ const SERVER_TYPES = new Set([
14
+ "response",
15
+ "event",
16
+ "stream.start",
17
+ "stream.chunk",
18
+ "stream.end"
19
+ ]);
20
+ function isRecord(value) {
21
+ return typeof value === "object" && value !== null && !Array.isArray(value);
22
+ }
23
+ function requireString(value, field) {
24
+ if (typeof value !== "string" || value.length === 0) {
25
+ throw errors.invalidRequest(`Field "${field}" must be a non-empty string`, { field });
26
+ }
27
+ if (value.length > 512) {
28
+ throw errors.invalidRequest(`Field "${field}" exceeds 512 characters`, { field });
29
+ }
30
+ return value;
31
+ }
32
+ function requireCapabilityRef(value, field) {
33
+ if (!isRecord(value)) {
34
+ throw errors.invalidRequest(`Field "${field}" must be an object`, { field });
35
+ }
36
+ const name = value["name"];
37
+ const version = value["version"];
38
+ if (!isValidName(name)) {
39
+ throw errors.invalidRequest(`Field "${field}.name" is not a valid capability name`, { field: `${field}.name` });
40
+ }
41
+ if (!Number.isInteger(version) || version < 1) {
42
+ throw errors.invalidRequest(`Field "${field}.version" must be a positive integer`, {
43
+ field: `${field}.version`
44
+ });
45
+ }
46
+ return { name: name, version: version };
47
+ }
48
+ /**
49
+ * Best-effort extraction of a request identifier so that a malformed envelope
50
+ * can still be answered with a correlated error response.
51
+ */
52
+ export function peekRequestId(value) {
53
+ if (!isRecord(value))
54
+ return undefined;
55
+ const id = value["requestId"];
56
+ return typeof id === "string" && id.length > 0 && id.length <= 512 ? id : undefined;
57
+ }
58
+ /** Best-effort extraction of a trace identifier from an unvalidated envelope. */
59
+ export function peekTraceId(value) {
60
+ if (!isRecord(value))
61
+ return undefined;
62
+ const id = value["traceId"];
63
+ return typeof id === "string" && id.length > 0 && id.length <= 512 ? id : undefined;
64
+ }
65
+ function assertProtocol(value) {
66
+ const protocol = value["protocol"];
67
+ if (protocol === undefined) {
68
+ throw errors.invalidProtocol('Envelope is missing the "protocol" field');
69
+ }
70
+ if (typeof protocol !== "string") {
71
+ throw errors.invalidProtocol('Envelope field "protocol" must be a string');
72
+ }
73
+ if (protocol !== PROTOCOL_ID) {
74
+ if (/^appport\/\d+$/.test(protocol)) {
75
+ throw new AppPortError("UNSUPPORTED_VERSION", `Unsupported protocol version: ${protocol}`, {
76
+ details: { supported: [PROTOCOL_ID], received: protocol }
77
+ });
78
+ }
79
+ throw errors.invalidProtocol(`Unsupported protocol identifier: ${protocol}`, {
80
+ supported: [PROTOCOL_ID],
81
+ received: protocol
82
+ });
83
+ }
84
+ }
85
+ function assertOptionalTimeout(value) {
86
+ if (value === undefined)
87
+ return;
88
+ if (!Number.isFinite(value) || value <= 0) {
89
+ throw errors.invalidRequest('Field "timeoutMs" must be a positive number', { field: "timeoutMs" });
90
+ }
91
+ }
92
+ function parseRequestShape(value) {
93
+ const request = {
94
+ protocol: PROTOCOL_ID,
95
+ requestId: requireString(value["requestId"], "requestId"),
96
+ capability: requireCapabilityRef(value["capability"], "capability"),
97
+ input: value["input"]
98
+ };
99
+ if (!("input" in value)) {
100
+ throw errors.invalidRequest('Field "input" is required', { field: "input" });
101
+ }
102
+ assertOptionalTimeout(value["timeoutMs"]);
103
+ if (value["timeoutMs"] !== undefined)
104
+ request.timeoutMs = value["timeoutMs"];
105
+ if (value["idempotencyKey"] !== undefined) {
106
+ request.idempotencyKey = requireString(value["idempotencyKey"], "idempotencyKey");
107
+ }
108
+ if (value["traceId"] !== undefined)
109
+ request.traceId = requireString(value["traceId"], "traceId");
110
+ if (value["metadata"] !== undefined) {
111
+ if (!isRecord(value["metadata"])) {
112
+ throw errors.invalidRequest('Field "metadata" must be an object', { field: "metadata" });
113
+ }
114
+ request.metadata = value["metadata"];
115
+ }
116
+ if (value["extensions"] !== undefined) {
117
+ if (!isRecord(value["extensions"])) {
118
+ throw errors.invalidRequest('Field "extensions" must be an object', { field: "extensions" });
119
+ }
120
+ request.extensions = value["extensions"];
121
+ }
122
+ return request;
123
+ }
124
+ /**
125
+ * Validates the protocol layer of an envelope arriving from a client
126
+ * (specification §49, step "protocol validation").
127
+ *
128
+ * Throws {@link AppPortError} with `INVALID_PROTOCOL`, `UNSUPPORTED_VERSION`
129
+ * or `INVALID_REQUEST`. Capability input is *not* validated here; that is the
130
+ * capability schema's job.
131
+ */
132
+ export function parseClientEnvelope(value) {
133
+ if (!isRecord(value)) {
134
+ throw errors.invalidRequest("Envelope must be a JSON object");
135
+ }
136
+ assertProtocol(value);
137
+ const type = value["type"];
138
+ if (typeof type !== "string" || !ENVELOPE_TYPE_SET.has(type)) {
139
+ throw errors.invalidRequest(`Unknown envelope type: ${String(type)}`, { field: "type" });
140
+ }
141
+ if (!CLIENT_TYPES.has(type)) {
142
+ throw errors.invalidRequest(`Envelope type "${type}" is not accepted by a server`, { field: "type" });
143
+ }
144
+ switch (type) {
145
+ case "request":
146
+ return { ...parseRequestShape(value), type: "request" };
147
+ case "stream.request":
148
+ return { ...parseRequestShape(value), type: "stream.request" };
149
+ case "subscribe": {
150
+ const event = value["event"];
151
+ if (!isRecord(event)) {
152
+ throw errors.invalidRequest('Field "event" must be an object', { field: "event" });
153
+ }
154
+ const name = event["name"];
155
+ if (name !== "*" && !isValidName(name)) {
156
+ throw errors.invalidRequest('Field "event.name" is not a valid event name', { field: "event.name" });
157
+ }
158
+ const version = event["version"];
159
+ if (version !== undefined && (!Number.isInteger(version) || version < 1)) {
160
+ throw errors.invalidRequest('Field "event.version" must be a positive integer', {
161
+ field: "event.version"
162
+ });
163
+ }
164
+ return {
165
+ protocol: PROTOCOL_ID,
166
+ type: "subscribe",
167
+ requestId: requireString(value["requestId"], "requestId"),
168
+ subscriptionId: requireString(value["subscriptionId"], "subscriptionId"),
169
+ event: version === undefined ? { name: name } : { name: name, version: version }
170
+ };
171
+ }
172
+ case "unsubscribe":
173
+ return {
174
+ protocol: PROTOCOL_ID,
175
+ type: "unsubscribe",
176
+ requestId: requireString(value["requestId"], "requestId"),
177
+ subscriptionId: requireString(value["subscriptionId"], "subscriptionId")
178
+ };
179
+ case "stream.cancel": {
180
+ const cancel = {
181
+ protocol: PROTOCOL_ID,
182
+ type: "stream.cancel",
183
+ streamId: requireString(value["streamId"], "streamId")
184
+ };
185
+ if (value["reason"] !== undefined) {
186
+ cancel.reason = requireString(value["reason"], "reason");
187
+ }
188
+ return cancel;
189
+ }
190
+ default:
191
+ throw errors.invalidRequest(`Envelope type "${type}" is not accepted by a server`, { field: "type" });
192
+ }
193
+ }
194
+ /**
195
+ * Validates the protocol layer of an envelope arriving from a server. Clients
196
+ * use this so that a broken or hostile server cannot corrupt client state.
197
+ */
198
+ export function parseServerEnvelope(value) {
199
+ if (!isRecord(value)) {
200
+ throw errors.invalidRequest("Envelope must be a JSON object");
201
+ }
202
+ assertProtocol(value);
203
+ const type = value["type"];
204
+ if (typeof type !== "string" || !SERVER_TYPES.has(type)) {
205
+ throw errors.invalidRequest(`Unknown server envelope type: ${String(type)}`, { field: "type" });
206
+ }
207
+ switch (type) {
208
+ case "response": {
209
+ const requestId = requireString(value["requestId"], "requestId");
210
+ if (value["ok"] === true) {
211
+ if (!("output" in value)) {
212
+ throw errors.invalidRequest('Successful response is missing "output"', { field: "output" });
213
+ }
214
+ return { protocol: PROTOCOL_ID, type: "response", requestId, ok: true, output: value["output"] };
215
+ }
216
+ if (value["ok"] === false) {
217
+ const error = value["error"];
218
+ if (!isRecord(error) || !isErrorCode(error["code"]) || typeof error["message"] !== "string") {
219
+ throw errors.invalidRequest("Error response carries a malformed error object", { field: "error" });
220
+ }
221
+ return {
222
+ protocol: PROTOCOL_ID,
223
+ type: "response",
224
+ requestId,
225
+ ok: false,
226
+ error: {
227
+ code: error["code"],
228
+ message: error["message"],
229
+ ...(error["details"] !== undefined ? { details: error["details"] } : {}),
230
+ ...(error["retryable"] === true ? { retryable: true } : {})
231
+ }
232
+ };
233
+ }
234
+ throw errors.invalidRequest('Response field "ok" must be a boolean', { field: "ok" });
235
+ }
236
+ case "event":
237
+ return {
238
+ protocol: PROTOCOL_ID,
239
+ type: "event",
240
+ event: requireCapabilityRef(value["event"], "event"),
241
+ eventId: requireString(value["eventId"], "eventId"),
242
+ timestamp: requireString(value["timestamp"], "timestamp"),
243
+ payload: value["payload"],
244
+ ...(value["subscriptionId"] !== undefined
245
+ ? { subscriptionId: requireString(value["subscriptionId"], "subscriptionId") }
246
+ : {})
247
+ };
248
+ case "stream.start":
249
+ return {
250
+ protocol: PROTOCOL_ID,
251
+ type: "stream.start",
252
+ requestId: requireString(value["requestId"], "requestId"),
253
+ streamId: requireString(value["streamId"], "streamId")
254
+ };
255
+ case "stream.chunk": {
256
+ const sequence = value["sequence"];
257
+ if (!Number.isInteger(sequence) || sequence < 0) {
258
+ throw errors.invalidRequest('Field "sequence" must be a non-negative integer', { field: "sequence" });
259
+ }
260
+ return {
261
+ protocol: PROTOCOL_ID,
262
+ type: "stream.chunk",
263
+ streamId: requireString(value["streamId"], "streamId"),
264
+ sequence: sequence,
265
+ payload: value["payload"]
266
+ };
267
+ }
268
+ case "stream.end": {
269
+ const error = value["error"];
270
+ if (error !== undefined && (!isRecord(error) || !isErrorCode(error["code"]))) {
271
+ throw errors.invalidRequest('Field "error" is malformed', { field: "error" });
272
+ }
273
+ return {
274
+ protocol: PROTOCOL_ID,
275
+ type: "stream.end",
276
+ streamId: requireString(value["streamId"], "streamId"),
277
+ ...(error !== undefined
278
+ ? { error: { code: error["code"], message: String(error["message"] ?? "Stream failed") } }
279
+ : {})
280
+ };
281
+ }
282
+ default:
283
+ throw errors.invalidRequest(`Unknown server envelope type: ${String(type)}`, { field: "type" });
284
+ }
285
+ }
286
+ /** Parses any envelope, client- or server-originated. */
287
+ export function parseEnvelope(value) {
288
+ if (!isRecord(value)) {
289
+ throw errors.invalidRequest("Envelope must be a JSON object");
290
+ }
291
+ const type = value["type"];
292
+ return SERVER_TYPES.has(type)
293
+ ? parseServerEnvelope(value)
294
+ : parseClientEnvelope(value);
295
+ }
296
+ export const DEFAULT_MAX_ENVELOPE_BYTES = 4 * 1024 * 1024;
297
+ /**
298
+ * Decodes a UTF-8 JSON payload into an unvalidated envelope value.
299
+ * Throws `PAYLOAD_TOO_LARGE` or `INVALID_REQUEST`.
300
+ */
301
+ export function decodeEnvelopeText(text, options = {}) {
302
+ const maxBytes = options.maxBytes ?? DEFAULT_MAX_ENVELOPE_BYTES;
303
+ const size = typeof Buffer !== "undefined" ? Buffer.byteLength(text, "utf8") : new TextEncoder().encode(text).length;
304
+ if (size > maxBytes) {
305
+ throw errors.payloadTooLarge(`Envelope of ${size} bytes exceeds the ${maxBytes} byte limit`, {
306
+ limit: maxBytes,
307
+ size
308
+ });
309
+ }
310
+ try {
311
+ return JSON.parse(text);
312
+ }
313
+ catch {
314
+ throw errors.invalidRequest("Envelope is not valid UTF-8 JSON");
315
+ }
316
+ }
317
+ /** Serializes an envelope. The single protocol serialization boundary (§75). */
318
+ export function encodeEnvelope(envelope) {
319
+ return JSON.stringify(envelope);
320
+ }
321
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The AppPort protocol identifier carried by every envelope.
3
+ *
4
+ * Protocol versions are immutable. A breaking change to the envelope grammar
5
+ * requires a new identifier (`appport/2`); capabilities evolve through
6
+ * capability versions instead.
7
+ */
8
+ export declare const PROTOCOL_ID: "appport/1";
9
+ export type ProtocolId = typeof PROTOCOL_ID;
10
+ /** Major protocol version implied by {@link PROTOCOL_ID}. */
11
+ export declare const PROTOCOL_MAJOR: 1;
12
+ /**
13
+ * Protocol conformance levels (specification §76). An implementation declares
14
+ * the highest level it fully supports; every level implies the ones below it.
15
+ */
16
+ export declare const CONFORMANCE_LEVELS: {
17
+ readonly core: 1;
18
+ readonly events: 2;
19
+ readonly streams: 3;
20
+ readonly sessions: 4;
21
+ readonly portableRuntime: 5;
22
+ };
23
+ export type ConformanceLevelName = keyof typeof CONFORMANCE_LEVELS;
24
+ export type ConformanceLevel = (typeof CONFORMANCE_LEVELS)[ConformanceLevelName];
25
+ /** Returns true when `id` is a protocol identifier this implementation speaks. */
26
+ export declare function isSupportedProtocol(id: unknown): id is ProtocolId;
27
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAG,WAAoB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC;AAE5C,6DAA6D;AAC7D,eAAO,MAAM,cAAc,EAAG,CAAU,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEjF,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,UAAU,CAEjE"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The AppPort protocol identifier carried by every envelope.
3
+ *
4
+ * Protocol versions are immutable. A breaking change to the envelope grammar
5
+ * requires a new identifier (`appport/2`); capabilities evolve through
6
+ * capability versions instead.
7
+ */
8
+ export const PROTOCOL_ID = "appport/1";
9
+ /** Major protocol version implied by {@link PROTOCOL_ID}. */
10
+ export const PROTOCOL_MAJOR = 1;
11
+ /**
12
+ * Protocol conformance levels (specification §76). An implementation declares
13
+ * the highest level it fully supports; every level implies the ones below it.
14
+ */
15
+ export const CONFORMANCE_LEVELS = {
16
+ core: 1,
17
+ events: 2,
18
+ streams: 3,
19
+ sessions: 4,
20
+ portableRuntime: 5
21
+ };
22
+ /** Returns true when `id` is a protocol identifier this implementation speaks. */
23
+ export function isSupportedProtocol(id) {
24
+ return id === PROTOCOL_ID;
25
+ }
26
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAoB,CAAC;AAIhD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAU,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,eAAe,EAAE,CAAC;CACV,CAAC;AAKX,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,EAAW;IAC7C,OAAO,EAAE,KAAK,WAAW,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@appport/protocol",
3
+ "version": "1.0.0",
4
+ "description": "AppPort wire protocol types, envelopes, error codes and manifest contracts.",
5
+ "license": "Apache-2.0",
6
+ "repository": "github:rkendel1/appport",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsc -b",
22
+ "clean": "tsc -b --clean"
23
+ },
24
+ "private": true
25
+ }
@@ -0,0 +1,32 @@
1
+ # @appport/schema
2
+
3
+ Schema adapters and JSON Schema generation for AppPort capabilities.
4
+
5
+ AppPort publishes JSON Schema on the wire so the manifest is consumable from
6
+ TypeScript, Rust, Go, Python or Swift. In TypeScript you may author schemas three
7
+ ways, and all three publish the same thing.
8
+
9
+ ```ts
10
+ import { s, fromJSONSchema, fromStandardSchema, toSchema } from "@appport/schema";
11
+
12
+ // 1. the built-in builder: validation and JSON Schema from one definition
13
+ const input = s.object({ documentId: s.string(), title: s.optional(s.string()) });
14
+
15
+ // 2. any Standard Schema library (Zod, Valibot, ArkType)
16
+ const zodInput = fromStandardSchema(zodSchema, { jsonSchema: z.toJSONSchema(zodSchema) });
17
+
18
+ // 3. a raw JSON Schema document, validated at runtime
19
+ const published = fromJSONSchema({ type: "object", required: ["documentId"] });
20
+ ```
21
+
22
+ `fromJSONSchema` is what lets a generated client validate against a published
23
+ manifest without access to the original definitions — the same capability a
24
+ third-party implementation has.
25
+
26
+ The builder covers strings, numbers, integers, booleans, null, literals, enums,
27
+ arrays, objects, records, unions, optionals, nullables, timestamps and binary
28
+ references, with full type inference:
29
+
30
+ ```ts
31
+ type Input = Infer<typeof input>; // { documentId: string; title?: string }
32
+ ```
@@ -0,0 +1,85 @@
1
+ import { type BlobRef } from "@appport/protocol";
2
+ import type { Infer, Schema } from "./types.js";
3
+ export interface StringOptions {
4
+ minLength?: number;
5
+ maxLength?: number;
6
+ pattern?: RegExp | string;
7
+ format?: string;
8
+ description?: string;
9
+ }
10
+ export declare function string(options?: StringOptions): Schema<string>;
11
+ export interface NumberOptions {
12
+ minimum?: number;
13
+ maximum?: number;
14
+ description?: string;
15
+ }
16
+ export declare function number(options?: NumberOptions): Schema<number>;
17
+ export declare function integer(options?: NumberOptions): Schema<number>;
18
+ export declare function boolean(description?: string): Schema<boolean>;
19
+ export declare function nullSchema(): Schema<null>;
20
+ export declare function literal<const T extends string | number | boolean | null>(value: T): Schema<T>;
21
+ export declare function enumeration<const T extends readonly string[]>(values: T): Schema<T[number]>;
22
+ export declare function array<S extends Schema>(item: S, options?: {
23
+ minItems?: number;
24
+ maxItems?: number;
25
+ }): Schema<Array<Infer<S>>>;
26
+ type ShapeOf = Record<string, Schema>;
27
+ type OptionalKeys<P extends ShapeOf> = {
28
+ [K in keyof P]: P[K] extends {
29
+ isOptional: true;
30
+ } ? K : never;
31
+ }[keyof P];
32
+ type RequiredKeys<P extends ShapeOf> = Exclude<keyof P, OptionalKeys<P>>;
33
+ export type InferShape<P extends ShapeOf> = {
34
+ [K in RequiredKeys<P>]: Infer<P[K]>;
35
+ } & {
36
+ [K in OptionalKeys<P>]?: Infer<P[K]>;
37
+ };
38
+ export interface ObjectOptions {
39
+ /** Allow properties not described by the shape. Defaults to false. */
40
+ additionalProperties?: boolean;
41
+ description?: string;
42
+ title?: string;
43
+ }
44
+ export declare function object<P extends ShapeOf>(shape: P, options?: ObjectOptions): Schema<{
45
+ [K in keyof InferShape<P>]: InferShape<P>[K];
46
+ }>;
47
+ export declare function record<S extends Schema>(value: S): Schema<Record<string, Infer<S>>>;
48
+ export declare function union<S extends readonly Schema[]>(members: S): Schema<Infer<S[number]>>;
49
+ export declare function optional<S extends Schema>(schema: S): Schema<Infer<S> | undefined> & {
50
+ isOptional: true;
51
+ };
52
+ export declare function nullable<S extends Schema>(schema: S): Schema<Infer<S> | null>;
53
+ /** Accepts any JSON value. Used for capabilities without a meaningful shape. */
54
+ export declare function unknownSchema(): Schema<unknown>;
55
+ /** The canonical empty input/output (`{}`). */
56
+ export declare function empty(): Schema<Record<string, never>>;
57
+ /** A binary reference (§51). */
58
+ export declare function blob(): Schema<BlobRef>;
59
+ /** ISO-8601 timestamp string. */
60
+ export declare function timestamp(): Schema<string>;
61
+ /**
62
+ * The built-in schema builder. Applications may use it directly, or bring
63
+ * Zod/Valibot through the Standard Schema adapter.
64
+ */
65
+ export declare const s: {
66
+ readonly string: typeof string;
67
+ readonly number: typeof number;
68
+ readonly integer: typeof integer;
69
+ readonly boolean: typeof boolean;
70
+ readonly null: typeof nullSchema;
71
+ readonly literal: typeof literal;
72
+ readonly enum: typeof enumeration;
73
+ readonly array: typeof array;
74
+ readonly object: typeof object;
75
+ readonly record: typeof record;
76
+ readonly union: typeof union;
77
+ readonly optional: typeof optional;
78
+ readonly nullable: typeof nullable;
79
+ readonly unknown: typeof unknownSchema;
80
+ readonly empty: typeof empty;
81
+ readonly blob: typeof blob;
82
+ readonly timestamp: typeof timestamp;
83
+ };
84
+ export {};
85
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}