@askdb/core 1.0.0-beta.42 → 1.0.0-beta.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/ask.d.ts +92 -4
- package/dist/ask.d.ts.map +1 -1
- package/dist/ask.js +234 -23
- package/dist/ask.js.map +1 -1
- package/dist/errors.d.ts +41 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/v2/index.d.ts +1 -1
- package/dist/schema/v2/index.d.ts.map +1 -1
- package/dist/schema/v2/loader.d.ts +9 -1
- package/dist/schema/v2/loader.d.ts.map +1 -1
- package/dist/schema/v2/loader.js +171 -49
- package/dist/schema/v2/loader.js.map +1 -1
- package/dist/schema/v2/normalized.d.ts +33 -0
- package/dist/schema/v2/normalized.d.ts.map +1 -1
- package/dist/schema/v2/parser.d.ts +9 -0
- package/dist/schema/v2/parser.d.ts.map +1 -1
- package/dist/schema/v2/parser.js +18 -2
- package/dist/schema/v2/parser.js.map +1 -1
- package/dist/schema/v2/tenant-policy-loader.d.ts.map +1 -1
- package/dist/schema/v2/tenant-policy-loader.js +7 -3
- package/dist/schema/v2/tenant-policy-loader.js.map +1 -1
- package/dist/schema/v2/tenant-policy.d.ts +28 -21
- package/dist/schema/v2/tenant-policy.d.ts.map +1 -1
- package/dist/schema/v2/tenant-policy.js +67 -11
- package/dist/schema/v2/tenant-policy.js.map +1 -1
- package/dist/sql/bind.d.ts +17 -15
- package/dist/sql/bind.d.ts.map +1 -1
- package/dist/sql/bind.js +34 -172
- package/dist/sql/bind.js.map +1 -1
- package/dist/sql/dialect-spec.d.ts +21 -2
- package/dist/sql/dialect-spec.d.ts.map +1 -1
- package/dist/sql/dialect-spec.js +74 -3
- package/dist/sql/dialect-spec.js.map +1 -1
- package/dist/sql/generate.d.ts +12 -0
- package/dist/sql/generate.d.ts.map +1 -1
- package/dist/sql/generate.js +24 -16
- package/dist/sql/generate.js.map +1 -1
- package/dist/sql/lexer.d.ts +114 -0
- package/dist/sql/lexer.d.ts.map +1 -0
- package/dist/sql/lexer.js +397 -0
- package/dist/sql/lexer.js.map +1 -0
- package/dist/sql/sensitive-guardrail.d.ts +18 -3
- package/dist/sql/sensitive-guardrail.d.ts.map +1 -1
- package/dist/sql/sensitive-guardrail.js +440 -153
- package/dist/sql/sensitive-guardrail.js.map +1 -1
- package/dist/sql/tenant-guardrail.d.ts +70 -8
- package/dist/sql/tenant-guardrail.d.ts.map +1 -1
- package/dist/sql/tenant-guardrail.js +799 -52
- package/dist/sql/tenant-guardrail.js.map +1 -1
- package/dist/sql/tenant-hierarchy.d.ts +19 -0
- package/dist/sql/tenant-hierarchy.d.ts.map +1 -0
- package/dist/sql/tenant-hierarchy.js +53 -0
- package/dist/sql/tenant-hierarchy.js.map +1 -0
- package/dist/sql/tenant-placeholders.d.ts +60 -10
- package/dist/sql/tenant-placeholders.d.ts.map +1 -1
- package/dist/sql/tenant-placeholders.js +229 -58
- package/dist/sql/tenant-placeholders.js.map +1 -1
- package/dist/sql/tenant-prompt.d.ts +4 -0
- package/dist/sql/tenant-prompt.d.ts.map +1 -1
- package/dist/sql/tenant-prompt.js +79 -11
- package/dist/sql/tenant-prompt.js.map +1 -1
- package/dist/sql/tenant-scope-validate.d.ts +3 -1
- package/dist/sql/tenant-scope-validate.d.ts.map +1 -1
- package/dist/sql/tenant-scope-validate.js +5 -2
- package/dist/sql/tenant-scope-validate.js.map +1 -1
- package/dist/sql/validate.d.ts +24 -4
- package/dist/sql/validate.d.ts.map +1 -1
- package/dist/sql/validate.js +123 -37
- package/dist/sql/validate.js.map +1 -1
- package/package.json +6 -5
- package/dist/exec/postgres.d.ts +0 -6
- package/dist/exec/postgres.d.ts.map +0 -1
- package/dist/exec/postgres.js +0 -30
- package/dist/exec/postgres.js.map +0 -1
- package/dist/modes/post-execute-log.d.ts +0 -9
- package/dist/modes/post-execute-log.d.ts.map +0 -1
- package/dist/modes/post-execute-log.js +0 -26
- package/dist/modes/post-execute-log.js.map +0 -1
package/dist/errors.d.ts
CHANGED
|
@@ -6,7 +6,11 @@ export declare class SchemaParseError extends AskDbError {
|
|
|
6
6
|
constructor(message: string, cause?: unknown);
|
|
7
7
|
}
|
|
8
8
|
/** Machine-readable ids for CLI and logs (Phase 2 guardrails). */
|
|
9
|
-
export type SqlValidationRuleCode = "SQL_EMPTY" | "SQL_MULTI_STATEMENT" | "SQL_COMMENT" | "SQL_NOT_SELECT_OR_WITH" | "SQL_FORBIDDEN_KEYWORD"
|
|
9
|
+
export type SqlValidationRuleCode = "SQL_EMPTY" | "SQL_MULTI_STATEMENT" | "SQL_COMMENT" | "SQL_NOT_SELECT_OR_WITH" | "SQL_FORBIDDEN_KEYWORD"
|
|
10
|
+
/** A call to a function in the dialect's `blockedFunctions` (e.g. `pg_sleep(`, `LOAD_FILE(`). */
|
|
11
|
+
| "SQL_FORBIDDEN_FUNCTION"
|
|
12
|
+
/** A string, quoted identifier, dollar-quoted string, or block comment never closes. */
|
|
13
|
+
| "SQL_UNTERMINATED";
|
|
10
14
|
export declare class SqlValidationError extends AskDbError {
|
|
11
15
|
readonly rule: SqlValidationRuleCode;
|
|
12
16
|
/** Extra human context (why the rule exists, remediation). */
|
|
@@ -18,7 +22,30 @@ export declare class SqlValidationError extends AskDbError {
|
|
|
18
22
|
export declare class SqlGenerationError extends AskDbError {
|
|
19
23
|
constructor(message: string, cause?: unknown);
|
|
20
24
|
}
|
|
21
|
-
|
|
25
|
+
/** A string `dialect` passed to `ask()` that is not a built-in dialect id. */
|
|
26
|
+
export declare class UnknownDialectError extends AskDbError {
|
|
27
|
+
readonly dialectId: string;
|
|
28
|
+
constructor(message: string, dialectId: string);
|
|
29
|
+
}
|
|
30
|
+
export type TenantScopeRejectionReason = "MISSING_SCOPE" | "UNKNOWN_TENANT_ROOT" | "GLOBAL_WITHOUT_REASON" | "INVALID_SCOPE_SHAPE"
|
|
31
|
+
/**
|
|
32
|
+
* A `subtree` scope could not be expanded: no `resolveTenantDescendants`, or it
|
|
33
|
+
* returned something other than IDs per tenant root (a flat array, a key that
|
|
34
|
+
* isn't a root in the subtree, a value that isn't an array of non-empty strings,
|
|
35
|
+
* or no IDs at all). Also thrown when an unexpanded `subtree` reaches
|
|
36
|
+
* `resolveTenantSql()` or `buildTenantPromptBlock()` directly.
|
|
37
|
+
*/
|
|
38
|
+
| "SUBTREE_NOT_RESOLVABLE"
|
|
39
|
+
/** Generated SQL references a `:tenant_*` placeholder the scope has no IDs for. */
|
|
40
|
+
| "UNRESOLVED_TENANT_PLACEHOLDER"
|
|
41
|
+
/** A multi-ID scope met a tenant predicate with no list form (e.g. `<=`). */
|
|
42
|
+
| "UNSUPPORTED_TENANT_PREDICATE"
|
|
43
|
+
/**
|
|
44
|
+
* `resolveTenantSql()` in `sql-only` mode got a tenant ID containing a backslash
|
|
45
|
+
* and a dialect with an unknown `id` and no `backslashEscapes`, so it cannot
|
|
46
|
+
* escape the ID safely.
|
|
47
|
+
*/
|
|
48
|
+
| "UNESCAPABLE_TENANT_ID";
|
|
22
49
|
export declare class TenantScopeError extends AskDbError {
|
|
23
50
|
readonly reason: TenantScopeRejectionReason;
|
|
24
51
|
constructor(message: string, reason: TenantScopeRejectionReason);
|
|
@@ -40,9 +67,16 @@ export declare class TenantGuardrailError extends AskDbError {
|
|
|
40
67
|
}
|
|
41
68
|
/** How a sensitive identifier was matched inside a statement. */
|
|
42
69
|
export type SensitiveMatchKind =
|
|
43
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* `table.column` or `alias.column` where the alias binds to the owning table. Also
|
|
72
|
+
* `alias.*` and whole-row references such as `row_to_json(alias)`, which reach every
|
|
73
|
+
* sensitive column of the table.
|
|
74
|
+
*/
|
|
44
75
|
"qualified"
|
|
45
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Bare `column`, counted only because the owning table is in the statement's scope.
|
|
78
|
+
* Also a bare `SELECT *`, which reaches every sensitive column of the in-scope tables.
|
|
79
|
+
*/
|
|
46
80
|
| "unqualified"
|
|
47
81
|
/** The sensitive table itself appears as a `FROM`/`JOIN` target (`column` is `"*"`). */
|
|
48
82
|
| "table";
|
|
@@ -63,7 +97,9 @@ export type SensitiveScopeIssue =
|
|
|
63
97
|
/** A `qualifier.column` reference whose qualifier is neither a known table, alias, nor CTE. */
|
|
64
98
|
| "UNKNOWN_QUALIFIER"
|
|
65
99
|
/** A table source that is not a relation name (table function, `VALUES`, …). */
|
|
66
|
-
| "OPAQUE_TABLE_SOURCE"
|
|
100
|
+
| "OPAQUE_TABLE_SOURCE"
|
|
101
|
+
/** A string, quoted identifier, or comment never closes, so the rest of the statement could not be scanned. */
|
|
102
|
+
| "UNTERMINATED_TOKEN";
|
|
67
103
|
/** Conservative-failure report attached when scope resolution was incomplete. */
|
|
68
104
|
export type SensitiveScopeReport = {
|
|
69
105
|
issues: SensitiveScopeIssue[];
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;aAGjB,KAAK,CAAC,EAAE,OAAO;gBAD/B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAI7C;AAED,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,qBAAqB,GACrB,aAAa,GACb,wBAAwB,GACxB,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -30,6 +30,15 @@ export class SqlGenerationError extends AskDbError {
|
|
|
30
30
|
this.name = "SqlGenerationError";
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/** A string `dialect` passed to `ask()` that is not a built-in dialect id. */
|
|
34
|
+
export class UnknownDialectError extends AskDbError {
|
|
35
|
+
dialectId;
|
|
36
|
+
constructor(message, dialectId) {
|
|
37
|
+
super(message);
|
|
38
|
+
this.dialectId = dialectId;
|
|
39
|
+
this.name = "UnknownDialectError";
|
|
40
|
+
}
|
|
41
|
+
}
|
|
33
42
|
export class TenantScopeError extends AskDbError {
|
|
34
43
|
reason;
|
|
35
44
|
constructor(message, reason) {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IAFlB,YACE,OAAe,EACC,KAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IAFlB,YACE,OAAe,EACC,KAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAcD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAG9B;IAEA;IAJlB,YACE,OAAe,EACC,IAA2B;IAC3C,8DAA8D;IAC9C,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAuB;QAE3B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,8EAA8E;AAC9E,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAG/B;IAFlB,YACE,OAAe,EACC,SAAiB;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,cAAS,GAAT,SAAS,CAAQ;QAGjC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AA0BD,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAG5B;IAFlB,YACE,OAAe,EACC,MAAkC;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAA4B;QAGlD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAWD,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAG/B;IAFlB,YACE,OAAe,EACC,MAAqC;QAErD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAA+B;QAGrD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAgBD,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAGhC;IAFlB,YACE,OAAe,EACC,QAAkC;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,aAAQ,GAAR,QAAQ,CAA0B;QAGlD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAyDD,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IAGnC;IACA;IACA;IAJlB,YACE,OAAe,EACC,IAAgC,EAChC,UAAgC,EAChC,eAAsC;QAEtD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAA4B;QAChC,eAAU,GAAV,UAAU,CAAsB;QAChC,oBAAe,GAAf,eAAe,CAAuB;QAGtD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
2
|
export { validateTenantScope } from "./sql/tenant-scope-validate.js";
|
|
3
3
|
export { buildTenantPromptBlock } from "./sql/tenant-prompt.js";
|
|
4
|
-
export { validateTenantGuardrails, type TenantGuardrailResult, } from "./sql/tenant-guardrail.js";
|
|
4
|
+
export { validateTenantGuardrails, type TenantGuardrailResult, type ValidateTenantGuardrailsOptions, } from "./sql/tenant-guardrail.js";
|
|
5
5
|
export { validateSensitiveReferences, schemaHasSensitiveIdentifiers, formatSensitiveReference, type SensitiveGuardrailMode, type SensitiveGuardrailResult, type ValidateSensitiveReferencesOptions, } from "./sql/sensitive-guardrail.js";
|
|
6
|
-
export { resolveTenantSql, extractTenantPlaceholders, placeholderForRoot, type TenantSqlOutputMode, type TenantPlaceholderResult, type TenantBinding, } from "./sql/tenant-placeholders.js";
|
|
7
|
-
export {
|
|
6
|
+
export { resolveTenantSql, extractTenantPlaceholders, placeholderForRoot, placeholderForTenantRoot, type TenantSqlOutputMode, type TenantPlaceholderResult, type TenantBinding, type TenantSqlDialect, } from "./sql/tenant-placeholders.js";
|
|
7
|
+
export { expandClosure } from "./sql/tenant-hierarchy.js";
|
|
8
|
+
export { ask, type AskPipelineOptions, type AskPipelineResult, type AskDialect, type AskDialectInput, type AskDialectGenerateOptions, type AskUsage, type AskDialectGenerateResult, type AskGenerateDeps, type ResolveTenantDescendants, type TenantIdsByRoot, } from "./ask.js";
|
|
8
9
|
export { parseAskDbModeV1, formatAskDbModesV1, DEFAULT_ASKDB_MODE, ASKDB_MODES_V1, type AskDbModeV1, } from "./modes/types.js";
|
|
9
10
|
export { AskDbLogEvent } from "./logging/log-events.js";
|
|
10
11
|
export type { AskDbLogger } from "./logging/askdb-logger.js";
|
|
@@ -14,7 +15,7 @@ export { formatSupportedAskDbLogLevels, isSupportedAskDbLogLevel, SUPPORTED_ASKD
|
|
|
14
15
|
export { loadNormalizedSchemaFromJson, parseAskDbSchemaJson } from "./schema/parse.js";
|
|
15
16
|
export type { AskDbSchemaFile, NormalizedSchema, AnyNormalizedSchema, } from "./schema/types.js";
|
|
16
17
|
export { loadSchema, loadSchemaFromJson, parseTableMarkdown, parseConceptsMarkdown, writeTableMarkdown, writeConceptsMarkdown, writeTenantPolicyMarkdown, formatSchemaV2ForNlToSql, v2SchemaJsonSchema, v2TableSchema, v2ColumnSchema, v2TableFrontmatterSchema, v2ColumnFrontmatterSchema, v2ConceptsFrontmatterSchema, v2ConceptSchema, RECOGNIZED_H2_SECTIONS, parseTenantPolicyMarkdown, normalizeTenantPolicy, tenantPolicyFrontmatterSchema, tenantRootSchema, hierarchyEdgeSchema, scopedTableSchema, polymorphicTableSchema, enforcementModeSchema, tenantScopeSchema, tenantAccessSchema, TENANT_POLICY_H2_SECTIONS, } from "./schema/v2/index.js";
|
|
17
|
-
export type { V2SchemaJson, V2Table, V2Column, V2TableFrontmatter, V2ColumnFrontmatter, V2ConceptsFrontmatter, V2Concept, ParsedTableMarkdown, ParsedConceptsMarkdown, RecognizedH2Section, NormalizedSchemaV2, NormalizedV2Table, NormalizedV2Column, SchemaV2Warning, TenantPolicyFrontmatter, TenantRoot, HierarchyEdge, ScopedTable, ScopeThrough, PolymorphicTable, EnforcementMode, TenantScope, TenantAccess, TenantAccessIds, TenantAccessSubtree, TenantAccessMultiRoot, TenantAccessGlobal,
|
|
18
|
+
export type { V2SchemaJson, V2Table, V2Column, V2TableFrontmatter, V2ColumnFrontmatter, V2ConceptsFrontmatter, V2Concept, ParsedTableMarkdown, ParsedConceptsMarkdown, RecognizedH2Section, NormalizedSchemaV2, NormalizedV2Table, NormalizedV2Column, SchemaV2Warning, TenantPolicyFrontmatter, TenantRoot, HierarchyEdge, ScopedTable, ScopeThrough, PolymorphicTable, EnforcementMode, TenantScope, TenantAccess, TenantAccessIds, TenantAccessSubtree, TenantAccessMultiRoot, TenantAccessGlobal, TenantScopeContext, ParsedTenantPolicyMarkdown, NormalizedTenantPolicy, TenantPolicyWarning, TableCoverageEntry, TableTenantClassification, TenantPolicyH2Section, } from "./schema/v2/index.js";
|
|
18
19
|
export { ENRICHMENT_SYSTEM_PROMPT, buildEnrichmentUserPrompt, parseCandidates, suggestEnrichment, } from "./enrichment/index.js";
|
|
19
20
|
export type { EnrichmentCandidate, EnrichmentContext, EnrichmentTarget, SuggestEnrichmentDeps, } from "./enrichment/index.js";
|
|
20
21
|
export { formatSchemaForNlToSql, formatSchemaForPrompt, normalizeAskDbSchema, type FormatNlToSqlOptions, type NlToSqlSchemaFormatStats, } from "./schema/normalize.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,8 @@ export { validateTenantScope } from "./sql/tenant-scope-validate.js";
|
|
|
3
3
|
export { buildTenantPromptBlock } from "./sql/tenant-prompt.js";
|
|
4
4
|
export { validateTenantGuardrails, } from "./sql/tenant-guardrail.js";
|
|
5
5
|
export { validateSensitiveReferences, schemaHasSensitiveIdentifiers, formatSensitiveReference, } from "./sql/sensitive-guardrail.js";
|
|
6
|
-
export { resolveTenantSql, extractTenantPlaceholders, placeholderForRoot, } from "./sql/tenant-placeholders.js";
|
|
6
|
+
export { resolveTenantSql, extractTenantPlaceholders, placeholderForRoot, placeholderForTenantRoot, } from "./sql/tenant-placeholders.js";
|
|
7
|
+
export { expandClosure } from "./sql/tenant-hierarchy.js";
|
|
7
8
|
export { ask, } from "./ask.js";
|
|
8
9
|
export { parseAskDbModeV1, formatAskDbModesV1, DEFAULT_ASKDB_MODE, ASKDB_MODES_V1, } from "./modes/types.js";
|
|
9
10
|
export { AskDbLogEvent } from "./logging/log-events.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,wBAAwB,GAGzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,GAIzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,GAKzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,GAAG,GAYJ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMvF,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAqC9B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAOjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,+BAA+B,GAEhC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -9,5 +9,5 @@ export type { V2TableFrontmatter, V2ColumnFrontmatter, V2ConceptsFrontmatter, V2
|
|
|
9
9
|
export type { NormalizedSchemaV2, NormalizedV2Table, NormalizedV2Column, SchemaV2Warning, } from "./normalized.js";
|
|
10
10
|
export { parseTenantPolicyMarkdown, normalizeTenantPolicy } from "./tenant-policy-loader.js";
|
|
11
11
|
export { tenantPolicyFrontmatterSchema, tenantRootSchema, hierarchyEdgeSchema, scopedTableSchema, polymorphicTableSchema, enforcementModeSchema, tenantScopeSchema, tenantAccessSchema, TENANT_POLICY_H2_SECTIONS, } from "./tenant-policy.js";
|
|
12
|
-
export type { TenantPolicyFrontmatter, TenantRoot, HierarchyEdge, ScopedTable, ScopeThrough, PolymorphicTable, EnforcementMode, TenantScope, TenantAccess, TenantAccessIds, TenantAccessSubtree, TenantAccessMultiRoot, TenantAccessGlobal,
|
|
12
|
+
export type { TenantPolicyFrontmatter, TenantRoot, HierarchyEdge, ScopedTable, ScopeThrough, PolymorphicTable, EnforcementMode, TenantScope, TenantAccess, TenantAccessIds, TenantAccessSubtree, TenantAccessMultiRoot, TenantAccessGlobal, TenantScopeContext, ParsedTenantPolicyMarkdown, NormalizedTenantPolicy, TenantPolicyWarning, TableCoverageEntry, TableTenantClassification, TenantPolicyH2Section, } from "./tenant-policy.js";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
|
|
@@ -12,7 +12,15 @@ export declare function loadSchemaFromJson(raw: string): NormalizedSchemaV2;
|
|
|
12
12
|
* Autodetects between:
|
|
13
13
|
* - A v2 directory (`<schemaId>.schema/`) containing `schema.json`
|
|
14
14
|
* - A bundled JSON file (`*.bundle.json` or any JSON with `bundled: true`)
|
|
15
|
-
* - A direct path to a `schema.json` inside a directory
|
|
15
|
+
* - A direct path to a `schema.json` inside a directory — loaded exactly like the
|
|
16
|
+
* enclosing directory, including sibling `tables/*.md`, `concepts.md`, and
|
|
17
|
+
* `tenant-policy.md`
|
|
18
|
+
*
|
|
19
|
+
* Any other JSON file is treated as a standalone physical layer.
|
|
20
|
+
*
|
|
21
|
+
* Optional sibling files may be absent, but a present file that cannot be read
|
|
22
|
+
* or parsed (e.g. malformed YAML front-matter in `tenant-policy.md`) throws
|
|
23
|
+
* `SchemaParseError` — a broken tenant policy never silently disables tenancy.
|
|
16
24
|
*/
|
|
17
25
|
export declare function loadSchema(path: string): NormalizedSchemaV2;
|
|
18
26
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/schema/v2/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/schema/v2/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,iBAAiB,CAAC;AAwBzB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAYlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA+B3D"}
|
package/dist/schema/v2/loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
2
|
-
import { join, resolve } from "node:path";
|
|
2
|
+
import { basename, dirname, join, resolve } from "node:path";
|
|
3
3
|
import { SchemaParseError } from "../../errors.js";
|
|
4
4
|
import { parseConceptsMarkdown, parseTableMarkdown } from "./parser.js";
|
|
5
5
|
import { v2SchemaJsonSchema } from "./physical.js";
|
|
@@ -30,7 +30,15 @@ export function loadSchemaFromJson(raw) {
|
|
|
30
30
|
* Autodetects between:
|
|
31
31
|
* - A v2 directory (`<schemaId>.schema/`) containing `schema.json`
|
|
32
32
|
* - A bundled JSON file (`*.bundle.json` or any JSON with `bundled: true`)
|
|
33
|
-
* - A direct path to a `schema.json` inside a directory
|
|
33
|
+
* - A direct path to a `schema.json` inside a directory — loaded exactly like the
|
|
34
|
+
* enclosing directory, including sibling `tables/*.md`, `concepts.md`, and
|
|
35
|
+
* `tenant-policy.md`
|
|
36
|
+
*
|
|
37
|
+
* Any other JSON file is treated as a standalone physical layer.
|
|
38
|
+
*
|
|
39
|
+
* Optional sibling files may be absent, but a present file that cannot be read
|
|
40
|
+
* or parsed (e.g. malformed YAML front-matter in `tenant-policy.md`) throws
|
|
41
|
+
* `SchemaParseError` — a broken tenant policy never silently disables tenancy.
|
|
34
42
|
*/
|
|
35
43
|
export function loadSchema(path) {
|
|
36
44
|
const resolved = resolve(path);
|
|
@@ -50,7 +58,13 @@ export function loadSchema(path) {
|
|
|
50
58
|
if (typeof parsed === "object" && parsed !== null && "bundled" in parsed) {
|
|
51
59
|
return loadFromBundle(parsed, resolved);
|
|
52
60
|
}
|
|
53
|
-
//
|
|
61
|
+
// A file named `schema.json` is the physical layer of a schema directory: load
|
|
62
|
+
// the enclosing directory so sibling tables/*.md, concepts.md, and — critically —
|
|
63
|
+
// tenant-policy.md apply exactly as they would for the directory path.
|
|
64
|
+
if (basename(resolved) === "schema.json") {
|
|
65
|
+
return loadFromDirectory(dirname(resolved));
|
|
66
|
+
}
|
|
67
|
+
// Any other bare JSON file is a standalone physical layer with no sibling files.
|
|
54
68
|
const physical = parsePhysicalLayer(parsed, resolved);
|
|
55
69
|
return buildNormalized(physical, {}, undefined, [], undefined);
|
|
56
70
|
}
|
|
@@ -71,72 +85,143 @@ function loadFromDirectory(dir) {
|
|
|
71
85
|
throw new SchemaParseError(`Failed to parse schema.json in ${dir}`);
|
|
72
86
|
}
|
|
73
87
|
const physical = parsePhysicalLayer(parsed, schemaJsonPath);
|
|
74
|
-
//
|
|
88
|
+
// The describable files below are optional, but only *absence* (ENOENT) is
|
|
89
|
+
// tolerated. Any other read or parse failure is fatal: silently skipping a
|
|
90
|
+
// broken tenant-policy.md would load the schema with tenant enforcement off.
|
|
91
|
+
// Load optional tables/*.md
|
|
75
92
|
const tableDir = join(dir, "tables");
|
|
76
93
|
const tableMarkdowns = {};
|
|
94
|
+
// Sorted so warning order is deterministic (readdir order is filesystem-dependent)
|
|
95
|
+
// and matches the bundle loader, which sorts its `tables` keys the same way.
|
|
96
|
+
const entries = (readOptionalDir(tableDir) ?? []).sort();
|
|
97
|
+
for (const entry of entries) {
|
|
98
|
+
if (!entry.endsWith(".md"))
|
|
99
|
+
continue;
|
|
100
|
+
const filePath = join(tableDir, entry);
|
|
101
|
+
const content = readRequiredFile(filePath);
|
|
102
|
+
const parsed = parseOrWrap(filePath, () => parseTableMarkdown(content, filePath));
|
|
103
|
+
addTableMarkdown(tableMarkdowns, { tableFile: `tables/${entry}`, parsed }, dir);
|
|
104
|
+
}
|
|
105
|
+
// Load optional concepts.md
|
|
106
|
+
let concepts;
|
|
107
|
+
const conceptsPath = join(dir, "concepts.md");
|
|
108
|
+
const conceptsContent = readOptionalFile(conceptsPath);
|
|
109
|
+
if (conceptsContent !== undefined) {
|
|
110
|
+
concepts = parseOrWrap(conceptsPath, () => parseConceptsMarkdown(conceptsContent, conceptsPath)).frontmatter;
|
|
111
|
+
}
|
|
112
|
+
// Load optional tenant-policy.md
|
|
113
|
+
let tenantPolicy;
|
|
114
|
+
const policyPath = join(dir, "tenant-policy.md");
|
|
115
|
+
const policyContent = readOptionalFile(policyPath);
|
|
116
|
+
if (policyContent !== undefined) {
|
|
117
|
+
tenantPolicy = parseOrWrap(policyPath, () => {
|
|
118
|
+
const parsed = parseTenantPolicyMarkdown(policyContent, policyPath);
|
|
119
|
+
const physicalTableIds = new Set(physical.tables.map((t) => t.id));
|
|
120
|
+
const physicalColumnIds = new Set(physical.tables.flatMap((t) => t.columns.map((c) => c.id)));
|
|
121
|
+
return normalizeTenantPolicy(parsed, physicalTableIds, physicalColumnIds);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return buildNormalized(physical, tableMarkdowns, concepts, [], tenantPolicy);
|
|
125
|
+
}
|
|
126
|
+
function isMissingPathError(e) {
|
|
127
|
+
return (typeof e === "object" && e !== null && e.code === "ENOENT");
|
|
128
|
+
}
|
|
129
|
+
function errorMessage(e) {
|
|
130
|
+
return e instanceof Error ? e.message : String(e);
|
|
131
|
+
}
|
|
132
|
+
/** Read an optional file: `undefined` when it does not exist, `SchemaParseError` on any other failure. */
|
|
133
|
+
function readOptionalFile(path) {
|
|
77
134
|
try {
|
|
78
|
-
|
|
79
|
-
for (const entry of entries) {
|
|
80
|
-
if (!entry.endsWith(".md"))
|
|
81
|
-
continue;
|
|
82
|
-
const filePath = join(tableDir, entry);
|
|
83
|
-
const content = readFileSync(filePath, "utf8");
|
|
84
|
-
const parsed = parseTableMarkdown(content, filePath);
|
|
85
|
-
tableMarkdowns[parsed.frontmatter.id] = parsed;
|
|
86
|
-
}
|
|
135
|
+
return readFileSync(path, "utf8");
|
|
87
136
|
}
|
|
88
137
|
catch (e) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
138
|
+
if (isMissingPathError(e))
|
|
139
|
+
return undefined;
|
|
140
|
+
throw new SchemaParseError(`Failed to read ${path}: ${errorMessage(e)}`, e);
|
|
92
141
|
}
|
|
93
|
-
|
|
94
|
-
|
|
142
|
+
}
|
|
143
|
+
/** List an optional directory: `undefined` when it does not exist, `SchemaParseError` on any other failure. */
|
|
144
|
+
function readOptionalDir(path) {
|
|
95
145
|
try {
|
|
96
|
-
|
|
97
|
-
const content = readFileSync(conceptsPath, "utf8");
|
|
98
|
-
concepts = parseConceptsMarkdown(content, conceptsPath).frontmatter;
|
|
146
|
+
return readdirSync(path);
|
|
99
147
|
}
|
|
100
|
-
catch {
|
|
101
|
-
|
|
148
|
+
catch (e) {
|
|
149
|
+
if (isMissingPathError(e))
|
|
150
|
+
return undefined;
|
|
151
|
+
throw new SchemaParseError(`Failed to read directory ${path}: ${errorMessage(e)}`, e);
|
|
102
152
|
}
|
|
103
|
-
|
|
104
|
-
|
|
153
|
+
}
|
|
154
|
+
function readRequiredFile(path) {
|
|
105
155
|
try {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
156
|
+
return readFileSync(path, "utf8");
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
throw new SchemaParseError(`Failed to read ${path}: ${errorMessage(e)}`, e);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** Run a parse step; rethrow `SchemaParseError` as-is and wrap anything else with the file path. */
|
|
163
|
+
function parseOrWrap(path, fn) {
|
|
164
|
+
try {
|
|
165
|
+
return fn();
|
|
112
166
|
}
|
|
113
167
|
catch (e) {
|
|
114
168
|
if (e instanceof SchemaParseError)
|
|
115
169
|
throw e;
|
|
116
|
-
|
|
170
|
+
throw new SchemaParseError(`Failed to parse ${path}: ${errorMessage(e)}`, e);
|
|
117
171
|
}
|
|
118
|
-
return buildNormalized(physical, tableMarkdowns, concepts, [], tenantPolicy);
|
|
119
172
|
}
|
|
120
173
|
function loadFromBundle(bundle, filePath) {
|
|
121
174
|
const physical = parsePhysicalLayer(bundle.physical, filePath);
|
|
122
175
|
const tableMarkdowns = {};
|
|
123
|
-
|
|
176
|
+
// Bundle keys are the `tables/` filenames (see `bundleSchemaDirectory` in
|
|
177
|
+
// @askdb/enrich), so warnings name the same path the directory loader would.
|
|
178
|
+
// Sorted like the directory loader's entries, so both report warnings in one order.
|
|
179
|
+
for (const [filename, content] of Object.entries(bundle.tables).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)) {
|
|
124
180
|
const parsed = parseTableMarkdown(content, filename);
|
|
125
|
-
tableMarkdowns
|
|
181
|
+
addTableMarkdown(tableMarkdowns, { tableFile: `tables/${filename}`, parsed }, filePath);
|
|
126
182
|
}
|
|
183
|
+
// Mirror the directory loader: only an *absent* key means "no file". A present
|
|
184
|
+
// value — including an empty string — is parsed and must be valid, so an empty
|
|
185
|
+
// or corrupt tenantPolicy can never silently disable tenant enforcement.
|
|
127
186
|
let concepts;
|
|
128
|
-
|
|
129
|
-
|
|
187
|
+
const conceptsContent = bundledFileContent(bundle, "concepts", "concepts.md", filePath);
|
|
188
|
+
if (conceptsContent !== undefined) {
|
|
189
|
+
concepts = parseConceptsMarkdown(conceptsContent, "concepts.md").frontmatter;
|
|
130
190
|
}
|
|
131
191
|
let tenantPolicy;
|
|
132
|
-
|
|
133
|
-
|
|
192
|
+
const policyContent = bundledFileContent(bundle, "tenantPolicy", "tenant-policy.md", filePath);
|
|
193
|
+
if (policyContent !== undefined) {
|
|
194
|
+
const parsed = parseTenantPolicyMarkdown(policyContent, "tenant-policy.md");
|
|
134
195
|
const physicalTableIds = new Set(physical.tables.map((t) => t.id));
|
|
135
196
|
const physicalColumnIds = new Set(physical.tables.flatMap((t) => t.columns.map((c) => c.id)));
|
|
136
197
|
tenantPolicy = normalizeTenantPolicy(parsed, physicalTableIds, physicalColumnIds);
|
|
137
198
|
}
|
|
138
199
|
return buildNormalized(physical, tableMarkdowns, concepts, [], tenantPolicy);
|
|
139
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Register a parsed table markdown under its front-matter `id`. Two files claiming the
|
|
203
|
+
* same table is a broken artifact, not something to resolve silently: keeping either
|
|
204
|
+
* one would drop the other's front-matter (including any `sensitive: true`), and
|
|
205
|
+
* authoring tools could pair the table with the file the loader ignores.
|
|
206
|
+
*/
|
|
207
|
+
function addTableMarkdown(tableMarkdowns, loaded, schemaPath) {
|
|
208
|
+
const id = loaded.parsed.frontmatter.id;
|
|
209
|
+
const existing = tableMarkdowns[id];
|
|
210
|
+
if (existing) {
|
|
211
|
+
throw new SchemaParseError(`Invalid schema at ${schemaPath}: ${existing.tableFile} and ${loaded.tableFile} both have front-matter id \`${id}\`. Each table needs exactly one markdown file; merge them.`);
|
|
212
|
+
}
|
|
213
|
+
tableMarkdowns[id] = loaded;
|
|
214
|
+
}
|
|
215
|
+
/** Read an optional bundled markdown file: `undefined` only when the key is absent. */
|
|
216
|
+
function bundledFileContent(bundle, key, fileName, bundlePath) {
|
|
217
|
+
const value = bundle[key];
|
|
218
|
+
if (value === undefined)
|
|
219
|
+
return undefined;
|
|
220
|
+
if (typeof value !== "string") {
|
|
221
|
+
throw new SchemaParseError(`Invalid bundle at ${bundlePath}: \`${key}\` must be the raw ${fileName} content (a string).`);
|
|
222
|
+
}
|
|
223
|
+
return value;
|
|
224
|
+
}
|
|
140
225
|
function parsePhysicalLayer(data, filePath) {
|
|
141
226
|
// Detect and reject pre-v2 format
|
|
142
227
|
if (typeof data === "object" &&
|
|
@@ -154,26 +239,63 @@ function parsePhysicalLayer(data, filePath) {
|
|
|
154
239
|
}
|
|
155
240
|
function buildNormalized(physical, tableMarkdowns, concepts, extraWarnings, tenantPolicy) {
|
|
156
241
|
const warnings = [...extraWarnings];
|
|
157
|
-
//
|
|
242
|
+
// Physical table ids, and each physical column id's owning table, for ID validation
|
|
158
243
|
const physicalTableIds = new Set(physical.tables.map((t) => t.id));
|
|
159
|
-
const
|
|
244
|
+
const columnOwner = new Map(physical.tables.flatMap((t) => t.columns.map((c) => [c.id, t.id])));
|
|
245
|
+
// Column ids that any front-matter entry marks `sensitive: true`: in the owning
|
|
246
|
+
// table's markdown or another's, first entry or a later duplicate. Sensitivity is the
|
|
247
|
+
// one field aggregated across every entry naming a column, because escalating can
|
|
248
|
+
// only add protection; no entry can cancel another's `sensitive: true`.
|
|
249
|
+
const escalatedColumnIds = new Set();
|
|
160
250
|
// Validate all table markdown IDs against physical layer
|
|
161
|
-
for (const [id, parsed] of Object.entries(tableMarkdowns)) {
|
|
251
|
+
for (const [id, { tableFile, parsed }] of Object.entries(tableMarkdowns)) {
|
|
162
252
|
if (!physicalTableIds.has(id)) {
|
|
163
|
-
warnings.push({ kind: "orphaned_table_id", tableFile
|
|
253
|
+
warnings.push({ kind: "orphaned_table_id", tableFile, id });
|
|
164
254
|
}
|
|
255
|
+
const seenColumnIds = new Set();
|
|
165
256
|
for (const col of parsed.frontmatter.columns ?? []) {
|
|
166
|
-
|
|
167
|
-
|
|
257
|
+
// A repeated entry's description/aliases/enum are ignored (the first entry's
|
|
258
|
+
// apply), but its `sensitive: true` still escalates.
|
|
259
|
+
if (seenColumnIds.has(col.id)) {
|
|
260
|
+
warnings.push({ kind: "duplicate_column_id", tableFile, id: col.id });
|
|
261
|
+
}
|
|
262
|
+
seenColumnIds.add(col.id);
|
|
263
|
+
if (col.sensitive === true)
|
|
264
|
+
escalatedColumnIds.add(col.id);
|
|
265
|
+
const owner = columnOwner.get(col.id);
|
|
266
|
+
if (owner === undefined) {
|
|
267
|
+
warnings.push({ kind: "orphaned_column_id", tableFile, id: col.id });
|
|
268
|
+
}
|
|
269
|
+
else if (owner !== id) {
|
|
270
|
+
// A column id names exactly one column, so a `sensitive: true` filed under the
|
|
271
|
+
// wrong table's markdown still escalates it: honoring it can only add
|
|
272
|
+
// protection, while dropping it would silently expose a column the author
|
|
273
|
+
// marked sensitive. Nothing else in the entry applies: `sensitive: false` never
|
|
274
|
+
// de-escalates, and description/aliases/enum belong in the owner's own file.
|
|
275
|
+
warnings.push({ kind: "misplaced_column_id", tableFile, id: col.id, tableId: owner });
|
|
168
276
|
}
|
|
169
277
|
}
|
|
170
278
|
}
|
|
171
279
|
const tables = physical.tables.map((physTable) => {
|
|
172
|
-
const
|
|
173
|
-
const
|
|
280
|
+
const loaded = tableMarkdowns[physTable.id];
|
|
281
|
+
const md = loaded?.parsed;
|
|
282
|
+
const tableFile = loaded?.tableFile ?? "";
|
|
283
|
+
// Sensitivity is escalate-only: front-matter `sensitive: true` (written by
|
|
284
|
+
// Studio / @askdb/enrich) marks a table or column sensitive on top of
|
|
285
|
+
// schema.json, but front-matter can never make something *less* sensitive.
|
|
286
|
+
// A `sensitive: false` that contradicts an effective `true` is ignored and
|
|
287
|
+
// reported as a warning so the author sees the override had no effect.
|
|
288
|
+
const tableSensitive = physTable.sensitive === true || md?.frontmatter.sensitive === true;
|
|
289
|
+
if (md?.frontmatter.sensitive === false && tableSensitive) {
|
|
290
|
+
warnings.push({ kind: "sensitivity_downgrade_ignored", tableFile, id: physTable.id });
|
|
291
|
+
}
|
|
174
292
|
const columns = physTable.columns.map((physCol) => {
|
|
175
|
-
const
|
|
176
|
-
const mdCol =
|
|
293
|
+
const mdCols = md?.frontmatter.columns?.filter((c) => c.id === physCol.id) ?? [];
|
|
294
|
+
const mdCol = mdCols[0];
|
|
295
|
+
const colSensitive = physCol.sensitive === true || escalatedColumnIds.has(physCol.id) || tableSensitive;
|
|
296
|
+
if (colSensitive && mdCols.some((c) => c.sensitive === false)) {
|
|
297
|
+
warnings.push({ kind: "sensitivity_downgrade_ignored", tableFile, id: physCol.id });
|
|
298
|
+
}
|
|
177
299
|
const normalized = {
|
|
178
300
|
id: physCol.id,
|
|
179
301
|
name: physCol.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/schema/v2/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/schema/v2/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,5 +64,38 @@ export type SchemaV2Warning = {
|
|
|
64
64
|
kind: "missing_column_md";
|
|
65
65
|
tableId: string;
|
|
66
66
|
columnId: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Table markdown front-matter set `sensitive: false` on a table or column that is
|
|
70
|
+
* sensitive anyway (via `schema.json`; for a column, also via its sensitive table or
|
|
71
|
+
* another front-matter entry's `sensitive: true`). Front-matter sensitivity is
|
|
72
|
+
* escalate-only, so the override was ignored.
|
|
73
|
+
*/
|
|
74
|
+
| {
|
|
75
|
+
kind: "sensitivity_downgrade_ignored";
|
|
76
|
+
tableFile: string;
|
|
77
|
+
id: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A `columns[]` entry in `tableFile` names a column (`id`) that belongs to another
|
|
81
|
+
* table (`tableId`). Only its `sensitive: true` is applied (escalate-only); every
|
|
82
|
+
* other field is ignored. Move the entry to `tableId`'s markdown.
|
|
83
|
+
*/
|
|
84
|
+
| {
|
|
85
|
+
kind: "misplaced_column_id";
|
|
86
|
+
tableFile: string;
|
|
87
|
+
id: string;
|
|
88
|
+
tableId: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* `tableFile`'s `columns[]` lists column `id` again (one warning per repeat). Only the
|
|
92
|
+
* first entry's description, aliases, and enum are applied. Sensitivity is aggregated
|
|
93
|
+
* across every entry: any `sensitive: true` escalates the column, and a duplicate's
|
|
94
|
+
* `sensitive: false` never de-escalates it. Merge the entries into one.
|
|
95
|
+
*/
|
|
96
|
+
| {
|
|
97
|
+
kind: "duplicate_column_id";
|
|
98
|
+
tableFile: string;
|
|
99
|
+
id: string;
|
|
67
100
|
};
|
|
68
101
|
//# sourceMappingURL=normalized.d.ts.map
|