@kernlang/core 2.0.0 → 3.1.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.
package/dist/errors.js CHANGED
@@ -20,6 +20,15 @@ export class KernParseError extends KernError {
20
20
  this.name = 'KernParseError';
21
21
  }
22
22
  }
23
+ export class KernCodegenError extends Error {
24
+ node;
25
+ constructor(message, node) {
26
+ const loc = node?.loc ? ` at ${node.type}:${node.loc.line}:${node.loc.col}` : node ? ` at ${node.type}` : '';
27
+ super(`Codegen error: ${message}${loc}`);
28
+ this.node = node;
29
+ this.name = 'KernCodegenError';
30
+ }
31
+ }
23
32
  function codeFrame(source, line, col) {
24
33
  const lines = source.split('\n');
25
34
  const start = Math.max(0, line - 3);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,MAAM,CAAS;IAEf,YAAY,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QACpE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,GAAG,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QACpE,KAAK,CAAC,gBAAgB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * @kernlang/core — parser, types, spec, config, style engines, codegen
3
3
  */
4
- export { parse } from './parser.js';
4
+ export { parse, registerParserHints, unregisterParserHints, clearParserHints, tokenizeLine } from './parser.js';
5
+ export type { Token, TokenKind } from './parser.js';
5
6
  export { decompile } from './decompiler.js';
6
7
  export { KernParseError } from './errors.js';
7
8
  export type { IRNode, IRSourceLocation, SourceMapEntry, TranspileResult, DecompileResult, GeneratedArtifact, KernEngine, } from './types.js';
@@ -10,14 +11,19 @@ export type { KernConfig, KernTarget, KernStructure, ResolvedKernConfig, Framewo
10
11
  export { parseMajorVersion, detectVersionsFromPackageJson, resolveTailwindMajor, resolveNextjsMajor } from './version-detect.js';
11
12
  export { buildTailwindProfile, buildNextjsProfile, buildVersionProfile, applyTailwindTokenRules, } from './version-adapters.js';
12
13
  export type { TailwindTokenRule, TailwindOutputRules, TailwindVersionProfile, NextjsOutputRules, NextjsVersionProfile, VersionProfile, } from './version-adapters.js';
13
- export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS } from './spec.js';
14
+ export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS, registerEvolvedType, unregisterEvolvedType, isKnownNodeType, getEvolvedTypes, clearEvolvedTypes, KERN_RESERVED, } from './spec.js';
14
15
  export { stylesToTailwind, colorToTw, pxToTw, DEFAULT_COLORS } from './styles-tailwind.js';
15
16
  export { expandStyles, expandStyleKey, expandStyleValue } from './styles-react.js';
16
- export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateFunction, generateMachine, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, parseParamList, capitalize, } from './codegen-core.js';
17
+ export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateUnion, generateService, generateFunction, generateMachine, generateMachineReducer, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, generateOn, generateWebSocket, generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateEach, generateCollect, generateBranch, generateResolve, generateExpect, generateRecover, generatePattern, generateApply, emitReasonAnnotations, emitLowConfidenceTodo, parseParamList, capitalize, getProps, getChildren, getFirstChild, getStyles, getPseudoStyles, getThemeRefs, dedent, cssPropertyName, handlerCode, generateConditional, generateSelect, generateModel, generateRepository, generateDependency, generateCache, registerEvolvedGenerator, registerEvolvedTargetGenerator, unregisterEvolvedGenerator, clearEvolvedGenerators, hasEvolvedGenerator, } from './codegen-core.js';
18
+ export { KernCodegenError } from './errors.js';
17
19
  export { registerTemplate, isTemplateNode, expandTemplateNode, clearTemplates, getTemplate, templateCount, KernTemplateError, } from './template-engine.js';
18
20
  export type { TemplateDefinition, TemplateSlot, TemplateImport, TemplateSlotType } from './types.js';
21
+ export { collectCoverageGaps, writeCoverageGaps, readCoverageGaps } from './coverage-gap.js';
22
+ export type { CoverageGap } from './coverage-gap.js';
19
23
  export { TEMPLATE_CATALOG, COMMON_TEMPLATES, detectTemplates } from './template-catalog.js';
20
24
  export type { CatalogEntry } from './template-catalog.js';
21
25
  export { scanProject, generateConfigSource, formatScanSummary } from './scanner.js';
22
26
  export type { ScanResult, ScanInfo, Detection } from './scanner.js';
27
+ export { conceptId, conceptSpan } from './concepts.js';
28
+ export type { ConceptNode, ConceptEdge, ConceptMap, ConceptSpan, ConceptNodeKind, ConceptEdgeKind, ConceptNodePayload, ConceptEdgePayload, EntrypointPayload, EffectPayload, StateMutationPayload, ErrorRaisePayload, ErrorHandlePayload, GuardPayload, CallPayload, DependencyPayload, } from './concepts.js';
23
29
  export { countTokens, serializeIR, camelKey, escapeJsx, escapeJsxText, escapeJsxAttr, escapeJsString } from './utils.js';
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @kernlang/core — parser, types, spec, config, style engines, codegen
3
3
  */
4
4
  // Core
5
- export { parse } from './parser.js';
5
+ export { parse, registerParserHints, unregisterParserHints, clearParserHints, tokenizeLine } from './parser.js';
6
6
  export { decompile } from './decompiler.js';
7
7
  export { KernParseError } from './errors.js';
8
8
  // Config
@@ -11,18 +11,34 @@ export { resolveConfig, mergeConfig, DEFAULT_CONFIG, VALID_TARGETS, VALID_STRUCT
11
11
  export { parseMajorVersion, detectVersionsFromPackageJson, resolveTailwindMajor, resolveNextjsMajor } from './version-detect.js';
12
12
  export { buildTailwindProfile, buildNextjsProfile, buildVersionProfile, applyTailwindTokenRules, } from './version-adapters.js';
13
13
  // Spec
14
- export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS } from './spec.js';
14
+ export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS,
15
+ // Evolved types (v4)
16
+ registerEvolvedType, unregisterEvolvedType, isKnownNodeType, getEvolvedTypes, clearEvolvedTypes, KERN_RESERVED, } from './spec.js';
15
17
  // Style engines
16
18
  export { stylesToTailwind, colorToTw, pxToTw, DEFAULT_COLORS } from './styles-tailwind.js';
17
19
  export { expandStyles, expandStyleKey, expandStyleValue } from './styles-react.js';
18
20
  // Codegen core
19
- export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateFunction, generateMachine, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, parseParamList, capitalize, } from './codegen-core.js';
21
+ export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateUnion, generateService, generateFunction, generateMachine, generateMachineReducer, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, generateOn, generateWebSocket,
22
+ // Ground layer
23
+ generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateEach, generateCollect, generateBranch, generateResolve, generateExpect, generateRecover, generatePattern, generateApply, emitReasonAnnotations, emitLowConfidenceTodo, parseParamList, capitalize,
24
+ // Shared IR node helpers
25
+ getProps, getChildren, getFirstChild, getStyles, getPseudoStyles, getThemeRefs, dedent, cssPropertyName, handlerCode,
26
+ // Graduated nodes
27
+ generateConditional, generateSelect, generateModel, generateRepository, generateDependency, generateCache,
28
+ // Evolved generators (v4)
29
+ registerEvolvedGenerator, registerEvolvedTargetGenerator, unregisterEvolvedGenerator, clearEvolvedGenerators, hasEvolvedGenerator, } from './codegen-core.js';
30
+ // Codegen errors
31
+ export { KernCodegenError } from './errors.js';
20
32
  // Template engine
21
33
  export { registerTemplate, isTemplateNode, expandTemplateNode, clearTemplates, getTemplate, templateCount, KernTemplateError, } from './template-engine.js';
34
+ // Coverage gap emitter (v3)
35
+ export { collectCoverageGaps, writeCoverageGaps, readCoverageGaps } from './coverage-gap.js';
22
36
  // Template catalog
23
37
  export { TEMPLATE_CATALOG, COMMON_TEMPLATES, detectTemplates } from './template-catalog.js';
24
38
  // Scanner
25
39
  export { scanProject, generateConfigSource, formatScanSummary } from './scanner.js';
40
+ // Concepts (universal cross-language review model)
41
+ export { conceptId, conceptSpan } from './concepts.js';
26
42
  // Utilities
27
43
  export { countTokens, serializeIR, camelKey, escapeJsx, escapeJsxText, escapeJsxAttr, escapeJsString } from './utils.js';
28
44
  //# 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;;GAEG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAa7C,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG1G,+BAA+B;AAC/B,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjI,OAAO,EACL,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAC7D,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAM/B,OAAO;AACP,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEzF,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,eAAe;AACf,OAAO,EACL,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAC7C,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EACjD,eAAe,EAAE,aAAa,EAAE,cAAc,EAC9C,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAC1D,cAAc,EAAE,aAAa,EAAE,YAAY,EAC3C,cAAc,EAAE,UAAU,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,kBAAkB;AAClB,OAAO,EACL,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EACpD,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,GAC9D,MAAM,sBAAsB,CAAC;AAG9B,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG5F,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGpF,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/parser.d.ts CHANGED
@@ -1,4 +1,24 @@
1
1
  import type { IRNode } from './types.js';
2
+ export type TokenKind = 'identifier' | 'number' | 'equals' | 'quoted' | 'expr' | 'style' | 'themeRef' | 'slash' | 'comma' | 'whitespace' | 'unknown';
3
+ export interface Token {
4
+ kind: TokenKind;
5
+ value: string;
6
+ pos: number;
7
+ }
8
+ /** Character-by-character tokenizer for a single KERN line (after indent stripped). */
9
+ export declare function tokenizeLine(line: string): Token[];
10
+ interface ParserHintsConfig {
11
+ positionalArgs?: string[];
12
+ bareWord?: string;
13
+ multilineBlock?: string;
14
+ }
15
+ /** Register parser hints for an evolved node type. */
16
+ export declare function registerParserHints(keyword: string, hints: ParserHintsConfig): void;
17
+ /** Unregister parser hints (for rollback/testing). */
18
+ export declare function unregisterParserHints(keyword: string): void;
19
+ /** Clear all parser hints (for test isolation). */
20
+ export declare function clearParserHints(): void;
2
21
  /** Get warnings from the last parse() call */
3
22
  export declare function getParseWarnings(): string[];
4
23
  export declare function parse(source: string): IRNode;
24
+ export {};