@gizmodata/gizmosql-client 1.2.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.
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlightSQLClient = void 0;
4
+ const flight_client_1 = require("./flight-client");
5
+ const Flight_pb_1 = require("./generated/proto/Flight_pb");
6
+ const FlightSql_pb_1 = require("./generated/proto/FlightSql_pb");
7
+ const any_pb_1 = require("google-protobuf/google/protobuf/any_pb");
8
+ const errors_1 = require("./errors");
9
+ /**
10
+ * FlightSQL client implementation extending the base Flight client.
11
+ * Provides SQL-specific operations on top of Apache Arrow Flight protocol.
12
+ */
13
+ class FlightSQLClient extends flight_client_1.FlightClient {
14
+ constructor(config) {
15
+ super(config);
16
+ }
17
+ /**
18
+ * Wraps a FlightSQL command in a google.protobuf.Any message.
19
+ * This is required by the FlightSQL specification for proper command serialization.
20
+ */
21
+ packCommand(command, typeUrl) {
22
+ const any = new any_pb_1.Any();
23
+ any.setTypeUrl(typeUrl);
24
+ any.setValue(command.serializeBinary());
25
+ return any.serializeBinary();
26
+ }
27
+ /**
28
+ * Executes a SQL query and returns the raw Arrow result.
29
+ * Provides access to schema information and Arrow batches.
30
+ */
31
+ async execute(query) {
32
+ try {
33
+ const command = new FlightSql_pb_1.CommandStatementQuery();
34
+ command.setQuery(query);
35
+ const descriptor = this.createCommandDescriptor(command, FlightSQLClient.TYPE_URLS.COMMAND_STATEMENT_QUERY);
36
+ const ticket = await this.getQueryTicket(descriptor);
37
+ return await this.doGet(ticket);
38
+ }
39
+ catch (error) {
40
+ if (error instanceof errors_1.FlightError) {
41
+ throw error;
42
+ }
43
+ throw new errors_1.FlightSQLError(`Failed to execute query: ${error}`);
44
+ }
45
+ }
46
+ /**
47
+ * Creates a FlightDescriptor for a FlightSQL command.
48
+ */
49
+ createCommandDescriptor(command, typeUrl) {
50
+ const descriptor = new Flight_pb_1.FlightDescriptor();
51
+ descriptor.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
52
+ descriptor.setCmd(this.packCommand(command, typeUrl));
53
+ return descriptor;
54
+ }
55
+ /**
56
+ * Gets a ticket from a FlightDescriptor for query execution.
57
+ */
58
+ async getQueryTicket(descriptor) {
59
+ const flightInfo = await this.getFlightInfo(descriptor);
60
+ const endpoints = flightInfo.getEndpointList();
61
+ if (endpoints.length === 0) {
62
+ throw new errors_1.FlightSQLError('No endpoints returned from query');
63
+ }
64
+ const ticket = endpoints[0].getTicket();
65
+ if (!ticket) {
66
+ throw new errors_1.FlightSQLError('No ticket returned from endpoint');
67
+ }
68
+ return ticket;
69
+ }
70
+ async getQuerySchema(query) {
71
+ try {
72
+ const command = new FlightSql_pb_1.CommandStatementQuery();
73
+ command.setQuery(query);
74
+ const descriptor = new Flight_pb_1.FlightDescriptor();
75
+ descriptor.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
76
+ descriptor.setCmd(command.serializeBinary());
77
+ return await this.getSchema(descriptor);
78
+ }
79
+ catch (error) {
80
+ throw new errors_1.FlightSQLError(`Failed to get query schema: ${error}`);
81
+ }
82
+ }
83
+ async prepare(query) {
84
+ try {
85
+ const request = new FlightSql_pb_1.ActionCreatePreparedStatementRequest();
86
+ request.setQuery(query);
87
+ const action = new Flight_pb_1.FlightDescriptor();
88
+ action.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
89
+ const results = await this.doAction(action);
90
+ if (results.length === 0) {
91
+ throw new errors_1.FlightSQLError('No results returned from prepare statement');
92
+ }
93
+ const handle = results[0].getBody_asU8();
94
+ return {
95
+ handle,
96
+ parameterSchema: undefined,
97
+ resultSchema: undefined
98
+ };
99
+ }
100
+ catch (error) {
101
+ throw new errors_1.FlightSQLError(`Failed to prepare statement: ${error}`);
102
+ }
103
+ }
104
+ async executePrepared(prepared) {
105
+ try {
106
+ const command = new FlightSql_pb_1.CommandPreparedStatementQuery();
107
+ command.setPreparedStatementHandle(prepared.handle);
108
+ const descriptor = new Flight_pb_1.FlightDescriptor();
109
+ descriptor.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
110
+ descriptor.setCmd(command.serializeBinary());
111
+ const flightInfo = await this.getFlightInfo(descriptor);
112
+ const endpoints = flightInfo.getEndpointList();
113
+ if (endpoints.length === 0) {
114
+ throw new errors_1.FlightSQLError('No endpoints returned from prepared query');
115
+ }
116
+ const ticket = endpoints[0].getTicket();
117
+ if (!ticket) {
118
+ throw new errors_1.FlightSQLError('No ticket returned from endpoint');
119
+ }
120
+ const table = await this.doGet(ticket);
121
+ return table.toArray();
122
+ }
123
+ catch (error) {
124
+ throw new errors_1.FlightSQLError(`Failed to execute prepared statement: ${error}`);
125
+ }
126
+ }
127
+ async closePrepared(prepared) {
128
+ try {
129
+ const request = new FlightSql_pb_1.ActionClosePreparedStatementRequest();
130
+ request.setPreparedStatementHandle(prepared.handle);
131
+ const action = new Flight_pb_1.FlightDescriptor();
132
+ action.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
133
+ await this.doAction(action);
134
+ }
135
+ catch (error) {
136
+ throw new errors_1.FlightSQLError(`Failed to close prepared statement: ${error}`);
137
+ }
138
+ }
139
+ async getCatalogs() {
140
+ try {
141
+ const command = new FlightSql_pb_1.CommandGetCatalogs();
142
+ const descriptor = this.createCommandDescriptor(command, FlightSQLClient.TYPE_URLS.COMMAND_GET_CATALOGS);
143
+ const flightInfo = await this.getFlightInfo(descriptor);
144
+ const endpoints = flightInfo.getEndpointList();
145
+ if (endpoints.length === 0) {
146
+ return [];
147
+ }
148
+ const ticket = endpoints[0].getTicket();
149
+ if (!ticket) {
150
+ return [];
151
+ }
152
+ const table = await this.doGet(ticket);
153
+ const rows = table.toArray();
154
+ return rows.map(row => row.catalog_name);
155
+ }
156
+ catch (error) {
157
+ throw new errors_1.FlightSQLError(`Failed to get catalogs: ${error}`);
158
+ }
159
+ }
160
+ async getSchemas(catalog) {
161
+ try {
162
+ const command = new FlightSql_pb_1.CommandGetDbSchemas();
163
+ if (catalog) {
164
+ command.setCatalog(catalog);
165
+ }
166
+ const descriptor = this.createCommandDescriptor(command, FlightSQLClient.TYPE_URLS.COMMAND_GET_DB_SCHEMAS);
167
+ const flightInfo = await this.getFlightInfo(descriptor);
168
+ const endpoints = flightInfo.getEndpointList();
169
+ if (endpoints.length === 0) {
170
+ return [];
171
+ }
172
+ const ticket = endpoints[0].getTicket();
173
+ if (!ticket) {
174
+ return [];
175
+ }
176
+ const table = await this.doGet(ticket);
177
+ const rows = table.toArray();
178
+ return rows.map(row => ({
179
+ catalog: row.catalog_name,
180
+ schema: row.db_schema_name
181
+ }));
182
+ }
183
+ catch (error) {
184
+ throw new errors_1.FlightSQLError(`Failed to get schemas: ${error}`);
185
+ }
186
+ }
187
+ async getTables(catalog, dbSchema, tableName, tableTypes) {
188
+ try {
189
+ const command = new FlightSql_pb_1.CommandGetTables();
190
+ if (catalog)
191
+ command.setCatalog(catalog);
192
+ if (dbSchema)
193
+ command.setDbSchemaFilterPattern(dbSchema);
194
+ if (tableName)
195
+ command.setTableNameFilterPattern(tableName);
196
+ if (tableTypes)
197
+ command.setTableTypesList(tableTypes);
198
+ const descriptor = this.createCommandDescriptor(command, FlightSQLClient.TYPE_URLS.COMMAND_GET_TABLES);
199
+ const flightInfo = await this.getFlightInfo(descriptor);
200
+ const endpoints = flightInfo.getEndpointList();
201
+ if (endpoints.length === 0) {
202
+ return [];
203
+ }
204
+ const ticket = endpoints[0].getTicket();
205
+ if (!ticket) {
206
+ return [];
207
+ }
208
+ const table = await this.doGet(ticket);
209
+ const rows = table.toArray();
210
+ return rows.map(row => ({
211
+ catalog: row.catalog_name,
212
+ schema: row.db_schema_name,
213
+ tableName: row.table_name,
214
+ tableType: row.table_type
215
+ }));
216
+ }
217
+ catch (error) {
218
+ throw new errors_1.FlightSQLError(`Failed to get tables: ${error}`);
219
+ }
220
+ }
221
+ async getTableTypes() {
222
+ try {
223
+ const command = new FlightSql_pb_1.CommandGetTableTypes();
224
+ const descriptor = this.createCommandDescriptor(command, FlightSQLClient.TYPE_URLS.COMMAND_GET_TABLE_TYPES);
225
+ const flightInfo = await this.getFlightInfo(descriptor);
226
+ const endpoints = flightInfo.getEndpointList();
227
+ if (endpoints.length === 0) {
228
+ return [];
229
+ }
230
+ const ticket = endpoints[0].getTicket();
231
+ if (!ticket) {
232
+ return [];
233
+ }
234
+ const table = await this.doGet(ticket);
235
+ const rows = table.toArray();
236
+ return rows.map(row => row.table_type);
237
+ }
238
+ catch (error) {
239
+ throw new errors_1.FlightSQLError(`Failed to get table types: ${error}`);
240
+ }
241
+ }
242
+ async getPrimaryKeys(catalog, dbSchema, tableName) {
243
+ try {
244
+ const command = new FlightSql_pb_1.CommandGetPrimaryKeys();
245
+ command.setCatalog(catalog);
246
+ command.setDbSchema(dbSchema);
247
+ command.setTable(tableName);
248
+ const descriptor = new Flight_pb_1.FlightDescriptor();
249
+ descriptor.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
250
+ descriptor.setCmd(command.serializeBinary());
251
+ const flightInfo = await this.getFlightInfo(descriptor);
252
+ const endpoints = flightInfo.getEndpointList();
253
+ if (endpoints.length === 0) {
254
+ return [];
255
+ }
256
+ const ticket = endpoints[0].getTicket();
257
+ if (!ticket) {
258
+ return [];
259
+ }
260
+ const table = await this.doGet(ticket);
261
+ const rows = table.toArray();
262
+ return rows.map(row => ({
263
+ catalogName: row.catalog_name,
264
+ schemaName: row.db_schema_name,
265
+ tableName: row.table_name,
266
+ columnName: row.column_name,
267
+ keySequence: row.key_sequence
268
+ }));
269
+ }
270
+ catch (error) {
271
+ throw new errors_1.FlightSQLError(`Failed to get primary keys: ${error}`);
272
+ }
273
+ }
274
+ async getForeignKeys(catalog, dbSchema, tableName) {
275
+ try {
276
+ const command = new FlightSql_pb_1.CommandGetImportedKeys();
277
+ command.setCatalog(catalog);
278
+ command.setDbSchema(dbSchema);
279
+ command.setTable(tableName);
280
+ const descriptor = new Flight_pb_1.FlightDescriptor();
281
+ descriptor.setType(Flight_pb_1.FlightDescriptor.DescriptorType.CMD);
282
+ descriptor.setCmd(command.serializeBinary());
283
+ const flightInfo = await this.getFlightInfo(descriptor);
284
+ const endpoints = flightInfo.getEndpointList();
285
+ if (endpoints.length === 0) {
286
+ return [];
287
+ }
288
+ const ticket = endpoints[0].getTicket();
289
+ if (!ticket) {
290
+ return [];
291
+ }
292
+ const table = await this.doGet(ticket);
293
+ const rows = table.toArray();
294
+ return rows.map(row => ({
295
+ pkCatalogName: row.pk_catalog_name,
296
+ pkSchemaName: row.pk_db_schema_name,
297
+ pkTableName: row.pk_table_name,
298
+ pkColumnName: row.pk_column_name,
299
+ fkCatalogName: row.fk_catalog_name,
300
+ fkSchemaName: row.fk_db_schema_name,
301
+ fkTableName: row.fk_table_name,
302
+ fkColumnName: row.fk_column_name
303
+ }));
304
+ }
305
+ catch (error) {
306
+ throw new errors_1.FlightSQLError(`Failed to get foreign keys: ${error}`);
307
+ }
308
+ }
309
+ }
310
+ exports.FlightSQLClient = FlightSQLClient;
311
+ // FlightSQL command type URLs for Any wrapper
312
+ FlightSQLClient.TYPE_URLS = {
313
+ COMMAND_STATEMENT_QUERY: 'type.googleapis.com/arrow.flight.protocol.sql.CommandStatementQuery',
314
+ COMMAND_PREPARED_STATEMENT_QUERY: 'type.googleapis.com/arrow.flight.protocol.sql.CommandPreparedStatementQuery',
315
+ COMMAND_GET_CATALOGS: 'type.googleapis.com/arrow.flight.protocol.sql.CommandGetCatalogs',
316
+ COMMAND_GET_DB_SCHEMAS: 'type.googleapis.com/arrow.flight.protocol.sql.CommandGetDbSchemas',
317
+ COMMAND_GET_TABLES: 'type.googleapis.com/arrow.flight.protocol.sql.CommandGetTables',
318
+ COMMAND_GET_TABLE_TYPES: 'type.googleapis.com/arrow.flight.protocol.sql.CommandGetTableTypes',
319
+ COMMAND_GET_PRIMARY_KEYS: 'type.googleapis.com/arrow.flight.protocol.sql.CommandGetPrimaryKeys',
320
+ COMMAND_GET_IMPORTED_KEYS: 'type.googleapis.com/arrow.flight.protocol.sql.CommandGetImportedKeys',
321
+ ACTION_CREATE_PREPARED_STATEMENT: 'type.googleapis.com/arrow.flight.protocol.sql.ActionCreatePreparedStatementRequest',
322
+ ACTION_CLOSE_PREPARED_STATEMENT: 'type.googleapis.com/arrow.flight.protocol.sql.ActionClosePreparedStatementRequest'
323
+ };
324
+ //# sourceMappingURL=flightsql-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flightsql-client.js","sourceRoot":"","sources":["../src/flightsql-client.ts"],"names":[],"mappings":";;;AACA,mDAA6C;AAC7C,2DAA6D;AAC7D,iEAWwC;AACxC,mEAA2D;AAE3D,qCAAqD;AAErD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,4BAAY;IAe/C,YAAY,MAA6B;QACvC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,OAAY,EAAE,OAAe;QAC/C,MAAM,GAAG,GAAG,IAAI,YAAG,EAAE,CAAC;QACtB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,oCAAqB,EAAE,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAExB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAC5G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAErD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,oBAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,uBAAc,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,OAAY,EAAE,OAAe;QAC3D,MAAM,UAAU,GAAG,IAAI,4BAAgB,EAAE,CAAC;QAC1C,UAAU,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACxD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,UAA4B;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;QAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,uBAAc,CAAC,kCAAkC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,uBAAc,CAAC,kCAAkC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,oCAAqB,EAAE,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAExB,MAAM,UAAU,GAAG,IAAI,4BAAgB,EAAE,CAAC;YAC1C,UAAU,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACxD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAE7C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,mDAAoC,EAAE,CAAC;YAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAExB,MAAM,MAAM,GAAG,IAAI,4BAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAa,CAAC,CAAC;YAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,uBAAc,CAAC,4CAA4C,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO;gBACL,MAAM;gBACN,eAAe,EAAE,SAAS;gBAC1B,YAAY,EAAE,SAAS;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAA2B;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,4CAA6B,EAAE,CAAC;YACpD,OAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEpD,MAAM,UAAU,GAAG,IAAI,4BAAgB,EAAE,CAAC;YAC1C,UAAU,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACxD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAE7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,uBAAc,CAAC,2CAA2C,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,uBAAc,CAAC,kCAAkC,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAA2B;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,kDAAmC,EAAE,CAAC;YAC1D,OAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,IAAI,4BAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAa,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,iCAAkB,EAAE,CAAC;YAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACzG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,kCAAmB,EAAE,CAAC;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAC3G,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,EAAE,GAAG,CAAC,YAAY;gBACzB,MAAM,EAAE,GAAG,CAAC,cAAc;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAgB,EAAE,QAAiB,EAAE,SAAkB,EAAE,UAAqB;QAM5F,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,+BAAgB,EAAE,CAAC;YACvC,IAAI,OAAO;gBAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,QAAQ;gBAAE,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,SAAS;gBAAE,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,UAAU;gBAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACvG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,EAAE,GAAG,CAAC,YAAY;gBACzB,MAAM,EAAE,GAAG,CAAC,cAAc;gBAC1B,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,SAAS,EAAE,GAAG,CAAC,UAAU;aAC1B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,mCAAoB,EAAE,CAAC;YAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAC5G,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,QAAgB,EAAE,SAAiB;QACvE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,oCAAqB,EAAE,CAAC;YAC5C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE5B,MAAM,UAAU,GAAG,IAAI,4BAAgB,EAAE,CAAC;YAC1C,UAAU,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACxD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAE7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,WAAW,EAAE,GAAG,CAAC,YAAY;gBAC7B,UAAU,EAAE,GAAG,CAAC,cAAc;gBAC9B,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,WAAW,EAAE,GAAG,CAAC,YAAY;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,QAAgB,EAAE,SAAiB;QACvE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,qCAAsB,EAAE,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE5B,MAAM,UAAU,GAAG,IAAI,4BAAgB,EAAE,CAAC;YAC1C,UAAU,CAAC,OAAO,CAAC,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACxD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAE7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,aAAa,EAAE,GAAG,CAAC,eAAe;gBAClC,YAAY,EAAE,GAAG,CAAC,iBAAiB;gBACnC,WAAW,EAAE,GAAG,CAAC,aAAa;gBAC9B,YAAY,EAAE,GAAG,CAAC,cAAc;gBAChC,aAAa,EAAE,GAAG,CAAC,eAAe;gBAClC,YAAY,EAAE,GAAG,CAAC,iBAAiB;gBACnC,WAAW,EAAE,GAAG,CAAC,aAAa;gBAC9B,YAAY,EAAE,GAAG,CAAC,cAAc;aACjC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAc,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;;AArWH,0CAsWC;AArWC,8CAA8C;AACtB,yBAAS,GAAG;IAClC,uBAAuB,EAAE,qEAAqE;IAC9F,gCAAgC,EAAE,6EAA6E;IAC/G,oBAAoB,EAAE,kEAAkE;IACxF,sBAAsB,EAAE,mEAAmE;IAC3F,kBAAkB,EAAE,gEAAgE;IACpF,uBAAuB,EAAE,oEAAoE;IAC7F,wBAAwB,EAAE,qEAAqE;IAC/F,yBAAyB,EAAE,sEAAsE;IACjG,gCAAgC,EAAE,oFAAoF;IACtH,+BAA+B,EAAE,mFAAmF;CACrH,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ // GENERATED CODE -- NO SERVICES IN PROTO