@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/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":"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"}
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": "2.0.0",
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
- ".": "./dist/index.js"
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",