Skip to content

Commit f84af42

Browse files
Merge remote-tracking branch 'origin/main' into stlc/promote-next
2 parents f4d2d33 + 82d9f84 commit f84af42

3 files changed

Lines changed: 40 additions & 18 deletions

File tree

src/kernel/resources/vaults/items.py

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,10 @@ def perform_operation(
409409
device approval before native Square Pay. Keep the returned approval page open,
410410
poll until ready_to_submit, then submit before preparation.expires_at. Unused
411411
preparations expire automatically and cannot be reused. If spend-request
412-
creation is rate limited, returns HTTP 429 with code
413-
`spend_request_rate_limited`; stop and back off before retrying.
412+
creation is rejected with a non-retryable provider error, the card item is
413+
deleted and the provider's error code and message are returned. Rate limits
414+
return HTTP 429 and retain the card item; stop, back off, and retry the same
415+
authorize operation.
414416
415417
Fill returns a value-free execution result. Validation failures before writing
416418
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -454,8 +456,10 @@ def perform_operation(
454456
device approval before native Square Pay. Keep the returned approval page open,
455457
poll until ready_to_submit, then submit before preparation.expires_at. Unused
456458
preparations expire automatically and cannot be reused. If spend-request
457-
creation is rate limited, returns HTTP 429 with code
458-
`spend_request_rate_limited`; stop and back off before retrying.
459+
creation is rejected with a non-retryable provider error, the card item is
460+
deleted and the provider's error code and message are returned. Rate limits
461+
return HTTP 429 and retain the card item; stop, back off, and retry the same
462+
authorize operation.
459463
460464
Fill returns a value-free execution result. Validation failures before writing
461465
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -500,8 +504,10 @@ def perform_operation(
500504
device approval before native Square Pay. Keep the returned approval page open,
501505
poll until ready_to_submit, then submit before preparation.expires_at. Unused
502506
preparations expire automatically and cannot be reused. If spend-request
503-
creation is rate limited, returns HTTP 429 with code
504-
`spend_request_rate_limited`; stop and back off before retrying.
507+
creation is rejected with a non-retryable provider error, the card item is
508+
deleted and the provider's error code and message are returned. Rate limits
509+
return HTTP 429 and retain the card item; stop, back off, and retry the same
510+
authorize operation.
505511
506512
Fill returns a value-free execution result. Validation failures before writing
507513
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -555,8 +561,10 @@ def perform_operation(
555561
device approval before native Square Pay. Keep the returned approval page open,
556562
poll until ready_to_submit, then submit before preparation.expires_at. Unused
557563
preparations expire automatically and cannot be reused. If spend-request
558-
creation is rate limited, returns HTTP 429 with code
559-
`spend_request_rate_limited`; stop and back off before retrying.
564+
creation is rejected with a non-retryable provider error, the card item is
565+
deleted and the provider's error code and message are returned. Rate limits
566+
return HTTP 429 and retain the card item; stop, back off, and retry the same
567+
authorize operation.
560568
561569
Fill returns a value-free execution result. Validation failures before writing
562570
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -1172,8 +1180,10 @@ async def perform_operation(
11721180
device approval before native Square Pay. Keep the returned approval page open,
11731181
poll until ready_to_submit, then submit before preparation.expires_at. Unused
11741182
preparations expire automatically and cannot be reused. If spend-request
1175-
creation is rate limited, returns HTTP 429 with code
1176-
`spend_request_rate_limited`; stop and back off before retrying.
1183+
creation is rejected with a non-retryable provider error, the card item is
1184+
deleted and the provider's error code and message are returned. Rate limits
1185+
return HTTP 429 and retain the card item; stop, back off, and retry the same
1186+
authorize operation.
11771187
11781188
Fill returns a value-free execution result. Validation failures before writing
11791189
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -1217,8 +1227,10 @@ async def perform_operation(
12171227
device approval before native Square Pay. Keep the returned approval page open,
12181228
poll until ready_to_submit, then submit before preparation.expires_at. Unused
12191229
preparations expire automatically and cannot be reused. If spend-request
1220-
creation is rate limited, returns HTTP 429 with code
1221-
`spend_request_rate_limited`; stop and back off before retrying.
1230+
creation is rejected with a non-retryable provider error, the card item is
1231+
deleted and the provider's error code and message are returned. Rate limits
1232+
return HTTP 429 and retain the card item; stop, back off, and retry the same
1233+
authorize operation.
12221234
12231235
Fill returns a value-free execution result. Validation failures before writing
12241236
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -1263,8 +1275,10 @@ async def perform_operation(
12631275
device approval before native Square Pay. Keep the returned approval page open,
12641276
poll until ready_to_submit, then submit before preparation.expires_at. Unused
12651277
preparations expire automatically and cannot be reused. If spend-request
1266-
creation is rate limited, returns HTTP 429 with code
1267-
`spend_request_rate_limited`; stop and back off before retrying.
1278+
creation is rejected with a non-retryable provider error, the card item is
1279+
deleted and the provider's error code and message are returned. Rate limits
1280+
return HTTP 429 and retain the card item; stop, back off, and retry the same
1281+
authorize operation.
12681282
12691283
Fill returns a value-free execution result. Validation failures before writing
12701284
return 400 (invalid request or targets), 403 (access or destination denied), 404
@@ -1318,8 +1332,10 @@ async def perform_operation(
13181332
device approval before native Square Pay. Keep the returned approval page open,
13191333
poll until ready_to_submit, then submit before preparation.expires_at. Unused
13201334
preparations expire automatically and cannot be reused. If spend-request
1321-
creation is rate limited, returns HTTP 429 with code
1322-
`spend_request_rate_limited`; stop and back off before retrying.
1335+
creation is rejected with a non-retryable provider error, the card item is
1336+
deleted and the provider's error code and message are returned. Rate limits
1337+
return HTTP 429 and retain the card item; stop, back off, and retry the same
1338+
authorize operation.
13231339
13241340
Fill returns a value-free execution result. Validation failures before writing
13251341
return 400 (invalid request or targets), 403 (access or destination denied), 404

src/kernel/types/vaults/card_vault_item_spec.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ class LinkCardVaultItemSpec(BaseModel):
5959
"""Live payment card. Test-mode card creation is not supported."""
6060

6161
amount: int
62-
"""Integer amount in minor currency units."""
62+
"""Integer amount in minor currency units.
63+
64+
Link permits at most 50000 per spend request.
65+
"""
6366

6467
context: str
6568

src/kernel/types/vaults/card_vault_item_spec_param.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@ class LinkCardVaultItemSpec(TypedDict, total=False):
5858
"""Live payment card. Test-mode card creation is not supported."""
5959

6060
amount: Required[int]
61-
"""Integer amount in minor currency units."""
61+
"""Integer amount in minor currency units.
62+
63+
Link permits at most 50000 per spend request.
64+
"""
6265

6366
context: Required[str]
6467

0 commit comments

Comments
 (0)