@pikku/cli 0.12.60 → 0.12.63

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 (71) hide show
  1. package/console-app/assets/{index-CcpTZVoP.js → index-D9OhaZd5.js} +139 -153
  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 +1 -1
  5. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  6. package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
  7. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  8. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  9. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  10. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  11. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  12. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  13. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  14. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  15. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  16. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  17. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  18. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  19. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  20. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  21. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  22. package/dist/.pikku/function/pikku-functions-meta.gen.json +1 -1
  23. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  24. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  25. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  26. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  27. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  28. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  29. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  30. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  31. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  32. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  33. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  34. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  35. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  36. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  37. package/dist/.pikku/pikku-types.gen.js +1 -1
  38. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  39. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  40. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  41. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  42. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  43. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  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 +1 -1
  47. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  48. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  49. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  50. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  51. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  52. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  53. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  54. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  55. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  56. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  57. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  58. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  59. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  60. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  61. package/dist/bin/pikku-bin.mjs +2 -2
  62. package/dist/src/fabric/functions/validate.function.js +102 -0
  63. package/dist/src/functions/validate/workspace-validate.js +14 -0
  64. package/dist/src/functions/workflows/all.workflow.js +4 -0
  65. package/dist/src/services.d.ts +1 -0
  66. package/dist/src/utils/assert-single-core-version.d.ts +14 -0
  67. package/dist/src/utils/assert-single-core-version.js +80 -0
  68. package/dist/src/utils/pikku-cli-config.js +8 -2
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +17 -17
  71. package/skills/pikku-audit/SKILL.md +168 -0
@@ -21,7 +21,7 @@
21
21
  }
22
22
  } catch (e) {}
23
23
  </script>
24
- <script type="module" crossorigin src="/assets/index-CcpTZVoP.js"></script>
24
+ <script type="module" crossorigin src="/assets/index-D9OhaZd5.js"></script>
25
25
  <link rel="stylesheet" crossorigin href="/assets/index-DwyRdRuZ.css">
26
26
  </head>
27
27
  <body>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { CoreAIAgent, PikkuAIMiddlewareHooks } from '@pikku/core/ai-agent';
5
5
  import type { PikkuPermission, PikkuMiddleware, Services, PikkuFunctionConfig } from '../function/pikku-function-types.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Channel-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Channel-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * WebSocket channel backend for 'pikku' CLI commands
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import '../pikku-bootstrap.gen.js';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { executeCLIViaChannel } from '@pikku/core/cli/channel';
5
5
  import { CorePikkuWebsocket } from '@pikku/websocket';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import contractsMeta from './pikku-cli-contracts-meta.gen.json';
5
5
  export default contractsMeta;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import contractsMeta from './pikku-cli-contracts-meta.gen.json' with { type: 'json' };
5
5
  export default contractsMeta;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-cli-wirings-meta.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import '../../src/cli.wiring.js';
5
5
  import '../../src/services.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /* The files with an wireCLI function call */
5
5
  import '../../src/cli.wiring.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import '../pikku-bootstrap.gen.js';
5
5
  export declare function PikkuCLI(args: string[]): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { executeCLI, CLIError } from '@pikku/core/cli';
5
5
  import { createConfig as createConfig } from '../../src/services.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import type { FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.js';
5
5
  export type NodeCategory = never;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Core function, middleware, and permission types for all wirings
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Core function, middleware, and permission types for all wirings
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-functions-meta.gen.json' with { type: 'json' };
@@ -2982,7 +2982,7 @@
2982
2982
  "outputSchemaName": null,
2983
2983
  "inputs": [],
2984
2984
  "outputs": [],
2985
- "implementationHash": "de8945d4ba623540",
2985
+ "implementationHash": "e69bf40f1a650798",
2986
2986
  "contractHash": "5cf046fc5045a072",
2987
2987
  "inputHash": "d5ff2f31",
2988
2988
  "outputHash": "391c291d"
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /* Import and register functions used by RPCs */
5
5
  import { addFunction } from '@pikku/core/function';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * HTTP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * HTTP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-http-wirings-meta.gen.json' with { type: 'json' };
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import '../../src/scaffold/rpc-remote.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /* The files with an wireHTTP function call */
5
5
  import '../../src/scaffold/rpc-remote.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * MCP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * MCP-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import './rpc/pikku-rpc-wirings-meta.internal.gen.js';
5
5
  import './http/pikku-http-wirings-meta.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import './rpc/pikku-rpc-wirings-meta.internal.gen.js';
5
5
  import './http/pikku-http-wirings-meta.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { LocalMetaService } from '@pikku/core/services/local-meta';
5
5
  export declare class PikkuMetaService extends LocalMetaService {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { LocalMetaService } from '@pikku/core/services/local-meta';
5
5
  export class PikkuMetaService extends LocalMetaService {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import type { SingletonServices } from '../types/application-types.d.js';
5
5
  import type { Services } from '../types/application-types.d.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Main type export hub - re-exports all wiring-specific types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Main type export hub - re-exports all wiring-specific types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Queue-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Queue-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-queue-workers-wirings-meta.gen.json' with { type: 'json' };
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import '../../src/scaffold/rpc-remote.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /* The files with an addQueueWorkers function call */
5
5
  import '../../src/scaffold/rpc-remote.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-rpc-wirings-meta.internal.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { addSchema } from '@pikku/core/schema';
5
5
  import * as BinaryInput from './schemas/BinaryInput.schema.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  export { wireSecret } from '@pikku/core/secret';
5
5
  export type { CoreSecret, SecretDefinitionMeta, SecretDefinitionsMeta } from '@pikku/core/secret';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  export { wireSecret } from '@pikku/core/secret';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  import type { SecretService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  const CREDENTIALS_META = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  export { wireVariable } from '@pikku/core/variable';
5
5
  export type { CoreVariable, VariableDefinitionMeta, VariableDefinitionsMeta } from '@pikku/core/variable';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  export { wireVariable } from '@pikku/core/variable';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  import type { VariablesService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  const VARIABLES_META = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { template } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { template } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import allWorkflowMeta from './meta/allWorkflow.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.60
2
+ * This file was generated by @pikku/cli@0.12.63
3
3
  */
4
4
  import { addWorkflow } from '@pikku/core/workflow';
5
5
  import './pikku-workflow-wirings-meta.gen.js';
@@ -11,8 +11,8 @@ async function checkForUpdate() {
11
11
  })
12
12
  if (!res.ok) return
13
13
  const { version: latest } = await res.json()
14
- if (latest !== '0.12.60') {
15
- process.stderr.write(`\n Update available 0.12.60 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
14
+ if (latest !== '0.12.63') {
15
+ process.stderr.write(`\n Update available 0.12.63 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
16
16
  }
17
17
  } catch {}
18
18
  }
@@ -76,6 +76,42 @@ async function listSourceFiles(dir) {
76
76
  return [];
77
77
  }
78
78
  }
79
+ // Heavy/generated dirs pruned during a source walk.
80
+ const SKIP_WALK_DIRS = new Set([
81
+ 'node_modules', '.git', '.next', 'dist', 'build', '.pikku',
82
+ '.pikku-runtime', '.vite', '.tanstack', '.turbo', '.reports',
83
+ ]);
84
+ // Recursively list handwritten .ts/.tsx files under a dir, pruning heavy dirs
85
+ // (node_modules, build output, generated) DURING traversal and skipping .gen.*
86
+ // files. Unlike listSourceFiles (which scans only src/ to dodge node_modules),
87
+ // this walks a whole workspace root — Next-style app layouts keep code outside
88
+ // src/ (pikku/, components/, views/, framework/).
89
+ async function walkSourceFiles(dir) {
90
+ const out = [];
91
+ const stack = [dir];
92
+ while (stack.length) {
93
+ const cur = stack.pop();
94
+ let entries;
95
+ try {
96
+ entries = await readdir(cur, { withFileTypes: true });
97
+ }
98
+ catch {
99
+ continue;
100
+ }
101
+ for (const ent of entries) {
102
+ if (ent.isDirectory()) {
103
+ if (!SKIP_WALK_DIRS.has(ent.name))
104
+ stack.push(join(cur, ent.name));
105
+ }
106
+ else if ((ent.name.endsWith('.ts') || ent.name.endsWith('.tsx')) &&
107
+ !ent.name.endsWith('.gen.ts') &&
108
+ !ent.name.endsWith('.gen.tsx')) {
109
+ out.push(join(cur, ent.name));
110
+ }
111
+ }
112
+ }
113
+ return out;
114
+ }
79
115
  // Module-singleton-sensitive packages: a SECOND physical copy splits
80
116
  // module-level state. The TanStack Start dev server registers its SSR
81
117
  // middleware on one copy of @tanstack/start-plugin-core while the config hook
@@ -878,6 +914,72 @@ export async function runValidate(startDir = process.cwd()) {
878
914
  }
879
915
  }
880
916
  }
917
+ // ── deprecated Next.js pikku client (dead codegen) ─────────────────────
918
+ // The Next HTTP/backend client (`nextHTTPFile`/`nextBackendFile` → *.gen.ts)
919
+ // is no longer emitted by pikku codegen — Fabric frontends use the fetch
920
+ // client generated into the functions-sdk (PikkuFetch/PikkuRPC + createPikku).
921
+ // The trap that bit heygermany's deploy: a frontend still imports the stale
922
+ // `nextjs-*.gen` file. It is gitignored (so `git add -A` never pushes it) AND
923
+ // `pikku all` no longer regenerates it — so it lingers on the dev's disk
924
+ // (validate/tsc pass locally) but is ABSENT in the clean build container,
925
+ // where tsc dies with "Cannot find module './nextjs-http.gen'" and aborts the
926
+ // deploy. Flag both the dead config keys and any surviving import.
927
+ {
928
+ const DEAD_NEXT_KEYS = ['nextHTTPFile', 'nextBackendFile'];
929
+ const rel = (p) => p.slice(root.length + 1);
930
+ const configPaths = [pikkuConfigPath];
931
+ for (const group of ['apps', 'packages']) {
932
+ const groupDir = join(root, group);
933
+ if (!existsSync(groupDir))
934
+ continue;
935
+ try {
936
+ for (const d of await readdir(groupDir, { withFileTypes: true })) {
937
+ if (!d.isDirectory())
938
+ continue;
939
+ const cfg = join(groupDir, d.name, 'pikku.config.json');
940
+ if (existsSync(cfg))
941
+ configPaths.push(cfg);
942
+ }
943
+ }
944
+ catch {
945
+ // ignore
946
+ }
947
+ }
948
+ for (const cfgPath of configPaths) {
949
+ const cfg = await readJsonSafe(cfgPath);
950
+ if (!cfg)
951
+ continue;
952
+ const deadKeys = DEAD_NEXT_KEYS.filter((k) => cfg[k]);
953
+ if (deadKeys.length) {
954
+ e(`dead-next-codegen-config-${rel(cfgPath).replace(/[^a-z0-9]/gi, '-')}`, `${rel(cfgPath)} declares ${deadKeys.join(', ')} — the Next.js pikku client is no longer generated by codegen, so the referenced *.gen file is gitignored + never regenerated and is absent in a clean build (tsc fails "Cannot find module")`, cfgPath, lines(`Remove the ${deadKeys.join('/')} key(s) and generate the fetch client into the functions-sdk instead:`, '"clientFiles": {', ' "fetchFile": "packages/functions-sdk/src/pikku/pikku-fetch.gen.ts",', ' "rpcWiringsFile": "packages/functions-sdk/src/pikku/pikku-rpc.gen.ts"', '}', 'Then in the frontend: import { PikkuFetch } / { PikkuRPC } from "@<scope>/functions-sdk/pikku/..." and wire them with createPikku(PikkuFetch, PikkuRPC, { serverUrl }).'));
955
+ }
956
+ }
957
+ // Scan handwritten frontend/package source for imports of the dead client.
958
+ const DEAD_IMPORT_RE = /['"][^'"]*\bnextjs-(?:http|backend)\.gen(?:\.[jt]sx?)?['"]/;
959
+ for (const group of ['apps', 'packages']) {
960
+ const groupDir = join(root, group);
961
+ if (!existsSync(groupDir))
962
+ continue;
963
+ let subdirs = [];
964
+ try {
965
+ subdirs = (await readdir(groupDir, { withFileTypes: true }))
966
+ .filter((d) => d.isDirectory())
967
+ .map((d) => d.name);
968
+ }
969
+ catch {
970
+ continue;
971
+ }
972
+ for (const name of subdirs) {
973
+ const wsPath = join(groupDir, name);
974
+ for (const file of await walkSourceFiles(wsPath)) {
975
+ const text = await readTextSafe(file);
976
+ if (!text || !DEAD_IMPORT_RE.test(text))
977
+ continue;
978
+ e(`dead-next-client-import-${rel(file).replace(/[^a-z0-9]/gi, '-')}`, `${rel(file)} imports the deprecated Next.js pikku client (nextjs-http.gen / nextjs-backend.gen) — pikku no longer generates it and it is gitignored, so a clean build has no such module and tsc aborts the deploy with "Cannot find module"`, file, lines('Replace the nextjs-*.gen import with the fetch client from the functions-sdk:', " import { PikkuFetch } from '@<scope>/functions-sdk/pikku/pikku-fetch.gen'", " import { PikkuRPC } from '@<scope>/functions-sdk/pikku/pikku-rpc.gen'", ' const pikku = createPikku(PikkuFetch, PikkuRPC, { serverUrl })', 'Emit those files via pikku.config.json clientFiles (fetchFile/rpcWiringsFile) and remove nextHTTPFile/nextBackendFile.'));
979
+ }
980
+ }
981
+ }
982
+ }
881
983
  // ── packages/theme + packages/components ──────────────────────────────
882
984
  const designDocUrl = 'https://pikkufabric.dev/docs/design';
883
985
  if (!existsSync(join(root, 'packages', 'mantine-theme'))) {