@seamapi/nextlove-sdk-generator 1.6.0 → 1.6.2

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.
@@ -43,21 +43,24 @@ export class ClassFile {
43
43
  },
44
44
  ]
45
45
  : [])
46
- .map(({ method_name, parameters }) => [
47
- "",
48
- "",
49
- `@abc.abstractmethod`,
50
- `def ${method_name}(self, ${parameters
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
54
- ? `${name}: ${type}`
55
- : `${name}: Optional[${type}] = ${default_value ?? "None"}`)
56
- .join(", ")}):`,
57
- ` raise NotImplementedError()`,
58
- ]
59
- .map((s) => ` ${s}`)
60
- .join("\n")),
46
+ .map(({ method_name, parameters, return_resource }) => {
47
+ const has_params = parameters.length > 0;
48
+ return [
49
+ "",
50
+ "",
51
+ `@abc.abstractmethod`,
52
+ `def ${method_name}(self,${has_params ? " *," : ""} ${parameters
53
+ .sort((a, b) => (a.position ?? a.required ? 1000 : 9999) -
54
+ (b.position ?? b.required ? 1000 : 9999))
55
+ .map(({ name, type, required, default_value }) => required
56
+ ? `${name}: ${type}`
57
+ : `${name}: Optional[${type}] = ${default_value ?? "None"}`)
58
+ .join(", ")}) -> ${return_resource}:`,
59
+ ` raise NotImplementedError()`,
60
+ ]
61
+ .map((s) => ` ${s}`)
62
+ .join("\n");
63
+ }),
61
64
  ].join("\n");
62
65
  }
63
66
  serializeToClass() {
@@ -67,7 +70,6 @@ export class ClassFile {
67
70
  ...Array.from(new Set(this.methods.map((m) => m.return_resource.replace(/^List\[/, "").replace(/\]$/, "")))),
68
71
  ].filter((classInstance) => classInstance !== "");
69
72
  const has_child_classes = this.child_class_identifiers.length > 0;
70
- const is_action_attempt_class = this.name === "ActionAttempts";
71
73
  return [
72
74
  `from seamapi.types import (${validClasses
73
75
  .filter((cls) => cls !== "None")
@@ -78,7 +80,7 @@ export class ClassFile {
78
80
  .map((i) => `from seamapi.${this.namespace}_${i.namespace} import ${i.class_name}`)
79
81
  .join("\n")
80
82
  : ""}`,
81
- `${is_action_attempt_class ? "import time\n" : ""}`,
83
+ `${this.name === "ActionAttempts" ? "import time\n" : ""}`,
82
84
  `class ${this.name}(Abstract${this.name}):`,
83
85
  // TODO DOCSTRING
84
86
  ` seam: Seam`,
@@ -106,14 +108,13 @@ export class ClassFile {
106
108
  if (is_return_resource_list) {
107
109
  return_resource_item = return_resource.slice(5, -1);
108
110
  }
109
- const can_method_poll_action_attempt = !is_action_attempt_class &&
110
- return_resource === "ActionAttempt" &&
111
- !is_return_resource_list;
111
+ const can_method_poll_action_attempt = return_resource === "ActionAttempt" && !is_return_resource_list;
112
112
  const is_none_return_type = return_resource_item === "None";
113
+ const has_params = parameters.length > 0;
113
114
  return [
114
115
  "",
115
116
  "",
116
- `def ${method_name}(self, ${parameters
117
+ `def ${method_name}(self,${has_params ? " *," : ""} ${parameters
117
118
  .sort((a, b) => (a.position ?? a.required ? 1000 : 9999) -
118
119
  (b.position ?? b.required ? 1000 : 9999))
119
120
  .map(({ name, type, required }) => required
@@ -139,13 +140,13 @@ export class ClassFile {
139
140
  ? [
140
141
  " if isinstance(wait_for_action_attempt, dict):",
141
142
  ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
142
- " res['action_attempt']['action_attempt_id'],",
143
+ " action_attempt_id=res['action_attempt']['action_attempt_id'],",
143
144
  " timeout=wait_for_action_attempt.get('timeout', None),",
144
145
  " polling_interval=wait_for_action_attempt.get('polling_interval', None),",
145
146
  " )",
146
147
  " elif wait_for_action_attempt is True:",
147
148
  ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
148
- " res['action_attempt']['action_attempt_id']",
149
+ " action_attempt_id=res['action_attempt']['action_attempt_id']",
149
150
  " )",
150
151
  " else:",
151
152
  ` return ${return_resource}.from_dict(res["${return_path.join('"]["')}"])`,
@@ -168,11 +169,11 @@ export class ClassFile {
168
169
  this.name === "ActionAttempts"
169
170
  ? [
170
171
  "",
171
- " def poll_until_ready(self, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
172
+ " def poll_until_ready(self, *, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
172
173
  " seam = self.seam",
173
174
  " time_waiting = 0.0",
174
175
  "",
175
- " action_attempt = seam.action_attempts.get(action_attempt_id, wait_for_action_attempt=False)",
176
+ " action_attempt = seam.action_attempts.get(action_attempt_id=action_attempt_id, wait_for_action_attempt=False)",
176
177
  "",
177
178
  " while action_attempt.status == 'pending':",
178
179
  " time.sleep(polling_interval)",
@@ -182,7 +183,7 @@ export class ClassFile {
182
183
  " raise Exception('Timed out waiting for action attempt to be ready')",
183
184
  "",
184
185
  " action_attempt = seam.action_attempts.get(",
185
- " action_attempt.action_attempt_id, wait_for_action_attempt=False",
186
+ " action_attempt_id=action_attempt.action_attempt_id, wait_for_action_attempt=False",
186
187
  " )",
187
188
  "",
188
189
  " if action_attempt.status == 'failed':",
@@ -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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"}
@@ -20,7 +20,7 @@ some_lock = seam.locks.get(
20
20
  name="Front Door"
21
21
  )
22
22
 
23
- seam.locks.lock_door(some_lock)
23
+ seam.locks.lock_door(device_id=some_lock.device_id)
24
24
  \`\`\`
25
25
 
26
26
  ## Development
@@ -19,8 +19,10 @@ class Seam(AbstractSeam):
19
19
  ----------
20
20
  api_key : str
21
21
  API key (default None)
22
- api_url : str
23
- API url (default None)
22
+ api_url : str
23
+ API url (default "https://connect.getseam.com")
24
+ lts_version : str
25
+ LTS version
24
26
  workspaces : Workspaces
25
27
  Workspaces class
26
28
  connected_accounts : ConnectedAccounts
@@ -41,10 +43,12 @@ class Seam(AbstractSeam):
41
43
 
42
44
  api_key: str
43
45
  api_url: str = "https://connect.getseam.com"
46
+ lts_version: str = '1.0.0'
44
47
 
45
48
  def __init__(
46
49
  self,
47
50
  api_key: Optional[str] = None,
51
+ *,
48
52
  workspace_id: Optional[str] = None,
49
53
  api_url: Optional[str] = None,
50
54
  should_report_exceptions: Optional[bool] = False,
@@ -73,6 +77,7 @@ class Seam(AbstractSeam):
73
77
  workspace_id = os.environ.get("SEAM_WORKSPACE_ID", None)
74
78
  self.api_key = api_key
75
79
  self.workspace_id = workspace_id
80
+ self.lts_version = Seam.lts_version
76
81
 
77
82
  if os.environ.get("SEAM_API_URL", None) is not None:
78
83
  print(
@@ -120,6 +125,7 @@ class Seam(AbstractSeam):
120
125
  "User-Agent": "Python SDK v" + sdk_version + " (https://github.com/seamapi/python)",
121
126
  "seam-sdk-name": "seamapi/python",
122
127
  "seam-sdk-version": sdk_version,
128
+ "seam-lts-version": self.lts_version,
123
129
  }
124
130
  if self.workspace_id is not None:
125
131
  headers["seam-workspace"] = self.workspace_id
@@ -1 +1 @@
1
- {"version":3,"file":"seam.py.template.js","sourceRoot":"","sources":["../../../src/lib/generate-python-sdk/templates/seam.py.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJpB,CAAA"}
1
+ {"version":3,"file":"seam.py.template.js","sourceRoot":"","sources":["../../../src/lib/generate-python-sdk/templates/seam.py.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JpB,CAAA"}
@@ -3,6 +3,7 @@ class AbstractSeam(AbstractRoutes):
3
3
  api_key: str
4
4
  workspace_id: str
5
5
  api_url: str
6
+ lts_version: str
6
7
 
7
8
  @abc.abstractmethod
8
9
  def __init__(
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-seam.template.js","sourceRoot":"","sources":["../../../../src/lib/generate-python-sdk/templates/snippets/abstract-seam.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;kCAca,CAAA"}
1
+ {"version":3,"file":"abstract-seam.template.js","sourceRoot":"","sources":["../../../../src/lib/generate-python-sdk/templates/snippets/abstract-seam.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;kCAea,CAAA"}
@@ -44,8 +44,7 @@ export const deepFlattenAllOfSchema = (s) => {
44
44
  subschema = recursive;
45
45
  }
46
46
  if ("oneOf" in subschema) {
47
- console.error("oneOf not currently supported when flattening allOf");
48
- continue;
47
+ subschema = flattenObjSchema(subschema);
49
48
  }
50
49
  if ("$ref" in subschema) {
51
50
  console.error("$ref not currently supported when flattening allOf");
@@ -1 +1 @@
1
- {"version":3,"file":"flatten-obj-schema.js","sourceRoot":"","sources":["../../src/lib/openapi/flatten-obj-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flatten-obj-schema.js","sourceRoot":"","sources":["../../src/lib/openapi/flatten-obj-schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/nextlove-sdk-generator",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "description": "Utilities for building NextLove SDK Generators",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -90,12 +90,14 @@ export class ClassFile {
90
90
  ]
91
91
  : []
92
92
  )
93
- .map(({ method_name, parameters }) =>
94
- [
93
+ .map(({ method_name, parameters, return_resource }) => {
94
+ const has_params = parameters.length > 0
95
+
96
+ return [
95
97
  "",
96
98
  "",
97
99
  `@abc.abstractmethod`,
98
- `def ${method_name}(self, ${parameters
100
+ `def ${method_name}(self,${has_params ? " *," : ""} ${parameters
99
101
  .sort(
100
102
  (a, b) =>
101
103
  (a.position ?? a.required ? 1000 : 9999) -
@@ -106,12 +108,12 @@ export class ClassFile {
106
108
  ? `${name}: ${type}`
107
109
  : `${name}: Optional[${type}] = ${default_value ?? "None"}`
108
110
  )
109
- .join(", ")}):`,
111
+ .join(", ")}) -> ${return_resource}:`,
110
112
  ` raise NotImplementedError()`,
111
113
  ]
112
114
  .map((s) => ` ${s}`)
113
115
  .join("\n")
114
- ),
116
+ }),
115
117
  ].join("\n")
116
118
  }
117
119
 
@@ -128,7 +130,6 @@ export class ClassFile {
128
130
  ),
129
131
  ].filter((classInstance) => classInstance !== "")
130
132
  const has_child_classes = this.child_class_identifiers.length > 0
131
- const is_action_attempt_class = this.name === "ActionAttempts"
132
133
 
133
134
  return [
134
135
  `from seamapi.types import (${validClasses
@@ -145,7 +146,7 @@ export class ClassFile {
145
146
  .join("\n")
146
147
  : ""
147
148
  }`,
148
- `${is_action_attempt_class ? "import time\n" : ""}`,
149
+ `${this.name === "ActionAttempts" ? "import time\n" : ""}`,
149
150
 
150
151
  `class ${this.name}(Abstract${this.name}):`,
151
152
  // TODO DOCSTRING
@@ -187,15 +188,14 @@ export class ClassFile {
187
188
  }
188
189
 
189
190
  const can_method_poll_action_attempt =
190
- !is_action_attempt_class &&
191
- return_resource === "ActionAttempt" &&
192
- !is_return_resource_list
191
+ return_resource === "ActionAttempt" && !is_return_resource_list
193
192
  const is_none_return_type = return_resource_item === "None"
193
+ const has_params = parameters.length > 0
194
194
 
195
195
  return [
196
196
  "",
197
197
  "",
198
- `def ${method_name}(self, ${parameters
198
+ `def ${method_name}(self,${has_params ? " *," : ""} ${parameters
199
199
  .sort(
200
200
  (a, b) =>
201
201
  (a.position ?? a.required ? 1000 : 9999) -
@@ -235,13 +235,13 @@ export class ClassFile {
235
235
  ? [
236
236
  " if isinstance(wait_for_action_attempt, dict):",
237
237
  ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
238
- " res['action_attempt']['action_attempt_id'],",
238
+ " action_attempt_id=res['action_attempt']['action_attempt_id'],",
239
239
  " timeout=wait_for_action_attempt.get('timeout', None),",
240
240
  " polling_interval=wait_for_action_attempt.get('polling_interval', None),",
241
241
  " )",
242
242
  " elif wait_for_action_attempt is True:",
243
243
  ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
244
- " res['action_attempt']['action_attempt_id']",
244
+ " action_attempt_id=res['action_attempt']['action_attempt_id']",
245
245
  " )",
246
246
  " else:",
247
247
  ` return ${return_resource}.from_dict(res["${return_path.join(
@@ -272,11 +272,11 @@ export class ClassFile {
272
272
  this.name === "ActionAttempts"
273
273
  ? [
274
274
  "",
275
- " def poll_until_ready(self, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
275
+ " def poll_until_ready(self, *, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
276
276
  " seam = self.seam",
277
277
  " time_waiting = 0.0",
278
278
  "",
279
- " action_attempt = seam.action_attempts.get(action_attempt_id, wait_for_action_attempt=False)",
279
+ " action_attempt = seam.action_attempts.get(action_attempt_id=action_attempt_id, wait_for_action_attempt=False)",
280
280
  "",
281
281
  " while action_attempt.status == 'pending':",
282
282
  " time.sleep(polling_interval)",
@@ -286,7 +286,7 @@ export class ClassFile {
286
286
  " raise Exception('Timed out waiting for action attempt to be ready')",
287
287
  "",
288
288
  " action_attempt = seam.action_attempts.get(",
289
- " action_attempt.action_attempt_id, wait_for_action_attempt=False",
289
+ " action_attempt_id=action_attempt.action_attempt_id, wait_for_action_attempt=False",
290
290
  " )",
291
291
  "",
292
292
  " if action_attempt.status == 'failed':",
@@ -20,7 +20,7 @@ some_lock = seam.locks.get(
20
20
  name="Front Door"
21
21
  )
22
22
 
23
- seam.locks.lock_door(some_lock)
23
+ seam.locks.lock_door(device_id=some_lock.device_id)
24
24
  \`\`\`
25
25
 
26
26
  ## Development
@@ -19,8 +19,10 @@ class Seam(AbstractSeam):
19
19
  ----------
20
20
  api_key : str
21
21
  API key (default None)
22
- api_url : str
23
- API url (default None)
22
+ api_url : str
23
+ API url (default "https://connect.getseam.com")
24
+ lts_version : str
25
+ LTS version
24
26
  workspaces : Workspaces
25
27
  Workspaces class
26
28
  connected_accounts : ConnectedAccounts
@@ -41,10 +43,12 @@ class Seam(AbstractSeam):
41
43
 
42
44
  api_key: str
43
45
  api_url: str = "https://connect.getseam.com"
46
+ lts_version: str = '1.0.0'
44
47
 
45
48
  def __init__(
46
49
  self,
47
50
  api_key: Optional[str] = None,
51
+ *,
48
52
  workspace_id: Optional[str] = None,
49
53
  api_url: Optional[str] = None,
50
54
  should_report_exceptions: Optional[bool] = False,
@@ -73,6 +77,7 @@ class Seam(AbstractSeam):
73
77
  workspace_id = os.environ.get("SEAM_WORKSPACE_ID", None)
74
78
  self.api_key = api_key
75
79
  self.workspace_id = workspace_id
80
+ self.lts_version = Seam.lts_version
76
81
 
77
82
  if os.environ.get("SEAM_API_URL", None) is not None:
78
83
  print(
@@ -120,6 +125,7 @@ class Seam(AbstractSeam):
120
125
  "User-Agent": "Python SDK v" + sdk_version + " (https://github.com/seamapi/python)",
121
126
  "seam-sdk-name": "seamapi/python",
122
127
  "seam-sdk-version": sdk_version,
128
+ "seam-lts-version": self.lts_version,
123
129
  }
124
130
  if self.workspace_id is not None:
125
131
  headers["seam-workspace"] = self.workspace_id
@@ -3,6 +3,7 @@ class AbstractSeam(AbstractRoutes):
3
3
  api_key: str
4
4
  workspace_id: str
5
5
  api_url: str
6
+ lts_version: str
6
7
 
7
8
  @abc.abstractmethod
8
9
  def __init__(
@@ -76,8 +76,11 @@ export const deepFlattenAllOfSchema = (
76
76
  }
77
77
 
78
78
  if ("oneOf" in subschema) {
79
- console.error("oneOf not currently supported when flattening allOf")
80
- continue
79
+ subschema = flattenObjSchema(
80
+ subschema as {
81
+ oneOf: Array<ObjSchema>
82
+ }
83
+ )
81
84
  }
82
85
 
83
86
  if ("$ref" in subschema) {