@seamapi/nextlove-sdk-generator 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/lib/endpoints-returning-deprecated-action-attempt.d.ts +2 -0
  2. package/lib/endpoints-returning-deprecated-action-attempt.js +10 -0
  3. package/lib/endpoints-returning-deprecated-action-attempt.js.map +1 -0
  4. package/lib/generate-php-sdk/generate-php-sdk.js +4 -18
  5. package/lib/generate-php-sdk/generate-php-sdk.js.map +1 -1
  6. package/lib/generate-php-sdk/utils/php-client.d.ts +3 -3
  7. package/lib/generate-php-sdk/utils/php-client.js.map +1 -1
  8. package/lib/generate-python-sdk/class-file.d.ts +15 -2
  9. package/lib/generate-python-sdk/class-file.js +140 -21
  10. package/lib/generate-python-sdk/class-file.js.map +1 -1
  11. package/lib/generate-python-sdk/generate-python-sdk.js +65 -17
  12. package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -1
  13. package/lib/generate-python-sdk/map-python-type.d.ts +1 -1
  14. package/lib/generate-python-sdk/map-python-type.js +6 -2
  15. package/lib/generate-python-sdk/map-python-type.js.map +1 -1
  16. package/lib/generate-python-sdk/templates/.gitignore.template.d.ts +2 -0
  17. package/lib/generate-python-sdk/templates/.gitignore.template.js +12 -0
  18. package/lib/generate-python-sdk/templates/.gitignore.template.js.map +1 -0
  19. package/lib/generate-python-sdk/templates/__init__.py.template.d.ts +2 -0
  20. package/lib/generate-python-sdk/templates/__init__.py.template.js +7 -0
  21. package/lib/generate-python-sdk/templates/__init__.py.template.js.map +1 -0
  22. package/lib/generate-python-sdk/templates/conftest.py.template.js +75 -6
  23. package/lib/generate-python-sdk/templates/conftest.py.template.js.map +1 -1
  24. package/lib/generate-python-sdk/templates/prebuild.py.template.d.ts +2 -0
  25. package/lib/generate-python-sdk/templates/prebuild.py.template.js +13 -0
  26. package/lib/generate-python-sdk/templates/prebuild.py.template.js.map +1 -0
  27. package/lib/generate-python-sdk/templates/pyproject.toml.template.js +6 -2
  28. package/lib/generate-python-sdk/templates/pyproject.toml.template.js.map +1 -1
  29. package/lib/generate-python-sdk/templates/seam.py.template.js +90 -14
  30. package/lib/generate-python-sdk/templates/seam.py.template.js.map +1 -1
  31. package/lib/generate-python-sdk/templates/snippets/abstract-seam.template.js +12 -5
  32. package/lib/generate-python-sdk/templates/snippets/abstract-seam.template.js.map +1 -1
  33. package/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.js +6 -1
  34. package/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.js.map +1 -1
  35. package/lib/generate-python-sdk/templates/snippets/seam-api-exception-class.template.d.ts +2 -0
  36. package/lib/generate-python-sdk/templates/snippets/seam-api-exception-class.template.js +17 -0
  37. package/lib/generate-python-sdk/templates/snippets/seam-api-exception-class.template.js.map +1 -0
  38. package/lib/generate-python-sdk/templates/utils/get_sentry_dsn.py.template.d.ts +2 -0
  39. package/lib/generate-python-sdk/templates/utils/get_sentry_dsn.py.template.js +6 -0
  40. package/lib/generate-python-sdk/templates/utils/get_sentry_dsn.py.template.js.map +1 -0
  41. package/lib/generate-python-sdk/templates/utils/report_error.py.template.d.ts +2 -0
  42. package/lib/generate-python-sdk/templates/utils/report_error.py.template.js +17 -0
  43. package/lib/generate-python-sdk/templates/utils/report_error.py.template.js.map +1 -0
  44. package/lib/openapi/get-parameter-and-response-schema.js +9 -9
  45. package/lib/openapi/get-parameter-and-response-schema.js.map +1 -1
  46. package/lib/openapi/map-parent-to-children-resource.d.ts +3 -0
  47. package/lib/openapi/map-parent-to-children-resource.js +17 -0
  48. package/lib/openapi/map-parent-to-children-resource.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/lib/endpoints-returning-deprecated-action-attempt.ts +10 -0
  51. package/src/lib/generate-php-sdk/generate-php-sdk.ts +6 -30
  52. package/src/lib/generate-php-sdk/utils/php-client.ts +2 -2
  53. package/src/lib/generate-python-sdk/class-file.ts +232 -49
  54. package/src/lib/generate-python-sdk/generate-python-sdk.ts +96 -23
  55. package/src/lib/generate-python-sdk/map-python-type.ts +9 -3
  56. package/src/lib/generate-python-sdk/templates/.gitignore.template.ts +11 -0
  57. package/src/lib/generate-python-sdk/templates/__init__.py.template.ts +6 -0
  58. package/src/lib/generate-python-sdk/templates/conftest.py.template.ts +75 -6
  59. package/src/lib/generate-python-sdk/templates/prebuild.py.template.ts +12 -0
  60. package/src/lib/generate-python-sdk/templates/pyproject.toml.template.ts +6 -2
  61. package/src/lib/generate-python-sdk/templates/seam.py.template.ts +90 -14
  62. package/src/lib/generate-python-sdk/templates/snippets/abstract-seam.template.ts +12 -5
  63. package/src/lib/generate-python-sdk/templates/snippets/resource-dataclass.template.ts +9 -1
  64. package/src/lib/generate-python-sdk/templates/snippets/seam-api-exception-class.template.ts +16 -0
  65. package/src/lib/generate-python-sdk/templates/utils/get_sentry_dsn.py.template.ts +5 -0
  66. package/src/lib/generate-python-sdk/templates/utils/report_error.py.template.ts +16 -0
  67. package/src/lib/openapi/get-parameter-and-response-schema.ts +8 -11
  68. package/src/lib/openapi/map-parent-to-children-resource.ts +28 -0
@@ -0,0 +1,2 @@
1
+ export declare const endpoints_returning_deprecated_action_attempt: string[];
2
+ export default endpoints_returning_deprecated_action_attempt;
@@ -0,0 +1,10 @@
1
+ export const endpoints_returning_deprecated_action_attempt = [
2
+ "/access_codes/delete",
3
+ "/access_codes/unmanaged/delete",
4
+ "/access_codes/update",
5
+ "/noise_sensors/noise_thresholds/delete",
6
+ "/noise_sensors/noise_thresholds/update",
7
+ "/thermostats/climate_setting_schedules/update",
8
+ ];
9
+ export default endpoints_returning_deprecated_action_attempt;
10
+ //# sourceMappingURL=endpoints-returning-deprecated-action-attempt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints-returning-deprecated-action-attempt.js","sourceRoot":"","sources":["../src/lib/endpoints-returning-deprecated-action-attempt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6CAA6C,GAAG;IAC3D,sBAAsB;IACtB,gCAAgC;IAChC,sBAAsB;IACtB,wCAAwC;IACxC,wCAAwC;IACxC,+CAA+C;CAChD,CAAA;AAED,eAAe,6CAA6C,CAAA"}
@@ -13,6 +13,7 @@ import gitignoreTemplate from "./templates/gitignore.template.js";
13
13
  import envExampleTemplate from "./templates/env.example.template.js";
14
14
  import testFixtureTemplate from "./templates/test-fixture.template.js";
15
15
  import smokeTestTemplate from "./templates/smoke-test.template.js";
16
+ import mapParentToChildrenResources from "../../lib/openapi/map-parent-to-children-resource.js";
16
17
  export const generatePhpSDK = async () => {
17
18
  const openapi = await axios
18
19
  .get("https://connect.getseam.com/openapi.json")
@@ -51,29 +52,14 @@ export const generatePhpSDK = async () => {
51
52
  });
52
53
  }
53
54
  }
54
- const parent_resource_to_children_map = routes.reduce((acc, route) => {
55
- if (!route.post?.["x-fern-sdk-group-name"])
56
- return acc;
57
- const [parent_resource_name, child_resource_name] = route.post["x-fern-sdk-group-name"];
58
- // Making TS happy
59
- if (!parent_resource_name)
60
- return acc;
61
- if (!acc[parent_resource_name]) {
62
- acc[parent_resource_name] = [];
63
- }
64
- if (child_resource_name &&
65
- !acc[parent_resource_name].includes(child_resource_name)) {
66
- acc[parent_resource_name].push(child_resource_name);
67
- }
68
- return acc;
69
- }, {});
55
+ const parent_to_children_resources_map = mapParentToChildrenResources(routes);
70
56
  const clients = {};
71
57
  const processClient = (resource_name) => {
72
- const child_client_identifiers = (parent_resource_to_children_map[resource_name] ?? []).map((child_resource) => ({
58
+ const child_client_identifiers = (parent_to_children_resources_map[resource_name] ?? []).map((child_resource) => ({
73
59
  client_name: pascalCase(`${resource_name} ${child_resource}`),
74
60
  namespace: child_resource,
75
61
  }));
76
- const is_parent_client = Object.keys(parent_resource_to_children_map).includes(resource_name);
62
+ const is_parent_client = Object.keys(parent_to_children_resources_map).includes(resource_name);
77
63
  const pascal_resource_name = pascalCase(resource_name);
78
64
  clients[pascal_resource_name] = new PhpClient(pascal_resource_name, resource_name, is_parent_client, child_client_identifiers);
79
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export type PhpClientMethod = {
14
14
  };
15
15
  type ClientName = string;
16
16
  type Namespace = string;
17
- export type PhpClientIdentifiers = {
17
+ export type PhpClientIdentifier = {
18
18
  client_name: ClientName;
19
19
  namespace: Namespace;
20
20
  };
@@ -22,9 +22,9 @@ export declare class PhpClient {
22
22
  client_name: ClientName;
23
23
  namespace: Namespace;
24
24
  is_parent_client: boolean;
25
- child_client_identifiers: PhpClientIdentifiers[];
25
+ child_client_identifiers: PhpClientIdentifier[];
26
26
  methods: PhpClientMethod[];
27
- constructor(client_name: ClientName, namespace: Namespace, is_parent_client: boolean, child_client_identifiers: PhpClientIdentifiers[]);
27
+ constructor(client_name: ClientName, namespace: Namespace, is_parent_client: boolean, child_client_identifiers: PhpClientIdentifier[]);
28
28
  addMethod(method: PhpClientMethod): void;
29
29
  serialize(): string;
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"php-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/php-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"php-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/php-client.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,33 @@
1
- export type ClassFileMethod = {
1
+ export type ClassFileMethodBase = {
2
2
  method_name: string;
3
3
  path: string;
4
4
  parameters: Array<{
5
5
  name: string;
6
6
  type: string;
7
7
  position?: number | undefined;
8
+ required?: boolean | undefined;
9
+ default_value?: string;
8
10
  }>;
11
+ };
12
+ export type ClassFileMethod = ClassFileMethodBase & ({
9
13
  return_path: string[];
10
14
  return_resource: string;
15
+ } | {
16
+ return_path: string[];
17
+ return_resource: "void";
18
+ });
19
+ type ChildClassIdentifier = {
20
+ class_name: string;
21
+ namespace: string;
11
22
  };
12
23
  export declare class ClassFile {
13
24
  name: string;
14
25
  namespace: string | undefined;
15
26
  methods: ClassFileMethod[];
16
- constructor(name: string, namespace?: string | undefined);
27
+ child_class_identifiers: ChildClassIdentifier[];
28
+ constructor(name: string, namespace: string | undefined, child_class_identifiers: ChildClassIdentifier[]);
17
29
  addMethod(method: ClassFileMethod): void;
18
30
  serializeToAbstractClassWithoutImports(): string;
19
31
  serializeToClass(): string;
20
32
  }
33
+ export {};
@@ -1,25 +1,58 @@
1
1
  export class ClassFile {
2
- constructor(name, namespace) {
2
+ constructor(name, namespace, child_class_identifiers) {
3
3
  this.name = name;
4
4
  this.namespace = namespace;
5
5
  this.methods = [];
6
+ this.child_class_identifiers = child_class_identifiers;
6
7
  }
7
8
  addMethod(method) {
8
9
  this.methods.push(method);
9
10
  }
10
11
  serializeToAbstractClassWithoutImports() {
12
+ const has_child_classes = this.child_class_identifiers.length > 0;
11
13
  return [
12
14
  `class Abstract${this.name}(abc.ABC):`,
13
15
  this.methods.length === 0 ? ` pass` : "",
14
- ...this.methods.map(({ method_name, parameters }) => [
16
+ `${has_child_classes
17
+ ? this.child_class_identifiers
18
+ .map((i) => [
19
+ ` @property`,
20
+ ` @abc.abstractmethod`,
21
+ ` def ${i.namespace}(self) -> Abstract${i.class_name}:`,
22
+ ` raise NotImplementedError()`,
23
+ ].join("\n"))
24
+ .join("\n\n")
25
+ : ""}`,
26
+ ...this.methods
27
+ .concat(this.name === "ActionAttempts"
28
+ ? [
29
+ {
30
+ method_name: "poll_until_ready",
31
+ parameters: [
32
+ { name: "action_attempt_id", type: "str", required: true },
33
+ { name: "timeout", type: "float", default_value: "5.0" },
34
+ {
35
+ name: "polling_interval",
36
+ type: "float",
37
+ default_value: "0.5",
38
+ },
39
+ ],
40
+ return_path: [],
41
+ return_resource: "ActionAttempt",
42
+ path: "",
43
+ },
44
+ ]
45
+ : [])
46
+ .map(({ method_name, parameters }) => [
15
47
  "",
16
48
  "",
17
49
  `@abc.abstractmethod`,
18
50
  `def ${method_name}(self, ${parameters
19
- .sort((a, b) => (a.position ?? 9999) - (b.position ?? 9999))
20
- .map(({ name, type, position }) => position !== undefined
51
+ .sort((a, b) => (a.position ?? a.required ? 1000 : 9999) -
52
+ (b.position ?? b.required ? 1000 : 9999))
53
+ .map(({ name, type, required, default_value }) => required
21
54
  ? `${name}: ${type}`
22
- : `${name}: Optional[${type}] = None`)
55
+ : `${name}: Optional[${type}] = ${default_value ?? "None"}`)
23
56
  .join(", ")}):`,
24
57
  ` raise NotImplementedError()`,
25
58
  ]
@@ -28,47 +61,133 @@ export class ClassFile {
28
61
  ].join("\n");
29
62
  }
30
63
  serializeToClass() {
64
+ const validClasses = [
65
+ `Abstract${this.name}`,
66
+ `AbstractSeam as Seam`,
67
+ ...Array.from(new Set(this.methods.map((m) => m.return_resource.replace(/^List\[/, "").replace(/\]$/, "")))),
68
+ ].filter((classInstance) => classInstance !== "");
69
+ const has_child_classes = this.child_class_identifiers.length > 0;
31
70
  return [
32
- `from seamapi.types import (${[
33
- `Abstract${this.name}`,
34
- `AbstractSeam as Seam`,
35
- ...Array.from(new Set(this.methods.map((m) => m.return_resource.replace(/^List\[/, "").replace(/\]$/, "")))),
36
- ].join(",")})`,
37
- `from typing import (Optional, Any)`,
38
- "",
71
+ `from seamapi.types import (${validClasses
72
+ .filter((cls) => cls !== "None")
73
+ .join(",")})`,
74
+ `from typing import Optional, Any, List, Dict, Union`,
75
+ `${has_child_classes
76
+ ? this.child_class_identifiers
77
+ .map((i) => `from seamapi.${this.namespace}_${i.namespace} import ${i.class_name}`)
78
+ .join("\n")
79
+ : ""}`,
80
+ `${this.name === "ActionAttempts" ? "import time\n" : ""}`,
39
81
  `class ${this.name}(Abstract${this.name}):`,
40
82
  // TODO DOCSTRING
41
83
  ` seam: Seam`,
42
84
  "",
43
85
  ` def __init__(self, seam: Seam):`,
44
86
  ` self.seam = seam`,
87
+ `${has_child_classes
88
+ ? this.child_class_identifiers
89
+ .map((i) => ` self._${i.namespace} = ${i.class_name}(seam=seam)`)
90
+ .join("\n")
91
+ : ""}`,
45
92
  "",
93
+ `${has_child_classes
94
+ ? this.child_class_identifiers
95
+ .map((i) => [
96
+ ` @property`,
97
+ ` def ${i.namespace}(self) -> ${i.class_name}:`,
98
+ ` return self._${i.namespace}`,
99
+ ].join("\n"))
100
+ .join("\n\n")
101
+ : ""}`,
46
102
  ...this.methods.map(({ method_name, path, return_resource, return_path, parameters }) => {
47
- const is_return_resource_a_list = return_resource.startsWith("List[");
48
- const list_item_type = return_resource.slice(5, -1);
103
+ let return_resource_item = return_resource;
104
+ const is_return_resource_list = return_resource_item.startsWith("List[");
105
+ if (is_return_resource_list) {
106
+ return_resource_item = return_resource.slice(5, -1);
107
+ }
108
+ const does_method_use_action_attempt = return_resource === "ActionAttempt" && !is_return_resource_list;
109
+ const is_none_return_type = return_resource_item === "None";
49
110
  return [
50
111
  "",
51
112
  "",
52
113
  `def ${method_name}(self, ${parameters
53
- .sort((a, b) => (a.position ?? 9999) - (b.position ?? 9999))
54
- .map(({ name, type, position }) => position !== undefined
114
+ .sort((a, b) => (a.position ?? a.required ? 1000 : 9999) -
115
+ (b.position ?? b.required ? 1000 : 9999))
116
+ .map(({ name, type, required }) => required
55
117
  ? `${name}: ${type}`
56
118
  : `${name}: Optional[${type}] = None`)
57
- .join(", ")}):`,
119
+ .concat(does_method_use_action_attempt
120
+ ? [
121
+ "wait_for_action_attempt: Union[bool, Dict[str, float]] = True",
122
+ ]
123
+ : [])
124
+ .join(", ")}) -> ${return_resource}:`,
58
125
  ` json_payload = {}`,
126
+ "",
59
127
  ...parameters.map(({ name }) => ` if ${name} is not None:\n json_payload["${name}"] = ${name}`),
60
- ` res = self.seam.make_request(`,
128
+ "",
129
+ ` ${is_none_return_type ? "" : "res = "}self.seam.make_request(`,
61
130
  ` "POST",`,
62
131
  ` "${path}",`,
63
132
  ` json=json_payload`,
64
133
  ` )`,
65
- is_return_resource_a_list
66
- ? ` return [${list_item_type}.from_dict(item) for item in res["${return_path.join('"]["')}"]]`
67
- : ` return ${return_resource}.from_dict(res["${return_path.join('"]["')}"])`,
134
+ "",
135
+ does_method_use_action_attempt
136
+ ? [
137
+ " if isinstance(wait_for_action_attempt, dict):",
138
+ ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
139
+ " res['action_attempt']['action_attempt_id'],",
140
+ " timeout=wait_for_action_attempt.get('timeout', None),",
141
+ " polling_interval=wait_for_action_attempt.get('polling_interval', None),",
142
+ " )",
143
+ " elif wait_for_action_attempt is True:",
144
+ ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
145
+ " res['action_attempt']['action_attempt_id']",
146
+ " )",
147
+ " else:",
148
+ ` return ${return_resource}.from_dict(res["${return_path.join('"]["')}"])`,
149
+ "",
150
+ " return updated_action_attempt",
151
+ ].join("\n")
152
+ : "",
153
+ "",
154
+ !does_method_use_action_attempt
155
+ ? is_none_return_type
156
+ ? ` return None`
157
+ : is_return_resource_list
158
+ ? ` return [${return_resource_item}.from_dict(item) for item in res["${return_path.join('"]["')}"]]`
159
+ : ` return ${return_resource}.from_dict(res["${return_path.join('"]["')}"])`
160
+ : "",
68
161
  ]
69
162
  .map((s) => ` ${s}`)
70
163
  .join("\n");
71
164
  }),
165
+ this.name === "ActionAttempts"
166
+ ? [
167
+ "",
168
+ " def poll_until_ready(self, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
169
+ " seam = self.seam",
170
+ " time_waiting = 0.0",
171
+ "",
172
+ " action_attempt = seam.action_attempts.get(action_attempt_id, wait_for_action_attempt=False)",
173
+ "",
174
+ " while action_attempt.status == 'pending':",
175
+ " time.sleep(polling_interval)",
176
+ " time_waiting += polling_interval",
177
+ "",
178
+ " if time_waiting > timeout:",
179
+ " raise Exception('Timed out waiting for action attempt to be ready')",
180
+ "",
181
+ " action_attempt = seam.action_attempts.get(",
182
+ " action_attempt.action_attempt_id, wait_for_action_attempt=False",
183
+ " )",
184
+ "",
185
+ " if action_attempt.status == 'failed':",
186
+ " raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
187
+ "",
188
+ " return action_attempt",
189
+ ].join("\n")
190
+ : "",
72
191
  ].join("\n");
73
192
  }
74
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"class-file.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/class-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-file.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/class-file.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,16 @@ import abstractRoutesTemplate from "./templates/snippets/abstract-routes.templat
13
13
  import abstractSeamTemplate from "./templates/snippets/abstract-seam.template.js";
14
14
  import resourceDataclassTemplate from "./templates/snippets/resource-dataclass.template.js";
15
15
  import readmeMdTemplate from "./templates/readme.md.template.js";
16
+ import initTemplate from "./templates/__init__.py.template.js";
17
+ import gitignoreTemplate from "./templates/.gitignore.template.js";
18
+ import prebuildTemplate from "./templates/prebuild.py.template.js";
19
+ import reportErrorTemplate from "./templates/utils/report_error.py.template.js";
20
+ import getSentryDsnTemplate from "./templates/utils/get_sentry_dsn.py.template.js";
21
+ import SeamApiExceptionClassTemplate from "./templates/snippets/seam-api-exception-class.template.js";
16
22
  import { getParameterAndResponseSchema } from "../../lib/openapi/get-parameter-and-response-schema.js";
23
+ import mapParentToChildrenResources from "../../lib/openapi/map-parent-to-children-resource.js";
24
+ import { deepFlattenOneOfAndAllOfSchema } from "../../lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.js";
25
+ import endpoints_returning_deprecated_action_attempt from "../../lib/endpoints-returning-deprecated-action-attempt.js";
17
26
  export const generatePythonSDK = async () => {
18
27
  const openapi = await axios
19
28
  .get("https://connect.getseam.com/openapi.json")
@@ -23,21 +32,38 @@ export const generatePythonSDK = async () => {
23
32
  ...v,
24
33
  }));
25
34
  const fs = {};
26
- fs["README.md"] = readmeMdTemplate();
27
35
  const class_map = {};
28
36
  const namespaces = [];
37
+ const parent_to_children_resources_map = mapParentToChildrenResources(routes);
38
+ const processClass = (resource_name) => {
39
+ const child_class_identifiers = (parent_to_children_resources_map[resource_name] ?? []).map((child_resource) => ({
40
+ class_name: pascalCase(`${resource_name} ${child_resource}`),
41
+ namespace: child_resource,
42
+ }));
43
+ const pascal_resource_name = pascalCase(resource_name);
44
+ class_map[pascal_resource_name] = new ClassFile(pascal_resource_name, resource_name, child_class_identifiers);
45
+ };
29
46
  for (const route of routes) {
30
47
  if (!route.post)
31
48
  continue;
32
49
  if (!route.post["x-fern-sdk-group-name"])
33
50
  continue;
34
51
  const group_names = [...route.post["x-fern-sdk-group-name"]];
52
+ const [base_resource] = group_names;
35
53
  const namespace = group_names.join("_");
36
54
  group_names.reverse();
37
- const class_name = pascalCase(group_names.join("_"));
55
+ const class_name = pascalCase(namespace);
38
56
  if (!class_map[class_name]) {
39
57
  namespaces.push(route.post["x-fern-sdk-group-name"]);
40
- class_map[class_name] = new ClassFile(class_name, namespace);
58
+ processClass(namespace);
59
+ }
60
+ /*
61
+ special case when we don't have routes for a base resource
62
+ and thus a respective x-fern-sdk-group-name for ex. /noise_sensors
63
+ */
64
+ if (base_resource && !class_map[pascalCase(base_resource)]) {
65
+ namespaces.push([base_resource]);
66
+ processClass(base_resource);
41
67
  }
42
68
  const cls = class_map[class_name];
43
69
  if (!cls) {
@@ -45,10 +71,6 @@ export const generatePythonSDK = async () => {
45
71
  continue;
46
72
  }
47
73
  const { parameter_schema, response_obj_type, response_arr_type } = getParameterAndResponseSchema(route);
48
- if (!response_obj_type && !response_arr_type) {
49
- console.warn(`No response object/array ref for "${route.path}", skipping`);
50
- continue;
51
- }
52
74
  if (!parameter_schema) {
53
75
  console.warn(`No parameter schema for "${route.path}", skipping`);
54
76
  continue;
@@ -57,19 +79,25 @@ export const generatePythonSDK = async () => {
57
79
  method_name: route.post["x-fern-sdk-method-name"],
58
80
  path: route.path,
59
81
  parameters: Object.entries(parameter_schema.properties)
60
- .filter(([_, param_val]) => param_val && typeof param_val === "object" && "type" in param_val)
82
+ .filter(([_, param_val]) => "type" in param_val ||
83
+ ("oneOf" in param_val && "type" in (param_val.oneOf[0] ?? {})))
61
84
  .map(([param_name, param_val]) => ({
62
85
  name: param_name,
63
- type: mapPythonType(param_val.type),
86
+ type: mapPythonType("type" in param_val
87
+ ? param_val
88
+ : deepFlattenOneOfAndAllOfSchema(param_val)),
64
89
  position: route.post["x-fern-sdk-method-name"] === "get" &&
65
90
  param_name === `${route.post["x-fern-sdk-return-value"]}_id`
66
91
  ? 0
67
92
  : undefined,
93
+ required: parameter_schema.required?.includes(param_name),
68
94
  })),
69
95
  return_path: [route.post["x-fern-sdk-return-value"]],
70
- return_resource: response_obj_type
71
- ? pascalCase(response_obj_type)
72
- : `List[${pascalCase(response_arr_type)}]`,
96
+ return_resource: determineReturnResource({
97
+ route_path: route.path,
98
+ response_obj_type,
99
+ response_arr_type,
100
+ }),
73
101
  });
74
102
  }
75
103
  const top_level_namespaces = namespaces
@@ -93,25 +121,45 @@ export const generatePythonSDK = async () => {
93
121
  })))),
94
122
  "",
95
123
  "",
96
- `class SeamAPIException(Exception):`,
97
- ` pass`,
124
+ SeamApiExceptionClassTemplate(),
98
125
  "",
99
126
  "",
100
- ...Object.entries(class_map).map(([_, cls]) => cls.serializeToAbstractClassWithoutImports()),
127
+ ...Object.entries(class_map)
128
+ .sort(
129
+ // define classes without children first for parent-child referencing
130
+ ([, a], [, b]) => a.child_class_identifiers.length - b.child_class_identifiers.length)
131
+ .map(([_, cls]) => cls.serializeToAbstractClassWithoutImports()),
101
132
  "",
102
133
  "",
103
134
  abstractRoutesTemplate(top_level_namespaces),
104
135
  "",
105
136
  abstractSeamTemplate(),
106
137
  ].join("\n");
107
- fs["seamapi/__init__.py"] = `from seamapi.seam import Seam`;
138
+ fs["README.md"] = readmeMdTemplate();
139
+ fs["pyproject.toml"] = pyprojectTomlTemplate();
140
+ fs[".gitignore"] = gitignoreTemplate();
141
+ fs["scripts/prebuild.py"] = prebuildTemplate();
142
+ fs["seamapi/__init__.py"] = initTemplate();
108
143
  fs["seamapi/routes.py"] = routesPyTemplate(top_level_namespaces);
109
144
  fs["seamapi/seam.py"] = seamPyTemplate();
110
145
  fs["seamapi/utils/deep_attr_dict.py"] = deep_attr_dictPyTemplate();
111
- fs["pyproject.toml"] = pyprojectTomlTemplate();
146
+ fs["seamapi/utils/report_error.py"] = reportErrorTemplate();
147
+ fs["seamapi/utils/get_sentry_dsn.py"] = getSentryDsnTemplate();
112
148
  fs["tests/conftest.py"] = conftestPyTemplate();
113
149
  fs["tests/test_smoke.py"] = test_smokePyTemplate();
114
150
  fs["tests/__init__.py"] = "";
115
151
  return fs;
116
152
  };
153
+ function determineReturnResource({ route_path, response_arr_type, response_obj_type, }) {
154
+ if (endpoints_returning_deprecated_action_attempt.includes(route_path)) {
155
+ return "None";
156
+ }
157
+ if (response_obj_type) {
158
+ return pascalCase(response_obj_type);
159
+ }
160
+ if (response_arr_type) {
161
+ return `List[${pascalCase(response_arr_type)}]`;
162
+ }
163
+ return "None";
164
+ }
117
165
  //# sourceMappingURL=generate-python-sdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { PropertySchema } from "../../lib/types.js";
2
- export declare const mapPythonType: (property_schema: PropertySchema) => "int" | "float" | "bool" | "Any" | "str" | "List[Any]" | "Dict[str, Any]";
2
+ export declare const mapPythonType: (property_schema: PropertySchema) => string;
@@ -17,8 +17,12 @@ export const mapPythonType = (property_schema) => {
17
17
  return "bool";
18
18
  if ("type" in property_schema && property_schema.type === "number")
19
19
  return "float";
20
- if ("type" in property_schema && property_schema.type === "array")
21
- return "List[Any]"; // TODO, make more specific
20
+ if ("type" in property_schema && property_schema.type === "array") {
21
+ const array_item_type = "type" in property_schema.items
22
+ ? mapPythonType({ type: property_schema.items.type })
23
+ : "Any";
24
+ return `List[${array_item_type}]`;
25
+ } // TODO, make more specific
22
26
  if ("type" in property_schema && property_schema.type === "object")
23
27
  return "Dict[str, Any]"; // TODO, make more specific
24
28
  return "Any";
@@ -1 +1 @@
1
- {"version":3,"file":"map-python-type.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/map-python-type.ts"],"names":[],"mappings":"AAEA,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,eAA+B,EAAE,EAAE;IAC/D,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;QACvC,OAAO,KAAK,CAAA;KACb;IAED,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE;QAClE,iCAAiC;QACjC,4BAA4B;QAC5B,yCAAyC;QACzC,qCAAqC;QACrC,oBAAoB;QACpB,OAAO,KAAK,CAAA;KACb;IACD,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,SAAS;QACjE,OAAO,KAAK,CAAA;IACd,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,SAAS;QACjE,OAAO,MAAM,CAAA;IACf,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ;QAChE,OAAO,OAAO,CAAA;IAChB,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO;QAC/D,OAAO,WAAW,CAAA,CAAC,2BAA2B;IAChD,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ;QAChE,OAAO,gBAAgB,CAAA,CAAC,2BAA2B;IAErD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"map-python-type.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/map-python-type.ts"],"names":[],"mappings":"AAEA,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,eAA+B,EAAE,EAAE;IAC/D,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;QACvC,OAAO,KAAK,CAAA;KACb;IAED,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE;QAClE,iCAAiC;QACjC,4BAA4B;QAC5B,yCAAyC;QACzC,qCAAqC;QACrC,oBAAoB;QACpB,OAAO,KAAK,CAAA;KACb;IACD,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,SAAS;QACjE,OAAO,KAAK,CAAA;IACd,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,SAAS;QACjE,OAAO,MAAM,CAAA;IACf,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ;QAChE,OAAO,OAAO,CAAA;IAChB,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO,EAAE;QACjE,MAAM,eAAe,GACnB,MAAM,IAAI,eAAe,CAAC,KAAK;YAC7B,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,EAAqB,CAAC;YACxE,CAAC,CAAC,KAAK,CAAA;QAEX,OAAO,QAAQ,eAAe,GAAG,CAAA;KAClC,CAAC,2BAA2B;IAC7B,IAAI,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ;QAChE,OAAO,gBAAgB,CAAA,CAAC,2BAA2B;IAErD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: () => string;
2
+ export default _default;