stateful-mcp 0.1.1

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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/config/about/dictionary.md +8 -0
  4. package/config/about/event.md +8 -0
  5. package/config/about/filter.md +9 -0
  6. package/config/about/form.md +9 -0
  7. package/config/about/log.md +9 -0
  8. package/config/about/middleware.md +18 -0
  9. package/config/about/object.md +8 -0
  10. package/config/about.config.json +37 -0
  11. package/config/examples/dictionary.md +9 -0
  12. package/config/examples/event.md +10 -0
  13. package/config/examples/filter.md +13 -0
  14. package/config/examples/form.md +23 -0
  15. package/config/examples/log.md +14 -0
  16. package/config/examples/object.md +12 -0
  17. package/config/storage.config.json +39 -0
  18. package/config/tools.config.json +14 -0
  19. package/dist/adapters/engines/dataframe-bridge.py +89 -0
  20. package/dist/index.d.ts +3 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +37412 -0
  23. package/dist/src/adapters/engines/dataframe-engine.d.ts +33 -0
  24. package/dist/src/adapters/engines/dataframe-engine.d.ts.map +1 -0
  25. package/dist/src/adapters/engines/interfaces.d.ts +11 -0
  26. package/dist/src/adapters/engines/interfaces.d.ts.map +1 -0
  27. package/dist/src/adapters/engines/memory-query.d.ts +12 -0
  28. package/dist/src/adapters/engines/memory-query.d.ts.map +1 -0
  29. package/dist/src/adapters/engines/pg-query.d.ts +16 -0
  30. package/dist/src/adapters/engines/pg-query.d.ts.map +1 -0
  31. package/dist/src/adapters/engines/sqlite-query.d.ts +16 -0
  32. package/dist/src/adapters/engines/sqlite-query.d.ts.map +1 -0
  33. package/dist/src/adapters/storage/browser-repo.d.ts +116 -0
  34. package/dist/src/adapters/storage/browser-repo.d.ts.map +1 -0
  35. package/dist/src/adapters/storage/compliance.d.ts +13 -0
  36. package/dist/src/adapters/storage/compliance.d.ts.map +1 -0
  37. package/dist/src/adapters/storage/interfaces.d.ts +134 -0
  38. package/dist/src/adapters/storage/interfaces.d.ts.map +1 -0
  39. package/dist/src/adapters/storage/jsonl-repo.d.ts +178 -0
  40. package/dist/src/adapters/storage/jsonl-repo.d.ts.map +1 -0
  41. package/dist/src/adapters/storage/memory-repo.d.ts +129 -0
  42. package/dist/src/adapters/storage/memory-repo.d.ts.map +1 -0
  43. package/dist/src/adapters/storage/pg-repo.d.ts +38 -0
  44. package/dist/src/adapters/storage/pg-repo.d.ts.map +1 -0
  45. package/dist/src/adapters/storage/sqlite-repo.d.ts +91 -0
  46. package/dist/src/adapters/storage/sqlite-repo.d.ts.map +1 -0
  47. package/dist/src/adapters/validation/references.d.ts +6 -0
  48. package/dist/src/adapters/validation/references.d.ts.map +1 -0
  49. package/dist/src/adapters/validation/runner.d.ts +28 -0
  50. package/dist/src/adapters/validation/runner.d.ts.map +1 -0
  51. package/dist/src/config/loader.d.ts +33 -0
  52. package/dist/src/config/loader.d.ts.map +1 -0
  53. package/dist/src/config/loader.js +232 -0
  54. package/dist/src/config/pagination.d.ts +44 -0
  55. package/dist/src/config/pagination.d.ts.map +1 -0
  56. package/dist/src/config/types.d.ts +152 -0
  57. package/dist/src/config/types.d.ts.map +1 -0
  58. package/dist/src/config/types.js +1 -0
  59. package/dist/src/config/validator.d.ts +3 -0
  60. package/dist/src/config/validator.d.ts.map +1 -0
  61. package/dist/src/errors/format.d.ts +8 -0
  62. package/dist/src/errors/format.d.ts.map +1 -0
  63. package/dist/src/errors/types.d.ts +32 -0
  64. package/dist/src/errors/types.d.ts.map +1 -0
  65. package/dist/src/errors/types.js +44 -0
  66. package/dist/src/middleware/dictionary/interfaces.d.ts +43 -0
  67. package/dist/src/middleware/dictionary/interfaces.d.ts.map +1 -0
  68. package/dist/src/middleware/dictionary/resolver.d.ts +47 -0
  69. package/dist/src/middleware/dictionary/resolver.d.ts.map +1 -0
  70. package/dist/src/middleware/dictionary/store.d.ts +73 -0
  71. package/dist/src/middleware/dictionary/store.d.ts.map +1 -0
  72. package/dist/src/middleware/dictionary/types.d.ts +152 -0
  73. package/dist/src/middleware/dictionary/types.d.ts.map +1 -0
  74. package/dist/src/middleware/event/store.d.ts +59 -0
  75. package/dist/src/middleware/event/store.d.ts.map +1 -0
  76. package/dist/src/middleware/event/types.d.ts +48 -0
  77. package/dist/src/middleware/event/types.d.ts.map +1 -0
  78. package/dist/src/middleware/filter/store.d.ts +44 -0
  79. package/dist/src/middleware/filter/store.d.ts.map +1 -0
  80. package/dist/src/middleware/filter/types.d.ts +65 -0
  81. package/dist/src/middleware/filter/types.d.ts.map +1 -0
  82. package/dist/src/middleware/form/store.d.ts +43 -0
  83. package/dist/src/middleware/form/store.d.ts.map +1 -0
  84. package/dist/src/middleware/form/types.d.ts +21 -0
  85. package/dist/src/middleware/form/types.d.ts.map +1 -0
  86. package/dist/src/middleware/object/schema-walker.d.ts +4 -0
  87. package/dist/src/middleware/object/schema-walker.d.ts.map +1 -0
  88. package/dist/src/middleware/object/store.d.ts +62 -0
  89. package/dist/src/middleware/object/store.d.ts.map +1 -0
  90. package/dist/src/middleware/object/types.d.ts +19 -0
  91. package/dist/src/middleware/object/types.d.ts.map +1 -0
  92. package/dist/src/services/dictionary.d.ts +2 -0
  93. package/dist/src/services/dictionary.d.ts.map +1 -0
  94. package/dist/src/services/event.d.ts +2 -0
  95. package/dist/src/services/event.d.ts.map +1 -0
  96. package/dist/src/services/filter.d.ts +2 -0
  97. package/dist/src/services/filter.d.ts.map +1 -0
  98. package/dist/src/services/form.d.ts +2 -0
  99. package/dist/src/services/form.d.ts.map +1 -0
  100. package/dist/src/services/helper.d.ts +8 -0
  101. package/dist/src/services/helper.d.ts.map +1 -0
  102. package/dist/src/services/log.d.ts +2 -0
  103. package/dist/src/services/log.d.ts.map +1 -0
  104. package/dist/src/services/object.d.ts +2 -0
  105. package/dist/src/services/object.d.ts.map +1 -0
  106. package/dist/src/translation/compiler.d.ts +3 -0
  107. package/dist/src/translation/compiler.d.ts.map +1 -0
  108. package/dist/src/translation/pipeline.d.ts +3 -0
  109. package/dist/src/translation/pipeline.d.ts.map +1 -0
  110. package/dist/src/translation/resolver.d.ts +4 -0
  111. package/dist/src/translation/resolver.d.ts.map +1 -0
  112. package/dist/src/translation/types.d.ts +32 -0
  113. package/dist/src/translation/types.d.ts.map +1 -0
  114. package/dist/src/translation/validator.d.ts +3 -0
  115. package/dist/src/translation/validator.d.ts.map +1 -0
  116. package/docs/browser.md +96 -0
  117. package/docs/config.md +498 -0
  118. package/docs/dictionary.md +37 -0
  119. package/docs/event.md +35 -0
  120. package/docs/filter.md +32 -0
  121. package/docs/log.md +54 -0
  122. package/docs/object.md +29 -0
  123. package/docs/pipeline.md +116 -0
  124. package/docs/resource_types.md +138 -0
  125. package/docs/validation_examples.md +230 -0
  126. package/package.json +91 -0
@@ -0,0 +1,59 @@
1
+ import type { SessionEventStore, PersistentEventStore } from "../../adapters/storage/interfaces";
2
+ import type { EventCommit, EventRecord, MergeSession, MergeConflict } from "./types";
3
+ import type { ResourceLocator, OwnerScope } from "../../config/types";
4
+ export declare class EventStore {
5
+ private session;
6
+ private persistent;
7
+ private schemas;
8
+ private chainThreshold;
9
+ private validationEngines;
10
+ private workspaceRoot;
11
+ private filterStore?;
12
+ private objectStore?;
13
+ private formStore?;
14
+ setReferences(stores: {
15
+ filter?: any;
16
+ object?: any;
17
+ form?: any;
18
+ }): void;
19
+ private mergeSessions;
20
+ constructor(session: SessionEventStore, persistent: PersistentEventStore, schemas: Map<string, any>, // Key: schemaName -> JSON Schema
21
+ chainThreshold?: number, validationEngines?: Map<string, ResourceLocator>, workspaceRoot?: string);
22
+ /**
23
+ * Projects the full event array from commitId, then sends it to the
24
+ * schema's validation_engine (if configured) for external validation.
25
+ * Throws OBJECT_VALIDATION_FAILED if the external validator rejects.
26
+ */
27
+ private runEventValidation;
28
+ private resolveId;
29
+ getCommit(commitId: string, sessionId: string): Promise<EventCommit | null>;
30
+ init(schemaName: string, sessionId: string, alias?: string, initialEvents?: Omit<EventRecord, "event_id">[]): Promise<string>;
31
+ append(sessionId: string, idOrAlias: string, data: Record<string, any>, alias?: string): Promise<string>;
32
+ patch(sessionId: string, idOrAlias: string, eventId: string, patchData: Record<string, any>, alias?: string): Promise<string>;
33
+ delete(sessionId: string, idOrAlias: string, eventId: string, alias?: string): Promise<string>;
34
+ project(commitId: string, sessionId: string): Promise<EventRecord[]>;
35
+ private getSchemaName;
36
+ private findLastMutationCommitId;
37
+ findLCA(commitIds: string[], sessionId: string): Promise<string>;
38
+ merge(sessionId: string, sourceIdsOrAliases: string[], targetIdOrAlias: string): Promise<{
39
+ status: "clean" | "conflict";
40
+ commit_id?: string;
41
+ merge_session_id?: string;
42
+ conflicts?: MergeConflict[];
43
+ }>;
44
+ mergeInspect(mergeSessionId: string): Promise<MergeSession>;
45
+ mergeResolve(mergeSessionId: string, eventId: string, resolution: any): Promise<string>;
46
+ mergeCommit(mergeSessionId: string, sessionId: string): Promise<string>;
47
+ private compressSuffix;
48
+ private findNearestBranchPoint;
49
+ gc(sessionId: string, keepIds: string[], whitelistAliases: string[], blacklistAliases?: string[]): Promise<{
50
+ deleted_count: number;
51
+ kept_count: number;
52
+ }>;
53
+ compress(commitId: string, sessionId: string): Promise<string>;
54
+ save(commitId: string, tags: string[], description: string, scope: OwnerScope, sessionId: string): Promise<string>;
55
+ private lockAncestors;
56
+ private getAncestors;
57
+ getSchema(schemaName: string): any;
58
+ }
59
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/middleware/event/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAiB,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAStE,qBAAa,UAAU;IAenB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,aAAa;IAnBvB,OAAO,CAAC,WAAW,CAAC,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAM;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAM;IAEjB,aAAa,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE;IAOvE,OAAO,CAAC,aAAa,CAAmC;gBAG9C,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,oBAAoB,EAChC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,iCAAiC;IAC5D,cAAc,SAAK,EACnB,iBAAiB,GAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAa,EAC3D,aAAa,GAAE,MAAsB;IAG/C;;;;OAIG;YACW,kBAAkB;YAiBlB,SAAS;IAKjB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK3E,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,GAC9C,OAAO,CAAC,MAAM,CAAC;IAkDZ,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqExG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IA2EZ,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuD9F,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAsC5D,aAAa;YAmBb,wBAAwB;IAchC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoChE,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAAE,EAC5B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAmHlH,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ3D,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BvF,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAwG/D,cAAc;YA4Fd,sBAAsB;IA8B9B,EAAE,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,GAAE,MAAM,EAAO,GAC9B,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAsDnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B9D,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;YAgCJ,aAAa;YAYb,YAAY;IAiBnB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG;CAG1C"}
@@ -0,0 +1,48 @@
1
+ export interface EventCondition {
2
+ property: string;
3
+ operator: string;
4
+ value: any;
5
+ }
6
+ export interface EventRecord {
7
+ event_id: string;
8
+ [key: string]: any;
9
+ }
10
+ export interface EventMutation {
11
+ type: "add" | "update" | "remove";
12
+ event_id: string;
13
+ mutation_parent_ids?: string[];
14
+ data?: Record<string, any>;
15
+ before_data?: Record<string, any>;
16
+ }
17
+ export interface EventCommit {
18
+ commitId: string;
19
+ sessionId: string;
20
+ parentCommitId: string | null;
21
+ createdAt: string;
22
+ operation: "add" | "update" | "remove" | "merge";
23
+ mutations: EventMutation[];
24
+ mergeSourceCommitIds?: string[];
25
+ mergeAcceptedIds?: string[];
26
+ mergeRejectedIds?: string[];
27
+ linearDepth: number;
28
+ gcLock: boolean;
29
+ }
30
+ export interface MergeSession {
31
+ mergeSessionId: string;
32
+ parentMergeSessionId: string | null;
33
+ sourceCommitIds: string[];
34
+ targetCommitId: string;
35
+ conflicts: MergeConflict[];
36
+ }
37
+ export interface MergeConflict {
38
+ event_id: string;
39
+ source_values: Record<string, any>;
40
+ target_value: any;
41
+ status: "pending" | "resolved";
42
+ resolution?: {
43
+ strategy: "accept_source" | "accept_target" | "patch";
44
+ source_id?: string;
45
+ values?: Record<string, any>;
46
+ };
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/event/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjD,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,EAAE,GAAG,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC;QACtD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,CAAC;CACH"}
@@ -0,0 +1,44 @@
1
+ import type { SessionFilterStore, PersistentFilterStore } from "../../adapters/storage/interfaces";
2
+ import type { FilterState, FilterCondition } from "./types";
3
+ import type { TableSchema, OwnerScope } from "../../config/types";
4
+ import type { QueryEngine } from "../../adapters/engines/interfaces";
5
+ export declare class FilterStore {
6
+ private session;
7
+ private persistent;
8
+ private toolSchemas;
9
+ private pinnedSchemas;
10
+ private chainThreshold;
11
+ private modifiers;
12
+ private views;
13
+ constructor(session: SessionFilterStore, persistent: PersistentFilterStore, toolSchemas: Map<string, Record<string, TableSchema>>, pinnedSchemas: Map<string, TableSchema>, chainThreshold?: number);
14
+ private resolveId;
15
+ private lookup;
16
+ private getPropertyType;
17
+ getFilter(id: string, sessionId: string, userId?: string): Promise<FilterState | null>;
18
+ init(sessionId: string, toolName?: string, tableName?: string, userId?: string, alias?: string, rules?: FilterCondition[]): Promise<string>;
19
+ add(filterId: string, operations: FilterCondition[], sessionId: string, userId?: string, newAlias?: string): Promise<string>;
20
+ private getAncestors;
21
+ private lockAncestors;
22
+ private findNearestBranchPoint;
23
+ private compressSuffix;
24
+ gc(sessionId: string, keepIds: string[], keepAliases?: string[], deleteAliases?: string[]): Promise<{
25
+ deleted_count: number;
26
+ kept_count: number;
27
+ }>;
28
+ getFilterRules(id: string, sessionId: string, userId?: string): Promise<FilterCondition[]>;
29
+ diff(filterIdA: string, filterIdB: string, sessionId: string, userId?: string): Promise<{
30
+ added: FilterCondition[];
31
+ removed: FilterCondition[];
32
+ }>;
33
+ compress(filterId: string, sessionId: string, userId?: string): Promise<string>;
34
+ combine(operation: "union" | "intersection" | "difference" | "symmetric_difference", ids: string[], sessionId: string, userId?: string): Promise<string>;
35
+ save(filterId: string, tags: string[], description: string, scope: OwnerScope, sessionId: string, checkPrivilege: (userId?: string) => boolean): Promise<string>;
36
+ resolveRows(filterId: string, sessionId: string, userId?: string, queryEngineResolver?: (toolName: string, tableName: string) => Promise<QueryEngine>): Promise<any[]>;
37
+ getParameters(toolName: string, tableName?: string): any;
38
+ initModifier(filterId?: string | null, columns?: string[], aggregations?: any[]): string;
39
+ modifierAdd(modId: string, columns: string[], aggregations: any[]): string;
40
+ initView(filterId: string, modId?: string | null, havingId?: string | null, limit?: number, offset?: number): string;
41
+ getView(viewId: string): any;
42
+ removeRule(filterId: string, property: string, operator: string, sessionId: string, userId?: string): Promise<string>;
43
+ }
44
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/middleware/filter/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { TableSchema } from "../../config/types";
2
+ export interface FilterCondition {
3
+ property: string;
4
+ operator: "eq" | "neq" | "gt" | "geq" | "lt" | "leq" | "like" | "not_like" | "in_set" | "not_in_set" | "between" | "not_between";
5
+ value: any;
6
+ }
7
+ export interface Aggregation {
8
+ function: "count" | "count_distinct" | "sum" | "avg" | "min" | "max" | "std_dev" | "median" | "q1" | "q3" | "range" | "stat";
9
+ property: string;
10
+ alias: string;
11
+ }
12
+ export interface SortInstruction {
13
+ property: string;
14
+ direction: "asc" | "desc";
15
+ }
16
+ export interface QueryDefinition {
17
+ table?: string;
18
+ sourceViewId?: string;
19
+ filters?: FilterCondition[];
20
+ projections?: string[];
21
+ group_by?: string[];
22
+ aggregations?: Aggregation[];
23
+ sort?: SortInstruction[];
24
+ limit?: number;
25
+ offset?: number;
26
+ union?: QueryDefinition;
27
+ intersect?: QueryDefinition;
28
+ except?: QueryDefinition;
29
+ }
30
+ export interface FilterState {
31
+ filterId: string;
32
+ toolName?: string;
33
+ tableName?: string;
34
+ rules: FilterCondition[];
35
+ parentFilterId?: string | null;
36
+ createdAt: string;
37
+ combined_operation?: "union" | "intersection" | "difference" | "symmetric_difference" | null;
38
+ combined_ids?: string[] | null;
39
+ schema_snapshot?: TableSchema | null;
40
+ linearDepth?: number;
41
+ gcLock?: boolean;
42
+ }
43
+ export interface ModifierState {
44
+ modId: string;
45
+ filterId?: string | null;
46
+ columns: string[];
47
+ aggregations: Aggregation[];
48
+ createdAt: string;
49
+ }
50
+ export interface ViewState {
51
+ viewId: string;
52
+ filterId: string;
53
+ modId?: string | null;
54
+ havingId?: string | null;
55
+ limit?: number;
56
+ offset?: number;
57
+ createdAt: string;
58
+ }
59
+ export interface SavedView {
60
+ id: string;
61
+ tags: string[];
62
+ description: string;
63
+ savedAt: string;
64
+ }
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/filter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,aAAa,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EACJ,OAAO,GACP,gBAAgB,GAChB,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,SAAS,GACT,QAAQ,GACR,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAGlB,kBAAkB,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,sBAAsB,GAAG,IAAI,CAAC;IAC7F,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAG/B,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAGrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,43 @@
1
+ import type { FormSchema, OwnerScope } from "../../config/types";
2
+ import type { FormState, FormAnswerResult } from "./types";
3
+ import type { SessionFormStore, PersistentFormStore } from "../../adapters/storage/interfaces";
4
+ export declare function evaluateCondition(value: any, cond: {
5
+ operator: string;
6
+ value: any;
7
+ }): boolean;
8
+ export declare function resolveNavigationState(schema: FormSchema, answers: Record<string, any>, skipped: string[], focusQuestionId?: string | null): {
9
+ visibleQuestions: string[];
10
+ visibleSections: string[];
11
+ next_questions: string[];
12
+ revealed: string[];
13
+ hidden: string[];
14
+ stale: string[];
15
+ complete: boolean;
16
+ };
17
+ export declare function validateAnswer(qDef: any, value: any): void;
18
+ export declare class FormStore {
19
+ private sessionStore;
20
+ private persistentStore;
21
+ private formSchemas;
22
+ private filterStore?;
23
+ private objectStore?;
24
+ setReferences(stores: {
25
+ filter?: any;
26
+ object?: any;
27
+ }): void;
28
+ constructor(sessionStore: SessionFormStore, persistentStore: PersistentFormStore, formSchemas: Map<string, FormSchema>);
29
+ private resolveId;
30
+ getForm(formIdOrAlias: string, sessionId: string): Promise<FormState | null>;
31
+ init(schemaName: string, sessionId: string, alias?: string, parentFormId?: string): Promise<string>;
32
+ answer(formIdOrAlias: string, questionId: string, value: any, sessionId: string, newAlias?: string): Promise<FormAnswerResult>;
33
+ skip(formIdOrAlias: string, questionId: string, sessionId: string, newAlias?: string): Promise<FormAnswerResult>;
34
+ back(formIdOrAlias: string, questionId: string, sessionId: string, newAlias?: string): Promise<FormAnswerResult>;
35
+ resolve(formIdOrAlias: string, sessionId: string): Promise<any>;
36
+ inspect(formIdOrAlias: string, questionId: string | undefined, sessionId: string): Promise<any[]>;
37
+ compress(formId: string, sessionId: string): Promise<string>;
38
+ save(formId: string, tags: string[], description: string, scope: OwnerScope, sessionId: string): Promise<string>;
39
+ private lockAncestors;
40
+ private getAncestors;
41
+ getSchema(schemaName: string): any;
42
+ }
43
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/middleware/form/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAsB,MAAM,SAAS,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE/F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAgC7F;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;;;;EA2HhC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAyD1D;AAED,qBAAa,SAAS;IAUlB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IAXrB,OAAO,CAAC,WAAW,CAAC,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAM;IAEnB,aAAa,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAAE;gBAMjD,YAAY,EAAE,gBAAgB,EAC9B,eAAe,EAAE,mBAAmB,EACpC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;YAGhC,SAAS;IAKV,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAK5E,IAAI,CACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAoBL,MAAM,CACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAqEf,IAAI,CACf,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAwDf,IAAI,CACf,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAwCf,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAsC/D,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAkCjG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C5D,IAAI,CACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;YAgCJ,aAAa;YAYb,YAAY;IASnB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG;CAG1C"}
@@ -0,0 +1,21 @@
1
+ export interface FormState {
2
+ formId: string;
3
+ parentFormId: string | null;
4
+ schemaName: string;
5
+ answers: Record<string, any>;
6
+ skipped: string[];
7
+ stale: Record<string, boolean>;
8
+ timestamp: string;
9
+ }
10
+ export interface PersistedFormState extends FormState {
11
+ owner: string;
12
+ }
13
+ export interface FormAnswerResult {
14
+ form_id: string;
15
+ next_questions: string[];
16
+ revealed: string[];
17
+ hidden: string[];
18
+ stale: string[];
19
+ complete: boolean;
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/form/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ export declare function validateCycleFree(defs: Record<string, unknown>): void;
2
+ export declare function validateFieldLimits(defs: Record<string, unknown>, maxFields: number, maxDepth: number): void;
3
+ export declare function resolvePathSchema(rootSchema: any, defs: Record<string, any>, path: (string | number)[]): any;
4
+ //# sourceMappingURL=schema-walker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-walker.d.ts","sourceRoot":"","sources":["../../../../src/middleware/object/schema-walker.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAyBrE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,IAAI,CAiBN;AAGD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACxB,GAAG,CAcL"}
@@ -0,0 +1,62 @@
1
+ import type { SessionObjectStore, PersistentObjectStore } from "../../adapters/storage/interfaces";
2
+ import type { ObjectState, ObjectDiffResult } from "./types";
3
+ import type { OwnerScope, ResourceLocator } from "../../config/types";
4
+ export interface ValidationResult {
5
+ valid: boolean;
6
+ missing: (string | number)[][];
7
+ invalid: Array<{
8
+ path: (string | number)[];
9
+ reason: string;
10
+ }>;
11
+ warnings: Array<{
12
+ path: (string | number)[];
13
+ message: string;
14
+ }>;
15
+ }
16
+ export declare class ObjectStore {
17
+ private session;
18
+ private persistent;
19
+ private schemas;
20
+ private maxFields;
21
+ private maxDepth;
22
+ private chainThreshold;
23
+ private validationEngines;
24
+ private workspaceRoot;
25
+ private filterStore?;
26
+ private formStore?;
27
+ setReferences(stores: {
28
+ filter?: any;
29
+ form?: any;
30
+ }): void;
31
+ constructor(session: SessionObjectStore, persistent: PersistentObjectStore, schemas: Map<string, any>, // name -> json schema
32
+ maxFields?: number, maxDepth?: number, chainThreshold?: number, validationEngines?: Map<string, ResourceLocator>, workspaceRoot?: string);
33
+ private resolveId;
34
+ private lookup;
35
+ getObject(id: string, sessionId: string, userId?: string): Promise<ObjectState | null>;
36
+ init(schemaName: string, sessionId: string, alias?: string, data?: Record<string, any>): Promise<string>;
37
+ from_saved(savedId: string, sessionId: string, userId?: string): Promise<string>;
38
+ set(objectId: string, path: (string | number)[], value: unknown, sessionId: string, userId?: string, newAlias?: string): Promise<string>;
39
+ private getAncestors;
40
+ private lockAncestors;
41
+ private findNearestBranchPoint;
42
+ private compressSuffix;
43
+ gc(sessionId: string, keepIds: string[], keepAliases?: string[], deleteAliases?: string[]): Promise<{
44
+ deleted_count: number;
45
+ kept_count: number;
46
+ }>;
47
+ patch(objectId: string, partial: Record<string, unknown>, sessionId: string, userId?: string): Promise<string>;
48
+ ref(objectId: string, path: (string | number)[], sourceObjectId: string, sourcePath: (string | number)[], sessionId: string, userId?: string): Promise<string>;
49
+ array_append(objectId: string, path: (string | number)[], sessionId: string, userId?: string): Promise<string>;
50
+ array_remove(objectId: string, path: (string | number)[], index: number, sessionId: string, userId?: string): Promise<string>;
51
+ array_operation(objectId: string, path: (string | number)[], operation: "insert" | "remove" | "replace", index: number | undefined, value: any | undefined, sessionId: string, userId?: string): Promise<string>;
52
+ compress(objectId: string, sessionId: string, userId?: string): Promise<string>;
53
+ validate(objectId: string, sessionId: string, userId?: string): Promise<ValidationResult>;
54
+ save(objectId: string, tags: string[], description: string, scope: OwnerScope, sessionId: string): Promise<string>;
55
+ resolve(objectId: string, mode: "tool_call" | "function", sessionId: string, userId?: string): Promise<unknown>;
56
+ inspect(objectId: string, sessionId: string, userId?: string): Promise<any>;
57
+ diff(objectIdA: string, objectIdB: string, sessionId: string, userId?: string): Promise<ObjectDiffResult>;
58
+ private getValueAtPath;
59
+ private setValueAtPath;
60
+ getSchema(schemaName: string): any;
61
+ }
62
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/middleware/object/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export interface ObjectState {
2
+ objectId: string;
3
+ schemaName: string;
4
+ parentObjectId?: string | null;
5
+ data: Record<string, any>;
6
+ createdAt: string;
7
+ schema_pinned_at?: string;
8
+ linearDepth?: number;
9
+ gcLock?: boolean;
10
+ }
11
+ export interface ObjectDiffResult {
12
+ added: Record<string, any>;
13
+ updated: Record<string, {
14
+ old: any;
15
+ new: any;
16
+ }>;
17
+ removed: string[];
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/object/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../src/services/dictionary.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/services/event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/services/filter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/services/form.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { FilterStore } from "../middleware/filter/store";
2
+ import { ObjectStore } from "../middleware/object/store";
3
+ import { FormStore } from "../middleware/form/store";
4
+ import type { MiddlewareConfig } from "../config/types";
5
+ export declare function getFilterStore(config: MiddlewareConfig, workspaceRoot: string): FilterStore;
6
+ export declare function getObjectStore(config: MiddlewareConfig, workspaceRoot: string): ObjectStore;
7
+ export declare function getFormStore(config: MiddlewareConfig, workspaceRoot: string): FormStore;
8
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/services/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,iBAAiB,CAAC;AAOjF,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAsB3F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAuB3F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,CAoBvF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/services/log.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/services/object.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { PipelineStep } from "./types";
2
+ export declare function compilePipelineToSQL(steps: PipelineStep[], dialect: "sqlite" | "postgres"): string;
3
+ //# sourceMappingURL=compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/translation/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,SAAS,CAAC;AA6BpD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,QAAQ,GAAG,UAAU,GAC7B,MAAM,CA4GR"}
@@ -0,0 +1,3 @@
1
+ import type { PipelineStep } from "./types";
2
+ export declare function executePipeline(steps: PipelineStep[], row: Record<string, unknown>, constants: Record<string, unknown>): unknown;
3
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/translation/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,SAAS,CAAC;AAqBpD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EAAE,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAcT"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceLocator } from "../config/types";
2
+ import type { TableTranslation } from "./types";
3
+ export declare function resolveTranslation(locator: ResourceLocator, workspaceRoot: string): Promise<TableTranslation>;
4
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/translation/resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
@@ -0,0 +1,32 @@
1
+ export type ArgRef = {
2
+ $init: string;
3
+ } | {
4
+ $var: string;
5
+ } | {
6
+ $fn: "now" | "utc_time";
7
+ } | number | string | boolean;
8
+ export type OpName = "add" | "sub" | "mul" | "div" | "mod" | "exp" | "lt" | "leq" | "eq" | "neq" | "geq" | "gt" | "year" | "month" | "day" | "quarter" | "date_diff" | "get" | "json_parse";
9
+ export interface PipelineStep {
10
+ op: OpName;
11
+ args: ArgRef[];
12
+ return_var?: string;
13
+ on_missing?: "null" | "error" | {
14
+ literal: unknown;
15
+ };
16
+ }
17
+ export interface PropertyTranslation {
18
+ internal: string;
19
+ internal_type?: "scalar" | "array";
20
+ transform?: {
21
+ pipeline: PipelineStep[];
22
+ };
23
+ allowed_operators?: string[];
24
+ }
25
+ export interface TableTranslation {
26
+ properties: Record<string, PropertyTranslation>;
27
+ constants?: Record<string, unknown> | string;
28
+ supported_op_families?: string[];
29
+ supported_operations?: string[];
30
+ expressible_combinations?: string[][];
31
+ }
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/translation/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,GAAG,EAAE,KAAK,GAAG,UAAU,CAAA;CAAE,GAC3B,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9B,MAAM,MAAM,MAAM,GACd,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAC7C,IAAI,GAAI,KAAK,GAAG,IAAI,GAAI,KAAK,GAAG,KAAK,GAAG,IAAI,GAC5C,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,GAClD,KAAK,GACL,YAAY,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACvC"}
@@ -0,0 +1,3 @@
1
+ import type { TableTranslation } from "./types";
2
+ export declare function validateTableTranslation(tableName: string, translation: TableTranslation, engineOpFamilies: string[]): void;
3
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/translation/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI9D,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,gBAAgB,EAC7B,gBAAgB,EAAE,MAAM,EAAE,GACzB,IAAI,CAiDN"}