@arkadia/data 0.1.7 → 0.1.9

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 (54) hide show
  1. package/.prettierrc +8 -0
  2. package/README.md +159 -112
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/core/Decoder.d.ts.map +1 -1
  6. package/dist/core/Decoder.js +123 -97
  7. package/dist/core/Decoder.js.map +1 -1
  8. package/dist/core/Encoder.d.ts +1 -2
  9. package/dist/core/Encoder.d.ts.map +1 -1
  10. package/dist/core/Encoder.js +74 -76
  11. package/dist/core/Encoder.js.map +1 -1
  12. package/dist/core/Parser.d.ts +1 -1
  13. package/dist/core/Parser.d.ts.map +1 -1
  14. package/dist/core/Parser.js +11 -11
  15. package/dist/core/Parser.js.map +1 -1
  16. package/dist/index.d.ts +4 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +7 -8
  19. package/dist/index.js.map +1 -1
  20. package/dist/models/Meta.d.ts +3 -2
  21. package/dist/models/Meta.d.ts.map +1 -1
  22. package/dist/models/Meta.js +3 -3
  23. package/dist/models/Meta.js.map +1 -1
  24. package/dist/models/Node.d.ts +4 -3
  25. package/dist/models/Node.d.ts.map +1 -1
  26. package/dist/models/Node.js +29 -23
  27. package/dist/models/Node.js.map +1 -1
  28. package/dist/models/Schema.d.ts.map +1 -1
  29. package/dist/models/Schema.js +27 -21
  30. package/dist/models/Schema.js.map +1 -1
  31. package/eslint.config.mjs +42 -0
  32. package/package.json +11 -1
  33. package/scripts/verify-build.js +95 -92
  34. package/src/config.ts +75 -75
  35. package/src/core/Decoder.ts +984 -922
  36. package/src/core/Encoder.ts +364 -371
  37. package/src/core/Parser.ts +112 -112
  38. package/src/index.ts +18 -20
  39. package/src/models/Meta.ts +107 -107
  40. package/src/models/Node.ts +190 -185
  41. package/src/models/Schema.ts +198 -193
  42. package/tests/00.meta.test.ts +19 -25
  43. package/tests/00.node.test.ts +40 -48
  44. package/tests/00.primitive.test.ts +121 -95
  45. package/tests/00.schema.test.ts +28 -35
  46. package/tests/01.schema.test.ts +42 -52
  47. package/tests/02.data.test.ts +69 -75
  48. package/tests/03.errors.test.ts +53 -55
  49. package/tests/04.list.test.ts +192 -193
  50. package/tests/05.record.test.ts +54 -56
  51. package/tests/06.meta.test.ts +393 -389
  52. package/tests/utils.ts +47 -44
  53. package/tsconfig.json +27 -29
  54. package/vitest.config.ts +1 -1
package/.prettierrc ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "semi": true,
3
+ "trailingComma": "all",
4
+ "singleQuote": true,
5
+ "printWidth": 100,
6
+ "tabWidth": 2,
7
+ "endOfLine": "auto"
8
+ }
package/README.md CHANGED
@@ -1,191 +1,238 @@
1
1
  # @arkadia/data
2
2
 
3
- ```
4
- ; i :J
5
- U, .j..fraaM. nl
6
- b h.obWMkkWWMMWMCdkvz,k
7
- ! .mQWM:o hiMoMW v.uaXMdohbi
8
- hI,MMmaIao.Wo .IMkoh FCMwqoXa
9
- ,.c.aWdM. d,aToW . Mb!. MopfQ.L
10
- jhj.xoM :k aCu F: w MpmqMvMMI,I
11
- bzMhz:W .Mw . o lYh ai M iMa pM.j
12
- hzqWWM; M;o.WMWWMkMX f.a aa bModpo.
13
- ;tMbbv xp oJMMWWWWMMMM iv dLMXakM:T
14
- mdh MMWWWWWWWbQLCzurjktvMor
15
- ,QFw ;M,b .MWWWWWWWMWMWd xz M,kd X
16
- qjMIo IMTW.WWWWWMWWWM.o.I rpULaMdi.
17
- .mMM uoWWWMWWWWWWp qM,,M l M;mMbrI
18
- f nm MMW MWWjMuMj I o LbMac
19
- WWdMWWWW Mv a.b..aauMhMwQf
20
- MoWWW,WWtjonJMWtoMdoaoMI
21
- MMMM Mi xd:Mm tMwo Cr,
22
- xMMc .otqokWMMMao:oio.
23
- MW . C..MkTIo
24
- WW
25
- QWM
26
- WW
27
- uMW
28
- WW
3
+ ```text
4
+ ; i :J
5
+ U, .j..fraaM. nl
6
+ b h.obWMkkWWMMWMCdkvz,k
7
+ ! .mQWM:o hiMoMW v.uaXMdohbi
8
+ hI,MMmaIao.Wo .IMkoh FCMwqoXa
9
+ ,.c.aWdM. d,aToW . Mb!. MopfQ.L
10
+ jhj.xoM :k aCu F: w MpmqMvMMI,I
11
+ bzMhz:W .Mw . o lYh ai M iMa pM.j
12
+ hzqWWM; M;o.WMWWMkMX f.a aa bModpo.
13
+ ;tMbbv xp oJMMWWWWMMMM iv dLMXakM:T
14
+ mdh MMWWWWWWWbQLCzurjktvMor
15
+ ,QFw ;M,b .MWWWWWWWMWMWd xz M,kd X
16
+ qjMIo IMTW.WWWWWMWWWM.o.I rpULaMdi.
17
+ .mMM uoWWWMWWWWWWp qM,,M l M;mMbrI
18
+ f nm MMW MWWjMuMj I o LbMac
19
+ WWdMWWWW Mv a.b..aauMhMwQf
20
+ MoWWW,WWtjonJMWtoMdoaoMI
21
+ MMMM Mi xd:Mm tMwo Cr,
22
+ xMMc .otqokWMMMao:oio.
23
+ MW . C..MkTIo
24
+ WW
25
+ QWM
26
+ WW
27
+ uMW
28
+ WW
29
29
  MW
30
30
  ```
31
31
 
32
+ ````
32
33
 
33
- [![npm version](https://img.shields.io/npm/v/@arkadia/data.svg)](https://www.npmjs.com/package/@arkadia/data)
34
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
34
+ > **The High-Density, Token-Efficient Data Protocol for Large Language Models.**
35
35
 
36
- **Official Parser and Stringifier for the Arkadia Data Format (AKD).**
36
+ **Arkadia Data Format (AKD)** is a schema-first protocol designed specifically to optimize communication with LLMs. By stripping away redundant syntax (like repeated JSON keys) and enforcing strict typing, AKD offers **up to 30% token savings**, faster parsing, and a metadata layer invisible to your application logic but fully accessible to AI models.
37
37
 
38
- AKD is a schema-first, high-density data protocol designed specifically for **LLM context optimization**. It significantly reduces token usage compared to JSON by eliminating redundant syntax characters and enforcing strict typing via schemas.
38
+ ---
39
39
 
40
- ## ✨ Features
40
+ ## ✨ Key Features
41
41
 
42
- - **Token Efficient:** Reduces context window usage by 15-30% compared to standard JSON.
43
- - **Type Safe:** Enforces types (int, float, bool, string) explicitly in the schema.
44
- - **Dual Mode:** Supports both **Named Records** (Map-like) and **Positional Records** (Tuple-like).
45
- - **Zero-Dependency:** Lightweight and fast, built for high-performance pipelines.
42
+ - **📉 Token Efficiency:** Reduces context window usage by replacing verbose JSON objects with dense Positional Records (Tuples).
43
+ - **🛡️ Type Safety:** Enforces types (`int`, `float`, `bool`, `string`) explicitly in the schema before data reaches the LLM.
44
+ - **🧠 Metadata Injection:** Use `#tags` and `$attributes` to pass context (e.g., source confidence, deprecation warnings) to the LLM without polluting your data structure.
45
+ - **⚡ High Performance:** Zero-dependency, lightweight parser built for high-throughput Node.js/Edge environments.
46
+
47
+ ---
46
48
 
47
49
  ## 📦 Installation
48
50
 
49
51
  ```bash
50
52
  npm install @arkadia/data
53
+ # or
54
+ yarn add @arkadia/data
55
+ # or
56
+ pnpm add @arkadia/data
51
57
 
52
58
  ```
53
59
 
54
- ## 🚀 Usage
60
+ ---
61
+
62
+ ## 🚀 Quick Start
55
63
 
56
- ### Importing
64
+ ### Basic Usage
57
65
 
58
66
  ```typescript
59
67
  import { encode, decode } from '@arkadia/data';
60
68
 
69
+ // 1. Encode: JavaScript Object -> AKD String
70
+ const data = { id: 1, name: 'Alice', active: true };
71
+
72
+ // Default encoding (compact)
73
+ const encoded = encode(data);
74
+ console.log(encoded);
75
+ // Output: <id:number,name:string,active:bool>(1,"Alice",true)
76
+
77
+ // 2. Decode: AKD String -> JavaScript Object
78
+ const input = '<score:number>(98.5)';
79
+ const result = decode(input);
80
+
81
+ if (result.errors.length === 0) {
82
+ console.log(result.node.value); // 98.5
83
+ } else {
84
+ console.error('Parse errors:', result.errors);
85
+ }
61
86
  ```
62
87
 
63
- ### Encoding (JavaScript Object → AKD String)
88
+ ---
64
89
 
65
- Converts standard JavaScript objects into the token-optimized AKD string format.
90
+ ## 🛠 API Reference
66
91
 
67
- ```typescript
68
- const data = {
69
- id: 1,
70
- name: "Alice",
71
- active: true
72
- };
92
+ ### `encode(data: unknown, config?: EncodeConfig): string`
73
93
 
74
- // Compact encoding (default)
75
- const akdString = encode(data);
94
+ Serializes a JavaScript value into an AKD string.
76
95
 
77
- console.log(akdString);
78
- // Output: <id:number,name:string,active:bool>(1,"Alice",true)
96
+ - `data`: The input string, number, boolean, array, or object.
97
+ - `config`:
98
+ - `compact` (boolean): Removes whitespace. Default: `true`.
99
+ - `colorize` (boolean): Adds ANSI colors for terminal output. Default: `false`.
100
+ - `escapeNewLines` (boolean): Escapes `\n` in strings. Default: `false`.
79
101
 
80
- ```
102
+ ### `decode(text: string, config?: DecodeConfig): DecodeResult`
81
103
 
82
- ### Decoding (AKD String AST / Value)
104
+ Parses an AKD string into a structured node tree.
83
105
 
84
- Parses an AKD string back into a usable node structure.
106
+ - `text`: The raw AKD string.
107
+ - `config`:
108
+ - `debug` (boolean): Enables internal logging.
85
109
 
86
- ```typescript
87
- const input = '<score:number>(98.5)';
110
+ - **Returns** `DecodeResult`:
111
+ - `node`: The Root Node (contains `.value`, `.dict()`, `.json()`).
112
+ - `errors`: Array of parsing errors.
88
113
 
89
- const result = decode(input);
114
+ ---
90
115
 
91
- if (result.errors.length === 0) {
92
- console.log(result.node.value);
93
- // Output: 98.5
94
-
95
- console.log(result.node.isRecord);
96
- // Output: true
97
- } else {
98
- console.error("Parsing errors:", result.errors);
99
- }
116
+ ## Benchmarks
100
117
 
101
- ```
118
+ Why switch? Because every token counts. **AKCD** (Arkadia Compressed Data) consistently outperforms standard formats.
119
+
120
+ ```text
121
+ BENCHMARK SUMMARY:
122
+
123
+ JSON █████████████████████░░░░ 6921 tok 0.15 ms
124
+ AKCD ████████████████░░░░░░░░░ 5416 tok 4.40 ms
125
+ AKD ███████████████████░░░░░░ 6488 tok 4.29 ms
126
+ TOON █████████████████████████ 8198 tok 2.36 ms
102
127
 
103
- ## 📖 Syntax Guide
128
+ FORMAT TOKENS VS JSON
129
+ ---------------------------------
130
+ AKCD 5416 -21.7%
131
+ AKD 6488 -6.3%
132
+ JSON 6921 +0.0%
133
+ TOON 8198 +18.5%
104
134
 
105
- The AKD format uses a distinct syntax to separate schema definition from data values.
135
+ CONCLUSION: Switching to AKCD saves 1505 tokens (21.7%) compared to JSON.
106
136
 
107
- ### Primitives
137
+ ```
108
138
 
109
- Primitive values are explicitly typed using angle brackets `<type>`.
139
+ ---
110
140
 
111
- | Type | Input Example | Encoded Output |
112
- | --- | --- | --- |
113
- | Integer | `123` | `<number>123` |
114
- | Float | `12.34` | `<number>12.34` |
115
- | String | `"hello"` | `<string>"hello"` |
116
- | Boolean | `true` | `<bool>true` |
117
- | Null | `null` | `<null>null` |
141
+ ## 📖 Syntax Specification
118
142
 
119
- ### Named Records
143
+ AKD separates structure (Schema) from content (Data).
120
144
 
121
- Similar to JSON objects, but the keys are lifted into a schema definition.
145
+ ### 1. Primitives
122
146
 
123
- **Input:**
147
+ Primitive values are automatically typed. Strings are quoted, numbers and booleans are bare.
124
148
 
125
- ```json
126
- { "id": 1, "name": "Test" }
149
+ | Type | Input | Encoded Output |
150
+ | ----------- | --------- | ----------------- |
151
+ | **Integer** | `123` | `<number>123` |
152
+ | **String** | `"hello"` | `<string>"hello"` |
153
+ | **Boolean** | `true` | `<bool>true` |
154
+ | **Null** | `null` | `<null>null` |
127
155
 
128
- ```
156
+ ### 2. Schema Definition (`@Type`)
129
157
 
130
- **Encoded (AKD):**
158
+ Define the structure once to avoid repeating keys.
131
159
 
132
- ```text
133
- <id:number,name:string>(1,"Test")
160
+ ```akd
161
+ /* Define a User type */
162
+ @User <
163
+ id: number,
164
+ name: string,
165
+ role: string
166
+ >
134
167
 
135
168
  ```
136
169
 
137
- ### Positional Records (Tuples)
170
+ ### 3. Data Structures
138
171
 
139
- Data without keys, where position determines meaning.
172
+ #### Positional Records (Tuples)
140
173
 
141
- **Input:**
174
+ The most efficient way to represent objects. Values must match the schema order.
142
175
 
143
- ```javascript
144
- // (10, "Alice") - conceptually
176
+ ```akd
177
+ /* Schema: <x:number, y:number> */
178
+ (10, 20)
145
179
 
146
180
  ```
147
181
 
148
- **Encoded (AKD):**
182
+ #### Named Records (Objects)
149
183
 
150
- ```text
151
- <_0:number,_1:string>(10,"Alice")
184
+ Flexible key-value pairs, similar to JSON, used when schema is loose or data is sparse.
185
+
186
+ ```akd
187
+ {
188
+ id: 1,
189
+ name: "Admin"
190
+ }
152
191
 
153
192
  ```
154
193
 
155
- ## 🛠️ API Reference
194
+ #### Lists
156
195
 
157
- ### `encode(input: any, options?: EncodeOptions): string`
196
+ Dense arrays. Can be homogenous (list of strings) or mixed.
158
197
 
159
- Serializes a JavaScript value into an AKD string.
198
+ ```akd
199
+ [ "active", "pending", "closed" ]
200
+
201
+ ```
160
202
 
161
- * `input`: The data to encode.
162
- * `options`:
163
- * `compact`: (boolean) Remove whitespace. Default: `true`.
164
- * `colorize`: (boolean) Add ANSI colors for terminal output. Default: `false`.
203
+ ### 4. Metadata System
165
204
 
205
+ AKD allows you to inject metadata that is **visible to the LLM** but **ignored by the parser** when decoding back to your application.
166
206
 
207
+ #### Attributes (`$key=value`) & Tags (`#flag`)
167
208
 
168
- ### `decode(text: string, options?: DecodeOptions): ParseResult`
209
+ ```akd
210
+ @Product <
211
+ $version="2.0"
212
+ sku: string,
169
213
 
170
- Parses an AKD string.
214
+ /* Tagging a field as deprecated */
215
+ #deprecated
216
+ legacy_id: int
217
+ >
171
218
 
172
- * `text`: The AKD string to parse.
173
- * `options`:
174
- * `debug`: (boolean) Enable detailed logging.
219
+ ```
175
220
 
221
+ ---
176
222
 
177
- * **Returns** `ParseResult`:
178
- * `node`: The parsed AST node containing value and metadata.
179
- * `errors`: Array of parsing errors, if any.
223
+ ## 🔮 Roadmap
180
224
 
225
+ - **Binary Types:** Hex (`~[hex]1A...~`) and Base64 (`~[b64]...~`) support.
226
+ - **Pointers:** Reference existing objects by ID (`*User[1]`).
227
+ - **Ranges:** Numeric range validation in schema (`score: 0..100`).
181
228
 
229
+ ---
182
230
 
183
231
  ## 📄 License
184
232
 
185
- This project is licensed under the [MIT License].
186
-
187
- ---
233
+ This project is licensed under the [MIT License]().
188
234
 
189
235
  <div align="center">
190
- <sub>Built by <strong>Arkadia AI</strong>. Engineering the kernel of distributed intelligence.</sub>
236
+ <sub>Built by <strong>Arkadia Solutions</strong>. Engineering the kernel of distributed intelligence.</sub>
191
237
  </div>
238
+ ````
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAa5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAE5E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAa5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAmGA,sCAEC;AAvBD;;GAEG;AACU,QAAA,cAAc,GAAkB;IACzC,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,KAAK;IACd,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;CACtB,CAAC;AAEF;;GAEG;AACH,SAAgB,aAAa,CAAC,MAA+B;IACzD,OAAO,EAAE,GAAG,sBAAc,EAAE,GAAG,MAAM,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAmGA,sCAEC;AAvBD;;GAEG;AACU,QAAA,cAAc,GAAkB;IAC3C,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,KAAK;IACd,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF;;GAEG;AACH,SAAgB,aAAa,CAAC,MAA+B;IAC3D,OAAO,EAAE,GAAG,sBAAc,EAAE,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Decoder.d.ts","sourceRoot":"","sources":["../../src/core/Decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Decoder.d.ts","sourceRoot":"","sources":["../../src/core/Decoder.ts"],"names":[],"mappings":"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"}