@sqlbraid/core 1.0.0-rc.1 → 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/README.md CHANGED
@@ -11,4 +11,10 @@ Use this low-level package when authoring an adapter or integration. It defines
11
11
  contracts only and does not connect to a database or execute queries; use
12
12
  `@sqlbraid/runtime` for application execution.
13
13
 
14
+ Driver authors can import `@sqlbraid/core/driver` for explicit cleanup scopes,
15
+ safe result-property definition, and savepoint-name validation. Cleanup scopes
16
+ run registered actions in LIFO order exactly once, preserve the primary failure,
17
+ aggregate cleanup failures under `BRAID_RESOURCE_CLEANUP`, and support disarm
18
+ after ownership transfer without forcing synchronous actions through Promises.
19
+
14
20
  See the [SQLBraid documentation](https://clickin.github.io/SQLBraid/).
@@ -0,0 +1,16 @@
1
+ //#region src/driver.d.ts
2
+ export type CleanupAction = () => void | PromiseLike<void>;
3
+ export interface CleanupScope {
4
+ add(action: CleanupAction): void;
5
+ disarm(): void;
6
+ /**
7
+ * Runs cleanup once. Calls made again while asynchronous cleanup is pending
8
+ * return the same Promise; cleanup actions must not await this scope's run.
9
+ */
10
+ run(primary?: unknown): void | Promise<void>;
11
+ }
12
+ export declare function createCleanupScope(): CleanupScope;
13
+ export declare function defineResultProperty(row: Record<string, unknown>, key: string, value: unknown): void;
14
+ export declare function assertSavepointName(name: string): string;
15
+ //#endregion
16
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","names":[],"sources":["../src/driver.ts"],"mappings":";YAAY,6BAA6B;iBAExB;EACf,IAAI,QAAQ;EACZ;;;;;EAKA,IAAI,2BAA2B;;wBA8DjB,sBAAsB;wBA8CtB,qBAAqB,KAAK,yBAAyB,aAAa;wBAShE,oBAAoB"}
package/dist/driver.js ADDED
@@ -0,0 +1,93 @@
1
+ //#region src/driver.ts
2
+ const NO_PRIMARY = Symbol("sqlbraid.no-primary");
3
+ const RESOURCE_CLEANUP_CODE = "BRAID_RESOURCE_CLEANUP";
4
+ const SAVEPOINT_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/u;
5
+ function resourceCleanupError(primary, failures) {
6
+ const hasPrimary = primary !== NO_PRIMARY;
7
+ const values = hasPrimary ? [primary, ...failures] : failures;
8
+ const error = values.length === 1 && !hasPrimary ? new Error("BRAID_RESOURCE_CLEANUP: resource cleanup failed.", { cause: failures[0] }) : new AggregateError(values, "BRAID_RESOURCE_CLEANUP: resource cleanup failed.", { cause: hasPrimary ? primary : failures[0] });
9
+ Object.defineProperty(error, "code", {
10
+ configurable: false,
11
+ enumerable: true,
12
+ value: RESOURCE_CLEANUP_CODE,
13
+ writable: false
14
+ });
15
+ return error;
16
+ }
17
+ function finish(primary, failures) {
18
+ if (failures.length === 0) {
19
+ if (primary !== NO_PRIMARY) throw primary;
20
+ return;
21
+ }
22
+ throw resourceCleanupError(primary, failures);
23
+ }
24
+ function isThenable(value) {
25
+ return typeof value === "object" && value !== null || typeof value === "function" ? typeof value.then === "function" : false;
26
+ }
27
+ async function finishAsync(current, pending, nextIndex, primary, failures) {
28
+ try {
29
+ await current;
30
+ } catch (error) {
31
+ failures.push(error);
32
+ }
33
+ for (let index = nextIndex; index < pending.length; index += 1) try {
34
+ await pending[index]();
35
+ } catch (error) {
36
+ failures.push(error);
37
+ }
38
+ finish(primary, failures);
39
+ }
40
+ function createCleanupScope() {
41
+ let actions = [];
42
+ let state = "open";
43
+ let inFlight;
44
+ return {
45
+ add(action) {
46
+ if (state !== "open") throw new Error("Cannot register cleanup after scope closure.");
47
+ if (typeof action !== "function") throw new TypeError("Cleanup action must be a function.");
48
+ actions.push(action);
49
+ },
50
+ disarm() {
51
+ if (state !== "open") return;
52
+ state = "disarmed";
53
+ actions = [];
54
+ },
55
+ run(primary) {
56
+ if (inFlight !== void 0) return inFlight;
57
+ if (state !== "open") return;
58
+ state = "running";
59
+ const pending = actions.reverse();
60
+ actions = [];
61
+ const failures = [];
62
+ const primaryValue = arguments.length === 0 ? NO_PRIMARY : primary;
63
+ for (let index = 0; index < pending.length; index += 1) try {
64
+ const result = pending[index]();
65
+ if (isThenable(result)) {
66
+ state = "closed";
67
+ inFlight = finishAsync(result, pending, index + 1, primaryValue, failures);
68
+ return inFlight;
69
+ }
70
+ } catch (error) {
71
+ failures.push(error);
72
+ }
73
+ state = "closed";
74
+ finish(primaryValue, failures);
75
+ }
76
+ };
77
+ }
78
+ function defineResultProperty(row, key, value) {
79
+ Object.defineProperty(row, key, {
80
+ configurable: true,
81
+ enumerable: true,
82
+ value,
83
+ writable: true
84
+ });
85
+ }
86
+ function assertSavepointName(name) {
87
+ if (typeof name !== "string" || !SAVEPOINT_NAME.test(name)) throw new TypeError("Invalid SQLBraid savepoint name.");
88
+ return name;
89
+ }
90
+
91
+ //#endregion
92
+ export { assertSavepointName, createCleanupScope, defineResultProperty };
93
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../src/driver.ts"],"sourcesContent":["export type CleanupAction = () => void | PromiseLike<void>;\n\nexport interface CleanupScope {\n add(action: CleanupAction): void;\n disarm(): void;\n /**\n * Runs cleanup once. Calls made again while asynchronous cleanup is pending\n * return the same Promise; cleanup actions must not await this scope's run.\n */\n run(primary?: unknown): void | Promise<void>;\n}\n\nconst NO_PRIMARY = Symbol(\"sqlbraid.no-primary\");\nconst RESOURCE_CLEANUP_CODE = \"BRAID_RESOURCE_CLEANUP\" as const;\nconst SAVEPOINT_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/u;\n\nfunction resourceCleanupError(primary: unknown | typeof NO_PRIMARY, failures: readonly unknown[]): Error {\n const hasPrimary = primary !== NO_PRIMARY;\n const values = hasPrimary ? [primary, ...failures] : failures;\n const error =\n values.length === 1 && !hasPrimary\n ? new Error(\"BRAID_RESOURCE_CLEANUP: resource cleanup failed.\", { cause: failures[0] })\n : new AggregateError(values, \"BRAID_RESOURCE_CLEANUP: resource cleanup failed.\", {\n cause: hasPrimary ? primary : failures[0],\n });\n Object.defineProperty(error, \"code\", {\n configurable: false,\n enumerable: true,\n value: RESOURCE_CLEANUP_CODE,\n writable: false,\n });\n return error;\n}\n\nfunction finish(primary: unknown | typeof NO_PRIMARY, failures: readonly unknown[]): void {\n if (failures.length === 0) {\n if (primary !== NO_PRIMARY) throw primary;\n return;\n }\n throw resourceCleanupError(primary, failures);\n}\n\nfunction isThenable(value: unknown): value is PromiseLike<void> {\n return (typeof value === \"object\" && value !== null) || typeof value === \"function\"\n ? typeof (value as { readonly then?: unknown }).then === \"function\"\n : false;\n}\n\nasync function finishAsync(\n current: PromiseLike<void>,\n pending: readonly CleanupAction[],\n nextIndex: number,\n primary: unknown | typeof NO_PRIMARY,\n failures: unknown[],\n): Promise<void> {\n try {\n await current;\n } catch (error) {\n failures.push(error);\n }\n for (let index = nextIndex; index < pending.length; index += 1) {\n try {\n // oxlint-disable-next-line no-await-in-loop -- Cleanup must complete sequentially in LIFO order.\n await pending[index]!();\n } catch (error) {\n failures.push(error);\n }\n }\n finish(primary, failures);\n}\n\nexport function createCleanupScope(): CleanupScope {\n let actions: CleanupAction[] = [];\n let state: \"open\" | \"running\" | \"closed\" | \"disarmed\" = \"open\";\n let inFlight: Promise<void> | undefined;\n\n return {\n add(action: CleanupAction): void {\n if (state !== \"open\") throw new Error(\"Cannot register cleanup after scope closure.\");\n if (typeof action !== \"function\") throw new TypeError(\"Cleanup action must be a function.\");\n actions.push(action);\n },\n\n disarm(): void {\n if (state !== \"open\") return;\n state = \"disarmed\";\n actions = [];\n },\n\n run(primary?: unknown): void | Promise<void> {\n if (inFlight !== undefined) return inFlight;\n if (state !== \"open\") return;\n state = \"running\";\n // oxlint-disable-next-line unicorn/no-array-reverse -- Consume this owned action array in LIFO order without copying.\n const pending = actions.reverse();\n actions = [];\n const failures: unknown[] = [];\n const primaryValue = arguments.length === 0 ? NO_PRIMARY : primary;\n\n for (let index = 0; index < pending.length; index += 1) {\n try {\n const result = pending[index]!();\n if (isThenable(result)) {\n state = \"closed\";\n inFlight = finishAsync(result, pending, index + 1, primaryValue, failures);\n return inFlight;\n }\n } catch (error) {\n failures.push(error);\n }\n }\n state = \"closed\";\n finish(primaryValue, failures);\n },\n };\n}\n\nexport function defineResultProperty(row: Record<string, unknown>, key: string, value: unknown): void {\n Object.defineProperty(row, key, {\n configurable: true,\n enumerable: true,\n value,\n writable: true,\n });\n}\n\nexport function assertSavepointName(name: string): string {\n if (typeof name !== \"string\" || !SAVEPOINT_NAME.test(name)) {\n throw new TypeError(\"Invalid SQLBraid savepoint name.\");\n }\n return name;\n}\n"],"mappings":";AAYA,MAAM,aAAa,OAAO,qBAAqB;AAC/C,MAAM,wBAAwB;AAC9B,MAAM,iBAAiB;AAEvB,SAAS,qBAAqB,SAAsC,UAAqC;CACvG,MAAM,aAAa,YAAY;CAC/B,MAAM,SAAS,aAAa,CAAC,SAAS,GAAG,QAAQ,IAAI;CACrD,MAAM,QACJ,OAAO,WAAW,KAAK,CAAC,aACpB,IAAI,MAAM,oDAAoD,EAAE,OAAO,SAAS,GAAG,CAAC,IACpF,IAAI,eAAe,QAAQ,oDAAoD,EAC7E,OAAO,aAAa,UAAU,SAAS,GACzC,CAAC;CACP,OAAO,eAAe,OAAO,QAAQ;EACnC,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;CACZ,CAAC;CACD,OAAO;AACT;AAEA,SAAS,OAAO,SAAsC,UAAoC;CACxF,IAAI,SAAS,WAAW,GAAG;EACzB,IAAI,YAAY,YAAY,MAAM;EAClC;CACF;CACA,MAAM,qBAAqB,SAAS,QAAQ;AAC9C;AAEA,SAAS,WAAW,OAA4C;CAC9D,OAAQ,OAAO,UAAU,YAAY,UAAU,QAAS,OAAO,UAAU,aACrE,OAAQ,MAAsC,SAAS,aACvD;AACN;AAEA,eAAe,YACb,SACA,SACA,WACA,SACA,UACe;CACf,IAAI;EACF,MAAM;CACR,SAAS,OAAO;EACd,SAAS,KAAK,KAAK;CACrB;CACA,KAAK,IAAI,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,SAAS,GAC3D,IAAI;EAEF,MAAM,QAAQ,MAAM,CAAE;CACxB,SAAS,OAAO;EACd,SAAS,KAAK,KAAK;CACrB;CAEF,OAAO,SAAS,QAAQ;AAC1B;AAEA,SAAgB,qBAAmC;CACjD,IAAI,UAA2B,CAAC;CAChC,IAAI,QAAoD;CACxD,IAAI;CAEJ,OAAO;EACL,IAAI,QAA6B;GAC/B,IAAI,UAAU,QAAQ,MAAM,IAAI,MAAM,8CAA8C;GACpF,IAAI,OAAO,WAAW,YAAY,MAAM,IAAI,UAAU,oCAAoC;GAC1F,QAAQ,KAAK,MAAM;EACrB;EAEA,SAAe;GACb,IAAI,UAAU,QAAQ;GACtB,QAAQ;GACR,UAAU,CAAC;EACb;EAEA,IAAI,SAAyC;GAC3C,IAAI,aAAa,QAAW,OAAO;GACnC,IAAI,UAAU,QAAQ;GACtB,QAAQ;GAER,MAAM,UAAU,QAAQ,QAAQ;GAChC,UAAU,CAAC;GACX,MAAM,WAAsB,CAAC;GAC7B,MAAM,eAAe,UAAU,WAAW,IAAI,aAAa;GAE3D,KAAK,IAAI,QAAQ,GAAG,QAAQ,QAAQ,QAAQ,SAAS,GACnD,IAAI;IACF,MAAM,SAAS,QAAQ,MAAM,CAAE;IAC/B,IAAI,WAAW,MAAM,GAAG;KACtB,QAAQ;KACR,WAAW,YAAY,QAAQ,SAAS,QAAQ,GAAG,cAAc,QAAQ;KACzE,OAAO;IACT;GACF,SAAS,OAAO;IACd,SAAS,KAAK,KAAK;GACrB;GAEF,QAAQ;GACR,OAAO,cAAc,QAAQ;EAC/B;CACF;AACF;AAEA,SAAgB,qBAAqB,KAA8B,KAAa,OAAsB;CACpG,OAAO,eAAe,KAAK,KAAK;EAC9B,cAAc;EACd,YAAY;EACZ;EACA,UAAU;CACZ,CAAC;AACH;AAEA,SAAgB,oBAAoB,MAAsB;CACxD,IAAI,OAAO,SAAS,YAAY,CAAC,eAAe,KAAK,IAAI,GACvD,MAAM,IAAI,UAAU,kCAAkC;CAExD,OAAO;AACT"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,191 @@ type AuthoringModuleCatalogEntry = {
8
8
  };
9
9
  export declare const AUTHORING_MODULE_CATALOG: readonly AuthoringModuleCatalogEntry[];
10
10
  //#endregion
11
+ //#region src/capabilities.d.ts
12
+ /**
13
+ * The machine-readable capability vocabulary shared by adapters, support data,
14
+ * and documentation. A capability's family describes what its status proves;
15
+ * representation and metadata evidence are not execution support aliases.
16
+ */
17
+ type CapabilityFamily = "support" | "representation" | "metadata";
18
+ interface WellKnownCapability {
19
+ readonly id: string;
20
+ readonly family: CapabilityFamily;
21
+ }
22
+ declare const definitions: readonly [{
23
+ readonly id: "sql.native-transparency";
24
+ readonly family: "support";
25
+ }, {
26
+ readonly id: "sql.generated-structure";
27
+ readonly family: "support";
28
+ }, {
29
+ readonly id: "result.rows";
30
+ readonly family: "support";
31
+ }, {
32
+ readonly id: "result.command";
33
+ readonly family: "support";
34
+ }, {
35
+ readonly id: "result.multiple-sets";
36
+ readonly family: "support";
37
+ }, {
38
+ readonly id: "result.standard-schema";
39
+ readonly family: "support";
40
+ }, {
41
+ readonly id: "numeric.exact-integer";
42
+ readonly family: "representation";
43
+ }, {
44
+ readonly id: "numeric.exact-decimal";
45
+ readonly family: "representation";
46
+ }, {
47
+ readonly id: "numeric.approximate-float";
48
+ readonly family: "representation";
49
+ }, {
50
+ readonly id: "numeric.approximate-special";
51
+ readonly family: "representation";
52
+ }, {
53
+ readonly id: "numeric.bind-exact";
54
+ readonly family: "representation";
55
+ }, {
56
+ readonly id: "numeric.aggregate";
57
+ readonly family: "representation";
58
+ }, {
59
+ readonly id: "numeric.command-metadata";
60
+ readonly family: "representation";
61
+ }, {
62
+ readonly id: "numeric.special-values";
63
+ readonly family: "representation";
64
+ }, {
65
+ readonly id: "numeric.scale-greater-than-precision";
66
+ readonly family: "representation";
67
+ }, {
68
+ readonly id: "numeric.negative-scale";
69
+ readonly family: "representation";
70
+ }, {
71
+ readonly id: "data.json-parsed";
72
+ readonly family: "representation";
73
+ }, {
74
+ readonly id: "data.json-lossless-text";
75
+ readonly family: "representation";
76
+ }, {
77
+ readonly id: "data.sql-variant";
78
+ readonly family: "representation";
79
+ }, {
80
+ readonly id: "data.oracle-object";
81
+ readonly family: "representation";
82
+ }, {
83
+ readonly id: "data.oracle-collection";
84
+ readonly family: "representation";
85
+ }, {
86
+ readonly id: "data.vector";
87
+ readonly family: "representation";
88
+ }, {
89
+ readonly id: "data.binary";
90
+ readonly family: "representation";
91
+ }, {
92
+ readonly id: "data.uuid";
93
+ readonly family: "representation";
94
+ }, {
95
+ readonly id: "data.temporal-native";
96
+ readonly family: "representation";
97
+ }, {
98
+ readonly id: "data.temporal-lossless";
99
+ readonly family: "representation";
100
+ }, {
101
+ readonly id: "data.timezone";
102
+ readonly family: "representation";
103
+ }, {
104
+ readonly id: "metadata.command-safe";
105
+ readonly family: "metadata";
106
+ }, {
107
+ readonly id: "dml.insert-returning";
108
+ readonly family: "support";
109
+ }, {
110
+ readonly id: "dml.update-returning";
111
+ readonly family: "support";
112
+ }, {
113
+ readonly id: "dml.delete-returning";
114
+ readonly family: "support";
115
+ }, {
116
+ readonly id: "dml.merge-returning";
117
+ readonly family: "support";
118
+ }, {
119
+ readonly id: "dml.upsert-returning";
120
+ readonly family: "support";
121
+ }, {
122
+ readonly id: "session.pinned";
123
+ readonly family: "support";
124
+ }, {
125
+ readonly id: "statement.prepare";
126
+ readonly family: "support";
127
+ }, {
128
+ readonly id: "statement.cancel";
129
+ readonly family: "support";
130
+ }, {
131
+ readonly id: "statement.stream";
132
+ readonly family: "support";
133
+ }, {
134
+ readonly id: "statement.bulk";
135
+ readonly family: "support";
136
+ }, {
137
+ readonly id: "execution.bulk-fidelity";
138
+ readonly family: "support";
139
+ }, {
140
+ readonly id: "transaction";
141
+ readonly family: "support";
142
+ }, {
143
+ readonly id: "transaction.savepoint";
144
+ readonly family: "support";
145
+ }, {
146
+ readonly id: "transaction.read-only";
147
+ readonly family: "support";
148
+ }, {
149
+ readonly id: "transaction.isolation.read-uncommitted";
150
+ readonly family: "support";
151
+ }, {
152
+ readonly id: "transaction.isolation.read-committed";
153
+ readonly family: "support";
154
+ }, {
155
+ readonly id: "transaction.isolation.repeatable-read";
156
+ readonly family: "support";
157
+ }, {
158
+ readonly id: "transaction.isolation.serializable";
159
+ readonly family: "support";
160
+ }, {
161
+ readonly id: "routine.call";
162
+ readonly family: "support";
163
+ }, {
164
+ readonly id: "routine.out";
165
+ readonly family: "support";
166
+ }, {
167
+ readonly id: "routine.inout";
168
+ readonly family: "support";
169
+ }, {
170
+ readonly id: "routine.result-sets";
171
+ readonly family: "support";
172
+ }, {
173
+ readonly id: "routine.out-cursor";
174
+ readonly family: "support";
175
+ }, {
176
+ readonly id: "routine.return-value";
177
+ readonly family: "support";
178
+ }, {
179
+ readonly id: "metadata.identity";
180
+ readonly family: "metadata";
181
+ }, {
182
+ readonly id: "metadata.generated";
183
+ readonly family: "metadata";
184
+ }, {
185
+ readonly id: "metadata.routines";
186
+ readonly family: "metadata";
187
+ }, {
188
+ readonly id: "metadata.types";
189
+ readonly family: "metadata";
190
+ }];
191
+ export declare const WELL_KNOWN_CAPABILITIES: readonly WellKnownCapability[];
192
+ type WellKnownCapabilityId = (typeof definitions)[number]["id"];
193
+ export declare const WELL_KNOWN_CAPABILITY_IDS: readonly WellKnownCapabilityId[];
194
+ export declare function isWellKnownCapabilityId(value: string): value is WellKnownCapabilityId;
195
+ //#endregion
11
196
  //#region src/index.d.ts
12
197
  export declare const SQL_FRAGMENT: unique symbol;
13
198
  declare const boundParameterBrand: unique symbol;
@@ -45,6 +230,11 @@ export interface PublicErrorDefinition {
45
230
  readonly code: string;
46
231
  readonly category: PublicErrorCategory;
47
232
  readonly owner: string;
233
+ /**
234
+ * UnsupportedFeatureError only: features for which this code is a public
235
+ * contract. Other public errors intentionally omit this metadata.
236
+ */
237
+ readonly features?: readonly string[];
48
238
  }
49
239
  /**
50
240
  * The intentionally small compatibility boundary for SQLBraid-owned errors.
@@ -238,6 +428,10 @@ export declare function createStatementBindingDescription(statement: RenderedSta
238
428
  export declare function createBulkBindingDescription(bulk: RenderedBulk, context: StatementBindingContext, options: StatementBindingDescriptionOptions): BulkBindingDescription;
239
429
  export interface DialectLexicalProfile {
240
430
  readonly lineCommentPrefixes: readonly string[];
431
+ /** Require whitespace/control after -- (MySQL/MariaDB). Defaults to false. */
432
+ readonly doubleDashRequiresWhitespace?: boolean;
433
+ /** Characters that terminate a line comment. Defaults to CR and LF. */
434
+ readonly lineCommentTerminators?: string;
241
435
  readonly supportsNestedBlockComments?: boolean;
242
436
  readonly supportsDollarQuotes?: boolean;
243
437
  readonly supportsBacktickIdentifiers?: boolean;
@@ -391,6 +585,8 @@ export declare class UnsupportedFeatureError extends Error {
391
585
  readonly code: `BRAID_${string}`;
392
586
  constructor(feature: string, code: `BRAID_${string}`, message: string, options?: ErrorOptions);
393
587
  }
588
+ /** Return true only for a registered, semantically valid feature/code pair. */
589
+ export declare function isPublicUnsupportedFeatureError(error: unknown): error is UnsupportedFeatureError;
394
590
  /** An adapter-owned input/transport failure that retains TypeError semantics. */
395
591
  export declare class AdapterError extends TypeError {
396
592
  readonly code: `BRAID_${string}`;
@@ -465,6 +661,7 @@ export interface QueryExecutor {
465
661
  stream<Row>(rendered: RenderedStatement, binding?: StatementBindingDescription, options?: ExecutionOptions): AsyncIterable<Row>;
466
662
  call(rendered: RenderedStatement, binding?: StatementBindingDescription, options?: ExecutionOptions): Awaitable<DriverRoutineResult>;
467
663
  bulk?(bulk: RenderedBulk, binding: BulkBindingDescription, options?: ExecutionOptions): Awaitable<BulkExecutionResult>;
664
+ validateTransactionOptions?(options: TransactionOptions): void;
468
665
  begin?(options?: TransactionOptions): Awaitable<void>;
469
666
  commit?(): Awaitable<void>;
470
667
  rollback?(): Awaitable<void>;
@@ -480,6 +677,7 @@ export interface ConnectionLease extends QueryExecutor {
480
677
  export interface ConnectionProvider {
481
678
  readonly statementBinding: StatementBindingAdapter;
482
679
  readonly environment?: DriverEnvironment;
680
+ validateTransactionOptions?(options: TransactionOptions): void;
483
681
  acquire(): Promise<ConnectionLease>;
484
682
  }
485
683
  export interface QueryExecutionPlan {
@@ -784,5 +982,5 @@ export declare class SqlRenderError extends Error {
784
982
  constructor(code: string, message: string);
785
983
  }
786
984
  //#endregion
787
- export type { AuthoringModuleCatalogEntry, StandardSchemaV1 };
985
+ export type { AuthoringModuleCatalogEntry, CapabilityFamily, StandardSchemaV1, WellKnownCapability, WellKnownCapabilityId };
788
986
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/authoring-modules.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/authoring-modules.ts","../src/capabilities.ts","../src/index.ts"],"mappings":";;;KACY;WACD;WACA;WACA;;qBAGE,mCAAmC;;;;;;;;KCFpC;UAEK;WACN;WACA,QAAQ;;cAGb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA2DO,kCAAkC;KAInC,gCAAgC;qBAE/B,oCAAoC;wBAMjC,wBAAwB,gBAAgB,SAAS;;;qBC/EpD;cAIC;iBAIG;WACN;WACA;;iBAGM;WACN;WACA;WACA;WACA;;YAGC;YAWA;YAEA;YAEA;iBAEK;WACN,WAAW;WACX,gBAAgB;WAChB,UAAU;WACV;;iBAGM;WACN;WACA;;qBAGE,6BAA6B;kBACxB;WACP;EAEG,YAAA;;YAMF;iBAEK;WACN;WACA,UAAU;WACV;;;;;WAKA;;;;;;;;;qBAUE,mCAAmC;wBA4JhC,mBAAmB,gBAAgB,QAAQ;;;;;;wBAuC3C,sBAAsB;;;;;;wBAYtB,kBAAkB;wBAsBlB,mBAAmB,gBAAgB;WAAqB;;YAM5D;iBAEK;WACN;WACA;;YAGC,gBAAgB;iBAEX,gBACf,eAAe,SAAS,2BAA2B,SAAS,0BAC5D,sBAAsB,2BAA2B,iBACjD;WAES,SAAS,wBAAsB;WAC/B,aAAa;WACb,cAAc,wBAAsB;WACpC,YAAY;;;;;;;iBAQN;WACN;WACA;WACA,OAAO;WACP,YAAY;WACZ;;iBAGM;WACN;WACA,qBAAqB;;;;;;WAMrB,iBAAiB;WACjB;WACA,YAAY;WACZ,mBAAmB;WACnB;WACA;;iBAGM,kBAAkB;WACxB;WACA;WACA;WACA;WACA,UAAU;;iBAGJ,eAAe;WACrB,OAAO;WACP,MAAM,kBAAkB;YACvB;;iBAGK,iBAAiB;WACvB,OAAO;WACP,OAAO;WACP,WAAW,QAAQ;WACnB;;wBA4BK,wBAAwB,iBAAiB,MAAM,kBAAkB,SAAS,kBAAkB;wBAyB5F,qBAAqB,OACnC,OAAO,QAAQ,QACf,MAAM,kBAAkB,SACvB,eAAe;wBAOF,iBAAiB,iBAAiB,SAAS;wBAuB3C,0BAA0B,cAAc,OAAO,oBAAoB;wBAanE,4BAA4B,OAC1C,cACA,OAAO,QAAQ,QACf,OAAO,kBAAkB,SACxB,iBAAiB;wBAaJ,mBAAmB,iBAAiB,SAAS;YAoBjD;YAEA;YACA;YACA;iBAEK;WACN;WACA,gBAAgB;WAChB;WACA;;iBAGM;WACN;WACA;WACA;WACA,OAAO;WACP,YAAY;WACZ;;iBAGM;WACN;WACA;WACA;WACA,UAAU,WAAW,mBAAmB;;iBAGlC;WACN;;;;;;WAMA;WACA;WACA;;iBAGM;WACN;WACA;WACA,WAAW;WACX;WACA,mBAAmB;WACnB;aACE,WAAW;aACX,WAAW;aACX,OAAO;aACP;;;WAGF,iBAAiB,UAAU,sBAAsB;;iBAG3C;WACN;EACT,SAAS,WAAW,mBAAmB,SAAS,0BAA0B;EAC1E,cAAc,MAAM,cAAc,SAAS,0BAA0B;;iBAGtD;WACN;WACA,WAAW;WACX,eAAe;WACf;aACE,WAAW;aACX,OAAO;aACP;;WAEF,iBACP,WAAW,mBACX,eACA,SAAS;;iBAII;WACN,WAAW;WACX;;iBAGM;WACN;WACA;WACA,WAAW;WACX;WACA,mBAAmB;WACnB;EACT,SAAS;EACT,eAAe,eAAe,UAAU,oBAAoB;;;;;;wBAO9C,mBAAmB,MAAM,eAAe;wBA4HxC,wBAAwB;WAC7B;WACA,qBAAqB;WACrB,iBAAiB;WACjB,YAAY;WACZ,mBAAmB;WACnB;WACA;WACA;IACP;wBA0DY,iBAAiB,WAAW,mBAAmB,cAAc;wBA+F7D,kCACd,WAAW,mBACX,SAAS,yBACT,SAAS,qCACR;;;;;;wBAkHa,6BACd,MAAM,cACN,SAAS,yBACT,SAAS,qCACR;iBAoDc;WACN;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;iBAGM;WACN;EACT,gBAAgB;WACP,iBAAiB;;iBAGX;WACN;WACA;WACA;WACA;WACA,UAAU;;iBAGJ;WACN;WACA;WACA,mBAAmB;EAC5B,OAAO,sBAAsB;EAC7B,OAAO,sBAAsB;;iBAGd;WACN;WACA;WACA,OAAO;;iBAGD;WACN;WACA;WACA,OAAO;;iBAGD;WACN;WACA,UAAU;WACV,OAAO;;iBAGD;WACN;WACA;WACA,OAAO;;iBAGD;WACN;WACA;WACA,OAAO;;iBAGD;WACN;WACA;WACA,OAAO;;iBAGD;WACN;WACA;WACA,mBAAmB;WACnB,OAAO;;iBAGD;WACN;WACA,mBAAmB;WACnB,OAAO;;iBAGD;WACN;WACA,gBAAgB;WAChB,qBAAqB;WACrB,OAAO;;iBAGD;WACN;WACA;WACA;WACA;;iBAGM;WACN;WACA,YAAY;WACZ,mBAAmB;WACnB,OAAO;;YAGN,eACR,WACA,WACA,eACA,iBACA,UACA,WACA,SACA,aACA;iBAEa;WACN;WACA,gBAAgB;WAChB;;;;;WAKA,oBAAoB;;iBAGd;YACL;WACD,IAAI;WACJ;WACA;;iBAGM,MAAM,eAAe,aAAa;WACxC,IAAI;WACJ;WACA,YAAY;;;;WAIZ,eAAe,4BAA0B;WACzC,kBAAkB;EAC3B,UAAU;WACD,QAAQ;;YAGP,SAAS,iBAAiB,MAAM;YAChC,eAAe,MAAM;YACrB,UAAU,eAAe,oBAAoB,qBAAqB,MAAM;iBAEnE;WACN;WACA;YACC;;iBAGK,oBAAoB;WAC1B;WACA,eAAe;WACf;WACA;;iBAGM;WACN;WACA;WACA;WACA,SAAS;;YAGR,qBAAqB,iBAAiB,oBAAoB,OAAO;iBAE5D;WACN,SAAS;;YAGR,UAAU,KAAK,IAAI,YAAY;iBAE1B,qBAAqB,aAAa;WACxC,SAAS,4BAA0B,QAAQ;;iBAGrC,cAAc,aAAa,qBAAqB;YAErD;iBAEK;WACN,YAAY;WACZ;;qBAGE,gCAAgC;WAEhC;WACA;EADA,YAAA,iBACA,yBACT,iBACA,UAAU;;;wBAQE,gCAAgC,iBAAiB,SAAS;;qBAS7D,qBAAqB;WAErB;EAAA,YAAA,yBACT,iBACA,UAAU;;iBAOG,iBAAiB;WACvB,eAAe;;YAGd,sBAAsB,+CACtB,WAAW,OAAO,iBAAiB,KAAK;iBAGnC,kBACf,eAAe,SAAS,2BAA2B,SAAS,0BAC5D,sDACA;WAES,QAAQ;WACR,YAAY,sBAAsB;WAClC,cAAc;;YAGb,oBAAoB,UAAU,eAAe,8BAA4B,UAAU;KAE1F,uBAAuB,yBAAyB,+BACzC,WAAW,UAAU,oBAAoB,QAAQ;YAGjD,0BAA0B,iBAAiB,mBAAmB,kBACxE,2BAA2B,gBACvB,oBAAoB,4BAA4B,SAAS,2BACvD,oBAAoB,sBACpB,SAAS,2BACX,SAAS,0BACb,sCAAqC,yBAAyB,mBAC1D,uBAAuB,+BAE3B,gCAAgC,gBAAgB,oBAAoB,uCAEnE;WAA4B,aAAa;;WAC3B,aAAa,oBAAoB;;YAGtC;WAEG;WACA;WACA;;WAGA;WACA;;WAGA;WACA;;iBAGE;WACN;WACA,QAAQ;;iBAGF;WACN,QAAQ,SAAS;WACjB;WACA,qBAAqB;;YAGpB;WACG;;WACA;;WAEA;WACA;WACA;;YAGH;qBAUC,4BAA4B;kBACvB;WACP;WACA,UAAU;EAEP,YAAA,iBAAiB,UAAU,wBAAwB;aAAqB;;;YAO1E;iBAEK;WACN;WACA;WACA,eAAe;;iBAGT;;WAEN;WACA,kBAAkB;WAClB,cAAc;EACvB,MAAM,KACJ,UAAU,mBACV,UAAU,6BACV,UAAU,mBACT,UAAU,qBAAqB;EAClC,OAAO,KACL,UAAU,mBACV,UAAU,6BACV,UAAU,mBACT,cAAc;EACjB,KACE,UAAU,mBACV,UAAU,6BACV,UAAU,mBACT,UAAU;EACb,MACE,MAAM,cACN,SAAS,wBACT,UAAU,mBACT,UAAU;EACb,4BAA4B,SAAS;EACrC,OAAO,UAAU,qBAAqB;EACtC,WAAW;EACX,aAAa;EACb,WAAW,eAAe;EAC1B,YAAY,eAAe;EAC3B,kBAAkB,eAAe;;iBAGlB,wBAAwB;EACvC,QAAQ;aAAqB;aAA6B;;iBAG3C;WACN,kBAAkB;WAClB,cAAc;EACvB,4BAA4B,SAAS;EACrC,WAAW,QAAQ;;iBAGJ;WACN;WACA;WACA,WAAW;WACX,OAAO;;iBAGD;WACN;WACA;WACA;WACA;WACA;WACA;WACA;aACE;aACA;aACA,YAAY;aACZ;;WAEF,2BAA2B;WAC3B,WAAW;WACX,iBAAiB,UAAU,sBAAsB;WACjD,cAAc;WACd;WACA;WACA;WACA;WACA;;iBAGM;WACN;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,UAAU,SAAS;WACnB;WACA;;iBAGM;WACN;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;iBAGM;WACN;WACA;WACA;WACA;WACA;WACA;WACA,WAAW;WACX,iBAAiB,eAAe,UAAU,sBAAsB;;iBAG1D;WACN;WACA;WACA;WACA;WACA,eAAe;WACf;WACA;WACA;;YAGC;iBAgBK;WACN;WACA;WACA;WACA;WACA;WACA;WACA,OAAO;WACP;WACA;WACA;WACA;WACA;;iBAGM;WACN;WACA;WACA;WACA;WACA;aACE;aACA;aACA,YAAY;aACZ;;WAEF,2BAA2B;WAC3B,WAAW;WACX,iBAAiB,UAAU,sBAAsB;WACjD;WACA;WACA;WACA;WACA;;iBAGM;WACN;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;YAGC;iBAQK;WACN;WACA;WACA,OAAO;WACP;WACA;WACA;WACA;WACA;;YAGC,iBACR,kBACA,mBACA,mBACA,iBACA,kBACA,kBACA,mBACA,iBACA;iBAEa;EACf,QAAQ,OAAO,wBAAwB;;iBAGxB;WACN;WACA;WACA;WACA;;iBAGM;WACN;aAAqB;aAA0B;aAA2B;;WAC1E;aAAmB;aAAqB;aAA2B;;WACnE;aAAoB;aAAqB;;WACzC;aAAwB;aAAqB;;WAC7C,cAAc,SAAS,eAAe;WACtC;aACE;aACA;aACA;;;;iBAKI;WACN,UAAU;WACV,QAAQ;WACR;aAAwB;aAAqB;;WAC7C,cAAc;WACd;aACE,WAAW;aACX,OAAO;eACL;eACA;eACA,eAAe,SAAS,eAAe;;;;;iBAMrC;WACN;WACA;WACA;aAAqB;aAA0B;aAA0B;;WACzE;aAAmB;aAAqB;aAA0B;;WAClE;aAAoB;aAAqB;;WACzC;aAAuB;aAAqB;;WAC5C;aAAqB;;;iBAGf;WACN,mBAAmB;;WAEnB;;iBAGM;WACN,qBAAqB;WACrB,QAAQ;;YAGP,kBAAkB,kBAAkB;YAEpC;WAAoC;;WAA6B;;YAEjE,kBAAkB,OAAO,YAAY,0BAC5C,UAAU,YACV,OAAO,OAAO,UAAU;YAEjB,cAAc,OAAO,UAAU;WAChC;KACN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"}