@appport/sdk 1.1.18 → 1.1.19

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/README.md +9 -86
  2. package/dist/index.d.ts +13 -18
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +13 -18
  5. package/dist/index.js.map +1 -1
  6. package/dist/node.d.ts +1 -1
  7. package/dist/node.js +1 -1
  8. package/package.json +22 -32
  9. package/LICENSE +0 -126
  10. package/dist/application-onboarding.d.ts +0 -52
  11. package/dist/application-onboarding.d.ts.map +0 -1
  12. package/dist/application-onboarding.js +0 -50
  13. package/dist/application-onboarding.js.map +0 -1
  14. package/dist/external-compatibility.d.ts +0 -142
  15. package/dist/external-compatibility.d.ts.map +0 -1
  16. package/dist/external-compatibility.js +0 -132
  17. package/dist/external-compatibility.js.map +0 -1
  18. package/dist/provider-lifecycle.d.ts +0 -247
  19. package/dist/provider-lifecycle.d.ts.map +0 -1
  20. package/dist/provider-lifecycle.js +0 -314
  21. package/dist/provider-lifecycle.js.map +0 -1
  22. package/dist/resolution-policy.d.ts +0 -81
  23. package/dist/resolution-policy.d.ts.map +0 -1
  24. package/dist/resolution-policy.js +0 -131
  25. package/dist/resolution-policy.js.map +0 -1
  26. package/vendor/@appport/authorization/README.md +0 -28
  27. package/vendor/@appport/authorization/dist/index.d.ts +0 -94
  28. package/vendor/@appport/authorization/dist/index.d.ts.map +0 -1
  29. package/vendor/@appport/authorization/dist/index.js +0 -131
  30. package/vendor/@appport/authorization/dist/index.js.map +0 -1
  31. package/vendor/@appport/authorization/package.json +0 -28
  32. package/vendor/@appport/client/README.md +0 -35
  33. package/vendor/@appport/client/dist/channel.d.ts +0 -14
  34. package/vendor/@appport/client/dist/channel.d.ts.map +0 -1
  35. package/vendor/@appport/client/dist/channel.js +0 -58
  36. package/vendor/@appport/client/dist/channel.js.map +0 -1
  37. package/vendor/@appport/client/dist/client.d.ts +0 -61
  38. package/vendor/@appport/client/dist/client.d.ts.map +0 -1
  39. package/vendor/@appport/client/dist/client.js +0 -214
  40. package/vendor/@appport/client/dist/client.js.map +0 -1
  41. package/vendor/@appport/client/dist/contract.d.ts +0 -55
  42. package/vendor/@appport/client/dist/contract.d.ts.map +0 -1
  43. package/vendor/@appport/client/dist/contract.js +0 -12
  44. package/vendor/@appport/client/dist/contract.js.map +0 -1
  45. package/vendor/@appport/client/dist/discovery.d.ts +0 -17
  46. package/vendor/@appport/client/dist/discovery.d.ts.map +0 -1
  47. package/vendor/@appport/client/dist/discovery.js +0 -56
  48. package/vendor/@appport/client/dist/discovery.js.map +0 -1
  49. package/vendor/@appport/client/dist/duplex.d.ts +0 -25
  50. package/vendor/@appport/client/dist/duplex.d.ts.map +0 -1
  51. package/vendor/@appport/client/dist/duplex.js +0 -194
  52. package/vendor/@appport/client/dist/duplex.js.map +0 -1
  53. package/vendor/@appport/client/dist/host.d.ts +0 -62
  54. package/vendor/@appport/client/dist/host.d.ts.map +0 -1
  55. package/vendor/@appport/client/dist/host.js +0 -139
  56. package/vendor/@appport/client/dist/host.js.map +0 -1
  57. package/vendor/@appport/client/dist/index.d.ts +0 -14
  58. package/vendor/@appport/client/dist/index.d.ts.map +0 -1
  59. package/vendor/@appport/client/dist/index.js +0 -14
  60. package/vendor/@appport/client/dist/index.js.map +0 -1
  61. package/vendor/@appport/client/dist/transport.d.ts +0 -42
  62. package/vendor/@appport/client/dist/transport.d.ts.map +0 -1
  63. package/vendor/@appport/client/dist/transport.js +0 -2
  64. package/vendor/@appport/client/dist/transport.js.map +0 -1
  65. package/vendor/@appport/client/package.json +0 -32
  66. package/vendor/@appport/core/README.md +0 -91
  67. package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts +0 -930
  68. package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts.map +0 -1
  69. package/vendor/@appport/core/dist/appboundry-capability-catalog.js +0 -352
  70. package/vendor/@appport/core/dist/appboundry-capability-catalog.js.map +0 -1
  71. package/vendor/@appport/core/dist/appboundry-composition.d.ts +0 -93
  72. package/vendor/@appport/core/dist/appboundry-composition.d.ts.map +0 -1
  73. package/vendor/@appport/core/dist/appboundry-composition.js +0 -184
  74. package/vendor/@appport/core/dist/appboundry-composition.js.map +0 -1
  75. package/vendor/@appport/core/dist/appboundry-contract.d.ts +0 -80
  76. package/vendor/@appport/core/dist/appboundry-contract.d.ts.map +0 -1
  77. package/vendor/@appport/core/dist/appboundry-contract.js +0 -160
  78. package/vendor/@appport/core/dist/appboundry-contract.js.map +0 -1
  79. package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts +0 -107
  80. package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts.map +0 -1
  81. package/vendor/@appport/core/dist/appboundry-diagnostics.js +0 -358
  82. package/vendor/@appport/core/dist/appboundry-diagnostics.js.map +0 -1
  83. package/vendor/@appport/core/dist/appboundry-discovery.d.ts +0 -110
  84. package/vendor/@appport/core/dist/appboundry-discovery.d.ts.map +0 -1
  85. package/vendor/@appport/core/dist/appboundry-discovery.js +0 -141
  86. package/vendor/@appport/core/dist/appboundry-discovery.js.map +0 -1
  87. package/vendor/@appport/core/dist/appboundry-entitlements.d.ts +0 -128
  88. package/vendor/@appport/core/dist/appboundry-entitlements.d.ts.map +0 -1
  89. package/vendor/@appport/core/dist/appboundry-entitlements.js +0 -312
  90. package/vendor/@appport/core/dist/appboundry-entitlements.js.map +0 -1
  91. package/vendor/@appport/core/dist/appboundry-execution.d.ts +0 -84
  92. package/vendor/@appport/core/dist/appboundry-execution.d.ts.map +0 -1
  93. package/vendor/@appport/core/dist/appboundry-execution.js +0 -150
  94. package/vendor/@appport/core/dist/appboundry-execution.js.map +0 -1
  95. package/vendor/@appport/core/dist/appboundry-exercise.d.ts +0 -152
  96. package/vendor/@appport/core/dist/appboundry-exercise.d.ts.map +0 -1
  97. package/vendor/@appport/core/dist/appboundry-exercise.js +0 -416
  98. package/vendor/@appport/core/dist/appboundry-exercise.js.map +0 -1
  99. package/vendor/@appport/core/dist/appboundry-materialization.d.ts +0 -222
  100. package/vendor/@appport/core/dist/appboundry-materialization.d.ts.map +0 -1
  101. package/vendor/@appport/core/dist/appboundry-materialization.js +0 -494
  102. package/vendor/@appport/core/dist/appboundry-materialization.js.map +0 -1
  103. package/vendor/@appport/core/dist/appboundry-migration.d.ts +0 -195
  104. package/vendor/@appport/core/dist/appboundry-migration.d.ts.map +0 -1
  105. package/vendor/@appport/core/dist/appboundry-migration.js +0 -227
  106. package/vendor/@appport/core/dist/appboundry-migration.js.map +0 -1
  107. package/vendor/@appport/core/dist/appboundry-onboarding.d.ts +0 -70
  108. package/vendor/@appport/core/dist/appboundry-onboarding.d.ts.map +0 -1
  109. package/vendor/@appport/core/dist/appboundry-onboarding.js +0 -232
  110. package/vendor/@appport/core/dist/appboundry-onboarding.js.map +0 -1
  111. package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts +0 -93
  112. package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts.map +0 -1
  113. package/vendor/@appport/core/dist/appboundry-operation-discovery.js +0 -89
  114. package/vendor/@appport/core/dist/appboundry-operation-discovery.js.map +0 -1
  115. package/vendor/@appport/core/dist/appboundry-resolution.d.ts +0 -160
  116. package/vendor/@appport/core/dist/appboundry-resolution.d.ts.map +0 -1
  117. package/vendor/@appport/core/dist/appboundry-resolution.js +0 -218
  118. package/vendor/@appport/core/dist/appboundry-resolution.js.map +0 -1
  119. package/vendor/@appport/core/dist/appboundry-surface.d.ts +0 -96
  120. package/vendor/@appport/core/dist/appboundry-surface.d.ts.map +0 -1
  121. package/vendor/@appport/core/dist/appboundry-surface.js +0 -223
  122. package/vendor/@appport/core/dist/appboundry-surface.js.map +0 -1
  123. package/vendor/@appport/core/dist/appboundry-usage.d.ts +0 -94
  124. package/vendor/@appport/core/dist/appboundry-usage.d.ts.map +0 -1
  125. package/vendor/@appport/core/dist/appboundry-usage.js +0 -80
  126. package/vendor/@appport/core/dist/appboundry-usage.js.map +0 -1
  127. package/vendor/@appport/core/dist/application-implementation.d.ts +0 -125
  128. package/vendor/@appport/core/dist/application-implementation.d.ts.map +0 -1
  129. package/vendor/@appport/core/dist/application-implementation.js +0 -220
  130. package/vendor/@appport/core/dist/application-implementation.js.map +0 -1
  131. package/vendor/@appport/core/dist/application-lifecycle.d.ts +0 -150
  132. package/vendor/@appport/core/dist/application-lifecycle.d.ts.map +0 -1
  133. package/vendor/@appport/core/dist/application-lifecycle.js +0 -70
  134. package/vendor/@appport/core/dist/application-lifecycle.js.map +0 -1
  135. package/vendor/@appport/core/dist/application-package.d.ts +0 -105
  136. package/vendor/@appport/core/dist/application-package.d.ts.map +0 -1
  137. package/vendor/@appport/core/dist/application-package.js +0 -349
  138. package/vendor/@appport/core/dist/application-package.js.map +0 -1
  139. package/vendor/@appport/core/dist/application-source.d.ts +0 -109
  140. package/vendor/@appport/core/dist/application-source.d.ts.map +0 -1
  141. package/vendor/@appport/core/dist/application-source.js +0 -186
  142. package/vendor/@appport/core/dist/application-source.js.map +0 -1
  143. package/vendor/@appport/core/dist/application.d.ts +0 -124
  144. package/vendor/@appport/core/dist/application.d.ts.map +0 -1
  145. package/vendor/@appport/core/dist/application.js +0 -518
  146. package/vendor/@appport/core/dist/application.js.map +0 -1
  147. package/vendor/@appport/core/dist/artifact.d.ts +0 -395
  148. package/vendor/@appport/core/dist/artifact.d.ts.map +0 -1
  149. package/vendor/@appport/core/dist/artifact.js +0 -392
  150. package/vendor/@appport/core/dist/artifact.js.map +0 -1
  151. package/vendor/@appport/core/dist/assembly.d.ts +0 -237
  152. package/vendor/@appport/core/dist/assembly.d.ts.map +0 -1
  153. package/vendor/@appport/core/dist/assembly.js +0 -458
  154. package/vendor/@appport/core/dist/assembly.js.map +0 -1
  155. package/vendor/@appport/core/dist/authority-attestation.d.ts +0 -34
  156. package/vendor/@appport/core/dist/authority-attestation.d.ts.map +0 -1
  157. package/vendor/@appport/core/dist/authority-attestation.js +0 -72
  158. package/vendor/@appport/core/dist/authority-attestation.js.map +0 -1
  159. package/vendor/@appport/core/dist/authorization-grant.d.ts +0 -107
  160. package/vendor/@appport/core/dist/authorization-grant.d.ts.map +0 -1
  161. package/vendor/@appport/core/dist/authorization-grant.js +0 -131
  162. package/vendor/@appport/core/dist/authorization-grant.js.map +0 -1
  163. package/vendor/@appport/core/dist/binding.d.ts +0 -294
  164. package/vendor/@appport/core/dist/binding.d.ts.map +0 -1
  165. package/vendor/@appport/core/dist/binding.js +0 -263
  166. package/vendor/@appport/core/dist/binding.js.map +0 -1
  167. package/vendor/@appport/core/dist/builtins.d.ts +0 -18
  168. package/vendor/@appport/core/dist/builtins.d.ts.map +0 -1
  169. package/vendor/@appport/core/dist/builtins.js +0 -38
  170. package/vendor/@appport/core/dist/builtins.js.map +0 -1
  171. package/vendor/@appport/core/dist/capability.d.ts +0 -94
  172. package/vendor/@appport/core/dist/capability.d.ts.map +0 -1
  173. package/vendor/@appport/core/dist/capability.js +0 -85
  174. package/vendor/@appport/core/dist/capability.js.map +0 -1
  175. package/vendor/@appport/core/dist/concurrency.d.ts +0 -16
  176. package/vendor/@appport/core/dist/concurrency.d.ts.map +0 -1
  177. package/vendor/@appport/core/dist/concurrency.js +0 -46
  178. package/vendor/@appport/core/dist/concurrency.js.map +0 -1
  179. package/vendor/@appport/core/dist/context.d.ts +0 -59
  180. package/vendor/@appport/core/dist/context.d.ts.map +0 -1
  181. package/vendor/@appport/core/dist/context.js +0 -14
  182. package/vendor/@appport/core/dist/context.js.map +0 -1
  183. package/vendor/@appport/core/dist/contract-artifact.d.ts +0 -15
  184. package/vendor/@appport/core/dist/contract-artifact.d.ts.map +0 -1
  185. package/vendor/@appport/core/dist/contract-artifact.js +0 -161
  186. package/vendor/@appport/core/dist/contract-artifact.js.map +0 -1
  187. package/vendor/@appport/core/dist/contract-attestation.d.ts +0 -68
  188. package/vendor/@appport/core/dist/contract-attestation.d.ts.map +0 -1
  189. package/vendor/@appport/core/dist/contract-attestation.js +0 -76
  190. package/vendor/@appport/core/dist/contract-attestation.js.map +0 -1
  191. package/vendor/@appport/core/dist/crash-injection.d.ts +0 -3
  192. package/vendor/@appport/core/dist/crash-injection.d.ts.map +0 -1
  193. package/vendor/@appport/core/dist/crash-injection.js +0 -8
  194. package/vendor/@appport/core/dist/crash-injection.js.map +0 -1
  195. package/vendor/@appport/core/dist/events.d.ts +0 -33
  196. package/vendor/@appport/core/dist/events.d.ts.map +0 -1
  197. package/vendor/@appport/core/dist/events.js +0 -79
  198. package/vendor/@appport/core/dist/events.js.map +0 -1
  199. package/vendor/@appport/core/dist/execution-barrier.d.ts +0 -13
  200. package/vendor/@appport/core/dist/execution-barrier.d.ts.map +0 -1
  201. package/vendor/@appport/core/dist/execution-barrier.js +0 -33
  202. package/vendor/@appport/core/dist/execution-barrier.js.map +0 -1
  203. package/vendor/@appport/core/dist/execution-ledger.d.ts +0 -81
  204. package/vendor/@appport/core/dist/execution-ledger.d.ts.map +0 -1
  205. package/vendor/@appport/core/dist/execution-ledger.js +0 -173
  206. package/vendor/@appport/core/dist/execution-ledger.js.map +0 -1
  207. package/vendor/@appport/core/dist/execution.d.ts +0 -387
  208. package/vendor/@appport/core/dist/execution.d.ts.map +0 -1
  209. package/vendor/@appport/core/dist/execution.js +0 -165
  210. package/vendor/@appport/core/dist/execution.js.map +0 -1
  211. package/vendor/@appport/core/dist/idempotency.d.ts +0 -36
  212. package/vendor/@appport/core/dist/idempotency.d.ts.map +0 -1
  213. package/vendor/@appport/core/dist/idempotency.js +0 -36
  214. package/vendor/@appport/core/dist/idempotency.js.map +0 -1
  215. package/vendor/@appport/core/dist/implementation.d.ts +0 -110
  216. package/vendor/@appport/core/dist/implementation.d.ts.map +0 -1
  217. package/vendor/@appport/core/dist/implementation.js +0 -65
  218. package/vendor/@appport/core/dist/implementation.js.map +0 -1
  219. package/vendor/@appport/core/dist/index.d.ts +0 -61
  220. package/vendor/@appport/core/dist/index.d.ts.map +0 -1
  221. package/vendor/@appport/core/dist/index.js +0 -60
  222. package/vendor/@appport/core/dist/index.js.map +0 -1
  223. package/vendor/@appport/core/dist/invocation.d.ts +0 -253
  224. package/vendor/@appport/core/dist/invocation.d.ts.map +0 -1
  225. package/vendor/@appport/core/dist/invocation.js +0 -258
  226. package/vendor/@appport/core/dist/invocation.js.map +0 -1
  227. package/vendor/@appport/core/dist/manifest.d.ts +0 -157
  228. package/vendor/@appport/core/dist/manifest.d.ts.map +0 -1
  229. package/vendor/@appport/core/dist/manifest.js +0 -255
  230. package/vendor/@appport/core/dist/manifest.js.map +0 -1
  231. package/vendor/@appport/core/dist/memory-application-data-store.d.ts +0 -19
  232. package/vendor/@appport/core/dist/memory-application-data-store.d.ts.map +0 -1
  233. package/vendor/@appport/core/dist/memory-application-data-store.js +0 -161
  234. package/vendor/@appport/core/dist/memory-application-data-store.js.map +0 -1
  235. package/vendor/@appport/core/dist/operations.d.ts +0 -61
  236. package/vendor/@appport/core/dist/operations.d.ts.map +0 -1
  237. package/vendor/@appport/core/dist/operations.js +0 -210
  238. package/vendor/@appport/core/dist/operations.js.map +0 -1
  239. package/vendor/@appport/core/dist/provider-contract.d.ts +0 -89
  240. package/vendor/@appport/core/dist/provider-contract.d.ts.map +0 -1
  241. package/vendor/@appport/core/dist/provider-contract.js +0 -40
  242. package/vendor/@appport/core/dist/provider-contract.js.map +0 -1
  243. package/vendor/@appport/core/dist/public.d.ts +0 -20
  244. package/vendor/@appport/core/dist/public.d.ts.map +0 -1
  245. package/vendor/@appport/core/dist/public.js +0 -19
  246. package/vendor/@appport/core/dist/public.js.map +0 -1
  247. package/vendor/@appport/core/dist/registration.d.ts +0 -165
  248. package/vendor/@appport/core/dist/registration.d.ts.map +0 -1
  249. package/vendor/@appport/core/dist/registration.js +0 -253
  250. package/vendor/@appport/core/dist/registration.js.map +0 -1
  251. package/vendor/@appport/core/dist/registry.d.ts +0 -30
  252. package/vendor/@appport/core/dist/registry.d.ts.map +0 -1
  253. package/vendor/@appport/core/dist/registry.js +0 -149
  254. package/vendor/@appport/core/dist/registry.js.map +0 -1
  255. package/vendor/@appport/core/dist/repository-connection.d.ts +0 -100
  256. package/vendor/@appport/core/dist/repository-connection.d.ts.map +0 -1
  257. package/vendor/@appport/core/dist/repository-connection.js +0 -57
  258. package/vendor/@appport/core/dist/repository-connection.js.map +0 -1
  259. package/vendor/@appport/core/dist/resolver.d.ts +0 -130
  260. package/vendor/@appport/core/dist/resolver.d.ts.map +0 -1
  261. package/vendor/@appport/core/dist/resolver.js +0 -252
  262. package/vendor/@appport/core/dist/resolver.js.map +0 -1
  263. package/vendor/@appport/core/dist/runtime-manifest.d.ts +0 -68
  264. package/vendor/@appport/core/dist/runtime-manifest.d.ts.map +0 -1
  265. package/vendor/@appport/core/dist/runtime-manifest.js +0 -84
  266. package/vendor/@appport/core/dist/runtime-manifest.js.map +0 -1
  267. package/vendor/@appport/core/dist/sanitize.d.ts +0 -14
  268. package/vendor/@appport/core/dist/sanitize.d.ts.map +0 -1
  269. package/vendor/@appport/core/dist/sanitize.js +0 -49
  270. package/vendor/@appport/core/dist/sanitize.js.map +0 -1
  271. package/vendor/@appport/core/dist/server-internal.d.ts +0 -5
  272. package/vendor/@appport/core/dist/server-internal.d.ts.map +0 -1
  273. package/vendor/@appport/core/dist/server-internal.js +0 -4
  274. package/vendor/@appport/core/dist/server-internal.js.map +0 -1
  275. package/vendor/@appport/core/dist/sessions.d.ts +0 -29
  276. package/vendor/@appport/core/dist/sessions.d.ts.map +0 -1
  277. package/vendor/@appport/core/dist/sessions.js +0 -39
  278. package/vendor/@appport/core/dist/sessions.js.map +0 -1
  279. package/vendor/@appport/core/dist/sha256.d.ts +0 -3
  280. package/vendor/@appport/core/dist/sha256.d.ts.map +0 -1
  281. package/vendor/@appport/core/dist/sha256.js +0 -46
  282. package/vendor/@appport/core/dist/sha256.js.map +0 -1
  283. package/vendor/@appport/core/dist/source-verification.d.ts +0 -53
  284. package/vendor/@appport/core/dist/source-verification.d.ts.map +0 -1
  285. package/vendor/@appport/core/dist/source-verification.js +0 -92
  286. package/vendor/@appport/core/dist/source-verification.js.map +0 -1
  287. package/vendor/@appport/core/dist/state-context.d.ts +0 -312
  288. package/vendor/@appport/core/dist/state-context.d.ts.map +0 -1
  289. package/vendor/@appport/core/dist/state-context.js +0 -100
  290. package/vendor/@appport/core/dist/state-context.js.map +0 -1
  291. package/vendor/@appport/core/dist/state.d.ts +0 -96
  292. package/vendor/@appport/core/dist/state.d.ts.map +0 -1
  293. package/vendor/@appport/core/dist/state.js +0 -89
  294. package/vendor/@appport/core/dist/state.js.map +0 -1
  295. package/vendor/@appport/core/dist/streams.d.ts +0 -38
  296. package/vendor/@appport/core/dist/streams.d.ts.map +0 -1
  297. package/vendor/@appport/core/dist/streams.js +0 -123
  298. package/vendor/@appport/core/dist/streams.js.map +0 -1
  299. package/vendor/@appport/core/dist/telemetry.d.ts +0 -42
  300. package/vendor/@appport/core/dist/telemetry.d.ts.map +0 -1
  301. package/vendor/@appport/core/dist/telemetry.js +0 -32
  302. package/vendor/@appport/core/dist/telemetry.js.map +0 -1
  303. package/vendor/@appport/core/dist/wasm-engine.d.ts +0 -24
  304. package/vendor/@appport/core/dist/wasm-engine.d.ts.map +0 -1
  305. package/vendor/@appport/core/dist/wasm-engine.js +0 -376
  306. package/vendor/@appport/core/dist/wasm-engine.js.map +0 -1
  307. package/vendor/@appport/core/package.json +0 -58
  308. package/vendor/@appport/mcp/README.md +0 -29
  309. package/vendor/@appport/mcp/dist/index.d.ts +0 -58
  310. package/vendor/@appport/mcp/dist/index.d.ts.map +0 -1
  311. package/vendor/@appport/mcp/dist/index.js +0 -69
  312. package/vendor/@appport/mcp/dist/index.js.map +0 -1
  313. package/vendor/@appport/mcp/package.json +0 -29
  314. package/vendor/@appport/mobile/README.md +0 -10
  315. package/vendor/@appport/mobile/dist/index.d.ts +0 -66
  316. package/vendor/@appport/mobile/dist/index.d.ts.map +0 -1
  317. package/vendor/@appport/mobile/dist/index.js +0 -182
  318. package/vendor/@appport/mobile/dist/index.js.map +0 -1
  319. package/vendor/@appport/mobile/package.json +0 -33
  320. package/vendor/@appport/protocol/README.md +0 -41
  321. package/vendor/@appport/protocol/dist/blob.d.ts +0 -46
  322. package/vendor/@appport/protocol/dist/blob.d.ts.map +0 -1
  323. package/vendor/@appport/protocol/dist/blob.js +0 -23
  324. package/vendor/@appport/protocol/dist/blob.js.map +0 -1
  325. package/vendor/@appport/protocol/dist/compatibility.d.ts +0 -25
  326. package/vendor/@appport/protocol/dist/compatibility.d.ts.map +0 -1
  327. package/vendor/@appport/protocol/dist/compatibility.js +0 -189
  328. package/vendor/@appport/protocol/dist/compatibility.js.map +0 -1
  329. package/vendor/@appport/protocol/dist/envelopes.d.ts +0 -175
  330. package/vendor/@appport/protocol/dist/envelopes.d.ts.map +0 -1
  331. package/vendor/@appport/protocol/dist/envelopes.js +0 -97
  332. package/vendor/@appport/protocol/dist/envelopes.js.map +0 -1
  333. package/vendor/@appport/protocol/dist/errors.d.ts +0 -74
  334. package/vendor/@appport/protocol/dist/errors.d.ts.map +0 -1
  335. package/vendor/@appport/protocol/dist/errors.js +0 -92
  336. package/vendor/@appport/protocol/dist/errors.js.map +0 -1
  337. package/vendor/@appport/protocol/dist/ids.d.ts +0 -12
  338. package/vendor/@appport/protocol/dist/ids.d.ts.map +0 -1
  339. package/vendor/@appport/protocol/dist/ids.js +0 -50
  340. package/vendor/@appport/protocol/dist/ids.js.map +0 -1
  341. package/vendor/@appport/protocol/dist/index.d.ts +0 -21
  342. package/vendor/@appport/protocol/dist/index.d.ts.map +0 -1
  343. package/vendor/@appport/protocol/dist/index.js +0 -21
  344. package/vendor/@appport/protocol/dist/index.js.map +0 -1
  345. package/vendor/@appport/protocol/dist/jsonschema.d.ts +0 -50
  346. package/vendor/@appport/protocol/dist/jsonschema.d.ts.map +0 -1
  347. package/vendor/@appport/protocol/dist/jsonschema.js +0 -6
  348. package/vendor/@appport/protocol/dist/jsonschema.js.map +0 -1
  349. package/vendor/@appport/protocol/dist/manifest.d.ts +0 -134
  350. package/vendor/@appport/protocol/dist/manifest.d.ts.map +0 -1
  351. package/vendor/@appport/protocol/dist/manifest.js +0 -20
  352. package/vendor/@appport/protocol/dist/manifest.js.map +0 -1
  353. package/vendor/@appport/protocol/dist/materialization.d.ts +0 -59
  354. package/vendor/@appport/protocol/dist/materialization.d.ts.map +0 -1
  355. package/vendor/@appport/protocol/dist/materialization.js +0 -2
  356. package/vendor/@appport/protocol/dist/materialization.js.map +0 -1
  357. package/vendor/@appport/protocol/dist/names.d.ts +0 -26
  358. package/vendor/@appport/protocol/dist/names.d.ts.map +0 -1
  359. package/vendor/@appport/protocol/dist/names.js +0 -85
  360. package/vendor/@appport/protocol/dist/names.js.map +0 -1
  361. package/vendor/@appport/protocol/dist/operations.d.ts +0 -34
  362. package/vendor/@appport/protocol/dist/operations.d.ts.map +0 -1
  363. package/vendor/@appport/protocol/dist/operations.js +0 -9
  364. package/vendor/@appport/protocol/dist/operations.js.map +0 -1
  365. package/vendor/@appport/protocol/dist/session.d.ts +0 -27
  366. package/vendor/@appport/protocol/dist/session.d.ts.map +0 -1
  367. package/vendor/@appport/protocol/dist/session.js +0 -7
  368. package/vendor/@appport/protocol/dist/session.js.map +0 -1
  369. package/vendor/@appport/protocol/dist/validate.d.ts +0 -37
  370. package/vendor/@appport/protocol/dist/validate.d.ts.map +0 -1
  371. package/vendor/@appport/protocol/dist/validate.js +0 -321
  372. package/vendor/@appport/protocol/dist/validate.js.map +0 -1
  373. package/vendor/@appport/protocol/dist/version.d.ts +0 -27
  374. package/vendor/@appport/protocol/dist/version.d.ts.map +0 -1
  375. package/vendor/@appport/protocol/dist/version.js +0 -26
  376. package/vendor/@appport/protocol/dist/version.js.map +0 -1
  377. package/vendor/@appport/protocol/package.json +0 -25
  378. package/vendor/@appport/schema/README.md +0 -32
  379. package/vendor/@appport/schema/dist/builder.d.ts +0 -85
  380. package/vendor/@appport/schema/dist/builder.d.ts.map +0 -1
  381. package/vendor/@appport/schema/dist/builder.js +0 -278
  382. package/vendor/@appport/schema/dist/builder.js.map +0 -1
  383. package/vendor/@appport/schema/dist/from-json-schema.d.ts +0 -12
  384. package/vendor/@appport/schema/dist/from-json-schema.d.ts.map +0 -1
  385. package/vendor/@appport/schema/dist/from-json-schema.js +0 -186
  386. package/vendor/@appport/schema/dist/from-json-schema.js.map +0 -1
  387. package/vendor/@appport/schema/dist/index.d.ts +0 -23
  388. package/vendor/@appport/schema/dist/index.d.ts.map +0 -1
  389. package/vendor/@appport/schema/dist/index.js +0 -22
  390. package/vendor/@appport/schema/dist/index.js.map +0 -1
  391. package/vendor/@appport/schema/dist/standard.d.ts +0 -46
  392. package/vendor/@appport/schema/dist/standard.d.ts.map +0 -1
  393. package/vendor/@appport/schema/dist/standard.js +0 -42
  394. package/vendor/@appport/schema/dist/standard.js.map +0 -1
  395. package/vendor/@appport/schema/dist/types.d.ts +0 -40
  396. package/vendor/@appport/schema/dist/types.d.ts.map +0 -1
  397. package/vendor/@appport/schema/dist/types.js +0 -19
  398. package/vendor/@appport/schema/dist/types.js.map +0 -1
  399. package/vendor/@appport/schema/package.json +0 -28
  400. package/vendor/@appport/server/README.md +0 -39
  401. package/vendor/@appport/server/dist/connection.d.ts +0 -45
  402. package/vendor/@appport/server/dist/connection.d.ts.map +0 -1
  403. package/vendor/@appport/server/dist/connection.js +0 -217
  404. package/vendor/@appport/server/dist/connection.js.map +0 -1
  405. package/vendor/@appport/server/dist/fetch.d.ts +0 -10
  406. package/vendor/@appport/server/dist/fetch.d.ts.map +0 -1
  407. package/vendor/@appport/server/dist/fetch.js +0 -50
  408. package/vendor/@appport/server/dist/fetch.js.map +0 -1
  409. package/vendor/@appport/server/dist/http.d.ts +0 -80
  410. package/vendor/@appport/server/dist/http.d.ts.map +0 -1
  411. package/vendor/@appport/server/dist/http.js +0 -307
  412. package/vendor/@appport/server/dist/http.js.map +0 -1
  413. package/vendor/@appport/server/dist/index.d.ts +0 -11
  414. package/vendor/@appport/server/dist/index.d.ts.map +0 -1
  415. package/vendor/@appport/server/dist/index.js +0 -11
  416. package/vendor/@appport/server/dist/index.js.map +0 -1
  417. package/vendor/@appport/server/dist/node-entry.d.ts +0 -4
  418. package/vendor/@appport/server/dist/node-entry.d.ts.map +0 -1
  419. package/vendor/@appport/server/dist/node-entry.js +0 -4
  420. package/vendor/@appport/server/dist/node-entry.js.map +0 -1
  421. package/vendor/@appport/server/dist/node.d.ts +0 -45
  422. package/vendor/@appport/server/dist/node.d.ts.map +0 -1
  423. package/vendor/@appport/server/dist/node.js +0 -190
  424. package/vendor/@appport/server/dist/node.js.map +0 -1
  425. package/vendor/@appport/server/dist/server.d.ts +0 -83
  426. package/vendor/@appport/server/dist/server.d.ts.map +0 -1
  427. package/vendor/@appport/server/dist/server.js +0 -114
  428. package/vendor/@appport/server/dist/server.js.map +0 -1
  429. package/vendor/@appport/server/dist/websocket.d.ts +0 -25
  430. package/vendor/@appport/server/dist/websocket.d.ts.map +0 -1
  431. package/vendor/@appport/server/dist/websocket.js +0 -221
  432. package/vendor/@appport/server/dist/websocket.js.map +0 -1
  433. package/vendor/@appport/server/package.json +0 -34
  434. package/vendor/@appport/transport-electron/README.md +0 -56
  435. package/vendor/@appport/transport-electron/dist/index.d.ts +0 -11
  436. package/vendor/@appport/transport-electron/dist/index.d.ts.map +0 -1
  437. package/vendor/@appport/transport-electron/dist/index.js +0 -11
  438. package/vendor/@appport/transport-electron/dist/index.js.map +0 -1
  439. package/vendor/@appport/transport-electron/dist/main.d.ts +0 -31
  440. package/vendor/@appport/transport-electron/dist/main.d.ts.map +0 -1
  441. package/vendor/@appport/transport-electron/dist/main.js +0 -61
  442. package/vendor/@appport/transport-electron/dist/main.js.map +0 -1
  443. package/vendor/@appport/transport-electron/dist/preload.d.ts +0 -22
  444. package/vendor/@appport/transport-electron/dist/preload.d.ts.map +0 -1
  445. package/vendor/@appport/transport-electron/dist/preload.js +0 -29
  446. package/vendor/@appport/transport-electron/dist/preload.js.map +0 -1
  447. package/vendor/@appport/transport-electron/dist/renderer.d.ts +0 -16
  448. package/vendor/@appport/transport-electron/dist/renderer.d.ts.map +0 -1
  449. package/vendor/@appport/transport-electron/dist/renderer.js +0 -36
  450. package/vendor/@appport/transport-electron/dist/renderer.js.map +0 -1
  451. package/vendor/@appport/transport-electron/dist/types.d.ts +0 -49
  452. package/vendor/@appport/transport-electron/dist/types.d.ts.map +0 -1
  453. package/vendor/@appport/transport-electron/dist/types.js +0 -5
  454. package/vendor/@appport/transport-electron/dist/types.js.map +0 -1
  455. package/vendor/@appport/transport-electron/package.json +0 -46
  456. package/vendor/@appport/transport-http/README.md +0 -24
  457. package/vendor/@appport/transport-http/dist/index.d.ts +0 -18
  458. package/vendor/@appport/transport-http/dist/index.d.ts.map +0 -1
  459. package/vendor/@appport/transport-http/dist/index.js +0 -223
  460. package/vendor/@appport/transport-http/dist/index.js.map +0 -1
  461. package/vendor/@appport/transport-http/package.json +0 -29
  462. package/vendor/@appport/transport-inprocess/README.md +0 -24
  463. package/vendor/@appport/transport-inprocess/dist/index.d.ts +0 -16
  464. package/vendor/@appport/transport-inprocess/dist/index.d.ts.map +0 -1
  465. package/vendor/@appport/transport-inprocess/dist/index.js +0 -30
  466. package/vendor/@appport/transport-inprocess/dist/index.js.map +0 -1
  467. package/vendor/@appport/transport-inprocess/package.json +0 -30
  468. package/vendor/@appport/transport-tauri/README.md +0 -45
  469. package/vendor/@appport/transport-tauri/dist/index.d.ts +0 -23
  470. package/vendor/@appport/transport-tauri/dist/index.d.ts.map +0 -1
  471. package/vendor/@appport/transport-tauri/dist/index.js +0 -44
  472. package/vendor/@appport/transport-tauri/dist/index.js.map +0 -1
  473. package/vendor/@appport/transport-tauri/package.json +0 -29
  474. package/vendor/@appport/transport-websocket/README.md +0 -22
  475. package/vendor/@appport/transport-websocket/dist/index.d.ts +0 -26
  476. package/vendor/@appport/transport-websocket/dist/index.d.ts.map +0 -1
  477. package/vendor/@appport/transport-websocket/dist/index.js +0 -72
  478. package/vendor/@appport/transport-websocket/dist/index.js.map +0 -1
  479. package/vendor/@appport/transport-websocket/package.json +0 -29
@@ -1,458 +0,0 @@
1
- /**
2
- * Application Assembly & Verification (PR18)
3
- *
4
- * An application's assembly model contains:
5
- * - Identity (id, name, version)
6
- * - Provided capabilities contract
7
- * - Required capabilities contract
8
- * - Implementation bindings
9
- * - Verification/readiness state
10
- *
11
- * This separates declarative contract from business logic bindings,
12
- * and provides deterministic verification before runtime execution.
13
- */
14
- import { generateManifest, generateManifestUnchecked, fingerprintManifest, serializeManifest } from "./manifest.js";
15
- import { implementation } from "./implementation.js";
16
- export function applicationCapabilityRole(application, capabilityName) {
17
- const provides = application.provides.some(capability => capability.name === capabilityName);
18
- const requires = application.requires.some(requirement => requirement.name === capabilityName);
19
- return provides && requires ? "BOTH" : provides ? "PROVIDER" : requires ? "CONSUMER" : "NONE";
20
- }
21
- export function applicationCapabilityRoles(application) {
22
- const names = new Set([...application.provides.map(capability => capability.name), ...application.requires.map(requirement => requirement.name)]);
23
- return Object.fromEntries([...names].sort().map(name => [name, applicationCapabilityRole(application, name)]));
24
- }
25
- const SEMVER = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
26
- const REQUIREMENT = /^(\^|~|>=|>|<=|<)?(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:\.(0|[1-9]\d*))?$/;
27
- const RUNTIME_METADATA_KEY = /(credential|secret|password|private.?key|process|worker|filesystem|path|artifact|endpoint|hostname)/i;
28
- function assertContractMetadata(value, path = "metadata") {
29
- if (value === null || typeof value === "string" || typeof value === "boolean")
30
- return;
31
- if (typeof value === "number" && Number.isFinite(value))
32
- return;
33
- if (Array.isArray(value)) {
34
- value.forEach((entry, index) => assertContractMetadata(entry, `${path}[${index}]`));
35
- return;
36
- }
37
- if (typeof value !== "object" || Object.getPrototypeOf(value) !== Object.prototype)
38
- throw new Error(`${path} must contain JSON data only`);
39
- for (const [key, entry] of Object.entries(value)) {
40
- if (RUNTIME_METADATA_KEY.test(key))
41
- throw new Error(`${path}.${key} is runtime or sensitive metadata and cannot enter an application contract`);
42
- assertContractMetadata(entry, `${path}.${key}`);
43
- }
44
- }
45
- /** Declare a capability dependency without naming or selecting a provider. */
46
- export function defineRequirement(options) {
47
- const name = options.capability.trim();
48
- if (!name)
49
- throw new Error("Requirement capability must be a non-empty name");
50
- const raw = String(options.version).trim();
51
- const match = REQUIREMENT.exec(raw);
52
- if (!match)
53
- throw new Error(`Invalid requirement constraint "${raw}" for "${name}"`);
54
- const operator = match[1] ?? "";
55
- const major = Number(match[2]);
56
- const minor = match[3] === undefined ? undefined : Number(match[3]);
57
- const patch = match[4] === undefined ? undefined : Number(match[4]);
58
- const normalizedVersion = patch !== undefined && patch !== 0
59
- ? `${major}.${minor ?? 0}.${patch}`
60
- : minor !== undefined && minor !== 0
61
- ? `${major}.${minor}`
62
- : String(major);
63
- return { name, version: major, versionConstraint: `${operator}${normalizedVersion}` };
64
- }
65
- /**
66
- * Defines an application assembly: identity, contract, and implementations.
67
- *
68
- * Usage:
69
- *
70
- * ```typescript
71
- * const assembly = defineApplication({
72
- * identity: { id: "invoicing", name: "Invoicing", version: "1.0.0" },
73
- * provides: [invoiceCreate, invoiceSend, invoiceRefund],
74
- * requires: [{ name: "payments.charge", version: 1 }],
75
- * implementations: {
76
- * "invoice.create@1": createInvoiceImpl,
77
- * "invoice.send@1": sendInvoiceImpl,
78
- * "invoice.refund@1": refundInvoiceImpl,
79
- * }
80
- * });
81
- * ```
82
- *
83
- * The assembly is purely declarative. Call `assembly.verify()` to validate
84
- * that all contracts are internally coherent and implementations are complete.
85
- */
86
- export function defineApplication(options) {
87
- const authored = "id" in options;
88
- const identity = authored
89
- ? { id: options.id.trim(), name: (options.name ?? options.id).trim(), version: options.version.trim() }
90
- : options.identity;
91
- if (!identity.id || /\s/.test(identity.id))
92
- throw new Error("Application id must be non-empty and contain no whitespace");
93
- if (!identity.name)
94
- throw new Error("Application name must be non-empty");
95
- if (!SEMVER.test(identity.version))
96
- throw new Error(`Invalid application version "${identity.version}"`);
97
- if (options.metadata)
98
- assertContractMetadata(options.metadata);
99
- const provides = options.provides ?? [];
100
- const requires = options.requires ?? [];
101
- const providedKeys = new Set();
102
- for (const capability of provides) {
103
- const key = `${capability.name}@${capability.version}`;
104
- if (providedKeys.has(key))
105
- throw new Error(`Duplicate provided capability "${key}"`);
106
- providedKeys.add(key);
107
- if (!capability.input?.toJSONSchema || !capability.output?.toJSONSchema)
108
- throw new Error(`Capability "${key}" has an invalid input/output contract`);
109
- }
110
- const requiredKeys = new Set();
111
- for (const requirement of requires) {
112
- const key = `${requirement.name}@${requirement.versionConstraint ?? requirement.version}`;
113
- if (requiredKeys.has(key))
114
- throw new Error(`Duplicate required capability "${key}"`);
115
- requiredKeys.add(key);
116
- if (requirement.versionConstraint && !REQUIREMENT.test(requirement.versionConstraint))
117
- throw new Error(`Invalid requirement constraint "${requirement.versionConstraint}" for "${requirement.name}"`);
118
- }
119
- const implementations = new Map();
120
- if (!authored && options.implementations) {
121
- const record = options.implementations instanceof Map ? Object.fromEntries(options.implementations) : options.implementations;
122
- for (const [key, impl] of Object.entries(record)) {
123
- implementations.set(key, impl);
124
- }
125
- }
126
- if (authored) {
127
- for (const capability of provides) {
128
- implementations.set(`${capability.name}@${capability.version}`, capability.implementation ?? implementation(capability.handler));
129
- }
130
- }
131
- const assembly = {
132
- identity,
133
- ...(options.metadata ? { metadata: options.metadata } : {}),
134
- provides,
135
- requires,
136
- implementations
137
- };
138
- return {
139
- ...assembly,
140
- verify() {
141
- return verifyApplication(assembly);
142
- },
143
- manifest() {
144
- // Get verification result to ensure the application is ready
145
- const verification = verifyApplication(assembly);
146
- return generateManifest(assembly, verification);
147
- },
148
- manifestUnchecked() {
149
- return generateManifestUnchecked(assembly);
150
- },
151
- fingerprint() {
152
- const verification = verifyApplication(assembly);
153
- const manifest = generateManifest(assembly, verification);
154
- return fingerprintManifest(manifest);
155
- },
156
- fingerprintUnchecked() {
157
- const manifest = generateManifestUnchecked(assembly);
158
- return fingerprintManifest(manifest);
159
- },
160
- async register(registry) {
161
- const verification = verifyApplication(assembly);
162
- const manifest = generateManifest(assembly, verification);
163
- return registry.registerWithValidation({ identity, manifest, fingerprint: fingerprintManifest(manifest), verification });
164
- }
165
- };
166
- }
167
- /**
168
- * Verifies an application assembly for coherence and completeness.
169
- *
170
- * Checks:
171
- * - All provided capabilities are structurally valid
172
- * - All required capabilities are structurally valid
173
- * - All provided capabilities have explicit implementation bindings
174
- * - No orphan implementations (implementations for undeclared capabilities)
175
- * - All requirements pass existing PR16 validation
176
- *
177
- * Returns a VerificationResult with ready state and detailed issues.
178
- *
179
- * NOTE: This function checks for explicit implementation bindings only.
180
- * Legacy handlers (PR17 pattern) are NOT considered implementations for
181
- * verification purposes. Use `AppPortApplication.verify()` for runtime
182
- * verification that includes handler compatibility.
183
- *
184
- * CRITICAL INVARIANT: Verification never executes business logic.
185
- * It is purely structural/contractual validation.
186
- */
187
- export function verifyApplication(assembly) {
188
- const errors = [];
189
- const warnings = [];
190
- const providedRefs = [];
191
- const implementations = new Map();
192
- // Track which implementations we've seen
193
- const seenImplementations = new Set();
194
- // Build a map of implementation keys from bindings
195
- for (const key of assembly.implementations.keys()) {
196
- seenImplementations.add(key);
197
- }
198
- // Validate provided capabilities
199
- for (const capability of assembly.provides) {
200
- providedRefs.push({ name: capability.name, version: capability.version });
201
- // Check if capability is valid
202
- if (!capability.name || !capability.version) {
203
- errors.push({
204
- severity: "error",
205
- message: `Provided capability has invalid name or version: ${capability.name}@${capability.version}`,
206
- capability: { name: capability.name, version: capability.version }
207
- });
208
- implementations.set(`${capability.name}@${capability.version}`, "missing");
209
- continue;
210
- }
211
- // Check if explicit implementation is bound (only explicit bindings count)
212
- const implKey = `${capability.name}@${capability.version}`;
213
- const impl = assembly.implementations.get(implKey);
214
- if (impl) {
215
- // Explicit implementation binding
216
- implementations.set(implKey, "bound");
217
- seenImplementations.delete(implKey);
218
- }
219
- else {
220
- // No explicit binding—this is an error for defineApplication
221
- errors.push({
222
- severity: "error",
223
- message: `Provided capability "${capability.name}@${capability.version}" has no implementation`,
224
- capability: { name: capability.name, version: capability.version }
225
- });
226
- implementations.set(implKey, "missing");
227
- }
228
- }
229
- // Check for orphan implementations (implementations for undeclared capabilities)
230
- for (const orphanKey of seenImplementations) {
231
- // Parse the key as "name@version"
232
- const lastAtIndex = orphanKey.lastIndexOf("@");
233
- if (lastAtIndex > 0) {
234
- const name = orphanKey.substring(0, lastAtIndex);
235
- const versionStr = orphanKey.substring(lastAtIndex + 1);
236
- const version = parseInt(versionStr, 10);
237
- if (!isNaN(version)) {
238
- errors.push({
239
- severity: "error",
240
- message: `Implementation for "${name}@${version}" exists but capability is not declared`,
241
- capability: { name, version }
242
- });
243
- implementations.set(orphanKey, "orphan");
244
- continue;
245
- }
246
- }
247
- errors.push({
248
- severity: "error",
249
- message: `Implementation "${orphanKey}" does not correspond to a declared capability`,
250
- capability: undefined
251
- });
252
- implementations.set(orphanKey, "orphan");
253
- }
254
- // Validate required capabilities
255
- const requiredRefs = [];
256
- for (const required of assembly.requires) {
257
- if (!required.name || !required.version || required.version < 1) {
258
- errors.push({
259
- severity: "error",
260
- message: `Required capability has invalid name or version: ${required.name}@${required.version}`,
261
- capability: required
262
- });
263
- continue;
264
- }
265
- requiredRefs.push(required);
266
- }
267
- // Determine readiness: no errors means ready
268
- const ready = errors.length === 0;
269
- return {
270
- ready,
271
- errors,
272
- warnings,
273
- provides: providedRefs,
274
- requires: requiredRefs,
275
- implementations
276
- };
277
- }
278
- /**
279
- * Runtime verification of an application assembly with backward compatibility.
280
- *
281
- * This variant is used by AppPortApplication.verify() and accepts both:
282
- * - Explicit implementation bindings (PR18)
283
- * - Legacy handlers attached to capabilities (PR17/backward compat)
284
- *
285
- * A capability is considered "bound" if it has either:
286
- * 1. An explicit implementation binding in the assembly, OR
287
- * 2. An implementation attached to the capability definition (PR17), OR
288
- * 3. A fallback handler in the capability definition (legacy)
289
- */
290
- export function verifyApplicationWithHandlers(assembly) {
291
- const errors = [];
292
- const warnings = [];
293
- const providedRefs = [];
294
- const implementations = new Map();
295
- // Track which implementations we've seen
296
- const seenImplementations = new Set();
297
- // Build a map of implementation keys from bindings
298
- for (const key of assembly.implementations.keys()) {
299
- seenImplementations.add(key);
300
- }
301
- // Validate provided capabilities
302
- for (const capability of assembly.provides) {
303
- providedRefs.push({ name: capability.name, version: capability.version });
304
- // Check if capability is valid
305
- if (!capability.name || !capability.version) {
306
- errors.push({
307
- severity: "error",
308
- message: `Provided capability has invalid name or version: ${capability.name}@${capability.version}`,
309
- capability: { name: capability.name, version: capability.version }
310
- });
311
- implementations.set(`${capability.name}@${capability.version}`, "missing");
312
- continue;
313
- }
314
- // Check if implementation is bound (explicit binding, definition binding, or handler)
315
- const implKey = `${capability.name}@${capability.version}`;
316
- const impl = assembly.implementations.get(implKey);
317
- if (impl) {
318
- // Explicit implementation binding
319
- implementations.set(implKey, "bound");
320
- seenImplementations.delete(implKey);
321
- }
322
- else if (capability.implementation) {
323
- // Implementation is attached to the capability definition (PR17 pattern)
324
- implementations.set(implKey, "bound");
325
- }
326
- else {
327
- // No explicit binding or definition binding
328
- // Handler always exists as fallback (legacy compatibility)
329
- implementations.set(implKey, "bound");
330
- }
331
- }
332
- // Check for orphan implementations (implementations for undeclared capabilities)
333
- for (const orphanKey of seenImplementations) {
334
- // Parse the key as "name@version"
335
- const lastAtIndex = orphanKey.lastIndexOf("@");
336
- if (lastAtIndex > 0) {
337
- const name = orphanKey.substring(0, lastAtIndex);
338
- const versionStr = orphanKey.substring(lastAtIndex + 1);
339
- const version = parseInt(versionStr, 10);
340
- if (!isNaN(version)) {
341
- errors.push({
342
- severity: "error",
343
- message: `Implementation for "${name}@${version}" exists but capability is not declared`,
344
- capability: { name, version }
345
- });
346
- implementations.set(orphanKey, "orphan");
347
- continue;
348
- }
349
- }
350
- errors.push({
351
- severity: "error",
352
- message: `Implementation "${orphanKey}" does not correspond to a declared capability`,
353
- capability: undefined
354
- });
355
- implementations.set(orphanKey, "orphan");
356
- }
357
- // Validate required capabilities
358
- const requiredRefs = [];
359
- for (const required of assembly.requires) {
360
- if (!required.name || !required.version || required.version < 1) {
361
- errors.push({
362
- severity: "error",
363
- message: `Required capability has invalid name or version: ${required.name}@${required.version}`,
364
- capability: required
365
- });
366
- continue;
367
- }
368
- requiredRefs.push(required);
369
- }
370
- // Determine readiness: no errors means ready
371
- const ready = errors.length === 0;
372
- return {
373
- ready,
374
- errors,
375
- warnings,
376
- provides: providedRefs,
377
- requires: requiredRefs,
378
- implementations
379
- };
380
- }
381
- /**
382
- * Format a verification result as a human-readable string.
383
- *
384
- * Example output:
385
- *
386
- * ```
387
- * AppPort Application Verification
388
- * Application: invoicing
389
- * Version: 1.0.0
390
- *
391
- * PROVIDES
392
- * ✓ invoice.create@1
393
- * ✓ invoice.send@1
394
- * ✗ invoice.refund@1
395
- *
396
- * REQUIRES
397
- * ✓ payments.charge@1
398
- *
399
- * IMPLEMENTATIONS
400
- * ✓ invoice.create@1
401
- * ✓ invoice.send@1
402
- *
403
- * ERRORS
404
- * ✗ invoice.refund@1 has no implementation
405
- *
406
- * STATUS
407
- * NOT READY
408
- * ```
409
- */
410
- export function formatVerificationResult(assembly, result) {
411
- const lines = [];
412
- lines.push("AppPort Application Verification");
413
- lines.push(`Application: ${assembly.identity.name}`);
414
- lines.push(`Version: ${assembly.identity.version}`);
415
- lines.push("");
416
- // Provides section
417
- if (result.provides.length > 0) {
418
- lines.push("PROVIDES");
419
- for (const capability of result.provides) {
420
- const implStatus = result.implementations.get(`${capability.name}@${capability.version}`);
421
- const symbol = implStatus === "bound" ? "✓" : "✗";
422
- lines.push(` ${symbol} ${capability.name}@${capability.version}`);
423
- }
424
- lines.push("");
425
- }
426
- // Requires section
427
- if (result.requires.length > 0) {
428
- lines.push("REQUIRES");
429
- for (const capability of result.requires) {
430
- lines.push(` ✓ ${capability.name}@${capability.version}`);
431
- }
432
- lines.push("");
433
- }
434
- // Implementations section
435
- const boundCount = Array.from(result.implementations.values()).filter((s) => s === "bound").length;
436
- if (boundCount > 0) {
437
- lines.push("IMPLEMENTATIONS");
438
- for (const [key, status] of result.implementations) {
439
- if (status === "bound") {
440
- lines.push(` ✓ ${key}`);
441
- }
442
- }
443
- lines.push("");
444
- }
445
- // Errors section
446
- if (result.errors.length > 0) {
447
- lines.push("ERRORS");
448
- for (const error of result.errors) {
449
- lines.push(` ✗ ${error.message}`);
450
- }
451
- lines.push("");
452
- }
453
- // Status section
454
- lines.push("STATUS");
455
- lines.push(` ${result.ready ? "READY" : "NOT READY"}`);
456
- return lines.join("\n");
457
- }
458
- //# sourceMappingURL=assembly.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assembly.js","sourceRoot":"","sources":["../src/assembly.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import type { AuthorizedCapabilityBinding } from "./binding.js";
2
- import type { ApplicationRegistry } from "./registration.js";
3
- import type { ResolvedRequirement } from "./resolver.js";
4
- type AuthorityValidator = () => Promise<void>;
5
- /** Attach the authority snapshot that selected a provider to a resolution. */
6
- export declare function attestResolution(resolution: ResolvedRequirement, registry: ApplicationRegistry): void;
7
- /**
8
- * Preserve the resolution's private authority proof on the issued binding.
9
- *
10
- * The consumer is part of the authority boundary: authority issued to one
11
- * consumer incarnation must not survive that consumer being retired, removed,
12
- * or re-registered under a new incarnation.
13
- */
14
- export declare function transferResolutionAttestation(resolution: ResolvedRequirement, binding: AuthorizedCapabilityBinding): void;
15
- /** Revalidate against durable authority at the invocation linearization point. */
16
- export declare function assertBindingAuthoritative(binding: AuthorizedCapabilityBinding): Promise<void>;
17
- /**
18
- * Attach a durable authority proof to an authorization decision.
19
- *
20
- * The proof is module-private for the same reason binding issuance is: an
21
- * authorization object is structural data, so the runtime must be able to
22
- * distinguish an authorization an authority actually issued from one a caller
23
- * merely shaped like it.
24
- */
25
- export declare function attestAuthorization(authorization: object, validate: AuthorityValidator): void;
26
- /**
27
- * Preserve the authorization's durable authority proof on the issued binding.
28
- *
29
- * Composed with the resolution proof so a binding is authoritative only while
30
- * both the registration incarnations and the authorization grant remain valid.
31
- */
32
- export declare function transferAuthorizationAttestation(authorization: object, binding: AuthorizedCapabilityBinding): void;
33
- export {};
34
- //# sourceMappingURL=authority-attestation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authority-attestation.d.ts","sourceRoot":"","sources":["../src/authority-attestation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,KAAK,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AA0B9C,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAIN;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAYN;AAED,kFAAkF;AAClF,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,2BAA2B,GACnC,IAAI,CASN"}
@@ -1,72 +0,0 @@
1
- const resolutionValidators = new WeakMap();
2
- const resolutionRegistries = new WeakMap();
3
- const authorizationValidators = new WeakMap();
4
- const bindingValidators = new WeakMap();
5
- /** Assert the registry still holds the exact incarnation authority was issued against. */
6
- async function assertRegistrationCurrent(registry, expected, role) {
7
- const current = await registry.get(expected.id);
8
- if (!current ||
9
- current.registrationId !== expected.registrationId ||
10
- current.fingerprint !== expected.fingerprint ||
11
- current.status === "retired") {
12
- throw new Error(`${role} registration "${expected.registrationId}" is no longer authoritative`);
13
- }
14
- }
15
- /** Attach the authority snapshot that selected a provider to a resolution. */
16
- export function attestResolution(resolution, registry) {
17
- const expected = resolution.provider;
18
- resolutionRegistries.set(resolution, registry);
19
- resolutionValidators.set(resolution, () => assertRegistrationCurrent(registry, expected, "Provider"));
20
- }
21
- /**
22
- * Preserve the resolution's private authority proof on the issued binding.
23
- *
24
- * The consumer is part of the authority boundary: authority issued to one
25
- * consumer incarnation must not survive that consumer being retired, removed,
26
- * or re-registered under a new incarnation.
27
- */
28
- export function transferResolutionAttestation(resolution, binding) {
29
- const validator = resolutionValidators.get(resolution);
30
- const registry = resolutionRegistries.get(resolution);
31
- if (!validator && !registry)
32
- return;
33
- const consumer = binding.consumer;
34
- bindingValidators.set(binding, async () => {
35
- await validator?.();
36
- if (registry && consumer?.registrationId) {
37
- await assertRegistrationCurrent(registry, consumer, "Consumer");
38
- }
39
- });
40
- }
41
- /** Revalidate against durable authority at the invocation linearization point. */
42
- export async function assertBindingAuthoritative(binding) {
43
- await bindingValidators.get(binding)?.();
44
- }
45
- /**
46
- * Attach a durable authority proof to an authorization decision.
47
- *
48
- * The proof is module-private for the same reason binding issuance is: an
49
- * authorization object is structural data, so the runtime must be able to
50
- * distinguish an authorization an authority actually issued from one a caller
51
- * merely shaped like it.
52
- */
53
- export function attestAuthorization(authorization, validate) {
54
- authorizationValidators.set(authorization, validate);
55
- }
56
- /**
57
- * Preserve the authorization's durable authority proof on the issued binding.
58
- *
59
- * Composed with the resolution proof so a binding is authoritative only while
60
- * both the registration incarnations and the authorization grant remain valid.
61
- */
62
- export function transferAuthorizationAttestation(authorization, binding) {
63
- const validator = authorizationValidators.get(authorization);
64
- if (!validator)
65
- return;
66
- const existing = bindingValidators.get(binding);
67
- bindingValidators.set(binding, async () => {
68
- await existing?.();
69
- await validator();
70
- });
71
- }
72
- //# sourceMappingURL=authority-attestation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authority-attestation.js","sourceRoot":"","sources":["../src/authority-attestation.ts"],"names":[],"mappings":"AAOA,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA8B,CAAC;AACvE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA+B,CAAC;AACxE,MAAM,uBAAuB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAC1E,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEpE,0FAA0F;AAC1F,KAAK,UAAU,yBAAyB,CACtC,QAA6B,EAC7B,QAA0B,EAC1B,IAA6B;IAE7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChD,IACE,CAAC,OAAO;QACR,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc;QAClD,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAC5C,OAAO,CAAC,MAAM,KAAK,SAAS,EAC5B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,kBAAkB,QAAQ,CAAC,cAAc,8BAA8B,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAC9B,UAA+B,EAC/B,QAA6B;IAE7B,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA+B,EAC/B,OAAoC;IAEpC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,SAAS,EAAE,EAAE,CAAC;QACpB,IAAI,QAAQ,IAAI,QAAQ,EAAE,cAAc,EAAE,CAAC;YACzC,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAoC;IAEpC,MAAM,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB,EAAE,QAA4B;IACrF,uBAAuB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAC9C,aAAqB,EACrB,OAAoC;IAEpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,QAAQ,EAAE,EAAE,CAAC;QACnB,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC"}