@baseplate-dev/project-builder-server 0.6.3 → 0.6.5

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 (101) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/actions/definition/build-ts-description-registry.d.ts +18 -0
  3. package/dist/actions/definition/build-ts-description-registry.d.ts.map +1 -0
  4. package/dist/actions/definition/build-ts-description-registry.js +48 -0
  5. package/dist/actions/definition/build-ts-description-registry.js.map +1 -0
  6. package/dist/actions/definition/configure-plugin.action.d.ts.map +1 -1
  7. package/dist/actions/definition/configure-plugin.action.js +84 -19
  8. package/dist/actions/definition/configure-plugin.action.js.map +1 -1
  9. package/dist/actions/definition/disable-plugin.action.d.ts.map +1 -1
  10. package/dist/actions/definition/disable-plugin.action.js +14 -1
  11. package/dist/actions/definition/disable-plugin.action.js.map +1 -1
  12. package/dist/actions/definition/draft-session.d.ts +3 -0
  13. package/dist/actions/definition/draft-session.d.ts.map +1 -1
  14. package/dist/actions/definition/draft-session.js +2 -0
  15. package/dist/actions/definition/draft-session.js.map +1 -1
  16. package/dist/actions/definition/find-plugin-by-key.d.ts +6 -0
  17. package/dist/actions/definition/find-plugin-by-key.d.ts.map +1 -0
  18. package/dist/actions/definition/find-plugin-by-key.js +15 -0
  19. package/dist/actions/definition/find-plugin-by-key.js.map +1 -0
  20. package/dist/actions/definition/get-entity-schema.action.d.ts.map +1 -1
  21. package/dist/actions/definition/get-entity-schema.action.js +2 -6
  22. package/dist/actions/definition/get-entity-schema.action.js.map +1 -1
  23. package/dist/actions/definition/get-plugin-info.action.d.ts +21 -0
  24. package/dist/actions/definition/get-plugin-info.action.d.ts.map +1 -0
  25. package/dist/actions/definition/get-plugin-info.action.js +118 -0
  26. package/dist/actions/definition/get-plugin-info.action.js.map +1 -0
  27. package/dist/actions/definition/index.d.ts +1 -0
  28. package/dist/actions/definition/index.d.ts.map +1 -1
  29. package/dist/actions/definition/index.js +1 -0
  30. package/dist/actions/definition/index.js.map +1 -1
  31. package/dist/actions/definition/schema-to-type-string.d.ts +11 -0
  32. package/dist/actions/definition/schema-to-type-string.d.ts.map +1 -0
  33. package/dist/actions/definition/schema-to-type-string.js +20 -0
  34. package/dist/actions/definition/schema-to-type-string.js.map +1 -0
  35. package/dist/actions/definition/stage-update-entity.action.d.ts.map +1 -1
  36. package/dist/actions/definition/stage-update-entity.action.js +2 -2
  37. package/dist/actions/definition/stage-update-entity.action.js.map +1 -1
  38. package/dist/actions/definition/validate-draft.d.ts +6 -5
  39. package/dist/actions/definition/validate-draft.d.ts.map +1 -1
  40. package/dist/actions/definition/validate-draft.js +12 -8
  41. package/dist/actions/definition/validate-draft.js.map +1 -1
  42. package/dist/actions/diff/diff-project.action.d.ts.map +1 -1
  43. package/dist/actions/diff/diff-project.action.js +10 -12
  44. package/dist/actions/diff/diff-project.action.js.map +1 -1
  45. package/dist/actions/registry.d.ts +36 -0
  46. package/dist/actions/registry.d.ts.map +1 -1
  47. package/dist/actions/registry.js +2 -1
  48. package/dist/actions/registry.js.map +1 -1
  49. package/dist/actions/sync/sync-all-projects.action.d.ts.map +1 -1
  50. package/dist/actions/sync/sync-all-projects.action.js +7 -0
  51. package/dist/actions/sync/sync-all-projects.action.js.map +1 -1
  52. package/dist/actions/sync/sync-project.action.d.ts.map +1 -1
  53. package/dist/actions/sync/sync-project.action.js +4 -0
  54. package/dist/actions/sync/sync-project.action.js.map +1 -1
  55. package/dist/actions/utils/run-in-worker.js.map +1 -1
  56. package/dist/actions/utils/trpc.js +1 -1
  57. package/dist/actions/utils/trpc.js.map +1 -1
  58. package/dist/compiler/backend/authorizer-compiler.d.ts +13 -8
  59. package/dist/compiler/backend/authorizer-compiler.d.ts.map +1 -1
  60. package/dist/compiler/backend/authorizer-compiler.js +183 -39
  61. package/dist/compiler/backend/authorizer-compiler.js.map +1 -1
  62. package/dist/compiler/backend/authorizer-expression-codegen-utils.d.ts +23 -0
  63. package/dist/compiler/backend/authorizer-expression-codegen-utils.d.ts.map +1 -0
  64. package/dist/compiler/backend/authorizer-expression-codegen-utils.js +36 -0
  65. package/dist/compiler/backend/authorizer-expression-codegen-utils.js.map +1 -0
  66. package/dist/compiler/backend/graphql.d.ts.map +1 -1
  67. package/dist/compiler/backend/graphql.js +1 -0
  68. package/dist/compiler/backend/graphql.js.map +1 -1
  69. package/dist/compiler/backend/query-filter-compiler.d.ts +0 -6
  70. package/dist/compiler/backend/query-filter-compiler.d.ts.map +1 -1
  71. package/dist/compiler/backend/query-filter-compiler.js +54 -29
  72. package/dist/compiler/backend/query-filter-compiler.js.map +1 -1
  73. package/dist/compiler/compile-packages.d.ts +2 -2
  74. package/dist/compiler/compile-packages.js +3 -3
  75. package/dist/compiler/compile-packages.js.map +1 -1
  76. package/dist/compiler/root/root-package-compiler.d.ts.map +1 -1
  77. package/dist/compiler/root/root-package-compiler.js +14 -5
  78. package/dist/compiler/root/root-package-compiler.js.map +1 -1
  79. package/dist/compiler/web/web-compiler.d.ts.map +1 -1
  80. package/dist/compiler/web/web-compiler.js +6 -2
  81. package/dist/compiler/web/web-compiler.js.map +1 -1
  82. package/dist/core-modules/index.d.ts.map +1 -1
  83. package/dist/core-modules/index.js +14 -10
  84. package/dist/core-modules/index.js.map +1 -1
  85. package/dist/dev-server/auth-plugin.d.ts.map +1 -1
  86. package/dist/dev-server/auth-plugin.js +2 -1
  87. package/dist/dev-server/auth-plugin.js.map +1 -1
  88. package/dist/diff/formatters.d.ts +16 -7
  89. package/dist/diff/formatters.d.ts.map +1 -1
  90. package/dist/diff/formatters.js +63 -68
  91. package/dist/diff/formatters.js.map +1 -1
  92. package/dist/fastify-plugins/graceful-shutdown.js +1 -1
  93. package/dist/service/builder-service.js +1 -1
  94. package/dist/service/builder-service.js.map +1 -1
  95. package/dist/sync/sync-metadata-service.d.ts.map +1 -1
  96. package/dist/sync/sync-metadata-service.js +2 -1
  97. package/dist/sync/sync-metadata-service.js.map +1 -1
  98. package/dist/template-extractor/delete-template.js +1 -1
  99. package/dist/template-extractor/delete-template.js.map +1 -1
  100. package/dist/templates/utils/extractor-config.js +1 -1
  101. package/package.json +11 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # @baseplate-dev/project-builder-server
2
2
 
3
+ ## 0.6.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#869](https://github.com/halfdomelabs/baseplate/pull/869) [`860b82d`](https://github.com/halfdomelabs/baseplate/commit/860b82da0466386ad11128c619595179ee76d0a4) Thanks [@kingston](https://github.com/kingston)! - Add AI development agents plugin that generates AGENTS.md, .agents/ directory, and conditionally CLAUDE.md for Baseplate projects. Also adds `rootCompilerSpec` to enable plugins to contribute generators to the monorepo root package.
8
+
9
+ - [#854](https://github.com/halfdomelabs/baseplate/pull/854) [`9708637`](https://github.com/halfdomelabs/baseplate/commit/97086370718861d2c3170ec6d83af84793fbd09e) Thanks [@kingston](https://github.com/kingston)! - Add optional description field to enum values that flows through to Pothos GraphQL enum type definitions
10
+
11
+ - [#868](https://github.com/halfdomelabs/baseplate/pull/868) [`8dcf7b3`](https://github.com/halfdomelabs/baseplate/commit/8dcf7b3c909672487bad61b7a4465d1860092363) Thanks [@kingston](https://github.com/kingston)! - Add get-plugin-info MCP action and improve configure-plugin usability
12
+
13
+ - [#862](https://github.com/halfdomelabs/baseplate/pull/862) [`5f7f3f1`](https://github.com/halfdomelabs/baseplate/commit/5f7f3f190e107d96764541a4146320badfe0186d) Thanks [@kingston](https://github.com/kingston)! - Fix sync metadata file occasionally becoming empty by using unique temp file names to prevent collisions during concurrent writes
14
+
15
+ - [#866](https://github.com/halfdomelabs/baseplate/pull/866) [`5e182c3`](https://github.com/halfdomelabs/baseplate/commit/5e182c308c51b8d6f735b213ae12ba475c34dbd2) Thanks [@kingston](https://github.com/kingston)! - Detect and block disabling plugins whose types (transformers, package types, etc.) are still in use, showing a dialog listing the affected items
16
+
17
+ - [#858](https://github.com/halfdomelabs/baseplate/pull/858) [`594e5a1`](https://github.com/halfdomelabs/baseplate/commit/594e5a15cbbff303fd19388ac5ec1639460444bc) Thanks [@kingston](https://github.com/kingston)! - Order package runner to compile library packages before app packages, ensuring library dependencies are built first
18
+
19
+ - [#857](https://github.com/halfdomelabs/baseplate/pull/857) [`e18f3e8`](https://github.com/halfdomelabs/baseplate/commit/e18f3e82e86c58fabead4a95bac84d18dfaf3eb6) Thanks [@kingston](https://github.com/kingston)! - Prevent overwrite mode from being used on user projects to protect manual changes
20
+
21
+ - [#839](https://github.com/halfdomelabs/baseplate/pull/839) [`85d957d`](https://github.com/halfdomelabs/baseplate/commit/85d957d4a2ab4b3a55a96c8dbba9a79d2f72511c) Thanks [@kingston](https://github.com/kingston)! - Support `exists()` and `all()` relation filter functions in authorization expressions for checking conditions on 1:many related records
22
+
23
+ - [#860](https://github.com/halfdomelabs/baseplate/pull/860) [`2a514a6`](https://github.com/halfdomelabs/baseplate/commit/2a514a63e741e1b16b3b1b168b84a60965141887) Thanks [@kingston](https://github.com/kingston)! - Support renames in reference expressions: when fields, relations, or roles are renamed, authorizer expressions are automatically updated to use the new names
24
+
25
+ - [#847](https://github.com/halfdomelabs/baseplate/pull/847) [`497904a`](https://github.com/halfdomelabs/baseplate/commit/497904a9b5088171f95c5e16bcda542fb5e98610) Thanks [@kingston](https://github.com/kingston)! - Connect theme builder UI to code generation. Theme color configuration from the project definition now drives the generated `styles.css` instead of hardcoded values. Default theme uses slate base with indigo primary. Remove explicit hover color variables (primaryHover, secondaryHover, destructiveHover) and linkVisited — hover is now computed via `color-mix` in CSS. Add palette swatch selection to theme color picker. Split preview into surface and interactive sections with input group and alert components.
26
+
27
+ - Updated dependencies [[`37b6d8f`](https://github.com/halfdomelabs/baseplate/commit/37b6d8fd76086dab2953e12e48543334c5056f15), [`860b82d`](https://github.com/halfdomelabs/baseplate/commit/860b82da0466386ad11128c619595179ee76d0a4), [`9708637`](https://github.com/halfdomelabs/baseplate/commit/97086370718861d2c3170ec6d83af84793fbd09e), [`9708637`](https://github.com/halfdomelabs/baseplate/commit/97086370718861d2c3170ec6d83af84793fbd09e), [`8dcf7b3`](https://github.com/halfdomelabs/baseplate/commit/8dcf7b3c909672487bad61b7a4465d1860092363), [`06f5173`](https://github.com/halfdomelabs/baseplate/commit/06f517371c4904482873a4e30fe9b23b4fd2e36d), [`c24a24a`](https://github.com/halfdomelabs/baseplate/commit/c24a24ac9d2b66623acb0fda9c6ff2b3b80c0a6d), [`9688ca3`](https://github.com/halfdomelabs/baseplate/commit/9688ca348fd995a228bff597069f58644d7e9459), [`71146cd`](https://github.com/halfdomelabs/baseplate/commit/71146cd1ab784f45e4409fef7e6e447750047e48), [`fc8f158`](https://github.com/halfdomelabs/baseplate/commit/fc8f1582f1702d2d6f6eaa60607da7bb777750b5), [`5e182c3`](https://github.com/halfdomelabs/baseplate/commit/5e182c308c51b8d6f735b213ae12ba475c34dbd2), [`0ba6744`](https://github.com/halfdomelabs/baseplate/commit/0ba67445708689622341f3031502b3308f71f68e), [`53b8635`](https://github.com/halfdomelabs/baseplate/commit/53b86354ee6bc4b46d1966f657e3d6c942cf1eb1), [`85d957d`](https://github.com/halfdomelabs/baseplate/commit/85d957d4a2ab4b3a55a96c8dbba9a79d2f72511c), [`8d30c14`](https://github.com/halfdomelabs/baseplate/commit/8d30c145ce5d72dcfc038ff076ed0746d2d763cc), [`ed5d250`](https://github.com/halfdomelabs/baseplate/commit/ed5d250146f0b48386a8208741150f9011892a35), [`efcf233`](https://github.com/halfdomelabs/baseplate/commit/efcf2338c018ad46b08e8fef3994630dea511723), [`2a514a6`](https://github.com/halfdomelabs/baseplate/commit/2a514a63e741e1b16b3b1b168b84a60965141887), [`497904a`](https://github.com/halfdomelabs/baseplate/commit/497904a9b5088171f95c5e16bcda542fb5e98610), [`87a2218`](https://github.com/halfdomelabs/baseplate/commit/87a2218266f957bb4beacd6b13cb3d610fd15a41), [`c7131f5`](https://github.com/halfdomelabs/baseplate/commit/c7131f5caebda203ece99d30fcf2d58ead3abdb8), [`adc5f55`](https://github.com/halfdomelabs/baseplate/commit/adc5f55dbf3a1451f4402cd6bd126e15f60b8ed8), [`c7131f5`](https://github.com/halfdomelabs/baseplate/commit/c7131f5caebda203ece99d30fcf2d58ead3abdb8), [`c7131f5`](https://github.com/halfdomelabs/baseplate/commit/c7131f5caebda203ece99d30fcf2d58ead3abdb8)]:
28
+ - @baseplate-dev/project-builder-lib@0.6.5
29
+ - @baseplate-dev/fastify-generators@0.6.5
30
+ - @baseplate-dev/utils@0.6.5
31
+ - @baseplate-dev/react-generators@0.6.5
32
+ - @baseplate-dev/core-generators@0.6.5
33
+ - @baseplate-dev/sync@0.6.5
34
+
35
+ ## 0.6.4
36
+
37
+ ### Patch Changes
38
+
39
+ - Updated dependencies [[`ba315aa`](https://github.com/halfdomelabs/baseplate/commit/ba315aaaec0e8842ec7fadb765b1fed5e3abda5a)]:
40
+ - @baseplate-dev/project-builder-lib@0.6.4
41
+ - @baseplate-dev/core-generators@0.6.4
42
+ - @baseplate-dev/fastify-generators@0.6.4
43
+ - @baseplate-dev/react-generators@0.6.4
44
+ - @baseplate-dev/sync@0.6.4
45
+ - @baseplate-dev/utils@0.6.4
46
+
3
47
  ## 0.6.3
4
48
 
5
49
  ### Patch Changes
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Builds a Zod registry with description metadata for use with `zodToTs`.
4
+ *
5
+ * Walks the schema using `walkSchemaStructure` and populates descriptions
6
+ * from two sources:
7
+ * 1. `definitionRefRegistry` — annotates reference fields (@ref) and entity
8
+ * arrays (@entity) so callers know which fields are references
9
+ * 2. `validationHintRegistry` — annotates fields with validation constraints
10
+ * like casing requirements (e.g., "CONSTANT_CASE", "camelCase")
11
+ *
12
+ * The returned registry can be passed as `metadataRegistry` to `zodToTs`
13
+ * which will render the descriptions as JSDoc comments in the output.
14
+ */
15
+ export declare function buildTsDescriptionRegistry(schema: z.ZodType): ReturnType<typeof z.registry<{
16
+ description?: string;
17
+ }>>;
18
+ //# sourceMappingURL=build-ts-description-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-ts-description-registry.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/build-ts-description-registry.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,CAAC,CAAC,OAAO,GAChB,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwCzD"}
@@ -0,0 +1,48 @@
1
+ import { definitionRefRegistry, walkSchemaStructure, } from '@baseplate-dev/project-builder-lib';
2
+ import { validationHintRegistry } from '@baseplate-dev/utils';
3
+ import { z } from 'zod';
4
+ /**
5
+ * Builds a Zod registry with description metadata for use with `zodToTs`.
6
+ *
7
+ * Walks the schema using `walkSchemaStructure` and populates descriptions
8
+ * from two sources:
9
+ * 1. `definitionRefRegistry` — annotates reference fields (@ref) and entity
10
+ * arrays (@entity) so callers know which fields are references
11
+ * 2. `validationHintRegistry` — annotates fields with validation constraints
12
+ * like casing requirements (e.g., "CONSTANT_CASE", "camelCase")
13
+ *
14
+ * The returned registry can be passed as `metadataRegistry` to `zodToTs`
15
+ * which will render the descriptions as JSDoc comments in the output.
16
+ */
17
+ export function buildTsDescriptionRegistry(schema) {
18
+ const registry = z.registry();
19
+ const visitor = {
20
+ visit(visitedSchema) {
21
+ const descriptions = [];
22
+ // Check for ref/entity metadata from definitionRefRegistry
23
+ const metaList = definitionRefRegistry.getAll(visitedSchema);
24
+ for (const meta of metaList) {
25
+ if (meta.kind === 'reference') {
26
+ descriptions.push(`@ref(${meta.type.name}) - Reference to a '${meta.type.name}' entity. Use entity name, not ID.`);
27
+ }
28
+ else if (meta.kind === 'entity') {
29
+ descriptions.push(`@entity(${meta.type.name}) - Entity type '${meta.type.name}'. IDs are auto-generated; omit the id field.`);
30
+ }
31
+ }
32
+ // Check for validation hints from validationHintRegistry
33
+ const hint = validationHintRegistry.get(visitedSchema);
34
+ if (hint?.description) {
35
+ descriptions.push(hint.description);
36
+ }
37
+ if (descriptions.length > 0) {
38
+ registry.add(visitedSchema, {
39
+ description: descriptions.join(' '),
40
+ });
41
+ }
42
+ return undefined;
43
+ },
44
+ };
45
+ walkSchemaStructure(schema, [visitor]);
46
+ return registry;
47
+ }
48
+ //# sourceMappingURL=build-ts-description-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-ts-description-registry.js","sourceRoot":"","sources":["../../../src/actions/definition/build-ts-description-registry.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAiB;IAEjB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAA4B,CAAC;IAExD,MAAM,OAAO,GAA2B;QACtC,KAAK,CAAC,aAAa;YACjB,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,2DAA2D;YAC3D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC9B,YAAY,CAAC,IAAI,CACf,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,oCAAoC,CAChG,CAAC;gBACJ,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,YAAY,CAAC,IAAI,CACf,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,+CAA+C,CAC3G,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;gBACtB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE;oBAC1B,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;IAEF,mBAAmB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"configure-plugin.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/configure-plugin.action.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2CxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAqDhC,CAAC"}
1
+ {"version":3,"file":"configure-plugin.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/configure-plugin.action.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4DxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAmHhC,CAAC"}
@@ -1,8 +1,9 @@
1
- import { PluginUtils, ProjectDefinitionContainer, serializeSchema, } from '@baseplate-dev/project-builder-lib';
1
+ import { assignEntityIds, createDefinitionSchemaParserContext, createPluginImplementationStoreWithNewPlugins, pluginConfigSpec, pluginEntityType, ProjectDefinitionContainer, } from '@baseplate-dev/project-builder-lib';
2
2
  import { produce } from 'immer';
3
3
  import { z } from 'zod';
4
4
  import { createServiceAction } from '#src/actions/types.js';
5
5
  import { getOrCreateDraftSession } from './draft-session.js';
6
+ import { findPluginByKey } from './find-plugin-by-key.js';
6
7
  import { definitionIssueSchema, mapIssueToOutput, validateAndSaveDraft, writeIssuesCliOutput, } from './validate-draft.js';
7
8
  const configurePluginInputSchema = z.object({
8
9
  project: z.string().describe('The name or ID of the project.'),
@@ -10,7 +11,9 @@ const configurePluginInputSchema = z.object({
10
11
  config: z
11
12
  .record(z.string(), z.unknown())
12
13
  .optional()
13
- .describe('Optional plugin configuration. Defaults to empty config.'),
14
+ .describe('Optional plugin configuration object. Use get-plugin-info to see the expected schema. ' +
15
+ 'Reference fields accept entity names (not IDs). IDs for nested entities are auto-generated. ' +
16
+ 'Defaults to empty config.'),
14
17
  });
15
18
  const configurePluginOutputSchema = z.object({
16
19
  message: z.string().describe('A summary of the staged change.'),
@@ -19,33 +22,95 @@ const configurePluginOutputSchema = z.object({
19
22
  .optional()
20
23
  .describe('Definition issues found after staging.'),
21
24
  });
22
- function findPluginByKey(plugins, pluginKey) {
23
- const plugin = plugins.find((p) => p.key === pluginKey);
24
- if (!plugin) {
25
- const available = plugins.map((p) => p.key).join(', ');
26
- throw new Error(`Plugin "${pluginKey}" not found. Available plugins: ${available}`);
25
+ /**
26
+ * Auto-generates IDs for nested entities in a plugin config using the
27
+ * plugin's config schema. Existing IDs are preserved.
28
+ */
29
+ function assignConfigEntityIds(pluginConfig, pluginMetadata, pluginStore, existingIds) {
30
+ const pluginConfigService = pluginStore.use(pluginConfigSpec);
31
+ const schemaCreator = pluginConfigService.getSchemaCreator(pluginMetadata.key);
32
+ if (!schemaCreator) {
33
+ return pluginConfig;
27
34
  }
28
- return plugin;
35
+ const defCtx = createDefinitionSchemaParserContext({ plugins: pluginStore });
36
+ const configSchema = schemaCreator(defCtx);
37
+ return assignEntityIds(configSchema, pluginConfig, {
38
+ isExistingId: (id) => existingIds.has(id),
39
+ });
29
40
  }
30
41
  export const configurePluginAction = createServiceAction({
31
42
  name: 'configure-plugin',
32
43
  title: 'Configure Plugin',
33
- description: 'Enable a plugin or update its configuration in the draft session. Changes are not persisted until commit-draft is called.',
44
+ description: 'Enable a plugin or update its configuration in the draft session. ' +
45
+ 'Use get-plugin-info first to see the config schema and current config. ' +
46
+ 'Reference fields accept entity names (not IDs). IDs for nested entities are auto-generated. ' +
47
+ 'Changes are not persisted until commit-draft is called.',
34
48
  inputSchema: configurePluginInputSchema,
35
49
  outputSchema: configurePluginOutputSchema,
36
50
  handler: async (input, context) => {
37
51
  const { session, parserContext, projectDirectory } = await getOrCreateDraftSession(input.project, context);
38
52
  const pluginMetadata = findPluginByKey(context.plugins, input.pluginKey);
39
- const container = ProjectDefinitionContainer.fromSerializedConfig(session.draftDefinition, parserContext);
40
- const pluginConfig = input.config ?? {};
41
- // Apply setPluginConfig via produce
42
- const newDefinition = produce((draft) => {
43
- PluginUtils.setPluginConfig(draft, pluginMetadata, pluginConfig, container);
44
- })(container.definition);
45
- // Serialize back to name-based format
46
- const serializedDef = serializeSchema(container.schema, newDefinition);
47
- const { warnings } = await validateAndSaveDraft(serializedDef, parserContext, session, projectDirectory);
48
- const isNew = PluginUtils.byKey(container.definition, input.pluginKey) == null;
53
+ const pluginEntityId = pluginEntityType.idFromKey(pluginMetadata.key);
54
+ const serializedDef = session.draftDefinition;
55
+ const serializedPlugins = (serializedDef.plugins ?? []);
56
+ const isNew = !serializedPlugins.some((p) => p.id === pluginEntityId);
57
+ // Build a plugin store that includes this plugin (needed for schema
58
+ // creation and migration version lookup even if the plugin is new).
59
+ // Cast is safe: only the plugins[] array is accessed for ID matching.
60
+ const pluginStore = createPluginImplementationStoreWithNewPlugins(parserContext.pluginStore, [pluginMetadata], serializedDef);
61
+ // Collect all existing entity IDs from the definition so that
62
+ // assignEntityIds can preserve them and avoid collisions.
63
+ const defContainer = ProjectDefinitionContainer.fromSerializedConfig(serializedDef, parserContext);
64
+ const existingIds = new Set([
65
+ ...defContainer.entities.map((e) => e.id),
66
+ pluginEntityId,
67
+ ]);
68
+ // Auto-generate IDs for nested entities in the config
69
+ const rawConfig = input.config ?? {};
70
+ const processedConfig = assignConfigEntityIds(rawConfig, pluginMetadata, pluginStore, existingIds);
71
+ // Inject the plugin config into the serialized definition.
72
+ // This works with entity names (not IDs) — the deserialization pipeline
73
+ // in validateAndSaveDraft handles name→ID resolution automatically.
74
+ const pluginConfigService = pluginStore.use(pluginConfigSpec);
75
+ const lastMigrationVersion = pluginConfigService.getLastMigrationVersion(pluginMetadata.key);
76
+ let updatedDef;
77
+ if (isNew) {
78
+ const newPlugin = {
79
+ id: pluginEntityId,
80
+ name: pluginMetadata.name,
81
+ version: pluginMetadata.version,
82
+ packageName: pluginMetadata.packageName,
83
+ config: processedConfig,
84
+ };
85
+ if (lastMigrationVersion !== undefined) {
86
+ newPlugin.configSchemaVersion = lastMigrationVersion;
87
+ }
88
+ updatedDef = produce(serializedDef, (draft) => {
89
+ const plugins = (draft.plugins ?? []);
90
+ plugins.push(newPlugin);
91
+ draft.plugins = plugins;
92
+ });
93
+ }
94
+ else {
95
+ updatedDef = produce(serializedDef, (draft) => {
96
+ const plugins = draft.plugins;
97
+ const idx = plugins.findIndex((p) => p.id === pluginEntityId);
98
+ if (idx !== -1) {
99
+ const updated = {
100
+ ...plugins[idx],
101
+ config: processedConfig,
102
+ };
103
+ if (lastMigrationVersion === undefined) {
104
+ delete updated.configSchemaVersion;
105
+ }
106
+ else {
107
+ updated.configSchemaVersion = lastMigrationVersion;
108
+ }
109
+ plugins[idx] = updated;
110
+ }
111
+ });
112
+ }
113
+ const { warnings } = await validateAndSaveDraft(updatedDef, parserContext, session, projectDirectory);
49
114
  const action = isNew ? 'Enabled' : 'Updated configuration for';
50
115
  return {
51
116
  message: `${action} plugin "${pluginMetadata.displayName}". Use commit-draft to persist.`,
@@ -1 +1 @@
1
- {"version":3,"file":"configure-plugin.action.js","sourceRoot":"","sources":["../../../src/actions/definition/configure-plugin.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-plugin.action.js","sourceRoot":"","sources":["../../../src/actions/definition/configure-plugin.action.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"disable-plugin.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/disable-plugin.action.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;kBAiD9B,CAAC"}
1
+ {"version":3,"file":"disable-plugin.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/disable-plugin.action.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;kBAyE9B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PluginUtils, ProjectDefinitionContainer, serializeSchema, } from '@baseplate-dev/project-builder-lib';
1
+ import { createDefinitionSchemaParserContext, createPluginSpecStore, createProjectDefinitionSchema, findOrphanedUnionItems, PluginUtils, ProjectDefinitionContainer, serializeSchema, } from '@baseplate-dev/project-builder-lib';
2
2
  import { produce } from 'immer';
3
3
  import { z } from 'zod';
4
4
  import { createServiceAction } from '#src/actions/types.js';
@@ -35,6 +35,19 @@ export const disablePluginAction = createServiceAction({
35
35
  })(container.definition);
36
36
  // Serialize back to name-based format
37
37
  const serializedDef = serializeSchema(container.schema, newDefinition);
38
+ // Detect orphaned discriminated union items before parsing.
39
+ // When a plugin is disabled, its types are removed from the schema.
40
+ // Items referencing those types would cause parse failures, so we
41
+ // detect and report them as errors before proceeding.
42
+ const pluginStore = createPluginSpecStore(parserContext.pluginStore, serializedDef);
43
+ const defSchema = createProjectDefinitionSchema(createDefinitionSchemaParserContext({ plugins: pluginStore }));
44
+ const orphanedItems = findOrphanedUnionItems(defSchema, serializedDef);
45
+ if (orphanedItems.length > 0) {
46
+ const details = orphanedItems
47
+ .map((item) => `"${item.discriminatorValue}" (${item.discriminator}) at ${item.path.join('.')}`)
48
+ .join('; ');
49
+ throw new Error(`Cannot disable plugin "${input.pluginKey}": types still in use: ${details}`);
50
+ }
38
51
  const { warnings } = await validateAndSaveDraft(serializedDef, parserContext, session, projectDirectory);
39
52
  return {
40
53
  message: `Disabled plugin "${input.pluginKey}". Use commit-draft to persist.`,
@@ -1 +1 @@
1
- {"version":3,"file":"disable-plugin.action.js","sourceRoot":"","sources":["../../../src/actions/definition/disable-plugin.action.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC/D,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,qBAAqB,CAAC;SAC5B,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;IACrD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,kJAAkJ;IACpJ,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,yBAAyB;IACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAChD,MAAM,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,0BAA0B,CAAC,oBAAoB,CAC/D,OAAO,CAAC,eAAe,EACvB,aAAa,CACd,CAAC;QAEF,yCAAyC;QACzC,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CACtC,SAAS,CAAC,UAAU,EACpB,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,SAAS,6BAA6B,CAAC,CAAC;QAC3E,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,KAAwB,EAAE,EAAE;YACzD,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEzB,sCAAsC;QACtC,MAAM,aAAa,GAAG,eAAe,CACnC,SAAS,CAAC,MAAM,EAChB,aAAa,CACa,CAAC;QAE7B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,oBAAoB,CAC7C,aAAa,EACb,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,oBAAoB,KAAK,CAAC,SAAS,iCAAiC;YAC7E,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;SACzE,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,oBAAoB;CACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"disable-plugin.action.js","sourceRoot":"","sources":["../../../src/actions/definition/disable-plugin.action.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { EntityServiceContext, SchemaParserContext } from '@baseplate-dev/project-builder-lib';
2
+ import type { ResolvedZodRefPayload } from '@baseplate-dev/project-builder-lib';
2
3
  import { z } from 'zod';
3
4
  import type { ServiceActionContext } from '#src/actions/types.js';
4
5
  declare const draftSessionMetadataSchema: z.ZodObject<{
@@ -23,6 +24,8 @@ export declare function deleteDraftSession(projectDirectory: string): Promise<vo
23
24
  export interface DraftSessionContext {
24
25
  session: DraftSession;
25
26
  entityContext: EntityServiceContext;
27
+ /** Ref payload from the current draft (before the pending edit), used for rename detection. */
28
+ oldRefPayload: ResolvedZodRefPayload<unknown>;
26
29
  parserContext: SchemaParserContext;
27
30
  projectDirectory: string;
28
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"draft-session.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/draft-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,QAAA,MAAM,0BAA0B;;;iBAK9B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,oBAAoB;IACxD,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAkBD,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiB9B;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAiE9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAKjB"}
1
+ {"version":3,"file":"draft-session.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/draft-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAOhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,QAAA,MAAM,0BAA0B;;;iBAK9B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,oBAAoB;IACxD,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAkBD,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiB9B;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,oBAAoB,CAAC;IACpC,+FAA+F;IAC/F,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAmE9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAKjB"}
@@ -86,6 +86,7 @@ export async function getOrCreateDraftSession(projectNameOrId, context) {
86
86
  return {
87
87
  session: existingDraft,
88
88
  entityContext,
89
+ oldRefPayload: draftContainer.refPayload,
89
90
  parserContext,
90
91
  projectDirectory: project.directory,
91
92
  };
@@ -101,6 +102,7 @@ export async function getOrCreateDraftSession(projectNameOrId, context) {
101
102
  return {
102
103
  session,
103
104
  entityContext,
105
+ oldRefPayload: container.refPayload,
104
106
  parserContext,
105
107
  projectDirectory: project.directory,
106
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"draft-session.js","sourceRoot":"","sources":["../../../src/actions/definition/draft-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-session.js","sourceRoot":"","sources":["../../../src/actions/definition/draft-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';
2
+ /**
3
+ * Finds a plugin by its key, throwing an error with available plugins if not found.
4
+ */
5
+ export declare function findPluginByKey(plugins: PluginMetadataWithPaths[], pluginKey: string): PluginMetadataWithPaths;
6
+ //# sourceMappingURL=find-plugin-by-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-plugin-by-key.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/find-plugin-by-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAElF;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,uBAAuB,EAAE,EAClC,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAYzB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Finds a plugin by its key, throwing an error with available plugins if not found.
3
+ */
4
+ export function findPluginByKey(plugins, pluginKey) {
5
+ const plugin = plugins.find((p) => p.key === pluginKey);
6
+ if (!plugin) {
7
+ const available = plugins
8
+ .filter((p) => !p.hidden)
9
+ .map((p) => p.key)
10
+ .join(', ');
11
+ throw new Error(`Plugin "${pluginKey}" not found. Available plugins: ${available}`);
12
+ }
13
+ return plugin;
14
+ }
15
+ //# sourceMappingURL=find-plugin-by-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-plugin-by-key.js","sourceRoot":"","sources":["../../../src/actions/definition/find-plugin-by-key.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAkC,EAClC,SAAiB;IAEjB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,OAAO;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;aACjB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,mCAAmC,SAAS,EAAE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-entity-schema.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/get-entity-schema.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,qBAAqB;;;;;;;kBAmChC,CAAC"}
1
+ {"version":3,"file":"get-entity-schema.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/get-entity-schema.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,qBAAqB;;;;;;;kBA+BhC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { createAuxiliaryTypeStore, printNode, zodToTs } from 'zod-to-ts';
3
2
  import { createServiceAction } from '#src/actions/types.js';
4
3
  import { loadEntityServiceContext } from './load-entity-service-context.js';
4
+ import { schemaToTypeString } from './schema-to-type-string.js';
5
5
  const getEntitySchemaInputSchema = z.object({
6
6
  project: z.string().describe('The name or ID of the project.'),
7
7
  entityTypeName: z
@@ -33,11 +33,7 @@ export const getEntitySchemaAction = createServiceAction({
33
33
  if (!metadata) {
34
34
  throw new Error(`Unknown entity type: "${input.entityTypeName}". Use list-entities with entityTypeName "*" to discover available types.`);
35
35
  }
36
- const { node } = zodToTs(metadata.elementSchema, {
37
- auxiliaryTypeStore: createAuxiliaryTypeStore(),
38
- unrepresentable: 'any',
39
- });
40
- const schemaText = printNode(node);
36
+ const schemaText = schemaToTypeString(metadata.elementSchema);
41
37
  return {
42
38
  entityTypeName: input.entityTypeName,
43
39
  parentEntityTypeName: metadata.parentEntityTypeName ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"get-entity-schema.action.js","sourceRoot":"","sources":["../../../src/actions/definition/get-entity-schema.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9D,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,CACP,yFAAyF,CAC1F;CACJ,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC5D,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;IACvD,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,oIAAoI;IACtI,WAAW,EAAE,0BAA0B;IACvC,YAAY,EAAE,2BAA2B;IACzC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CACtD,KAAK,CAAC,OAAO,EACb,OAAO,CACR,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,CAAC,cAAc,2EAA2E,CACzH,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC/C,kBAAkB,EAAE,wBAAwB,EAAE;YAC9C,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEnC,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,IAAI,IAAI;YAC3D,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"get-entity-schema.action.js","sourceRoot":"","sources":["../../../src/actions/definition/get-entity-schema.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9D,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,CACP,yFAAyF,CAC1F;CACJ,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC5D,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;IACvD,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,oIAAoI;IACtI,WAAW,EAAE,0BAA0B;IACvC,YAAY,EAAE,2BAA2B;IACzC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CACtD,KAAK,CAAC,OAAO,EACb,OAAO,CACR,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,CAAC,cAAc,2EAA2E,CACzH,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE9D,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,IAAI,IAAI;YAC3D,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ export declare const getPluginInfoAction: import("#src/actions/types.js").ServiceAction<z.ZodObject<{
3
+ project: z.ZodString;
4
+ pluginKey: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ key: z.ZodString;
7
+ name: z.ZodString;
8
+ displayName: z.ZodString;
9
+ description: z.ZodString;
10
+ packageName: z.ZodString;
11
+ version: z.ZodString;
12
+ enabled: z.ZodBoolean;
13
+ managedBy: z.ZodOptional<z.ZodString>;
14
+ pluginDependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
+ plugin: z.ZodString;
16
+ optional: z.ZodOptional<z.ZodBoolean>;
17
+ }, z.core.$strip>>>;
18
+ configSchema: z.ZodNullable<z.ZodString>;
19
+ currentConfig: z.ZodNullable<z.ZodUnknown>;
20
+ }, z.core.$strip>>;
21
+ //# sourceMappingURL=get-plugin-info.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-plugin-info.action.d.ts","sourceRoot":"","sources":["../../../src/actions/definition/get-plugin-info.action.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqDxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;kBA4F9B,CAAC"}