@arkadia/ai-data-format 1.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.
Files changed (54) hide show
  1. package/dist/config.d.ts +75 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +28 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/core/Decoder.d.ts +88 -0
  6. package/dist/core/Decoder.d.ts.map +1 -0
  7. package/dist/core/Decoder.js +968 -0
  8. package/dist/core/Decoder.js.map +1 -0
  9. package/dist/core/Encoder.d.ts +26 -0
  10. package/dist/core/Encoder.d.ts.map +1 -0
  11. package/dist/core/Encoder.js +368 -0
  12. package/dist/core/Encoder.js.map +1 -0
  13. package/dist/core/Parser.d.ts +6 -0
  14. package/dist/core/Parser.d.ts.map +1 -0
  15. package/dist/core/Parser.js +132 -0
  16. package/dist/core/Parser.js.map +1 -0
  17. package/dist/index.d.ts +22 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +46 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/models/Meta.d.ts +48 -0
  22. package/dist/models/Meta.d.ts.map +1 -0
  23. package/dist/models/Meta.js +113 -0
  24. package/dist/models/Meta.js.map +1 -0
  25. package/dist/models/Node.d.ts +42 -0
  26. package/dist/models/Node.d.ts.map +1 -0
  27. package/dist/models/Node.js +179 -0
  28. package/dist/models/Node.js.map +1 -0
  29. package/dist/models/Schema.d.ts +55 -0
  30. package/dist/models/Schema.d.ts.map +1 -0
  31. package/dist/models/Schema.js +175 -0
  32. package/dist/models/Schema.js.map +1 -0
  33. package/package.json +32 -0
  34. package/src/config.ts +102 -0
  35. package/src/core/Decoder.ts +1074 -0
  36. package/src/core/Encoder.ts +443 -0
  37. package/src/core/Parser.ts +150 -0
  38. package/src/index.ts +46 -0
  39. package/src/models/Meta.ts +135 -0
  40. package/src/models/Node.ts +212 -0
  41. package/src/models/Schema.ts +222 -0
  42. package/tests/00.meta.test.ts +31 -0
  43. package/tests/00.node.test.ts +54 -0
  44. package/tests/00.primitive.test.ts +108 -0
  45. package/tests/00.schema.test.ts +41 -0
  46. package/tests/01.schema.test.ts +70 -0
  47. package/tests/02.data.test.ts +89 -0
  48. package/tests/03.errors.test.ts +71 -0
  49. package/tests/04.list.test.ts +225 -0
  50. package/tests/05.record.test.ts +82 -0
  51. package/tests/06.meta.test.ts +506 -0
  52. package/tests/utils.ts +69 -0
  53. package/tsconfig.json +46 -0
  54. package/vitest.config.ts +9 -0
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Configuration options for the AI Data Format Encoder.
3
+ */
4
+ export interface EncoderConfig {
5
+ /**
6
+ * Embed schema directly inside sample data (useful for LLM prompting).
7
+ * Example: [ (name: string /name of user/, age: int) ]
8
+ * Default: false
9
+ */
10
+ promptOutput: boolean;
11
+ /**
12
+ * Number of spaces used for indentation.
13
+ * Default: 2
14
+ */
15
+ indent: number;
16
+ /**
17
+ * Initial indentation offset (level).
18
+ * Default: 0
19
+ */
20
+ startIndent: number;
21
+ /**
22
+ * Enable compact formatting. Removes unnecessary spaces and newlines.
23
+ * Default: false
24
+ */
25
+ compact: boolean;
26
+ /**
27
+ * Escape newline characters in strings as literal \n and \r.
28
+ * Default: false
29
+ */
30
+ escapeNewLines: boolean;
31
+ /**
32
+ * purely removes new lines from strings.
33
+ * Default: false
34
+ */
35
+ removeNewLines: boolean;
36
+ /**
37
+ * Enable ANSI colorized output for terminal debugging.
38
+ * Default: false
39
+ */
40
+ colorize: boolean;
41
+ /**
42
+ * Include comments in the output ).
43
+ * Default: true
44
+ */
45
+ includeComments: boolean;
46
+ /**
47
+ * Include array size information (e.g. [ $size=5 : ... ]).
48
+ * Default: false
49
+ */
50
+ includeArraySize: boolean;
51
+ /**
52
+ * Include the schema definition header (e.g. <name: string>).
53
+ * Default: true
54
+ */
55
+ includeSchema: boolean;
56
+ /**
57
+ * Include metadata attributes and tags ($attr=1 #tag).
58
+ * Default: true
59
+ */
60
+ includeMeta: boolean;
61
+ /**
62
+ * Include type signature after field names (e.g. name: string vs name).
63
+ * Default: true
64
+ */
65
+ includeType: boolean;
66
+ }
67
+ /**
68
+ * Default configuration values.
69
+ */
70
+ export declare const DEFAULT_CONFIG: EncoderConfig;
71
+ /**
72
+ * Helper to merge partial user config with defaults.
73
+ */
74
+ export declare function resolveConfig(config?: Partial<EncoderConfig>): EncoderConfig;
75
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +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"}
package/dist/config.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CONFIG = void 0;
4
+ exports.resolveConfig = resolveConfig;
5
+ /**
6
+ * Default configuration values.
7
+ */
8
+ exports.DEFAULT_CONFIG = {
9
+ indent: 2,
10
+ startIndent: 0,
11
+ compact: false,
12
+ escapeNewLines: false,
13
+ removeNewLines: false,
14
+ colorize: false,
15
+ includeComments: true,
16
+ includeArraySize: false,
17
+ includeSchema: true,
18
+ includeMeta: true,
19
+ includeType: true,
20
+ promptOutput: false,
21
+ };
22
+ /**
23
+ * Helper to merge partial user config with defaults.
24
+ */
25
+ function resolveConfig(config) {
26
+ return { ...exports.DEFAULT_CONFIG, ...config };
27
+ }
28
+ //# sourceMappingURL=config.js.map
@@ -0,0 +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"}
@@ -0,0 +1,88 @@
1
+ import { inspect } from 'util';
2
+ import { Node } from '../models/Node';
3
+ import { Schema } from '../models/Schema';
4
+ export declare class DecodeError {
5
+ message: string;
6
+ position: number;
7
+ context: string;
8
+ schema: Schema | null;
9
+ node: Node | null;
10
+ constructor(message: string, position: number, schema?: Schema | null, node?: Node | null);
11
+ toString(): string;
12
+ [inspect.custom](): string;
13
+ }
14
+ export declare class DecodeWarning {
15
+ message: string;
16
+ position: number;
17
+ schema: Schema | null;
18
+ node: Node | null;
19
+ constructor(message: string, position: number, schema?: Schema | null, node?: Node | null);
20
+ toString(): string;
21
+ }
22
+ export interface DecodeResult {
23
+ node: Node;
24
+ schema: Schema | null;
25
+ errors: DecodeError[];
26
+ warnings: DecodeWarning[];
27
+ }
28
+ export declare class Decoder {
29
+ private static PRIMITIVES;
30
+ private static PRIMITIVES_MAPPING;
31
+ private static MAX_ERRORS;
32
+ private text;
33
+ private debug;
34
+ private i;
35
+ private line;
36
+ private col;
37
+ private pendingMeta;
38
+ private nodeStack;
39
+ private schemaStack;
40
+ private errors;
41
+ private warnings;
42
+ private namedSchemas;
43
+ constructor(text: string, schema?: string, removeAnsiColors?: boolean, debug?: boolean);
44
+ decode(): DecodeResult;
45
+ private parseSchemaAtRef;
46
+ private parseSchemaBody;
47
+ private parseSchemaBodyContent;
48
+ private parseSchemaType;
49
+ private parseNode;
50
+ private parseNodeWithSchemaRef;
51
+ private parseNodeWithInlineSchema;
52
+ private parseList;
53
+ private parsePositionalRecord;
54
+ private parseNamedRecord;
55
+ private parseMeta;
56
+ private parseCommentBlock;
57
+ private parseModifierInline;
58
+ private parseMetaBlock;
59
+ private parseMetaAttribute;
60
+ private parseMetaTag;
61
+ private parseMetaFlag;
62
+ private parseIdent;
63
+ private parseString;
64
+ private parseNumber;
65
+ private parseRawString;
66
+ private parsePrimitiveValue;
67
+ private readQuotedString;
68
+ private readNumber;
69
+ private get currentSchema();
70
+ private createSchema;
71
+ private pushSchema;
72
+ private popSchema;
73
+ private get currentNode();
74
+ private pushNode;
75
+ private popNode;
76
+ private createNode;
77
+ private applyMeta;
78
+ private advance;
79
+ private skipWhitespace;
80
+ private eof;
81
+ private peek;
82
+ private peekNext;
83
+ private expect;
84
+ private addError;
85
+ private addWarning;
86
+ private _dbg;
87
+ }
88
+ //# sourceMappingURL=Decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Decoder.d.ts","sourceRoot":"","sources":["../../src/core/Decoder.ts"],"names":[],"mappings":"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"}