@stripe/extensibility-dev-tools 0.23.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 (253) hide show
  1. package/LICENSE.md +19 -0
  2. package/dist/bin/build-custom-object-definitions.cjs +2111 -0
  3. package/dist/bin/build-custom-object-definitions.d.ts +11 -0
  4. package/dist/bin/build-custom-object-definitions.d.ts.map +1 -0
  5. package/dist/bin/build-custom-object-definitions.js +2088 -0
  6. package/dist/bin/create-upload-image.cjs +2136 -0
  7. package/dist/bin/create-upload-image.d.ts +17 -0
  8. package/dist/bin/create-upload-image.d.ts.map +1 -0
  9. package/dist/bin/create-upload-image.js +2113 -0
  10. package/dist/bin/dev-tools-rpc.cjs +3874 -0
  11. package/dist/bin/dev-tools-rpc.d.ts +3 -0
  12. package/dist/bin/dev-tools-rpc.d.ts.map +1 -0
  13. package/dist/bin/dev-tools-rpc.js +3864 -0
  14. package/dist/bin/gen-schemas.cjs +20739 -0
  15. package/dist/bin/gen-schemas.d.ts +8 -0
  16. package/dist/bin/gen-schemas.d.ts.map +1 -0
  17. package/dist/bin/gen-schemas.js +20715 -0
  18. package/dist/bin/gen-workspace.cjs +3847 -0
  19. package/dist/bin/gen-workspace.d.ts +8 -0
  20. package/dist/bin/gen-workspace.d.ts.map +1 -0
  21. package/dist/bin/gen-workspace.js +3841 -0
  22. package/dist/bin/manifest.cjs +686 -0
  23. package/dist/bin/manifest.d.ts +10 -0
  24. package/dist/bin/manifest.d.ts.map +1 -0
  25. package/dist/bin/manifest.js +663 -0
  26. package/dist/bin/rpc/dispatch.d.ts +10 -0
  27. package/dist/bin/rpc/dispatch.d.ts.map +1 -0
  28. package/dist/bin/rpc/handlers.d.ts +4 -0
  29. package/dist/bin/rpc/handlers.d.ts.map +1 -0
  30. package/dist/bin/rpc/types.d.ts +29 -0
  31. package/dist/bin/rpc/types.d.ts.map +1 -0
  32. package/dist/bin/template-info.cjs +1511 -0
  33. package/dist/bin/template-info.d.ts +9 -0
  34. package/dist/bin/template-info.d.ts.map +1 -0
  35. package/dist/bin/template-info.js +1488 -0
  36. package/dist/custom-objects/build-definitions.d.ts +98 -0
  37. package/dist/custom-objects/build-definitions.d.ts.map +1 -0
  38. package/dist/custom-objects/generated/proto/custom_objects/pub/api/app_api/object_definitions_app_service.pb.d.ts +191 -0
  39. package/dist/custom-objects/generated/proto/custom_objects/pub/api/app_api/object_definitions_app_service.pb.d.ts.map +1 -0
  40. package/dist/custom-objects/generated/proto/custom_objects/pub/api/common/schema.pb.d.ts +131 -0
  41. package/dist/custom-objects/generated/proto/custom_objects/pub/api/common/schema.pb.d.ts.map +1 -0
  42. package/dist/custom-objects/generated/proto/google/protobuf/descriptor.pb.d.ts +1482 -0
  43. package/dist/custom-objects/generated/proto/google/protobuf/descriptor.pb.d.ts.map +1 -0
  44. package/dist/custom-objects/generated/proto/google/protobuf/timestamp.pb.d.ts +167 -0
  45. package/dist/custom-objects/generated/proto/google/protobuf/timestamp.pb.d.ts.map +1 -0
  46. package/dist/custom-objects/generated/proto/proto/annotations.pb.d.ts +64 -0
  47. package/dist/custom-objects/generated/proto/proto/annotations.pb.d.ts.map +1 -0
  48. package/dist/custom-objects/generated/proto/proto/extensions.pb.d.ts +657 -0
  49. package/dist/custom-objects/generated/proto/proto/extensions.pb.d.ts.map +1 -0
  50. package/dist/custom-objects/generated/proto/vendor/metadata/pub/api/api_metadata.pb.d.ts +105 -0
  51. package/dist/custom-objects/generated/proto/vendor/metadata/pub/api/api_metadata.pb.d.ts.map +1 -0
  52. package/dist/custom-objects/generated/proto/vendor/net/idempotency/idempotency_model.pb.d.ts +79 -0
  53. package/dist/custom-objects/generated/proto/vendor/net/idempotency/idempotency_model.pb.d.ts.map +1 -0
  54. package/dist/custom-objects/generated/proto/vendor/publicapi/api_group_enum.pb.d.ts +129 -0
  55. package/dist/custom-objects/generated/proto/vendor/publicapi/api_group_enum.pb.d.ts.map +1 -0
  56. package/dist/custom-objects/generated/proto/vendor/publicapi/api_visibility.pb.d.ts +76 -0
  57. package/dist/custom-objects/generated/proto/vendor/publicapi/api_visibility.pb.d.ts.map +1 -0
  58. package/dist/custom-objects/generated/proto/vendor/publicapi/customize_dispatch_middleware_enum.pb.d.ts +78 -0
  59. package/dist/custom-objects/generated/proto/vendor/publicapi/customize_dispatch_middleware_enum.pb.d.ts.map +1 -0
  60. package/dist/custom-objects/generated/proto/vendor/publicapi/docs_namespace_group_enum.pb.d.ts +146 -0
  61. package/dist/custom-objects/generated/proto/vendor/publicapi/docs_namespace_group_enum.pb.d.ts.map +1 -0
  62. package/dist/custom-objects/generated/proto/vendor/publicapi/documented_enum.pb.d.ts +76 -0
  63. package/dist/custom-objects/generated/proto/vendor/publicapi/documented_enum.pb.d.ts.map +1 -0
  64. package/dist/custom-objects/generated/proto/vendor/publicapi/event_scope_enum.pb.d.ts +92 -0
  65. package/dist/custom-objects/generated/proto/vendor/publicapi/event_scope_enum.pb.d.ts.map +1 -0
  66. package/dist/custom-objects/generated/proto/vendor/publicapi/extension_interface.pb.d.ts +124 -0
  67. package/dist/custom-objects/generated/proto/vendor/publicapi/extension_interface.pb.d.ts.map +1 -0
  68. package/dist/custom-objects/generated/proto/vendor/publicapi/feature_enum.pb.d.ts +1070 -0
  69. package/dist/custom-objects/generated/proto/vendor/publicapi/feature_enum.pb.d.ts.map +1 -0
  70. package/dist/custom-objects/generated/proto/vendor/publicapi/field_validation_rules.pb.d.ts +279 -0
  71. package/dist/custom-objects/generated/proto/vendor/publicapi/field_validation_rules.pb.d.ts.map +1 -0
  72. package/dist/custom-objects/generated/proto/vendor/publicapi/flavor_enum.pb.d.ts +78 -0
  73. package/dist/custom-objects/generated/proto/vendor/publicapi/flavor_enum.pb.d.ts.map +1 -0
  74. package/dist/custom-objects/generated/proto/vendor/publicapi/http_error_status.pb.d.ts +102 -0
  75. package/dist/custom-objects/generated/proto/vendor/publicapi/http_error_status.pb.d.ts.map +1 -0
  76. package/dist/custom-objects/generated/proto/vendor/publicapi/method_kind_enum.pb.d.ts +86 -0
  77. package/dist/custom-objects/generated/proto/vendor/publicapi/method_kind_enum.pb.d.ts.map +1 -0
  78. package/dist/custom-objects/generated/proto/vendor/publicapi/method_priority.pb.d.ts +80 -0
  79. package/dist/custom-objects/generated/proto/vendor/publicapi/method_priority.pb.d.ts.map +1 -0
  80. package/dist/custom-objects/generated/proto/vendor/publicapi/permission_check_enum.pb.d.ts +74 -0
  81. package/dist/custom-objects/generated/proto/vendor/publicapi/permission_check_enum.pb.d.ts.map +1 -0
  82. package/dist/custom-objects/generated/proto/vendor/publicapi/redaction_enum.pb.d.ts +76 -0
  83. package/dist/custom-objects/generated/proto/vendor/publicapi/redaction_enum.pb.d.ts.map +1 -0
  84. package/dist/custom-objects/generated/proto/vendor/publicapi/region_routers.pb.d.ts +103 -0
  85. package/dist/custom-objects/generated/proto/vendor/publicapi/region_routers.pb.d.ts.map +1 -0
  86. package/dist/custom-objects/generated/proto/vendor/publicapi/rollout_configs.pb.d.ts +153 -0
  87. package/dist/custom-objects/generated/proto/vendor/publicapi/rollout_configs.pb.d.ts.map +1 -0
  88. package/dist/custom-objects/generated/proto/vendor/publicapi/v2ext.pb.d.ts +1111 -0
  89. package/dist/custom-objects/generated/proto/vendor/publicapi/v2ext.pb.d.ts.map +1 -0
  90. package/dist/custom-objects/generated/proto/vendor/vext/annotations.pb.d.ts +602 -0
  91. package/dist/custom-objects/generated/proto/vendor/vext/annotations.pb.d.ts.map +1 -0
  92. package/dist/custom-objects/generated/proto/vendor/vext/extensions.pb.d.ts +144 -0
  93. package/dist/custom-objects/generated/proto/vendor/vext/extensions.pb.d.ts.map +1 -0
  94. package/dist/custom-objects/generated/proto/vendor/vext/privacy_unified_annotations.pb.d.ts +851 -0
  95. package/dist/custom-objects/generated/proto/vendor/vext/privacy_unified_annotations.pb.d.ts.map +1 -0
  96. package/dist/custom-objects/generated/proto/vendor/vext/xml_annotations.pb.d.ts +125 -0
  97. package/dist/custom-objects/generated/proto/vendor/vext/xml_annotations.pb.d.ts.map +1 -0
  98. package/dist/custom-objects/to-proto-json.d.ts +17 -0
  99. package/dist/custom-objects/to-proto-json.d.ts.map +1 -0
  100. package/dist/dependencies/index.cjs +601 -0
  101. package/dist/dependencies/index.d.ts +320 -0
  102. package/dist/dependencies/index.d.ts.map +1 -0
  103. package/dist/dependencies/index.js +560 -0
  104. package/dist/extensibility-dev-tools-alpha.d.ts +199 -0
  105. package/dist/extensibility-dev-tools-beta.d.ts +199 -0
  106. package/dist/extensibility-dev-tools-dependencies-alpha.d.ts +51 -0
  107. package/dist/extensibility-dev-tools-dependencies-beta.d.ts +51 -0
  108. package/dist/extensibility-dev-tools-dependencies-internal.d.ts +372 -0
  109. package/dist/extensibility-dev-tools-dependencies-public.d.ts +51 -0
  110. package/dist/extensibility-dev-tools-internal.d.ts +1722 -0
  111. package/dist/extensibility-dev-tools-jsonschema-tools-alpha.d.ts +57 -0
  112. package/dist/extensibility-dev-tools-jsonschema-tools-beta.d.ts +57 -0
  113. package/dist/extensibility-dev-tools-jsonschema-tools-internal.d.ts +123 -0
  114. package/dist/extensibility-dev-tools-jsonschema-tools-public.d.ts +57 -0
  115. package/dist/extensibility-dev-tools-manifest-alpha.d.ts +31 -0
  116. package/dist/extensibility-dev-tools-manifest-beta.d.ts +31 -0
  117. package/dist/extensibility-dev-tools-manifest-internal.d.ts +461 -0
  118. package/dist/extensibility-dev-tools-manifest-public.d.ts +31 -0
  119. package/dist/extensibility-dev-tools-public.d.ts +199 -0
  120. package/dist/extensibility-dev-tools-schemas-alpha.d.ts +9 -0
  121. package/dist/extensibility-dev-tools-schemas-beta.d.ts +9 -0
  122. package/dist/extensibility-dev-tools-schemas-internal.d.ts +41 -0
  123. package/dist/extensibility-dev-tools-schemas-public.d.ts +9 -0
  124. package/dist/extensibility-dev-tools-templates-alpha.d.ts +67 -0
  125. package/dist/extensibility-dev-tools-templates-beta.d.ts +67 -0
  126. package/dist/extensibility-dev-tools-templates-internal.d.ts +554 -0
  127. package/dist/extensibility-dev-tools-templates-public.d.ts +67 -0
  128. package/dist/extensibility-dev-tools-workspace-alpha.d.ts +51 -0
  129. package/dist/extensibility-dev-tools-workspace-beta.d.ts +51 -0
  130. package/dist/extensibility-dev-tools-workspace-internal.d.ts +410 -0
  131. package/dist/extensibility-dev-tools-workspace-public.d.ts +51 -0
  132. package/dist/index.cjs +3810 -0
  133. package/dist/index.d.ts +18 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/dist/index.js +3758 -0
  136. package/dist/jsonschema-tools.cjs +20451 -0
  137. package/dist/jsonschema-tools.d.ts +98 -0
  138. package/dist/jsonschema-tools.d.ts.map +1 -0
  139. package/dist/jsonschema-tools.js +20404 -0
  140. package/dist/manifest/index.cjs +610 -0
  141. package/dist/manifest/index.d.ts +8 -0
  142. package/dist/manifest/index.d.ts.map +1 -0
  143. package/dist/manifest/index.js +571 -0
  144. package/dist/manifest/manifest-v1.d.ts +102 -0
  145. package/dist/manifest/manifest-v1.d.ts.map +1 -0
  146. package/dist/manifest/manifest-v2.d.ts +253 -0
  147. package/dist/manifest/manifest-v2.d.ts.map +1 -0
  148. package/dist/manifest/stripe-app-manifest.d.ts +114 -0
  149. package/dist/manifest/stripe-app-manifest.d.ts.map +1 -0
  150. package/dist/schemas/index.cjs +20692 -0
  151. package/dist/schemas/index.d.ts +37 -0
  152. package/dist/schemas/index.d.ts.map +1 -0
  153. package/dist/schemas/index.js +20656 -0
  154. package/dist/templates/diff-viewer/diff-generator.d.ts +22 -0
  155. package/dist/templates/diff-viewer/diff-generator.d.ts.map +1 -0
  156. package/dist/templates/diff-viewer/diff-prompt.d.ts +13 -0
  157. package/dist/templates/diff-viewer/diff-prompt.d.ts.map +1 -0
  158. package/dist/templates/diff-viewer/index.d.ts +7 -0
  159. package/dist/templates/diff-viewer/index.d.ts.map +1 -0
  160. package/dist/templates/diff-viewer/terminal-renderer.d.ts +29 -0
  161. package/dist/templates/diff-viewer/terminal-renderer.d.ts.map +1 -0
  162. package/dist/templates/diff-viewer/types.d.ts +58 -0
  163. package/dist/templates/diff-viewer/types.d.ts.map +1 -0
  164. package/dist/templates/extensions/base.d.ts +23 -0
  165. package/dist/templates/extensions/base.d.ts.map +1 -0
  166. package/dist/templates/extensions/billing.bill.discount_calculation.d.ts +6 -0
  167. package/dist/templates/extensions/billing.bill.discount_calculation.d.ts.map +1 -0
  168. package/dist/templates/extensions/billing.customer_balance_application.d.ts +6 -0
  169. package/dist/templates/extensions/billing.customer_balance_application.d.ts.map +1 -0
  170. package/dist/templates/extensions/billing.invoice_collection_setting.d.ts +6 -0
  171. package/dist/templates/extensions/billing.invoice_collection_setting.d.ts.map +1 -0
  172. package/dist/templates/extensions/billing.prorations.d.ts +6 -0
  173. package/dist/templates/extensions/billing.prorations.d.ts.map +1 -0
  174. package/dist/templates/extensions/billing.recurring_billing_item_handling.d.ts +6 -0
  175. package/dist/templates/extensions/billing.recurring_billing_item_handling.d.ts.map +1 -0
  176. package/dist/templates/extensions/core.workflows.custom_action.d.ts +6 -0
  177. package/dist/templates/extensions/core.workflows.custom_action.d.ts.map +1 -0
  178. package/dist/templates/extensions/extend.objects.custom_objects.d.ts +6 -0
  179. package/dist/templates/extensions/extend.objects.custom_objects.d.ts.map +1 -0
  180. package/dist/templates/extensions/extend.workflows.custom_action.d.ts +6 -0
  181. package/dist/templates/extensions/extend.workflows.custom_action.d.ts.map +1 -0
  182. package/dist/templates/extensions/index.d.ts +13 -0
  183. package/dist/templates/extensions/index.d.ts.map +1 -0
  184. package/dist/templates/extensions/registry.d.ts +10 -0
  185. package/dist/templates/extensions/registry.d.ts.map +1 -0
  186. package/dist/templates/extensions/types.d.ts +104 -0
  187. package/dist/templates/extensions/types.d.ts.map +1 -0
  188. package/dist/templates/file-writer.d.ts +140 -0
  189. package/dist/templates/file-writer.d.ts.map +1 -0
  190. package/dist/templates/fs/_impl.d.ts +29 -0
  191. package/dist/templates/fs/_impl.d.ts.map +1 -0
  192. package/dist/templates/fs/filesystem.d.ts +8 -0
  193. package/dist/templates/fs/filesystem.d.ts.map +1 -0
  194. package/dist/templates/fs/in-memory.d.ts +9 -0
  195. package/dist/templates/fs/in-memory.d.ts.map +1 -0
  196. package/dist/templates/fs/index.d.ts +25 -0
  197. package/dist/templates/fs/index.d.ts.map +1 -0
  198. package/dist/templates/fs-utils.d.ts +17 -0
  199. package/dist/templates/fs-utils.d.ts.map +1 -0
  200. package/dist/templates/index.cjs +2248 -0
  201. package/dist/templates/index.d.ts +32 -0
  202. package/dist/templates/index.d.ts.map +1 -0
  203. package/dist/templates/index.js +2203 -0
  204. package/dist/templates/root/index.d.ts +60 -0
  205. package/dist/templates/root/index.d.ts.map +1 -0
  206. package/dist/templates/simple-templates.d.ts +8 -0
  207. package/dist/templates/simple-templates.d.ts.map +1 -0
  208. package/dist/templates/template-manager.d.ts +8 -0
  209. package/dist/templates/template-manager.d.ts.map +1 -0
  210. package/dist/templates/types.d.ts +9 -0
  211. package/dist/templates/types.d.ts.map +1 -0
  212. package/dist/tsconfig.build.tsbuildinfo +1 -0
  213. package/dist/workspace/index.cjs +3756 -0
  214. package/dist/workspace/index.d.ts +336 -0
  215. package/dist/workspace/index.d.ts.map +1 -0
  216. package/dist/workspace/index.js +3731 -0
  217. package/package.json +137 -0
  218. package/templates/extensions/billing.bill.discount_calculation/index.test.ts +15 -0
  219. package/templates/extensions/billing.bill.discount_calculation/index.ts +20 -0
  220. package/templates/extensions/billing.customer_balance_application/index.test.ts +15 -0
  221. package/templates/extensions/billing.customer_balance_application/index.ts +18 -0
  222. package/templates/extensions/billing.invoice_collection_setting/index.test.ts +15 -0
  223. package/templates/extensions/billing.invoice_collection_setting/index.ts +16 -0
  224. package/templates/extensions/billing.prorations/index.test.ts +15 -0
  225. package/templates/extensions/billing.prorations/index.ts +18 -0
  226. package/templates/extensions/billing.recurring_billing_item_handling/index.test.ts +15 -0
  227. package/templates/extensions/billing.recurring_billing_item_handling/index.ts +42 -0
  228. package/templates/extensions/common/.prettierignore +3 -0
  229. package/templates/extensions/common/eslint.config.mts.mustache +95 -0
  230. package/templates/extensions/common/package.json.mustache +26 -0
  231. package/templates/extensions/common/tsconfig.build.json.mustache +15 -0
  232. package/templates/extensions/common/tsconfig.json.mustache +16 -0
  233. package/templates/extensions/core.workflows.custom_action/custom_input.schema.json +6 -0
  234. package/templates/extensions/core.workflows.custom_action/index.test.ts +15 -0
  235. package/templates/extensions/core.workflows.custom_action/index.ts +31 -0
  236. package/templates/extensions/extend.workflows.custom_action/custom_input.schema.json +6 -0
  237. package/templates/extensions/extend.workflows.custom_action/index.test.ts +15 -0
  238. package/templates/extensions/extend.workflows.custom_action/index.ts +31 -0
  239. package/templates/root/.husky/pre-commit +1 -0
  240. package/templates/root/.prettierignore +5 -0
  241. package/templates/root/.prettierrc +7 -0
  242. package/templates/root/_gitignore +28 -0
  243. package/templates/root/custom-objects/package.json +20 -0
  244. package/templates/root/custom-objects/tsconfig.json +9 -0
  245. package/templates/root/eslint.config.mts +95 -0
  246. package/templates/root/package.json.mustache +32 -0
  247. package/templates/root/pnpm-workspace.yaml +7 -0
  248. package/templates/root/stripe-app.yaml.mustache +6 -0
  249. package/templates/root/tools/test.mts +38 -0
  250. package/templates/root/tsconfig.base.json +23 -0
  251. package/templates/root/tsconfig.json +15 -0
  252. package/templates/root/ui/package.json +17 -0
  253. package/templates/root/vitest.config.mts +47 -0
@@ -0,0 +1,336 @@
1
+ /**
2
+ * Workspace regeneration API
3
+ *
4
+ * Regenerates extension or root workspace files from templates.
5
+ *
6
+ * @deprecated NOT FOR EXTERNAL USE. This subpath is Stripe-internal and will be removed in a future release. External consumers must not depend on it.
7
+ * @internal
8
+ */
9
+ import { z } from 'zod';
10
+ import { type _CliContext } from '@stripe/extensibility-tool-utils';
11
+ import { type _EndpointDefinition } from '../manifest/index.js';
12
+ /**
13
+ * Package metadata (id, name, version)
14
+ * @internal - Exported for testing only
15
+ */
16
+ export interface _PackageMetadata {
17
+ /** The package identifier (from package.json `name`). */
18
+ id: string;
19
+ /** Human-readable display name (from package.json `description`). */
20
+ name: string;
21
+ /** Package version string (from package.json `version`). */
22
+ version: string;
23
+ }
24
+ /**
25
+ * Options for workspace regeneration
26
+ * @internal
27
+ */
28
+ export declare const _regenWorkspaceOptionsSchema: z.ZodObject<{
29
+ templateId: z.ZodOptional<z.ZodString>;
30
+ root: z.ZodOptional<z.ZodString>;
31
+ packageDir: z.ZodOptional<z.ZodString>;
32
+ workspaceId: z.ZodOptional<z.ZodString>;
33
+ workspaceName: z.ZodOptional<z.ZodString>;
34
+ skipDependencies: z.ZodOptional<z.ZodBoolean>;
35
+ skipHooks: z.ZodOptional<z.ZodBoolean>;
36
+ force: z.ZodOptional<z.ZodBoolean>;
37
+ name: z.ZodOptional<z.ZodString>;
38
+ implementationType: z.ZodOptional<z.ZodEnum<{
39
+ script: "script";
40
+ "remote-function": "remote-function";
41
+ }>>;
42
+ }, z.core.$strip>;
43
+ /**
44
+ * Options for regenerating a workspace from templates.
45
+ * @internal
46
+ */
47
+ export type _RegenWorkspaceOptions = z.infer<typeof _regenWorkspaceOptionsSchema>;
48
+ /**
49
+ * A file generated by a workspace template.
50
+ * @internal
51
+ */
52
+ export interface _WorkspaceGeneratedFile {
53
+ /** Path to the file, relative to the project root. */
54
+ path: string;
55
+ /** File content as a string. */
56
+ content: string;
57
+ /** If true, the file will never be overwritten even with `--force`. */
58
+ precious?: boolean;
59
+ }
60
+ /**
61
+ * A dependency required by a workspace: runtime npm, dev npm, or Stripe CLI plugin.
62
+ * @internal
63
+ */
64
+ export type _WorkspaceDependency = {
65
+ type: 'npm';
66
+ name: string;
67
+ version: string;
68
+ } | {
69
+ type: 'dev-npm';
70
+ name: string;
71
+ version: string;
72
+ } | {
73
+ type: 'stripe-cli-plugin';
74
+ name: string;
75
+ minVersion?: string;
76
+ };
77
+ /**
78
+ * A post-generation hook to run after files are written: either a pnpm script or a direct exec.
79
+ * @internal
80
+ */
81
+ export type _WorkspacePostGenerationHook = {
82
+ script: string;
83
+ description?: string;
84
+ } | {
85
+ exec: string;
86
+ description?: string;
87
+ };
88
+ /**
89
+ * Result returned by a workspace template generator.
90
+ * @internal
91
+ */
92
+ export interface _WorkspaceGenerateResult {
93
+ /** Files to write to disk. */
94
+ files: _WorkspaceGeneratedFile[];
95
+ /** Dependencies to install after file generation. */
96
+ dependencies?: {
97
+ runtime?: _WorkspaceDependency[];
98
+ dev?: _WorkspaceDependency[];
99
+ };
100
+ /** Hooks to run after dependencies are installed. */
101
+ postGenerationHooks?: _WorkspacePostGenerationHook[];
102
+ /** Methods configuration for the stripe-app.yaml extension entry. */
103
+ methods?: Record<string, unknown>;
104
+ }
105
+ /**
106
+ * Decision returned by an overwrite prompt callback when a file already exists.
107
+ * @internal
108
+ */
109
+ export type _WorkspaceOverwriteDecision = 'overwrite' | 'skip' | 'overwrite-all' | 'abort';
110
+ /**
111
+ * Callback invoked when a file to be written already exists, prompting for an overwrite decision.
112
+ * @internal
113
+ */
114
+ export type _WorkspaceOverwritePromptCallback = (path: string, cwd: string, newContent: string) => Promise<_WorkspaceOverwriteDecision>;
115
+ /**
116
+ * Controls how the file writer handles existing files.
117
+ * @internal
118
+ */
119
+ export type _WorkspaceWriteMode = 'overwrite-all' | 'abort-if-existing' | 'if-missing' | _WorkspaceOverwritePromptCallback;
120
+ /**
121
+ * Options for writing workspace generated files to disk.
122
+ * @internal
123
+ */
124
+ export interface _WorkspaceFileWriterOptions {
125
+ /** Working directory to resolve file paths against. */
126
+ cwd?: string;
127
+ /** Controls how existing files are handled. */
128
+ write?: _WorkspaceWriteMode;
129
+ /** Called after a file is written or overwritten. */
130
+ onFileWritten?: (file: _WorkspaceGeneratedFile, wasOverwrite: boolean) => void;
131
+ /** Called when a file is skipped due to the write mode. */
132
+ onFileSkipped?: (file: _WorkspaceGeneratedFile) => void;
133
+ /** Called when a file is identical to the existing one on disk. */
134
+ onFileIdentical?: (file: _WorkspaceGeneratedFile) => void;
135
+ }
136
+ /**
137
+ * Result of writing workspace files to disk.
138
+ * @internal
139
+ */
140
+ export interface _WorkspaceFileWriteResult {
141
+ /** Paths of files that were written or overwritten. */
142
+ written: string[];
143
+ /** Paths of files that already existed and were not overwritten. */
144
+ existing: string[];
145
+ /** Whether all remaining files were skipped. */
146
+ skipped: boolean;
147
+ /** Whether the write operation was aborted by the user. */
148
+ aborted: boolean;
149
+ }
150
+ /**
151
+ * A pending dependency change in the workspace dependency manager.
152
+ * @internal
153
+ */
154
+ export interface _WorkspacePendingChange {
155
+ /** The dependency this change applies to. */
156
+ dependency: _WorkspaceDependency;
157
+ /** The action that will be taken. */
158
+ action: 'add' | 'update' | 'already-satisfied' | 'conflict';
159
+ }
160
+ /**
161
+ * Interface for managing workspace dependency installation.
162
+ * @internal
163
+ */
164
+ export interface _WorkspaceDependencyManager {
165
+ /** Analyze and queue the given dependencies for installation. */
166
+ ensureDependencies(input: {
167
+ required: _WorkspaceDependency[];
168
+ optional?: _WorkspaceDependency[];
169
+ }): Promise<_WorkspacePendingChange[]>;
170
+ /** Mark a conflicting dependency as resolved so it will be force-installed. */
171
+ resolveConflict(dep: _WorkspaceDependency): void;
172
+ /** Apply all queued dependency changes. */
173
+ commit(): Promise<unknown>;
174
+ }
175
+ /**
176
+ * Extension configuration used by the workspace manifest interface.
177
+ * @internal
178
+ */
179
+ export interface _WorkspaceExtensionConfig {
180
+ /** Extension identifier. */
181
+ id: string;
182
+ /** Human-readable extension name. */
183
+ name: string;
184
+ /** Extension interface ID. */
185
+ interface_id: string;
186
+ /** Extension version string. */
187
+ version: string;
188
+ /** Legacy entry point script path. */
189
+ script_entry_point?: string;
190
+ /** Inline script definition. */
191
+ script?: {
192
+ type: string;
193
+ content: string;
194
+ };
195
+ /** Required permissions for the extension. */
196
+ permissions: string[];
197
+ /** Method implementations keyed by method name. */
198
+ methods: Record<string, unknown>;
199
+ /** Optional configuration schemas. */
200
+ configuration?: {
201
+ input_schema: {
202
+ type: 'json_schema' | 'jsonforms';
203
+ content: string;
204
+ };
205
+ ui_schema: {
206
+ type: 'json_schema' | 'jsonforms';
207
+ content: string;
208
+ };
209
+ };
210
+ /** Remote function endpoints. */
211
+ endpoints?: {
212
+ id: string;
213
+ type: 'remote_function' | 'custom_http';
214
+ live?: _EndpointDefinition;
215
+ managed_sandbox?: _EndpointDefinition;
216
+ test?: _EndpointDefinition;
217
+ }[];
218
+ }
219
+ /**
220
+ * Interface for reading and writing the stripe-app.yaml manifest.
221
+ * @internal
222
+ */
223
+ export interface _WorkspaceManifest {
224
+ /** Add a new extension or replace an existing one by ID; returns the extension ID. */
225
+ addOrUpdateExtension(config: _WorkspaceExtensionConfig): string;
226
+ /** Get a read-only view of all registered extensions. */
227
+ getExtensions(): readonly Readonly<_WorkspaceExtensionConfig>[];
228
+ /** Check whether a custom object entry is already registered in the manifest. */
229
+ hasCustomObject(entry: {
230
+ filePath: string;
231
+ className: string;
232
+ }): boolean;
233
+ /** Add a custom object entry to the manifest; returns true if added, false if already present. */
234
+ addCustomObject(entry: {
235
+ filePath: string;
236
+ className: string;
237
+ }): boolean;
238
+ /** Persist the manifest to disk. */
239
+ save(): Promise<void>;
240
+ }
241
+ /**
242
+ * Injectable collaborators for _regenAppProjectWorkspace.
243
+ * Defaults to real implementations; override individual fields for testing.
244
+ * @internal
245
+ */
246
+ export interface _WorkspaceServices {
247
+ /** Generate root workspace files from template variables. */
248
+ generateRoot: (vars: {
249
+ appId: string;
250
+ appName: string;
251
+ version: string;
252
+ }) => Promise<_WorkspaceGenerateResult>;
253
+ /** Generate extension workspace files for the given template key and variables. */
254
+ generateExtension: (key: string, vars: {
255
+ id: string;
256
+ name: string;
257
+ version: string;
258
+ }) => Promise<_WorkspaceGenerateResult>;
259
+ /** Write generated files to disk with the given options. */
260
+ writeFiles: (files: _WorkspaceGeneratedFile[], options?: _WorkspaceFileWriterOptions) => Promise<_WorkspaceFileWriteResult>;
261
+ /** Create a dependency manager scoped to the given working directory. */
262
+ createDepManager: (opts: {
263
+ cwd: string;
264
+ context?: _CliContext;
265
+ }) => _WorkspaceDependencyManager;
266
+ /** Generate custom object files (definition and test) from a name. */
267
+ generateCustomObject: (vars: {
268
+ name: string;
269
+ }) => Promise<_WorkspaceGenerateResult>;
270
+ /** Generate the custom-objects workspace scaffolding (package.json, tsconfig.json). */
271
+ generateCustomObjectsWorkspace: (vars: {
272
+ packagesSubfolder?: string;
273
+ }) => Promise<_WorkspaceGenerateResult>;
274
+ /** Load the stripe-app.yaml manifest from the given path. */
275
+ loadManifest: (manifestPath: string) => Promise<_WorkspaceManifest>;
276
+ /** Run post-generation hooks in the given working directory. */
277
+ runHooks: (hooks: _WorkspacePostGenerationHook[] | undefined, workingDir: string, disabled?: boolean, context?: _CliContext) => Promise<void>;
278
+ }
279
+ /**
280
+ * Resolve package ID, name, and version from options or package.json
281
+ *
282
+ * @param providedId - ID from options
283
+ * @param providedName - Name from options (overrides package.json)
284
+ * @param packageDir - Directory containing package.json, or undefined to skip reading
285
+ * @returns Object with id, name, and version
286
+ * @throws Error if ID cannot be determined, or if both providedId and package.json ID
287
+ * exist and differ
288
+ * @internal - Exported for testing only
289
+ */
290
+ export declare function _resolvePackageMetadata(providedId: string | undefined, providedName: string | undefined, packageDir: string | undefined): Promise<_PackageMetadata>;
291
+ /**
292
+ * Default workspace services using real filesystem and dependency implementations.
293
+ * @internal
294
+ */
295
+ export declare const _defaultServices: _WorkspaceServices;
296
+ /**
297
+ * Regenerate workspace files from templates
298
+ *
299
+ * @param options - Regeneration options
300
+ * @param services - Injectable collaborators (defaults to real implementations)
301
+ * @param context - CLI context for user-facing output. Defaults to a new context with standard stdout/stderr streams.
302
+ *
303
+ * @example
304
+ * ```typescript
305
+ * // Regenerate root workspace (scenario 1)
306
+ * await regenAppProjectWorkspace({ packageDir: '.' });
307
+ *
308
+ * // Create new extension (scenario 2)
309
+ * await regenAppProjectWorkspace({
310
+ * templateId: 'core.workflows.custom_action',
311
+ * workspaceId: 'my-ext',
312
+ * });
313
+ *
314
+ * // Regenerate extension from its directory (scenario 3)
315
+ * await regenAppProjectWorkspace({
316
+ * root: '../..',
317
+ * packageDir: '.',
318
+ * templateId: 'core.workflows.custom_action',
319
+ * });
320
+ *
321
+ * // Regenerate extension from project root (scenario 4)
322
+ * await regenAppProjectWorkspace({
323
+ * packageDir: 'extensions/my-ext',
324
+ * templateId: 'core.workflows.custom_action',
325
+ * });
326
+ *
327
+ * // Ensure custom-objects workspace (scenario 5)
328
+ * await regenAppProjectWorkspace({
329
+ * templateId: 'custom-objects',
330
+ * workspaceId: 'custom-objects',
331
+ * });
332
+ * ```
333
+ * @internal
334
+ */
335
+ export declare function _regenAppProjectWorkspace(options: _RegenWorkspaceOptions, services?: _WorkspaceServices, context?: _CliContext): Promise<void>;
336
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"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"}