interaqt 1.1.3 → 1.3.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 (85) hide show
  1. package/README.md +36 -1
  2. package/agent/agentspace/knowledge/generator/api-reference.md +19 -21
  3. package/agent/agentspace/knowledge/generator/computation-implementation.md +6 -0
  4. package/agent/agentspace/knowledge/generator/integration-implementation-handler.md +2 -0
  5. package/agent/agentspace/knowledge/usage/03-entity-relations.md +37 -7
  6. package/agent/agentspace/knowledge/usage/04-reactive-computations.md +8 -0
  7. package/agent/agentspace/knowledge/usage/05-interactions.md +24 -0
  8. package/agent/agentspace/knowledge/usage/10-async-computations.md +13 -0
  9. package/agent/agentspace/knowledge/usage/13-testing.md +12 -2
  10. package/agent/agentspace/knowledge/usage/14-api-reference.md +10 -0
  11. package/agent/agentspace/knowledge/usage/18-api-exports-reference.md +33 -2
  12. package/agent/agentspace/knowledge/usage/20-postgresql-concurrency-migration.md +105 -0
  13. package/agent/agentspace/knowledge/usage/README.md +1 -0
  14. package/agent/skill/interaqt-reference.md +2 -1
  15. package/dist/builtins/interaction/activity/ActivityManager.d.ts.map +1 -1
  16. package/dist/core/Constraint.d.ts +95 -0
  17. package/dist/core/Constraint.d.ts.map +1 -0
  18. package/dist/core/Custom.d.ts +18 -0
  19. package/dist/core/Custom.d.ts.map +1 -1
  20. package/dist/core/Entity.d.ts +10 -0
  21. package/dist/core/Entity.d.ts.map +1 -1
  22. package/dist/core/EventSource.d.ts +33 -0
  23. package/dist/core/EventSource.d.ts.map +1 -1
  24. package/dist/core/Relation.d.ts +10 -0
  25. package/dist/core/Relation.d.ts.map +1 -1
  26. package/dist/core/index.d.ts +1 -0
  27. package/dist/core/index.d.ts.map +1 -1
  28. package/dist/core/init.d.ts.map +1 -1
  29. package/dist/drivers/Mysql.d.ts +11 -0
  30. package/dist/drivers/Mysql.d.ts.map +1 -1
  31. package/dist/drivers/PGLite.d.ts +13 -0
  32. package/dist/drivers/PGLite.d.ts.map +1 -1
  33. package/dist/drivers/PostgreSQL.d.ts +38 -5
  34. package/dist/drivers/PostgreSQL.d.ts.map +1 -1
  35. package/dist/drivers/SQLite.d.ts +13 -0
  36. package/dist/drivers/SQLite.d.ts.map +1 -1
  37. package/dist/index.js +4687 -3572
  38. package/dist/index.js.map +1 -1
  39. package/dist/runtime/ComputationSourceMap.d.ts.map +1 -1
  40. package/dist/runtime/Controller.d.ts +2 -0
  41. package/dist/runtime/Controller.d.ts.map +1 -1
  42. package/dist/runtime/MonoSystem.d.ts +2 -0
  43. package/dist/runtime/MonoSystem.d.ts.map +1 -1
  44. package/dist/runtime/Scheduler.d.ts +14 -1
  45. package/dist/runtime/Scheduler.d.ts.map +1 -1
  46. package/dist/runtime/System.d.ts +69 -6
  47. package/dist/runtime/System.d.ts.map +1 -1
  48. package/dist/runtime/computations/Any.d.ts.map +1 -1
  49. package/dist/runtime/computations/Average.d.ts +2 -2
  50. package/dist/runtime/computations/Average.d.ts.map +1 -1
  51. package/dist/runtime/computations/Computation.d.ts +17 -0
  52. package/dist/runtime/computations/Computation.d.ts.map +1 -1
  53. package/dist/runtime/computations/Count.d.ts +5 -1
  54. package/dist/runtime/computations/Count.d.ts.map +1 -1
  55. package/dist/runtime/computations/Every.d.ts +1 -2
  56. package/dist/runtime/computations/Every.d.ts.map +1 -1
  57. package/dist/runtime/computations/StateMachine.d.ts.map +1 -1
  58. package/dist/runtime/computations/Summation.d.ts +3 -1
  59. package/dist/runtime/computations/Summation.d.ts.map +1 -1
  60. package/dist/runtime/computations/Transform.d.ts.map +1 -1
  61. package/dist/runtime/computations/WeightedSummation.d.ts +3 -1
  62. package/dist/runtime/computations/WeightedSummation.d.ts.map +1 -1
  63. package/dist/runtime/errors/ConstraintErrors.d.ts +36 -0
  64. package/dist/runtime/errors/ConstraintErrors.d.ts.map +1 -0
  65. package/dist/runtime/errors/DatabaseErrors.d.ts +13 -0
  66. package/dist/runtime/errors/DatabaseErrors.d.ts.map +1 -0
  67. package/dist/runtime/errors/index.d.ts +2 -0
  68. package/dist/runtime/errors/index.d.ts.map +1 -1
  69. package/dist/runtime/index.d.ts +3 -0
  70. package/dist/runtime/index.d.ts.map +1 -1
  71. package/dist/runtime/transaction.d.ts +15 -0
  72. package/dist/runtime/transaction.d.ts.map +1 -0
  73. package/dist/storage/erstorage/EntityQueryHandle.d.ts +1 -0
  74. package/dist/storage/erstorage/EntityQueryHandle.d.ts.map +1 -1
  75. package/dist/storage/erstorage/QueryExecutor.d.ts +1 -1
  76. package/dist/storage/erstorage/QueryExecutor.d.ts.map +1 -1
  77. package/dist/storage/erstorage/RecordQueryAgent.d.ts +1 -0
  78. package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -1
  79. package/dist/storage/erstorage/SchemaDialect.d.ts +29 -0
  80. package/dist/storage/erstorage/SchemaDialect.d.ts.map +1 -0
  81. package/dist/storage/erstorage/Setup.d.ts +24 -1
  82. package/dist/storage/erstorage/Setup.d.ts.map +1 -1
  83. package/dist/storage/index.d.ts +1 -0
  84. package/dist/storage/index.d.ts.map +1 -1
  85. package/package.json +2 -1
@@ -0,0 +1,95 @@
1
+ import { IInstance } from './interfaces.js';
2
+ export type ConstraintPredicateValue = string | number | boolean | null;
3
+ export type ConstraintPredicateOperator = {
4
+ op: 'isNull';
5
+ } | {
6
+ op: 'isNotNull';
7
+ } | {
8
+ op: 'equals';
9
+ value: ConstraintPredicateValue;
10
+ } | {
11
+ op: 'notEquals';
12
+ value: ConstraintPredicateValue;
13
+ } | {
14
+ op: 'in';
15
+ value: ConstraintPredicateValue[];
16
+ } | {
17
+ op: 'notIn';
18
+ value: ConstraintPredicateValue[];
19
+ };
20
+ export type ConstraintPredicate = {
21
+ [propertyName: string]: ConstraintPredicateOperator;
22
+ };
23
+ export interface UniqueConstraintInstance extends IInstance {
24
+ name: string;
25
+ properties: string[];
26
+ where?: ConstraintPredicate;
27
+ violationCode?: string;
28
+ }
29
+ export type ConstraintInstance = UniqueConstraintInstance;
30
+ export interface UniqueConstraintCreateArgs {
31
+ name: string;
32
+ properties: string[];
33
+ where?: ConstraintPredicate;
34
+ violationCode?: string;
35
+ }
36
+ export declare class UniqueConstraint implements UniqueConstraintInstance {
37
+ uuid: string;
38
+ _type: string;
39
+ _options?: {
40
+ uuid?: string;
41
+ };
42
+ name: string;
43
+ properties: string[];
44
+ where?: ConstraintPredicate;
45
+ violationCode?: string;
46
+ constructor(args: UniqueConstraintCreateArgs, options?: {
47
+ uuid?: string;
48
+ });
49
+ static isKlass: true;
50
+ static displayName: string;
51
+ static instances: UniqueConstraintInstance[];
52
+ static public: {
53
+ name: {
54
+ type: "string";
55
+ required: true;
56
+ constraints: {
57
+ nameFormat: ({ name }: {
58
+ name: string;
59
+ }) => boolean;
60
+ };
61
+ };
62
+ properties: {
63
+ type: "string";
64
+ collection: true;
65
+ required: true;
66
+ constraints: {
67
+ nonEmpty: ({ properties }: {
68
+ properties: string[];
69
+ }) => boolean;
70
+ eachNameUnique: ({ properties }: {
71
+ properties: string[];
72
+ }) => boolean;
73
+ };
74
+ };
75
+ where: {
76
+ type: "object";
77
+ collection: false;
78
+ required: false;
79
+ };
80
+ violationCode: {
81
+ type: "string";
82
+ collection: false;
83
+ required: false;
84
+ };
85
+ };
86
+ static create(args: UniqueConstraintCreateArgs, options?: {
87
+ uuid?: string;
88
+ }): UniqueConstraintInstance;
89
+ static stringify(instance: UniqueConstraintInstance): string;
90
+ static clone(instance: UniqueConstraintInstance): UniqueConstraintInstance;
91
+ static is(obj: unknown): obj is UniqueConstraintInstance;
92
+ static check(data: unknown): boolean;
93
+ static parse(json: string): UniqueConstraintInstance;
94
+ }
95
+ //# sourceMappingURL=Constraint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../src/core/Constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,iBAAiB,CAAC;AAI1E,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAExE,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,GAChB;IAAE,EAAE,EAAE,WAAW,CAAA;CAAE,GACnB;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG,2BAA2B,CAAC;CACrD,CAAC;AAEF,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAiB,YAAW,wBAAwB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,SAAsB;IAC3B,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IASzE,MAAM,CAAC,OAAO,EAAG,IAAI,CAAU;IAC/B,MAAM,CAAC,WAAW,SAAsB;IACxC,MAAM,CAAC,SAAS,EAAE,wBAAwB,EAAE,CAAM;IAElD,MAAM,CAAC,MAAM;;;;;uCAKc;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE;;;;;;;;2CAQZ;oBAAE,UAAU,EAAE,MAAM,EAAE,CAAA;iBAAE;iDAClB;oBAAE,UAAU,EAAE,MAAM,EAAE,CAAA;iBAAE;;;;;;;;;;;;;MAgB3D;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,wBAAwB;IAUtG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM;IAiB5D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,wBAAwB,GAAG,wBAAwB;IAS1E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,wBAAwB;IAIxD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIpC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB;CAIrD"}
@@ -1,5 +1,6 @@
1
1
  import { IInstance } from './interfaces.js';
2
2
  import { DataDep } from './Computation.js';
3
+ export type CustomConcurrency = 'serializable' | 'atomic-safe';
3
4
  export interface CustomInstance extends IInstance {
4
5
  name: string;
5
6
  dataDeps?: {
@@ -10,8 +11,18 @@ export interface CustomInstance extends IInstance {
10
11
  incrementalPatchCompute?: Function;
11
12
  createState?: Function;
12
13
  getInitialValue?: Function;
14
+ /**
15
+ * Runs inside the retryable transaction attempt when async task results are
16
+ * applied. Keep it deterministic and free of irreversible external IO.
17
+ */
13
18
  asyncReturn?: Function;
14
19
  useLastValue?: boolean;
20
+ /**
21
+ * Defaults to 'serializable'. Use 'atomic-safe' only when the custom
22
+ * computation's incremental path is built from framework atomic primitives or
23
+ * otherwise remains correct under READ COMMITTED retry boundaries.
24
+ */
25
+ concurrency?: CustomConcurrency;
15
26
  }
16
27
  export interface CustomCreateArgs {
17
28
  name: string;
@@ -25,6 +36,7 @@ export interface CustomCreateArgs {
25
36
  getInitialValue?: Function;
26
37
  asyncReturn?: Function;
27
38
  useLastValue?: boolean;
39
+ concurrency?: CustomConcurrency;
28
40
  }
29
41
  export declare class Custom implements CustomInstance {
30
42
  uuid: string;
@@ -43,6 +55,7 @@ export declare class Custom implements CustomInstance {
43
55
  getInitialValue?: Function;
44
56
  asyncReturn?: Function;
45
57
  useLastValue?: boolean;
58
+ concurrency?: CustomConcurrency;
46
59
  constructor(args: CustomCreateArgs, options?: {
47
60
  uuid?: string;
48
61
  });
@@ -95,6 +108,11 @@ export declare class Custom implements CustomInstance {
95
108
  collection: false;
96
109
  required: false;
97
110
  };
111
+ concurrency: {
112
+ type: "string";
113
+ collection: false;
114
+ required: false;
115
+ };
98
116
  };
99
117
  static create(args: CustomCreateArgs, options?: {
100
118
  uuid?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../src/core/Custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,uBAAuB,CAAC,EAAE,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,uBAAuB,CAAC,EAAE,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,MAAO,YAAW,cAAc;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,SAAY;IACjB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,uBAAuB,CAAC,EAAE,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;gBAElB,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAe/D,MAAM,CAAC,OAAO,EAAG,IAAI,CAAU;IAC/B,MAAM,CAAC,WAAW,SAAY;IAC9B,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,CAAM;IAExC,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8CX;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAalF,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAsBlD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc;IAcrE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,cAAc;IAI9C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIpC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAc3C"}
1
+ {"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../src/core/Custom.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { IInstance } from './interfaces.js';
2
2
  import { PropertyInstance } from './Property.js';
3
3
  import { ComputationInstance } from './types.js';
4
4
  import { RelationInstance } from './Relation.js';
5
+ import { ConstraintInstance } from './Constraint.js';
5
6
  export interface EntityInstance extends IInstance {
6
7
  name: string;
7
8
  properties: PropertyInstance[];
@@ -10,6 +11,7 @@ export interface EntityInstance extends IInstance {
10
11
  matchExpression?: object;
11
12
  inputEntities?: EntityInstance[];
12
13
  commonProperties?: PropertyInstance[];
14
+ constraints?: ConstraintInstance[];
13
15
  }
14
16
  export interface EntityCreateArgs {
15
17
  name: string;
@@ -19,6 +21,7 @@ export interface EntityCreateArgs {
19
21
  matchExpression?: object;
20
22
  inputEntities?: EntityInstance[];
21
23
  commonProperties?: PropertyInstance[];
24
+ constraints?: ConstraintInstance[];
22
25
  }
23
26
  export declare class Entity implements EntityInstance {
24
27
  uuid: string;
@@ -33,6 +36,7 @@ export declare class Entity implements EntityInstance {
33
36
  matchExpression?: object;
34
37
  inputEntities?: EntityInstance[];
35
38
  commonProperties?: PropertyInstance[];
39
+ constraints?: ConstraintInstance[];
36
40
  constructor(args: EntityCreateArgs, options?: {
37
41
  uuid?: string;
38
42
  });
@@ -97,6 +101,12 @@ export declare class Entity implements EntityInstance {
97
101
  }) => boolean;
98
102
  };
99
103
  };
104
+ constraints: {
105
+ type: "UniqueConstraint";
106
+ collection: true;
107
+ required: false;
108
+ defaultValue: () => never[];
109
+ };
100
110
  };
101
111
  static create(args: EntityCreateArgs, options?: {
102
112
  uuid?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/core/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACvC;AAED,qBAAa,MAAO,YAAW,cAAc;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,SAAY;IACjB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;gBACjC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAa/D,MAAM,CAAC,OAAO,EAAG,IAAI,CAAU;IAC/B,MAAM,CAAC,WAAW,SAAY;IAC9B,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,CAAM;IAExC,MAAM,CAAC,MAAM;;;;;uCAKc;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE;;;;;;;;iDAUN;oBAAC,UAAU,EAAE,gBAAgB,EAAE,CAAA;iBAAC;;;;;;;;;iDAYhC;oBAAC,UAAU,EAAE,gBAAgB,EAAE,CAAA;iBAAC;;;;;;;;;;;;;;;;;;;;;;;;0EA2BP;oBAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;oBAAC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAA;iBAAC;;;MAS9H;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAalF,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAmBlD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc;IAcrE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,cAAc;IAI9C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAqBpC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAI3C"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/core/Entity.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,37 @@ type CallbackThis = any;
4
4
  export interface EventSourceInstance<TArgs = unknown, TResult = void> extends IInstance {
5
5
  name: string;
6
6
  entity: EntityInstance;
7
+ /**
8
+ * Runs inside the dispatch transaction attempt. It may be replayed when the
9
+ * transaction is promoted or retried, so it must be deterministic and must
10
+ * not perform irreversible external IO.
11
+ */
7
12
  guard?: (this: CallbackThis, args: TArgs) => Promise<void>;
13
+ /**
14
+ * Runs inside the dispatch transaction attempt and may be replayed on retry.
15
+ */
8
16
  mapEventData?: (args: TArgs) => Record<string, unknown>;
17
+ /**
18
+ * Runs inside the dispatch transaction attempt and may be replayed on retry.
19
+ * External side effects should be modeled with record mutation side effects,
20
+ * which run after the final successful commit.
21
+ */
9
22
  resolve?: (this: CallbackThis, args: TArgs) => Promise<TResult>;
23
+ /**
24
+ * Runs before commit inside the retryable transaction attempt. It may produce
25
+ * response context, but it must not perform irreversible external IO.
26
+ */
10
27
  afterDispatch?: (this: CallbackThis, args: TArgs, result: {
11
28
  data?: TResult;
12
29
  }) => Promise<Record<string, unknown> | void>;
30
+ /**
31
+ * Runs after the dispatch transaction has committed successfully. Failures do
32
+ * not roll back committed storage changes and are reported in sideEffects.
33
+ */
34
+ postCommit?: (this: CallbackThis, args: TArgs, result: {
35
+ data?: TResult;
36
+ context?: Record<string, unknown>;
37
+ }) => Promise<Record<string, unknown> | void>;
13
38
  }
14
39
  export interface EventSourceCreateArgs<TArgs = unknown, TResult = void> {
15
40
  name: string;
@@ -20,6 +45,10 @@ export interface EventSourceCreateArgs<TArgs = unknown, TResult = void> {
20
45
  afterDispatch?: (this: CallbackThis, args: TArgs, result: {
21
46
  data?: TResult;
22
47
  }) => Promise<Record<string, unknown> | void>;
48
+ postCommit?: (this: CallbackThis, args: TArgs, result: {
49
+ data?: TResult;
50
+ context?: Record<string, unknown>;
51
+ }) => Promise<Record<string, unknown> | void>;
23
52
  }
24
53
  export declare class EventSource<TArgs = unknown, TResult = void> implements EventSourceInstance<TArgs, TResult> {
25
54
  uuid: string;
@@ -35,6 +64,10 @@ export declare class EventSource<TArgs = unknown, TResult = void> implements Eve
35
64
  afterDispatch?: (this: CallbackThis, args: TArgs, result: {
36
65
  data?: TResult;
37
66
  }) => Promise<Record<string, unknown> | void>;
67
+ postCommit?: (this: CallbackThis, args: TArgs, result: {
68
+ data?: TResult;
69
+ context?: Record<string, unknown>;
70
+ }) => Promise<Record<string, unknown> | void>;
38
71
  constructor(args: EventSourceCreateArgs<TArgs, TResult>, options?: {
39
72
  uuid?: string;
40
73
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EventSource.d.ts","sourceRoot":"","sources":["../../src/core/EventSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventSource.d.ts","sourceRoot":"","sources":["../../src/core/EventSource.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { IInstance } from './interfaces.js';
2
2
  import { PropertyInstance } from './Property.js';
3
3
  import { EntityInstance } from './Entity.js';
4
4
  import { ComputationInstance } from './types.js';
5
+ import { ConstraintInstance } from './Constraint.js';
5
6
  export interface RelationInstance extends IInstance {
6
7
  name?: string;
7
8
  source: EntityInstance | RelationInstance;
@@ -16,6 +17,7 @@ export interface RelationInstance extends IInstance {
16
17
  matchExpression?: object;
17
18
  inputRelations?: RelationInstance[];
18
19
  commonProperties?: PropertyInstance[];
20
+ constraints?: ConstraintInstance[];
19
21
  }
20
22
  export interface RelationCreateArgs {
21
23
  name?: string;
@@ -31,6 +33,7 @@ export interface RelationCreateArgs {
31
33
  matchExpression?: object;
32
34
  inputRelations?: RelationInstance[];
33
35
  commonProperties?: PropertyInstance[];
36
+ constraints?: ConstraintInstance[];
34
37
  }
35
38
  export declare class Relation implements RelationInstance {
36
39
  uuid: string;
@@ -51,6 +54,7 @@ export declare class Relation implements RelationInstance {
51
54
  matchExpression?: object;
52
55
  inputRelations?: RelationInstance[];
53
56
  commonProperties?: PropertyInstance[];
57
+ constraints?: ConstraintInstance[];
54
58
  get name(): string | undefined;
55
59
  set name(value: string | undefined);
56
60
  constructor(args: RelationCreateArgs, options?: {
@@ -130,6 +134,12 @@ export declare class Relation implements RelationInstance {
130
134
  sameSourceTarget: (thisInstance: RelationInstance) => boolean;
131
135
  };
132
136
  };
137
+ constraints: {
138
+ type: "UniqueConstraint";
139
+ collection: true;
140
+ required: false;
141
+ defaultValue: () => never[];
142
+ };
133
143
  };
134
144
  static create(args: RelationCreateArgs, options?: {
135
145
  uuid?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../src/core/Relation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../src/core/Relation.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export * from './interfaces.js';
3
3
  import './init.js';
4
4
  export { KlassByName } from './utils.js';
5
5
  export * from './Property.js';
6
+ export * from './Constraint.js';
6
7
  export * from './Entity.js';
7
8
  export * from './Relation.js';
8
9
  export * from './RefContainer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAGhC,OAAO,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,kBAAkB,CAAC;AAGjC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAGhC,OAAO,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,kBAAkB,CAAC;AAGjC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAC;AA8CxD,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAC;AAgDxD,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Database, DatabaseLogger, EntityIdRef } from '..';
2
2
  import { default as mysql, Connection, ConnectionOptions } from 'mysql2/promise';
3
+ import { defaultEncodeLiteral } from '../storage';
3
4
  declare class IDSystem {
4
5
  db: Database;
5
6
  constructor(db: Database);
@@ -15,6 +16,16 @@ export declare class MysqlDB implements Database {
15
16
  idSystem: IDSystem;
16
17
  logger: DatabaseLogger;
17
18
  db: Connection;
19
+ schemaDialect: {
20
+ name: "mysql";
21
+ maxIdentifierLength: number;
22
+ supportsCreateIndexIfNotExists: boolean;
23
+ encodeLiteral: typeof defaultEncodeLiteral;
24
+ constraints: {
25
+ unique: boolean;
26
+ filteredUnique: boolean;
27
+ };
28
+ };
18
29
  constructor(database: string, options?: MysqlDBConfig);
19
30
  open(forceDrop?: boolean): Promise<void>;
20
31
  query<T>(sql: string, where?: unknown[], name?: string): Promise<T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Mysql.d.ts","sourceRoot":"","sources":["../../src/drivers/Mysql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA+D,MAAM,UAAU,CAAC;AAC7H,OAAO,KAAK,EAAE,EAAC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAgB,MAAM,gBAAgB,CAAA;AAE5F,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAE7F,qBAAa,OAAQ,YAAW,QAAQ;IAIjB,QAAQ,EAAC,MAAM;IAAS,OAAO,EAAE,aAAa;IAHjE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAG,UAAU,CAAA;gBACI,QAAQ,EAAC,MAAM,EAAS,OAAO,GAAE,aAAkB;IAIhE,IAAI,CAAC,SAAS,UAAQ;IA0BtB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAehE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAmB5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAUjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAKd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"Mysql.d.ts","sourceRoot":"","sources":["../../src/drivers/Mysql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA+D,MAAM,UAAU,CAAC;AAC7H,OAAO,KAAK,EAAE,EAAC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAgB,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAE7F,qBAAa,OAAQ,YAAW,QAAQ;IAWjB,QAAQ,EAAC,MAAM;IAAS,OAAO,EAAE,aAAa;IAVjE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAG,UAAU,CAAA;IACf,aAAa;;;;;;;;;MAMZ;gBACkB,QAAQ,EAAC,MAAM,EAAS,OAAO,GAAE,aAAkB;IAIhE,IAAI,CAAC,SAAS,UAAQ;IA0BtB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAehE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAmB5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAUjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAKd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
@@ -1,5 +1,6 @@
1
1
  import { Database, DatabaseLogger, EntityIdRef } from '..';
2
2
  import { PGlite, Results } from '@electric-sql/pglite';
3
+ import { defaultEncodeLiteral } from '../storage';
3
4
  declare class IDSystem {
4
5
  db: Database;
5
6
  constructor(db: Database);
@@ -15,8 +16,20 @@ export declare class PGLiteDB implements Database {
15
16
  idSystem: IDSystem;
16
17
  logger: DatabaseLogger;
17
18
  db: InstanceType<typeof PGlite>;
19
+ supportsSelectForUpdate: boolean;
20
+ schemaDialect: {
21
+ name: "postgres";
22
+ maxIdentifierLength: number;
23
+ supportsCreateIndexIfNotExists: boolean;
24
+ encodeLiteral: typeof defaultEncodeLiteral;
25
+ constraints: {
26
+ unique: boolean;
27
+ filteredUnique: boolean;
28
+ };
29
+ };
18
30
  constructor(database?: string | undefined, options?: PGLiteDBConfig);
19
31
  open(forceDrop?: boolean): Promise<void>;
32
+ setupInternalComputationState(): Promise<void>;
20
33
  query<T>(sql: string, params?: unknown[], name?: string): Promise<T[]>;
21
34
  update<T>(sql: string, values: unknown[], idField?: string, name?: string): Promise<T[]>;
22
35
  insert(sql: string, values: unknown[], name?: string): Promise<EntityIdRef>;
@@ -1 +1 @@
1
- {"version":3,"file":"PGLite.d.ts","sourceRoot":"","sources":["../../src/drivers/PGLite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA4E,MAAM,UAAU,CAAC;AAC1I,OAAO,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAA;AAG5C,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAGrC;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAExD,qBAAa,QAAS,YAAW,QAAQ;IAIlB,QAAQ,CAAC,EAAC,MAAM;IAAS,OAAO,EAAE,cAAc;IAHnE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;gBACZ,QAAQ,CAAC,EAAC,MAAM,YAAA,EAAS,OAAO,GAAE,cAAmB;IAKlE,IAAI,CAAC,SAAS,UAAQ;IAqBtB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,MAAM,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAuBpD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAgBhE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IA2B5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYjD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAoBjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAOd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"PGLite.d.ts","sourceRoot":"","sources":["../../src/drivers/PGLite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA4E,MAAM,UAAU,CAAC;AAC1I,OAAO,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAGrC;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAExD,qBAAa,QAAS,YAAW,QAAQ;IAYlB,QAAQ,CAAC,EAAC,MAAM;IAAS,OAAO,EAAE,cAAc;IAXnE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAC/B,uBAAuB,UAAO;IAC9B,aAAa;;;;;;;;;MAMZ;gBACkB,QAAQ,CAAC,EAAC,MAAM,YAAA,EAAS,OAAO,GAAE,cAAmB;IAKlE,IAAI,CAAC,SAAS,UAAQ;IAqBtB,6BAA6B;IAU7B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,MAAM,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAuBpD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAgBhE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IA2B5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYjD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAoBjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAOd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
@@ -1,10 +1,22 @@
1
- import { Database, DatabaseLogger, EntityIdRef } from '..';
1
+ import { Database, DatabaseLogger, EntityIdRef, TransactionOptions } from '..';
2
2
  import { default as pg, ClientConfig } from 'pg';
3
- declare const Client: typeof pg.Client;
3
+ import { defaultEncodeLiteral } from '../storage';
4
+ declare const Client: typeof pg.Client, Pool: typeof pg.Pool;
4
5
  declare class IDSystem {
5
- db: Database;
6
- constructor(db: Database);
7
- setup(): Promise<unknown>;
6
+ db: PostgreSQLDB;
7
+ private initialized;
8
+ private recordToSequenceName;
9
+ constructor(db: PostgreSQLDB);
10
+ setup(): Promise<pg.QueryResult<any>>;
11
+ private sanitizeIdentifierPart;
12
+ sequenceName(recordName: string): string;
13
+ private sequenceNameForKey;
14
+ private quoteIdentifier;
15
+ setupSequences(records: Array<{
16
+ recordName: string;
17
+ tableName: string;
18
+ idField: string;
19
+ }>): Promise<void>;
8
20
  getAutoId(recordName: string): Promise<string>;
9
21
  }
10
22
  export type PostgreSQLDBConfig = Omit<ClientConfig, 'database'> & {
@@ -16,8 +28,24 @@ export declare class PostgreSQLDB implements Database {
16
28
  idSystem: IDSystem;
17
29
  logger: DatabaseLogger;
18
30
  db: InstanceType<typeof Client>;
31
+ pool?: InstanceType<typeof Pool>;
32
+ private transactionContext;
33
+ supportsSelectForUpdate: boolean;
34
+ schemaDialect: {
35
+ name: "postgres";
36
+ maxIdentifierLength: number;
37
+ supportsCreateIndexIfNotExists: boolean;
38
+ encodeLiteral: typeof defaultEncodeLiteral;
39
+ constraints: {
40
+ unique: boolean;
41
+ filteredUnique: boolean;
42
+ };
43
+ };
19
44
  constructor(database: string, options?: PostgreSQLDBConfig);
20
45
  open(forceDrop?: boolean): Promise<void>;
46
+ private getQueryable;
47
+ runInTransaction<T>(options: TransactionOptions, fn: () => Promise<T>): Promise<T>;
48
+ setupInternalComputationState(): Promise<void>;
21
49
  query<T>(sql: string, where?: unknown[], name?: string): Promise<T[]>;
22
50
  update<T>(sql: string, values: unknown[], idField?: string, name?: string): Promise<T[]>;
23
51
  insert(sql: string, values: unknown[], name?: string): Promise<EntityIdRef>;
@@ -25,6 +53,11 @@ export declare class PostgreSQLDB implements Database {
25
53
  scheme(sql: string, name?: string): Promise<pg.QueryResult<any>>;
26
54
  close(): Promise<void>;
27
55
  getAutoId(recordName: string): Promise<string>;
56
+ setupRecordSequences(records: Array<{
57
+ recordName: string;
58
+ tableName: string;
59
+ idField: string;
60
+ }>): Promise<void>;
28
61
  parseMatchExpression(key: string, value: [string, string], fieldName: string, fieldType: string, isReferenceValue: boolean, getReferenceFieldValue: (v: string) => string, p: () => string): {
29
62
  fieldValue: string;
30
63
  fieldParams: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSQL.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA4E,MAAM,UAAU,CAAC;AAC1I,OAAO,EAAE,EAAE,EAAE,KAAK,YAAY,EAAC,MAAM,IAAI,CAAA;AAEzC,QAAA,MAAQ,MAAM,kBAAM,CAAA;AAEpB,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAE7F,qBAAa,YAAa,YAAW,QAAQ;IAItB,QAAQ,EAAC,MAAM;IAAS,OAAO,EAAE,kBAAkB;IAHtE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;gBACZ,QAAQ,EAAC,MAAM,EAAS,OAAO,GAAE,kBAAuB;IAOrE,IAAI,CAAC,SAAS,UAAQ;IAsBtB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAehE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAgB5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAUjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAOd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"PostgreSQL.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQL.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { default as SQLite } from 'better-sqlite3';
2
2
  import { Database, DatabaseLogger, EntityIdRef } from '..';
3
+ import { sqliteEncodeLiteral } from '../storage';
3
4
  declare class IDSystem {
4
5
  db: Database;
5
6
  constructor(db: Database);
@@ -15,8 +16,20 @@ export declare class SQLiteDB implements Database {
15
16
  db: InstanceType<typeof SQLite>;
16
17
  idSystem: IDSystem;
17
18
  logger: DatabaseLogger;
19
+ supportsSelectForUpdate: boolean;
20
+ schemaDialect: {
21
+ name: "sqlite";
22
+ maxIdentifierLength: number;
23
+ supportsCreateIndexIfNotExists: boolean;
24
+ encodeLiteral: typeof sqliteEncodeLiteral;
25
+ constraints: {
26
+ unique: boolean;
27
+ filteredUnique: boolean;
28
+ };
29
+ };
18
30
  constructor(file?: string, options?: SQLiteDBOptions | undefined);
19
31
  open(): Promise<void>;
32
+ setupInternalComputationState(): Promise<void>;
20
33
  query<T>(sql: string, where?: unknown[], name?: string): Promise<T[]>;
21
34
  update(sql: string, values: unknown[], idField?: string, name?: string): Promise<EntityIdRef[]>;
22
35
  insert(sql: string, values: unknown[], name?: string): Promise<EntityIdRef>;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLite.d.ts","sourceRoot":"","sources":["../../src/drivers/SQLite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA4E,MAAM,UAAU,CAAC;AAE1I,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAA;AAEvF,qBAAa,QAAS,YAAW,QAAQ;IAIlB,IAAI,EAAC,MAAM;IAAsB,OAAO,CAAC,EAAE,eAAe;IAH7E,EAAE,EAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;gBACH,IAAI,GAAC,MAAmB,EAAS,OAAO,CAAC,EAAE,eAAe,YAAA;IAIvE,IAAI;IAIJ,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAe7D,MAAM,CAAE,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAc7C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAU3B,KAAK;IAGL,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAczL,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"SQLite.d.ts","sourceRoot":"","sources":["../../src/drivers/SQLite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA4E,MAAM,UAAU,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAA;AAEvF,qBAAa,QAAS,YAAW,QAAQ;IAYlB,IAAI,EAAC,MAAM;IAAsB,OAAO,CAAC,EAAE,eAAe;IAX7E,EAAE,EAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,uBAAuB,UAAQ;IAC/B,aAAa;;;;;;;;;MAMZ;gBACkB,IAAI,GAAC,MAAmB,EAAS,OAAO,CAAC,EAAE,eAAe,YAAA;IAIvE,IAAI;IAIJ,6BAA6B;IAU7B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAe7D,MAAM,CAAE,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAc7C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAU3B,KAAK;IAGL,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAczL,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}