@seamapi/nextlove-sdk-generator 1.7.6 → 1.7.8

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.
@@ -41,10 +41,30 @@ export class ClassFile {
41
41
  return_resource: "ActionAttempt",
42
42
  path: "",
43
43
  },
44
+ {
45
+ method_name: "decide_and_wait",
46
+ parameters: [
47
+ {
48
+ name: "action_attempt",
49
+ type: "ActionAttempt",
50
+ required: true,
51
+ },
52
+ {
53
+ name: "wait_for_action_attempt",
54
+ type: "Union[bool, Dict[str, float]]",
55
+ required: true,
56
+ },
57
+ ],
58
+ return_path: [],
59
+ return_resource: "ActionAttempt",
60
+ path: "",
61
+ },
44
62
  ]
45
63
  : [])
46
64
  .map(({ method_name, parameters, return_resource }) => {
47
65
  const has_params = parameters.length > 0;
66
+ const can_method_poll_action_attempt = return_resource === "ActionAttempt" &&
67
+ method_name !== "poll_until_ready";
48
68
  return [
49
69
  "",
50
70
  "",
@@ -55,6 +75,11 @@ export class ClassFile {
55
75
  .map(({ name, type, required, default_value }) => required
56
76
  ? `${name}: ${type}`
57
77
  : `${name}: Optional[${type}] = ${default_value ?? "None"}`)
78
+ .concat(can_method_poll_action_attempt
79
+ ? [
80
+ "wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None",
81
+ ]
82
+ : [])
58
83
  .join(", ")}) -> ${return_resource}:`,
59
84
  ` raise NotImplementedError()`,
60
85
  ]
@@ -108,7 +133,7 @@ export class ClassFile {
108
133
  if (is_return_resource_list) {
109
134
  return_resource_item = return_resource.slice(5, -1);
110
135
  }
111
- const can_method_poll_action_attempt = return_resource === "ActionAttempt" && !is_return_resource_list;
136
+ const can_method_poll_action_attempt = return_resource === "ActionAttempt";
112
137
  const is_none_return_type = return_resource_item === "None";
113
138
  const has_params = parameters.length > 0;
114
139
  return [
@@ -122,7 +147,7 @@ export class ClassFile {
122
147
  : `${name}: Optional[${type}] = None`)
123
148
  .concat(can_method_poll_action_attempt
124
149
  ? [
125
- "wait_for_action_attempt: Union[bool, Dict[str, float]] = False",
150
+ "wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None",
126
151
  ]
127
152
  : [])
128
153
  .join(", ")}) -> ${return_resource}:`,
@@ -138,20 +163,10 @@ export class ClassFile {
138
163
  "",
139
164
  can_method_poll_action_attempt
140
165
  ? [
141
- " if isinstance(wait_for_action_attempt, dict):",
142
- ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
143
- " action_attempt_id=res['action_attempt']['action_attempt_id'],",
144
- " timeout=wait_for_action_attempt.get('timeout', None),",
145
- " polling_interval=wait_for_action_attempt.get('polling_interval', None),",
146
- " )",
147
- " elif wait_for_action_attempt is True:",
148
- ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
149
- " action_attempt_id=res['action_attempt']['action_attempt_id']",
150
- " )",
151
- " else:",
152
- ` return ${return_resource}.from_dict(res["${return_path.join('"]["')}"])`,
153
- "",
154
- " return updated_action_attempt",
166
+ " return self.seam.action_attempts.decide_and_wait(",
167
+ ` action_attempt=ActionAttempt.from_dict(res["action_attempt"]),`,
168
+ ` wait_for_action_attempt=wait_for_action_attempt`,
169
+ " )",
155
170
  ].join("\n")
156
171
  : "",
157
172
  "",
@@ -190,6 +205,16 @@ export class ClassFile {
190
205
  " raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
191
206
  "",
192
207
  " return action_attempt",
208
+ "",
209
+ " def decide_and_wait(self, *, action_attempt: ActionAttempt, wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None) -> ActionAttempt:",
210
+ " wait_decision = self.seam.wait_for_action_attempt if wait_for_action_attempt is None else wait_for_action_attempt",
211
+ "",
212
+ " if wait_decision is True:",
213
+ " return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id)",
214
+ " elif isinstance(wait_decision, dict):",
215
+ " return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id, timeout=wait_decision.get('timeout', None), polling_interval=wait_decision.get('polling_interval', None))",
216
+ "",
217
+ " return action_attempt",
193
218
  ].join("\n")
194
219
  : "",
195
220
  ].join("\n");
@@ -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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"}
@@ -22,6 +22,7 @@ class Seam(AbstractSeam):
22
22
  *,
23
23
  workspace_id: Optional[str] = None,
24
24
  api_url: Optional[str] = None,
25
+ wait_for_action_attempt: Optional[bool] = False,
25
26
  ):
26
27
  """
27
28
  Parameters
@@ -46,6 +47,7 @@ class Seam(AbstractSeam):
46
47
  self.api_key = api_key
47
48
  self.workspace_id = workspace_id
48
49
  self.lts_version = Seam.lts_version
50
+ self.wait_for_action_attempt = wait_for_action_attempt
49
51
 
50
52
  if os.environ.get("SEAM_API_URL", None) is not None:
51
53
  print(
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGpB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGpB,CAAA"}
@@ -4,13 +4,16 @@ class AbstractSeam(AbstractRoutes):
4
4
  workspace_id: str
5
5
  api_url: str
6
6
  lts_version: str
7
+ wait_for_action_attempt: bool
7
8
 
8
9
  @abc.abstractmethod
9
10
  def __init__(
10
11
  self,
11
12
  api_key: Optional[str] = None,
13
+ *,
12
14
  workspace_id: Optional[str] = None,
13
15
  api_url: Optional[str] = None,
16
+ wait_for_action_attempt: Optional[bool] = False,
14
17
  ):
15
18
  raise NotImplementedError`;
16
19
  //# sourceMappingURL=abstract-seam.template.js.map
@@ -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;;;;;;;;;;;;;;;;;kCAiBa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/nextlove-sdk-generator",
3
- "version": "1.7.6",
3
+ "version": "1.7.8",
4
4
  "description": "Utilities for building NextLove SDK Generators",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -87,11 +87,32 @@ export class ClassFile {
87
87
  return_resource: "ActionAttempt",
88
88
  path: "",
89
89
  },
90
+ {
91
+ method_name: "decide_and_wait",
92
+ parameters: [
93
+ {
94
+ name: "action_attempt",
95
+ type: "ActionAttempt",
96
+ required: true,
97
+ },
98
+ {
99
+ name: "wait_for_action_attempt",
100
+ type: "Union[bool, Dict[str, float]]",
101
+ required: true,
102
+ },
103
+ ],
104
+ return_path: [],
105
+ return_resource: "ActionAttempt",
106
+ path: "",
107
+ },
90
108
  ]
91
109
  : []
92
110
  )
93
111
  .map(({ method_name, parameters, return_resource }) => {
94
112
  const has_params = parameters.length > 0
113
+ const can_method_poll_action_attempt =
114
+ return_resource === "ActionAttempt" &&
115
+ method_name !== "poll_until_ready"
95
116
 
96
117
  return [
97
118
  "",
@@ -108,6 +129,13 @@ export class ClassFile {
108
129
  ? `${name}: ${type}`
109
130
  : `${name}: Optional[${type}] = ${default_value ?? "None"}`
110
131
  )
132
+ .concat(
133
+ can_method_poll_action_attempt
134
+ ? [
135
+ "wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None",
136
+ ]
137
+ : []
138
+ )
111
139
  .join(", ")}) -> ${return_resource}:`,
112
140
  ` raise NotImplementedError()`,
113
141
  ]
@@ -188,7 +216,7 @@ export class ClassFile {
188
216
  }
189
217
 
190
218
  const can_method_poll_action_attempt =
191
- return_resource === "ActionAttempt" && !is_return_resource_list
219
+ return_resource === "ActionAttempt"
192
220
  const is_none_return_type = return_resource_item === "None"
193
221
  const has_params = parameters.length > 0
194
222
 
@@ -209,7 +237,7 @@ export class ClassFile {
209
237
  .concat(
210
238
  can_method_poll_action_attempt
211
239
  ? [
212
- "wait_for_action_attempt: Union[bool, Dict[str, float]] = False",
240
+ "wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None",
213
241
  ]
214
242
  : []
215
243
  )
@@ -233,22 +261,10 @@ export class ClassFile {
233
261
 
234
262
  can_method_poll_action_attempt
235
263
  ? [
236
- " if isinstance(wait_for_action_attempt, dict):",
237
- ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
238
- " action_attempt_id=res['action_attempt']['action_attempt_id'],",
239
- " timeout=wait_for_action_attempt.get('timeout', None),",
240
- " polling_interval=wait_for_action_attempt.get('polling_interval', None),",
241
- " )",
242
- " elif wait_for_action_attempt is True:",
243
- ` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
244
- " action_attempt_id=res['action_attempt']['action_attempt_id']",
245
- " )",
246
- " else:",
247
- ` return ${return_resource}.from_dict(res["${return_path.join(
248
- '"]["'
249
- )}"])`,
250
- "",
251
- " return updated_action_attempt",
264
+ " return self.seam.action_attempts.decide_and_wait(",
265
+ ` action_attempt=ActionAttempt.from_dict(res["action_attempt"]),`,
266
+ ` wait_for_action_attempt=wait_for_action_attempt`,
267
+ " )",
252
268
  ].join("\n")
253
269
  : "",
254
270
  "",
@@ -293,6 +309,16 @@ export class ClassFile {
293
309
  " raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
294
310
  "",
295
311
  " return action_attempt",
312
+ "",
313
+ " def decide_and_wait(self, *, action_attempt: ActionAttempt, wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None) -> ActionAttempt:",
314
+ " wait_decision = self.seam.wait_for_action_attempt if wait_for_action_attempt is None else wait_for_action_attempt",
315
+ "",
316
+ " if wait_decision is True:",
317
+ " return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id)",
318
+ " elif isinstance(wait_decision, dict):",
319
+ " return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id, timeout=wait_decision.get('timeout', None), polling_interval=wait_decision.get('polling_interval', None))",
320
+ "",
321
+ " return action_attempt",
296
322
  ].join("\n")
297
323
  : "",
298
324
  ].join("\n")
@@ -22,6 +22,7 @@ class Seam(AbstractSeam):
22
22
  *,
23
23
  workspace_id: Optional[str] = None,
24
24
  api_url: Optional[str] = None,
25
+ wait_for_action_attempt: Optional[bool] = False,
25
26
  ):
26
27
  """
27
28
  Parameters
@@ -46,6 +47,7 @@ class Seam(AbstractSeam):
46
47
  self.api_key = api_key
47
48
  self.workspace_id = workspace_id
48
49
  self.lts_version = Seam.lts_version
50
+ self.wait_for_action_attempt = wait_for_action_attempt
49
51
 
50
52
  if os.environ.get("SEAM_API_URL", None) is not None:
51
53
  print(
@@ -4,12 +4,15 @@ class AbstractSeam(AbstractRoutes):
4
4
  workspace_id: str
5
5
  api_url: str
6
6
  lts_version: str
7
+ wait_for_action_attempt: bool
7
8
 
8
9
  @abc.abstractmethod
9
10
  def __init__(
10
11
  self,
11
12
  api_key: Optional[str] = None,
13
+ *,
12
14
  workspace_id: Optional[str] = None,
13
15
  api_url: Optional[str] = None,
16
+ wait_for_action_attempt: Optional[bool] = False,
14
17
  ):
15
18
  raise NotImplementedError`