@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,416 @@
1
+ /**
2
+ * AppBoundry capability exercise boundary.
3
+ *
4
+ * An exercise is the atomic "we actually tried this" record above AppPort's
5
+ * invocation contract. It resolves the normal AppBoundry path, invokes the
6
+ * materialized capability, and records redacted evidence; it never treats
7
+ * discovery, manifests, or provider claims as verification.
8
+ */
9
+ import { createHash, randomUUID } from "node:crypto";
10
+ import { DISCOVERY_FAILED, NO_ELIGIBLE_PROVIDER } from "./appboundry-discovery.js";
11
+ import { AppBoundryCapabilityResolver } from "./appboundry-resolution.js";
12
+ import { AppBoundryMaterializationOrchestrator } from "./appboundry-materialization.js";
13
+ import { AppBoundryCapabilityExecutor } from "./appboundry-execution.js";
14
+ import { AppBoundryDiagnosticEngine } from "./appboundry-diagnostics.js";
15
+ export class InMemoryAppBoundryExerciseStore {
16
+ #exercises = [];
17
+ record(exercise) {
18
+ this.#exercises.push(exercise);
19
+ }
20
+ list(input = {}) {
21
+ return this.#exercises.filter((exercise) => {
22
+ if (input.applicationId && exercise.applicationId !== input.applicationId)
23
+ return false;
24
+ if (input.capability?.name && exercise.capability.name !== input.capability.name)
25
+ return false;
26
+ if (input.capability?.version !== undefined && exercise.capability.version !== input.capability.version)
27
+ return false;
28
+ return true;
29
+ });
30
+ }
31
+ }
32
+ export class AppBoundryCapabilityExerciseEngine {
33
+ #discovery;
34
+ #resolver;
35
+ #materialization;
36
+ #executor;
37
+ #store;
38
+ #diagnosticEngine;
39
+ #diagnosticStore;
40
+ #diagnosticFacts;
41
+ #clock;
42
+ #now;
43
+ constructor(options) {
44
+ this.#discovery = options.discovery;
45
+ this.#resolver = options.resolver;
46
+ this.#materialization = options.materialization;
47
+ this.#executor = options.executor ?? new AppBoundryCapabilityExecutor();
48
+ this.#store = options.store;
49
+ this.#diagnosticEngine = options.diagnosticEngine ?? new AppBoundryDiagnosticEngine({ clock: options.clock });
50
+ this.#diagnosticStore = options.diagnosticStore;
51
+ this.#diagnosticFacts = options.diagnosticFacts;
52
+ this.#clock = options.clock ?? (() => new Date().toISOString());
53
+ this.#now = options.now ?? (() => Date.now());
54
+ }
55
+ async exercise(request) {
56
+ const started = this.#now();
57
+ const timestamp = this.#clock();
58
+ const exerciseId = request.exerciseId ?? `exercise_${randomUUID()}`;
59
+ const requestId = request.requestId ?? `${exerciseId}::invoke`;
60
+ const capability = { name: request.capability.name, version: request.capability.version };
61
+ const requestPayload = createPayload(request.input, request.inputSchemaSource);
62
+ const validation = validateExerciseInput(request.input, request.inputSchema);
63
+ if (!validation.valid) {
64
+ return this.#finish({
65
+ id: exerciseId,
66
+ applicationId: request.applicationId,
67
+ capability,
68
+ ...(request.invocationSurface ? { invocationSurface: { invocation: request.invocationSurface } } : {}),
69
+ ...(request.context.environment ? { environment: request.context.environment } : {}),
70
+ request: { ...requestPayload, validation },
71
+ outcome: "FAILED",
72
+ failure: "INVALID_INPUT",
73
+ durationMs: this.#now() - started,
74
+ evidence: createEvidence({
75
+ exerciseId,
76
+ applicationId: request.applicationId,
77
+ capability,
78
+ ...(request.invocationSurface ? { surface: { invocation: request.invocationSurface } } : {}),
79
+ environment: request.context.environment,
80
+ requestHash: requestPayload.hash,
81
+ outcome: "FAILED",
82
+ failure: "INVALID_INPUT",
83
+ timestamp
84
+ }),
85
+ timestamp
86
+ });
87
+ }
88
+ const capabilityRequest = {
89
+ requestId,
90
+ applicationId: request.applicationId,
91
+ context: request.context,
92
+ requirement: request.capability,
93
+ ...(request.requestedTarget ? { materialization: { requestedTarget: request.requestedTarget } } : {})
94
+ };
95
+ const discovery = await this.#discovery.discover({ request: capabilityRequest, context: request.context });
96
+ if (discovery.kind !== "discovered") {
97
+ return this.#failure({
98
+ request,
99
+ exerciseId,
100
+ timestamp,
101
+ started,
102
+ requestPayload,
103
+ failure: discovery.code === DISCOVERY_FAILED
104
+ ? "PROVIDER_UNAVAILABLE"
105
+ : discovery.code === NO_ELIGIBLE_PROVIDER
106
+ ? "PROVIDER_NOT_ELIGIBLE"
107
+ : "PROVIDER_UNAVAILABLE",
108
+ status: discovery.message
109
+ });
110
+ }
111
+ const resolution = await this.#resolver.resolve({
112
+ ...capabilityRequest,
113
+ availableCapabilities: discovery.candidates.map((candidate) => candidate.offer),
114
+ discovery: {
115
+ discoveryId: discovery.discoveryId,
116
+ providerIds: discovery.providerIds,
117
+ candidateIds: discovery.candidates.map((candidate) => `${candidate.providerId}:${candidate.capabilityName}@${candidate.capabilityVersion}`)
118
+ }
119
+ });
120
+ if (resolution.kind !== "resolved") {
121
+ const failure = resolution.kind === "denied"
122
+ ? "AUTHORIZATION_FAILED"
123
+ : resolution.kind === "ambiguous"
124
+ ? "PROVIDER_NOT_ELIGIBLE"
125
+ : discovery.providerIds.length === 0
126
+ ? "PROVIDER_NOT_ELIGIBLE"
127
+ : "PROVIDER_UNAVAILABLE";
128
+ return this.#failure({ request, exerciseId, timestamp, started, requestPayload, failure, status: resolutionFailureMessage(resolution) });
129
+ }
130
+ const provider = {
131
+ id: resolution.provider.id,
132
+ name: resolution.provider.name,
133
+ version: resolution.provider.version
134
+ };
135
+ const artifact = artifactForProvider(request.artifact, resolution.provider.id, `${capability.name}@${capability.version}`);
136
+ if (!artifact) {
137
+ return this.#failure({
138
+ request,
139
+ exerciseId,
140
+ timestamp,
141
+ started,
142
+ requestPayload,
143
+ provider,
144
+ failure: "PROVIDER_UNAVAILABLE",
145
+ status: `No executable artifact available for provider "${resolution.provider.id}"`
146
+ });
147
+ }
148
+ const materialization = await this.#materialization.materialize({
149
+ resolution,
150
+ artifact,
151
+ context: request.capabilityContext,
152
+ requestedTarget: request.requestedTarget
153
+ });
154
+ const materializationFailure = classifyMaterializationFailure(materialization);
155
+ if (materializationFailure) {
156
+ const failedMaterialization = materialization.kind === "materialized" ? undefined : materialization;
157
+ return this.#failure({
158
+ request,
159
+ exerciseId,
160
+ timestamp,
161
+ started,
162
+ requestPayload,
163
+ provider,
164
+ failure: materializationFailure,
165
+ status: failedMaterialization ? materializationStatus(failedMaterialization) : "Materialization failed"
166
+ });
167
+ }
168
+ const executed = await this.#executor.execute({
169
+ requestId,
170
+ capability,
171
+ materialization,
172
+ context: request.capabilityContext,
173
+ input: request.input
174
+ });
175
+ const responsePayload = createPayload(executed.kind === "success" ? executed.output : executed.error);
176
+ const surface = surfaceFromExecution(request, executed);
177
+ const durationMs = this.#now() - started;
178
+ const outcome = executed.kind === "success" ? "VERIFIED" : "FAILED";
179
+ const failure = executed.kind === "failed" ? classifyExecutionFailure(executed) : undefined;
180
+ return this.#finish({
181
+ id: exerciseId,
182
+ applicationId: request.applicationId,
183
+ capability,
184
+ invocationSurface: surface,
185
+ provider,
186
+ ...(request.context.environment ? { environment: request.context.environment } : {}),
187
+ request: { ...requestPayload, validation },
188
+ response: responsePayload,
189
+ outcome,
190
+ ...(failure ? { failure } : {}),
191
+ durationMs,
192
+ evidence: createEvidence({
193
+ exerciseId,
194
+ applicationId: request.applicationId,
195
+ capability,
196
+ provider,
197
+ surface,
198
+ environment: request.context.environment,
199
+ requestHash: requestPayload.hash,
200
+ responseHash: responsePayload.hash,
201
+ outcome,
202
+ failure,
203
+ timestamp,
204
+ executionReference: {
205
+ requestId,
206
+ executionId: executed.executionId,
207
+ ...(executed.resolutionId ? { resolutionId: executed.resolutionId } : {}),
208
+ ...(executed.materializationId ? { materializationId: executed.materializationId } : {}),
209
+ ...(executed.materializerId ? { materializerId: executed.materializerId } : {}),
210
+ ...(executed.evidence.discoveryId ? { discoveryId: executed.evidence.discoveryId } : {}),
211
+ ...(executed.evidence.authorizationId ? { authorizationId: executed.evidence.authorizationId } : {})
212
+ }
213
+ }),
214
+ timestamp
215
+ });
216
+ }
217
+ async status(input) {
218
+ return appBoundryExerciseCapabilityStatus(await this.history(input));
219
+ }
220
+ async history(input) {
221
+ return (await this.#store?.list(input)) ?? [];
222
+ }
223
+ async #finish(exercise) {
224
+ await this.#store?.record(exercise);
225
+ if (exercise.outcome === "FAILED") {
226
+ await this.#diagnosticStore?.record(this.#diagnosticEngine.diagnose({
227
+ exercise,
228
+ facts: this.#diagnosticFacts?.(exercise),
229
+ timestamp: exercise.timestamp
230
+ }));
231
+ }
232
+ return exercise;
233
+ }
234
+ #failure(input) {
235
+ const surface = input.request.invocationSurface
236
+ ? { invocation: input.request.invocationSurface, ...(input.request.requestedTarget ? { target: input.request.requestedTarget } : {}) }
237
+ : input.request.requestedTarget
238
+ ? { target: input.request.requestedTarget }
239
+ : undefined;
240
+ return this.#finish({
241
+ id: input.exerciseId,
242
+ applicationId: input.request.applicationId,
243
+ capability: {
244
+ name: input.request.capability.name,
245
+ version: input.request.capability.version
246
+ },
247
+ ...(surface ? { invocationSurface: surface } : {}),
248
+ ...(input.provider ? { provider: input.provider } : {}),
249
+ ...(input.request.context.environment ? { environment: input.request.context.environment } : {}),
250
+ request: input.requestPayload,
251
+ response: createPayload({ error: input.status }),
252
+ outcome: "FAILED",
253
+ failure: input.failure,
254
+ durationMs: this.#now() - input.started,
255
+ evidence: createEvidence({
256
+ exerciseId: input.exerciseId,
257
+ applicationId: input.request.applicationId,
258
+ capability: {
259
+ name: input.request.capability.name,
260
+ version: input.request.capability.version
261
+ },
262
+ provider: input.provider,
263
+ surface,
264
+ environment: input.request.context.environment,
265
+ requestHash: input.requestPayload.hash,
266
+ responseHash: createPayload({ error: input.status }).hash,
267
+ outcome: "FAILED",
268
+ failure: input.failure,
269
+ timestamp: input.timestamp
270
+ }),
271
+ timestamp: input.timestamp
272
+ });
273
+ }
274
+ }
275
+ export function appBoundryExerciseCapabilityStatus(exercises) {
276
+ if (exercises.length === 0)
277
+ return "NOT_EXERCISED";
278
+ return exercises.some((exercise) => exercise.outcome === "VERIFIED") ? "VERIFIED" : "FAILED";
279
+ }
280
+ export function validateExerciseInput(input, schema) {
281
+ if (!schema || typeof schema !== "object" || Array.isArray(schema))
282
+ return { valid: true };
283
+ const record = schema;
284
+ if (record["type"] !== "object")
285
+ return { valid: true };
286
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
287
+ return { valid: false, reason: "Input must be a JSON object" };
288
+ }
289
+ const body = input;
290
+ const missing = (Array.isArray(record["required"]) ? record["required"] : [])
291
+ .filter((key) => typeof key === "string")
292
+ .filter((key) => body[key] === undefined);
293
+ if (missing.length)
294
+ return { valid: false, reason: `Missing required input: ${missing.join(", ")}`, missing };
295
+ if (record["additionalProperties"] === false && record["properties"] && typeof record["properties"] === "object") {
296
+ const allowed = new Set(Object.keys(record["properties"]));
297
+ const unexpected = Object.keys(body).filter((key) => !allowed.has(key));
298
+ if (unexpected.length)
299
+ return { valid: false, reason: `Unexpected input: ${unexpected.join(", ")}` };
300
+ }
301
+ return { valid: true };
302
+ }
303
+ function createPayload(body, schemaSource) {
304
+ return {
305
+ hash: hashJson(body),
306
+ redacted: redactJson(body),
307
+ ...(schemaSource ? { schemaSource } : {})
308
+ };
309
+ }
310
+ function hashJson(value) {
311
+ return createHash("sha256").update(stableJson(value)).digest("hex");
312
+ }
313
+ function stableJson(value) {
314
+ if (value === null || typeof value !== "object")
315
+ return JSON.stringify(value);
316
+ if (Array.isArray(value))
317
+ return `[${value.map(stableJson).join(",")}]`;
318
+ const entries = Object.entries(value).sort(([left], [right]) => left.localeCompare(right));
319
+ return `{${entries.map(([key, entry]) => `${JSON.stringify(key)}:${stableJson(entry)}`).join(",")}}`;
320
+ }
321
+ function redactJson(value) {
322
+ if (value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean")
323
+ return value;
324
+ if (Array.isArray(value))
325
+ return value.map(redactJson);
326
+ if (typeof value !== "object")
327
+ return null;
328
+ const redacted = {};
329
+ for (const [key, entry] of Object.entries(value)) {
330
+ redacted[key] = sensitiveKey(key) ? "[redacted]" : redactJson(entry);
331
+ }
332
+ return redacted;
333
+ }
334
+ function sensitiveKey(key) {
335
+ return /token|secret|password|authorization|credential|api[-_]?key/i.test(key);
336
+ }
337
+ function createEvidence(input) {
338
+ return {
339
+ exerciseId: input.exerciseId,
340
+ applicationId: input.applicationId,
341
+ capability: input.capability,
342
+ ...(input.provider ? { provider: input.provider } : {}),
343
+ ...(input.surface ? { surface: input.surface } : {}),
344
+ ...(input.environment ? { environment: input.environment } : {}),
345
+ requestHash: input.requestHash,
346
+ ...(input.responseHash ? { responseHash: input.responseHash } : {}),
347
+ outcome: input.outcome,
348
+ ...(input.failure ? { failure: input.failure } : {}),
349
+ timestamp: input.timestamp,
350
+ ...(input.executionReference ? { executionReference: input.executionReference } : {})
351
+ };
352
+ }
353
+ function artifactForProvider(artifact, providerId, capabilityKey) {
354
+ if (isExecutableArtifact(artifact))
355
+ return artifact;
356
+ if (artifact instanceof Map)
357
+ return artifact.get(providerId) ?? artifact.get(capabilityKey);
358
+ const record = artifact;
359
+ return record[providerId] ?? record[capabilityKey];
360
+ }
361
+ function isExecutableArtifact(value) {
362
+ return Boolean(value && typeof value === "object" && "contentHash" in value && "metadata" in value && "bytes" in value);
363
+ }
364
+ function classifyMaterializationFailure(materialization) {
365
+ if (materialization.kind === "materialized")
366
+ return undefined;
367
+ if (materialization.kind === "blocked") {
368
+ if (materialization.resolution.kind === "denied")
369
+ return "AUTHORIZATION_FAILED";
370
+ return "PROVIDER_NOT_ELIGIBLE";
371
+ }
372
+ return "PROVIDER_UNAVAILABLE";
373
+ }
374
+ function materializationStatus(materialization) {
375
+ if (materialization.kind === "ambiguous")
376
+ return materialization.reason;
377
+ if (materialization.kind === "unsupported" || materialization.kind === "blocked")
378
+ return materialization.result.error.message;
379
+ return "Materialization failed";
380
+ }
381
+ function classifyExecutionFailure(result) {
382
+ const text = `${result.error.code} ${result.error.message}`.toLowerCase();
383
+ if (text.includes("timeout"))
384
+ return "TIMEOUT";
385
+ if (text.includes("invalid") && text.includes("input"))
386
+ return "INVALID_INPUT";
387
+ if (text.includes("authorization") || text.includes("unauthorized") || text.includes("forbidden"))
388
+ return "AUTHORIZATION_FAILED";
389
+ if (text.includes("not running") || text.includes("stopped"))
390
+ return "APPLICATION_NOT_RUNNING";
391
+ if (text.includes("connection refused") || text.includes("unreachable") || text.includes("econnrefused"))
392
+ return "SURFACE_NOT_REACHABLE";
393
+ if (text.includes("provider unavailable"))
394
+ return "PROVIDER_UNAVAILABLE";
395
+ if (text.includes("application error"))
396
+ return "APPLICATION_ERROR";
397
+ return "INVOCATION_FAILED";
398
+ }
399
+ function surfaceFromExecution(request, result) {
400
+ return {
401
+ ...(request.requestedTarget ? { target: request.requestedTarget } : {}),
402
+ ...(result.evidence.resolvedTarget ? { resolvedTarget: result.evidence.resolvedTarget } : {}),
403
+ ...(request.invocationSurface ? { invocation: request.invocationSurface } : {}),
404
+ ...(result.evidence.materializerId ? { materializerId: result.evidence.materializerId } : {})
405
+ };
406
+ }
407
+ function resolutionFailureMessage(resolution) {
408
+ if (resolution.kind === "denied")
409
+ return resolution.authorization.message;
410
+ if (resolution.kind === "ambiguous")
411
+ return resolution.reason;
412
+ if (resolution.kind === "unresolved")
413
+ return resolution.reason;
414
+ return "Capability resolved";
415
+ }
416
+ //# sourceMappingURL=appboundry-exercise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appboundry-exercise.js","sourceRoot":"","sources":["../src/appboundry-exercise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * AppBoundry materialization orchestration for resolved capabilities.
3
+ *
4
+ * AppPort defines the materialization request/result/evidence contract.
5
+ * AppBoundry consumes that contract after authorization and capability
6
+ * resolution, selects a compatible materializer, and executes the resulting
7
+ * ephemeral instance. This layer does not add a protocol, scheduler, daemon,
8
+ * remote deployment system, or FeltDB dependency.
9
+ */
10
+ import { type AppErrorObject, type MaterializationRequest, type MaterializationResult, type MaterializationTarget } from "../../protocol/dist/index.d.ts";
11
+ import type { ExecutableArtifact } from "./artifact.js";
12
+ import type { CapabilityContext } from "./context.js";
13
+ import type { AppBoundryResolutionRecord } from "./appboundry-resolution.js";
14
+ export type ResolvedAppBoundryCapability = Extract<AppBoundryResolutionRecord, {
15
+ kind: "resolved";
16
+ }>;
17
+ export interface AppBoundryMaterializerConstraint {
18
+ readonly applicationIds?: readonly string[];
19
+ readonly providerIds?: readonly string[];
20
+ readonly capabilities?: readonly {
21
+ readonly name: string;
22
+ readonly version?: number;
23
+ }[];
24
+ readonly artifactFormats?: readonly ExecutableArtifact["metadata"]["compiler"]["format"][];
25
+ }
26
+ export interface AppBoundryMaterializer {
27
+ readonly id: string;
28
+ readonly targets: readonly MaterializationTarget[];
29
+ readonly priority?: number;
30
+ readonly constraints?: AppBoundryMaterializerConstraint;
31
+ materialize(input: AppBoundryMaterializerInput): Promise<AppBoundryMaterializationSuccess>;
32
+ }
33
+ export interface AppBoundryMaterializerInput {
34
+ readonly resolution: ResolvedAppBoundryCapability;
35
+ readonly artifact: ExecutableArtifact;
36
+ readonly request: MaterializationRequest;
37
+ readonly context: CapabilityContext;
38
+ }
39
+ export interface AppBoundryExecutionInput<TInput = unknown> {
40
+ readonly input: TInput;
41
+ readonly context: CapabilityContext;
42
+ readonly executionId?: string;
43
+ }
44
+ export type AppBoundryExecutionResult<TOutput = unknown> = {
45
+ readonly kind: "success";
46
+ readonly executionId: string;
47
+ readonly resolutionId: string;
48
+ readonly materializationId: string;
49
+ readonly materializerId: string;
50
+ readonly artifactHash: string;
51
+ readonly output: TOutput;
52
+ readonly evidence: AppBoundryExecutionEvidence;
53
+ readonly completed: true;
54
+ } | {
55
+ readonly kind: "failed";
56
+ readonly executionId: string;
57
+ readonly resolutionId: string;
58
+ readonly materializationId: string;
59
+ readonly materializerId: string;
60
+ readonly artifactHash: string;
61
+ readonly error: AppErrorObject;
62
+ readonly evidence: AppBoundryExecutionEvidence;
63
+ readonly completed: true;
64
+ };
65
+ export interface AppBoundryExecutionEvidence {
66
+ readonly requestId: string;
67
+ readonly resolutionId: string;
68
+ readonly materializationRequestId: string;
69
+ readonly materializationId: string;
70
+ readonly discoveryId?: string;
71
+ readonly eligibilitySource?: string;
72
+ readonly relationshipId?: string;
73
+ readonly relationshipRevision?: number;
74
+ readonly offerId?: string;
75
+ readonly offerRevision?: number;
76
+ readonly authorizationId?: string;
77
+ readonly remoteHandoffId?: string;
78
+ readonly executionId: string;
79
+ readonly providerApplicationId: string;
80
+ readonly consumerApplicationId: string;
81
+ readonly capability: {
82
+ readonly name: string;
83
+ readonly version: number;
84
+ };
85
+ readonly requestedTarget: MaterializationTarget;
86
+ readonly resolvedTarget: MaterializationTarget;
87
+ readonly resolvedEnvironment?: string;
88
+ readonly materializerId: string;
89
+ readonly artifactHash: string;
90
+ readonly contractFingerprint: string;
91
+ }
92
+ export interface AppBoundryMaterializedCapability {
93
+ readonly resolutionId: string;
94
+ readonly materializationId: string;
95
+ readonly materializerId: string;
96
+ readonly requestedTarget: MaterializationTarget;
97
+ readonly resolvedTarget: MaterializationTarget;
98
+ readonly artifact: ExecutableArtifact;
99
+ readonly request: MaterializationRequest;
100
+ readonly result: Extract<MaterializationResult, {
101
+ ok: true;
102
+ }>;
103
+ execute<TOutput = unknown>(input: AppBoundryExecutionInput): Promise<AppBoundryExecutionResult<TOutput>>;
104
+ }
105
+ export interface AppBoundryMaterializationSuccess {
106
+ readonly kind: "materialized";
107
+ readonly materialized: AppBoundryMaterializedCapability;
108
+ readonly request: MaterializationRequest;
109
+ readonly result: Extract<MaterializationResult, {
110
+ ok: true;
111
+ }>;
112
+ }
113
+ export interface AppBoundryMaterializationResolved {
114
+ readonly kind: "resolved";
115
+ readonly resolution: ResolvedAppBoundryCapability;
116
+ readonly materializer: AppBoundryMaterializer;
117
+ readonly request: MaterializationRequest;
118
+ }
119
+ export interface AppBoundryMaterializationUnsupported {
120
+ readonly kind: "unsupported";
121
+ readonly resolution: ResolvedAppBoundryCapability;
122
+ readonly requestedTarget: MaterializationTarget;
123
+ readonly candidates: readonly AppBoundryMaterializer[];
124
+ readonly request: MaterializationRequest;
125
+ readonly result: Extract<MaterializationResult, {
126
+ ok: false;
127
+ }>;
128
+ }
129
+ export interface AppBoundryMaterializationAmbiguous {
130
+ readonly kind: "ambiguous";
131
+ readonly resolution: ResolvedAppBoundryCapability;
132
+ readonly requestedTarget: MaterializationTarget;
133
+ readonly candidates: readonly AppBoundryMaterializer[];
134
+ readonly request: MaterializationRequest;
135
+ readonly reason: string;
136
+ }
137
+ export interface AppBoundryMaterializationBlocked {
138
+ readonly kind: "blocked";
139
+ readonly resolution: AppBoundryResolutionRecord;
140
+ readonly requestedTarget: MaterializationTarget;
141
+ readonly request: MaterializationRequest;
142
+ readonly result: Extract<MaterializationResult, {
143
+ ok: false;
144
+ }>;
145
+ }
146
+ export type AppBoundryMaterializationResolution = AppBoundryMaterializationResolved | AppBoundryMaterializationUnsupported | AppBoundryMaterializationAmbiguous;
147
+ export type ArtifactCapabilityExecutor = <TOutput = unknown>(input: {
148
+ readonly artifact: ExecutableArtifact;
149
+ readonly resolution: ResolvedAppBoundryCapability;
150
+ readonly materialization: AppBoundryMaterializedCapability;
151
+ readonly executionId: string;
152
+ readonly capabilityInput: unknown;
153
+ readonly context: CapabilityContext;
154
+ }) => Promise<TOutput> | TOutput;
155
+ export declare class AppBoundryMaterializerRegistry {
156
+ #private;
157
+ register(materializer: AppBoundryMaterializer): this;
158
+ list(): readonly AppBoundryMaterializer[];
159
+ compatible(target: MaterializationTarget, resolution: ResolvedAppBoundryCapability, artifact: ExecutableArtifact): readonly AppBoundryMaterializer[];
160
+ }
161
+ export declare class AppBoundryMaterializationResolver {
162
+ private readonly registry;
163
+ constructor(registry: AppBoundryMaterializerRegistry);
164
+ resolve(input: {
165
+ readonly resolution: ResolvedAppBoundryCapability;
166
+ readonly artifact: ExecutableArtifact;
167
+ readonly requestedTarget?: MaterializationTarget;
168
+ }): AppBoundryMaterializationResolution;
169
+ }
170
+ export declare class AppBoundryMaterializationOrchestrator {
171
+ private readonly resolver;
172
+ constructor(resolver: AppBoundryMaterializationResolver);
173
+ materialize(input: {
174
+ readonly resolution: AppBoundryResolutionRecord;
175
+ readonly artifact: ExecutableArtifact;
176
+ readonly context: CapabilityContext;
177
+ readonly requestedTarget?: MaterializationTarget;
178
+ }): Promise<AppBoundryMaterializationSuccess | AppBoundryMaterializationUnsupported | AppBoundryMaterializationAmbiguous | AppBoundryMaterializationBlocked>;
179
+ }
180
+ export declare function createAppBoundryMaterializationRequest(input: {
181
+ readonly resolution: ResolvedAppBoundryCapability;
182
+ readonly artifact: ExecutableArtifact;
183
+ readonly requestedTarget?: MaterializationTarget;
184
+ readonly requestId?: string;
185
+ }): MaterializationRequest;
186
+ export declare function createBrowserWasmMaterializer(options: {
187
+ readonly id?: string;
188
+ readonly priority?: number;
189
+ readonly execute: ArtifactCapabilityExecutor;
190
+ readonly constraints?: Omit<AppBoundryMaterializerConstraint, "artifactFormats">;
191
+ }): AppBoundryMaterializer;
192
+ export declare function createLocalMaterializer(options: {
193
+ readonly id?: string;
194
+ readonly priority?: number;
195
+ readonly execute: ArtifactCapabilityExecutor;
196
+ readonly constraints?: AppBoundryMaterializerConstraint;
197
+ }): AppBoundryMaterializer;
198
+ export interface AppBoundryRemoteMaterializationRequest {
199
+ readonly handoffId: string;
200
+ readonly resolution: ResolvedAppBoundryCapability;
201
+ readonly artifact: ExecutableArtifact;
202
+ readonly request: MaterializationRequest;
203
+ readonly context: CapabilityContext;
204
+ }
205
+ export interface AppBoundryRemoteMaterializedCapability {
206
+ readonly remoteHandoffId: string;
207
+ execute<TOutput = unknown>(input: AppBoundryRemoteExecutionInput): Promise<TOutput> | TOutput;
208
+ }
209
+ export interface AppBoundryRemoteExecutionInput<TInput = unknown> {
210
+ readonly executionId: string;
211
+ readonly capabilityInput: TInput;
212
+ readonly context: CapabilityContext;
213
+ readonly request: MaterializationRequest;
214
+ }
215
+ export interface AppBoundryRemoteMaterializerOptions {
216
+ readonly id?: string;
217
+ readonly priority?: number;
218
+ readonly constraints?: AppBoundryMaterializerConstraint;
219
+ materialize(input: AppBoundryRemoteMaterializationRequest): Promise<AppBoundryRemoteMaterializedCapability> | AppBoundryRemoteMaterializedCapability;
220
+ }
221
+ export declare function createRemoteMaterializer(options: AppBoundryRemoteMaterializerOptions): AppBoundryMaterializer;
222
+ //# sourceMappingURL=appboundry-materialization.d.ts.map