@beignet/cli 0.0.40 → 0.0.42

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 (111) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +139 -17
  3. package/dist/analysis/source-index.d.ts +38 -0
  4. package/dist/analysis/source-index.d.ts.map +1 -0
  5. package/dist/analysis/source-index.js +271 -0
  6. package/dist/analysis/source-index.js.map +1 -0
  7. package/dist/analysis/workspace.d.ts +16 -0
  8. package/dist/analysis/workspace.d.ts.map +1 -0
  9. package/dist/analysis/workspace.js +134 -0
  10. package/dist/analysis/workspace.js.map +1 -0
  11. package/dist/app-map-schema.d.ts +5 -0
  12. package/dist/app-map-schema.d.ts.map +1 -0
  13. package/dist/app-map-schema.js +26 -0
  14. package/dist/app-map-schema.js.map +1 -0
  15. package/dist/app-map.d.ts +96 -0
  16. package/dist/app-map.d.ts.map +1 -0
  17. package/dist/app-map.js +1141 -0
  18. package/dist/app-map.js.map +1 -0
  19. package/dist/check.d.ts +7 -0
  20. package/dist/check.d.ts.map +1 -1
  21. package/dist/check.js +20 -5
  22. package/dist/check.js.map +1 -1
  23. package/dist/choices.d.ts +18 -0
  24. package/dist/choices.d.ts.map +1 -1
  25. package/dist/choices.js +35 -0
  26. package/dist/choices.js.map +1 -1
  27. package/dist/db.d.ts +49 -13
  28. package/dist/db.d.ts.map +1 -1
  29. package/dist/db.js +202 -21
  30. package/dist/db.js.map +1 -1
  31. package/dist/doctor-fixes.d.ts +64 -0
  32. package/dist/doctor-fixes.d.ts.map +1 -0
  33. package/dist/doctor-fixes.js +142 -0
  34. package/dist/doctor-fixes.js.map +1 -0
  35. package/dist/explain.d.ts +100 -0
  36. package/dist/explain.d.ts.map +1 -0
  37. package/dist/explain.js +606 -0
  38. package/dist/explain.js.map +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +165 -21
  41. package/dist/index.js.map +1 -1
  42. package/dist/inspect.d.ts +33 -9
  43. package/dist/inspect.d.ts.map +1 -1
  44. package/dist/inspect.js +406 -119
  45. package/dist/inspect.js.map +1 -1
  46. package/dist/lib.d.ts +10 -2
  47. package/dist/lib.d.ts.map +1 -1
  48. package/dist/lib.js +5 -2
  49. package/dist/lib.js.map +1 -1
  50. package/dist/make/shared.js +3 -3
  51. package/dist/make/shared.js.map +1 -1
  52. package/dist/make.d.ts.map +1 -1
  53. package/dist/make.js +63 -2
  54. package/dist/make.js.map +1 -1
  55. package/dist/mcp.d.ts +1 -1
  56. package/dist/mcp.d.ts.map +1 -1
  57. package/dist/mcp.js +188 -12
  58. package/dist/mcp.js.map +1 -1
  59. package/dist/preflight.d.ts.map +1 -1
  60. package/dist/preflight.js +10 -0
  61. package/dist/preflight.js.map +1 -1
  62. package/dist/provider-add.d.ts.map +1 -1
  63. package/dist/provider-add.js +167 -13
  64. package/dist/provider-add.js.map +1 -1
  65. package/dist/provider-audit.d.ts +6 -0
  66. package/dist/provider-audit.d.ts.map +1 -1
  67. package/dist/provider-audit.js +63 -15
  68. package/dist/provider-audit.js.map +1 -1
  69. package/dist/templates/agents.d.ts.map +1 -1
  70. package/dist/templates/agents.js +35 -6
  71. package/dist/templates/agents.js.map +1 -1
  72. package/dist/templates/base.d.ts.map +1 -1
  73. package/dist/templates/base.js +13 -7
  74. package/dist/templates/base.js.map +1 -1
  75. package/dist/templates/index.d.ts +1 -1
  76. package/dist/templates/index.d.ts.map +1 -1
  77. package/dist/templates/index.js +8 -1
  78. package/dist/templates/index.js.map +1 -1
  79. package/dist/templates/server.d.ts +3 -0
  80. package/dist/templates/server.d.ts.map +1 -1
  81. package/dist/templates/server.js +55 -1
  82. package/dist/templates/server.js.map +1 -1
  83. package/dist/templates/shared.d.ts +2 -1
  84. package/dist/templates/shared.d.ts.map +1 -1
  85. package/dist/templates/shared.js +8 -5
  86. package/dist/templates/shared.js.map +1 -1
  87. package/package.json +3 -2
  88. package/skills/app-structure/SKILL.md +48 -6
  89. package/src/analysis/source-index.ts +395 -0
  90. package/src/analysis/workspace.ts +180 -0
  91. package/src/app-map-schema.ts +28 -0
  92. package/src/app-map.ts +1705 -0
  93. package/src/check.ts +27 -4
  94. package/src/choices.ts +57 -0
  95. package/src/db.ts +276 -28
  96. package/src/doctor-fixes.ts +252 -0
  97. package/src/explain.ts +894 -0
  98. package/src/index.ts +237 -31
  99. package/src/inspect.ts +567 -147
  100. package/src/lib.ts +64 -1
  101. package/src/make/shared.ts +3 -3
  102. package/src/make.ts +90 -2
  103. package/src/mcp.ts +292 -12
  104. package/src/preflight.ts +14 -0
  105. package/src/provider-add.ts +211 -12
  106. package/src/provider-audit.ts +127 -22
  107. package/src/templates/agents.ts +35 -6
  108. package/src/templates/base.ts +25 -6
  109. package/src/templates/index.ts +18 -1
  110. package/src/templates/server.ts +58 -1
  111. package/src/templates/shared.ts +15 -7
@@ -1,7 +1,8 @@
1
- import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
1
+ import { mkdir, readdir, readFile, stat, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { providerPresetChoices, } from "./choices.js";
4
4
  import { directoryPath, loadBeignetConfig, } from "./config.js";
5
+ import { aliasModule } from "./make/shared.js";
5
6
  import { appendToArrayExpression, appendToNamedArray, arrayInitializerInfo, identifiersFromArrayExpression, insertAfterImports, matchingDelimiterIndex, } from "./registry-edits.js";
6
7
  import { externalVersions, json } from "./templates/shared.js";
7
8
  const presets = {
@@ -88,7 +89,7 @@ const presets = {
88
89
  displayName: "Inngest jobs",
89
90
  importName: "createInngestJobsProvider",
90
91
  importFrom: "@beignet/provider-jobs-inngest",
91
- providerEntry: "createInngestJobsProvider()",
92
+ providerEntry: "createInngestJobsProvider({ client: inngest })",
92
93
  dependencies: (packageJson) => ({
93
94
  "@beignet/provider-jobs-inngest": beignetDependencyVersion(packageJson),
94
95
  inngest: externalVersions.inngest,
@@ -99,11 +100,20 @@ const presets = {
99
100
  importName: "JobDispatcherPort",
100
101
  importFrom: "@beignet/core/ports",
101
102
  },
102
- envVars: ["INNGEST_APP_NAME", "INNGEST_EVENT_KEY"],
103
+ envVars: [
104
+ "INNGEST_APP_NAME",
105
+ "INNGEST_DEV",
106
+ "INNGEST_EVENT_KEY",
107
+ "INNGEST_SIGNING_KEY",
108
+ "INNGEST_SIGNING_KEY_FALLBACK",
109
+ ],
103
110
  envExample: [
104
111
  "# Inngest jobs provider",
105
112
  "INNGEST_APP_NAME=beignet-app",
113
+ "INNGEST_DEV=1",
106
114
  "# INNGEST_EVENT_KEY=",
115
+ "# INNGEST_SIGNING_KEY=",
116
+ "# INNGEST_SIGNING_KEY_FALLBACK=",
107
117
  "",
108
118
  ].join("\n"),
109
119
  docs: [
@@ -111,16 +121,16 @@ const presets = {
111
121
  "",
112
122
  "- Package: `@beignet/provider-jobs-inngest`",
113
123
  "- Peer dependency: `inngest`",
114
- "- The preset wires `createInngestJobsProvider()` in `server/providers.ts` and defers `jobs` in `infra/port-wiring.ts`.",
124
+ "- The preset creates one shared Inngest client, a central Beignet job registry, and wires that client into `server/providers.ts`.",
115
125
  "- Define jobs with `defineJob(...)` and dispatch them through `ctx.ports.jobs.dispatch(...)`.",
116
- "- Execution needs an Inngest serve route built from `createInngestJobFunction(...)` and `serve(...)`. See the jobs docs page.",
126
+ "- Next.js apps receive `app/api/inngest/route.ts`; other runtimes receive `createAppInngestFunctions(...)` so their host can bind an app-owned service context.",
117
127
  "- Use `ctx.ports.inngest` only as an escape hatch for Inngest-specific workflow APIs; prefer `ctx.ports.jobs.dispatch(...)` for Beignet jobs.",
118
128
  "",
119
129
  ].join("\n"),
120
130
  nextSteps: [
121
131
  "Run your package manager install command.",
122
- "Set INNGEST_APP_NAME and, for Inngest cloud, INNGEST_EVENT_KEY in .env.local or your deployment environment.",
123
- "Expose an Inngest serve route with createInngestJobFunction(...) so dispatched jobs execute. See the jobs docs page.",
132
+ "Use INNGEST_DEV=1 only with the local dev server. Set INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY in production.",
133
+ "For non-Next runtimes, call createAppInngestFunctions(...) after creating the app server, then mount the result with Inngest's host adapter.",
124
134
  "Run beignet provider audit and beignet doctor --strict.",
125
135
  ],
126
136
  conflictingProviderEntries: ["createBullMQJobsProvider"],
@@ -655,7 +665,7 @@ export async function addProviderPreset(options) {
655
665
  const targetDir = path.resolve(options.cwd ?? process.cwd());
656
666
  const config = await loadBeignetConfig(targetDir);
657
667
  const readSource = (filePath) => readOptionalAppFile(targetDir, filePath);
658
- const filesToPlan = await providerPresetFiles(preset, config, readSource);
668
+ const filesToPlan = await providerPresetFiles(preset, config, readSource, targetDir);
659
669
  const plannedFiles = await planFiles(filesToPlan, readSource);
660
670
  if (!options.dryRun) {
661
671
  for (const file of plannedFiles) {
@@ -678,7 +688,7 @@ export async function planProviderPresetsForCreate(options) {
678
688
  };
679
689
  for (const name of options.names) {
680
690
  const preset = presets[name];
681
- const filesToPlan = await providerPresetFiles(preset, config, readSource);
691
+ const filesToPlan = await providerPresetFiles(preset, config, readSource, options.targetDir);
682
692
  const plannedFiles = await planFiles(filesToPlan, readSource);
683
693
  for (const file of plannedFiles) {
684
694
  sources.set(file.path, file.content);
@@ -693,13 +703,21 @@ export async function planProviderPresetsForCreate(options) {
693
703
  presets: presetResults,
694
704
  };
695
705
  }
696
- async function providerPresetFiles(preset, config, readSource) {
706
+ async function providerPresetFiles(preset, config, readSource, targetDir) {
697
707
  const packageJsonPath = "package.json";
698
708
  const providersPath = serverProvidersPath(config);
699
709
  const providersDocsPath = "docs/providers.md";
700
710
  const packageJsonSource = await readRequiredSource(readSource, packageJsonPath);
701
711
  const packageJson = parsePackageJson(packageJsonSource);
702
712
  const envExampleContent = updateEnvExample(await readSource(".env.example"), preset);
713
+ const effectivePreset = preset.name === "jobs-inngest"
714
+ ? {
715
+ ...preset,
716
+ additionalImports: [
717
+ `import { inngest } from "${aliasModule(path.posix.join(directoryPath(path.posix.dirname(config.paths.portWiring)), "inngest.ts"))}";`,
718
+ ],
719
+ }
720
+ : preset;
703
721
  const files = [
704
722
  {
705
723
  path: packageJsonPath,
@@ -707,7 +725,7 @@ async function providerPresetFiles(preset, config, readSource) {
707
725
  },
708
726
  {
709
727
  path: providersPath,
710
- content: updateServerProviders(await readRequiredSource(readSource, providersPath), preset),
728
+ content: updateServerProviders(await readRequiredSource(readSource, providersPath), effectivePreset),
711
729
  },
712
730
  {
713
731
  path: config.paths.ports,
@@ -728,8 +746,139 @@ async function providerPresetFiles(preset, config, readSource) {
728
746
  content: envExampleContent,
729
747
  });
730
748
  }
749
+ if (preset.name === "jobs-inngest") {
750
+ files.push(...(await inngestProviderFiles({ targetDir, config, readSource })));
751
+ }
731
752
  return files;
732
753
  }
754
+ async function inngestProviderFiles(options) {
755
+ const infrastructurePath = directoryPath(path.posix.dirname(options.config.paths.portWiring));
756
+ const serverPath = directoryPath(path.posix.dirname(options.config.paths.server));
757
+ const clientPath = path.posix.join(infrastructurePath, "inngest.ts");
758
+ const registryPath = path.posix.join(serverPath, "inngest.ts");
759
+ const jobRegistries = await discoverJobRegistries(options.targetDir, options.config);
760
+ const imports = jobRegistries
761
+ .map(({ name, file }) => `import { ${name} } from "${aliasModule(file)}";`)
762
+ .join("\n");
763
+ const entries = jobRegistries.map(({ name }) => `\t...${name},`).join("\n");
764
+ const files = [];
765
+ if ((await options.readSource(clientPath)) === undefined) {
766
+ files.push({
767
+ path: clientPath,
768
+ content: `import { Inngest } from "inngest";
769
+
770
+ /** Shared by the Beignet jobs provider and the Inngest serve endpoint. */
771
+ export const inngest = new Inngest({
772
+ \tid: process.env.INNGEST_APP_NAME ?? "beignet-app",
773
+ });
774
+ `,
775
+ });
776
+ }
777
+ if ((await options.readSource(registryPath)) === undefined) {
778
+ files.push({
779
+ path: registryPath,
780
+ content: options.config.framework === "next"
781
+ ? `import { createServiceActor } from "@beignet/core/ports";
782
+ import { createInngestJobFunctions } from "@beignet/provider-jobs-inngest";
783
+ import type { AppContext } from "${aliasModule(options.config.paths.appContext)}";
784
+ import { inngest } from "${aliasModule(clientPath)}";
785
+ ${imports ? `${imports}\n` : ""}import { getServer } from "${aliasModule(options.config.paths.server)}";
786
+
787
+ /** Central registry updated by \`beignet make job\`. */
788
+ export const inngestJobs = [
789
+ ${entries}
790
+ ] as const;
791
+
792
+ export const inngestFunctions = createInngestJobFunctions<AppContext>({
793
+ \tclient: inngest,
794
+ \tjobs: inngestJobs,
795
+ \tctx: async () => {
796
+ \t\tconst server = await getServer();
797
+ \t\treturn server.createServiceContext({
798
+ \t\t\tactor: createServiceActor("beignet-inngest"),
799
+ \t\t});
800
+ \t},
801
+ \tinstrumentation: async () => (await getServer()).ports,
802
+ \terrorReporter: async () => (await getServer()).ports.errorReporter,
803
+ });
804
+ `
805
+ : `import {
806
+ \tcreateInngestJobFunctions,
807
+ \ttype CreateInngestJobFunctionsOptions,
808
+ } from "@beignet/provider-jobs-inngest";
809
+ import type { AppContext } from "${aliasModule(options.config.paths.appContext)}";
810
+ import { inngest } from "${aliasModule(clientPath)}";
811
+ ${imports ? `${imports}\n` : ""}
812
+ /** Central registry updated by \`beignet make job\`. */
813
+ export const inngestJobs = [
814
+ ${entries}
815
+ ] as const;
816
+
817
+ export type AppInngestFunctionOptions = Omit<
818
+ \tCreateInngestJobFunctionsOptions<AppContext>,
819
+ \t"client" | "jobs" | "ctx"
820
+ > & {
821
+ \tctx: NonNullable<CreateInngestJobFunctionsOptions<AppContext>["ctx"]>;
822
+ };
823
+
824
+ /** Bind the app-owned runtime context when mounting an Inngest host adapter. */
825
+ export function createAppInngestFunctions(
826
+ \toptions: AppInngestFunctionOptions,
827
+ ) {
828
+ \treturn createInngestJobFunctions<AppContext>({
829
+ \t\t...options,
830
+ \t\tclient: inngest,
831
+ \t\tjobs: inngestJobs,
832
+ \t});
833
+ }
834
+ `,
835
+ });
836
+ }
837
+ if (options.config.framework === "next") {
838
+ const routePath = path.posix.join(directoryPath(options.config.paths.routes), "inngest/route.ts");
839
+ if ((await options.readSource(routePath)) === undefined) {
840
+ files.push({
841
+ path: routePath,
842
+ content: `import { serve } from "inngest/next";
843
+ import { inngest } from "${aliasModule(clientPath)}";
844
+ import { inngestFunctions } from "${aliasModule(registryPath)}";
845
+
846
+ export const { GET, POST, PUT } = serve({
847
+ \tclient: inngest,
848
+ \tfunctions: inngestFunctions,
849
+ });
850
+ `,
851
+ });
852
+ }
853
+ }
854
+ return files;
855
+ }
856
+ async function discoverJobRegistries(targetDir, config) {
857
+ const featuresDir = path.join(targetDir, directoryPath(config.paths.features));
858
+ let entries;
859
+ try {
860
+ entries = await readdir(featuresDir, { recursive: true, encoding: "utf8" });
861
+ }
862
+ catch {
863
+ return [];
864
+ }
865
+ const registries = [];
866
+ for (const entry of entries) {
867
+ const normalized = entry.replaceAll(path.sep, "/");
868
+ if (!normalized.endsWith("/jobs/index.ts"))
869
+ continue;
870
+ const absolutePath = path.join(featuresDir, entry);
871
+ const source = await readFile(absolutePath, "utf8");
872
+ const match = source.match(/export const\s+([A-Za-z_$][\w$]*Jobs)\s*=/);
873
+ if (!match?.[1])
874
+ continue;
875
+ registries.push({
876
+ name: match[1],
877
+ file: path.posix.join(directoryPath(config.paths.features), normalized),
878
+ });
879
+ }
880
+ return registries.sort((left, right) => left.file.localeCompare(right.file));
881
+ }
733
882
  function providerPresetResult(preset, targetDir, dryRun, plannedFiles) {
734
883
  return {
735
884
  schemaVersion: 1,
@@ -801,14 +950,19 @@ function updatePackageJson(source, packageJson, preset) {
801
950
  }
802
951
  function updateServerProviders(source, preset) {
803
952
  assertNoConflictingProviders(source, preset);
953
+ let next = source;
954
+ for (const importLine of preset.additionalImports ?? []) {
955
+ if (!next.includes(importLine))
956
+ next = insertAfterImports(next, importLine);
957
+ }
804
958
  const importLine = `import { ${preset.importName} } from "${preset.importFrom}";`;
805
- const result = appendToNamedArray(source, "providers", preset.providerEntry, hasNamedImport(source, preset.importName, preset.importFrom)
959
+ const result = appendToNamedArray(next, "providers", preset.providerEntry, hasNamedImport(source, preset.importName, preset.importFrom)
806
960
  ? undefined
807
961
  : importLine);
808
962
  if (result.kind === "missing") {
809
963
  throw new Error("Could not find `export const providers = [...]` in server/providers.ts.");
810
964
  }
811
- return result.kind === "updated" ? result.source : source;
965
+ return result.kind === "updated" ? result.source : next;
812
966
  }
813
967
  function assertNoConflictingProviders(source, preset) {
814
968
  const registry = arrayInitializerInfo(source, "providers");
@@ -1 +1 @@
1
- {"version":3,"file":"provider-add.js","sourceRoot":"","sources":["../src/provider-add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-add.js","sourceRoot":"","sources":["../src/provider-add.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,11 @@ export type ProviderAuditOptions = {
37
37
  };
38
38
  export type ProviderAuditStatus = "present" | "missing" | "none" | "inactive";
39
39
  export type ProviderRegistrationStatus = "registered" | "missing" | "optional-missing" | "not-required";
40
+ export type ProviderRegistrationSource = {
41
+ file: string;
42
+ line: number;
43
+ column: number;
44
+ };
40
45
  export type ProviderMetadataAudit = {
41
46
  status: "valid";
42
47
  source: string;
@@ -82,6 +87,7 @@ export type ProviderAuditEntry = {
82
87
  declared: boolean;
83
88
  metadata: ProviderMetadataAudit;
84
89
  registration: ProviderRegistrationStatus;
90
+ registrationSources: ProviderRegistrationSource[];
85
91
  requiredEnv: ProviderRequirementAudit;
86
92
  requiredTables: ProviderRequirementAudit;
87
93
  appPorts: ProviderAppPortsAudit;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-audit.d.ts","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-audit.d.ts","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ export async function auditProviders(options = {}) {
11
11
  const packageJson = await readPackageJson(targetDir, files);
12
12
  const packageNames = await providerAuditPackageNames(targetDir, packageJson);
13
13
  const sourceCache = new Map();
14
- const providerEntries = await readProviderListEntries(targetDir, files, config, sourceCache);
14
+ const providerEntryRecords = await readProviderListEntryRecords(targetDir, files, config, sourceCache);
15
+ const providerEntries = providerEntryRecords.flatMap((entry) => entry.searchableText);
15
16
  const configFiles = providerOperationalConfigFiles(files, config);
16
17
  const portsSource = files.includes(config.paths.ports)
17
18
  ? await readCachedSource(targetDir, config.paths.ports, sourceCache)
@@ -40,6 +41,7 @@ export async function auditProviders(options = {}) {
40
41
  sourceCache,
41
42
  portsSource,
42
43
  providerEntries,
44
+ providerEntryRecords,
43
45
  sourceFile: source.file,
44
46
  packageJson,
45
47
  rule: providerDoctorRuleFromMetadata(packageName, parsed.metadata),
@@ -150,13 +152,24 @@ export function providerVariantRegistrationSeverity(variants) {
150
152
  return undefined;
151
153
  }
152
154
  export async function readProviderListEntries(targetDir, files, config, sourceCache) {
155
+ const records = await readProviderListEntryRecords(targetDir, files, config, sourceCache);
156
+ return records.flatMap((entry) => entry.searchableText);
157
+ }
158
+ async function readProviderListEntryRecords(targetDir, files, config, sourceCache) {
153
159
  const providerFiles = serverProviderFiles(files, config);
154
- const providerSource = (await Promise.all(providerFiles.map((file) => readCachedSource(targetDir, file, sourceCache)))).join("\n");
155
- const providerListSource = extractProviderListSource(providerSource);
156
- const entries = providerListSource === undefined
157
- ? []
158
- : providerListEntries(providerListSource);
159
- return expandProviderEntryIdentifiers(entries, providerSource);
160
+ const records = [];
161
+ for (const file of providerFiles) {
162
+ const providerSource = await readCachedSource(targetDir, file, sourceCache);
163
+ for (const list of extractProviderLists(providerSource)) {
164
+ for (const entry of providerListEntries(list.source)) {
165
+ records.push({
166
+ searchableText: expandProviderEntryIdentifiers([entry.source], providerSource),
167
+ source: sourceLocation(file, providerSource, list.start + entry.start),
168
+ });
169
+ }
170
+ }
171
+ }
172
+ return records;
160
173
  }
161
174
  /**
162
175
  * Resolve identifiers referenced by provider list entries to their `const`
@@ -684,6 +697,8 @@ async function providerAuditEntryForRule(options) {
684
697
  requiredTables,
685
698
  appPorts,
686
699
  });
700
+ const registrationTokens = options.rule.variants?.flatMap((variant) => variant.tokens) ??
701
+ options.rule.tokens;
687
702
  return {
688
703
  packageName: options.rule.packageName,
689
704
  displayName: options.rule.displayName,
@@ -694,6 +709,9 @@ async function providerAuditEntryForRule(options) {
694
709
  issues: [],
695
710
  },
696
711
  registration,
712
+ registrationSources: registration === "registered"
713
+ ? registrationSourcesForTokens(registrationTokens, options.providerEntryRecords)
714
+ : [],
697
715
  requiredEnv,
698
716
  requiredTables,
699
717
  appPorts,
@@ -728,6 +746,7 @@ function providerAuditEntryForMissingMetadata(packageName, packageJson) {
728
746
  declared: installedPackageNames(packageJson).has(packageName),
729
747
  metadata: { status: "missing", issues: [] },
730
748
  registration: "not-required",
749
+ registrationSources: [],
731
750
  requiredEnv: emptyRequirement(),
732
751
  requiredTables: emptyRequirement(),
733
752
  appPorts: emptyAppPorts(),
@@ -747,6 +766,7 @@ function providerAuditEntryForInvalidMetadata(packageName, packageJson, source,
747
766
  issues: [...issues],
748
767
  },
749
768
  registration: "not-required",
769
+ registrationSources: [],
750
770
  requiredEnv: emptyRequirement(),
751
771
  requiredTables: emptyRequirement(),
752
772
  appPorts: emptyAppPorts(),
@@ -765,6 +785,14 @@ function registrationAudit(tokens, severity, providerEntries) {
765
785
  return "optional-missing";
766
786
  return "not-required";
767
787
  }
788
+ function registrationSourcesForTokens(tokens, entries) {
789
+ const sources = entries
790
+ .filter((entry) => tokens.some((token) => entry.searchableText.some((text) => text.includes(token))))
791
+ .map((entry) => entry.source);
792
+ return sources.filter((source, index) => sources.findIndex((candidate) => candidate.file === source.file &&
793
+ candidate.line === source.line &&
794
+ candidate.column === source.column) === index);
795
+ }
768
796
  function variantRegistrationAudit(variants, detectedVariants) {
769
797
  if (detectedVariants.length > 0)
770
798
  return "registered";
@@ -924,18 +952,20 @@ export function serverProviderFiles(files, config) {
924
952
  const candidates = [`${serverDir}/providers.ts`, config.paths.server];
925
953
  return candidates.filter((file) => files.includes(file));
926
954
  }
927
- function extractProviderListSource(source) {
955
+ function extractProviderLists(source) {
928
956
  const listMatches = [
929
957
  ...source.matchAll(/\bproviders\s*=\s*\[([\s\S]*?)\]\s*(?:;|as const)/g),
930
958
  ...source.matchAll(/\bproviders\s*:\s*\[([\s\S]*?)\]/g),
931
- ];
932
- if (listMatches.length === 0)
933
- return undefined;
934
- return listMatches.map((match) => match[1]).join("\n");
959
+ ].sort((left, right) => (left.index ?? 0) - (right.index ?? 0));
960
+ return listMatches.map((match) => ({
961
+ source: match[1] ?? "",
962
+ start: (match.index ?? 0) + match[0].indexOf("[") + 1,
963
+ }));
935
964
  }
936
965
  function providerListEntries(source) {
937
966
  const entries = [];
938
967
  let current = "";
968
+ let currentStart;
939
969
  let depth = 0;
940
970
  let quote;
941
971
  let escaped = false;
@@ -959,6 +989,9 @@ function providerListEntries(source) {
959
989
  continue;
960
990
  }
961
991
  if (quote) {
992
+ if (currentStart === undefined && !/\s/.test(char)) {
993
+ currentStart = index;
994
+ }
962
995
  current += char;
963
996
  if (escaped) {
964
997
  escaped = false;
@@ -985,9 +1018,13 @@ function providerListEntries(source) {
985
1018
  }
986
1019
  if (char === '"' || char === "'" || char === "`") {
987
1020
  quote = char;
1021
+ currentStart ??= index;
988
1022
  current += char;
989
1023
  continue;
990
1024
  }
1025
+ if (currentStart === undefined && !/\s/.test(char)) {
1026
+ currentStart = index;
1027
+ }
991
1028
  if (char === "(" || char === "[" || char === "{") {
992
1029
  depth += 1;
993
1030
  }
@@ -997,17 +1034,28 @@ function providerListEntries(source) {
997
1034
  if (char === "," && depth === 0) {
998
1035
  const entry = current.trim();
999
1036
  if (entry)
1000
- entries.push(entry);
1037
+ entries.push({ source: entry, start: currentStart ?? index });
1001
1038
  current = "";
1039
+ currentStart = undefined;
1002
1040
  continue;
1003
1041
  }
1004
1042
  current += char;
1005
1043
  }
1006
1044
  const entry = current.trim();
1007
- if (entry)
1008
- entries.push(entry);
1045
+ if (entry) {
1046
+ entries.push({ source: entry, start: currentStart ?? source.length });
1047
+ }
1009
1048
  return entries;
1010
1049
  }
1050
+ function sourceLocation(file, source, index) {
1051
+ const prefix = source.slice(0, index);
1052
+ const lastNewline = prefix.lastIndexOf("\n");
1053
+ return {
1054
+ file,
1055
+ line: prefix.split("\n").length,
1056
+ column: index - lastNewline,
1057
+ };
1058
+ }
1011
1059
  function metadataSourcePath(targetDir, file) {
1012
1060
  const targetRelative = normalizePath(path.relative(targetDir, file));
1013
1061
  if (!targetRelative.startsWith("../"))