@pikku/cli 0.12.39 → 0.12.41

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 (209) hide show
  1. package/console-app/assets/{index-Dxl3JsMK.js → index-D9Z9rySK.js} +2 -2
  2. package/console-app/index.html +1 -1
  3. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  4. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +3 -3
  5. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  6. package/dist/.pikku/cli/pikku-cli-channel.d.ts +6 -6
  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 +47 -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 +2 -2
  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 +229 -178
  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 +1 -1
  34. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  35. package/dist/.pikku/pikku-types.gen.js +1 -1
  36. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  37. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  38. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  39. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  41. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  42. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +5 -2
  43. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  44. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  45. package/dist/.pikku/schemas/register.gen.js +13 -9
  46. package/dist/.pikku/schemas/schemas/LogoutInput.schema.json +1 -0
  47. package/dist/.pikku/schemas/schemas/WhoamiInput.schema.json +1 -0
  48. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  49. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  50. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  51. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  52. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  53. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  54. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  55. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  56. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  57. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  58. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  59. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  60. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  61. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  62. package/dist/bin/pikku-bin.mjs +2 -2
  63. package/dist/src/cli.wiring.js +45 -0
  64. package/dist/src/deploy/build-pipeline.d.ts +1 -0
  65. package/dist/src/deploy/build-pipeline.js +1 -1
  66. package/dist/src/fabric/fabric-commands.d.ts +63 -63
  67. package/dist/src/fabric/functions/db-schema.function.d.ts +3 -3
  68. package/dist/src/fabric/functions/deploy-list.function.d.ts +3 -3
  69. package/dist/src/fabric/functions/deploy-units.function.d.ts +3 -3
  70. package/dist/src/fabric/functions/deploy.function.d.ts +6 -6
  71. package/dist/src/fabric/functions/domains-add.function.d.ts +3 -3
  72. package/dist/src/fabric/functions/domains-list.function.d.ts +3 -3
  73. package/dist/src/fabric/functions/domains-remove.function.d.ts +3 -3
  74. package/dist/src/fabric/functions/errors.function.d.ts +3 -3
  75. package/dist/src/fabric/functions/init.function.d.ts +3 -3
  76. package/dist/src/fabric/functions/link.function.d.ts +3 -3
  77. package/dist/src/fabric/functions/llm-key.function.d.ts +3 -3
  78. package/dist/src/fabric/functions/login.function.d.ts +3 -3
  79. package/dist/src/fabric/functions/logs.function.d.ts +3 -3
  80. package/dist/src/fabric/functions/metrics.function.d.ts +3 -3
  81. package/dist/src/fabric/functions/rollback.function.d.ts +3 -3
  82. package/dist/src/fabric/functions/secrets-list.function.d.ts +3 -3
  83. package/dist/src/fabric/functions/secrets-set.function.d.ts +3 -3
  84. package/dist/src/fabric/functions/status.function.d.ts +3 -3
  85. package/dist/src/fabric/functions/trace.function.d.ts +3 -3
  86. package/dist/src/fabric/functions/validate-core.js +2 -7
  87. package/dist/src/fabric/functions/validate.function.d.ts +3 -3
  88. package/dist/src/fabric/functions/validate.function.js +16 -14
  89. package/dist/src/functions/commands/all.d.ts +1 -1
  90. package/dist/src/functions/commands/binary.d.ts +3 -3
  91. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  92. package/dist/src/functions/commands/console.d.ts +3 -3
  93. package/dist/src/functions/commands/db-audit.d.ts +1 -1
  94. package/dist/src/functions/commands/db-generate.d.ts +1 -1
  95. package/dist/src/functions/commands/db-generate.js +0 -3
  96. package/dist/src/functions/commands/db-migrate.d.ts +1 -1
  97. package/dist/src/functions/commands/db-reset.d.ts +1 -1
  98. package/dist/src/functions/commands/db-reset.js +11 -7
  99. package/dist/src/functions/commands/db-seed.d.ts +1 -1
  100. package/dist/src/functions/commands/db-seed.js +4 -7
  101. package/dist/src/functions/commands/db-shared.js +2 -4
  102. package/dist/src/functions/commands/deploy-apply.d.ts +3 -3
  103. package/dist/src/functions/commands/deploy-apply.js +1 -0
  104. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  105. package/dist/src/functions/commands/deploy-plan.d.ts +3 -3
  106. package/dist/src/functions/commands/deploy-plan.js +1 -0
  107. package/dist/src/functions/commands/dev.d.ts +3 -3
  108. package/dist/src/functions/commands/dev.js +1 -1
  109. package/dist/src/functions/commands/emails-init.d.ts +1 -1
  110. package/dist/src/functions/commands/enable.d.ts +5 -5
  111. package/dist/src/functions/commands/info.d.ts +4 -4
  112. package/dist/src/functions/commands/login.d.ts +37 -0
  113. package/dist/src/functions/commands/login.js +85 -0
  114. package/dist/src/functions/commands/meta.d.ts +31 -31
  115. package/dist/src/functions/commands/new-addon.d.ts +3 -3
  116. package/dist/src/functions/commands/new-function.d.ts +3 -3
  117. package/dist/src/functions/commands/new-middleware.d.ts +3 -3
  118. package/dist/src/functions/commands/new-permission.d.ts +3 -3
  119. package/dist/src/functions/commands/new-wiring.d.ts +3 -3
  120. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  121. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  122. package/dist/src/functions/commands/skills.d.ts +6 -6
  123. package/dist/src/functions/commands/tests-coverage.d.ts +3 -3
  124. package/dist/src/functions/commands/tests-init.d.ts +3 -3
  125. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  126. package/dist/src/functions/commands/versions-init.d.ts +3 -3
  127. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  128. package/dist/src/functions/commands/watch.d.ts +3 -3
  129. package/dist/src/functions/commands/workspace-validate.d.ts +3 -3
  130. package/dist/src/functions/db/local-db.d.ts +9 -5
  131. package/dist/src/functions/db/local-db.js +275 -107
  132. package/dist/src/functions/db/postgres/pglite-kysely.d.ts +8 -0
  133. package/dist/src/functions/db/postgres/pglite-kysely.js +79 -0
  134. package/dist/src/functions/db/postgres/postgres-introspector.d.ts +1 -0
  135. package/dist/src/functions/db/postgres/postgres-introspector.js +6 -1
  136. package/dist/src/functions/db/postgres/postgres-migrator.d.ts +7 -2
  137. package/dist/src/functions/db/postgres/postgres-migrator.js +6 -1
  138. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  139. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  140. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
  141. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  142. package/dist/src/functions/validate/workspace-validate.js +4 -4
  143. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -1
  144. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -1
  145. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -1
  146. package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +1 -1
  147. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  148. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  149. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  150. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  151. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  152. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  153. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  154. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +38 -7
  155. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  156. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -1
  157. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  158. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  159. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
  160. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
  161. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +3 -3
  162. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +3 -3
  163. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  164. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  165. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  166. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  167. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  168. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  169. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  170. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  171. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  172. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  173. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  174. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  175. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  176. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -2
  177. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  178. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  179. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  180. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  181. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  183. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  184. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  185. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
  186. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
  187. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  188. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  189. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  190. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  191. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  192. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  193. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  194. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  195. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  196. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +3 -3
  197. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  198. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  199. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  200. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  201. package/dist/src/scaffold/rpc-remote.gen.d.ts +3 -3
  202. package/dist/src/scaffold/rpc-remote.gen.js +1 -1
  203. package/dist/src/utils/cli-session.d.ts +40 -0
  204. package/dist/src/utils/cli-session.js +73 -0
  205. package/dist/src/utils/device-auth.d.ts +28 -0
  206. package/dist/src/utils/device-auth.js +111 -0
  207. package/dist/tsconfig.tsbuildinfo +1 -1
  208. package/package.json +4 -3
  209. package/skills/pikku-machine-auth/SKILL.md +177 -0
@@ -20,9 +20,6 @@ export const dbGenerate = pikkuSessionlessFunc({
20
20
  case 'up-to-date':
21
21
  logger.info('db generate: Better Auth schema already covered by existing migrations — nothing to generate');
22
22
  return;
23
- case 'unsupported-dialect':
24
- logger.warn('db generate: automatic Better Auth migration generation is currently SQLite-only. Run Better Auth schema generation manually for postgres.');
25
- return;
26
23
  case 'incremental-unsupported': {
27
24
  const cols = (result.missingColumns ?? [])
28
25
  .map((m) => `${m.table}(${m.columns.join(', ')})`)
@@ -1 +1 @@
1
- export declare const dbMigrate: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const dbMigrate: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const dbReset: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const dbReset: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -4,20 +4,24 @@ import { loadUserConfigForDb } from './db-shared.js';
4
4
  export const dbReset = pikkuSessionlessFunc({
5
5
  remote: true,
6
6
  func: async ({ logger, config }) => {
7
+ if (process.env.NODE_ENV === 'production') {
8
+ logger.error('pikku db reset refused: NODE_ENV=production. This command only runs in dev.');
9
+ throw new Error('pikku db reset refused: NODE_ENV=production');
10
+ }
7
11
  const userConfig = await loadUserConfigForDb({ config, logger });
8
12
  if (!userConfig)
9
13
  return;
10
14
  const resolved = resolveDb(userConfig, config.rootDir, config.outDir, config.runtimeDir);
11
15
  if (!resolved) {
12
- logger.error('pikku db reset: no database configured — set sqliteDb in your createConfig.');
16
+ logger.error('pikku db reset: no database configured — set sqliteDb or postgresUrl in your createConfig.');
13
17
  throw new Error('no database configured');
14
18
  }
15
- if (resolved.dialect !== 'sqlite') {
16
- logger.error('pikku db reset: reset is only supported for SQLite databases.');
17
- throw new Error('reset not supported for postgres');
18
- }
19
- reset(resolved, config.rootDir);
20
- logger.info(`db reset: removed ${resolved.dbFile}`);
19
+ await reset(resolved, config.rootDir);
20
+ logger.info(resolved.dialect === 'sqlite'
21
+ ? `db reset: removed ${resolved.dbFile}`
22
+ : resolved.mode === 'pglite'
23
+ ? `db reset: removed ${resolved.pgliteDir}`
24
+ : 'db reset: cleared non-system Postgres schemas');
21
25
  const { migrate, codegen, zod } = await migrateAndCodegen(resolved);
22
26
  for (const name of migrate.applied) {
23
27
  logger.info(`db reset: applied ${name}`);
@@ -1 +1 @@
1
- export declare const dbSeed: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const dbSeed: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -9,19 +9,16 @@ export const dbSeed = pikkuSessionlessFunc({
9
9
  return;
10
10
  const resolved = resolveDb(userConfig, config.rootDir, config.outDir, config.runtimeDir);
11
11
  if (!resolved) {
12
- logger.error('pikku db seed: no database configured — set sqliteDb in your createConfig.');
12
+ logger.error('pikku db seed: no database configured — set sqliteDb or postgresUrl in your createConfig.');
13
13
  throw new Error('no database configured');
14
14
  }
15
- if (resolved.dialect !== 'sqlite') {
16
- logger.error('pikku db seed: seed is only supported for SQLite databases.');
17
- throw new Error('seed not supported for postgres');
18
- }
19
15
  const result = await seed(resolved);
16
+ const seedFile = resolved.seedFile;
20
17
  if (!result.applied) {
21
- logger.info(`db seed: no ${resolved.seedFile} found, nothing to do`);
18
+ logger.info(`db seed: no ${seedFile} found, nothing to do`);
22
19
  }
23
20
  else {
24
- logger.info(`db seed: applied ${resolved.seedFile} (${result.bytes} bytes)`);
21
+ logger.info(`db seed: applied ${seedFile} (${result.bytes} bytes)`);
25
22
  }
26
23
  },
27
24
  });
@@ -24,10 +24,8 @@ export async function loadUserConfigForDb(options) {
24
24
  const getFallbackConfig = () => {
25
25
  if (hasSqliteDbAssets)
26
26
  return { sqliteDb: '.pikku-runtime/dev.db' };
27
- if (hasPostgresDbAssets) {
28
- logger.error('Postgres assets detected but postgresUrl is not configured in createConfig.');
29
- return null;
30
- }
27
+ if (hasPostgresDbAssets)
28
+ return {};
31
29
  return null;
32
30
  };
33
31
  const configFactoryFile = findUserConfigFactoryFile(config.rootDir, config.srcDirectories);
@@ -11,12 +11,12 @@ export declare const deployApply: import("#pikku").PikkuFunctionConfig<{
11
11
  fromPlan?: boolean;
12
12
  provider?: string;
13
13
  resultFile?: string;
14
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
14
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
15
15
  fromPlan?: boolean;
16
16
  provider?: string;
17
17
  resultFile?: string;
18
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
18
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
19
19
  fromPlan?: boolean;
20
20
  provider?: string;
21
21
  resultFile?: string;
22
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
22
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -179,6 +179,7 @@ export const deployApply = pikkuSessionlessFunc({
179
179
  inspectorState,
180
180
  serverlessIncompatible: config.deploy?.serverlessIncompatible,
181
181
  getEntryContext,
182
+ outDir: config.outDir,
182
183
  logger,
183
184
  });
184
185
  if (buildResult.manifest.units.length === 0) {
@@ -1 +1 @@
1
- export declare const deployInfo: 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 deployInfo: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,10 +1,10 @@
1
1
  export declare const deployPlan: import("#pikku").PikkuFunctionConfig<{
2
2
  resultFile?: string;
3
3
  provider?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
5
5
  resultFile?: string;
6
6
  provider?: string;
7
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
7
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
8
8
  resultFile?: string;
9
9
  provider?: string;
10
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
10
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -55,6 +55,7 @@ export const deployPlan = pikkuSessionlessFunc({
55
55
  inspectorState,
56
56
  serverlessIncompatible: config.deploy?.serverlessIncompatible,
57
57
  getEntryContext,
58
+ outDir: config.outDir,
58
59
  logger,
59
60
  });
60
61
  if (result.manifest.units.length === 0) {
@@ -2,12 +2,12 @@ export declare const dev: import("#pikku").PikkuFunctionConfig<{
2
2
  port?: string;
3
3
  watch?: boolean;
4
4
  hmr?: boolean;
5
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
5
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
6
6
  port?: string;
7
7
  watch?: boolean;
8
8
  hmr?: boolean;
9
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
9
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
10
10
  port?: string;
11
11
  watch?: boolean;
12
12
  hmr?: boolean;
13
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
13
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -113,7 +113,7 @@ export const dev = pikkuSessionlessFunc({
113
113
  ? parseDatabaseUrl(envDatabaseUrl)
114
114
  : userConfig;
115
115
  const resolvedDb = resolveDb(effectiveDbConfig, config.rootDir, config.outDir, config.runtimeDir);
116
- const resolvedLocalDb = resolvedDb?.dialect === 'sqlite' ? resolvedDb : undefined;
116
+ const resolvedLocalDb = resolvedDb ?? undefined;
117
117
  const kysely = resolvedLocalDb
118
118
  ? await createKysely(resolvedLocalDb)
119
119
  : undefined;
@@ -1,5 +1,5 @@
1
1
  type EmailsInitInput = {
2
2
  force?: boolean;
3
3
  };
4
- export declare const pikkuEmailsInit: import("#pikku").PikkuFunctionConfig<EmailsInitInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<EmailsInitInput, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<EmailsInitInput, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
4
+ export declare const pikkuEmailsInit: import("#pikku").PikkuFunctionConfig<EmailsInitInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<EmailsInitInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<EmailsInitInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
5
5
  export {};
@@ -1,5 +1,5 @@
1
- export declare const enableRpc: 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>;
2
- export declare const enableConsole: 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>;
3
- export declare const enableAgent: 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>;
4
- export declare const enableWorkflow: 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>;
5
- export declare const enableEvents: 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 enableRpc: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
2
+ export declare const enableConsole: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
3
+ export declare const enableAgent: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
4
+ export declare const enableWorkflow: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
5
+ export declare const enableEvents: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -2,8 +2,8 @@ type InfoInput = {
2
2
  limit?: string;
3
3
  verbose?: boolean;
4
4
  };
5
- export declare const pikkuInfoFunctions: import("#pikku").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
6
- export declare const pikkuInfoTags: import("#pikku").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
7
- export declare const pikkuInfoMiddleware: import("#pikku").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
8
- export declare const pikkuInfoPermissions: import("#pikku").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
5
+ export declare const pikkuInfoFunctions: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
6
+ export declare const pikkuInfoTags: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
7
+ export declare const pikkuInfoMiddleware: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
8
+ export declare const pikkuInfoPermissions: import("#pikku").PikkuFunctionConfig<InfoInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<InfoInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<InfoInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
9
9
  export {};
@@ -0,0 +1,37 @@
1
+ interface LoginOptions {
2
+ url?: string;
3
+ clientId?: string;
4
+ scope?: string;
5
+ authPath?: string;
6
+ open?: boolean;
7
+ }
8
+ /**
9
+ * `pikku login` — authenticate the CLI against a pikku server using the
10
+ * better-auth device-authorization flow. Stores a session token at
11
+ * `~/.pikku/session.json`; generated CLI/websocket clients pick it up
12
+ * automatically.
13
+ */
14
+ export declare const login: import("#pikku").PikkuFunctionConfig<LoginOptions, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<LoginOptions, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<LoginOptions, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
15
+ /**
16
+ * `pikku logout` — remove a stored session (the given `--url`, or the current
17
+ * default).
18
+ */
19
+ export declare const logout: import("#pikku").PikkuFunctionConfig<{
20
+ url?: string;
21
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
22
+ url?: string;
23
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
24
+ url?: string;
25
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
26
+ /**
27
+ * `pikku whoami` — show the current (or `--url`) stored session and whether it
28
+ * has expired.
29
+ */
30
+ export declare const whoami: import("#pikku").PikkuFunctionConfig<{
31
+ url?: string;
32
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
33
+ url?: string;
34
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
35
+ url?: string;
36
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
37
+ export {};
@@ -0,0 +1,85 @@
1
+ import open from 'open';
2
+ import { pikkuSessionlessFunc } from '#pikku';
3
+ import { deviceLogin } from '../../utils/device-auth.js';
4
+ import { saveSession, loadSession, clearSession, isSessionExpired, sessionFilePath, } from '../../utils/cli-session.js';
5
+ const DEFAULT_URL = 'http://localhost:3000';
6
+ /**
7
+ * `pikku login` — authenticate the CLI against a pikku server using the
8
+ * better-auth device-authorization flow. Stores a session token at
9
+ * `~/.pikku/session.json`; generated CLI/websocket clients pick it up
10
+ * automatically.
11
+ */
12
+ export const login = pikkuSessionlessFunc({
13
+ func: async ({ logger }, { url, clientId, scope, authPath, open: openBrowser }) => {
14
+ const baseURL = (url ?? DEFAULT_URL).trim();
15
+ const session = await deviceLogin({
16
+ baseURL,
17
+ clientId,
18
+ scope,
19
+ authBasePath: authPath,
20
+ onPrompt: async ({ verificationUri, verificationUriComplete, userCode, expiresAtMs, }) => {
21
+ const target = verificationUriComplete ?? verificationUri;
22
+ logger.info('');
23
+ logger.info(' To finish signing in, open:');
24
+ logger.info(` ${target}`);
25
+ logger.info('');
26
+ logger.info(` And confirm this code: ${userCode}`);
27
+ logger.info(` (expires ${new Date(expiresAtMs).toLocaleTimeString()})`);
28
+ logger.info('');
29
+ logger.info(' Waiting for approval…');
30
+ // Default to opening the browser unless explicitly disabled.
31
+ if (openBrowser !== false) {
32
+ try {
33
+ await open(target);
34
+ }
35
+ catch {
36
+ // Headless / no browser — the printed URL is the fallback.
37
+ }
38
+ }
39
+ },
40
+ });
41
+ const path = await saveSession(session);
42
+ const who = session.user?.email ?? session.user?.id ?? 'authenticated';
43
+ logger.info(`✓ Logged in as ${who} on ${session.baseURL}`);
44
+ if (session.expiresAt) {
45
+ logger.info(` Session expires ${new Date(session.expiresAt).toLocaleString()}`);
46
+ }
47
+ logger.info(` Saved to ${path}`);
48
+ },
49
+ });
50
+ /**
51
+ * `pikku logout` — remove a stored session (the given `--url`, or the current
52
+ * default).
53
+ */
54
+ export const logout = pikkuSessionlessFunc({
55
+ func: async ({ logger }, { url }) => {
56
+ const removed = await clearSession(url);
57
+ if (removed) {
58
+ logger.info(`✓ Logged out of ${removed}`);
59
+ }
60
+ else {
61
+ logger.info('No active session to log out of.');
62
+ }
63
+ },
64
+ });
65
+ /**
66
+ * `pikku whoami` — show the current (or `--url`) stored session and whether it
67
+ * has expired.
68
+ */
69
+ export const whoami = pikkuSessionlessFunc({
70
+ func: async ({ logger }, { url }) => {
71
+ const session = await loadSession(url);
72
+ if (!session) {
73
+ logger.info('Not logged in. Run `pikku login` to authenticate.');
74
+ return;
75
+ }
76
+ const who = session.user?.email ?? session.user?.id ?? '(unknown user)';
77
+ logger.info(`Logged in as ${who}`);
78
+ logger.info(` Server : ${session.baseURL}`);
79
+ if (session.expiresAt) {
80
+ const expired = isSessionExpired(session);
81
+ logger.info(` Expires: ${new Date(session.expiresAt).toLocaleString()}${expired ? ' (EXPIRED — run `pikku login` again)' : ''}`);
82
+ }
83
+ logger.info(` Stored : ${sessionFilePath()}`);
84
+ },
85
+ });
@@ -1,56 +1,56 @@
1
- export declare const pikkuMetaFunctionsList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuMetaFunctionsList: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
2
2
  export declare const pikkuMetaFunctionsGet: import("#pikku").PikkuFunctionConfig<{
3
3
  functionId: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
5
5
  functionId: string;
6
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
6
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
7
7
  functionId: string;
8
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
9
- export declare const pikkuMetaSchemasList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
8
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
9
+ export declare const pikkuMetaSchemasList: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
10
10
  export declare const pikkuMetaSchemasGet: import("#pikku").PikkuFunctionConfig<{
11
11
  schemaName: string;
12
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
12
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
13
13
  schemaName: string;
14
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
14
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
15
15
  schemaName: string;
16
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
17
- export declare const pikkuMetaWorkflowsList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
16
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
17
+ export declare const pikkuMetaWorkflowsList: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
18
18
  export declare const pikkuMetaWorkflowsGet: import("#pikku").PikkuFunctionConfig<{
19
19
  workflowId: string;
20
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
20
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
21
21
  workflowId: string;
22
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
22
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
23
23
  workflowId: string;
24
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
25
- export declare const pikkuMetaMiddlewareList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
24
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
25
+ export declare const pikkuMetaMiddlewareList: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
26
26
  export declare const pikkuMetaMiddlewareGet: import("#pikku").PikkuFunctionConfig<{
27
27
  middlewareId: string;
28
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
28
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
29
29
  middlewareId: string;
30
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
30
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
31
31
  middlewareId: string;
32
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
33
- export declare const pikkuMetaPermissionsList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
32
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
33
+ export declare const pikkuMetaPermissionsList: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
34
34
  export declare const pikkuMetaPermissionsGet: import("#pikku").PikkuFunctionConfig<{
35
35
  permissionId: string;
36
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
36
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
37
37
  permissionId: string;
38
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
38
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
39
39
  permissionId: string;
40
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
41
- export declare const pikkuMetaWiresList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
40
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
41
+ export declare const pikkuMetaWiresList: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
42
42
  export declare const pikkuMetaWiresType: import("#pikku").PikkuFunctionConfig<{
43
43
  type: string;
44
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
44
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
45
45
  type: string;
46
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
46
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
47
47
  type: string;
48
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
49
- export declare const pikkuMetaWiresHttp: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
50
- export declare const pikkuMetaWiresScheduler: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
51
- export declare const pikkuMetaWiresQueue: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
52
- export declare const pikkuMetaWiresChannel: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
53
- export declare const pikkuMetaWiresTrigger: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
48
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
49
+ export declare const pikkuMetaWiresHttp: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
50
+ export declare const pikkuMetaWiresScheduler: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
51
+ export declare const pikkuMetaWiresQueue: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
52
+ export declare const pikkuMetaWiresChannel: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
53
+ export declare const pikkuMetaWiresTrigger: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
54
54
  /**
55
55
  * Bulk context endpoint.
56
56
  *
@@ -63,7 +63,7 @@ export declare const pikkuMetaWiresTrigger: import("#pikku").PikkuFunctionConfig
63
63
  * Targeted `pikku meta * get` calls are still the right tool when the planner
64
64
  * wants schema details (input/output JSON schemas) for a specific entry.
65
65
  */
66
- export declare const pikkuMetaContext: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
66
+ export declare const pikkuMetaContext: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
67
67
  /**
68
68
  * Frontend-targeted metadata.
69
69
  *
@@ -79,4 +79,4 @@ export declare const pikkuMetaContext: import("#pikku").PikkuFunctionConfig<{},
79
79
  * non-exposed functions, http wires) is a backend concern and stays in
80
80
  * `pikku meta context`.
81
81
  */
82
- export declare const pikkuMetaClients: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
82
+ export declare const pikkuMetaClients: import("#pikku").PikkuFunctionConfig<{}, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{}, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{}, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -12,7 +12,7 @@ export declare const pikkuNewAddon: import("#pikku").PikkuFunctionConfig<{
12
12
  openapi?: string;
13
13
  mcp?: boolean;
14
14
  camelCase?: boolean;
15
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
15
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
16
16
  name: string;
17
17
  displayName?: string;
18
18
  description?: string;
@@ -26,7 +26,7 @@ export declare const pikkuNewAddon: import("#pikku").PikkuFunctionConfig<{
26
26
  openapi?: string;
27
27
  mcp?: boolean;
28
28
  camelCase?: boolean;
29
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
29
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
30
30
  name: string;
31
31
  displayName?: string;
32
32
  description?: string;
@@ -40,4 +40,4 @@ export declare const pikkuNewAddon: import("#pikku").PikkuFunctionConfig<{
40
40
  openapi?: string;
41
41
  mcp?: boolean;
42
42
  camelCase?: boolean;
43
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
43
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,10 +1,10 @@
1
1
  export declare const pikkuNewFunction: import("#pikku").PikkuFunctionConfig<{
2
2
  name: string;
3
3
  type?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
5
5
  name: string;
6
6
  type?: string;
7
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
7
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
8
8
  name: string;
9
9
  type?: string;
10
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
10
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,10 +1,10 @@
1
1
  export declare const pikkuNewMiddleware: import("#pikku").PikkuFunctionConfig<{
2
2
  name: string;
3
3
  type?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
5
5
  name: string;
6
6
  type?: string;
7
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
7
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
8
8
  name: string;
9
9
  type?: string;
10
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
10
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,10 +1,10 @@
1
1
  export declare const pikkuNewPermission: import("#pikku").PikkuFunctionConfig<{
2
2
  name: string;
3
3
  type?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
5
5
  name: string;
6
6
  type?: string;
7
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
7
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
8
8
  name: string;
9
9
  type?: string;
10
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
10
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,10 +1,10 @@
1
1
  export declare const pikkuNewWiring: import("#pikku").PikkuFunctionConfig<{
2
2
  name: string;
3
3
  type?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
5
5
  name: string;
6
6
  type?: string;
7
- }, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
7
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
8
8
  name: string;
9
9
  type?: string;
10
- }, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
10
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
1
  export type BootstrapInput = {
2
2
  allImports: string[];
3
3
  };
4
- export declare const pikkuBootstrap: import("#pikku").PikkuFunctionConfig<BootstrapInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<BootstrapInput, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<BootstrapInput, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
4
+ export declare const pikkuBootstrap: import("#pikku").PikkuFunctionConfig<BootstrapInput, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<BootstrapInput, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<BootstrapInput, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuSummary: 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 pikkuSummary: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;