@dotit/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +229 -0
  3. package/dist/aliases.d.ts +1 -0
  4. package/dist/aliases.js +8 -0
  5. package/dist/ask.d.ts +7 -0
  6. package/dist/ask.js +55 -0
  7. package/dist/browser.d.ts +12 -0
  8. package/dist/browser.js +32 -0
  9. package/dist/diff.d.ts +17 -0
  10. package/dist/diff.js +179 -0
  11. package/dist/document-css.d.ts +1 -0
  12. package/dist/document-css.js +290 -0
  13. package/dist/executor.d.ts +40 -0
  14. package/dist/executor.js +501 -0
  15. package/dist/history.d.ts +10 -0
  16. package/dist/history.js +297 -0
  17. package/dist/html-to-it.d.ts +1 -0
  18. package/dist/html-to-it.js +288 -0
  19. package/dist/index-builder.d.ts +62 -0
  20. package/dist/index-builder.js +228 -0
  21. package/dist/index.d.ts +39 -0
  22. package/dist/index.js +94 -0
  23. package/dist/language-registry.d.ts +39 -0
  24. package/dist/language-registry.js +530 -0
  25. package/dist/markdown.d.ts +1 -0
  26. package/dist/markdown.js +123 -0
  27. package/dist/merge.d.ts +6 -0
  28. package/dist/merge.js +255 -0
  29. package/dist/parser.d.ts +29 -0
  30. package/dist/parser.js +1562 -0
  31. package/dist/query.d.ts +32 -0
  32. package/dist/query.js +293 -0
  33. package/dist/renderer.d.ts +16 -0
  34. package/dist/renderer.js +1286 -0
  35. package/dist/schema.d.ts +47 -0
  36. package/dist/schema.js +574 -0
  37. package/dist/source.d.ts +3 -0
  38. package/dist/source.js +223 -0
  39. package/dist/theme.d.ts +49 -0
  40. package/dist/theme.js +113 -0
  41. package/dist/themes/corporate.json +86 -0
  42. package/dist/themes/dark.json +64 -0
  43. package/dist/themes/editorial.json +54 -0
  44. package/dist/themes/legal.json +57 -0
  45. package/dist/themes/minimal.json +50 -0
  46. package/dist/themes/print.json +54 -0
  47. package/dist/themes/technical.json +59 -0
  48. package/dist/themes/warm.json +53 -0
  49. package/dist/trust.d.ts +66 -0
  50. package/dist/trust.js +200 -0
  51. package/dist/types.d.ts +234 -0
  52. package/dist/types.js +19 -0
  53. package/dist/utils.d.ts +2 -0
  54. package/dist/utils.js +13 -0
  55. package/dist/validate.d.ts +13 -0
  56. package/dist/validate.js +711 -0
  57. package/dist/workflow.d.ts +18 -0
  58. package/dist/workflow.js +160 -0
  59. package/package.json +51 -0
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildIndexEntry = buildIndexEntry;
4
+ exports.buildShallowIndex = buildShallowIndex;
5
+ exports.checkStaleness = checkStaleness;
6
+ exports.updateIndex = updateIndex;
7
+ exports.composeIndexes = composeIndexes;
8
+ exports.queryComposed = queryComposed;
9
+ exports.formatTable = formatTable;
10
+ exports.formatJSON = formatJSON;
11
+ exports.formatCSV = formatCSV;
12
+ const utils_1 = require("./utils");
13
+ function simpleHash(content) {
14
+ let h = 0;
15
+ for (let i = 0; i < content.length; i++) {
16
+ h = (Math.imul(31, h) + content.charCodeAt(i)) | 0;
17
+ }
18
+ return "hash:" + Math.abs(h).toString(16).padStart(8, "0");
19
+ }
20
+ function buildIndexEntry(doc, source, modifiedAt) {
21
+ const meta = {};
22
+ if (doc.metadata?.title)
23
+ meta.title = doc.metadata.title;
24
+ if (doc.metadata?.meta) {
25
+ for (const [k, v] of Object.entries(doc.metadata.meta)) {
26
+ if (v !== undefined && v !== "")
27
+ meta[k] = v;
28
+ }
29
+ }
30
+ if (doc.metadata?.tracking) {
31
+ meta.track = {};
32
+ if (doc.metadata.tracking.version)
33
+ meta.track.version = doc.metadata.tracking.version;
34
+ if (doc.metadata.tracking.by)
35
+ meta.track.by = doc.metadata.tracking.by;
36
+ }
37
+ const allBlocks = (0, utils_1.flattenBlocks)(doc.blocks);
38
+ let currentSection = "";
39
+ const blocks = [];
40
+ for (const block of allBlocks) {
41
+ if (block.type === "section") {
42
+ currentSection = block.content;
43
+ }
44
+ const bt = block.type;
45
+ if (bt === "font" ||
46
+ bt === "page" ||
47
+ bt === "header" ||
48
+ bt === "footer" ||
49
+ bt === "watermark" ||
50
+ bt === "meta" ||
51
+ bt === "break" ||
52
+ bt === "toc") {
53
+ continue;
54
+ }
55
+ blocks.push({
56
+ type: bt,
57
+ content: block.content,
58
+ section: currentSection || undefined,
59
+ properties: block.properties || {},
60
+ });
61
+ }
62
+ return {
63
+ hash: simpleHash(source),
64
+ modified_at: modifiedAt,
65
+ metadata: meta,
66
+ blocks,
67
+ };
68
+ }
69
+ function buildShallowIndex(folder, files, coreVersion) {
70
+ const index = {
71
+ version: "1",
72
+ scope: "shallow",
73
+ folder,
74
+ built_at: new Date().toISOString(),
75
+ core_version: coreVersion,
76
+ files: {},
77
+ };
78
+ for (const [filename, data] of Object.entries(files)) {
79
+ index.files[filename] = buildIndexEntry(data.doc, data.source, data.modifiedAt);
80
+ }
81
+ return index;
82
+ }
83
+ function checkStaleness(existingIndex, currentFiles) {
84
+ const stale = [];
85
+ const added = [];
86
+ const removed = [];
87
+ const unchanged = [];
88
+ for (const [filename, current] of Object.entries(currentFiles)) {
89
+ const entry = existingIndex.files[filename];
90
+ if (!entry) {
91
+ added.push(filename);
92
+ }
93
+ else if (entry.modified_at !== current.modifiedAt ||
94
+ entry.hash !== simpleHash(current.source)) {
95
+ stale.push(filename);
96
+ }
97
+ else {
98
+ unchanged.push(filename);
99
+ }
100
+ }
101
+ for (const filename of Object.keys(existingIndex.files)) {
102
+ if (!(filename in currentFiles)) {
103
+ removed.push(filename);
104
+ }
105
+ }
106
+ return { stale, added, removed, unchanged };
107
+ }
108
+ function updateIndex(existingIndex, updates, removedFiles) {
109
+ const newFiles = { ...existingIndex.files };
110
+ for (const filename of removedFiles) {
111
+ delete newFiles[filename];
112
+ }
113
+ for (const [filename, data] of Object.entries(updates)) {
114
+ newFiles[filename] = buildIndexEntry(data.doc, data.source, data.modifiedAt);
115
+ }
116
+ return {
117
+ ...existingIndex,
118
+ built_at: new Date().toISOString(),
119
+ files: newFiles,
120
+ };
121
+ }
122
+ function composeIndexes(indexes, rootFolder) {
123
+ const results = [];
124
+ for (const index of indexes) {
125
+ if (index.scope !== "shallow")
126
+ continue;
127
+ for (const [filename, entry] of Object.entries(index.files)) {
128
+ const folder = index.folder;
129
+ const relativePath = folder ? `${folder}/${filename}` : filename;
130
+ for (const block of entry.blocks) {
131
+ results.push({
132
+ file: relativePath,
133
+ block,
134
+ });
135
+ }
136
+ }
137
+ }
138
+ return results;
139
+ }
140
+ function queryComposed(results, filters) {
141
+ return results.filter((r) => {
142
+ if (filters.type && r.block.type !== filters.type)
143
+ return false;
144
+ if (filters.content &&
145
+ !r.block.content.toLowerCase().includes(filters.content.toLowerCase()))
146
+ return false;
147
+ if (filters.by &&
148
+ String(r.block.properties.by || "").toLowerCase() !==
149
+ filters.by.toLowerCase())
150
+ return false;
151
+ if (filters.status &&
152
+ String(r.block.properties.status || "").toLowerCase() !==
153
+ filters.status.toLowerCase())
154
+ return false;
155
+ if (filters.section &&
156
+ (!r.block.section ||
157
+ !r.block.section.toLowerCase().includes(filters.section.toLowerCase())))
158
+ return false;
159
+ return true;
160
+ });
161
+ }
162
+ function formatTable(results) {
163
+ if (results.length === 0)
164
+ return "No results";
165
+ const propKeys = new Set();
166
+ for (const r of results) {
167
+ for (const k of Object.keys(r.block.properties)) {
168
+ propKeys.add(k);
169
+ }
170
+ }
171
+ const propCols = [...propKeys];
172
+ const headers = ["FILE", "TYPE", "CONTENT", "PROPERTIES"];
173
+ const rows = results.map((r) => [
174
+ r.file,
175
+ r.block.type,
176
+ r.block.content.length > 40
177
+ ? r.block.content.slice(0, 37) + "..."
178
+ : r.block.content,
179
+ propCols
180
+ .map((k) => {
181
+ const v = r.block.properties[k];
182
+ return v !== undefined ? `${k}: ${String(v).slice(0, 20)}` : "";
183
+ })
184
+ .filter(Boolean)
185
+ .join(" | "),
186
+ ]);
187
+ const colWidths = headers.map((h, i) => Math.max(h.length, ...rows.map((row) => String(row[i]).length)));
188
+ const line = (cells) => cells.map((c, i) => String(c).padEnd(colWidths[i])).join(" ");
189
+ return [
190
+ line(headers),
191
+ colWidths.map((w) => "-".repeat(w)).join(" "),
192
+ ...rows.map((r) => line(r)),
193
+ ].join("\n");
194
+ }
195
+ function formatJSON(results) {
196
+ return JSON.stringify(results.map((r) => ({
197
+ file: r.file,
198
+ block: r.block,
199
+ })), null, 2);
200
+ }
201
+ function formatCSV(results) {
202
+ if (results.length === 0)
203
+ return "";
204
+ const propKeys = new Set();
205
+ for (const r of results) {
206
+ for (const k of Object.keys(r.block.properties)) {
207
+ propKeys.add(k);
208
+ }
209
+ }
210
+ const props = [...propKeys].sort();
211
+ const escape = (v) => {
212
+ if (v.includes(",") || v.includes('"') || v.includes("\n")) {
213
+ return `"${v.replace(/"/g, '""')}"`;
214
+ }
215
+ return v;
216
+ };
217
+ const headers = ["file", "type", "content", ...props];
218
+ const rows = results.map((r) => [
219
+ r.file,
220
+ r.block.type,
221
+ r.block.content,
222
+ ...props.map((k) => String(r.block.properties[k] ?? "")),
223
+ ]);
224
+ return [
225
+ headers.map(escape).join(","),
226
+ ...rows.map((r) => r.map(escape).join(",")),
227
+ ].join("\n");
228
+ }
@@ -0,0 +1,39 @@
1
+ export { ALIASES } from "./aliases";
2
+ export { LANGUAGE_REGISTRY, CANONICAL_KEYWORDS, ALIAS_MAP, DEPRECATED_ALIASES, COMPAT_ONLY_ALIASES, BOUNDARY_KEYWORDS, PUBLIC_KEYWORDS, KEYWORD_TIERS, CORE_KEYWORDS, tierOf, } from "./language-registry";
3
+ export type { KeywordDefinition, KeywordCategory, KeywordStatus, KeywordTier, } from "./language-registry";
4
+ export { getBuiltinTheme, listBuiltinThemes, registerBuiltinTheme, generateThemeCSS, } from "./theme";
5
+ export type { IntentTheme, ThemeFonts, ThemeColors, ThemeSpacing, } from "./theme";
6
+ export type { RenderOptions } from "./renderer";
7
+ export { parseIntentText, _resetIdCounter, parseIntentTextSafe, } from "./parser";
8
+ export { renderHTML } from "./renderer";
9
+ export { validateDocumentSemantic } from "./validate";
10
+ export { documentToSource, blockToSource } from "./source";
11
+ export type { SafeParseOptions, SafeParseResult, ParseWarning, ParseError, } from "./parser";
12
+ export { renderPrint, collectPrintLayout, cssContentValue } from "./renderer";
13
+ export { collectDocumentStyles, documentStyleCSS, DOC_STYLE_TARGETS, } from "./renderer";
14
+ export type { DocumentStyleRule } from "./renderer";
15
+ export { mergeData, parseAndMerge } from "./merge";
16
+ export type { MergeOptions } from "./merge";
17
+ export { convertMarkdownToIntentText } from "./markdown";
18
+ export { convertHtmlToIntentText } from "./html-to-it";
19
+ export { queryBlocks, parseQuery, formatQueryResult, queryDocument, } from "./query";
20
+ export type { SimpleQueryOptions } from "./query";
21
+ export { validateDocument, createSchema, formatValidationResult, PREDEFINED_SCHEMAS, } from "./schema";
22
+ export type { SemanticIssue, SemanticValidationResult } from "./validate";
23
+ export { diffDocuments } from "./diff";
24
+ export type { DocumentDiff, BlockModification } from "./diff";
25
+ export { extractWorkflow } from "./workflow";
26
+ export type { WorkflowStep, WorkflowGraph } from "./workflow";
27
+ export { executeWorkflow } from "./executor";
28
+ export type { WorkflowRuntime, ToolHandler, ExecutionContext, ExecutionResult, ExecutionLogEntry, ExecutionOptions, } from "./executor";
29
+ export { computeDocumentHash, findHistoryBoundaryInSource, sealDocument, verifyDocument, generateBlockId, blockFingerprint, matchBlocksToRegistry, computeTrustDiff, incrementVersion, } from "./trust";
30
+ export type { SealOptions, SealResult, VerifyResult, BlockSnapshot, TrustDiff, } from "./trust";
31
+ export { updateHistory, parseHistorySection } from "./history";
32
+ export type { SaveHistoryOptions } from "./history";
33
+ export { detectHistoryBoundary } from "./trust";
34
+ export { buildShallowIndex, buildIndexEntry, checkStaleness, updateIndex, composeIndexes, queryComposed, formatTable, formatJSON, formatCSV, } from "./index-builder";
35
+ export type { ItIndex, IndexFileEntry, IndexBlockEntry, ComposedResult, } from "./index-builder";
36
+ export { askDocuments, serializeContext } from "./ask";
37
+ export type { AskOptions } from "./ask";
38
+ export { KEYWORDS } from "./types";
39
+ export type { IntentBlock, IntentDocument, BlockType, InlineNode, IntentExtension, ParseOptions, Diagnostic, AgenticStatus, VariableRef, QueryOptions, QueryResult, QueryClause, QuerySort, DocumentSchema, BlockSchema, PropertySchema, ValidationResult, ValidationError, HistorySection, RegistryEntry, RevisionEntry, PrintLayout, } from "./types";
package/dist/index.js ADDED
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchBlocksToRegistry = exports.blockFingerprint = exports.generateBlockId = exports.verifyDocument = exports.sealDocument = exports.findHistoryBoundaryInSource = exports.computeDocumentHash = exports.executeWorkflow = exports.extractWorkflow = exports.diffDocuments = exports.PREDEFINED_SCHEMAS = exports.formatValidationResult = exports.createSchema = exports.validateDocument = exports.queryDocument = exports.formatQueryResult = exports.parseQuery = exports.queryBlocks = exports.convertHtmlToIntentText = exports.convertMarkdownToIntentText = exports.parseAndMerge = exports.mergeData = exports.DOC_STYLE_TARGETS = exports.documentStyleCSS = exports.collectDocumentStyles = exports.cssContentValue = exports.collectPrintLayout = exports.renderPrint = exports.blockToSource = exports.documentToSource = exports.validateDocumentSemantic = exports.renderHTML = exports.parseIntentTextSafe = exports._resetIdCounter = exports.parseIntentText = exports.generateThemeCSS = exports.registerBuiltinTheme = exports.listBuiltinThemes = exports.getBuiltinTheme = exports.tierOf = exports.CORE_KEYWORDS = exports.KEYWORD_TIERS = exports.PUBLIC_KEYWORDS = exports.BOUNDARY_KEYWORDS = exports.COMPAT_ONLY_ALIASES = exports.DEPRECATED_ALIASES = exports.ALIAS_MAP = exports.CANONICAL_KEYWORDS = exports.LANGUAGE_REGISTRY = exports.ALIASES = void 0;
4
+ exports.KEYWORDS = exports.serializeContext = exports.askDocuments = exports.formatCSV = exports.formatJSON = exports.formatTable = exports.queryComposed = exports.composeIndexes = exports.updateIndex = exports.checkStaleness = exports.buildIndexEntry = exports.buildShallowIndex = exports.detectHistoryBoundary = exports.parseHistorySection = exports.updateHistory = exports.incrementVersion = exports.computeTrustDiff = void 0;
5
+ var aliases_1 = require("./aliases");
6
+ Object.defineProperty(exports, "ALIASES", { enumerable: true, get: function () { return aliases_1.ALIASES; } });
7
+ var language_registry_1 = require("./language-registry");
8
+ Object.defineProperty(exports, "LANGUAGE_REGISTRY", { enumerable: true, get: function () { return language_registry_1.LANGUAGE_REGISTRY; } });
9
+ Object.defineProperty(exports, "CANONICAL_KEYWORDS", { enumerable: true, get: function () { return language_registry_1.CANONICAL_KEYWORDS; } });
10
+ Object.defineProperty(exports, "ALIAS_MAP", { enumerable: true, get: function () { return language_registry_1.ALIAS_MAP; } });
11
+ Object.defineProperty(exports, "DEPRECATED_ALIASES", { enumerable: true, get: function () { return language_registry_1.DEPRECATED_ALIASES; } });
12
+ Object.defineProperty(exports, "COMPAT_ONLY_ALIASES", { enumerable: true, get: function () { return language_registry_1.COMPAT_ONLY_ALIASES; } });
13
+ Object.defineProperty(exports, "BOUNDARY_KEYWORDS", { enumerable: true, get: function () { return language_registry_1.BOUNDARY_KEYWORDS; } });
14
+ Object.defineProperty(exports, "PUBLIC_KEYWORDS", { enumerable: true, get: function () { return language_registry_1.PUBLIC_KEYWORDS; } });
15
+ Object.defineProperty(exports, "KEYWORD_TIERS", { enumerable: true, get: function () { return language_registry_1.KEYWORD_TIERS; } });
16
+ Object.defineProperty(exports, "CORE_KEYWORDS", { enumerable: true, get: function () { return language_registry_1.CORE_KEYWORDS; } });
17
+ Object.defineProperty(exports, "tierOf", { enumerable: true, get: function () { return language_registry_1.tierOf; } });
18
+ var theme_1 = require("./theme");
19
+ Object.defineProperty(exports, "getBuiltinTheme", { enumerable: true, get: function () { return theme_1.getBuiltinTheme; } });
20
+ Object.defineProperty(exports, "listBuiltinThemes", { enumerable: true, get: function () { return theme_1.listBuiltinThemes; } });
21
+ Object.defineProperty(exports, "registerBuiltinTheme", { enumerable: true, get: function () { return theme_1.registerBuiltinTheme; } });
22
+ Object.defineProperty(exports, "generateThemeCSS", { enumerable: true, get: function () { return theme_1.generateThemeCSS; } });
23
+ var parser_1 = require("./parser");
24
+ Object.defineProperty(exports, "parseIntentText", { enumerable: true, get: function () { return parser_1.parseIntentText; } });
25
+ Object.defineProperty(exports, "_resetIdCounter", { enumerable: true, get: function () { return parser_1._resetIdCounter; } });
26
+ Object.defineProperty(exports, "parseIntentTextSafe", { enumerable: true, get: function () { return parser_1.parseIntentTextSafe; } });
27
+ var renderer_1 = require("./renderer");
28
+ Object.defineProperty(exports, "renderHTML", { enumerable: true, get: function () { return renderer_1.renderHTML; } });
29
+ var validate_1 = require("./validate");
30
+ Object.defineProperty(exports, "validateDocumentSemantic", { enumerable: true, get: function () { return validate_1.validateDocumentSemantic; } });
31
+ var source_1 = require("./source");
32
+ Object.defineProperty(exports, "documentToSource", { enumerable: true, get: function () { return source_1.documentToSource; } });
33
+ Object.defineProperty(exports, "blockToSource", { enumerable: true, get: function () { return source_1.blockToSource; } });
34
+ var renderer_2 = require("./renderer");
35
+ Object.defineProperty(exports, "renderPrint", { enumerable: true, get: function () { return renderer_2.renderPrint; } });
36
+ Object.defineProperty(exports, "collectPrintLayout", { enumerable: true, get: function () { return renderer_2.collectPrintLayout; } });
37
+ Object.defineProperty(exports, "cssContentValue", { enumerable: true, get: function () { return renderer_2.cssContentValue; } });
38
+ var renderer_3 = require("./renderer");
39
+ Object.defineProperty(exports, "collectDocumentStyles", { enumerable: true, get: function () { return renderer_3.collectDocumentStyles; } });
40
+ Object.defineProperty(exports, "documentStyleCSS", { enumerable: true, get: function () { return renderer_3.documentStyleCSS; } });
41
+ Object.defineProperty(exports, "DOC_STYLE_TARGETS", { enumerable: true, get: function () { return renderer_3.DOC_STYLE_TARGETS; } });
42
+ var merge_1 = require("./merge");
43
+ Object.defineProperty(exports, "mergeData", { enumerable: true, get: function () { return merge_1.mergeData; } });
44
+ Object.defineProperty(exports, "parseAndMerge", { enumerable: true, get: function () { return merge_1.parseAndMerge; } });
45
+ var markdown_1 = require("./markdown");
46
+ Object.defineProperty(exports, "convertMarkdownToIntentText", { enumerable: true, get: function () { return markdown_1.convertMarkdownToIntentText; } });
47
+ var html_to_it_1 = require("./html-to-it");
48
+ Object.defineProperty(exports, "convertHtmlToIntentText", { enumerable: true, get: function () { return html_to_it_1.convertHtmlToIntentText; } });
49
+ var query_1 = require("./query");
50
+ Object.defineProperty(exports, "queryBlocks", { enumerable: true, get: function () { return query_1.queryBlocks; } });
51
+ Object.defineProperty(exports, "parseQuery", { enumerable: true, get: function () { return query_1.parseQuery; } });
52
+ Object.defineProperty(exports, "formatQueryResult", { enumerable: true, get: function () { return query_1.formatQueryResult; } });
53
+ Object.defineProperty(exports, "queryDocument", { enumerable: true, get: function () { return query_1.queryDocument; } });
54
+ var schema_1 = require("./schema");
55
+ Object.defineProperty(exports, "validateDocument", { enumerable: true, get: function () { return schema_1.validateDocument; } });
56
+ Object.defineProperty(exports, "createSchema", { enumerable: true, get: function () { return schema_1.createSchema; } });
57
+ Object.defineProperty(exports, "formatValidationResult", { enumerable: true, get: function () { return schema_1.formatValidationResult; } });
58
+ Object.defineProperty(exports, "PREDEFINED_SCHEMAS", { enumerable: true, get: function () { return schema_1.PREDEFINED_SCHEMAS; } });
59
+ var diff_1 = require("./diff");
60
+ Object.defineProperty(exports, "diffDocuments", { enumerable: true, get: function () { return diff_1.diffDocuments; } });
61
+ var workflow_1 = require("./workflow");
62
+ Object.defineProperty(exports, "extractWorkflow", { enumerable: true, get: function () { return workflow_1.extractWorkflow; } });
63
+ var executor_1 = require("./executor");
64
+ Object.defineProperty(exports, "executeWorkflow", { enumerable: true, get: function () { return executor_1.executeWorkflow; } });
65
+ var trust_1 = require("./trust");
66
+ Object.defineProperty(exports, "computeDocumentHash", { enumerable: true, get: function () { return trust_1.computeDocumentHash; } });
67
+ Object.defineProperty(exports, "findHistoryBoundaryInSource", { enumerable: true, get: function () { return trust_1.findHistoryBoundaryInSource; } });
68
+ Object.defineProperty(exports, "sealDocument", { enumerable: true, get: function () { return trust_1.sealDocument; } });
69
+ Object.defineProperty(exports, "verifyDocument", { enumerable: true, get: function () { return trust_1.verifyDocument; } });
70
+ Object.defineProperty(exports, "generateBlockId", { enumerable: true, get: function () { return trust_1.generateBlockId; } });
71
+ Object.defineProperty(exports, "blockFingerprint", { enumerable: true, get: function () { return trust_1.blockFingerprint; } });
72
+ Object.defineProperty(exports, "matchBlocksToRegistry", { enumerable: true, get: function () { return trust_1.matchBlocksToRegistry; } });
73
+ Object.defineProperty(exports, "computeTrustDiff", { enumerable: true, get: function () { return trust_1.computeTrustDiff; } });
74
+ Object.defineProperty(exports, "incrementVersion", { enumerable: true, get: function () { return trust_1.incrementVersion; } });
75
+ var history_1 = require("./history");
76
+ Object.defineProperty(exports, "updateHistory", { enumerable: true, get: function () { return history_1.updateHistory; } });
77
+ Object.defineProperty(exports, "parseHistorySection", { enumerable: true, get: function () { return history_1.parseHistorySection; } });
78
+ var trust_2 = require("./trust");
79
+ Object.defineProperty(exports, "detectHistoryBoundary", { enumerable: true, get: function () { return trust_2.detectHistoryBoundary; } });
80
+ var index_builder_1 = require("./index-builder");
81
+ Object.defineProperty(exports, "buildShallowIndex", { enumerable: true, get: function () { return index_builder_1.buildShallowIndex; } });
82
+ Object.defineProperty(exports, "buildIndexEntry", { enumerable: true, get: function () { return index_builder_1.buildIndexEntry; } });
83
+ Object.defineProperty(exports, "checkStaleness", { enumerable: true, get: function () { return index_builder_1.checkStaleness; } });
84
+ Object.defineProperty(exports, "updateIndex", { enumerable: true, get: function () { return index_builder_1.updateIndex; } });
85
+ Object.defineProperty(exports, "composeIndexes", { enumerable: true, get: function () { return index_builder_1.composeIndexes; } });
86
+ Object.defineProperty(exports, "queryComposed", { enumerable: true, get: function () { return index_builder_1.queryComposed; } });
87
+ Object.defineProperty(exports, "formatTable", { enumerable: true, get: function () { return index_builder_1.formatTable; } });
88
+ Object.defineProperty(exports, "formatJSON", { enumerable: true, get: function () { return index_builder_1.formatJSON; } });
89
+ Object.defineProperty(exports, "formatCSV", { enumerable: true, get: function () { return index_builder_1.formatCSV; } });
90
+ var ask_1 = require("./ask");
91
+ Object.defineProperty(exports, "askDocuments", { enumerable: true, get: function () { return ask_1.askDocuments; } });
92
+ Object.defineProperty(exports, "serializeContext", { enumerable: true, get: function () { return ask_1.serializeContext; } });
93
+ var types_1 = require("./types");
94
+ Object.defineProperty(exports, "KEYWORDS", { enumerable: true, get: function () { return types_1.KEYWORDS; } });
@@ -0,0 +1,39 @@
1
+ export type KeywordCategory = "identity" | "content" | "structure" | "data" | "agent" | "trust" | "layout";
2
+ export type KeywordStatus = "stable" | "alias" | "deprecated" | "compat-only" | "boundary";
3
+ export interface KeywordDefinition {
4
+ canonical: string;
5
+ category: KeywordCategory;
6
+ since: string;
7
+ status: KeywordStatus;
8
+ description: string;
9
+ aliases: Array<{
10
+ alias: string;
11
+ status: "alias" | "compat-only" | "deprecated";
12
+ }>;
13
+ }
14
+ export interface ExtensionEntry {
15
+ keyword: string;
16
+ namespace: string;
17
+ xForm: string;
18
+ since: string;
19
+ description: string;
20
+ }
21
+ export declare const LANGUAGE_REGISTRY: KeywordDefinition[];
22
+ export declare const EXTENSION_REGISTRY: ExtensionEntry[];
23
+ export declare const CANONICAL_KEYWORDS: string[];
24
+ export declare const KEYWORD_COUNT: number;
25
+ export declare const EXTENSION_COUNT: number;
26
+ export declare const ALIAS_MAP: Record<string, string>;
27
+ export declare const DEPRECATED_ALIASES: Set<string>;
28
+ export declare const COMPAT_ONLY_ALIASES: Set<string>;
29
+ export declare const BOUNDARY_KEYWORDS: Set<string>;
30
+ export declare const COMPAT_KEYWORDS: string[];
31
+ export declare const PUBLIC_KEYWORDS: KeywordDefinition[];
32
+ export type KeywordTier = "core" | "agent" | "contract" | "data" | "print";
33
+ export declare function tierOf(def: KeywordDefinition): KeywordTier;
34
+ export declare const KEYWORD_TIERS: Record<KeywordTier, string[]>;
35
+ export declare const CORE_KEYWORDS: string[];
36
+ export declare const CALLOUT_ALIAS_MAP: Record<string, string>;
37
+ export declare const EXTENSION_KEYWORDS: Set<string>;
38
+ export declare const EXTENSION_NS_MAP: Record<string, string>;
39
+ export declare const EXTENSION_LEGACY_ALIASES: Record<string, string>;