@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
package/LICENSE ADDED
@@ -0,0 +1,126 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work.
38
+
39
+ "Derivative Works" shall mean any work, whether in Source or Object
40
+ form, that is based on (or derived from) the Work and for which the
41
+ editorial revisions, annotations, elaborations, or other modifications
42
+ represent, as a whole, an original work of authorship.
43
+
44
+ "Contribution" shall mean any work of authorship, including
45
+ the original version of the Work and any modifications or additions
46
+ to that Work or Derivative Works thereof, that is intentionally
47
+ submitted to Licensor for inclusion in the Work by the copyright owner
48
+ or by an individual or Legal Entity authorized to submit on behalf of
49
+ the copyright owner.
50
+
51
+ "Contributor" shall mean Licensor and any individual or Legal Entity
52
+ on behalf of whom a Contribution has been received by Licensor and
53
+ subsequently incorporated within the Work.
54
+
55
+ 2. Grant of Copyright License. Subject to the terms and conditions of
56
+ this License, each Contributor hereby grants to You a perpetual,
57
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
58
+ copyright license to reproduce, prepare Derivative Works of,
59
+ publicly display, publicly perform, sublicense, and distribute the
60
+ Work and such Derivative Works in Source or Object form.
61
+
62
+ 3. Grant of Patent License. Subject to the terms and conditions of
63
+ this License, each Contributor hereby grants to You a perpetual,
64
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
65
+ (except as stated in this section) patent license to make, have made,
66
+ use, offer to sell, sell, import, and otherwise transfer the Work.
67
+
68
+ 4. Redistribution. You may reproduce and distribute copies of the
69
+ Work or Derivative Works thereof in any medium, with or without
70
+ modifications, and in Source or Object form, provided that You
71
+ meet the following conditions:
72
+
73
+ (a) You must give any other recipients of the Work or
74
+ Derivative Works a copy of this License; and
75
+
76
+ (b) You must cause any modified files to carry prominent notices
77
+ stating that You changed the files; and
78
+
79
+ (c) You must retain, in the Source form of any Derivative Works
80
+ that You distribute, all copyright, patent, trademark, and
81
+ attribution notices from the Source form of the Work; and
82
+
83
+ (d) If the Work includes a "NOTICE" text file as part of its
84
+ distribution, then any Derivative Works that You distribute must
85
+ include a readable copy of the attribution notices contained
86
+ within such NOTICE file.
87
+
88
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
89
+ any Contribution intentionally submitted for inclusion in the Work
90
+ by You to the Licensor shall be under the terms and conditions of
91
+ this License, without any additional terms or conditions.
92
+
93
+ 6. Trademarks. This License does not grant permission to use the trade
94
+ names, trademarks, service marks, or product names of the Licensor.
95
+
96
+ 7. Disclaimer of Warranty. Unless required by applicable law or
97
+ agreed to in writing, Licensor provides the Work (and each
98
+ Contributor provides its Contributions) on an "AS IS" BASIS,
99
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
100
+ implied.
101
+
102
+ 8. Limitation of Liability. In no event and under no legal theory,
103
+ whether in tort (including negligence), contract, or otherwise,
104
+ shall any Contributor be liable to You for damages.
105
+
106
+ 9. Accepting Warranty or Additional Liability. While redistributing
107
+ the Work or Derivative Works thereof, You may choose to offer,
108
+ and charge a fee for, acceptance of support, warranty, indemnity,
109
+ or other liability obligations and/or rights consistent with this
110
+ License.
111
+
112
+ END OF TERMS AND CONDITIONS
113
+
114
+ Copyright 2026 AppPort contributors
115
+
116
+ Licensed under the Apache License, Version 2.0 (the "License");
117
+ you may not use this file except in compliance with the License.
118
+ You may obtain a copy of the License at
119
+
120
+ http://www.apache.org/licenses/LICENSE-2.0
121
+
122
+ Unless required by applicable law or agreed to in writing, software
123
+ distributed under the License is distributed on an "AS IS" BASIS,
124
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125
+ See the License for the specific language governing permissions and
126
+ limitations under the License.
package/README.md CHANGED
@@ -1,17 +1,94 @@
1
- # `@appport/sdk`
1
+ # @appport/sdk
2
2
 
3
- The curated TypeScript API for the AppPort protocol.
3
+ The developer-facing AppPort implementation SDK. Use it to give an application
4
+ a stable identity and define portable, contract-driven capabilities without
5
+ coupling application code to a process, URL, transport, AppBoundry, or FeltDB.
4
6
 
5
- It exposes application contracts, capability handlers, manifests, clients,
6
- servers, authorization primitives, and supported transports without coupling
7
- application code to a URL, process, transport, storage engine, or platform.
7
+ Install it in an application repository:
8
+
9
+ ```sh
10
+ npm install @appport/sdk
11
+ ```
12
+
13
+ For the quickest setup, install the CLI and let it create the application
14
+ boundary:
15
+
16
+ ```sh
17
+ npm install --save-dev appport
18
+ npx appport contract init
19
+ npx appport add # guided capability setup
20
+ npx appport dev
21
+ ```
22
+
23
+ Use `@appport/sdk` in application code to define contracts and handlers. The SDK
24
+ is also the canonical producer of the AppPort application package that
25
+ AppBoundry consumes; use the `appport` CLI to scaffold, generate, run, test, and
26
+ validate the same contract.
8
27
 
9
28
  ```ts
10
- import { createClient, createHttpTransport } from "@appport/sdk";
29
+ import { AppPortApplication, createApplicationPackage, defineApplication, defineCapability, s } from "@appport/sdk";
30
+
31
+ const history = defineCapability({
32
+ name: "tracker.history",
33
+ version: 1,
34
+ input: s.object({ trackerId: s.string() }),
35
+ output: s.object({ entries: s.array(s.string()) }),
36
+ async handler({ trackerId }) {
37
+ return { entries: await existingTracker.history(trackerId) };
38
+ }
39
+ });
40
+
41
+ export const tracker = defineApplication({
42
+ id: "com.example.tracker",
43
+ name: "Tracker",
44
+ version: "1.0.0",
45
+ provides: [history]
46
+ });
11
47
 
12
- const app = createClient({
13
- transport: createHttpTransport({ url: "/appport" })
48
+ const appPackage = createApplicationPackage(tracker, {
49
+ artifact: await readCompiledWasmBytes(),
50
+ implementationId: "tracker.wasm"
14
51
  });
52
+
53
+ // appPackage.files contains the `.app` bundle manifest and application.wasm.
54
+ // appPackage.contractFingerprint is the canonical contract fingerprint.
55
+ ```
56
+
57
+ See all CLI commands with `npx appport --help`. The main workflow is `add`,
58
+ `dev`, `build`, `test`, `doctor`, and `validate`.
59
+
60
+ Capability implementations are transport-independent. Choose in-process,
61
+ HTTP, WebSocket, Electron, Tauri, web, mobile, or MCP adapters at the process
62
+ edge.
63
+
64
+ The supported surface is the package root plus the Node-only
65
+ `@appport/sdk/node` host entrypoint. The root supports modern browsers and Node
66
+ 20+ where the selected adapter's platform APIs are available; Bun and Deno are
67
+ not yet qualified. AppPort is the open protocol and application boundary.
68
+ AppBoundry is an optional downstream authority that discovers, authorizes, and
69
+ governs AppPort applications—it is not required to use this SDK.
70
+
71
+ The first public release treats the documented exports as the compatibility
72
+ surface under semantic versioning. Protocol requirements are defined in the
73
+ [AppPort specification](../../spec/appport-1.0.md).
74
+
75
+ ## External compatibility proof
76
+
77
+ The external compatibility harness executes its real application boundaries,
78
+ including AWS CardDemo COBOL, FastAPI, Spring Boot, MCP, WebAssembly, and the
79
+ modern replacement service. Install its host prerequisites before running:
80
+
81
+ ```sh
82
+ # macOS
83
+ brew install gnucobol maven
84
+ export PATH="$(brew --prefix openjdk)/bin:$PATH"
85
+ python3 -m pip install -r external/fastapi-account/requirements.txt
86
+
87
+ # Debian/Ubuntu
88
+ sudo apt-get install -y gnucobol maven
89
+ python3 -m pip install -r external/fastapi-account/requirements.txt
15
90
  ```
16
91
 
17
- Node-only hosting helpers are exported from `@appport/sdk/node`.
92
+ Then run `pnpm demo:appboundry:external-compat`. Missing external runtimes are
93
+ reported as failures because silently substituting or skipping them would not
94
+ prove compatibility.
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shared AppBoundry application onboarding model.
3
+ *
4
+ * The CLI and the future portal import path have different owners and UX, but
5
+ * they advance the same neutral application model through the same phases.
6
+ */
7
+ import type { ExecutionTopology } from "./execution-topology.js";
8
+ export type ApplicationOnboardingEntryPoint = "self" | "portal";
9
+ export type ApplicationOwnership = "developer" | "enterprise";
10
+ export type ApplicationOnboardingPhaseName = "discover" | "start" | "exercise" | "resolve";
11
+ export type ApplicationOnboardingPhaseStatus = "ready" | "needs_input" | "complete";
12
+ export interface ApplicationOnboardingRepository {
13
+ readonly name: string;
14
+ readonly runtime: string;
15
+ readonly packageManager: string;
16
+ readonly buildSystem: string;
17
+ readonly existingAppPort?: boolean;
18
+ readonly existingContract?: boolean;
19
+ }
20
+ export interface ApplicationOnboardingCapability {
21
+ readonly name: string;
22
+ readonly surface: string;
23
+ readonly target: string;
24
+ readonly source: string;
25
+ readonly exercised?: boolean;
26
+ readonly inputSchema?: unknown;
27
+ readonly outputSchema?: unknown;
28
+ }
29
+ export interface ApplicationOnboardingInput {
30
+ readonly entryPoint: ApplicationOnboardingEntryPoint;
31
+ readonly ownership: ApplicationOwnership;
32
+ readonly repository: ApplicationOnboardingRepository;
33
+ readonly capabilities: readonly ApplicationOnboardingCapability[];
34
+ readonly startCommand?: string;
35
+ readonly topology?: ExecutionTopology;
36
+ }
37
+ export interface ApplicationOnboardingPhase {
38
+ readonly name: ApplicationOnboardingPhaseName;
39
+ readonly status: ApplicationOnboardingPhaseStatus;
40
+ readonly summary: string;
41
+ }
42
+ export interface ApplicationOnboardingPlan {
43
+ readonly entryPoint: ApplicationOnboardingEntryPoint;
44
+ readonly ownership: ApplicationOwnership;
45
+ readonly repository: ApplicationOnboardingRepository;
46
+ readonly capabilities: readonly ApplicationOnboardingCapability[];
47
+ readonly phases: readonly ApplicationOnboardingPhase[];
48
+ readonly selectedCapabilities: readonly string[];
49
+ readonly topology?: ExecutionTopology;
50
+ }
51
+ export declare function createApplicationOnboardingPlan(input: ApplicationOnboardingInput): ApplicationOnboardingPlan;
52
+ //# sourceMappingURL=application-onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-onboarding.d.ts","sourceRoot":"","sources":["../src/application-onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,QAAQ,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,YAAY,CAAC;AAC9D,MAAM,MAAM,8BAA8B,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAC3F,MAAM,MAAM,gCAAgC,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAEpF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,0BAA0B,GAAG,yBAAyB,CA2C5G"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Shared AppBoundry application onboarding model.
3
+ *
4
+ * The CLI and the future portal import path have different owners and UX, but
5
+ * they advance the same neutral application model through the same phases.
6
+ */
7
+ export function createApplicationOnboardingPlan(input) {
8
+ const capabilities = [...input.capabilities].sort((a, b) => a.name.localeCompare(b.name));
9
+ const selectedCapabilities = capabilities.map(capability => capability.name);
10
+ const exercised = capabilities.filter(capability => capability.exercised).length;
11
+ return {
12
+ entryPoint: input.entryPoint,
13
+ ownership: input.ownership,
14
+ repository: input.repository,
15
+ capabilities,
16
+ ...(input.topology ? { topology: input.topology } : {}),
17
+ selectedCapabilities,
18
+ phases: [
19
+ {
20
+ name: "discover",
21
+ status: capabilities.length ? "complete" : "needs_input",
22
+ summary: capabilities.length
23
+ ? `${capabilities.length} invocation ${capabilities.length === 1 ? "surface" : "surfaces"} discovered`
24
+ : "No invocation surface was discovered"
25
+ },
26
+ {
27
+ name: "start",
28
+ status: input.startCommand ? "ready" : "needs_input",
29
+ summary: input.startCommand ?? "No repository start command was detected"
30
+ },
31
+ {
32
+ name: "exercise",
33
+ status: exercised ? "complete" : capabilities.length ? "ready" : "needs_input",
34
+ summary: exercised
35
+ ? `${exercised} live ${exercised === 1 ? "operation" : "operations"} exercised`
36
+ : capabilities.length
37
+ ? "Ready to exercise discovered operations in Studio"
38
+ : "Discover operations before exercising them"
39
+ },
40
+ {
41
+ name: "resolve",
42
+ status: capabilities.length ? "ready" : "needs_input",
43
+ summary: capabilities.length
44
+ ? `${selectedCapabilities.length} draft ${selectedCapabilities.length === 1 ? "capability" : "capabilities"} ready for contract resolution`
45
+ : "Select or define a capability before resolving the contract"
46
+ }
47
+ ]
48
+ };
49
+ }
50
+ //# sourceMappingURL=application-onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-onboarding.js","sourceRoot":"","sources":["../src/application-onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,MAAM,UAAU,+BAA+B,CAAC,KAAiC;IAC/E,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAEjF,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY;QACZ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,oBAAoB;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;gBACxD,OAAO,EAAE,YAAY,CAAC,MAAM;oBAC1B,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,eAAe,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,aAAa;oBACtG,CAAC,CAAC,sCAAsC;aAC3C;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBACpD,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,0CAA0C;aAC1E;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBAC9E,OAAO,EAAE,SAAS;oBAChB,CAAC,CAAC,GAAG,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,YAAY;oBAC/E,CAAC,CAAC,YAAY,CAAC,MAAM;wBACnB,CAAC,CAAC,mDAAmD;wBACrD,CAAC,CAAC,4CAA4C;aACnD;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBACrD,OAAO,EAAE,YAAY,CAAC,MAAM;oBAC1B,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,UAAU,oBAAoB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,gCAAgC;oBAC3I,CAAC,CAAC,6DAA6D;aAClE;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Reusable helpers for external application compatibility proofs.
3
+ *
4
+ * The helpers keep external integrations inside the supported public SDK
5
+ * boundary: an integration describes the external project, records what the
6
+ * harness actually executed, and receives a machine-readable report plus a
7
+ * human-readable matrix. Statuses are always derived from observed execution,
8
+ * never authored by hand, so a manifest can never imply that an external
9
+ * application ran.
10
+ */
11
+ /** Result of a single compatibility check. */
12
+ export type ExternalCompatibilityStatus = "pass" | "fail" | "skip" | "not_run";
13
+ /**
14
+ * How far an external project has progressed.
15
+ *
16
+ * - `declared`: a manifest exists, nothing has been built or executed.
17
+ * - `scaffolded`: the integration exists but the application was not executed.
18
+ * - `executable`: the external application started and its boundary was invoked.
19
+ * - `verified`: the executed boundary satisfied the AppPort contract.
20
+ * - `skipped`: execution is impossible in this environment (reason required).
21
+ * - `failed`: execution was attempted and did not satisfy the contract.
22
+ */
23
+ export type ExternalIntegrationStatus = "declared" | "scaffolded" | "executable" | "verified" | "skipped" | "failed";
24
+ /** What a project's evidence proves. */
25
+ export type ExternalCompatibilityProofLevel = "manifest" | "contract" | "external-execution" | "provider-replacement" | "legacy-replacement";
26
+ /** Where the external application source comes from. */
27
+ export type ExternalProjectOrigin = "upstream-vendored" | "upstream-declared" | "harness-authored";
28
+ /** Canonical manifest entry for an external application. */
29
+ export interface ExternalCompatibilityProject {
30
+ readonly project: string;
31
+ readonly displayName: string;
32
+ readonly origin: ExternalProjectOrigin;
33
+ readonly repository: string;
34
+ readonly commit: string;
35
+ readonly license: string;
36
+ readonly language: string;
37
+ readonly runtime: string;
38
+ readonly surface: string;
39
+ readonly services: readonly string[];
40
+ readonly startup: string;
41
+ readonly shutdown: string;
42
+ readonly capability: string;
43
+ readonly contract: string;
44
+ readonly integrationBoundary: string;
45
+ readonly proofLevel: ExternalCompatibilityProofLevel;
46
+ readonly capabilityMapping?: string;
47
+ readonly expectedIntegration?: string;
48
+ readonly skippedReason?: string;
49
+ }
50
+ /** Evidence recorded for one execution of an external capability. */
51
+ export interface ExternalCompatibilityEvidence {
52
+ readonly capability: string;
53
+ readonly contract: string;
54
+ readonly provider: string;
55
+ readonly language: string;
56
+ readonly surface: string;
57
+ readonly boundary: string;
58
+ readonly boundaryInvocations: number;
59
+ readonly eligibility: string;
60
+ readonly authorization: string;
61
+ readonly resolution: string;
62
+ readonly materialization: string;
63
+ readonly execution: string;
64
+ readonly environment: string;
65
+ readonly evidenceId: string;
66
+ }
67
+ /** Per-check results for one project. */
68
+ export interface ExternalCompatibilityTestResults {
69
+ readonly contract: ExternalCompatibilityStatus;
70
+ readonly discovery: ExternalCompatibilityStatus;
71
+ readonly authorization: ExternalCompatibilityStatus;
72
+ readonly resolution: ExternalCompatibilityStatus;
73
+ readonly materialization: ExternalCompatibilityStatus;
74
+ readonly execution: ExternalCompatibilityStatus;
75
+ readonly revocation: ExternalCompatibilityStatus;
76
+ readonly replacement: ExternalCompatibilityStatus;
77
+ readonly legacyShutdown: ExternalCompatibilityStatus;
78
+ }
79
+ /** What an integration observed while driving one external project. */
80
+ export interface ExternalCompatibilityObservation {
81
+ readonly project: ExternalCompatibilityProject;
82
+ /** The AppPort contract was verified against the external application. */
83
+ readonly contractVerified?: boolean;
84
+ readonly discovered?: boolean;
85
+ readonly authorized?: boolean;
86
+ readonly resolved?: boolean;
87
+ readonly materialized?: boolean;
88
+ /** Evidence for a real execution of the external application boundary. */
89
+ readonly evidence?: ExternalCompatibilityEvidence;
90
+ /** Provider revocation produced `appboundry.NO_ELIGIBLE_PROVIDER`. */
91
+ readonly revoked?: boolean;
92
+ /** Another provider served the same contract after this one was revoked. */
93
+ readonly replaced?: boolean;
94
+ /** The legacy application was stopped and the contract still resolved. */
95
+ readonly legacyShutdown?: boolean;
96
+ /** Execution is impossible in this environment. Forces `skipped`. */
97
+ readonly skippedReason?: string;
98
+ /** Execution was attempted and failed. Forces `failed`. */
99
+ readonly failureReason?: string;
100
+ }
101
+ /** A project entry in the generated compatibility report. */
102
+ export interface ExternalCompatibilityProjectReport extends ExternalCompatibilityProject {
103
+ readonly status: ExternalIntegrationStatus;
104
+ readonly tests: ExternalCompatibilityTestResults;
105
+ readonly evidence?: ExternalCompatibilityEvidence;
106
+ readonly failureReason?: string;
107
+ }
108
+ /** Machine-readable compatibility report. */
109
+ export interface ExternalCompatibilityReport {
110
+ readonly title: "AppBoundry External Compatibility Proof";
111
+ readonly generatedBy: "appport.externalCompatibilityHarness";
112
+ readonly projects: readonly ExternalCompatibilityProjectReport[];
113
+ }
114
+ /** One row of the human-readable compatibility matrix. */
115
+ export interface ExternalCompatibilityMatrixRow {
116
+ readonly project: string;
117
+ readonly language: string;
118
+ readonly surface: string;
119
+ readonly capability: string;
120
+ readonly integration: ExternalIntegrationStatus;
121
+ readonly contract: ExternalCompatibilityStatus;
122
+ readonly execution: ExternalCompatibilityStatus;
123
+ readonly replacement: ExternalCompatibilityStatus;
124
+ }
125
+ /**
126
+ * Derives a project report from what the harness observed.
127
+ *
128
+ * A project only reaches `verified` when its external application boundary was
129
+ * actually invoked and the AppPort contract held for that execution.
130
+ */
131
+ export declare function recordExternalCompatibility(observation: ExternalCompatibilityObservation): ExternalCompatibilityProjectReport;
132
+ /** Builds the machine-readable report from recorded project results. */
133
+ export declare function createExternalCompatibilityReport(projects: readonly ExternalCompatibilityProjectReport[]): ExternalCompatibilityReport;
134
+ /** Projects whose external application was actually executed and verified. */
135
+ export declare function verifiedExternalProjects(report: ExternalCompatibilityReport): readonly ExternalCompatibilityProjectReport[];
136
+ /** Reduces the report to matrix rows. */
137
+ export declare function externalCompatibilityMatrix(report: ExternalCompatibilityReport): readonly ExternalCompatibilityMatrixRow[];
138
+ /** Formats the compatibility matrix for the enterprise trace. */
139
+ export declare function formatExternalCompatibilityMatrix(report: ExternalCompatibilityReport): string;
140
+ /** Fails when the consumer source changed across provider replacement. */
141
+ export declare function assertConsumerSourceUnchanged(before: string, after: string): void;
142
+ //# sourceMappingURL=external-compatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-compatibility.d.ts","sourceRoot":"","sources":["../src/external-compatibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Reusable helpers for external application compatibility proofs.
3
+ *
4
+ * The helpers keep external integrations inside the supported public SDK
5
+ * boundary: an integration describes the external project, records what the
6
+ * harness actually executed, and receives a machine-readable report plus a
7
+ * human-readable matrix. Statuses are always derived from observed execution,
8
+ * never authored by hand, so a manifest can never imply that an external
9
+ * application ran.
10
+ */
11
+ function optional(flag) {
12
+ if (flag === undefined)
13
+ return "not_run";
14
+ return flag ? "pass" : "fail";
15
+ }
16
+ /**
17
+ * Derives a project report from what the harness observed.
18
+ *
19
+ * A project only reaches `verified` when its external application boundary was
20
+ * actually invoked and the AppPort contract held for that execution.
21
+ */
22
+ export function recordExternalCompatibility(observation) {
23
+ const { project } = observation;
24
+ const skippedReason = observation.skippedReason ?? project.skippedReason;
25
+ if (skippedReason) {
26
+ return {
27
+ ...project,
28
+ skippedReason,
29
+ status: "skipped",
30
+ tests: {
31
+ contract: "skip",
32
+ discovery: "skip",
33
+ authorization: "skip",
34
+ resolution: "skip",
35
+ materialization: "skip",
36
+ execution: "skip",
37
+ revocation: "skip",
38
+ replacement: "skip",
39
+ legacyShutdown: "skip"
40
+ }
41
+ };
42
+ }
43
+ const executed = (observation.evidence?.boundaryInvocations ?? 0) > 0;
44
+ const contract = optional(observation.contractVerified);
45
+ const tests = {
46
+ contract,
47
+ discovery: optional(observation.discovered),
48
+ authorization: optional(observation.authorized),
49
+ resolution: optional(observation.resolved),
50
+ materialization: optional(observation.materialized),
51
+ execution: observation.failureReason ? "fail" : executed ? "pass" : "not_run",
52
+ revocation: optional(observation.revoked),
53
+ replacement: optional(observation.replaced),
54
+ legacyShutdown: optional(observation.legacyShutdown)
55
+ };
56
+ const failed = observation.failureReason !== undefined || Object.values(tests).includes("fail");
57
+ const status = failed
58
+ ? "failed"
59
+ : executed && contract === "pass"
60
+ ? "verified"
61
+ : executed
62
+ ? "executable"
63
+ : "scaffolded";
64
+ return {
65
+ ...project,
66
+ status,
67
+ tests,
68
+ ...(observation.evidence ? { evidence: observation.evidence } : {}),
69
+ ...(observation.failureReason ? { failureReason: observation.failureReason } : {})
70
+ };
71
+ }
72
+ /** Builds the machine-readable report from recorded project results. */
73
+ export function createExternalCompatibilityReport(projects) {
74
+ return {
75
+ title: "AppBoundry External Compatibility Proof",
76
+ generatedBy: "appport.externalCompatibilityHarness",
77
+ projects: projects.map((project) => ({ ...project }))
78
+ };
79
+ }
80
+ /** Projects whose external application was actually executed and verified. */
81
+ export function verifiedExternalProjects(report) {
82
+ return report.projects.filter((project) => project.status === "verified");
83
+ }
84
+ /** Reduces the report to matrix rows. */
85
+ export function externalCompatibilityMatrix(report) {
86
+ return report.projects.map((project) => ({
87
+ project: project.displayName,
88
+ language: project.language,
89
+ surface: project.surface,
90
+ capability: project.capability,
91
+ integration: project.status,
92
+ contract: project.tests.contract,
93
+ execution: project.tests.execution,
94
+ replacement: project.tests.replacement
95
+ }));
96
+ }
97
+ const COLUMNS = [
98
+ ["Project", 16],
99
+ ["Language", 15],
100
+ ["Surface", 14],
101
+ ["Capability", 18],
102
+ ["Integration", 12],
103
+ ["Contract", 9],
104
+ ["Execution", 10],
105
+ ["Replacement", 11]
106
+ ];
107
+ function row(values) {
108
+ return values.map((value, index) => value.padEnd(COLUMNS[index][1])).join(" ").trimEnd();
109
+ }
110
+ /** Formats the compatibility matrix for the enterprise trace. */
111
+ export function formatExternalCompatibilityMatrix(report) {
112
+ const header = row(COLUMNS.map(([label]) => label));
113
+ const divider = "-".repeat(header.length);
114
+ const body = externalCompatibilityMatrix(report).map((entry) => row([
115
+ entry.project,
116
+ entry.language,
117
+ entry.surface,
118
+ entry.capability,
119
+ entry.integration.toUpperCase(),
120
+ entry.contract.toUpperCase(),
121
+ entry.execution.toUpperCase(),
122
+ entry.replacement.toUpperCase()
123
+ ]));
124
+ return [header, divider, ...body].join("\n");
125
+ }
126
+ /** Fails when the consumer source changed across provider replacement. */
127
+ export function assertConsumerSourceUnchanged(before, after) {
128
+ if (before !== after) {
129
+ throw new Error("consumer source changed during provider replacement");
130
+ }
131
+ }
132
+ //# sourceMappingURL=external-compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-compatibility.js","sourceRoot":"","sources":["../src/external-compatibility.ts"],"names":[],"mappings":"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"}