@synopackageland/sdk 0.38.1 → 0.38.3
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;
|
package/executor-manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"formatVersion": 1,
|
|
3
|
-
"sdkVersion": "0.38.
|
|
4
|
-
"executorVersion": "0.
|
|
3
|
+
"sdkVersion": "0.38.3",
|
|
4
|
+
"executorVersion": "0.38.3",
|
|
5
5
|
"executorDigests": {
|
|
6
|
-
"x86_64": "
|
|
7
|
-
"aarch64": "
|
|
8
|
-
"armv7": "
|
|
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.
|
|
3
|
+
"version": "0.38.3",
|
|
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",
|
|
@@ -40,8 +40,9 @@ browser waits 2 seconds past the request (`timeouts.json` holds the values).
|
|
|
40
40
|
|---|---|---|
|
|
41
41
|
| Root program (`run.timeout_s`) | its own work | 1–120 s, default 20; the process group is then killed |
|
|
42
42
|
| Executor, `root.run` | the program, then its reply | answers within 130 s (120 + 10) |
|
|
43
|
-
| Executor,
|
|
44
|
-
| Executor
|
|
43
|
+
| Executor, raw `webapi.call` | its streaming DSM call | executes within 1800 s, answers within 1810 s |
|
|
44
|
+
| Executor, other ops | its DSM calls | answers within 30 s |
|
|
45
|
+
| Executor client (Go `delegate.Client`, the bridge runtime's `root.*` and `delegate.*`) | the executor | `root.run` 140 s (`delegate.RootRunTimeout`); Go raw WebAPI 1820 s; other ops 40 s (`delegate.ExecutorTimeout`) |
|
|
45
46
|
| Request (`api.Timeout`, manifest `timeout_seconds`) | the App's backend | default 300 s (`api.DefaultRequestTimeout`), 1–3600 |
|
|
46
47
|
| Browser (`clientTimeout`, the CLI window's `call`) | the request | the request's deadline + 2 s |
|
|
47
48
|
|
|
@@ -490,7 +491,7 @@ MUST be refused. These bounds and semantics also apply to until-revoked grants.
|
|
|
490
491
|
|
|
491
492
|
The JSON-only restriction above applies to the default response mode. An explicit
|
|
492
493
|
`response_type:"raw"` MUST require a positive, approved profile `raw_max_bytes`
|
|
493
|
-
(1..
|
|
494
|
+
(1..10737418240, at most 10 GiB), pinned by policy and user consent. The executor MUST parse bounded
|
|
494
495
|
CGI headers, refuse redirects, enforce the body limit without truncation, and
|
|
495
496
|
return `response_type`, `content_type`, `size`, `sha256` and exactly one of
|
|
496
497
|
base64 `body` (at most 32768 bytes decoded) or a package-private `staging` handle.
|
|
@@ -498,6 +499,17 @@ It MUST NOT raise frame limits. Staging MUST be App-owned 0600 under a private
|
|
|
498
499
|
0700 package directory. The App MUST verify size/hash and unlink after reading.
|
|
499
500
|
Header, execution, spool cleanup and error rules are specified in
|
|
500
501
|
[the raw contract](../../../docs/webapi-raw.md).
|
|
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
|
|
512
|
+
integration is disabled. JSON calls retain their 10-second bound.
|
|
501
513
|
|
|
502
514
|
### Destination permission observations
|
|
503
515
|
|
|
@@ -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,6 +3,8 @@
|
|
|
3
3
|
"margin_s": 10,
|
|
4
4
|
"executor": {
|
|
5
5
|
"op_s": 30,
|
|
6
|
+
"webapi_raw_execution_s": 10800,
|
|
7
|
+
"webapi_raw_answer_s": 10810,
|
|
6
8
|
"root_run_program_default_s": 20,
|
|
7
9
|
"root_run_program_max_s": 120,
|
|
8
10
|
"root_run_answer_s": 130,
|
|
@@ -10,6 +12,7 @@
|
|
|
10
12
|
},
|
|
11
13
|
"client": {
|
|
12
14
|
"op_s": 40,
|
|
15
|
+
"webapi_raw_s": 10820,
|
|
13
16
|
"root_run_s": 140
|
|
14
17
|
},
|
|
15
18
|
"request": {
|