@askdb/enrich 0.2.0-beta.14 → 0.2.0-beta.16
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/dist/draft.d.ts.map +1 -1
- package/dist/draft.js +2 -11
- package/dist/draft.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/suggest.d.ts +12 -4
- package/dist/suggest.d.ts.map +1 -1
- package/dist/suggest.js +22 -11
- package/dist/suggest.js.map +1 -1
- package/dist/workspace.d.ts +23 -8
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +323 -26
- package/dist/workspace.js.map +1 -1
- package/package.json +5 -5
package/dist/draft.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../src/draft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../src/draft.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EAER,OAAO,EACP,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,UAAU,CA6BZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EACjB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,kBAAkB,CAgCpB;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAE7D;AAED,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,MAAM,EAAE,CAKV;AA2BD,uDAAuD;AACvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAQlE;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAStD"}
|
package/dist/draft.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { findMentionedNames } from "@askdb/core";
|
|
1
2
|
export function buildTableDraft(physical, parsed) {
|
|
2
3
|
const fm = parsed?.frontmatter;
|
|
3
4
|
const columns = {};
|
|
@@ -94,17 +95,7 @@ export function formatList(list) {
|
|
|
94
95
|
}
|
|
95
96
|
/** Sensitive column names (per physical layer) referenced in a description. */
|
|
96
97
|
export function findSensitiveColumnReferences(description, physical) {
|
|
97
|
-
|
|
98
|
-
return physical.columns
|
|
99
|
-
.filter((c) => c.sensitive)
|
|
100
|
-
.map((c) => c.name)
|
|
101
|
-
.filter((name) => {
|
|
102
|
-
const re = new RegExp(`\\b${escapeRegex(name)}\\b`, "i");
|
|
103
|
-
return re.test(lower);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
function escapeRegex(s) {
|
|
107
|
-
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
98
|
+
return findMentionedNames(description, physical.columns.filter((c) => c.sensitive).map((c) => c.name));
|
|
108
99
|
}
|
|
109
100
|
function nonEmptyStrings(list) {
|
|
110
101
|
return Array.isArray(list) && list.length > 0;
|
package/dist/draft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../src/draft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../src/draft.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export { buildFrontmatter, buildTableDraft, findSensitiveColumnReferences, forma
|
|
|
2
2
|
export type { ColumnDraft, TableDraft } from "./draft.js";
|
|
3
3
|
export { buildSuggestionContext, buildSuggestionTarget, } from "./suggest.js";
|
|
4
4
|
export type { ColumnSuggestField, SuggestEnrichment, SuggestSource, TableSuggestField, } from "./suggest.js";
|
|
5
|
-
export { buildDefaultTableBody, bundleSchemaDirectory, loadWorkspace, pruneOrphanedColumns, replaceH2Section, replaceTableDescription, saveConcepts, saveTable, validateConceptLinks, } from "./workspace.js";
|
|
5
|
+
export { buildDefaultTableBody, bundleSchemaDirectory, loadWorkspace, pruneOrphanedColumns, replaceH2Section, replaceTableDescription, saveConcepts, saveTable, saveTenantPolicy, validateConceptLinks, } from "./workspace.js";
|
|
6
6
|
export type { BundledSchemaV2, Workspace, WorkspaceTable } from "./workspace.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,6BAA6B,EAC7B,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,6BAA6B,EAC7B,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { buildFrontmatter, buildTableDraft, findSensitiveColumnReferences, formatList, hasAnyColumnDescribable, isEnumCandidate, parseListInput, } from "./draft.js";
|
|
2
2
|
export { buildSuggestionContext, buildSuggestionTarget, } from "./suggest.js";
|
|
3
|
-
export { buildDefaultTableBody, bundleSchemaDirectory, loadWorkspace, pruneOrphanedColumns, replaceH2Section, replaceTableDescription, saveConcepts, saveTable, validateConceptLinks, } from "./workspace.js";
|
|
3
|
+
export { buildDefaultTableBody, bundleSchemaDirectory, loadWorkspace, pruneOrphanedColumns, replaceH2Section, replaceTableDescription, saveConcepts, saveTable, saveTenantPolicy, validateConceptLinks, } from "./workspace.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,6BAA6B,EAC7B,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAOtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,6BAA6B,EAC7B,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAOtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
|
package/dist/suggest.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { EnrichmentCandidate, EnrichmentContext, EnrichmentTarget } from "@askdb/core";
|
|
2
|
-
import type { Workspace } from "./workspace.js";
|
|
1
|
+
import type { EnrichmentCandidate, EnrichmentContext, EnrichmentTarget, NormalizedSchemaV2 } from "@askdb/core";
|
|
3
2
|
export type SuggestEnrichment = (target: EnrichmentTarget, context: EnrichmentContext) => Promise<EnrichmentCandidate[]>;
|
|
4
3
|
export type TableSuggestField = "description" | "aliases" | "primaryEntity" | "commonQueryLanguage";
|
|
5
4
|
export type ColumnSuggestField = "description" | "aliases";
|
|
@@ -13,6 +12,15 @@ export type SuggestSource = {
|
|
|
13
12
|
columnId: string;
|
|
14
13
|
field: ColumnSuggestField;
|
|
15
14
|
};
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The table or column a suggestion is for. `schema` is `loadSchema()`'s result, so the target
|
|
17
|
+
* carries effective sensitivity (front-matter escalations included), which the enrichment
|
|
18
|
+
* prompt's sensitivity rule reads.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildSuggestionTarget(schema: NormalizedSchemaV2, source: SuggestSource): EnrichmentTarget;
|
|
21
|
+
/**
|
|
22
|
+
* The target table's foreign-key neighbors (at most 4) and the schema id, from `loadSchema()`'s
|
|
23
|
+
* result. Untracked tables (`tracked: false`) stay out, as they do from `ask()`'s prompt.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildSuggestionContext(schema: NormalizedSchemaV2, tableId: string): EnrichmentContext;
|
|
18
26
|
//# sourceMappingURL=suggest.d.ts.map
|
package/dist/suggest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../src/suggest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../src/suggest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,KACvB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,SAAS,GACT,eAAe,GACf,qBAAqB,CAAC;AAC1B,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,aAAa,GACrB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GAC7D;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEN;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,aAAa,GACpB,gBAAgB,CAqBlB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,GACd,iBAAiB,CA4BnB"}
|
package/dist/suggest.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The table or column a suggestion is for. `schema` is `loadSchema()`'s result, so the target
|
|
3
|
+
* carries effective sensitivity (front-matter escalations included), which the enrichment
|
|
4
|
+
* prompt's sensitivity rule reads.
|
|
5
|
+
*/
|
|
6
|
+
export function buildSuggestionTarget(schema, source) {
|
|
7
|
+
const table = findTable(schema, source.tableId);
|
|
3
8
|
if (source.scope === "table") {
|
|
4
9
|
switch (source.field) {
|
|
5
10
|
case "description":
|
|
@@ -19,13 +24,19 @@ export function buildSuggestionTarget(workspace, source) {
|
|
|
19
24
|
return { kind: "column-aliases", table, columnId: source.columnId };
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
/**
|
|
28
|
+
* The target table's foreign-key neighbors (at most 4) and the schema id, from `loadSchema()`'s
|
|
29
|
+
* result. Untracked tables (`tracked: false`) stay out, as they do from `ask()`'s prompt.
|
|
30
|
+
*/
|
|
31
|
+
export function buildSuggestionContext(schema, tableId) {
|
|
32
|
+
const table = findTable(schema, tableId);
|
|
24
33
|
const relatedIds = new Set();
|
|
25
34
|
const columnToTable = new Map();
|
|
26
|
-
for (const
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
for (const other of schema.tables) {
|
|
36
|
+
if (other.tracked === false)
|
|
37
|
+
continue;
|
|
38
|
+
for (const column of other.columns) {
|
|
39
|
+
columnToTable.set(column.id, other.id);
|
|
29
40
|
}
|
|
30
41
|
}
|
|
31
42
|
for (const rel of table.relationships ?? []) {
|
|
@@ -37,16 +48,16 @@ export function buildSuggestionContext(workspace, tableId) {
|
|
|
37
48
|
relatedIds.add(toTable);
|
|
38
49
|
}
|
|
39
50
|
const neighbors = [...relatedIds]
|
|
40
|
-
.map((id) =>
|
|
51
|
+
.map((id) => schema.tables.find((other) => other.id === id))
|
|
41
52
|
.filter((t) => Boolean(t))
|
|
42
53
|
.slice(0, 4);
|
|
43
54
|
return {
|
|
44
|
-
schemaId:
|
|
55
|
+
schemaId: schema.schemaId,
|
|
45
56
|
...(neighbors.length > 0 ? { neighbors } : {}),
|
|
46
57
|
};
|
|
47
58
|
}
|
|
48
|
-
function findTable(
|
|
49
|
-
const table =
|
|
59
|
+
function findTable(schema, tableId) {
|
|
60
|
+
const table = schema.tables.find((t) => t.id === tableId);
|
|
50
61
|
if (!table)
|
|
51
62
|
throw new Error(`No such table: ${tableId}`);
|
|
52
63
|
return table;
|
package/dist/suggest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest.js","sourceRoot":"","sources":["../src/suggest.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,qBAAqB,CACnC,
|
|
1
|
+
{"version":3,"file":"suggest.js","sourceRoot":"","sources":["../src/suggest.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ParsedConceptsMarkdown, type ParsedTableMarkdown, type SchemaV2Warning, type V2Concept, type V2ConceptsFrontmatter, type V2SchemaJson, type V2Table, type V2TableFrontmatter } from "@askdb/core";
|
|
1
|
+
import { type BundledSchemaV2 as CoreBundledSchemaV2, type ParsedConceptsMarkdown, type ParsedTableMarkdown, type SchemaV2Warning, type TenantPolicyFrontmatter, type V2Concept, type V2ConceptsFrontmatter, type V2SchemaJson, type V2Table, type V2TableFrontmatter } from "@askdb/core";
|
|
2
2
|
/**
|
|
3
3
|
* One table in the workspace. Pairs the physical layer entry with the (optional)
|
|
4
4
|
* describable-layer markdown file so save knows where to write.
|
|
@@ -25,12 +25,12 @@ export type Workspace = {
|
|
|
25
25
|
concepts: ParsedConceptsMarkdown | undefined;
|
|
26
26
|
warnings: SchemaV2Warning[];
|
|
27
27
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
/**
|
|
29
|
+
* The bundle format, re-exported from `@askdb/core`, whose loader defines it.
|
|
30
|
+
*
|
|
31
|
+
* @deprecated Import `BundledSchemaV2` from `@askdb/core` instead.
|
|
32
|
+
*/
|
|
33
|
+
export type BundledSchemaV2 = CoreBundledSchemaV2;
|
|
34
34
|
/**
|
|
35
35
|
* Load a Schema v2 workspace from disk, preserving file-path information for
|
|
36
36
|
* round-trippable save.
|
|
@@ -43,9 +43,24 @@ export declare function loadWorkspace(schemaDir: string): Workspace;
|
|
|
43
43
|
export declare function saveTable(workspace: Workspace, tableId: string, frontmatter: V2TableFrontmatter, body: string): void;
|
|
44
44
|
/** Save concepts.md back to disk via the Phase 5 writer. */
|
|
45
45
|
export declare function saveConcepts(workspace: Workspace, frontmatter: V2ConceptsFrontmatter, body?: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* Save `tenant-policy.md` to the schema directory. The policy is checked first with
|
|
48
|
+
* the core loader's own rules, against the workspace's tables and columns: a policy
|
|
49
|
+
* that `loadSchema` would reject throws `SchemaParseError` and nothing is written,
|
|
50
|
+
* since every later load of the directory would fail until the file is fixed by hand.
|
|
51
|
+
*/
|
|
52
|
+
export declare function saveTenantPolicy(workspace: Workspace, frontmatter: TenantPolicyFrontmatter, body: string): void;
|
|
46
53
|
export declare function validateConceptLinks(workspace: Workspace, concepts: V2Concept[]): string[];
|
|
47
54
|
export declare function pruneOrphanedColumns(workspace: Workspace): number;
|
|
48
|
-
export declare function bundleSchemaDirectory(schemaDir: string):
|
|
55
|
+
export declare function bundleSchemaDirectory(schemaDir: string): CoreBundledSchemaV2;
|
|
56
|
+
/**
|
|
57
|
+
* `mode` for a file whose group could not be kept: the group and others both get
|
|
58
|
+
* only what both had before, so neither the group the file lands in nor the old
|
|
59
|
+
* group's non-members gain access (`0660` becomes `0600`, `0604` becomes `0600`).
|
|
60
|
+
*
|
|
61
|
+
* @internal Exported for its tests; `index.ts` doesn't re-export it.
|
|
62
|
+
*/
|
|
63
|
+
export declare function modeWhenGroupLost(mode: number): number;
|
|
49
64
|
/**
|
|
50
65
|
* Build a default body skeleton for a brand-new table .md file:
|
|
51
66
|
* `# Table: <name>` heading + the description as the first paragraph.
|
package/dist/workspace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAqBA,OAAO,EAUL,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CA+E1D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,MAAM,GACX,IAAI,CAgBN;AAED,4DAA4D;AAC5D,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,qBAAqB,EAClC,IAAI,SAAwE,GAC3E,IAAI,CASN;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,uBAAuB,EACpC,IAAI,EAAE,MAAM,GACX,IAAI,CAeN;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAO1F;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CA2BjE;AAqCD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAiB5E;AAsRD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAK/E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAkDpF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBvF"}
|
package/dist/workspace.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
2
|
+
import { accessSync, closeSync, constants as fsConstants, existsSync, fchmodSync, fchownSync, fstatSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
3
|
+
import { basename, dirname, join, resolve } from "node:path";
|
|
4
|
+
import { parseConceptsMarkdown, parseTableMarkdown, loadSchema, normalizeTenantPolicy, parseTenantPolicyMarkdown, writeConceptsMarkdown, writeTableMarkdown, writeTenantPolicyMarkdown, v2SchemaJsonSchema, } from "@askdb/core";
|
|
4
5
|
/**
|
|
5
6
|
* Load a Schema v2 workspace from disk, preserving file-path information for
|
|
6
7
|
* round-trippable save.
|
|
@@ -13,8 +14,11 @@ export function loadWorkspace(schemaDir) {
|
|
|
13
14
|
const physical = parsePhysical(readFileSync(schemaJsonPath, "utf8"), schemaJsonPath);
|
|
14
15
|
const tableDir = join(schemaDir, "tables");
|
|
15
16
|
const parsedByFile = new Map();
|
|
17
|
+
// Every name in tables/, not only the `.md` files the loader reads: a default
|
|
18
|
+
// filename must not land on any of them (`Orders.MD` is `orders.md` on APFS).
|
|
19
|
+
const entriesOnDisk = existsSync(tableDir) ? readdirSync(tableDir) : [];
|
|
16
20
|
if (existsSync(tableDir)) {
|
|
17
|
-
for (const entry of
|
|
21
|
+
for (const entry of entriesOnDisk) {
|
|
18
22
|
if (!entry.endsWith(".md"))
|
|
19
23
|
continue;
|
|
20
24
|
const content = readFileSync(join(tableDir, entry), "utf8");
|
|
@@ -35,15 +39,28 @@ export function loadWorkspace(schemaDir) {
|
|
|
35
39
|
escalatedByOtherFiles.set(owner, set);
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
|
-
// Pair physical tables with their .md (if any)
|
|
39
|
-
//
|
|
40
|
-
|
|
42
|
+
// Pair physical tables with their .md (if any), matched by front-matter id —
|
|
43
|
+
// existing files keep their filename whatever it is. Physical tables without
|
|
44
|
+
// a .md get a safe, collision-free default filename.
|
|
45
|
+
const matchedByTableId = new Map();
|
|
46
|
+
for (const physTable of physical.tables) {
|
|
41
47
|
const matched = [...parsedByFile.entries()].find(([, p]) => p.frontmatter.id === physTable.id);
|
|
48
|
+
if (matched)
|
|
49
|
+
matchedByTableId.set(physTable.id, matched);
|
|
50
|
+
}
|
|
51
|
+
const defaultFilenames = assignDefaultTableFilenames(physical.tables.filter((t) => !matchedByTableId.has(t.id)), physical.tables, entriesOnDisk);
|
|
52
|
+
const tables = physical.tables.map((physTable) => {
|
|
53
|
+
const matched = matchedByTableId.get(physTable.id);
|
|
42
54
|
const escalated = [...(escalatedByOtherFiles.get(physTable.id) ?? [])];
|
|
43
55
|
if (matched) {
|
|
44
56
|
return { physical: physTable, filename: matched[0], parsed: matched[1], escalatedByOtherFiles: escalated };
|
|
45
57
|
}
|
|
46
|
-
return {
|
|
58
|
+
return {
|
|
59
|
+
physical: physTable,
|
|
60
|
+
filename: defaultFilenames.get(physTable.id),
|
|
61
|
+
parsed: undefined,
|
|
62
|
+
escalatedByOtherFiles: escalated,
|
|
63
|
+
};
|
|
47
64
|
});
|
|
48
65
|
let concepts;
|
|
49
66
|
const conceptsPath = join(schemaDir, "concepts.md");
|
|
@@ -67,10 +84,10 @@ export function saveTable(workspace, tableId, frontmatter, body) {
|
|
|
67
84
|
if (!wt)
|
|
68
85
|
throw new Error(`No such table: ${tableId}`);
|
|
69
86
|
const tablesDir = join(workspace.schemaDir, "tables");
|
|
87
|
+
const filePath = resolveTableFilePath(tablesDir, wt.filename);
|
|
70
88
|
mkdirSync(tablesDir, { recursive: true });
|
|
71
|
-
const filePath = join(tablesDir, wt.filename);
|
|
72
89
|
const md = writeTableMarkdown(frontmatter, body);
|
|
73
|
-
|
|
90
|
+
writeWorkspaceFile(workspace.schemaDir, `tables/${wt.filename}`, md, "table markdown outside tables/");
|
|
74
91
|
// Update in-memory parse so subsequent edits see the saved state.
|
|
75
92
|
const reparsed = parseTableMarkdown(md, filePath);
|
|
76
93
|
wt.parsed = reparsed;
|
|
@@ -83,9 +100,22 @@ export function saveConcepts(workspace, frontmatter, body = workspace.concepts?.
|
|
|
83
100
|
}
|
|
84
101
|
const filePath = join(workspace.schemaDir, "concepts.md");
|
|
85
102
|
const md = writeConceptsMarkdown(frontmatter, body);
|
|
86
|
-
|
|
103
|
+
writeWorkspaceFile(workspace.schemaDir, "concepts.md", md, "concepts.md outside the schema directory");
|
|
87
104
|
workspace.concepts = parseConceptsMarkdown(md, filePath);
|
|
88
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Save `tenant-policy.md` to the schema directory. The policy is checked first with
|
|
108
|
+
* the core loader's own rules, against the workspace's tables and columns: a policy
|
|
109
|
+
* that `loadSchema` would reject throws `SchemaParseError` and nothing is written,
|
|
110
|
+
* since every later load of the directory would fail until the file is fixed by hand.
|
|
111
|
+
*/
|
|
112
|
+
export function saveTenantPolicy(workspace, frontmatter, body) {
|
|
113
|
+
const filePath = join(workspace.schemaDir, "tenant-policy.md");
|
|
114
|
+
const md = writeTenantPolicyMarkdown(frontmatter, body);
|
|
115
|
+
const { tables } = workspace.physical;
|
|
116
|
+
normalizeTenantPolicy(parseTenantPolicyMarkdown(md, filePath), new Set(tables.map((table) => table.id)), new Set(tables.flatMap((table) => table.columns.map((column) => column.id))));
|
|
117
|
+
writeWorkspaceFile(workspace.schemaDir, "tenant-policy.md", md, "tenant-policy.md outside the schema directory");
|
|
118
|
+
}
|
|
89
119
|
export function validateConceptLinks(workspace, concepts) {
|
|
90
120
|
const known = new Set();
|
|
91
121
|
for (const table of workspace.physical.tables) {
|
|
@@ -163,24 +193,291 @@ export function bundleSchemaDirectory(schemaDir) {
|
|
|
163
193
|
}
|
|
164
194
|
const physical = parsePhysical(readFileSync(schemaJsonPath, "utf8"), schemaJsonPath);
|
|
165
195
|
const tables = {};
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
196
|
+
for (const entry of (readOptionalDir(join(schemaDir, "tables")) ?? []).sort()) {
|
|
197
|
+
if (!entry.endsWith(".md"))
|
|
198
|
+
continue;
|
|
199
|
+
tables[entry] = readFileSync(join(schemaDir, "tables", entry), "utf8");
|
|
200
|
+
}
|
|
201
|
+
const bundle = { bundled: true, physical, tables };
|
|
202
|
+
for (const [key, file] of Object.entries(OPTIONAL_BUNDLE_FILES)) {
|
|
203
|
+
const content = readOptionalFile(join(schemaDir, file));
|
|
204
|
+
if (content !== undefined)
|
|
205
|
+
bundle[key] = content;
|
|
206
|
+
}
|
|
207
|
+
return bundle;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Each optional bundle field and the schema-directory file it carries. Typed
|
|
211
|
+
* against core's `BundledSchemaV2`, so a field the loader starts reading fails
|
|
212
|
+
* this build until the bundler writes it too.
|
|
213
|
+
*/
|
|
214
|
+
const OPTIONAL_BUNDLE_FILES = {
|
|
215
|
+
concepts: "concepts.md",
|
|
216
|
+
tenantPolicy: "tenant-policy.md",
|
|
217
|
+
};
|
|
218
|
+
// Like core's directory loader, only a missing path (ENOENT) counts as absent. Any
|
|
219
|
+
// other failure (EACCES, ELOOP, ENOTDIR, ...) throws, because skipping an unreadable
|
|
220
|
+
// tenant-policy.md would write a bundle that loads with tenant enforcement off.
|
|
221
|
+
function readOptionalFile(filePath) {
|
|
222
|
+
try {
|
|
223
|
+
return readFileSync(filePath, "utf8");
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
if (isMissingPathError(e))
|
|
227
|
+
return undefined;
|
|
228
|
+
throw e;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
function readOptionalDir(dirPath) {
|
|
232
|
+
try {
|
|
233
|
+
return readdirSync(dirPath);
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
if (isMissingPathError(e))
|
|
237
|
+
return undefined;
|
|
238
|
+
throw e;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
function isMissingPathError(e) {
|
|
242
|
+
return e?.code === "ENOENT";
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Turn a database identifier into a filename-safe slug. Path separators, NUL,
|
|
246
|
+
* control characters, lone UTF-16 surrogates, and characters reserved on Windows
|
|
247
|
+
* become `_`; names that would be hidden files (including `.` / `..`) or Windows
|
|
248
|
+
* device names get a `_` prefix; trailing dots and spaces (which Windows strips)
|
|
249
|
+
* become `_`.
|
|
250
|
+
* Everything else, including non-ASCII letters, is kept so ordinary names
|
|
251
|
+
* stay readable.
|
|
252
|
+
*/
|
|
253
|
+
function toSafeFilenameSlug(identifier) {
|
|
254
|
+
// Node writes a lone UTF-16 surrogate in a path as U+FFFD, so `a\ud800` and
|
|
255
|
+
// `a\ud801` would name the same file.
|
|
256
|
+
let slug = identifier.replace(/\p{Surrogate}/gu, "_");
|
|
257
|
+
slug = slug.replace(/[\u0000-\u001f\u007f/\\<>:"|?*]/g, "_");
|
|
258
|
+
slug = slug.replace(/[. ]+$/, (m) => "_".repeat(m.length));
|
|
259
|
+
if (slug === "")
|
|
260
|
+
return "_";
|
|
261
|
+
if (slug.startsWith("."))
|
|
262
|
+
slug = `_${slug}`;
|
|
263
|
+
if (/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\.|$)/i.test(slug))
|
|
264
|
+
slug = `_${slug}`;
|
|
265
|
+
return slug;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* The key under which two names are the same file on a case-insensitive file
|
|
269
|
+
* system. APFS ignores Unicode normalization and compares with full case folding
|
|
270
|
+
* (`straße` = `STRASSE` = `STRAẞE`, NFC `café` = NFD `café`); NTFS compares with a
|
|
271
|
+
* per-character uppercase table and no normalization. NFC removes normalization
|
|
272
|
+
* differences; lowercasing first maps capital sharp s `ẞ` to `ß`, and the uppercase
|
|
273
|
+
* step then expands `ß` to `SS`, so the key agrees with full case folding (ADR 0013
|
|
274
|
+
* records how that was checked). Over-matching only costs a longer filename.
|
|
275
|
+
*/
|
|
276
|
+
function filenameKey(name) {
|
|
277
|
+
return name.normalize("NFC").toLowerCase().toUpperCase().toLowerCase();
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Longest default filename, counted in UTF-8 bytes of its decomposed (NFD) form.
|
|
281
|
+
* That count is at least the length every common file system limits: UTF-8 bytes
|
|
282
|
+
* (ext4, APFS: 255), UTF-16 units (NTFS: 255), and decomposed UTF-16 units (HFS+:
|
|
283
|
+
* 255). The margin under 255 leaves room for editor and atomic-write temp names
|
|
284
|
+
* such as `.orders.md.swp`.
|
|
285
|
+
*/
|
|
286
|
+
const MAX_FILENAME_BYTES = 200;
|
|
287
|
+
const nfdByteLength = (s) => Buffer.byteLength(s.normalize("NFD"), "utf8");
|
|
288
|
+
/**
|
|
289
|
+
* `<stem>.md`, or, when that is longer than `MAX_FILENAME_BYTES`, the longest
|
|
290
|
+
* whole-code-point prefix of `stem` that fits, then `~<8 hex chars of
|
|
291
|
+
* sha256(stem)>.md`. The hash keeps two long names that share a prefix apart.
|
|
292
|
+
*/
|
|
293
|
+
function fitFilename(stem) {
|
|
294
|
+
const filename = `${stem}.md`;
|
|
295
|
+
if (nfdByteLength(filename) <= MAX_FILENAME_BYTES)
|
|
296
|
+
return filename;
|
|
297
|
+
const suffix = `~${createHash("sha256").update(stem).digest("hex").slice(0, 8)}.md`;
|
|
298
|
+
let budget = MAX_FILENAME_BYTES - suffix.length;
|
|
299
|
+
let prefix = "";
|
|
300
|
+
for (const ch of stem) {
|
|
301
|
+
budget -= nfdByteLength(ch);
|
|
302
|
+
if (budget < 0)
|
|
303
|
+
break;
|
|
304
|
+
prefix += ch;
|
|
305
|
+
}
|
|
306
|
+
return `${prefix}${suffix}`;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Pick default `tables/` filenames for tables that do not have a markdown file
|
|
310
|
+
* yet (ADR 0013). Uses `<name>.md` when the bare name is unique across the
|
|
311
|
+
* physical layer, otherwise the schema-qualified `<schema>.<name>.md`, comparing
|
|
312
|
+
* names as a case-insensitive file system would (`filenameKey`). Never reuses a
|
|
313
|
+
* filename already on disk or already assigned; falls back to a numeric suffix
|
|
314
|
+
* if needed. Over-long names are shortened with a hash suffix (`fitFilename`).
|
|
315
|
+
*/
|
|
316
|
+
function assignDefaultTableFilenames(unassigned, allTables, existingFilenames) {
|
|
317
|
+
const bareNameCounts = new Map();
|
|
318
|
+
for (const t of allTables) {
|
|
319
|
+
const key = filenameKey(toSafeFilenameSlug(t.name));
|
|
320
|
+
bareNameCounts.set(key, (bareNameCounts.get(key) ?? 0) + 1);
|
|
321
|
+
}
|
|
322
|
+
const taken = new Set(existingFilenames.map(filenameKey));
|
|
323
|
+
const assigned = new Map();
|
|
324
|
+
for (const t of unassigned) {
|
|
325
|
+
const bare = toSafeFilenameSlug(t.name);
|
|
326
|
+
const qualified = toSafeFilenameSlug(`${t.schema}.${t.name}`);
|
|
327
|
+
const nameCollides = (bareNameCounts.get(filenameKey(bare)) ?? 0) > 1;
|
|
328
|
+
let filename = fitFilename(nameCollides ? qualified : bare);
|
|
329
|
+
if (taken.has(filenameKey(filename)))
|
|
330
|
+
filename = fitFilename(qualified);
|
|
331
|
+
for (let n = 2; taken.has(filenameKey(filename)); n += 1) {
|
|
332
|
+
filename = fitFilename(`${qualified}-${n}`);
|
|
172
333
|
}
|
|
334
|
+
taken.add(filenameKey(filename));
|
|
335
|
+
assigned.set(t.id, filename);
|
|
173
336
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
337
|
+
return assigned;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Resolve a workspace table filename to an absolute path, refusing anything
|
|
341
|
+
* that would land outside `tablesDir` (path separators, `..`, absolute paths,
|
|
342
|
+
* NUL bytes) or is not a `.md` file. `\` separates paths only on Windows; on
|
|
343
|
+
* macOS and Linux it is an ordinary filename character, so a file such as
|
|
344
|
+
* `ord\ers.md` already in `tables/` can still be saved.
|
|
345
|
+
*/
|
|
346
|
+
function resolveTableFilePath(tablesDir, filename) {
|
|
347
|
+
const root = resolve(tablesDir);
|
|
348
|
+
const filePath = resolve(root, filename);
|
|
349
|
+
if (filename.includes("\0") ||
|
|
350
|
+
filename.includes("/") ||
|
|
351
|
+
(process.platform === "win32" && filename.includes("\\")) ||
|
|
352
|
+
basename(filePath) !== filename ||
|
|
353
|
+
dirname(filePath) !== root ||
|
|
354
|
+
!filename.endsWith(".md")) {
|
|
355
|
+
throw new Error(`Refusing to write table markdown outside tables/: ${JSON.stringify(filename)}`);
|
|
356
|
+
}
|
|
357
|
+
return filePath;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Write a file inside the schema directory so that no link can redirect the write
|
|
361
|
+
* out of it. `relativePath` uses `/` between its parts (`tables/orders.md`,
|
|
362
|
+
* `concepts.md`); `refusalSubject` completes the error message, as in
|
|
363
|
+
* `Refusing to write <refusalSubject>: "concepts.md" is a symbolic link`. Every
|
|
364
|
+
* `@askdb/enrich` save into the schema directory goes through here: `saveTable()`,
|
|
365
|
+
* `saveConcepts()` and `saveTenantPolicy()`. Studio's own `playground-history.json`
|
|
366
|
+
* and `.gitignore` writes don't yet (#617). A schema directory can come from an
|
|
367
|
+
* untrusted checkout (git stores symbolic links, tar archives also store hard
|
|
368
|
+
* links), and Studio saves into it for as long as it runs.
|
|
369
|
+
*
|
|
370
|
+
* The caller passes a path it has already checked: this helper refuses links, not
|
|
371
|
+
* `..` or separators in a part. `saveTable()` checks its filename with
|
|
372
|
+
* `resolveTableFilePath()` first; the other callers pass fixed names.
|
|
373
|
+
*
|
|
374
|
+
* - No directory between the schema directory and the target (`tables/`), and not
|
|
375
|
+
* the target itself, may be a symbolic link; either one is refused. The schema
|
|
376
|
+
* directory itself may be one: it is the path the user chose.
|
|
377
|
+
* - The content goes to a new temp file next to the target (`O_EXCL`, so it never
|
|
378
|
+
* opens an existing path), which is then renamed over the target. `rename`
|
|
379
|
+
* replaces the directory entry instead of writing into the existing file, so a
|
|
380
|
+
* hard link to a file elsewhere is detached, not written through, and a symbolic
|
|
381
|
+
* link planted at the target after the check is replaced, not followed. This
|
|
382
|
+
* holds on Windows too, which has no `O_NOFOLLOW`.
|
|
383
|
+
* - A target the caller can't write is refused with `EACCES`, as a plain write
|
|
384
|
+
* would be. `rename` needs only write access to the directory, so without this
|
|
385
|
+
* check a read-only file (how Perforce and ClearCase mark files not checked out)
|
|
386
|
+
* would be replaced on macOS and Linux. The temp file needs write access to the
|
|
387
|
+
* directory too, so a save into a directory the caller can't write fails with
|
|
388
|
+
* `EACCES` even when the file itself is writable.
|
|
389
|
+
* - The temp file gets the target's owner, group, and permission bits before any
|
|
390
|
+
* content is written, so a `0600` file's new content is never readable by others
|
|
391
|
+
* and a `0660` file stays shared with its own group, not the group a new file in
|
|
392
|
+
* the directory would get (`keepOwnerAndGroup`). It is `fsync`ed before the
|
|
393
|
+
* rename. Readers, and a crash or power loss, see either the old file or the new
|
|
394
|
+
* one, never a partial write.
|
|
395
|
+
*
|
|
396
|
+
* Not covered: a directory between the schema directory and the target (`tables/`)
|
|
397
|
+
* being swapped for a link after the check and before the rename, since the temp
|
|
398
|
+
* path and the rename still resolve through it. That needs a concurrent local
|
|
399
|
+
* writer racing a save. And only root can give a file to another user, so on macOS
|
|
400
|
+
* and Linux a save by someone other than the file's owner (a member of a group that
|
|
401
|
+
* may write it) makes the saver its owner.
|
|
402
|
+
*/
|
|
403
|
+
function writeWorkspaceFile(schemaDir, relativePath, content, refusalSubject) {
|
|
404
|
+
const refuse = (why) => new Error(`Refusing to write ${refusalSubject}: ${why}`);
|
|
405
|
+
const dirs = relativePath.split("/");
|
|
406
|
+
const filename = dirs.pop();
|
|
407
|
+
let dir = schemaDir;
|
|
408
|
+
for (const [i, part] of dirs.entries()) {
|
|
409
|
+
dir = join(dir, part);
|
|
410
|
+
if (lstatSync(dir).isSymbolicLink()) {
|
|
411
|
+
throw refuse(`${dirs.slice(0, i + 1).join("/")}/ is a symbolic link`);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
const filePath = join(dir, filename);
|
|
415
|
+
const existing = lstatSync(filePath, { throwIfNoEntry: false });
|
|
416
|
+
if (existing?.isSymbolicLink())
|
|
417
|
+
throw refuse(`${JSON.stringify(filename)} is a symbolic link`);
|
|
418
|
+
if (existing)
|
|
419
|
+
accessSync(filePath, fsConstants.W_OK);
|
|
420
|
+
const tempPath = join(dir, `.askdb-save-${randomBytes(8).toString("hex")}.tmp`);
|
|
421
|
+
const fd = openSync(tempPath, fsConstants.O_WRONLY | fsConstants.O_CREAT | fsConstants.O_EXCL, 0o666);
|
|
422
|
+
try {
|
|
423
|
+
try {
|
|
424
|
+
// Keep the replaced file's owner, group, and permission bits, before the content lands.
|
|
425
|
+
if (existing) {
|
|
426
|
+
const mode = existing.mode & 0o777;
|
|
427
|
+
const groupKept = keepOwnerAndGroup(fd, existing);
|
|
428
|
+
fchmodSync(fd, groupKept ? mode : modeWhenGroupLost(mode));
|
|
429
|
+
}
|
|
430
|
+
writeFileSync(fd, content, "utf8");
|
|
431
|
+
fsyncSync(fd);
|
|
432
|
+
}
|
|
433
|
+
finally {
|
|
434
|
+
closeSync(fd);
|
|
435
|
+
}
|
|
436
|
+
renameSync(tempPath, filePath);
|
|
437
|
+
}
|
|
438
|
+
catch (e) {
|
|
439
|
+
try {
|
|
440
|
+
rmSync(tempPath, { force: true });
|
|
441
|
+
}
|
|
442
|
+
catch {
|
|
443
|
+
// Report the save's own error, not a failed cleanup (e.g. Windows EPERM).
|
|
444
|
+
}
|
|
445
|
+
throw e;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Give the file open at `fd` the owner and group of `existing`, as far as the
|
|
450
|
+
* process may: only root can change a file's owner, and anyone else can set only
|
|
451
|
+
* a group they belong to. Returns whether the group now matches; Windows has no
|
|
452
|
+
* POSIX owner or group, so there it is always true.
|
|
453
|
+
*/
|
|
454
|
+
function keepOwnerAndGroup(fd, existing) {
|
|
455
|
+
if (process.platform === "win32")
|
|
456
|
+
return true;
|
|
457
|
+
const tryChown = (uid, gid) => {
|
|
458
|
+
try {
|
|
459
|
+
fchownSync(fd, uid, gid);
|
|
460
|
+
}
|
|
461
|
+
catch {
|
|
462
|
+
// Not permitted (or not supported by this file system); checked below.
|
|
463
|
+
}
|
|
183
464
|
};
|
|
465
|
+
if (fstatSync(fd).uid !== existing.uid)
|
|
466
|
+
tryChown(existing.uid, existing.gid);
|
|
467
|
+
if (fstatSync(fd).gid !== existing.gid)
|
|
468
|
+
tryChown(-1, existing.gid);
|
|
469
|
+
return fstatSync(fd).gid === existing.gid;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* `mode` for a file whose group could not be kept: the group and others both get
|
|
473
|
+
* only what both had before, so neither the group the file lands in nor the old
|
|
474
|
+
* group's non-members gain access (`0660` becomes `0600`, `0604` becomes `0600`).
|
|
475
|
+
*
|
|
476
|
+
* @internal Exported for its tests; `index.ts` doesn't re-export it.
|
|
477
|
+
*/
|
|
478
|
+
export function modeWhenGroupLost(mode) {
|
|
479
|
+
const shared = (mode >> 3) & mode & 0o007;
|
|
480
|
+
return (mode & 0o700) | (shared << 3) | shared;
|
|
184
481
|
}
|
|
185
482
|
/**
|
|
186
483
|
* Build a default body skeleton for a brand-new table .md file:
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/enrich",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.16",
|
|
4
4
|
"description": "AskDB enrichment workspace helpers for Schema v2 authoring surfaces.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
"NOTICE"
|
|
38
38
|
],
|
|
39
39
|
"engines": {
|
|
40
|
-
"node": ">=22.
|
|
40
|
+
"node": ">=22.23.4"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@askdb/core": "1.0.0-beta.
|
|
43
|
+
"@askdb/core": "1.0.0-beta.45"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
|
-
"vitest": "^5.0.
|
|
47
|
+
"vitest": "^5.0.5"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "tsc -p tsconfig.build.json",
|
|
51
|
-
"lint": "tsc -p tsconfig.
|
|
51
|
+
"lint": "tsc -p tsconfig.json --noEmit",
|
|
52
52
|
"test": "vitest run --config ../../vitest.config.ts"
|
|
53
53
|
}
|
|
54
54
|
}
|