@pikku/cli 0.12.24 → 0.12.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/assets/index-D4DgafuS.js +232 -0
  3. package/console-app/index.html +1 -1
  4. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  5. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  6. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  7. package/dist/.pikku/cli/pikku-cli-channel.js +16 -1
  8. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  9. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  10. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  11. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +41 -0
  12. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  13. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  14. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  15. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  16. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  17. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  18. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  19. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  20. package/dist/.pikku/function/pikku-functions-meta.gen.json +163 -99
  21. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  22. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  23. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  24. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  25. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  26. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  27. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  28. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  29. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  30. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  31. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  32. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  33. package/dist/.pikku/pikku-services.gen.d.ts +3 -1
  34. package/dist/.pikku/pikku-services.gen.js +2 -0
  35. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  36. package/dist/.pikku/pikku-types.gen.js +1 -1
  37. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  38. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  39. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  40. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  41. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  42. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  43. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +17 -14
  44. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  45. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  46. package/dist/.pikku/schemas/register.gen.js +15 -5
  47. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  48. package/dist/.pikku/schemas/schemas/PikkuEmailsOutput.schema.json +1 -0
  49. package/dist/.pikku/schemas/schemas/PikkuFunctionTypesSplitInput.schema.json +1 -0
  50. package/dist/.pikku/schemas/schemas/PikkuTriggerTypesInput.schema.json +1 -0
  51. package/dist/.pikku/schemas/schemas/WorkspaceValidateInput.schema.json +1 -0
  52. package/dist/.pikku/schemas/schemas/WorkspaceValidateOutput.schema.json +1 -0
  53. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  54. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  55. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  56. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  57. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  58. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  59. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  60. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  61. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  62. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  63. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +5 -5
  64. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  65. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  66. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  67. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  68. package/dist/bin/pikku-bin.mjs +2 -2
  69. package/dist/src/cli.wiring.js +31 -0
  70. package/dist/src/fabric/functions/validate-core.d.ts +20 -0
  71. package/dist/src/fabric/functions/validate-core.js +227 -0
  72. package/dist/src/fabric/functions/validate.function.js +11 -3
  73. package/dist/src/functions/commands/bootstrap.js +2 -2
  74. package/dist/src/functions/commands/console.js +7 -4
  75. package/dist/src/functions/commands/db-migrate.js +2 -3
  76. package/dist/src/functions/commands/db-reset.js +3 -4
  77. package/dist/src/functions/commands/db-seed.js +2 -3
  78. package/dist/src/functions/commands/db-shared.d.ts +2 -15
  79. package/dist/src/functions/commands/db-shared.js +43 -17
  80. package/dist/src/functions/commands/dev.js +11 -6
  81. package/dist/src/functions/commands/emails-init.d.ts +5 -0
  82. package/dist/src/functions/commands/emails-init.js +162 -0
  83. package/dist/src/functions/commands/load-user-project.js +12 -3
  84. package/dist/src/functions/commands/watch.js +7 -4
  85. package/dist/src/functions/commands/workspace-validate.d.ts +33 -0
  86. package/dist/src/functions/commands/workspace-validate.js +9 -0
  87. package/dist/src/functions/db/coercion-plugin.d.ts +7 -0
  88. package/dist/src/functions/db/coercion-plugin.js +99 -0
  89. package/dist/src/functions/db/local-db.d.ts +2 -2
  90. package/dist/src/functions/db/local-db.js +12 -8
  91. package/dist/src/functions/db/seed.d.ts +2 -2
  92. package/dist/src/functions/db/sql-migrator.d.ts +3 -3
  93. package/dist/src/functions/db/sqlite-codegen.d.ts +3 -3
  94. package/dist/src/functions/db/sqlite-kysely.d.ts +8 -0
  95. package/dist/src/functions/db/sqlite-kysely.js +62 -0
  96. package/dist/src/functions/db/sqlite-runtime-bun.d.ts +2 -0
  97. package/dist/src/functions/db/sqlite-runtime-bun.js +52 -0
  98. package/dist/src/functions/db/sqlite-runtime-node.d.ts +2 -0
  99. package/dist/src/functions/db/sqlite-runtime-node.js +51 -0
  100. package/dist/src/functions/db/sqlite-runtime.d.ts +20 -0
  101. package/dist/src/functions/db/sqlite-runtime.js +13 -0
  102. package/dist/src/functions/validate/workspace-validate.d.ts +34 -0
  103. package/dist/src/functions/validate/workspace-validate.js +258 -0
  104. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  105. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +6 -0
  106. package/dist/src/functions/wirings/emails/pikku-command-emails.js +172 -0
  107. package/dist/src/functions/wirings/emails/serialize-emails.d.ts +20 -0
  108. package/dist/src/functions/wirings/emails/serialize-emails.js +168 -0
  109. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +7 -1
  110. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  111. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +7 -1
  112. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +2 -2
  113. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +1 -1
  114. package/dist/src/functions/workflows/all.workflow.js +12 -7
  115. package/dist/src/scaffold/rpc-remote.gen.js +1 -1
  116. package/dist/src/utils/pikku-cli-config.js +6 -0
  117. package/dist/tsconfig.tsbuildinfo +1 -1
  118. package/package.json +3 -3
  119. package/skills/pikku-auth-js/SKILL.md +271 -58
  120. package/console-app/assets/index-BDOqBctb.js +0 -232
@@ -0,0 +1,168 @@
1
+ export const serializeEmailsModule = ({ theme, locales, partials, templates, }) => {
2
+ const serializedTheme = JSON.stringify(theme, null, 2);
3
+ const serializedLocales = JSON.stringify(locales, null, 2);
4
+ const serializedPartials = JSON.stringify(partials, null, 2);
5
+ const serializedTemplates = JSON.stringify(templates, null, 2);
6
+ return `type EmailPrimitive = string | number | boolean | null | undefined
7
+ type EmailTemplateValue = EmailPrimitive | Record<string, unknown> | Array<unknown>
8
+
9
+ const EMAIL_THEME = ${serializedTheme} as const
10
+ const EMAIL_LOCALES = ${serializedLocales} as const
11
+ const EMAIL_PARTIALS = ${serializedPartials} as const
12
+ const EMAIL_TEMPLATES = ${serializedTemplates} as const
13
+
14
+ export type EmailTemplateName = keyof typeof EMAIL_TEMPLATES
15
+ export type EmailLocale = keyof typeof EMAIL_LOCALES
16
+
17
+ type TemplateVariableMap = {
18
+ ${Object.entries(templates)
19
+ .map(([name, template]) => {
20
+ const variables = template.variables.length === 0
21
+ ? 'Record<string, never>'
22
+ : `{
23
+ ${template.variables
24
+ .map((variable) => ` ${JSON.stringify(variable)}?: EmailTemplateValue`)
25
+ .join('\n')}
26
+ }`;
27
+ return ` ${JSON.stringify(name)}: ${variables}`;
28
+ })
29
+ .join('\n')}
30
+ }
31
+
32
+ export type EmailTemplateVariables<TName extends EmailTemplateName> =
33
+ TemplateVariableMap[TName]
34
+
35
+ export type RenderEmailInput<TName extends EmailTemplateName> = {
36
+ name: TName
37
+ locale?: EmailLocale
38
+ data: EmailTemplateVariables<TName>
39
+ }
40
+
41
+ export type RenderedEmail<TName extends EmailTemplateName> = {
42
+ name: TName
43
+ locale: EmailLocale
44
+ subject: string
45
+ html: string
46
+ text?: string
47
+ variables: ReadonlyArray<string>
48
+ hash: (typeof EMAIL_TEMPLATES)[TName]['hashes'][EmailLocale]['contentHash']
49
+ }
50
+
51
+ function getNestedValue(source: Record<string, unknown>, path: string): string {
52
+ const segments = path.split('.')
53
+ let current: unknown = source
54
+ for (const segment of segments) {
55
+ if (!current || typeof current !== 'object' || !(segment in current)) {
56
+ return ''
57
+ }
58
+ current = (current as Record<string, unknown>)[segment]
59
+ }
60
+ return typeof current === 'string' || typeof current === 'number'
61
+ ? String(current)
62
+ : ''
63
+ }
64
+
65
+ function applyTemplate(source: string, context: Record<string, unknown>): string {
66
+ return source.replace(/\\{\\{\\s*([^}]+?)\\s*\\}\\}/g, (_match, rawKey) => {
67
+ const key = String(rawKey).trim()
68
+ if (key === 'content') {
69
+ return typeof context.content === 'string' ? context.content : ''
70
+ }
71
+ if (key.startsWith('>')) {
72
+ return ''
73
+ }
74
+ return getNestedValue(context, key)
75
+ })
76
+ }
77
+
78
+ function renderTemplate(source: string, context: Record<string, unknown>): string {
79
+ let rendered = source
80
+ for (let i = 0; i < 5; i += 1) {
81
+ const next = applyTemplate(rendered, context)
82
+ if (next === rendered) break
83
+ rendered = next
84
+ }
85
+ return rendered
86
+ }
87
+
88
+ function renderPartial(name: string, context: Record<string, unknown>): string {
89
+ const partial = EMAIL_PARTIALS[name as keyof typeof EMAIL_PARTIALS]
90
+ return partial ? renderTemplate(partial, context) : ''
91
+ }
92
+
93
+ export const EMAILS = EMAIL_TEMPLATES
94
+
95
+ export function renderEmailTemplate<TName extends EmailTemplateName>(
96
+ input: RenderEmailInput<TName>
97
+ ): RenderedEmail<TName> {
98
+ const locale = (input.locale ?? 'en') as EmailLocale
99
+ const template = EMAIL_TEMPLATES[input.name]
100
+ if (!template) {
101
+ throw new Error(\`Unknown email template: \${String(input.name)}\`)
102
+ }
103
+
104
+ const strings = EMAIL_LOCALES[locale]
105
+ if (!strings) {
106
+ throw new Error(\`Unknown email locale: \${String(locale)}\`)
107
+ }
108
+
109
+ const data = (input.data ?? {}) as Record<string, unknown>
110
+ const appName =
111
+ (typeof data.appName === 'string' && data.appName) ||
112
+ getNestedValue(EMAIL_THEME as Record<string, unknown>, 'appName')
113
+
114
+ const baseContext = {
115
+ ...data,
116
+ locale,
117
+ theme: EMAIL_THEME,
118
+ t: strings,
119
+ appName,
120
+ }
121
+
122
+ const subject = renderTemplate(template.subject, baseContext).trim()
123
+ const htmlWithPartials = template.html.replace(
124
+ /\\{\\{\\s*>\\s*([a-zA-Z0-9-_/.]+)\\s*\\}\\}/g,
125
+ (_match, partialName) => \`@@PARTIAL:\${String(partialName).trim()}@@\`
126
+ )
127
+
128
+ let htmlBody = renderTemplate(htmlWithPartials, {
129
+ ...baseContext,
130
+ subject,
131
+ })
132
+
133
+ const partialMatches = [...htmlBody.matchAll(/@@PARTIAL:([^@]+)@@/g)]
134
+ for (const match of partialMatches) {
135
+ const rendered = renderPartial(match[1], {
136
+ ...baseContext,
137
+ subject,
138
+ })
139
+ htmlBody = htmlBody.replace(match[0], rendered)
140
+ }
141
+
142
+ const html = EMAIL_PARTIALS.layout
143
+ ? renderTemplate(EMAIL_PARTIALS.layout, {
144
+ ...baseContext,
145
+ subject,
146
+ content: htmlBody,
147
+ })
148
+ : htmlBody
149
+
150
+ const text = template.text
151
+ ? renderTemplate(template.text, {
152
+ ...baseContext,
153
+ subject,
154
+ }).trim()
155
+ : undefined
156
+
157
+ return {
158
+ name: input.name,
159
+ locale,
160
+ subject,
161
+ html,
162
+ ...(text ? { text } : {}),
163
+ variables: template.variables,
164
+ hash: template.hashes[locale]?.contentHash ?? '',
165
+ } as RenderedEmail<TName>
166
+ }
167
+ `;
168
+ };
@@ -1 +1,7 @@
1
- export declare const pikkuFunctionTypesSplit: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuFunctionTypesSplit: import("#pikku").PikkuFunctionConfig<{
2
+ bootstrap?: boolean;
3
+ }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ bootstrap?: boolean;
5
+ }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
6
+ bootstrap?: boolean;
7
+ }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -5,8 +5,8 @@ import { writeFileInDir } from '../../../utils/file-writer.js';
5
5
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
6
6
  import { serializeFunctionTypes } from './serialize-function-types.js';
7
7
  export const pikkuFunctionTypesSplit = pikkuSessionlessFunc({
8
- func: async ({ logger, config, getInspectorState }) => {
9
- const visitState = await getInspectorState(false, true);
8
+ func: async ({ logger, config, getInspectorState }, data) => {
9
+ const visitState = await getInspectorState(false, true, data?.bootstrap ?? false);
10
10
  const { functionTypesFile, packageMappings, rpcInternalMapDeclarationFile, servicesFile, } = config;
11
11
  // Check for required types
12
12
  checkRequiredTypes(visitState.filesAndMethodsErrors, {
@@ -1 +1,7 @@
1
- export declare const pikkuTriggerTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuTriggerTypes: import("#pikku").PikkuFunctionConfig<{
2
+ bootstrap?: boolean;
3
+ }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ bootstrap?: boolean;
5
+ }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
6
+ bootstrap?: boolean;
7
+ }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -4,9 +4,9 @@ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
5
  import { serializeTriggerTypes } from './serialize-trigger-types.js';
6
6
  export const pikkuTriggerTypes = pikkuSessionlessFunc({
7
- func: async ({ logger, config, getInspectorState }) => {
7
+ func: async ({ logger, config, getInspectorState }, data) => {
8
8
  const { triggersTypesFile, packageMappings } = config;
9
- const visitState = await getInspectorState(false, true);
9
+ const visitState = await getInspectorState(false, true, data?.bootstrap ?? false);
10
10
  const { singletonServicesType } = visitState.filesAndMethods;
11
11
  if (!singletonServicesType) {
12
12
  throw new Error('SingletonServices type not found');
@@ -14,7 +14,7 @@ export const pikkuWorkflow = pikkuSessionlessFunc({
14
14
  func: async ({ logger, config, getInspectorState }, input) => {
15
15
  const bootstrap = input?.bootstrap === true;
16
16
  const visitState = bootstrap
17
- ? await getInspectorState(false, true, false)
17
+ ? await getInspectorState(false, true, true)
18
18
  : await getInspectorState();
19
19
  const { workflowsWiringFile, workflowsWiringMetaFile, workflowMetaDir, workflowMapDeclarationFile, workflowTypesFile, functionTypesFile, packageMappings, schema, } = config;
20
20
  const { workflows, functions: functionState } = visitState;
@@ -29,7 +29,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
29
29
  if (!existsSync(config.outDir)) {
30
30
  logger.debug(`• .pikku directory not found, running bootstrap first...`);
31
31
  await workflow.do('Bootstrap inspect', async () => getInspectorState(false, true, true));
32
- await workflow.do('Bootstrap function types split', 'pikkuFunctionTypesSplit', null);
32
+ await workflow.do('Bootstrap function types split', 'pikkuFunctionTypesSplit', { bootstrap: true });
33
33
  await workflow.do('Bootstrap function types', 'pikkuFunctionTypes', null);
34
34
  await workflow.do('Bootstrap addon types', 'pikkuAddonTypes', {
35
35
  bootstrap: true,
@@ -42,15 +42,19 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
42
42
  workflow.do('Bootstrap workflow', 'pikkuWorkflow', {
43
43
  bootstrap: true,
44
44
  }),
45
- workflow.do('Bootstrap Trigger types', 'pikkuTriggerTypes', null),
45
+ workflow.do('Bootstrap Trigger types', 'pikkuTriggerTypes', {
46
+ bootstrap: true,
47
+ }),
46
48
  workflow.do('Bootstrap MCP types', 'pikkuMCPTypes', null),
47
49
  workflow.do('Bootstrap AI agent types', 'pikkuAIAgentTypes', null),
48
50
  ]);
49
51
  await workflow.do('Bootstrap Node types', 'pikkuNodeTypes', null);
50
52
  await workflow.do('Bootstrap Secret definition types', 'pikkuSecretDefinitionTypes', null);
51
- await workflow.do('Bootstrap CLI types', 'pikkuCLITypes', {
52
- bootstrap: true,
53
- });
53
+ if (!config.addon) {
54
+ await workflow.do('Bootstrap CLI types', 'pikkuCLITypes', {
55
+ bootstrap: true,
56
+ });
57
+ }
54
58
  await workflow.do('Bootstrap re-inspect', async () => getInspectorState(true, true));
55
59
  }
56
60
  if (!existsSync(config.typesDeclarationFile)) {
@@ -69,8 +73,8 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
69
73
  }
70
74
  // Type generators are independent of each other
71
75
  const typeGenerators = [
72
- workflow.do('Function types split', 'pikkuFunctionTypesSplit', null),
73
- workflow.do('Trigger types', 'pikkuTriggerTypes', null),
76
+ workflow.do('Function types split', 'pikkuFunctionTypesSplit', {}),
77
+ workflow.do('Trigger types', 'pikkuTriggerTypes', {}),
74
78
  workflow.do('AI agent types', 'pikkuAIAgentTypes', null),
75
79
  ];
76
80
  if (!config.addon) {
@@ -111,6 +115,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
111
115
  workflow.do('Public RPC', 'pikkuPublicRPC', null),
112
116
  workflow.do('Console functions', 'pikkuConsoleFunctions', null),
113
117
  workflow.do('Events scaffold', 'pikkuEventsScaffold', null),
118
+ workflow.do('Emails', 'pikkuEmails', null),
114
119
  workflow.do('Secret definition types', 'pikkuSecretDefinitionTypes', null),
115
120
  workflow.do('Secrets', 'pikkuSecrets', null),
116
121
  workflow.do('Credentials', 'pikkuCredentials', null),
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.24
2
+ * This file was generated by @pikku/cli@0.12.25
3
3
  */
4
4
  /**
5
5
  * Auto-generated remote internal RPC queue worker and HTTP endpoint
@@ -87,6 +87,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
87
87
  },
88
88
  };
89
89
  }
90
+ if (result.outDir && !isAbsolute(result.outDir)) {
91
+ result.outDir = resolve(configDir, result.outDir);
92
+ }
90
93
  // Override outDir if provided via CLI flag (must happen before derived paths)
91
94
  if (outDirOverride) {
92
95
  result.outDir = isAbsolute(outDirOverride)
@@ -410,6 +413,9 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
410
413
  }
411
414
  }
412
415
  }
416
+ if (result.emailTemplatesDir && !isAbsolute(result.emailTemplatesDir)) {
417
+ result.emailTemplatesDir = join(result.configDir, result.emailTemplatesDir);
418
+ }
413
419
  if (!isAbsolute(result.tsconfig)) {
414
420
  result.tsconfig = join(result.rootDir, result.tsconfig);
415
421
  }
@@ -1 +1 @@
1
- {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/deploy/build-pipeline.ts","../src/deploy/provider-adapter.ts","../src/deploy/server-entry.ts","../src/deploy/analyzer/analyzer.ts","../src/deploy/analyzer/index.ts","../src/deploy/analyzer/manifest.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/types.ts","../src/deploy/codegen/index.ts","../src/deploy/codegen/per-unit-codegen.ts","../src/deploy/plan/executor.ts","../src/deploy/plan/formatter.ts","../src/deploy/plan/index.ts","../src/deploy/plan/planner.ts","../src/deploy/plan/provider.ts","../src/deploy/plan/types.ts","../src/fabric/fabric-commands.ts","../src/fabric/functions/db-schema.function.ts","../src/fabric/functions/deploy-list.function.ts","../src/fabric/functions/deploy-units.function.ts","../src/fabric/functions/deploy.function.ts","../src/fabric/functions/domains-add.function.ts","../src/fabric/functions/domains-list.function.ts","../src/fabric/functions/domains-remove.function.ts","../src/fabric/functions/errors.function.ts","../src/fabric/functions/init.function.ts","../src/fabric/functions/link.function.ts","../src/fabric/functions/llm-key.function.ts","../src/fabric/functions/login.function.ts","../src/fabric/functions/logs.function.ts","../src/fabric/functions/metrics.function.ts","../src/fabric/functions/rollback.function.ts","../src/fabric/functions/secrets-list.function.ts","../src/fabric/functions/secrets-set.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate.function.ts","../src/fabric/lib/config.ts","../src/fabric/lib/console-url.ts","../src/fabric/lib/git.ts","../src/fabric/lib/http.ts","../src/fabric/lib/not-implemented.ts","../src/fabric/lib/output.ts","../src/fabric/lib/prompt.ts","../src/fabric/lib/stage.ts","../src/fabric/sdk/http-map.gen.d.ts","../src/fabric/sdk/pikku-fetch.gen.ts","../src/fabric/sdk/pikku-rpc.gen.ts","../src/fabric/sdk/rpc-map.gen.d.ts","../src/functions/commands/all.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/console.ts","../src/functions/commands/db-migrate.ts","../src/functions/commands/db-reset.ts","../src/functions/commands/db-seed.ts","../src/functions/commands/db-shared.ts","../src/functions/commands/deploy-apply.ts","../src/functions/commands/deploy-info.ts","../src/functions/commands/deploy-plan.ts","../src/functions/commands/dev.ts","../src/functions/commands/enable.ts","../src/functions/commands/info.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/meta.ts","../src/functions/commands/new-addon.ts","../src/functions/commands/new-function.ts","../src/functions/commands/new-middleware.ts","../src/functions/commands/new-permission.ts","../src/functions/commands/new-wiring.ts","../src/functions/commands/pikku-command-bootstrap.ts","../src/functions/commands/pikku-command-summary.ts","../src/functions/commands/skills.ts","../src/functions/commands/tests-coverage.ts","../src/functions/commands/tests-init.ts","../src/functions/commands/versions-check.ts","../src/functions/commands/versions-init.ts","../src/functions/commands/versions-update.ts","../src/functions/commands/watch.ts","../src/functions/db/local-db.ts","../src/functions/db/seed.ts","../src/functions/db/sql-migrator.ts","../src/functions/db/sqlite-codegen.ts","../src/functions/db/zod-codegen.ts","../src/functions/runtimes/fetch/index.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.ts","../src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.ts","../src/functions/runtimes/websocket/pikku-command-websocket-typed.ts","../src/functions/runtimes/websocket/serialize-websocket-wrapper.ts","../src/functions/wirings/ai-agent/pikku-command-ai-agent-types.ts","../src/functions/wirings/ai-agent/pikku-command-ai-agent.ts","../src/functions/wirings/ai-agent/pikku-command-public-agent.ts","../src/functions/wirings/ai-agent/serialize-agent-map.ts","../src/functions/wirings/ai-agent/serialize-ai-agent-types.ts","../src/functions/wirings/ai-agent/serialize-public-agent.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/console/pikku-command-console-functions.ts","../src/functions/wirings/console/pikku-command-node-types.ts","../src/functions/wirings/console/pikku-command-nodes-meta.ts","../src/functions/wirings/console/serialize-console-functions.ts","../src/functions/wirings/console/serialize-node-types.ts","../src/functions/wirings/credentials/pikku-command-credentials.ts","../src/functions/wirings/credentials/serialize-credentials-types.ts","../src/functions/wirings/functions/pikku-command-addon-types.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-function-types.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-addon-types.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-pikku-types-hub.ts","../src/functions/wirings/gateway/pikku-command-gateway.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/package/pikku-command-package-types.ts","../src/functions/wirings/package/pikku-command-package.ts","../src/functions/wirings/package/serialize-package-types.ts","../src/functions/wirings/package/serialize-package.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/realtime/pikku-command-events-scaffold.ts","../src/functions/wirings/realtime/pikku-command-realtime.ts","../src/functions/wirings/realtime/serialize-events-scaffold.ts","../src/functions/wirings/realtime/serialize-realtime-client.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-react-query.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-react-query-hooks.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/secrets/pikku-command-secrets.ts","../src/functions/wirings/secrets/serialize-secrets-types.ts","../src/functions/wirings/triggers/pikku-command-trigger-types.ts","../src/functions/wirings/triggers/pikku-command-trigger.ts","../src/functions/wirings/triggers/serialize-trigger-meta.ts","../src/functions/wirings/triggers/serialize-trigger-types.ts","../src/functions/wirings/variables/pikku-command-variables.ts","../src/functions/wirings/variables/serialize-variables-types.ts","../src/functions/wirings/workflow/pikku-command-workflow-routes.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-bootstrap-map.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-registration.ts","../src/functions/wirings/workflow/serialize-workflow-routes.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/workflows/all.workflow.ts","../src/middleware/log-command-info-and-time.ts","../src/scaffold/rpc-remote.gen.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/check-required-types.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/parse-cli-filters.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-meta-service.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/agent/pikku-agent-map.gen.d.ts","../.pikku/agent/pikku-agent-types.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/console/pikku-node-types.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions.gen.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/http/pikku-http-wirings-map.gen.d.ts","../.pikku/http/pikku-http-wirings-meta.gen.ts","../.pikku/http/pikku-http-wirings.gen.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/node/pikku-node-types.gen.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/secrets/pikku-secret-types.gen.ts","../.pikku/secrets/pikku-secrets.gen.ts","../.pikku/trigger/pikku-trigger-types.gen.ts","../.pikku/variables/pikku-variable-types.gen.ts","../.pikku/variables/pikku-variables.gen.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/config.d.ts"],"version":"5.9.3"}
1
+ {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/deploy/build-pipeline.ts","../src/deploy/provider-adapter.ts","../src/deploy/server-entry.ts","../src/deploy/analyzer/analyzer.ts","../src/deploy/analyzer/index.ts","../src/deploy/analyzer/manifest.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/types.ts","../src/deploy/codegen/index.ts","../src/deploy/codegen/per-unit-codegen.ts","../src/deploy/plan/executor.ts","../src/deploy/plan/formatter.ts","../src/deploy/plan/index.ts","../src/deploy/plan/planner.ts","../src/deploy/plan/provider.ts","../src/deploy/plan/types.ts","../src/fabric/fabric-commands.ts","../src/fabric/functions/db-schema.function.ts","../src/fabric/functions/deploy-list.function.ts","../src/fabric/functions/deploy-units.function.ts","../src/fabric/functions/deploy.function.ts","../src/fabric/functions/domains-add.function.ts","../src/fabric/functions/domains-list.function.ts","../src/fabric/functions/domains-remove.function.ts","../src/fabric/functions/errors.function.ts","../src/fabric/functions/init.function.ts","../src/fabric/functions/link.function.ts","../src/fabric/functions/llm-key.function.ts","../src/fabric/functions/login.function.ts","../src/fabric/functions/logs.function.ts","../src/fabric/functions/metrics.function.ts","../src/fabric/functions/rollback.function.ts","../src/fabric/functions/secrets-list.function.ts","../src/fabric/functions/secrets-set.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate-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-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/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/coercion-plugin.ts","../src/functions/db/local-db.ts","../src/functions/db/seed.ts","../src/functions/db/sql-migrator.ts","../src/functions/db/sqlite-codegen.ts","../src/functions/db/sqlite-kysely.ts","../src/functions/db/sqlite-runtime-bun.ts","../src/functions/db/sqlite-runtime-node.ts","../src/functions/db/sqlite-runtime.ts","../src/functions/db/zod-codegen.ts","../src/functions/runtimes/fetch/index.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.ts","../src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.ts","../src/functions/runtimes/websocket/pikku-command-websocket-typed.ts","../src/functions/runtimes/websocket/serialize-websocket-wrapper.ts","../src/functions/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/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/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/parse-cli-filters.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-meta-service.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/agent/pikku-agent-map.gen.d.ts","../.pikku/agent/pikku-agent-types.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/console/pikku-node-types.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions.gen.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/http/pikku-http-wirings-map.gen.d.ts","../.pikku/http/pikku-http-wirings-meta.gen.ts","../.pikku/http/pikku-http-wirings.gen.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/node/pikku-node-types.gen.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/secrets/pikku-secret-types.gen.ts","../.pikku/secrets/pikku-secrets.gen.ts","../.pikku/trigger/pikku-trigger-types.gen.ts","../.pikku/variables/pikku-variable-types.gen.ts","../.pikku/variables/pikku-variables.gen.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/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.24",
3
+ "version": "0.12.25",
4
4
  "author": "yasser.fadl@gmail.com",
5
5
  "license": "BUSL-1.1",
6
6
  "imports": {
@@ -26,11 +26,11 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@openapi-contrib/json-schema-to-openapi-schema": "^4.3.1",
29
- "@pikku/core": "^0.12.23",
29
+ "@pikku/core": "^0.12.24",
30
30
  "@pikku/deploy-cloudflare": "^0.12.3",
31
31
  "@pikku/fetch": "^0.12.2",
32
32
  "@pikku/inspector": "^0.12.12",
33
- "@pikku/kysely": "^0.12.11",
33
+ "@pikku/kysely": "^0.12.12",
34
34
  "@pikku/kysely-node-sqlite": "^0.12.1",
35
35
  "@pikku/node-http-server": "^0.12.1",
36
36
  "@pikku/openapi-parser": "^0.12.10",