@pikku/cli 0.12.141 → 0.12.143
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/CHANGELOG.md +47 -0
- package/dist/.pikku/addon/index.d.ts +1 -1
- package/dist/.pikku/addon/index.js +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
- package/dist/.pikku/agent/index.d.ts +1 -1
- package/dist/.pikku/agent/index.js +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
- package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
- package/dist/.pikku/auth/index.d.ts +1 -1
- package/dist/.pikku/auth/index.js +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
- package/dist/.pikku/channel/index.d.ts +1 -1
- package/dist/.pikku/channel/index.js +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/index.d.ts +1 -1
- package/dist/.pikku/cli/index.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.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/error/index.d.ts +1 -1
- package/dist/.pikku/error/index.js +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
- package/dist/.pikku/function/index.d.ts +1 -1
- package/dist/.pikku/function/index.js +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 +2 -2
- package/dist/.pikku/function/pikku-functions.gen.js +1 -1
- package/dist/.pikku/gateway/index.d.ts +1 -1
- package/dist/.pikku/gateway/index.js +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
- package/dist/.pikku/http/index.d.ts +1 -1
- package/dist/.pikku/http/index.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/mcp/index.d.ts +1 -1
- package/dist/.pikku/mcp/index.js +1 -1
- 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/middleware/index.d.ts +1 -1
- package/dist/.pikku/middleware/index.js +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.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-services.gen.d.ts +1 -1
- package/dist/.pikku/queue/index.d.ts +1 -1
- package/dist/.pikku/queue/index.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/scenarios/index.d.ts +1 -1
- package/dist/.pikku/scenarios/index.js +1 -1
- package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
- package/dist/.pikku/scheduler/index.d.ts +1 -1
- package/dist/.pikku/scheduler/index.js +1 -1
- 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 +1 -1
- package/dist/.pikku/scopes/index.d.ts +1 -1
- package/dist/.pikku/scopes/index.js +1 -1
- package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
- package/dist/.pikku/secrets/index.d.ts +1 -1
- package/dist/.pikku/secrets/index.js +1 -1
- 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/services/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/setup/index.d.ts +1 -1
- package/dist/.pikku/setup/index.js +1 -1
- package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
- package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
- package/dist/.pikku/trigger/index.d.ts +1 -1
- package/dist/.pikku/trigger/index.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/index.d.ts +1 -1
- package/dist/.pikku/variables/index.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/index.d.ts +1 -1
- package/dist/.pikku/workflow/index.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/deploy/analyzer/analyzer.js +29 -0
- package/dist/src/functions/commands/dev.js +12 -18
- package/dist/src/functions/commands/serve.js +12 -18
- package/dist/src/functions/db/local-db.js +15 -1
- package/package.json +4 -4
- package/surface.json +1 -1
|
@@ -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.143
|
|
3
3
|
*/
|
|
4
4
|
import { WorkflowCancelledException } from '@pikku/core/workflow';
|
|
5
5
|
import type { PikkuWorkflowGraphConfig, PikkuWorkflowGraphResult } from '@pikku/core/workflow';
|
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.143') {
|
|
15
|
+
process.stderr.write(`\n Update available 0.12.143 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
|
|
16
16
|
}
|
|
17
17
|
} catch {}
|
|
18
18
|
}
|
|
@@ -355,6 +355,35 @@ export function analyzeDeployment(state, options) {
|
|
|
355
355
|
});
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
+
// ── Step 9: Remote job inbox units bundle the work they dispatch ───
|
|
359
|
+
// The inbox runs a worker in-process, so it needs the worker's code in its
|
|
360
|
+
// own bundle. Any server-target worker pulls the inbox to server, since a
|
|
361
|
+
// server unit can host a serverless-compatible function but not the reverse.
|
|
362
|
+
const REMOTE_JOB_INBOX_SOURCES = {
|
|
363
|
+
runRemoteQueueJob: () => values(state.queueWorkers.meta).map((m) => m.pikkuFuncId),
|
|
364
|
+
runRemoteScheduledJob: () => values(state.scheduledTasks.meta).map((m) => m.pikkuFuncId),
|
|
365
|
+
};
|
|
366
|
+
for (const unit of units) {
|
|
367
|
+
if (unit.role !== 'function')
|
|
368
|
+
continue;
|
|
369
|
+
const source = REMOTE_JOB_INBOX_SOURCES[unit.functionIds[0] ?? ''];
|
|
370
|
+
if (!source || unit.functionIds.length !== 1)
|
|
371
|
+
continue;
|
|
372
|
+
const workerIds = [...new Set(source())].filter((id) => id && functionsMeta[id]);
|
|
373
|
+
if (workerIds.length === 0)
|
|
374
|
+
continue;
|
|
375
|
+
const targets = workerIds.map((id) => resolveDeployTarget(functionsMeta[id], serverlessIncompatible, id, defaultTarget));
|
|
376
|
+
unit.target = targets.includes('server') ? 'server' : 'serverless';
|
|
377
|
+
unit.functionIds = [...unit.functionIds, ...workerIds];
|
|
378
|
+
for (const id of workerIds) {
|
|
379
|
+
for (const service of collectServicesForFunction(functionsMeta[id])) {
|
|
380
|
+
if (!unit.services.some((s) => s.capability === service.capability &&
|
|
381
|
+
s.sourceServiceName === service.sourceServiceName)) {
|
|
382
|
+
unit.services.push(service);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
358
387
|
// ── Secrets & Variables ────────────────────────────────────────────
|
|
359
388
|
const readSecretIds = new Set();
|
|
360
389
|
const unresolvedSecretReads = [];
|
|
@@ -159,23 +159,17 @@ export const dev = pikkuSessionlessFunc({
|
|
|
159
159
|
? await createKysely(resolvedLocalDb)
|
|
160
160
|
: undefined;
|
|
161
161
|
const resolvedRuntimeDir = config.runtimeDir ?? join(config.rootDir, '.pikku-runtime');
|
|
162
|
-
const localContentConfig =
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const contentSigningJWT = localContentConfig
|
|
174
|
-
? createEphemeralContentSigningJWT()
|
|
175
|
-
: undefined;
|
|
176
|
-
const localContent = localContentConfig && contentSigningJWT
|
|
177
|
-
? new LocalContent(localContentConfig, logger, contentSigningJWT)
|
|
178
|
-
: undefined;
|
|
162
|
+
const localContentConfig = {
|
|
163
|
+
localFileUploadPath: userConfig.content?.contentPath
|
|
164
|
+
? resolve(config.rootDir, userConfig.content.contentPath)
|
|
165
|
+
: join(resolvedRuntimeDir, 'content'),
|
|
166
|
+
uploadUrlPrefix: userConfig.content?.uploadUrlPrefix ?? '/upload',
|
|
167
|
+
assetUrlPrefix: userConfig.content?.assetUrlPrefix ?? '/assets',
|
|
168
|
+
server: `http://${hostname}:${resolvedPort}`,
|
|
169
|
+
sizeLimit: userConfig.content?.sizeLimit,
|
|
170
|
+
};
|
|
171
|
+
const contentSigningJWT = createEphemeralContentSigningJWT();
|
|
172
|
+
const localContent = new LocalContent(localContentConfig, logger, contentSigningJWT);
|
|
179
173
|
const schedulerService = new InMemorySchedulerService();
|
|
180
174
|
const agentStorage = kysely
|
|
181
175
|
? new KyselyAgentStorageService(kysely)
|
|
@@ -236,7 +230,7 @@ export const dev = pikkuSessionlessFunc({
|
|
|
236
230
|
agentRunService,
|
|
237
231
|
eventHub,
|
|
238
232
|
...(kysely ? { kysely } : {}),
|
|
239
|
-
|
|
233
|
+
content: localContent,
|
|
240
234
|
};
|
|
241
235
|
const singletonServices = await userCreateSingletonServices(userConfig, {
|
|
242
236
|
...inMemoryServices,
|
|
@@ -62,23 +62,17 @@ export const serve = pikkuSessionlessFunc({
|
|
|
62
62
|
? await createKysely(resolvedLocalDb)
|
|
63
63
|
: undefined;
|
|
64
64
|
const resolvedRuntimeDir = config.runtimeDir ?? join(config.rootDir, '.pikku-runtime');
|
|
65
|
-
const localContentConfig =
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const contentSigningJWT = localContentConfig
|
|
77
|
-
? createEphemeralContentSigningJWT()
|
|
78
|
-
: undefined;
|
|
79
|
-
const localContent = localContentConfig && contentSigningJWT
|
|
80
|
-
? new LocalContent(localContentConfig, logger, contentSigningJWT)
|
|
81
|
-
: undefined;
|
|
65
|
+
const localContentConfig = {
|
|
66
|
+
localFileUploadPath: userConfig.content?.contentPath
|
|
67
|
+
? resolve(config.rootDir, userConfig.content.contentPath)
|
|
68
|
+
: join(resolvedRuntimeDir, 'content'),
|
|
69
|
+
uploadUrlPrefix: userConfig.content?.uploadUrlPrefix ?? '/upload',
|
|
70
|
+
assetUrlPrefix: userConfig.content?.assetUrlPrefix ?? '/assets',
|
|
71
|
+
server: `http://${hostname}:${resolvedPort}`,
|
|
72
|
+
sizeLimit: userConfig.content?.sizeLimit,
|
|
73
|
+
};
|
|
74
|
+
const contentSigningJWT = createEphemeralContentSigningJWT();
|
|
75
|
+
const localContent = new LocalContent(localContentConfig, logger, contentSigningJWT);
|
|
82
76
|
const schedulerService = new InMemorySchedulerService();
|
|
83
77
|
const agentStorage = kysely
|
|
84
78
|
? new KyselyAgentStorageService(kysely)
|
|
@@ -121,7 +115,7 @@ export const serve = pikkuSessionlessFunc({
|
|
|
121
115
|
agentRunService,
|
|
122
116
|
eventHub,
|
|
123
117
|
...(kysely ? { kysely } : {}),
|
|
124
|
-
|
|
118
|
+
content: localContent,
|
|
125
119
|
};
|
|
126
120
|
const singletonServices = await userCreateSingletonServices(userConfig, {
|
|
127
121
|
...inMemoryServices,
|
|
@@ -235,7 +235,14 @@ async function createEmbeddedPostgres(context, dataDir) {
|
|
|
235
235
|
embeddedPostgresWasm,
|
|
236
236
|
loadPGliteExtensions(context.rootDir, context.pgliteExtensions),
|
|
237
237
|
]);
|
|
238
|
-
|
|
238
|
+
// PGlite runs Postgres as an Emscripten module, and Emscripten's exit handler
|
|
239
|
+
// writes the WASM program's status straight to `process.exitCode` — booting a
|
|
240
|
+
// database leaves it at 99 even though nothing failed. The CLI's bin then
|
|
241
|
+
// ends with `process.exit(process.exitCode ?? 0)`, so any command that merely
|
|
242
|
+
// touched the embedded database reported failure after doing all of its work
|
|
243
|
+
// correctly. Restore whatever the process had before the boot.
|
|
244
|
+
const exitCodeBeforeBoot = process.exitCode;
|
|
245
|
+
const db = new PGlite({
|
|
239
246
|
...(dataDir ? { dataDir } : {}),
|
|
240
247
|
...wasm,
|
|
241
248
|
extensions: {
|
|
@@ -243,6 +250,13 @@ async function createEmbeddedPostgres(context, dataDir) {
|
|
|
243
250
|
...declared,
|
|
244
251
|
},
|
|
245
252
|
});
|
|
253
|
+
await db.waitReady;
|
|
254
|
+
if (process.exitCode !== exitCodeBeforeBoot) {
|
|
255
|
+
// `?? 0` because assigning `undefined` does not clear an already-set
|
|
256
|
+
// exitCode under bun, which is the runtime the boot pollutes it on.
|
|
257
|
+
process.exitCode = exitCodeBeforeBoot ?? 0;
|
|
258
|
+
}
|
|
259
|
+
return db;
|
|
246
260
|
}
|
|
247
261
|
/**
|
|
248
262
|
* PGlite reports an extension it was never given as a plain
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pikku/cli",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.143",
|
|
4
4
|
"description": "Pikku CLI — code generation, dev server, migrations and deployment",
|
|
5
5
|
"author": "yasser.fadl@gmail.com",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
"@pikku/deploy": "^0.12.7",
|
|
38
38
|
"@pikku/deploy-cloudflare": "^0.12.14",
|
|
39
39
|
"@pikku/fetch": "^0.12.10",
|
|
40
|
-
"@pikku/inspector": "^0.12.
|
|
40
|
+
"@pikku/inspector": "^0.12.74",
|
|
41
41
|
"@pikku/knowledge": "^0.12.12",
|
|
42
42
|
"@pikku/kysely": "^0.13.24",
|
|
43
43
|
"@pikku/migrator-sql": "^0.12.4",
|
|
44
44
|
"@pikku/n8n-import": "^0.0.7",
|
|
45
|
-
"@pikku/node-http-server": "^0.12.
|
|
45
|
+
"@pikku/node-http-server": "^0.12.14",
|
|
46
46
|
"@pikku/openapi-parser": "^0.12.20",
|
|
47
47
|
"@pikku/schedule": "^0.12.7",
|
|
48
|
-
"@pikku/skills": "^0.12.
|
|
48
|
+
"@pikku/skills": "^0.12.30",
|
|
49
49
|
"@types/cookie": "^1.0.0",
|
|
50
50
|
"@types/json-schema": "^7.0.15",
|
|
51
51
|
"ai": "^7.0.66",
|
package/surface.json
CHANGED