@nocobase/app-plugin-foundation 0.1.0-beta.5 → 0.1.0-beta.7

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 (132) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +34 -7
  3. package/dist/client/business-modules.d.ts.map +1 -1
  4. package/dist/client/business-modules.js +11 -0
  5. package/dist/client/business-modules.js.map +1 -1
  6. package/dist/client/components/foundation-page.d.ts.map +1 -1
  7. package/dist/client/components/foundation-page.js +58 -72
  8. package/dist/client/components/foundation-page.js.map +1 -1
  9. package/dist/client/components/module-matrix.d.ts.map +1 -1
  10. package/dist/client/components/module-matrix.js +3 -1
  11. package/dist/client/components/module-matrix.js.map +1 -1
  12. package/dist/client/components/ui/skeleton.d.ts +3 -0
  13. package/dist/client/components/ui/skeleton.d.ts.map +1 -0
  14. package/dist/client/components/ui/skeleton.js +7 -0
  15. package/dist/client/components/ui/skeleton.js.map +1 -0
  16. package/dist/client/locales/de-DE.d.ts.map +1 -1
  17. package/dist/client/locales/de-DE.js +32 -18
  18. package/dist/client/locales/de-DE.js.map +1 -1
  19. package/dist/client/locales/en-US.d.ts +14 -0
  20. package/dist/client/locales/en-US.d.ts.map +1 -1
  21. package/dist/client/locales/en-US.js +32 -18
  22. package/dist/client/locales/en-US.js.map +1 -1
  23. package/dist/client/locales/es-ES.d.ts.map +1 -1
  24. package/dist/client/locales/es-ES.js +33 -19
  25. package/dist/client/locales/es-ES.js.map +1 -1
  26. package/dist/client/locales/fr-FR.d.ts.map +1 -1
  27. package/dist/client/locales/fr-FR.js +33 -19
  28. package/dist/client/locales/fr-FR.js.map +1 -1
  29. package/dist/client/locales/id-ID.d.ts.map +1 -1
  30. package/dist/client/locales/id-ID.js +32 -18
  31. package/dist/client/locales/id-ID.js.map +1 -1
  32. package/dist/client/locales/ja-JP.d.ts.map +1 -1
  33. package/dist/client/locales/ja-JP.js +32 -18
  34. package/dist/client/locales/ja-JP.js.map +1 -1
  35. package/dist/client/locales/pt-BR.d.ts.map +1 -1
  36. package/dist/client/locales/pt-BR.js +33 -19
  37. package/dist/client/locales/pt-BR.js.map +1 -1
  38. package/dist/client/locales/vi-VN.d.ts.map +1 -1
  39. package/dist/client/locales/vi-VN.js +32 -18
  40. package/dist/client/locales/vi-VN.js.map +1 -1
  41. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  42. package/dist/client/locales/zh-CN.js +32 -18
  43. package/dist/client/locales/zh-CN.js.map +1 -1
  44. package/dist/client/locales/zh-TW.d.ts.map +1 -1
  45. package/dist/client/locales/zh-TW.js +32 -18
  46. package/dist/client/locales/zh-TW.js.map +1 -1
  47. package/dist/server/api-contracts.d.ts +14 -0
  48. package/dist/server/api-contracts.d.ts.map +1 -0
  49. package/dist/server/api-contracts.js +184 -0
  50. package/dist/server/api-contracts.js.map +1 -0
  51. package/dist/server/api-evidence-schema.d.ts +5 -0
  52. package/dist/server/api-evidence-schema.d.ts.map +1 -0
  53. package/dist/server/api-evidence-schema.js +24 -0
  54. package/dist/server/api-evidence-schema.js.map +1 -0
  55. package/dist/server/api-evidence.d.ts +2 -0
  56. package/dist/server/api-evidence.d.ts.map +1 -1
  57. package/dist/server/api-evidence.js +33 -15
  58. package/dist/server/api-evidence.js.map +1 -1
  59. package/dist/server/capabilities/data.d.ts +1 -1
  60. package/dist/server/capabilities/data.d.ts.map +1 -1
  61. package/dist/server/capabilities/data.js +100 -15
  62. package/dist/server/capabilities/data.js.map +1 -1
  63. package/dist/server/capabilities/intelligence.d.ts.map +1 -1
  64. package/dist/server/capabilities/intelligence.js +86 -20
  65. package/dist/server/capabilities/intelligence.js.map +1 -1
  66. package/dist/server/capabilities/messaging.d.ts.map +1 -1
  67. package/dist/server/capabilities/messaging.js +43 -9
  68. package/dist/server/capabilities/messaging.js.map +1 -1
  69. package/dist/server/capabilities/people.d.ts.map +1 -1
  70. package/dist/server/capabilities/people.js +50 -17
  71. package/dist/server/capabilities/people.js.map +1 -1
  72. package/dist/server/capabilities/platform.d.ts.map +1 -1
  73. package/dist/server/capabilities/platform.js +19 -8
  74. package/dist/server/capabilities/platform.js.map +1 -1
  75. package/dist/server/capabilities/processes.d.ts.map +1 -1
  76. package/dist/server/capabilities/processes.js +58 -25
  77. package/dist/server/capabilities/processes.js.map +1 -1
  78. package/dist/server/capabilities/types.d.ts +2 -0
  79. package/dist/server/capabilities/types.d.ts.map +1 -1
  80. package/dist/server/capabilities/types.js.map +1 -1
  81. package/dist/server/catalog.d.ts +1 -1
  82. package/dist/server/catalog.d.ts.map +1 -1
  83. package/dist/server/catalog.js +1 -1
  84. package/dist/server/catalog.js.map +1 -1
  85. package/dist/server/endpoint-chain.d.ts.map +1 -1
  86. package/dist/server/endpoint-chain.js +4 -1
  87. package/dist/server/endpoint-chain.js.map +1 -1
  88. package/dist/server/inventory.d.ts +2 -0
  89. package/dist/server/inventory.d.ts.map +1 -1
  90. package/dist/server/inventory.js +8 -1
  91. package/dist/server/inventory.js.map +1 -1
  92. package/dist/server/module-manifest.d.ts.map +1 -1
  93. package/dist/server/module-manifest.js +2 -0
  94. package/dist/server/module-manifest.js.map +1 -1
  95. package/dist/server/module-source-cache.d.ts +10 -0
  96. package/dist/server/module-source-cache.d.ts.map +1 -0
  97. package/dist/server/module-source-cache.js +100 -0
  98. package/dist/server/module-source-cache.js.map +1 -0
  99. package/dist/server/module-sources.d.ts +5 -1
  100. package/dist/server/module-sources.d.ts.map +1 -1
  101. package/dist/server/module-sources.js +38 -8
  102. package/dist/server/module-sources.js.map +1 -1
  103. package/dist/server/reliable-history.d.ts +8 -0
  104. package/dist/server/reliable-history.d.ts.map +1 -0
  105. package/dist/server/reliable-history.js +93 -0
  106. package/dist/server/reliable-history.js.map +1 -0
  107. package/dist/server/routes/index.d.ts.map +1 -1
  108. package/dist/server/routes/index.js +3 -3
  109. package/dist/server/routes/index.js.map +1 -1
  110. package/dist/server/routes/schemas.d.ts.map +1 -1
  111. package/dist/server/routes/schemas.js +20 -4
  112. package/dist/server/routes/schemas.js.map +1 -1
  113. package/dist/server/services/foundation.d.ts +6 -0
  114. package/dist/server/services/foundation.d.ts.map +1 -1
  115. package/dist/server/services/foundation.js +119 -37
  116. package/dist/server/services/foundation.js.map +1 -1
  117. package/dist/server/source-aliases.d.ts +2 -1
  118. package/dist/server/source-aliases.d.ts.map +1 -1
  119. package/dist/server/source-aliases.js +10 -3
  120. package/dist/server/source-aliases.js.map +1 -1
  121. package/dist/server/source-evidence.d.ts +2 -0
  122. package/dist/server/source-evidence.d.ts.map +1 -1
  123. package/dist/server/source-evidence.js +8 -0
  124. package/dist/server/source-evidence.js.map +1 -1
  125. package/dist/server/tokens.d.ts +1 -1
  126. package/dist/server/tokens.d.ts.map +1 -1
  127. package/dist/shared/foundation.d.ts +29 -3
  128. package/dist/shared/foundation.d.ts.map +1 -1
  129. package/dist/shared/foundation.js +6 -0
  130. package/dist/shared/foundation.js.map +1 -1
  131. package/package.json +1 -1
  132. package/skills/nocobase-app-plugin-foundation/SKILL.md +28 -6
@@ -1,11 +1,13 @@
1
1
  import { databaseManagerToken } from '@nocobase/db';
2
+ import { driveManagerToken } from '@nocobase/app-server/drive';
2
3
  import { availableCapabilities } from '../../shared/available-capabilities.js';
3
4
  import { CAPABILITY_COLLECTORS, } from '../capabilities/index.js';
4
5
  import { Inventory, Probe } from '../inventory.js';
5
6
  import { ReadQueue } from '../read-queue.js';
7
+ import { ReliableHistory } from '../reliable-history.js';
6
8
  import { applicationCollections, dataModelingSummary, } from '../capabilities/data.js';
7
9
  import { InstalledPackages } from '../packages.js';
8
- import { collectModuleSources } from '../module-sources.js';
10
+ import { ModuleSourceCache } from '../module-source-cache.js';
9
11
  import { collectProviderInventory, } from '../provider-inventory.js';
10
12
  /** Capabilities that read nothing from the database. */
11
13
  const DATABASE_FREE = new Set(['interface', 'audit']);
@@ -13,6 +15,11 @@ const DATABASE_FREE = new Set(['interface', 'audit']);
13
15
  const CONCURRENCY = 4;
14
16
  export class DefaultFoundationService {
15
17
  options;
18
+ history = new ReliableHistory();
19
+ historyScope;
20
+ catalogScope;
21
+ definitionShapes = new Map();
22
+ connectionIdentity;
16
23
  cached;
17
24
  pending;
18
25
  reads = new ReadQueue();
@@ -23,6 +30,7 @@ export class DefaultFoundationService {
23
30
  collectorTimeoutMs;
24
31
  collectors;
25
32
  now;
33
+ moduleSources;
26
34
  constructor(options) {
27
35
  this.options = options;
28
36
  this.packages = new InstalledPackages(options.rootDir);
@@ -30,8 +38,22 @@ export class DefaultFoundationService {
30
38
  this.collectorTimeoutMs = options.collectorTimeoutMs ?? 10_000;
31
39
  this.collectors = options.collectors ?? CAPABILITY_COLLECTORS;
32
40
  this.now = options.now ?? Date.now;
41
+ this.moduleSources = new ModuleSourceCache(this.now);
33
42
  }
34
43
  async overview(options = {}) {
44
+ const container = this.options.container;
45
+ const database = container.has(databaseManagerToken)
46
+ ? container.resolve(databaseManagerToken)
47
+ : undefined;
48
+ const connection = database?.connection?.() ?? database;
49
+ if (connection !== this.connectionIdentity) {
50
+ this.connectionIdentity = connection;
51
+ this.cached = undefined;
52
+ this.history.clear();
53
+ this.recordCount = undefined;
54
+ this.catalogScope = undefined;
55
+ this.definitionShapes.clear();
56
+ }
35
57
  if (!options.refresh &&
36
58
  !options.countRecords &&
37
59
  this.cached &&
@@ -74,7 +96,7 @@ export class DefaultFoundationService {
74
96
  }
75
97
  }
76
98
  const applicationName = await this.packages.applicationName();
77
- let ownedCollections = inventory
99
+ const ownedCollections = inventory
78
100
  ? applicationCollections(new Probe(inventory))
79
101
  : undefined;
80
102
  const capabilities = await mapWithConcurrency(this.collectors, CONCURRENCY, (collector) => databaseUnreadable && !DATABASE_FREE.has(collector.key)
@@ -90,68 +112,95 @@ export class DefaultFoundationService {
90
112
  countRecords,
91
113
  }));
92
114
  const inventoryOfProviders = await collectProviderInventory(this.options.rootDir, this.options.runtimeProviders?.(), this.options.serverRegistrationsComplete?.());
93
- // An unclassified runtime extension may own Collections absent from our ownership catalog. Its rows must not be
94
- // presented as an exact business-only count until ownership is known.
115
+ if (inventory)
116
+ this.catalogScope = JSON.stringify(inventory.collections
117
+ .map((item) => [item.name, item.kind, item.tableName, item.title])
118
+ .sort());
119
+ const scope = JSON.stringify({
120
+ applicationName,
121
+ catalog: this.catalogScope,
122
+ providers: inventoryOfProviders.entries
123
+ .map((entry) => [entry.name, entry.categories, entry.registration])
124
+ .sort(),
125
+ rootSet: this.options.config.get('authorization')?.permissionSets?.rootSet,
126
+ channels: Object.keys(this.options.config.get('notification')?.channels ?? {}).sort(),
127
+ drive: container.has(driveManagerToken),
128
+ });
129
+ const changedDefinition = [...(inventory?.definitionShapes ?? [])].some(([name, shape]) => this.definitionShapes.has(name) &&
130
+ this.definitionShapes.get(name) !== shape);
131
+ if (scope !== this.historyScope || changedDefinition) {
132
+ this.history.clear();
133
+ if (scope !== this.historyScope)
134
+ this.recordCount = undefined;
135
+ this.definitionShapes.clear();
136
+ this.historyScope = scope;
137
+ }
138
+ for (const [name, shape] of inventory?.definitionShapes ?? [])
139
+ this.definitionShapes.set(name, shape);
140
+ // Registration does not invalidate observed schema or row counts. Ownership is a separate recognition boundary.
95
141
  if (inventoryOfProviders.entries.some((entry) => entry.categories.length === 0 &&
96
142
  entry.origin === 'unverified' &&
97
143
  entry.registration === 'observed')) {
98
- ownedCollections = undefined;
99
144
  const index = capabilities.findIndex((entry) => entry.key === 'dataModeling');
100
145
  const data = capabilities[index];
101
- if (data && data.completeness !== 'failed')
146
+ if (data)
102
147
  capabilities[index] = {
103
148
  ...data,
104
- completeness: 'partial',
105
- facts: [{ code: 'collectionOwnershipUnknown' }],
106
- metrics: data.metrics.map((metric) => ({
107
- ...metric,
108
- value: metric.key === 'systemCollections' ? metric.value : null,
109
- complete: false,
110
- })),
111
- issues: [
112
- ...data.issues,
113
- {
114
- code: 'SOURCE_UNREADABLE',
115
- source: 'extensionCollectionOwnership',
116
- },
117
- ],
149
+ facts: [...data.facts, { code: 'collectionOwnershipUnknown' }],
118
150
  };
119
151
  }
120
- const signature = JSON.stringify(inventory?.collections
121
- .filter((item) => item.kind === 'table')
122
- .map((item) => item.name)
123
- .sort());
152
+ const signature = inventory
153
+ ? JSON.stringify(inventory.collections
154
+ .filter((item) => item.kind === 'table')
155
+ .map((item) => item.name)
156
+ .sort())
157
+ : this.recordCount?.signature;
124
158
  const data = capabilities.find((item) => item.key === 'dataModeling');
125
159
  const recordMetric = data?.metrics.find((item) => item.key === 'businessRecords');
126
160
  if (this.recordCount?.signature !== signature)
127
161
  this.recordCount = undefined;
128
- if (countRecords && recordMetric?.complete && recordMetric.value !== null) {
162
+ if (countRecords &&
163
+ signature !== undefined &&
164
+ recordMetric?.complete &&
165
+ recordMetric.value !== null) {
129
166
  this.recordCount = {
130
167
  signature,
131
168
  metric: recordMetric,
132
169
  checkedAt: new Date(this.now()).toISOString(),
133
170
  };
134
171
  }
135
- else if (this.recordCount &&
136
- data?.completeness !== 'failed' &&
137
- !data?.facts.some((item) => item.code === 'collectionOwnershipUnknown')) {
172
+ else if (this.recordCount) {
138
173
  const index = capabilities.findIndex((item) => item.key === 'dataModeling');
139
174
  if (data)
140
175
  capabilities[index] = {
141
176
  ...data,
142
- metrics: data.metrics.map((item) => item.key === 'businessRecords' ? this.recordCount.metric : item),
177
+ metrics: data.metrics.some((item) => item.key === 'businessRecords')
178
+ ? data.metrics.map((item) => item.key === 'businessRecords'
179
+ ? {
180
+ ...this.recordCount.metric,
181
+ checkedAt: this.recordCount.checkedAt,
182
+ }
183
+ : item)
184
+ : [
185
+ {
186
+ ...this.recordCount.metric,
187
+ checkedAt: this.recordCount.checkedAt,
188
+ },
189
+ ...data.metrics,
190
+ ],
143
191
  };
144
192
  }
145
- const moduleSources = await collectModuleSources(this.options.rootDir, this.options.runtimeProviders?.());
193
+ const moduleSources = await this.moduleSources.read(this.options.rootDir, this.options.runtimeProviders?.());
146
194
  const finished = this.now();
195
+ for (let index = 0; index < capabilities.length; index++)
196
+ capabilities[index] = this.history.retain(capabilities[index], new Date(finished).toISOString());
147
197
  const overview = {
148
198
  capabilities,
149
199
  moduleSources,
150
200
  inventory: inventoryOfProviders,
151
201
  availableCapabilities: availableCapabilities(capabilities, inventoryOfProviders),
152
202
  checkedAt: new Date(finished).toISOString(),
153
- ...(this.recordCount &&
154
- !data?.facts.some((item) => item.code === 'collectionOwnershipUnknown')
203
+ ...(this.recordCount
155
204
  ? { recordCountCheckedAt: this.recordCount.checkedAt }
156
205
  : {}),
157
206
  durationMs: finished - started,
@@ -184,26 +233,51 @@ export class DefaultFoundationService {
184
233
  }
185
234
  async run(collector, context) {
186
235
  let timer;
236
+ let progress;
187
237
  const abort = new AbortController();
188
238
  const probe = context.probe
189
239
  ? new Probe(context.probe.inventory, abort.signal)
190
240
  : undefined;
241
+ let deadlineIssues = [];
191
242
  const timeout = new Promise((resolve) => {
192
243
  timer = setTimeout(() => {
244
+ deadlineIssues = [...(probe?.issues ?? [])];
193
245
  resolve('timeout');
194
246
  abort.abort();
195
247
  }, this.collectorTimeoutMs);
196
248
  });
197
249
  try {
198
250
  const findings = await Promise.race([
199
- collector.collect({ ...context, probe }),
251
+ collector.collect({
252
+ ...context,
253
+ probe,
254
+ report: (finding) => {
255
+ if (abort.signal.aborted)
256
+ return;
257
+ const status = progress?.status === 'active' || finding.status === 'active'
258
+ ? 'active'
259
+ : (finding.status ?? progress?.status ?? null);
260
+ progress = {
261
+ status,
262
+ ...(status === 'active'
263
+ ? {}
264
+ : { reason: finding.reason ?? progress?.reason }),
265
+ facts: finding.facts ?? progress?.facts ?? [],
266
+ metrics: mergeEvidence(progress?.metrics, finding.metrics, (item) => item.key),
267
+ parts: mergeEvidence(progress?.parts, finding.parts, (item) => item.key),
268
+ };
269
+ },
270
+ }),
200
271
  timeout,
201
272
  ]);
202
273
  if (findings === 'timeout')
203
- return collector.key === 'dataModeling' && probe
274
+ return progress || (collector.key === 'dataModeling' && probe)
204
275
  ? {
205
- ...failed(collector, [{ code: 'COLLECTOR_TIMEOUT' }]),
206
- ...dataModelingSummary(probe),
276
+ ...failed(collector, [
277
+ ...deadlineIssues,
278
+ { code: 'COLLECTOR_TIMEOUT' },
279
+ ]),
280
+ ...(progress ?? dataModelingSummary(probe)),
207
281
  packages: await this.resolvePackages(collector.packages),
208
282
  completeness: 'partial',
209
283
  }
@@ -222,7 +296,10 @@ export class DefaultFoundationService {
222
296
  };
223
297
  }
224
298
  catch {
225
- return failed(collector, [{ code: 'COLLECTOR_FAILED' }]);
299
+ return {
300
+ ...failed(collector, [{ code: 'COLLECTOR_FAILED' }]),
301
+ ...(progress ? { ...progress, completeness: 'partial' } : {}),
302
+ };
226
303
  }
227
304
  finally {
228
305
  clearTimeout(timer);
@@ -236,6 +313,11 @@ export class DefaultFoundationService {
236
313
  return resolved.filter((entry) => entry !== undefined);
237
314
  }
238
315
  }
316
+ function mergeEvidence(previous = [], current = [], key) {
317
+ return [
318
+ ...new Map([...previous, ...current].map((item) => [key(item), item])).values(),
319
+ ];
320
+ }
239
321
  /** A capability whose evidence could not be read: it has no status rather than a guessed one. */
240
322
  function failed(collector, issues) {
241
323
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"foundation.js","sourceRoot":"","sources":["../../../server/services/foundation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundation.js","sourceRoot":"","sources":["../../../server/services/foundation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
+ import type { ModuleSourceObservation } from './module-sources.js';
1
2
  /** Read JSONC declarations only; never load a config package or execute a build configuration. */
2
- export declare function sourceAliases(root: string): Promise<ReadonlyMap<string, string | undefined>>;
3
+ export declare function sourceAliases(root: string, observation?: ModuleSourceObservation): Promise<ReadonlyMap<string, string | undefined>>;
3
4
  export declare function aliasMatches(alias: string, specifier: string): string | undefined;
4
5
  //# sourceMappingURL=source-aliases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-aliases.d.ts","sourceRoot":"","sources":["../../server/source-aliases.ts"],"names":[],"mappings":"AAIA,kGAAkG;AAClG,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CA8FlD;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAUpB"}
1
+ {"version":3,"file":"source-aliases.d.ts","sourceRoot":"","sources":["../../server/source-aliases.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,kGAAkG;AAClG,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,uBAAuB,GACpC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAqGlD;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAUpB"}
@@ -2,13 +2,15 @@ import { readFile, realpath, stat } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import ts from 'typescript';
4
4
  /** Read JSONC declarations only; never load a config package or execute a build configuration. */
5
- export async function sourceAliases(root) {
5
+ export async function sourceAliases(root, observation) {
6
6
  const seen = new Set();
7
7
  const read = async (file) => {
8
8
  if (seen.size >= 8 || !inside(root, file))
9
9
  return undefined;
10
+ await observation?.watch(file);
10
11
  try {
11
12
  const resolved = await realpath(file);
13
+ await observation?.watch(resolved);
12
14
  if (!inside(root, resolved) ||
13
15
  seen.has(resolved) ||
14
16
  path.relative(root, resolved).split(path.sep).includes('node_modules'))
@@ -18,8 +20,10 @@ export async function sourceAliases(root) {
18
20
  return undefined;
19
21
  const text = await readFile(resolved, 'utf8');
20
22
  const parsed = ts.parseConfigFileTextToJson(resolved, text);
21
- if (parsed.error || !record(parsed.config))
23
+ if (parsed.error || !record(parsed.config)) {
24
+ observation?.unreadable();
22
25
  return undefined;
26
+ }
23
27
  const config = parsed.config;
24
28
  let inherited;
25
29
  let valid = !duplicateKeys(ts.parseJsonText(resolved, text));
@@ -77,7 +81,10 @@ export async function sourceAliases(root) {
77
81
  aliases.set(key, undefined);
78
82
  return { aliases, base, valid };
79
83
  }
80
- catch {
84
+ catch (error) {
85
+ const code = error.code;
86
+ if (code !== 'ENOENT' && code !== 'ENOTDIR')
87
+ observation?.unreadable();
81
88
  return undefined;
82
89
  }
83
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"source-aliases.js","sourceRoot":"","sources":["../../server/source-aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-aliases.js","sourceRoot":"","sources":["../../server/source-aliases.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export declare class SourceEvidence {
18
18
  nodes: Map<string, Set<ts.Node>>;
19
19
  complete: boolean;
20
20
  };
21
+ /** External contracts cannot describe resolved local overrides or unresolved local declarations. */
22
+ isExternalImport(node: ts.ImportDeclaration): boolean;
21
23
  importedSource(node: ts.ImportDeclaration | ts.ExportDeclaration): ts.SourceFile | undefined;
22
24
  symbol(node: ts.Node): ts.Symbol | undefined;
23
25
  declarations(node: ts.Node): readonly ts.Declaration[];
@@ -1 +1 @@
1
- {"version":3,"file":"source-evidence.d.ts","sourceRoot":"","sources":["../../server/source-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;CAC7B;AAED,0GAA0G;AAC1G,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;gBAGrE,OAAO,EAAE,SAAS,cAAc,EAAE,EACjB,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,OAAO,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OACvB;IAyB5B,2FAA2F;IACpF,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAoClD,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,GACzB;QACD,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,QAAQ,EAAE,OAAO,CAAC;KACnB;IAuJM,cAAc,CACnB,IAAI,EAAE,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,GAChD,EAAE,CAAC,UAAU,GAAG,SAAS;IAqBrB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,GAAG,SAAS;IAU5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,WAAW,EAAE;IAO7D,8FAA8F;IACvF,SAAS,CACd,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,GAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAsB,GACtC,SAAS,EAAE,CAAC,oBAAoB,EAAE;IA2CrC,6EAA6E;IACtE,MAAM,CACX,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,GAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAsB,GACtC,SAAS,EAAE,CAAC,IAAI,EAAE;IAiBrB,OAAO,CAAC,aAAa;CA8CtB"}
1
+ {"version":3,"file":"source-evidence.d.ts","sourceRoot":"","sources":["../../server/source-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;CAC7B;AAED,0GAA0G;AAC1G,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;gBAGrE,OAAO,EAAE,SAAS,cAAc,EAAE,EACjB,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,OAAO,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OACvB;IAyB5B,2FAA2F;IACpF,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAoClD,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,GACzB;QACD,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,QAAQ,EAAE,OAAO,CAAC;KACnB;IAuJD,oGAAoG;IAC7F,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,GAAG,OAAO;IASrD,cAAc,CACnB,IAAI,EAAE,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,GAChD,EAAE,CAAC,UAAU,GAAG,SAAS;IAqBrB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,GAAG,SAAS;IAU5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,WAAW,EAAE;IAO7D,8FAA8F;IACvF,SAAS,CACd,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,GAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAsB,GACtC,SAAS,EAAE,CAAC,oBAAoB,EAAE;IA2CrC,6EAA6E;IACtE,MAAM,CACX,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,GAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAsB,GACtC,SAAS,EAAE,CAAC,IAAI,EAAE;IAiBrB,OAAO,CAAC,aAAa;CA8CtB"}
@@ -211,6 +211,14 @@ export class SourceEvidence {
211
211
  exported(file, 'default');
212
212
  return { references, nodes, complete };
213
213
  }
214
+ /** External contracts cannot describe resolved local overrides or unresolved local declarations. */
215
+ isExternalImport(node) {
216
+ if (!ts.isStringLiteralLike(node.moduleSpecifier))
217
+ return false;
218
+ const specifier = node.moduleSpecifier.text;
219
+ return (!this.isLocal(specifier) &&
220
+ !this.resolutions.has(`${node.getSourceFile().fileName}\0${specifier}`));
221
+ }
214
222
  importedSource(node) {
215
223
  if (ts.isExportDeclaration(node) && node.isTypeOnly)
216
224
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"source-evidence.js","sourceRoot":"","sources":["../../server/source-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-evidence.js","sourceRoot":"","sources":["../../server/source-evidence.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { FoundationOverview, FoundationCollectionPage } from '../shared/fou
3
3
  export interface FoundationOverviewOptions {
4
4
  /** Collects again instead of answering a result younger than the cache lifetime. */
5
5
  readonly refresh?: boolean;
6
- /** Explicitly calculate exact business row counts. Ordinary refreshes retain the last known count. */
6
+ /** Explicitly count rows in observed tables outside the known system catalog. Ordinary refreshes retain the last known count. */
7
7
  readonly countRecords?: boolean;
8
8
  }
9
9
  /** What the application uses of NocoBase Core, collected by this plugin alone. Read-only. */
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../server/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,sGAAsG;IACtG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,6FAA6F;AAC7F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3E,WAAW,CAAC,OAAO,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,iBAAiB,CAGhE,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../server/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,iIAAiI;IACjI,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,6FAA6F;AAC7F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3E,WAAW,CAAC,OAAO,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,iBAAiB,CAGhE,CAAC"}
@@ -28,21 +28,27 @@ export type FoundationFactParam = string | number | readonly FoundationText[];
28
28
  export interface FoundationFact {
29
29
  readonly code: string;
30
30
  readonly params?: Readonly<Record<string, FoundationFactParam>>;
31
+ /** Original observation time, present only when this fact is retained from an earlier collection. */
32
+ readonly checkedAt?: string;
31
33
  }
32
34
  export type FoundationMetricUnit = 'count' | 'bytes' | 'tokens';
33
35
  export interface FoundationMetric {
36
+ /** Legacy data-modeling keys `businessCollections` and `businessRecords` describe observed tables outside the known system catalog, not proven business ownership or application-wide totals. */
34
37
  readonly key: string;
35
38
  /** Null when it could not be read; never a stand-in zero. */
36
39
  readonly value: number | null;
37
40
  readonly unit: FoundationMetricUnit;
38
41
  /** False when some of the sources it adds up could not be read, so the value is a lower bound. */
39
42
  readonly complete: boolean;
43
+ /** Original observation time of a retained complete value, never the latest refresh time. */
44
+ readonly checkedAt?: string;
40
45
  }
41
46
  /** A part of a composite capability, such as accounts and organizations under users and organizations. */
42
47
  export interface FoundationPart {
43
48
  readonly key: string;
44
- readonly status: FoundationStatus;
49
+ readonly status: FoundationStatus | null;
45
50
  readonly reason?: string;
51
+ readonly checkedAt?: string;
46
52
  }
47
53
  export interface FoundationPackage {
48
54
  readonly name: string;
@@ -60,6 +66,8 @@ export interface FoundationCapability {
60
66
  readonly title?: FoundationText;
61
67
  readonly description?: string;
62
68
  readonly status: FoundationStatus | null;
69
+ /** Original observation time when the displayed status is historical. */
70
+ readonly checkedAt?: string;
63
71
  /** Why the capability needs setup or is unused, such as `noChannel`. */
64
72
  readonly reason?: string;
65
73
  readonly facts: readonly FoundationFact[];
@@ -79,13 +87,13 @@ export interface FoundationOverview {
79
87
  readonly moduleSources?: FoundationModuleSources;
80
88
  /** When this result was collected, RFC 3339. A cached result keeps its original time. */
81
89
  readonly checkedAt: string;
82
- /** The independent collection time of the last successful, explicitly requested business row count. */
90
+ /** The independent collection time of the last successful, explicitly requested count of observed non-system-catalog tables. */
83
91
  readonly recordCountCheckedAt?: string;
84
92
  readonly durationMs: number;
85
93
  /** The database connection the statistics read: always the default one. */
86
94
  readonly connection: string;
87
95
  }
88
- /** One bounded, on-demand page of application-owned Collections. */
96
+ /** One bounded, on-demand page of observed Collections outside the known system catalog. */
89
97
  export interface FoundationCollectionPage {
90
98
  readonly items: readonly {
91
99
  readonly name: string;
@@ -94,12 +102,29 @@ export interface FoundationCollectionPage {
94
102
  }[];
95
103
  readonly total: number;
96
104
  }
105
+ export declare const FOUNDATION_API_CONDITIONS: readonly ["databaseAvailable", "authenticated", "bodyWithinLimit", "validInput"];
106
+ /** A proven framework success contract, never an assumption about an arbitrary middleware. */
107
+ export interface FoundationApiCondition {
108
+ readonly kind: (typeof FOUNDATION_API_CONDITIONS)[number];
109
+ /** Public package/export identity; never a filesystem path or business source text. */
110
+ readonly source: string;
111
+ }
112
+ export interface FoundationApiEvidence {
113
+ readonly method: string;
114
+ /** Matched API route pattern, excluding literal query strings and dynamic request values. */
115
+ readonly path: string;
116
+ readonly providers: readonly string[];
117
+ /** Empty for a proven unconditional prefix; otherwise all these conditions must hold. */
118
+ readonly conditions: readonly FoundationApiCondition[];
119
+ }
97
120
  export interface FoundationModuleSource {
98
121
  readonly packageName: string;
99
122
  readonly routeName: string;
100
123
  /** Value imports reachable from the page; type-only imports and installed-only packages are excluded. */
101
124
  readonly providers: readonly string[];
102
125
  readonly apiProviders?: readonly string[];
126
+ /** Request provenance and conditions for API dependencies, including proven normal-success paths. */
127
+ readonly apiEvidence?: readonly FoundationApiEvidence[];
103
128
  readonly collections?: readonly string[];
104
129
  readonly complete: boolean;
105
130
  }
@@ -112,6 +137,7 @@ export interface FoundationModuleLink {
112
137
  readonly evidence: readonly ('page' | 'authentication' | 'authorization' | 'provider' | 'source' | 'apiSource')[];
113
138
  readonly providers: readonly string[];
114
139
  readonly collections?: readonly string[];
140
+ readonly apiEvidence?: readonly FoundationApiEvidence[];
115
141
  }
116
142
  export interface FoundationBusinessModule {
117
143
  readonly id: string;