superposition-sdk 0.90.0__py3-none-any.whl → 0.91.1__py3-none-any.whl

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.

Potentially problematic release.


This version of superposition-sdk might be problematic. Click here for more details.

@@ -9,6 +9,7 @@ from typing import Any, ClassVar, Literal, Self, Union
9
9
  from smithy_core.deserializers import ShapeDeserializer
10
10
  from smithy_core.documents import Document, TypeRegistry
11
11
  from smithy_core.exceptions import SmithyException
12
+ from smithy_core.prelude import UNIT as _SCHEMA_UNIT
12
13
  from smithy_core.schemas import APIOperation, Schema
13
14
  from smithy_core.serializers import ShapeSerializer
14
15
  from smithy_core.shapes import ShapeID
@@ -88,6 +89,8 @@ from ._private.schemas import (
88
89
  DELETE_TYPE_TEMPLATES_INPUT as _SCHEMA_DELETE_TYPE_TEMPLATES_INPUT,
89
90
  DELETE_TYPE_TEMPLATES_OUTPUT as _SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT,
90
91
  DIMENSION_EXT as _SCHEMA_DIMENSION_EXT,
92
+ DIMENSION_INFO as _SCHEMA_DIMENSION_INFO,
93
+ DIMENSION_TYPE as _SCHEMA_DIMENSION_TYPE,
91
94
  DISCARD_EXPERIMENT as _SCHEMA_DISCARD_EXPERIMENT,
92
95
  DISCARD_EXPERIMENT_INPUT as _SCHEMA_DISCARD_EXPERIMENT_INPUT,
93
96
  DISCARD_EXPERIMENT_OUTPUT as _SCHEMA_DISCARD_EXPERIMENT_OUTPUT,
@@ -2325,6 +2328,227 @@ def _deserialize_object(deserializer: ShapeDeserializer, schema: Schema) -> dict
2325
2328
  deserializer.read_map(schema, _read_value)
2326
2329
  return result
2327
2330
 
2331
+ def _serialize_depedendency_graph(serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]]) -> None:
2332
+ with serializer.begin_map(schema, len(value)) as m:
2333
+ value_schema = schema.members["value"]
2334
+ for k, v in value.items():
2335
+ m.entry(k, lambda vs: _serialize_string_list(vs, value_schema, v))
2336
+
2337
+ def _deserialize_depedendency_graph(deserializer: ShapeDeserializer, schema: Schema) -> dict[str, list[str]]:
2338
+ result: dict[str, list[str]] = {}
2339
+ value_schema = schema.members["value"]
2340
+ def _read_value(k: str, d: ShapeDeserializer):
2341
+ if d.is_null():
2342
+ d.read_null()
2343
+
2344
+ else:
2345
+ result[k] = _deserialize_string_list(d, value_schema)
2346
+ deserializer.read_map(schema, _read_value)
2347
+ return result
2348
+
2349
+ @dataclass(kw_only=True)
2350
+ class Unit:
2351
+
2352
+ def serialize(self, serializer: ShapeSerializer):
2353
+ serializer.write_struct(_SCHEMA_UNIT, self)
2354
+
2355
+ def serialize_members(self, serializer: ShapeSerializer):
2356
+ pass
2357
+
2358
+ @classmethod
2359
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2360
+ return cls(**cls.deserialize_kwargs(deserializer))
2361
+
2362
+ @classmethod
2363
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
2364
+ kwargs: dict[str, Any] = {}
2365
+
2366
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
2367
+ match schema.expect_member_index():
2368
+
2369
+ case _:
2370
+ logger.debug("Unexpected member schema: %s", schema)
2371
+
2372
+ deserializer.read_struct(_SCHEMA_UNIT, consumer=_consumer)
2373
+ return kwargs
2374
+
2375
+ @dataclass
2376
+ class DimensionTypeREGULAR:
2377
+
2378
+ value: Unit
2379
+
2380
+ def serialize(self, serializer: ShapeSerializer):
2381
+ serializer.write_struct(_SCHEMA_DIMENSION_TYPE, self)
2382
+
2383
+ def serialize_members(self, serializer: ShapeSerializer):
2384
+ serializer.write_struct(_SCHEMA_DIMENSION_TYPE.members["REGULAR"], self.value)
2385
+
2386
+ @classmethod
2387
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2388
+ return cls(value=Unit.deserialize(deserializer))
2389
+
2390
+ @dataclass
2391
+ class DimensionTypeLOCAL_COHORT:
2392
+
2393
+ value: str
2394
+
2395
+ def serialize(self, serializer: ShapeSerializer):
2396
+ serializer.write_struct(_SCHEMA_DIMENSION_TYPE, self)
2397
+
2398
+ def serialize_members(self, serializer: ShapeSerializer):
2399
+ serializer.write_string(_SCHEMA_DIMENSION_TYPE.members["LOCAL_COHORT"], self.value)
2400
+
2401
+ @classmethod
2402
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2403
+ return cls(value=deserializer.read_string(_SCHEMA_DIMENSION_TYPE.members["LOCAL_COHORT"]))
2404
+
2405
+ @dataclass
2406
+ class DimensionTypeREMOTE_COHORT:
2407
+
2408
+ value: str
2409
+
2410
+ def serialize(self, serializer: ShapeSerializer):
2411
+ serializer.write_struct(_SCHEMA_DIMENSION_TYPE, self)
2412
+
2413
+ def serialize_members(self, serializer: ShapeSerializer):
2414
+ serializer.write_string(_SCHEMA_DIMENSION_TYPE.members["REMOTE_COHORT"], self.value)
2415
+
2416
+ @classmethod
2417
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2418
+ return cls(value=deserializer.read_string(_SCHEMA_DIMENSION_TYPE.members["REMOTE_COHORT"]))
2419
+
2420
+ @dataclass
2421
+ class DimensionTypeUnknown:
2422
+ """Represents an unknown variant.
2423
+
2424
+ If you receive this value, you will need to update your library to receive the
2425
+ parsed value.
2426
+
2427
+ This value may not be deliberately sent.
2428
+ """
2429
+
2430
+ tag: str
2431
+
2432
+ def serialize(self, serializer: ShapeSerializer):
2433
+ raise SmithyException("Unknown union variants may not be serialized.")
2434
+
2435
+ def serialize_members(self, serializer: ShapeSerializer):
2436
+ raise SmithyException("Unknown union variants may not be serialized.")
2437
+
2438
+ @classmethod
2439
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2440
+ raise NotImplementedError()
2441
+
2442
+ DimensionType = Union[DimensionTypeREGULAR | DimensionTypeLOCAL_COHORT | DimensionTypeREMOTE_COHORT | DimensionTypeUnknown]
2443
+
2444
+ class _DimensionTypeDeserializer:
2445
+ _result: DimensionType | None = None
2446
+
2447
+ def deserialize(self, deserializer: ShapeDeserializer) -> DimensionType:
2448
+ self._result = None
2449
+ deserializer.read_struct(_SCHEMA_DIMENSION_TYPE, self._consumer)
2450
+
2451
+ if self._result is None:
2452
+ raise SmithyException("Unions must have exactly one value, but found none.")
2453
+
2454
+ return self._result
2455
+
2456
+ def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None:
2457
+ match schema.expect_member_index():
2458
+ case 0:
2459
+ self._set_result(DimensionTypeREGULAR.deserialize(de))
2460
+
2461
+ case 1:
2462
+ self._set_result(DimensionTypeLOCAL_COHORT.deserialize(de))
2463
+
2464
+ case 2:
2465
+ self._set_result(DimensionTypeREMOTE_COHORT.deserialize(de))
2466
+
2467
+ case _:
2468
+ logger.debug("Unexpected member schema: %s", schema)
2469
+
2470
+ def _set_result(self, value: DimensionType) -> None:
2471
+ if self._result is not None:
2472
+ raise SmithyException("Unions must have exactly one value, but found more than one.")
2473
+ self._result = value
2474
+
2475
+ @dataclass(kw_only=True)
2476
+ class DimensionInfo:
2477
+ """
2478
+
2479
+ :param schema:
2480
+ Generic key-value object structure used for flexible data representation
2481
+ throughout the API.
2482
+
2483
+ """
2484
+
2485
+ schema: dict[str, Document] | None = None
2486
+ position: int | None = None
2487
+ dimension_type: DimensionType | None = None
2488
+ dependency_graph: dict[str, list[str]] | None = None
2489
+
2490
+ def serialize(self, serializer: ShapeSerializer):
2491
+ serializer.write_struct(_SCHEMA_DIMENSION_INFO, self)
2492
+
2493
+ def serialize_members(self, serializer: ShapeSerializer):
2494
+ if self.schema is not None:
2495
+ _serialize_object(serializer, _SCHEMA_DIMENSION_INFO.members["schema"], self.schema)
2496
+
2497
+ if self.position is not None:
2498
+ serializer.write_integer(_SCHEMA_DIMENSION_INFO.members["position"], self.position)
2499
+
2500
+ if self.dimension_type is not None:
2501
+ serializer.write_struct(_SCHEMA_DIMENSION_INFO.members["dimension_type"], self.dimension_type)
2502
+
2503
+ if self.dependency_graph is not None:
2504
+ _serialize_depedendency_graph(serializer, _SCHEMA_DIMENSION_INFO.members["dependency_graph"], self.dependency_graph)
2505
+
2506
+ @classmethod
2507
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2508
+ return cls(**cls.deserialize_kwargs(deserializer))
2509
+
2510
+ @classmethod
2511
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
2512
+ kwargs: dict[str, Any] = {}
2513
+
2514
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
2515
+ match schema.expect_member_index():
2516
+ case 0:
2517
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_DIMENSION_INFO.members["schema"])
2518
+
2519
+ case 1:
2520
+ kwargs["position"] = de.read_integer(_SCHEMA_DIMENSION_INFO.members["position"])
2521
+
2522
+ case 2:
2523
+ kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
2524
+
2525
+ case 3:
2526
+ kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_DIMENSION_INFO.members["dependency_graph"])
2527
+
2528
+ case _:
2529
+ logger.debug("Unexpected member schema: %s", schema)
2530
+
2531
+ deserializer.read_struct(_SCHEMA_DIMENSION_INFO, consumer=_consumer)
2532
+ return kwargs
2533
+
2534
+ def _serialize_dimension_data(serializer: ShapeSerializer, schema: Schema, value: dict[str, DimensionInfo]) -> None:
2535
+ with serializer.begin_map(schema, len(value)) as m:
2536
+ value_schema = schema.members["value"]
2537
+ for k, v in value.items():
2538
+ m.entry(k, lambda vs: vs.write_struct(value_schema, v))
2539
+
2540
+ def _deserialize_dimension_data(deserializer: ShapeDeserializer, schema: Schema) -> dict[str, DimensionInfo]:
2541
+ result: dict[str, DimensionInfo] = {}
2542
+ value_schema = schema.members["value"]
2543
+ def _read_value(k: str, d: ShapeDeserializer):
2544
+ if d.is_null():
2545
+ d.read_null()
2546
+
2547
+ else:
2548
+ result[k] = DimensionInfo.deserialize(d)
2549
+ deserializer.read_map(schema, _read_value)
2550
+ return result
2551
+
2328
2552
  def _serialize_overrides_map(serializer: ShapeSerializer, schema: Schema, value: dict[str, dict[str, Document]]) -> None:
2329
2553
  with serializer.begin_map(schema, len(value)) as m:
2330
2554
  value_schema = schema.members["value"]
@@ -2356,6 +2580,7 @@ class GetConfigOutput:
2356
2580
  contexts: list[ContextPartial] | None = None
2357
2581
  overrides: dict[str, dict[str, Document]] | None = None
2358
2582
  default_configs: dict[str, Document] | None = None
2583
+ dimensions: dict[str, DimensionInfo] | None = None
2359
2584
  version: str | None = None
2360
2585
  last_modified: datetime | None = None
2361
2586
  audit_id: str | None = None
@@ -2373,6 +2598,9 @@ class GetConfigOutput:
2373
2598
  if self.default_configs is not None:
2374
2599
  _serialize_object(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["default_configs"], self.default_configs)
2375
2600
 
2601
+ if self.dimensions is not None:
2602
+ _serialize_dimension_data(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["dimensions"], self.dimensions)
2603
+
2376
2604
  @classmethod
2377
2605
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2378
2606
  return cls(**cls.deserialize_kwargs(deserializer))
@@ -2393,12 +2621,15 @@ class GetConfigOutput:
2393
2621
  kwargs["default_configs"] = _deserialize_object(de, _SCHEMA_GET_CONFIG_OUTPUT.members["default_configs"])
2394
2622
 
2395
2623
  case 3:
2396
- kwargs["version"] = de.read_string(_SCHEMA_GET_CONFIG_OUTPUT.members["version"])
2624
+ kwargs["dimensions"] = _deserialize_dimension_data(de, _SCHEMA_GET_CONFIG_OUTPUT.members["dimensions"])
2397
2625
 
2398
2626
  case 4:
2399
- kwargs["last_modified"] = de.read_timestamp(_SCHEMA_GET_CONFIG_OUTPUT.members["last_modified"])
2627
+ kwargs["version"] = de.read_string(_SCHEMA_GET_CONFIG_OUTPUT.members["version"])
2400
2628
 
2401
2629
  case 5:
2630
+ kwargs["last_modified"] = de.read_timestamp(_SCHEMA_GET_CONFIG_OUTPUT.members["last_modified"])
2631
+
2632
+ case 6:
2402
2633
  kwargs["audit_id"] = de.read_string(_SCHEMA_GET_CONFIG_OUTPUT.members["audit_id"])
2403
2634
 
2404
2635
  case _:
@@ -4169,6 +4400,10 @@ WEIGHT_RECOMPUTE = APIOperation(
4169
4400
  class CreateDefaultConfigInput:
4170
4401
  """
4171
4402
 
4403
+ :param schema:
4404
+ **[Required]** - Generic key-value object structure used for flexible data
4405
+ representation throughout the API.
4406
+
4172
4407
  :param function_name:
4173
4408
  Optional
4174
4409
 
@@ -4176,7 +4411,7 @@ class CreateDefaultConfigInput:
4176
4411
 
4177
4412
  key: str | None = None
4178
4413
  value: Document | None = None
4179
- schema: Document | None = None
4414
+ schema: dict[str, Document] | None = None
4180
4415
  description: str | None = None
4181
4416
  change_reason: str | None = None
4182
4417
  function_name: str | None = None
@@ -4195,7 +4430,7 @@ class CreateDefaultConfigInput:
4195
4430
  serializer.write_document(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["value"], self.value)
4196
4431
 
4197
4432
  if self.schema is not None:
4198
- serializer.write_document(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["schema"], self.schema)
4433
+ _serialize_object(serializer, _SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["schema"], self.schema)
4199
4434
 
4200
4435
  if self.description is not None:
4201
4436
  serializer.write_string(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["description"], self.description)
@@ -4226,7 +4461,7 @@ class CreateDefaultConfigInput:
4226
4461
  kwargs["value"] = de.read_document(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["value"])
4227
4462
 
4228
4463
  case 2:
4229
- kwargs["schema"] = de.read_document(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["schema"])
4464
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["schema"])
4230
4465
 
4231
4466
  case 3:
4232
4467
  kwargs["description"] = de.read_string(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT.members["description"])
@@ -4256,6 +4491,10 @@ class CreateDefaultConfigInput:
4256
4491
  class CreateDefaultConfigOutput:
4257
4492
  """
4258
4493
 
4494
+ :param schema:
4495
+ **[Required]** - Generic key-value object structure used for flexible data
4496
+ representation throughout the API.
4497
+
4259
4498
  :param function_name:
4260
4499
  Optional
4261
4500
 
@@ -4265,7 +4504,7 @@ class CreateDefaultConfigOutput:
4265
4504
 
4266
4505
  value: Document
4267
4506
 
4268
- schema: Document
4507
+ schema: dict[str, Document]
4269
4508
 
4270
4509
  description: str
4271
4510
 
@@ -4288,7 +4527,7 @@ class CreateDefaultConfigOutput:
4288
4527
  def serialize_members(self, serializer: ShapeSerializer):
4289
4528
  serializer.write_string(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["key"], self.key)
4290
4529
  serializer.write_document(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["value"], self.value)
4291
- serializer.write_document(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["schema"], self.schema)
4530
+ _serialize_object(serializer, _SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["schema"], self.schema)
4292
4531
  serializer.write_string(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["description"], self.description)
4293
4532
  serializer.write_string(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["change_reason"], self.change_reason)
4294
4533
  if self.function_name is not None:
@@ -4319,7 +4558,7 @@ class CreateDefaultConfigOutput:
4319
4558
  kwargs["value"] = de.read_document(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["value"])
4320
4559
 
4321
4560
  case 2:
4322
- kwargs["schema"] = de.read_document(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["schema"])
4561
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["schema"])
4323
4562
 
4324
4563
  case 3:
4325
4564
  kwargs["description"] = de.read_string(_SCHEMA_CREATE_DEFAULT_CONFIG_OUTPUT.members["description"])
@@ -4365,36 +4604,25 @@ CREATE_DEFAULT_CONFIG = APIOperation(
4365
4604
  ]
4366
4605
  )
4367
4606
 
4368
- def _serialize_dependencies(serializer: ShapeSerializer, schema: Schema, value: list[str]) -> None:
4369
- member_schema = schema.members["member"]
4370
- with serializer.begin_list(schema, len(value)) as ls:
4371
- for e in value:
4372
- ls.write_string(member_schema, e)
4373
-
4374
- def _deserialize_dependencies(deserializer: ShapeDeserializer, schema: Schema) -> list[str]:
4375
- result: list[str] = []
4376
- member_schema = schema.members["member"]
4377
- def _read_value(d: ShapeDeserializer):
4378
- if d.is_null():
4379
- d.read_null()
4380
-
4381
- else:
4382
- result.append(d.read_string(member_schema))
4383
- deserializer.read_list(schema, _read_value)
4384
- return result
4385
-
4386
4607
  @dataclass(kw_only=True)
4387
4608
  class CreateDimensionInput:
4609
+ """
4610
+
4611
+ :param schema:
4612
+ **[Required]** - Generic key-value object structure used for flexible data
4613
+ representation throughout the API.
4614
+
4615
+ """
4388
4616
 
4389
4617
  workspace_id: str | None = None
4390
4618
  org_id: str = "juspay"
4391
4619
  dimension: str | None = None
4392
4620
  position: int | None = None
4393
- schema: Document | None = None
4621
+ schema: dict[str, Document] | None = None
4394
4622
  function_name: str | None = None
4395
- dependencies: list[str] | None = None
4396
4623
  description: str | None = None
4397
4624
  change_reason: str | None = None
4625
+ dimension_type: DimensionType | None = None
4398
4626
  autocomplete_function_name: str | None = None
4399
4627
 
4400
4628
  def serialize(self, serializer: ShapeSerializer):
@@ -4408,20 +4636,20 @@ class CreateDimensionInput:
4408
4636
  serializer.write_integer(_SCHEMA_CREATE_DIMENSION_INPUT.members["position"], self.position)
4409
4637
 
4410
4638
  if self.schema is not None:
4411
- serializer.write_document(_SCHEMA_CREATE_DIMENSION_INPUT.members["schema"], self.schema)
4639
+ _serialize_object(serializer, _SCHEMA_CREATE_DIMENSION_INPUT.members["schema"], self.schema)
4412
4640
 
4413
4641
  if self.function_name is not None:
4414
4642
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["function_name"], self.function_name)
4415
4643
 
4416
- if self.dependencies is not None:
4417
- _serialize_dependencies(serializer, _SCHEMA_CREATE_DIMENSION_INPUT.members["dependencies"], self.dependencies)
4418
-
4419
4644
  if self.description is not None:
4420
4645
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["description"], self.description)
4421
4646
 
4422
4647
  if self.change_reason is not None:
4423
4648
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["change_reason"], self.change_reason)
4424
4649
 
4650
+ if self.dimension_type is not None:
4651
+ serializer.write_struct(_SCHEMA_CREATE_DIMENSION_INPUT.members["dimension_type"], self.dimension_type)
4652
+
4425
4653
  if self.autocomplete_function_name is not None:
4426
4654
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
4427
4655
 
@@ -4448,19 +4676,19 @@ class CreateDimensionInput:
4448
4676
  kwargs["position"] = de.read_integer(_SCHEMA_CREATE_DIMENSION_INPUT.members["position"])
4449
4677
 
4450
4678
  case 4:
4451
- kwargs["schema"] = de.read_document(_SCHEMA_CREATE_DIMENSION_INPUT.members["schema"])
4679
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_CREATE_DIMENSION_INPUT.members["schema"])
4452
4680
 
4453
4681
  case 5:
4454
4682
  kwargs["function_name"] = de.read_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["function_name"])
4455
4683
 
4456
4684
  case 6:
4457
- kwargs["dependencies"] = _deserialize_dependencies(de, _SCHEMA_CREATE_DIMENSION_INPUT.members["dependencies"])
4685
+ kwargs["description"] = de.read_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["description"])
4458
4686
 
4459
4687
  case 7:
4460
- kwargs["description"] = de.read_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["description"])
4688
+ kwargs["change_reason"] = de.read_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["change_reason"])
4461
4689
 
4462
4690
  case 8:
4463
- kwargs["change_reason"] = de.read_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["change_reason"])
4691
+ kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
4464
4692
 
4465
4693
  case 9:
4466
4694
  kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_CREATE_DIMENSION_INPUT.members["autocomplete_function_name"])
@@ -4471,29 +4699,11 @@ class CreateDimensionInput:
4471
4699
  deserializer.read_struct(_SCHEMA_CREATE_DIMENSION_INPUT, consumer=_consumer)
4472
4700
  return kwargs
4473
4701
 
4474
- def _serialize_dependents(serializer: ShapeSerializer, schema: Schema, value: list[str]) -> None:
4475
- member_schema = schema.members["member"]
4476
- with serializer.begin_list(schema, len(value)) as ls:
4477
- for e in value:
4478
- ls.write_string(member_schema, e)
4479
-
4480
- def _deserialize_dependents(deserializer: ShapeDeserializer, schema: Schema) -> list[str]:
4481
- result: list[str] = []
4482
- member_schema = schema.members["member"]
4483
- def _read_value(d: ShapeDeserializer):
4484
- if d.is_null():
4485
- d.read_null()
4486
-
4487
- else:
4488
- result.append(d.read_string(member_schema))
4489
- deserializer.read_list(schema, _read_value)
4490
- return result
4491
-
4492
4702
  @dataclass(kw_only=True)
4493
4703
  class CreateDimensionOutput:
4494
4704
  """
4495
4705
 
4496
- :param dependency_graph:
4706
+ :param schema:
4497
4707
  **[Required]** - Generic key-value object structure used for flexible data
4498
4708
  representation throughout the API.
4499
4709
 
@@ -4503,7 +4713,7 @@ class CreateDimensionOutput:
4503
4713
 
4504
4714
  position: int
4505
4715
 
4506
- schema: Document
4716
+ schema: dict[str, Document]
4507
4717
 
4508
4718
  description: str
4509
4719
 
@@ -4517,11 +4727,9 @@ class CreateDimensionOutput:
4517
4727
 
4518
4728
  created_by: str
4519
4729
 
4520
- dependencies: list[str]
4521
-
4522
- dependents: list[str]
4730
+ dependency_graph: dict[str, list[str]]
4523
4731
 
4524
- dependency_graph: dict[str, Document]
4732
+ dimension_type: DimensionType
4525
4733
 
4526
4734
  function_name: str | None = None
4527
4735
  autocomplete_function_name: str | None = None
@@ -4533,7 +4741,7 @@ class CreateDimensionOutput:
4533
4741
  def serialize_members(self, serializer: ShapeSerializer):
4534
4742
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["dimension"], self.dimension)
4535
4743
  serializer.write_integer(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["position"], self.position)
4536
- serializer.write_document(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["schema"], self.schema)
4744
+ _serialize_object(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["schema"], self.schema)
4537
4745
  if self.function_name is not None:
4538
4746
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["function_name"], self.function_name)
4539
4747
 
@@ -4543,9 +4751,8 @@ class CreateDimensionOutput:
4543
4751
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["last_modified_by"], self.last_modified_by)
4544
4752
  serializer.write_timestamp(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["created_at"], self.created_at)
4545
4753
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["created_by"], self.created_by)
4546
- _serialize_dependencies(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependencies"], self.dependencies)
4547
- _serialize_dependents(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependents"], self.dependents)
4548
- _serialize_object(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
4754
+ _serialize_depedendency_graph(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
4755
+ serializer.write_struct(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["dimension_type"], self.dimension_type)
4549
4756
  if self.autocomplete_function_name is not None:
4550
4757
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
4551
4758
 
@@ -4569,7 +4776,7 @@ class CreateDimensionOutput:
4569
4776
  kwargs["position"] = de.read_integer(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["position"])
4570
4777
 
4571
4778
  case 2:
4572
- kwargs["schema"] = de.read_document(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["schema"])
4779
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["schema"])
4573
4780
 
4574
4781
  case 3:
4575
4782
  kwargs["function_name"] = de.read_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["function_name"])
@@ -4593,18 +4800,15 @@ class CreateDimensionOutput:
4593
4800
  kwargs["created_by"] = de.read_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["created_by"])
4594
4801
 
4595
4802
  case 10:
4596
- kwargs["dependencies"] = _deserialize_dependencies(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependencies"])
4803
+ kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"])
4597
4804
 
4598
4805
  case 11:
4599
- kwargs["dependents"] = _deserialize_dependents(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependents"])
4806
+ kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
4600
4807
 
4601
4808
  case 12:
4602
- kwargs["dependency_graph"] = _deserialize_object(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"])
4603
-
4604
- case 13:
4605
4809
  kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["autocomplete_function_name"])
4606
4810
 
4607
- case 14:
4811
+ case 13:
4608
4812
  kwargs["mandatory"] = de.read_boolean(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["mandatory"])
4609
4813
 
4610
4814
  case _:
@@ -5504,11 +5708,18 @@ CREATE_ORGANISATION = APIOperation(
5504
5708
 
5505
5709
  @dataclass(kw_only=True)
5506
5710
  class CreateTypeTemplatesInput:
5711
+ """
5712
+
5713
+ :param type_schema:
5714
+ **[Required]** - Generic key-value object structure used for flexible data
5715
+ representation throughout the API.
5716
+
5717
+ """
5507
5718
 
5508
5719
  workspace_id: str | None = None
5509
5720
  org_id: str = "juspay"
5510
5721
  type_name: str | None = None
5511
- type_schema: Document | None = None
5722
+ type_schema: dict[str, Document] | None = None
5512
5723
  description: str | None = None
5513
5724
  change_reason: str | None = None
5514
5725
 
@@ -5520,7 +5731,7 @@ class CreateTypeTemplatesInput:
5520
5731
  serializer.write_string(_SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["type_name"], self.type_name)
5521
5732
 
5522
5733
  if self.type_schema is not None:
5523
- serializer.write_document(_SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["type_schema"], self.type_schema)
5734
+ _serialize_object(serializer, _SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["type_schema"], self.type_schema)
5524
5735
 
5525
5736
  if self.description is not None:
5526
5737
  serializer.write_string(_SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["description"], self.description)
@@ -5548,7 +5759,7 @@ class CreateTypeTemplatesInput:
5548
5759
  kwargs["type_name"] = de.read_string(_SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["type_name"])
5549
5760
 
5550
5761
  case 3:
5551
- kwargs["type_schema"] = de.read_document(_SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["type_schema"])
5762
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["type_schema"])
5552
5763
 
5553
5764
  case 4:
5554
5765
  kwargs["description"] = de.read_string(_SCHEMA_CREATE_TYPE_TEMPLATES_INPUT.members["description"])
@@ -5564,10 +5775,17 @@ class CreateTypeTemplatesInput:
5564
5775
 
5565
5776
  @dataclass(kw_only=True)
5566
5777
  class CreateTypeTemplatesOutput:
5778
+ """
5779
+
5780
+ :param type_schema:
5781
+ **[Required]** - Generic key-value object structure used for flexible data
5782
+ representation throughout the API.
5783
+
5784
+ """
5567
5785
 
5568
5786
  type_name: str
5569
5787
 
5570
- type_schema: Document
5788
+ type_schema: dict[str, Document]
5571
5789
 
5572
5790
  description: str
5573
5791
 
@@ -5586,7 +5804,7 @@ class CreateTypeTemplatesOutput:
5586
5804
 
5587
5805
  def serialize_members(self, serializer: ShapeSerializer):
5588
5806
  serializer.write_string(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["type_name"], self.type_name)
5589
- serializer.write_document(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"], self.type_schema)
5807
+ _serialize_object(serializer, _SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"], self.type_schema)
5590
5808
  serializer.write_string(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["description"], self.description)
5591
5809
  serializer.write_string(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["change_reason"], self.change_reason)
5592
5810
  serializer.write_string(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["created_by"], self.created_by)
@@ -5608,7 +5826,7 @@ class CreateTypeTemplatesOutput:
5608
5826
  kwargs["type_name"] = de.read_string(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["type_name"])
5609
5827
 
5610
5828
  case 1:
5611
- kwargs["type_schema"] = de.read_document(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"])
5829
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"])
5612
5830
 
5613
5831
  case 2:
5614
5832
  kwargs["description"] = de.read_string(_SCHEMA_CREATE_TYPE_TEMPLATES_OUTPUT.members["description"])
@@ -6283,6 +6501,10 @@ class ListDefaultConfigsInput:
6283
6501
  class DefaultConfigFull:
6284
6502
  """
6285
6503
 
6504
+ :param schema:
6505
+ **[Required]** - Generic key-value object structure used for flexible data
6506
+ representation throughout the API.
6507
+
6286
6508
  :param function_name:
6287
6509
  Optional
6288
6510
 
@@ -6292,7 +6514,7 @@ class DefaultConfigFull:
6292
6514
 
6293
6515
  value: Document
6294
6516
 
6295
- schema: Document
6517
+ schema: dict[str, Document]
6296
6518
 
6297
6519
  description: str
6298
6520
 
@@ -6315,7 +6537,7 @@ class DefaultConfigFull:
6315
6537
  def serialize_members(self, serializer: ShapeSerializer):
6316
6538
  serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["key"], self.key)
6317
6539
  serializer.write_document(_SCHEMA_DEFAULT_CONFIG_FULL.members["value"], self.value)
6318
- serializer.write_document(_SCHEMA_DEFAULT_CONFIG_FULL.members["schema"], self.schema)
6540
+ _serialize_object(serializer, _SCHEMA_DEFAULT_CONFIG_FULL.members["schema"], self.schema)
6319
6541
  serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["description"], self.description)
6320
6542
  serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["change_reason"], self.change_reason)
6321
6543
  if self.function_name is not None:
@@ -6346,7 +6568,7 @@ class DefaultConfigFull:
6346
6568
  kwargs["value"] = de.read_document(_SCHEMA_DEFAULT_CONFIG_FULL.members["value"])
6347
6569
 
6348
6570
  case 2:
6349
- kwargs["schema"] = de.read_document(_SCHEMA_DEFAULT_CONFIG_FULL.members["schema"])
6571
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_DEFAULT_CONFIG_FULL.members["schema"])
6350
6572
 
6351
6573
  case 3:
6352
6574
  kwargs["description"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["description"])
@@ -6457,13 +6679,20 @@ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6457
6679
 
6458
6680
  @dataclass(kw_only=True)
6459
6681
  class UpdateDefaultConfigInput:
6682
+ """
6683
+
6684
+ :param schema:
6685
+ Generic key-value object structure used for flexible data representation
6686
+ throughout the API.
6687
+
6688
+ """
6460
6689
 
6461
6690
  workspace_id: str | None = None
6462
6691
  org_id: str = "juspay"
6463
6692
  key: str | None = None
6464
6693
  change_reason: str | None = None
6465
6694
  value: Document | None = None
6466
- schema: Document | None = None
6695
+ schema: dict[str, Document] | None = None
6467
6696
  function_name: str | None = None
6468
6697
  description: str | None = None
6469
6698
  autocomplete_function_name: str | None = None
@@ -6479,7 +6708,7 @@ class UpdateDefaultConfigInput:
6479
6708
  serializer.write_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["value"], self.value)
6480
6709
 
6481
6710
  if self.schema is not None:
6482
- serializer.write_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["schema"], self.schema)
6711
+ _serialize_object(serializer, _SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["schema"], self.schema)
6483
6712
 
6484
6713
  if self.function_name is not None:
6485
6714
  serializer.write_string(_SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["function_name"], self.function_name)
@@ -6516,7 +6745,7 @@ class UpdateDefaultConfigInput:
6516
6745
  kwargs["value"] = de.read_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["value"])
6517
6746
 
6518
6747
  case 5:
6519
- kwargs["schema"] = de.read_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["schema"])
6748
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["schema"])
6520
6749
 
6521
6750
  case 6:
6522
6751
  kwargs["function_name"] = de.read_string(_SCHEMA_UPDATE_DEFAULT_CONFIG_INPUT.members["function_name"])
@@ -6537,6 +6766,10 @@ class UpdateDefaultConfigInput:
6537
6766
  class UpdateDefaultConfigOutput:
6538
6767
  """
6539
6768
 
6769
+ :param schema:
6770
+ **[Required]** - Generic key-value object structure used for flexible data
6771
+ representation throughout the API.
6772
+
6540
6773
  :param function_name:
6541
6774
  Optional
6542
6775
 
@@ -6546,7 +6779,7 @@ class UpdateDefaultConfigOutput:
6546
6779
 
6547
6780
  value: Document
6548
6781
 
6549
- schema: Document
6782
+ schema: dict[str, Document]
6550
6783
 
6551
6784
  description: str
6552
6785
 
@@ -6569,7 +6802,7 @@ class UpdateDefaultConfigOutput:
6569
6802
  def serialize_members(self, serializer: ShapeSerializer):
6570
6803
  serializer.write_string(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["key"], self.key)
6571
6804
  serializer.write_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["value"], self.value)
6572
- serializer.write_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["schema"], self.schema)
6805
+ _serialize_object(serializer, _SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["schema"], self.schema)
6573
6806
  serializer.write_string(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["description"], self.description)
6574
6807
  serializer.write_string(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["change_reason"], self.change_reason)
6575
6808
  if self.function_name is not None:
@@ -6600,7 +6833,7 @@ class UpdateDefaultConfigOutput:
6600
6833
  kwargs["value"] = de.read_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["value"])
6601
6834
 
6602
6835
  case 2:
6603
- kwargs["schema"] = de.read_document(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["schema"])
6836
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["schema"])
6604
6837
 
6605
6838
  case 3:
6606
6839
  kwargs["description"] = de.read_string(_SCHEMA_UPDATE_DEFAULT_CONFIG_OUTPUT.members["description"])
@@ -7045,10 +7278,17 @@ class DeleteTypeTemplatesInput:
7045
7278
 
7046
7279
  @dataclass(kw_only=True)
7047
7280
  class DeleteTypeTemplatesOutput:
7281
+ """
7282
+
7283
+ :param type_schema:
7284
+ **[Required]** - Generic key-value object structure used for flexible data
7285
+ representation throughout the API.
7286
+
7287
+ """
7048
7288
 
7049
7289
  type_name: str
7050
7290
 
7051
- type_schema: Document
7291
+ type_schema: dict[str, Document]
7052
7292
 
7053
7293
  description: str
7054
7294
 
@@ -7067,7 +7307,7 @@ class DeleteTypeTemplatesOutput:
7067
7307
 
7068
7308
  def serialize_members(self, serializer: ShapeSerializer):
7069
7309
  serializer.write_string(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["type_name"], self.type_name)
7070
- serializer.write_document(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["type_schema"], self.type_schema)
7310
+ _serialize_object(serializer, _SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["type_schema"], self.type_schema)
7071
7311
  serializer.write_string(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["description"], self.description)
7072
7312
  serializer.write_string(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["change_reason"], self.change_reason)
7073
7313
  serializer.write_string(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["created_by"], self.created_by)
@@ -7089,7 +7329,7 @@ class DeleteTypeTemplatesOutput:
7089
7329
  kwargs["type_name"] = de.read_string(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["type_name"])
7090
7330
 
7091
7331
  case 1:
7092
- kwargs["type_schema"] = de.read_document(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["type_schema"])
7332
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["type_schema"])
7093
7333
 
7094
7334
  case 2:
7095
7335
  kwargs["description"] = de.read_string(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT.members["description"])
@@ -7203,7 +7443,7 @@ class GetDimensionInput:
7203
7443
  class GetDimensionOutput:
7204
7444
  """
7205
7445
 
7206
- :param dependency_graph:
7446
+ :param schema:
7207
7447
  **[Required]** - Generic key-value object structure used for flexible data
7208
7448
  representation throughout the API.
7209
7449
 
@@ -7213,7 +7453,7 @@ class GetDimensionOutput:
7213
7453
 
7214
7454
  position: int
7215
7455
 
7216
- schema: Document
7456
+ schema: dict[str, Document]
7217
7457
 
7218
7458
  description: str
7219
7459
 
@@ -7227,11 +7467,9 @@ class GetDimensionOutput:
7227
7467
 
7228
7468
  created_by: str
7229
7469
 
7230
- dependencies: list[str]
7470
+ dependency_graph: dict[str, list[str]]
7231
7471
 
7232
- dependents: list[str]
7233
-
7234
- dependency_graph: dict[str, Document]
7472
+ dimension_type: DimensionType
7235
7473
 
7236
7474
  function_name: str | None = None
7237
7475
  autocomplete_function_name: str | None = None
@@ -7243,7 +7481,7 @@ class GetDimensionOutput:
7243
7481
  def serialize_members(self, serializer: ShapeSerializer):
7244
7482
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["dimension"], self.dimension)
7245
7483
  serializer.write_integer(_SCHEMA_GET_DIMENSION_OUTPUT.members["position"], self.position)
7246
- serializer.write_document(_SCHEMA_GET_DIMENSION_OUTPUT.members["schema"], self.schema)
7484
+ _serialize_object(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["schema"], self.schema)
7247
7485
  if self.function_name is not None:
7248
7486
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["function_name"], self.function_name)
7249
7487
 
@@ -7253,9 +7491,8 @@ class GetDimensionOutput:
7253
7491
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["last_modified_by"], self.last_modified_by)
7254
7492
  serializer.write_timestamp(_SCHEMA_GET_DIMENSION_OUTPUT.members["created_at"], self.created_at)
7255
7493
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["created_by"], self.created_by)
7256
- _serialize_dependencies(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependencies"], self.dependencies)
7257
- _serialize_dependents(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependents"], self.dependents)
7258
- _serialize_object(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
7494
+ _serialize_depedendency_graph(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
7495
+ serializer.write_struct(_SCHEMA_GET_DIMENSION_OUTPUT.members["dimension_type"], self.dimension_type)
7259
7496
  if self.autocomplete_function_name is not None:
7260
7497
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
7261
7498
 
@@ -7279,7 +7516,7 @@ class GetDimensionOutput:
7279
7516
  kwargs["position"] = de.read_integer(_SCHEMA_GET_DIMENSION_OUTPUT.members["position"])
7280
7517
 
7281
7518
  case 2:
7282
- kwargs["schema"] = de.read_document(_SCHEMA_GET_DIMENSION_OUTPUT.members["schema"])
7519
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["schema"])
7283
7520
 
7284
7521
  case 3:
7285
7522
  kwargs["function_name"] = de.read_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["function_name"])
@@ -7303,18 +7540,15 @@ class GetDimensionOutput:
7303
7540
  kwargs["created_by"] = de.read_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["created_by"])
7304
7541
 
7305
7542
  case 10:
7306
- kwargs["dependencies"] = _deserialize_dependencies(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependencies"])
7543
+ kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"])
7307
7544
 
7308
7545
  case 11:
7309
- kwargs["dependents"] = _deserialize_dependents(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependents"])
7546
+ kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
7310
7547
 
7311
7548
  case 12:
7312
- kwargs["dependency_graph"] = _deserialize_object(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"])
7313
-
7314
- case 13:
7315
7549
  kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["autocomplete_function_name"])
7316
7550
 
7317
- case 14:
7551
+ case 13:
7318
7552
  kwargs["mandatory"] = de.read_boolean(_SCHEMA_GET_DIMENSION_OUTPUT.members["mandatory"])
7319
7553
 
7320
7554
  case _:
@@ -7388,7 +7622,7 @@ class ListDimensionsInput:
7388
7622
  class DimensionExt:
7389
7623
  """
7390
7624
 
7391
- :param dependency_graph:
7625
+ :param schema:
7392
7626
  **[Required]** - Generic key-value object structure used for flexible data
7393
7627
  representation throughout the API.
7394
7628
 
@@ -7398,7 +7632,7 @@ class DimensionExt:
7398
7632
 
7399
7633
  position: int
7400
7634
 
7401
- schema: Document
7635
+ schema: dict[str, Document]
7402
7636
 
7403
7637
  description: str
7404
7638
 
@@ -7412,11 +7646,9 @@ class DimensionExt:
7412
7646
 
7413
7647
  created_by: str
7414
7648
 
7415
- dependencies: list[str]
7416
-
7417
- dependents: list[str]
7649
+ dependency_graph: dict[str, list[str]]
7418
7650
 
7419
- dependency_graph: dict[str, Document]
7651
+ dimension_type: DimensionType
7420
7652
 
7421
7653
  function_name: str | None = None
7422
7654
  autocomplete_function_name: str | None = None
@@ -7428,7 +7660,7 @@ class DimensionExt:
7428
7660
  def serialize_members(self, serializer: ShapeSerializer):
7429
7661
  serializer.write_string(_SCHEMA_DIMENSION_EXT.members["dimension"], self.dimension)
7430
7662
  serializer.write_integer(_SCHEMA_DIMENSION_EXT.members["position"], self.position)
7431
- serializer.write_document(_SCHEMA_DIMENSION_EXT.members["schema"], self.schema)
7663
+ _serialize_object(serializer, _SCHEMA_DIMENSION_EXT.members["schema"], self.schema)
7432
7664
  if self.function_name is not None:
7433
7665
  serializer.write_string(_SCHEMA_DIMENSION_EXT.members["function_name"], self.function_name)
7434
7666
 
@@ -7438,9 +7670,8 @@ class DimensionExt:
7438
7670
  serializer.write_string(_SCHEMA_DIMENSION_EXT.members["last_modified_by"], self.last_modified_by)
7439
7671
  serializer.write_timestamp(_SCHEMA_DIMENSION_EXT.members["created_at"], self.created_at)
7440
7672
  serializer.write_string(_SCHEMA_DIMENSION_EXT.members["created_by"], self.created_by)
7441
- _serialize_dependencies(serializer, _SCHEMA_DIMENSION_EXT.members["dependencies"], self.dependencies)
7442
- _serialize_dependents(serializer, _SCHEMA_DIMENSION_EXT.members["dependents"], self.dependents)
7443
- _serialize_object(serializer, _SCHEMA_DIMENSION_EXT.members["dependency_graph"], self.dependency_graph)
7673
+ _serialize_depedendency_graph(serializer, _SCHEMA_DIMENSION_EXT.members["dependency_graph"], self.dependency_graph)
7674
+ serializer.write_struct(_SCHEMA_DIMENSION_EXT.members["dimension_type"], self.dimension_type)
7444
7675
  if self.autocomplete_function_name is not None:
7445
7676
  serializer.write_string(_SCHEMA_DIMENSION_EXT.members["autocomplete_function_name"], self.autocomplete_function_name)
7446
7677
 
@@ -7464,7 +7695,7 @@ class DimensionExt:
7464
7695
  kwargs["position"] = de.read_integer(_SCHEMA_DIMENSION_EXT.members["position"])
7465
7696
 
7466
7697
  case 2:
7467
- kwargs["schema"] = de.read_document(_SCHEMA_DIMENSION_EXT.members["schema"])
7698
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_DIMENSION_EXT.members["schema"])
7468
7699
 
7469
7700
  case 3:
7470
7701
  kwargs["function_name"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["function_name"])
@@ -7488,18 +7719,15 @@ class DimensionExt:
7488
7719
  kwargs["created_by"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["created_by"])
7489
7720
 
7490
7721
  case 10:
7491
- kwargs["dependencies"] = _deserialize_dependencies(de, _SCHEMA_DIMENSION_EXT.members["dependencies"])
7722
+ kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_DIMENSION_EXT.members["dependency_graph"])
7492
7723
 
7493
7724
  case 11:
7494
- kwargs["dependents"] = _deserialize_dependents(de, _SCHEMA_DIMENSION_EXT.members["dependents"])
7725
+ kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
7495
7726
 
7496
7727
  case 12:
7497
- kwargs["dependency_graph"] = _deserialize_object(de, _SCHEMA_DIMENSION_EXT.members["dependency_graph"])
7498
-
7499
- case 13:
7500
7728
  kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["autocomplete_function_name"])
7501
7729
 
7502
- case 14:
7730
+ case 13:
7503
7731
  kwargs["mandatory"] = de.read_boolean(_SCHEMA_DIMENSION_EXT.members["mandatory"])
7504
7732
 
7505
7733
  case _:
@@ -7586,15 +7814,21 @@ LIST_DIMENSIONS = APIOperation(
7586
7814
 
7587
7815
  @dataclass(kw_only=True)
7588
7816
  class UpdateDimensionInput:
7817
+ """
7818
+
7819
+ :param schema:
7820
+ Generic key-value object structure used for flexible data representation
7821
+ throughout the API.
7822
+
7823
+ """
7589
7824
 
7590
7825
  workspace_id: str | None = None
7591
7826
  org_id: str = "juspay"
7592
7827
  dimension: str | None = None
7593
- schema: Document | None = None
7828
+ schema: dict[str, Document] | None = None
7594
7829
  position: int | None = None
7595
7830
  function_name: str | None = None
7596
7831
  description: str | None = None
7597
- dependencies: list[str] | None = None
7598
7832
  change_reason: str | None = None
7599
7833
  autocomplete_function_name: str | None = None
7600
7834
 
@@ -7603,7 +7837,7 @@ class UpdateDimensionInput:
7603
7837
 
7604
7838
  def serialize_members(self, serializer: ShapeSerializer):
7605
7839
  if self.schema is not None:
7606
- serializer.write_document(_SCHEMA_UPDATE_DIMENSION_INPUT.members["schema"], self.schema)
7840
+ _serialize_object(serializer, _SCHEMA_UPDATE_DIMENSION_INPUT.members["schema"], self.schema)
7607
7841
 
7608
7842
  if self.position is not None:
7609
7843
  serializer.write_integer(_SCHEMA_UPDATE_DIMENSION_INPUT.members["position"], self.position)
@@ -7614,9 +7848,6 @@ class UpdateDimensionInput:
7614
7848
  if self.description is not None:
7615
7849
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_INPUT.members["description"], self.description)
7616
7850
 
7617
- if self.dependencies is not None:
7618
- _serialize_dependencies(serializer, _SCHEMA_UPDATE_DIMENSION_INPUT.members["dependencies"], self.dependencies)
7619
-
7620
7851
  if self.change_reason is not None:
7621
7852
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_INPUT.members["change_reason"], self.change_reason)
7622
7853
 
@@ -7643,7 +7874,7 @@ class UpdateDimensionInput:
7643
7874
  kwargs["dimension"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_INPUT.members["dimension"])
7644
7875
 
7645
7876
  case 3:
7646
- kwargs["schema"] = de.read_document(_SCHEMA_UPDATE_DIMENSION_INPUT.members["schema"])
7877
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_UPDATE_DIMENSION_INPUT.members["schema"])
7647
7878
 
7648
7879
  case 4:
7649
7880
  kwargs["position"] = de.read_integer(_SCHEMA_UPDATE_DIMENSION_INPUT.members["position"])
@@ -7655,12 +7886,9 @@ class UpdateDimensionInput:
7655
7886
  kwargs["description"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_INPUT.members["description"])
7656
7887
 
7657
7888
  case 7:
7658
- kwargs["dependencies"] = _deserialize_dependencies(de, _SCHEMA_UPDATE_DIMENSION_INPUT.members["dependencies"])
7659
-
7660
- case 8:
7661
7889
  kwargs["change_reason"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_INPUT.members["change_reason"])
7662
7890
 
7663
- case 9:
7891
+ case 8:
7664
7892
  kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_INPUT.members["autocomplete_function_name"])
7665
7893
 
7666
7894
  case _:
@@ -7673,7 +7901,7 @@ class UpdateDimensionInput:
7673
7901
  class UpdateDimensionOutput:
7674
7902
  """
7675
7903
 
7676
- :param dependency_graph:
7904
+ :param schema:
7677
7905
  **[Required]** - Generic key-value object structure used for flexible data
7678
7906
  representation throughout the API.
7679
7907
 
@@ -7683,7 +7911,7 @@ class UpdateDimensionOutput:
7683
7911
 
7684
7912
  position: int
7685
7913
 
7686
- schema: Document
7914
+ schema: dict[str, Document]
7687
7915
 
7688
7916
  description: str
7689
7917
 
@@ -7697,11 +7925,9 @@ class UpdateDimensionOutput:
7697
7925
 
7698
7926
  created_by: str
7699
7927
 
7700
- dependencies: list[str]
7928
+ dependency_graph: dict[str, list[str]]
7701
7929
 
7702
- dependents: list[str]
7703
-
7704
- dependency_graph: dict[str, Document]
7930
+ dimension_type: DimensionType
7705
7931
 
7706
7932
  function_name: str | None = None
7707
7933
  autocomplete_function_name: str | None = None
@@ -7713,7 +7939,7 @@ class UpdateDimensionOutput:
7713
7939
  def serialize_members(self, serializer: ShapeSerializer):
7714
7940
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dimension"], self.dimension)
7715
7941
  serializer.write_integer(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["position"], self.position)
7716
- serializer.write_document(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["schema"], self.schema)
7942
+ _serialize_object(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["schema"], self.schema)
7717
7943
  if self.function_name is not None:
7718
7944
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["function_name"], self.function_name)
7719
7945
 
@@ -7723,9 +7949,8 @@ class UpdateDimensionOutput:
7723
7949
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["last_modified_by"], self.last_modified_by)
7724
7950
  serializer.write_timestamp(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["created_at"], self.created_at)
7725
7951
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["created_by"], self.created_by)
7726
- _serialize_dependencies(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependencies"], self.dependencies)
7727
- _serialize_dependents(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependents"], self.dependents)
7728
- _serialize_object(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
7952
+ _serialize_depedendency_graph(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
7953
+ serializer.write_struct(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dimension_type"], self.dimension_type)
7729
7954
  if self.autocomplete_function_name is not None:
7730
7955
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
7731
7956
 
@@ -7749,7 +7974,7 @@ class UpdateDimensionOutput:
7749
7974
  kwargs["position"] = de.read_integer(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["position"])
7750
7975
 
7751
7976
  case 2:
7752
- kwargs["schema"] = de.read_document(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["schema"])
7977
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["schema"])
7753
7978
 
7754
7979
  case 3:
7755
7980
  kwargs["function_name"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["function_name"])
@@ -7773,18 +7998,15 @@ class UpdateDimensionOutput:
7773
7998
  kwargs["created_by"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["created_by"])
7774
7999
 
7775
8000
  case 10:
7776
- kwargs["dependencies"] = _deserialize_dependencies(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependencies"])
8001
+ kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"])
7777
8002
 
7778
8003
  case 11:
7779
- kwargs["dependents"] = _deserialize_dependents(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependents"])
8004
+ kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
7780
8005
 
7781
8006
  case 12:
7782
- kwargs["dependency_graph"] = _deserialize_object(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"])
7783
-
7784
- case 13:
7785
8007
  kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["autocomplete_function_name"])
7786
8008
 
7787
- case 14:
8009
+ case 13:
7788
8010
  kwargs["mandatory"] = de.read_boolean(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["mandatory"])
7789
8011
 
7790
8012
  case _:
@@ -11595,10 +11817,17 @@ class GetTypeTemplatesListInput:
11595
11817
 
11596
11818
  @dataclass(kw_only=True)
11597
11819
  class TypeTemplatesResponse:
11820
+ """
11821
+
11822
+ :param type_schema:
11823
+ **[Required]** - Generic key-value object structure used for flexible data
11824
+ representation throughout the API.
11825
+
11826
+ """
11598
11827
 
11599
11828
  type_name: str
11600
11829
 
11601
- type_schema: Document
11830
+ type_schema: dict[str, Document]
11602
11831
 
11603
11832
  description: str
11604
11833
 
@@ -11617,7 +11846,7 @@ class TypeTemplatesResponse:
11617
11846
 
11618
11847
  def serialize_members(self, serializer: ShapeSerializer):
11619
11848
  serializer.write_string(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["type_name"], self.type_name)
11620
- serializer.write_document(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["type_schema"], self.type_schema)
11849
+ _serialize_object(serializer, _SCHEMA_TYPE_TEMPLATES_RESPONSE.members["type_schema"], self.type_schema)
11621
11850
  serializer.write_string(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["description"], self.description)
11622
11851
  serializer.write_string(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["change_reason"], self.change_reason)
11623
11852
  serializer.write_string(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["created_by"], self.created_by)
@@ -11639,7 +11868,7 @@ class TypeTemplatesResponse:
11639
11868
  kwargs["type_name"] = de.read_string(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["type_name"])
11640
11869
 
11641
11870
  case 1:
11642
- kwargs["type_schema"] = de.read_document(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["type_schema"])
11871
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_TYPE_TEMPLATES_RESPONSE.members["type_schema"])
11643
11872
 
11644
11873
  case 2:
11645
11874
  kwargs["description"] = de.read_string(_SCHEMA_TYPE_TEMPLATES_RESPONSE.members["description"])
@@ -12974,11 +13203,18 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
12974
13203
 
12975
13204
  @dataclass(kw_only=True)
12976
13205
  class UpdateTypeTemplatesInput:
13206
+ """
13207
+
13208
+ :param type_schema:
13209
+ **[Required]** - Generic key-value object structure used for flexible data
13210
+ representation throughout the API.
13211
+
13212
+ """
12977
13213
 
12978
13214
  workspace_id: str | None = None
12979
13215
  org_id: str = "juspay"
12980
13216
  type_name: str | None = None
12981
- type_schema: Document | None = None
13217
+ type_schema: dict[str, Document] | None = None
12982
13218
  description: str | None = None
12983
13219
  change_reason: str | None = None
12984
13220
 
@@ -12987,7 +13223,7 @@ class UpdateTypeTemplatesInput:
12987
13223
 
12988
13224
  def serialize_members(self, serializer: ShapeSerializer):
12989
13225
  if self.type_schema is not None:
12990
- serializer.write_document(_SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["type_schema"], self.type_schema)
13226
+ _serialize_object(serializer, _SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["type_schema"], self.type_schema)
12991
13227
 
12992
13228
  if self.description is not None:
12993
13229
  serializer.write_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["description"], self.description)
@@ -13015,7 +13251,7 @@ class UpdateTypeTemplatesInput:
13015
13251
  kwargs["type_name"] = de.read_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["type_name"])
13016
13252
 
13017
13253
  case 3:
13018
- kwargs["type_schema"] = de.read_document(_SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["type_schema"])
13254
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["type_schema"])
13019
13255
 
13020
13256
  case 4:
13021
13257
  kwargs["description"] = de.read_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT.members["description"])
@@ -13031,10 +13267,17 @@ class UpdateTypeTemplatesInput:
13031
13267
 
13032
13268
  @dataclass(kw_only=True)
13033
13269
  class UpdateTypeTemplatesOutput:
13270
+ """
13271
+
13272
+ :param type_schema:
13273
+ **[Required]** - Generic key-value object structure used for flexible data
13274
+ representation throughout the API.
13275
+
13276
+ """
13034
13277
 
13035
13278
  type_name: str
13036
13279
 
13037
- type_schema: Document
13280
+ type_schema: dict[str, Document]
13038
13281
 
13039
13282
  description: str
13040
13283
 
@@ -13053,7 +13296,7 @@ class UpdateTypeTemplatesOutput:
13053
13296
 
13054
13297
  def serialize_members(self, serializer: ShapeSerializer):
13055
13298
  serializer.write_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["type_name"], self.type_name)
13056
- serializer.write_document(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"], self.type_schema)
13299
+ _serialize_object(serializer, _SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"], self.type_schema)
13057
13300
  serializer.write_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["description"], self.description)
13058
13301
  serializer.write_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["change_reason"], self.change_reason)
13059
13302
  serializer.write_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["created_by"], self.created_by)
@@ -13075,7 +13318,7 @@ class UpdateTypeTemplatesOutput:
13075
13318
  kwargs["type_name"] = de.read_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["type_name"])
13076
13319
 
13077
13320
  case 1:
13078
- kwargs["type_schema"] = de.read_document(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"])
13321
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["type_schema"])
13079
13322
 
13080
13323
  case 2:
13081
13324
  kwargs["description"] = de.read_string(_SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT.members["description"])