@synopackageland/templates 0.17.9 → 0.18.0

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
@@ -43,12 +43,12 @@ calls each one from the generated script of the same name (`synopkgland skill sh
43
43
  The placeholders `__PACKAGE__` (also the Go module path), `__DISPLAY_NAME__` and
44
44
  `__BACKGROUND_ENABLED__` are substituted by `init`.
45
45
 
46
- `backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.17.7`; that line is
46
+ `backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.18.0`; that line is
47
47
  the single source of the SDK version and `frontend/package.json` pins
48
48
  `@synopackageland/sdk` to the same version. Python and Node.js name it in
49
49
  `backend.sdk`, Rust in the `syno-pkg-land-app` tag of `backend/Cargo.toml`
50
- (and `Cargo.lock`); all of them pin 0.17.7. The Vue frontend pins
51
- `@synopackageland/ui` 0.12.4. SDK 0.17.7 accepts UI `>=0.10.1 <0.13.0`,
50
+ (and `Cargo.lock`); all of them pin 0.18.0. The Vue frontend pins
51
+ `@synopackageland/ui` 0.12.5. SDK 0.18.0 accepts UI `>=0.10.1 <0.13.0`,
52
52
  so no UI peer override is needed. Tests use jsdom 30 for UI floating-layer styles.
53
53
 
54
54
  ## Notice writer
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/templates",
3
- "version": "0.17.9",
3
+ "version": "0.18.0",
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": {
@@ -14,7 +14,7 @@ compose:
14
14
  web: {service: web, port: 8080, health: {path: /, status: 200}}
15
15
  network: {egress: isolated}
16
16
  identity_gateway:
17
- sdk: 0.17.7
17
+ sdk: 0.18.0
18
18
  mode: none
19
19
  listen: {http: 28000}
20
20
  # Web Apps default to new-page through the shared app-launch resolver.
@@ -1,6 +1,6 @@
1
1
  Native Go package build dependencies
2
2
 
3
- github.com/synopackageland/syno-pkg-land-sdk v0.17.7 (MIT)
3
+ github.com/synopackageland/syno-pkg-land-sdk v0.18.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.9
6
6
 
7
- require github.com/synopackageland/syno-pkg-land-sdk v0.17.7
7
+ require github.com/synopackageland/syno-pkg-land-sdk v0.18.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.17.7 h1:wDv1YsgejJZpLEhrmtAnTJO/yP/EG92S4eiD829yzDY=
2
- github.com/synopackageland/syno-pkg-land-sdk v0.17.7/go.mod h1:vixf5Lo4PssQDGU5zam0Mb5sFu9wPUP4Ck36BMAVbNc=
1
+ github.com/synopackageland/syno-pkg-land-sdk v0.18.0 h1:GMHsegGs/clPapun0IaeKFuLolrS+VWS18+If6pDHa0=
2
+ github.com/synopackageland/syno-pkg-land-sdk v0.18.0/go.mod h1:vixf5Lo4PssQDGU5zam0Mb5sFu9wPUP4Ck36BMAVbNc=
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=
@@ -22,9 +22,9 @@ func (cfg Config) sharedFolders() sharedfolder.Config {
22
22
 
23
23
  // sharedFolderStatus answers the settings page: each folder, what the package
24
24
  // account has and what the App declared it needs, and whether an
25
- // administrator still has to grant. Administrators only, as the default
26
- // permissions say; list the method in internal/api/permissions.json to let
27
- // every DSM user read it.
25
+ // administrator still has to grant. The SDK's authenticated policy lets any
26
+ // signed-in DSM user read this status; granting package access stays an
27
+ // administrator operation.
28
28
  func (cfg Config) sharedFolderStatus(ctx context.Context, _ api.Caller, _ json.RawMessage) (any, error) {
29
29
  status, err := cfg.sharedFolders().Status()
30
30
  if err != nil {
@@ -67,10 +67,14 @@ func TestSharedFolderStatusReportsGrantedAndPending(t *testing.T) {
67
67
  }
68
68
  }
69
69
 
70
- func TestSharedFolderStatusIsAdministratorOnlyByDefault(t *testing.T) {
70
+ func TestSharedFolderStatusUsesSDKAuthenticatedPolicy(t *testing.T) {
71
71
  cfg := sharedFixture(t, 0o755)
72
- if code, _ := call(t, cfg, bob, "sharedfolder.status", `{}`); code == "" {
73
- t.Fatal("a non-administrator read the status")
72
+ // The SDK owns this read-only method's policy, including in jobs overlays.
73
+ if code, _ := call(t, cfg, bob, "sharedfolder.status", `{}`); code != "" {
74
+ t.Fatalf("a signed-in user could not read the status: %q", code)
75
+ }
76
+ if code, _ := call(t, cfg, nobody, "sharedfolder.status", `{}`); code != "session_required" {
77
+ t.Fatalf("a signed-out caller got %q, want session_required", code)
74
78
  }
75
79
  }
76
80
 
@@ -7,8 +7,8 @@
7
7
  "name": "native-dsm-vue-app",
8
8
  "dependencies": {
9
9
  "@lucide/vue": "1.48.0",
10
- "@synopackageland/sdk": "0.17.7",
11
- "@synopackageland/ui": "0.12.4",
10
+ "@synopackageland/sdk": "0.18.0",
11
+ "@synopackageland/ui": "0.12.5",
12
12
  "vue": "3.5.43"
13
13
  },
14
14
  "devDependencies": {
@@ -1152,9 +1152,9 @@
1152
1152
  }
1153
1153
  },
1154
1154
  "node_modules/@synopackageland/sdk": {
1155
- "version": "0.17.7",
1156
- "resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.17.7.tgz",
1157
- "integrity": "sha512-MHRDFtTgPJMnSp/W0wvzxXvCcmvCLWLwxCBRqgMvjQhJODlBZU8ISW4esEqc3GeE5RFIKBgrRrKqmj+Z7mClJw==",
1155
+ "version": "0.18.0",
1156
+ "resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.18.0.tgz",
1157
+ "integrity": "sha512-ZysQ0z7Rc8A2AoBaUJOEi0zADfbY/9SLTVsl3aA7oVcpQDD9fall9fStCeDggZA5SGQEUAHUph/447/AzAjFqw==",
1158
1158
  "license": "MIT",
1159
1159
  "peerDependencies": {
1160
1160
  "@lucide/vue": "^1.48.0",
@@ -1171,9 +1171,9 @@
1171
1171
  }
1172
1172
  },
1173
1173
  "node_modules/@synopackageland/ui": {
1174
- "version": "0.12.4",
1175
- "resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.12.4.tgz",
1176
- "integrity": "sha512-aw+ht9/d51P2bRNKB9kPBHoIPMqhufmRD1bdUz6FcGl8IZpvOYiax9yoc5nLTU540LGZzqgftVrMBnKA5uk27g==",
1174
+ "version": "0.12.5",
1175
+ "resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.12.5.tgz",
1176
+ "integrity": "sha512-EwsRxFVBRi3ip6EKhuTc6LwEFFQjdppoMWb+pHPb6GfL2JV7YszrzEhyo8KzpPnBI2mHnxrXc6ObGNEJTr4Oyg==",
1177
1177
  "license": "MIT",
1178
1178
  "dependencies": {
1179
1179
  "@internationalized/date": "3.12.4",
@@ -8,8 +8,8 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@lucide/vue": "1.48.0",
11
- "@synopackageland/sdk": "0.17.7",
12
- "@synopackageland/ui": "0.12.4",
11
+ "@synopackageland/sdk": "0.18.0",
12
+ "@synopackageland/ui": "0.12.5",
13
13
  "vue": "3.5.43"
14
14
  },
15
15
  "devDependencies": {
@@ -49,7 +49,7 @@ backend:
49
49
  runtime: node
50
50
  dir: backend/app
51
51
  entry: main.js
52
- sdk: 0.17.7
52
+ sdk: 0.18.0
53
53
  node: { package: Node.js_v20 }
54
54
 
55
55
  ui:
@@ -47,7 +47,7 @@ backend:
47
47
  runtime: python
48
48
  dir: backend/app
49
49
  entry: main.py
50
- sdk: 0.17.7
50
+ sdk: 0.18.0
51
51
 
52
52
  ui:
53
53
  # Non-UI-SDK frontends open a full page; Portal is a separate opt-in.
@@ -104,8 +104,8 @@ dependencies = [
104
104
 
105
105
  [[package]]
106
106
  name = "syno-pkg-land-app"
107
- version = "0.17.7"
108
- source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.17.7#5554a2085308b582cb7f877f71a394ee4e4c5e08"
107
+ version = "0.18.0"
108
+ source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.18.0#561ef918d3a38e21cea3b29c530ea9f6a8ed04c2"
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.17.7" }
12
+ syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.18.0" }
13
13
 
14
14
  [profile.release]
15
15
  # A handler panic becomes an "internal" reply; abort would end the App without one.