@pikku/cli 0.10.2 → 0.11.1

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 (184) hide show
  1. package/.pikku/channel/pikku-channel-types.gen.ts +1 -1
  2. package/.pikku/channel/pikku-channels-map.gen.d.ts +5 -2
  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 +92 -0
  6. package/.pikku/cli/pikku-cli-client.gen.ts +56 -0
  7. package/.pikku/cli/pikku-cli-types.gen.ts +1 -1
  8. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +131 -5
  9. package/.pikku/cli/pikku-cli-wirings.gen.ts +3 -2
  10. package/.pikku/cli/pikku-cli.gen.ts +41 -0
  11. package/.pikku/function/pikku-function-types.gen.ts +1 -1
  12. package/.pikku/function/pikku-functions-meta.gen.ts +240 -131
  13. package/.pikku/function/pikku-functions-meta.min.gen.ts +59 -34
  14. package/.pikku/function/pikku-functions.gen.ts +9 -1
  15. package/.pikku/http/pikku-http-types.gen.ts +1 -1
  16. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +5 -2
  17. package/.pikku/http/pikku-http-wirings-meta.gen.ts +1 -1
  18. package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
  19. package/.pikku/mcp/pikku-mcp-types.gen.ts +1 -1
  20. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +1 -1
  21. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
  22. package/.pikku/pikku-bootstrap.gen.ts +4 -1
  23. package/.pikku/pikku-services.gen.ts +8 -3
  24. package/.pikku/pikku-types.gen.ts +1 -1
  25. package/.pikku/pikku-websocket.gen.ts +1 -1
  26. package/.pikku/queue/pikku-queue-types.gen.ts +1 -1
  27. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +5 -2
  28. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +7 -2
  29. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
  30. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +27 -0
  31. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +13 -3
  32. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +25 -10
  33. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +14 -9
  34. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +1 -1
  35. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +1 -1
  36. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
  37. package/.pikku/schemas/register.gen.ts +17 -5
  38. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  39. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  40. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -0
  41. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -0
  42. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  43. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -0
  44. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +62 -0
  45. package/.pikku/workflow/pikku-workflow-types.gen.ts +92 -0
  46. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +5 -0
  47. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +4 -0
  48. package/CHANGELOG.md +13 -0
  49. package/bin/pikku.ts +20 -20
  50. package/build.sh +1 -1
  51. package/cli.schema.json +1 -1
  52. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  53. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  54. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  55. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  56. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  57. package/dist/.pikku/cli/pikku-cli-channel.d.ts +1 -0
  58. package/dist/.pikku/cli/pikku-cli-channel.js +91 -0
  59. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +10 -0
  60. package/dist/.pikku/cli/pikku-cli-client.gen.js +46 -0
  61. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  62. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  63. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +131 -5
  64. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +2 -1
  65. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +2 -1
  66. package/dist/.pikku/cli/pikku-cli.gen.d.ts +10 -0
  67. package/dist/.pikku/cli/pikku-cli.gen.js +38 -0
  68. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  69. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  70. package/dist/.pikku/function/pikku-functions-meta.gen.js +240 -131
  71. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +59 -34
  72. package/dist/.pikku/function/pikku-functions.gen.js +9 -1
  73. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  74. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  75. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  76. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  77. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  78. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  79. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  80. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
  81. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  82. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
  83. package/dist/.pikku/pikku-bootstrap.gen.d.ts +4 -1
  84. package/dist/.pikku/pikku-bootstrap.gen.js +4 -1
  85. package/dist/.pikku/pikku-services.gen.d.ts +10 -4
  86. package/dist/.pikku/pikku-services.gen.js +8 -2
  87. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  88. package/dist/.pikku/pikku-types.gen.js +1 -1
  89. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  90. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  91. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  92. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  93. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +7 -2
  94. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  95. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  96. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +17 -0
  97. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +22 -0
  98. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +14 -9
  99. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  100. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  101. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
  102. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  103. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  104. package/dist/.pikku/schemas/register.gen.js +9 -3
  105. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  107. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -0
  108. package/dist/.pikku/schemas/schemas/PikkuRemoteInternalRPCInput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  111. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -0
  112. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +58 -0
  113. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +28 -0
  114. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.d.ts +1 -0
  115. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +5 -0
  116. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +4 -0
  117. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +5 -0
  118. package/dist/bin/pikku.js +18 -20
  119. package/dist/src/cli.wiring.js +109 -107
  120. package/dist/src/functions/commands/all.js +20 -0
  121. package/dist/src/functions/commands/bootstrap.js +1 -0
  122. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +15 -22
  123. package/dist/src/functions/wirings/queue/pikku-queue.js +9 -1
  124. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +2 -2
  125. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +2 -2
  126. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -0
  127. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +23 -0
  128. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -0
  129. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +23 -0
  130. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +4 -0
  131. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +30 -0
  132. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.d.ts +4 -0
  133. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +30 -0
  134. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +2 -2
  135. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +27 -3
  136. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.d.ts +1 -0
  137. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +12 -0
  138. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +1 -0
  139. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +11 -0
  140. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -0
  141. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +55 -0
  142. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -0
  143. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +79 -0
  144. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +2 -0
  145. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +10 -0
  146. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +4 -0
  147. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +95 -0
  148. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +4 -0
  149. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +60 -0
  150. package/dist/src/services/cli-logger-forwarder.service.d.ts +3 -0
  151. package/dist/src/services/cli-logger-forwarder.service.js +9 -2
  152. package/dist/src/services/cli-logger.service.js +1 -1
  153. package/dist/src/utils/command-summary.d.ts +1 -0
  154. package/dist/src/utils/command-summary.js +9 -8
  155. package/dist/src/utils/pikku-cli-config.js +24 -4
  156. package/dist/src/utils/schema-generator.js +28 -7
  157. package/dist/tsconfig.tsbuildinfo +1 -1
  158. package/package.json +3 -3
  159. package/src/cli.wiring.ts +111 -106
  160. package/src/functions/commands/all.ts +28 -0
  161. package/src/functions/commands/bootstrap.ts +1 -0
  162. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +15 -22
  163. package/src/functions/wirings/queue/pikku-queue.ts +10 -1
  164. package/src/functions/wirings/queue/serialize-queue-map.ts +3 -3
  165. package/src/functions/wirings/queue/serialize-queue-meta.ts +2 -2
  166. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +32 -0
  167. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +35 -0
  168. package/src/functions/wirings/rpc/serialize-public-rpc.ts +30 -0
  169. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +30 -0
  170. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +2 -2
  171. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +26 -3
  172. package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +24 -0
  173. package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +22 -0
  174. package/src/functions/wirings/workflow/pikku-command-workflow.ts +123 -0
  175. package/src/functions/wirings/workflow/serialize-workflow-map.ts +123 -0
  176. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +16 -0
  177. package/src/functions/wirings/workflow/serialize-workflow-types.ts +95 -0
  178. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +60 -0
  179. package/src/services/cli-logger-forwarder.service.ts +11 -2
  180. package/src/services/cli-logger.service.ts +1 -1
  181. package/src/utils/command-summary.ts +10 -8
  182. package/src/utils/pikku-cli-config.ts +44 -4
  183. package/src/utils/schema-generator.ts +25 -7
  184. package/types/config.d.ts +45 -0
@@ -66,11 +66,9 @@ const _getPikkuCLIConfig = async (
66
66
  },
67
67
  ignoreFiles: config.ignoreFiles ??
68
68
  extendedConfig.ignoreFiles ?? [
69
- '**/*.gen.ts',
70
69
  '**/*.test.ts',
71
70
  '**/*.spec.ts',
72
71
  '**/node_modules/**',
73
- '**/.pikku/**',
74
72
  '**/dist/**',
75
73
  ],
76
74
  schema: {
@@ -89,11 +87,9 @@ const _getPikkuCLIConfig = async (
89
87
  ? resolve(configDir, config.rootDir)
90
88
  : configDir,
91
89
  ignoreFiles: config.ignoreFiles ?? [
92
- '**/*.gen.ts',
93
90
  '**/*.test.ts',
94
91
  '**/*.spec.ts',
95
92
  '**/node_modules/**',
96
- '**/.pikku/**',
97
93
  '**/dist/**',
98
94
  ],
99
95
  schema: {
@@ -111,6 +107,7 @@ const _getPikkuCLIConfig = async (
111
107
  const rpcDir = join(result.outDir, 'rpc')
112
108
  const schedulerDir = join(result.outDir, 'scheduler')
113
109
  const queueDir = join(result.outDir, 'queue')
110
+ const workflowDir = join(result.outDir, 'workflow')
114
111
  const mcpDir = join(result.outDir, 'mcp')
115
112
  const cliDir = join(result.outDir, 'cli')
116
113
  const middlewareDir = join(result.outDir, 'middleware')
@@ -209,6 +206,17 @@ const _getPikkuCLIConfig = async (
209
206
  )
210
207
  }
211
208
 
209
+ // RPC config defaults
210
+ if (!result.rpc) {
211
+ result.rpc = {}
212
+ }
213
+ if (!result.rpc.remoteRpcWorkersPath) {
214
+ result.rpc.remoteRpcWorkersPath = join(
215
+ rpcDir,
216
+ 'pikku-remote-rpc-workers.gen.ts'
217
+ )
218
+ }
219
+
212
220
  // Scheduler
213
221
  if (!result.schedulersWiringFile) {
214
222
  result.schedulersWiringFile = join(
@@ -252,6 +260,38 @@ const _getPikkuCLIConfig = async (
252
260
  result.queueTypesFile = join(queueDir, 'pikku-queue-types.gen.ts')
253
261
  }
254
262
 
263
+ // Workflows
264
+ if (!result.workflowsWiringFile) {
265
+ result.workflowsWiringFile = join(
266
+ workflowDir,
267
+ 'pikku-workflow-wirings.gen.ts'
268
+ )
269
+ }
270
+ if (!result.workflowsWiringMetaFile) {
271
+ result.workflowsWiringMetaFile = join(
272
+ workflowDir,
273
+ 'pikku-workflow-wirings-meta.gen.ts'
274
+ )
275
+ }
276
+ if (!result.workflowsWorkersFile) {
277
+ result.workflowsWorkersFile = join(
278
+ workflowDir,
279
+ 'pikku-workflow-workers.gen.ts'
280
+ )
281
+ }
282
+ if (!result.workflowMapDeclarationFile) {
283
+ result.workflowMapDeclarationFile = join(
284
+ workflowDir,
285
+ 'pikku-workflow-map.gen.d.ts'
286
+ )
287
+ }
288
+ if (!result.workflowTypesFile) {
289
+ result.workflowTypesFile = join(
290
+ workflowDir,
291
+ 'pikku-workflow-types.gen.ts'
292
+ )
293
+ }
294
+
255
295
  // Services
256
296
  if (!result.servicesFile) {
257
297
  result.servicesFile = join(result.outDir, 'pikku-services.gen.ts')
@@ -19,9 +19,13 @@ export async function generateSchemas(
19
19
  for (const { inputs, outputs } of Object.values(functionMeta)) {
20
20
  const types = [...(inputs || []), ...(outputs || [])]
21
21
  for (const type of types) {
22
- const uniqueName = typesMap.getUniqueName(type)
23
- if (uniqueName) {
24
- schemasSet.add(uniqueName)
22
+ try {
23
+ const uniqueName = typesMap.getUniqueName(type)
24
+ if (uniqueName) {
25
+ schemasSet.add(uniqueName)
26
+ }
27
+ } catch {
28
+ // Skip types not in typesMap (e.g., inline types in generated workflow workers)
25
29
  }
26
30
  }
27
31
  }
@@ -98,10 +102,24 @@ export async function saveSchemas(
98
102
 
99
103
  const desiredSchemas = new Set<string>([
100
104
  ...Object.values(functionsMeta)
101
- .map(({ inputs, outputs }) => [
102
- inputs?.[0] ? typesMap.getUniqueName(inputs[0]) : undefined,
103
- outputs?.[0] ? typesMap.getUniqueName(outputs[0]) : undefined,
104
- ])
105
+ .map(({ inputs, outputs }) => {
106
+ const types: (string | undefined)[] = []
107
+ if (inputs?.[0]) {
108
+ try {
109
+ types.push(typesMap.getUniqueName(inputs[0]))
110
+ } catch {
111
+ // Skip types not in typesMap (e.g., inline types in generated workflow workers)
112
+ }
113
+ }
114
+ if (outputs?.[0]) {
115
+ try {
116
+ types.push(typesMap.getUniqueName(outputs[0]))
117
+ } catch {
118
+ // Skip types not in typesMap (e.g., inline types in generated workflow workers)
119
+ }
120
+ }
121
+ return types
122
+ })
105
123
  .flat()
106
124
  .filter(
107
125
  (s): s is string =>
package/types/config.d.ts CHANGED
@@ -46,6 +46,13 @@ export interface PikkuCLICoreOutputFiles {
46
46
  queueMapDeclarationFile: string
47
47
  queueTypesFile: string
48
48
 
49
+ // Workflows
50
+ workflowsWiringFile: string
51
+ workflowsWiringMetaFile: string
52
+ workflowsWorkersFile: string
53
+ workflowMapDeclarationFile: string
54
+ workflowTypesFile: string
55
+
49
56
  // MCP
50
57
  mcpWiringsFile: string
51
58
  mcpWiringsMetaFile: string
@@ -128,6 +135,25 @@ export type PikkuCLIInput = {
128
135
  >
129
136
  }
130
137
 
138
+ workflows?:
139
+ | {
140
+ singleQueue: true
141
+ path: string
142
+ orchestratorQueue?: string
143
+ workerQueue?: string
144
+ }
145
+ | {
146
+ singleQueue: false
147
+ dir: string
148
+ orchestratorQueuePrefix?: string
149
+ workerQueuePrefix?: string
150
+ }
151
+
152
+ rpc?: {
153
+ remoteRpcWorkersPath?: string
154
+ publicRpcPath?: string
155
+ }
156
+
131
157
  forceRequiredServices?: string[]
132
158
 
133
159
  schemasFromTypes?: string[]
@@ -203,6 +229,25 @@ export type PikkuCLIConfig = {
203
229
  >
204
230
  }
205
231
 
232
+ workflows?:
233
+ | {
234
+ singleQueue: true
235
+ path: string
236
+ orchestratorQueue?: string
237
+ workerQueue?: string
238
+ }
239
+ | {
240
+ singleQueue: false
241
+ dir: string
242
+ orchestratorQueuePrefix?: string
243
+ workerQueuePrefix?: string
244
+ }
245
+
246
+ rpc?: {
247
+ remoteRpcWorkersPath?: string
248
+ publicRpcPath?: string
249
+ }
250
+
206
251
  forceRequiredServices?: string[]
207
252
 
208
253
  schemasFromTypes?: string[]