@hs-x/codegen 0.1.3 → 0.2.1

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.
package/README.md CHANGED
@@ -1,46 +1,48 @@
1
1
  # @hs-x/codegen
2
2
 
3
3
  `@hs-x/codegen` turns an HS-X app's declarations into the concrete artifacts a
4
- deploy needs: the `.hs-x/refs` type stubs that give card and backend code a
5
- stable, type-checked link to each other; the Cloudflare Worker entrypoint that
6
- boots [`@hs-x/runtime`](https://www.npmjs.com/package/@hs-x/runtime); the
7
- Alchemy program that describes your Cloudflare resources; and the portal-schema
8
- management plan. It is the compiler step between *what you wrote* and *what gets
9
- deployed*.
10
-
11
- This package is **CLI-internal**. You do not install or call it directly
12
- `hs-x deploy` (and `hs-x dev`) invoke it for you. It is documented here so the
13
- generated files in your project (`.hs-x/refs/*`, `.hs-x/alchemy.run.ts`) are not
14
- a black box.
4
+ deploy needs: typed ref stubs that give card and backend code a stable,
5
+ type-checked link to each other, the Cloudflare Worker entrypoint that boots
6
+ [`@hs-x/runtime`](https://www.npmjs.com/package/@hs-x/runtime), the Alchemy
7
+ program that describes your Cloudflare resources, and the portal-schema
8
+ management plan. It is the compiler step between what you wrote and what gets
9
+ deployed.
10
+
11
+ This package is CLI-internal. You do not install or call it directly;
12
+ `hs-x deploy` and `hs-x dev` invoke it for you (it ships with
13
+ [`@hs-x/cli`](https://www.npmjs.com/package/@hs-x/cli)). It is documented here
14
+ so the generated files in your project's `.hs-x/` directory are not a black
15
+ box.
15
16
 
16
17
  ## What it generates
17
18
 
18
- - `renderRefsTypes` / `renderRefsModule` — the `.hs-x/refs` stubs behind the
19
- stable `@hs-x/refs` path alias, so card code and backend code reference each
20
- other through generated types instead of fragile relative imports. (The
21
- `hs-x init` scaffold configures this alias in `tsconfig.json`.)
22
- - `renderCloudflareWorkerEntrypoint` the Worker entrypoint that wires your
23
- worker definition into `createRuntime(...)`.
24
- - `renderAlchemyProgram` / `workerCloudflareResourcePlan` the
25
- [Alchemy](https://alchemy.run) infrastructure program written to
26
- `.hs-x/alchemy.run.ts`. This file is **tracked in git on purpose**: it is the
27
- leaveability artifact, a plain description of the Cloudflare resources your app
28
- owns, so you can keep running it without HS-X.
29
- - `planPortalSchemaManagement` diffs your declared app objects/properties
30
- against the observed portal schema to produce a create/update plan.
31
- - `generateProjectArtifacts`, `generateHubSpotRuntimeProject`,
32
- `generateLegacyCardProject` — assemble the full HubSpot project + worker source
33
- for a deploy.
19
+ | Export | Artifact |
20
+ | --- | --- |
21
+ | `generateProjectArtifacts` | Writes the `.hs-x/` output set for a project: `manifest.json`, `refs.d.ts`, `refs.js`, and `alchemy.run.ts` |
22
+ | `renderRefsTypes` / `renderRefsModule` | The `.hs-x/refs.d.ts` and `.hs-x/refs.js` stubs: one typed export per card backend, app object, and app event, so card code references backend capabilities through generated identifiers instead of hand-typed ids |
23
+ | `renderCloudflareWorkerEntrypoint` | The Worker entrypoint that wires your worker definition into `createRuntime(...)` with token stores, OAuth, and rate limiting |
24
+ | `renderAlchemyProgram` / `workerCloudflareResourcePlan` | The [Alchemy](https://alchemy.run) infrastructure program written to `.hs-x/alchemy.run.ts` |
25
+ | `planPortalSchemaManagement` | Diffs your declared app objects and properties against the observed portal schema to produce a create/alter plan |
26
+ | `generateHubSpotRuntimeProject` / `generateLegacyCardProject` | Assemble the full HubSpot project source for a deploy or a card migration |
27
+
28
+ `.hs-x/alchemy.run.ts` is tracked in git on purpose: it is the leaveability
29
+ artifact, a plain description of the Cloudflare resources your app owns, so you
30
+ can keep running the app without HS-X. The rest of `.hs-x/` is regenerated on
31
+ every `dev` and `deploy` and stays gitignored.
34
32
 
35
33
  ## Part of HS-X
36
34
 
37
35
  HS-X is a leaveable, type-safe HubSpot app framework on Cloudflare Workers.
38
- Deployed apps run in *your own* Cloudflare account. Start with the CLI:
36
+ Deployed apps run in your own Cloudflare account. Start with the CLI:
39
37
 
40
38
  ```bash
41
39
  npm i -g @hs-x/cli
42
40
  hs-x init myapp
43
41
  ```
44
42
 
45
- See [`@hs-x/cli`](https://www.npmjs.com/package/@hs-x/cli) and
46
- [hs-x.dev](https://hs-x.dev).
43
+ See [`@hs-x/cli`](https://www.npmjs.com/package/@hs-x/cli) and the docs at
44
+ [hs-x.dev/docs](https://hs-x.dev/docs).
45
+
46
+ ## License
47
+
48
+ Apache-2.0
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { AccountId, AppEventDeclaration, AppObjectAssociationDeclaration, AppObjectDeclaration, DeployId, ProjectId, ProjectManifest, WorkerManifest } from '@hs-x/types';
2
- export declare const CODEGEN_VERSION = "0.1.0";
1
+ import type { AccountId, AppEventDeclaration, AppObjectAssociationDeclaration, AppObjectDeclaration, CardDefinition, DeployId, ProjectId, ProjectManifest, WorkerManifest } from '@hs-x/types';
2
+ export declare const CODEGEN_VERSION = "0.2.1";
3
3
  export type { CapabilityManifest, ProjectManifest, WorkerManifest } from '@hs-x/types';
4
4
  export interface GenerateProjectArtifactsOptions {
5
5
  readonly root: string;
@@ -68,6 +68,7 @@ export interface HubSpotRuntimeProjectOptions {
68
68
  readonly appObjects?: readonly AppObjectDeclaration[];
69
69
  readonly appObjectAssociations?: readonly AppObjectAssociationDeclaration[];
70
70
  readonly appEvents?: readonly AppEventDeclaration[];
71
+ readonly cards?: readonly CardDefinition[];
71
72
  readonly runtimeBaseUrl: string;
72
73
  readonly redirectUrls?: readonly string[];
73
74
  }
@@ -119,6 +120,122 @@ export declare function planPortalSchemaManagement(input: {
119
120
  readonly observed: ObservedPortalSchema;
120
121
  }): PortalSchemaPlan;
121
122
  export declare function generateLegacyCardProject(input: LegacyCardMigrationInput): GeneratedProjectSource;
123
+ /**
124
+ * 2023.2/2025.1 `serverless.json` source shape (matrix §4). Mirrors
125
+ * `ServerlessMigrationFixture` in `@hs-x/fixtures`.
126
+ */
127
+ export interface ServerlessMigrationInput {
128
+ readonly legacyApp: {
129
+ readonly appId: string;
130
+ readonly name: string;
131
+ readonly portalId: string;
132
+ };
133
+ readonly serverless: {
134
+ readonly appFunctions: Readonly<Record<string, {
135
+ readonly file?: string;
136
+ readonly secrets?: readonly string[];
137
+ readonly endpoint?: {
138
+ readonly path: string;
139
+ readonly method: readonly string[];
140
+ };
141
+ }>>;
142
+ };
143
+ }
144
+ /**
145
+ * Map the PORTABLE app functions (a `file`, no public `endpoint`) of a legacy
146
+ * serverless source onto a Worker-backed HS-X project: one `tool` capability
147
+ * per function, handler stubs that name the original source file, secrets
148
+ * surfaced as `hs-x secrets` TODOs. Endpoint functions are deliberately NOT
149
+ * generated — the classifier flags their URL-contract change for human review
150
+ * first (`serverless.endpoint.url-contract`).
151
+ */
152
+ export declare function generateServerlessWorkerProject(input: ServerlessMigrationInput): GeneratedProjectSource;
153
+ /** Webhook subscription entry (matrix §5 hsmeta `config.subscriptions`). */
154
+ interface WebhookSubscriptionEntry {
155
+ readonly subscriptionType?: string;
156
+ readonly objectType?: string;
157
+ readonly propertyName?: string;
158
+ readonly active?: boolean;
159
+ }
160
+ /** Workflow action config (matrix §6 hsmeta `config` + uid). */
161
+ interface WorkflowActionEntry {
162
+ readonly uid?: string;
163
+ readonly actionUrl?: string;
164
+ readonly inputFields?: readonly {
165
+ readonly typeDefinition?: {
166
+ readonly name?: string;
167
+ readonly type?: string;
168
+ readonly options?: readonly {
169
+ readonly value: string;
170
+ readonly label: string;
171
+ }[];
172
+ };
173
+ readonly isRequired?: boolean;
174
+ }[];
175
+ readonly labels?: Readonly<Record<string, {
176
+ readonly actionName?: string;
177
+ }>>;
178
+ readonly objectTypes?: readonly string[];
179
+ }
180
+ /**
181
+ * The full classifier-input shape (what `detectMigrationSource` assembles and
182
+ * `classifyMigrationInput` consumes) — the composed generator accepts the same.
183
+ */
184
+ export interface MigratedProjectInput {
185
+ readonly legacyApp: {
186
+ readonly appId: string;
187
+ readonly name: string;
188
+ readonly portalId: string;
189
+ };
190
+ readonly legacyCard?: LegacyCardMigrationInput['legacyCard'];
191
+ readonly serverless?: ServerlessMigrationInput['serverless'];
192
+ readonly webhooks?: {
193
+ readonly settings?: {
194
+ readonly targetUrl?: string;
195
+ };
196
+ readonly subscriptions?: {
197
+ readonly crmObjects?: readonly WebhookSubscriptionEntry[];
198
+ readonly legacyCrmObjects?: readonly WebhookSubscriptionEntry[];
199
+ readonly hubEvents?: readonly WebhookSubscriptionEntry[];
200
+ };
201
+ };
202
+ readonly workflowActions?: readonly WorkflowActionEntry[];
203
+ readonly projectCards?: readonly ProjectCardEntry[];
204
+ readonly appConfig?: AppConfigEntry;
205
+ }
206
+ /** Normalized app identity (2025.2 app-hsmeta config or 2023.2/2025.1 app.json). */
207
+ interface AppConfigEntry {
208
+ readonly name?: string;
209
+ readonly description?: string;
210
+ readonly distribution?: string;
211
+ readonly authType?: string;
212
+ readonly requiredScopes?: readonly string[];
213
+ readonly optionalScopes?: readonly string[];
214
+ readonly redirectUrls?: readonly string[];
215
+ readonly permittedUrls?: {
216
+ readonly fetch?: readonly string[];
217
+ readonly iframe?: readonly string[];
218
+ readonly img?: readonly string[];
219
+ };
220
+ }
221
+ /** Normalized project card (detection output; both extension-era and hsmeta-era). */
222
+ interface ProjectCardEntry {
223
+ readonly uid?: string;
224
+ readonly name?: string;
225
+ readonly location?: string;
226
+ readonly objectTypes?: readonly string[];
227
+ readonly entrypoint?: string;
228
+ readonly sources?: Readonly<Record<string, string>>;
229
+ }
230
+ /**
231
+ * Compose ONE migrated HS-X project (the dupe) from every PORTABLE piece of a
232
+ * classified source: app card, Worker tools for serverless functions, trigger
233
+ * capabilities for webhook subscriptions, tool capabilities for workflow
234
+ * actions. Pieces the classifier flags for human review (endpoint functions,
235
+ * actions without actionUrl/en label, cards without fetchUrl) are skipped —
236
+ * the orchestrator surfaces those findings; this function never gates.
237
+ */
238
+ export declare function generateMigratedHsxProject(input: MigratedProjectInput): GeneratedProjectSource;
122
239
  export declare function generateHubSpotRuntimeProject(options: HubSpotRuntimeProjectOptions): GeneratedProjectSource;
123
240
  export declare function renderRefsTypes(workers: readonly WorkerManifest[], declarations?: {
124
241
  readonly appObjects?: readonly AppObjectDeclaration[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EAEpB,QAAQ,EACR,SAAS,EACT,eAAe,EAEf,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,gCAAgC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,8BAA8B,CAAC;CACnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,MAAM,gCAAgC,GACxC;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEN,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD;AAED,MAAM,MAAM,wBAAwB,GAChC,SAAS,GACT,sBAAsB,GACtB,qBAAqB,GACrB,oBAAoB,GACpB,OAAO,CAAC;AAEZ,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,eAAe,CAAC,CAwB1B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,GACjF,MAAM,CAWR;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,uBAAuB,EAC9B,MAAM,EAAE,cAAc,GACrB;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAcA;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/F;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,MAAM,CAkHR;AA0JD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;CACzC,GAAG,gBAAgB,CA6EnB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,sBAAsB,CA0BjG;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,4BAA4B,GACpC,sBAAsB,CAmCxB;AAoXD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,YAAY,GAAE;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAChD,GACL,MAAM,CAyBR;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,YAAY,GAAE;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAChD,GACL,MAAM,CAyBR;AAuJD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { mkdir, writeFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
- export const CODEGEN_VERSION = '0.1.0';
3
+ export const CODEGEN_VERSION = '0.2.1';
4
4
  export async function generateProjectArtifacts(options) {
5
5
  const manifest = {
6
6
  generatedAt: new Date().toISOString(),
@@ -398,6 +398,382 @@ export function generateLegacyCardProject(input) {
398
398
  },
399
399
  };
400
400
  }
401
+ /**
402
+ * Map the PORTABLE app functions (a `file`, no public `endpoint`) of a legacy
403
+ * serverless source onto a Worker-backed HS-X project: one `tool` capability
404
+ * per function, handler stubs that name the original source file, secrets
405
+ * surfaced as `hs-x secrets` TODOs. Endpoint functions are deliberately NOT
406
+ * generated — the classifier flags their URL-contract change for human review
407
+ * first (`serverless.endpoint.url-contract`).
408
+ */
409
+ export function generateServerlessWorkerProject(input) {
410
+ const portable = Object.entries(input.serverless.appFunctions)
411
+ .filter(([, fn]) => typeof fn.file === 'string' && fn.file.length > 0 && fn.endpoint === undefined)
412
+ .sort(([a], [b]) => a.localeCompare(b));
413
+ if (portable.length === 0) {
414
+ throw new Error('No portable app functions to generate. Resolve the human-review findings from `hs-x migrate inspect` first.');
415
+ }
416
+ return {
417
+ files: {
418
+ 'hsproject.json': renderHubSpotProjectConfig(input.legacyApp.name),
419
+ 'hsx.config.ts': renderServerlessAppConfig(input.legacyApp.name),
420
+ 'src/app/app-hsmeta.json': renderServerlessAppMetadata(input.legacyApp.name),
421
+ 'src/workers/functions.ts': renderServerlessWorker(portable),
422
+ },
423
+ };
424
+ }
425
+ function renderServerlessAppConfig(appName) {
426
+ return `import { defineApp } from "@hs-x/sdk";
427
+
428
+ export default defineApp({
429
+ name: ${JSON.stringify(appName.replace(/\s+Legacy$/i, ''))},
430
+ distribution: "private",
431
+ auth: "oauth",
432
+ platformVersion: "2026.03",
433
+ scopes: ["crm.objects.contacts.read"],
434
+ });
435
+ `;
436
+ }
437
+ function renderServerlessAppMetadata(appName) {
438
+ const name = appName.replace(/\s+Legacy$/i, '');
439
+ return `${JSON.stringify({
440
+ uid: toKebabCase(name),
441
+ type: 'app',
442
+ config: {
443
+ description: `Migrated serverless functions for ${name}.`,
444
+ name,
445
+ distribution: 'private',
446
+ auth: {
447
+ type: 'static',
448
+ requiredScopes: ['oauth', 'crm.objects.contacts.read'],
449
+ optionalScopes: [],
450
+ conditionallyRequiredScopes: [],
451
+ },
452
+ },
453
+ }, null, 2)}\n`;
454
+ }
455
+ function renderServerlessWorker(portable) {
456
+ const tools = portable
457
+ .map(([name, fn]) => {
458
+ const slug = toKebabCase(name);
459
+ const secretsNote = fn.secrets && fn.secrets.length > 0
460
+ ? `\n// Secrets used by the legacy function: ${fn.secrets.join(', ')}.\n// Store each with \`hs-x secrets\` so deploys inject them into this Worker.`
461
+ : '';
462
+ return `${secretsNote}
463
+ worker.tool(${JSON.stringify(slug)}, {
464
+ label: ${JSON.stringify(`Migrated: ${name}`)},
465
+ input: {},
466
+ output: {
467
+ ok: { type: "boolean" },
468
+ },
469
+ async handler() {
470
+ // TODO(migration): port the body of ${JSON.stringify(fn.file ?? name)} here.
471
+ // The legacy handler signature was \`async (context) => result\`; HS-X
472
+ // passes { input, enrolledObject } and returns ok(...)/err(...).
473
+ return ok({ ok: true });
474
+ },
475
+ });`;
476
+ })
477
+ .join('\n');
478
+ return `import { defineWorker, ok } from "@hs-x/sdk";
479
+
480
+ // Generated by \`hs-x migrate\` from a legacy serverless.json source.
481
+ // Each tool below replaces one appFunction; port the original function
482
+ // bodies, then test them with \`hs-x dev\`.
483
+ const worker = defineWorker("functions");
484
+ ${tools}
485
+
486
+ export default worker;
487
+ `;
488
+ }
489
+ /** Read scope a card needs for the object it renders on (validator's map). */
490
+ function cardReadScope(objectType) {
491
+ const t = objectType.toLowerCase();
492
+ if (t.startsWith('p_'))
493
+ return 'crm.objects.custom.read';
494
+ const map = {
495
+ contact: 'crm.objects.contacts.read',
496
+ contacts: 'crm.objects.contacts.read',
497
+ company: 'crm.objects.companies.read',
498
+ companies: 'crm.objects.companies.read',
499
+ deal: 'crm.objects.deals.read',
500
+ deals: 'crm.objects.deals.read',
501
+ ticket: 'tickets',
502
+ tickets: 'tickets',
503
+ };
504
+ return map[t];
505
+ }
506
+ /**
507
+ * Compose ONE migrated HS-X project (the dupe) from every PORTABLE piece of a
508
+ * classified source: app card, Worker tools for serverless functions, trigger
509
+ * capabilities for webhook subscriptions, tool capabilities for workflow
510
+ * actions. Pieces the classifier flags for human review (endpoint functions,
511
+ * actions without actionUrl/en label, cards without fetchUrl) are skipped —
512
+ * the orchestrator surfaces those findings; this function never gates.
513
+ */
514
+ export function generateMigratedHsxProject(input) {
515
+ const files = {
516
+ 'hsproject.json': renderHubSpotProjectConfig(input.legacyApp.name),
517
+ };
518
+ const scopes = new Set(['crm.objects.contacts.read']);
519
+ const permittedFetch = new Set();
520
+ const card = input.legacyCard;
521
+ if (card && typeof card.fetchUrl === 'string' && card.fetchUrl.length > 0) {
522
+ const cardSlug = toKebabCase(card.title || card.id);
523
+ const componentName = `${toPascalCase(card.title || card.id)}Card`;
524
+ const objectTypes = card.objectTypes.length ? card.objectTypes : ['deals'];
525
+ permittedFetch.add(new URL(card.fetchUrl).origin);
526
+ scopes.add('crm.objects.deals.read');
527
+ files['src/app/cards/package.json'] = renderMigratedCardsPackage();
528
+ files[`src/app/cards/${componentName}.tsx`] = renderMigratedCardComponent(componentName, card.fetchUrl);
529
+ files[`src/app/cards/${cardSlug}-hsmeta.json`] = renderMigratedCardMetadata({
530
+ uid: cardSlug,
531
+ title: card.title,
532
+ objectTypes,
533
+ componentName,
534
+ });
535
+ }
536
+ for (const projectCard of [...(input.projectCards ?? [])].sort((a, b) => String(a.uid ?? '').localeCompare(String(b.uid ?? '')))) {
537
+ if (typeof projectCard.entrypoint !== 'string' || projectCard.entrypoint.length === 0) {
538
+ continue; // classifier flags project-card.entrypoint.missing
539
+ }
540
+ const name = projectCard.name || projectCard.uid || 'Migrated Card';
541
+ const slug = toKebabCase(projectCard.uid || name);
542
+ const sources = projectCard.sources ?? {};
543
+ // Carry the React component tree over wholesale; identical paths from
544
+ // sibling cards sharing a directory dedupe naturally.
545
+ for (const [rel, contents] of Object.entries(sources)) {
546
+ files[`src/app/cards/${rel}`] = contents;
547
+ }
548
+ const entryFile = Object.keys(sources).includes(projectCard.entrypoint)
549
+ ? projectCard.entrypoint
550
+ : (Object.keys(sources).find((f) => /\.(t|j)sx?$/.test(f)) ?? projectCard.entrypoint);
551
+ const objectTypes = projectCard.objectTypes?.length ? projectCard.objectTypes : ['contacts'];
552
+ for (const objectType of objectTypes) {
553
+ const scope = cardReadScope(objectType);
554
+ if (scope)
555
+ scopes.add(scope);
556
+ }
557
+ files['src/app/cards/package.json'] = renderMigratedCardsPackage();
558
+ files[`src/app/cards/${slug}-hsmeta.json`] = `${JSON.stringify({
559
+ uid: slug,
560
+ type: 'card',
561
+ config: {
562
+ name,
563
+ description: `Migrated card ${name}.`,
564
+ location: projectCard.location ?? 'crm.record.tab',
565
+ objectTypes: objectTypes.map(toHubSpotObjectType),
566
+ entrypoint: `/app/cards/${entryFile}`,
567
+ },
568
+ }, null, 2)}\n`;
569
+ }
570
+ if (input.serverless) {
571
+ const portable = Object.entries(input.serverless.appFunctions)
572
+ .filter(([, fn]) => typeof fn.file === 'string' && fn.file.length > 0 && fn.endpoint === undefined)
573
+ .sort(([a], [b]) => a.localeCompare(b));
574
+ if (portable.length > 0) {
575
+ files['src/workers/functions.ts'] = renderServerlessWorker(portable);
576
+ }
577
+ }
578
+ if (input.webhooks) {
579
+ const worker = renderWebhookTriggerWorker(input.webhooks);
580
+ if (worker)
581
+ files['src/workers/webhooks.ts'] = worker;
582
+ }
583
+ if (input.workflowActions) {
584
+ const worker = renderWorkflowActionWorker(input.workflowActions);
585
+ if (worker)
586
+ files['src/workers/actions.ts'] = worker;
587
+ }
588
+ const appConfig = input.appConfig ?? {};
589
+ // Carry the source app's scope grants faithfully; 'oauth' is an auth grant
590
+ // the hsmeta renderer re-adds, not a defineApp scope.
591
+ for (const scope of appConfig.requiredScopes ?? []) {
592
+ if (scope !== 'oauth')
593
+ scopes.add(scope);
594
+ }
595
+ for (const url of appConfig.permittedUrls?.fetch ?? [])
596
+ permittedFetch.add(url);
597
+ files['hsx.config.ts'] = renderComposedAppConfig(appConfig.name ?? input.legacyApp.name, appConfig, [...scopes].sort(), [...permittedFetch].sort());
598
+ files['src/app/app-hsmeta.json'] = renderComposedAppMetadata(appConfig.name ?? input.legacyApp.name, appConfig, [...scopes].sort(), [...permittedFetch].sort());
599
+ return { files };
600
+ }
601
+ function renderComposedAppConfig(appName, appConfig, scopes, permittedFetch) {
602
+ const distribution = appConfig.distribution === 'marketplace' ? 'marketplace' : 'private';
603
+ const auth = appConfig.authType === 'static' ? 'static' : 'oauth';
604
+ const description = appConfig.description
605
+ ? `\n description: ${JSON.stringify(appConfig.description)},`
606
+ : '';
607
+ const optional = appConfig.optionalScopes && appConfig.optionalScopes.length > 0
608
+ ? `\n optionalScopes: ${JSON.stringify([...appConfig.optionalScopes].sort())},`
609
+ : '';
610
+ const iframe = appConfig.permittedUrls?.iframe ?? [];
611
+ const img = appConfig.permittedUrls?.img ?? [];
612
+ const permittedEntries = [
613
+ permittedFetch.length > 0
614
+ ? ` fetch: [${permittedFetch.map((u) => JSON.stringify(u)).join(', ')}],`
615
+ : undefined,
616
+ iframe.length > 0 ? ` iframe: ${JSON.stringify(iframe)},` : undefined,
617
+ img.length > 0 ? ` img: ${JSON.stringify(img)},` : undefined,
618
+ ].filter((entry) => entry !== undefined);
619
+ const permitted = permittedEntries.length > 0
620
+ ? `\n permittedUrls: {\n${permittedEntries.join('\n')}\n },`
621
+ : '';
622
+ return `import { defineApp } from "@hs-x/sdk";
623
+
624
+ export default defineApp({
625
+ name: ${JSON.stringify(appName.replace(/\s+Legacy$/i, ''))},${description}
626
+ distribution: ${JSON.stringify(distribution)},
627
+ auth: ${JSON.stringify(auth)},
628
+ platformVersion: "2026.03",
629
+ scopes: ${JSON.stringify(scopes)},${optional}${permitted}
630
+ });
631
+ `;
632
+ }
633
+ function renderComposedAppMetadata(appName, appConfig, scopes, permittedFetch) {
634
+ const name = appName.replace(/\s+Legacy$/i, '');
635
+ const authType = appConfig.authType === 'static' ? 'static' : 'oauth';
636
+ return `${JSON.stringify({
637
+ uid: toKebabCase(name),
638
+ type: 'app',
639
+ config: {
640
+ description: appConfig.description ?? `Migrated HS-X project for ${name}.`,
641
+ name,
642
+ distribution: appConfig.distribution === 'marketplace' ? 'marketplace' : 'private',
643
+ auth: {
644
+ type: authType,
645
+ ...(authType === 'oauth' && appConfig.redirectUrls?.length
646
+ ? { redirectUrls: appConfig.redirectUrls }
647
+ : {}),
648
+ requiredScopes: ['oauth', ...scopes],
649
+ optionalScopes: appConfig.optionalScopes ?? [],
650
+ conditionallyRequiredScopes: [],
651
+ },
652
+ permittedUrls: {
653
+ fetch: permittedFetch,
654
+ iframe: appConfig.permittedUrls?.iframe ?? [],
655
+ img: appConfig.permittedUrls?.img ?? [],
656
+ },
657
+ },
658
+ }, null, 2)}\n`;
659
+ }
660
+ /**
661
+ * Normalize a classic subscription type to the generic `object.*` format
662
+ * where the mapping is mechanical (`contact.creation` → `object.creation`
663
+ * on objectType contact); hub events keep their classic names.
664
+ */
665
+ function normalizeSubscription(entry, classic) {
666
+ const raw = entry.subscriptionType ?? 'unknown.event';
667
+ if (!classic) {
668
+ const base = {
669
+ eventType: raw,
670
+ note: raw,
671
+ };
672
+ if (entry.objectType !== undefined)
673
+ base.objectType = entry.objectType;
674
+ return base;
675
+ }
676
+ const [objectType, event] = raw.split('.', 2);
677
+ if (objectType && event && ['creation', 'deletion', 'propertyChange'].includes(event)) {
678
+ return {
679
+ eventType: `object.${event}`,
680
+ objectType,
681
+ note: `${raw} (normalized to object.${event})`,
682
+ };
683
+ }
684
+ return { eventType: raw, note: `${raw} (hub event; no object.* equivalent)` };
685
+ }
686
+ function renderWebhookTriggerWorker(webhooks) {
687
+ const subs = webhooks.subscriptions ?? {};
688
+ const normalized = [
689
+ ...(subs.crmObjects ?? []).map((s) => normalizeSubscription(s, false)),
690
+ ...(subs.legacyCrmObjects ?? []).map((s) => normalizeSubscription(s, true)),
691
+ ...(subs.hubEvents ?? []).map((s) => normalizeSubscription(s, true)),
692
+ ];
693
+ if (normalized.length === 0)
694
+ return undefined;
695
+ const seen = new Map();
696
+ const triggers = normalized
697
+ .map((sub) => {
698
+ const baseId = toKebabCase([sub.eventType, sub.objectType].filter(Boolean).join('-').replace(/\./g, '-'));
699
+ const count = seen.get(baseId) ?? 0;
700
+ seen.set(baseId, count + 1);
701
+ const id = count === 0 ? baseId : `${baseId}-${count + 1}`;
702
+ return `
703
+ worker.trigger(${JSON.stringify(id)}, {
704
+ label: ${JSON.stringify(`Migrated webhook: ${sub.note}`)},
705
+ eventType: ${JSON.stringify(sub.eventType)},
706
+ async handler({ input }) {
707
+ // TODO(migration): events for ${sub.note} arrive here.${webhooks.settings?.targetUrl
708
+ ? `\n // The legacy receiver was ${webhooks.settings.targetUrl} — forward there\n // with fetch(...) or port its logic into this handler.`
709
+ : ''}
710
+ return ok({ received: true, event: input });
711
+ },
712
+ });`;
713
+ })
714
+ .join('\n');
715
+ return `import { defineWorker, ok } from "@hs-x/sdk";
716
+
717
+ // Generated by \`hs-x migrate\` from a legacy webhooks component.
718
+ const worker = defineWorker("webhooks");
719
+ ${triggers}
720
+
721
+ export default worker;
722
+ `;
723
+ }
724
+ function renderWorkflowActionWorker(actions) {
725
+ const portable = actions
726
+ .filter((action) => typeof action.actionUrl === 'string' &&
727
+ action.actionUrl.length > 0 &&
728
+ typeof action.labels?.en?.actionName === 'string' &&
729
+ action.labels.en.actionName.length > 0)
730
+ .sort((a, b) => String(a.uid ?? '').localeCompare(String(b.uid ?? '')));
731
+ if (portable.length === 0)
732
+ return undefined;
733
+ const tools = portable
734
+ .map((action) => {
735
+ const id = toKebabCase(action.uid ?? action.labels?.en?.actionName ?? 'migrated-action');
736
+ const objectType = (action.objectTypes?.[0] ?? 'contact').toLowerCase();
737
+ const fields = (action.inputFields ?? [])
738
+ .filter((field) => typeof field.typeDefinition?.name === 'string')
739
+ .map((field) => {
740
+ const def = field.typeDefinition;
741
+ const name = def?.name ?? 'field';
742
+ const type = (def?.type ?? 'string').toLowerCase();
743
+ const options = def?.options?.length
744
+ ? `, options: ${JSON.stringify(def.options)}`
745
+ : '';
746
+ const required = field.isRequired ? ', required: true' : '';
747
+ return ` ${JSON.stringify(name)}: { type: ${JSON.stringify(type)}${required}${options} },`;
748
+ })
749
+ .join('\n');
750
+ return `
751
+ worker.tool(${JSON.stringify(id)}, {
752
+ label: ${JSON.stringify(action.labels?.en?.actionName ?? id)},
753
+ objectType: ${JSON.stringify(objectType)},
754
+ input: {
755
+ ${fields}
756
+ },
757
+ output: {
758
+ ok: { type: "boolean" },
759
+ },
760
+ async handler({ input }) {
761
+ // TODO(migration): executions currently POST to ${JSON.stringify(action.actionUrl ?? '')}.
762
+ // Forward there with fetch(...) or port the service's logic here.
763
+ return ok({ ok: true, input });
764
+ },
765
+ });`;
766
+ })
767
+ .join('\n');
768
+ return `import { defineWorker, ok } from "@hs-x/sdk";
769
+
770
+ // Generated by \`hs-x migrate\` from legacy custom workflow actions.
771
+ const worker = defineWorker("actions");
772
+ ${tools}
773
+
774
+ export default worker;
775
+ `;
776
+ }
401
777
  export function generateHubSpotRuntimeProject(options) {
402
778
  const files = {
403
779
  'hsproject.json': renderHubSpotProjectConfig(options.appName),
@@ -427,8 +803,48 @@ export function generateHubSpotRuntimeProject(options) {
427
803
  files[`src/app/app-events/${toKebabCase(event.id)}-hsmeta.json`] =
428
804
  renderAppEventMetadata(event);
429
805
  }
806
+ const cards = options.cards ?? [];
807
+ for (const card of cards) {
808
+ files[`src/app/cards/${toKebabCase(card.id)}-hsmeta.json`] = renderRuntimeCardMetadata(card);
809
+ }
810
+ if (cards.length > 0) {
811
+ // A single package.json is shared by all cards (HubSpot's convention).
812
+ files['src/app/cards/package.json'] = renderCardsPackage();
813
+ }
430
814
  return { files };
431
815
  }
816
+ /** The component filename a card's hsmeta `entrypoint` points at, e.g. `DealSummary`. */
817
+ function cardComponentName(entrypoint) {
818
+ const base = entrypoint.split('/').pop() ?? entrypoint;
819
+ return base.replace(/\.(t|j)sx?$/i, '');
820
+ }
821
+ function renderRuntimeCardMetadata(card) {
822
+ return `${JSON.stringify({
823
+ uid: toKebabCase(card.id),
824
+ type: 'card',
825
+ config: {
826
+ name: card.name,
827
+ ...(card.description ? { description: card.description } : {}),
828
+ location: card.location,
829
+ objectTypes: card.objectTypes.map(toHubSpotObjectType),
830
+ entrypoint: `/app/cards/${cardComponentName(card.entrypoint)}.tsx`,
831
+ },
832
+ }, null, 2)}\n`;
833
+ }
834
+ function renderCardsPackage() {
835
+ return `${JSON.stringify({
836
+ name: 'hs-x-cards',
837
+ version: '0.1.0',
838
+ license: 'UNLICENSED',
839
+ dependencies: {
840
+ '@hubspot/ui-extensions': 'latest',
841
+ react: '^18.2.0',
842
+ },
843
+ devDependencies: {
844
+ typescript: '^5.3.3',
845
+ },
846
+ }, null, 2)}\n`;
847
+ }
432
848
  // HubSpot project names become part of URLs and must agree with the scaffolded
433
849
  // package.json name and the deploy's project identity. Slugify to a lowercase,
434
850
  // url-safe form so e.g. "HSX E2E 006" -> "hsx-e2e-006" rather than a spaced name
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hs-x/codegen",
3
- "version": "0.1.3",
3
+ "version": "0.2.1",
4
4
  "description": "HS-X codegen — .hs-x/refs stubs for card↔backend, portal schema typing.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,8 +20,8 @@
20
20
  "clean": "tsc -b --clean"
21
21
  },
22
22
  "dependencies": {
23
- "@hs-x/runtime": "0.1.0",
24
- "@hs-x/types": "0.1.0"
23
+ "@hs-x/runtime": "0.2.0",
24
+ "@hs-x/types": "0.2.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@hs-x/fixtures": "0.1.0"