@synopackageland/cli 0.8.0 → 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 (921) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/README.md +26 -4
  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.js +2 -2
  7. package/dist/build-spk/notices.js +12 -8
  8. package/dist/capability-overlays.d.ts +15 -0
  9. package/dist/capability-overlays.js +18 -0
  10. package/dist/cli-version.d.ts +2 -0
  11. package/dist/cli-version.js +3 -0
  12. package/dist/cli.js +3 -1
  13. package/dist/error-registry.js +12 -4
  14. package/dist/info.js +2 -1
  15. package/dist/init.js +52 -58
  16. package/dist/reproducible.js +1 -1
  17. package/dist/runtime/delegate-contract.d.ts +15 -0
  18. package/dist/runtime/delegate-contract.js +2 -0
  19. package/dist/runtime/executor-build.d.ts +15 -1
  20. package/dist/runtime/executor-build.js +42 -11
  21. package/dist/runtime/executor-digests.json +13 -0
  22. package/dist/runtime/executor-inspect.d.ts +1 -0
  23. package/dist/runtime/executor-inspect.js +5 -2
  24. package/dist/runtime/executor-policy.d.ts +3 -1
  25. package/dist/runtime/executor-policy.js +7 -2
  26. package/dist/runtime/executor-source.d.ts +21 -0
  27. package/dist/runtime/executor-source.js +35 -0
  28. package/dist/runtime/executor-tasks.d.ts +5 -2
  29. package/dist/runtime/executor-tasks.js +6 -4
  30. package/dist/runtime/sdk-source.d.ts +31 -0
  31. package/dist/runtime/sdk-source.js +92 -0
  32. package/dist/standalone/api-permissions.d.ts +4 -1
  33. package/dist/standalone/api-permissions.js +10 -18
  34. package/dist/standalone/build.d.ts +1 -0
  35. package/dist/standalone/build.js +11 -4
  36. package/dist/standalone/daemon.js +2 -2
  37. package/dist/standalone/dsm-window.js +2 -2
  38. package/dist/standalone/manifest.d.ts +5 -2
  39. package/dist/standalone/manifest.js +9 -3
  40. package/dist/standalone/root-window.d.ts +1 -1
  41. package/dist/standalone/root-window.js +0 -1
  42. package/dist/standalone/sdk-check.d.ts +9 -0
  43. package/dist/standalone/sdk-check.js +43 -0
  44. package/dist/standalone/spk.js +1 -1
  45. package/dist/template-paths.d.ts +7 -2
  46. package/dist/template-paths.js +18 -6
  47. package/package.json +13 -3
  48. package/dist/templates/_executor/README.md +0 -318
  49. package/dist/templates/_executor/anchor.go +0 -156
  50. package/dist/templates/_executor/anchor_test.go +0 -161
  51. package/dist/templates/_executor/apppriv_review_test.go +0 -28
  52. package/dist/templates/_executor/auth_presence_review_test.go +0 -38
  53. package/dist/templates/_executor/cancel_contract_test.go +0 -236
  54. package/dist/templates/_executor/cmd/lifecycle/main.go +0 -42
  55. package/dist/templates/_executor/cookie_review_test.go +0 -27
  56. package/dist/templates/_executor/copy.go +0 -64
  57. package/dist/templates/_executor/copy_test.go +0 -88
  58. package/dist/templates/_executor/digest_review_test.go +0 -120
  59. package/dist/templates/_executor/directories.go +0 -40
  60. package/dist/templates/_executor/dsm.go +0 -369
  61. package/dist/templates/_executor/dsm_test.go +0 -290
  62. package/dist/templates/_executor/executor.go +0 -735
  63. package/dist/templates/_executor/executor_test.go +0 -314
  64. package/dist/templates/_executor/go.mod +0 -5
  65. package/dist/templates/_executor/identity.go +0 -74
  66. package/dist/templates/_executor/identity_kernel_linux_test.go +0 -60
  67. package/dist/templates/_executor/identity_linux.go +0 -82
  68. package/dist/templates/_executor/identity_security_test.go +0 -43
  69. package/dist/templates/_executor/internal/lifecycle/lifecycle.go +0 -95
  70. package/dist/templates/_executor/internal/lifecycle/lifecycle_test.go +0 -232
  71. package/dist/templates/_executor/internal/taskscript/boot.sh +0 -31
  72. package/dist/templates/_executor/internal/taskscript/cmd/main.go +0 -19
  73. package/dist/templates/_executor/internal/taskscript/control.sh +0 -31
  74. package/dist/templates/_executor/internal/taskscript/tasks.go +0 -44
  75. package/dist/templates/_executor/json_review_test.go +0 -40
  76. package/dist/templates/_executor/lifecycle_test.go +0 -97
  77. package/dist/templates/_executor/link_linux.go +0 -28
  78. package/dist/templates/_executor/long_running_test.go +0 -530
  79. package/dist/templates/_executor/main.go +0 -576
  80. package/dist/templates/_executor/managed.go +0 -117
  81. package/dist/templates/_executor/managed_test.go +0 -137
  82. package/dist/templates/_executor/move_linux.go +0 -490
  83. package/dist/templates/_executor/move_linux_test.go +0 -460
  84. package/dist/templates/_executor/move_validation.go +0 -46
  85. package/dist/templates/_executor/move_validation_test.go +0 -187
  86. package/dist/templates/_executor/operations.go +0 -926
  87. package/dist/templates/_executor/path_test.go +0 -35
  88. package/dist/templates/_executor/pid.go +0 -37
  89. package/dist/templates/_executor/pid_test.go +0 -113
  90. package/dist/templates/_executor/platform_linux.go +0 -187
  91. package/dist/templates/_executor/platform_linux_test.go +0 -191
  92. package/dist/templates/_executor/platform_other.go +0 -76
  93. package/dist/templates/_executor/process.go +0 -142
  94. package/dist/templates/_executor/purge_log.go +0 -18
  95. package/dist/templates/_executor/records.go +0 -242
  96. package/dist/templates/_executor/scope_cancel_contract_test.go +0 -91
  97. package/dist/templates/_executor/scope_client.go +0 -37
  98. package/dist/templates/_executor/scope_contract.go +0 -12
  99. package/dist/templates/_executor/selected_scope.go +0 -146
  100. package/dist/templates/_executor/selected_scope_test.go +0 -186
  101. package/dist/templates/_executor/socket_linux_test.go +0 -46
  102. package/dist/templates/_executor/status_disabled_test.go +0 -33
  103. package/dist/templates/_executor/store.go +0 -91
  104. package/dist/templates/_executor/supervise.go +0 -109
  105. package/dist/templates/_executor/supervise_test.go +0 -130
  106. package/dist/templates/_executor/task_race_review_test.go +0 -47
  107. package/dist/templates/_executor/tasks.go +0 -320
  108. package/dist/templates/_executor/tasks_dsm71_test.go +0 -114
  109. package/dist/templates/_executor/tasks_review_test.go +0 -43
  110. package/dist/templates/_executor/tasks_test.go +0 -223
  111. package/dist/templates/_executor/testdata/evidence/cleanup.json +0 -24
  112. package/dist/templates/_executor/testdata/evidence/final-smoke.jsonl +0 -9
  113. package/dist/templates/_executor/testdata/evidence/kernel-acl.json +0 -6
  114. package/dist/templates/_executor/testdata/evidence/linux-tests.log +0 -123
  115. package/dist/templates/_executor/testdata/evidence/live.jsonl +0 -23
  116. package/dist/templates/_executor/testdata/evidence/storage.json +0 -90
  117. package/dist/templates/_executor/testdata/evidence/validation.json +0 -55
  118. package/dist/templates/_executor/testdata/live_probe.py +0 -98
  119. package/dist/templates/_executor/upgrade_watch_test.go +0 -244
  120. package/dist/templates/_executor/watch.go +0 -164
  121. package/dist/templates/_executor/watch_test.go +0 -291
  122. package/dist/templates/_executor/write_review_linux_test.go +0 -87
  123. package/dist/templates/_shared/AGENTS.md +0 -146
  124. package/dist/templates/_shared/CLAUDE.md +0 -1
  125. package/dist/templates/_shared/third-party-notices.mjs +0 -51
  126. package/dist/templates/binary/LICENSES/GO-LICENSE +0 -27
  127. package/dist/templates/binary/LICENSES/GO-PATENTS +0 -22
  128. package/dist/templates/binary/dsm-package.yaml +0 -46
  129. package/dist/templates/binary/example/main.go +0 -16
  130. package/dist/templates/binary/gitignore +0 -2
  131. package/dist/templates/binary/i18n/messages/de.json +0 -4
  132. package/dist/templates/binary/i18n/messages/en.json +0 -4
  133. package/dist/templates/binary/i18n/messages/es.json +0 -4
  134. package/dist/templates/binary/i18n/messages/fr.json +0 -4
  135. package/dist/templates/binary/i18n/messages/it.json +0 -4
  136. package/dist/templates/binary/i18n/messages/ja.json +0 -4
  137. package/dist/templates/binary/i18n/messages/ko.json +0 -4
  138. package/dist/templates/binary/i18n/messages/zh-CN.json +0 -4
  139. package/dist/templates/binary/i18n/messages/zh-TW.json +0 -4
  140. package/dist/templates/binary/ui/app.css +0 -4
  141. package/dist/templates/binary/ui/app.js +0 -32
  142. package/dist/templates/compose/compose.yaml +0 -8
  143. package/dist/templates/compose/synology-app.yaml +0 -16
  144. package/dist/templates/native-authorization/AuthorizationGate.vue +0 -91
  145. package/dist/templates/native-authorization/i18n/de.json +0 -37
  146. package/dist/templates/native-authorization/i18n/en.json +0 -37
  147. package/dist/templates/native-authorization/i18n/es.json +0 -37
  148. package/dist/templates/native-authorization/i18n/fr.json +0 -37
  149. package/dist/templates/native-authorization/i18n/index.ts +0 -15
  150. package/dist/templates/native-authorization/i18n/it.json +0 -37
  151. package/dist/templates/native-authorization/i18n/ja.json +0 -37
  152. package/dist/templates/native-authorization/i18n/ko.json +0 -37
  153. package/dist/templates/native-authorization/i18n/zh-CN.json +0 -37
  154. package/dist/templates/native-authorization/i18n/zh-TW.json +0 -37
  155. package/dist/templates/native-go/README.md +0 -459
  156. package/dist/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +0 -61
  157. package/dist/templates/native-go/backend/cmd/app/main.go +0 -95
  158. package/dist/templates/native-go/backend/cmd/background-worker/main.go +0 -38
  159. package/dist/templates/native-go/backend/go.mod +0 -9
  160. package/dist/templates/native-go/backend/go.sum +0 -4
  161. package/dist/templates/native-go/backend/internal/api/cgi_framing_test.go +0 -32
  162. package/dist/templates/native-go/backend/internal/api/cookie_review_test.go +0 -28
  163. package/dist/templates/native-go/backend/internal/api/deadline_test.go +0 -114
  164. package/dist/templates/native-go/backend/internal/api/dsm-session.go +0 -54
  165. package/dist/templates/native-go/backend/internal/api/dsm-session_test.go +0 -51
  166. package/dist/templates/native-go/backend/internal/api/entry_test.go +0 -47
  167. package/dist/templates/native-go/backend/internal/api/errors.go +0 -47
  168. package/dist/templates/native-go/backend/internal/api/permissions.go +0 -161
  169. package/dist/templates/native-go/backend/internal/api/permissions.json +0 -5
  170. package/dist/templates/native-go/backend/internal/api/permissions_test.go +0 -113
  171. package/dist/templates/native-go/backend/internal/api/policy_fixture_test.go +0 -8
  172. package/dist/templates/native-go/backend/internal/api/registry.go +0 -142
  173. package/dist/templates/native-go/backend/internal/api/registry_test.go +0 -344
  174. package/dist/templates/native-go/backend/internal/api/resource_limits_test.go +0 -87
  175. package/dist/templates/native-go/backend/internal/api/sdk-permissions.json +0 -59
  176. package/dist/templates/native-go/backend/internal/api/sdk_policy_test.go +0 -31
  177. package/dist/templates/native-go/backend/internal/api/server.go +0 -305
  178. package/dist/templates/native-go/backend/internal/api/testdata/permissions-cases.json +0 -172
  179. package/dist/templates/native-go/backend/internal/app/background.go +0 -249
  180. package/dist/templates/native-go/backend/internal/app/background_none.go +0 -8
  181. package/dist/templates/native-go/backend/internal/app/background_owner.go +0 -38
  182. package/dist/templates/native-go/backend/internal/app/background_owner_test.go +0 -163
  183. package/dist/templates/native-go/backend/internal/app/background_schedule.go +0 -69
  184. package/dist/templates/native-go/backend/internal/app/background_schedule_test.go +0 -62
  185. package/dist/templates/native-go/backend/internal/app/background_test.go +0 -320
  186. package/dist/templates/native-go/backend/internal/app/delegate_config.go +0 -57
  187. package/dist/templates/native-go/backend/internal/app/delegate_config_test.go +0 -28
  188. package/dist/templates/native-go/backend/internal/app/delegate_none.go +0 -5
  189. package/dist/templates/native-go/backend/internal/app/identity.go +0 -20
  190. package/dist/templates/native-go/backend/internal/app/identity_test.go +0 -15
  191. package/dist/templates/native-go/backend/internal/app/migrations.go +0 -41
  192. package/dist/templates/native-go/backend/internal/app/migrations_test.go +0 -41
  193. package/dist/templates/native-go/backend/internal/app/portal.go +0 -30
  194. package/dist/templates/native-go/backend/internal/app/portal_test.go +0 -55
  195. package/dist/templates/native-go/backend/internal/app/root_none.go +0 -9
  196. package/dist/templates/native-go/backend/internal/app/routes.go +0 -137
  197. package/dist/templates/native-go/backend/internal/app/routes_test.go +0 -165
  198. package/dist/templates/native-go/backend/internal/app/session_files.go +0 -9
  199. package/dist/templates/native-go/backend/internal/app/session_files_test.go +0 -14
  200. package/dist/templates/native-go/backend/internal/app/shared_folder.go +0 -144
  201. package/dist/templates/native-go/backend/internal/app/shared_folder_test.go +0 -158
  202. package/dist/templates/native-go/backend/internal/background/access.go +0 -57
  203. package/dist/templates/native-go/backend/internal/background/lock_test.go +0 -131
  204. package/dist/templates/native-go/backend/internal/background/owner_test.go +0 -118
  205. package/dist/templates/native-go/backend/internal/background/runner.go +0 -185
  206. package/dist/templates/native-go/backend/internal/background/runner_test.go +0 -209
  207. package/dist/templates/native-go/backend/internal/background/schedule.go +0 -336
  208. package/dist/templates/native-go/backend/internal/background/schedule_test.go +0 -368
  209. package/dist/templates/native-go/backend/internal/background/store.go +0 -825
  210. package/dist/templates/native-go/backend/internal/background/store_test.go +0 -365
  211. package/dist/templates/native-go/backend/internal/datamigrate/migrate.go +0 -191
  212. package/dist/templates/native-go/backend/internal/datamigrate/migrate_test.go +0 -177
  213. package/dist/templates/native-go/backend/internal/dsm/admin.go +0 -76
  214. package/dist/templates/native-go/backend/internal/dsm/admin_linux.go +0 -110
  215. package/dist/templates/native-go/backend/internal/dsm/admin_linux_test.go +0 -105
  216. package/dist/templates/native-go/backend/internal/dsm/admin_other.go +0 -15
  217. package/dist/templates/native-go/backend/internal/dsm/admin_test.go +0 -67
  218. package/dist/templates/native-go/backend/internal/dsm/apppriv.go +0 -30
  219. package/dist/templates/native-go/backend/internal/dsm/auth.go +0 -94
  220. package/dist/templates/native-go/backend/internal/dsm/auth_test.go +0 -159
  221. package/dist/templates/native-go/backend/internal/dsm/bridge_file.go +0 -75
  222. package/dist/templates/native-go/backend/internal/dsm/bridge_file_test.go +0 -57
  223. package/dist/templates/native-go/backend/internal/dsm/entry.go +0 -177
  224. package/dist/templates/native-go/backend/internal/dsm/entry_test.go +0 -315
  225. package/dist/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
  226. package/dist/templates/native-go/backend/internal/dsm/native/admin-armv7.elf +0 -0
  227. package/dist/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
  228. package/dist/templates/native-go/backend/internal/dsm/native/admin_check.c +0 -28
  229. package/dist/templates/native-go/backend/internal/dsm/native/apppriv-aarch64.elf +0 -0
  230. package/dist/templates/native-go/backend/internal/dsm/native/apppriv-armv7.elf +0 -0
  231. package/dist/templates/native-go/backend/internal/dsm/native/apppriv-x86_64.elf +0 -0
  232. package/dist/templates/native-go/backend/internal/dsm/native/apppriv_check.c +0 -33
  233. package/dist/templates/native-go/backend/internal/dsm/native/build.sh +0 -18
  234. package/dist/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +0 -400
  235. package/dist/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +0 -501
  236. package/dist/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +0 -5
  237. package/dist/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +0 -21
  238. package/dist/templates/native-go/backend/internal/dsm/native/provenance.json +0 -18
  239. package/dist/templates/native-go/backend/internal/filestation/browse_test.go +0 -67
  240. package/dist/templates/native-go/backend/internal/filestation/check_permission.go +0 -71
  241. package/dist/templates/native-go/backend/internal/filestation/check_permission_test.go +0 -77
  242. package/dist/templates/native-go/backend/internal/filestation/client.go +0 -337
  243. package/dist/templates/native-go/backend/internal/filestation/client_test.go +0 -155
  244. package/dist/templates/native-go/backend/internal/filestation/doc.go +0 -4
  245. package/dist/templates/native-go/backend/internal/filestation/download_dsm71_test.go +0 -82
  246. package/dist/templates/native-go/backend/internal/filestation/http.go +0 -70
  247. package/dist/templates/native-go/backend/internal/filestation/http_test.go +0 -188
  248. package/dist/templates/native-go/backend/internal/filestation/operations_test.go +0 -206
  249. package/dist/templates/native-go/backend/internal/filestation/read_file_test.go +0 -89
  250. package/dist/templates/native-go/backend/internal/filestation/sdk_policy_test.go +0 -39
  251. package/dist/templates/native-go/backend/internal/filestation/service.go +0 -254
  252. package/dist/templates/native-go/backend/internal/filestation/service_test.go +0 -74
  253. package/dist/templates/native-go/backend/internal/filestation/upload_stream.go +0 -76
  254. package/dist/templates/native-go/backend/internal/filestation/upload_stream_test.go +0 -77
  255. package/dist/templates/native-go/backend/internal/filestation/write.go +0 -32
  256. package/dist/templates/native-go/backend/internal/filestation/write_test.go +0 -124
  257. package/dist/templates/native-go/backend/internal/identity/README.md +0 -59
  258. package/dist/templates/native-go/backend/internal/identity/dsm.go +0 -115
  259. package/dist/templates/native-go/backend/internal/identity/http.go +0 -291
  260. package/dist/templates/native-go/backend/internal/identity/identity_test.go +0 -530
  261. package/dist/templates/native-go/backend/internal/identity/service.go +0 -159
  262. package/dist/templates/native-go/backend/internal/identity/store.go +0 -109
  263. package/dist/templates/native-go/backend/internal/jsonlimits/limits.go +0 -48
  264. package/dist/templates/native-go/backend/internal/jsonlimits/limits_test.go +0 -52
  265. package/dist/templates/native-go/backend/internal/portal/portal.go +0 -138
  266. package/dist/templates/native-go/backend/internal/portal/portal_test.go +0 -89
  267. package/dist/templates/native-go/dsm-package.yaml +0 -71
  268. package/dist/templates/native-go/gitignore +0 -1
  269. package/dist/templates/native-go/i18n/glossary.json +0 -663
  270. package/dist/templates/native-go/i18n/messages/de.json +0 -29
  271. package/dist/templates/native-go/i18n/messages/en.json +0 -29
  272. package/dist/templates/native-go/i18n/messages/es.json +0 -29
  273. package/dist/templates/native-go/i18n/messages/fr.json +0 -29
  274. package/dist/templates/native-go/i18n/messages/it.json +0 -29
  275. package/dist/templates/native-go/i18n/messages/ja.json +0 -29
  276. package/dist/templates/native-go/i18n/messages/ko.json +0 -29
  277. package/dist/templates/native-go/i18n/messages/zh-CN.json +0 -29
  278. package/dist/templates/native-go/i18n/messages/zh-TW.json +0 -29
  279. package/dist/templates/native-go/ui/app.css +0 -45
  280. package/dist/templates/native-go/ui/app.js +0 -111
  281. package/dist/templates/native-go-delegate/DELEGATE.md +0 -263
  282. package/dist/templates/native-go-delegate/backend/cmd/background-worker/main.go +0 -48
  283. package/dist/templates/native-go-delegate/backend/internal/app/delegate.go +0 -25
  284. package/dist/templates/native-go-delegate/backend/internal/app/delegate_on.go +0 -5
  285. package/dist/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +0 -31
  286. package/dist/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +0 -174
  287. package/dist/templates/native-go-delegate/backend/internal/background/delegated.go +0 -277
  288. package/dist/templates/native-go-delegate/backend/internal/background/delegated_moves.go +0 -270
  289. package/dist/templates/native-go-delegate/backend/internal/background/delegated_test.go +0 -34
  290. package/dist/templates/native-go-delegate/backend/internal/delegate/admission_recovery_test.go +0 -410
  291. package/dist/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +0 -15
  292. package/dist/templates/native-go-delegate/backend/internal/delegate/cancel_contract_test.go +0 -95
  293. package/dist/templates/native-go-delegate/backend/internal/delegate/client.go +0 -151
  294. package/dist/templates/native-go-delegate/backend/internal/delegate/client_test.go +0 -214
  295. package/dist/templates/native-go-delegate/backend/internal/delegate/destination.go +0 -110
  296. package/dist/templates/native-go-delegate/backend/internal/delegate/destination_state.go +0 -117
  297. package/dist/templates/native-go-delegate/backend/internal/delegate/destination_state_test.go +0 -60
  298. package/dist/templates/native-go-delegate/backend/internal/delegate/destination_test.go +0 -116
  299. package/dist/templates/native-go-delegate/backend/internal/delegate/example.go +0 -81
  300. package/dist/templates/native-go-delegate/backend/internal/delegate/example_test.go +0 -91
  301. package/dist/templates/native-go-delegate/backend/internal/delegate/executor_contract_test.go +0 -511
  302. package/dist/templates/native-go-delegate/backend/internal/delegate/files.go +0 -132
  303. package/dist/templates/native-go-delegate/backend/internal/delegate/long_running_routes.go +0 -92
  304. package/dist/templates/native-go-delegate/backend/internal/delegate/long_running_routes_test.go +0 -99
  305. package/dist/templates/native-go-delegate/backend/internal/delegate/move.go +0 -348
  306. package/dist/templates/native-go-delegate/backend/internal/delegate/move_test.go +0 -351
  307. package/dist/templates/native-go-delegate/backend/internal/delegate/operations_list.go +0 -65
  308. package/dist/templates/native-go-delegate/backend/internal/delegate/operations_list_test.go +0 -114
  309. package/dist/templates/native-go-delegate/backend/internal/delegate/retry.go +0 -106
  310. package/dist/templates/native-go-delegate/backend/internal/delegate/retry_test.go +0 -143
  311. package/dist/templates/native-go-delegate/backend/internal/delegate/service.go +0 -364
  312. package/dist/templates/native-go-delegate/backend/internal/delegate/service_test.go +0 -318
  313. package/dist/templates/native-go-delegate/backend/internal/delegate/staging.go +0 -121
  314. package/dist/templates/native-go-delegate/backend/internal/delegate/status_disabled_test.go +0 -51
  315. package/dist/templates/native-go-delegate/backend/internal/delegate/testdata/executor_contract.txt +0 -112
  316. package/dist/templates/native-go-delegate/backend/internal/delegate/transient_contract_test.go +0 -137
  317. package/dist/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +0 -101
  318. package/dist/templates/native-go-delegate/backend/internal/delegate/worker.go +0 -225
  319. package/dist/templates/native-go-delegate/backend/internal/filestation/files.go +0 -43
  320. package/dist/templates/native-go-delegate/backend/internal/filestation/files_test.go +0 -59
  321. package/dist/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +0 -37
  322. package/dist/templates/native-go-delegate/frontend/src/delegate/BackgroundSavePanel.vue +0 -113
  323. package/dist/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +0 -70
  324. package/dist/templates/native-go-delegate/frontend/src/delegate/copy.ts +0 -8
  325. package/dist/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +0 -11
  326. package/dist/templates/native-go-delegate/frontend/test/background-save.test.ts +0 -121
  327. package/dist/templates/native-go-delegate/frontend/test/delegate.test.ts +0 -145
  328. package/dist/templates/native-go-delegate/frontend/test/scope-settings.test.ts +0 -49
  329. package/dist/templates/native-go-delegate/test-frontend.sh +0 -12
  330. package/dist/templates/native-go-delegate/test.sh +0 -18
  331. package/dist/templates/native-go-jobs/BACKGROUND.md +0 -108
  332. package/dist/templates/native-go-jobs/backend/internal/app/background_on.go +0 -7
  333. package/dist/templates/native-go-jobs/backend/internal/app/background_routes_test.go +0 -90
  334. package/dist/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +0 -170
  335. package/dist/templates/native-go-jobs/frontend/src/background/i18n/de.json +0 -75
  336. package/dist/templates/native-go-jobs/frontend/src/background/i18n/en.json +0 -75
  337. package/dist/templates/native-go-jobs/frontend/src/background/i18n/es.json +0 -75
  338. package/dist/templates/native-go-jobs/frontend/src/background/i18n/fr.json +0 -75
  339. package/dist/templates/native-go-jobs/frontend/src/background/i18n/it.json +0 -75
  340. package/dist/templates/native-go-jobs/frontend/src/background/i18n/ja.json +0 -75
  341. package/dist/templates/native-go-jobs/frontend/src/background/i18n/ko.json +0 -75
  342. package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +0 -75
  343. package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +0 -75
  344. package/dist/templates/native-go-jobs/frontend/src/background/i18n.ts +0 -19
  345. package/dist/templates/native-go-jobs/frontend/src/background/picker-provider.ts +0 -12
  346. package/dist/templates/native-go-jobs/frontend/src/background/request-key.ts +0 -5
  347. package/dist/templates/native-go-jobs/frontend/test/background.test.ts +0 -205
  348. package/dist/templates/native-go-root-ops/backend/internal/app/executor.go +0 -140
  349. package/dist/templates/native-go-root-ops/backend/internal/app/executor_test.go +0 -117
  350. package/dist/templates/native-go-root-ops/root/whoami.sh +0 -3
  351. package/dist/templates/native-go-vue/README.md +0 -47
  352. package/dist/templates/native-go-vue/frontend/DESIGN.md +0 -61
  353. package/dist/templates/native-go-vue/frontend/package-lock.json +0 -2530
  354. package/dist/templates/native-go-vue/frontend/package.json +0 -6
  355. package/dist/templates/native-go-vue/frontend/src/App.vue +0 -96
  356. package/dist/templates/native-go-vue/frontend/src/CapabilityPanels.vue +0 -6
  357. package/dist/templates/native-go-vue/frontend/src/context.ts +0 -78
  358. package/dist/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +0 -70
  359. package/dist/templates/native-go-vue/frontend/src/delegate/catalogs.ts +0 -11
  360. package/dist/templates/native-go-vue/frontend/src/delegate/copy.test.ts +0 -12
  361. package/dist/templates/native-go-vue/frontend/src/delegate/copy.ts +0 -4
  362. package/dist/templates/native-go-vue/frontend/src/delegate/executor-settings.test.ts +0 -23
  363. package/dist/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +0 -24
  364. package/dist/templates/native-go-vue/frontend/src/delegate/facade.test.ts +0 -100
  365. package/dist/templates/native-go-vue/frontend/src/delegate/facade.ts +0 -85
  366. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/de.json +0 -47
  367. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/en.json +0 -47
  368. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/es.json +0 -47
  369. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/fr.json +0 -47
  370. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/it.json +0 -47
  371. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/ja.json +0 -47
  372. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/ko.json +0 -47
  373. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/de.json +0 -42
  374. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/en.json +0 -42
  375. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/es.json +0 -42
  376. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/fr.json +0 -42
  377. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/it.json +0 -42
  378. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/ja.json +0 -42
  379. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/ko.json +0 -42
  380. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-CN.json +0 -42
  381. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-TW.json +0 -42
  382. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/zh-CN.json +0 -47
  383. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +0 -47
  384. package/dist/templates/native-go-vue/frontend/src/delegate/long-running.ts +0 -57
  385. package/dist/templates/native-go-vue/frontend/src/delegate/save-copy.test.ts +0 -12
  386. package/dist/templates/native-go-vue/frontend/src/delegate/save-copy.ts +0 -24
  387. package/dist/templates/native-go-vue/frontend/src/delegate/scoped-picker.test.ts +0 -12
  388. package/dist/templates/native-go-vue/frontend/src/delegate/scoped-picker.ts +0 -21
  389. package/dist/templates/native-go-vue/frontend/src/files/FileBrowser.vue +0 -131
  390. package/dist/templates/native-go-vue/frontend/src/files/FilesPage.vue +0 -35
  391. package/dist/templates/native-go-vue/frontend/src/files/files.test.ts +0 -100
  392. package/dist/templates/native-go-vue/frontend/src/files/provider.test.ts +0 -48
  393. package/dist/templates/native-go-vue/frontend/src/files/transfers.test.ts +0 -27
  394. package/dist/templates/native-go-vue/frontend/src/files/transfers.ts +0 -25
  395. package/dist/templates/native-go-vue/frontend/src/i18n/de.json +0 -20
  396. package/dist/templates/native-go-vue/frontend/src/i18n/en.json +0 -20
  397. package/dist/templates/native-go-vue/frontend/src/i18n/es.json +0 -20
  398. package/dist/templates/native-go-vue/frontend/src/i18n/fr.json +0 -20
  399. package/dist/templates/native-go-vue/frontend/src/i18n/it.json +0 -20
  400. package/dist/templates/native-go-vue/frontend/src/i18n/ja.json +0 -20
  401. package/dist/templates/native-go-vue/frontend/src/i18n/ko.json +0 -20
  402. package/dist/templates/native-go-vue/frontend/src/i18n/zh-CN.json +0 -20
  403. package/dist/templates/native-go-vue/frontend/src/i18n/zh-TW.json +0 -20
  404. package/dist/templates/native-go-vue/frontend/src/i18n.ts +0 -13
  405. package/dist/templates/native-go-vue/frontend/src/identity/DESIGN.md +0 -46
  406. package/dist/templates/native-go-vue/frontend/src/identity/LoginPage.vue +0 -78
  407. package/dist/templates/native-go-vue/frontend/src/identity/i18n/de.json +0 -27
  408. package/dist/templates/native-go-vue/frontend/src/identity/i18n/en.json +0 -27
  409. package/dist/templates/native-go-vue/frontend/src/identity/i18n/es.json +0 -27
  410. package/dist/templates/native-go-vue/frontend/src/identity/i18n/fr.json +0 -27
  411. package/dist/templates/native-go-vue/frontend/src/identity/i18n/it.json +0 -27
  412. package/dist/templates/native-go-vue/frontend/src/identity/i18n/ja.json +0 -27
  413. package/dist/templates/native-go-vue/frontend/src/identity/i18n/ko.json +0 -27
  414. package/dist/templates/native-go-vue/frontend/src/identity/i18n/zh-CN.json +0 -27
  415. package/dist/templates/native-go-vue/frontend/src/identity/i18n/zh-TW.json +0 -27
  416. package/dist/templates/native-go-vue/frontend/src/identity/i18n.ts +0 -14
  417. package/dist/templates/native-go-vue/frontend/src/identity/login.test.ts +0 -32
  418. package/dist/templates/native-go-vue/frontend/src/identity/session.test.ts +0 -33
  419. package/dist/templates/native-go-vue/frontend/src/identity/session.ts +0 -74
  420. package/dist/templates/native-go-vue/frontend/src/main.ts +0 -32
  421. package/dist/templates/native-go-vue/frontend/src/nas/NasPicker.vue +0 -42
  422. package/dist/templates/native-go-vue/frontend/src/nas/contract.ts +0 -12
  423. package/dist/templates/native-go-vue/frontend/src/nas/destination.test.ts +0 -48
  424. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +0 -41
  425. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +0 -41
  426. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +0 -41
  427. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +0 -41
  428. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +0 -41
  429. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +0 -41
  430. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +0 -41
  431. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +0 -41
  432. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +0 -41
  433. package/dist/templates/native-go-vue/frontend/src/nas/i18n.ts +0 -2
  434. package/dist/templates/native-go-vue/frontend/src/nas/locale.ts +0 -24
  435. package/dist/templates/native-go-vue/frontend/src/nas/provider.ts +0 -50
  436. package/dist/templates/native-go-vue/frontend/src/nas/use-request.ts +0 -18
  437. package/dist/templates/native-go-vue/frontend/src/portal/PortalSettings.vue +0 -39
  438. package/dist/templates/native-go-vue/frontend/src/shell/AppShell.vue +0 -48
  439. package/dist/templates/native-go-vue/frontend/src/shell/i18n/de.json +0 -4
  440. package/dist/templates/native-go-vue/frontend/src/shell/i18n/en.json +0 -4
  441. package/dist/templates/native-go-vue/frontend/src/shell/i18n/es.json +0 -4
  442. package/dist/templates/native-go-vue/frontend/src/shell/i18n/fr.json +0 -4
  443. package/dist/templates/native-go-vue/frontend/src/shell/i18n/it.json +0 -4
  444. package/dist/templates/native-go-vue/frontend/src/shell/i18n/ja.json +0 -4
  445. package/dist/templates/native-go-vue/frontend/src/shell/i18n/ko.json +0 -4
  446. package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +0 -4
  447. package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +0 -4
  448. package/dist/templates/native-go-vue/frontend/src/shell/i18n.ts +0 -17
  449. package/dist/templates/native-go-vue/frontend/src/shell/pages.ts +0 -15
  450. package/dist/templates/native-go-vue/frontend/src/style.css +0 -27
  451. package/dist/templates/native-go-vue/frontend/test/apps.test.ts +0 -57
  452. package/dist/templates/native-go-vue/frontend/test/native-controls.test.ts +0 -27
  453. package/dist/templates/native-go-vue/frontend/test/portal-settings.test.ts +0 -71
  454. package/dist/templates/native-go-vue/frontend/test/shell-i18n.test.ts +0 -50
  455. package/dist/templates/native-go-vue/frontend/test/shell-ui.test.ts +0 -20
  456. package/dist/templates/native-go-vue/frontend/test/shell.test.ts +0 -30
  457. package/dist/templates/native-go-vue/frontend/tsconfig.json +0 -1
  458. package/dist/templates/native-go-vue/frontend/vite.config.ts +0 -10
  459. package/dist/templates/native-go-vue/gitignore +0 -2
  460. package/templates/_daemon/fixture_linux_test.go +0 -15
  461. package/templates/_daemon/fixture_other_test.go +0 -7
  462. package/templates/_daemon/go.mod +0 -5
  463. package/templates/_daemon/main.go +0 -611
  464. package/templates/_daemon/main_test.go +0 -315
  465. package/templates/_daemon/process_linux.go +0 -55
  466. package/templates/_daemon/process_linux_test.go +0 -161
  467. package/templates/_daemon/process_other.go +0 -14
  468. package/templates/_daemon/testdata/child.go +0 -44
  469. package/templates/_executor/README.md +0 -318
  470. package/templates/_executor/anchor.go +0 -156
  471. package/templates/_executor/anchor_test.go +0 -161
  472. package/templates/_executor/apppriv_review_test.go +0 -28
  473. package/templates/_executor/auth_presence_review_test.go +0 -38
  474. package/templates/_executor/cancel_contract_test.go +0 -236
  475. package/templates/_executor/cmd/lifecycle/main.go +0 -42
  476. package/templates/_executor/cookie_review_test.go +0 -27
  477. package/templates/_executor/copy.go +0 -64
  478. package/templates/_executor/copy_test.go +0 -88
  479. package/templates/_executor/digest_review_test.go +0 -120
  480. package/templates/_executor/directories.go +0 -40
  481. package/templates/_executor/dsm.go +0 -369
  482. package/templates/_executor/dsm_test.go +0 -290
  483. package/templates/_executor/executor.go +0 -735
  484. package/templates/_executor/executor_test.go +0 -314
  485. package/templates/_executor/go.mod +0 -5
  486. package/templates/_executor/identity.go +0 -74
  487. package/templates/_executor/identity_kernel_linux_test.go +0 -60
  488. package/templates/_executor/identity_linux.go +0 -82
  489. package/templates/_executor/identity_security_test.go +0 -43
  490. package/templates/_executor/internal/lifecycle/lifecycle.go +0 -95
  491. package/templates/_executor/internal/lifecycle/lifecycle_test.go +0 -232
  492. package/templates/_executor/internal/taskscript/boot.sh +0 -31
  493. package/templates/_executor/internal/taskscript/cmd/main.go +0 -19
  494. package/templates/_executor/internal/taskscript/control.sh +0 -31
  495. package/templates/_executor/internal/taskscript/tasks.go +0 -44
  496. package/templates/_executor/json_review_test.go +0 -40
  497. package/templates/_executor/lifecycle_test.go +0 -97
  498. package/templates/_executor/link_linux.go +0 -28
  499. package/templates/_executor/long_running_test.go +0 -530
  500. package/templates/_executor/main.go +0 -576
  501. package/templates/_executor/managed.go +0 -117
  502. package/templates/_executor/managed_test.go +0 -137
  503. package/templates/_executor/move_linux.go +0 -490
  504. package/templates/_executor/move_linux_test.go +0 -460
  505. package/templates/_executor/move_validation.go +0 -46
  506. package/templates/_executor/move_validation_test.go +0 -187
  507. package/templates/_executor/operations.go +0 -926
  508. package/templates/_executor/path_test.go +0 -35
  509. package/templates/_executor/pid.go +0 -37
  510. package/templates/_executor/pid_test.go +0 -113
  511. package/templates/_executor/platform_linux.go +0 -187
  512. package/templates/_executor/platform_linux_test.go +0 -191
  513. package/templates/_executor/platform_other.go +0 -76
  514. package/templates/_executor/process.go +0 -142
  515. package/templates/_executor/purge_log.go +0 -18
  516. package/templates/_executor/records.go +0 -242
  517. package/templates/_executor/scope_cancel_contract_test.go +0 -91
  518. package/templates/_executor/scope_client.go +0 -37
  519. package/templates/_executor/scope_contract.go +0 -12
  520. package/templates/_executor/selected_scope.go +0 -146
  521. package/templates/_executor/selected_scope_test.go +0 -186
  522. package/templates/_executor/socket_linux_test.go +0 -46
  523. package/templates/_executor/status_disabled_test.go +0 -33
  524. package/templates/_executor/store.go +0 -91
  525. package/templates/_executor/supervise.go +0 -109
  526. package/templates/_executor/supervise_test.go +0 -130
  527. package/templates/_executor/task_race_review_test.go +0 -47
  528. package/templates/_executor/tasks.go +0 -320
  529. package/templates/_executor/tasks_dsm71_test.go +0 -114
  530. package/templates/_executor/tasks_review_test.go +0 -43
  531. package/templates/_executor/tasks_test.go +0 -223
  532. package/templates/_executor/testdata/evidence/cleanup.json +0 -24
  533. package/templates/_executor/testdata/evidence/final-smoke.jsonl +0 -9
  534. package/templates/_executor/testdata/evidence/kernel-acl.json +0 -6
  535. package/templates/_executor/testdata/evidence/linux-tests.log +0 -123
  536. package/templates/_executor/testdata/evidence/live.jsonl +0 -23
  537. package/templates/_executor/testdata/evidence/storage.json +0 -90
  538. package/templates/_executor/testdata/evidence/validation.json +0 -55
  539. package/templates/_executor/testdata/live_probe.py +0 -98
  540. package/templates/_executor/upgrade_watch_test.go +0 -244
  541. package/templates/_executor/watch.go +0 -164
  542. package/templates/_executor/watch_test.go +0 -291
  543. package/templates/_executor/write_review_linux_test.go +0 -87
  544. package/templates/_gateway/auth.go +0 -101
  545. package/templates/_gateway/auth_test.go +0 -216
  546. package/templates/_gateway/cgi.go +0 -133
  547. package/templates/_gateway/cgi_test.go +0 -156
  548. package/templates/_gateway/csrf.go +0 -73
  549. package/templates/_gateway/csrf_test.go +0 -155
  550. package/templates/_gateway/directory.go +0 -108
  551. package/templates/_gateway/directory_test.go +0 -202
  552. package/templates/_gateway/gateway.go +0 -412
  553. package/templates/_gateway/gateway_test.go +0 -676
  554. package/templates/_gateway/go.mod +0 -5
  555. package/templates/_gateway/groups.go +0 -66
  556. package/templates/_gateway/main.go +0 -45
  557. package/templates/_shared/AGENTS.md +0 -146
  558. package/templates/_shared/CLAUDE.md +0 -1
  559. package/templates/_shared/GO-LICENSE +0 -27
  560. package/templates/_shared/GO-PATENTS +0 -22
  561. package/templates/_shared/LICENSES/TEMPLATE.txt +0 -21
  562. package/templates/_shared/third-party-notices.mjs +0 -51
  563. package/templates/binary/LICENSES/GO-LICENSE +0 -27
  564. package/templates/binary/LICENSES/GO-PATENTS +0 -22
  565. package/templates/binary/dsm-package.yaml +0 -46
  566. package/templates/binary/example/main.go +0 -16
  567. package/templates/binary/gitignore +0 -2
  568. package/templates/binary/i18n/messages/de.json +0 -4
  569. package/templates/binary/i18n/messages/en.json +0 -4
  570. package/templates/binary/i18n/messages/es.json +0 -4
  571. package/templates/binary/i18n/messages/fr.json +0 -4
  572. package/templates/binary/i18n/messages/it.json +0 -4
  573. package/templates/binary/i18n/messages/ja.json +0 -4
  574. package/templates/binary/i18n/messages/ko.json +0 -4
  575. package/templates/binary/i18n/messages/zh-CN.json +0 -4
  576. package/templates/binary/i18n/messages/zh-TW.json +0 -4
  577. package/templates/binary/ui/app.css +0 -4
  578. package/templates/binary/ui/app.js +0 -32
  579. package/templates/compose/compose.yaml +0 -8
  580. package/templates/compose/synology-app.yaml +0 -16
  581. package/templates/native-authorization/AuthorizationGate.vue +0 -91
  582. package/templates/native-authorization/i18n/de.json +0 -37
  583. package/templates/native-authorization/i18n/en.json +0 -37
  584. package/templates/native-authorization/i18n/es.json +0 -37
  585. package/templates/native-authorization/i18n/fr.json +0 -37
  586. package/templates/native-authorization/i18n/index.ts +0 -15
  587. package/templates/native-authorization/i18n/it.json +0 -37
  588. package/templates/native-authorization/i18n/ja.json +0 -37
  589. package/templates/native-authorization/i18n/ko.json +0 -37
  590. package/templates/native-authorization/i18n/zh-CN.json +0 -37
  591. package/templates/native-authorization/i18n/zh-TW.json +0 -37
  592. package/templates/native-go/README.md +0 -459
  593. package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +0 -61
  594. package/templates/native-go/backend/cmd/app/main.go +0 -95
  595. package/templates/native-go/backend/cmd/background-worker/main.go +0 -38
  596. package/templates/native-go/backend/go.mod +0 -9
  597. package/templates/native-go/backend/go.sum +0 -4
  598. package/templates/native-go/backend/internal/api/cgi_framing_test.go +0 -32
  599. package/templates/native-go/backend/internal/api/cookie_review_test.go +0 -28
  600. package/templates/native-go/backend/internal/api/deadline_test.go +0 -114
  601. package/templates/native-go/backend/internal/api/dsm-session.go +0 -54
  602. package/templates/native-go/backend/internal/api/dsm-session_test.go +0 -51
  603. package/templates/native-go/backend/internal/api/entry_test.go +0 -47
  604. package/templates/native-go/backend/internal/api/errors.go +0 -47
  605. package/templates/native-go/backend/internal/api/permissions.go +0 -161
  606. package/templates/native-go/backend/internal/api/permissions.json +0 -5
  607. package/templates/native-go/backend/internal/api/permissions_test.go +0 -113
  608. package/templates/native-go/backend/internal/api/policy_fixture_test.go +0 -8
  609. package/templates/native-go/backend/internal/api/registry.go +0 -142
  610. package/templates/native-go/backend/internal/api/registry_test.go +0 -344
  611. package/templates/native-go/backend/internal/api/resource_limits_test.go +0 -87
  612. package/templates/native-go/backend/internal/api/sdk-permissions.json +0 -59
  613. package/templates/native-go/backend/internal/api/sdk_policy_test.go +0 -31
  614. package/templates/native-go/backend/internal/api/server.go +0 -305
  615. package/templates/native-go/backend/internal/api/testdata/permissions-cases.json +0 -172
  616. package/templates/native-go/backend/internal/app/background.go +0 -249
  617. package/templates/native-go/backend/internal/app/background_none.go +0 -8
  618. package/templates/native-go/backend/internal/app/background_owner.go +0 -38
  619. package/templates/native-go/backend/internal/app/background_owner_test.go +0 -163
  620. package/templates/native-go/backend/internal/app/background_schedule.go +0 -69
  621. package/templates/native-go/backend/internal/app/background_schedule_test.go +0 -62
  622. package/templates/native-go/backend/internal/app/background_test.go +0 -320
  623. package/templates/native-go/backend/internal/app/delegate_config.go +0 -57
  624. package/templates/native-go/backend/internal/app/delegate_config_test.go +0 -28
  625. package/templates/native-go/backend/internal/app/delegate_none.go +0 -5
  626. package/templates/native-go/backend/internal/app/identity.go +0 -20
  627. package/templates/native-go/backend/internal/app/identity_test.go +0 -15
  628. package/templates/native-go/backend/internal/app/migrations.go +0 -41
  629. package/templates/native-go/backend/internal/app/migrations_test.go +0 -41
  630. package/templates/native-go/backend/internal/app/portal.go +0 -30
  631. package/templates/native-go/backend/internal/app/portal_test.go +0 -55
  632. package/templates/native-go/backend/internal/app/root_none.go +0 -9
  633. package/templates/native-go/backend/internal/app/routes.go +0 -137
  634. package/templates/native-go/backend/internal/app/routes_test.go +0 -165
  635. package/templates/native-go/backend/internal/app/session_files.go +0 -9
  636. package/templates/native-go/backend/internal/app/session_files_test.go +0 -14
  637. package/templates/native-go/backend/internal/app/shared_folder.go +0 -144
  638. package/templates/native-go/backend/internal/app/shared_folder_test.go +0 -158
  639. package/templates/native-go/backend/internal/background/access.go +0 -57
  640. package/templates/native-go/backend/internal/background/lock_test.go +0 -131
  641. package/templates/native-go/backend/internal/background/owner_test.go +0 -118
  642. package/templates/native-go/backend/internal/background/runner.go +0 -185
  643. package/templates/native-go/backend/internal/background/runner_test.go +0 -209
  644. package/templates/native-go/backend/internal/background/schedule.go +0 -336
  645. package/templates/native-go/backend/internal/background/schedule_test.go +0 -368
  646. package/templates/native-go/backend/internal/background/store.go +0 -825
  647. package/templates/native-go/backend/internal/background/store_test.go +0 -365
  648. package/templates/native-go/backend/internal/datamigrate/migrate.go +0 -191
  649. package/templates/native-go/backend/internal/datamigrate/migrate_test.go +0 -177
  650. package/templates/native-go/backend/internal/dsm/admin.go +0 -76
  651. package/templates/native-go/backend/internal/dsm/admin_linux.go +0 -110
  652. package/templates/native-go/backend/internal/dsm/admin_linux_test.go +0 -105
  653. package/templates/native-go/backend/internal/dsm/admin_other.go +0 -15
  654. package/templates/native-go/backend/internal/dsm/admin_test.go +0 -67
  655. package/templates/native-go/backend/internal/dsm/apppriv.go +0 -30
  656. package/templates/native-go/backend/internal/dsm/auth.go +0 -94
  657. package/templates/native-go/backend/internal/dsm/auth_test.go +0 -159
  658. package/templates/native-go/backend/internal/dsm/bridge_file.go +0 -75
  659. package/templates/native-go/backend/internal/dsm/bridge_file_test.go +0 -57
  660. package/templates/native-go/backend/internal/dsm/entry.go +0 -177
  661. package/templates/native-go/backend/internal/dsm/entry_test.go +0 -315
  662. package/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
  663. package/templates/native-go/backend/internal/dsm/native/admin-armv7.elf +0 -0
  664. package/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
  665. package/templates/native-go/backend/internal/dsm/native/admin_check.c +0 -28
  666. package/templates/native-go/backend/internal/dsm/native/apppriv-aarch64.elf +0 -0
  667. package/templates/native-go/backend/internal/dsm/native/apppriv-armv7.elf +0 -0
  668. package/templates/native-go/backend/internal/dsm/native/apppriv-x86_64.elf +0 -0
  669. package/templates/native-go/backend/internal/dsm/native/apppriv_check.c +0 -33
  670. package/templates/native-go/backend/internal/dsm/native/build.sh +0 -18
  671. package/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +0 -400
  672. package/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +0 -501
  673. package/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +0 -5
  674. package/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +0 -21
  675. package/templates/native-go/backend/internal/dsm/native/provenance.json +0 -18
  676. package/templates/native-go/backend/internal/filestation/browse_test.go +0 -67
  677. package/templates/native-go/backend/internal/filestation/check_permission.go +0 -71
  678. package/templates/native-go/backend/internal/filestation/check_permission_test.go +0 -77
  679. package/templates/native-go/backend/internal/filestation/client.go +0 -337
  680. package/templates/native-go/backend/internal/filestation/client_test.go +0 -155
  681. package/templates/native-go/backend/internal/filestation/doc.go +0 -4
  682. package/templates/native-go/backend/internal/filestation/download_dsm71_test.go +0 -82
  683. package/templates/native-go/backend/internal/filestation/http.go +0 -70
  684. package/templates/native-go/backend/internal/filestation/http_test.go +0 -188
  685. package/templates/native-go/backend/internal/filestation/operations_test.go +0 -206
  686. package/templates/native-go/backend/internal/filestation/read_file_test.go +0 -89
  687. package/templates/native-go/backend/internal/filestation/sdk_policy_test.go +0 -39
  688. package/templates/native-go/backend/internal/filestation/service.go +0 -254
  689. package/templates/native-go/backend/internal/filestation/service_test.go +0 -74
  690. package/templates/native-go/backend/internal/filestation/upload_stream.go +0 -76
  691. package/templates/native-go/backend/internal/filestation/upload_stream_test.go +0 -77
  692. package/templates/native-go/backend/internal/filestation/write.go +0 -32
  693. package/templates/native-go/backend/internal/filestation/write_test.go +0 -124
  694. package/templates/native-go/backend/internal/identity/README.md +0 -59
  695. package/templates/native-go/backend/internal/identity/dsm.go +0 -115
  696. package/templates/native-go/backend/internal/identity/http.go +0 -291
  697. package/templates/native-go/backend/internal/identity/identity_test.go +0 -530
  698. package/templates/native-go/backend/internal/identity/service.go +0 -159
  699. package/templates/native-go/backend/internal/identity/store.go +0 -109
  700. package/templates/native-go/backend/internal/jsonlimits/limits.go +0 -48
  701. package/templates/native-go/backend/internal/jsonlimits/limits_test.go +0 -52
  702. package/templates/native-go/backend/internal/portal/portal.go +0 -138
  703. package/templates/native-go/backend/internal/portal/portal_test.go +0 -89
  704. package/templates/native-go/dsm-package.yaml +0 -71
  705. package/templates/native-go/gitignore +0 -1
  706. package/templates/native-go/i18n/glossary.json +0 -663
  707. package/templates/native-go/i18n/messages/de.json +0 -29
  708. package/templates/native-go/i18n/messages/en.json +0 -29
  709. package/templates/native-go/i18n/messages/es.json +0 -29
  710. package/templates/native-go/i18n/messages/fr.json +0 -29
  711. package/templates/native-go/i18n/messages/it.json +0 -29
  712. package/templates/native-go/i18n/messages/ja.json +0 -29
  713. package/templates/native-go/i18n/messages/ko.json +0 -29
  714. package/templates/native-go/i18n/messages/zh-CN.json +0 -29
  715. package/templates/native-go/i18n/messages/zh-TW.json +0 -29
  716. package/templates/native-go/ui/app.css +0 -45
  717. package/templates/native-go/ui/app.js +0 -111
  718. package/templates/native-go-delegate/DELEGATE.md +0 -263
  719. package/templates/native-go-delegate/backend/cmd/background-worker/main.go +0 -48
  720. package/templates/native-go-delegate/backend/internal/app/delegate.go +0 -25
  721. package/templates/native-go-delegate/backend/internal/app/delegate_on.go +0 -5
  722. package/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +0 -31
  723. package/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +0 -174
  724. package/templates/native-go-delegate/backend/internal/background/delegated.go +0 -277
  725. package/templates/native-go-delegate/backend/internal/background/delegated_moves.go +0 -270
  726. package/templates/native-go-delegate/backend/internal/background/delegated_test.go +0 -34
  727. package/templates/native-go-delegate/backend/internal/delegate/admission_recovery_test.go +0 -410
  728. package/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +0 -15
  729. package/templates/native-go-delegate/backend/internal/delegate/cancel_contract_test.go +0 -95
  730. package/templates/native-go-delegate/backend/internal/delegate/client.go +0 -151
  731. package/templates/native-go-delegate/backend/internal/delegate/client_test.go +0 -214
  732. package/templates/native-go-delegate/backend/internal/delegate/destination.go +0 -110
  733. package/templates/native-go-delegate/backend/internal/delegate/destination_state.go +0 -117
  734. package/templates/native-go-delegate/backend/internal/delegate/destination_state_test.go +0 -60
  735. package/templates/native-go-delegate/backend/internal/delegate/destination_test.go +0 -116
  736. package/templates/native-go-delegate/backend/internal/delegate/example.go +0 -81
  737. package/templates/native-go-delegate/backend/internal/delegate/example_test.go +0 -91
  738. package/templates/native-go-delegate/backend/internal/delegate/executor_contract_test.go +0 -511
  739. package/templates/native-go-delegate/backend/internal/delegate/files.go +0 -132
  740. package/templates/native-go-delegate/backend/internal/delegate/long_running_routes.go +0 -92
  741. package/templates/native-go-delegate/backend/internal/delegate/long_running_routes_test.go +0 -99
  742. package/templates/native-go-delegate/backend/internal/delegate/move.go +0 -348
  743. package/templates/native-go-delegate/backend/internal/delegate/move_test.go +0 -351
  744. package/templates/native-go-delegate/backend/internal/delegate/operations_list.go +0 -65
  745. package/templates/native-go-delegate/backend/internal/delegate/operations_list_test.go +0 -114
  746. package/templates/native-go-delegate/backend/internal/delegate/retry.go +0 -106
  747. package/templates/native-go-delegate/backend/internal/delegate/retry_test.go +0 -143
  748. package/templates/native-go-delegate/backend/internal/delegate/service.go +0 -364
  749. package/templates/native-go-delegate/backend/internal/delegate/service_test.go +0 -318
  750. package/templates/native-go-delegate/backend/internal/delegate/staging.go +0 -121
  751. package/templates/native-go-delegate/backend/internal/delegate/status_disabled_test.go +0 -51
  752. package/templates/native-go-delegate/backend/internal/delegate/testdata/executor_contract.txt +0 -112
  753. package/templates/native-go-delegate/backend/internal/delegate/transient_contract_test.go +0 -137
  754. package/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +0 -101
  755. package/templates/native-go-delegate/backend/internal/delegate/worker.go +0 -225
  756. package/templates/native-go-delegate/backend/internal/filestation/files.go +0 -43
  757. package/templates/native-go-delegate/backend/internal/filestation/files_test.go +0 -59
  758. package/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +0 -37
  759. package/templates/native-go-delegate/frontend/src/delegate/BackgroundSavePanel.vue +0 -113
  760. package/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +0 -70
  761. package/templates/native-go-delegate/frontend/src/delegate/copy.ts +0 -8
  762. package/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +0 -11
  763. package/templates/native-go-delegate/frontend/test/background-save.test.ts +0 -121
  764. package/templates/native-go-delegate/frontend/test/delegate.test.ts +0 -145
  765. package/templates/native-go-delegate/frontend/test/scope-settings.test.ts +0 -49
  766. package/templates/native-go-delegate/test-frontend.sh +0 -12
  767. package/templates/native-go-delegate/test.sh +0 -18
  768. package/templates/native-go-jobs/BACKGROUND.md +0 -108
  769. package/templates/native-go-jobs/backend/internal/app/background_on.go +0 -7
  770. package/templates/native-go-jobs/backend/internal/app/background_routes_test.go +0 -90
  771. package/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +0 -170
  772. package/templates/native-go-jobs/frontend/src/background/i18n/de.json +0 -75
  773. package/templates/native-go-jobs/frontend/src/background/i18n/en.json +0 -75
  774. package/templates/native-go-jobs/frontend/src/background/i18n/es.json +0 -75
  775. package/templates/native-go-jobs/frontend/src/background/i18n/fr.json +0 -75
  776. package/templates/native-go-jobs/frontend/src/background/i18n/it.json +0 -75
  777. package/templates/native-go-jobs/frontend/src/background/i18n/ja.json +0 -75
  778. package/templates/native-go-jobs/frontend/src/background/i18n/ko.json +0 -75
  779. package/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +0 -75
  780. package/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +0 -75
  781. package/templates/native-go-jobs/frontend/src/background/i18n.ts +0 -19
  782. package/templates/native-go-jobs/frontend/src/background/picker-provider.ts +0 -12
  783. package/templates/native-go-jobs/frontend/src/background/request-key.ts +0 -5
  784. package/templates/native-go-jobs/frontend/test/background.test.ts +0 -205
  785. package/templates/native-go-root-ops/backend/internal/app/executor.go +0 -140
  786. package/templates/native-go-root-ops/backend/internal/app/executor_test.go +0 -117
  787. package/templates/native-go-root-ops/root/whoami.sh +0 -3
  788. package/templates/native-go-vue/README.md +0 -47
  789. package/templates/native-go-vue/frontend/DESIGN.md +0 -61
  790. package/templates/native-go-vue/frontend/package-lock.json +0 -2530
  791. package/templates/native-go-vue/frontend/package.json +0 -6
  792. package/templates/native-go-vue/frontend/src/App.vue +0 -96
  793. package/templates/native-go-vue/frontend/src/CapabilityPanels.vue +0 -6
  794. package/templates/native-go-vue/frontend/src/context.ts +0 -78
  795. package/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +0 -70
  796. package/templates/native-go-vue/frontend/src/delegate/catalogs.ts +0 -11
  797. package/templates/native-go-vue/frontend/src/delegate/copy.test.ts +0 -12
  798. package/templates/native-go-vue/frontend/src/delegate/copy.ts +0 -4
  799. package/templates/native-go-vue/frontend/src/delegate/executor-settings.test.ts +0 -23
  800. package/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +0 -24
  801. package/templates/native-go-vue/frontend/src/delegate/facade.test.ts +0 -100
  802. package/templates/native-go-vue/frontend/src/delegate/facade.ts +0 -85
  803. package/templates/native-go-vue/frontend/src/delegate/i18n/de.json +0 -47
  804. package/templates/native-go-vue/frontend/src/delegate/i18n/en.json +0 -47
  805. package/templates/native-go-vue/frontend/src/delegate/i18n/es.json +0 -47
  806. package/templates/native-go-vue/frontend/src/delegate/i18n/fr.json +0 -47
  807. package/templates/native-go-vue/frontend/src/delegate/i18n/it.json +0 -47
  808. package/templates/native-go-vue/frontend/src/delegate/i18n/ja.json +0 -47
  809. package/templates/native-go-vue/frontend/src/delegate/i18n/ko.json +0 -47
  810. package/templates/native-go-vue/frontend/src/delegate/i18n/save/de.json +0 -42
  811. package/templates/native-go-vue/frontend/src/delegate/i18n/save/en.json +0 -42
  812. package/templates/native-go-vue/frontend/src/delegate/i18n/save/es.json +0 -42
  813. package/templates/native-go-vue/frontend/src/delegate/i18n/save/fr.json +0 -42
  814. package/templates/native-go-vue/frontend/src/delegate/i18n/save/it.json +0 -42
  815. package/templates/native-go-vue/frontend/src/delegate/i18n/save/ja.json +0 -42
  816. package/templates/native-go-vue/frontend/src/delegate/i18n/save/ko.json +0 -42
  817. package/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-CN.json +0 -42
  818. package/templates/native-go-vue/frontend/src/delegate/i18n/save/zh-TW.json +0 -42
  819. package/templates/native-go-vue/frontend/src/delegate/i18n/zh-CN.json +0 -47
  820. package/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +0 -47
  821. package/templates/native-go-vue/frontend/src/delegate/long-running.ts +0 -57
  822. package/templates/native-go-vue/frontend/src/delegate/save-copy.test.ts +0 -12
  823. package/templates/native-go-vue/frontend/src/delegate/save-copy.ts +0 -24
  824. package/templates/native-go-vue/frontend/src/delegate/scoped-picker.test.ts +0 -12
  825. package/templates/native-go-vue/frontend/src/delegate/scoped-picker.ts +0 -21
  826. package/templates/native-go-vue/frontend/src/files/FileBrowser.vue +0 -131
  827. package/templates/native-go-vue/frontend/src/files/FilesPage.vue +0 -35
  828. package/templates/native-go-vue/frontend/src/files/files.test.ts +0 -100
  829. package/templates/native-go-vue/frontend/src/files/provider.test.ts +0 -48
  830. package/templates/native-go-vue/frontend/src/files/transfers.test.ts +0 -27
  831. package/templates/native-go-vue/frontend/src/files/transfers.ts +0 -25
  832. package/templates/native-go-vue/frontend/src/i18n/de.json +0 -20
  833. package/templates/native-go-vue/frontend/src/i18n/en.json +0 -20
  834. package/templates/native-go-vue/frontend/src/i18n/es.json +0 -20
  835. package/templates/native-go-vue/frontend/src/i18n/fr.json +0 -20
  836. package/templates/native-go-vue/frontend/src/i18n/it.json +0 -20
  837. package/templates/native-go-vue/frontend/src/i18n/ja.json +0 -20
  838. package/templates/native-go-vue/frontend/src/i18n/ko.json +0 -20
  839. package/templates/native-go-vue/frontend/src/i18n/zh-CN.json +0 -20
  840. package/templates/native-go-vue/frontend/src/i18n/zh-TW.json +0 -20
  841. package/templates/native-go-vue/frontend/src/i18n.ts +0 -13
  842. package/templates/native-go-vue/frontend/src/identity/DESIGN.md +0 -46
  843. package/templates/native-go-vue/frontend/src/identity/LoginPage.vue +0 -78
  844. package/templates/native-go-vue/frontend/src/identity/i18n/de.json +0 -27
  845. package/templates/native-go-vue/frontend/src/identity/i18n/en.json +0 -27
  846. package/templates/native-go-vue/frontend/src/identity/i18n/es.json +0 -27
  847. package/templates/native-go-vue/frontend/src/identity/i18n/fr.json +0 -27
  848. package/templates/native-go-vue/frontend/src/identity/i18n/it.json +0 -27
  849. package/templates/native-go-vue/frontend/src/identity/i18n/ja.json +0 -27
  850. package/templates/native-go-vue/frontend/src/identity/i18n/ko.json +0 -27
  851. package/templates/native-go-vue/frontend/src/identity/i18n/zh-CN.json +0 -27
  852. package/templates/native-go-vue/frontend/src/identity/i18n/zh-TW.json +0 -27
  853. package/templates/native-go-vue/frontend/src/identity/i18n.ts +0 -14
  854. package/templates/native-go-vue/frontend/src/identity/login.test.ts +0 -32
  855. package/templates/native-go-vue/frontend/src/identity/session.test.ts +0 -33
  856. package/templates/native-go-vue/frontend/src/identity/session.ts +0 -74
  857. package/templates/native-go-vue/frontend/src/main.ts +0 -32
  858. package/templates/native-go-vue/frontend/src/nas/NasPicker.vue +0 -42
  859. package/templates/native-go-vue/frontend/src/nas/contract.ts +0 -12
  860. package/templates/native-go-vue/frontend/src/nas/destination.test.ts +0 -48
  861. package/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +0 -41
  862. package/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +0 -41
  863. package/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +0 -41
  864. package/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +0 -41
  865. package/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +0 -41
  866. package/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +0 -41
  867. package/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +0 -41
  868. package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +0 -41
  869. package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +0 -41
  870. package/templates/native-go-vue/frontend/src/nas/i18n.ts +0 -2
  871. package/templates/native-go-vue/frontend/src/nas/locale.ts +0 -24
  872. package/templates/native-go-vue/frontend/src/nas/provider.ts +0 -50
  873. package/templates/native-go-vue/frontend/src/nas/use-request.ts +0 -18
  874. package/templates/native-go-vue/frontend/src/portal/PortalSettings.vue +0 -39
  875. package/templates/native-go-vue/frontend/src/shell/AppShell.vue +0 -48
  876. package/templates/native-go-vue/frontend/src/shell/i18n/de.json +0 -4
  877. package/templates/native-go-vue/frontend/src/shell/i18n/en.json +0 -4
  878. package/templates/native-go-vue/frontend/src/shell/i18n/es.json +0 -4
  879. package/templates/native-go-vue/frontend/src/shell/i18n/fr.json +0 -4
  880. package/templates/native-go-vue/frontend/src/shell/i18n/it.json +0 -4
  881. package/templates/native-go-vue/frontend/src/shell/i18n/ja.json +0 -4
  882. package/templates/native-go-vue/frontend/src/shell/i18n/ko.json +0 -4
  883. package/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +0 -4
  884. package/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +0 -4
  885. package/templates/native-go-vue/frontend/src/shell/i18n.ts +0 -17
  886. package/templates/native-go-vue/frontend/src/shell/pages.ts +0 -15
  887. package/templates/native-go-vue/frontend/src/style.css +0 -27
  888. package/templates/native-go-vue/frontend/test/apps.test.ts +0 -57
  889. package/templates/native-go-vue/frontend/test/native-controls.test.ts +0 -27
  890. package/templates/native-go-vue/frontend/test/portal-settings.test.ts +0 -71
  891. package/templates/native-go-vue/frontend/test/shell-i18n.test.ts +0 -50
  892. package/templates/native-go-vue/frontend/test/shell-ui.test.ts +0 -20
  893. package/templates/native-go-vue/frontend/test/shell.test.ts +0 -30
  894. package/templates/native-go-vue/frontend/tsconfig.json +0 -1
  895. package/templates/native-go-vue/frontend/vite.config.ts +0 -10
  896. package/templates/native-go-vue/gitignore +0 -2
  897. /package/{dist/templates/_daemon → assets/go/daemon}/fixture_linux_test.go +0 -0
  898. /package/{dist/templates/_daemon → assets/go/daemon}/fixture_other_test.go +0 -0
  899. /package/{dist/templates/_daemon → assets/go/daemon}/go.mod +0 -0
  900. /package/{dist/templates/_daemon → assets/go/daemon}/main.go +0 -0
  901. /package/{dist/templates/_daemon → assets/go/daemon}/main_test.go +0 -0
  902. /package/{dist/templates/_daemon → assets/go/daemon}/process_linux.go +0 -0
  903. /package/{dist/templates/_daemon → assets/go/daemon}/process_linux_test.go +0 -0
  904. /package/{dist/templates/_daemon → assets/go/daemon}/process_other.go +0 -0
  905. /package/{dist/templates/_daemon → assets/go/daemon}/testdata/child.go +0 -0
  906. /package/{dist/templates/_gateway → assets/go/gateway}/auth.go +0 -0
  907. /package/{dist/templates/_gateway → assets/go/gateway}/auth_test.go +0 -0
  908. /package/{dist/templates/_gateway → assets/go/gateway}/cgi.go +0 -0
  909. /package/{dist/templates/_gateway → assets/go/gateway}/cgi_test.go +0 -0
  910. /package/{dist/templates/_gateway → assets/go/gateway}/csrf.go +0 -0
  911. /package/{dist/templates/_gateway → assets/go/gateway}/csrf_test.go +0 -0
  912. /package/{dist/templates/_gateway → assets/go/gateway}/directory.go +0 -0
  913. /package/{dist/templates/_gateway → assets/go/gateway}/directory_test.go +0 -0
  914. /package/{dist/templates/_gateway → assets/go/gateway}/gateway.go +0 -0
  915. /package/{dist/templates/_gateway → assets/go/gateway}/gateway_test.go +0 -0
  916. /package/{dist/templates/_gateway → assets/go/gateway}/go.mod +0 -0
  917. /package/{dist/templates/_gateway → assets/go/gateway}/groups.go +0 -0
  918. /package/{dist/templates/_gateway → assets/go/gateway}/main.go +0 -0
  919. /package/{dist/templates/_shared → assets/licenses}/GO-LICENSE +0 -0
  920. /package/{dist/templates/_shared → assets/licenses}/GO-PATENTS +0 -0
  921. /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
- }