@pikku/cli 0.12.22 → 0.12.24

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 (79) hide show
  1. package/console-app/assets/{index-CAk106ji.js → index-BDOqBctb.js} +2 -2
  2. package/console-app/index.html +1 -1
  3. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  4. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  5. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  6. package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
  7. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  8. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  9. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  10. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  11. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  12. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  13. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  14. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  15. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  16. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  17. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  18. package/dist/.pikku/function/pikku-functions-meta.gen.json +161 -269
  19. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  20. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  21. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  22. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  23. package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +1 -62
  24. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -2
  25. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -2
  26. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  27. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  28. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  29. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  30. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  31. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  32. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  33. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  34. package/dist/.pikku/pikku-types.gen.js +1 -1
  35. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  36. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  37. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  38. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  39. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  40. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  41. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +14 -20
  42. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  43. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  44. package/dist/.pikku/schemas/register.gen.js +5 -23
  45. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  46. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  47. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  48. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  49. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  50. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  51. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  52. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  53. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  54. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  55. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  56. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  57. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  58. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  59. package/dist/bin/pikku-bin.mjs +2 -2
  60. package/dist/src/functions/commands/dev.js +17 -2
  61. package/dist/src/functions/db/local-db.js +1 -0
  62. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.js +1 -1
  63. package/dist/src/scaffold/rpc-remote.gen.js +1 -1
  64. package/dist/src/utils/serialize-schemas.js +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +2 -2
  67. package/skills/pikku-i18n/SKILL.md +15 -6
  68. package/skills/pikku-rtl/SKILL.md +38 -24
  69. package/dist/.pikku/schemas/schemas/GraphStarterInput.schema.json +0 -1
  70. package/dist/.pikku/schemas/schemas/GraphStarterOutput.schema.json +0 -1
  71. package/dist/.pikku/schemas/schemas/WorkflowRunStatus.schema.json +0 -1
  72. package/dist/.pikku/schemas/schemas/WorkflowRunnerInput.schema.json +0 -1
  73. package/dist/.pikku/schemas/schemas/WorkflowStarterInput.schema.json +0 -1
  74. package/dist/.pikku/schemas/schemas/WorkflowStarterOutput.schema.json +0 -1
  75. package/dist/.pikku/schemas/schemas/WorkflowStatusCheckerInput.schema.json +0 -1
  76. package/dist/.pikku/schemas/schemas/WorkflowStatusStreamFullInput.schema.json +0 -1
  77. package/dist/.pikku/schemas/schemas/WorkflowStatusStreamInput.schema.json +0 -1
  78. package/dist/src/scaffold/workflow-routes.gen.d.ts +0 -84
  79. package/dist/src/scaffold/workflow-routes.gen.js +0 -229
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import type { SingletonServices } from '../types/application-types.d.js';
5
5
  import type { Services } from '../types/application-types.d.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Main type export hub - re-exports all wiring-specific types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Main type export hub - re-exports all wiring-specific types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Queue-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Queue-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-queue-workers-wirings-meta.gen.json' with { type: 'json' };
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import '../../src/scaffold/rpc-remote.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /* The files with an addQueueWorkers function call */
5
5
  import '../../src/scaffold/rpc-remote.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-rpc-wirings-meta.internal.gen.json' with { type: 'json' };
@@ -8,14 +8,14 @@
8
8
  "pikkuQueueService": "pikkuQueueService",
9
9
  "pikkuOpenAPI": "pikkuOpenAPI",
10
10
  "pikkuNext": "pikkuNext",
11
- "pikkuAddonTypes": "pikkuAddonTypes",
12
- "pikkuWorkflow": "pikkuWorkflow",
13
- "pikkuCLITypes": "pikkuCLITypes",
14
- "pikkuBootstrap": "pikkuBootstrap",
15
11
  "pikkuInfoFunctions": "pikkuInfoFunctions",
16
12
  "pikkuInfoTags": "pikkuInfoTags",
17
13
  "pikkuInfoMiddleware": "pikkuInfoMiddleware",
18
14
  "pikkuInfoPermissions": "pikkuInfoPermissions",
15
+ "pikkuBootstrap": "pikkuBootstrap",
16
+ "pikkuCLITypes": "pikkuCLITypes",
17
+ "pikkuAddonTypes": "pikkuAddonTypes",
18
+ "pikkuWorkflow": "pikkuWorkflow",
19
19
  "FabricLogin": "FabricLogin",
20
20
  "FabricInit": "FabricInit",
21
21
  "FabricLink": "FabricLink",
@@ -87,31 +87,22 @@
87
87
  "pikkuMetaContext": "pikkuMetaContext",
88
88
  "pikkuMetaClients": "pikkuMetaClients",
89
89
  "remoteRPCHandler": "remoteRPCHandler",
90
- "workflowStarter": "workflowStarter",
91
- "workflowRunner": "workflowRunner",
92
- "workflowStatusChecker": "workflowStatusChecker",
93
- "workflowStatusStream": "workflowStatusStream",
94
- "workflowStatusStreamFull": "workflowStatusStreamFull",
95
- "graphStarter": "graphStarter",
96
90
  "pikkuSummary": "pikkuSummary",
97
- "pikkuAIAgentTypes": "pikkuAIAgentTypes",
98
- "pikkuAIAgent": "pikkuAIAgent",
99
- "pikkuPublicAgent": "pikkuPublicAgent",
100
91
  "pikkuChannels": "pikkuChannels",
101
92
  "pikkuChannelTypes": "pikkuChannelTypes",
102
93
  "pikkuChannelsMap": "pikkuChannelsMap",
103
94
  "pikkuCommandChannels": "pikkuCommandChannels",
104
- "pikkuConsoleFunctions": "pikkuConsoleFunctions",
105
- "pikkuNodeTypes": "pikkuNodeTypes",
106
- "pikkuNodesMeta": "pikkuNodesMeta",
107
95
  "pikkuCLIEntry": "pikkuCLIEntry",
108
96
  "pikkuCLI": "pikkuCLI",
109
97
  "pikkuCredentials": "pikkuCredentials",
98
+ "pikkuConsoleFunctions": "pikkuConsoleFunctions",
99
+ "pikkuNodeTypes": "pikkuNodeTypes",
100
+ "pikkuNodesMeta": "pikkuNodesMeta",
101
+ "pikkuGateway": "pikkuGateway",
110
102
  "pikkuFunctionTypesSplit": "pikkuFunctionTypesSplit",
111
103
  "pikkuFunctionTypes": "pikkuFunctionTypes",
112
104
  "pikkuFunctions": "pikkuFunctions",
113
105
  "pikkuServices": "pikkuServices",
114
- "pikkuGateway": "pikkuGateway",
115
106
  "pikkuHTTPMap": "pikkuHTTPMap",
116
107
  "pikkuCommandHTTP": "pikkuCommandHTTP",
117
108
  "pikkuHTTPTypes": "pikkuHTTPTypes",
@@ -130,16 +121,19 @@
130
121
  "pikkuQueueMap": "pikkuQueueMap",
131
122
  "pikkuQueue": "pikkuQueue",
132
123
  "pikkuEventsScaffold": "pikkuEventsScaffold",
124
+ "pikkuSchedulerTypes": "pikkuSchedulerTypes",
125
+ "pikkuScheduler": "pikkuScheduler",
133
126
  "pikkuPublicRPC": "pikkuPublicRPC",
134
127
  "pikkuRemoteRPC": "pikkuRemoteRPC",
135
128
  "pikkuRPCInternalMap": "pikkuRPCInternalMap",
136
129
  "pikkuRPCExposedMap": "pikkuRPCExposedMap",
137
130
  "pikkuRPC": "pikkuRPC",
138
- "pikkuSchedulerTypes": "pikkuSchedulerTypes",
139
- "pikkuScheduler": "pikkuScheduler",
140
131
  "pikkuSecrets": "pikkuSecrets",
141
132
  "pikkuTriggerTypes": "pikkuTriggerTypes",
142
133
  "pikkuTrigger": "pikkuTrigger",
143
134
  "pikkuVariables": "pikkuVariables",
144
- "pikkuWorkflowRoutes": "pikkuWorkflowRoutes"
135
+ "pikkuWorkflowRoutes": "pikkuWorkflowRoutes",
136
+ "pikkuAIAgentTypes": "pikkuAIAgentTypes",
137
+ "pikkuAIAgent": "pikkuAIAgent",
138
+ "pikkuPublicAgent": "pikkuPublicAgent"
145
139
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,13 +1,13 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { addSchema } from '@pikku/core/schema';
5
5
  import * as PikkuSchemasOutput from './schemas/PikkuSchemasOutput.schema.json' with { type: 'json' };
6
6
  addSchema('PikkuSchemasOutput', PikkuSchemasOutput);
7
- import * as PikkuWorkflowOutput from './schemas/PikkuWorkflowOutput.schema.json' with { type: 'json' };
8
- addSchema('PikkuWorkflowOutput', PikkuWorkflowOutput);
9
7
  import * as BootstrapInput from './schemas/BootstrapInput.schema.json' with { type: 'json' };
10
8
  addSchema('BootstrapInput', BootstrapInput);
9
+ import * as PikkuWorkflowOutput from './schemas/PikkuWorkflowOutput.schema.json' with { type: 'json' };
10
+ addSchema('PikkuWorkflowOutput', PikkuWorkflowOutput);
11
11
  import * as FabricLoginInput from './schemas/FabricLoginInput.schema.json' with { type: 'json' };
12
12
  addSchema('FabricLoginInput', FabricLoginInput);
13
13
  import * as FabricLoginOutput from './schemas/FabricLoginOutput.schema.json' with { type: 'json' };
@@ -170,24 +170,6 @@ import * as PikkuMetaClientsInput from './schemas/PikkuMetaClientsInput.schema.j
170
170
  addSchema('PikkuMetaClientsInput', PikkuMetaClientsInput);
171
171
  import * as RemoteRPCHandlerInput from './schemas/RemoteRPCHandlerInput.schema.json' with { type: 'json' };
172
172
  addSchema('RemoteRPCHandlerInput', RemoteRPCHandlerInput);
173
- import * as WorkflowStarterInput from './schemas/WorkflowStarterInput.schema.json' with { type: 'json' };
174
- addSchema('WorkflowStarterInput', WorkflowStarterInput);
175
- import * as WorkflowStarterOutput from './schemas/WorkflowStarterOutput.schema.json' with { type: 'json' };
176
- addSchema('WorkflowStarterOutput', WorkflowStarterOutput);
177
- import * as WorkflowRunnerInput from './schemas/WorkflowRunnerInput.schema.json' with { type: 'json' };
178
- addSchema('WorkflowRunnerInput', WorkflowRunnerInput);
179
- import * as WorkflowStatusCheckerInput from './schemas/WorkflowStatusCheckerInput.schema.json' with { type: 'json' };
180
- addSchema('WorkflowStatusCheckerInput', WorkflowStatusCheckerInput);
181
- import * as WorkflowRunStatus from './schemas/WorkflowRunStatus.schema.json' with { type: 'json' };
182
- addSchema('WorkflowRunStatus', WorkflowRunStatus);
183
- import * as WorkflowStatusStreamInput from './schemas/WorkflowStatusStreamInput.schema.json' with { type: 'json' };
184
- addSchema('WorkflowStatusStreamInput', WorkflowStatusStreamInput);
185
- import * as WorkflowStatusStreamFullInput from './schemas/WorkflowStatusStreamFullInput.schema.json' with { type: 'json' };
186
- addSchema('WorkflowStatusStreamFullInput', WorkflowStatusStreamFullInput);
187
- import * as GraphStarterInput from './schemas/GraphStarterInput.schema.json' with { type: 'json' };
188
- addSchema('GraphStarterInput', GraphStarterInput);
189
- import * as GraphStarterOutput from './schemas/GraphStarterOutput.schema.json' with { type: 'json' };
190
- addSchema('GraphStarterOutput', GraphStarterOutput);
191
173
  import * as PikkuAIAgentOutput from './schemas/PikkuAIAgentOutput.schema.json' with { type: 'json' };
192
174
  addSchema('PikkuAIAgentOutput', PikkuAIAgentOutput);
193
175
  import * as PikkuPublicAgentOutput from './schemas/PikkuPublicAgentOutput.schema.json' with { type: 'json' };
@@ -218,12 +200,12 @@ import * as PikkuPackageOutput from './schemas/PikkuPackageOutput.schema.json' w
218
200
  addSchema('PikkuPackageOutput', PikkuPackageOutput);
219
201
  import * as PikkuPermissionsOutput from './schemas/PikkuPermissionsOutput.schema.json' with { type: 'json' };
220
202
  addSchema('PikkuPermissionsOutput', PikkuPermissionsOutput);
221
- import * as PikkuEventsScaffoldOutput from './schemas/PikkuEventsScaffoldOutput.schema.json' with { type: 'json' };
222
- addSchema('PikkuEventsScaffoldOutput', PikkuEventsScaffoldOutput);
223
203
  import * as PikkuCommandQueueOutput from './schemas/PikkuCommandQueueOutput.schema.json' with { type: 'json' };
224
204
  addSchema('PikkuCommandQueueOutput', PikkuCommandQueueOutput);
225
205
  import * as PikkuQueueOutput from './schemas/PikkuQueueOutput.schema.json' with { type: 'json' };
226
206
  addSchema('PikkuQueueOutput', PikkuQueueOutput);
207
+ import * as PikkuEventsScaffoldOutput from './schemas/PikkuEventsScaffoldOutput.schema.json' with { type: 'json' };
208
+ addSchema('PikkuEventsScaffoldOutput', PikkuEventsScaffoldOutput);
227
209
  import * as PikkuPublicRPCOutput from './schemas/PikkuPublicRPCOutput.schema.json' with { type: 'json' };
228
210
  addSchema('PikkuPublicRPCOutput', PikkuPublicRPCOutput);
229
211
  import * as PikkuRemoteRPCOutput from './schemas/PikkuRemoteRPCOutput.schema.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  export { wireSecret } from '@pikku/core/secret';
5
5
  export type { CoreSecret, SecretDefinitionMeta, SecretDefinitionsMeta } from '@pikku/core/secret';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  export { wireSecret } from '@pikku/core/secret';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  import type { SecretService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  const CREDENTIALS_META = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  export { wireVariable } from '@pikku/core/variable';
5
5
  export type { CoreVariable, VariableDefinitionMeta, VariableDefinitionsMeta } from '@pikku/core/variable';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  export { wireVariable } from '@pikku/core/variable';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  import type { VariablesService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  const VARIABLES_META = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { template } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { template } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import allWorkflowMeta from './meta/allWorkflow.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  import { addWorkflow } from '@pikku/core/workflow';
5
5
  import './pikku-workflow-wirings-meta.gen.js';
@@ -11,8 +11,8 @@ async function checkForUpdate() {
11
11
  })
12
12
  if (!res.ok) return
13
13
  const { version: latest } = await res.json()
14
- if (latest !== '0.12.22') {
15
- process.stderr.write(`\n Update available 0.12.22 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
14
+ if (latest !== '0.12.24') {
15
+ process.stderr.write(`\n Update available 0.12.24 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
16
16
  }
17
17
  } catch {}
18
18
  }
@@ -49,7 +49,22 @@ export const dev = pikkuSessionlessFunc({
49
49
  const previousRPCMeta = pikkuState(null, 'rpc', 'meta');
50
50
  const previousWorkflowsMeta = pikkuState(null, 'workflows', 'meta');
51
51
  const previousWorkflowRegistrations = pikkuState(null, 'workflows', 'registrations');
52
- pikkuState(null, 'package', 'singletonServices', commandSingletonServices);
52
+ // During hot-reload (when user services are already live), build a hybrid services
53
+ // object: user services (so in-flight requests keep kysely/content/etc.) overlaid
54
+ // with the CLI config (outDir, scaffold, schemaDirectory, etc. — required by
55
+ // allWorkflow for code generation paths). Replacing the entire services object with
56
+ // commandSingletonServices during hot-reload caused a race condition where concurrent
57
+ // auth requests saw CLI services (no kysely) and crashed.
58
+ const isHotReload = previousSingletonServices !== commandSingletonServices &&
59
+ !!previousSingletonServices;
60
+ const codegenServices = isHotReload
61
+ ? {
62
+ ...previousSingletonServices,
63
+ config: commandSingletonServices?.config ??
64
+ previousSingletonServices.config,
65
+ }
66
+ : commandSingletonServices;
67
+ pikkuState(null, 'package', 'singletonServices', codegenServices);
53
68
  pikkuState(null, 'function', 'functions', new Map([...previousFunctions.entries(), ...commandFunctions.entries()]));
54
69
  pikkuState(null, 'function', 'meta', {
55
70
  ...previousFunctionMeta,
@@ -98,7 +113,7 @@ export const dev = pikkuSessionlessFunc({
98
113
  const userCreateConfig = configModule[pikkuConfigFactory.variable];
99
114
  const userCreateSingletonServices = servicesModule[singletonServicesFactory.variable];
100
115
  const userConfig = await userCreateConfig();
101
- const resolvedLocalDb = resolveLocalDb(userConfig.dev?.db, config.rootDir, config.outDir, config.runtimeDir);
116
+ const resolvedLocalDb = resolveLocalDb(userConfig.dev?.db ?? true, config.rootDir, config.outDir, config.runtimeDir);
102
117
  const kysely = resolvedLocalDb
103
118
  ? await createKysely(resolvedLocalDb)
104
119
  : undefined;
@@ -90,6 +90,7 @@ export function reset(resolved, rootDir) {
90
90
  * Wires the coercion plugin when db/coercion.gen.ts exists.
91
91
  */
92
92
  export async function createKysely(resolved) {
93
+ mkdirSync(dirname(resolved.dbFile), { recursive: true });
93
94
  let coercionMap;
94
95
  try {
95
96
  const mod = await import(resolved.coercionFile);
@@ -16,7 +16,7 @@ export const pikkuTanStackStart = pikkuSessionlessFunc({
16
16
  return;
17
17
  }
18
18
  if (!rpcWiringsFile) {
19
- logger.warn("Skipping TanStack Start shim: startServerFnsFile is set but rpcWiringsFile is not — the shim imports the PikkuRPC class from rpcWiringsFile.");
19
+ logger.warn('Skipping TanStack Start shim: startServerFnsFile is set but rpcWiringsFile is not — the shim imports the PikkuRPC class from rpcWiringsFile.');
20
20
  return;
21
21
  }
22
22
  const rpcWiringsPath = getFileImportRelativePath(startServerFnsFile, rpcWiringsFile, packageMappings);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.22
2
+ * This file was generated by @pikku/cli@0.12.24
3
3
  */
4
4
  /**
5
5
  * Auto-generated remote internal RPC queue worker and HTTP endpoint
@@ -1,7 +1,7 @@
1
1
  import { writeFileInDir } from './file-writer.js';
2
2
  import { mkdir, writeFile } from 'fs/promises';
3
3
  function toValidIdentifier(name) {
4
- let result = name.replace(/[-./]/g, '_');
4
+ let result = name.replace(/[-./: ]/g, '_');
5
5
  if (/^\d/.test(result)) {
6
6
  result = '_' + result;
7
7
  }
@@ -1 +1 @@
1
- {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/deploy/build-pipeline.ts","../src/deploy/provider-adapter.ts","../src/deploy/server-entry.ts","../src/deploy/analyzer/analyzer.ts","../src/deploy/analyzer/index.ts","../src/deploy/analyzer/manifest.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/types.ts","../src/deploy/codegen/index.ts","../src/deploy/codegen/per-unit-codegen.ts","../src/deploy/plan/executor.ts","../src/deploy/plan/formatter.ts","../src/deploy/plan/index.ts","../src/deploy/plan/planner.ts","../src/deploy/plan/provider.ts","../src/deploy/plan/types.ts","../src/fabric/fabric-commands.ts","../src/fabric/functions/db-schema.function.ts","../src/fabric/functions/deploy-list.function.ts","../src/fabric/functions/deploy-units.function.ts","../src/fabric/functions/deploy.function.ts","../src/fabric/functions/domains-add.function.ts","../src/fabric/functions/domains-list.function.ts","../src/fabric/functions/domains-remove.function.ts","../src/fabric/functions/errors.function.ts","../src/fabric/functions/init.function.ts","../src/fabric/functions/link.function.ts","../src/fabric/functions/llm-key.function.ts","../src/fabric/functions/login.function.ts","../src/fabric/functions/logs.function.ts","../src/fabric/functions/metrics.function.ts","../src/fabric/functions/rollback.function.ts","../src/fabric/functions/secrets-list.function.ts","../src/fabric/functions/secrets-set.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate.function.ts","../src/fabric/lib/config.ts","../src/fabric/lib/console-url.ts","../src/fabric/lib/git.ts","../src/fabric/lib/http.ts","../src/fabric/lib/not-implemented.ts","../src/fabric/lib/output.ts","../src/fabric/lib/prompt.ts","../src/fabric/lib/stage.ts","../src/fabric/sdk/http-map.gen.d.ts","../src/fabric/sdk/pikku-fetch.gen.ts","../src/fabric/sdk/pikku-rpc.gen.ts","../src/fabric/sdk/rpc-map.gen.d.ts","../src/functions/commands/all.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/console.ts","../src/functions/commands/db-migrate.ts","../src/functions/commands/db-reset.ts","../src/functions/commands/db-seed.ts","../src/functions/commands/db-shared.ts","../src/functions/commands/deploy-apply.ts","../src/functions/commands/deploy-info.ts","../src/functions/commands/deploy-plan.ts","../src/functions/commands/dev.ts","../src/functions/commands/enable.ts","../src/functions/commands/info.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/meta.ts","../src/functions/commands/new-addon.ts","../src/functions/commands/new-function.ts","../src/functions/commands/new-middleware.ts","../src/functions/commands/new-permission.ts","../src/functions/commands/new-wiring.ts","../src/functions/commands/pikku-command-bootstrap.ts","../src/functions/commands/pikku-command-summary.ts","../src/functions/commands/skills.ts","../src/functions/commands/tests-coverage.ts","../src/functions/commands/tests-init.ts","../src/functions/commands/versions-check.ts","../src/functions/commands/versions-init.ts","../src/functions/commands/versions-update.ts","../src/functions/commands/watch.ts","../src/functions/db/local-db.ts","../src/functions/db/seed.ts","../src/functions/db/sql-migrator.ts","../src/functions/db/sqlite-codegen.ts","../src/functions/db/zod-codegen.ts","../src/functions/runtimes/fetch/index.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.ts","../src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.ts","../src/functions/runtimes/websocket/pikku-command-websocket-typed.ts","../src/functions/runtimes/websocket/serialize-websocket-wrapper.ts","../src/functions/wirings/ai-agent/pikku-command-ai-agent-types.ts","../src/functions/wirings/ai-agent/pikku-command-ai-agent.ts","../src/functions/wirings/ai-agent/pikku-command-public-agent.ts","../src/functions/wirings/ai-agent/serialize-agent-map.ts","../src/functions/wirings/ai-agent/serialize-ai-agent-types.ts","../src/functions/wirings/ai-agent/serialize-public-agent.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/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.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/console/pikku-command-console-functions.ts","../src/functions/wirings/console/pikku-command-node-types.ts","../src/functions/wirings/console/pikku-command-nodes-meta.ts","../src/functions/wirings/console/serialize-console-functions.ts","../src/functions/wirings/console/serialize-node-types.ts","../src/functions/wirings/credentials/pikku-command-credentials.ts","../src/functions/wirings/credentials/serialize-credentials-types.ts","../src/functions/wirings/functions/pikku-command-addon-types.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/schemas.ts","../src/functions/wirings/functions/serialize-addon-types.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/gateway/pikku-command-gateway.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-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/package/pikku-command-package-types.ts","../src/functions/wirings/package/pikku-command-package.ts","../src/functions/wirings/package/serialize-package-types.ts","../src/functions/wirings/package/serialize-package.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/realtime/pikku-command-events-scaffold.ts","../src/functions/wirings/realtime/pikku-command-realtime.ts","../src/functions/wirings/realtime/serialize-events-scaffold.ts","../src/functions/wirings/realtime/serialize-realtime-client.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-react-query.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-react-query-hooks.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/secrets/pikku-command-secrets.ts","../src/functions/wirings/secrets/serialize-secrets-types.ts","../src/functions/wirings/triggers/pikku-command-trigger-types.ts","../src/functions/wirings/triggers/pikku-command-trigger.ts","../src/functions/wirings/triggers/serialize-trigger-meta.ts","../src/functions/wirings/triggers/serialize-trigger-types.ts","../src/functions/wirings/variables/pikku-command-variables.ts","../src/functions/wirings/variables/serialize-variables-types.ts","../src/functions/wirings/workflow/pikku-command-workflow-routes.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-bootstrap-map.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-registration.ts","../src/functions/wirings/workflow/serialize-workflow-routes.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/workflows/all.workflow.ts","../src/middleware/log-command-info-and-time.ts","../src/scaffold/rpc-remote.gen.ts","../src/scaffold/workflow-routes.gen.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/contract-versions.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/parse-cli-filters.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-meta-service.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/agent/pikku-agent-map.gen.d.ts","../.pikku/agent/pikku-agent-types.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/cli/pikku-cli-channel.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/console/pikku-node-types.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.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/node/pikku-node-types.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-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/schemas/register.gen.ts","../.pikku/secrets/pikku-secret-types.gen.ts","../.pikku/secrets/pikku-secrets.gen.ts","../.pikku/trigger/pikku-trigger-types.gen.ts","../.pikku/variables/pikku-variable-types.gen.ts","../.pikku/variables/pikku-variables.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/deploy/build-pipeline.ts","../src/deploy/provider-adapter.ts","../src/deploy/server-entry.ts","../src/deploy/analyzer/analyzer.ts","../src/deploy/analyzer/index.ts","../src/deploy/analyzer/manifest.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/types.ts","../src/deploy/codegen/index.ts","../src/deploy/codegen/per-unit-codegen.ts","../src/deploy/plan/executor.ts","../src/deploy/plan/formatter.ts","../src/deploy/plan/index.ts","../src/deploy/plan/planner.ts","../src/deploy/plan/provider.ts","../src/deploy/plan/types.ts","../src/fabric/fabric-commands.ts","../src/fabric/functions/db-schema.function.ts","../src/fabric/functions/deploy-list.function.ts","../src/fabric/functions/deploy-units.function.ts","../src/fabric/functions/deploy.function.ts","../src/fabric/functions/domains-add.function.ts","../src/fabric/functions/domains-list.function.ts","../src/fabric/functions/domains-remove.function.ts","../src/fabric/functions/errors.function.ts","../src/fabric/functions/init.function.ts","../src/fabric/functions/link.function.ts","../src/fabric/functions/llm-key.function.ts","../src/fabric/functions/login.function.ts","../src/fabric/functions/logs.function.ts","../src/fabric/functions/metrics.function.ts","../src/fabric/functions/rollback.function.ts","../src/fabric/functions/secrets-list.function.ts","../src/fabric/functions/secrets-set.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate.function.ts","../src/fabric/lib/config.ts","../src/fabric/lib/console-url.ts","../src/fabric/lib/git.ts","../src/fabric/lib/http.ts","../src/fabric/lib/not-implemented.ts","../src/fabric/lib/output.ts","../src/fabric/lib/prompt.ts","../src/fabric/lib/stage.ts","../src/fabric/sdk/http-map.gen.d.ts","../src/fabric/sdk/pikku-fetch.gen.ts","../src/fabric/sdk/pikku-rpc.gen.ts","../src/fabric/sdk/rpc-map.gen.d.ts","../src/functions/commands/all.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/console.ts","../src/functions/commands/db-migrate.ts","../src/functions/commands/db-reset.ts","../src/functions/commands/db-seed.ts","../src/functions/commands/db-shared.ts","../src/functions/commands/deploy-apply.ts","../src/functions/commands/deploy-info.ts","../src/functions/commands/deploy-plan.ts","../src/functions/commands/dev.ts","../src/functions/commands/enable.ts","../src/functions/commands/info.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/meta.ts","../src/functions/commands/new-addon.ts","../src/functions/commands/new-function.ts","../src/functions/commands/new-middleware.ts","../src/functions/commands/new-permission.ts","../src/functions/commands/new-wiring.ts","../src/functions/commands/pikku-command-bootstrap.ts","../src/functions/commands/pikku-command-summary.ts","../src/functions/commands/skills.ts","../src/functions/commands/tests-coverage.ts","../src/functions/commands/tests-init.ts","../src/functions/commands/versions-check.ts","../src/functions/commands/versions-init.ts","../src/functions/commands/versions-update.ts","../src/functions/commands/watch.ts","../src/functions/db/local-db.ts","../src/functions/db/seed.ts","../src/functions/db/sql-migrator.ts","../src/functions/db/sqlite-codegen.ts","../src/functions/db/zod-codegen.ts","../src/functions/runtimes/fetch/index.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.ts","../src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.ts","../src/functions/runtimes/websocket/pikku-command-websocket-typed.ts","../src/functions/runtimes/websocket/serialize-websocket-wrapper.ts","../src/functions/wirings/ai-agent/pikku-command-ai-agent-types.ts","../src/functions/wirings/ai-agent/pikku-command-ai-agent.ts","../src/functions/wirings/ai-agent/pikku-command-public-agent.ts","../src/functions/wirings/ai-agent/serialize-agent-map.ts","../src/functions/wirings/ai-agent/serialize-ai-agent-types.ts","../src/functions/wirings/ai-agent/serialize-public-agent.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/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.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/console/pikku-command-console-functions.ts","../src/functions/wirings/console/pikku-command-node-types.ts","../src/functions/wirings/console/pikku-command-nodes-meta.ts","../src/functions/wirings/console/serialize-console-functions.ts","../src/functions/wirings/console/serialize-node-types.ts","../src/functions/wirings/credentials/pikku-command-credentials.ts","../src/functions/wirings/credentials/serialize-credentials-types.ts","../src/functions/wirings/functions/pikku-command-addon-types.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/schemas.ts","../src/functions/wirings/functions/serialize-addon-types.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/gateway/pikku-command-gateway.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-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/package/pikku-command-package-types.ts","../src/functions/wirings/package/pikku-command-package.ts","../src/functions/wirings/package/serialize-package-types.ts","../src/functions/wirings/package/serialize-package.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/realtime/pikku-command-events-scaffold.ts","../src/functions/wirings/realtime/pikku-command-realtime.ts","../src/functions/wirings/realtime/serialize-events-scaffold.ts","../src/functions/wirings/realtime/serialize-realtime-client.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-react-query.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-react-query-hooks.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/secrets/pikku-command-secrets.ts","../src/functions/wirings/secrets/serialize-secrets-types.ts","../src/functions/wirings/triggers/pikku-command-trigger-types.ts","../src/functions/wirings/triggers/pikku-command-trigger.ts","../src/functions/wirings/triggers/serialize-trigger-meta.ts","../src/functions/wirings/triggers/serialize-trigger-types.ts","../src/functions/wirings/variables/pikku-command-variables.ts","../src/functions/wirings/variables/serialize-variables-types.ts","../src/functions/wirings/workflow/pikku-command-workflow-routes.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-bootstrap-map.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-registration.ts","../src/functions/wirings/workflow/serialize-workflow-routes.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/workflows/all.workflow.ts","../src/middleware/log-command-info-and-time.ts","../src/scaffold/rpc-remote.gen.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/contract-versions.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/parse-cli-filters.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-meta-service.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/agent/pikku-agent-map.gen.d.ts","../.pikku/agent/pikku-agent-types.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/cli/pikku-cli-channel.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/console/pikku-node-types.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.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/node/pikku-node-types.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-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/schemas/register.gen.ts","../.pikku/secrets/pikku-secret-types.gen.ts","../.pikku/secrets/pikku-secrets.gen.ts","../.pikku/trigger/pikku-trigger-types.gen.ts","../.pikku/variables/pikku-variable-types.gen.ts","../.pikku/variables/pikku-variables.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,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/cli",
3
- "version": "0.12.22",
3
+ "version": "0.12.24",
4
4
  "author": "yasser.fadl@gmail.com",
5
5
  "license": "BUSL-1.1",
6
6
  "imports": {
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@openapi-contrib/json-schema-to-openapi-schema": "^4.3.1",
29
- "@pikku/core": "^0.12.21",
29
+ "@pikku/core": "^0.12.23",
30
30
  "@pikku/deploy-cloudflare": "^0.12.3",
31
31
  "@pikku/fetch": "^0.12.2",
32
32
  "@pikku/inspector": "^0.12.12",
@@ -12,7 +12,7 @@ Use this skill as an execution checklist, not reference material.
12
12
 
13
13
  1. Every user-facing string in a frontend is a token. Never hardcode display text — write `t('some.token')` and put the English copy in `i18n/en.json`. This holds even when the app ships only English; the tokens are the seam a second language slots into later.
14
14
  2. One `i18n/<lang>.json` file per language per app, sitting next to the i18n config in a single `i18n/` folder. English (`en`) is the default and is the only locale registered until someone adds another.
15
- 3. Pick the delivery pattern by framework (see below). The token files and config shape are identical across frameworks; only *how the active locale reaches the renderer* differs.
15
+ 3. Pick the delivery pattern by framework (see below). The token files and config shape are identical across frameworks; only _how the active locale reaches the renderer_ differs.
16
16
  4. Validate with the app's own `tsc` then its `build`. For Next.js, a clean `dev` is not enough — run `build`, because the RSC page-data collection step is where i18n wiring mistakes surface.
17
17
 
18
18
  ## The rules that don't change
@@ -38,21 +38,22 @@ deploy. `vite build` does not type-check on its own, so this gate is the only
38
38
  thing standing between a broken/missing token and production. Keep a `"tsc":
39
39
  "tsc --noEmit"` script in every frontend's `package.json` so the gate uses it.
40
40
 
41
- The type gate catches *invalid* tokens but not *inlined* strings — a hardcoded
41
+ The type gate catches _invalid_ tokens but not _inlined_ strings — a hardcoded
42
42
  `<h1>Welcome</h1>` compiles fine. Catching those is best-effort (the builder
43
43
  agent is told never to inline) plus the debug mode below.
44
44
 
45
45
  ## i18n debug mode (find inlined strings)
46
46
 
47
47
  Each config registers an i18next `postProcessor` named `i18nDebug` that, when
48
- enabled, masks every *translated* string to block glyphs (`█`). The trick: with
48
+ enabled, masks every _translated_ string to block glyphs (`█`). The trick: with
49
49
  it on, anything still readable on screen is text that **never went through a
50
50
  token** — i.e. a hardcoded/inlined string. It's a visual leak detector for
51
51
  missing i18n, not a runtime feature, so it ships **off by default**.
52
52
 
53
53
  ```ts
54
54
  export function isI18nDebug(): boolean {
55
- if (typeof process !== 'undefined' && process.env?.I18N_DEBUG === '1') return true
55
+ if (typeof process !== 'undefined' && process.env?.I18N_DEBUG === '1')
56
+ return true
56
57
  if (typeof window === 'undefined') return false
57
58
  const params = new URLSearchParams(window.location.search)
58
59
  if (params.has('i18n-debug')) return params.get('i18n-debug') !== '0'
@@ -62,7 +63,8 @@ export function isI18nDebug(): boolean {
62
63
  const i18nDebugPostProcessor = {
63
64
  type: 'postProcessor' as const,
64
65
  name: 'i18nDebug',
65
- process: (value: string) => (isI18nDebug() ? value.replace(/\S/g, '█') : value),
66
+ process: (value: string) =>
67
+ isI18nDebug() ? value.replace(/\S/g, '█') : value,
66
68
  }
67
69
  // register on the instance: `.use(i18nDebugPostProcessor)` and add
68
70
  // `postProcess: ['i18nDebug']` to `.init({ ... })`.
@@ -109,7 +111,10 @@ export function detectLocale(pathname: string): Locale {
109
111
 
110
112
  i18n.use(initReactI18next).init({
111
113
  resources: { en: { translation: en } },
112
- lng: typeof window !== 'undefined' ? detectLocale(window.location.pathname) : defaultLocale,
114
+ lng:
115
+ typeof window !== 'undefined'
116
+ ? detectLocale(window.location.pathname)
117
+ : defaultLocale,
113
118
  fallbackLng: defaultLocale,
114
119
  interpolation: { escapeValue: false },
115
120
  })
@@ -137,12 +142,15 @@ export const prettyStatus = (s: string) => i18n.t(`status.${s}`)
137
142
  ## Per-framework delivery
138
143
 
139
144
  ### Vite SPA
145
+
140
146
  The config above is the whole story. `import './i18n/config'` in `main.tsx`; `useTranslation` everywhere.
141
147
 
142
148
  ### Vite SSR (`@cloudflare/vite-plugin` / Worker)
149
+
143
150
  Same config, but `import './i18n/config'` in **both** the worker entry (`worker.tsx`) and the client entry (`client.tsx`) so the global i18next instance is initialised on each side before `<App/>` renders. The locale JSON is bundled into the Worker (a static import, not a fetch — the Worker never has to fetch its own assets). The shared `<App/>` uses `useTranslation` normally.
144
151
 
145
152
  ### Next.js app-router — server components
153
+
146
154
  Server components **cannot** call `useTranslation`, and they **must not** import `initReactI18next`: it calls React's `createContext`, which throws during RSC page-data collection (`(0 , Y.createContext) is not a function` at build). Use a plain i18next instance and a fixed translator instead.
147
155
 
148
156
  `app/i18n/config.ts`:
@@ -192,6 +200,7 @@ export default function Page() {
192
200
  This works in both `output: 'export'` (static) and dynamic SSR — the static export pre-renders translated HTML at build time.
193
201
 
194
202
  ### Next.js app-router — client components
203
+
195
204
  A `'use client'` component that needs the hook uses the standard `initReactI18next` instance behind an `I18nextProvider`, kept separate from the server `app/i18n/config.ts`. Most starter pages are server components and never need this.
196
205
 
197
206
  ## Adding a second language