@pikku/addon-console 0.12.30 → 0.12.31

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 (69) hide show
  1. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  2. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  3. package/dist/.pikku/addon/pikku-package.gen.js +1 -1
  4. package/dist/.pikku/agent/pikku-agent-map.gen.d.ts +1 -1
  5. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  6. package/dist/.pikku/auth/auth.types.d.ts +1 -1
  7. package/dist/.pikku/auth/auth.types.js +1 -1
  8. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  9. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  10. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  11. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  12. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  13. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  14. package/dist/.pikku/function/pikku-functions-meta.gen.json +2 -2
  15. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  16. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  17. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  18. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  19. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  20. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  21. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  22. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  23. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  24. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  25. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  26. package/dist/.pikku/pikku-types.gen.js +1 -1
  27. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  28. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  29. package/dist/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +1 -1
  30. package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +1 -1
  31. package/dist/.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +1 -1
  32. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  33. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  34. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  35. package/dist/.pikku/schemas/register.gen.js +1 -1
  36. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  37. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  38. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  39. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  40. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  41. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  42. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  43. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  44. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  45. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  46. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  47. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  48. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  49. package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +1 -1
  50. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  51. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  52. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  53. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  54. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  55. package/dist/src/functions/install-addon.function.d.ts.map +1 -1
  56. package/dist/src/functions/install-addon.function.js +3 -20
  57. package/dist/src/functions/install-addon.function.js.map +1 -1
  58. package/dist/src/functions/install-openapi-addon.function.d.ts.map +1 -1
  59. package/dist/src/functions/install-openapi-addon.function.js +7 -17
  60. package/dist/src/functions/install-openapi-addon.function.js.map +1 -1
  61. package/dist/src/lib/resolve-package-manager.d.ts +20 -0
  62. package/dist/src/lib/resolve-package-manager.d.ts.map +1 -0
  63. package/dist/src/lib/resolve-package-manager.js +61 -0
  64. package/dist/src/lib/resolve-package-manager.js.map +1 -0
  65. package/dist/src/lib/resolve-package-manager.test.d.ts +2 -0
  66. package/dist/src/lib/resolve-package-manager.test.d.ts.map +1 -0
  67. package/dist/src/lib/resolve-package-manager.test.js +55 -0
  68. package/dist/src/lib/resolve-package-manager.test.js.map +1 -0
  69. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * Addon package types for pikkuAddonConfig and pikkuAddonServices
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * Addon package types for pikkuAddonConfig and pikkuAddonServices
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import { createSingletonServices as createSingletonServices } from '../../src/services.js';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export type AgentMap = {}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { pikkuBetterAuth } from '@pikku/better-auth';
5
5
  //# sourceMappingURL=auth.types.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  // AUTO-GENERATED by pikku CLI (bootstrap stub) — replaced by the typed wrapper after inspection
5
5
  export { pikkuBetterAuth } from '@pikku/better-auth';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import type { FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.js';
5
5
  export type NodeCategory = 'General';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  import metaData from './pikku-functions-meta.gen.json' with { type: 'json' };
@@ -1032,7 +1032,7 @@
1032
1032
  "InstallAddonOutput"
1033
1033
  ],
1034
1034
  "expose": true,
1035
- "implementationHash": "73e18c069b11a855",
1035
+ "implementationHash": "dd496aef288d982c",
1036
1036
  "contractHash": "150c3c7624b8bd6d",
1037
1037
  "inputHash": "b0a5b0d2",
1038
1038
  "outputHash": "2d935d9a",
@@ -1058,7 +1058,7 @@
1058
1058
  "InstallOpenapiAddonOutput"
1059
1059
  ],
1060
1060
  "expose": true,
1061
- "implementationHash": "70118135eddd60fe",
1061
+ "implementationHash": "3b7b6e96cda1474e",
1062
1062
  "contractHash": "14be886e78457f29",
1063
1063
  "inputHash": "e5c19fbd",
1064
1064
  "outputHash": "9de4b0f5",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import './rpc/pikku-rpc-wirings-meta.internal.gen.js';
5
5
  import './function/pikku-functions-meta.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import './rpc/pikku-rpc-wirings-meta.internal.gen.js';
5
5
  import './function/pikku-functions-meta.gen.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * This provides the structure needed for typescript to be aware of RPCs and their return types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * This provides the structure needed for typescript to be aware of RPCs and their return types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * This provides the structure needed for typescript to be aware of RPCs and their return types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import { addSchema } from '@pikku/core/schema';
5
5
  import * as AddonMetaPage from './schemas/AddonMetaPage.schema.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { wireScope } from '@pikku/core/scope';
5
5
  export type { CoreScopes, CoreScopeNode, FlatScope, ScopeDefinitionMeta, ScopeDefinitionsMeta } from '@pikku/core/scope';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { wireScope } from '@pikku/core/scope';
5
5
  //# sourceMappingURL=pikku-scope-types.gen.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { wireSecret } from '@pikku/core/secret';
5
5
  export type { CoreSecret, SecretDefinitionMeta, SecretDefinitionsMeta } from '@pikku/core/secret';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { wireSecret } from '@pikku/core/secret';
5
5
  //# sourceMappingURL=pikku-secret-types.gen.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  import secretsMeta from './pikku-secrets-meta.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { wireVariable } from '@pikku/core/variable';
5
5
  export type { CoreVariable, VariableDefinitionMeta, VariableDefinitionsMeta } from '@pikku/core/variable';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  export { wireVariable } from '@pikku/core/variable';
5
5
  //# sourceMappingURL=pikku-variable-types.gen.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  import variablesMeta from './pikku-variables-meta.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  /**
5
5
  * Workflow type map with input/output types for each workflow
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
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.88
2
+ * This file was generated by @pikku/cli@0.12.89
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/internal';
5
5
  const workflowsMeta = {};
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.88
3
+ * This file was generated by @pikku/cli@0.12.89
4
4
  */
5
5
  //# sourceMappingURL=pikku-workflow-wirings.gen.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.88
3
+ * This file was generated by @pikku/cli@0.12.89
4
4
  */
5
5
  //# sourceMappingURL=pikku-workflow-wirings.gen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-addon.function.d.ts","sourceRoot":"","sources":["../../../src/functions/install-addon.function.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY;iBAER,MAAM;eACR,MAAM;cACP,MAAM;;aAEP,OAAO;aAAW,MAAM;;iBAJpB,MAAM;eACR,MAAM;cACP,MAAM;;aAEP,OAAO;aAAW,MAAM;;iBAJpB,MAAM;eACR,MAAM;cACP,MAAM;;aAEP,OAAO;aAAW,MAAM;4EAkHnC,CAAA"}
1
+ {"version":3,"file":"install-addon.function.d.ts","sourceRoot":"","sources":["../../../src/functions/install-addon.function.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,YAAY;iBAER,MAAM;eACR,MAAM;cACP,MAAM;;aAEP,OAAO;aAAW,MAAM;;iBAJpB,MAAM;eACR,MAAM;cACP,MAAM;;aAEP,OAAO;aAAW,MAAM;;iBAJpB,MAAM;eACR,MAAM;cACP,MAAM;;aAEP,OAAO;aAAW,MAAM;4EA+FnC,CAAA"}
@@ -2,6 +2,7 @@ import { BadRequestError, ConflictError, LocalEnvironmentOnlyError, } from '@pik
2
2
  import { pikkuSessionlessFunc } from '#pikku';
3
3
  import { findProjectRoot } from '../lib/find-project-root.js';
4
4
  import { deriveInstanceOverrides, readAddonDeclaredNames, } from '../lib/derive-instance-overrides.js';
5
+ import { installArgs, resolvePackageManager, } from '../lib/resolve-package-manager.js';
5
6
  export const installAddon = pikkuSessionlessFunc({
6
7
  title: 'Install Addon',
7
8
  description: 'Installs a community addon package and creates the wiring file.',
@@ -42,28 +43,10 @@ export const installAddon = pikkuSessionlessFunc({
42
43
  throw new ConflictError(`An addon is already installed under the name "${namespace}". Pick a different instance name.`);
43
44
  }
44
45
  const pkg = version ? `${packageName}@${version}` : packageName;
45
- const pmLock = {
46
- 'yarn.lock': 'yarn',
47
- 'pnpm-lock.yaml': 'pnpm',
48
- 'package-lock.json': 'npm',
49
- 'bun.lockb': 'bun',
50
- };
51
- let pm = 'yarn';
52
- for (const [lock, name] of Object.entries(pmLock)) {
53
- if (existsSync(join(rootDir, lock))) {
54
- pm = name;
55
- break;
56
- }
57
- }
58
- const installArgs = {
59
- yarn: ['add', pkg],
60
- npm: ['install', pkg],
61
- pnpm: ['add', pkg],
62
- bun: ['add', pkg],
63
- };
46
+ const pm = resolvePackageManager(rootDir);
64
47
  const cp = 'node:child_process';
65
48
  const { execFileSync } = await import(cp);
66
- execFileSync(pm, installArgs[pm], { cwd: rootDir, stdio: 'pipe' });
49
+ execFileSync(pm, installArgs[pm](pkg), { cwd: rootDir, stdio: 'pipe' });
67
50
  // A second-or-later instance of the SAME package would otherwise resolve to
68
51
  // the same secrets/variables/credentials as the first — namespace-scope the
69
52
  // new one so the two instances stay isolated. The first instance keeps the
@@ -1 +1 @@
1
- {"version":3,"file":"install-addon.function.js","sourceRoot":"","sources":["../../../src/functions/install-addon.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-addon.function.js","sourceRoot":"","sources":["../../../src/functions/install-addon.function.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install-openapi-addon.function.d.ts","sourceRoot":"","sources":["../../../src/functions/install-openapi-addon.function.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;UAEtB,MAAM;gBACA,MAAM;iBACL,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;aAElC,OAAO;aAAW,MAAM;;UAJ3B,MAAM;gBACA,MAAM;iBACL,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;aAElC,OAAO;aAAW,MAAM;;UAJ3B,MAAM;gBACA,MAAM;iBACL,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;aAElC,OAAO;aAAW,MAAM;4EAgInC,CAAA"}
1
+ {"version":3,"file":"install-openapi-addon.function.d.ts","sourceRoot":"","sources":["../../../src/functions/install-openapi-addon.function.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,mBAAmB;UAEtB,MAAM;gBACA,MAAM;iBACL,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;aAElC,OAAO;aAAW,MAAM;;UAJ3B,MAAM;gBACA,MAAM;iBACL,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;aAElC,OAAO;aAAW,MAAM;;UAJ3B,MAAM;gBACA,MAAM;iBACL,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;aAElC,OAAO;aAAW,MAAM;4EAqHnC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { LocalEnvironmentOnlyError } from '@pikku/core/errors';
2
2
  import { pikkuSessionlessFunc } from '#pikku';
3
3
  import { findProjectRoot } from '../lib/find-project-root.js';
4
+ import { execPrefix, resolvePackageManager, } from '../lib/resolve-package-manager.js';
4
5
  export const installOpenapiAddon = pikkuSessionlessFunc({
5
6
  title: 'Install OpenAPI Addon',
6
7
  description: 'Generates an addon from an OpenAPI spec, installs it into the workspace, and wires it up.',
@@ -53,36 +54,25 @@ export const installOpenapiAddon = pikkuSessionlessFunc({
53
54
  if (credential) {
54
55
  pikkuArgs.push('--credential', credential);
55
56
  }
56
- execFileSync('npx', pikkuArgs, {
57
+ const pm = resolvePackageManager(rootDir);
58
+ const [runner, ...runnerArgs] = execPrefix[pm];
59
+ execFileSync(runner, [...runnerArgs, ...pikkuArgs], {
57
60
  cwd: rootDir,
58
61
  stdio: 'pipe',
59
62
  timeout: 120_000,
60
63
  });
61
- const pmLock = {
62
- 'yarn.lock': 'yarn',
63
- 'pnpm-lock.yaml': 'pnpm',
64
- 'package-lock.json': 'npm',
65
- 'bun.lockb': 'bun',
66
- };
67
- let pm = 'yarn';
68
- for (const [lock, pmName] of Object.entries(pmLock)) {
69
- if (existsSync(join(rootDir, lock))) {
70
- pm = pmName;
71
- break;
72
- }
73
- }
74
64
  execFileSync(pm, ['install'], {
75
65
  cwd: rootDir,
76
66
  stdio: 'pipe',
77
67
  timeout: 120_000,
78
68
  });
79
- execFileSync('npx', ['pikku', 'all'], {
69
+ execFileSync(runner, [...runnerArgs, 'pikku', 'all'], {
80
70
  cwd: addonPath,
81
71
  stdio: 'pipe',
82
72
  timeout: 120_000,
83
73
  });
84
74
  try {
85
- execFileSync('npx', ['tsc'], {
75
+ execFileSync(runner, [...runnerArgs, 'tsc'], {
86
76
  cwd: addonPath,
87
77
  stdio: 'pipe',
88
78
  timeout: 120_000,
@@ -100,7 +90,7 @@ export const installOpenapiAddon = pikkuSessionlessFunc({
100
90
  writeFileSync(wiringFile, `import { wireAddon } from '#pikku/pikku-types.gen.js'\n\nwireAddon({ name: '${name}', package: '@pikku/addon-${name}' })\n`, 'utf-8');
101
91
  }
102
92
  }
103
- execFileSync('npx', ['pikku', 'all'], {
93
+ execFileSync(runner, [...runnerArgs, 'pikku', 'all'], {
104
94
  cwd: rootDir,
105
95
  stdio: 'pipe',
106
96
  timeout: 120_000,
@@ -1 +1 @@
1
- {"version":3,"file":"install-openapi-addon.function.js","sourceRoot":"","sources":["../../../src/functions/install-openapi-addon.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-openapi-addon.function.js","sourceRoot":"","sources":["../../../src/functions/install-openapi-addon.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export type PackageManager = 'bun' | 'yarn' | 'pnpm' | 'npm';
2
+ /** `<pm> <args...> <pkg>` for adding a dependency. */
3
+ export declare const installArgs: Record<PackageManager, (pkg: string) => string[]>;
4
+ /**
5
+ * How each package manager runs a locally-installed binary. `npx` only exists
6
+ * where npm does — a bun-only image (no node, no npm) has `bunx` and nothing
7
+ * else, so the runner has to follow the detected manager.
8
+ */
9
+ export declare const execPrefix: Record<PackageManager, [string, ...string[]]>;
10
+ /**
11
+ * Which package manager runs in this project. `packageManager` in package.json
12
+ * (the corepack field) is authoritative — it states intent even before a
13
+ * lockfile exists, and a project can carry a stale lockfile from another tool.
14
+ * Lockfiles are the fallback, then npm, which every Node install ships with.
15
+ *
16
+ * Guessing wrong is not a soft failure: the install spawns a binary that isn't
17
+ * on PATH and the caller sees `Executable not found in $PATH: "yarn"`.
18
+ */
19
+ export declare function resolvePackageManager(rootDir: string): PackageManager;
20
+ //# sourceMappingURL=resolve-package-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-package-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/resolve-package-manager.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAE5D,sDAAsD;AACtD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAKzE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAKpE,CAAA;AAWD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAqBrE"}
@@ -0,0 +1,61 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ /** `<pm> <args...> <pkg>` for adding a dependency. */
4
+ export const installArgs = {
5
+ bun: (pkg) => ['add', pkg],
6
+ yarn: (pkg) => ['add', pkg],
7
+ pnpm: (pkg) => ['add', pkg],
8
+ npm: (pkg) => ['install', pkg],
9
+ };
10
+ /**
11
+ * How each package manager runs a locally-installed binary. `npx` only exists
12
+ * where npm does — a bun-only image (no node, no npm) has `bunx` and nothing
13
+ * else, so the runner has to follow the detected manager.
14
+ */
15
+ export const execPrefix = {
16
+ bun: ['bunx'],
17
+ yarn: ['yarn'],
18
+ pnpm: ['pnpm', 'exec'],
19
+ npm: ['npx'],
20
+ };
21
+ // bun.lock (bun >= 1.2, text) and bun.lockb (binary) are both valid.
22
+ const LOCKFILES = [
23
+ ['bun.lock', 'bun'],
24
+ ['bun.lockb', 'bun'],
25
+ ['yarn.lock', 'yarn'],
26
+ ['pnpm-lock.yaml', 'pnpm'],
27
+ ['package-lock.json', 'npm'],
28
+ ];
29
+ /**
30
+ * Which package manager runs in this project. `packageManager` in package.json
31
+ * (the corepack field) is authoritative — it states intent even before a
32
+ * lockfile exists, and a project can carry a stale lockfile from another tool.
33
+ * Lockfiles are the fallback, then npm, which every Node install ships with.
34
+ *
35
+ * Guessing wrong is not a soft failure: the install spawns a binary that isn't
36
+ * on PATH and the caller sees `Executable not found in $PATH: "yarn"`.
37
+ */
38
+ export function resolvePackageManager(rootDir) {
39
+ const pkgJsonPath = join(rootDir, 'package.json');
40
+ if (existsSync(pkgJsonPath)) {
41
+ try {
42
+ const declared = JSON.parse(readFileSync(pkgJsonPath, 'utf-8'))
43
+ .packageManager;
44
+ // e.g. "bun@1.3.14", "yarn@4.5.0+sha224.abc"
45
+ const name = typeof declared === 'string' ? declared.split('@')[0] : null;
46
+ if (name && name in installArgs)
47
+ return name;
48
+ }
49
+ catch (e) {
50
+ // A malformed root package.json is the project's problem, not ours —
51
+ // fall through to lockfile detection rather than failing the install.
52
+ console.warn(`Could not read packageManager from ${pkgJsonPath}:`, e);
53
+ }
54
+ }
55
+ for (const [lock, pm] of LOCKFILES) {
56
+ if (existsSync(join(rootDir, lock)))
57
+ return pm;
58
+ }
59
+ return 'npm';
60
+ }
61
+ //# sourceMappingURL=resolve-package-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-package-manager.js","sourceRoot":"","sources":["../../../src/lib/resolve-package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAsD;IAC5E,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;IAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC;CAC/B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkD;IACvE,GAAG,EAAE,CAAC,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,CAAC,KAAK,CAAC;CACb,CAAA;AAED,qEAAqE;AACrE,MAAM,SAAS,GAAoC;IACjD,CAAC,UAAU,EAAE,KAAK,CAAC;IACnB,CAAC,WAAW,EAAE,KAAK,CAAC;IACpB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,mBAAmB,EAAE,KAAK,CAAC;CAC7B,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IACjD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;iBAC5D,cAAc,CAAA;YACjB,6CAA6C;YAC7C,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACzE,IAAI,IAAI,IAAI,IAAI,IAAI,WAAW;gBAAE,OAAO,IAAsB,CAAA;QAChE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qEAAqE;YACrE,sEAAsE;YACtE,OAAO,CAAC,IAAI,CAAC,sCAAsC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAA;IAChD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolve-package-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-package-manager.test.d.ts","sourceRoot":"","sources":["../../../src/lib/resolve-package-manager.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { strict as assert } from 'assert';
2
+ import { describe, test, beforeEach, afterEach } from 'node:test';
3
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
4
+ import { tmpdir } from 'node:os';
5
+ import { join } from 'node:path';
6
+ import { resolvePackageManager } from './resolve-package-manager.js';
7
+ describe('resolvePackageManager', () => {
8
+ let dir;
9
+ beforeEach(() => {
10
+ dir = mkdtempSync(join(tmpdir(), 'pm-detect-'));
11
+ });
12
+ afterEach(() => {
13
+ rmSync(dir, { recursive: true, force: true });
14
+ });
15
+ const writePkg = (pkg) => writeFileSync(join(dir, 'package.json'), JSON.stringify(pkg), 'utf-8');
16
+ test('reads the packageManager field', () => {
17
+ writePkg({ packageManager: 'bun@1.3.14' });
18
+ assert.equal(resolvePackageManager(dir), 'bun');
19
+ });
20
+ test('packageManager wins over a stale lockfile', () => {
21
+ writePkg({ packageManager: 'bun@1.3.14' });
22
+ writeFileSync(join(dir, 'yarn.lock'), '', 'utf-8');
23
+ assert.equal(resolvePackageManager(dir), 'bun');
24
+ });
25
+ test('detects bun from the text lockfile (bun >= 1.2)', () => {
26
+ writePkg({});
27
+ writeFileSync(join(dir, 'bun.lock'), '', 'utf-8');
28
+ assert.equal(resolvePackageManager(dir), 'bun');
29
+ });
30
+ test('detects bun from the binary lockfile', () => {
31
+ writeFileSync(join(dir, 'bun.lockb'), '', 'utf-8');
32
+ assert.equal(resolvePackageManager(dir), 'bun');
33
+ });
34
+ test('detects yarn, pnpm and npm from their lockfiles', () => {
35
+ for (const [lock, pm] of [
36
+ ['yarn.lock', 'yarn'],
37
+ ['pnpm-lock.yaml', 'pnpm'],
38
+ ['package-lock.json', 'npm'],
39
+ ]) {
40
+ const d = mkdtempSync(join(tmpdir(), 'pm-detect-'));
41
+ writeFileSync(join(d, lock), '', 'utf-8');
42
+ assert.equal(resolvePackageManager(d), pm);
43
+ rmSync(d, { recursive: true, force: true });
44
+ }
45
+ });
46
+ test('ignores an unknown packageManager and falls back', () => {
47
+ writePkg({ packageManager: 'cargo@1.0.0' });
48
+ writeFileSync(join(dir, 'pnpm-lock.yaml'), '', 'utf-8');
49
+ assert.equal(resolvePackageManager(dir), 'pnpm');
50
+ });
51
+ test('defaults to npm with no signals', () => {
52
+ assert.equal(resolvePackageManager(dir), 'npm');
53
+ });
54
+ });
55
+ //# sourceMappingURL=resolve-package-manager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-package-manager.test.js","sourceRoot":"","sources":["../../../src/lib/resolve-package-manager.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/addon-console",
3
- "version": "0.12.30",
3
+ "version": "0.12.31",
4
4
  "type": "module",
5
5
  "imports": {
6
6
  "#pikku": {