@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.
- package/dist/config.d.ts +75 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +28 -0
- package/dist/config.js.map +1 -0
- package/dist/core/Decoder.d.ts +88 -0
- package/dist/core/Decoder.d.ts.map +1 -0
- package/dist/core/Decoder.js +968 -0
- package/dist/core/Decoder.js.map +1 -0
- package/dist/core/Encoder.d.ts +26 -0
- package/dist/core/Encoder.d.ts.map +1 -0
- package/dist/core/Encoder.js +368 -0
- package/dist/core/Encoder.js.map +1 -0
- package/dist/core/Parser.d.ts +6 -0
- package/dist/core/Parser.d.ts.map +1 -0
- package/dist/core/Parser.js +132 -0
- package/dist/core/Parser.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/models/Meta.d.ts +48 -0
- package/dist/models/Meta.d.ts.map +1 -0
- package/dist/models/Meta.js +113 -0
- package/dist/models/Meta.js.map +1 -0
- package/dist/models/Node.d.ts +42 -0
- package/dist/models/Node.d.ts.map +1 -0
- package/dist/models/Node.js +179 -0
- package/dist/models/Node.js.map +1 -0
- package/dist/models/Schema.d.ts +55 -0
- package/dist/models/Schema.d.ts.map +1 -0
- package/dist/models/Schema.js +175 -0
- package/dist/models/Schema.js.map +1 -0
- package/package.json +32 -0
- package/src/config.ts +102 -0
- package/src/core/Decoder.ts +1074 -0
- package/src/core/Encoder.ts +443 -0
- package/src/core/Parser.ts +150 -0
- package/src/index.ts +46 -0
- package/src/models/Meta.ts +135 -0
- package/src/models/Node.ts +212 -0
- package/src/models/Schema.ts +222 -0
- package/tests/00.meta.test.ts +31 -0
- package/tests/00.node.test.ts +54 -0
- package/tests/00.primitive.test.ts +108 -0
- package/tests/00.schema.test.ts +41 -0
- package/tests/01.schema.test.ts +70 -0
- package/tests/02.data.test.ts +89 -0
- package/tests/03.errors.test.ts +71 -0
- package/tests/04.list.test.ts +225 -0
- package/tests/05.record.test.ts +82 -0
- package/tests/06.meta.test.ts +506 -0
- package/tests/utils.ts +69 -0
- package/tsconfig.json +46 -0
- package/vitest.config.ts +9 -0
package/dist/config.d.ts
ADDED
|
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAc,MAAM,kBAAkB,CAAC;AAmBtD,qBAAa,WAAW;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAM;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;gBAEb,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW;IAOrG,QAAQ,IAAI,MAAM;IAIlB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;CAgB7B;AAED,qBAAa,aAAa;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;gBAEN,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW;IAOrG,QAAQ,IAAI,MAAM;CAGrB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC7B;AAID,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAAC,UAAU,CAA2E;IACpG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAG/B;IACF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAM;IAE/B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAU;IAGvB,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,GAAG,CAAa;IAGxB,OAAO,CAAC,WAAW,CAA4B;IAG/C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,YAAY,CAAkC;gBAE1C,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,EAAE,gBAAgB,GAAE,OAAe,EAAE,KAAK,GAAE,OAAe;IAajG,MAAM,IAAI,YAAY;IA8E7B,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,sBAAsB;IAyE9B,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,SAAS;IAsCjB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,SAAS;IAyDjB,OAAO,CAAC,qBAAqB;IAwD7B,OAAO,CAAC,gBAAgB;IA6ExB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,UAAU;IA6BlB,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,SAAS;IAWjB,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,UAAU;IA4ClB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAEhB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAKrB,OAAO,CAAC,IAAI;CAoDZ"}
|