@synopackageland/templates 0.37.0 → 0.38.1

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.
package/README.md CHANGED
@@ -22,7 +22,7 @@ daemon:
22
22
  window_seconds: 300
23
23
  ```
24
24
 
25
- Templates 0.37.0 pin UI 0.19.1 and SDK 0.41.1 in native and Compose projects.
25
+ Templates 0.38.0 pin UI 0.19.1 and SDK 0.43.0 in native and Compose projects.
26
26
  Use a CLI that supports executor manifest format 1. The Vue `AppShell` shows a
27
27
  non-blocking **Reload** notice when an upgrade replaced the UI an open page
28
28
  loaded. Go Apps select
@@ -87,15 +87,15 @@ the single source of the SDK version and `frontend/package.json` pins
87
87
  `@synopackageland/sdk` to the same version. Python and Node.js name it in
88
88
  `backend.sdk`, Rust in the `syno-pkg-land-app` tag of `backend/Cargo.toml`
89
89
  (and `Cargo.lock`); all of them pin 0.41.1. The Vue frontend pins
90
- `@synopackageland/ui` 0.19.1. SDK 0.41.1 accepts UI `>=0.10.1 <0.20.0`,
90
+ `@synopackageland/ui` 0.19.1. SDK 0.43.0 accepts UI `>=0.10.1 <0.20.0`,
91
91
  so no UI peer override is needed. Tests use jsdom 30 for UI floating-layer styles.
92
92
 
93
93
  Interactive NAS file operations use same-origin browser calls.
94
94
  Custom file handlers use the SDK's
95
95
  [session transport migration](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.41.1/docs/dsm-session-transport.md).
96
- The CLI reads SDK 0.41.1's release manifest, which names immutable
96
+ The CLI reads SDK 0.43.0's release manifest, which names immutable
97
97
  executor/v0.39.0 and its executor digests. CLI distributions must resolve
98
- templates 0.37.x before default scaffolds use this release; a `~0.36.0`
98
+ templates 0.38.x before default scaffolds use this release; a `~0.36.0`
99
99
  templates dependency remains on the older minor.
100
100
 
101
101
  Every App method must appear in the permissions table, including methods whose
@@ -110,7 +110,7 @@ Keep punctuation between sentences and intentional loading ellipses.
110
110
 
111
111
  ## Request deadlines and background work
112
112
 
113
- SDK/App 0.41.1 defaults to 300 seconds for cooperative requests and 302 seconds
113
+ SDK/App 0.43.0 defaults to 300 seconds for cooperative requests and 302 seconds
114
114
  for the TS client and generated DSM window. The CLI reads the selected SDK's
115
115
  timeout spec; `backend.timeout_seconds` explicitly overrides it for native
116
116
  backends, and an earlier parent deadline still wins. Go assembly should fall
@@ -304,7 +304,7 @@ The bridge examples expose submission, lookup and cancellation through
304
304
 
305
305
  ## External access
306
306
 
307
- With a compatible CLI and SDK 0.41.1, a gateway App may declare `identity_gateway.external_access: {connect: optional, origin_change: confirm, single_origin: true}` for an upstream that signs in on one fixed URL. The policy is forwarded to the packaged gateway. A single-origin App's `manual_origin` accepts an explicit HTTPS port; the `external-origin` installation setting remains restricted to port 443. The DSM launcher selects a provider destination, probes `/_spl/ping` for up to eight seconds, and explains failures before offering **Open anyway**. A configured single-origin App always opens its primary external origin.
307
+ With a compatible CLI and SDK 0.43.0, a gateway App may declare `identity_gateway.external_access: {connect: optional, origin_change: confirm, single_origin: true}` for an upstream that signs in on one fixed URL. The policy is forwarded to the packaged gateway. A single-origin App's `manual_origin` accepts an explicit HTTPS port; the `external-origin` installation setting remains restricted to port 443. The DSM launcher selects a provider destination, probes `/_spl/ping` for up to eight seconds, and explains failures before offering **Open anyway**. A configured single-origin App always opens its primary external origin.
308
308
 
309
309
 
310
310
  Compose templates declare an app-named dedicated shared folder by default. DSM
@@ -349,3 +349,8 @@ grants get different sources. A newly created report refused with
349
349
  `DELEGATION_DENIED` is removed. An ambiguous transport failure keeps the source
350
350
  for retry because the executor may already have admitted it. Other settled
351
351
  sources use the SDK's explicit discard operation when the App deletes the job.
352
+
353
+ An opt-in [DSM path ingress migration guide](examples/path-ingress/README.md)
354
+ explains the default `/synopkgland/<package>/` on the DSM origin and opt-in
355
+ custom lowercase paths for upstreams with a fixed base. Root `/` is unsupported;
356
+ installation checks route ownership before DSM registers the resource.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/templates",
3
- "version": "0.37.0",
3
+ "version": "0.38.1",
4
4
  "description": "Project templates for synopkgland init: native-go, native-python, native-node and native-rust (plain or Vue, with jobs, delegate and root-ops overlays), binary and compose.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,7 +23,7 @@ compose:
23
23
  web: {service: web, port: 8080, health: {path: /, status: 200}}
24
24
  network: {egress: isolated}
25
25
  identity_gateway:
26
- sdk: 0.41.1
26
+ sdk: 0.43.0
27
27
  mode: none
28
28
  listen: {http: 28000}
29
29
  # Web Apps default to new-page through the shared app-launch resolver.
@@ -17,7 +17,7 @@ DSM main menu → DSM window (ui/app.js)
17
17
 
18
18
  ## Requests and long work
19
19
 
20
- SDK/App 0.41.1 defaults to 300-second requests and a 302-second browser wait.
20
+ SDK/App 0.43.0 defaults to 300-second requests and a 302-second browser wait.
21
21
  Explicit `backend.timeout_seconds` and earlier parent deadlines still apply;
22
22
  rebuild the App to use the new SDK. For long NAS work, enable the existing jobs
23
23
  capability: return admission and the original job ID promptly, execute in the
@@ -27,7 +27,7 @@ last queued/running state intact. After a lost admission reply, reuse the same
27
27
  idempotency key and input instead of replaying a mutation with a new key.
28
28
  Jobs default to 30 minutes; approved executor limits remain separate. ctl keeps
29
29
  its 62-second transport default; use an explicit `--timeout` or an existing
30
- nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.41.1/docs/request-deadlines.md).
30
+ nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.43.0/docs/request-deadlines.md).
31
31
 
32
32
  ## Quick start
33
33
 
@@ -1,6 +1,6 @@
1
1
  Native Go package build dependencies
2
2
 
3
- github.com/synopackageland/syno-pkg-land-sdk v0.41.1 (MIT)
3
+ github.com/synopackageland/syno-pkg-land-sdk v0.43.0 (MIT)
4
4
 
5
5
  Copyright (c) 2026 synopkgland
6
6
 
@@ -4,6 +4,6 @@ go 1.25.0
4
4
 
5
5
  toolchain go1.26.10
6
6
 
7
- require github.com/synopackageland/syno-pkg-land-sdk v0.41.1
7
+ require github.com/synopackageland/syno-pkg-land-sdk v0.43.0
8
8
 
9
9
  require golang.org/x/sys v0.44.0 // indirect
@@ -1,4 +1,4 @@
1
- github.com/synopackageland/syno-pkg-land-sdk v0.41.1 h1:DnNgIOz08eG9xh1rJjGreHkGdba6ABFtxxG+7PgWMzs=
2
- github.com/synopackageland/syno-pkg-land-sdk v0.41.1/go.mod h1:8GwREGbczc8mAk4Gv8FUHaukXXCUstjzkovQrNV59Cc=
1
+ github.com/synopackageland/syno-pkg-land-sdk v0.43.0 h1:SgUaOxjyOeiZE44Z+JAmZXtoy+idkgVF74N7palFH4k=
2
+ github.com/synopackageland/syno-pkg-land-sdk v0.43.0/go.mod h1:8GwREGbczc8mAk4Gv8FUHaukXXCUstjzkovQrNV59Cc=
3
3
  golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
4
4
  golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
@@ -7,7 +7,7 @@
7
7
  "name": "native-dsm-vue-app",
8
8
  "dependencies": {
9
9
  "@lucide/vue": "1.48.0",
10
- "@synopackageland/sdk": "0.41.1",
10
+ "@synopackageland/sdk": "0.43.0",
11
11
  "@synopackageland/ui": "0.19.1",
12
12
  "vue": "3.5.43"
13
13
  },
@@ -1177,9 +1177,9 @@
1177
1177
  }
1178
1178
  },
1179
1179
  "node_modules/@synopackageland/sdk": {
1180
- "version": "0.41.1",
1181
- "resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.41.1.tgz",
1182
- "integrity": "sha512-Xfv4PhLyGkFekjBPer+SbqkJKwr4vXXfi9lzJYBiPF8uzGhu3n2WpusxfNnFffHPsF+MHZvIfQD7aKjKIPpT7g==",
1180
+ "version": "0.43.0",
1181
+ "resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.43.0.tgz",
1182
+ "integrity": "sha512-i/HbHkk50SEbzs1rNS7IEuS3ydLK3cMZb9wJqr6aGOjNROiGTy3nBo9MkpKmXYoksTuYkBt94gSP3Q7DfKFHBw==",
1183
1183
  "license": "MIT",
1184
1184
  "peerDependencies": {
1185
1185
  "@lucide/vue": "^1.48.0",
@@ -8,16 +8,16 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@lucide/vue": "1.48.0",
11
- "@synopackageland/sdk": "0.41.1",
11
+ "@synopackageland/sdk": "0.43.0",
12
12
  "@synopackageland/ui": "0.19.1",
13
13
  "vue": "3.5.43"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@vitejs/plugin-vue": "6.0.9",
17
- "vite": "7.3.6",
17
+ "jsdom": "30.1.1",
18
18
  "typescript": "5.9.3",
19
- "vue-tsc": "3.3.11",
19
+ "vite": "7.3.6",
20
20
  "vitest": "4.1.11",
21
- "jsdom": "30.1.1"
21
+ "vue-tsc": "3.3.11"
22
22
  }
23
23
  }
@@ -17,7 +17,7 @@ DSM main menu → DSM window (ui/app.js)
17
17
 
18
18
  ## Requests and long work
19
19
 
20
- SDK/App 0.41.1 defaults to 300-second requests and a 302-second browser wait.
20
+ SDK/App 0.43.0 defaults to 300-second requests and a 302-second browser wait.
21
21
  Explicit `backend.timeout_seconds` and earlier parent deadlines still apply;
22
22
  rebuild the App to use the new SDK. For long NAS work, enable the existing jobs
23
23
  capability: return admission and the original job ID promptly, execute in the
@@ -27,7 +27,7 @@ last queued/running state intact. After a lost admission reply, reuse the same
27
27
  idempotency key and input instead of replaying a mutation with a new key.
28
28
  Jobs default to 30 minutes; approved executor limits remain separate. ctl keeps
29
29
  its 62-second transport default; use an explicit `--timeout` or an existing
30
- nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.41.1/docs/request-deadlines.md).
30
+ nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.43.0/docs/request-deadlines.md).
31
31
 
32
32
  ## Quick start
33
33
 
@@ -49,7 +49,7 @@
49
49
  "license": "MIT"
50
50
  },
51
51
  "vendor/@synopackageland/app": {
52
- "version": "0.41.1",
52
+ "version": "0.43.0",
53
53
  "license": "MIT",
54
54
  "engines": {
55
55
  "node": ">=22"
@@ -49,7 +49,7 @@ backend:
49
49
  runtime: node
50
50
  dir: backend/app
51
51
  entry: main.js
52
- sdk: 0.41.1
52
+ sdk: 0.43.0
53
53
  node: { package: Node.js_v22 }
54
54
 
55
55
  ui:
@@ -17,7 +17,7 @@ DSM main menu → DSM window (ui/app.js)
17
17
 
18
18
  ## Requests and long work
19
19
 
20
- SDK/App 0.41.1 defaults to 300-second requests and a 302-second browser wait.
20
+ SDK/App 0.43.0 defaults to 300-second requests and a 302-second browser wait.
21
21
  Explicit `backend.timeout_seconds` and earlier parent deadlines still apply;
22
22
  rebuild the App to use the new SDK. For long NAS work, enable the existing jobs
23
23
  capability: return admission and the original job ID promptly, execute in the
@@ -27,7 +27,7 @@ last queued/running state intact. After a lost admission reply, reuse the same
27
27
  idempotency key and input instead of replaying a mutation with a new key.
28
28
  Jobs default to 30 minutes; approved executor limits remain separate. ctl keeps
29
29
  its 62-second transport default; use an explicit `--timeout` or an existing
30
- nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.41.1/docs/request-deadlines.md).
30
+ nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.43.0/docs/request-deadlines.md).
31
31
 
32
32
  ## Quick start
33
33
 
@@ -47,7 +47,7 @@ backend:
47
47
  runtime: python
48
48
  dir: backend/app
49
49
  entry: main.py
50
- sdk: 0.41.1
50
+ sdk: 0.43.0
51
51
 
52
52
  ui:
53
53
  # Non-UI-SDK frontends open a full page; Portal is a separate opt-in.
@@ -17,7 +17,7 @@ DSM main menu → DSM window (ui/app.js)
17
17
 
18
18
  ## Requests and long work
19
19
 
20
- SDK/App 0.41.1 defaults to 300-second requests and a 302-second browser wait.
20
+ SDK/App 0.43.0 defaults to 300-second requests and a 302-second browser wait.
21
21
  Explicit `backend.timeout_seconds` and earlier parent deadlines still apply;
22
22
  rebuild the App to use the new SDK. For long NAS work, enable the existing jobs
23
23
  capability: return admission and the original job ID promptly, execute in the
@@ -27,7 +27,7 @@ last queued/running state intact. After a lost admission reply, reuse the same
27
27
  idempotency key and input instead of replaying a mutation with a new key.
28
28
  Jobs default to 30 minutes; approved executor limits remain separate. ctl keeps
29
29
  its 62-second transport default; use an explicit `--timeout` or an existing
30
- nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.41.1/docs/request-deadlines.md).
30
+ nonblocking job. See the SDK's [request deadline contract](https://github.com/synopackageland/syno-pkg-land-sdk/blob/v0.43.0/docs/request-deadlines.md).
31
31
 
32
32
  ## Quick start
33
33
 
@@ -104,8 +104,8 @@ dependencies = [
104
104
 
105
105
  [[package]]
106
106
  name = "syno-pkg-land-app"
107
- version = "0.41.1"
108
- source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.41.1#c2a15fca3f623f6ad25551877ed5097db1df3c25"
107
+ version = "0.43.0"
108
+ source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.43.0#263d2a4fbab040756d406b76dd8272bca9db9707"
109
109
  dependencies = [
110
110
  "libc",
111
111
  "serde",
@@ -9,7 +9,7 @@ libc = "0.2"
9
9
  serde = { version = "1", features = ["derive"] }
10
10
  serde_json = "1"
11
11
  # The SDK version is the tag; `synopkgland check` reads it from Cargo.lock.
12
- syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.41.1" }
12
+ syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.43.0" }
13
13
 
14
14
  [profile.release]
15
15
  # A handler panic becomes an "internal" reply; abort would end the App without one.
@@ -170,8 +170,8 @@ dependencies = [
170
170
 
171
171
  [[package]]
172
172
  name = "syno-pkg-land-app"
173
- version = "0.41.1"
174
- source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.41.1#c2a15fca3f623f6ad25551877ed5097db1df3c25"
173
+ version = "0.43.0"
174
+ source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.43.0#263d2a4fbab040756d406b76dd8272bca9db9707"
175
175
  dependencies = [
176
176
  "libc",
177
177
  "serde",
@@ -10,7 +10,7 @@ libc = "0.2"
10
10
  serde = { version = "1", features = ["derive"] }
11
11
  serde_json = "1"
12
12
  # The SDK version is the tag; `synopkgland check` reads it from Cargo.lock.
13
- syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.41.1" }
13
+ syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.43.0" }
14
14
 
15
15
  [profile.release]
16
16
  # A handler panic becomes an "internal" reply; abort would end the App without one.