@solidnumber/cli 2.11.17 → 2.11.20

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 (40) hide show
  1. package/README.md +1 -1
  2. package/dist/client.d.ts +38 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +66 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/commands/apply.d.ts +18 -0
  7. package/dist/commands/apply.d.ts.map +1 -0
  8. package/dist/commands/apply.js +149 -0
  9. package/dist/commands/apply.js.map +1 -0
  10. package/dist/commands/signal.d.ts +16 -1
  11. package/dist/commands/signal.d.ts.map +1 -1
  12. package/dist/commands/signal.js +126 -27
  13. package/dist/commands/signal.js.map +1 -1
  14. package/dist/index.js +18 -5
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/api-client.d.ts +20 -3
  17. package/dist/lib/api-client.d.ts.map +1 -1
  18. package/dist/lib/api-client.js +56 -7
  19. package/dist/lib/api-client.js.map +1 -1
  20. package/dist/lib/apply/engine.d.ts +87 -0
  21. package/dist/lib/apply/engine.d.ts.map +1 -0
  22. package/dist/lib/apply/engine.js +277 -0
  23. package/dist/lib/apply/engine.js.map +1 -0
  24. package/dist/lib/apply/registry.d.ts +32 -0
  25. package/dist/lib/apply/registry.d.ts.map +1 -0
  26. package/dist/lib/apply/registry.js +54 -0
  27. package/dist/lib/apply/registry.js.map +1 -0
  28. package/dist/lib/editor-preflight.d.ts +3 -0
  29. package/dist/lib/editor-preflight.d.ts.map +1 -1
  30. package/dist/lib/editor-preflight.js +67 -5
  31. package/dist/lib/editor-preflight.js.map +1 -1
  32. package/dist/lib/esm-import.d.ts +2 -0
  33. package/dist/lib/esm-import.d.ts.map +1 -0
  34. package/dist/lib/esm-import.js +23 -0
  35. package/dist/lib/esm-import.js.map +1 -0
  36. package/dist/lib/lighthouse-runner.d.ts.map +1 -1
  37. package/dist/lib/lighthouse-runner.js +4 -35
  38. package/dist/lib/lighthouse-runner.js.map +1 -1
  39. package/package.json +10 -7
  40. package/platform-docs/llms.txt +6 -5
@@ -0,0 +1,87 @@
1
+ import { Reconciler } from './registry';
2
+ export interface ReconcileOptions {
3
+ dryRun?: boolean;
4
+ prune?: boolean;
5
+ }
6
+ export interface ReconcileReport {
7
+ dryRun: boolean;
8
+ results: ExecResult[];
9
+ counts: Record<string, number>;
10
+ }
11
+ export interface DesiredResource {
12
+ kind: string;
13
+ /** Resolved identity VALUE (e.g. the email / sku / url). */
14
+ identity: string;
15
+ /** Desired fields. Only keys present here are managed (subset semantics). */
16
+ spec: Record<string, unknown>;
17
+ }
18
+ export type ActionType = 'create' | 'update' | 'noop' | 'prune' | 'unsupported';
19
+ export interface PlannedAction {
20
+ kind: string;
21
+ identity: string;
22
+ action: ActionType;
23
+ reason?: string;
24
+ id?: string | number;
25
+ spec?: Record<string, unknown>;
26
+ }
27
+ /** Minimal client surface the executor needs — lets tests inject a fake. */
28
+ export interface ApplyClient {
29
+ get<T = unknown>(url: string): Promise<{
30
+ data: T;
31
+ }>;
32
+ post(url: string, data: unknown, options?: {
33
+ idempotencyKey?: string;
34
+ }): Promise<unknown>;
35
+ put(url: string, data: unknown, options?: {
36
+ idempotencyKey?: string;
37
+ }): Promise<unknown>;
38
+ patch(url: string, data: unknown, options?: {
39
+ idempotencyKey?: string;
40
+ }): Promise<unknown>;
41
+ delete(url: string, options?: {
42
+ idempotencyKey?: string;
43
+ }): Promise<unknown>;
44
+ }
45
+ export interface PlanOptions {
46
+ /** Delete current resources (within a managed kind) absent from the manifest. */
47
+ prune?: boolean;
48
+ }
49
+ /**
50
+ * Parse a manifest string (YAML or JSON) into normalized desired resources.
51
+ * Accepts: a single resource, a top-level array, `{ resources: [...] }`, and
52
+ * multi-document YAML. Each resource may be `{ kind, spec }`, k8s-style
53
+ * `{ kind, metadata, spec }`, or `{ kind, ...fields }` (fields become spec).
54
+ * `metadata.identity` (or a top-level `identity`) overrides the kind default.
55
+ */
56
+ export declare function parseManifest(text: string): DesiredResource[];
57
+ /** Pull the resource array out of a list response, tolerating common shapes. */
58
+ export declare function extractList(resp: unknown, recon: Reconciler): Array<Record<string, unknown>>;
59
+ /**
60
+ * True when every field declared in `desired` already equals the value on the
61
+ * current server item (subset semantics — unmanaged server fields are ignored).
62
+ */
63
+ export declare function specMatches(desired: Record<string, unknown>, current: Record<string, unknown>): boolean;
64
+ /**
65
+ * Compute the reconcile plan for one kind. Pure — given the desired resources
66
+ * and the current server items, returns the ordered list of actions.
67
+ */
68
+ export declare function planKind(recon: Reconciler, desired: DesiredResource[], current: Array<Record<string, unknown>>, opts?: PlanOptions): PlannedAction[];
69
+ /** Stable idempotency key for a resource action, derived from its content. */
70
+ export declare function actionIdempotencyKey(a: PlannedAction): string;
71
+ export interface ExecResult extends PlannedAction {
72
+ status: 'done' | 'skipped' | 'failed';
73
+ error?: string;
74
+ }
75
+ /** Count results by action (+ failed) for a summary line. */
76
+ export declare function tallyResults(results: ExecResult[]): Record<string, number>;
77
+ /**
78
+ * Reconcile a set of desired resources end-to-end: group by kind, fetch current
79
+ * state, plan, execute. Pure orchestration with NO prompting — the interactive
80
+ * prune confirmation lives in the `apply` command, not here, so this is safe to
81
+ * call programmatically (the @solidnumber/cli/client facade uses it). Unknown
82
+ * kinds are skipped (parseManifest already validates when used via the CLI).
83
+ */
84
+ export declare function reconcile(client: ApplyClient, resources: DesiredResource[], opts?: ReconcileOptions): Promise<ReconcileReport>;
85
+ /** Execute a plan. `dryRun` returns the plan annotated as skipped, no writes. */
86
+ export declare function executePlan(client: ApplyClient, recon: Reconciler, actions: PlannedAction[], dryRun: boolean): Promise<ExecResult[]>;
87
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/lib/apply/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseManifest = parseManifest;
37
+ exports.extractList = extractList;
38
+ exports.specMatches = specMatches;
39
+ exports.planKind = planKind;
40
+ exports.actionIdempotencyKey = actionIdempotencyKey;
41
+ exports.tallyResults = tallyResults;
42
+ exports.reconcile = reconcile;
43
+ exports.executePlan = executePlan;
44
+ /**
45
+ * `solid apply` engine — declarative desired-state reconcile.
46
+ *
47
+ * Parse a manifest into resources, fetch current state per kind, compute a
48
+ * plan (create / update / noop / prune), then execute it. The planning core
49
+ * (parseManifest, specMatches, planKind, extractList) is pure so it's unit
50
+ * tested without HTTP; executePlan does the writes through a minimal client.
51
+ */
52
+ const yaml = __importStar(require("js-yaml"));
53
+ const node_crypto_1 = require("node:crypto");
54
+ const registry_1 = require("./registry");
55
+ /**
56
+ * Parse a manifest string (YAML or JSON) into normalized desired resources.
57
+ * Accepts: a single resource, a top-level array, `{ resources: [...] }`, and
58
+ * multi-document YAML. Each resource may be `{ kind, spec }`, k8s-style
59
+ * `{ kind, metadata, spec }`, or `{ kind, ...fields }` (fields become spec).
60
+ * `metadata.identity` (or a top-level `identity`) overrides the kind default.
61
+ */
62
+ function parseManifest(text) {
63
+ const docs = [];
64
+ // loadAll handles both single- and multi-document YAML; JSON is valid YAML.
65
+ yaml.loadAll(text, (d) => { if (d !== null && d !== undefined)
66
+ docs.push(d); });
67
+ const raw = [];
68
+ for (const doc of docs) {
69
+ if (Array.isArray(doc))
70
+ raw.push(...doc);
71
+ else if (doc && typeof doc === 'object' && Array.isArray(doc.resources)) {
72
+ raw.push(...doc.resources);
73
+ }
74
+ else
75
+ raw.push(doc);
76
+ }
77
+ return raw.map((r, i) => normalizeResource(r, i));
78
+ }
79
+ function normalizeResource(r, index) {
80
+ if (!r || typeof r !== 'object') {
81
+ throw new Error(`Manifest entry #${index + 1} is not an object`);
82
+ }
83
+ const obj = r;
84
+ const kind = String(obj.kind || '').trim();
85
+ if (!kind)
86
+ throw new Error(`Manifest entry #${index + 1} is missing "kind"`);
87
+ const recon = (0, registry_1.reconcilerFor)(kind);
88
+ if (!recon) {
89
+ throw new Error(`Unknown kind "${kind}" (known: see \`solid apply --kinds\`)`);
90
+ }
91
+ const metadata = (obj.metadata && typeof obj.metadata === 'object' ? obj.metadata : {});
92
+ // spec source: explicit `spec`, else all fields except kind/metadata.
93
+ let spec;
94
+ if (obj.spec && typeof obj.spec === 'object') {
95
+ spec = { ...obj.spec };
96
+ }
97
+ else {
98
+ spec = { ...obj };
99
+ delete spec.kind;
100
+ delete spec.metadata;
101
+ delete spec.identity;
102
+ }
103
+ const identityField = String(obj.identity || metadata.identity || recon.identity);
104
+ const identityValue = spec[identityField] ?? metadata.name;
105
+ if (identityValue === undefined || identityValue === null || identityValue === '') {
106
+ throw new Error(`${kind} entry #${index + 1} has no identity — set spec.${identityField} (or metadata.name)`);
107
+ }
108
+ return { kind, identity: String(identityValue), spec };
109
+ }
110
+ /** Pull the resource array out of a list response, tolerating common shapes. */
111
+ function extractList(resp, recon) {
112
+ if (Array.isArray(resp))
113
+ return resp;
114
+ if (!resp || typeof resp !== 'object')
115
+ return [];
116
+ const o = resp;
117
+ const candidates = [recon.listKey, 'items', 'results', 'data', `${recon.kind}s`].filter(Boolean);
118
+ for (const key of candidates) {
119
+ if (Array.isArray(o[key]))
120
+ return o[key];
121
+ }
122
+ return [];
123
+ }
124
+ /**
125
+ * True when every field declared in `desired` already equals the value on the
126
+ * current server item (subset semantics — unmanaged server fields are ignored).
127
+ */
128
+ function specMatches(desired, current) {
129
+ for (const [k, v] of Object.entries(desired)) {
130
+ if (!deepEqual(v, current[k]))
131
+ return false;
132
+ }
133
+ return true;
134
+ }
135
+ function deepEqual(a, b) {
136
+ if (a === b)
137
+ return true;
138
+ if (a === null || b === null || typeof a !== typeof b)
139
+ return false;
140
+ if (typeof a !== 'object')
141
+ return false;
142
+ if (Array.isArray(a) || Array.isArray(b)) {
143
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length)
144
+ return false;
145
+ return a.every((x, i) => deepEqual(x, b[i]));
146
+ }
147
+ const ao = a;
148
+ const bo = b;
149
+ const keys = Object.keys(ao);
150
+ if (keys.length !== Object.keys(bo).length)
151
+ return false;
152
+ return keys.every((k) => deepEqual(ao[k], bo[k]));
153
+ }
154
+ /**
155
+ * Compute the reconcile plan for one kind. Pure — given the desired resources
156
+ * and the current server items, returns the ordered list of actions.
157
+ */
158
+ function planKind(recon, desired, current, opts = {}) {
159
+ const currentByIdentity = new Map();
160
+ for (const item of current) {
161
+ const idv = item[recon.identity];
162
+ if (idv !== undefined && idv !== null)
163
+ currentByIdentity.set(String(idv), item);
164
+ }
165
+ const actions = [];
166
+ const seen = new Set();
167
+ for (const d of desired) {
168
+ seen.add(d.identity);
169
+ const existing = currentByIdentity.get(d.identity);
170
+ if (!existing) {
171
+ actions.push({ kind: d.kind, identity: d.identity, action: 'create', spec: d.spec });
172
+ continue;
173
+ }
174
+ if (specMatches(d.spec, existing)) {
175
+ actions.push({ kind: d.kind, identity: d.identity, action: 'noop', id: existing[recon.idField] });
176
+ }
177
+ else if (recon.updateMethod === null) {
178
+ actions.push({
179
+ kind: d.kind, identity: d.identity, action: 'unsupported',
180
+ reason: `${d.kind} is immutable — delete and recreate to change`,
181
+ id: existing[recon.idField],
182
+ });
183
+ }
184
+ else {
185
+ actions.push({ kind: d.kind, identity: d.identity, action: 'update', id: existing[recon.idField], spec: d.spec });
186
+ }
187
+ }
188
+ if (opts.prune) {
189
+ for (const [idv, item] of currentByIdentity) {
190
+ if (!seen.has(idv)) {
191
+ actions.push({ kind: recon.kind, identity: idv, action: 'prune', id: item[recon.idField] });
192
+ }
193
+ }
194
+ }
195
+ return actions;
196
+ }
197
+ /** Stable idempotency key for a resource action, derived from its content. */
198
+ function actionIdempotencyKey(a) {
199
+ const h = (0, node_crypto_1.createHash)('sha256')
200
+ .update(`${a.action}:${a.kind}:${a.identity}:${JSON.stringify(a.spec ?? {})}`)
201
+ .digest('hex')
202
+ .slice(0, 32);
203
+ return `apply-${h}`;
204
+ }
205
+ /** Count results by action (+ failed) for a summary line. */
206
+ function tallyResults(results) {
207
+ const c = { create: 0, update: 0, noop: 0, prune: 0, unsupported: 0, failed: 0 };
208
+ for (const r of results) {
209
+ if (r.status === 'failed')
210
+ c.failed++;
211
+ if (r.action in c)
212
+ c[r.action]++;
213
+ }
214
+ return c;
215
+ }
216
+ /**
217
+ * Reconcile a set of desired resources end-to-end: group by kind, fetch current
218
+ * state, plan, execute. Pure orchestration with NO prompting — the interactive
219
+ * prune confirmation lives in the `apply` command, not here, so this is safe to
220
+ * call programmatically (the @solidnumber/cli/client facade uses it). Unknown
221
+ * kinds are skipped (parseManifest already validates when used via the CLI).
222
+ */
223
+ async function reconcile(client, resources, opts = {}) {
224
+ const byKind = new Map();
225
+ for (const r of resources) {
226
+ const arr = byKind.get(r.kind) ?? [];
227
+ arr.push(r);
228
+ byKind.set(r.kind, arr);
229
+ }
230
+ const results = [];
231
+ for (const [kind, desired] of byKind) {
232
+ const recon = (0, registry_1.reconcilerFor)(kind);
233
+ if (!recon)
234
+ continue;
235
+ const resp = await client.get(recon.list);
236
+ const current = extractList(resp.data, recon);
237
+ const actions = planKind(recon, desired, current, { prune: opts.prune });
238
+ results.push(...(await executePlan(client, recon, actions, !!opts.dryRun)));
239
+ }
240
+ return { dryRun: !!opts.dryRun, results, counts: tallyResults(results) };
241
+ }
242
+ /** Execute a plan. `dryRun` returns the plan annotated as skipped, no writes. */
243
+ async function executePlan(client, recon, actions, dryRun) {
244
+ const results = [];
245
+ for (const a of actions) {
246
+ if (a.action === 'noop' || a.action === 'unsupported') {
247
+ results.push({ ...a, status: 'skipped' });
248
+ continue;
249
+ }
250
+ if (dryRun) {
251
+ results.push({ ...a, status: 'skipped' });
252
+ continue;
253
+ }
254
+ const key = actionIdempotencyKey(a);
255
+ const item = recon.itemPath.replace('{id}', String(a.id));
256
+ try {
257
+ if (a.action === 'create') {
258
+ await client.post(recon.create, a.spec, { idempotencyKey: key });
259
+ }
260
+ else if (a.action === 'update') {
261
+ if (recon.updateMethod === 'put')
262
+ await client.put(item, a.spec, { idempotencyKey: key });
263
+ else
264
+ await client.patch(item, a.spec, { idempotencyKey: key });
265
+ }
266
+ else if (a.action === 'prune') {
267
+ await client.delete(item, { idempotencyKey: key });
268
+ }
269
+ results.push({ ...a, status: 'done' });
270
+ }
271
+ catch (e) {
272
+ results.push({ ...a, status: 'failed', error: e instanceof Error ? e.message : String(e) });
273
+ }
274
+ }
275
+ return results;
276
+ }
277
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/lib/apply/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Reconciler registry for `solid apply` — maps a declarative manifest `kind`
3
+ * to the REST shape needed to reconcile it (list current, create, update,
4
+ * delete one). Adding a kind = one entry here; the engine stays generic.
5
+ *
6
+ * Endpoints below are taken verbatim from the matching CLI command files
7
+ * (commands/products.ts, crm.ts, webhooks.ts) so they track the real API.
8
+ * A kind with `updateMethod: null` is immutable (create/delete only) — on
9
+ * drift the engine reports it rather than silently mutating.
10
+ */
11
+ export interface Reconciler {
12
+ /** Manifest `kind` this entry handles. */
13
+ kind: string;
14
+ /** Spec field that uniquely identifies a resource within the company. */
15
+ identity: string;
16
+ /** GET collection (list current state). */
17
+ list: string;
18
+ /** POST collection (create). */
19
+ create: string;
20
+ /** Path template for one item; `{id}` is substituted. Used for update/delete. */
21
+ itemPath: string;
22
+ /** HTTP verb for an in-place update, or null when the resource is immutable. */
23
+ updateMethod: 'patch' | 'put' | null;
24
+ /** Field on a fetched server item that holds its id (default `id`). */
25
+ idField: string;
26
+ /** Key in the list response holding the array, when not auto-detectable. */
27
+ listKey?: string;
28
+ }
29
+ export declare const RECONCILERS: Record<string, Reconciler>;
30
+ export declare function reconcilerFor(kind: string): Reconciler | undefined;
31
+ export declare function knownKinds(): string[];
32
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/lib/apply/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,YAAY,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAyClD,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElE;AAED,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RECONCILERS = void 0;
4
+ exports.reconcilerFor = reconcilerFor;
5
+ exports.knownKinds = knownKinds;
6
+ exports.RECONCILERS = {
7
+ product: {
8
+ kind: 'product',
9
+ identity: 'sku',
10
+ list: '/api/v1/products/',
11
+ create: '/api/v1/products/',
12
+ itemPath: '/api/v1/products/{id}',
13
+ updateMethod: 'patch',
14
+ idField: 'id',
15
+ listKey: 'products',
16
+ },
17
+ contact: {
18
+ kind: 'contact',
19
+ identity: 'email',
20
+ list: '/api/v1/crm/contacts',
21
+ create: '/api/v1/crm/contacts',
22
+ itemPath: '/api/v1/crm/contacts/{id}',
23
+ updateMethod: 'patch',
24
+ idField: 'id',
25
+ listKey: 'contacts',
26
+ },
27
+ deal: {
28
+ kind: 'deal',
29
+ identity: 'name',
30
+ list: '/api/v1/crm/deals',
31
+ create: '/api/v1/crm/deals',
32
+ itemPath: '/api/v1/crm/deals/{id}',
33
+ updateMethod: 'patch',
34
+ idField: 'id',
35
+ listKey: 'deals',
36
+ },
37
+ webhook: {
38
+ kind: 'webhook',
39
+ identity: 'url',
40
+ list: '/api/v1/developer/webhooks',
41
+ create: '/api/v1/developer/webhooks',
42
+ itemPath: '/api/v1/developer/webhooks/{id}',
43
+ updateMethod: null, // webhooks are immutable — recreate to change
44
+ idField: 'id',
45
+ listKey: 'webhooks',
46
+ },
47
+ };
48
+ function reconcilerFor(kind) {
49
+ return exports.RECONCILERS[kind] || exports.RECONCILERS[kind.toLowerCase()];
50
+ }
51
+ function knownKinds() {
52
+ return Object.keys(exports.RECONCILERS).sort();
53
+ }
54
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/apply/registry.ts"],"names":[],"mappings":";;;AAwEA,sCAEC;AAED,gCAEC;AAjDY,QAAA,WAAW,GAA+B;IACrD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU;KACpB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,sBAAsB;QAC9B,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,wBAAwB;QAClC,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO;KACjB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,4BAA4B;QACpC,QAAQ,EAAE,iCAAiC;QAC3C,YAAY,EAAE,IAAI,EAAE,8CAA8C;QAClE,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU;KACpB;CACF,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,mBAAW,CAAC,IAAI,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
@@ -32,6 +32,9 @@ export declare function resolveVsCodeBinary(opts?: {
32
32
  homeDir?: string;
33
33
  pathEnv?: string;
34
34
  systemRoot?: string;
35
+ env?: NodeJS.ProcessEnv;
36
+ /** Spotlight lookup (darwin). Injectable for tests; null disables. */
37
+ mdfind?: ((bundleId: string) => string[]) | null;
35
38
  }): string | null;
36
39
  export interface EnsureExtensionResult {
37
40
  installed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-preflight.d.ts","sourceRoot":"","sources":["../../src/lib/editor-preflight.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAC/D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;CACH;AA2BD,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjG,MAAM,GAAG,IAAI,CA2Cf;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,eAA+B,EACvC,OAAO,CAAC,EAAE,MAAM,GACf,qBAAqB,CAoCvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,eAA+B,GACtC,eAAe,CAwDjB"}
1
+ {"version":3,"file":"editor-preflight.d.ts","sourceRoot":"","sources":["../../src/lib/editor-preflight.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAC/D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;CACH;AA2BD,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;CAC7C,GACL,MAAM,GAAG,IAAI,CAyFf;AAgBD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,eAA+B,EACvC,OAAO,CAAC,EAAE,MAAM,GACf,qBAAqB,CAoCvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,eAA+B,GACtC,eAAe,CAwDjB"}
@@ -96,6 +96,7 @@ function resolveVsCodeBinary(opts = {}) {
96
96
  const platform = opts.platform ?? process.platform;
97
97
  const home = opts.homeDir ?? os.homedir();
98
98
  const pathEnv = opts.pathEnv ?? process.env.PATH ?? '';
99
+ const env = opts.env ?? process.env;
99
100
  // Injectable so tests stay hermetic on machines that have a real
100
101
  // /Applications/Visual Studio Code.app.
101
102
  const root = opts.systemRoot ?? path.sep;
@@ -110,12 +111,39 @@ function resolveVsCodeBinary(opts = {}) {
110
111
  }
111
112
  catch { /* keep looking */ }
112
113
  }
113
- // 2. Standard install locations.
114
+ // 2. Running INSIDE VS Code's integrated terminal — the environment
115
+ // tells us exactly where the app lives. VSCODE_GIT_ASKPASS_MAIN looks
116
+ // like <bundle>/Contents/Resources/app/extensions/git/dist/askpass-main.js
117
+ // (or <install>/resources/app/... on Windows/Linux). Derive the CLI
118
+ // from it. Real case 2026-06-04: user ran `solid ai` from VS Code's
119
+ // own terminal on an old iMac and we said "no VS Code found."
120
+ const askpass = env.VSCODE_GIT_ASKPASS_MAIN || '';
121
+ if (askpass) {
122
+ for (const marker of [
123
+ `${path.sep}Resources${path.sep}app${path.sep}`,
124
+ `${path.sep}resources${path.sep}app${path.sep}`,
125
+ ]) {
126
+ const idx = askpass.indexOf(marker);
127
+ if (idx === -1)
128
+ continue;
129
+ const appRoot = askpass.slice(0, idx + marker.length - 1); // …/Resources/app
130
+ const candidate = platform === 'win32'
131
+ ? path.join(appRoot, 'bin', 'code.cmd')
132
+ : path.join(appRoot, 'bin', 'code');
133
+ try {
134
+ fs.accessSync(candidate, fs.constants.X_OK);
135
+ return candidate;
136
+ }
137
+ catch { /* fall through */ }
138
+ }
139
+ }
140
+ // 3. Standard install locations (incl. Insiders).
141
+ const macBundles = ['Visual Studio Code.app', 'Visual Studio Code - Insiders.app'];
114
142
  const candidates = platform === 'darwin'
115
- ? [
116
- path.join(root, 'Applications', 'Visual Studio Code.app', 'Contents', 'Resources', 'app', 'bin', 'code'),
117
- path.join(home, 'Applications', 'Visual Studio Code.app', 'Contents', 'Resources', 'app', 'bin', 'code'),
118
- ]
143
+ ? macBundles.flatMap((bundle) => [
144
+ path.join(root, 'Applications', bundle, 'Contents', 'Resources', 'app', 'bin', 'code'),
145
+ path.join(home, 'Applications', bundle, 'Contents', 'Resources', 'app', 'bin', 'code'),
146
+ ])
119
147
  : platform === 'win32'
120
148
  ? [
121
149
  path.join(process.env.LOCALAPPDATA || path.join(home, 'AppData', 'Local'), 'Programs', 'Microsoft VS Code', 'bin', 'code.cmd'),
@@ -134,8 +162,42 @@ function resolveVsCodeBinary(opts = {}) {
134
162
  }
135
163
  catch { /* keep looking */ }
136
164
  }
165
+ // 4. Spotlight (macOS) — finds the bundle wherever the user dragged it
166
+ // (Desktop, Downloads, a renamed copy). Last resort because mdfind
167
+ // costs ~100-300ms and needs the index, but it's what rescues "I
168
+ // definitely have VS Code" machines with non-standard installs.
169
+ if (platform === 'darwin') {
170
+ const lookup = opts.mdfind === null ? null : (opts.mdfind ?? defaultMdfind);
171
+ if (lookup) {
172
+ for (const bundleId of ['com.microsoft.VSCode', 'com.microsoft.VSCodeInsiders']) {
173
+ for (const bundlePath of lookup(bundleId)) {
174
+ const candidate = path.join(bundlePath, 'Contents', 'Resources', 'app', 'bin', 'code');
175
+ try {
176
+ fs.accessSync(candidate, fs.constants.X_OK);
177
+ return candidate;
178
+ }
179
+ catch { /* keep looking */ }
180
+ }
181
+ }
182
+ }
183
+ }
137
184
  return null;
138
185
  }
186
+ function defaultMdfind(bundleId) {
187
+ try {
188
+ const r = (0, child_process_1.spawnSync)('mdfind', [`kMDItemCFBundleIdentifier == '${bundleId}'`], {
189
+ encoding: 'utf-8',
190
+ stdio: ['ignore', 'pipe', 'ignore'],
191
+ timeout: 3_000,
192
+ });
193
+ if (r.status !== 0 || !r.stdout)
194
+ return [];
195
+ return r.stdout.split('\n').map((l) => l.trim()).filter(Boolean).slice(0, 3);
196
+ }
197
+ catch {
198
+ return [];
199
+ }
200
+ }
139
201
  /**
140
202
  * Make sure the Claude Code extension is installed in VS Code. Normal
141
203
  * users shouldn't have to know extensions exist — `solid ai` calls this
@@ -1 +1 @@
1
- {"version":3,"file":"editor-preflight.js","sourceRoot":"","sources":["../../src/lib/editor-preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-preflight.js","sourceRoot":"","sources":["../../src/lib/editor-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function importESM<T = unknown>(specifier: string): Promise<T>;
2
+ //# sourceMappingURL=esm-import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esm-import.d.ts","sourceRoot":"","sources":["../../src/lib/esm-import.ts"],"names":[],"mappings":"AAmBA,wBAAgB,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAEpE"}