@arkadia/data 0.1.7 → 0.1.8

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 +166 -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,245 @@
1
+ Masz absolutną rację. Przepraszam za wprowadzenie w błąd – w obecnej strukturze paczka NPM `@arkadia/data` jest **czystą biblioteką** (library) do użycia w kodzie, a narzędzie CLI (`akd`) jest dostępne tylko w wersji Pythonowej.
2
+
3
+ Oto poprawiony `README.md` dla paczki TypeScript/NPM, usunięto z niego sekcje o CLI i `npx`.
4
+
5
+ ````markdown
1
6
  # @arkadia/data
2
7
 
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
8
+ ```text
9
+ ; i :J
10
+ U, .j..fraaM. nl
11
+ b h.obWMkkWWMMWMCdkvz,k
12
+ ! .mQWM:o hiMoMW v.uaXMdohbi
13
+ hI,MMmaIao.Wo .IMkoh FCMwqoXa
14
+ ,.c.aWdM. d,aToW . Mb!. MopfQ.L
15
+ jhj.xoM :k aCu F: w MpmqMvMMI,I
16
+ bzMhz:W .Mw . o lYh ai M iMa pM.j
17
+ hzqWWM; M;o.WMWWMkMX f.a aa bModpo.
18
+ ;tMbbv xp oJMMWWWWMMMM iv dLMXakM:T
19
+ mdh MMWWWWWWWbQLCzurjktvMor
20
+ ,QFw ;M,b .MWWWWWWWMWMWd xz M,kd X
21
+ qjMIo IMTW.WWWWWMWWWM.o.I rpULaMdi.
22
+ .mMM uoWWWMWWWWWWp qM,,M l M;mMbrI
23
+ f nm MMW MWWjMuMj I o LbMac
24
+ WWdMWWWW Mv a.b..aauMhMwQf
25
+ MoWWW,WWtjonJMWtoMdoaoMI
26
+ MMMM Mi xd:Mm tMwo Cr,
27
+ xMMc .otqokWMMMao:oio.
28
+ MW . C..MkTIo
29
+ WW
30
+ QWM
31
+ WW
32
+ uMW
33
+ WW
29
34
  MW
30
35
  ```
36
+ ````
31
37
 
38
+ > **The High-Density, Token-Efficient Data Protocol for Large Language Models.**
32
39
 
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)
40
+ **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.
35
41
 
36
- **Official Parser and Stringifier for the Arkadia Data Format (AKD).**
42
+ ---
37
43
 
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.
44
+ ## Key Features
39
45
 
40
- ## Features
46
+ - **📉 Token Efficiency:** Reduces context window usage by replacing verbose JSON objects with dense Positional Records (Tuples).
47
+ - **🛡️ Type Safety:** Enforces types (`int`, `float`, `bool`, `string`) explicitly in the schema before data reaches the LLM.
48
+ - **🧠 Metadata Injection:** Use `#tags` and `$attributes` to pass context (e.g., source confidence, deprecation warnings) to the LLM without polluting your data structure.
49
+ - **⚡ High Performance:** Zero-dependency, lightweight parser built for high-throughput Node.js/Edge environments.
41
50
 
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.
51
+ ---
46
52
 
47
53
  ## 📦 Installation
48
54
 
49
55
  ```bash
50
56
  npm install @arkadia/data
57
+ # or
58
+ yarn add @arkadia/data
59
+ # or
60
+ pnpm add @arkadia/data
51
61
 
52
62
  ```
53
63
 
54
- ## 🚀 Usage
64
+ ---
65
+
66
+ ## 🚀 Quick Start
55
67
 
56
- ### Importing
68
+ ### Basic Usage
57
69
 
58
70
  ```typescript
59
71
  import { encode, decode } from '@arkadia/data';
60
72
 
73
+ // 1. Encode: JavaScript Object -> AKD String
74
+ const data = { id: 1, name: 'Alice', active: true };
75
+
76
+ // Default encoding (compact)
77
+ const encoded = encode(data);
78
+ console.log(encoded);
79
+ // Output: <id:number,name:string,active:bool>(1,"Alice",true)
80
+
81
+ // 2. Decode: AKD String -> JavaScript Object
82
+ const input = '<score:number>(98.5)';
83
+ const result = decode(input);
84
+
85
+ if (result.errors.length === 0) {
86
+ console.log(result.node.value); // 98.5
87
+ } else {
88
+ console.error('Parse errors:', result.errors);
89
+ }
61
90
  ```
62
91
 
63
- ### Encoding (JavaScript Object → AKD String)
92
+ ---
64
93
 
65
- Converts standard JavaScript objects into the token-optimized AKD string format.
94
+ ## 🛠 API Reference
66
95
 
67
- ```typescript
68
- const data = {
69
- id: 1,
70
- name: "Alice",
71
- active: true
72
- };
96
+ ### `encode(data: unknown, config?: EncodeConfig): string`
73
97
 
74
- // Compact encoding (default)
75
- const akdString = encode(data);
98
+ Serializes a JavaScript value into an AKD string.
76
99
 
77
- console.log(akdString);
78
- // Output: <id:number,name:string,active:bool>(1,"Alice",true)
100
+ - `data`: The input string, number, boolean, array, or object.
101
+ - `config`:
102
+ - `compact` (boolean): Removes whitespace. Default: `true`.
103
+ - `colorize` (boolean): Adds ANSI colors for terminal output. Default: `false`.
104
+ - `escapeNewLines` (boolean): Escapes `\n` in strings. Default: `false`.
79
105
 
80
- ```
106
+ ### `decode(text: string, config?: DecodeConfig): DecodeResult`
81
107
 
82
- ### Decoding (AKD String AST / Value)
108
+ Parses an AKD string into a structured node tree.
83
109
 
84
- Parses an AKD string back into a usable node structure.
110
+ - `text`: The raw AKD string.
111
+ - `config`:
112
+ - `debug` (boolean): Enables internal logging.
85
113
 
86
- ```typescript
87
- const input = '<score:number>(98.5)';
114
+ - **Returns** `DecodeResult`:
115
+ - `node`: The Root Node (contains `.value`, `.dict()`, `.json()`).
116
+ - `errors`: Array of parsing errors.
88
117
 
89
- const result = decode(input);
118
+ ---
90
119
 
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
- }
120
+ ## Benchmarks
100
121
 
101
- ```
122
+ Why switch? Because every token counts. **AKCD** (Arkadia Compressed Data) consistently outperforms standard formats.
123
+
124
+ ```text
125
+ BENCHMARK SUMMARY:
126
+
127
+ JSON █████████████████████░░░░ 6921 tok 0.15 ms
128
+ AKCD ████████████████░░░░░░░░░ 5416 tok 4.40 ms
129
+ AKD ███████████████████░░░░░░ 6488 tok 4.29 ms
130
+ TOON █████████████████████████ 8198 tok 2.36 ms
102
131
 
103
- ## 📖 Syntax Guide
132
+ FORMAT TOKENS VS JSON
133
+ ---------------------------------
134
+ AKCD 5416 -21.7%
135
+ AKD 6488 -6.3%
136
+ JSON 6921 +0.0%
137
+ TOON 8198 +18.5%
104
138
 
105
- The AKD format uses a distinct syntax to separate schema definition from data values.
139
+ CONCLUSION: Switching to AKCD saves 1505 tokens (21.7%) compared to JSON.
106
140
 
107
- ### Primitives
141
+ ```
108
142
 
109
- Primitive values are explicitly typed using angle brackets `<type>`.
143
+ ---
110
144
 
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` |
145
+ ## 📖 Syntax Specification
118
146
 
119
- ### Named Records
147
+ AKD separates structure (Schema) from content (Data).
120
148
 
121
- Similar to JSON objects, but the keys are lifted into a schema definition.
149
+ ### 1. Primitives
122
150
 
123
- **Input:**
151
+ Primitive values are automatically typed. Strings are quoted, numbers and booleans are bare.
124
152
 
125
- ```json
126
- { "id": 1, "name": "Test" }
153
+ | Type | Input | Encoded Output |
154
+ | ----------- | --------- | ----------------- |
155
+ | **Integer** | `123` | `<number>123` |
156
+ | **String** | `"hello"` | `<string>"hello"` |
157
+ | **Boolean** | `true` | `<bool>true` |
158
+ | **Null** | `null` | `<null>null` |
127
159
 
128
- ```
160
+ ### 2. Schema Definition (`@Type`)
129
161
 
130
- **Encoded (AKD):**
162
+ Define the structure once to avoid repeating keys.
131
163
 
132
- ```text
133
- <id:number,name:string>(1,"Test")
164
+ ```akd
165
+ /* Define a User type */
166
+ @User <
167
+ id: number,
168
+ name: string,
169
+ role: string
170
+ >
134
171
 
135
172
  ```
136
173
 
137
- ### Positional Records (Tuples)
174
+ ### 3. Data Structures
138
175
 
139
- Data without keys, where position determines meaning.
176
+ #### Positional Records (Tuples)
140
177
 
141
- **Input:**
178
+ The most efficient way to represent objects. Values must match the schema order.
142
179
 
143
- ```javascript
144
- // (10, "Alice") - conceptually
180
+ ```akd
181
+ /* Schema: <x:number, y:number> */
182
+ (10, 20)
145
183
 
146
184
  ```
147
185
 
148
- **Encoded (AKD):**
186
+ #### Named Records (Objects)
149
187
 
150
- ```text
151
- <_0:number,_1:string>(10,"Alice")
188
+ Flexible key-value pairs, similar to JSON, used when schema is loose or data is sparse.
189
+
190
+ ```akd
191
+ {
192
+ id: 1,
193
+ name: "Admin"
194
+ }
152
195
 
153
196
  ```
154
197
 
155
- ## 🛠️ API Reference
198
+ #### Lists
156
199
 
157
- ### `encode(input: any, options?: EncodeOptions): string`
200
+ Dense arrays. Can be homogenous (list of strings) or mixed.
158
201
 
159
- Serializes a JavaScript value into an AKD string.
202
+ ```akd
203
+ [ "active", "pending", "closed" ]
160
204
 
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`.
205
+ ```
165
206
 
207
+ ### 4. Metadata System
166
208
 
209
+ AKD allows you to inject metadata that is **visible to the LLM** but **ignored by the parser** when decoding back to your application.
167
210
 
168
- ### `decode(text: string, options?: DecodeOptions): ParseResult`
211
+ #### Attributes (`$key=value`) & Tags (`#flag`)
169
212
 
170
- Parses an AKD string.
213
+ ```akd
214
+ @Product <
215
+ $version="2.0"
216
+ sku: string,
171
217
 
172
- * `text`: The AKD string to parse.
173
- * `options`:
174
- * `debug`: (boolean) Enable detailed logging.
218
+ /* Tagging a field as deprecated */
219
+ #deprecated
220
+ legacy_id: int
221
+ >
175
222
 
223
+ ```
176
224
 
177
- * **Returns** `ParseResult`:
178
- * `node`: The parsed AST node containing value and metadata.
179
- * `errors`: Array of parsing errors, if any.
225
+ ---
180
226
 
227
+ ## 🔮 Roadmap
181
228
 
229
+ - **Binary Types:** Hex (`~[hex]1A...~`) and Base64 (`~[b64]...~`) support.
230
+ - **Pointers:** Reference existing objects by ID (`*User[1]`).
231
+ - **Ranges:** Numeric range validation in schema (`score: 0..100`).
182
232
 
183
- ## 📄 License
233
+ ---
184
234
 
185
- This project is licensed under the [MIT License].
235
+ ## 📄 License
186
236
 
187
- ---
237
+ This project is licensed under the [MIT License]().
188
238
 
189
239
  <div align="center">
190
- <sub>Built by <strong>Arkadia AI</strong>. Engineering the kernel of distributed intelligence.</sub>
240
+ <sub>Built by <strong>Arkadia Solutions</strong>. Engineering the kernel of distributed intelligence.</sub>
191
241
  </div>
242
+
243
+ ```
244
+
245
+ ```
@@ -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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"}