@anby/platform-sdk 0.7.1 → 0.8.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/apps/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI3E,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAcD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,WAAW,CAAC,CAMtB;AA6ED,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAuFlC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,iBAAsB,GAAG,IAAI,CAMpE"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/apps/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAK3E,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAcD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,WAAW,CAAC,CAMtB;AA6ED,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAkHlC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,iBAAsB,GAAG,IAAI,CAMpE"}
@@ -53,6 +53,7 @@ const node_path_1 = require("node:path");
53
53
  const manifest_schema_1 = require("@anby/manifest-schema");
54
54
  const index_js_1 = require("../auth/index.js");
55
55
  const schema_js_1 = require("../entities/schema.js");
56
+ const identity_js_1 = require("../entities/identity.js");
56
57
  async function loadManifest(path) {
57
58
  const raw = await (0, promises_1.readFile)(path, 'utf-8');
58
59
  const parsed = JSON.parse(raw);
@@ -168,12 +169,7 @@ async function publishAppFromManifest(opts = {}) {
168
169
  registryUrl = 'http://localhost:3003';
169
170
  }
170
171
  }
171
- const internalApiSecret = opts.internalApiSecret ?? process.env.INTERNAL_API_SECRET ?? '';
172
- if (!internalApiSecret) {
173
- throw new Error('INTERNAL_API_SECRET is not set — cannot sign publish request');
174
- }
175
172
  const submittedBy = opts.submittedBy ?? manifest.id;
176
- const signature = (0, index_js_1.signHmac)(submittedBy, internalApiSecret);
177
173
  const body = {
178
174
  id: manifest.id,
179
175
  name: manifest.name,
@@ -188,14 +184,46 @@ async function publishAppFromManifest(opts = {}) {
188
184
  changelog: opts.changelog,
189
185
  manifest,
190
186
  };
187
+ const bodyJson = JSON.stringify(body);
188
+ // Prefer Ed25519 app identity signing (no INTERNAL_API_SECRET needed).
189
+ // Falls back to HMAC for first-time publish (before app has an identity).
190
+ let authHeaders;
191
+ let identity = null;
192
+ try {
193
+ identity = (0, identity_js_1.getAppIdentity)();
194
+ }
195
+ catch {
196
+ // Not configured — fall back to HMAC
197
+ }
198
+ if (identity && identity.appId === manifest.id) {
199
+ // Ed25519 path — re-publishing own app
200
+ const signed = (0, identity_js_1.signAppRequest)({
201
+ identity,
202
+ tenantId: '',
203
+ body: bodyJson,
204
+ });
205
+ authHeaders = { ...signed };
206
+ }
207
+ else {
208
+ // HMAC path — first-time publish or cross-app publish
209
+ const internalApiSecret = opts.internalApiSecret ?? process.env.INTERNAL_API_SECRET ?? '';
210
+ if (!internalApiSecret) {
211
+ throw new Error('INTERNAL_API_SECRET is not set and no app identity configured — cannot sign publish request. ' +
212
+ 'Run `anby login && anby init` to register the app first.');
213
+ }
214
+ const signature = (0, index_js_1.signHmac)(submittedBy, internalApiSecret);
215
+ authHeaders = {
216
+ 'x-internal-user': submittedBy,
217
+ 'x-internal-signature': signature,
218
+ };
219
+ }
191
220
  const res = await fetch(`${registryUrl}/registry/apps`, {
192
221
  method: 'POST',
193
222
  headers: {
194
223
  'Content-Type': 'application/json',
195
- 'x-internal-user': submittedBy,
196
- 'x-internal-signature': signature,
224
+ ...authHeaders,
197
225
  },
198
- body: JSON.stringify(body),
226
+ body: bodyJson,
199
227
  });
200
228
  if (!res.ok) {
201
229
  const errBody = await res.text();
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/apps/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/apps/publish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/entities/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY,CAAC,IAAI,GAAG,OAAO;IAC1C,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACtE,8DAA8D;IAC9D,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,GAAG,mBAAmB,GACvC,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,wBAAsB,eAAe,CAAC,IAAI,GAAG,OAAO,EAClD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAkH7B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/entities/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY,CAAC,IAAI,GAAG,OAAO;IAC1C,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACtE,8DAA8D;IAC9D,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,GAAG,mBAAmB,GACvC,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,wBAAsB,eAAe,CAAC,IAAI,GAAG,OAAO,EAClD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAuH7B"}
@@ -55,6 +55,11 @@ async function getEntityClient(tenantId, entityName, version = 'v1') {
55
55
  res = await doRequest();
56
56
  }
57
57
  catch (err) {
58
+ // Auth failures from getScopedToken propagate as ScopedTokenError —
59
+ // those are NOT unreachability and must surface their real cause so
60
+ // operators don't spend hours chasing a phantom network problem.
61
+ if (err instanceof errors_js_1.ScopedTokenError)
62
+ throw err;
58
63
  throw new errors_js_1.EntityProviderUnreachableError(`${entityName}@${version}`, provider.baseUrl, err);
59
64
  }
60
65
  if (res.status === 401) {
@@ -64,6 +69,8 @@ async function getEntityClient(tenantId, entityName, version = 'v1') {
64
69
  res = await doRequest();
65
70
  }
66
71
  catch (err) {
72
+ if (err instanceof errors_js_1.ScopedTokenError)
73
+ throw err;
67
74
  throw new errors_js_1.EntityProviderUnreachableError(`${entityName}@${version}`, provider.baseUrl, err);
68
75
  }
69
76
  if (res.status === 401) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/entities/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/entities/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/entities/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAKpB,UAAU,SAAS;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAepB;AA0DD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAa,GACrB,mBAAmB,CAiBrB;AAED,+CAA+C;AAC/C,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAK9B;AAMD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC3C,IAAI,CAMN;AAED,wBAAgB,cAAc,IAAI,IAAI,CAKrC"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/entities/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAKpB,UAAU,SAAS;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAepB;AAkED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAa,GACrB,mBAAmB,CAiBrB;AAED,+CAA+C;AAC/C,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAK9B;AAMD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC3C,IAAI,CAMN;AAED,wBAAgB,cAAc,IAAI,IAAI,CAKrC"}
@@ -50,6 +50,12 @@ async function doFetch(tenantId, ifNoneMatch) {
50
50
  const cur = _tenantMaps.get(tenantId);
51
51
  if (cur)
52
52
  return { ...cur, fetchedAt: Date.now() };
53
+ // 304 with no cached map is a contract violation: we only send
54
+ // if-none-match when we already have a map, so the server should
55
+ // never reply 304 to a cold caller. Surface a clear message instead
56
+ // of falling through to the generic !res.ok branch which would say
57
+ // "fetch failed (304)" and look like a real failure.
58
+ throw new Error(`registry returned 304 Not Modified for tenant ${tenantId} but no cached entity-map exists — likely a stale ETag was sent or the cache was cleared mid-flight`);
53
59
  }
54
60
  if (!res.ok) {
55
61
  throw new Error(`registry entity-map fetch failed (${res.status}) for tenant ${tenantId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/entities/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/entities/resolver.ts"],"names":[],"mappings":"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"}
@@ -4,17 +4,12 @@ export interface AnbyVitePluginOptions {
4
4
  manifestPath?: string;
5
5
  /** Output path for generated types relative to vite root. Default: `./.anby/types.d.ts`. */
6
6
  outFile?: string;
7
- /**
8
- * Output path for the wire-format manifest static asset, relative to
9
- * vite root. Default: `./public/_anby/manifest.json`.
10
- *
11
- * The Marketplace Submit-app form fetches this file from
12
- * `${publicUrl}/_anby/manifest.json` to publish a running app without
13
- * the operator pasting any JSON. Vite (dev) and Remix (prod) both
14
- * serve files in `public/` as static assets, so the same artifact
15
- * works in every runtime — no middleware, no Remix route file.
16
- */
7
+ /** Output path for the wire-format manifest static asset. Default: `./public/_anby/manifest.json`. */
17
8
  manifestArtifactPath?: string;
9
+ /** Source directories to scan for entity/event usage. Default: `['./app']`. */
10
+ scanDirs?: string[];
11
+ /** Disable auto-scan (only codegen from manifest). Default: false. */
12
+ disableAutoScan?: boolean;
18
13
  }
19
14
  export declare function anbyVitePlugin(opts?: AnbyVitePluginOptions): Plugin;
20
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAuDD,wBAAgB,cAAc,CAAC,IAAI,GAAE,qBAA0B,GAAG,MAAM,CA0FvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAoPD,wBAAgB,cAAc,CAAC,IAAI,GAAE,qBAA0B,GAAG,MAAM,CAyGvE"}
@@ -2,36 +2,196 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.anbyVitePlugin = anbyVitePlugin;
4
4
  /**
5
- * @anby/platform-sdk/vite — Vite plugin for auto-codegen of Anby app types.
5
+ * @anby/platform-sdk/vite — Vite plugin for Anby app integration.
6
6
  *
7
- * PLAN-app-bootstrap-phase2 PR5.
7
+ * Two responsibilities:
8
8
  *
9
- * Drop into a consumer app's vite.config.ts:
9
+ * 1. **Auto-scan** source code to discover entity/event declarations and
10
+ * keep `anby-app.manifest.json` in sync — developer never edits
11
+ * provides/requires by hand.
10
12
  *
11
- * ```ts
12
- * import { anbyVitePlugin } from '@anby/platform-sdk/vite';
13
+ * 2. **Codegen** typed module augmentations (`.anby/types.d.ts`) so
14
+ * `publishEvent` gets compile-time type checking.
13
15
  *
14
- * export default defineConfig({
15
- * plugins: [
16
- * anbyVitePlugin(),
17
- * remix({...}),
18
- * ],
19
- * });
20
- * ```
21
- *
22
- * On every dev start (and on every change to `anby-app.manifest.json`),
23
- * the plugin reads the manifest's `provides.events` and `requires.events`
24
- * arrays and writes typed module augmentations to `.anby/types.d.ts`. The
25
- * SDK's `publishEvent` overload picks up the merged `AppProvidedEvents`
26
- * interface and gives the dev compile-time errors on unknown event names.
27
- *
28
- * The plugin imports `vite` only as a TYPE — `import type { Plugin }` is
29
- * erased at compile time, so the SDK package does NOT need to ship vite
30
- * as a runtime dependency. Apps that use this plugin already have vite.
16
+ * Runs on every dev start and on source/manifest file changes.
31
17
  */
32
18
  const node_fs_1 = require("node:fs");
33
19
  const node_path_1 = require("node:path");
34
20
  const publish_js_1 = require("../apps/publish.js");
21
+ /**
22
+ * Scan source files for SDK API usage patterns:
23
+ * - getEntityClient('org.period@v1') → requires entity
24
+ * - publishEvent({ type: 'org.node.created' ... }) → provides event
25
+ * - app/schemas/*.v*.json files → provides entities
26
+ */
27
+ function scanSourceCode(root, scanDirs) {
28
+ const providesEvents = new Set();
29
+ const requiresEntities = new Set();
30
+ const providesEntities = [];
31
+ // 1. Scan for entity schema files: app/schemas/{name}.{version}.json
32
+ const schemasDir = (0, node_path_1.resolve)(root, 'app/schemas');
33
+ if ((0, node_fs_1.existsSync)(schemasDir)) {
34
+ try {
35
+ const files = (0, node_fs_1.readdirSync)(schemasDir);
36
+ for (const file of files) {
37
+ // Match: org-period.v1.json → name=org.period, version=v1
38
+ const match = file.match(/^(.+)\.(v\d+)\.json$/);
39
+ if (match) {
40
+ const rawName = match[1]; // "org-period"
41
+ const version = match[2]; // "v1"
42
+ // Convert filename to entity name: "org-period" → "org.period"
43
+ const entityName = rawName.replace(/-/g, '.');
44
+ const schemaPath = `./app/schemas/${file}`;
45
+ providesEntities.push({ name: entityName, version, schema: schemaPath });
46
+ }
47
+ }
48
+ }
49
+ catch {
50
+ // schemas dir unreadable — skip
51
+ }
52
+ }
53
+ // 2. Scan source files for API usage patterns
54
+ for (const dir of scanDirs) {
55
+ const absDir = (0, node_path_1.isAbsolute)(dir) ? dir : (0, node_path_1.resolve)(root, dir);
56
+ if (!(0, node_fs_1.existsSync)(absDir))
57
+ continue;
58
+ walkFiles(absDir, (filePath) => {
59
+ if (!filePath.match(/\.(ts|tsx|js|jsx)$/))
60
+ return;
61
+ // Skip node_modules and generated files
62
+ if (filePath.includes('node_modules') || filePath.includes('.anby/'))
63
+ return;
64
+ let content;
65
+ try {
66
+ content = (0, node_fs_1.readFileSync)(filePath, 'utf-8');
67
+ }
68
+ catch {
69
+ return;
70
+ }
71
+ // Pattern 1: getEntityClient('org.period@v1')
72
+ const entityClientRegex1 = /getEntityClient\s*\(\s*['"]([^'"]+@[^'"]+)['"]/g;
73
+ for (const match of content.matchAll(entityClientRegex1)) {
74
+ requiresEntities.add(match[1]); // e.g. "org.period@v1"
75
+ }
76
+ // Pattern 2: getEntityClient(tenantId, 'org.period', 'v1') or getEntityClient<T>(tenantId, 'org.period', 'v1')
77
+ const entityClientRegex2 = /getEntityClient\s*(?:<[^>]+>)?\s*\([^,]+,\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]/g;
78
+ for (const match of content.matchAll(entityClientRegex2)) {
79
+ requiresEntities.add(`${match[1]}@${match[2]}`); // e.g. "org.period@v1"
80
+ }
81
+ // publishEvent({ type: 'org.node.created' ... })
82
+ const publishEventRegex = /publishEvent\s*\(\s*\{[^}]*?type\s*:\s*['"]([^'"]+)['"]/g;
83
+ for (const match of content.matchAll(publishEventRegex)) {
84
+ providesEvents.add(match[1]);
85
+ }
86
+ // createEvent({ type: 'org.node.created' ... })
87
+ const createEventRegex = /createEvent\s*\(\s*\{[^}]*?type\s*:\s*['"]([^'"]+)['"]/g;
88
+ for (const match of content.matchAll(createEventRegex)) {
89
+ providesEvents.add(match[1]);
90
+ }
91
+ // Type union declarations near publishEvent context:
92
+ // type: 'org.node.created' | 'org.node.updated' | 'org.node.deleted'
93
+ // Matches dotted string literals in union type annotations
94
+ const typeUnionRegex = /type\s*:\s*((?:['"][a-z][a-z0-9.]*[a-z0-9]['"](?:\s*\|\s*)?)+)/g;
95
+ for (const unionMatch of content.matchAll(typeUnionRegex)) {
96
+ const unionStr = unionMatch[1];
97
+ const literalRegex = /['"]([a-z][a-z0-9]*(?:\.[a-z][a-z0-9]*)+)['"]/g;
98
+ for (const litMatch of unionStr.matchAll(literalRegex)) {
99
+ providesEvents.add(litMatch[1]);
100
+ }
101
+ }
102
+ });
103
+ }
104
+ return {
105
+ providesEntities,
106
+ providesEvents: [...providesEvents].sort(),
107
+ requiresEntities: [...requiresEntities].sort(),
108
+ };
109
+ }
110
+ function walkFiles(dir, callback) {
111
+ let entries;
112
+ try {
113
+ entries = (0, node_fs_1.readdirSync)(dir);
114
+ }
115
+ catch {
116
+ return;
117
+ }
118
+ for (const entry of entries) {
119
+ const full = (0, node_path_1.join)(dir, entry);
120
+ try {
121
+ const stat = (0, node_fs_1.statSync)(full);
122
+ if (stat.isDirectory()) {
123
+ if (entry === 'node_modules' || entry === '.anby' || entry === 'build')
124
+ continue;
125
+ walkFiles(full, callback);
126
+ }
127
+ else if (stat.isFile()) {
128
+ callback(full);
129
+ }
130
+ }
131
+ catch {
132
+ // skip unreadable
133
+ }
134
+ }
135
+ }
136
+ // ── Manifest sync: merge scan results into manifest ───────────────────
137
+ function syncManifest(manifestPath, scan) {
138
+ if (!(0, node_fs_1.existsSync)(manifestPath))
139
+ return false;
140
+ let raw;
141
+ try {
142
+ raw = (0, node_fs_1.readFileSync)(manifestPath, 'utf-8');
143
+ }
144
+ catch {
145
+ return false;
146
+ }
147
+ const manifest = JSON.parse(raw);
148
+ let changed = false;
149
+ // Sync provides.entities
150
+ if (scan.providesEntities.length > 0) {
151
+ const current = JSON.stringify(manifest.provides?.entities ?? []);
152
+ const scanned = JSON.stringify(scan.providesEntities);
153
+ if (current !== scanned) {
154
+ manifest.provides = manifest.provides || {};
155
+ manifest.provides.entities = scan.providesEntities;
156
+ changed = true;
157
+ }
158
+ }
159
+ // Sync provides.events
160
+ if (scan.providesEvents.length > 0) {
161
+ const current = JSON.stringify((manifest.provides?.events ?? []).slice().sort());
162
+ const scanned = JSON.stringify(scan.providesEvents);
163
+ if (current !== scanned) {
164
+ manifest.provides = manifest.provides || {};
165
+ manifest.provides.events = scan.providesEvents;
166
+ changed = true;
167
+ }
168
+ }
169
+ // Sync requires.entities
170
+ if (scan.requiresEntities.length > 0) {
171
+ const current = JSON.stringify((manifest.requires?.entities ?? []).slice().sort());
172
+ const scanned = JSON.stringify(scan.requiresEntities);
173
+ if (current !== scanned) {
174
+ manifest.requires = manifest.requires || {};
175
+ manifest.requires.entities = scan.requiresEntities;
176
+ changed = true;
177
+ }
178
+ }
179
+ if (changed) {
180
+ (0, node_fs_1.writeFileSync)(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
181
+ console.log('[anby-vite] ✔ Auto-updated manifest from source code scan');
182
+ const parts = [];
183
+ if (scan.providesEntities.length)
184
+ parts.push(`provides ${scan.providesEntities.length} entities`);
185
+ if (scan.providesEvents.length)
186
+ parts.push(`provides ${scan.providesEvents.length} events`);
187
+ if (scan.requiresEntities.length)
188
+ parts.push(`requires ${scan.requiresEntities.length} entities`);
189
+ if (parts.length)
190
+ console.log(`[anby-vite] ${parts.join(', ')}`);
191
+ }
192
+ return changed;
193
+ }
194
+ // ── Codegen: typed module augmentations ───────────────────────────────
35
195
  function renderTypes(provides, requires) {
36
196
  const sections = [];
37
197
  sections.push('// Generated by @anby/platform-sdk/vite — DO NOT EDIT.');
@@ -60,7 +220,6 @@ function renderTypes(provides, requires) {
60
220
  }
61
221
  sections.push('}');
62
222
  sections.push('');
63
- // Pure declaration file marker
64
223
  sections.push('export {};');
65
224
  sections.push('');
66
225
  return sections.join('\n');
@@ -72,13 +231,30 @@ function readManifestEvents(manifestAbsPath) {
72
231
  const requires = Array.isArray(parsed.requires?.events) ? parsed.requires.events : [];
73
232
  return { provides, requires };
74
233
  }
234
+ // ── Plugin ────────────────────────────────────────────────────────────
75
235
  function anbyVitePlugin(opts = {}) {
76
236
  const manifestRelative = opts.manifestPath ?? './anby-app.manifest.json';
77
237
  const outRelative = opts.outFile ?? './.anby/types.d.ts';
78
238
  const artifactRelative = opts.manifestArtifactPath ?? './public/_anby/manifest.json';
239
+ const scanDirsRelative = opts.scanDirs ?? ['./app'];
240
+ const autoScan = opts.disableAutoScan !== true;
241
+ let root = '';
79
242
  let resolvedManifest = '';
80
243
  let resolvedOut = '';
81
244
  let resolvedArtifact = '';
245
+ function runAutoScan() {
246
+ if (!autoScan)
247
+ return;
248
+ if (!(0, node_fs_1.existsSync)(resolvedManifest))
249
+ return;
250
+ try {
251
+ const scan = scanSourceCode(root, scanDirsRelative);
252
+ syncManifest(resolvedManifest, scan);
253
+ }
254
+ catch (err) {
255
+ console.warn(`[anby-vite] auto-scan failed: ${err.message}`);
256
+ }
257
+ }
82
258
  function generateTypes() {
83
259
  if (!(0, node_fs_1.existsSync)(resolvedManifest)) {
84
260
  console.warn(`[anby-vite] manifest not found at ${resolvedManifest} — skipping codegen`);
@@ -94,13 +270,6 @@ function anbyVitePlugin(opts = {}) {
94
270
  console.warn(`[anby-vite] codegen failed: ${err.message}`);
95
271
  }
96
272
  }
97
- /**
98
- * Generate `public/_anby/manifest.json` — the wire-format manifest
99
- * with all `provides.entities[].schema` paths resolved to inline JSON
100
- * content. Vite/Remix serve `public/` as static assets in both dev
101
- * and production, so this single artifact powers the Marketplace
102
- * Submit-app form everywhere.
103
- */
104
273
  async function generateManifestArtifact() {
105
274
  if (!(0, node_fs_1.existsSync)(resolvedManifest))
106
275
  return;
@@ -116,15 +285,14 @@ function anbyVitePlugin(opts = {}) {
116
285
  }
117
286
  }
118
287
  function regenerateAll() {
119
- generateTypes();
120
- void generateManifestArtifact();
288
+ runAutoScan(); // 1. Scan code → update manifest
289
+ generateTypes(); // 2. Read manifest → generate types
290
+ void generateManifestArtifact(); // 3. Read manifest → generate wire artifact
121
291
  }
122
292
  return {
123
293
  name: '@anby/platform-sdk/vite',
124
294
  configResolved(config) {
125
- // Resolve relative paths against the Vite project root, not cwd.
126
- // This is robust against pnpm workspaces / symlinks / monorepos.
127
- const root = config.root;
295
+ root = config.root;
128
296
  resolvedManifest = (0, node_path_1.isAbsolute)(manifestRelative)
129
297
  ? manifestRelative
130
298
  : (0, node_path_1.resolve)(root, manifestRelative);
@@ -139,12 +307,22 @@ function anbyVitePlugin(opts = {}) {
139
307
  regenerateAll();
140
308
  },
141
309
  configureServer(server) {
142
- // Watch the resolved absolute path. Compare in the change handler
143
- // against the resolved path so we don't false-trigger on other
144
- // manifest.json files in the workspace (e.g., node_modules).
310
+ // Watch manifest + source dirs
145
311
  server.watcher.add(resolvedManifest);
312
+ for (const dir of scanDirsRelative) {
313
+ const absDir = (0, node_path_1.isAbsolute)(dir) ? dir : (0, node_path_1.resolve)(root, dir);
314
+ if ((0, node_fs_1.existsSync)(absDir))
315
+ server.watcher.add(absDir);
316
+ }
146
317
  server.watcher.on('change', (changedPath) => {
147
- if ((0, node_path_1.resolve)(changedPath) === resolvedManifest) {
318
+ const abs = (0, node_path_1.resolve)(changedPath);
319
+ if (abs === resolvedManifest) {
320
+ // Manifest changed directly — regenerate types + artifact (no re-scan)
321
+ generateTypes();
322
+ void generateManifestArtifact();
323
+ }
324
+ else if (changedPath.match(/\.(ts|tsx|js|jsx)$/)) {
325
+ // Source file changed — re-scan → update manifest → regenerate
148
326
  regenerateAll();
149
327
  }
150
328
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"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"}