@pikku/cli 0.12.82 → 0.12.83
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/cli.schema.json +1 -1
- package/console-app/assets/{index-ChcXIEhS.js → index-CN_U0k_D.js} +154 -144
- package/console-app/assets/{index-DwyRdRuZ.css → index-CpHRlBt-.css} +1 -1
- package/console-app/index.html +2 -2
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +3 -2
- 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 +21 -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-meta.gen.json +60 -3
- 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 +6 -12
- package/dist/.pikku/function/pikku-function-types.gen.js +3 -12
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +190 -12
- package/dist/.pikku/function/pikku-functions.gen.js +15 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -24
- package/dist/.pikku/http/pikku-http-types.gen.js +2 -24
- 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 +4 -1
- package/dist/.pikku/pikku-services.gen.js +3 -0
- package/dist/.pikku/pikku-types.gen.d.ts +2 -1
- package/dist/.pikku/pikku-types.gen.js +3 -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 +9 -0
- 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 +13 -1
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuGraphWiringsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuImportN8nInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuScopesInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuWebhookOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ScopesAuditInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ScopesPruneInput.schema.json +1 -0
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +5 -0
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +4 -0
- package/dist/.pikku/scopes/pikku-scopes-meta.gen.json +1 -0
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +35 -0
- package/dist/.pikku/scopes/pikku-scopes.gen.js +27 -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-meta.gen.json +1 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js +11 -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-meta.gen.json +1 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -1
- package/dist/.pikku/variables/pikku-variables.gen.js +13 -3
- package/dist/.pikku/workflow/meta/allWorkflow.gen.json +48 -6
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +4 -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/cli.wiring.js +47 -4
- package/dist/src/deploy/analyzer/analyzer.js +6 -0
- package/dist/src/fabric/fabric-commands.d.ts +3 -3
- package/dist/src/fabric/functions/llm-key.function.d.ts +4 -4
- package/dist/src/functions/commands/bootstrap.js +3 -0
- package/dist/src/functions/commands/dev.js +14 -3
- package/dist/src/functions/commands/enable.d.ts +1 -0
- package/dist/src/functions/commands/enable.js +10 -5
- package/dist/src/functions/commands/import-n8n.d.ts +10 -0
- package/dist/src/functions/commands/import-n8n.js +130 -0
- package/dist/src/functions/commands/info.js +0 -13
- package/dist/src/functions/commands/new-addon.js +33 -35
- package/dist/src/functions/commands/pikku-command-bootstrap.js +6 -0
- package/dist/src/functions/commands/scopes-audit.d.ts +1 -0
- package/dist/src/functions/commands/scopes-audit.js +37 -0
- package/dist/src/functions/commands/scopes-prune.d.ts +14 -0
- package/dist/src/functions/commands/scopes-prune.js +50 -0
- package/dist/src/functions/commands/scopes-shared.d.ts +39 -0
- package/dist/src/functions/commands/scopes-shared.js +83 -0
- package/dist/src/functions/commands/serve.js +4 -2
- package/dist/src/functions/commands/skills.js +18 -10
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +2 -1
- package/dist/src/functions/wirings/console/serialize-console-functions.js +6 -0
- package/dist/src/functions/wirings/credentials/serialize-credentials-types.js +22 -0
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types.js +2 -2
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +14 -16
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +6 -2
- package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -0
- package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.js +21 -0
- package/dist/src/functions/wirings/graph/serialize-graph-wirings.d.ts +5 -0
- package/dist/src/functions/wirings/graph/serialize-graph-wirings.js +14 -0
- package/dist/src/functions/wirings/http/serialize-http-types.js +2 -30
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +1 -0
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +14 -1
- package/dist/src/functions/wirings/package/serialize-package-types.d.ts +1 -0
- package/dist/src/functions/wirings/package/serialize-package-types.js +5 -0
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +1 -3
- package/dist/src/functions/wirings/permissions/serialize-permissions-imports.d.ts +6 -1
- package/dist/src/functions/wirings/permissions/serialize-permissions-imports.js +7 -64
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +5 -0
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +20 -0
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +1 -0
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +8 -3
- package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +7 -0
- package/dist/src/functions/wirings/scopes/pikku-command-scopes.js +34 -0
- package/dist/src/functions/wirings/scopes/serialize-scopes-types.d.ts +15 -0
- package/dist/src/functions/wirings/scopes/serialize-scopes-types.js +86 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +13 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.js +15 -2
- package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -0
- package/dist/src/functions/wirings/webhook/pikku-command-webhook.js +25 -0
- package/dist/src/functions/wirings/webhook/serialize-webhook.d.ts +14 -0
- package/dist/src/functions/wirings/webhook/serialize-webhook.js +34 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +29 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +3 -0
- package/dist/src/functions/workflows/all.workflow.js +23 -3
- package/dist/src/services.d.ts +1 -0
- package/dist/src/services.js +1 -0
- package/dist/src/utils/pikku-cli-config.js +20 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
- package/skills/pikku-addon/SKILL.md +7 -3
- package/skills/pikku-ai-agent/SKILL.md +6 -3
- package/skills/pikku-ai-vercel/SKILL.md +6 -3
- package/skills/pikku-ai-voice/SKILL.md +6 -3
- package/skills/pikku-audit/SKILL.md +10 -3
- package/skills/pikku-aws/SKILL.md +9 -5
- package/skills/pikku-backblaze/SKILL.md +4 -3
- package/skills/pikku-better-auth/SKILL.md +10 -5
- package/skills/pikku-cli/SKILL.md +6 -3
- package/skills/pikku-concepts/SKILL.md +9 -4
- package/skills/pikku-concepts/references/concept-mapping.md +12 -10
- package/skills/pikku-config/SKILL.md +9 -5
- package/skills/pikku-cron/SKILL.md +6 -3
- package/skills/pikku-deploy-azure/SKILL.md +5 -3
- package/skills/pikku-deploy-cloudflare/SKILL.md +5 -3
- package/skills/pikku-deploy-express/SKILL.md +6 -3
- package/skills/pikku-deploy-fastify/SKILL.md +6 -3
- package/skills/pikku-deploy-lambda/SKILL.md +6 -3
- package/skills/pikku-deploy-nextjs/SKILL.md +5 -3
- package/skills/pikku-deploy-uws/SKILL.md +7 -4
- package/skills/pikku-deps/SKILL.md +13 -6
- package/skills/pikku-emails/SKILL.md +10 -5
- package/skills/pikku-feature/SKILL.md +1 -1
- package/skills/pikku-gateway-slack/SKILL.md +6 -3
- package/skills/pikku-http/SKILL.md +15 -21
- package/skills/pikku-http/references/http-options.md +0 -2
- package/skills/pikku-info/SKILL.md +9 -4
- package/skills/pikku-jose/SKILL.md +6 -3
- package/skills/pikku-kysely/SKILL.md +13 -5
- package/skills/pikku-machine-auth/SKILL.md +9 -3
- package/skills/pikku-mcp/SKILL.md +7 -3
- package/skills/pikku-middleware/SKILL.md +11 -6
- package/skills/pikku-mongodb/SKILL.md +8 -5
- package/skills/pikku-n8n-import/SKILL.md +109 -0
- package/skills/pikku-n8n-import/SPEC.md +84 -0
- package/skills/pikku-n8n-import/references/addon-mapping.md +121 -0
- package/skills/pikku-n8n-import/references/code-translation.md +121 -0
- package/skills/pikku-n8n-import/references/loops-and-control.md +87 -0
- package/skills/pikku-permissions/SKILL.md +26 -15
- package/skills/pikku-pino/SKILL.md +5 -3
- package/skills/pikku-product-second-opinion/README.md +43 -0
- package/skills/pikku-product-second-opinion/SKILL.md +158 -0
- package/skills/pikku-product-second-opinion/example/sample-report.md +90 -0
- package/skills/pikku-product-second-opinion/references/report-template.md +73 -0
- package/skills/pikku-queue/SKILL.md +7 -4
- package/skills/pikku-redis/SKILL.md +9 -6
- package/skills/pikku-rpc/SKILL.md +7 -4
- package/skills/pikku-rtl/SKILL.md +1 -1
- package/skills/pikku-scenario/SKILL.md +215 -0
- package/skills/pikku-schedule/SKILL.md +6 -3
- package/skills/pikku-schema-ajv/SKILL.md +5 -3
- package/skills/pikku-schema-cfworker/SKILL.md +6 -3
- package/skills/pikku-security/SKILL.md +8 -4
- package/skills/pikku-services/SKILL.md +8 -4
- package/skills/pikku-software-archaeology/README.md +70 -0
- package/skills/pikku-software-archaeology/SKILL.md +186 -0
- package/skills/pikku-software-archaeology/references/blueprint.schema.json +625 -0
- package/skills/pikku-software-archaeology/references/pikku-mapping.md +49 -0
- package/skills/pikku-software-archaeology/scripts/validate.mjs +173 -0
- package/skills/pikku-template-clone/SKILL.md +1 -1
- package/skills/pikku-trigger/SKILL.md +7 -3
- package/skills/pikku-versioning/SKILL.md +7 -3
- package/skills/pikku-websocket/SKILL.md +8 -4
- package/skills/pikku-workflow/SKILL.md +7 -3
- package/skills/pikku-ws/SKILL.md +5 -3
- package/skills/pikku-n8n-addon-map/SKILL.md +0 -178
- package/skills/pikku-n8n-code-translate/SKILL.md +0 -166
- package/skills/pikku-testing/SKILL.md +0 -328
- package/skills/pikku-testing/references/cucumber-bdd-testing.md +0 -176
|
@@ -24,6 +24,8 @@ export const serializeVariablesTypes = ({ definitions, schemaLookup, variablesFi
|
|
|
24
24
|
const imports = [];
|
|
25
25
|
imports.push(`import { TypedVariablesService as CoreTypedVariablesService, type VariableMeta } from '@pikku/core/services'`);
|
|
26
26
|
imports.push(`import type { VariablesService } from '@pikku/core/services'`);
|
|
27
|
+
imports.push(`import type { VariableDefinitionsMeta } from '@pikku/core/variable'`);
|
|
28
|
+
imports.push(`import variablesMeta from './pikku-variables-meta.gen.json' with { type: 'json' }`);
|
|
27
29
|
if (needsZod) {
|
|
28
30
|
imports.push(`import type { z } from 'zod'`);
|
|
29
31
|
}
|
|
@@ -34,19 +36,30 @@ export const serializeVariablesTypes = ({ definitions, schemaLookup, variablesFi
|
|
|
34
36
|
}
|
|
35
37
|
return `${imports.join('\n')}
|
|
36
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Every variable declared in this package.
|
|
41
|
+
*
|
|
42
|
+
* Read from the metadata sidecar rather than inlined, so that the import above
|
|
43
|
+
* forces tsc to emit the .json alongside this file. An addon publishes only its
|
|
44
|
+
* compiled output, and a host reads that .json to discover the addon's declared
|
|
45
|
+
* variables — an uncopied sidecar leaves them invisible to the host.
|
|
46
|
+
*/
|
|
47
|
+
export const VARIABLES_META: VariableDefinitionsMeta =
|
|
48
|
+
variablesMeta as VariableDefinitionsMeta
|
|
49
|
+
|
|
37
50
|
export interface VariablesMap {
|
|
38
51
|
${mapEntries.join('\n')}
|
|
39
52
|
}
|
|
40
53
|
|
|
41
54
|
export type VariableId = keyof VariablesMap
|
|
42
55
|
|
|
43
|
-
const
|
|
56
|
+
const TYPED_VARIABLES_META: Record<string, VariableMeta> = {
|
|
44
57
|
${metaEntries.join(',\n')}
|
|
45
58
|
}
|
|
46
59
|
|
|
47
60
|
export class TypedVariablesService extends CoreTypedVariablesService<VariablesMap> {
|
|
48
61
|
constructor(variables: VariablesService) {
|
|
49
|
-
super(variables,
|
|
62
|
+
super(variables, TYPED_VARIABLES_META)
|
|
50
63
|
}
|
|
51
64
|
}
|
|
52
65
|
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const pikkuWebhook: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { pikkuSessionlessFunc } from '#pikku';
|
|
2
|
+
import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
|
|
3
|
+
import { writeFileInDir } from '../../../utils/file-writer.js';
|
|
4
|
+
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
|
|
5
|
+
import { serializeWebhook } from './serialize-webhook.js';
|
|
6
|
+
export const pikkuWebhook = pikkuSessionlessFunc({
|
|
7
|
+
func: async ({ logger, config, variables }) => {
|
|
8
|
+
const deployCodegenFlag = await variables.get('PIKKU_DEPLOY_CODEGEN');
|
|
9
|
+
if (deployCodegenFlag === '1') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (config.webhookWorkersFile) {
|
|
13
|
+
const pathToPikkuTypes = getFileImportRelativePath(config.webhookWorkersFile, config.typesDeclarationFile, config.packageMappings);
|
|
14
|
+
await writeFileInDir(logger, config.webhookWorkersFile, serializeWebhook(pathToPikkuTypes));
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
},
|
|
19
|
+
middleware: [
|
|
20
|
+
logCommandInfoAndTime({
|
|
21
|
+
commandStart: 'Generating Webhook Workers',
|
|
22
|
+
commandEnd: 'Generated Webhook Workers',
|
|
23
|
+
}),
|
|
24
|
+
],
|
|
25
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate the outgoing webhook delivery queue worker.
|
|
3
|
+
*
|
|
4
|
+
* The payload type is an inline TS literal (not zod): the inspector imports a
|
|
5
|
+
* zod schema's declaring module at codegen time, and the wiring file's
|
|
6
|
+
* pikku-types import can go stale between deploy per-unit codegen runs, which
|
|
7
|
+
* would fail schema generation before the wiring gets rewritten. TS-based
|
|
8
|
+
* schema generation goes through the type checker instead, so it never
|
|
9
|
+
* imports this file.
|
|
10
|
+
*
|
|
11
|
+
* The handler is inlined: it is wired exactly once, so a named export would
|
|
12
|
+
* only be indirection.
|
|
13
|
+
*/
|
|
14
|
+
export declare const serializeWebhook: (pathToPikkuTypes: string) => string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate the outgoing webhook delivery queue worker.
|
|
3
|
+
*
|
|
4
|
+
* The payload type is an inline TS literal (not zod): the inspector imports a
|
|
5
|
+
* zod schema's declaring module at codegen time, and the wiring file's
|
|
6
|
+
* pikku-types import can go stale between deploy per-unit codegen runs, which
|
|
7
|
+
* would fail schema generation before the wiring gets rewritten. TS-based
|
|
8
|
+
* schema generation goes through the type checker instead, so it never
|
|
9
|
+
* imports this file.
|
|
10
|
+
*
|
|
11
|
+
* The handler is inlined: it is wired exactly once, so a named export would
|
|
12
|
+
* only be indirection.
|
|
13
|
+
*/
|
|
14
|
+
export const serializeWebhook = (pathToPikkuTypes) => {
|
|
15
|
+
return `/**
|
|
16
|
+
* Auto-generated outgoing webhook delivery queue worker
|
|
17
|
+
* Do not edit manually - regenerate with 'npx pikku'
|
|
18
|
+
*/
|
|
19
|
+
import { pikkuSessionlessFunc, wireQueueWorker } from '${pathToPikkuTypes}'
|
|
20
|
+
import { pikkuWebhookWorkerFunc } from '@pikku/core/services'
|
|
21
|
+
|
|
22
|
+
wireQueueWorker({
|
|
23
|
+
name: 'pikku-outgoing-webhooks',
|
|
24
|
+
tags: ['pikku'],
|
|
25
|
+
func: pikkuSessionlessFunc<
|
|
26
|
+
{ url: string, event?: string, body: string, headers: Record<string, string>, deliveryId?: string },
|
|
27
|
+
void
|
|
28
|
+
>({
|
|
29
|
+
tags: ['pikku'],
|
|
30
|
+
func: async (services, data) => pikkuWebhookWorkerFunc(services, data),
|
|
31
|
+
}),
|
|
32
|
+
})
|
|
33
|
+
`;
|
|
34
|
+
};
|
|
@@ -252,6 +252,30 @@ export const graphStarter = pikkuSessionlessFunc<
|
|
|
252
252
|
},
|
|
253
253
|
})
|
|
254
254
|
|
|
255
|
+
/**
|
|
256
|
+
* Record a human decision against a workflow.approval() gate and wake the run.
|
|
257
|
+
*
|
|
258
|
+
* The decision is validated on replay inside the workflow body — the only place
|
|
259
|
+
* the approval's schema value is in scope — so this route deliberately accepts
|
|
260
|
+
* an unknown payload. An invalid one re-closes the gate rather than failing the
|
|
261
|
+
* run. Gate this route with your own auth/permissions to control WHO may
|
|
262
|
+
* approve: the framework does not model approver identity.
|
|
263
|
+
*/
|
|
264
|
+
export const workflowApprover = pikkuSessionlessFunc<
|
|
265
|
+
{ workflowName: string; runId: string; reason: string; decision: unknown },
|
|
266
|
+
{ ok: true }
|
|
267
|
+
>({
|
|
268
|
+
tags: ['pikku'],
|
|
269
|
+
auth: ${authFlag},
|
|
270
|
+
// See workflowStarter — destructure workflowService so the analyzer
|
|
271
|
+
// assigns workflow-state capability to this unit.
|
|
272
|
+
func: async ({ workflowService }, { runId, reason, decision }) => {
|
|
273
|
+
assertWorkflowService(workflowService)
|
|
274
|
+
await workflowService.approveStep(runId, reason, decision)
|
|
275
|
+
return { ok: true }
|
|
276
|
+
},
|
|
277
|
+
})
|
|
278
|
+
|
|
255
279
|
wireHTTPRoutes({
|
|
256
280
|
tags: ['pikku'],
|
|
257
281
|
auth: ${authFlag},
|
|
@@ -261,6 +285,11 @@ wireHTTPRoutes({
|
|
|
261
285
|
method: 'post',
|
|
262
286
|
func: workflowStarter,
|
|
263
287
|
},
|
|
288
|
+
workflowApprove: {
|
|
289
|
+
route: '/workflow/:workflowName/approve/:runId',
|
|
290
|
+
method: 'post',
|
|
291
|
+
func: workflowApprover,
|
|
292
|
+
},
|
|
264
293
|
workflowRun: {
|
|
265
294
|
route: '/workflow/:workflowName/run',
|
|
266
295
|
method: 'post',
|
|
@@ -182,6 +182,7 @@ type RefFunction<FuncMap extends Record<string, string>> = {
|
|
|
182
182
|
nodeId: N,
|
|
183
183
|
path: NodeOutputKeys<FuncMap, N>
|
|
184
184
|
): TypedRef<unknown>
|
|
185
|
+
<N extends Extract<keyof FuncMap, string>>(nodeId: N): TypedRef<unknown>
|
|
185
186
|
(nodeId: 'trigger' | '$item', path?: string): TypedRef<unknown>
|
|
186
187
|
}
|
|
187
188
|
|
|
@@ -195,6 +196,8 @@ type GraphNodeConfigMap<FuncMap extends Record<string, string>> = {
|
|
|
195
196
|
| (() => NodeInputType<FuncMap, K>)
|
|
196
197
|
| ((ref: RefFunction<FuncMap>, template: TemplateFunction) => NodeInputType<FuncMap, K>)
|
|
197
198
|
onError?: Extract<keyof FuncMap, string> | Extract<keyof FuncMap, string>[]
|
|
199
|
+
/** Free-text node documentation. Non-semantic — excluded from graphHash. */
|
|
200
|
+
notes?: string
|
|
198
201
|
}
|
|
199
202
|
}
|
|
200
203
|
|
|
@@ -4,6 +4,11 @@ import { assertSingleCoreVersion } from '../../utils/assert-single-core-version.
|
|
|
4
4
|
import { PikkuTypecheckFailedError, renderTscFull, renderTscSummary, runProjectTypecheck, } from '../../utils/tsc-check.js';
|
|
5
5
|
const scaffoldFiles = (config) => {
|
|
6
6
|
const files = [];
|
|
7
|
+
if (config.scaffold?.graph && config.graphWiringsFile)
|
|
8
|
+
files.push({
|
|
9
|
+
file: config.graphWiringsFile,
|
|
10
|
+
generator: 'pikkuGraphWirings',
|
|
11
|
+
});
|
|
7
12
|
if (config.scaffold?.rpc && config.publicRpcFile)
|
|
8
13
|
files.push({ file: config.publicRpcFile, generator: 'pikkuPublicRPC' });
|
|
9
14
|
if (config.scaffold?.console && config.consoleFunctionsFile)
|
|
@@ -39,6 +44,12 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
39
44
|
if (!existsSync(config.outDir)) {
|
|
40
45
|
logger.debug(`• .pikku directory not found, running bootstrap first...`);
|
|
41
46
|
await workflow.do('Bootstrap inspect', async () => getInspectorState(false, true, true));
|
|
47
|
+
// Both before function types: pikku-types.gen.ts re-exports the scope
|
|
48
|
+
// definition types and imports ScopeId from the scopes codegen, so any
|
|
49
|
+
// later import of '#pikku' — the inspector reading a project's zod
|
|
50
|
+
// schemas, for one — fails until these two files exist.
|
|
51
|
+
await workflow.do('Bootstrap scope definition types', 'pikkuScopeDefinitionTypes', null);
|
|
52
|
+
await workflow.do('Bootstrap scopes', 'pikkuScopes', { bootstrap: true });
|
|
42
53
|
await workflow.do('Bootstrap function types split', 'pikkuFunctionTypesSplit', { bootstrap: true });
|
|
43
54
|
// Pre-write a stub auth.types.ts (if the project uses better-auth) so the
|
|
44
55
|
// pikkuBetterAuth re-export resolves before any user file is imported.
|
|
@@ -129,6 +140,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
129
140
|
}
|
|
130
141
|
// Scaffold and definition generators are all independent
|
|
131
142
|
await Promise.all([
|
|
143
|
+
workflow.do('Graph wirings', 'pikkuGraphWirings', null),
|
|
132
144
|
workflow.do('Public RPC', 'pikkuPublicRPC', null),
|
|
133
145
|
workflow.do('Console functions', 'pikkuConsoleFunctions', null),
|
|
134
146
|
workflow.do('Scenario functions', 'pikkuScenarioFunctions', null),
|
|
@@ -138,6 +150,8 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
138
150
|
workflow.do('Auth', 'pikkuAuth', {}),
|
|
139
151
|
workflow.do('Secrets', 'pikkuSecrets', null),
|
|
140
152
|
workflow.do('Credentials', 'pikkuCredentials', null),
|
|
153
|
+
workflow.do('Scope definition types', 'pikkuScopeDefinitionTypes', null),
|
|
154
|
+
workflow.do('Scopes', 'pikkuScopes', {}),
|
|
141
155
|
workflow.do('Variable definition types', 'pikkuVariableDefinitionTypes', null),
|
|
142
156
|
workflow.do('Variables', 'pikkuVariables', null),
|
|
143
157
|
workflow.do('Addon types', 'pikkuAddonTypes', null),
|
|
@@ -164,22 +178,28 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
164
178
|
if (schemas) {
|
|
165
179
|
allImports.push(`${config.schemaDirectory}/register.gen.ts`);
|
|
166
180
|
}
|
|
167
|
-
const [, , workflows] = await Promise.all([
|
|
181
|
+
const [, , , workflows] = await Promise.all([
|
|
168
182
|
workflow.do('RPC internal map', 'pikkuRPCInternalMap', null),
|
|
169
183
|
workflow.do('RPC exposed map', 'pikkuRPCExposedMap', null),
|
|
184
|
+
workflow.do('RPC remote map', 'pikkuRPCRemoteMap', null),
|
|
170
185
|
workflow.do('Workflow', 'pikkuWorkflow', null),
|
|
171
186
|
]);
|
|
172
187
|
let remoteRPC = false;
|
|
188
|
+
let webhook = false;
|
|
173
189
|
let workflowRoutes = false;
|
|
174
190
|
if (!config.addon) {
|
|
175
191
|
remoteRPC = await workflow.do('Remote RPC', 'pikkuRemoteRPC', null);
|
|
192
|
+
webhook = await workflow.do('Webhook', 'pikkuWebhook', null);
|
|
176
193
|
if (workflows) {
|
|
177
194
|
workflowRoutes = await workflow.do('Workflow routes', 'pikkuWorkflowRoutes', null);
|
|
178
195
|
}
|
|
179
196
|
}
|
|
180
|
-
if (workflows || remoteRPC || workflowRoutes) {
|
|
197
|
+
if (workflows || remoteRPC || webhook || workflowRoutes) {
|
|
181
198
|
await workflow.do('Re-inspect after workflows', async () => getInspectorState(true));
|
|
182
|
-
await workflow.do('Re-generate schemas', 'pikkuSchemas', null);
|
|
199
|
+
const regeneratedSchemas = await workflow.do('Re-generate schemas', 'pikkuSchemas', null);
|
|
200
|
+
if (regeneratedSchemas && !schemas) {
|
|
201
|
+
allImports.push(`${config.schemaDirectory}/register.gen.ts`);
|
|
202
|
+
}
|
|
183
203
|
}
|
|
184
204
|
if (!config.addon) {
|
|
185
205
|
const [http, scheduler, triggers] = await Promise.all([
|
package/dist/src/services.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare const defaultCLIRenderer: import("@pikku/core/cli").CorePikkuCLIR
|
|
|
14
14
|
logLevel?: LogLevel;
|
|
15
15
|
secrets?: {};
|
|
16
16
|
workflow?: import("@pikku/core/workflow").WorkflowServiceConfig;
|
|
17
|
+
webhook?: import("@pikku/core/services").WebhookServiceConfig;
|
|
17
18
|
postgres?: import("@pikku/core").PostgresConfig;
|
|
18
19
|
}>, import("@pikku/core").CoreUserSession>;
|
|
19
20
|
export declare const createConfig: CreateConfig<Config, [PikkuCLIConfig]>;
|
package/dist/src/services.js
CHANGED
|
@@ -204,6 +204,7 @@ export const createSingletonServices = async (config) => {
|
|
|
204
204
|
const scaffoldFiles = [
|
|
205
205
|
config.consoleFunctionsFile,
|
|
206
206
|
config.remoteRpcWorkersFile,
|
|
207
|
+
config.webhookWorkersFile,
|
|
207
208
|
config.workflowRoutesFile,
|
|
208
209
|
config.publicRpcFile,
|
|
209
210
|
config.publicAgentFile,
|
|
@@ -195,6 +195,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
195
195
|
if (!result.rpcMapDeclarationFile) {
|
|
196
196
|
result.rpcMapDeclarationFile = join(rpcDir, 'pikku-rpc-wirings-map.gen.d.ts');
|
|
197
197
|
}
|
|
198
|
+
if (!result.rpcRemoteMapDeclarationFile) {
|
|
199
|
+
result.rpcRemoteMapDeclarationFile = join(rpcDir, 'pikku-rpc-wirings-map.remote.gen.d.ts');
|
|
200
|
+
}
|
|
198
201
|
// Scaffold directory for auto-generated wiring files. Default it beside the
|
|
199
202
|
// first source directory (so a monorepo's scaffold lands in the functions
|
|
200
203
|
// package where its deps — e.g. zod — resolve), not rootDir-relative
|
|
@@ -209,6 +212,12 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
209
212
|
if (result.scaffold?.remoteRpc && !result.remoteRpcWorkersFile) {
|
|
210
213
|
result.remoteRpcWorkersFile = join(resolvedScaffoldDir, 'rpc-remote.gen.ts');
|
|
211
214
|
}
|
|
215
|
+
if (result.scaffold?.graph && !result.graphWiringsFile) {
|
|
216
|
+
result.graphWiringsFile = join(resolvedScaffoldDir, 'graph.wirings.gen.ts');
|
|
217
|
+
}
|
|
218
|
+
if (result.scaffold?.webhook && !result.webhookWorkersFile) {
|
|
219
|
+
result.webhookWorkersFile = join(resolvedScaffoldDir, 'webhook.gen.ts');
|
|
220
|
+
}
|
|
212
221
|
if (result.scaffold?.workflow && !result.workflowRoutesFile) {
|
|
213
222
|
result.workflowRoutesFile = join(resolvedScaffoldDir, 'workflow-routes.gen.ts');
|
|
214
223
|
}
|
|
@@ -423,6 +432,17 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
423
432
|
if (!result.credentialsMetaJsonFile) {
|
|
424
433
|
result.credentialsMetaJsonFile = join(credentialsDir, 'pikku-credentials-meta.gen.json');
|
|
425
434
|
}
|
|
435
|
+
// Scopes (ScopeId union + declared scope set)
|
|
436
|
+
const scopesDir = join(result.outDir, 'scopes');
|
|
437
|
+
if (!result.scopeTypesFile) {
|
|
438
|
+
result.scopeTypesFile = join(scopesDir, 'pikku-scope-types.gen.ts');
|
|
439
|
+
}
|
|
440
|
+
if (!result.scopesFile) {
|
|
441
|
+
result.scopesFile = join(scopesDir, 'pikku-scopes.gen.ts');
|
|
442
|
+
}
|
|
443
|
+
if (!result.scopesMetaJsonFile) {
|
|
444
|
+
result.scopesMetaJsonFile = join(scopesDir, 'pikku-scopes-meta.gen.json');
|
|
445
|
+
}
|
|
426
446
|
// Variables (typed wrapper for VariablesService)
|
|
427
447
|
const variablesDir = join(result.outDir, 'variables');
|
|
428
448
|
if (!result.variableTypesFile) {
|
|
@@ -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/bun-bundler.ts","../src/deploy/bundler/bundler.interface.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/node-bundler.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/add.function.ts","../src/fabric/functions/addon-verify.function.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/publish.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.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/audit.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/bun-coverage-loader.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-ai-runner.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/scenario.ts","../src/functions/commands/serve-console.ts","../src/functions/commands/serve.ts","../src/functions/commands/skills.ts","../src/functions/commands/start-coverage.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-refs.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/gateway/serialize-gateway-meta.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/scenarios/pikku-command-scenario-functions.ts","../src/functions/wirings/scenarios/serialize-scenario-functions.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-scenario-actors.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/server/bun-server-runner.ts","../src/server/dev-server-runner.interface.ts","../src/server/node-server-runner.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/assert-single-core-version.ts","../src/utils/check-required-types.ts","../src/utils/cli-session.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/detect-better-auth.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/meta-diff.ts","../src/utils/parse-cli-filters.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/precise-coverage-map.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../src/utils/tsc-check.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-contracts-meta.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":"6.0.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/bun-bundler.ts","../src/deploy/bundler/bundler.interface.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/node-bundler.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/add.function.ts","../src/fabric/functions/addon-verify.function.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/publish.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.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/audit.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/bun-coverage-loader.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-ai-runner.ts","../src/functions/commands/dev.ts","../src/functions/commands/emails-init.ts","../src/functions/commands/enable.ts","../src/functions/commands/import-n8n.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/scenario.ts","../src/functions/commands/scopes-audit.ts","../src/functions/commands/scopes-prune.ts","../src/functions/commands/scopes-shared.ts","../src/functions/commands/serve-console.ts","../src/functions/commands/serve.ts","../src/functions/commands/skills.ts","../src/functions/commands/start-coverage.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-refs.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/gateway/serialize-gateway-meta.ts","../src/functions/wirings/graph/pikku-command-graph-wirings.ts","../src/functions/wirings/graph/serialize-graph-wirings.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/scenarios/pikku-command-scenario-functions.ts","../src/functions/wirings/scenarios/serialize-scenario-functions.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/scopes/pikku-command-scopes.ts","../src/functions/wirings/scopes/serialize-scopes-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/webhook/pikku-command-webhook.ts","../src/functions/wirings/webhook/serialize-webhook.ts","../src/functions/wirings/workflow/pikku-command-workflow-routes.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-scenario-actors.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/server/bun-server-runner.ts","../src/server/dev-server-runner.interface.ts","../src/server/node-server-runner.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/assert-single-core-version.ts","../src/utils/check-required-types.ts","../src/utils/cli-session.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/detect-better-auth.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/meta-diff.ts","../src/utils/parse-cli-filters.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/precise-coverage-map.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../src/utils/tsc-check.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-contracts-meta.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-map.remote.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/scopes/pikku-scope-types.gen.ts","../.pikku/scopes/pikku-scopes.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":"6.0.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pikku/cli",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.83",
|
|
4
4
|
"author": "yasser.fadl@gmail.com",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"imports": {
|
|
@@ -28,15 +28,16 @@
|
|
|
28
28
|
"@electric-sql/pglite": "^0.5.1",
|
|
29
29
|
"@jridgewell/trace-mapping": "^0.3.25",
|
|
30
30
|
"@openapi-contrib/json-schema-to-openapi-schema": "^4.3.1",
|
|
31
|
-
"@pikku/better-auth": "^0.12.
|
|
31
|
+
"@pikku/better-auth": "^0.12.18",
|
|
32
32
|
"@pikku/bun-server": "^0.12.4",
|
|
33
33
|
"@pikku/deploy-cloudflare": "^0.12.8",
|
|
34
|
-
"@pikku/fetch": "^0.12.
|
|
35
|
-
"@pikku/inspector": "^0.12.
|
|
36
|
-
"@pikku/kysely": "^0.13.
|
|
34
|
+
"@pikku/fetch": "^0.12.8",
|
|
35
|
+
"@pikku/inspector": "^0.12.43",
|
|
36
|
+
"@pikku/kysely": "^0.13.1",
|
|
37
37
|
"@pikku/kysely-node-sqlite": "^0.12.3",
|
|
38
|
+
"@pikku/n8n-import": "^0.0.2",
|
|
38
39
|
"@pikku/node-http-server": "^0.12.6",
|
|
39
|
-
"@pikku/openapi-parser": "^0.12.
|
|
40
|
+
"@pikku/openapi-parser": "^0.12.16",
|
|
40
41
|
"@pikku/schedule": "^0.12.4",
|
|
41
42
|
"@pikku/ws": "^0.12.4",
|
|
42
43
|
"@types/cookie": "^1.0.0",
|
|
@@ -59,10 +60,10 @@
|
|
|
59
60
|
"zod-to-ts": "^2.1.0"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
|
-
"@pikku/core": "^0.12.
|
|
63
|
+
"@pikku/core": "^0.12.64"
|
|
63
64
|
},
|
|
64
65
|
"devDependencies": {
|
|
65
|
-
"@pikku/core": "^0.12.
|
|
66
|
+
"@pikku/core": "^0.12.64",
|
|
66
67
|
"@types/istanbul-lib-instrument": "^1.7.7",
|
|
67
68
|
"@types/node": "^24.11.0",
|
|
68
69
|
"@types/pg": "^8.11.0",
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-addon
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when creating or consuming reusable function packages (addons) in Pikku. Covers wireAddon,
|
|
5
|
+
addon(), pikkuAddonServices, pikkuAddonWireServices, addon package structure, and cross-project
|
|
6
|
+
function sharing. TRIGGER when: code uses wireAddon/addon()/pikkuAddonServices, user asks about
|
|
7
|
+
addons, reusable function packages, cross-project sharing, or addon package structure. DO NOT
|
|
8
|
+
TRIGGER when: user asks about internal function composition (use pikku-rpc) or general function
|
|
9
|
+
definitions (use pikku-concepts).
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# Pikku Addons
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-ai-agent
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when building AI agents, chatbots, or LLM-powered assistants with Pikku. Covers
|
|
5
|
+
pikkuAIAgent, tool registration, memory, streaming, and agent invocation. TRIGGER when: code
|
|
6
|
+
uses pikkuAIAgent/runAIAgent/streamAIAgent, user asks about AI agents, chatbots, LLM assistants,
|
|
7
|
+
tool-calling agents, or agent memory/streaming. DO NOT TRIGGER when: user asks about MCP tool
|
|
8
|
+
exposure (use pikku-mcp) or general function definitions (use pikku-concepts).
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Pikku AI Agent Wiring
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-ai-vercel
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when setting up AI agent execution with the Vercel AI SDK in a Pikku app. Covers
|
|
5
|
+
VercelAIAgentRunner for streaming and non-streaming AI agent steps. TRIGGER when: code uses
|
|
6
|
+
VercelAIAgentRunner, user asks about Vercel AI SDK integration, AI agent runners, or
|
|
7
|
+
@pikku/ai-vercel. DO NOT TRIGGER when: user asks about AI agent wiring (use pikku-ai-agent) or
|
|
8
|
+
voice I/O (use pikku-ai-voice).
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Pikku AI Vercel (Agent Runner)
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-ai-voice
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when adding voice input (speech-to-text) or voice output (text-to-speech) to AI agents in a
|
|
5
|
+
Pikku app. Covers voiceInput/voiceOutput middleware hooks and STT/TTS service interfaces.
|
|
6
|
+
TRIGGER when: code uses voiceInput, voiceOutput, STTService, TTSService, or user asks about
|
|
7
|
+
voice, speech-to-text, text-to-speech, or @pikku/ai-voice. DO NOT TRIGGER when: user asks about
|
|
8
|
+
AI agent wiring (use pikku-ai-agent) or Vercel AI SDK (use pikku-ai-vercel).
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Pikku AI Voice (Speech I/O)
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-audit
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when adding audit / activity-history / change-tracking to a Pikku app, or when a function
|
|
5
|
+
needs to record who changed what. Covers the built-in AuditService sink, the per-invocation
|
|
6
|
+
auditLog buffer (createInvocationAudit / pikkuWireServices), the `audit: true` function flag,
|
|
7
|
+
explicit `auditLog.write()` domain events, automatic query-level capture via
|
|
8
|
+
createAuditedKysely, and the durable KyselyAuditService sink. TRIGGER when: user asks for an
|
|
9
|
+
audit log, change history, activity feed, "who did this", or a custom audit/history table; code
|
|
10
|
+
uses auditLog, createInvocationAudit, createAuditedKysely, or AuditService. DO NOT TRIGGER when:
|
|
11
|
+
user wants app logging/telemetry (use the logger) or DB migrations in general (use
|
|
12
|
+
pikku-kysely).
|
|
6
13
|
installGroups: [core]
|
|
7
14
|
---
|
|
8
15
|
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-aws
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when setting up AWS services (S3, SQS, Secrets Manager) in a Pikku app. Covers S3Content for
|
|
5
|
+
file storage, SQSQueueService for queues, and AWSSecrets for secret management. TRIGGER when:
|
|
6
|
+
code uses S3Content, SQSQueueService, AWSSecrets, or user asks about AWS integration, S3
|
|
7
|
+
uploads, SQS queues, or AWS Secrets Manager with Pikku. DO NOT TRIGGER when: user asks about AWS
|
|
8
|
+
Lambda runtime (use pikku-deploy-lambda).
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Pikku AWS Services
|
|
@@ -74,9 +77,10 @@ const secrets = new AWSSecrets(config: AWSConfig)
|
|
|
74
77
|
|
|
75
78
|
**Methods:**
|
|
76
79
|
|
|
77
|
-
- `getSecret<
|
|
78
|
-
- `
|
|
80
|
+
- `getSecret<T = string>(SecretId: string): Promise<T>` — Get a secret value; a JSON secret is parsed automatically, so pass a shape as `T` (a non-JSON value comes back as the raw string)
|
|
81
|
+
- `getSecrets<T>(SecretIds: (keyof T & string)[]): Promise<Partial<T>>` — Batch fetch; missing keys are omitted rather than thrown
|
|
79
82
|
- `hasSecret(SecretId: string): Promise<boolean>` — Check if secret exists
|
|
83
|
+
- `setSecret` / `deleteSecret` — **not implemented** for `AWSSecrets`; it throws. Manage AWS secrets out of band.
|
|
80
84
|
|
|
81
85
|
## Usage Patterns
|
|
82
86
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-backblaze
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Use when setting up Backblaze B2 file storage in a Pikku app. Covers B2Content for file uploads,
|
|
5
|
+
downloads, and signed URLs. TRIGGER when: code uses B2Content, user asks about Backblaze B2, or
|
|
6
|
+
@pikku/backblaze. DO NOT TRIGGER when: user asks about S3 storage (use pikku-aws).
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# Pikku Backblaze (B2 Content Storage)
|