@kernlang/core 2.0.0 → 3.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.
- package/dist/codegen-core.d.ts +41 -2
- package/dist/codegen-core.js +1217 -16
- package/dist/codegen-core.js.map +1 -1
- package/dist/concepts.d.ts +100 -0
- package/dist/concepts.js +17 -0
- package/dist/concepts.js.map +1 -0
- package/dist/config.d.ts +37 -1
- package/dist/config.js +29 -1
- package/dist/config.js.map +1 -1
- package/dist/coverage-gap.d.ts +27 -0
- package/dist/coverage-gap.js +73 -0
- package/dist/coverage-gap.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.js +17 -3
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +12 -0
- package/dist/parser.js +191 -3
- package/dist/parser.js.map +1 -1
- package/dist/scanner.js +48 -3
- package/dist/scanner.js.map +1 -1
- package/dist/spec.d.ts +13 -1
- package/dist/spec.js +54 -3
- package/dist/spec.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +10 -2
package/dist/spec.js
CHANGED
|
@@ -36,7 +36,9 @@ export const NODE_TYPES = [
|
|
|
36
36
|
// Layout
|
|
37
37
|
'screen', 'row', 'col', 'card', 'scroll',
|
|
38
38
|
// Content
|
|
39
|
-
'text', 'image', 'progress', 'divider',
|
|
39
|
+
'text', 'image', 'progress', 'divider', 'codeblock',
|
|
40
|
+
// Structural
|
|
41
|
+
'section',
|
|
40
42
|
// Interactive
|
|
41
43
|
'button', 'input', 'modal',
|
|
42
44
|
// Lists
|
|
@@ -47,17 +49,22 @@ export const NODE_TYPES = [
|
|
|
47
49
|
'theme',
|
|
48
50
|
// Backend
|
|
49
51
|
'server', 'route', 'middleware', 'handler', 'schema',
|
|
50
|
-
'stream', 'spawn', 'timer', 'on', 'env',
|
|
52
|
+
'stream', 'spawn', 'timer', 'on', 'env', 'websocket',
|
|
53
|
+
// Route children (v3 — framework-agnostic route syntax)
|
|
54
|
+
'params', 'auth', 'validate', 'respond', 'trigger',
|
|
51
55
|
// CLI
|
|
52
56
|
'cli', 'command', 'arg', 'flag', 'import',
|
|
53
57
|
// Terminal
|
|
54
|
-
'separator', 'table', 'scoreboard', 'metric',
|
|
58
|
+
'separator', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'scoreboard', 'metric',
|
|
55
59
|
'spinner', 'progress', 'box', 'gradient',
|
|
56
60
|
'state', 'repl', 'guard', 'parallel', 'dispatch', 'then', 'each',
|
|
57
61
|
// Next.js production patterns
|
|
58
62
|
'generateMetadata', 'notFound', 'redirect', 'fetch',
|
|
59
63
|
// Core Language — type system, functions, state machines
|
|
60
64
|
'type', 'interface', 'field', 'fn',
|
|
65
|
+
'union', 'variant',
|
|
66
|
+
'service', 'method', 'singleton', 'constructor',
|
|
67
|
+
'signal', 'cleanup',
|
|
61
68
|
'machine', 'transition',
|
|
62
69
|
'error', 'module', 'export',
|
|
63
70
|
'config', 'store',
|
|
@@ -67,9 +74,53 @@ export const NODE_TYPES = [
|
|
|
67
74
|
'hook', 'provider', 'effect',
|
|
68
75
|
'memo', 'callback', 'ref', 'context', 'cleanup',
|
|
69
76
|
'prop', 'returns',
|
|
77
|
+
// Ink — terminal React (Ink) specific nodes
|
|
78
|
+
'input-area', 'output-area', 'text-input', 'select-input',
|
|
79
|
+
// Backend data layer
|
|
80
|
+
'model', 'column', 'relation',
|
|
81
|
+
'repository',
|
|
82
|
+
'dependency', 'inject',
|
|
83
|
+
'cache', 'entry', 'invalidate',
|
|
84
|
+
// UI controls
|
|
85
|
+
'conditional',
|
|
86
|
+
'select', 'option',
|
|
70
87
|
// Template system
|
|
71
88
|
'template', 'slot', 'body',
|
|
89
|
+
// Ground layer — semantic reasoning
|
|
90
|
+
'derive', 'transform', 'action', 'assume', 'invariant',
|
|
91
|
+
'branch', 'path', 'resolve', 'candidate', 'discriminator',
|
|
92
|
+
'collect', 'pattern', 'apply', 'expect',
|
|
93
|
+
'recover', 'strategy',
|
|
94
|
+
// Reason layer — metadata children
|
|
95
|
+
'reason', 'evidence',
|
|
96
|
+
// Confidence layer — evidence gaps
|
|
97
|
+
'needs',
|
|
72
98
|
];
|
|
99
|
+
// ── Dynamic Node Types (Evolve v4 — graduated nodes) ────────────────────
|
|
100
|
+
// Evolved nodes register here at startup. Checked by parser alongside NODE_TYPES.
|
|
101
|
+
const _dynamicNodeTypes = new Set();
|
|
102
|
+
/** Register an evolved node type (called at startup from .kern/evolved/). */
|
|
103
|
+
export function registerEvolvedType(keyword) {
|
|
104
|
+
_dynamicNodeTypes.add(keyword);
|
|
105
|
+
}
|
|
106
|
+
/** Unregister an evolved node type (for rollback/testing). */
|
|
107
|
+
export function unregisterEvolvedType(keyword) {
|
|
108
|
+
_dynamicNodeTypes.delete(keyword);
|
|
109
|
+
}
|
|
110
|
+
/** Check if a type is a known node type (core or evolved). */
|
|
111
|
+
export function isKnownNodeType(type) {
|
|
112
|
+
return NODE_TYPES.includes(type) || _dynamicNodeTypes.has(type);
|
|
113
|
+
}
|
|
114
|
+
/** Get all dynamically registered evolved types. */
|
|
115
|
+
export function getEvolvedTypes() {
|
|
116
|
+
return _dynamicNodeTypes;
|
|
117
|
+
}
|
|
118
|
+
/** Clear all dynamic types (for test isolation). */
|
|
119
|
+
export function clearEvolvedTypes() {
|
|
120
|
+
_dynamicNodeTypes.clear();
|
|
121
|
+
}
|
|
122
|
+
/** Reserved keywords — evolved nodes cannot use these. */
|
|
123
|
+
export const KERN_RESERVED = new Set(NODE_TYPES);
|
|
73
124
|
// ── Style Shorthands (FROZEN at v1.0 — 30 entries) ──────────────────────
|
|
74
125
|
// Any CSS property not in this map uses the escape hatch: "property":"value"
|
|
75
126
|
// This map will NOT grow. Use quoted keys for new CSS properties.
|
package/dist/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;CAmBzB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;IACxC,UAAU;IACV,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export interface GeneratedArtifact {
|
|
|
41
41
|
/** Generated code */
|
|
42
42
|
content: string;
|
|
43
43
|
/** Artifact type */
|
|
44
|
-
type: 'page' | 'layout' | 'route' | 'middleware' | 'component' | 'config' | 'entry' | 'command' | 'hook' | 'types' | 'barrel' | 'theme' | 'template';
|
|
44
|
+
type: 'page' | 'layout' | 'route' | 'middleware' | 'component' | 'config' | 'entry' | 'command' | 'hook' | 'types' | 'barrel' | 'theme' | 'template' | 'websocket' | 'model' | 'service' | 'error' | 'lib';
|
|
45
45
|
}
|
|
46
46
|
/** Result of transpilation */
|
|
47
47
|
export interface TranspileResult {
|
package/package.json
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernlang/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Kern core — parser, types, spec, config, style engines, codegen",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
|
-
".":
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
10
13
|
},
|
|
11
14
|
"files": [
|
|
12
15
|
"dist"
|
|
13
16
|
],
|
|
14
17
|
"license": "AGPL-3.0",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/KERNlang/kern",
|
|
21
|
+
"directory": "packages/core"
|
|
22
|
+
},
|
|
15
23
|
"dependencies": {},
|
|
16
24
|
"scripts": {
|
|
17
25
|
"build": "tsc -b",
|