@pikku/cli 0.12.0 → 0.12.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 (199) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/assets/index-DRJQtv3c.js +676 -0
  3. package/console-app/index.html +6 -1
  4. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +30 -3
  5. package/dist/.pikku/agent/pikku-agent-types.gen.js +13 -0
  6. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +2 -2
  7. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +1 -1
  8. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +1 -1
  9. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  10. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  11. package/dist/.pikku/channel/pikku-channels-meta.gen.js +2 -2
  12. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  13. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  14. package/dist/.pikku/cli/pikku-cli-channel.js +77 -3
  15. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  16. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  17. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  18. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  19. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  20. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +280 -10
  21. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  22. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  23. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  24. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  25. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  26. package/dist/.pikku/function/pikku-function-types.gen.d.ts +14 -11
  27. package/dist/.pikku/function/pikku-function-types.gen.js +25 -13
  28. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  29. package/dist/.pikku/function/pikku-functions-meta.gen.json +426 -93
  30. package/dist/.pikku/function/pikku-functions.gen.js +5 -3
  31. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  32. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  33. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +2 -2
  34. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  35. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  36. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  37. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  38. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +2 -2
  39. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
  41. package/dist/.pikku/pikku-bootstrap.gen.js +2 -2
  42. package/dist/.pikku/pikku-services.gen.d.ts +2 -1
  43. package/dist/.pikku/pikku-services.gen.js +1 -0
  44. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  45. package/dist/.pikku/pikku-types.gen.js +1 -1
  46. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  47. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  48. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  49. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  50. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  51. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  52. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  53. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +1 -1
  54. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +2 -2
  55. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +16 -2
  56. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  57. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  58. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
  59. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  61. package/dist/.pikku/schemas/register.gen.js +15 -3
  62. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  63. package/dist/.pikku/schemas/schemas/PikkuGatewayOutput.schema.json +1 -0
  64. package/dist/.pikku/schemas/schemas/PikkuNewAddonInput.schema.json +1 -0
  65. package/dist/.pikku/schemas/schemas/PikkuNewFunctionInput.schema.json +1 -0
  66. package/dist/.pikku/schemas/schemas/PikkuNewMiddlewareInput.schema.json +1 -0
  67. package/dist/.pikku/schemas/schemas/PikkuNewPermissionInput.schema.json +1 -0
  68. package/dist/.pikku/schemas/schemas/PikkuNewWiringInput.schema.json +1 -0
  69. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  70. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  71. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  72. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  73. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  74. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  75. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  76. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  77. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  78. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  79. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  80. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  81. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
  82. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  83. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  84. package/dist/src/cli.wiring.js +236 -9
  85. package/dist/src/functions/commands/all.js +13 -8
  86. package/dist/src/functions/commands/enable.d.ts +4 -0
  87. package/dist/src/functions/commands/enable.js +39 -0
  88. package/dist/src/functions/commands/info.d.ts +9 -0
  89. package/dist/src/functions/commands/info.js +283 -0
  90. package/dist/src/functions/commands/new-addon.d.ts +34 -0
  91. package/dist/src/functions/commands/new-addon.js +636 -0
  92. package/dist/src/functions/commands/new-function.d.ts +10 -0
  93. package/dist/src/functions/commands/new-function.js +79 -0
  94. package/dist/src/functions/commands/new-middleware.d.ts +10 -0
  95. package/dist/src/functions/commands/new-middleware.js +48 -0
  96. package/dist/src/functions/commands/new-permission.d.ts +10 -0
  97. package/dist/src/functions/commands/new-permission.js +45 -0
  98. package/dist/src/functions/commands/new-wiring.d.ts +10 -0
  99. package/dist/src/functions/commands/new-wiring.js +102 -0
  100. package/dist/src/functions/commands/pikku-command-bootstrap.js +11 -40
  101. package/dist/src/functions/commands/versions-check.js +85 -3
  102. package/dist/src/functions/commands/versions-update.js +1 -1
  103. package/dist/src/functions/runtimes/fetch/index.js +2 -1
  104. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +4 -1
  105. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +0 -4
  106. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.js +2 -1
  107. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +3 -2
  108. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +5 -5
  109. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +3 -5
  110. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +1 -1
  111. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -1
  112. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +48 -3
  113. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +30 -52
  114. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  115. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +2 -2
  116. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  117. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +4 -4
  118. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  119. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +2 -2
  120. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +1 -1
  121. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +1 -1
  122. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +4 -5
  123. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +2 -2
  124. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -1
  125. package/dist/src/functions/wirings/console/serialize-console-functions.js +18 -157
  126. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -0
  127. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +33 -0
  128. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
  129. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +4 -4
  130. package/dist/src/functions/wirings/functions/pikku-command-functions.js +8 -14
  131. package/dist/src/functions/wirings/functions/schemas.js +1 -1
  132. package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +1 -0
  133. package/dist/src/functions/wirings/functions/{serialize-external-types.js → serialize-addon-types.js} +16 -15
  134. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +3 -3
  135. package/dist/src/functions/wirings/functions/serialize-function-imports.js +3 -3
  136. package/dist/src/functions/wirings/functions/serialize-function-types.js +28 -14
  137. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  138. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +2 -2
  139. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -0
  140. package/dist/src/functions/wirings/gateway/pikku-command-gateway.js +22 -0
  141. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  142. package/dist/src/functions/wirings/http/pikku-http-routes.js +1 -1
  143. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +3 -3
  144. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +1 -1
  145. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +1 -1
  146. package/dist/src/functions/wirings/package/pikku-command-package.js +5 -5
  147. package/dist/src/functions/wirings/package/serialize-package.js +2 -2
  148. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +0 -5
  149. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -1
  150. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +2 -2
  151. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +1 -1
  152. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +3 -5
  153. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +3 -5
  154. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -1
  155. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +6 -6
  156. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +2 -4
  157. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +25 -16
  158. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +43 -7
  159. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +8 -3
  160. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +41 -31
  161. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  162. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +2 -2
  163. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +1 -1
  164. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +2 -2
  165. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +2 -2
  166. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +5 -12
  167. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +2 -2
  168. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +2 -2
  169. package/dist/src/services/cli-logger-forwarder.service.d.ts +4 -3
  170. package/dist/src/services/cli-logger.service.d.ts +3 -2
  171. package/dist/src/services.d.ts +4 -3
  172. package/dist/src/services.js +14 -3
  173. package/dist/src/utils/check-required-types.d.ts +1 -1
  174. package/dist/src/utils/contract-versions.d.ts +1 -1
  175. package/dist/src/utils/file-writer.d.ts +6 -1
  176. package/dist/src/utils/file-writer.js +14 -1
  177. package/dist/src/utils/generate-bootstrap-file.d.ts +2 -2
  178. package/dist/src/utils/openapi/codegen.d.ts +19 -0
  179. package/dist/src/utils/openapi/codegen.js +288 -0
  180. package/dist/src/utils/openapi/naming.d.ts +30 -0
  181. package/dist/src/utils/openapi/naming.js +167 -0
  182. package/dist/src/utils/openapi/parse-openapi.d.ts +36 -0
  183. package/dist/src/utils/openapi/parse-openapi.js +196 -0
  184. package/dist/src/utils/openapi/zod-codegen.d.ts +53 -0
  185. package/dist/src/utils/openapi/zod-codegen.js +251 -0
  186. package/dist/src/utils/pikku-cli-config.d.ts +2 -2
  187. package/dist/src/utils/pikku-cli-config.js +51 -30
  188. package/dist/src/utils/pikku-files-and-methods.d.ts +1 -1
  189. package/dist/src/utils/pikku-files-and-methods.js +1 -1
  190. package/dist/src/utils/serialize-import-map.d.ts +2 -2
  191. package/dist/src/utils/serialize-import-map.js +1 -1
  192. package/dist/src/utils/serialize-meta-ts.js +1 -1
  193. package/dist/src/utils/serialize-schemas.d.ts +2 -2
  194. package/dist/tsconfig.tsbuildinfo +1 -1
  195. package/package.json +4 -4
  196. package/console-app/assets/index-C19L3UJu.js +0 -637
  197. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +0 -1
  198. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +0 -33
  199. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.0
2
+ * This file was generated by @pikku/cli@0.12.2
3
3
  */
4
- import { pikkuState } from '@pikku/core';
4
+ import { pikkuState } from '@pikku/core/internal';
5
5
  const workflowsMeta = {};
6
6
  pikkuState(null, 'workflows', 'meta', workflowsMeta);
@@ -1,4 +1,4 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.0
3
+ * This file was generated by @pikku/cli@0.12.2
4
4
  */
@@ -1,4 +1,4 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.0
3
+ * This file was generated by @pikku/cli@0.12.2
4
4
  */
@@ -12,6 +12,14 @@ import { watch } from './functions/commands/watch.js';
12
12
  import { consoleCommand } from './functions/commands/console.js';
13
13
  import { pikkuVersionsInit } from './functions/commands/versions-init.js';
14
14
  import { pikkuVersionsCheck } from './functions/commands/versions-check.js';
15
+ import { pikkuVersionsUpdate } from './functions/commands/versions-update.js';
16
+ import { pikkuNewFunction } from './functions/commands/new-function.js';
17
+ import { pikkuNewWiring } from './functions/commands/new-wiring.js';
18
+ import { pikkuNewMiddleware } from './functions/commands/new-middleware.js';
19
+ import { pikkuNewPermission } from './functions/commands/new-permission.js';
20
+ import { pikkuNewAddon } from './functions/commands/new-addon.js';
21
+ import { pikkuInfoFunctions, pikkuInfoTags, pikkuInfoMiddleware, pikkuInfoPermissions, } from './functions/commands/info.js';
22
+ import { enableRpc, enableConsole, enableAgent, enableWorkflow, } from './functions/commands/enable.js';
15
23
  // import { clientCLIRenderer } from './services.js'
16
24
  wireCLI({
17
25
  program: 'pikku',
@@ -119,18 +127,237 @@ wireCLI({
119
127
  func: pikkuNext,
120
128
  description: 'Generate Next.js backend and HTTP wrappers',
121
129
  }),
122
- init: pikkuCLICommand({
123
- func: pikkuVersionsInit,
124
- description: 'Initialize project',
130
+ enable: {
131
+ description: 'Enable Pikku features',
132
+ subcommands: {
133
+ rpc: pikkuCLICommand({
134
+ func: enableRpc,
135
+ description: 'Enable public RPC endpoint',
136
+ options: {
137
+ 'no-auth': {
138
+ description: 'Disable auth requirement',
139
+ default: false,
140
+ },
141
+ },
142
+ }),
143
+ console: pikkuCLICommand({
144
+ func: enableConsole,
145
+ description: 'Enable console functions',
146
+ options: {
147
+ 'no-auth': {
148
+ description: 'Disable auth requirement',
149
+ default: false,
150
+ },
151
+ },
152
+ }),
153
+ agent: pikkuCLICommand({
154
+ func: enableAgent,
155
+ description: 'Enable public agent endpoints',
156
+ options: {
157
+ 'no-auth': {
158
+ description: 'Disable auth requirement',
159
+ default: false,
160
+ },
161
+ },
162
+ }),
163
+ workflow: pikkuCLICommand({
164
+ func: enableWorkflow,
165
+ description: 'Enable workflow workers',
166
+ options: {
167
+ 'no-auth': {
168
+ description: 'Disable auth requirement',
169
+ default: false,
170
+ },
171
+ },
172
+ }),
173
+ },
174
+ },
175
+ new: {
176
+ description: 'Scaffold new functions and wirings',
177
+ subcommands: {
178
+ function: pikkuCLICommand({
179
+ func: pikkuNewFunction,
180
+ description: 'Create a new Pikku function file',
181
+ parameters: '<name>',
182
+ options: {
183
+ type: {
184
+ description: 'Function type: func, sessionless (default), or void',
185
+ short: 't',
186
+ default: 'sessionless',
187
+ },
188
+ },
189
+ }),
190
+ wiring: pikkuCLICommand({
191
+ func: pikkuNewWiring,
192
+ description: 'Create a new wiring file',
193
+ parameters: '<name>',
194
+ options: {
195
+ type: {
196
+ description: 'Wiring type: http (default), channel, scheduler, queue, mcp, cli, or trigger',
197
+ short: 't',
198
+ default: 'http',
199
+ },
200
+ },
201
+ }),
202
+ middleware: pikkuCLICommand({
203
+ func: pikkuNewMiddleware,
204
+ description: 'Create a new middleware file',
205
+ parameters: '<name>',
206
+ options: {
207
+ type: {
208
+ description: 'Middleware type: simple (default) or factory',
209
+ short: 't',
210
+ default: 'simple',
211
+ },
212
+ },
213
+ }),
214
+ permission: pikkuCLICommand({
215
+ func: pikkuNewPermission,
216
+ description: 'Create a new permission file',
217
+ parameters: '<name>',
218
+ options: {
219
+ type: {
220
+ description: 'Permission type: simple (default) or factory',
221
+ short: 't',
222
+ default: 'simple',
223
+ },
224
+ },
225
+ }),
226
+ addon: pikkuCLICommand({
227
+ func: pikkuNewAddon,
228
+ description: 'Scaffold a new addon package',
229
+ parameters: '<name>',
230
+ options: {
231
+ displayName: {
232
+ description: 'Human-readable display name (defaults to PascalCase of name)',
233
+ },
234
+ description: {
235
+ description: 'Package description (defaults to "{displayName} integration for Pikku")',
236
+ },
237
+ category: {
238
+ description: 'Forge category (defaults to "General")',
239
+ default: 'General',
240
+ },
241
+ dir: {
242
+ description: 'Override output directory (defaults to scaffold.addonDir or cwd)',
243
+ short: 'd',
244
+ },
245
+ secret: {
246
+ description: 'Include secret schema file',
247
+ default: false,
248
+ },
249
+ variable: {
250
+ description: 'Include variable definition file',
251
+ default: false,
252
+ },
253
+ oauth: {
254
+ description: 'Include OAuth2 credential wiring and OAuth2Client-based API service',
255
+ default: false,
256
+ },
257
+ test: {
258
+ description: 'Include test harness (default: true)',
259
+ default: true,
260
+ },
261
+ openapi: {
262
+ description: 'Path to OpenAPI YAML/JSON spec to generate functions from',
263
+ },
264
+ },
265
+ }),
266
+ },
267
+ },
268
+ versions: {
269
+ description: 'Manage function contract versions',
270
+ subcommands: {
271
+ init: pikkuCLICommand({
272
+ func: pikkuVersionsInit,
273
+ description: 'Initialize the version manifest (versions.json)',
274
+ options: {
275
+ force: {
276
+ description: 'Overwrite existing manifest',
277
+ },
278
+ },
279
+ }),
280
+ check: pikkuCLICommand({
281
+ func: pikkuVersionsCheck,
282
+ description: 'Validate function contracts against the version manifest',
283
+ }),
284
+ update: pikkuCLICommand({
285
+ func: pikkuVersionsUpdate,
286
+ description: 'Update the version manifest with current contract hashes',
287
+ }),
288
+ },
289
+ },
290
+ info: pikkuCLICommand({
291
+ func: pikkuInfoFunctions,
292
+ description: 'Show information about Pikku project resources',
125
293
  options: {
126
- force: {
127
- description: 'Overwrite existing manifest',
294
+ limit: {
295
+ description: 'Maximum number of rows to display',
296
+ default: '50',
297
+ },
298
+ verbose: {
299
+ description: 'Show additional details (file paths, services, etc.)',
300
+ default: false,
128
301
  },
129
302
  },
130
- }),
131
- 'versions-check': pikkuCLICommand({
132
- func: pikkuVersionsCheck,
133
- description: 'Validate function contracts against the version manifest',
303
+ subcommands: {
304
+ functions: pikkuCLICommand({
305
+ func: pikkuInfoFunctions,
306
+ description: 'List all registered functions',
307
+ options: {
308
+ limit: {
309
+ description: 'Maximum number of rows to display',
310
+ default: '50',
311
+ },
312
+ verbose: {
313
+ description: 'Show additional details (type, middleware, file)',
314
+ default: false,
315
+ },
316
+ },
317
+ }),
318
+ tags: pikkuCLICommand({
319
+ func: pikkuInfoTags,
320
+ description: 'List all tags with associated functions, middleware, and permissions',
321
+ options: {
322
+ limit: {
323
+ description: 'Maximum number of rows to display',
324
+ default: '50',
325
+ },
326
+ verbose: {
327
+ description: 'Show names instead of counts',
328
+ default: false,
329
+ },
330
+ },
331
+ }),
332
+ middleware: pikkuCLICommand({
333
+ func: pikkuInfoMiddleware,
334
+ description: 'List all middleware definitions',
335
+ options: {
336
+ limit: {
337
+ description: 'Maximum number of rows to display',
338
+ default: '50',
339
+ },
340
+ verbose: {
341
+ description: 'Show additional details (sourceFile, services)',
342
+ default: false,
343
+ },
344
+ },
345
+ }),
346
+ permissions: pikkuCLICommand({
347
+ func: pikkuInfoPermissions,
348
+ description: 'List all permission definitions',
349
+ options: {
350
+ limit: {
351
+ description: 'Maximum number of rows to display',
352
+ default: '50',
353
+ },
354
+ verbose: {
355
+ description: 'Show additional details (sourceFile, services)',
356
+ default: false,
357
+ },
358
+ },
359
+ }),
360
+ },
134
361
  }),
135
362
  },
136
363
  });
@@ -16,7 +16,7 @@ export const all = pikkuVoidFunc({
16
16
  await rpc.invoke('pikkuFunctionTypesSplit', null);
17
17
  await rpc.invoke('pikkuTriggerTypes', null);
18
18
  await rpc.invoke('pikkuAIAgentTypes', null);
19
- if (!config.externalPackage) {
19
+ if (!config.addon) {
20
20
  await rpc.invoke('pikkuHTTPTypes', null);
21
21
  await rpc.invoke('pikkuChannelTypes', null);
22
22
  await rpc.invoke('pikkuSchedulerTypes', null);
@@ -41,7 +41,7 @@ export const all = pikkuVoidFunc({
41
41
  const agents = await rpc.invoke('pikkuAIAgent', null);
42
42
  if (agents) {
43
43
  allImports.push(config.agentWiringMetaFile, config.agentWiringsFile);
44
- if (config.agent?.publicAgentPath) {
44
+ if (config.scaffold?.agent) {
45
45
  await rpc.invoke('pikkuPublicAgent', null);
46
46
  }
47
47
  }
@@ -53,11 +53,11 @@ export const all = pikkuVoidFunc({
53
53
  await rpc.invoke('pikkuSecrets', null);
54
54
  await rpc.invoke('pikkuVariableDefinitionTypes', null);
55
55
  await rpc.invoke('pikkuVariables', null);
56
- await rpc.invoke('pikkuExternalTypes', null);
56
+ await rpc.invoke('pikkuAddonTypes', null);
57
57
  if (hasInternalRPCs) {
58
58
  allImports.push(config.rpcInternalWiringMetaFile);
59
59
  }
60
- if (agents || !config.externalPackage) {
60
+ if (agents || !config.addon) {
61
61
  await getInspectorState(true);
62
62
  }
63
63
  const schemas = await rpc.invoke('pikkuSchemas', null);
@@ -66,7 +66,7 @@ export const all = pikkuVoidFunc({
66
66
  }
67
67
  await rpc.invoke('pikkuRPCInternalMap', null);
68
68
  await rpc.invoke('pikkuRPCExposedMap', null);
69
- if (!config.externalPackage) {
69
+ if (!config.addon) {
70
70
  const http = await rpc.invoke('pikkuHTTP', null);
71
71
  if (http) {
72
72
  await rpc.invoke('pikkuHTTPMap', null);
@@ -84,7 +84,7 @@ export const all = pikkuVoidFunc({
84
84
  }
85
85
  const workflows = await rpc.invoke('pikkuWorkflow', null);
86
86
  let remoteRPC = false;
87
- if (!config.externalPackage) {
87
+ if (!config.addon) {
88
88
  remoteRPC = await rpc.invoke('pikkuRemoteRPC', null);
89
89
  }
90
90
  if (workflows || remoteRPC) {
@@ -99,7 +99,7 @@ export const all = pikkuVoidFunc({
99
99
  if (workflows) {
100
100
  allImports.push(config.workflowsWiringFile);
101
101
  }
102
- if (!config.externalPackage) {
102
+ if (!config.addon) {
103
103
  const queues = await rpc.invoke('pikkuQueue', null);
104
104
  if (queues) {
105
105
  await rpc.invoke('pikkuQueueMap', null);
@@ -112,6 +112,10 @@ export const all = pikkuVoidFunc({
112
112
  await rpc.invoke('pikkuWebSocketTyped', null);
113
113
  allImports.push(config.channelsWiringMetaFile, config.channelsWiringFile);
114
114
  }
115
+ const gateways = await rpc.invoke('pikkuGateway', null);
116
+ if (gateways) {
117
+ allImports.push(config.gatewaysWiringFile);
118
+ }
115
119
  const mcp = await rpc.invoke('pikkuMCP', null);
116
120
  if (mcp) {
117
121
  await rpc.invoke('pikkuMCPJSON', null);
@@ -124,7 +128,8 @@ export const all = pikkuVoidFunc({
124
128
  }
125
129
  }
126
130
  await rpc.invoke('pikkuNodesMeta', null);
127
- if (config.nextBackendFile || config.nextHTTPFile) {
131
+ if (config.clientFiles?.nextBackendFile ||
132
+ config.clientFiles?.nextHTTPFile) {
128
133
  await rpc.invoke('pikkuNext', null);
129
134
  }
130
135
  if (config.openAPI) {
@@ -0,0 +1,4 @@
1
+ export declare const enableRpc: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
2
+ export declare const enableConsole: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
3
+ export declare const enableAgent: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
4
+ export declare const enableWorkflow: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -0,0 +1,39 @@
1
+ import { readFile, writeFile } from 'fs/promises';
2
+ import { join } from 'path';
3
+ import { pikkuVoidFunc } from '#pikku';
4
+ const FEATURE_DEFAULTS = {
5
+ rpc: 'auth',
6
+ agent: 'auth',
7
+ console: 'no-auth',
8
+ workflow: 'auth',
9
+ };
10
+ async function enableFeature(feature, logger, config, data) {
11
+ const noAuth = data?.['no-auth'] ?? false;
12
+ const configPath = join(config.configDir, 'pikku.config.json');
13
+ const raw = await readFile(configPath, 'utf-8');
14
+ const json = JSON.parse(raw);
15
+ if (!json.scaffold) {
16
+ json.scaffold = {};
17
+ }
18
+ if (!json.scaffold.pikkuDir) {
19
+ json.scaffold.pikkuDir = 'pikku';
20
+ }
21
+ const value = noAuth
22
+ ? 'no-auth'
23
+ : FEATURE_DEFAULTS[feature];
24
+ json.scaffold[feature] = value;
25
+ await writeFile(configPath, JSON.stringify(json, null, 2) + '\n', 'utf-8');
26
+ logger.info(`Enabled scaffold.${feature} = '${value}' in ${configPath}`);
27
+ }
28
+ export const enableRpc = pikkuVoidFunc({
29
+ func: async ({ logger, config }, data) => enableFeature('rpc', logger, config, data),
30
+ });
31
+ export const enableConsole = pikkuVoidFunc({
32
+ func: async ({ logger, config }, data) => enableFeature('console', logger, config, data),
33
+ });
34
+ export const enableAgent = pikkuVoidFunc({
35
+ func: async ({ logger, config }, data) => enableFeature('agent', logger, config, data),
36
+ });
37
+ export const enableWorkflow = pikkuVoidFunc({
38
+ func: async ({ logger, config }, data) => enableFeature('workflow', logger, config, data),
39
+ });
@@ -0,0 +1,9 @@
1
+ type InfoInput = {
2
+ limit?: string;
3
+ verbose?: boolean;
4
+ };
5
+ export declare const pikkuInfoFunctions: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
6
+ export declare const pikkuInfoTags: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
7
+ export declare const pikkuInfoMiddleware: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
8
+ export declare const pikkuInfoPermissions: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
9
+ export {};