@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.
- package/console-app/assets/{index-CAk106ji.js → index-BDOqBctb.js} +2 -2
- package/console-app/index.html +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +161 -269
- package/dist/.pikku/function/pikku-functions.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +1 -62
- package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -2
- package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -2
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +1 -1
- package/dist/.pikku/pikku-types.gen.d.ts +1 -1
- package/dist/.pikku/pikku-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +14 -20
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +5 -23
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/bin/pikku-bin.mjs +2 -2
- package/dist/src/functions/commands/dev.js +17 -2
- package/dist/src/functions/db/local-db.js +1 -0
- package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.js +1 -1
- package/dist/src/scaffold/rpc-remote.gen.js +1 -1
- package/dist/src/utils/serialize-schemas.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/skills/pikku-i18n/SKILL.md +15 -6
- package/skills/pikku-rtl/SKILL.md +38 -24
- package/dist/.pikku/schemas/schemas/GraphStarterInput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/GraphStarterOutput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowRunStatus.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowRunnerInput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowStarterInput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowStarterOutput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowStatusCheckerInput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowStatusStreamFullInput.schema.json +0 -1
- package/dist/.pikku/schemas/schemas/WorkflowStatusStreamInput.schema.json +0 -1
- package/dist/src/scaffold/workflow-routes.gen.d.ts +0 -84
- package/dist/src/scaffold/workflow-routes.gen.js +0 -229
|
@@ -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,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.12.
|
|
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.
|
|
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';
|
package/dist/bin/pikku-bin.mjs
CHANGED
|
@@ -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.
|
|
15
|
-
process.stderr.write(`\n Update available 0.12.
|
|
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
|
-
|
|
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(
|
|
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,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(/[
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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')
|
|
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) =>
|
|
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:
|
|
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
|