@synopackageland/cli 0.7.3 → 0.9.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.
Files changed (951) hide show
  1. package/CHANGELOG.md +249 -0
  2. package/README.md +27 -5
  3. package/dist/add.js +4 -17
  4. package/dist/authorization-sdk.d.ts +0 -1
  5. package/dist/authorization-sdk.js +0 -1
  6. package/dist/build-spk/gateway.d.ts +2 -2
  7. package/dist/build-spk/gateway.js +4 -4
  8. package/dist/build-spk/generator.d.ts +1 -0
  9. package/dist/build-spk/generator.js +2 -2
  10. package/dist/build-spk/notices.js +12 -8
  11. package/dist/capability-overlays.d.ts +15 -0
  12. package/dist/capability-overlays.js +18 -0
  13. package/dist/cli-version.d.ts +2 -0
  14. package/dist/cli-version.js +3 -0
  15. package/dist/cli.js +110 -44
  16. package/dist/error-registry.js +18 -5
  17. package/dist/info.js +2 -1
  18. package/dist/init.js +52 -58
  19. package/dist/reproducible-config.d.ts +8 -0
  20. package/dist/reproducible-config.js +32 -0
  21. package/dist/reproducible.d.ts +38 -0
  22. package/dist/reproducible.js +121 -0
  23. package/dist/runtime/delegate-contract.d.ts +15 -0
  24. package/dist/runtime/delegate-contract.js +2 -0
  25. package/dist/runtime/executor-build.d.ts +15 -1
  26. package/dist/runtime/executor-build.js +42 -11
  27. package/dist/runtime/executor-digests.json +13 -0
  28. package/dist/runtime/executor-inspect.d.ts +1 -0
  29. package/dist/runtime/executor-inspect.js +5 -2
  30. package/dist/runtime/executor-policy.d.ts +3 -1
  31. package/dist/runtime/executor-policy.js +7 -2
  32. package/dist/runtime/executor-source.d.ts +21 -0
  33. package/dist/runtime/executor-source.js +35 -0
  34. package/dist/runtime/executor-tasks.d.ts +5 -2
  35. package/dist/runtime/executor-tasks.js +6 -4
  36. package/dist/runtime/sdk-source.d.ts +31 -0
  37. package/dist/runtime/sdk-source.js +92 -0
  38. package/dist/spk/check-info.d.ts +5 -0
  39. package/dist/spk/check-info.js +123 -0
  40. package/dist/spk/check-metadata.d.ts +7 -0
  41. package/dist/spk/check-metadata.js +113 -0
  42. package/dist/spk/check-payload.d.ts +2 -0
  43. package/dist/spk/check-payload.js +156 -0
  44. package/dist/spk/dsm-spec.d.ts +42 -0
  45. package/dist/spk/dsm-spec.js +86 -0
  46. package/dist/spk/findings.d.ts +13 -0
  47. package/dist/spk/findings.js +8 -0
  48. package/dist/spk/inspect.d.ts +18 -0
  49. package/dist/spk/inspect.js +62 -0
  50. package/dist/spk/rules.d.ts +265 -0
  51. package/dist/spk/rules.js +53 -0
  52. package/dist/spk/validate-spk.d.ts +13 -0
  53. package/dist/spk/validate-spk.js +107 -0
  54. package/dist/standalone/api-permissions.d.ts +4 -1
  55. package/dist/standalone/api-permissions.js +10 -18
  56. package/dist/standalone/arch-jobs.d.ts +11 -0
  57. package/dist/standalone/arch-jobs.js +54 -0
  58. package/dist/standalone/build.d.ts +12 -2
  59. package/dist/standalone/build.js +85 -35
  60. package/dist/standalone/daemon.d.ts +1 -1
  61. package/dist/standalone/daemon.js +4 -4
  62. package/dist/standalone/dsm-window.js +2 -2
  63. package/dist/standalone/inspect-spk.d.ts +1 -0
  64. package/dist/standalone/inspect-spk.js +1 -1
  65. package/dist/standalone/manifest.d.ts +5 -2
  66. package/dist/standalone/manifest.js +19 -4
  67. package/dist/standalone/native-layout.d.ts +3 -0
  68. package/dist/standalone/native-layout.js +94 -33
  69. package/dist/standalone/root-window.d.ts +1 -1
  70. package/dist/standalone/root-window.js +0 -1
  71. package/dist/standalone/sdk-check.d.ts +9 -0
  72. package/dist/standalone/sdk-check.js +43 -0
  73. package/dist/standalone/spk.js +1 -1
  74. package/dist/template-paths.d.ts +7 -2
  75. package/dist/template-paths.js +18 -6
  76. package/package.json +13 -3
  77. package/schema/synology-app.schema.json +9 -0
  78. package/dist/templates/_executor/README.md +0 -318
  79. package/dist/templates/_executor/anchor.go +0 -156
  80. package/dist/templates/_executor/anchor_test.go +0 -161
  81. package/dist/templates/_executor/apppriv_review_test.go +0 -28
  82. package/dist/templates/_executor/auth_presence_review_test.go +0 -38
  83. package/dist/templates/_executor/cancel_contract_test.go +0 -236
  84. package/dist/templates/_executor/cmd/lifecycle/main.go +0 -42
  85. package/dist/templates/_executor/cookie_review_test.go +0 -27
  86. package/dist/templates/_executor/copy.go +0 -64
  87. package/dist/templates/_executor/copy_test.go +0 -88
  88. package/dist/templates/_executor/digest_review_test.go +0 -120
  89. package/dist/templates/_executor/directories.go +0 -40
  90. package/dist/templates/_executor/dsm.go +0 -369
  91. package/dist/templates/_executor/dsm_test.go +0 -290
  92. package/dist/templates/_executor/executor.go +0 -735
  93. package/dist/templates/_executor/executor_test.go +0 -314
  94. package/dist/templates/_executor/go.mod +0 -5
  95. package/dist/templates/_executor/identity.go +0 -74
  96. package/dist/templates/_executor/identity_kernel_linux_test.go +0 -60
  97. package/dist/templates/_executor/identity_linux.go +0 -82
  98. package/dist/templates/_executor/identity_security_test.go +0 -43
  99. package/dist/templates/_executor/internal/lifecycle/lifecycle.go +0 -95
  100. package/dist/templates/_executor/internal/lifecycle/lifecycle_test.go +0 -232
  101. package/dist/templates/_executor/internal/taskscript/boot.sh +0 -31
  102. package/dist/templates/_executor/internal/taskscript/cmd/main.go +0 -19
  103. package/dist/templates/_executor/internal/taskscript/control.sh +0 -31
  104. package/dist/templates/_executor/internal/taskscript/tasks.go +0 -44
  105. package/dist/templates/_executor/json_review_test.go +0 -40
  106. package/dist/templates/_executor/lifecycle_test.go +0 -97
  107. package/dist/templates/_executor/link_linux.go +0 -28
  108. package/dist/templates/_executor/long_running_test.go +0 -530
  109. package/dist/templates/_executor/main.go +0 -576
  110. package/dist/templates/_executor/managed.go +0 -117
  111. package/dist/templates/_executor/managed_test.go +0 -137
  112. package/dist/templates/_executor/move_linux.go +0 -490
  113. package/dist/templates/_executor/move_linux_test.go +0 -460
  114. package/dist/templates/_executor/move_validation.go +0 -46
  115. package/dist/templates/_executor/move_validation_test.go +0 -187
  116. package/dist/templates/_executor/operations.go +0 -926
  117. package/dist/templates/_executor/path_test.go +0 -35
  118. package/dist/templates/_executor/pid.go +0 -37
  119. package/dist/templates/_executor/pid_test.go +0 -113
  120. package/dist/templates/_executor/platform_linux.go +0 -187
  121. package/dist/templates/_executor/platform_linux_test.go +0 -191
  122. package/dist/templates/_executor/platform_other.go +0 -76
  123. package/dist/templates/_executor/process.go +0 -142
  124. package/dist/templates/_executor/purge_log.go +0 -18
  125. package/dist/templates/_executor/records.go +0 -242
  126. package/dist/templates/_executor/scope_cancel_contract_test.go +0 -91
  127. package/dist/templates/_executor/scope_client.go +0 -37
  128. package/dist/templates/_executor/scope_contract.go +0 -12
  129. package/dist/templates/_executor/selected_scope.go +0 -146
  130. package/dist/templates/_executor/selected_scope_test.go +0 -186
  131. package/dist/templates/_executor/socket_linux_test.go +0 -46
  132. package/dist/templates/_executor/status_disabled_test.go +0 -33
  133. package/dist/templates/_executor/store.go +0 -91
  134. package/dist/templates/_executor/supervise.go +0 -109
  135. package/dist/templates/_executor/supervise_test.go +0 -130
  136. package/dist/templates/_executor/task_race_review_test.go +0 -47
  137. package/dist/templates/_executor/tasks.go +0 -320
  138. package/dist/templates/_executor/tasks_dsm71_test.go +0 -114
  139. package/dist/templates/_executor/tasks_review_test.go +0 -43
  140. package/dist/templates/_executor/tasks_test.go +0 -223
  141. package/dist/templates/_executor/testdata/evidence/cleanup.json +0 -24
  142. package/dist/templates/_executor/testdata/evidence/final-smoke.jsonl +0 -9
  143. package/dist/templates/_executor/testdata/evidence/kernel-acl.json +0 -6
  144. package/dist/templates/_executor/testdata/evidence/linux-tests.log +0 -123
  145. package/dist/templates/_executor/testdata/evidence/live.jsonl +0 -23
  146. package/dist/templates/_executor/testdata/evidence/storage.json +0 -90
  147. package/dist/templates/_executor/testdata/evidence/validation.json +0 -55
  148. package/dist/templates/_executor/testdata/live_probe.py +0 -98
  149. package/dist/templates/_executor/upgrade_watch_test.go +0 -244
  150. package/dist/templates/_executor/watch.go +0 -164
  151. package/dist/templates/_executor/watch_test.go +0 -291
  152. package/dist/templates/_executor/write_review_linux_test.go +0 -87
  153. package/dist/templates/_shared/AGENTS.md +0 -146
  154. package/dist/templates/_shared/CLAUDE.md +0 -1
  155. package/dist/templates/_shared/third-party-notices.mjs +0 -51
  156. package/dist/templates/binary/LICENSES/GO-LICENSE +0 -27
  157. package/dist/templates/binary/LICENSES/GO-PATENTS +0 -22
  158. package/dist/templates/binary/dsm-package.yaml +0 -46
  159. package/dist/templates/binary/example/main.go +0 -16
  160. package/dist/templates/binary/gitignore +0 -2
  161. package/dist/templates/binary/i18n/messages/de.json +0 -4
  162. package/dist/templates/binary/i18n/messages/en.json +0 -4
  163. package/dist/templates/binary/i18n/messages/es.json +0 -4
  164. package/dist/templates/binary/i18n/messages/fr.json +0 -4
  165. package/dist/templates/binary/i18n/messages/it.json +0 -4
  166. package/dist/templates/binary/i18n/messages/ja.json +0 -4
  167. package/dist/templates/binary/i18n/messages/ko.json +0 -4
  168. package/dist/templates/binary/i18n/messages/zh-CN.json +0 -4
  169. package/dist/templates/binary/i18n/messages/zh-TW.json +0 -4
  170. package/dist/templates/binary/ui/app.css +0 -4
  171. package/dist/templates/binary/ui/app.js +0 -32
  172. package/dist/templates/compose/compose.yaml +0 -8
  173. package/dist/templates/compose/synology-app.yaml +0 -16
  174. package/dist/templates/native-authorization/AuthorizationGate.vue +0 -91
  175. package/dist/templates/native-authorization/i18n/de.json +0 -37
  176. package/dist/templates/native-authorization/i18n/en.json +0 -37
  177. package/dist/templates/native-authorization/i18n/es.json +0 -37
  178. package/dist/templates/native-authorization/i18n/fr.json +0 -37
  179. package/dist/templates/native-authorization/i18n/index.ts +0 -15
  180. package/dist/templates/native-authorization/i18n/it.json +0 -37
  181. package/dist/templates/native-authorization/i18n/ja.json +0 -37
  182. package/dist/templates/native-authorization/i18n/ko.json +0 -37
  183. package/dist/templates/native-authorization/i18n/zh-CN.json +0 -37
  184. package/dist/templates/native-authorization/i18n/zh-TW.json +0 -37
  185. package/dist/templates/native-go/README.md +0 -459
  186. package/dist/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +0 -61
  187. package/dist/templates/native-go/backend/cmd/app/main.go +0 -95
  188. package/dist/templates/native-go/backend/cmd/background-worker/main.go +0 -38
  189. package/dist/templates/native-go/backend/go.mod +0 -9
  190. package/dist/templates/native-go/backend/go.sum +0 -4
  191. package/dist/templates/native-go/backend/internal/api/cgi_framing_test.go +0 -32
  192. package/dist/templates/native-go/backend/internal/api/cookie_review_test.go +0 -28
  193. package/dist/templates/native-go/backend/internal/api/deadline_test.go +0 -114
  194. package/dist/templates/native-go/backend/internal/api/dsm-session.go +0 -54
  195. package/dist/templates/native-go/backend/internal/api/dsm-session_test.go +0 -51
  196. package/dist/templates/native-go/backend/internal/api/entry_test.go +0 -47
  197. package/dist/templates/native-go/backend/internal/api/errors.go +0 -47
  198. package/dist/templates/native-go/backend/internal/api/permissions.go +0 -161
  199. package/dist/templates/native-go/backend/internal/api/permissions.json +0 -5
  200. package/dist/templates/native-go/backend/internal/api/permissions_test.go +0 -113
  201. package/dist/templates/native-go/backend/internal/api/policy_fixture_test.go +0 -8
  202. package/dist/templates/native-go/backend/internal/api/registry.go +0 -142
  203. package/dist/templates/native-go/backend/internal/api/registry_test.go +0 -344
  204. package/dist/templates/native-go/backend/internal/api/resource_limits_test.go +0 -87
  205. package/dist/templates/native-go/backend/internal/api/sdk-permissions.json +0 -59
  206. package/dist/templates/native-go/backend/internal/api/sdk_policy_test.go +0 -31
  207. package/dist/templates/native-go/backend/internal/api/server.go +0 -305
  208. package/dist/templates/native-go/backend/internal/api/testdata/permissions-cases.json +0 -172
  209. package/dist/templates/native-go/backend/internal/app/background.go +0 -249
  210. package/dist/templates/native-go/backend/internal/app/background_none.go +0 -8
  211. package/dist/templates/native-go/backend/internal/app/background_owner.go +0 -38
  212. package/dist/templates/native-go/backend/internal/app/background_owner_test.go +0 -163
  213. package/dist/templates/native-go/backend/internal/app/background_schedule.go +0 -69
  214. package/dist/templates/native-go/backend/internal/app/background_schedule_test.go +0 -62
  215. package/dist/templates/native-go/backend/internal/app/background_test.go +0 -320
  216. package/dist/templates/native-go/backend/internal/app/delegate_config.go +0 -57
  217. package/dist/templates/native-go/backend/internal/app/delegate_config_test.go +0 -28
  218. package/dist/templates/native-go/backend/internal/app/delegate_none.go +0 -5
  219. package/dist/templates/native-go/backend/internal/app/identity.go +0 -20
  220. package/dist/templates/native-go/backend/internal/app/identity_test.go +0 -15
  221. package/dist/templates/native-go/backend/internal/app/migrations.go +0 -41
  222. package/dist/templates/native-go/backend/internal/app/migrations_test.go +0 -41
  223. package/dist/templates/native-go/backend/internal/app/portal.go +0 -30
  224. package/dist/templates/native-go/backend/internal/app/portal_test.go +0 -55
  225. package/dist/templates/native-go/backend/internal/app/root_none.go +0 -9
  226. package/dist/templates/native-go/backend/internal/app/routes.go +0 -137
  227. package/dist/templates/native-go/backend/internal/app/routes_test.go +0 -165
  228. package/dist/templates/native-go/backend/internal/app/session_files.go +0 -9
  229. package/dist/templates/native-go/backend/internal/app/session_files_test.go +0 -14
  230. package/dist/templates/native-go/backend/internal/app/shared_folder.go +0 -144
  231. package/dist/templates/native-go/backend/internal/app/shared_folder_test.go +0 -158
  232. package/dist/templates/native-go/backend/internal/background/access.go +0 -57
  233. package/dist/templates/native-go/backend/internal/background/lock_test.go +0 -131
  234. package/dist/templates/native-go/backend/internal/background/owner_test.go +0 -118
  235. package/dist/templates/native-go/backend/internal/background/runner.go +0 -185
  236. package/dist/templates/native-go/backend/internal/background/runner_test.go +0 -209
  237. package/dist/templates/native-go/backend/internal/background/schedule.go +0 -336
  238. package/dist/templates/native-go/backend/internal/background/schedule_test.go +0 -368
  239. package/dist/templates/native-go/backend/internal/background/store.go +0 -825
  240. package/dist/templates/native-go/backend/internal/background/store_test.go +0 -365
  241. package/dist/templates/native-go/backend/internal/datamigrate/migrate.go +0 -191
  242. package/dist/templates/native-go/backend/internal/datamigrate/migrate_test.go +0 -177
  243. package/dist/templates/native-go/backend/internal/dsm/admin.go +0 -76
  244. package/dist/templates/native-go/backend/internal/dsm/admin_linux.go +0 -110
  245. package/dist/templates/native-go/backend/internal/dsm/admin_linux_test.go +0 -105
  246. package/dist/templates/native-go/backend/internal/dsm/admin_other.go +0 -15
  247. package/dist/templates/native-go/backend/internal/dsm/admin_test.go +0 -67
  248. package/dist/templates/native-go/backend/internal/dsm/apppriv.go +0 -30
  249. package/dist/templates/native-go/backend/internal/dsm/auth.go +0 -94
  250. package/dist/templates/native-go/backend/internal/dsm/auth_test.go +0 -159
  251. package/dist/templates/native-go/backend/internal/dsm/bridge_file.go +0 -75
  252. package/dist/templates/native-go/backend/internal/dsm/bridge_file_test.go +0 -57
  253. package/dist/templates/native-go/backend/internal/dsm/entry.go +0 -177
  254. package/dist/templates/native-go/backend/internal/dsm/entry_test.go +0 -315
  255. package/dist/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
  256. package/dist/templates/native-go/backend/internal/dsm/native/admin-armv7.elf +0 -0
  257. package/dist/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
  258. package/dist/templates/native-go/backend/internal/dsm/native/admin_check.c +0 -28
  259. package/dist/templates/native-go/backend/internal/dsm/native/apppriv-aarch64.elf +0 -0
  260. package/dist/templates/native-go/backend/internal/dsm/native/apppriv-armv7.elf +0 -0
  261. package/dist/templates/native-go/backend/internal/dsm/native/apppriv-x86_64.elf +0 -0
  262. package/dist/templates/native-go/backend/internal/dsm/native/apppriv_check.c +0 -33
  263. package/dist/templates/native-go/backend/internal/dsm/native/build.sh +0 -18
  264. package/dist/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +0 -400
  265. package/dist/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +0 -501
  266. package/dist/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +0 -5
  267. package/dist/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +0 -21
  268. package/dist/templates/native-go/backend/internal/dsm/native/provenance.json +0 -18
  269. package/dist/templates/native-go/backend/internal/filestation/browse_test.go +0 -67
  270. package/dist/templates/native-go/backend/internal/filestation/check_permission.go +0 -71
  271. package/dist/templates/native-go/backend/internal/filestation/check_permission_test.go +0 -77
  272. package/dist/templates/native-go/backend/internal/filestation/client.go +0 -337
  273. package/dist/templates/native-go/backend/internal/filestation/client_test.go +0 -155
  274. package/dist/templates/native-go/backend/internal/filestation/doc.go +0 -4
  275. package/dist/templates/native-go/backend/internal/filestation/download_dsm71_test.go +0 -82
  276. package/dist/templates/native-go/backend/internal/filestation/http.go +0 -70
  277. package/dist/templates/native-go/backend/internal/filestation/http_test.go +0 -188
  278. package/dist/templates/native-go/backend/internal/filestation/operations_test.go +0 -206
  279. package/dist/templates/native-go/backend/internal/filestation/read_file_test.go +0 -89
  280. package/dist/templates/native-go/backend/internal/filestation/sdk_policy_test.go +0 -39
  281. package/dist/templates/native-go/backend/internal/filestation/service.go +0 -254
  282. package/dist/templates/native-go/backend/internal/filestation/service_test.go +0 -74
  283. package/dist/templates/native-go/backend/internal/filestation/upload_stream.go +0 -76
  284. package/dist/templates/native-go/backend/internal/filestation/upload_stream_test.go +0 -77
  285. package/dist/templates/native-go/backend/internal/filestation/write.go +0 -32
  286. package/dist/templates/native-go/backend/internal/filestation/write_test.go +0 -124
  287. package/dist/templates/native-go/backend/internal/identity/README.md +0 -59
  288. package/dist/templates/native-go/backend/internal/identity/dsm.go +0 -115
  289. package/dist/templates/native-go/backend/internal/identity/http.go +0 -291
  290. package/dist/templates/native-go/backend/internal/identity/identity_test.go +0 -530
  291. package/dist/templates/native-go/backend/internal/identity/service.go +0 -159
  292. package/dist/templates/native-go/backend/internal/identity/store.go +0 -109
  293. package/dist/templates/native-go/backend/internal/jsonlimits/limits.go +0 -48
  294. package/dist/templates/native-go/backend/internal/jsonlimits/limits_test.go +0 -52
  295. package/dist/templates/native-go/backend/internal/portal/portal.go +0 -138
  296. package/dist/templates/native-go/backend/internal/portal/portal_test.go +0 -89
  297. package/dist/templates/native-go/dsm-package.yaml +0 -71
  298. package/dist/templates/native-go/gitignore +0 -1
  299. package/dist/templates/native-go/i18n/glossary.json +0 -663
  300. package/dist/templates/native-go/i18n/messages/de.json +0 -29
  301. package/dist/templates/native-go/i18n/messages/en.json +0 -29
  302. package/dist/templates/native-go/i18n/messages/es.json +0 -29
  303. package/dist/templates/native-go/i18n/messages/fr.json +0 -29
  304. package/dist/templates/native-go/i18n/messages/it.json +0 -29
  305. package/dist/templates/native-go/i18n/messages/ja.json +0 -29
  306. package/dist/templates/native-go/i18n/messages/ko.json +0 -29
  307. package/dist/templates/native-go/i18n/messages/zh-CN.json +0 -29
  308. package/dist/templates/native-go/i18n/messages/zh-TW.json +0 -29
  309. package/dist/templates/native-go/ui/app.css +0 -45
  310. package/dist/templates/native-go/ui/app.js +0 -111
  311. package/dist/templates/native-go-delegate/DELEGATE.md +0 -263
  312. package/dist/templates/native-go-delegate/backend/cmd/background-worker/main.go +0 -48
  313. package/dist/templates/native-go-delegate/backend/internal/app/delegate.go +0 -25
  314. package/dist/templates/native-go-delegate/backend/internal/app/delegate_on.go +0 -5
  315. package/dist/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +0 -31
  316. package/dist/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +0 -174
  317. package/dist/templates/native-go-delegate/backend/internal/background/delegated.go +0 -277
  318. package/dist/templates/native-go-delegate/backend/internal/background/delegated_moves.go +0 -270
  319. package/dist/templates/native-go-delegate/backend/internal/background/delegated_test.go +0 -34
  320. package/dist/templates/native-go-delegate/backend/internal/delegate/admission_recovery_test.go +0 -410
  321. package/dist/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +0 -15
  322. package/dist/templates/native-go-delegate/backend/internal/delegate/cancel_contract_test.go +0 -95
  323. package/dist/templates/native-go-delegate/backend/internal/delegate/client.go +0 -151
  324. package/dist/templates/native-go-delegate/backend/internal/delegate/client_test.go +0 -214
  325. package/dist/templates/native-go-delegate/backend/internal/delegate/destination.go +0 -110
  326. package/dist/templates/native-go-delegate/backend/internal/delegate/destination_state.go +0 -117
  327. package/dist/templates/native-go-delegate/backend/internal/delegate/destination_state_test.go +0 -60
  328. package/dist/templates/native-go-delegate/backend/internal/delegate/destination_test.go +0 -116
  329. package/dist/templates/native-go-delegate/backend/internal/delegate/example.go +0 -81
  330. package/dist/templates/native-go-delegate/backend/internal/delegate/example_test.go +0 -91
  331. package/dist/templates/native-go-delegate/backend/internal/delegate/executor_contract_test.go +0 -511
  332. package/dist/templates/native-go-delegate/backend/internal/delegate/files.go +0 -132
  333. package/dist/templates/native-go-delegate/backend/internal/delegate/long_running_routes.go +0 -92
  334. package/dist/templates/native-go-delegate/backend/internal/delegate/long_running_routes_test.go +0 -99
  335. package/dist/templates/native-go-delegate/backend/internal/delegate/move.go +0 -348
  336. package/dist/templates/native-go-delegate/backend/internal/delegate/move_test.go +0 -351
  337. package/dist/templates/native-go-delegate/backend/internal/delegate/operations_list.go +0 -65
  338. package/dist/templates/native-go-delegate/backend/internal/delegate/operations_list_test.go +0 -114
  339. package/dist/templates/native-go-delegate/backend/internal/delegate/retry.go +0 -106
  340. package/dist/templates/native-go-delegate/backend/internal/delegate/retry_test.go +0 -143
  341. package/dist/templates/native-go-delegate/backend/internal/delegate/service.go +0 -364
  342. package/dist/templates/native-go-delegate/backend/internal/delegate/service_test.go +0 -318
  343. package/dist/templates/native-go-delegate/backend/internal/delegate/staging.go +0 -121
  344. package/dist/templates/native-go-delegate/backend/internal/delegate/status_disabled_test.go +0 -51
  345. package/dist/templates/native-go-delegate/backend/internal/delegate/testdata/executor_contract.txt +0 -112
  346. package/dist/templates/native-go-delegate/backend/internal/delegate/transient_contract_test.go +0 -137
  347. package/dist/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +0 -101
  348. package/dist/templates/native-go-delegate/backend/internal/delegate/worker.go +0 -225
  349. package/dist/templates/native-go-delegate/backend/internal/filestation/files.go +0 -43
  350. package/dist/templates/native-go-delegate/backend/internal/filestation/files_test.go +0 -59
  351. package/dist/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +0 -37
  352. package/dist/templates/native-go-delegate/frontend/src/delegate/BackgroundSavePanel.vue +0 -113
  353. package/dist/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +0 -70
  354. package/dist/templates/native-go-delegate/frontend/src/delegate/copy.ts +0 -8
  355. package/dist/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +0 -11
  356. package/dist/templates/native-go-delegate/frontend/test/background-save.test.ts +0 -121
  357. package/dist/templates/native-go-delegate/frontend/test/delegate.test.ts +0 -145
  358. package/dist/templates/native-go-delegate/frontend/test/scope-settings.test.ts +0 -49
  359. package/dist/templates/native-go-delegate/test-frontend.sh +0 -12
  360. package/dist/templates/native-go-delegate/test.sh +0 -18
  361. package/dist/templates/native-go-jobs/BACKGROUND.md +0 -108
  362. package/dist/templates/native-go-jobs/backend/internal/app/background_on.go +0 -7
  363. package/dist/templates/native-go-jobs/backend/internal/app/background_routes_test.go +0 -90
  364. package/dist/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +0 -170
  365. package/dist/templates/native-go-jobs/frontend/src/background/i18n/de.json +0 -75
  366. package/dist/templates/native-go-jobs/frontend/src/background/i18n/en.json +0 -75
  367. package/dist/templates/native-go-jobs/frontend/src/background/i18n/es.json +0 -75
  368. package/dist/templates/native-go-jobs/frontend/src/background/i18n/fr.json +0 -75
  369. package/dist/templates/native-go-jobs/frontend/src/background/i18n/it.json +0 -75
  370. package/dist/templates/native-go-jobs/frontend/src/background/i18n/ja.json +0 -75
  371. package/dist/templates/native-go-jobs/frontend/src/background/i18n/ko.json +0 -75
  372. package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +0 -75
  373. package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +0 -75
  374. package/dist/templates/native-go-jobs/frontend/src/background/i18n.ts +0 -19
  375. package/dist/templates/native-go-jobs/frontend/src/background/picker-provider.ts +0 -12
  376. package/dist/templates/native-go-jobs/frontend/src/background/request-key.ts +0 -5
  377. package/dist/templates/native-go-jobs/frontend/test/background.test.ts +0 -205
  378. package/dist/templates/native-go-root-ops/backend/internal/app/executor.go +0 -140
  379. package/dist/templates/native-go-root-ops/backend/internal/app/executor_test.go +0 -117
  380. package/dist/templates/native-go-root-ops/root/whoami.sh +0 -3
  381. package/dist/templates/native-go-vue/README.md +0 -47
  382. package/dist/templates/native-go-vue/frontend/DESIGN.md +0 -61
  383. package/dist/templates/native-go-vue/frontend/package-lock.json +0 -2530
  384. package/dist/templates/native-go-vue/frontend/package.json +0 -6
  385. package/dist/templates/native-go-vue/frontend/src/App.vue +0 -96
  386. package/dist/templates/native-go-vue/frontend/src/CapabilityPanels.vue +0 -6
  387. package/dist/templates/native-go-vue/frontend/src/context.ts +0 -78
  388. package/dist/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +0 -70
  389. package/dist/templates/native-go-vue/frontend/src/delegate/catalogs.ts +0 -11
  390. package/dist/templates/native-go-vue/frontend/src/delegate/copy.test.ts +0 -12
  391. package/dist/templates/native-go-vue/frontend/src/delegate/copy.ts +0 -4
  392. package/dist/templates/native-go-vue/frontend/src/delegate/executor-settings.test.ts +0 -23
  393. package/dist/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +0 -24
  394. package/dist/templates/native-go-vue/frontend/src/delegate/facade.test.ts +0 -100
  395. package/dist/templates/native-go-vue/frontend/src/delegate/facade.ts +0 -85
  396. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/de.json +0 -47
  397. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/en.json +0 -47
  398. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/es.json +0 -47
  399. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/fr.json +0 -47
  400. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/it.json +0 -47
  401. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/ja.json +0 -47
  402. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/ko.json +0 -47
  403. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/de.json +0 -42
  404. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/en.json +0 -42
  405. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/es.json +0 -42
  406. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/fr.json +0 -42
  407. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/it.json +0 -42
  408. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/ja.json +0 -42
  409. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/ko.json +0 -42
  410. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-CN.json +0 -42
  411. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-TW.json +0 -42
  412. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/zh-CN.json +0 -47
  413. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +0 -47
  414. package/dist/templates/native-go-vue/frontend/src/delegate/long-running.ts +0 -57
  415. package/dist/templates/native-go-vue/frontend/src/delegate/save-copy.test.ts +0 -12
  416. package/dist/templates/native-go-vue/frontend/src/delegate/save-copy.ts +0 -24
  417. package/dist/templates/native-go-vue/frontend/src/delegate/scoped-picker.test.ts +0 -12
  418. package/dist/templates/native-go-vue/frontend/src/delegate/scoped-picker.ts +0 -21
  419. package/dist/templates/native-go-vue/frontend/src/files/FileBrowser.vue +0 -131
  420. package/dist/templates/native-go-vue/frontend/src/files/FilesPage.vue +0 -35
  421. package/dist/templates/native-go-vue/frontend/src/files/files.test.ts +0 -100
  422. package/dist/templates/native-go-vue/frontend/src/files/provider.test.ts +0 -48
  423. package/dist/templates/native-go-vue/frontend/src/files/transfers.test.ts +0 -27
  424. package/dist/templates/native-go-vue/frontend/src/files/transfers.ts +0 -25
  425. package/dist/templates/native-go-vue/frontend/src/i18n/de.json +0 -20
  426. package/dist/templates/native-go-vue/frontend/src/i18n/en.json +0 -20
  427. package/dist/templates/native-go-vue/frontend/src/i18n/es.json +0 -20
  428. package/dist/templates/native-go-vue/frontend/src/i18n/fr.json +0 -20
  429. package/dist/templates/native-go-vue/frontend/src/i18n/it.json +0 -20
  430. package/dist/templates/native-go-vue/frontend/src/i18n/ja.json +0 -20
  431. package/dist/templates/native-go-vue/frontend/src/i18n/ko.json +0 -20
  432. package/dist/templates/native-go-vue/frontend/src/i18n/zh-CN.json +0 -20
  433. package/dist/templates/native-go-vue/frontend/src/i18n/zh-TW.json +0 -20
  434. package/dist/templates/native-go-vue/frontend/src/i18n.ts +0 -13
  435. package/dist/templates/native-go-vue/frontend/src/identity/DESIGN.md +0 -46
  436. package/dist/templates/native-go-vue/frontend/src/identity/LoginPage.vue +0 -78
  437. package/dist/templates/native-go-vue/frontend/src/identity/i18n/de.json +0 -27
  438. package/dist/templates/native-go-vue/frontend/src/identity/i18n/en.json +0 -27
  439. package/dist/templates/native-go-vue/frontend/src/identity/i18n/es.json +0 -27
  440. package/dist/templates/native-go-vue/frontend/src/identity/i18n/fr.json +0 -27
  441. package/dist/templates/native-go-vue/frontend/src/identity/i18n/it.json +0 -27
  442. package/dist/templates/native-go-vue/frontend/src/identity/i18n/ja.json +0 -27
  443. package/dist/templates/native-go-vue/frontend/src/identity/i18n/ko.json +0 -27
  444. package/dist/templates/native-go-vue/frontend/src/identity/i18n/zh-CN.json +0 -27
  445. package/dist/templates/native-go-vue/frontend/src/identity/i18n/zh-TW.json +0 -27
  446. package/dist/templates/native-go-vue/frontend/src/identity/i18n.ts +0 -14
  447. package/dist/templates/native-go-vue/frontend/src/identity/login.test.ts +0 -32
  448. package/dist/templates/native-go-vue/frontend/src/identity/session.test.ts +0 -33
  449. package/dist/templates/native-go-vue/frontend/src/identity/session.ts +0 -74
  450. package/dist/templates/native-go-vue/frontend/src/main.ts +0 -32
  451. package/dist/templates/native-go-vue/frontend/src/nas/NasPicker.vue +0 -42
  452. package/dist/templates/native-go-vue/frontend/src/nas/contract.ts +0 -12
  453. package/dist/templates/native-go-vue/frontend/src/nas/destination.test.ts +0 -48
  454. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +0 -41
  455. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +0 -41
  456. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +0 -41
  457. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +0 -41
  458. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +0 -41
  459. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +0 -41
  460. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +0 -41
  461. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +0 -41
  462. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +0 -41
  463. package/dist/templates/native-go-vue/frontend/src/nas/i18n.ts +0 -2
  464. package/dist/templates/native-go-vue/frontend/src/nas/locale.ts +0 -24
  465. package/dist/templates/native-go-vue/frontend/src/nas/provider.ts +0 -50
  466. package/dist/templates/native-go-vue/frontend/src/nas/use-request.ts +0 -18
  467. package/dist/templates/native-go-vue/frontend/src/portal/PortalSettings.vue +0 -39
  468. package/dist/templates/native-go-vue/frontend/src/shell/AppShell.vue +0 -48
  469. package/dist/templates/native-go-vue/frontend/src/shell/i18n/de.json +0 -4
  470. package/dist/templates/native-go-vue/frontend/src/shell/i18n/en.json +0 -4
  471. package/dist/templates/native-go-vue/frontend/src/shell/i18n/es.json +0 -4
  472. package/dist/templates/native-go-vue/frontend/src/shell/i18n/fr.json +0 -4
  473. package/dist/templates/native-go-vue/frontend/src/shell/i18n/it.json +0 -4
  474. package/dist/templates/native-go-vue/frontend/src/shell/i18n/ja.json +0 -4
  475. package/dist/templates/native-go-vue/frontend/src/shell/i18n/ko.json +0 -4
  476. package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +0 -4
  477. package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +0 -4
  478. package/dist/templates/native-go-vue/frontend/src/shell/i18n.ts +0 -17
  479. package/dist/templates/native-go-vue/frontend/src/shell/pages.ts +0 -15
  480. package/dist/templates/native-go-vue/frontend/src/style.css +0 -27
  481. package/dist/templates/native-go-vue/frontend/test/apps.test.ts +0 -57
  482. package/dist/templates/native-go-vue/frontend/test/native-controls.test.ts +0 -27
  483. package/dist/templates/native-go-vue/frontend/test/portal-settings.test.ts +0 -71
  484. package/dist/templates/native-go-vue/frontend/test/shell-i18n.test.ts +0 -50
  485. package/dist/templates/native-go-vue/frontend/test/shell-ui.test.ts +0 -20
  486. package/dist/templates/native-go-vue/frontend/test/shell.test.ts +0 -30
  487. package/dist/templates/native-go-vue/frontend/tsconfig.json +0 -1
  488. package/dist/templates/native-go-vue/frontend/vite.config.ts +0 -10
  489. package/dist/templates/native-go-vue/gitignore +0 -2
  490. package/templates/_daemon/fixture_linux_test.go +0 -15
  491. package/templates/_daemon/fixture_other_test.go +0 -7
  492. package/templates/_daemon/go.mod +0 -5
  493. package/templates/_daemon/main.go +0 -611
  494. package/templates/_daemon/main_test.go +0 -315
  495. package/templates/_daemon/process_linux.go +0 -55
  496. package/templates/_daemon/process_linux_test.go +0 -161
  497. package/templates/_daemon/process_other.go +0 -14
  498. package/templates/_daemon/testdata/child.go +0 -44
  499. package/templates/_executor/README.md +0 -318
  500. package/templates/_executor/anchor.go +0 -156
  501. package/templates/_executor/anchor_test.go +0 -161
  502. package/templates/_executor/apppriv_review_test.go +0 -28
  503. package/templates/_executor/auth_presence_review_test.go +0 -38
  504. package/templates/_executor/cancel_contract_test.go +0 -236
  505. package/templates/_executor/cmd/lifecycle/main.go +0 -42
  506. package/templates/_executor/cookie_review_test.go +0 -27
  507. package/templates/_executor/copy.go +0 -64
  508. package/templates/_executor/copy_test.go +0 -88
  509. package/templates/_executor/digest_review_test.go +0 -120
  510. package/templates/_executor/directories.go +0 -40
  511. package/templates/_executor/dsm.go +0 -369
  512. package/templates/_executor/dsm_test.go +0 -290
  513. package/templates/_executor/executor.go +0 -735
  514. package/templates/_executor/executor_test.go +0 -314
  515. package/templates/_executor/go.mod +0 -5
  516. package/templates/_executor/identity.go +0 -74
  517. package/templates/_executor/identity_kernel_linux_test.go +0 -60
  518. package/templates/_executor/identity_linux.go +0 -82
  519. package/templates/_executor/identity_security_test.go +0 -43
  520. package/templates/_executor/internal/lifecycle/lifecycle.go +0 -95
  521. package/templates/_executor/internal/lifecycle/lifecycle_test.go +0 -232
  522. package/templates/_executor/internal/taskscript/boot.sh +0 -31
  523. package/templates/_executor/internal/taskscript/cmd/main.go +0 -19
  524. package/templates/_executor/internal/taskscript/control.sh +0 -31
  525. package/templates/_executor/internal/taskscript/tasks.go +0 -44
  526. package/templates/_executor/json_review_test.go +0 -40
  527. package/templates/_executor/lifecycle_test.go +0 -97
  528. package/templates/_executor/link_linux.go +0 -28
  529. package/templates/_executor/long_running_test.go +0 -530
  530. package/templates/_executor/main.go +0 -576
  531. package/templates/_executor/managed.go +0 -117
  532. package/templates/_executor/managed_test.go +0 -137
  533. package/templates/_executor/move_linux.go +0 -490
  534. package/templates/_executor/move_linux_test.go +0 -460
  535. package/templates/_executor/move_validation.go +0 -46
  536. package/templates/_executor/move_validation_test.go +0 -187
  537. package/templates/_executor/operations.go +0 -926
  538. package/templates/_executor/path_test.go +0 -35
  539. package/templates/_executor/pid.go +0 -37
  540. package/templates/_executor/pid_test.go +0 -113
  541. package/templates/_executor/platform_linux.go +0 -187
  542. package/templates/_executor/platform_linux_test.go +0 -191
  543. package/templates/_executor/platform_other.go +0 -76
  544. package/templates/_executor/process.go +0 -142
  545. package/templates/_executor/purge_log.go +0 -18
  546. package/templates/_executor/records.go +0 -242
  547. package/templates/_executor/scope_cancel_contract_test.go +0 -91
  548. package/templates/_executor/scope_client.go +0 -37
  549. package/templates/_executor/scope_contract.go +0 -12
  550. package/templates/_executor/selected_scope.go +0 -146
  551. package/templates/_executor/selected_scope_test.go +0 -186
  552. package/templates/_executor/socket_linux_test.go +0 -46
  553. package/templates/_executor/status_disabled_test.go +0 -33
  554. package/templates/_executor/store.go +0 -91
  555. package/templates/_executor/supervise.go +0 -109
  556. package/templates/_executor/supervise_test.go +0 -130
  557. package/templates/_executor/task_race_review_test.go +0 -47
  558. package/templates/_executor/tasks.go +0 -320
  559. package/templates/_executor/tasks_dsm71_test.go +0 -114
  560. package/templates/_executor/tasks_review_test.go +0 -43
  561. package/templates/_executor/tasks_test.go +0 -223
  562. package/templates/_executor/testdata/evidence/cleanup.json +0 -24
  563. package/templates/_executor/testdata/evidence/final-smoke.jsonl +0 -9
  564. package/templates/_executor/testdata/evidence/kernel-acl.json +0 -6
  565. package/templates/_executor/testdata/evidence/linux-tests.log +0 -123
  566. package/templates/_executor/testdata/evidence/live.jsonl +0 -23
  567. package/templates/_executor/testdata/evidence/storage.json +0 -90
  568. package/templates/_executor/testdata/evidence/validation.json +0 -55
  569. package/templates/_executor/testdata/live_probe.py +0 -98
  570. package/templates/_executor/upgrade_watch_test.go +0 -244
  571. package/templates/_executor/watch.go +0 -164
  572. package/templates/_executor/watch_test.go +0 -291
  573. package/templates/_executor/write_review_linux_test.go +0 -87
  574. package/templates/_gateway/auth.go +0 -101
  575. package/templates/_gateway/auth_test.go +0 -216
  576. package/templates/_gateway/cgi.go +0 -133
  577. package/templates/_gateway/cgi_test.go +0 -156
  578. package/templates/_gateway/csrf.go +0 -73
  579. package/templates/_gateway/csrf_test.go +0 -155
  580. package/templates/_gateway/directory.go +0 -108
  581. package/templates/_gateway/directory_test.go +0 -202
  582. package/templates/_gateway/gateway.go +0 -412
  583. package/templates/_gateway/gateway_test.go +0 -676
  584. package/templates/_gateway/go.mod +0 -5
  585. package/templates/_gateway/groups.go +0 -66
  586. package/templates/_gateway/main.go +0 -45
  587. package/templates/_shared/AGENTS.md +0 -146
  588. package/templates/_shared/CLAUDE.md +0 -1
  589. package/templates/_shared/GO-LICENSE +0 -27
  590. package/templates/_shared/GO-PATENTS +0 -22
  591. package/templates/_shared/LICENSES/TEMPLATE.txt +0 -21
  592. package/templates/_shared/third-party-notices.mjs +0 -51
  593. package/templates/binary/LICENSES/GO-LICENSE +0 -27
  594. package/templates/binary/LICENSES/GO-PATENTS +0 -22
  595. package/templates/binary/dsm-package.yaml +0 -46
  596. package/templates/binary/example/main.go +0 -16
  597. package/templates/binary/gitignore +0 -2
  598. package/templates/binary/i18n/messages/de.json +0 -4
  599. package/templates/binary/i18n/messages/en.json +0 -4
  600. package/templates/binary/i18n/messages/es.json +0 -4
  601. package/templates/binary/i18n/messages/fr.json +0 -4
  602. package/templates/binary/i18n/messages/it.json +0 -4
  603. package/templates/binary/i18n/messages/ja.json +0 -4
  604. package/templates/binary/i18n/messages/ko.json +0 -4
  605. package/templates/binary/i18n/messages/zh-CN.json +0 -4
  606. package/templates/binary/i18n/messages/zh-TW.json +0 -4
  607. package/templates/binary/ui/app.css +0 -4
  608. package/templates/binary/ui/app.js +0 -32
  609. package/templates/compose/compose.yaml +0 -8
  610. package/templates/compose/synology-app.yaml +0 -16
  611. package/templates/native-authorization/AuthorizationGate.vue +0 -91
  612. package/templates/native-authorization/i18n/de.json +0 -37
  613. package/templates/native-authorization/i18n/en.json +0 -37
  614. package/templates/native-authorization/i18n/es.json +0 -37
  615. package/templates/native-authorization/i18n/fr.json +0 -37
  616. package/templates/native-authorization/i18n/index.ts +0 -15
  617. package/templates/native-authorization/i18n/it.json +0 -37
  618. package/templates/native-authorization/i18n/ja.json +0 -37
  619. package/templates/native-authorization/i18n/ko.json +0 -37
  620. package/templates/native-authorization/i18n/zh-CN.json +0 -37
  621. package/templates/native-authorization/i18n/zh-TW.json +0 -37
  622. package/templates/native-go/README.md +0 -459
  623. package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +0 -61
  624. package/templates/native-go/backend/cmd/app/main.go +0 -95
  625. package/templates/native-go/backend/cmd/background-worker/main.go +0 -38
  626. package/templates/native-go/backend/go.mod +0 -9
  627. package/templates/native-go/backend/go.sum +0 -4
  628. package/templates/native-go/backend/internal/api/cgi_framing_test.go +0 -32
  629. package/templates/native-go/backend/internal/api/cookie_review_test.go +0 -28
  630. package/templates/native-go/backend/internal/api/deadline_test.go +0 -114
  631. package/templates/native-go/backend/internal/api/dsm-session.go +0 -54
  632. package/templates/native-go/backend/internal/api/dsm-session_test.go +0 -51
  633. package/templates/native-go/backend/internal/api/entry_test.go +0 -47
  634. package/templates/native-go/backend/internal/api/errors.go +0 -47
  635. package/templates/native-go/backend/internal/api/permissions.go +0 -161
  636. package/templates/native-go/backend/internal/api/permissions.json +0 -5
  637. package/templates/native-go/backend/internal/api/permissions_test.go +0 -113
  638. package/templates/native-go/backend/internal/api/policy_fixture_test.go +0 -8
  639. package/templates/native-go/backend/internal/api/registry.go +0 -142
  640. package/templates/native-go/backend/internal/api/registry_test.go +0 -344
  641. package/templates/native-go/backend/internal/api/resource_limits_test.go +0 -87
  642. package/templates/native-go/backend/internal/api/sdk-permissions.json +0 -59
  643. package/templates/native-go/backend/internal/api/sdk_policy_test.go +0 -31
  644. package/templates/native-go/backend/internal/api/server.go +0 -305
  645. package/templates/native-go/backend/internal/api/testdata/permissions-cases.json +0 -172
  646. package/templates/native-go/backend/internal/app/background.go +0 -249
  647. package/templates/native-go/backend/internal/app/background_none.go +0 -8
  648. package/templates/native-go/backend/internal/app/background_owner.go +0 -38
  649. package/templates/native-go/backend/internal/app/background_owner_test.go +0 -163
  650. package/templates/native-go/backend/internal/app/background_schedule.go +0 -69
  651. package/templates/native-go/backend/internal/app/background_schedule_test.go +0 -62
  652. package/templates/native-go/backend/internal/app/background_test.go +0 -320
  653. package/templates/native-go/backend/internal/app/delegate_config.go +0 -57
  654. package/templates/native-go/backend/internal/app/delegate_config_test.go +0 -28
  655. package/templates/native-go/backend/internal/app/delegate_none.go +0 -5
  656. package/templates/native-go/backend/internal/app/identity.go +0 -20
  657. package/templates/native-go/backend/internal/app/identity_test.go +0 -15
  658. package/templates/native-go/backend/internal/app/migrations.go +0 -41
  659. package/templates/native-go/backend/internal/app/migrations_test.go +0 -41
  660. package/templates/native-go/backend/internal/app/portal.go +0 -30
  661. package/templates/native-go/backend/internal/app/portal_test.go +0 -55
  662. package/templates/native-go/backend/internal/app/root_none.go +0 -9
  663. package/templates/native-go/backend/internal/app/routes.go +0 -137
  664. package/templates/native-go/backend/internal/app/routes_test.go +0 -165
  665. package/templates/native-go/backend/internal/app/session_files.go +0 -9
  666. package/templates/native-go/backend/internal/app/session_files_test.go +0 -14
  667. package/templates/native-go/backend/internal/app/shared_folder.go +0 -144
  668. package/templates/native-go/backend/internal/app/shared_folder_test.go +0 -158
  669. package/templates/native-go/backend/internal/background/access.go +0 -57
  670. package/templates/native-go/backend/internal/background/lock_test.go +0 -131
  671. package/templates/native-go/backend/internal/background/owner_test.go +0 -118
  672. package/templates/native-go/backend/internal/background/runner.go +0 -185
  673. package/templates/native-go/backend/internal/background/runner_test.go +0 -209
  674. package/templates/native-go/backend/internal/background/schedule.go +0 -336
  675. package/templates/native-go/backend/internal/background/schedule_test.go +0 -368
  676. package/templates/native-go/backend/internal/background/store.go +0 -825
  677. package/templates/native-go/backend/internal/background/store_test.go +0 -365
  678. package/templates/native-go/backend/internal/datamigrate/migrate.go +0 -191
  679. package/templates/native-go/backend/internal/datamigrate/migrate_test.go +0 -177
  680. package/templates/native-go/backend/internal/dsm/admin.go +0 -76
  681. package/templates/native-go/backend/internal/dsm/admin_linux.go +0 -110
  682. package/templates/native-go/backend/internal/dsm/admin_linux_test.go +0 -105
  683. package/templates/native-go/backend/internal/dsm/admin_other.go +0 -15
  684. package/templates/native-go/backend/internal/dsm/admin_test.go +0 -67
  685. package/templates/native-go/backend/internal/dsm/apppriv.go +0 -30
  686. package/templates/native-go/backend/internal/dsm/auth.go +0 -94
  687. package/templates/native-go/backend/internal/dsm/auth_test.go +0 -159
  688. package/templates/native-go/backend/internal/dsm/bridge_file.go +0 -75
  689. package/templates/native-go/backend/internal/dsm/bridge_file_test.go +0 -57
  690. package/templates/native-go/backend/internal/dsm/entry.go +0 -177
  691. package/templates/native-go/backend/internal/dsm/entry_test.go +0 -315
  692. package/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
  693. package/templates/native-go/backend/internal/dsm/native/admin-armv7.elf +0 -0
  694. package/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
  695. package/templates/native-go/backend/internal/dsm/native/admin_check.c +0 -28
  696. package/templates/native-go/backend/internal/dsm/native/apppriv-aarch64.elf +0 -0
  697. package/templates/native-go/backend/internal/dsm/native/apppriv-armv7.elf +0 -0
  698. package/templates/native-go/backend/internal/dsm/native/apppriv-x86_64.elf +0 -0
  699. package/templates/native-go/backend/internal/dsm/native/apppriv_check.c +0 -33
  700. package/templates/native-go/backend/internal/dsm/native/build.sh +0 -18
  701. package/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +0 -400
  702. package/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +0 -501
  703. package/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +0 -5
  704. package/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +0 -21
  705. package/templates/native-go/backend/internal/dsm/native/provenance.json +0 -18
  706. package/templates/native-go/backend/internal/filestation/browse_test.go +0 -67
  707. package/templates/native-go/backend/internal/filestation/check_permission.go +0 -71
  708. package/templates/native-go/backend/internal/filestation/check_permission_test.go +0 -77
  709. package/templates/native-go/backend/internal/filestation/client.go +0 -337
  710. package/templates/native-go/backend/internal/filestation/client_test.go +0 -155
  711. package/templates/native-go/backend/internal/filestation/doc.go +0 -4
  712. package/templates/native-go/backend/internal/filestation/download_dsm71_test.go +0 -82
  713. package/templates/native-go/backend/internal/filestation/http.go +0 -70
  714. package/templates/native-go/backend/internal/filestation/http_test.go +0 -188
  715. package/templates/native-go/backend/internal/filestation/operations_test.go +0 -206
  716. package/templates/native-go/backend/internal/filestation/read_file_test.go +0 -89
  717. package/templates/native-go/backend/internal/filestation/sdk_policy_test.go +0 -39
  718. package/templates/native-go/backend/internal/filestation/service.go +0 -254
  719. package/templates/native-go/backend/internal/filestation/service_test.go +0 -74
  720. package/templates/native-go/backend/internal/filestation/upload_stream.go +0 -76
  721. package/templates/native-go/backend/internal/filestation/upload_stream_test.go +0 -77
  722. package/templates/native-go/backend/internal/filestation/write.go +0 -32
  723. package/templates/native-go/backend/internal/filestation/write_test.go +0 -124
  724. package/templates/native-go/backend/internal/identity/README.md +0 -59
  725. package/templates/native-go/backend/internal/identity/dsm.go +0 -115
  726. package/templates/native-go/backend/internal/identity/http.go +0 -291
  727. package/templates/native-go/backend/internal/identity/identity_test.go +0 -530
  728. package/templates/native-go/backend/internal/identity/service.go +0 -159
  729. package/templates/native-go/backend/internal/identity/store.go +0 -109
  730. package/templates/native-go/backend/internal/jsonlimits/limits.go +0 -48
  731. package/templates/native-go/backend/internal/jsonlimits/limits_test.go +0 -52
  732. package/templates/native-go/backend/internal/portal/portal.go +0 -138
  733. package/templates/native-go/backend/internal/portal/portal_test.go +0 -89
  734. package/templates/native-go/dsm-package.yaml +0 -71
  735. package/templates/native-go/gitignore +0 -1
  736. package/templates/native-go/i18n/glossary.json +0 -663
  737. package/templates/native-go/i18n/messages/de.json +0 -29
  738. package/templates/native-go/i18n/messages/en.json +0 -29
  739. package/templates/native-go/i18n/messages/es.json +0 -29
  740. package/templates/native-go/i18n/messages/fr.json +0 -29
  741. package/templates/native-go/i18n/messages/it.json +0 -29
  742. package/templates/native-go/i18n/messages/ja.json +0 -29
  743. package/templates/native-go/i18n/messages/ko.json +0 -29
  744. package/templates/native-go/i18n/messages/zh-CN.json +0 -29
  745. package/templates/native-go/i18n/messages/zh-TW.json +0 -29
  746. package/templates/native-go/ui/app.css +0 -45
  747. package/templates/native-go/ui/app.js +0 -111
  748. package/templates/native-go-delegate/DELEGATE.md +0 -263
  749. package/templates/native-go-delegate/backend/cmd/background-worker/main.go +0 -48
  750. package/templates/native-go-delegate/backend/internal/app/delegate.go +0 -25
  751. package/templates/native-go-delegate/backend/internal/app/delegate_on.go +0 -5
  752. package/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +0 -31
  753. package/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +0 -174
  754. package/templates/native-go-delegate/backend/internal/background/delegated.go +0 -277
  755. package/templates/native-go-delegate/backend/internal/background/delegated_moves.go +0 -270
  756. package/templates/native-go-delegate/backend/internal/background/delegated_test.go +0 -34
  757. package/templates/native-go-delegate/backend/internal/delegate/admission_recovery_test.go +0 -410
  758. package/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +0 -15
  759. package/templates/native-go-delegate/backend/internal/delegate/cancel_contract_test.go +0 -95
  760. package/templates/native-go-delegate/backend/internal/delegate/client.go +0 -151
  761. package/templates/native-go-delegate/backend/internal/delegate/client_test.go +0 -214
  762. package/templates/native-go-delegate/backend/internal/delegate/destination.go +0 -110
  763. package/templates/native-go-delegate/backend/internal/delegate/destination_state.go +0 -117
  764. package/templates/native-go-delegate/backend/internal/delegate/destination_state_test.go +0 -60
  765. package/templates/native-go-delegate/backend/internal/delegate/destination_test.go +0 -116
  766. package/templates/native-go-delegate/backend/internal/delegate/example.go +0 -81
  767. package/templates/native-go-delegate/backend/internal/delegate/example_test.go +0 -91
  768. package/templates/native-go-delegate/backend/internal/delegate/executor_contract_test.go +0 -511
  769. package/templates/native-go-delegate/backend/internal/delegate/files.go +0 -132
  770. package/templates/native-go-delegate/backend/internal/delegate/long_running_routes.go +0 -92
  771. package/templates/native-go-delegate/backend/internal/delegate/long_running_routes_test.go +0 -99
  772. package/templates/native-go-delegate/backend/internal/delegate/move.go +0 -348
  773. package/templates/native-go-delegate/backend/internal/delegate/move_test.go +0 -351
  774. package/templates/native-go-delegate/backend/internal/delegate/operations_list.go +0 -65
  775. package/templates/native-go-delegate/backend/internal/delegate/operations_list_test.go +0 -114
  776. package/templates/native-go-delegate/backend/internal/delegate/retry.go +0 -106
  777. package/templates/native-go-delegate/backend/internal/delegate/retry_test.go +0 -143
  778. package/templates/native-go-delegate/backend/internal/delegate/service.go +0 -364
  779. package/templates/native-go-delegate/backend/internal/delegate/service_test.go +0 -318
  780. package/templates/native-go-delegate/backend/internal/delegate/staging.go +0 -121
  781. package/templates/native-go-delegate/backend/internal/delegate/status_disabled_test.go +0 -51
  782. package/templates/native-go-delegate/backend/internal/delegate/testdata/executor_contract.txt +0 -112
  783. package/templates/native-go-delegate/backend/internal/delegate/transient_contract_test.go +0 -137
  784. package/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +0 -101
  785. package/templates/native-go-delegate/backend/internal/delegate/worker.go +0 -225
  786. package/templates/native-go-delegate/backend/internal/filestation/files.go +0 -43
  787. package/templates/native-go-delegate/backend/internal/filestation/files_test.go +0 -59
  788. package/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +0 -37
  789. package/templates/native-go-delegate/frontend/src/delegate/BackgroundSavePanel.vue +0 -113
  790. package/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +0 -70
  791. package/templates/native-go-delegate/frontend/src/delegate/copy.ts +0 -8
  792. package/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +0 -11
  793. package/templates/native-go-delegate/frontend/test/background-save.test.ts +0 -121
  794. package/templates/native-go-delegate/frontend/test/delegate.test.ts +0 -145
  795. package/templates/native-go-delegate/frontend/test/scope-settings.test.ts +0 -49
  796. package/templates/native-go-delegate/test-frontend.sh +0 -12
  797. package/templates/native-go-delegate/test.sh +0 -18
  798. package/templates/native-go-jobs/BACKGROUND.md +0 -108
  799. package/templates/native-go-jobs/backend/internal/app/background_on.go +0 -7
  800. package/templates/native-go-jobs/backend/internal/app/background_routes_test.go +0 -90
  801. package/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +0 -170
  802. package/templates/native-go-jobs/frontend/src/background/i18n/de.json +0 -75
  803. package/templates/native-go-jobs/frontend/src/background/i18n/en.json +0 -75
  804. package/templates/native-go-jobs/frontend/src/background/i18n/es.json +0 -75
  805. package/templates/native-go-jobs/frontend/src/background/i18n/fr.json +0 -75
  806. package/templates/native-go-jobs/frontend/src/background/i18n/it.json +0 -75
  807. package/templates/native-go-jobs/frontend/src/background/i18n/ja.json +0 -75
  808. package/templates/native-go-jobs/frontend/src/background/i18n/ko.json +0 -75
  809. package/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +0 -75
  810. package/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +0 -75
  811. package/templates/native-go-jobs/frontend/src/background/i18n.ts +0 -19
  812. package/templates/native-go-jobs/frontend/src/background/picker-provider.ts +0 -12
  813. package/templates/native-go-jobs/frontend/src/background/request-key.ts +0 -5
  814. package/templates/native-go-jobs/frontend/test/background.test.ts +0 -205
  815. package/templates/native-go-root-ops/backend/internal/app/executor.go +0 -140
  816. package/templates/native-go-root-ops/backend/internal/app/executor_test.go +0 -117
  817. package/templates/native-go-root-ops/root/whoami.sh +0 -3
  818. package/templates/native-go-vue/README.md +0 -47
  819. package/templates/native-go-vue/frontend/DESIGN.md +0 -61
  820. package/templates/native-go-vue/frontend/package-lock.json +0 -2530
  821. package/templates/native-go-vue/frontend/package.json +0 -6
  822. package/templates/native-go-vue/frontend/src/App.vue +0 -96
  823. package/templates/native-go-vue/frontend/src/CapabilityPanels.vue +0 -6
  824. package/templates/native-go-vue/frontend/src/context.ts +0 -78
  825. package/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +0 -70
  826. package/templates/native-go-vue/frontend/src/delegate/catalogs.ts +0 -11
  827. package/templates/native-go-vue/frontend/src/delegate/copy.test.ts +0 -12
  828. package/templates/native-go-vue/frontend/src/delegate/copy.ts +0 -4
  829. package/templates/native-go-vue/frontend/src/delegate/executor-settings.test.ts +0 -23
  830. package/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +0 -24
  831. package/templates/native-go-vue/frontend/src/delegate/facade.test.ts +0 -100
  832. package/templates/native-go-vue/frontend/src/delegate/facade.ts +0 -85
  833. package/templates/native-go-vue/frontend/src/delegate/i18n/de.json +0 -47
  834. package/templates/native-go-vue/frontend/src/delegate/i18n/en.json +0 -47
  835. package/templates/native-go-vue/frontend/src/delegate/i18n/es.json +0 -47
  836. package/templates/native-go-vue/frontend/src/delegate/i18n/fr.json +0 -47
  837. package/templates/native-go-vue/frontend/src/delegate/i18n/it.json +0 -47
  838. package/templates/native-go-vue/frontend/src/delegate/i18n/ja.json +0 -47
  839. package/templates/native-go-vue/frontend/src/delegate/i18n/ko.json +0 -47
  840. package/templates/native-go-vue/frontend/src/delegate/i18n/save/de.json +0 -42
  841. package/templates/native-go-vue/frontend/src/delegate/i18n/save/en.json +0 -42
  842. package/templates/native-go-vue/frontend/src/delegate/i18n/save/es.json +0 -42
  843. package/templates/native-go-vue/frontend/src/delegate/i18n/save/fr.json +0 -42
  844. package/templates/native-go-vue/frontend/src/delegate/i18n/save/it.json +0 -42
  845. package/templates/native-go-vue/frontend/src/delegate/i18n/save/ja.json +0 -42
  846. package/templates/native-go-vue/frontend/src/delegate/i18n/save/ko.json +0 -42
  847. package/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-CN.json +0 -42
  848. package/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-TW.json +0 -42
  849. package/templates/native-go-vue/frontend/src/delegate/i18n/zh-CN.json +0 -47
  850. package/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +0 -47
  851. package/templates/native-go-vue/frontend/src/delegate/long-running.ts +0 -57
  852. package/templates/native-go-vue/frontend/src/delegate/save-copy.test.ts +0 -12
  853. package/templates/native-go-vue/frontend/src/delegate/save-copy.ts +0 -24
  854. package/templates/native-go-vue/frontend/src/delegate/scoped-picker.test.ts +0 -12
  855. package/templates/native-go-vue/frontend/src/delegate/scoped-picker.ts +0 -21
  856. package/templates/native-go-vue/frontend/src/files/FileBrowser.vue +0 -131
  857. package/templates/native-go-vue/frontend/src/files/FilesPage.vue +0 -35
  858. package/templates/native-go-vue/frontend/src/files/files.test.ts +0 -100
  859. package/templates/native-go-vue/frontend/src/files/provider.test.ts +0 -48
  860. package/templates/native-go-vue/frontend/src/files/transfers.test.ts +0 -27
  861. package/templates/native-go-vue/frontend/src/files/transfers.ts +0 -25
  862. package/templates/native-go-vue/frontend/src/i18n/de.json +0 -20
  863. package/templates/native-go-vue/frontend/src/i18n/en.json +0 -20
  864. package/templates/native-go-vue/frontend/src/i18n/es.json +0 -20
  865. package/templates/native-go-vue/frontend/src/i18n/fr.json +0 -20
  866. package/templates/native-go-vue/frontend/src/i18n/it.json +0 -20
  867. package/templates/native-go-vue/frontend/src/i18n/ja.json +0 -20
  868. package/templates/native-go-vue/frontend/src/i18n/ko.json +0 -20
  869. package/templates/native-go-vue/frontend/src/i18n/zh-CN.json +0 -20
  870. package/templates/native-go-vue/frontend/src/i18n/zh-TW.json +0 -20
  871. package/templates/native-go-vue/frontend/src/i18n.ts +0 -13
  872. package/templates/native-go-vue/frontend/src/identity/DESIGN.md +0 -46
  873. package/templates/native-go-vue/frontend/src/identity/LoginPage.vue +0 -78
  874. package/templates/native-go-vue/frontend/src/identity/i18n/de.json +0 -27
  875. package/templates/native-go-vue/frontend/src/identity/i18n/en.json +0 -27
  876. package/templates/native-go-vue/frontend/src/identity/i18n/es.json +0 -27
  877. package/templates/native-go-vue/frontend/src/identity/i18n/fr.json +0 -27
  878. package/templates/native-go-vue/frontend/src/identity/i18n/it.json +0 -27
  879. package/templates/native-go-vue/frontend/src/identity/i18n/ja.json +0 -27
  880. package/templates/native-go-vue/frontend/src/identity/i18n/ko.json +0 -27
  881. package/templates/native-go-vue/frontend/src/identity/i18n/zh-CN.json +0 -27
  882. package/templates/native-go-vue/frontend/src/identity/i18n/zh-TW.json +0 -27
  883. package/templates/native-go-vue/frontend/src/identity/i18n.ts +0 -14
  884. package/templates/native-go-vue/frontend/src/identity/login.test.ts +0 -32
  885. package/templates/native-go-vue/frontend/src/identity/session.test.ts +0 -33
  886. package/templates/native-go-vue/frontend/src/identity/session.ts +0 -74
  887. package/templates/native-go-vue/frontend/src/main.ts +0 -32
  888. package/templates/native-go-vue/frontend/src/nas/NasPicker.vue +0 -42
  889. package/templates/native-go-vue/frontend/src/nas/contract.ts +0 -12
  890. package/templates/native-go-vue/frontend/src/nas/destination.test.ts +0 -48
  891. package/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +0 -41
  892. package/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +0 -41
  893. package/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +0 -41
  894. package/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +0 -41
  895. package/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +0 -41
  896. package/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +0 -41
  897. package/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +0 -41
  898. package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +0 -41
  899. package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +0 -41
  900. package/templates/native-go-vue/frontend/src/nas/i18n.ts +0 -2
  901. package/templates/native-go-vue/frontend/src/nas/locale.ts +0 -24
  902. package/templates/native-go-vue/frontend/src/nas/provider.ts +0 -50
  903. package/templates/native-go-vue/frontend/src/nas/use-request.ts +0 -18
  904. package/templates/native-go-vue/frontend/src/portal/PortalSettings.vue +0 -39
  905. package/templates/native-go-vue/frontend/src/shell/AppShell.vue +0 -48
  906. package/templates/native-go-vue/frontend/src/shell/i18n/de.json +0 -4
  907. package/templates/native-go-vue/frontend/src/shell/i18n/en.json +0 -4
  908. package/templates/native-go-vue/frontend/src/shell/i18n/es.json +0 -4
  909. package/templates/native-go-vue/frontend/src/shell/i18n/fr.json +0 -4
  910. package/templates/native-go-vue/frontend/src/shell/i18n/it.json +0 -4
  911. package/templates/native-go-vue/frontend/src/shell/i18n/ja.json +0 -4
  912. package/templates/native-go-vue/frontend/src/shell/i18n/ko.json +0 -4
  913. package/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +0 -4
  914. package/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +0 -4
  915. package/templates/native-go-vue/frontend/src/shell/i18n.ts +0 -17
  916. package/templates/native-go-vue/frontend/src/shell/pages.ts +0 -15
  917. package/templates/native-go-vue/frontend/src/style.css +0 -27
  918. package/templates/native-go-vue/frontend/test/apps.test.ts +0 -57
  919. package/templates/native-go-vue/frontend/test/native-controls.test.ts +0 -27
  920. package/templates/native-go-vue/frontend/test/portal-settings.test.ts +0 -71
  921. package/templates/native-go-vue/frontend/test/shell-i18n.test.ts +0 -50
  922. package/templates/native-go-vue/frontend/test/shell-ui.test.ts +0 -20
  923. package/templates/native-go-vue/frontend/test/shell.test.ts +0 -30
  924. package/templates/native-go-vue/frontend/tsconfig.json +0 -1
  925. package/templates/native-go-vue/frontend/vite.config.ts +0 -10
  926. package/templates/native-go-vue/gitignore +0 -2
  927. /package/{dist/templates/_daemon → assets/go/daemon}/fixture_linux_test.go +0 -0
  928. /package/{dist/templates/_daemon → assets/go/daemon}/fixture_other_test.go +0 -0
  929. /package/{dist/templates/_daemon → assets/go/daemon}/go.mod +0 -0
  930. /package/{dist/templates/_daemon → assets/go/daemon}/main.go +0 -0
  931. /package/{dist/templates/_daemon → assets/go/daemon}/main_test.go +0 -0
  932. /package/{dist/templates/_daemon → assets/go/daemon}/process_linux.go +0 -0
  933. /package/{dist/templates/_daemon → assets/go/daemon}/process_linux_test.go +0 -0
  934. /package/{dist/templates/_daemon → assets/go/daemon}/process_other.go +0 -0
  935. /package/{dist/templates/_daemon → assets/go/daemon}/testdata/child.go +0 -0
  936. /package/{dist/templates/_gateway → assets/go/gateway}/auth.go +0 -0
  937. /package/{dist/templates/_gateway → assets/go/gateway}/auth_test.go +0 -0
  938. /package/{dist/templates/_gateway → assets/go/gateway}/cgi.go +0 -0
  939. /package/{dist/templates/_gateway → assets/go/gateway}/cgi_test.go +0 -0
  940. /package/{dist/templates/_gateway → assets/go/gateway}/csrf.go +0 -0
  941. /package/{dist/templates/_gateway → assets/go/gateway}/csrf_test.go +0 -0
  942. /package/{dist/templates/_gateway → assets/go/gateway}/directory.go +0 -0
  943. /package/{dist/templates/_gateway → assets/go/gateway}/directory_test.go +0 -0
  944. /package/{dist/templates/_gateway → assets/go/gateway}/gateway.go +0 -0
  945. /package/{dist/templates/_gateway → assets/go/gateway}/gateway_test.go +0 -0
  946. /package/{dist/templates/_gateway → assets/go/gateway}/go.mod +0 -0
  947. /package/{dist/templates/_gateway → assets/go/gateway}/groups.go +0 -0
  948. /package/{dist/templates/_gateway → assets/go/gateway}/main.go +0 -0
  949. /package/{dist/templates/_shared → assets/licenses}/GO-LICENSE +0 -0
  950. /package/{dist/templates/_shared → assets/licenses}/GO-PATENTS +0 -0
  951. /package/{dist/templates/_shared/LICENSES → assets/licenses}/TEMPLATE.txt +0 -0
@@ -1,32 +0,0 @@
1
- // @vitest-environment jsdom
2
- // @vitest-environment-options {"url":"https://nas.test"}
3
- import {expect, test, vi} from 'vitest'
4
- import {nextTick} from 'vue'
5
- import {mount} from '../main'
6
- import type {Context} from '../context'
7
- async function settle(){for(let i=0;i<20;i++){await Promise.resolve();await nextTick()}}
8
- function fill(root: HTMLElement, selector: string, value: string){const field=root.querySelector<HTMLInputElement>(selector)!;field.value=value;field.dispatchEvent(new Event('input',{bubbles:true}))}
9
- function button(root: HTMLElement, text: string){return Array.from(root.querySelectorAll<HTMLButtonElement>('button')).find(b=>b.textContent?.trim()===text)!}
10
- test('OTP focuses the enabled code field and successful login loads app data',async()=>{
11
- let signedIn=false
12
- const call=vi.fn(async(method: string, params?: Record<string, unknown>)=>{
13
- if(method==='identity.status')return {enabled:true}
14
- if(method==='identity.session')throw {code:'session_required'}
15
- if(method==='identity.login') {if(!params?.otp)throw {code:'otp_required'};signedIn=true;return {user:'alice',uid:'1205',expiresAt:new Date(Date.now()+900000).toISOString()}}
16
- if(method==='identity.logout'){signedIn=false;return {loggedOut:true}}
17
- if(!signedIn)throw {code:'session_required'}
18
- if(method==='app.status')return {package:'Test package',version:'1',user:'alice',admin:false}
19
- if(method==='greeting.get')return {text:'Hello Alice'}
20
- return {}
21
- })
22
- const ctx={locale:'en',call,reopen(){return ()=>{}}} as unknown as Context
23
- const root=document.createElement('div');document.body.append(root);const app=mount(root,ctx)
24
- try{
25
- await settle();fill(root,'input[autocomplete="username"]','alice');fill(root,'input[type="password"]','password');await settle();button(root,'Sign in').click();await settle()
26
- const otp=root.querySelector<HTMLInputElement>('input[autocomplete="one-time-code"]')!
27
- expect(otp.disabled).toBe(false);expect(document.activeElement).toBe(otp)
28
- fill(root,'input[autocomplete="one-time-code"]','123456');await settle();button(root,'Verify and sign in').click();await settle()
29
- expect(root.textContent).toContain('Test package');expect(root.querySelector('textarea')).toBeNull();expect(call).not.toHaveBeenCalledWith('greeting.get',undefined)
30
- button(root,'Sign out').click();await settle();expect(root.querySelector('textarea')).toBeNull();expect(root.textContent).not.toContain('alice');expect(root.querySelector<HTMLInputElement>('input[type="password"]')?.value).toBe('')
31
- }finally{app.unmount();root.remove()}
32
- })
@@ -1,33 +0,0 @@
1
- // @vitest-environment jsdom
2
- import {afterEach, expect, test, vi} from 'vitest'
3
- import {createSession} from './session'
4
- import type {Context} from '../context'
5
- afterEach(()=>vi.useRealTimers())
6
- function context(call: Context['call']){return {call} as Context}
7
- test('discovers disabled identity without changing existing transport',async()=>{
8
- const call=vi.fn().mockRejectedValue({code:'unknown_method'})
9
- const session=createSession(context(call));await session.start();expect(session.enabled.value).toBe(false);expect(session.ready.value).toBe(true);session.dispose()
10
- })
11
- test('an Application Privileges refusal keeps the DSM shell instead of offering sign-in',async()=>{
12
- const call=vi.fn().mockRejectedValue({code:'app_privilege_denied'})
13
- const session=createSession(context(call));await session.start();expect(session.enabled.value).toBe(false);expect(session.notice.value).toBe('');session.dispose()
14
- })
15
- test('bootstraps, expires and returns to login after a business rejection',async()=>{
16
- vi.useFakeTimers();const expiresAt=new Date(Date.now()+60000).toISOString()
17
- const call=vi.fn().mockResolvedValueOnce({enabled:true}).mockResolvedValueOnce({user:'alice',uid:'1205',expiresAt})
18
- const session=createSession(context(call));await session.start();expect(session.subject.value?.user).toBe('alice')
19
- call.mockRejectedValueOnce({code:'session_required'})
20
- await expect(session.call('greeting.get')).rejects.toEqual({code:'session_required'});expect(session.subject.value).toBeUndefined()
21
- call.mockResolvedValueOnce({user:'alice',uid:'1205',expiresAt});await session.login('alice','password','123456');expect(session.subject.value?.user).toBe('alice')
22
- await vi.advanceTimersByTimeAsync(60000);expect(session.subject.value).toBeUndefined();session.dispose()
23
- })
24
- test('disposal ignores pending session responses and cancels timers',async()=>{
25
- let resolve: (value:unknown)=>void=()=>{};const call=vi.fn().mockResolvedValueOnce({enabled:true}).mockImplementationOnce(()=>new Promise(r=>{resolve=r}))
26
- const session=createSession(context(call));const pending=session.start();await Promise.resolve();session.dispose();resolve({user:'alice',expiresAt:new Date(Date.now()+60000).toISOString()});await pending;expect(session.subject.value).toBeUndefined()
27
- })
28
- test('OTP errors remain actionable and logout clears the identity',async()=>{
29
- const call=vi.fn().mockResolvedValueOnce({enabled:true}).mockRejectedValueOnce({code:'session_required'})
30
- const session=createSession(context(call));await session.start();call.mockRejectedValueOnce({code:'otp_required'})
31
- await expect(session.login('alice','p','')).rejects.toEqual({code:'otp_required'});expect(session.subject.value).toBeUndefined()
32
- call.mockResolvedValueOnce({user:'alice',expiresAt:new Date(Date.now()+60000).toISOString()});await session.login('alice','p','123456');call.mockResolvedValueOnce({loggedOut:true});await session.logout();expect(session.subject.value).toBeUndefined();session.dispose()
33
- })
@@ -1,74 +0,0 @@
1
- import {ref} from 'vue'
2
- import type {Context} from '../context'
3
- import type {IdentityNotice} from './i18n'
4
-
5
- export interface SessionSubject {user: string; uid: string; expiresAt: string}
6
- export function createSession(ctx: Context) {
7
- const enabled = ref(false)
8
- const ready = ref(false)
9
- const subject = ref<SessionSubject>()
10
- const notice = ref<IdentityNotice>('')
11
- let disposed = false
12
- let revision = 0
13
- let expiry: ReturnType<typeof setTimeout> | undefined
14
- let poll: ReturnType<typeof setTimeout> | undefined
15
- function cancelTimers() {clearTimeout(expiry); clearTimeout(poll)}
16
- function clear(message: IdentityNotice = '') {revision++; cancelTimers(); subject.value = undefined; notice.value = message}
17
- function accept(value: SessionSubject) {
18
- if (disposed) return
19
- const remaining = Date.parse(value.expiresAt) - Date.now()
20
- if (!Number.isFinite(remaining) || remaining <= 0) {clear('expired'); return}
21
- cancelTimers(); subject.value = value; notice.value = ''
22
- expiry = setTimeout(() => clear('expired'), remaining)
23
- const current = revision
24
- poll = setTimeout(async () => {
25
- try {const next = await ctx.call<SessionSubject>('identity.session'); if (!disposed && revision === current) accept(next)}
26
- catch {if (!disposed && revision === current) clear('expired')}
27
- }, Math.min(60000, remaining))
28
- }
29
- async function start() {
30
- try {
31
- const status = await ctx.call<{enabled: boolean}>('identity.status')
32
- if (disposed) return
33
- enabled.value = status.enabled === true
34
- if (enabled.value) {
35
- try {accept(await ctx.call<SessionSubject>('identity.session', {bootstrap: true}))}
36
- catch {if (!disposed) clear()}
37
- }
38
- } catch (e) {
39
- // Existing templates have no identity transport and retain their DSM shell.
40
- const code = (e as {code?: string})?.code
41
- enabled.value = !['unknown_method', 'admin_required', 'app_privilege_denied', 'session_required'].includes(code || '')
42
- if (enabled.value) notice.value = 'unavailable'
43
- } finally {if (!disposed) ready.value = true}
44
- }
45
- async function call<T = unknown>(method: string, params?: Record<string, unknown>): Promise<T> {
46
- const current = revision
47
- try {
48
- const result = await ctx.call<T>(method, params)
49
- if (disposed || (enabled.value && current !== revision)) throw {code: 'session_required'}
50
- return result
51
- }
52
- catch (e) {
53
- const code = (e as {code?: string})?.code
54
- if (!disposed && current === revision && enabled.value && ['session_required', 'session_revalidation_required'].includes(code || '')) {
55
- clear(code === 'session_revalidation_required' ? 'revalidate' : 'expired')
56
- }
57
- throw e
58
- }
59
- }
60
- async function login(account: string, password: string, otp: string) {
61
- const value = await ctx.call<SessionSubject>('identity.login', {account, password, otp})
62
- if (!disposed) {revision++; accept(value)}
63
- }
64
- async function bootstrap() {
65
- const value = await ctx.call<SessionSubject>('identity.session', {bootstrap: true})
66
- if (!disposed) {revision++; accept(value)}
67
- }
68
- async function logout() {
69
- await ctx.call('identity.logout'); if (!disposed) clear()
70
- }
71
- function dispose() {disposed = true; clear()}
72
- return {enabled, ready, subject, notice, start, call, login, bootstrap, logout, dispose}
73
- }
74
- export type IdentitySession = ReturnType<typeof createSession>
@@ -1,32 +0,0 @@
1
- import {createApp} from 'vue'
2
- import App from './App.vue'
3
- import {ExecutorSetupKey} from './delegate/executor-setup'
4
- import type {Context} from './context'
5
- import '@synopackageland/ui/themes/dsm7-embedded.css'
6
- import './style.css'
7
-
8
- let mountSequence = 0
9
- export function mount(root: HTMLElement, ctx: Context) {
10
- const app = createApp(App, {ctx})
11
- app.provide(ExecutorSetupKey, ctx.executor ?? {
12
- async status() {return {state: 'unsupported'}},
13
- async authorize() {return {state: 'unsupported'}},
14
- async control() {return {state: 'unsupported'}},
15
- })
16
- // Include the generated package ID, an instance counter and randomness even
17
- // across separately loaded bundles. getRandomValues also works on DSM HTTP.
18
- app.config.idPrefix = `__PACKAGE__-${++mountSequence}-${crypto.getRandomValues(new Uint32Array(4)).join('-')}`
19
- const hadRootClass = root.classList.contains('dsmapp-vue-root')
20
- root.classList.add('dsmapp-vue-root')
21
- app.mount(root)
22
- return {unmount() {app.unmount(); if(!hadRootClass) root.classList.remove('dsmapp-vue-root')}}
23
- }
24
- // Register with the existing per-package DSM window loader. Never share a
25
- // singleton app or user/session state between different mount calls.
26
- const script = document.currentScript as HTMLScriptElement | null
27
- const packageID = script?.getAttribute('data-package')
28
- const host = window as unknown as {DsmPackageApps: Record<string, {mount: typeof mount}>}
29
- if (packageID) {
30
- host.DsmPackageApps = host.DsmPackageApps || {}
31
- host.DsmPackageApps[packageID] = {mount}
32
- }
@@ -1,42 +0,0 @@
1
- <script setup lang="ts">
2
- import {computed,onBeforeUnmount,ref,watch} from 'vue'
3
- import {Button,Callout,Dialog} from '@synopackageland/ui'
4
- import FileBrowser from '../files/FileBrowser.vue'
5
- import type {NasProvider} from './contract'
6
- import {nasCopy} from './locale'
7
- import type {DestinationGrant,DestinationSelection} from '../delegate/long-running'
8
- import {saveCopy,saveError} from '../delegate/save-copy'
9
- const props=defineProps<{open:boolean;locale:string;provider:NasProvider;mode:'folder'|'file';title?:string;description?:string;destination?:DestinationSelection}>()
10
- const emit=defineEmits<{'update:open':[value:boolean];selected:[path:string];authorized:[grant:DestinationGrant]}>()
11
- const selected=ref<string>(),copy=computed(()=>nasCopy(props.locale)),save=computed(()=>saveCopy(props.locale)),busy=ref(false),error=ref<unknown>()
12
- let generation=0,disposed=false
13
- watch(()=>props.open,()=>{generation++;selected.value=undefined;error.value=undefined})
14
- onBeforeUnmount(()=>{disposed=true;generation++})
15
- function close(){if(busy.value)return;selected.value=undefined;emit('update:open',false)}
16
- async function confirm(){
17
- const path=selected.value,destination=props.destination,version=generation
18
- if(!path||busy.value||!props.open||disposed||(destination&&props.mode!=='folder'))return
19
- if(!destination){emit('selected',path);close();return}
20
- busy.value=true;error.value=undefined
21
- try{
22
- const grant=await destination.selectDestination({key:destination.key,path})
23
- if(disposed||version!==generation)return
24
- if(!grant||typeof grant.id!=='string'||!grant.id||typeof grant.username!=='string'||!grant.username||grant.path!==path||grant.key!==destination.key||grant.lifetime!=='until-revoked')throw {code:'commit-uncertain'}
25
- emit('authorized',grant);busy.value=false;close()
26
- }catch(e){if(!disposed&&version===generation)error.value=e}
27
- finally{if(!disposed)busy.value=false}
28
- }
29
- </script>
30
- <template>
31
- <Dialog :open="open" :title="title??(mode==='folder'?copy.choose:copy.chooseFile)" :description="description??copy.ownPermissions" :close-label="copy.close" :show-close="!busy" width="800px" @escape-key-down="event=>{if(busy)event.preventDefault()}" @interact-outside="event=>{if(busy)event.preventDefault()}" @update:open="value=>{if(!value)close()}">
32
- <p v-if="destination" class="save-consent">{{ save.selection }}</p>
33
- <Callout v-if="error" tone="danger" role="alert" class="save-message">{{ saveError(error,save) }}</Callout>
34
- <div class="nas-picker-content" :aria-busy="busy" :inert="busy"><FileBrowser v-if="open" :provider="provider" :locale="locale" :mode="mode" @selected="selected=$event" /></div>
35
- <template #footer><Button variant="secondary" :disabled="busy" @click="close">{{ copy.cancel }}</Button><Button variant="primary" :disabled="!selected||busy||!!destination&&mode!=='folder'" @click="confirm">{{ copy.confirm }}</Button></template>
36
- </Dialog>
37
- </template>
38
- <style scoped>
39
- .nas-picker-content { max-height: 65vh; overflow: auto; }
40
- .save-message {--ui-text-secondary:var(--ui-text);}
41
- .save-consent {color:var(--ui-text);margin-block:0 var(--ui-space-4,16px);}
42
- </style>
@@ -1,12 +0,0 @@
1
- export interface NasEntry {name:string; path:string; isDir:boolean; bytes?:number}
2
- export interface NasPage {entries:NasEntry[]; total:number; offset:number; nextOffset?:number}
3
- export interface ListOptions {offset?:number;limit?:number;sortBy?:'name'|'size'|'type'|'mtime';sortDirection?:'ASC'|'DESC'}
4
- export interface NasProvider {
5
- download?(path:string):void
6
- upload?(parent:string,file:File,signal:AbortSignal):Promise<void>
7
- shares(offset:number,signal:AbortSignal):Promise<NasPage>
8
- list(path:string,options:ListOptions,signal:AbortSignal):Promise<NasPage>
9
- info(path:string,signal:AbortSignal):Promise<NasEntry>
10
- createFolder(parent:string,name:string,signal:AbortSignal):Promise<void>
11
- dispose():void
12
- }
@@ -1,48 +0,0 @@
1
- // @vitest-environment jsdom
2
- import {afterEach,expect,test,vi} from 'vitest'
3
- import {createApp,h,nextTick,ref} from 'vue'
4
- import {AppRoot,ConfigProvider} from '@synopackageland/ui'
5
- import NasPicker from './NasPicker.vue'
6
- import {createNasProvider} from './provider'
7
- import {nasCopy} from './locale'
8
- const cleanup:Array<()=>void>=[]
9
- afterEach(()=>cleanup.splice(0).forEach(fn=>fn()))
10
- async function settle(){for(let i=0;i<30;i++){await Promise.resolve();await nextTick()}}
11
- const grant={id:'d1',key:'save',path:'/home',username:'normal1',lifetime:'until-revoked' as const}
12
- function fixture(selectDestination:any,mode:'folder'|'file'='folder'){
13
- const root=document.createElement('div');document.body.append(root)
14
- const selected=vi.fn(),authorized=vi.fn(),open=ref(true)
15
- const provider=createNasProvider({call:vi.fn(async()=>({shares:[{name:'home',path:'/home',isdir:true}],offset:0,total:1})) as any})
16
- const app=createApp({render:()=>h(ConfigProvider,{locale:'en'},()=>h(AppRoot,{},()=>h(NasPicker,{provider,locale:'en',mode,open:open.value,destination:{key:'save',selectDestination},onSelected:selected,onAuthorized:authorized,'onUpdate:open':v=>open.value=v})))})
17
- app.config.idPrefix='destination-test';app.mount(root)
18
- cleanup.push(()=>{app.unmount();provider.dispose();root.remove()})
19
- return {root,open,selected,authorized,app}
20
- }
21
- function button(root:HTMLElement,label:string){const b=Array.from(root.querySelectorAll('button')).find(n=>n.textContent?.trim()===label||n.getAttribute('aria-label')===label);expect(b,label).toBeTruthy();return b!}
22
- async function select(root:HTMLElement){await settle();button(root,'Select home').click();await settle();button(root,nasCopy('en').confirm).click();await settle()}
23
- test('destination confirmation authorizes once with its manifest key, without a second consent dialog',async()=>{
24
- const call=vi.fn(async()=>grant),f=fixture(call);await settle()
25
- expect(f.root.textContent).toContain('after you sign out')
26
- await select(f.root)
27
- expect(call).toHaveBeenCalledExactlyOnceWith({key:'save',path:'/home'})
28
- expect(f.authorized).toHaveBeenCalledExactlyOnceWith(grant)
29
- expect(f.selected).not.toHaveBeenCalled();expect(f.open.value).toBe(false)
30
- })
31
- test('a rejected write/session check keeps the picker open and never emits a path or a grant',async()=>{
32
- const f=fixture(vi.fn(async()=>{throw {code:'PERMISSION_DENIED',message:'secret SID'}}));await select(f.root)
33
- expect(f.open.value).toBe(true);expect(f.selected).not.toHaveBeenCalled();expect(f.authorized).not.toHaveBeenCalled()
34
- expect(f.root.querySelector('[role=alert]')?.textContent).toContain('permission')
35
- expect(f.root.textContent).not.toContain('secret SID')
36
- })
37
- test('only folder destinations can authorize; a malformed grant is never reported as successful',async()=>{
38
- const call=vi.fn(async()=>({...grant,path:'/elsewhere'})),f=fixture(call);await select(f.root)
39
- expect(f.open.value).toBe(true);expect(f.authorized).not.toHaveBeenCalled()
40
- const fileCall=vi.fn(async()=>grant),file=fixture(fileCall,'file');await settle()
41
- expect(button(file.root,nasCopy('en').confirm).disabled).toBe(true);expect(fileCall).not.toHaveBeenCalled()
42
- })
43
- test('pending authorization prevents duplicate confirmation and ignores a late result after unmount',async()=>{
44
- let resolve!:(value:typeof grant)=>void
45
- const call=vi.fn(()=>new Promise(r=>resolve=r)),f=fixture(call);await select(f.root)
46
- expect(button(f.root,nasCopy('en').confirm).disabled).toBe(true)
47
- f.app.unmount();resolve(grant);await settle();expect(f.authorized).not.toHaveBeenCalled()
48
- })
@@ -1,41 +0,0 @@
1
- {
2
- "title": "NAS-Ordner — File Station",
3
- "ownPermissions": "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte.",
4
- "choose": "Ordner auswählen",
5
- "confirm": "Auswahl bestätigen",
6
- "refresh": "Ordner aktualisieren",
7
- "loading": "Wird geladen…",
8
- "emptyFolder": "Dieser Ordner ist leer.",
9
- "roots": "Ordner",
10
- "back": "Zurück",
11
- "select": "{name} auswählen",
12
- "open": "{name} öffnen",
13
- "selected": "Ausgewählt: {name}",
14
- "cancel": "Abbrechen",
15
- "close": "Schließen",
16
- "loadMore": "Mehr laden",
17
- "errorSession": "DSM-Sitzung abgelaufen. Melden Sie sich erneut bei DSM an und aktualisieren Sie die Ordner.",
18
- "errorDenied": "Sie haben keine Berechtigung für diese Datei oder diesen Ordner. Wählen Sie einen anderen Ordner.",
19
- "errorNotFound": "Datei oder Ordner nicht mehr vorhanden. Aktualisieren Sie die Liste.",
20
- "errorConflict": "Dieser Name existiert bereits. Wählen Sie einen anderen Namen.",
21
- "errorUncertain": "Die Aktion wurde möglicherweise ausgeführt. Aktualisieren Sie Auswahl oder Ziel und prüfen Sie das Ergebnis vor einer erneuten Übermittlung.",
22
- "errorInvalid": "Ungültiger Ordner, Dateiname oder Aufruf. Prüfen Sie die Eingabe.",
23
- "errorUnavailable": "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später.",
24
- "errorCanceled": "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren.",
25
- "errorTimeout": "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren.",
26
- "metadata": "Metadaten",
27
- "fileKind": "Datei",
28
- "directoryKind": "Ordner",
29
- "nameColumn": "Name",
30
- "kindColumn": "Typ",
31
- "sizeColumn": "Bytes",
32
- "selectAction": "Auswählen",
33
- "chooseFile": "Datei auswählen",
34
- "expand": "{name} erweitern",
35
- "collapse": "{name} reduzieren",
36
- "upload": "Hochladen",
37
- "download": "Herunterladen",
38
- "uploaded": "Datei hochgeladen.",
39
- "errorDSM": "Melden Sie sich unter diesem Hostnamen bei DSM an, um auf NAS-Dateien zuzugreifen. Eine App-Anmeldung allein erlaubt keinen Zugriff auf File Station.",
40
- "errorUploadSize": "Wählen Sie eine Datei mit höchstens 16 GB aus."
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "NAS folders — File Station",
3
- "ownPermissions": "Operations use your own DSM session and current File Station permissions.",
4
- "choose": "Choose folder",
5
- "confirm": "Confirm selection",
6
- "refresh": "Refresh folders",
7
- "loading": "Loading…",
8
- "emptyFolder": "This folder is empty.",
9
- "roots": "Folders",
10
- "back": "Back",
11
- "select": "Select {name}",
12
- "open": "Open {name}",
13
- "selected": "Selected: {name}",
14
- "cancel": "Cancel",
15
- "close": "Close",
16
- "loadMore": "Load more",
17
- "errorSession": "Your DSM session expired. Sign in to DSM again, then refresh folders.",
18
- "errorDenied": "You do not have permission to access this file or folder. Choose another folder.",
19
- "errorNotFound": "The file or folder no longer exists. Refresh the listing.",
20
- "errorConflict": "A file or folder with that name already exists. Choose another name.",
21
- "errorUncertain": "The operation may have completed. Refresh selections or the destination and inspect the result before submitting again.",
22
- "errorInvalid": "Invalid folder, filename or request. Check the input and try again.",
23
- "errorUnavailable": "File Station is unavailable or this package lacks the session adapter. Refresh later.",
24
- "errorCanceled": "Request canceled. Refresh before continuing.",
25
- "errorTimeout": "The request timed out. Refresh the listing before continuing.",
26
- "metadata": "Metadata",
27
- "fileKind": "File",
28
- "directoryKind": "Folder",
29
- "nameColumn": "Name",
30
- "kindColumn": "Type",
31
- "sizeColumn": "Bytes",
32
- "selectAction": "Select",
33
- "chooseFile": "Choose file",
34
- "expand": "Expand {name}",
35
- "collapse": "Collapse {name}",
36
- "upload": "Upload",
37
- "download": "Download",
38
- "uploaded": "File uploaded.",
39
- "errorDSM": "Sign in to DSM on this hostname to access NAS files. An App login alone cannot access File Station.",
40
- "errorUploadSize": "Choose one file up to 16 GB."
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "Carpetas NAS — File Station",
3
- "ownPermissions": "Las operaciones usan su sesión DSM y sus permisos actuales de File Station.",
4
- "choose": "Elegir carpeta",
5
- "confirm": "Confirmar selección",
6
- "refresh": "Actualizar carpetas",
7
- "loading": "Cargando…",
8
- "emptyFolder": "Esta carpeta está vacía.",
9
- "roots": "Carpetas",
10
- "back": "Atrás",
11
- "select": "Seleccionar {name}",
12
- "open": "Abrir {name}",
13
- "selected": "Seleccionado: {name}",
14
- "cancel": "Cancelar",
15
- "close": "Cerrar",
16
- "loadMore": "Cargar más",
17
- "errorSession": "La sesión DSM caducó. Inicie sesión en DSM y actualice las carpetas.",
18
- "errorDenied": "No tiene permiso para acceder a este archivo o carpeta. Elija otra carpeta.",
19
- "errorNotFound": "El archivo o la carpeta ya no existe. Actualice la lista.",
20
- "errorConflict": "Ya existe un archivo o carpeta con ese nombre. Use otro nombre.",
21
- "errorUncertain": "La operación puede haber terminado. Actualice las selecciones o el destino y compruebe el resultado antes de enviarla de nuevo.",
22
- "errorInvalid": "Carpeta, nombre o solicitud no válidos. Revise los datos.",
23
- "errorUnavailable": "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde.",
24
- "errorCanceled": "Solicitud cancelada. Actualice antes de continuar.",
25
- "errorTimeout": "La solicitud agotó el tiempo. Actualice la lista antes de continuar.",
26
- "metadata": "Metadatos",
27
- "fileKind": "Archivo",
28
- "directoryKind": "Carpeta",
29
- "nameColumn": "Nombre",
30
- "kindColumn": "Tipo",
31
- "sizeColumn": "Bytes",
32
- "selectAction": "Seleccionar",
33
- "chooseFile": "Elegir archivo",
34
- "expand": "Expandir {name}",
35
- "collapse": "Contraer {name}",
36
- "upload": "Subir",
37
- "download": "Descargar",
38
- "uploaded": "Archivo subido.",
39
- "errorDSM": "Inicie sesión en DSM con este nombre de host para acceder a los archivos NAS. El inicio de sesión en la App por sí solo no permite usar File Station.",
40
- "errorUploadSize": "Seleccione un archivo de hasta 16 GB."
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "Dossiers NAS — File Station",
3
- "ownPermissions": "Les opérations utilisent votre session DSM et vos droits File Station actuels.",
4
- "choose": "Choisir un dossier",
5
- "confirm": "Confirmer la sélection",
6
- "refresh": "Actualiser les dossiers",
7
- "loading": "Chargement…",
8
- "emptyFolder": "Ce dossier est vide.",
9
- "roots": "Dossiers",
10
- "back": "Retour",
11
- "select": "Sélectionner {name}",
12
- "open": "Ouvrir {name}",
13
- "selected": "Sélection : {name}",
14
- "cancel": "Annuler",
15
- "close": "Fermer",
16
- "loadMore": "Charger plus",
17
- "errorSession": "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers.",
18
- "errorDenied": "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier.",
19
- "errorNotFound": "Le fichier ou dossier n’existe plus. Actualisez la liste.",
20
- "errorConflict": "Ce nom existe déjà. Choisissez un autre nom.",
21
- "errorUncertain": "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau.",
22
- "errorInvalid": "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie.",
23
- "errorUnavailable": "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard.",
24
- "errorCanceled": "Requête annulée. Actualisez avant de continuer.",
25
- "errorTimeout": "Délai dépassé. Actualisez la liste avant de continuer.",
26
- "metadata": "Métadonnées",
27
- "fileKind": "Fichier",
28
- "directoryKind": "Dossier",
29
- "nameColumn": "Nom",
30
- "kindColumn": "Type",
31
- "sizeColumn": "Octets",
32
- "selectAction": "Sélectionner",
33
- "chooseFile": "Choisir un fichier",
34
- "expand": "Développer {name}",
35
- "collapse": "Réduire {name}",
36
- "upload": "Téléverser",
37
- "download": "Télécharger",
38
- "uploaded": "Fichier téléversé.",
39
- "errorDSM": "Connectez-vous à DSM sur ce nom d’hôte pour accéder aux fichiers NAS. La connexion à l’App seule ne permet pas d’utiliser File Station.",
40
- "errorUploadSize": "Choisissez un fichier de 16 GB maximum."
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "Cartelle NAS — File Station",
3
- "ownPermissions": "Le operazioni usano la sessione DSM corrente e i relativi permessi File Station.",
4
- "choose": "Scegli cartella",
5
- "confirm": "Conferma selezione",
6
- "refresh": "Aggiorna cartelle",
7
- "loading": "Caricamento…",
8
- "emptyFolder": "Questa cartella è vuota.",
9
- "roots": "Cartelle",
10
- "back": "Indietro",
11
- "select": "Seleziona {name}",
12
- "open": "Apri {name}",
13
- "selected": "Selezionato: {name}",
14
- "cancel": "Annulla",
15
- "close": "Chiudi",
16
- "loadMore": "Carica altro",
17
- "errorSession": "Sessione DSM scaduta. Accedere di nuovo a DSM e aggiornare le cartelle.",
18
- "errorDenied": "Nessun permesso di accesso a questo file o cartella. Scegliere un’altra cartella.",
19
- "errorNotFound": "Il file o la cartella non esiste più. Aggiornare l’elenco.",
20
- "errorConflict": "Esiste già un file o una cartella con questo nome. Scegliere un altro nome.",
21
- "errorUncertain": "L’operazione potrebbe essere stata completata. Aggiornare selezioni o destinazione e controllare il risultato prima di inviarla di nuovo.",
22
- "errorInvalid": "Cartella, nome o richiesta non validi. Controllare i dati.",
23
- "errorUnavailable": "File Station non disponibile o adattatore di sessione mancante. Aggiornare più tardi.",
24
- "errorCanceled": "Richiesta annullata. Aggiornare prima di continuare.",
25
- "errorTimeout": "Tempo scaduto. Aggiornare l’elenco prima di continuare.",
26
- "metadata": "Metadati",
27
- "fileKind": "File",
28
- "directoryKind": "Cartella",
29
- "nameColumn": "Nome",
30
- "kindColumn": "Tipo",
31
- "sizeColumn": "Byte",
32
- "selectAction": "Seleziona",
33
- "chooseFile": "Scegli file",
34
- "expand": "Espandi {name}",
35
- "collapse": "Comprimi {name}",
36
- "upload": "Carica",
37
- "download": "Scarica",
38
- "uploaded": "File caricato.",
39
- "errorDSM": "Accedere a DSM con questo nome host per accedere ai file NAS. Il solo accesso all’App non consente di usare File Station.",
40
- "errorUploadSize": "Selezionare un file fino a 16 GB."
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "NAS フォルダ — File Station",
3
- "ownPermissions": "自分の DSM セッションと現在の File Station 権限で操作します。",
4
- "choose": "フォルダを選択",
5
- "confirm": "選択を確定",
6
- "refresh": "フォルダを最新の情報に更新",
7
- "loading": "読み込み中…",
8
- "emptyFolder": "空のフォルダです。",
9
- "roots": "フォルダ",
10
- "back": "戻る",
11
- "select": "{name} を選択",
12
- "open": "{name} を開く",
13
- "selected": "選択済み:{name}",
14
- "cancel": "キャンセル",
15
- "close": "閉じる",
16
- "loadMore": "さらに読み込む",
17
- "errorSession": "DSM セッションが期限切れです。DSM に再ログインし、フォルダを最新の情報に更新してください。",
18
- "errorDenied": "このファイルまたはフォルダにアクセスする権限がありません。別のフォルダを選択してください。",
19
- "errorNotFound": "ファイルまたはフォルダがありません。一覧を最新の情報に更新してください。",
20
- "errorConflict": "同名のファイルまたはフォルダがあります。別の名前を指定してください。",
21
- "errorUncertain": "操作が完了した可能性があります。再送信する前に選択または保存先を最新の情報に更新し、結果を確認してください。",
22
- "errorInvalid": "フォルダ、ファイル名またはリクエストが無効です。入力を確認してください。",
23
- "errorUnavailable": "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください。",
24
- "errorCanceled": "リクエストをキャンセルしました。最新の情報に更新してから続けてください。",
25
- "errorTimeout": "リクエストがタイムアウトしました。一覧を最新の情報に更新してください。",
26
- "metadata": "情報",
27
- "fileKind": "ファイル",
28
- "directoryKind": "フォルダ",
29
- "nameColumn": "名前",
30
- "kindColumn": "種類",
31
- "sizeColumn": "バイト",
32
- "selectAction": "選択",
33
- "chooseFile": "ファイルを選択",
34
- "expand": "{name} を展開",
35
- "collapse": "{name} を折りたたむ",
36
- "upload": "アップロード",
37
- "download": "ダウンロード",
38
- "uploaded": "ファイルをアップロードしました。",
39
- "errorDSM": "NAS ファイルを利用するには同じホスト名で DSM にサインインしてください。App のログインだけでは File Station を利用できません。",
40
- "errorUploadSize": "16 GB 以下のファイルを 1 つ選択してください。"
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "NAS 폴더 — File Station",
3
- "ownPermissions": "자신의 DSM 세션과 현재 File Station 권한으로 작업합니다.",
4
- "choose": "폴더 선택",
5
- "confirm": "선택 확인",
6
- "refresh": "폴더 새로 고침",
7
- "loading": "불러오는 중…",
8
- "emptyFolder": "빈 폴더입니다.",
9
- "roots": "폴더",
10
- "back": "뒤로",
11
- "select": "{name} 선택",
12
- "open": "{name} 열기",
13
- "selected": "선택됨: {name}",
14
- "cancel": "취소",
15
- "close": "종료",
16
- "loadMore": "더 불러오기",
17
- "errorSession": "DSM 세션이 만료되었습니다. DSM에 다시 로그인한 후 폴더를 새로 고치십시오.",
18
- "errorDenied": "이 파일 또는 폴더에 접근할 권한이 없습니다. 다른 폴더를 선택하십시오.",
19
- "errorNotFound": "파일 또는 폴더가 없습니다. 목록을 새로 고치십시오.",
20
- "errorConflict": "같은 이름의 파일 또는 폴더가 있습니다. 다른 이름을 사용하십시오.",
21
- "errorUncertain": "작업이 완료되었을 수 있습니다. 다시 제출하기 전에 선택 또는 대상 폴더를 새로 고쳐 결과를 확인하십시오.",
22
- "errorInvalid": "폴더, 파일 이름 또는 요청이 잘못되었습니다. 입력을 확인하십시오.",
23
- "errorUnavailable": "File Station을 사용할 수 없거나 패키지에 세션 adapter가 없습니다. 나중에 새로 고치십시오.",
24
- "errorCanceled": "요청이 취소되었습니다. 새로 고친 후 계속하십시오.",
25
- "errorTimeout": "요청 시간이 초과되었습니다. 목록을 새로 고치십시오.",
26
- "metadata": "정보",
27
- "fileKind": "파일",
28
- "directoryKind": "폴더",
29
- "nameColumn": "이름",
30
- "kindColumn": "유형",
31
- "sizeColumn": "바이트",
32
- "selectAction": "선택",
33
- "chooseFile": "파일 선택",
34
- "expand": "{name} 펼치기",
35
- "collapse": "{name} 접기",
36
- "upload": "업로드",
37
- "download": "다운로드",
38
- "uploaded": "파일을 업로드했습니다.",
39
- "errorDSM": "NAS 파일에 접근하려면 같은 호스트 이름에서 DSM에 로그인하십시오. App 로그인만으로는 File Station을 사용할 수 없습니다.",
40
- "errorUploadSize": "16 GB 이하의 파일 하나를 선택하십시오."
41
- }
@@ -1,41 +0,0 @@
1
- {
2
- "title": "NAS 文件夹 — File Station",
3
- "ownPermissions": "操作使用你自己的 DSM 会话与 File Station 实时权限。",
4
- "choose": "选择文件夹",
5
- "confirm": "确认选择",
6
- "refresh": "刷新文件夹",
7
- "loading": "正在加载…",
8
- "emptyFolder": "此文件夹为空。",
9
- "roots": "文件夹",
10
- "back": "返回",
11
- "select": "选择 {name}",
12
- "open": "打开 {name}",
13
- "selected": "已选择:{name}",
14
- "cancel": "取消",
15
- "close": "关闭",
16
- "loadMore": "加载更多",
17
- "errorSession": "DSM 会话已失效。请重新登录 DSM,再刷新文件夹。",
18
- "errorDenied": "没有权限访问此文件或文件夹。请选择其他文件夹。",
19
- "errorNotFound": "文件或文件夹已不存在。请刷新列表。",
20
- "errorConflict": "已有同名文件或文件夹。请使用其他名称。",
21
- "errorUncertain": "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交。",
22
- "errorInvalid": "文件夹、文件名或请求无效。请检查输入后重试。",
23
- "errorUnavailable": "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新。",
24
- "errorCanceled": "请求已取消。请刷新后继续。",
25
- "errorTimeout": "请求超时。请刷新列表后继续。",
26
- "metadata": "信息",
27
- "fileKind": "文件",
28
- "directoryKind": "文件夹",
29
- "nameColumn": "名称",
30
- "kindColumn": "类型",
31
- "sizeColumn": "字节",
32
- "selectAction": "选择",
33
- "chooseFile": "选择文件",
34
- "expand": "展开 {name}",
35
- "collapse": "收起 {name}",
36
- "upload": "上传",
37
- "download": "下载",
38
- "uploaded": "文件已上传。",
39
- "errorDSM": "请在同一主机名登录 DSM,以访问 NAS 文件。只有 App 登录无法使用 File Station。",
40
- "errorUploadSize": "请选择一个不超过 16 GB 的文件。"
41
- }