@pikku/cli 0.11.3 → 0.12.0

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 (553) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-C19L3UJu.js +637 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +29 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  26. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  27. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
  28. package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
  29. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  30. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  31. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  32. package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
  33. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  34. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  36. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +43 -11
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  41. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  42. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  43. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  44. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  45. package/dist/.pikku/function/pikku-function-types.gen.d.ts +71 -20
  46. package/dist/.pikku/function/pikku-function-types.gen.js +27 -3
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +645 -195
  49. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  50. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
  52. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
  64. package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
  65. package/dist/.pikku/pikku-services.gen.d.ts +5 -1
  66. package/dist/.pikku/pikku-services.gen.js +4 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -2
  68. package/dist/.pikku/pikku-types.gen.js +7 -3
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +3 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +33 -19
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  92. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  93. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  95. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  97. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  98. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  100. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  101. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  103. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  104. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  107. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  111. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  112. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  113. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  114. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  115. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  116. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  117. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  118. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  119. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  120. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  121. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  122. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  123. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  124. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  126. package/dist/bin/pikku.js +20 -47
  127. package/dist/src/cli.wiring.js +29 -2
  128. package/dist/src/functions/commands/all.d.ts +1 -1
  129. package/dist/src/functions/commands/all.js +79 -176
  130. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  131. package/dist/src/functions/commands/bootstrap.js +13 -22
  132. package/dist/src/functions/commands/console.d.ts +7 -0
  133. package/dist/src/functions/commands/console.js +106 -0
  134. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  135. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  136. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  137. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  138. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  139. package/dist/src/functions/commands/versions-check.js +17 -0
  140. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  141. package/dist/src/functions/commands/versions-init.js +15 -0
  142. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  143. package/dist/src/functions/commands/versions-update.js +20 -0
  144. package/dist/src/functions/commands/watch.d.ts +1 -1
  145. package/dist/src/functions/commands/watch.js +4 -5
  146. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  147. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  148. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  149. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  150. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  151. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +8 -16
  152. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  153. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  154. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  155. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  156. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  157. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  158. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  159. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  160. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  161. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  162. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  163. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  164. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  165. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  166. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  167. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  168. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  169. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  170. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  171. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  172. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  173. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  174. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  175. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  176. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  177. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  178. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  179. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  180. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  181. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  183. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  184. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  185. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  186. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  187. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  188. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  189. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  190. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  191. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  192. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  193. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  194. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  195. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  196. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  197. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  198. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  199. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  200. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  201. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  202. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  203. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  204. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +5 -5
  205. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  206. package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
  207. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  208. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  209. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  210. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  211. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  212. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  213. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -2
  214. package/dist/src/functions/wirings/functions/serialize-function-imports.js +10 -17
  215. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  216. package/dist/src/functions/wirings/functions/serialize-function-types.js +99 -32
  217. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  218. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  219. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  220. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  221. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  222. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  223. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  224. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  225. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  226. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  227. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  228. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  229. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  230. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  231. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  232. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  233. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  234. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  236. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  237. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +13 -4
  238. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  239. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  240. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  241. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  242. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  243. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  244. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  245. package/dist/src/functions/wirings/package/pikku-command-package.js +3 -3
  246. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  247. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  248. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  249. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  250. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  251. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  252. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  253. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  254. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  255. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  256. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  257. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  258. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  259. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  260. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  261. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  262. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  263. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  264. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  265. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  266. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  267. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  268. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  269. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  270. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  271. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  272. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  273. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  274. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  275. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  276. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  277. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  278. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  279. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  280. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  281. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +85 -60
  282. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  283. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  284. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  285. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  286. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  287. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  288. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  289. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  290. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  291. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  292. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  293. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  294. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  295. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  296. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  297. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  298. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  299. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  300. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  301. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  302. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  303. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  304. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  305. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  306. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +6 -35
  307. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -2
  308. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  309. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  310. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  311. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  312. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  313. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  314. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  315. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  316. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  317. package/dist/src/services/cli-logger.service.d.ts +1 -1
  318. package/dist/src/services/cli-logger.service.js +1 -1
  319. package/dist/src/services.d.ts +1 -1
  320. package/dist/src/services.js +53 -6
  321. package/dist/src/utils/command-summary.d.ts +2 -1
  322. package/dist/src/utils/command-summary.js +2 -1
  323. package/dist/src/utils/contract-versions.d.ts +6 -0
  324. package/dist/src/utils/contract-versions.js +25 -0
  325. package/dist/src/utils/file-import-path.js +20 -6
  326. package/dist/src/utils/pikku-cli-config.js +77 -14
  327. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  328. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  329. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  330. package/dist/src/utils/serialize-import-map.js +3 -54
  331. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  332. package/dist/src/utils/serialize-meta-ts.js +12 -0
  333. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  334. package/dist/src/utils/serialize-schemas.js +38 -0
  335. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  336. package/dist/src/utils/strip-verbose-meta.js +15 -15
  337. package/dist/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +19 -10
  339. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  340. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  341. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  342. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  343. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  344. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  345. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  346. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  347. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  348. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  349. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  350. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  351. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  352. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  353. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  354. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  355. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  356. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  357. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  358. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  359. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  360. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  361. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  362. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  363. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  364. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  365. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  366. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  367. package/.pikku/pikku-services.gen.ts +0 -28
  368. package/.pikku/pikku-types.gen.ts +0 -30
  369. package/.pikku/pikku-websocket.gen.ts +0 -90
  370. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  371. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  372. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  373. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  374. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  375. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  376. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  377. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  378. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  379. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  380. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  381. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  382. package/.pikku/schemas/register.gen.ts +0 -71
  383. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  388. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  389. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  390. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  391. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  392. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  393. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  394. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  395. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  396. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  397. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  398. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  399. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  400. package/.pikku/services/config.gen.json +0 -104
  401. package/.pikku/services/getInspectorState.gen.json +0 -10
  402. package/.pikku/services/jwt.gen.json +0 -13
  403. package/.pikku/services/logger.gen.json +0 -25
  404. package/.pikku/services/queueService.gen.json +0 -14
  405. package/.pikku/services/schedulerService.gen.json +0 -17
  406. package/.pikku/services/schema.gen.json +0 -14
  407. package/.pikku/services/secrets.gen.json +0 -13
  408. package/.pikku/services/variables.gen.json +0 -13
  409. package/.pikku/services/workflowService.gen.json +0 -31
  410. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  411. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  412. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  413. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  414. package/CHANGELOG.md +0 -957
  415. package/bin/pikku.ts +0 -88
  416. package/build.sh +0 -75
  417. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  418. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  419. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  420. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  421. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  422. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  423. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  424. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  425. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  426. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  427. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  428. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  429. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  430. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  431. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  432. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  433. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  434. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  435. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  436. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  437. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  438. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  439. package/dist/src/utils/custom-types-generator.js +0 -41
  440. package/dist/src/utils/schema-generator.d.ts +0 -7
  441. package/dist/src/utils/schema-generator.js +0 -238
  442. package/pikku.config.json +0 -29
  443. package/run-tests.sh +0 -53
  444. package/src/cli.wiring.ts +0 -112
  445. package/src/functions/commands/all.ts +0 -313
  446. package/src/functions/commands/bootstrap.ts +0 -35
  447. package/src/functions/commands/watch.ts +0 -61
  448. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  449. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  450. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  451. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  452. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  453. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  454. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  455. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  456. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  457. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  458. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  459. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  460. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  461. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  462. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  463. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  464. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  465. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  466. package/src/functions/wirings/fetch/index.ts +0 -36
  467. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  468. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  469. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  470. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  471. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  472. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  473. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  474. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  475. package/src/functions/wirings/functions/schemas.ts +0 -56
  476. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  477. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  478. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  479. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  480. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  481. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  482. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  483. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  484. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  485. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  486. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  487. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  488. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  489. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  490. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  491. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  492. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  493. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  494. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  495. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  496. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  497. package/src/functions/wirings/package/serialize-package.ts +0 -69
  498. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  499. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  500. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  501. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  502. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  503. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  504. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  505. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  506. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  507. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  508. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  509. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  510. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  511. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  512. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  513. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  514. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  515. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  516. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  517. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  518. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  519. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  520. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  521. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  522. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  523. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  524. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  525. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  526. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  527. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  528. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  529. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  530. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  531. package/src/middleware/log-command-info-and-time.ts +0 -35
  532. package/src/services/cli-logger-forwarder.service.ts +0 -99
  533. package/src/services/cli-logger.service.ts +0 -108
  534. package/src/services.ts +0 -322
  535. package/src/utils/check-required-types.ts +0 -65
  536. package/src/utils/command-summary.ts +0 -107
  537. package/src/utils/custom-types-generator.ts +0 -55
  538. package/src/utils/file-import-path.test.ts +0 -175
  539. package/src/utils/file-import-path.ts +0 -53
  540. package/src/utils/file-imports-serializer.ts +0 -25
  541. package/src/utils/file-writer.ts +0 -72
  542. package/src/utils/generate-bootstrap-file.ts +0 -43
  543. package/src/utils/get-cli-version.ts +0 -28
  544. package/src/utils/pikku-cli-config.ts +0 -495
  545. package/src/utils/pikku-files-and-methods.ts +0 -145
  546. package/src/utils/schema-generator.ts +0 -335
  547. package/src/utils/serialize-import-map.ts +0 -102
  548. package/src/utils/strip-verbose-meta.ts +0 -254
  549. package/tsconfig.json +0 -21
  550. package/types/application-types.d.ts +0 -27
  551. package/types/config.d.ts +0 -304
  552. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  553. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,265 +0,0 @@
1
- import { FunctionsMeta, pikkuState } from '@pikku/core'
2
- import { HTTPWiringsMeta } from '@pikku/core/http'
3
- import _convertSchema from '@openapi-contrib/json-schema-to-openapi-schema'
4
- import { CLILogger } from '../../../services/cli-logger.service.js'
5
- const convertSchema =
6
- 'default' in _convertSchema ? (_convertSchema.default as any) : _convertSchema
7
-
8
- interface OpenAPISpec {
9
- openapi: string
10
- info: {
11
- title: string
12
- version: string
13
- description?: string
14
- termsOfService?: string
15
- contact?: {
16
- name?: string
17
- url?: string
18
- email?: string
19
- }
20
- license?: {
21
- name: string
22
- url?: string
23
- }
24
- }
25
- servers: { url: string; description?: string }[]
26
- paths: Record<string, any>
27
- components: {
28
- schemas: Record<string, any>
29
- responses?: Record<string, any>
30
- parameters?: Record<string, any>
31
- examples?: Record<string, any>
32
- requestBodies?: Record<string, any>
33
- headers?: Record<string, any>
34
- securitySchemes?: Record<string, any>
35
- }
36
- security?: { [key: string]: any[] }[]
37
- tags?: { name: string; description?: string }[]
38
- externalDocs?: {
39
- description?: string
40
- url: string
41
- }
42
- }
43
-
44
- export interface OpenAPISpecInfo {
45
- info: {
46
- title: string
47
- version: string
48
- description: string
49
- termsOfService?: string
50
- contact?: {
51
- name?: string
52
- url?: string
53
- email?: string
54
- }
55
- license?: {
56
- name: string
57
- url?: string
58
- }
59
- }
60
- servers: { url: string; description?: string }[]
61
- tags?: { name: string; description?: string }[]
62
- externalDocs?: {
63
- description?: string
64
- url: string
65
- }
66
- securitySchemes?: Record<string, any>
67
- security?: { [key: string]: any[] }[]
68
- }
69
-
70
- const getErrorResponseForConstructorName = (constructorName: string) => {
71
- const errors = Array.from(pikkuState(null, 'misc', 'errors').entries())
72
- const foundError = errors.find(([e]) => e.name === constructorName)
73
- if (foundError) {
74
- return foundError[1]
75
- }
76
- return undefined
77
- }
78
-
79
- const convertSchemasToBodyPayloads = async (
80
- functionsMeta: FunctionsMeta,
81
- routesMeta: HTTPWiringsMeta,
82
- schemas: Record<string, any>
83
- ) => {
84
- const requiredSchemas = new Set<string>()
85
- for (const routeMeta of Object.values(routesMeta)) {
86
- for (const { inputTypes, pikkuFuncName } of Object.values(routeMeta)) {
87
- const output = functionsMeta[pikkuFuncName]?.outputs?.[0]
88
- if (inputTypes?.body) {
89
- requiredSchemas.add(inputTypes?.body)
90
- }
91
- if (output) {
92
- requiredSchemas.add(output)
93
- }
94
- }
95
- }
96
-
97
- const convertedEntries = await Promise.all(
98
- Object.entries(schemas).map(async ([key, schema]) => {
99
- if (requiredSchemas.has(key)) {
100
- const convertedSchema = await convertSchema(schema, {
101
- convertUnreferencedDefinitions: false,
102
- dereference: { circular: 'ignore' },
103
- })
104
- return [key, convertedSchema]
105
- }
106
- return
107
- })
108
- )
109
- return Object.fromEntries(convertedEntries.filter((s) => !!s))
110
- }
111
-
112
- export async function generateOpenAPISpec(
113
- logger: CLILogger,
114
- functionsMeta: FunctionsMeta,
115
- httpMeta: HTTPWiringsMeta,
116
- schemas: Record<string, any>,
117
- additionalInfo: OpenAPISpecInfo
118
- ): Promise<OpenAPISpec> {
119
- const paths: Record<string, any> = {}
120
-
121
- for (const routeMeta of Object.values(httpMeta)) {
122
- for (const meta of Object.values(routeMeta)) {
123
- const {
124
- route,
125
- method,
126
- inputTypes,
127
- pikkuFuncName,
128
- params,
129
- query,
130
- errors,
131
- description,
132
- tags,
133
- } = meta
134
- const functionMeta = functionsMeta[pikkuFuncName]
135
- if (!functionMeta) {
136
- logger.error(
137
- `• No function metadata found for '${pikkuFuncName}' in route '${route}'.`
138
- )
139
- continue
140
- }
141
-
142
- const output = functionMeta.outputs ? functionMeta.outputs[0] : undefined
143
-
144
- const path = route.replace(/:(\w+)/g, '{$1}') // Convert ":param" to "{param}"
145
-
146
- if (!paths[path]) {
147
- paths[path] = {}
148
- }
149
-
150
- const responses = {}
151
- errors?.forEach((error) => {
152
- const errorResponse = getErrorResponseForConstructorName(error)
153
- if (errorResponse) {
154
- responses[errorResponse.status] = {
155
- description: errorResponse.message,
156
- }
157
- }
158
- })
159
-
160
- const operation: any = {
161
- description:
162
- description ||
163
- `This endpoint handles the ${method.toUpperCase()} request for the route ${route}.`,
164
- tags: tags || [route.split('/')[1] || 'default'],
165
- parameters: [],
166
- responses: {
167
- ...responses,
168
- '200': {
169
- description: 'Successful response',
170
- content: output
171
- ? {
172
- 'application/json': {
173
- schema:
174
- typeof output === 'string' &&
175
- ['boolean', 'string', 'number'].includes(output)
176
- ? { type: output }
177
- : { $ref: `#/components/schemas/${output}` },
178
- },
179
- }
180
- : undefined,
181
- },
182
- },
183
- }
184
-
185
- const bodyType = inputTypes?.body
186
- if (bodyType) {
187
- operation.requestBody = {
188
- required: true,
189
- content: {
190
- 'application/json': {
191
- schema:
192
- typeof bodyType === 'string' &&
193
- ['boolean', 'string', 'number'].includes(bodyType)
194
- ? { type: bodyType }
195
- : { $ref: `#/components/schemas/${bodyType}` },
196
- },
197
- },
198
- }
199
- }
200
-
201
- if (params) {
202
- operation.parameters = params.map((param) => ({
203
- name: param,
204
- in: 'path',
205
- required: true,
206
- schema: { type: 'string' },
207
- }))
208
- }
209
-
210
- if (query) {
211
- operation.parameters.push(
212
- ...query.map((query) => ({
213
- name: query,
214
- in: 'query',
215
- required: false,
216
- schema: { type: 'string' },
217
- }))
218
- )
219
- }
220
-
221
- paths[path][method] = operation
222
- }
223
- }
224
-
225
- return {
226
- openapi: '3.1.0',
227
- info: additionalInfo.info,
228
- servers: additionalInfo.servers,
229
- paths,
230
- components: {
231
- schemas: await convertSchemasToBodyPayloads(
232
- functionsMeta,
233
- httpMeta,
234
- schemas
235
- ),
236
- responses: {},
237
- parameters: {},
238
- examples: {},
239
- requestBodies: {},
240
- headers: {},
241
- securitySchemes: additionalInfo.securitySchemes || {
242
- ApiKeyAuth: {
243
- type: 'apiKey',
244
- in: 'header',
245
- name: 'x-api-key',
246
- },
247
- BearerAuth: {
248
- type: 'http',
249
- scheme: 'bearer',
250
- },
251
- },
252
- },
253
- security: additionalInfo.security || [
254
- {
255
- ApiKeyAuth: [],
256
- },
257
- {
258
- BearerAuth: [],
259
- },
260
- ],
261
- tags: additionalInfo.tags,
262
- externalDocs: additionalInfo.externalDocs,
263
- // definitions
264
- }
265
- }
@@ -1,27 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
4
- import { serializeTypedHTTPWiringsMap } from './serialize-typed-http-map.js'
5
-
6
- export const pikkuHTTPMap: any = pikkuSessionlessFunc<void, void>({
7
- func: async ({ logger, config, getInspectorState }) => {
8
- const { http, functions } = await getInspectorState()
9
- const { httpMapDeclarationFile, packageMappings } = config
10
-
11
- const content = serializeTypedHTTPWiringsMap(
12
- httpMapDeclarationFile,
13
- packageMappings,
14
- functions.typesMap,
15
- functions.meta,
16
- http.meta,
17
- http.metaInputTypes
18
- )
19
- await writeFileInDir(logger, httpMapDeclarationFile, content)
20
- },
21
- middleware: [
22
- logCommandInfoAndTime({
23
- commandStart: 'Creating HTTP map',
24
- commandEnd: 'Created HTTP map',
25
- }),
26
- ],
27
- })
@@ -1,80 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
6
- import {
7
- stripVerboseFields,
8
- hasVerboseFields,
9
- } from '../../../utils/strip-verbose-meta.js'
10
-
11
- export const pikkuHTTP: any = pikkuSessionlessFunc<void, boolean | undefined>({
12
- func: async ({ logger, config, getInspectorState }) => {
13
- const visitState = await getInspectorState()
14
- const {
15
- httpWiringsFile,
16
- httpWiringMetaFile,
17
- httpWiringMetaJsonFile,
18
- packageMappings,
19
- schema,
20
- } = config
21
- const { http } = visitState
22
-
23
- await writeFileInDir(
24
- logger,
25
- httpWiringsFile,
26
- serializeFileImports(
27
- 'wireHTTP',
28
- httpWiringsFile,
29
- http.files,
30
- packageMappings
31
- )
32
- )
33
-
34
- // Write minimal JSON (runtime-only fields)
35
- const minimalMeta = stripVerboseFields(http.meta)
36
- await writeFileInDir(
37
- logger,
38
- httpWiringMetaJsonFile,
39
- JSON.stringify(minimalMeta, null, 2)
40
- )
41
-
42
- // Write verbose JSON only if it has additional fields
43
- if (hasVerboseFields(http.meta)) {
44
- const verbosePath = httpWiringMetaJsonFile.replace(
45
- /\.gen\.json$/,
46
- '-verbose.gen.json'
47
- )
48
- await writeFileInDir(
49
- logger,
50
- verbosePath,
51
- JSON.stringify(http.meta, null, 2)
52
- )
53
- }
54
-
55
- // Generate TypeScript file that imports the minimal JSON
56
- const jsonImportPath = getFileImportRelativePath(
57
- httpWiringMetaFile,
58
- httpWiringMetaJsonFile,
59
- packageMappings
60
- )
61
- const supportsImportAttributes = schema?.supportsImportAttributes ?? false
62
- const importStatement = supportsImportAttributes
63
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
64
- : `import metaData from '${jsonImportPath}'`
65
-
66
- await writeFileInDir(
67
- logger,
68
- httpWiringMetaFile,
69
- `import { pikkuState } from '@pikku/core'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`
70
- )
71
-
72
- return true
73
- },
74
- middleware: [
75
- logCommandInfoAndTime({
76
- commandStart: 'Finding HTTP routes',
77
- commandEnd: 'Found HTTP routes',
78
- }),
79
- ],
80
- })
@@ -1,25 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { serializeHTTPTypes } from './serialize-http-types.js'
6
-
7
- export const pikkuHTTPTypes: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const { httpTypesFile, functionTypesFile, packageMappings } = config
10
-
11
- const functionTypesImportPath = getFileImportRelativePath(
12
- httpTypesFile,
13
- functionTypesFile,
14
- packageMappings
15
- )
16
- const content = serializeHTTPTypes(functionTypesImportPath)
17
- await writeFileInDir(logger, httpTypesFile, content)
18
- },
19
- middleware: [
20
- logCommandInfoAndTime({
21
- commandStart: 'Creating HTTP types',
22
- commandEnd: 'Created HTTP types',
23
- }),
24
- ],
25
- })
@@ -1,64 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
4
- import { generateSchemas } from '../../../utils/schema-generator.js'
5
- import { generateOpenAPISpec } from './openapi-spec-generator.js'
6
- import { stringify } from 'yaml'
7
-
8
- export const pikkuOpenAPI: any = pikkuSessionlessFunc<void, void>({
9
- func: async ({ logger, config, getInspectorState }) => {
10
- const { tsconfig, openAPI, schemasFromTypes } = config
11
-
12
- // If openAPI outputFile is not defined, clean up any existing file and return
13
- if (!openAPI?.outputFile) {
14
- logger.info({
15
- message:
16
- 'Skipping creating OpenAPI spec since openAPI outfile is not defined.',
17
- type: 'skip',
18
- })
19
- return
20
- }
21
-
22
- const { http, functions, zodLookup } = await getInspectorState()
23
-
24
- const schemas = await generateSchemas(
25
- logger,
26
- tsconfig,
27
- functions.typesMap,
28
- functions.meta,
29
- http.meta,
30
- schemasFromTypes,
31
- config.schema?.additionalProperties,
32
- zodLookup
33
- )
34
- const openAPISpec = await generateOpenAPISpec(
35
- logger,
36
- functions.meta,
37
- http.meta,
38
- schemas,
39
- openAPI.additionalInfo
40
- )
41
-
42
- if (openAPI.outputFile.endsWith('.json')) {
43
- await writeFileInDir(
44
- logger,
45
- openAPI.outputFile,
46
- JSON.stringify(openAPISpec, null, 2),
47
- { ignoreModifyComment: true }
48
- )
49
- } else if (
50
- openAPI.outputFile.endsWith('.yaml') ||
51
- openAPI.outputFile.endsWith('.yml')
52
- ) {
53
- await writeFileInDir(logger, openAPI.outputFile, stringify(openAPISpec), {
54
- ignoreModifyComment: true,
55
- })
56
- }
57
- },
58
- middleware: [
59
- logCommandInfoAndTime({
60
- commandStart: 'Creating OpenAPI spec',
61
- commandEnd: 'Created OpenAPI spec',
62
- }),
63
- ],
64
- })
@@ -1,61 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
6
-
7
- export const pikkuHTTP: any = pikkuSessionlessFunc<void, boolean>({
8
- func: async ({ logger, config, getInspectorState }) => {
9
- const visitState = await getInspectorState()
10
- const {
11
- httpWiringsFile,
12
- httpWiringMetaFile,
13
- httpWiringMetaJsonFile,
14
- packageMappings,
15
- schema,
16
- } = config
17
- const { http } = visitState
18
-
19
- await writeFileInDir(
20
- logger,
21
- httpWiringsFile,
22
- serializeFileImports(
23
- 'wireHTTP',
24
- httpWiringsFile,
25
- http.files,
26
- packageMappings
27
- )
28
- )
29
-
30
- await writeFileInDir(
31
- logger,
32
- httpWiringMetaJsonFile,
33
- JSON.stringify(http.meta, null, 2)
34
- )
35
-
36
- const jsonImportPath = getFileImportRelativePath(
37
- httpWiringMetaFile,
38
- httpWiringMetaJsonFile,
39
- packageMappings
40
- )
41
-
42
- const supportsImportAttributes = schema?.supportsImportAttributes ?? false
43
- const importStatement = supportsImportAttributes
44
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
45
- : `import metaData from '${jsonImportPath}'`
46
-
47
- await writeFileInDir(
48
- logger,
49
- httpWiringMetaFile,
50
- `import { pikkuState, HTTPWiringsMeta } from '@pikku/core'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`
51
- )
52
-
53
- return true
54
- },
55
- middleware: [
56
- logCommandInfoAndTime({
57
- commandStart: 'Finding HTTP routes',
58
- commandEnd: 'Found HTTP routes',
59
- }),
60
- ],
61
- })
@@ -1,67 +0,0 @@
1
- export const serializeFetchWrapper = (routesMapPath: string) => {
2
- return `
3
- import { CorePikkuFetch, HTTPMethod } from '@pikku/fetch'
4
- import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
5
-
6
- export class PikkuFetch extends CorePikkuFetch {
7
- public async post<Route extends HTTPWiringsWithMethod<'POST'>>(
8
- route: Route,
9
- ...args: null extends HTTPWiringHandlerOf<Route, 'POST'>['input']
10
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'POST'>['input'], null>, options?: Omit<RequestInit, 'body'>]
11
- : [data: HTTPWiringHandlerOf<Route, 'POST'>['input'], options?: Omit<RequestInit, 'body'>]
12
- ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> {
13
- const [data, options] = args;
14
- return super.api(route, 'POST', data, options);
15
- }
16
-
17
- public async get<Route extends HTTPWiringsWithMethod<'GET'>>(
18
- route: Route,
19
- ...args: null extends HTTPWiringHandlerOf<Route, 'GET'>['input']
20
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'GET'>['input'], null>, options?: Omit<RequestInit, 'body'>]
21
- : [data: HTTPWiringHandlerOf<Route, 'GET'>['input'], options?: Omit<RequestInit, 'body'>]
22
- ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> {
23
- const [data, options] = args;
24
- return super.api(route, 'GET', data, options);
25
- }
26
-
27
- public async patch<Route extends HTTPWiringsWithMethod<'PATCH'>>(
28
- route: Route,
29
- ...args: null extends HTTPWiringHandlerOf<Route, 'PATCH'>['input']
30
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'PATCH'>['input'], null>, options?: Omit<RequestInit, 'body'>]
31
- : [data: HTTPWiringHandlerOf<Route, 'PATCH'>['input'], options?: Omit<RequestInit, 'body'>]
32
- ): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> {
33
- const [data, options] = args;
34
- return super.api(route, 'PATCH', data, options);
35
- }
36
-
37
- public async head<Route extends HTTPWiringsWithMethod<'HEAD'>>(
38
- route: Route,
39
- ...args: null extends HTTPWiringHandlerOf<Route, 'HEAD'>['input']
40
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'HEAD'>['input'], null>, options?: Omit<RequestInit, 'body'>]
41
- : [data: HTTPWiringHandlerOf<Route, 'HEAD'>['input'], options?: Omit<RequestInit, 'body'>]
42
- ): Promise<HTTPWiringHandlerOf<Route, 'HEAD'>['output']> {
43
- const [data, options] = args;
44
- return super.api(route, 'HEAD', data, options);
45
- }
46
-
47
- public async delete<Route extends HTTPWiringsWithMethod<'DELETE'>>(
48
- route: Route,
49
- ...args: null extends HTTPWiringHandlerOf<Route, 'DELETE'>['input']
50
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'DELETE'>['input'], null>, options?: Omit<RequestInit, 'body'>]
51
- : [data: HTTPWiringHandlerOf<Route, 'DELETE'>['input'], options?: Omit<RequestInit, 'body'>]
52
- ): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> {
53
- const [data, options] = args;
54
- return super.api(route, 'DELETE', data, options);
55
- }
56
-
57
- public async fetch<
58
- Route extends keyof HTTPWiringsMap,
59
- Method extends keyof HTTPWiringsMap[Route]
60
- >(route: Route, method: Method, data: HTTPWiringHandlerOf<Route, Method>['input'], options?: Omit<RequestInit, 'body'>): Promise<Response> {
61
- return await super.fetch(route, method as HTTPMethod, data, options);
62
- }
63
- }
64
-
65
- export const pikkuFetch = new PikkuFetch();
66
- `
67
- }
@@ -1,105 +0,0 @@
1
- /**
2
- * Generates type definitions for HTTP wirings
3
- */
4
- export const serializeHTTPTypes = (functionTypesImportPath: string) => {
5
- return `/**
6
- * HTTP-specific type definitions for tree-shaking optimization
7
- */
8
-
9
- import { AssertHTTPWiringParams, wireHTTP as wireHTTPCore, addHTTPMiddleware as addHTTPMiddlewareCore, addHTTPPermission as addHTTPPermissionCore } from '@pikku/core/http'
10
- import type { PikkuFunction, PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware } from '${functionTypesImportPath}'
11
- import type { CoreHTTPFunctionWiring, HTTPMethod } from '@pikku/core/http'
12
-
13
- /**
14
- * Type definition for HTTP API wirings with type-safe path parameters.
15
- * Supports both authenticated and unauthenticated functions.
16
- *
17
- * @template In - Input type for the HTTP wiring
18
- * @template Out - Output type for the HTTP wiring
19
- * @template Route - String literal type for the HTTP path (e.g., "/users/:id")
20
- */
21
- type HTTPWiring<In, Out, Route extends string> = CoreHTTPFunctionWiring<In, Out, Route, PikkuFunction<In, Out, 'rpc' | 'session'>, PikkuFunctionSessionless<In, Out, 'rpc' | 'session'>, PikkuPermission<In>, PikkuMiddleware>
22
-
23
- /**
24
- * HTTP wiring for workflow triggers (no function needed)
25
- */
26
- type HTTPWorkflowWiring<Route extends string> = {
27
- route: Route
28
- method: HTTPMethod
29
- workflow: true
30
- func?: undefined
31
- permissions?: undefined
32
- auth?: undefined
33
- tags?: undefined
34
- middleware?: undefined
35
- returnsJSON?: undefined
36
- sse?: boolean
37
- }
38
-
39
- /**
40
- * Registers an HTTP wiring with the Pikku framework.
41
- *
42
- * @template In - Input type for the HTTP wiring
43
- * @template Out - Output type for the HTTP wiring
44
- * @template Route - String literal type for the HTTP path (e.g., "/users/:id")
45
- * @param httpWiring - HTTP wiring definition with handler, method, and optional middleware
46
- */
47
- export const wireHTTP = <In, Out, Route extends string>(
48
- httpWiring: (HTTPWiring<In, Out, Route> & AssertHTTPWiringParams<In, Route>) | HTTPWorkflowWiring<Route>
49
- ) => {
50
- wireHTTPCore(httpWiring as any)
51
- }
52
-
53
- /**
54
- * Registers HTTP middleware either globally or for a specific route pattern.
55
- *
56
- * When a string route pattern is provided along with middleware, the middleware
57
- * is applied only to that route. Otherwise, if an array is provided, it is treated
58
- * as global middleware (applied to all routes).
59
- *
60
- * @param routeOrMiddleware - Either a global middleware array or a route pattern string
61
- * @param middleware - The middleware array to apply when a route pattern is specified
62
- *
63
- * @example
64
- * \`\`\`typescript
65
- * // Add global HTTP middleware
66
- * addHTTPMiddleware([authMiddleware, loggingMiddleware])
67
- *
68
- * // Add route-specific middleware
69
- * addHTTPMiddleware('/api/admin/*', [adminAuthMiddleware])
70
- * \`\`\`
71
- */
72
- export const addHTTPMiddleware = (
73
- routeOrMiddleware: PikkuMiddleware[] | string,
74
- middleware?: PikkuMiddleware[]
75
- ) => {
76
- addHTTPMiddlewareCore(routeOrMiddleware as any, middleware as any)
77
- }
78
-
79
- /**
80
- * Registers HTTP permissions either globally or for a specific route pattern.
81
- *
82
- * When a string route pattern is provided along with permissions, the permissions
83
- * are applied only to that route. Permissions can be passed as an array or as a
84
- * permission group object.
85
- *
86
- * @param pattern - Route pattern string (e.g., '*' for all routes, '/api/*' for specific routes)
87
- * @param permissions - The permissions to apply for the specified route pattern
88
- *
89
- * @example
90
- * \`\`\`typescript
91
- * // Add global HTTP permissions
92
- * addHTTPPermission('*', { global: globalPermission })
93
- *
94
- * // Add route-specific permissions
95
- * addHTTPPermission('/api/admin/*', { admin: adminPermission })
96
- * \`\`\`
97
- */
98
- export const addHTTPPermission = <In = unknown>(
99
- pattern: string,
100
- permissions: Record<string, PikkuPermission<In>> | PikkuPermission<In>[]
101
- ) => {
102
- addHTTPPermissionCore(pattern, permissions as any)
103
- }
104
- `
105
- }