@pikku/cli 0.12.41 → 0.12.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/console-app/assets/index-AwGnKyWe.js +254 -0
  2. package/console-app/assets/index-VleHndkw.css +1 -0
  3. package/console-app/index.html +2 -2
  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 +6 -1
  8. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +10 -0
  9. package/dist/.pikku/cli/pikku-cli-client.gen.js +73 -0
  10. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  11. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  12. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  13. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +22 -26
  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 +2 -2
  20. package/dist/.pikku/function/pikku-function-types.gen.js +3 -2
  21. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  22. package/dist/.pikku/function/pikku-functions-meta.gen.json +74 -55
  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 +2 -2
  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/rpc/pikku-rpc-wirings-meta.internal.gen.json +6 -5
  45. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  46. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  47. package/dist/.pikku/schemas/register.gen.js +7 -3
  48. package/dist/.pikku/schemas/schemas/DeployApplyInput.schema.json +1 -1
  49. package/dist/.pikku/schemas/schemas/DeployPlanInput.schema.json +1 -1
  50. package/dist/.pikku/schemas/schemas/FabricLinkOutput.schema.json +1 -1
  51. package/dist/.pikku/schemas/schemas/FabricSmokeInput.schema.json +1 -0
  52. package/dist/.pikku/schemas/schemas/FabricSmokeOutput.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/pikku-workflow-types.gen.d.ts +1 -1
  64. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  65. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  66. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  67. package/dist/bin/pikku-bin.mjs +2 -2
  68. package/dist/src/deploy/build-pipeline.d.ts +2 -0
  69. package/dist/src/deploy/build-pipeline.js +7 -1
  70. package/dist/src/deploy/bundler/bundler.d.ts +2 -0
  71. package/dist/src/deploy/bundler/bundler.js +8 -5
  72. package/dist/src/fabric/fabric-commands.d.ts +67 -0
  73. package/dist/src/fabric/fabric-commands.js +21 -0
  74. package/dist/src/fabric/functions/link.function.d.ts +4 -0
  75. package/dist/src/fabric/functions/link.function.js +3 -1
  76. package/dist/src/fabric/functions/smoke.function.d.ts +93 -0
  77. package/dist/src/fabric/functions/smoke.function.js +860 -0
  78. package/dist/src/functions/commands/deploy-apply.d.ts +3 -0
  79. package/dist/src/functions/commands/deploy-apply.js +1 -0
  80. package/dist/src/functions/commands/deploy-plan.d.ts +3 -0
  81. package/dist/src/functions/commands/deploy-plan.js +1 -0
  82. package/dist/src/functions/db/local-db.js +20 -75
  83. package/dist/src/functions/wirings/auth/pikku-command-auth.js +6 -1
  84. package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +4 -1
  85. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +36 -12
  86. package/dist/src/functions/wirings/functions/pikku-command-services.js +5 -4
  87. package/dist/src/functions/wirings/functions/serialize-function-types.js +3 -2
  88. package/dist/src/scaffold/rpc-remote.gen.js +1 -1
  89. package/dist/src/services.d.ts +6 -1
  90. package/dist/src/services.js +6 -12
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +3 -3
  93. package/console-app/assets/index-D9Z9rySK.js +0 -233
  94. package/console-app/assets/index-DwUzVI5k.css +0 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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' };
@@ -42,6 +42,7 @@
42
42
  "FabricDomainsRemove": "FabricDomainsRemove",
43
43
  "FabricLLMKey": "FabricLLMKey",
44
44
  "FabricValidate": "FabricValidate",
45
+ "FabricSmoke": "FabricSmoke",
45
46
  "all": "all",
46
47
  "bootstrap": "bootstrap",
47
48
  "watch": "watch",
@@ -99,22 +100,22 @@
99
100
  "pikkuAIAgentTypes": "pikkuAIAgentTypes",
100
101
  "pikkuAIAgent": "pikkuAIAgent",
101
102
  "pikkuPublicAgent": "pikkuPublicAgent",
102
- "pikkuAuth": "pikkuAuth",
103
103
  "pikkuChannels": "pikkuChannels",
104
104
  "pikkuChannelTypes": "pikkuChannelTypes",
105
105
  "pikkuChannelsMap": "pikkuChannelsMap",
106
106
  "pikkuCommandChannels": "pikkuCommandChannels",
107
+ "pikkuAuth": "pikkuAuth",
107
108
  "pikkuCLIEntry": "pikkuCLIEntry",
108
109
  "pikkuCLI": "pikkuCLI",
109
110
  "pikkuConsoleFunctions": "pikkuConsoleFunctions",
110
111
  "pikkuNodeTypes": "pikkuNodeTypes",
111
112
  "pikkuNodesMeta": "pikkuNodesMeta",
112
113
  "pikkuCredentials": "pikkuCredentials",
113
- "pikkuGateway": "pikkuGateway",
114
114
  "pikkuFunctionTypesSplit": "pikkuFunctionTypesSplit",
115
115
  "pikkuFunctionTypes": "pikkuFunctionTypes",
116
116
  "pikkuFunctions": "pikkuFunctions",
117
117
  "pikkuServices": "pikkuServices",
118
+ "pikkuGateway": "pikkuGateway",
118
119
  "pikkuHTTPMap": "pikkuHTTPMap",
119
120
  "pikkuCommandHTTP": "pikkuCommandHTTP",
120
121
  "pikkuHTTPTypes": "pikkuHTTPTypes",
@@ -133,14 +134,14 @@
133
134
  "pikkuQueueMap": "pikkuQueueMap",
134
135
  "pikkuQueue": "pikkuQueue",
135
136
  "pikkuEventsScaffold": "pikkuEventsScaffold",
137
+ "pikkuSchedulerTypes": "pikkuSchedulerTypes",
138
+ "pikkuScheduler": "pikkuScheduler",
139
+ "pikkuSecrets": "pikkuSecrets",
136
140
  "pikkuPublicRPC": "pikkuPublicRPC",
137
141
  "pikkuRemoteRPC": "pikkuRemoteRPC",
138
142
  "pikkuRPCInternalMap": "pikkuRPCInternalMap",
139
143
  "pikkuRPCExposedMap": "pikkuRPCExposedMap",
140
144
  "pikkuRPC": "pikkuRPC",
141
- "pikkuSchedulerTypes": "pikkuSchedulerTypes",
142
- "pikkuScheduler": "pikkuScheduler",
143
- "pikkuSecrets": "pikkuSecrets",
144
145
  "pikkuTriggerTypes": "pikkuTriggerTypes",
145
146
  "pikkuTrigger": "pikkuTrigger",
146
147
  "pikkuVariables": "pikkuVariables",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
3
3
  */
4
4
  import { addSchema } from '@pikku/core/schema';
5
5
  import * as PikkuSchemasOutput from './schemas/PikkuSchemasOutput.schema.json' with { type: 'json' };
@@ -98,6 +98,10 @@ import * as FabricValidateInput from './schemas/FabricValidateInput.schema.json'
98
98
  addSchema('FabricValidateInput', FabricValidateInput);
99
99
  import * as FabricValidateOutput from './schemas/FabricValidateOutput.schema.json' with { type: 'json' };
100
100
  addSchema('FabricValidateOutput', FabricValidateOutput);
101
+ import * as FabricSmokeInput from './schemas/FabricSmokeInput.schema.json' with { type: 'json' };
102
+ addSchema('FabricSmokeInput', FabricSmokeInput);
103
+ import * as FabricSmokeOutput from './schemas/FabricSmokeOutput.schema.json' with { type: 'json' };
104
+ addSchema('FabricSmokeOutput', FabricSmokeOutput);
101
105
  import * as WatchInput from './schemas/WatchInput.schema.json' with { type: 'json' };
102
106
  addSchema('WatchInput', WatchInput);
103
107
  import * as ConsoleCommandInput from './schemas/ConsoleCommandInput.schema.json' with { type: 'json' };
@@ -218,8 +222,6 @@ import * as PikkuPackageOutput from './schemas/PikkuPackageOutput.schema.json' w
218
222
  addSchema('PikkuPackageOutput', PikkuPackageOutput);
219
223
  import * as PikkuPermissionsOutput from './schemas/PikkuPermissionsOutput.schema.json' with { type: 'json' };
220
224
  addSchema('PikkuPermissionsOutput', PikkuPermissionsOutput);
221
- import * as PikkuEventsScaffoldOutput from './schemas/PikkuEventsScaffoldOutput.schema.json' with { type: 'json' };
222
- addSchema('PikkuEventsScaffoldOutput', PikkuEventsScaffoldOutput);
223
225
  import * as PikkuCommandQueueOutput from './schemas/PikkuCommandQueueOutput.schema.json' with { type: 'json' };
224
226
  addSchema('PikkuCommandQueueOutput', PikkuCommandQueueOutput);
225
227
  import * as PikkuQueueOutput from './schemas/PikkuQueueOutput.schema.json' with { type: 'json' };
@@ -232,6 +234,8 @@ import * as PikkuRPCOutput from './schemas/PikkuRPCOutput.schema.json' with { ty
232
234
  addSchema('PikkuRPCOutput', PikkuRPCOutput);
233
235
  import * as PikkuSchedulerOutput from './schemas/PikkuSchedulerOutput.schema.json' with { type: 'json' };
234
236
  addSchema('PikkuSchedulerOutput', PikkuSchedulerOutput);
237
+ import * as PikkuEventsScaffoldOutput from './schemas/PikkuEventsScaffoldOutput.schema.json' with { type: 'json' };
238
+ addSchema('PikkuEventsScaffoldOutput', PikkuEventsScaffoldOutput);
235
239
  import * as PikkuTriggerTypesInput from './schemas/PikkuTriggerTypesInput.schema.json' with { type: 'json' };
236
240
  addSchema('PikkuTriggerTypesInput', PikkuTriggerTypesInput);
237
241
  import * as PikkuTriggerOutput from './schemas/PikkuTriggerOutput.schema.json' with { type: 'json' };
@@ -1 +1 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "fromPlan": { "type": "boolean" }, "provider": { "type": "string" }, "resultFile": { "type": "string" } }, "additionalProperties": false, "definitions": {} }
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "fromPlan": { "type": "boolean" }, "provider": { "type": "string" }, "resultFile": { "type": "string" }, "debugArtifacts": { "type": "boolean" } }, "additionalProperties": false, "definitions": {} }
@@ -1 +1 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "resultFile": { "type": "string" }, "provider": { "type": "string" } }, "additionalProperties": false, "definitions": {} }
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "resultFile": { "type": "string" }, "provider": { "type": "string" }, "debugArtifacts": { "type": "boolean" } }, "additionalProperties": false, "definitions": {} }
@@ -1 +1 @@
1
- { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "projectSlug": { "type": "string" }, "deploymentId": { "type": "string" }, "stageId": { "type": "string" } }, "required": ["projectSlug", "deploymentId", "stageId"], "additionalProperties": false }
1
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "projectId": { "type": "string" }, "projectSlug": { "type": "string" }, "deploymentId": { "type": "string" }, "stageId": { "type": "string" } }, "required": ["projectId", "projectSlug", "deploymentId", "stageId"], "additionalProperties": false }
@@ -0,0 +1 @@
1
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "keepTemp": { "type": "boolean" }, "timeoutSeconds": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "startupTimeoutSeconds": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "port": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "additionalProperties": false }
@@ -0,0 +1 @@
1
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "ok": { "type": "boolean" }, "root": { "type": "string" }, "ref": { "type": "string" }, "tempDir": { "type": "string" }, "tempDirKept": { "type": "boolean" }, "notes": { "type": "array", "items": { "type": "string" } }, "steps": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "type": "string", "enum": ["passed", "failed", "skipped"] }, "durationMs": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "detail": { "type": "string" }, "command": { "type": "string" } }, "required": ["name", "status", "durationMs"], "additionalProperties": false } }, "failure": { "type": "string" }, "logTail": { "type": "string" } }, "required": ["ok", "root", "ref", "tempDir", "tempDirKept", "notes", "steps"], "additionalProperties": false }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41
2
+ * This file was generated by @pikku/cli@0.12.43
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.41') {
15
- process.stderr.write(`\n Update available 0.12.41 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
14
+ if (latest !== '0.12.43') {
15
+ process.stderr.write(`\n Update available 0.12.43 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
16
16
  }
17
17
  } catch {}
18
18
  }
@@ -38,5 +38,7 @@ export declare function runBuildPipeline(options: {
38
38
  getEntryContext: (unitDir: string, pikkuDir: string, unit: DeploymentManifest['units'][0], state: InspectorState) => unknown;
39
39
  deployDir?: string;
40
40
  outDir?: string;
41
+ /** Emit sourcemaps + per-unit `metafile.json` (debug-only). Default false. */
42
+ debugArtifacts?: boolean;
41
43
  logger: BuildLogger;
42
44
  }): Promise<BuildPipelineResult>;
@@ -38,7 +38,7 @@ function findLockfile(projectDir) {
38
38
  return null;
39
39
  }
40
40
  export async function runBuildPipeline(options) {
41
- const { projectDir, projectId, provider, inspectorState, getEntryContext, logger, } = options;
41
+ const { projectDir, projectId, provider, inspectorState, getEntryContext, debugArtifacts, logger, } = options;
42
42
  const deployDir = options.deployDir ?? join(projectDir, '.deploy');
43
43
  const providerDir = join(deployDir, provider.deployDirName);
44
44
  // Step 1: Analyze
@@ -86,6 +86,8 @@ export async function runBuildPipeline(options) {
86
86
  platform: provider.getPlatform?.(),
87
87
  format: provider.getFormat?.(),
88
88
  noRequireShim: provider.getNoRequireShim?.(),
89
+ sourcemap: debugArtifacts,
90
+ emitMetafile: debugArtifacts,
89
91
  });
90
92
  bundled = bundleResult.results;
91
93
  bundleErrors = bundleResult.errors;
@@ -209,6 +211,8 @@ export async function runBuildPipeline(options) {
209
211
  platform: provider.getPlatform?.(),
210
212
  format: provider.getFormat?.(),
211
213
  noRequireShim: provider.getNoRequireShim?.(),
214
+ sourcemap: debugArtifacts,
215
+ emitMetafile: debugArtifacts,
212
216
  resolveOutputDir: (unit) => join(unitsDir, unit.name),
213
217
  });
214
218
  aggregated.push(...result.results);
@@ -231,6 +235,8 @@ export async function runBuildPipeline(options) {
231
235
  platform: 'node',
232
236
  format: 'esm',
233
237
  noRequireShim: false,
238
+ sourcemap: debugArtifacts,
239
+ emitMetafile: debugArtifacts,
234
240
  resolveOutputDir: () => containerDir,
235
241
  });
236
242
  aggregated.push(...result.results);
@@ -28,5 +28,7 @@ export declare function bundleUnits(projectDir: string, manifest: DeploymentMani
28
28
  platform?: 'node' | 'neutral' | 'browser';
29
29
  format?: 'esm' | 'cjs';
30
30
  noRequireShim?: boolean;
31
+ sourcemap?: boolean;
32
+ emitMetafile?: boolean;
31
33
  resolveOutputDir?: (unit: DeploymentUnit, baseOutputDir: string) => string;
32
34
  }): Promise<BundleOutput>;
@@ -81,7 +81,7 @@ const EXACT_DEPENDENCIES_FILENAME = 'exact-dependencies.json';
81
81
  * - package.json: Minimal manifest with only the external deps this unit needs
82
82
  */
83
83
  async function bundleUnit(options) {
84
- const { unit, entryPath, unitOutputDir, projectDir, externals, aliases, define, platform, format, } = options;
84
+ const { unit, entryPath, unitOutputDir, projectDir, externals, aliases, define, platform, format, sourcemap, emitMetafile, } = options;
85
85
  await mkdir(unitOutputDir, { recursive: true });
86
86
  const bundlePath = join(unitOutputDir, BUNDLE_FILENAME);
87
87
  const metafilePath = join(unitOutputDir, METAFILE_FILENAME);
@@ -133,7 +133,7 @@ async function bundleUnit(options) {
133
133
  target: 'es2022',
134
134
  outfile: bundlePath,
135
135
  minify: false,
136
- sourcemap: true,
136
+ sourcemap: sourcemap ?? false,
137
137
  logLevel: 'warning',
138
138
  loader: { '.ts': 'ts' },
139
139
  external: externals ?? ['node:*'],
@@ -141,9 +141,12 @@ async function bundleUnit(options) {
141
141
  define,
142
142
  plugins: [createDeadModuleStubPlugin(deadPatterns)],
143
143
  });
144
- // Write metafile
145
- const metafileJson = JSON.stringify(result.metafile, null, 2);
146
- await writeFile(metafilePath, metafileJson, 'utf-8');
144
+ // Always produced in-memory (drives dependency extraction); only persisted
145
+ // when requested — it's large (~1.6MB/unit) and never needed at runtime.
146
+ if (emitMetafile) {
147
+ const metafileJson = JSON.stringify(result.metafile, null, 2);
148
+ await writeFile(metafilePath, metafileJson, 'utf-8');
149
+ }
147
150
  // Extract dependencies and generate minimal package.json
148
151
  const { exactDependencies, exactOptionalDependencies } = await extractDependencies(result.metafile, projectDir);
149
152
  const packageJson = generateMinimalPackageJson(unit.name, exactDependencies, exactOptionalDependencies);
@@ -30,6 +30,70 @@ export declare const fabricCommands: {
30
30
  fixHint: string;
31
31
  }[];
32
32
  }, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>, import("../../.pikku/pikku-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
33
+ smoke: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
34
+ keepTemp?: boolean | undefined;
35
+ timeoutSeconds?: number | undefined;
36
+ startupTimeoutSeconds?: number | undefined;
37
+ port?: number | undefined;
38
+ }, {
39
+ ok: boolean;
40
+ root: string;
41
+ ref: string;
42
+ tempDir: string;
43
+ tempDirKept: boolean;
44
+ notes: string[];
45
+ steps: {
46
+ name: string;
47
+ status: "skipped" | "failed" | "passed";
48
+ durationMs: number;
49
+ detail?: string | undefined;
50
+ command?: string | undefined;
51
+ }[];
52
+ failure?: string | undefined;
53
+ logTail?: string | undefined;
54
+ }, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
55
+ keepTemp?: boolean | undefined;
56
+ timeoutSeconds?: number | undefined;
57
+ startupTimeoutSeconds?: number | undefined;
58
+ port?: number | undefined;
59
+ }, {
60
+ ok: boolean;
61
+ root: string;
62
+ ref: string;
63
+ tempDir: string;
64
+ tempDirKept: boolean;
65
+ notes: string[];
66
+ steps: {
67
+ name: string;
68
+ status: "skipped" | "failed" | "passed";
69
+ durationMs: number;
70
+ detail?: string | undefined;
71
+ command?: string | undefined;
72
+ }[];
73
+ failure?: string | undefined;
74
+ logTail?: string | undefined;
75
+ }, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
76
+ keepTemp?: boolean | undefined;
77
+ timeoutSeconds?: number | undefined;
78
+ startupTimeoutSeconds?: number | undefined;
79
+ port?: number | undefined;
80
+ }, {
81
+ ok: boolean;
82
+ root: string;
83
+ ref: string;
84
+ tempDir: string;
85
+ tempDirKept: boolean;
86
+ notes: string[];
87
+ steps: {
88
+ name: string;
89
+ status: "skipped" | "failed" | "passed";
90
+ durationMs: number;
91
+ detail?: string | undefined;
92
+ command?: string | undefined;
93
+ }[];
94
+ failure?: string | undefined;
95
+ logTail?: string | undefined;
96
+ }, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>, import("../../.pikku/pikku-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
33
97
  login: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
34
98
  apiKey?: string | undefined;
35
99
  token?: string | undefined;
@@ -89,18 +153,21 @@ export declare const fabricCommands: {
89
153
  link: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
90
154
  apiUrl?: string | undefined;
91
155
  }, {
156
+ projectId: string;
92
157
  projectSlug: string;
93
158
  deploymentId: string;
94
159
  stageId: string;
95
160
  }, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
96
161
  apiUrl?: string | undefined;
97
162
  }, {
163
+ projectId: string;
98
164
  projectSlug: string;
99
165
  deploymentId: string;
100
166
  stageId: string;
101
167
  }, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
102
168
  apiUrl?: string | undefined;
103
169
  }, {
170
+ projectId: string;
104
171
  projectSlug: string;
105
172
  deploymentId: string;
106
173
  stageId: string;
@@ -39,12 +39,33 @@ import { FabricDomainsAdd } from './functions/domains-add.function.js';
39
39
  import { FabricDomainsRemove } from './functions/domains-remove.function.js';
40
40
  import { FabricLLMKey, renderLLMKey } from './functions/llm-key.function.js';
41
41
  import { FabricValidate, renderValidate, } from './functions/validate.function.js';
42
+ import { FabricSmoke, renderSmoke, } from './functions/smoke.function.js';
42
43
  export const fabricCommands = defineCLICommands({
43
44
  validate: pikkuCLICommand({
44
45
  func: FabricValidate,
45
46
  render: renderValidate,
46
47
  description: 'Check the project structure for fabric compatibility — prints all missing or misconfigured items with fix hints',
47
48
  }),
49
+ smoke: pikkuCLICommand({
50
+ func: FabricSmoke,
51
+ render: renderSmoke,
52
+ description: 'Run a clean-room Fabric smoke test: temp worktree, install, codegen, migrate, and verify pikku dev startup',
53
+ options: {
54
+ keepTemp: {
55
+ description: 'Keep the temp worktree even on success',
56
+ default: false,
57
+ },
58
+ timeoutSeconds: {
59
+ description: 'Per-step timeout for install/build/codegen commands',
60
+ },
61
+ startupTimeoutSeconds: {
62
+ description: 'Timeout for waiting on pikku dev /health-check',
63
+ },
64
+ port: {
65
+ description: 'Port to use for the temporary pikku dev startup check',
66
+ },
67
+ },
68
+ }),
48
69
  login: pikkuCLICommand({
49
70
  func: FabricLogin,
50
71
  description: 'Authenticate against fabric-api',
@@ -3,6 +3,7 @@ export declare const FabricLinkInput: z.ZodObject<{
3
3
  apiUrl: z.ZodOptional<z.ZodString>;
4
4
  }, z.core.$strip>;
5
5
  export declare const FabricLinkOutput: z.ZodObject<{
6
+ projectId: z.ZodString;
6
7
  projectSlug: z.ZodString;
7
8
  deploymentId: z.ZodString;
8
9
  stageId: z.ZodString;
@@ -10,18 +11,21 @@ export declare const FabricLinkOutput: z.ZodObject<{
10
11
  export declare const FabricLink: import("../../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
11
12
  apiUrl?: string | undefined;
12
13
  }, {
14
+ projectId: string;
13
15
  projectSlug: string;
14
16
  deploymentId: string;
15
17
  stageId: string;
16
18
  }, "session" | "rpc", import("../../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
17
19
  apiUrl?: string | undefined;
18
20
  }, {
21
+ projectId: string;
19
22
  projectSlug: string;
20
23
  deploymentId: string;
21
24
  stageId: string;
22
25
  }, "session" | "rpc", import("../../../types/application-types.js").Services> | import("../../../.pikku/pikku-types.gen.js").PikkuFunction<{
23
26
  apiUrl?: string | undefined;
24
27
  }, {
28
+ projectId: string;
25
29
  projectSlug: string;
26
30
  deploymentId: string;
27
31
  stageId: string;
@@ -7,6 +7,7 @@ export const FabricLinkInput = z.object({
7
7
  apiUrl: z.string().optional(),
8
8
  });
9
9
  export const FabricLinkOutput = z.object({
10
+ projectId: z.string(),
10
11
  projectSlug: z.string(),
11
12
  deploymentId: z.string(),
12
13
  stageId: z.string(),
@@ -61,7 +62,7 @@ export const FabricLink = pikkuSessionlessFunc({
61
62
  projectId: project.projectId,
62
63
  ...(apiUrlOverride ? { apiUrl: apiUrlOverride } : {}),
63
64
  });
64
- console.log(`[fabric] linked ${project.projectSlug}`);
65
+ console.log(`[fabric] linked ${project.projectSlug} projectId=${project.projectId}`);
65
66
  const deploy = await rpc.invoke('deployByStageKind', {
66
67
  projectId: project.projectId,
67
68
  branch: safety.branch,
@@ -69,6 +70,7 @@ export const FabricLink = pikkuSessionlessFunc({
69
70
  });
70
71
  console.log(`[fabric] queued deploy: branch=${safety.branch} deploymentId=${deploy.deploymentId}`);
71
72
  return {
73
+ projectId: project.projectId,
72
74
  projectSlug: project.projectSlug,
73
75
  deploymentId: deploy.deploymentId,
74
76
  stageId: deploy.stageId,