@pikku/cli 0.12.41 → 0.12.43
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-AwGnKyWe.js +254 -0
- package/console-app/assets/index-VleHndkw.css +1 -0
- package/console-app/index.html +2 -2
- 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 +6 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +10 -0
- package/dist/.pikku/cli/pikku-cli-client.gen.js +73 -0
- 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-meta.gen.json +22 -26
- 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 +2 -2
- package/dist/.pikku/function/pikku-function-types.gen.js +3 -2
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +74 -55
- 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.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.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/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 +2 -2
- 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 +6 -5
- 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 +7 -3
- package/dist/.pikku/schemas/schemas/DeployApplyInput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/DeployPlanInput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricLinkOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricSmokeInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricSmokeOutput.schema.json +1 -0
- 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/deploy/build-pipeline.d.ts +2 -0
- package/dist/src/deploy/build-pipeline.js +7 -1
- package/dist/src/deploy/bundler/bundler.d.ts +2 -0
- package/dist/src/deploy/bundler/bundler.js +8 -5
- package/dist/src/fabric/fabric-commands.d.ts +67 -0
- package/dist/src/fabric/fabric-commands.js +21 -0
- package/dist/src/fabric/functions/link.function.d.ts +4 -0
- package/dist/src/fabric/functions/link.function.js +3 -1
- package/dist/src/fabric/functions/smoke.function.d.ts +93 -0
- package/dist/src/fabric/functions/smoke.function.js +860 -0
- package/dist/src/functions/commands/deploy-apply.d.ts +3 -0
- package/dist/src/functions/commands/deploy-apply.js +1 -0
- package/dist/src/functions/commands/deploy-plan.d.ts +3 -0
- package/dist/src/functions/commands/deploy-plan.js +1 -0
- package/dist/src/functions/db/local-db.js +20 -75
- package/dist/src/functions/wirings/auth/pikku-command-auth.js +6 -1
- package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +4 -1
- package/dist/src/functions/wirings/auth/serialize-auth-gen.js +36 -12
- package/dist/src/functions/wirings/functions/pikku-command-services.js +5 -4
- package/dist/src/functions/wirings/functions/serialize-function-types.js +3 -2
- package/dist/src/scaffold/rpc-remote.gen.js +1 -1
- package/dist/src/services.d.ts +6 -1
- package/dist/src/services.js +6 -12
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/console-app/assets/index-D9Z9rySK.js +0 -233
- package/console-app/assets/index-DwUzVI5k.css +0 -1
|
@@ -11,12 +11,15 @@ export declare const deployApply: import("#pikku").PikkuFunctionConfig<{
|
|
|
11
11
|
fromPlan?: boolean;
|
|
12
12
|
provider?: string;
|
|
13
13
|
resultFile?: string;
|
|
14
|
+
debugArtifacts?: boolean;
|
|
14
15
|
}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
|
|
15
16
|
fromPlan?: boolean;
|
|
16
17
|
provider?: string;
|
|
17
18
|
resultFile?: string;
|
|
19
|
+
debugArtifacts?: boolean;
|
|
18
20
|
}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
|
|
19
21
|
fromPlan?: boolean;
|
|
20
22
|
provider?: string;
|
|
21
23
|
resultFile?: string;
|
|
24
|
+
debugArtifacts?: boolean;
|
|
22
25
|
}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
|
|
@@ -180,6 +180,7 @@ export const deployApply = pikkuSessionlessFunc({
|
|
|
180
180
|
serverlessIncompatible: config.deploy?.serverlessIncompatible,
|
|
181
181
|
getEntryContext,
|
|
182
182
|
outDir: config.outDir,
|
|
183
|
+
debugArtifacts: data?.debugArtifacts ?? false,
|
|
183
184
|
logger,
|
|
184
185
|
});
|
|
185
186
|
if (buildResult.manifest.units.length === 0) {
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export declare const deployPlan: import("#pikku").PikkuFunctionConfig<{
|
|
2
2
|
resultFile?: string;
|
|
3
3
|
provider?: string;
|
|
4
|
+
debugArtifacts?: boolean;
|
|
4
5
|
}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
|
|
5
6
|
resultFile?: string;
|
|
6
7
|
provider?: string;
|
|
8
|
+
debugArtifacts?: boolean;
|
|
7
9
|
}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
|
|
8
10
|
resultFile?: string;
|
|
9
11
|
provider?: string;
|
|
12
|
+
debugArtifacts?: boolean;
|
|
10
13
|
}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
|
|
@@ -56,6 +56,7 @@ export const deployPlan = pikkuSessionlessFunc({
|
|
|
56
56
|
serverlessIncompatible: config.deploy?.serverlessIncompatible,
|
|
57
57
|
getEntryContext,
|
|
58
58
|
outDir: config.outDir,
|
|
59
|
+
debugArtifacts: data?.debugArtifacts ?? false,
|
|
59
60
|
logger,
|
|
60
61
|
});
|
|
61
62
|
if (result.manifest.units.length === 0) {
|
|
@@ -467,69 +467,21 @@ function diffSchemas(desired, actual) {
|
|
|
467
467
|
function isPostgresAuthDatabase(options) {
|
|
468
468
|
return options.database?.type === 'postgres';
|
|
469
469
|
}
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
function
|
|
478
|
-
const
|
|
479
|
-
url.pathname = `/${databaseName}`;
|
|
480
|
-
return url.toString();
|
|
481
|
-
}
|
|
482
|
-
function getPostgresAdminConnectionString(connectionString) {
|
|
483
|
-
return withPostgresDatabase(connectionString, 'postgres');
|
|
484
|
-
}
|
|
485
|
-
async function withScratchPostgresDatabase(resolved, prefix, run) {
|
|
486
|
-
if (resolved.mode === 'pglite') {
|
|
487
|
-
const scratchDb = await createEmbeddedPostgres();
|
|
488
|
-
try {
|
|
489
|
-
return await run(pgliteAsClient(scratchDb));
|
|
490
|
-
}
|
|
491
|
-
finally {
|
|
492
|
-
if (!scratchDb.closed) {
|
|
493
|
-
await scratchDb.close();
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
const { Client } = await import('pg');
|
|
498
|
-
const databaseName = createScratchPostgresDatabaseName(prefix);
|
|
499
|
-
const adminConnectionString = getPostgresAdminConnectionString(resolved.connectionString);
|
|
500
|
-
const adminClient = new Client({ connectionString: adminConnectionString });
|
|
501
|
-
await adminClient.connect();
|
|
502
|
-
try {
|
|
503
|
-
await adminClient.query(`CREATE DATABASE ${quotePgIdentifier(databaseName)}`);
|
|
504
|
-
}
|
|
505
|
-
finally {
|
|
506
|
-
await adminClient.end();
|
|
507
|
-
}
|
|
508
|
-
const scratchConnectionString = withPostgresDatabase(resolved.connectionString, databaseName);
|
|
470
|
+
// The scratch database is a throwaway used only to compute the desired Better
|
|
471
|
+
// Auth schema and the migration-covered schema for drift detection. We always
|
|
472
|
+
// use an in-memory PGlite instance for it — PGlite is real Postgres, so the
|
|
473
|
+
// introspection stays accurate, and it needs no `CREATEDB` privilege on the
|
|
474
|
+
// target server. Creating a real database via `CREATE DATABASE` would require
|
|
475
|
+
// elevated privileges that application roles (correctly) don't have, which made
|
|
476
|
+
// `pikku db migrate` fail against managed/locked-down Postgres (error 42501).
|
|
477
|
+
async function withScratchPostgresDatabase(_resolved, _prefix, run) {
|
|
478
|
+
const scratchDb = await createEmbeddedPostgres();
|
|
509
479
|
try {
|
|
510
|
-
|
|
511
|
-
await scratchClient.connect();
|
|
512
|
-
try {
|
|
513
|
-
return await run(scratchClient);
|
|
514
|
-
}
|
|
515
|
-
finally {
|
|
516
|
-
await scratchClient.end();
|
|
517
|
-
}
|
|
480
|
+
return await run(pgliteAsClient(scratchDb));
|
|
518
481
|
}
|
|
519
482
|
finally {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
});
|
|
523
|
-
await cleanupClient.connect();
|
|
524
|
-
try {
|
|
525
|
-
await cleanupClient.query(`SELECT pg_terminate_backend(pid)
|
|
526
|
-
FROM pg_stat_activity
|
|
527
|
-
WHERE datname = $1
|
|
528
|
-
AND pid <> pg_backend_pid()`, [databaseName]);
|
|
529
|
-
await cleanupClient.query(`DROP DATABASE IF EXISTS ${quotePgIdentifier(databaseName)}`);
|
|
530
|
-
}
|
|
531
|
-
finally {
|
|
532
|
-
await cleanupClient.end();
|
|
483
|
+
if (!scratchDb.closed) {
|
|
484
|
+
await scratchDb.close();
|
|
533
485
|
}
|
|
534
486
|
}
|
|
535
487
|
}
|
|
@@ -545,21 +497,14 @@ async function postgresDatabaseToMap(client) {
|
|
|
545
497
|
}
|
|
546
498
|
async function desiredPostgresAuthSchema(resolved, rootDir, srcDirectories, logger) {
|
|
547
499
|
return withScratchPostgresDatabase(resolved, 'pikku_auth', async (scratchDb) => {
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
}),
|
|
557
|
-
plugins: [new CamelCasePlugin()],
|
|
558
|
-
})
|
|
559
|
-
: createPGliteKysely({
|
|
560
|
-
db: scratchDb.__pglite,
|
|
561
|
-
camelCase: true,
|
|
562
|
-
});
|
|
500
|
+
// The scratch DB is always an embedded PGlite instance (see
|
|
501
|
+
// withScratchPostgresDatabase), so drive Better Auth's migration codegen
|
|
502
|
+
// through the PGlite-backed Kysely regardless of how the app DB is
|
|
503
|
+
// configured.
|
|
504
|
+
const kysely = createPGliteKysely({
|
|
505
|
+
db: scratchDb.__pglite,
|
|
506
|
+
camelCase: true,
|
|
507
|
+
});
|
|
563
508
|
try {
|
|
564
509
|
const options = await loadAuthOptions({
|
|
565
510
|
rootDir,
|
|
@@ -16,13 +16,18 @@ export const pikkuAuth = pikkuSessionlessFunc({
|
|
|
16
16
|
// has no OAuth providers — still generates its /auth/* wiring.
|
|
17
17
|
if (!state.auth.definition)
|
|
18
18
|
return;
|
|
19
|
-
const { wiring, secrets } = serializeAuthGen(state.auth.definition, state.auth.providers, authFile, typesDeclarationFile, packageMappings ?? {});
|
|
19
|
+
const { wiring, secrets, middleware } = serializeAuthGen(state.auth.definition, state.auth.providers, authFile, typesDeclarationFile, packageMappings ?? {});
|
|
20
20
|
// The secrets file sits alongside authFile so re-inspection rediscovers it.
|
|
21
21
|
// It is kept separate from the wiring file because the CLI forbids Zod
|
|
22
22
|
// schemas and HTTP wiring (wireHTTPRoutes) in the same file (PKU490).
|
|
23
23
|
const secretsFile = join(dirname(authFile), 'auth-secrets.gen.ts');
|
|
24
24
|
await writeFileInDir(logger, authFile, wiring);
|
|
25
25
|
await writeFileInDir(logger, secretsFile, secrets);
|
|
26
|
+
// Stateless split: session middleware in its own file (see serializeAuthGen).
|
|
27
|
+
const middlewareFile = join(dirname(authFile), 'auth-middleware.gen.ts');
|
|
28
|
+
if (middleware) {
|
|
29
|
+
await writeFileInDir(logger, middlewareFile, middleware);
|
|
30
|
+
}
|
|
26
31
|
// Static metadata of the enabled providers/plugins for the console SSO page,
|
|
27
32
|
// following the `*-meta.gen.json` convention. Read at runtime by the console
|
|
28
33
|
// getAuthProviders function instead of a runtime registry.
|
|
@@ -10,10 +10,13 @@ import type { AuthDefinition } from '@pikku/inspector';
|
|
|
10
10
|
* separated out.
|
|
11
11
|
*/
|
|
12
12
|
export interface AuthGenOutput {
|
|
13
|
-
/**
|
|
13
|
+
/** Handler + catch-all routes (+ session middleware, unless split out). */
|
|
14
14
|
wiring: string;
|
|
15
15
|
/** The secrets file: Zod schemas + wireSecret/wireVariable. */
|
|
16
16
|
secrets: string;
|
|
17
|
+
/** Global session-middleware registration, split into its own file only when
|
|
18
|
+
* `session.cookieCache` is enabled (stateless path); undefined otherwise. */
|
|
19
|
+
middleware?: string;
|
|
17
20
|
}
|
|
18
21
|
/**
|
|
19
22
|
* Generates the `auth.gen.ts` (HTTP wiring) and `auth-secrets.gen.ts` (schemas +
|
|
@@ -111,15 +111,20 @@ export const serializeAuthGen = (definition, providers, authFile, typesDeclarati
|
|
|
111
111
|
secrets.push('');
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
//
|
|
117
|
-
//
|
|
114
|
+
// Wiring file: handler + catch-all routes. When cookieCache is enabled the
|
|
115
|
+
// global session middleware is split into its own file (see below) so this
|
|
116
|
+
// file's auth.wiring import (the full better-auth server) isn't dragged into
|
|
117
|
+
// every unit — only the auth unit bundles it.
|
|
118
|
+
const stateless = definition.cookieCache;
|
|
118
119
|
const wiring = [
|
|
119
120
|
'// AUTO-GENERATED by pikku CLI — do not edit',
|
|
120
121
|
'',
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
stateless
|
|
123
|
+
? `import { pikkuSessionlessFunc, wireHTTPRoutes } from '${pikkuTypesImportPath}'`
|
|
124
|
+
: `import { pikkuSessionlessFunc, wireHTTPRoutes, addHTTPMiddleware } from '${pikkuTypesImportPath}'`,
|
|
125
|
+
stateless
|
|
126
|
+
? `import { createAuthHandler } from '@pikku/better-auth'`
|
|
127
|
+
: `import { createAuthHandler, betterAuthSession } from '@pikku/better-auth'`,
|
|
123
128
|
`import '${configImportPath}'`,
|
|
124
129
|
'',
|
|
125
130
|
// createAuthHandler is called once at module load; the exported handler is a
|
|
@@ -132,12 +137,13 @@ export const serializeAuthGen = (definition, providers, authFile, typesDeclarati
|
|
|
132
137
|
` authConfigHandler.func(services, data, interaction),`,
|
|
133
138
|
`})`,
|
|
134
139
|
'',
|
|
135
|
-
// Bridge the better-auth session into the Pikku session on every request.
|
|
136
|
-
`addHTTPMiddleware('*', [betterAuthSession()])`,
|
|
137
|
-
'',
|
|
138
|
-
`wireHTTPRoutes({`,
|
|
139
|
-
` routes: {`,
|
|
140
140
|
];
|
|
141
|
+
if (!stateless) {
|
|
142
|
+
// Stateful: betterAuthSession calls services.auth(), so it stays here with
|
|
143
|
+
// the auth.wiring import.
|
|
144
|
+
wiring.push(`addHTTPMiddleware('*', [betterAuthSession()])`, '');
|
|
145
|
+
}
|
|
146
|
+
wiring.push(`wireHTTPRoutes({`, ` routes: {`);
|
|
141
147
|
// One catch-all route per method. `{/*splat}` matches both the bare basePath
|
|
142
148
|
// and every sub-path under it, so better-auth's internal router sees the full
|
|
143
149
|
// request and handles all of its own endpoints.
|
|
@@ -147,5 +153,23 @@ export const serializeAuthGen = (definition, providers, authFile, typesDeclarati
|
|
|
147
153
|
wiring.push(` },`);
|
|
148
154
|
wiring.push(`})`);
|
|
149
155
|
wiring.push('');
|
|
150
|
-
|
|
156
|
+
const output = {
|
|
157
|
+
wiring: wiring.join('\n'),
|
|
158
|
+
secrets: secrets.join('\n'),
|
|
159
|
+
};
|
|
160
|
+
if (stateless) {
|
|
161
|
+
// Stateless session middleware in its own file — imports neither auth.wiring
|
|
162
|
+
// nor the better-auth server, so every unit's bootstrap stays lean.
|
|
163
|
+
const middleware = [
|
|
164
|
+
'// AUTO-GENERATED by pikku CLI — do not edit',
|
|
165
|
+
'',
|
|
166
|
+
`import { addHTTPMiddleware } from '${pikkuTypesImportPath}'`,
|
|
167
|
+
`import { betterAuthStatelessSession } from '@pikku/better-auth'`,
|
|
168
|
+
'',
|
|
169
|
+
`addHTTPMiddleware('*', [betterAuthStatelessSession()])`,
|
|
170
|
+
'',
|
|
171
|
+
];
|
|
172
|
+
output.middleware = middleware.join('\n');
|
|
173
|
+
}
|
|
174
|
+
return output;
|
|
151
175
|
};
|
|
@@ -34,8 +34,9 @@ export const serializeServicesMap = (allSingletonServices, allWireServices, requ
|
|
|
34
34
|
defaultServices.forEach((service) => usedServices.add(service));
|
|
35
35
|
// When a pikkuBetterAuth factory is present, the generated `pikkuServices`
|
|
36
36
|
// wrapper always injects a resolved `auth` singleton. Mark it required so
|
|
37
|
-
// RequiredSingletonServices
|
|
38
|
-
// to a SingletonServices type that types `auth` from the
|
|
37
|
+
// RequiredSingletonServices can mark `auth` as a required property and stay
|
|
38
|
+
// assignable to a SingletonServices type that types `auth` from the
|
|
39
|
+
// factory's return.
|
|
39
40
|
if (authInjected) {
|
|
40
41
|
usedServices.add('auth');
|
|
41
42
|
}
|
|
@@ -79,11 +80,11 @@ export const serializeServicesMap = (allSingletonServices, allWireServices, requ
|
|
|
79
80
|
'',
|
|
80
81
|
'// Type exports',
|
|
81
82
|
requiredSingletonServiceNames.length > 0
|
|
82
|
-
? `export type RequiredSingletonServices = Pick<SingletonServices, ${requiredSingletonServiceNames.map((key) => `'${key}'`).join(' | ')}
|
|
83
|
+
? `export type RequiredSingletonServices = Required<Pick<SingletonServices, ${requiredSingletonServiceNames.map((key) => `'${key}'`).join(' | ')}>> & Partial<Omit<SingletonServices, ${requiredSingletonServiceNames.map((key) => `'${key}'`).join(' | ')}>>`
|
|
83
84
|
: 'export type RequiredSingletonServices = Partial<SingletonServices>',
|
|
84
85
|
'',
|
|
85
86
|
requiredWireServiceNames.length > 0
|
|
86
|
-
? `export type RequiredWireServices = Pick<Services, ${requiredWireServiceNames.map((key) => `'${key}'`).join(' | ')}
|
|
87
|
+
? `export type RequiredWireServices = Required<Pick<Services, ${requiredWireServiceNames.map((key) => `'${key}'`).join(' | ')}>> & Partial<Omit<Services, ${requiredWireServiceNames.map((key) => `'${key}'`).join(' | ')}>>`
|
|
87
88
|
: 'export type RequiredWireServices = Partial<Services>',
|
|
88
89
|
'',
|
|
89
90
|
...(addonRequiredParentServices.length > 0
|
|
@@ -629,10 +629,11 @@ export const pikkuConfig = (
|
|
|
629
629
|
* \`\`\`
|
|
630
630
|
*/
|
|
631
631
|
export const pikkuServices = (
|
|
632
|
-
func: (config: Config, existingServices: Partial<SingletonServices>) => Promise<Omit<RequiredSingletonServices, 'auth'
|
|
632
|
+
func: (config: Config, existingServices: Partial<SingletonServices>) => Promise<Partial<Omit<RequiredSingletonServices, 'auth'>>>
|
|
633
633
|
) => {
|
|
634
634
|
return async (config: Config, existingServices: Partial<SingletonServices> = {}) => {
|
|
635
|
-
const
|
|
635
|
+
const createdServices = await func(config, existingServices)
|
|
636
|
+
const services = { ...existingServices, ...createdServices }
|
|
636
637
|
const authFactory = __pikkuState(null, 'package', 'authFactory')
|
|
637
638
|
if (authFactory) {
|
|
638
639
|
let authInstance: Promise<unknown> | undefined
|
package/dist/src/services.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import type { Config, Services, SingletonServices, UserSession } from '../types/application-types.js';
|
|
2
2
|
import type { CreateConfig } from '@pikku/core';
|
|
3
3
|
import type { CreateWireServices, CreateSingletonServices } from '@pikku/core/internal';
|
|
4
|
+
import { LogLevel } from '@pikku/core/services';
|
|
4
5
|
import type { PikkuCLIConfig } from '../types/config.js';
|
|
5
6
|
import type { ForwardedLogMessage } from './services/cli-logger-forwarder.service.js';
|
|
6
7
|
/**
|
|
7
8
|
* Default CLI renderer that logs output using the logger
|
|
8
9
|
*/
|
|
9
|
-
export declare const defaultCLIRenderer: import("@pikku/core/cli").CorePikkuCLIRender<ForwardedLogMessage,
|
|
10
|
+
export declare const defaultCLIRenderer: import("@pikku/core/cli").CorePikkuCLIRender<ForwardedLogMessage, import("@pikku/core").CoreSingletonServices<{
|
|
11
|
+
logLevel?: LogLevel;
|
|
12
|
+
secrets?: {};
|
|
13
|
+
workflow?: import("@pikku/core/workflow").WorkflowServiceConfig;
|
|
14
|
+
}>, import("@pikku/core").CoreUserSession>;
|
|
10
15
|
export declare const createConfig: CreateConfig<Config, [PikkuCLIConfig]>;
|
|
11
16
|
/**
|
|
12
17
|
* Singleton services factory for the Pikku CLI
|
package/dist/src/services.js
CHANGED
|
@@ -32,7 +32,7 @@ const logger = new CLILogger({ logLogo: false, silent: false });
|
|
|
32
32
|
/**
|
|
33
33
|
* Default CLI renderer that logs output using the logger
|
|
34
34
|
*/
|
|
35
|
-
export const defaultCLIRenderer = pikkuCLIRender((
|
|
35
|
+
export const defaultCLIRenderer = pikkuCLIRender((_services, data) => {
|
|
36
36
|
if (!data)
|
|
37
37
|
return;
|
|
38
38
|
const validLevels = [
|
|
@@ -46,17 +46,6 @@ export const defaultCLIRenderer = pikkuCLIRender(({ logger }, data) => {
|
|
|
46
46
|
return;
|
|
47
47
|
logger[data.level]({ message: data.message, type: data.type });
|
|
48
48
|
});
|
|
49
|
-
// /**
|
|
50
|
-
// * Client-safe CLI renderer that outputs to console (no service dependencies)
|
|
51
|
-
// * This renderer can be used in CLI-over-channel clients
|
|
52
|
-
// */
|
|
53
|
-
// export const clientCLIRenderer = pikkuCLIRender<ForwardedLogMessage>(
|
|
54
|
-
// ({ logger }, data) => {
|
|
55
|
-
// if (data) {
|
|
56
|
-
// logger[data.level]?.({ message: data.message, type: data.type } as any)
|
|
57
|
-
// }
|
|
58
|
-
// }
|
|
59
|
-
// )
|
|
60
49
|
export const createConfig = async (_variablesService, data) => {
|
|
61
50
|
// Determine log level based on CLI flags with precedence:
|
|
62
51
|
// --silent > --loglevel > --verbose > --info > default (info)
|
|
@@ -195,6 +184,11 @@ export const createSingletonServices = async (config) => {
|
|
|
195
184
|
config.authFile
|
|
196
185
|
? path.join(path.dirname(config.authFile), 'auth-secrets.gen.ts')
|
|
197
186
|
: undefined,
|
|
187
|
+
// Stateless-session split: middleware-only file nothing imports, so it's
|
|
188
|
+
// unreachable via the import graph — add it explicitly to get inspected.
|
|
189
|
+
config.authFile
|
|
190
|
+
? path.join(path.dirname(config.authFile), 'auth-middleware.gen.ts')
|
|
191
|
+
: undefined,
|
|
198
192
|
];
|
|
199
193
|
for (const file of scaffoldFiles) {
|
|
200
194
|
if (file && !wiringFiles.includes(file) && existsSync(file)) {
|
|
@@ -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-core.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-audit.ts","../src/functions/commands/db-generate.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/emails-init.ts","../src/functions/commands/enable.ts","../src/functions/commands/info.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/login.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/commands/workspace-validate.ts","../src/functions/db/annotation-parser.ts","../src/functions/db/better-auth-schema.ts","../src/functions/db/coercion-plugin.ts","../src/functions/db/db-codegen.ts","../src/functions/db/db-introspector.ts","../src/functions/db/db-migrator.ts","../src/functions/db/local-db.ts","../src/functions/db/zod-codegen.ts","../src/functions/db/postgres/pglite-kysely.ts","../src/functions/db/postgres/postgres-introspector.ts","../src/functions/db/postgres/postgres-migrator.ts","../src/functions/db/sqlite/seed.ts","../src/functions/db/sqlite/sqlite-introspector.ts","../src/functions/db/sqlite/sqlite-kysely.ts","../src/functions/db/sqlite/sqlite-migrator.ts","../src/functions/db/sqlite/sqlite-runtime-bun.ts","../src/functions/db/sqlite/sqlite-runtime-node.ts","../src/functions/db/sqlite/sqlite-runtime.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/validate/workspace-validate.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/auth/pikku-command-auth.ts","../src/functions/wirings/auth/serialize-auth-gen.ts","../src/functions/wirings/auth/serialize-auth-meta.ts","../src/functions/wirings/auth/serialize-auth-types.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/emails/pikku-command-emails.ts","../src/functions/wirings/emails/serialize-emails.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/cli-session.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/device-auth.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/bun-sqlite.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/smoke.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate-core.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-audit.ts","../src/functions/commands/db-generate.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/emails-init.ts","../src/functions/commands/enable.ts","../src/functions/commands/info.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/login.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/commands/workspace-validate.ts","../src/functions/db/annotation-parser.ts","../src/functions/db/better-auth-schema.ts","../src/functions/db/coercion-plugin.ts","../src/functions/db/db-codegen.ts","../src/functions/db/db-introspector.ts","../src/functions/db/db-migrator.ts","../src/functions/db/local-db.ts","../src/functions/db/zod-codegen.ts","../src/functions/db/postgres/pglite-kysely.ts","../src/functions/db/postgres/postgres-introspector.ts","../src/functions/db/postgres/postgres-migrator.ts","../src/functions/db/sqlite/seed.ts","../src/functions/db/sqlite/sqlite-introspector.ts","../src/functions/db/sqlite/sqlite-kysely.ts","../src/functions/db/sqlite/sqlite-migrator.ts","../src/functions/db/sqlite/sqlite-runtime-bun.ts","../src/functions/db/sqlite/sqlite-runtime-node.ts","../src/functions/db/sqlite/sqlite-runtime.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/validate/workspace-validate.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/auth/pikku-command-auth.ts","../src/functions/wirings/auth/serialize-auth-gen.ts","../src/functions/wirings/auth/serialize-auth-meta.ts","../src/functions/wirings/auth/serialize-auth-types.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/emails/pikku-command-emails.ts","../src/functions/wirings/emails/serialize-emails.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/cli-session.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/device-auth.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-client.gen.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/bun-sqlite.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.43",
|
|
4
4
|
"author": "yasser.fadl@gmail.com",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"imports": {
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@electric-sql/pglite": "^0.5.1",
|
|
29
29
|
"@openapi-contrib/json-schema-to-openapi-schema": "^4.3.1",
|
|
30
|
-
"@pikku/better-auth": "^0.12.
|
|
30
|
+
"@pikku/better-auth": "^0.12.9",
|
|
31
31
|
"@pikku/core": "^0.12.34",
|
|
32
32
|
"@pikku/deploy-cloudflare": "^0.12.3",
|
|
33
33
|
"@pikku/fetch": "^0.12.3",
|
|
34
|
-
"@pikku/inspector": "^0.12.
|
|
34
|
+
"@pikku/inspector": "^0.12.21",
|
|
35
35
|
"@pikku/kysely": "^0.12.16",
|
|
36
36
|
"@pikku/kysely-node-sqlite": "^0.12.2",
|
|
37
37
|
"@pikku/node-http-server": "^0.12.2",
|