space-data-module-sdk 0.8.4 → 0.8.5

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 (354) hide show
  1. package/README.md +117 -20
  2. package/bin/space-data-module.js +263 -0
  3. package/docs/.nojekyll +1 -0
  4. package/docs/AGENTS.md +34 -0
  5. package/docs/architecture.svg +141 -0
  6. package/docs/browser-wasmedge-isomorphic.md +179 -0
  7. package/docs/flatsql-streaming-standard.md +341 -0
  8. package/docs/gpu-module-abi.md +193 -0
  9. package/docs/index.html +125 -0
  10. package/docs/isomorphic-pthreads.md +188 -0
  11. package/docs/isomorphic-sdn-runtime-plan.md +167 -0
  12. package/docs/language-runtime-matrix.md +82 -0
  13. package/docs/manifest-structure.svg +114 -0
  14. package/docs/module-bundle-runtime-plan.md +19 -0
  15. package/docs/module-lifecycle.svg +70 -0
  16. package/docs/module-publication-standard.md +540 -0
  17. package/docs/node-red-default-node-parity.md +88 -0
  18. package/docs/protocol-installation.md +196 -0
  19. package/docs/secrets-capability.md +152 -0
  20. package/docs/styles.css +288 -0
  21. package/docs/testing-harness.md +408 -0
  22. package/docs/tri-runtime-parity.md +132 -0
  23. package/docs/wallet-callback.html +2 -0
  24. package/package.json +25 -6
  25. package/schemas/HttpRequestAbi.fbs +41 -0
  26. package/schemas/HttpResponseAbi.fbs +36 -0
  27. package/schemas/PluginManifest.fbs +2 -1
  28. package/src/AGENTS.md +1 -1
  29. package/src/app/codec.js +548 -0
  30. package/src/app/index.js +6 -0
  31. package/src/browser.js +5 -0
  32. package/src/bundle/constants.js +1 -0
  33. package/src/bundle/index.js +15 -0
  34. package/src/bundle/sigdomain.js +179 -0
  35. package/src/bundle/signing.js +767 -0
  36. package/src/bundle/wasm.js +3 -2
  37. package/src/capabilities.js +3 -0
  38. package/src/compat/index.js +7 -0
  39. package/src/compat/sdnLegacy.js +449 -0
  40. package/src/compiler/compileModule.js +556 -55
  41. package/src/compiler/flatcSupport.js +41 -27
  42. package/src/compiler/index.d.ts +2 -0
  43. package/src/compiler/index.js +18 -0
  44. package/src/compiler/invokeGlue.js +1212 -183
  45. package/src/compiler/pthreadArtifactGuard.js +910 -0
  46. package/src/compiler/sdnShimGenerator.js +323 -0
  47. package/src/compiler/wasiThreadsToolchain.js +150 -0
  48. package/src/compliance/index.js +11 -1
  49. package/src/compliance/legacyWildcardPorts.js +228 -0
  50. package/src/compliance/pluginCompliance.js +1000 -96
  51. package/src/field-stream/index.d.ts +31 -0
  52. package/src/field-stream/index.js +119 -0
  53. package/src/flow/dependencyStreamBridge.js +234 -0
  54. package/src/flow/flatsqlLinkShim.js +304 -0
  55. package/src/flow/flowCodec.js +107 -0
  56. package/src/flow/flowCompiler.js +2900 -0
  57. package/src/flow/flowRuntimeHost.js +877 -0
  58. package/src/flow/index.d.ts +117 -0
  59. package/src/flow/index.js +31 -0
  60. package/src/flow/isomorphicFlowHost.js +384 -0
  61. package/src/flow/jsFlowRuntime.js +275 -0
  62. package/src/flow/normalize.js +294 -0
  63. package/src/flow/runtime-src/flow_runtime.cpp +1699 -0
  64. package/src/flow/vendor/sdn-flow/MethodRegistry.js +400 -0
  65. package/src/flow/vendor/sdn-flow/constants.js +39 -0
  66. package/src/flow/vendor/sdn-flow/index.js +29 -0
  67. package/src/flow/vendor/sdn-flow/normalize.js +506 -0
  68. package/src/flow/vendor/sdn-flow/wasmCompatibility.js +189 -0
  69. package/src/generated/http/cpp/HttpRequestAbi_generated.h +285 -0
  70. package/src/generated/http/cpp/HttpResponseAbi_generated.h +192 -0
  71. package/src/generated/http/sdn/http/http-header.js +53 -0
  72. package/src/generated/http/sdn/http/http-header.ts +67 -0
  73. package/src/generated/http/sdn/http/http-request.js +132 -0
  74. package/src/generated/http/sdn/http/http-request.ts +179 -0
  75. package/src/generated/http/sdn/http/http-response.js +144 -0
  76. package/src/generated/http/sdn/http/http-response.ts +168 -0
  77. package/src/generated/http/sdn/http.js +11 -0
  78. package/src/generated/http/sdn/http.ts +4 -0
  79. package/src/generated/orbpro/flow/backpressure-policy.d.ts +12 -0
  80. package/src/generated/orbpro/flow/backpressure-policy.d.ts.map +1 -0
  81. package/src/generated/orbpro/flow/backpressure-policy.js +17 -0
  82. package/src/generated/orbpro/flow/backpressure-policy.js.map +1 -0
  83. package/src/generated/orbpro/flow/backpressure-policy.ts +15 -0
  84. package/src/generated/orbpro/flow/flow-bundle-manifest.d.ts +142 -0
  85. package/src/generated/orbpro/flow/flow-bundle-manifest.d.ts.map +1 -0
  86. package/src/generated/orbpro/flow/flow-bundle-manifest.js +304 -0
  87. package/src/generated/orbpro/flow/flow-bundle-manifest.js.map +1 -0
  88. package/src/generated/orbpro/flow/flow-bundle-manifest.ts +399 -0
  89. package/src/generated/orbpro/flow/flow-edge.d.ts +113 -0
  90. package/src/generated/orbpro/flow/flow-edge.d.ts.map +1 -0
  91. package/src/generated/orbpro/flow/flow-edge.js +221 -0
  92. package/src/generated/orbpro/flow/flow-edge.js.map +1 -0
  93. package/src/generated/orbpro/flow/flow-edge.ts +292 -0
  94. package/src/generated/orbpro/flow/flow-node.d.ts +80 -0
  95. package/src/generated/orbpro/flow/flow-node.d.ts.map +1 -0
  96. package/src/generated/orbpro/flow/flow-node.js +158 -0
  97. package/src/generated/orbpro/flow/flow-node.js.map +1 -0
  98. package/src/generated/orbpro/flow/flow-node.ts +202 -0
  99. package/src/generated/orbpro/flow/flow-program.d.ts +164 -0
  100. package/src/generated/orbpro/flow/flow-program.d.ts.map +1 -0
  101. package/src/generated/orbpro/flow/flow-program.js +350 -0
  102. package/src/generated/orbpro/flow/flow-program.js.map +1 -0
  103. package/src/generated/orbpro/flow/flow-program.ts +477 -0
  104. package/src/generated/orbpro/flow/flow-trigger.d.ts +108 -0
  105. package/src/generated/orbpro/flow/flow-trigger.d.ts.map +1 -0
  106. package/src/generated/orbpro/flow/flow-trigger.js +207 -0
  107. package/src/generated/orbpro/flow/flow-trigger.js.map +1 -0
  108. package/src/generated/orbpro/flow/flow-trigger.ts +276 -0
  109. package/src/generated/orbpro/flow/node-kind.d.ts +13 -0
  110. package/src/generated/orbpro/flow/node-kind.d.ts.map +1 -0
  111. package/src/generated/orbpro/flow/node-kind.js +16 -0
  112. package/src/generated/orbpro/flow/node-kind.js.map +1 -0
  113. package/src/generated/orbpro/{invoke.ts → flow/node-kind.ts} +12 -2
  114. package/src/generated/orbpro/flow/plugin-version-binding.d.ts +52 -0
  115. package/src/generated/orbpro/flow/plugin-version-binding.d.ts.map +1 -0
  116. package/src/generated/orbpro/flow/plugin-version-binding.js +85 -0
  117. package/src/generated/orbpro/flow/plugin-version-binding.js.map +1 -0
  118. package/src/generated/orbpro/flow/plugin-version-binding.ts +121 -0
  119. package/src/generated/orbpro/flow/schema-hash-binding.d.ts +70 -0
  120. package/src/generated/orbpro/flow/schema-hash-binding.d.ts.map +1 -0
  121. package/src/generated/orbpro/flow/schema-hash-binding.js +143 -0
  122. package/src/generated/orbpro/flow/schema-hash-binding.js.map +1 -0
  123. package/src/generated/orbpro/flow/schema-hash-binding.ts +189 -0
  124. package/src/generated/orbpro/flow/trigger-binding.d.ts +71 -0
  125. package/src/generated/orbpro/flow/trigger-binding.d.ts.map +1 -0
  126. package/src/generated/orbpro/flow/trigger-binding.js +142 -0
  127. package/src/generated/orbpro/flow/trigger-binding.js.map +1 -0
  128. package/src/generated/orbpro/flow/trigger-binding.ts +181 -0
  129. package/src/generated/orbpro/flow/trigger-kind.d.ts +14 -0
  130. package/src/generated/orbpro/flow/trigger-kind.d.ts.map +1 -0
  131. package/src/generated/orbpro/flow/trigger-kind.js +17 -0
  132. package/src/generated/orbpro/flow/trigger-kind.js.map +1 -0
  133. package/src/generated/orbpro/flow/trigger-kind.ts +17 -0
  134. package/src/generated/orbpro/flow.d.ts +21 -0
  135. package/src/generated/orbpro/flow.d.ts.map +1 -0
  136. package/src/generated/orbpro/flow.js +23 -0
  137. package/src/generated/orbpro/flow.js.map +1 -0
  138. package/src/generated/orbpro/flow.ts +24 -0
  139. package/src/generated/orbpro/manifest/capability-kind.d.ts +2 -1
  140. package/src/generated/orbpro/manifest/capability-kind.js +1 -0
  141. package/src/generated/orbpro/manifest/capability-kind.ts +1 -0
  142. package/src/generated/orbpro/plugin/stream-invoke-request.d.ts +93 -0
  143. package/src/generated/orbpro/plugin/stream-invoke-request.js +160 -0
  144. package/src/generated/orbpro/plugin/stream-invoke-request.ts +211 -0
  145. package/src/generated/orbpro/plugin/stream-invoke-response.d.ts +99 -0
  146. package/src/generated/orbpro/plugin/stream-invoke-response.js +175 -0
  147. package/src/generated/orbpro/plugin/stream-invoke-response.ts +226 -0
  148. package/src/generated/orbpro/plugin.js +8 -0
  149. package/src/generated/orbpro/stream.d.ts +12 -0
  150. package/src/generated/orbpro/stream.js +14 -0
  151. package/src/generated/orbpro/stream.ts +15 -0
  152. package/src/generated/spacedatastandards/plg/EntryFunction.d.ts +52 -0
  153. package/src/generated/spacedatastandards/plg/EntryFunction.d.ts.map +1 -0
  154. package/src/generated/spacedatastandards/plg/EntryFunction.js +106 -0
  155. package/src/generated/spacedatastandards/plg/EntryFunction.ts +162 -0
  156. package/src/generated/spacedatastandards/plg/FlatBufferTypeRef.d.ts +90 -0
  157. package/src/generated/spacedatastandards/plg/FlatBufferTypeRef.d.ts.map +1 -0
  158. package/src/generated/spacedatastandards/plg/FlatBufferTypeRef.js +189 -0
  159. package/src/generated/spacedatastandards/plg/FlatBufferTypeRef.ts +270 -0
  160. package/src/generated/spacedatastandards/plg/PLG.d.ts +492 -0
  161. package/src/generated/spacedatastandards/plg/PLG.d.ts.map +1 -0
  162. package/src/generated/spacedatastandards/plg/PLG.js +1139 -0
  163. package/src/generated/spacedatastandards/plg/PLG.ts +1600 -0
  164. package/src/generated/spacedatastandards/plg/PLGAcceptedTypeSet.d.ts +63 -0
  165. package/src/generated/spacedatastandards/plg/PLGAcceptedTypeSet.d.ts.map +1 -0
  166. package/src/generated/spacedatastandards/plg/PLGAcceptedTypeSet.js +138 -0
  167. package/src/generated/spacedatastandards/plg/PLGAcceptedTypeSet.ts +189 -0
  168. package/src/generated/spacedatastandards/plg/PLGBuildArtifact.d.ts +41 -0
  169. package/src/generated/spacedatastandards/plg/PLGBuildArtifact.d.ts.map +1 -0
  170. package/src/generated/spacedatastandards/plg/PLGBuildArtifact.js +104 -0
  171. package/src/generated/spacedatastandards/plg/PLGBuildArtifact.ts +151 -0
  172. package/src/generated/spacedatastandards/plg/PLGFlowEdge.d.ts +68 -0
  173. package/src/generated/spacedatastandards/plg/PLGFlowEdge.d.ts.map +1 -0
  174. package/src/generated/spacedatastandards/plg/PLGFlowEdge.js +124 -0
  175. package/src/generated/spacedatastandards/plg/PLGFlowEdge.ts +184 -0
  176. package/src/generated/spacedatastandards/plg/PLGFlowEdgeContract.d.ts +58 -0
  177. package/src/generated/spacedatastandards/plg/PLGFlowEdgeContract.d.ts.map +1 -0
  178. package/src/generated/spacedatastandards/plg/PLGFlowEdgeContract.js +126 -0
  179. package/src/generated/spacedatastandards/plg/PLGFlowEdgeContract.ts +161 -0
  180. package/src/generated/spacedatastandards/plg/PLGFlowNode.d.ts +82 -0
  181. package/src/generated/spacedatastandards/plg/PLGFlowNode.d.ts.map +1 -0
  182. package/src/generated/spacedatastandards/plg/PLGFlowNode.js +164 -0
  183. package/src/generated/spacedatastandards/plg/PLGFlowNode.ts +244 -0
  184. package/src/generated/spacedatastandards/plg/PLGFlowTrigger.d.ts +55 -0
  185. package/src/generated/spacedatastandards/plg/PLGFlowTrigger.d.ts.map +1 -0
  186. package/src/generated/spacedatastandards/plg/PLGFlowTrigger.js +105 -0
  187. package/src/generated/spacedatastandards/plg/PLGFlowTrigger.ts +162 -0
  188. package/src/generated/spacedatastandards/plg/PLGFlowTriggerBinding.d.ts +42 -0
  189. package/src/generated/spacedatastandards/plg/PLGFlowTriggerBinding.d.ts.map +1 -0
  190. package/src/generated/spacedatastandards/plg/PLGFlowTriggerBinding.js +83 -0
  191. package/src/generated/spacedatastandards/plg/PLGFlowTriggerBinding.ts +127 -0
  192. package/src/generated/spacedatastandards/plg/PLGHostCapability.d.ts +36 -0
  193. package/src/generated/spacedatastandards/plg/PLGHostCapability.d.ts.map +1 -0
  194. package/src/generated/spacedatastandards/plg/PLGHostCapability.js +90 -0
  195. package/src/generated/spacedatastandards/plg/PLGHostCapability.ts +127 -0
  196. package/src/generated/spacedatastandards/plg/PLGMethodManifest.d.ts +53 -0
  197. package/src/generated/spacedatastandards/plg/PLGMethodManifest.d.ts.map +1 -0
  198. package/src/generated/spacedatastandards/plg/PLGMethodManifest.js +153 -0
  199. package/src/generated/spacedatastandards/plg/PLGMethodManifest.ts +210 -0
  200. package/src/generated/spacedatastandards/plg/PLGPortManifest.d.ts +70 -0
  201. package/src/generated/spacedatastandards/plg/PLGPortManifest.d.ts.map +1 -0
  202. package/src/generated/spacedatastandards/plg/PLGPortManifest.js +149 -0
  203. package/src/generated/spacedatastandards/plg/PLGPortManifest.ts +212 -0
  204. package/src/generated/spacedatastandards/plg/PLGProtocolSpec.d.ts +73 -0
  205. package/src/generated/spacedatastandards/plg/PLGProtocolSpec.d.ts.map +1 -0
  206. package/src/generated/spacedatastandards/plg/PLGProtocolSpec.js +199 -0
  207. package/src/generated/spacedatastandards/plg/PLGProtocolSpec.ts +292 -0
  208. package/src/generated/spacedatastandards/plg/PLGTimerSpec.d.ts +40 -0
  209. package/src/generated/spacedatastandards/plg/PLGTimerSpec.d.ts.map +1 -0
  210. package/src/generated/spacedatastandards/plg/PLGTimerSpec.js +103 -0
  211. package/src/generated/spacedatastandards/plg/PLGTimerSpec.ts +148 -0
  212. package/src/generated/spacedatastandards/plg/PluginCapability.d.ts +41 -0
  213. package/src/generated/spacedatastandards/plg/PluginCapability.d.ts.map +1 -0
  214. package/src/generated/spacedatastandards/plg/PluginCapability.js +82 -0
  215. package/src/generated/spacedatastandards/plg/{plugin-capability.ts → PluginCapability.ts} +55 -18
  216. package/src/generated/spacedatastandards/plg/PluginDependency.d.ts +42 -0
  217. package/src/generated/spacedatastandards/plg/PluginDependency.d.ts.map +1 -0
  218. package/src/generated/spacedatastandards/plg/PluginDependency.js +80 -0
  219. package/src/generated/spacedatastandards/plg/PluginDependency.ts +124 -0
  220. package/src/generated/spacedatastandards/plg/TAB.d.ts +85 -0
  221. package/src/generated/spacedatastandards/plg/TAB.d.ts.map +1 -0
  222. package/src/generated/spacedatastandards/plg/TAB.js +173 -0
  223. package/src/generated/spacedatastandards/plg/TAB.ts +228 -0
  224. package/src/generated/spacedatastandards/plg/bufferMutability.d.ts +18 -0
  225. package/src/generated/spacedatastandards/plg/bufferMutability.d.ts.map +1 -0
  226. package/src/generated/spacedatastandards/plg/bufferMutability.js +20 -0
  227. package/src/generated/spacedatastandards/plg/bufferMutability.ts +23 -0
  228. package/src/generated/spacedatastandards/plg/bufferOwnership.d.ts +18 -0
  229. package/src/generated/spacedatastandards/plg/bufferOwnership.d.ts.map +1 -0
  230. package/src/generated/spacedatastandards/plg/bufferOwnership.js +20 -0
  231. package/src/generated/spacedatastandards/plg/bufferOwnership.ts +23 -0
  232. package/src/generated/spacedatastandards/plg/drainBehavior.d.ts +20 -0
  233. package/src/generated/spacedatastandards/plg/drainBehavior.d.ts.map +1 -0
  234. package/src/generated/spacedatastandards/plg/drainBehavior.js +22 -0
  235. package/src/generated/spacedatastandards/plg/drainBehavior.ts +25 -0
  236. package/src/generated/spacedatastandards/plg/flowEdgeRoutePolicy.d.ts +10 -0
  237. package/src/generated/spacedatastandards/plg/flowEdgeRoutePolicy.d.ts.map +1 -0
  238. package/src/generated/spacedatastandards/plg/flowEdgeRoutePolicy.js +12 -0
  239. package/src/generated/spacedatastandards/plg/flowEdgeRoutePolicy.ts +13 -0
  240. package/src/generated/spacedatastandards/plg/hostCapabilityKind.d.ts +51 -0
  241. package/src/generated/spacedatastandards/plg/hostCapabilityKind.d.ts.map +1 -0
  242. package/src/generated/spacedatastandards/plg/hostCapabilityKind.js +53 -0
  243. package/src/generated/spacedatastandards/plg/hostCapabilityKind.ts +55 -0
  244. package/src/generated/spacedatastandards/plg/invokeSurfaceKind.d.ts +15 -0
  245. package/src/generated/spacedatastandards/plg/invokeSurfaceKind.d.ts.map +1 -0
  246. package/src/generated/spacedatastandards/plg/invokeSurfaceKind.js +17 -0
  247. package/src/generated/spacedatastandards/plg/invokeSurfaceKind.ts +19 -0
  248. package/src/generated/spacedatastandards/plg/main.d.ts +29 -0
  249. package/src/generated/spacedatastandards/plg/main.d.ts.map +1 -0
  250. package/src/generated/spacedatastandards/plg/main.js +30 -0
  251. package/src/generated/spacedatastandards/plg/main.ts +32 -0
  252. package/src/generated/spacedatastandards/plg/payloadWireFormat.d.ts +17 -0
  253. package/src/generated/spacedatastandards/plg/payloadWireFormat.d.ts.map +1 -0
  254. package/src/generated/spacedatastandards/plg/payloadWireFormat.js +19 -0
  255. package/src/generated/spacedatastandards/plg/payloadWireFormat.ts +21 -0
  256. package/src/generated/spacedatastandards/plg/pluginCategory.d.ts +82 -0
  257. package/src/generated/spacedatastandards/plg/pluginCategory.d.ts.map +1 -0
  258. package/src/generated/spacedatastandards/plg/pluginCategory.js +84 -0
  259. package/src/generated/spacedatastandards/plg/pluginCategory.ts +103 -0
  260. package/src/generated/spacedatastandards/plg/publicationState.d.ts +18 -0
  261. package/src/generated/spacedatastandards/plg/publicationState.d.ts.map +1 -0
  262. package/src/generated/spacedatastandards/plg/publicationState.js +20 -0
  263. package/src/generated/spacedatastandards/plg/purchaseTier.d.ts +18 -0
  264. package/src/generated/spacedatastandards/plg/purchaseTier.d.ts.map +1 -0
  265. package/src/generated/spacedatastandards/plg/purchaseTier.js +20 -0
  266. package/src/host/AGENTS.md +2 -2
  267. package/src/host/abi.js +53 -66
  268. package/src/host/browserHost.js +355 -8
  269. package/src/host/cpp/keyslotClient.hpp +231 -0
  270. package/src/host/cpp/secretsClient.hpp +583 -0
  271. package/src/host/hostcallWire.js +183 -0
  272. package/src/host/index.js +2 -0
  273. package/src/host/isomorphicLoader.js +44 -7
  274. package/src/host/nodeHost.js +227 -8
  275. package/src/host/sabHostcallChannel.js +206 -0
  276. package/src/host/timerDriver.js +203 -0
  277. package/src/host/wasiShim.js +41 -1
  278. package/src/host/wasiThreadBrowserWorker.mjs +48 -0
  279. package/src/host/wasiThreadHost.js +393 -0
  280. package/src/host/wasiThreadWorker.mjs +32 -0
  281. package/src/host/wasiThreadWorkerRuntime.js +93 -0
  282. package/src/http/index.js +339 -0
  283. package/src/index.d.ts +716 -10
  284. package/src/index.js +4 -0
  285. package/src/invoke/codec.js +1202 -128
  286. package/src/invoke/index.js +5 -1
  287. package/src/licensing/index.d.ts +2 -0
  288. package/src/licensing/index.js +2 -0
  289. package/src/licensing/records.js +287 -8
  290. package/src/manifest/codec.js +62 -14
  291. package/src/manifest/index.js +2 -0
  292. package/src/manifest/legacyToPlg.js +164 -25
  293. package/src/manifest/normalize.js +1 -0
  294. package/src/manifest/plgCodec.js +1303 -62
  295. package/src/manifest/typeRefs.js +162 -24
  296. package/src/runtime/compiledRuntimeAbi.js +47 -0
  297. package/src/runtime/compiledRuntimeAbi.json +33 -0
  298. package/src/runtime/index.d.ts +32 -0
  299. package/src/runtime/index.js +1 -0
  300. package/src/runtime-host/index.js +3 -0
  301. package/src/runtime-host/methodRegistry.js +55 -0
  302. package/src/standards/index.js +200 -56
  303. package/src/standards/sharedCatalog.js +16 -0
  304. package/src/testing/browserModuleHarness.js +604 -31
  305. package/src/testing/docker/wasmedge-parity.Dockerfile +39 -0
  306. package/src/testing/index.d.ts +151 -0
  307. package/src/testing/index.js +21 -0
  308. package/src/testing/native/wasmedge_emscripten_pthread_runner.c +25 -1
  309. package/src/testing/parityBrowserRunner.js +138 -0
  310. package/src/testing/parityHarness.js +616 -0
  311. package/src/testing/parityLanes.js +537 -0
  312. package/src/testing/processInvoke.js +29 -21
  313. package/src/testing/streamInvokeCodec.js +10 -175
  314. package/src/testing/wasmedgePin.json +6 -0
  315. package/src/testing/workerModuleHarness.js +242 -0
  316. package/src/testing/workerModuleHarnessWorker.js +176 -0
  317. package/src/transport/index.js +3 -0
  318. package/src/transport/pki.js +299 -11
  319. package/src/transport/records.js +16 -7
  320. package/src/utils/ecdsaDer.js +106 -0
  321. package/src/utils/wasmCrypto.js +0 -43
  322. package/templates/gpu-module/README.md +48 -0
  323. package/templates/gpu-module/include/space_data_gpu_abi.h +122 -0
  324. package/templates/gpu-module/manifest.json +84 -0
  325. package/schemas/PluginInvokeRequest.fbs +0 -18
  326. package/schemas/PluginInvokeResponse.fbs +0 -30
  327. package/schemas/spacedatastandards/PLG.fbs +0 -191
  328. package/src/generated/orbpro/invoke/plugin-invoke-request.d.ts +0 -51
  329. package/src/generated/orbpro/invoke/plugin-invoke-request.d.ts.map +0 -1
  330. package/src/generated/orbpro/invoke/plugin-invoke-request.js +0 -131
  331. package/src/generated/orbpro/invoke/plugin-invoke-request.js.map +0 -1
  332. package/src/generated/orbpro/invoke/plugin-invoke-request.ts +0 -173
  333. package/src/generated/orbpro/invoke/plugin-invoke-response.d.ts +0 -76
  334. package/src/generated/orbpro/invoke/plugin-invoke-response.d.ts.map +0 -1
  335. package/src/generated/orbpro/invoke/plugin-invoke-response.js +0 -184
  336. package/src/generated/orbpro/invoke/plugin-invoke-response.js.map +0 -1
  337. package/src/generated/orbpro/invoke/plugin-invoke-response.ts +0 -243
  338. package/src/generated/orbpro/invoke.d.ts +0 -3
  339. package/src/generated/orbpro/invoke.js +0 -5
  340. package/src/generated/spacedatastandards/plg/entry-function.js +0 -86
  341. package/src/generated/spacedatastandards/plg/entry-function.ts +0 -119
  342. package/src/generated/spacedatastandards/plg/index.js +0 -16
  343. package/src/generated/spacedatastandards/plg/index.ts +0 -11
  344. package/src/generated/spacedatastandards/plg/plg.js +0 -657
  345. package/src/generated/spacedatastandards/plg/plg.ts +0 -924
  346. package/src/generated/spacedatastandards/plg/plugin-capability.js +0 -66
  347. package/src/generated/spacedatastandards/plg/plugin-category.js +0 -15
  348. package/src/generated/spacedatastandards/plg/plugin-category.ts +0 -53
  349. package/src/generated/spacedatastandards/plg/plugin-dependency.js +0 -63
  350. package/src/generated/spacedatastandards/plg/plugin-dependency.ts +0 -86
  351. package/src/generated/spacedatastandards/plg/publication-state.js +0 -9
  352. package/src/generated/spacedatastandards/plg/purchase-tier.js +0 -9
  353. /package/src/generated/spacedatastandards/plg/{publication-state.ts → publicationState.ts} +0 -0
  354. /package/src/generated/spacedatastandards/plg/{purchase-tier.ts → purchaseTier.ts} +0 -0
@@ -0,0 +1,122 @@
1
+ #ifndef SPACE_DATA_GPU_ABI_H
2
+ #define SPACE_DATA_GPU_ABI_H
3
+
4
+ #include <stdint.h>
5
+
6
+ #ifdef __cplusplus
7
+ extern "C" {
8
+ #endif
9
+
10
+ #define SDN_GPU_ABI_VERSION 1u
11
+ #define SDN_GPU_CAPABILITY_ID "gpu_compute"
12
+ #define SDN_GPU_CAPABILITY_SCOPE_WEBGPU_V1 "webgpu.v1"
13
+
14
+ typedef enum SdnGpuStatus {
15
+ SDN_GPU_STATUS_OK = 0,
16
+ SDN_GPU_STATUS_UNAVAILABLE = 1,
17
+ SDN_GPU_STATUS_UNSUPPORTED_ABI = 2,
18
+ SDN_GPU_STATUS_INVALID_DESCRIPTOR = 3,
19
+ SDN_GPU_STATUS_LIMIT_EXCEEDED = 4,
20
+ SDN_GPU_STATUS_DISPATCH_FAILED = 5,
21
+ SDN_GPU_STATUS_OUTPUT_OVERFLOW = 6
22
+ } SdnGpuStatus;
23
+
24
+ typedef enum SdnGpuBackendKind {
25
+ SDN_GPU_BACKEND_UNKNOWN = 0,
26
+ SDN_GPU_BACKEND_BROWSER_WEBGPU = 1,
27
+ SDN_GPU_BACKEND_DAWN_NATIVE = 2,
28
+ SDN_GPU_BACKEND_CPU_FALLBACK = 3
29
+ } SdnGpuBackendKind;
30
+
31
+ typedef enum SdnGpuBufferRole {
32
+ SDN_GPU_BUFFER_ROLE_STORAGE_READ = 1u << 0,
33
+ SDN_GPU_BUFFER_ROLE_STORAGE_WRITE = 1u << 1,
34
+ SDN_GPU_BUFFER_ROLE_UNIFORM = 1u << 2,
35
+ SDN_GPU_BUFFER_ROLE_INDIRECT = 1u << 3
36
+ } SdnGpuBufferRole;
37
+
38
+ typedef enum SdnGpuScalarFormat {
39
+ SDN_GPU_SCALAR_FORMAT_U8 = 1,
40
+ SDN_GPU_SCALAR_FORMAT_U32 = 2,
41
+ SDN_GPU_SCALAR_FORMAT_I32 = 3,
42
+ SDN_GPU_SCALAR_FORMAT_F32 = 4,
43
+ SDN_GPU_SCALAR_FORMAT_SPLIT_F64 = 5
44
+ } SdnGpuScalarFormat;
45
+
46
+ typedef struct SdnGpuSplitF64 {
47
+ float hi;
48
+ float lo;
49
+ } SdnGpuSplitF64;
50
+
51
+ typedef struct SdnGpuVec3SplitF64 {
52
+ SdnGpuSplitF64 x;
53
+ SdnGpuSplitF64 y;
54
+ SdnGpuSplitF64 z;
55
+ } SdnGpuVec3SplitF64;
56
+
57
+ typedef struct SdnGpuBufferDesc {
58
+ uint32_t role;
59
+ uint32_t scalar_format;
60
+ uint32_t record_stride;
61
+ uint32_t reserved0;
62
+ uint64_t byte_offset;
63
+ uint64_t byte_length;
64
+ } SdnGpuBufferDesc;
65
+
66
+ typedef struct SdnGpuDispatchDesc {
67
+ uint32_t abi_version;
68
+ uint32_t descriptor_byte_length;
69
+ uint32_t kernel_id_hash;
70
+ uint32_t flags;
71
+ uint32_t input_count;
72
+ uint32_t output_count;
73
+ uint32_t uniform_byte_length;
74
+ uint32_t reserved0;
75
+ uint32_t workgroup_count_x;
76
+ uint32_t workgroup_count_y;
77
+ uint32_t workgroup_count_z;
78
+ uint32_t workgroup_size_x;
79
+ uint32_t workgroup_size_y;
80
+ uint32_t workgroup_size_z;
81
+ uint32_t reserved1;
82
+ uint32_t reserved2;
83
+ } SdnGpuDispatchDesc;
84
+
85
+ typedef struct SdnGpuDispatchResult {
86
+ uint32_t abi_version;
87
+ uint32_t status;
88
+ uint32_t backend_kind;
89
+ uint32_t flags;
90
+ uint64_t output_bytes_written;
91
+ uint64_t records_emitted;
92
+ uint64_t overflow_count;
93
+ double elapsed_ms;
94
+ } SdnGpuDispatchResult;
95
+
96
+ static inline SdnGpuSplitF64 sdn_gpu_split_f64(double value) {
97
+ SdnGpuSplitF64 result;
98
+ result.hi = (float)value;
99
+ result.lo = (float)(value - (double)result.hi);
100
+ return result;
101
+ }
102
+
103
+ static inline double sdn_gpu_join_split_f64(SdnGpuSplitF64 value) {
104
+ return (double)value.hi + (double)value.lo;
105
+ }
106
+
107
+ static inline SdnGpuVec3SplitF64 sdn_gpu_split_vec3_f64(
108
+ double x,
109
+ double y,
110
+ double z) {
111
+ SdnGpuVec3SplitF64 result;
112
+ result.x = sdn_gpu_split_f64(x);
113
+ result.y = sdn_gpu_split_f64(y);
114
+ result.z = sdn_gpu_split_f64(z);
115
+ return result;
116
+ }
117
+
118
+ #ifdef __cplusplus
119
+ }
120
+ #endif
121
+
122
+ #endif
@@ -0,0 +1,84 @@
1
+ {
2
+ "pluginId": "com.example.gpu-module",
3
+ "name": "GPU Module Template",
4
+ "version": "0.1.0",
5
+ "pluginFamily": "analysis",
6
+ "runtimeTargets": ["browser", "wasmedge"],
7
+ "invokeSurfaces": ["direct", "command"],
8
+ "externalInterfaces": [],
9
+ "capabilities": [
10
+ "clock",
11
+ {
12
+ "capability": "gpu_compute",
13
+ "scope": "webgpu.v1",
14
+ "required": false,
15
+ "description": "Optional WebGPU/Dawn compute acceleration."
16
+ }
17
+ ],
18
+ "methods": [
19
+ {
20
+ "methodId": "run",
21
+ "displayName": "Run",
22
+ "inputPorts": [
23
+ {
24
+ "portId": "request",
25
+ "acceptedTypeSets": [
26
+ {
27
+ "setId": "omm-request",
28
+ "allowedTypes": [
29
+ {
30
+ "schemaName": "OMM.fbs",
31
+ "fileIdentifier": "$OMM",
32
+ "rootTypeName": "OMM",
33
+ "wireFormat": "flatbuffer"
34
+ },
35
+ {
36
+ "schemaName": "OMM.fbs",
37
+ "fileIdentifier": "$OMM",
38
+ "rootTypeName": "OMM",
39
+ "wireFormat": "aligned-binary",
40
+ "byteLength": 64,
41
+ "requiredAlignment": 8
42
+ }
43
+ ]
44
+ }
45
+ ],
46
+ "minStreams": 1,
47
+ "maxStreams": 1,
48
+ "required": true
49
+ }
50
+ ],
51
+ "outputPorts": [
52
+ {
53
+ "portId": "response",
54
+ "acceptedTypeSets": [
55
+ {
56
+ "setId": "catalog-response",
57
+ "allowedTypes": [
58
+ {
59
+ "schemaName": "CAT.fbs",
60
+ "fileIdentifier": "$CAT",
61
+ "rootTypeName": "CAT",
62
+ "wireFormat": "flatbuffer"
63
+ },
64
+ {
65
+ "schemaName": "CAT.fbs",
66
+ "fileIdentifier": "$CAT",
67
+ "rootTypeName": "CAT",
68
+ "wireFormat": "aligned-binary",
69
+ "byteLength": 64,
70
+ "requiredAlignment": 8
71
+ }
72
+ ]
73
+ }
74
+ ],
75
+ "minStreams": 0,
76
+ "maxStreams": 1,
77
+ "required": false
78
+ }
79
+ ],
80
+ "maxBatch": 1,
81
+ "drainPolicy": "drain-to-empty"
82
+ }
83
+ ]
84
+ }
@@ -1,18 +0,0 @@
1
- include "TypedArenaBuffer.fbs";
2
-
3
- namespace orbpro.invoke;
4
-
5
- /// Canonical invoke envelope consumed by direct ABI and command-mode execution.
6
- table PluginInvokeRequest {
7
- /// Stable method identifier from PluginManifest.methods.
8
- method_id: string (required);
9
-
10
- /// Input frames for the invocation, routed by TypedArenaBuffer.port_id.
11
- input_frames: [orbpro.stream.TypedArenaBuffer];
12
-
13
- /// Arena backing all input frame payload bytes.
14
- payload_arena: [ubyte];
15
- }
16
-
17
- root_type PluginInvokeRequest;
18
- file_identifier "PINQ";
@@ -1,30 +0,0 @@
1
- include "TypedArenaBuffer.fbs";
2
-
3
- namespace orbpro.invoke;
4
-
5
- /// Canonical invoke result emitted by direct ABI and command-mode execution.
6
- table PluginInvokeResponse {
7
- /// Method-specific status code. Zero conventionally indicates success.
8
- status_code: int = 0;
9
-
10
- /// True when the method yielded before fully draining queued work.
11
- yielded: bool = false;
12
-
13
- /// Remaining backlog, if known.
14
- backlog_remaining: uint32 = 0;
15
-
16
- /// Output frames produced by the invocation, routed by port_id.
17
- output_frames: [orbpro.stream.TypedArenaBuffer];
18
-
19
- /// Arena backing all output frame payload bytes.
20
- payload_arena: [ubyte];
21
-
22
- /// Stable machine-readable error code when invocation fails.
23
- error_code: string;
24
-
25
- /// Human-readable error message when invocation fails.
26
- error_message: string;
27
- }
28
-
29
- root_type PluginInvokeResponse;
30
- file_identifier "PINS";
@@ -1,191 +0,0 @@
1
- // Canonical plugin manifest schema.
2
- //
3
- // Upstream source: https://github.com/DigitalArsenal/spacedatastandards.org
4
- // Path: schema/PLG/main.fbs
5
- // Version: 1.0.6
6
- // Upstream hash: 2c9ca90ec923b2476832517dee715559c45dd198d3bdd4b5b3dfe0a4d05c4882
7
- //
8
- // This is the canonical spacedatastandards.org "PLG" manifest.
9
- // It is vendored here verbatim so the plugin SDK can depend on a stable copy
10
- // without adding a network or submodule fetch at build time. Keep this file
11
- // byte-for-byte identical to the upstream version; if a refresh is needed,
12
- // re-vendor from the upstream path above rather than hand-editing.
13
-
14
- // Hash: 2c9ca90ec923b2476832517dee715559c45dd198d3bdd4b5b3dfe0a4d05c4882
15
- // Version: 1.0.6
16
- // -----------------------------------END_HEADER
17
- /// Plugin type category
18
- enum pluginCategory : byte {
19
- /// Sensor simulation and analysis
20
- Sensor,
21
- /// Orbital propagation algorithms
22
- Propagator,
23
- /// Custom rendering/visualization
24
- Renderer,
25
- /// Data analysis and processing
26
- Analysis,
27
- /// External data source integration
28
- DataSource,
29
- /// Electronic warfare simulation
30
- EW,
31
- /// Communications modeling
32
- Comms,
33
- /// Physics simulation
34
- Physics,
35
- /// GLSL shader plugins for custom visualization
36
- Shader
37
- }
38
-
39
- /// Storefront payment model for the plugin listing
40
- enum purchaseTier : byte {
41
- /// No payment required
42
- Free,
43
- /// Single one-time purchase
44
- OneTime,
45
- /// Recurring subscription purchase
46
- Subscription
47
- }
48
-
49
- /// Publication visibility for the plugin listing
50
- enum publicationState : byte {
51
- /// Discoverable in public storefront listings
52
- Public,
53
- /// Addressable directly but hidden from public browse surfaces
54
- Unlisted,
55
- /// No longer offered for new installs or purchases
56
- Retired
57
- }
58
-
59
- /// Plugin capability declaration
60
- table PluginCapability {
61
- /// Capability name, e.g., "gpu_compute", "wasm_simd"
62
- NAME: string;
63
- /// Capability version
64
- VERSION: string;
65
- /// Whether this capability is required
66
- REQUIRED: bool;
67
- }
68
-
69
- /// Plugin dependency on another plugin
70
- table PluginDependency {
71
- /// Plugin ID of the dependency
72
- PLUGIN_ID: string;
73
- /// Minimum version required (semver)
74
- MIN_VERSION: string;
75
- /// Maximum version allowed (optional)
76
- MAX_VERSION: string;
77
- }
78
-
79
- /// Plugin entry point function definition
80
- table EntryFunction {
81
- /// Function name as exported from WASM
82
- NAME: string (required);
83
- /// Human-readable description
84
- DESCRIPTION: string;
85
- /// Input parameter types (FlatBuffer schema names)
86
- INPUT_SCHEMAS: [string];
87
- /// Output type (FlatBuffer schema name)
88
- OUTPUT_SCHEMA: string;
89
- }
90
-
91
- /// Plugin Manifest - canonical signed storefront and WASM distribution record
92
- table PLG {
93
- /// Unique identifier for the plugin
94
- PLUGIN_ID: string (required);
95
- /// Human-readable plugin name
96
- NAME: string (required);
97
- /// Plugin version (semver format)
98
- VERSION: string (required);
99
- /// Detailed description of plugin functionality
100
- DESCRIPTION: string;
101
- /// Short marketing summary shown in storefront listings
102
- TAGLINE: string;
103
- /// Type/category of the plugin
104
- PLUGIN_TYPE: pluginCategory;
105
- /// Human-readable publisher or organization name
106
- PUBLISHER_NAME: string;
107
- /// Publisher handle or username
108
- PUBLISHER_HANDLE: string;
109
- /// Canonical publisher website
110
- PUBLISHER_URL: string;
111
- /// Support or helpdesk URL for this plugin
112
- SUPPORT_URL: string;
113
- /// Search and categorization tags for discovery
114
- TAGS: [string];
115
- /// Short feature bullets highlighted in storefront listings
116
- FEATURES: [string];
117
- /// Screenshot URLs showing the plugin in use
118
- SCREENSHOT_URLS: [string];
119
- /// Optional hero/banner image URL for the listing
120
- BANNER_URL: string;
121
-
122
- /// ABI version for compatibility checking
123
- ABI_VERSION: uint32 = 1;
124
-
125
- /// SHA256 hash of the decrypted WASM binary
126
- WASM_HASH: [ubyte];
127
- /// Size of decrypted WASM binary in bytes
128
- WASM_SIZE: uint64;
129
- /// IPFS CID of the encrypted WASM binary
130
- WASM_CID: string;
131
- /// SHA256 hash of the encrypted delivery artifact bytes
132
- ENCRYPTED_WASM_HASH: [ubyte];
133
- /// Size of the encrypted delivery artifact in bytes
134
- ENCRYPTED_WASM_SIZE: uint64;
135
-
136
- /// Entry point functions exported by the plugin
137
- ENTRY_FUNCTIONS: [EntryFunction];
138
- /// FlatBuffer schemas required by this plugin
139
- REQUIRED_SCHEMAS: [string];
140
- /// Other plugins this depends on
141
- DEPENDENCIES: [PluginDependency];
142
- /// Capabilities provided by this plugin
143
- CAPABILITIES: [PluginCapability];
144
-
145
- /// Peer ID of the plugin provider
146
- PROVIDER_PEER_ID: string;
147
- /// IPFS CID of provider's EPM (Entity Profile Message)
148
- PROVIDER_EPM_CID: string;
149
-
150
- /// Whether the WASM binary is encrypted
151
- ENCRYPTED: bool = true;
152
- /// Canonical required scope for grant issuance
153
- REQUIRED_SCOPE: string;
154
- /// Provider-local identifier for the module content key
155
- KEY_ID: string;
156
- /// Allowed requester domains for module grants
157
- ALLOWED_DOMAINS: [string];
158
- /// Maximum grant timeout allowed for this module publication
159
- MAX_GRANT_TIMEOUT_MS: uint64;
160
- /// Minimum permissions required to run
161
- MIN_PERMISSIONS: [string];
162
-
163
- /// Unix timestamp when plugin was created
164
- CREATED_AT: uint64;
165
- /// Unix timestamp when plugin was last updated
166
- UPDATED_AT: uint64;
167
- /// URL to plugin documentation
168
- DOCUMENTATION_URL: string;
169
- /// URL to plugin changelog or release notes
170
- CHANGELOG_URL: string;
171
- /// URL to plugin icon/logo
172
- ICON_URL: string;
173
- /// License identifier (SPDX format)
174
- LICENSE: string;
175
- /// Commercial model used for storefront purchase flows
176
- PAYMENT_MODEL: purchaseTier = Free;
177
- /// Price in USD cents for one-time purchase or subscription period
178
- PRICE_USD_CENTS: uint32;
179
- /// Subscription billing period length in days
180
- SUBSCRIPTION_PERIOD_DAYS: uint32;
181
- /// Accepted payment methods, e.g. "stripe", "sol", "usdc"
182
- ACCEPTED_PAYMENT_METHODS: [string];
183
- /// Storefront publication state for this manifest version
184
- LISTING_STATUS: publicationState = Public;
185
-
186
- /// Ed25519 signature from provider over manifest
187
- SIGNATURE: [ubyte];
188
- }
189
-
190
- root_type PLG;
191
- file_identifier "$PLG";
@@ -1,51 +0,0 @@
1
- import * as flatbuffers from 'flatbuffers';
2
- import { TypedArenaBuffer, TypedArenaBufferT } from '../../orbpro/stream/typed-arena-buffer.js';
3
- /**
4
- * Canonical invoke envelope consumed by direct ABI and command-mode execution.
5
- */
6
- export declare class PluginInvokeRequest implements flatbuffers.IUnpackableObject<PluginInvokeRequestT> {
7
- bb: flatbuffers.ByteBuffer | null;
8
- bb_pos: number;
9
- __init(i: number, bb: flatbuffers.ByteBuffer): PluginInvokeRequest;
10
- static getRootAsPluginInvokeRequest(bb: flatbuffers.ByteBuffer, obj?: PluginInvokeRequest): PluginInvokeRequest;
11
- static getSizePrefixedRootAsPluginInvokeRequest(bb: flatbuffers.ByteBuffer, obj?: PluginInvokeRequest): PluginInvokeRequest;
12
- static bufferHasIdentifier(bb: flatbuffers.ByteBuffer): boolean;
13
- /**
14
- * Stable method identifier from PluginManifest.methods.
15
- */
16
- methodId(): string | null;
17
- methodId(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
18
- /**
19
- * Input frames for the invocation, routed by TypedArenaBuffer.port_id.
20
- */
21
- inputFrames(index: number, obj?: TypedArenaBuffer): TypedArenaBuffer | null;
22
- inputFramesLength(): number;
23
- /**
24
- * Arena backing all input frame payload bytes.
25
- */
26
- payloadArena(index: number): number | null;
27
- payloadArenaLength(): number;
28
- payloadArenaArray(): Uint8Array | null;
29
- static startPluginInvokeRequest(builder: flatbuffers.Builder): void;
30
- static addMethodId(builder: flatbuffers.Builder, methodIdOffset: flatbuffers.Offset): void;
31
- static addInputFrames(builder: flatbuffers.Builder, inputFramesOffset: flatbuffers.Offset): void;
32
- static createInputFramesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
33
- static startInputFramesVector(builder: flatbuffers.Builder, numElems: number): void;
34
- static addPayloadArena(builder: flatbuffers.Builder, payloadArenaOffset: flatbuffers.Offset): void;
35
- static createPayloadArenaVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
36
- static startPayloadArenaVector(builder: flatbuffers.Builder, numElems: number): void;
37
- static endPluginInvokeRequest(builder: flatbuffers.Builder): flatbuffers.Offset;
38
- static finishPluginInvokeRequestBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
39
- static finishSizePrefixedPluginInvokeRequestBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
40
- static createPluginInvokeRequest(builder: flatbuffers.Builder, methodIdOffset: flatbuffers.Offset, inputFramesOffset: flatbuffers.Offset, payloadArenaOffset: flatbuffers.Offset): flatbuffers.Offset;
41
- unpack(): PluginInvokeRequestT;
42
- unpackTo(_o: PluginInvokeRequestT): void;
43
- }
44
- export declare class PluginInvokeRequestT implements flatbuffers.IGeneratedObject {
45
- methodId: string | Uint8Array | null;
46
- inputFrames: (TypedArenaBufferT)[];
47
- payloadArena: (number)[];
48
- constructor(methodId?: string | Uint8Array | null, inputFrames?: (TypedArenaBufferT)[], payloadArena?: (number)[]);
49
- pack(builder: flatbuffers.Builder): flatbuffers.Offset;
50
- }
51
- //# sourceMappingURL=plugin-invoke-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-invoke-request.d.ts","sourceRoot":"","sources":["plugin-invoke-request.ts"],"names":[],"mappings":"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"}
@@ -1,131 +0,0 @@
1
- // automatically generated by the FlatBuffers compiler, do not modify
2
- /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
3
- import * as flatbuffers from "../../../vendor/flatbuffers/flatbuffers.js";
4
- import { TypedArenaBuffer } from '../../orbpro/stream/typed-arena-buffer.js';
5
- /**
6
- * Canonical invoke envelope consumed by direct ABI and command-mode execution.
7
- */
8
- export class PluginInvokeRequest {
9
- bb = null;
10
- bb_pos = 0;
11
- __init(i, bb) {
12
- this.bb_pos = i;
13
- this.bb = bb;
14
- return this;
15
- }
16
- static getRootAsPluginInvokeRequest(bb, obj) {
17
- return (obj || new PluginInvokeRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
18
- }
19
- static getSizePrefixedRootAsPluginInvokeRequest(bb, obj) {
20
- bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
21
- return (obj || new PluginInvokeRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
22
- }
23
- static bufferHasIdentifier(bb) {
24
- return bb.__has_identifier('PINQ');
25
- }
26
- methodId(optionalEncoding) {
27
- const offset = this.bb.__offset(this.bb_pos, 4);
28
- return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
29
- }
30
- /**
31
- * Input frames for the invocation, routed by TypedArenaBuffer.port_id.
32
- */
33
- inputFrames(index, obj) {
34
- const offset = this.bb.__offset(this.bb_pos, 6);
35
- return offset ? (obj || new TypedArenaBuffer()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
36
- }
37
- inputFramesLength() {
38
- const offset = this.bb.__offset(this.bb_pos, 6);
39
- return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
40
- }
41
- /**
42
- * Arena backing all input frame payload bytes.
43
- */
44
- payloadArena(index) {
45
- const offset = this.bb.__offset(this.bb_pos, 8);
46
- return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
47
- }
48
- payloadArenaLength() {
49
- const offset = this.bb.__offset(this.bb_pos, 8);
50
- return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
51
- }
52
- payloadArenaArray() {
53
- const offset = this.bb.__offset(this.bb_pos, 8);
54
- return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
55
- }
56
- static startPluginInvokeRequest(builder) {
57
- builder.startObject(3);
58
- }
59
- static addMethodId(builder, methodIdOffset) {
60
- builder.addFieldOffset(0, methodIdOffset, 0);
61
- }
62
- static addInputFrames(builder, inputFramesOffset) {
63
- builder.addFieldOffset(1, inputFramesOffset, 0);
64
- }
65
- static createInputFramesVector(builder, data) {
66
- builder.startVector(4, data.length, 4);
67
- for (let i = data.length - 1; i >= 0; i--) {
68
- builder.addOffset(data[i]);
69
- }
70
- return builder.endVector();
71
- }
72
- static startInputFramesVector(builder, numElems) {
73
- builder.startVector(4, numElems, 4);
74
- }
75
- static addPayloadArena(builder, payloadArenaOffset) {
76
- builder.addFieldOffset(2, payloadArenaOffset, 0);
77
- }
78
- static createPayloadArenaVector(builder, data) {
79
- builder.startVector(1, data.length, 1);
80
- for (let i = data.length - 1; i >= 0; i--) {
81
- builder.addInt8(data[i]);
82
- }
83
- return builder.endVector();
84
- }
85
- static startPayloadArenaVector(builder, numElems) {
86
- builder.startVector(1, numElems, 1);
87
- }
88
- static endPluginInvokeRequest(builder) {
89
- const offset = builder.endObject();
90
- builder.requiredField(offset, 4); // method_id
91
- return offset;
92
- }
93
- static finishPluginInvokeRequestBuffer(builder, offset) {
94
- builder.finish(offset, 'PINQ');
95
- }
96
- static finishSizePrefixedPluginInvokeRequestBuffer(builder, offset) {
97
- builder.finish(offset, 'PINQ', true);
98
- }
99
- static createPluginInvokeRequest(builder, methodIdOffset, inputFramesOffset, payloadArenaOffset) {
100
- PluginInvokeRequest.startPluginInvokeRequest(builder);
101
- PluginInvokeRequest.addMethodId(builder, methodIdOffset);
102
- PluginInvokeRequest.addInputFrames(builder, inputFramesOffset);
103
- PluginInvokeRequest.addPayloadArena(builder, payloadArenaOffset);
104
- return PluginInvokeRequest.endPluginInvokeRequest(builder);
105
- }
106
- unpack() {
107
- return new PluginInvokeRequestT(this.methodId(), this.bb.createObjList(this.inputFrames.bind(this), this.inputFramesLength()), this.bb.createScalarList(this.payloadArena.bind(this), this.payloadArenaLength()));
108
- }
109
- unpackTo(_o) {
110
- _o.methodId = this.methodId();
111
- _o.inputFrames = this.bb.createObjList(this.inputFrames.bind(this), this.inputFramesLength());
112
- _o.payloadArena = this.bb.createScalarList(this.payloadArena.bind(this), this.payloadArenaLength());
113
- }
114
- }
115
- export class PluginInvokeRequestT {
116
- methodId;
117
- inputFrames;
118
- payloadArena;
119
- constructor(methodId = null, inputFrames = [], payloadArena = []) {
120
- this.methodId = methodId;
121
- this.inputFrames = inputFrames;
122
- this.payloadArena = payloadArena;
123
- }
124
- pack(builder) {
125
- const methodId = (this.methodId !== null ? builder.createString(this.methodId) : 0);
126
- const inputFrames = PluginInvokeRequest.createInputFramesVector(builder, builder.createObjectOffsetList(this.inputFrames));
127
- const payloadArena = PluginInvokeRequest.createPayloadArenaVector(builder, this.payloadArena);
128
- return PluginInvokeRequest.createPluginInvokeRequest(builder, methodId, inputFrames, payloadArena);
129
- }
130
- }
131
- //# sourceMappingURL=plugin-invoke-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-invoke-request.js","sourceRoot":"","sources":["plugin-invoke-request.ts"],"names":[],"mappings":"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"}