casualos 3.7.0 → 3.7.1-alpha.17809973136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -66622,6 +66622,10 @@ async function evalResult(result, repl2, type) {
66622
66622
  return value;
66623
66623
  }
66624
66624
  if (type && result !== void 0 && result !== null && result !== "") {
66625
+ if (type === Boolean && typeof result === "string") {
66626
+ const resultLowercase = result.toLowerCase();
66627
+ return ["true", "yes", "on", "y"].includes(resultLowercase);
66628
+ }
66625
66629
  return type(result);
66626
66630
  }
66627
66631
  return result;
@@ -81445,6 +81449,7 @@ var NOTIFICATION_RESOURCE_KIND = "notification";
81445
81449
  var PACKAGE_RESOURCE_KIND = "package";
81446
81450
  var PACKAGE_VERSION_RESOURCE_KIND = "package.version";
81447
81451
  var SEARCH_RESOURCE_KIND = "search";
81452
+ var DATABASE_RESOURCE_KIND = "database";
81448
81453
  var READ_ACTION = "read";
81449
81454
  var CREATE_ACTION = "create";
81450
81455
  var UPDATE_ACTION = "update";
@@ -81555,6 +81560,13 @@ var SEARCH_ACTION_KINDS_VALIDATION = z.enum([
81555
81560
  DELETE_ACTION,
81556
81561
  LIST_ACTION
81557
81562
  ]);
81563
+ var DATABASE_ACTION_KINDS_VALIDATION = z.enum([
81564
+ CREATE_ACTION,
81565
+ READ_ACTION,
81566
+ UPDATE_ACTION,
81567
+ DELETE_ACTION,
81568
+ LIST_ACTION
81569
+ ]);
81558
81570
  var RESOURCE_KIND_VALIDATION = z.enum([
81559
81571
  DATA_RESOURCE_KIND,
81560
81572
  FILE_RESOURCE_KIND,
@@ -81570,7 +81582,8 @@ var RESOURCE_KIND_VALIDATION = z.enum([
81570
81582
  NOTIFICATION_RESOURCE_KIND,
81571
81583
  PACKAGE_RESOURCE_KIND,
81572
81584
  PACKAGE_VERSION_RESOURCE_KIND,
81573
- SEARCH_RESOURCE_KIND
81585
+ SEARCH_RESOURCE_KIND,
81586
+ DATABASE_RESOURCE_KIND
81574
81587
  ]);
81575
81588
  var ACTION_KINDS_VALIDATION = z.enum([
81576
81589
  CREATE_ACTION,
@@ -81604,7 +81617,8 @@ var ENTITLEMENT_FEATURE_VALIDATION = z.enum([
81604
81617
  "permissions",
81605
81618
  "webhook",
81606
81619
  "ai",
81607
- "search"
81620
+ "search",
81621
+ "database"
81608
81622
  ]);
81609
81623
  var ENTITLEMENT_VALIDATION = z.object({
81610
81624
  feature: ENTITLEMENT_FEATURE_VALIDATION,
@@ -81688,6 +81702,10 @@ var SEARCH_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
81688
81702
  resourceKind: z.literal(SEARCH_RESOURCE_KIND),
81689
81703
  action: SEARCH_ACTION_KINDS_VALIDATION.nullable()
81690
81704
  });
81705
+ var DATABASE_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
81706
+ resourceKind: z.literal(DATABASE_RESOURCE_KIND),
81707
+ action: DATABASE_ACTION_KINDS_VALIDATION.nullable()
81708
+ });
81691
81709
  var AVAILABLE_PERMISSIONS_VALIDATION = z.discriminatedUnion(
81692
81710
  "resourceKind",
81693
81711
  [
@@ -81705,7 +81723,8 @@ var AVAILABLE_PERMISSIONS_VALIDATION = z.discriminatedUnion(
81705
81723
  NOTIFICATION_PERMISSION_VALIDATION,
81706
81724
  PACKAGE_PERMISSION_VALIDATION,
81707
81725
  PACKAGE_VERSION_PERMISSION_VALIDATION,
81708
- SEARCH_PERMISSION_VALIDATION
81726
+ SEARCH_PERMISSION_VALIDATION,
81727
+ DATABASE_PERMISSION_VALIDATION
81709
81728
  ]
81710
81729
  );
81711
81730
  var ADMIN_ROLE_NAME = "admin";
@@ -91569,7 +91588,8 @@ var watchBranchMessageSchema = z.object({
91569
91588
  recordName: z.string().nonempty().nullable(),
91570
91589
  inst: z.string(),
91571
91590
  branch: z.string(),
91572
- temporary: z.boolean().optional()
91591
+ temporary: z.boolean().optional(),
91592
+ markers: z.array(z.string()).optional()
91573
91593
  });
91574
91594
  var unwatchBranchMessageSchema = z.object({
91575
91595
  type: z.literal("repo/unwatch_branch"),
@@ -91861,6 +91881,12 @@ function getStatusCode(response) {
91861
91881
  // ../aux-common/rpc/Result.ts
91862
91882
  function genericResult(result) {
91863
91883
  if (isSuccess(result)) {
91884
+ if (Array.isArray(result.value)) {
91885
+ return {
91886
+ success: true,
91887
+ items: result.value
91888
+ };
91889
+ }
91864
91890
  if (typeof result.value === "object") {
91865
91891
  return {
91866
91892
  success: true,
@@ -93437,7 +93463,7 @@ var trace = TraceAPI.getInstance();
93437
93463
  function hashLowEntropyPasswordWithSalt2(password, salt) {
93438
93464
  const tracer = trace.getTracer(
93439
93465
  "InstrumentedHashHelpers",
93440
- false ? void 0 : "v3.7.0"
93466
+ false ? void 0 : "v3.7.1-alpha.17809973136"
93441
93467
  );
93442
93468
  return tracer.startActiveSpan(
93443
93469
  "hashLowEntropyPasswordWithSalt",
@@ -93455,7 +93481,7 @@ function hashLowEntropyPasswordWithSalt2(password, salt) {
93455
93481
  function hashHighEntropyPasswordWithSalt2(password, salt) {
93456
93482
  const tracer = trace.getTracer(
93457
93483
  "InstrumentedHashHelpers",
93458
- false ? void 0 : "v3.7.0"
93484
+ false ? void 0 : "v3.7.1-alpha.17809973136"
93459
93485
  );
93460
93486
  return tracer.startActiveSpan(
93461
93487
  "hashHighEntropyPasswordWithSalt",
@@ -93473,7 +93499,7 @@ function hashHighEntropyPasswordWithSalt2(password, salt) {
93473
93499
  function verifyPasswordAgainstHashes2(password, salt, hashes) {
93474
93500
  const tracer = trace.getTracer(
93475
93501
  "InstrumentedHashHelpers",
93476
- false ? void 0 : "v3.7.0"
93502
+ false ? void 0 : "v3.7.1-alpha.17809973136"
93477
93503
  );
93478
93504
  return tracer.startActiveSpan(
93479
93505
  "verifyPasswordAgainstHashes",
@@ -97188,6 +97214,21 @@ var subscriptionFeaturesSchema = z.object({
97188
97214
  "The configuration for search records features. Defaults to allowed."
97189
97215
  ).optional().default({
97190
97216
  allowed: true
97217
+ }),
97218
+ databases: z.object({
97219
+ allowed: z.boolean().describe(
97220
+ "Whether database records are allowed for the subscription."
97221
+ ),
97222
+ maxItems: z.number().describe(
97223
+ "The maximum number of database records that can be created for the subscription. If not specified, then there is no limit."
97224
+ ).int().positive().optional(),
97225
+ maxBytesPerDatabase: z.number().describe(
97226
+ "The maximum size of the database in bytes. If not specified, then there is no limit."
97227
+ ).int().positive().optional()
97228
+ }).describe(
97229
+ "The configuration for database records features. Defaults to allowed."
97230
+ ).optional().default({
97231
+ allowed: true
97191
97232
  })
97192
97233
  });
97193
97234
  var subscriptionConfigSchema = z.object({
@@ -97331,6 +97372,9 @@ function allowAllFeatures() {
97331
97372
  },
97332
97373
  search: {
97333
97374
  allowed: true
97375
+ },
97376
+ databases: {
97377
+ allowed: true
97334
97378
  }
97335
97379
  };
97336
97380
  }
@@ -100847,7 +100891,7 @@ var import_semantic_conventions = __toESM(require_src3());
100847
100891
  function traced(tracerName, options = {}, metricOptions = {}) {
100848
100892
  const tracer = trace.getTracer(
100849
100893
  tracerName,
100850
- false ? void 0 : "v3.7.0"
100894
+ false ? void 0 : "v3.7.1-alpha.17809973136"
100851
100895
  );
100852
100896
  return function(target, propertyKey, descriptor) {
100853
100897
  const originalMethod = descriptor.value;
@@ -100929,7 +100973,7 @@ function getHistogram(meter) {
100929
100973
  }
100930
100974
  return metrics.getMeter(
100931
100975
  meter.meter,
100932
- false ? void 0 : "v3.7.0"
100976
+ false ? void 0 : "v3.7.1-alpha.17809973136"
100933
100977
  ).createHistogram(meter.name, meter.options);
100934
100978
  }
100935
100979
  function getCounter(meter) {
@@ -100938,7 +100982,7 @@ function getCounter(meter) {
100938
100982
  }
100939
100983
  return metrics.getMeter(
100940
100984
  meter.meter,
100941
- false ? void 0 : "v3.7.0"
100985
+ false ? void 0 : "v3.7.1-alpha.17809973136"
100942
100986
  ).createCounter(meter.name, meter.options);
100943
100987
  }
100944
100988
  function traceHttpResponse(options = {}) {
@@ -105098,6 +105142,13 @@ function getPublicReadPermission(resourceKind, action2) {
105098
105142
  action: action2
105099
105143
  };
105100
105144
  }
105145
+ } else if (resourceKind === "database") {
105146
+ if (action2 === "read" || action2 === "list") {
105147
+ return {
105148
+ resourceKind,
105149
+ action: action2
105150
+ };
105151
+ }
105101
105152
  }
105102
105153
  return null;
105103
105154
  }
@@ -105165,6 +105216,13 @@ function getPublicWritePermission(resourceKind, action2) {
105165
105216
  action: action2
105166
105217
  };
105167
105218
  }
105219
+ } else if (resourceKind === "database") {
105220
+ if (action2 === "read" || action2 === "list") {
105221
+ return {
105222
+ resourceKind,
105223
+ action: action2
105224
+ };
105225
+ }
105168
105226
  }
105169
105227
  return null;
105170
105228
  }
@@ -107330,7 +107388,7 @@ function explainationForPermissionAssignment(subjectType, permissionAssignment)
107330
107388
  return permissionString;
107331
107389
  }
107332
107390
  function getEntitlementFeatureForAction(resourceKind, action2) {
107333
- if (resourceKind === "data" || resourceKind === "file" || resourceKind === "event" || resourceKind === "inst" || resourceKind === "notification" || resourceKind === "package" || resourceKind === "webhook" || resourceKind === "search") {
107391
+ if (resourceKind === "data" || resourceKind === "file" || resourceKind === "event" || resourceKind === "inst" || resourceKind === "notification" || resourceKind === "package" || resourceKind === "webhook" || resourceKind === "search" || resourceKind === "database") {
107334
107392
  return resourceKind;
107335
107393
  } else if (resourceKind === "ai.hume" || resourceKind === "ai.sloyd") {
107336
107394
  return "ai";
@@ -108875,7 +108933,8 @@ var watchBranchMessageSchema2 = z.object({
108875
108933
  recordName: z.string().nonempty().nullable(),
108876
108934
  inst: z.string(),
108877
108935
  branch: z.string(),
108878
- temporary: z.boolean().optional()
108936
+ temporary: z.boolean().optional(),
108937
+ markers: z.array(z.string()).optional()
108879
108938
  });
108880
108939
  var unwatchBranchMessageSchema2 = z.object({
108881
108940
  type: z.literal("repo/unwatch_branch"),
@@ -109428,24 +109487,25 @@ var CrudRecordsController = class {
109428
109487
  errorMessage: "The item must have markers."
109429
109488
  };
109430
109489
  }
109431
- const item = await this._transformInputItem(
109432
- request2.item,
109433
- existingItem,
109490
+ const subscriptionResult = await this._checkSubscriptionMetrics(
109434
109491
  action2,
109435
109492
  contextResult.context,
109436
- authorization
109493
+ authorization,
109494
+ request2.item
109437
109495
  );
109438
- if (isFailure(item)) {
109439
- return genericResult(item);
109496
+ if (subscriptionResult.success === false) {
109497
+ return subscriptionResult;
109440
109498
  }
109441
- const subscriptionResult = await this._checkSubscriptionMetrics(
109499
+ const item = await this._transformInputItem(
109500
+ request2.item,
109501
+ existingItem,
109442
109502
  action2,
109443
109503
  contextResult.context,
109444
109504
  authorization,
109445
- item.value
109505
+ subscriptionResult
109446
109506
  );
109447
- if (subscriptionResult.success === false) {
109448
- return subscriptionResult;
109507
+ if (isFailure(item)) {
109508
+ return genericResult(item);
109449
109509
  }
109450
109510
  await this._putItem(recordName, item.value);
109451
109511
  return {
@@ -109714,6 +109774,13 @@ var CrudRecordsController = class {
109714
109774
  /**
109715
109775
  * Converts the given item to a version that is able to be returned to clients.
109716
109776
  * Can be overriden to ensure that some fields are not returned.
109777
+ *
109778
+ * ### Order of operations:
109779
+ * 1. Check authorization
109780
+ * 2. call _checkSubscriptionMetrics()
109781
+ * 3. call _transformInputItem()
109782
+ * 4. Store item
109783
+ *
109717
109784
  * @param item The item that should be converted.
109718
109785
  * @param context The authorization context.
109719
109786
  * @param action The action that is being performed.
@@ -109730,7 +109797,7 @@ var CrudRecordsController = class {
109730
109797
  * Useful for transforming items before they are stored.
109731
109798
  * @param item The item that should be transformed.
109732
109799
  */
109733
- async _transformInputItem(item, existingItem, action2, context, authorization) {
109800
+ async _transformInputItem(item, existingItem, action2, context, authorization, metrics2) {
109734
109801
  return success(item);
109735
109802
  }
109736
109803
  async _eraseItemCore(recordName, address, item, authorization) {
@@ -111369,7 +111436,8 @@ var RecordsServer = class {
111369
111436
  notificationsController,
111370
111437
  packagesController,
111371
111438
  packageVersionController,
111372
- searchRecordsController
111439
+ searchRecordsController,
111440
+ databaseRecordsController
111373
111441
  }) {
111374
111442
  /**
111375
111443
  * The map of paths to routes that they match.
@@ -111397,9 +111465,10 @@ var RecordsServer = class {
111397
111465
  this._packagesController = packagesController;
111398
111466
  this._packageVersionController = packageVersionController;
111399
111467
  this._searchRecordsController = searchRecordsController;
111468
+ this._databaseRecordsController = databaseRecordsController;
111400
111469
  this._tracer = trace.getTracer(
111401
111470
  "RecordsServer",
111402
- false ? void 0 : "v3.7.0"
111471
+ false ? void 0 : "v3.7.1-alpha.17809973136"
111403
111472
  );
111404
111473
  this._procedures = this._createProcedures();
111405
111474
  this._setupRoutes();
@@ -113070,6 +113139,79 @@ var RecordsServer = class {
113070
113139
  return genericResult(result);
113071
113140
  }
113072
113141
  ),
113142
+ recordDatabase: recordItemProcedure(
113143
+ this._auth,
113144
+ this._databaseRecordsController,
113145
+ z.object({
113146
+ address: ADDRESS_VALIDATION,
113147
+ markers: MARKERS_VALIDATION
113148
+ }),
113149
+ procedure().origins("api").http("POST", "/api/v2/records/database")
113150
+ ),
113151
+ getDatabase: getItemProcedure(
113152
+ this._auth,
113153
+ this._databaseRecordsController,
113154
+ procedure().origins("api").http("GET", "/api/v2/records/database")
113155
+ ),
113156
+ eraseDatabase: eraseItemProcedure(
113157
+ this._auth,
113158
+ this._databaseRecordsController,
113159
+ procedure().origins("api").http("DELETE", "/api/v2/records/database")
113160
+ ),
113161
+ listDatabases: listItemsProcedure(
113162
+ this._auth,
113163
+ this._databaseRecordsController,
113164
+ procedure().origins("api").http("GET", "/api/v2/records/database/list")
113165
+ ),
113166
+ queryDatabase: procedure().origins("api").http("POST", "/api/v2/records/database/query").inputs(
113167
+ z.object({
113168
+ recordName: RECORD_NAME_VALIDATION,
113169
+ address: ADDRESS_VALIDATION,
113170
+ statements: z.array(
113171
+ z.object({
113172
+ query: z.string().min(1).max(25e4),
113173
+ params: z.array(z.any()).optional().default([])
113174
+ })
113175
+ ),
113176
+ readonly: z.boolean().default(true),
113177
+ automaticTransaction: z.boolean().optional().default(true),
113178
+ instances: INSTANCES_ARRAY_VALIDATION.optional()
113179
+ })
113180
+ ).handler(
113181
+ async ({
113182
+ recordName,
113183
+ address,
113184
+ statements,
113185
+ readonly,
113186
+ automaticTransaction,
113187
+ instances
113188
+ }, context) => {
113189
+ if (!this._databaseRecordsController) {
113190
+ return {
113191
+ success: false,
113192
+ errorCode: "not_supported",
113193
+ errorMessage: "This feature is not supported."
113194
+ };
113195
+ }
113196
+ const validation = await validateSessionKey(
113197
+ this._auth,
113198
+ context.sessionKey
113199
+ );
113200
+ if (validation.success === false && validation.errorCode !== "no_session_key") {
113201
+ return validation;
113202
+ }
113203
+ const result = await this._databaseRecordsController.query({
113204
+ recordName,
113205
+ userId: validation.userId,
113206
+ address,
113207
+ statements,
113208
+ readonly,
113209
+ automaticTransaction,
113210
+ instances: instances ?? []
113211
+ });
113212
+ return genericResult(result);
113213
+ }
113214
+ ),
113073
113215
  listRecords: procedure().origins("api").http("GET", "/api/v2/records/list").inputs(
113074
113216
  z.object({
113075
113217
  studioId: z.string().nonempty().optional(),
@@ -114295,9 +114437,10 @@ var RecordsServer = class {
114295
114437
  listInsts: procedure().origins("api").http("GET", "/api/v2/records/insts/list").inputs(
114296
114438
  z.object({
114297
114439
  recordName: RECORD_NAME_VALIDATION.optional(),
114298
- inst: z.string().optional()
114440
+ inst: z.string().optional(),
114441
+ marker: z.string().optional()
114299
114442
  })
114300
- ).handler(async ({ recordName, inst }, context) => {
114443
+ ).handler(async ({ recordName, inst, marker }, context) => {
114301
114444
  if (!this._websocketController) {
114302
114445
  return INSTS_NOT_SUPPORTED_RESULT;
114303
114446
  }
@@ -114315,7 +114458,8 @@ var RecordsServer = class {
114315
114458
  const result = await this._websocketController.listInsts(
114316
114459
  recordName,
114317
114460
  userId,
114318
- inst
114461
+ inst,
114462
+ marker
114319
114463
  );
114320
114464
  return result;
114321
114465
  }),
@@ -114436,8 +114580,8 @@ var RecordsServer = class {
114436
114580
  return {
114437
114581
  success: true,
114438
114582
  ...metadata,
114439
- version: true ? "v3.7.0" : void 0,
114440
- versionHash: true ? "d4436ee3adb292c986779e358d1987405424b3be" : void 0
114583
+ version: true ? "v3.7.1-alpha.17809973136" : void 0,
114584
+ versionHash: true ? "354e44de04bd26e9f898a4e893b704f4fe6d02e8" : void 0
114441
114585
  };
114442
114586
  })
114443
114587
  };
@@ -130155,6 +130299,13 @@ var SplitInstRecordsStore = class {
130155
130299
  listInstsByRecord(recordName, startingInst) {
130156
130300
  return this._permanent.listInstsByRecord(recordName, startingInst);
130157
130301
  }
130302
+ listInstsByRecordAndMarker(recordName, marker, startingInst) {
130303
+ return this._permanent.listInstsByRecordAndMarker(
130304
+ recordName,
130305
+ marker,
130306
+ startingInst
130307
+ );
130308
+ }
130158
130309
  async getBranchByName(recordName, inst, branch) {
130159
130310
  const tempResult = await this._temp.getBranchByName(
130160
130311
  recordName,
@@ -131637,21 +131788,6 @@ var WebhookRecordsController = class extends CrudRecordsController {
131637
131788
  };
131638
131789
  }
131639
131790
  }
131640
- if (action2 === "create") {
131641
- if (item && !item.userId) {
131642
- const result = await this._auth.createAccount({
131643
- userRole: "superUser",
131644
- // The system gets superUser permissions when performing administrative tasks
131645
- ipAddress: null,
131646
- createSession: false
131647
- });
131648
- if (result.success === false) {
131649
- return result;
131650
- } else {
131651
- item.userId = result.userId;
131652
- }
131653
- }
131654
- }
131655
131791
  if (action2 === "run") {
131656
131792
  if (typeof features.maxRunsPerPeriod === "number" && metrics2.totalRunsInPeriod >= features.maxRunsPerPeriod) {
131657
131793
  return {
@@ -131673,8 +131809,26 @@ var WebhookRecordsController = class extends CrudRecordsController {
131673
131809
  features
131674
131810
  };
131675
131811
  }
131676
- async _transformInputItem(item) {
131677
- delete item.userId;
131812
+ async _transformInputItem(item, existingItem, action2) {
131813
+ if (action2 !== "create" && action2 !== "update") {
131814
+ return failure({
131815
+ errorCode: "action_not_supported",
131816
+ errorMessage: `The action '${action2}' is not supported for webhook records.`
131817
+ });
131818
+ }
131819
+ if (action2 === "create") {
131820
+ const result = await this._auth.createAccount({
131821
+ userRole: "system",
131822
+ // The system gets superUser permissions when performing administrative tasks
131823
+ ipAddress: null,
131824
+ createSession: false
131825
+ });
131826
+ if (result.success === false) {
131827
+ return failure(result);
131828
+ } else {
131829
+ item.userId = result.userId;
131830
+ }
131831
+ }
131678
131832
  return success(item);
131679
131833
  }
131680
131834
  };
@@ -131934,7 +132088,9 @@ var WebsocketController = class {
131934
132088
  recordName,
131935
132089
  event.inst,
131936
132090
  connection.userId,
131937
- config2
132091
+ config2,
132092
+ null,
132093
+ event.markers
131938
132094
  );
131939
132095
  if (instResult.success === false) {
131940
132096
  await this.messenger.sendMessage([connectionId], {
@@ -132210,7 +132366,9 @@ var WebsocketController = class {
132210
132366
  event.recordName,
132211
132367
  event.inst,
132212
132368
  connection.userId,
132213
- config2
132369
+ config2,
132370
+ null,
132371
+ void 0
132214
132372
  );
132215
132373
  if (instResult.success === false) {
132216
132374
  await this.sendError(connectionId, -1, {
@@ -132492,7 +132650,9 @@ var WebsocketController = class {
132492
132650
  request2.recordName,
132493
132651
  request2.inst,
132494
132652
  request2.userId,
132495
- config2
132653
+ config2,
132654
+ null,
132655
+ void 0
132496
132656
  );
132497
132657
  if (instResult.success === false) {
132498
132658
  return instResult;
@@ -132997,7 +133157,7 @@ var WebsocketController = class {
132997
133157
  };
132998
133158
  }
132999
133159
  }
133000
- async listInsts(recordName, userId, startingInst) {
133160
+ async listInsts(recordName, userId, startingInst, marker) {
133001
133161
  try {
133002
133162
  if (!recordName) {
133003
133163
  return {
@@ -133014,11 +133174,13 @@ var WebsocketController = class {
133014
133174
  return contextResult;
133015
133175
  }
133016
133176
  const context = contextResult.context;
133177
+ const hasMarker = hasValue(marker);
133178
+ const markers = hasMarker ? [marker] : [PRIVATE_MARKER];
133017
133179
  const authorizeResult = await this._policies.authorizeUserAndInstances(context, {
133018
133180
  resourceKind: "inst",
133019
133181
  action: "list",
133020
133182
  userId,
133021
- markers: [PRIVATE_MARKER],
133183
+ markers,
133022
133184
  instances: []
133023
133185
  });
133024
133186
  if (authorizeResult.success === false) {
@@ -133041,7 +133203,11 @@ var WebsocketController = class {
133041
133203
  errorMessage: "Insts are not allowed for this subscription."
133042
133204
  };
133043
133205
  }
133044
- const instsResult = await this._instStore.listInstsByRecord(
133206
+ const instsResult = hasMarker ? await this._instStore.listInstsByRecordAndMarker(
133207
+ recordName,
133208
+ marker,
133209
+ startingInst
133210
+ ) : await this._instStore.listInstsByRecord(
133045
133211
  recordName,
133046
133212
  startingInst
133047
133213
  );
@@ -133766,7 +133932,7 @@ var WebsocketController = class {
133766
133932
  * @param userId The ID of the user that is trying to access the inst.
133767
133933
  * @param context The authorization context.
133768
133934
  */
133769
- async _getOrCreateInst(recordName, instName, userId, config2, context = null) {
133935
+ async _getOrCreateInst(recordName, instName, userId, config2, context = null, markers) {
133770
133936
  let inst = null;
133771
133937
  let features = null;
133772
133938
  if (recordName) {
@@ -133798,31 +133964,37 @@ var WebsocketController = class {
133798
133964
  }
133799
133965
  context = contextResult.context;
133800
133966
  }
133967
+ let instMarkers;
133968
+ if (markers && markers.length > 0) {
133969
+ instMarkers = markers;
133970
+ } else {
133971
+ if (recordName) {
133972
+ instMarkers = [PRIVATE_MARKER];
133973
+ } else {
133974
+ instMarkers = [PUBLIC_READ_MARKER];
133975
+ }
133976
+ }
133977
+ const resources = [
133978
+ {
133979
+ resourceKind: "inst",
133980
+ resourceId: instName,
133981
+ action: "create",
133982
+ markers: instMarkers
133983
+ },
133984
+ {
133985
+ resourceKind: "inst",
133986
+ resourceId: instName,
133987
+ action: "read",
133988
+ markers: instMarkers
133989
+ },
133990
+ ...getMarkerResourcesForCreation(instMarkers)
133991
+ ];
133801
133992
  const authorizationResult = await this._policies.authorizeUserAndInstancesForResources(
133802
133993
  context,
133803
133994
  {
133804
133995
  userId,
133805
133996
  instances: [],
133806
- resources: [
133807
- {
133808
- resourceKind: "inst",
133809
- resourceId: instName,
133810
- action: "create",
133811
- markers: [PRIVATE_MARKER]
133812
- },
133813
- {
133814
- resourceKind: "marker",
133815
- resourceId: PRIVATE_MARKER,
133816
- action: "assign",
133817
- markers: [ACCOUNT_MARKER]
133818
- },
133819
- {
133820
- resourceKind: "inst",
133821
- resourceId: instName,
133822
- action: "read",
133823
- markers: [PRIVATE_MARKER]
133824
- }
133825
- ]
133997
+ resources
133826
133998
  }
133827
133999
  );
133828
134000
  if (authorizationResult.success === false) {
@@ -133857,7 +134029,7 @@ var WebsocketController = class {
133857
134029
  inst = {
133858
134030
  recordName,
133859
134031
  inst: instName,
133860
- markers: [PRIVATE_MARKER],
134032
+ markers: instMarkers,
133861
134033
  subscriptionId: instMetrics.subscriptionId,
133862
134034
  subscriptionStatus: instMetrics.subscriptionStatus,
133863
134035
  subscriptionType: instMetrics.subscriptionType
@@ -134754,6 +134926,25 @@ var backgroundJobSchema = z.discriminatedUnion("type", [
134754
134926
  snsSchema,
134755
134927
  bullmqSchema
134756
134928
  ]);
134929
+ var tursoDatabaseProviderSchema = z.object({
134930
+ type: z.literal("turso"),
134931
+ organization: z.string().describe("The Turso organization name."),
134932
+ token: z.string().describe(
134933
+ "The API Token that should be used to access the Turso Platform API."
134934
+ ),
134935
+ group: z.string().describe("The Turso group name that databases should be placed in.")
134936
+ });
134937
+ var sqliteDatabaseProviderSchema = z.object({
134938
+ type: z.literal("sqlite"),
134939
+ folderPath: z.string().describe("The folder where the SQLite database files are stored.").min(1),
134940
+ encryptionKey: z.string().describe(
134941
+ "The encryption key that should be used for the SQLite databases. If omitted, then the databases will not be encrypted."
134942
+ ).min(10).optional()
134943
+ });
134944
+ var databasesProviderSchema = z.discriminatedUnion("type", [
134945
+ tursoDatabaseProviderSchema,
134946
+ sqliteDatabaseProviderSchema
134947
+ ]);
134757
134948
  var serverConfigSchema = z.object({
134758
134949
  s3: s3Schema.describe(
134759
134950
  "S3 Configuration Options. If omitted, then S3 cannot be used for file storage."
@@ -134875,6 +135066,13 @@ var serverConfigSchema = z.object({
134875
135066
  ).optional()
134876
135067
  }).describe(
134877
135068
  "Configuration options for background jobs. If omitted, then background jobs will not be supported."
135069
+ ).optional(),
135070
+ databases: z.object({
135071
+ provider: databasesProviderSchema.describe(
135072
+ "The options for the database provider that should be used."
135073
+ )
135074
+ }).describe(
135075
+ "Configuration options for database records. If omitted, then database records will be disabled."
134878
135076
  ).optional()
134879
135077
  });
134880
135078
 
@@ -146126,7 +146324,7 @@ var config = new Conf({
146126
146324
  projectName: "casualos-cli"
146127
146325
  });
146128
146326
  var program2 = new Command();
146129
- program2.name("casualos").description("A CLI for CasualOS").version("v3.7.0").option(
146327
+ program2.name("casualos").description("A CLI for CasualOS").version("v3.7.1-alpha.17809973136").option(
146130
146328
  "-e, --endpoint <url>",
146131
146329
  "The endpoint to use for queries. Can be used to override the current endpoint."
146132
146330
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "casualos",
3
- "version": "3.7.0",
3
+ "version": "3.7.1-alpha.17809973136",
4
4
  "description": "Command line interface for CasualOS.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "index.d.ts",
@@ -35,8 +35,8 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@casual-simulation/aux-common": "^3.7.0",
39
- "@casual-simulation/aux-records": "^3.7.0",
38
+ "@casual-simulation/aux-common": "^3.7.1-alpha.17809973136",
39
+ "@casual-simulation/aux-records": "^3.7.1-alpha.17809973136",
40
40
  "@octokit/app": "^15.1.0",
41
41
  "@octokit/auth-oauth-device": "^7.1.1",
42
42
  "@octokit/core": "^6.1.2",
@@ -63,5 +63,5 @@
63
63
  "**/*.def",
64
64
  "templates/**"
65
65
  ],
66
- "gitHead": "d4436ee3adb292c986779e358d1987405424b3be"
66
+ "gitHead": "354e44de04bd26e9f898a4e893b704f4fe6d02e8"
67
67
  }
package/schema.js CHANGED
@@ -145,6 +145,10 @@ async function evalResult(result, repl, type) {
145
145
  return value;
146
146
  }
147
147
  if (type && result !== undefined && result !== null && result !== '') {
148
+ if (type === Boolean && typeof result === 'string') {
149
+ const resultLowercase = result.toLowerCase();
150
+ return ['true', 'yes', 'on', 'y'].includes(resultLowercase);
151
+ }
148
152
  return type(result);
149
153
  }
150
154
  return result;
package/schema.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,OAAO,MAAM,SAAS,CAAC;AAa9B;;;GAGG;AACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7C,SAAS,YAAY,CAAC,KAAU;IAC5B,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAMD,MAAM,UAAU,OAAO,CAAC,KAAkB;IACtC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,MAAsB,EACtB,IAAY,EACZ,OAAwB,IAAI;;IAE5B,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC3B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,qBAAqB,IAAI,GAAG;gBACrC,OAAO,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,SAAS;gBACzC,OAAO;aACV,CAAC,CAAC;YAEH,OAAO,UAAU,CACb,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EACtD,IAAI,EACJ,MAAM,CACT,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;gBAC9B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,sBAAsB,IAAI,GAAG;gBACtC,OAAO,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,SAAS;gBACzC,OAAO;aACV,CAAC,CAAC;YAEH,OAAO,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBACrC,CAAC,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBACpC,CAAC,CAAC,MAAM,UAAU,CACZ,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EACtD,IAAI,EACJ,MAAM,CACT;oBACH,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;gBAC9B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU,IAAI,GAAG;gBAC1B,OAAO,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,SAAS;gBACzC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI;gBACd,OAAO;aACV,CAAC,CAAC;YAEH,OAAO,OAAO,QAAQ,CAAC,KAAK,KAAK,SAAS;gBACtC,CAAC,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBACpC,CAAC,CAAC,MAAM,UAAU,CACZ,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EACtD,IAAI,EACJ,OAAO,CACV;oBACH,CAAC,CAAC,MAAM,CAAC,QAAQ;wBACjB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC5B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,oBAAoB,IAAI,GAAG;gBACpC,OAAO,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,SAAS;gBACzC,OAAO;aACV,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,KAAK,YAAY,IAAI;gBACjC,CAAC,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBACpC,CAAC,CAAC,MAAM,UAAU,CACZ,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EACtD,IAAI,EACJ,IAAI,CACP;oBACH,CAAC,CAAC,MAAM,CAAC,QAAQ;wBACjB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,UAAU,CACrB,MAAW,EACX,IAAqB,EACrB,IAAS;IAET,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,4CAA4C;YAC5C,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC5D,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACX,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,MAA4B,EAC5B,IAAY,EACZ,IAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,cAAc,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,GAAG,CACN,MAAM,OAAO,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,yCAAyC,IAAI,GAAG;gBACzD,OAAO;aACV,CAAC,CACL,CAAC,QAAQ,CAAC;QACf,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACrC;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM,CAAC,QAAQ;aAC/B,EACD,IAAI,EACJ,IAAI,CACP,CAAC;YACF,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,MAA2B,EAC3B,IAAY,EACZ,IAAqB;;IAErB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAU,EAAE,CAAC;IAEzB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC3B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qCAAqC,IAAI,GAAG;YACrD,GAAG,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,SAAS;YAClC,GAAG,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,SAAS;YAClC,OAAO;SACV,CAAC,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CACvB,MAAsB,EACtB,OAA8D;IAE9D,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,OAAO,GAAG;YACN;gBACI,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,eAAe;gBAC5B,KAAK,EAAE,IAAI;aACd;YACD,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO,GAAG;YACN;gBACI,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,oBAAoB;gBACjC,KAAK,EAAE,gBAAgB;aAC1B;YACD,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC3B,MAA0B,EAC1B,IAAY,EACZ,IAAqB;IAErB,IAAI,OAAO,GAAG,kBAAkB,CAC5B,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACf,CAAC,CAAC,CACN,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,sBAAsB,IAAI,GAAG;QACtC,OAAO,EAAE,OAAO;QAChB,OAAO;KACV,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,MAA2B,EAC3B,IAAY,EACZ,IAAqB;IAErB,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;QAC5B,OAAO,MAAM,8BAA8B,CACvC,MAA0C,EAC1C,IAAI,EACJ,IAAI,CACP,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACvB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,qBAAqB,IAAI,GAAG;YACrC,OAAO,EAAE,kBAAkB,CACvB,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO;wBACH,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;wBAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,KAAK,EAAE,MAAM;qBAChB,CAAC;gBACN,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,OAAO;wBACH,KAAK,EAAE,QAAQ;wBACf,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,KAAK,EAAE;4BACH,IAAI,EAAE,MAAM;yBACf;qBACJ,CAAC;gBACN,CAAC;gBAED,OAAO;oBACH,KAAK,EAAE,MAAM,CAAC,IAAI;oBAClB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,KAAK,EAAE,MAAM;iBAChB,CAAC;YACN,CAAC,CAAC,CACL;YACD,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,MAA4B,EAC5B,IAAY,EACZ,IAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,GAAG,MAAM,OAAO,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,6BAA6B,IAAI,GAAG;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACX,MAAM;QACV,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,MAA2B,EAC3B,IAAY,EACZ,IAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAU,EAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,8BAA8B,CACzC,MAAwC,EACxC,IAAY,EACZ,IAAqB;IAErB,IAAI,OAAO,GAAG,kBAAkB,CAC5B,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO;gBACH,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM;aAChB,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;gBACH,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM;aAChB,CAAC;QACN,CAAC;QAED,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM;SAChB,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;QACvB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,YAAY,MAAM,CAAC,aAAa,QAAQ,IAAI,GAAG;QACxD,OAAO,EAAE,OAAO;QAChB,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,IAAY,EACZ,IAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;QACvB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,qBAAqB,IAAI,GAAG;QACrC,OAAO,EAAE;YACL;gBACI,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,eAAe;gBAC5B,KAAK,EAAE,MAAM;aAChB;YACD;gBACI,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,KAAK,EAAE,QAAQ;aAClB;YACD;gBACI,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,KAAK,EAAE,QAAQ;aAClB;YACD;gBACI,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,kBAAkB;gBAC/B,KAAK,EAAE,SAAS;aACnB;YACD;gBACI,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,eAAe;gBAC5B,KAAK,EAAE,MAAM;aAChB;SACJ;QACD,OAAO;KACV,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;oBAC3B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,0BAA0B,IAAI,GAAG;oBAC1C,OAAO;iBACV,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,KAAK,KAAK,EAAE,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxD,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvD,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,YAAY,CACrB;QACI,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;KACjB,EACD,IAAI,EACJ,IAAI,CACP,CAAC;AACN,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,MAAsB,EACtB,IAAY,EACZ,IAAqB;IAErB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC3B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,oCAAoC,IAAI,GAAG;YACpD,OAAO;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":"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"}