@synopackageland/sdk 0.38.2 → 0.38.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.
@@ -560,6 +560,7 @@ export interface StatusParams {
560
560
  /** webapi.call: Call an exact approved WebAPI as the profile grant owner. JSON returns the DSM envelope; raw (since 0.12.1) requires profile raw_max_bytes and returns content_type, size, sha256 and base64 body or private staging handle. Never retried. Since 0.11.0. */
561
561
  export interface WebapiCallParams {
562
562
  response_type?: "json" | "raw";
563
+ expected_size?: number;
563
564
  delegation_id: string;
564
565
  job_id?: string;
565
566
  api: string;
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "formatVersion": 1,
3
- "sdkVersion": "0.38.2",
4
- "executorVersion": "0.38.2",
3
+ "sdkVersion": "0.38.4",
4
+ "executorVersion": "0.38.3",
5
5
  "executorDigests": {
6
- "x86_64": "c25375fd73da6fa91388f8d827e94782779a9d007d9a147f250774219e768476",
7
- "aarch64": "9f523ba0482814c61e441a681a2082979e96718043f13112c40fb0cd061dedb2",
8
- "armv7": "75a0046758a47dd81d62662996465c0b701f9d7de13e808b46f0a627ae5c011e",
6
+ "x86_64": "36c4f39754b946773011a632308ea357c2269585aa8000c7f4989a3b43cc6235",
7
+ "aarch64": "11c81787763007be62839b27e9ebfab734f6a4f1b866e41de1fd143e1af32b8e",
8
+ "armv7": "e2d97ba0d8b47c39f5fbce36118803d17ff0faf31ea686a3225fa0296e3c6f32",
9
9
  "lifecycle": {
10
10
  "x86_64": "c6fbb377ecd5ec7ee5b96439f22091d9fa5965dfd616d510ca9445722f436721",
11
11
  "aarch64": "a9ca1750d4d5cff4727dc29789e6eaf0a365cb0e674f1bb796971d82f2d4fa27",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/sdk",
3
- "version": "0.38.2",
3
+ "version": "0.38.4",
4
4
  "description": "Frontend SDK for DSM packages built with synopkgland: headless client and Vue components",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/synopackageland/syno-pkg-land-sdk/tree/main/ts#readme",
@@ -491,7 +491,7 @@ MUST be refused. These bounds and semantics also apply to until-revoked grants.
491
491
 
492
492
  The JSON-only restriction above applies to the default response mode. An explicit
493
493
  `response_type:"raw"` MUST require a positive, approved profile `raw_max_bytes`
494
- (1..2147483648, at most 2 GiB), pinned by policy and user consent. The executor MUST parse bounded
494
+ (1..10737418240, at most 10 GiB), pinned by policy and user consent. The executor MUST parse bounded
495
495
  CGI headers, refuse redirects, enforce the body limit without truncation, and
496
496
  return `response_type`, `content_type`, `size`, `sha256` and exactly one of
497
497
  base64 `body` (at most 32768 bytes decoded) or a package-private `staging` handle.
@@ -499,9 +499,16 @@ It MUST NOT raise frame limits. Staging MUST be App-owned 0600 under a private
499
499
  0700 package directory. The App MUST verify size/hash and unlink after reading.
500
500
  Header, execution, spool cleanup and error rules are specified in
501
501
  [the raw contract](../../../docs/webapi-raw.md).
502
- Raw calls have a 30-minute execution bound, narrowed by the parent deadline and
503
- any timed grant's remaining lifetime. They MUST stream with bounded memory,
504
- reserve staging capacity, and cancel/drain when the grant is revoked or the
502
+ Raw calls allow 18 minutes per started GiB (at least 30 minutes, at most three
503
+ hours), narrowed by the parent deadline and any timed grant's remaining lifetime.
504
+ Optional raw-only `expected_size` asserts the exact pinned source size, bounded
505
+ by the profile. It MUST match Content-Length if present and the final body size.
506
+ Reserve staging from that size or validated Content-Length before body writes;
507
+ only unknown sizes use the profile ceiling. Check available filesystem space
508
+ and refuse insufficient capacity with `NO_SPACE`. Raw socket deadline
509
+ hints may reach 10820000 ms; other operations retain their one-hour ceiling.
510
+ They MUST stream with bounded memory, protect active output from orphan cleanup,
511
+ and cancel/drain when the grant is revoked or the
505
512
  integration is disabled. JSON calls retain their 10-second bound.
506
513
 
507
514
  ### Destination permission observations
@@ -12,6 +12,12 @@
12
12
  "enum": ["json", "raw"],
13
13
  "description": "Defaults to json. Raw requires an explicitly approved raw_max_bytes profile."
14
14
  },
15
+ "expected_size": {
16
+ "type": "integer",
17
+ "minimum": 0,
18
+ "maximum": 10737418240,
19
+ "description": "Raw only: exact byte size of the pinned source version from metadata. Narrows staging reservation and execution budget; mismatch is refused."
20
+ },
15
21
  "delegation_id": {
16
22
  "type": "string",
17
23
  "pattern": "^[a-f0-9]{64}$"
@@ -3,8 +3,8 @@
3
3
  "margin_s": 10,
4
4
  "executor": {
5
5
  "op_s": 30,
6
- "webapi_raw_execution_s": 1800,
7
- "webapi_raw_answer_s": 1810,
6
+ "webapi_raw_execution_s": 10800,
7
+ "webapi_raw_answer_s": 10810,
8
8
  "root_run_program_default_s": 20,
9
9
  "root_run_program_max_s": 120,
10
10
  "root_run_answer_s": 130,
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "client": {
14
14
  "op_s": 40,
15
- "webapi_raw_s": 1820,
15
+ "webapi_raw_s": 10820,
16
16
  "root_run_s": 140
17
17
  },
18
18
  "request": {