@pikku/cli 0.11.1 → 0.11.2

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 (257) hide show
  1. package/.pikku/channel/pikku-channel-types.gen.ts +11 -12
  2. package/.pikku/channel/pikku-channels-map.gen.d.ts +8 -8
  3. package/.pikku/channel/pikku-channels-meta.gen.ts +1 -1
  4. package/.pikku/channel/pikku-channels.gen.ts +1 -1
  5. package/.pikku/cli/pikku-cli-channel.ts +2 -2
  6. package/.pikku/cli/pikku-cli-client.gen.ts +1 -3
  7. package/.pikku/cli/pikku-cli-types.gen.ts +3 -3
  8. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
  9. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -157
  10. package/.pikku/cli/pikku-cli-wirings.gen.ts +3 -3
  11. package/.pikku/cli/pikku-cli.gen.ts +3 -3
  12. package/.pikku/function/pikku-function-types.gen.ts +49 -63
  13. package/.pikku/function/pikku-functions-meta.gen.json +988 -0
  14. package/.pikku/function/pikku-functions-meta.gen.ts +4 -970
  15. package/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
  16. package/.pikku/function/pikku-functions-meta.min.gen.ts +4 -209
  17. package/.pikku/http/pikku-http-types.gen.ts +2 -2
  18. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +8 -8
  19. package/.pikku/http/pikku-http-wirings-meta.gen.ts +1 -1
  20. package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
  21. package/.pikku/mcp/pikku-mcp-types.gen.ts +13 -13
  22. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
  23. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +6 -4
  24. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
  25. package/.pikku/pikku-bootstrap.gen.ts +1 -4
  26. package/.pikku/pikku-services.gen.ts +4 -6
  27. package/.pikku/pikku-types.gen.ts +1 -1
  28. package/.pikku/pikku-websocket.gen.ts +1 -1
  29. package/.pikku/queue/pikku-queue-types.gen.ts +2 -2
  30. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +8 -8
  31. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
  32. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +5 -7
  33. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
  34. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +2 -2
  35. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +8 -8
  36. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +34 -33
  37. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +2 -2
  38. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
  39. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +5 -2
  40. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
  41. package/.pikku/schemas/register.gen.ts +25 -25
  42. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  43. package/.pikku/services/config.gen.json +99 -0
  44. package/.pikku/services/getInspectorState.gen.json +10 -0
  45. package/.pikku/services/jwt.gen.json +13 -0
  46. package/.pikku/services/logger.gen.json +25 -0
  47. package/.pikku/services/queueService.gen.json +14 -0
  48. package/.pikku/services/schedulerService.gen.json +17 -0
  49. package/.pikku/services/schema.gen.json +14 -0
  50. package/.pikku/services/variables.gen.json +13 -0
  51. package/.pikku/services/workflowService.gen.json +31 -0
  52. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +8 -8
  53. package/.pikku/workflow/pikku-workflow-types.gen.ts +36 -31
  54. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
  55. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +5 -2
  56. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +6 -2
  57. package/CHANGELOG.md +21 -0
  58. package/bin/pikku.ts +6 -32
  59. package/build.sh +53 -31
  60. package/cli.schema.json +1 -1
  61. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +6 -7
  62. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  63. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  64. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  65. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  66. package/dist/.pikku/cli/pikku-cli-channel.js +2 -2
  67. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  68. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -3
  69. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +3 -3
  70. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  71. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +3 -157
  72. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
  73. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +2 -2
  74. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +2 -2
  75. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  76. package/dist/.pikku/cli/pikku-cli.gen.js +3 -3
  77. package/dist/.pikku/function/pikku-function-types.gen.d.ts +29 -79
  78. package/dist/.pikku/function/pikku-function-types.gen.js +19 -15
  79. package/dist/.pikku/function/pikku-functions-meta.gen.js +3 -969
  80. package/dist/.pikku/function/pikku-functions-meta.gen.json +988 -0
  81. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +3 -208
  82. package/dist/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
  83. package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -2
  84. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  85. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  86. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  87. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  88. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +13 -13
  89. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  90. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +5 -4
  91. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
  92. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  93. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
  94. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -4
  95. package/dist/.pikku/pikku-bootstrap.gen.js +1 -4
  96. package/dist/.pikku/pikku-services.gen.d.ts +3 -6
  97. package/dist/.pikku/pikku-services.gen.js +2 -5
  98. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  99. package/dist/.pikku/pikku-types.gen.js +1 -1
  100. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  101. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  102. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +2 -2
  103. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  104. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +3 -7
  105. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
  106. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  107. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  108. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +6 -9
  109. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +2 -2
  110. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +2 -2
  111. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  112. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +3 -2
  113. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
  114. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  115. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  116. package/dist/.pikku/schemas/register.gen.js +15 -15
  117. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  118. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +29 -25
  119. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +22 -8
  120. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -2
  121. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
  122. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +6 -2
  123. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +6 -3
  124. package/dist/bin/pikku.js +5 -26
  125. package/dist/src/cli.wiring.js +4 -4
  126. package/dist/src/functions/commands/all.js +82 -42
  127. package/dist/src/functions/commands/bootstrap.js +22 -10
  128. package/dist/src/functions/commands/watch.js +6 -3
  129. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +12 -7
  130. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  131. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +42 -4
  132. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.d.ts +1 -1
  133. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +40 -2
  134. package/dist/src/functions/wirings/channels/pikku-channels.js +9 -2
  135. package/dist/src/functions/wirings/channels/serialize-channel-types.js +10 -11
  136. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
  137. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  138. package/dist/src/functions/wirings/cli/pikku-command-cli.js +9 -3
  139. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +1 -1
  140. package/dist/src/functions/wirings/cli/serialize-cli-types.js +2 -2
  141. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +1 -1
  142. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +4 -4
  143. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +4 -4
  144. package/dist/src/functions/wirings/functions/pikku-command-functions.js +15 -5
  145. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  146. package/dist/src/functions/wirings/functions/pikku-command-services.js +23 -23
  147. package/dist/src/functions/wirings/functions/schemas.js +1 -1
  148. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  149. package/dist/src/functions/wirings/functions/serialize-function-types.js +50 -64
  150. package/dist/src/functions/wirings/http/openapi-spec-generator.js +4 -4
  151. package/dist/src/functions/wirings/http/pikku-http-routes.js +9 -2
  152. package/dist/src/functions/wirings/http/serialize-http-types.js +1 -1
  153. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +18 -4
  154. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +12 -12
  155. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +26 -2
  156. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +5 -2
  157. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +5 -13
  158. package/dist/src/functions/wirings/queue/pikku-command-queue.js +9 -3
  159. package/dist/src/functions/wirings/queue/pikku-queue.js +9 -3
  160. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +2 -1
  161. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +10 -1
  162. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  163. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +9 -2
  164. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -4
  165. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +1 -1
  166. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +3 -3
  167. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +6 -3
  168. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -1
  169. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +11 -1
  170. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  171. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +1 -0
  172. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +22 -0
  173. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +3 -1
  174. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +12 -8
  175. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +2 -1
  176. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +11 -1
  177. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
  178. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +36 -31
  179. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +8 -0
  180. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +30 -0
  181. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +2 -2
  182. package/dist/src/middleware/log-command-info-and-time.d.ts +2 -2
  183. package/dist/src/middleware/log-command-info-and-time.js +1 -4
  184. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  185. package/dist/src/services.d.ts +2 -7
  186. package/dist/src/services.js +14 -12
  187. package/dist/src/utils/check-required-types.d.ts +2 -2
  188. package/dist/src/utils/check-required-types.js +2 -3
  189. package/dist/src/utils/pikku-cli-config.js +35 -2
  190. package/dist/src/utils/pikku-files-and-methods.d.ts +2 -2
  191. package/dist/src/utils/pikku-files-and-methods.js +4 -4
  192. package/dist/src/utils/schema-generator.d.ts +1 -1
  193. package/dist/src/utils/schema-generator.js +1 -1
  194. package/dist/tsconfig.tsbuildinfo +1 -1
  195. package/package.json +7 -8
  196. package/src/cli.wiring.ts +4 -4
  197. package/src/functions/commands/all.ts +94 -45
  198. package/src/functions/commands/bootstrap.ts +25 -10
  199. package/src/functions/commands/watch.ts +6 -3
  200. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +26 -5
  201. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +43 -4
  202. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +40 -1
  203. package/src/functions/wirings/channels/pikku-channels.ts +27 -3
  204. package/src/functions/wirings/channels/serialize-channel-types.ts +10 -11
  205. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
  206. package/src/functions/wirings/cli/pikku-command-cli-types.ts +1 -1
  207. package/src/functions/wirings/cli/pikku-command-cli.ts +26 -3
  208. package/src/functions/wirings/cli/serialize-channel-cli.ts +1 -1
  209. package/src/functions/wirings/cli/serialize-cli-types.ts +2 -2
  210. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +5 -5
  211. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +6 -6
  212. package/src/functions/wirings/functions/pikku-command-functions.ts +39 -4
  213. package/src/functions/wirings/functions/pikku-command-services.ts +25 -25
  214. package/src/functions/wirings/functions/schemas.ts +2 -2
  215. package/src/functions/wirings/functions/serialize-function-types.ts +51 -65
  216. package/src/functions/wirings/http/openapi-spec-generator.ts +14 -5
  217. package/src/functions/wirings/http/pikku-http-routes.ts +28 -2
  218. package/src/functions/wirings/http/serialize-http-types.ts +1 -1
  219. package/src/functions/wirings/mcp/pikku-command-mcp.ts +30 -4
  220. package/src/functions/wirings/mcp/serialize-mcp-types.ts +12 -12
  221. package/src/functions/wirings/middleware/pikku-command-middleware.ts +35 -2
  222. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +4 -19
  223. package/src/functions/wirings/permissions/pikku-command-permissions.ts +2 -2
  224. package/src/functions/wirings/queue/pikku-command-queue.ts +27 -2
  225. package/src/functions/wirings/queue/pikku-queue.ts +27 -2
  226. package/src/functions/wirings/queue/serialize-queue-meta.ts +15 -1
  227. package/src/functions/wirings/queue/serialize-queue-types.ts +1 -1
  228. package/src/functions/wirings/rpc/pikku-command-rpc.ts +25 -2
  229. package/src/functions/wirings/rpc/serialize-public-rpc.ts +11 -4
  230. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +1 -1
  231. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +3 -3
  232. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +30 -4
  233. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +20 -1
  234. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +1 -1
  235. package/src/functions/wirings/services/pikku-command-service-metadata.ts +25 -0
  236. package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +8 -1
  237. package/src/functions/wirings/workflow/pikku-command-workflow.ts +36 -8
  238. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +18 -1
  239. package/src/functions/wirings/workflow/serialize-workflow-types.ts +39 -31
  240. package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +47 -0
  241. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +2 -2
  242. package/src/middleware/log-command-info-and-time.ts +3 -6
  243. package/src/services/cli-logger-forwarder.service.ts +1 -1
  244. package/src/services.ts +15 -15
  245. package/src/utils/check-required-types.ts +4 -7
  246. package/src/utils/pikku-cli-config.ts +69 -2
  247. package/src/utils/pikku-files-and-methods.ts +10 -13
  248. package/src/utils/schema-generator.ts +2 -2
  249. package/types/application-types.d.ts +1 -1
  250. package/types/config.d.ts +12 -1
  251. package/.pikku/function/pikku-functions.gen.ts +0 -84
  252. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +0 -47
  253. package/dist/.pikku/function/pikku-functions.gen.d.ts +0 -1
  254. package/dist/.pikku/function/pikku-functions.gen.js +0 -83
  255. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +0 -1
  256. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +0 -47
  257. package/dist/.pikku/schemas/schemas/PikkuRemoteInternalRPCInput.schema.json +0 -1
@@ -1,30 +1,20 @@
1
1
  /**
2
2
  * Generates type definitions for workflow wirings
3
3
  */
4
- export const serializeWorkflowTypes = (functionTypesImportPath) => {
4
+ export const serializeWorkflowTypes = (functionTypesImportPath, rpcMapImportPath) => {
5
5
  return `/**
6
6
  * Workflow-specific type definitions for tree-shaking optimization
7
7
  */
8
8
 
9
- import { CoreWorkflow, wireWorkflow as wireWorkflowCore, PikkuWorkflowInteraction, WorkflowStepOptions } from '@pikku/core/workflow'
10
- import { CorePikkuFunctionConfig, CorePikkuFunctionSessionless } from '@pikku/core'
11
- import type { PikkuPermission, PikkuMiddleware } from '${functionTypesImportPath}'
12
- import type { UserSession, SingletonServices } from '../../types/application-types.d.js'
13
- import type { TypedPikkuRPC, RPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js'
9
+ import { PikkuWorkflowWire, WorkflowStepOptions } from '@pikku/core/workflow'
10
+ import type { PikkuFunctionSessionless, PikkuFunctionConfig } from '${functionTypesImportPath}'
11
+ import type { RPCMap } from '${rpcMapImportPath}'
14
12
 
15
13
  /**
16
- * Type definition for workflows that orchestrate multi-step processes.
17
- * Workflows support both inline and remote execution modes with step caching.
18
- */
19
- type WorkflowWiring = CoreWorkflow<
20
- CorePikkuFunctionConfig<PikkuFunctionWorkflow<any, any>, PikkuPermission<any>, PikkuMiddleware>
21
- >
22
-
23
- /**
24
- * Typed workflow interaction with RPC awareness
14
+ * Typed workflow wire with RPC awareness
25
15
  * Provides type-safe workflow.do() for RPC steps
26
16
  */
27
- export interface TypedWorkflow extends PikkuWorkflowInteraction {
17
+ export interface TypedWorkflow extends PikkuWorkflowWire {
28
18
  /**
29
19
  * Execute a workflow step with RPC invocation (typed based on available RPCs)
30
20
  * @template K - RPC name from the RPC map
@@ -49,25 +39,23 @@ export interface TypedWorkflow extends PikkuWorkflowInteraction {
49
39
 
50
40
  /**
51
41
  * Workflow function type with typed workflow service
52
- * Includes the workflow interaction object with typed RPC methods
42
+ * Includes the workflow wire object with typed RPC methods
53
43
  */
54
44
  export type PikkuFunctionWorkflow<
55
45
  In = unknown,
56
46
  Out = never
57
- > = CorePikkuFunctionSessionless<
47
+ > = PikkuFunctionSessionless<
58
48
  In,
59
49
  Out,
60
- null,
61
- SingletonServices & {
62
- rpc: TypedPikkuRPC
63
- workflow: TypedWorkflow
64
- },
65
- UserSession
50
+ 'workflow'
66
51
  >
67
52
 
68
53
  /**
69
54
  * Creates a workflow function with typed input and output.
70
- * Workflow functions have access to the workflow interaction object for step execution.
55
+ * Workflow functions have access to the workflow wire object for step execution.
56
+ *
57
+ * This is the permissive mode - workflows that don't conform to simple DSL will fall back
58
+ * to basic extraction with a warning.
71
59
  *
72
60
  * @template In - Input type for the workflow
73
61
  * @template Out - Output type for the workflow
@@ -77,19 +65,36 @@ export type PikkuFunctionWorkflow<
77
65
  export const pikkuWorkflowFunc = <In, Out = unknown>(
78
66
  func:
79
67
  | PikkuFunctionWorkflow<In, Out>
80
- | CorePikkuFunctionConfig<PikkuFunctionWorkflow<In, Out>, PikkuPermission<In>, PikkuMiddleware>
68
+ | PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>
81
69
  ) => {
82
70
  return typeof func === 'function' ? { func } : func
83
71
  }
84
72
 
85
73
  /**
86
- * Registers a workflow with the Pikku framework.
87
- * Workflows can run in 'inline' (synchronous) or 'remote' (queue-based) execution modes.
74
+ * Creates a simple workflow function with typed input and output.
75
+ * Simple workflows must conform to the restricted DSL for static analysis.
76
+ *
77
+ * This is the strict mode - workflows that don't conform to simple DSL will cause
78
+ * a critical error during inspection.
88
79
  *
89
- * @param workflow - Workflow definition with name, execution mode, and handler function
80
+ * Constraints:
81
+ * - Must use only workflow.do() with RPC form (no inline functions)
82
+ * - Only if/else, for..of, and Promise.all(array.map()) control flow allowed
83
+ * - Step names must be unique (except across mutually exclusive branches)
84
+ * - All workflow calls must be awaited
85
+ *
86
+ * @template In - Input type for the workflow
87
+ * @template Out - Output type for the workflow
88
+ * @param func - Function definition, either direct function or configuration object
89
+ * @returns The normalized configuration object
90
90
  */
91
- export const wireWorkflow = (workflow: WorkflowWiring) => {
92
- wireWorkflowCore(workflow as any)
91
+ export const pikkuSimpleWorkflowFunc = <In, Out = unknown>(
92
+ func:
93
+ | PikkuFunctionWorkflow<In, Out>
94
+ | PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>
95
+ ) => {
96
+ return typeof func === 'function' ? { func } : func
93
97
  }
98
+
94
99
  `;
95
100
  };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generate workflow registration wirings
3
+ * Imports all workflow functions and calls addWorkflow for each
4
+ */
5
+ export declare const serializeWorkflowWirings: (outputPath: string, workflowFiles: Map<string, {
6
+ path: string;
7
+ exportedName: string;
8
+ }>, packageMappings?: Record<string, string>) => string;
@@ -0,0 +1,30 @@
1
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
2
+ /**
3
+ * Generate workflow registration wirings
4
+ * Imports all workflow functions and calls addWorkflow for each
5
+ */
6
+ export const serializeWorkflowWirings = (outputPath, workflowFiles, packageMappings = {}) => {
7
+ const imports = [];
8
+ const registrations = [];
9
+ // Sort by pikkuFuncName for consistent output
10
+ const sortedWorkflows = Array.from(workflowFiles.entries()).sort((a, b) => a[0].localeCompare(b[0]));
11
+ // Generate imports
12
+ for (const [, { path, exportedName }] of sortedWorkflows) {
13
+ const importPath = getFileImportRelativePath(outputPath, path, packageMappings);
14
+ imports.push(`import { ${exportedName} } from '${importPath}'`);
15
+ }
16
+ // Generate addWorkflow calls
17
+ for (const [pikkuFuncName, { exportedName }] of sortedWorkflows) {
18
+ registrations.push(`addWorkflow('${pikkuFuncName}', ${exportedName})`);
19
+ }
20
+ // Only import addWorkflow if there are workflows to register
21
+ const addWorkflowImport = sortedWorkflows.length > 0
22
+ ? `import { addWorkflow } from '@pikku/core/workflow'\n\n`
23
+ : '';
24
+ return `/**
25
+ * Auto-generated workflow registrations
26
+ * Do not edit manually - regenerate with 'npx pikku'
27
+ */
28
+ ${addWorkflowImport}${imports.join('\n')}${imports.length > 0 ? '\n\n' : ''}${registrations.join('\n')}
29
+ `;
30
+ };
@@ -22,7 +22,7 @@ export const pikkuWorkflowWorker = pikkuSessionlessFunc<
22
22
  WorkflowStepInput,
23
23
  void
24
24
  >({
25
- func: async ({ workflowService, rpc }, { runId, stepName, rpcName, data }) => {
25
+ func: async ({ workflowService }, { runId, stepName, rpcName, data }, { rpc }) => {
26
26
  await workflowService!.executeWorkflowStep(runId, stepName, rpcName, data, rpc)
27
27
  }
28
28
  })
@@ -31,7 +31,7 @@ export const pikkuWorkflowOrchestrator = pikkuSessionlessFunc<
31
31
  { runId: string },
32
32
  void
33
33
  >({
34
- func: async ({ workflowService, rpc }, { runId }) => {
34
+ func: async ({ workflowService }, { runId }, { rpc }) => {
35
35
  await workflowService!.orchestrateWorkflow(runId, rpc)
36
36
  }
37
37
  })
@@ -1,6 +1,6 @@
1
1
  import type { Services } from '../../types/application-types.js';
2
- import type { PikkuInteraction } from '@pikku/core';
3
- type PikkuMiddleware = (services: Services, interaction: PikkuInteraction, next: () => Promise<void>) => Promise<void>;
2
+ import type { PikkuWire } from '@pikku/core';
3
+ type PikkuMiddleware = (services: Services, wire: PikkuWire, next: () => Promise<void>) => Promise<void>;
4
4
  export interface LogCommandInfoOptions {
5
5
  commandStart: string;
6
6
  commandEnd: string;
@@ -3,13 +3,10 @@
3
3
  * Uses debug level so it only shows with --verbose flag
4
4
  */
5
5
  export const logCommandInfoAndTime = ({ commandStart, commandEnd, }) => {
6
- return async ({ logger }, _interaction, next) => {
7
- // Log start (debug level - only shows with --verbose)
6
+ return async ({ logger }, _wire, next) => {
8
7
  const start = Date.now();
9
8
  logger.debug(`• ${commandStart}...`);
10
- // Execute the function
11
9
  await next();
12
- // Log completion (debug level - only shows with --verbose)
13
10
  logger.debug({
14
11
  type: 'success',
15
12
  message: `✓ ${commandEnd} in ${Date.now() - start}ms.`,
@@ -26,7 +26,7 @@ export class CLILoggerForwarder {
26
26
  return;
27
27
  let message;
28
28
  if (messageOrObj instanceof Error) {
29
- this.logger.error(messageOrObj);
29
+ this.logger.error(messageOrObj.toString());
30
30
  message = messageOrObj.message;
31
31
  }
32
32
  else if (typeof messageOrObj === 'object') {
@@ -1,20 +1,15 @@
1
1
  import type { Config, Services, SingletonServices, UserSession } from '../types/application-types.js';
2
- import { CreateConfig, CreateSessionServices, CreateSingletonServices } from '@pikku/core';
2
+ import { CreateConfig, CreateWireServices, CreateSingletonServices } from '@pikku/core';
3
3
  import { PikkuCLIConfig } from '../types/config.js';
4
4
  import { ForwardedLogMessage } from './services/cli-logger-forwarder.service.js';
5
5
  /**
6
6
  * Default CLI renderer that logs output using the logger
7
7
  */
8
8
  export declare const defaultCLIRenderer: import("@pikku/core").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
9
- /**
10
- * Client-safe CLI renderer that outputs to console (no service dependencies)
11
- * This renderer can be used in CLI-over-channel clients
12
- */
13
- export declare const clientCLIRenderer: import("@pikku/core").CorePikkuCLIRender<ForwardedLogMessage, import("@pikku/core").CoreServices, import("@pikku/core").CoreUserSession>;
14
9
  export declare const createConfig: CreateConfig<Config, [PikkuCLIConfig]>;
15
10
  /**
16
11
  * Singleton services factory for the Pikku CLI
17
12
  * This function creates the singleton services used by the CLI and is created once on start.
18
13
  */
19
14
  export declare const createSingletonServices: CreateSingletonServices<Config, SingletonServices>;
20
- export declare const createSessionServices: CreateSessionServices<SingletonServices, Services, UserSession>;
15
+ export declare const createWireServices: CreateWireServices<SingletonServices, Services, UserSession>;
@@ -70,15 +70,17 @@ export const defaultCLIRenderer = pikkuCLIRender(({ logger }, data) => {
70
70
  logger[data.level]({ message: data.message, type: data.type });
71
71
  }
72
72
  });
73
- /**
74
- * Client-safe CLI renderer that outputs to console (no service dependencies)
75
- * This renderer can be used in CLI-over-channel clients
76
- */
77
- export const clientCLIRenderer = pikkuCLIRender(({ logger }, data) => {
78
- if (data) {
79
- logger[data.level]?.({ message: data.message, type: data.type });
80
- }
81
- });
73
+ // /**
74
+ // * Client-safe CLI renderer that outputs to console (no service dependencies)
75
+ // * This renderer can be used in CLI-over-channel clients
76
+ // */
77
+ // export const clientCLIRenderer = pikkuCLIRender<ForwardedLogMessage>(
78
+ // ({ logger }, data) => {
79
+ // if (data) {
80
+ // logger[data.level]?.({ message: data.message, type: data.type } as any)
81
+ // }
82
+ // }
83
+ // )
82
84
  export const createConfig = async (_variablesService, data) => {
83
85
  // Determine log level based on CLI flags with precedence:
84
86
  // --silent > --loglevel > --verbose > --info > default (warn)
@@ -155,7 +157,7 @@ export const createSingletonServices = async (config) => {
155
157
  type: 'CoreUserSession',
156
158
  typePath: corePackagePath,
157
159
  },
158
- sessionServicesType: {
160
+ wireServicesType: {
159
161
  file: corePackagePath,
160
162
  variable: 'CoreServices',
161
163
  type: 'CoreServices',
@@ -188,7 +190,7 @@ export const createSingletonServices = async (config) => {
188
190
  configFileType: config.configFile,
189
191
  userSessionType: config.userSessionType,
190
192
  singletonServicesFactoryType: config.singletonServicesFactoryType,
191
- sessionServicesFactoryType: config.sessionServicesFactoryType,
193
+ wireServicesFactoryType: config.wireServicesFactoryType,
192
194
  },
193
195
  });
194
196
  // Save unfiltered inspector state to file if stateOutput is provided
@@ -216,7 +218,7 @@ export const createSingletonServices = async (config) => {
216
218
  getInspectorState,
217
219
  };
218
220
  };
219
- export const createSessionServices = async ({ logger }, { cli, channel }) => {
221
+ export const createWireServices = async ({ logger }, { cli, channel }) => {
220
222
  const vChannel = cli ? cli.channel : channel;
221
223
  if (!vChannel) {
222
224
  throw new Error('No channel provided for CLI services');
@@ -1,10 +1,10 @@
1
1
  import { FilesAndMethodsErrors } from '@pikku/inspector';
2
2
  export type RequiredTypes = Partial<{
3
3
  config: boolean;
4
- sessionServiceType: boolean;
4
+ wireServiceType: boolean;
5
5
  singletonServicesType: boolean;
6
6
  userSessionType: boolean;
7
7
  singletonServicesFactory: boolean;
8
- sessionServicesFactory: boolean;
8
+ wireServicesFactory: boolean;
9
9
  }>;
10
10
  export declare const checkRequiredTypes: (errors: FilesAndMethodsErrors, requires?: RequiredTypes) => void;
@@ -13,7 +13,7 @@ export const checkRequiredTypes = (errors, requires = {}) => {
13
13
  }
14
14
  if (requires.config && message.includes('CoreConfig'))
15
15
  return true;
16
- if (requires.sessionServiceType && message.includes('CoreServices'))
16
+ if (requires.wireServiceType && message.includes('CoreServices'))
17
17
  return true;
18
18
  if (requires.singletonServicesType &&
19
19
  message.includes('CoreSingletonServices'))
@@ -23,8 +23,7 @@ export const checkRequiredTypes = (errors, requires = {}) => {
23
23
  if (requires.singletonServicesFactory &&
24
24
  message.includes('CreateSingletonServices'))
25
25
  return true;
26
- if (requires.sessionServicesFactory &&
27
- message.includes('CreateSessionServices'))
26
+ if (requires.wireServicesFactory && message.includes('CreateWireServices'))
28
27
  return true;
29
28
  return false;
30
29
  });
@@ -47,7 +47,7 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
47
47
  ],
48
48
  schema: {
49
49
  additionalProperties: false,
50
- supportsImportAttributes: false,
50
+ supportsImportAttributes: true,
51
51
  ...extendedConfig.schema,
52
52
  ...config.schema,
53
53
  },
@@ -69,7 +69,7 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
69
69
  ],
70
70
  schema: {
71
71
  additionalProperties: false,
72
- supportsImportAttributes: false,
72
+ supportsImportAttributes: true,
73
73
  ...config.schema,
74
74
  },
75
75
  };
@@ -96,9 +96,15 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
96
96
  if (!result.functionsMetaFile) {
97
97
  result.functionsMetaFile = join(functionDir, 'pikku-functions-meta.gen.ts');
98
98
  }
99
+ if (!result.functionsMetaJsonFile) {
100
+ result.functionsMetaJsonFile = join(functionDir, 'pikku-functions-meta.gen.json');
101
+ }
99
102
  if (!result.functionsMetaMinFile) {
100
103
  result.functionsMetaMinFile = join(functionDir, 'pikku-functions-meta.min.gen.ts');
101
104
  }
105
+ if (!result.functionsMetaMinJsonFile) {
106
+ result.functionsMetaMinJsonFile = join(functionDir, 'pikku-functions-meta.min.gen.json');
107
+ }
102
108
  if (!result.functionTypesFile) {
103
109
  result.functionTypesFile = join(functionDir, 'pikku-function-types.gen.ts');
104
110
  }
@@ -112,6 +118,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
112
118
  if (!result.httpWiringMetaFile) {
113
119
  result.httpWiringMetaFile = join(httpDir, 'pikku-http-wirings-meta.gen.ts');
114
120
  }
121
+ if (!result.httpWiringMetaJsonFile) {
122
+ result.httpWiringMetaJsonFile = join(httpDir, 'pikku-http-wirings-meta.gen.json');
123
+ }
115
124
  if (!result.httpMapDeclarationFile) {
116
125
  result.httpMapDeclarationFile = join(httpDir, 'pikku-http-wirings-map.gen.d.ts');
117
126
  }
@@ -125,6 +134,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
125
134
  if (!result.channelsWiringMetaFile) {
126
135
  result.channelsWiringMetaFile = join(channelDir, 'pikku-channels-meta.gen.ts');
127
136
  }
137
+ if (!result.channelsWiringMetaJsonFile) {
138
+ result.channelsWiringMetaJsonFile = join(channelDir, 'pikku-channels-meta.gen.json');
139
+ }
128
140
  if (!result.channelsMapDeclarationFile) {
129
141
  result.channelsMapDeclarationFile = join(channelDir, 'pikku-channels-map.gen.d.ts');
130
142
  }
@@ -135,6 +147,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
135
147
  if (!result.rpcInternalWiringMetaFile) {
136
148
  result.rpcInternalWiringMetaFile = join(rpcDir, 'pikku-rpc-wirings-meta.internal.gen.ts');
137
149
  }
150
+ if (!result.rpcInternalWiringMetaJsonFile) {
151
+ result.rpcInternalWiringMetaJsonFile = join(rpcDir, 'pikku-rpc-wirings-meta.internal.gen.json');
152
+ }
138
153
  if (!result.rpcInternalMapDeclarationFile) {
139
154
  result.rpcInternalMapDeclarationFile = join(rpcDir, 'pikku-rpc-wirings-map.internal.gen.d.ts');
140
155
  }
@@ -155,6 +170,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
155
170
  if (!result.schedulersWiringMetaFile) {
156
171
  result.schedulersWiringMetaFile = join(schedulerDir, 'pikku-schedulers-wirings-meta.gen.ts');
157
172
  }
173
+ if (!result.schedulersWiringMetaJsonFile) {
174
+ result.schedulersWiringMetaJsonFile = join(schedulerDir, 'pikku-schedulers-wirings-meta.gen.json');
175
+ }
158
176
  if (!result.schedulersTypesFile) {
159
177
  result.schedulersTypesFile = join(schedulerDir, 'pikku-scheduler-types.gen.ts');
160
178
  }
@@ -165,6 +183,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
165
183
  if (!result.queueWorkersWiringMetaFile) {
166
184
  result.queueWorkersWiringMetaFile = join(queueDir, 'pikku-queue-workers-wirings-meta.gen.ts');
167
185
  }
186
+ if (!result.queueWorkersWiringMetaJsonFile) {
187
+ result.queueWorkersWiringMetaJsonFile = join(queueDir, 'pikku-queue-workers-wirings-meta.gen.json');
188
+ }
168
189
  if (!result.queueMapDeclarationFile) {
169
190
  result.queueMapDeclarationFile = join(queueDir, 'pikku-queue-workers-wirings-map.gen.d.ts');
170
191
  }
@@ -178,6 +199,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
178
199
  if (!result.workflowsWiringMetaFile) {
179
200
  result.workflowsWiringMetaFile = join(workflowDir, 'pikku-workflow-wirings-meta.gen.ts');
180
201
  }
202
+ if (!result.workflowsWiringMetaJsonFile) {
203
+ result.workflowsWiringMetaJsonFile = join(workflowDir, 'pikku-workflow-wirings-meta.gen.json');
204
+ }
181
205
  if (!result.workflowsWorkersFile) {
182
206
  result.workflowsWorkersFile = join(workflowDir, 'pikku-workflow-workers.gen.ts');
183
207
  }
@@ -198,6 +222,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
198
222
  if (!result.middlewareGroupsMetaFile) {
199
223
  result.middlewareGroupsMetaFile = join(middlewareDir, 'pikku-middleware-groups-meta.gen.ts');
200
224
  }
225
+ if (!result.middlewareGroupsMetaJsonFile) {
226
+ result.middlewareGroupsMetaJsonFile = join(middlewareDir, 'pikku-middleware-groups-meta.gen.json');
227
+ }
201
228
  // Permissions
202
229
  const permissionsDir = join(result.outDir, 'permissions');
203
230
  if (!result.permissionsFile) {
@@ -211,6 +238,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
211
238
  if (!result.mcpWiringsMetaFile) {
212
239
  result.mcpWiringsMetaFile = join(mcpDir, 'pikku-mcp-wirings-meta.gen.ts');
213
240
  }
241
+ if (!result.mcpWiringsMetaJsonFile) {
242
+ result.mcpWiringsMetaJsonFile = join(mcpDir, 'pikku-mcp-wirings-meta.gen.json');
243
+ }
214
244
  if (!result.mcpWiringsFile) {
215
245
  result.mcpWiringsFile = join(mcpDir, 'pikku-mcp-wirings.gen.ts');
216
246
  }
@@ -227,6 +257,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
227
257
  if (!result.cliWiringMetaFile) {
228
258
  result.cliWiringMetaFile = join(cliDir, 'pikku-cli-wirings-meta.gen.ts');
229
259
  }
260
+ if (!result.cliWiringMetaJsonFile) {
261
+ result.cliWiringMetaJsonFile = join(cliDir, 'pikku-cli-wirings-meta.gen.json');
262
+ }
230
263
  if (!result.cliBootstrapFile) {
231
264
  result.cliBootstrapFile = join(cliDir, 'pikku-cli-bootstrap.gen.ts');
232
265
  }
@@ -8,11 +8,11 @@ interface Meta {
8
8
  }
9
9
  export type FilesAndMethods = {
10
10
  userSessionType: Meta;
11
- sessionServicesType: Meta;
11
+ wireServicesType: Meta;
12
12
  singletonServicesType: Meta;
13
13
  pikkuConfigFactory: Meta;
14
14
  singletonServicesFactory: Meta;
15
- sessionServicesFactory: Meta;
15
+ wireServicesFactory: Meta;
16
16
  };
17
17
  /**
18
18
  * @deprecated Use state.filesAndMethods from InspectorState instead
@@ -45,16 +45,16 @@ const getMetaTypes = (type, map, desiredType) => {
45
45
  * @deprecated Use state.filesAndMethods from InspectorState instead
46
46
  */
47
47
  export const getPikkuFilesAndMethods = async (state, options = {}) => {
48
- const { singletonServicesTypeImportMap, sessionServicesTypeImportMap, userSessionTypeImportMap, sessionServicesFactories, singletonServicesFactories, configFactories, } = state;
49
- const { configFileType, userSessionType, singletonServicesFactoryType, sessionServicesFactoryType, } = options;
48
+ const { singletonServicesTypeImportMap, wireServicesTypeImportMap, userSessionTypeImportMap, wireServicesFactories, singletonServicesFactories, configFactories, } = state;
49
+ const { configFileType, userSessionType, singletonServicesFactoryType, wireServicesFactoryType, } = options;
50
50
  let errors = new Map();
51
51
  const result = {
52
52
  userSessionType: getMetaTypes('CoreUserSession', userSessionTypeImportMap, userSessionType),
53
53
  singletonServicesType: getMetaTypes('CoreSingletonServices', singletonServicesTypeImportMap),
54
- sessionServicesType: getMetaTypes('CoreServices', sessionServicesTypeImportMap),
54
+ wireServicesType: getMetaTypes('CoreServices', wireServicesTypeImportMap),
55
55
  pikkuConfigFactory: getMetaTypes('CoreConfig', configFactories, configFileType),
56
56
  singletonServicesFactory: getMetaTypes('CreateSingletonServices', singletonServicesFactories, singletonServicesFactoryType),
57
- sessionServicesFactory: getMetaTypes('CreateSessionServices', sessionServicesFactories, sessionServicesFactoryType),
57
+ wireServicesFactory: getMetaTypes('CreateWireServices', wireServicesFactories, wireServicesFactoryType),
58
58
  };
59
59
  if (errors.size > 0) {
60
60
  const result = ['Found errors:'];
@@ -3,4 +3,4 @@ import { HTTPWiringsMeta } from '@pikku/core/http';
3
3
  import { TypesMap } from '@pikku/inspector';
4
4
  import { CLILogger } from '../services/cli-logger.service.js';
5
5
  export declare function generateSchemas(logger: CLILogger, tsconfig: string, typesMap: TypesMap, functionMeta: FunctionsMeta, httpWiringsMeta: HTTPWiringsMeta, additionalTypes?: string[], additionalProperties?: boolean): Promise<Record<string, JSONValue>>;
6
- export declare function saveSchemas(logger: CLILogger, schemaParentDir: string, schemas: Record<string, JSONValue>, typesMap: TypesMap, functionsMeta: FunctionsMeta, additionalTypes?: string[], supportsImportAttributes?: boolean): Promise<void>;
6
+ export declare function saveSchemas(logger: CLILogger, schemaParentDir: string, schemas: Record<string, JSONValue>, typesMap: TypesMap, functionsMeta: FunctionsMeta, supportsImportAttributes: boolean, additionalTypes?: string[]): Promise<void>;
@@ -65,7 +65,7 @@ export async function generateSchemas(logger, tsconfig, typesMap, functionMeta,
65
65
  });
66
66
  return schemas;
67
67
  }
68
- export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, functionsMeta, additionalTypes, supportsImportAttributes = false) {
68
+ export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, functionsMeta, supportsImportAttributes, additionalTypes) {
69
69
  await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, 'export const empty = null;');
70
70
  const desiredSchemas = new Set([
71
71
  ...Object.values(functionsMeta)
@@ -1 +1 @@
1
- {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/functions/commands/all.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/watch.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/pikku-command-websocket-typed.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/channels/serialize-websocket-wrapper.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/fetch/index.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-function-types.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/pikku-function-types.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-pikku-types-hub.ts","../src/functions/wirings/http/openapi-spec-generator.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-json.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-groups-meta.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/workflow/pikku-command-workflow-map.ts","../src/functions/wirings/workflow/pikku-command-workflow-types.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/wirings/workflow/serialize-workflow-workers.ts","../src/middleware/log-command-info-and-time.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/check-required-types.ts","../src/utils/command-summary.ts","../src/utils/custom-types-generator.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/schema-generator.ts","../src/utils/serialize-import-map.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/pikku-websocket.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/channel/pikku-channels-map.gen.d.ts","../.pikku/channel/pikku-channels-meta.gen.ts","../.pikku/channel/pikku-channels.gen.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-client.gen.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions-meta.min.gen.ts","../.pikku/function/pikku-functions.gen.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/http/pikku-http-wirings-map.gen.d.ts","../.pikku/http/pikku-http-wirings-meta.gen.ts","../.pikku/http/pikku-http-wirings.gen.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/mcp/pikku-mcp-wirings-meta.gen.ts","../.pikku/mcp/pikku-mcp-wirings.gen.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-remote-rpc-workers.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/config.d.ts"],"version":"5.9.3"}
1
+ {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/functions/commands/all.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/watch.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/pikku-command-websocket-typed.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/channels/serialize-websocket-wrapper.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/fetch/index.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-function-types.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/pikku-function-types.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-pikku-types-hub.ts","../src/functions/wirings/http/openapi-spec-generator.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-json.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-groups-meta.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/services/pikku-command-service-metadata.ts","../src/functions/wirings/workflow/pikku-command-workflow-map.ts","../src/functions/wirings/workflow/pikku-command-workflow-types.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/wirings/workflow/serialize-workflow-wirings.ts","../src/functions/wirings/workflow/serialize-workflow-workers.ts","../src/middleware/log-command-info-and-time.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/check-required-types.ts","../src/utils/command-summary.ts","../src/utils/custom-types-generator.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/schema-generator.ts","../src/utils/serialize-import-map.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/pikku-websocket.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/channel/pikku-channels-map.gen.d.ts","../.pikku/channel/pikku-channels-meta.gen.ts","../.pikku/channel/pikku-channels.gen.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-client.gen.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions-meta.min.gen.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/http/pikku-http-wirings-map.gen.d.ts","../.pikku/http/pikku-http-wirings-meta.gen.ts","../.pikku/http/pikku-http-wirings.gen.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/mcp/pikku-mcp-wirings-meta.gen.ts","../.pikku/mcp/pikku-mcp-wirings.gen.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-remote-rpc-workers.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/config.d.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@pikku/cli",
3
- "version": "0.11.1",
3
+ "version": "0.11.2",
4
4
  "author": "yasser.fadl@gmail.com",
5
- "license": "MIT",
5
+ "license": "BUSL-1.1",
6
6
  "bin": {
7
7
  "pikku": "dist/bin/pikku.js"
8
8
  },
@@ -12,8 +12,7 @@
12
12
  "scripts": {
13
13
  "tsc": "tsc",
14
14
  "schema": "ts-json-schema-generator -o cli.schema.json --path 'src/utils/pikku-cli-config.ts' --type 'PikkuCLIConfig'",
15
- "build": "yarn build:esm",
16
- "build:esm": "./build.sh",
15
+ "build": "./build.sh",
17
16
  "ncu": "npx npm-check-updates -x '/.*glob.*/'",
18
17
  "release": "yarn build && npm test",
19
18
  "test": "bash run-tests.sh",
@@ -21,9 +20,9 @@
21
20
  "test:coverage": "bash run-tests.sh --coverage"
22
21
  },
23
22
  "dependencies": {
24
- "@openapi-contrib/json-schema-to-openapi-schema": "^4.2.0",
25
- "@pikku/core": "^0.11.0",
26
- "@pikku/inspector": "^0.11.0",
23
+ "@openapi-contrib/json-schema-to-openapi-schema": "^4.3.0",
24
+ "@pikku/core": "^0.11.1",
25
+ "@pikku/inspector": "^0.11.1",
27
26
  "@types/cookie": "^1.0.0",
28
27
  "@types/json-schema": "^7.0.15",
29
28
  "chalk": "^5.6.2",
@@ -37,7 +36,7 @@
37
36
  "yaml": "^2.8.1"
38
37
  },
39
38
  "devDependencies": {
40
- "@types/node": "^24.9.1"
39
+ "@types/node": "^24.10.1"
41
40
  },
42
41
  "engines": {
43
42
  "node": ">=18"
package/src/cli.wiring.ts CHANGED
@@ -9,13 +9,13 @@ import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js'
9
9
  import { all } from './functions/commands/all.js'
10
10
  import { bootstrap } from './functions/commands/bootstrap.js'
11
11
  import { watch } from './functions/commands/watch.js'
12
- import { clientCLIRenderer } from './services.js'
12
+ // import { clientCLIRenderer } from './services.js'
13
13
 
14
14
  wireCLI({
15
15
  program: 'pikku',
16
16
  description:
17
17
  'Pikku CLI - Code generation tool for type-safe backend development',
18
- render: clientCLIRenderer,
18
+ // render: clientCLIRenderer,
19
19
  options: {
20
20
  config: {
21
21
  description: 'Path to pikku.config.json file',
@@ -33,8 +33,8 @@ wireCLI({
33
33
  singletonServicesFactoryType: {
34
34
  description: 'Specify which singleton services factory to use',
35
35
  },
36
- sessionServicesFactoryType: {
37
- description: 'Specify which session services factory to use',
36
+ wireServicesFactoryType: {
37
+ description: 'Specify which wire services factory to use',
38
38
  },
39
39
  stateOutput: {
40
40
  description: 'Save inspector state to JSON file for reuse',