@synopackageland/cli 0.3.10 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -9
  3. package/dist/bin.js +1 -2
  4. package/dist/build-spk/generator.d.ts +0 -3
  5. package/dist/build-spk/generator.js +138 -287
  6. package/dist/build-spk/native-lifecycle.js +0 -3
  7. package/dist/build-spk/native-payload.js +0 -1
  8. package/dist/build-spk/notices.d.ts +5 -0
  9. package/dist/build-spk/notices.js +60 -0
  10. package/dist/cli.js +178 -151
  11. package/dist/compose/analyze.d.ts +1 -2
  12. package/dist/compose/analyze.js +5 -48
  13. package/dist/contract/unsupported-types.d.ts +10 -0
  14. package/dist/contract/unsupported-types.js +49 -0
  15. package/dist/contract/validate.js +25 -2
  16. package/dist/contract/web-launch.js +0 -2
  17. package/dist/deploy/deploy.d.ts +1 -4
  18. package/dist/deploy/deploy.js +45 -156
  19. package/dist/deploy/homes-values.js +1 -1
  20. package/dist/deploy/plan.d.ts +18 -0
  21. package/dist/deploy/plan.js +54 -0
  22. package/dist/deploy/spk-version.d.ts +2 -14
  23. package/dist/deploy/spk-version.js +25 -111
  24. package/dist/dev.d.ts +1 -3
  25. package/dist/dev.js +14 -28
  26. package/dist/error-registry.js +830 -862
  27. package/dist/host/dsm-client.js +12 -272
  28. package/dist/host/dsm-port-profile.d.ts +0 -1
  29. package/dist/host/dsm-port-profile.js +0 -2
  30. package/dist/host/types.d.ts +1 -83
  31. package/dist/index.d.ts +0 -9
  32. package/dist/index.js +0 -6
  33. package/dist/info.d.ts +0 -1
  34. package/dist/info.js +3 -10
  35. package/dist/init.d.ts +15 -1
  36. package/dist/init.js +128 -12
  37. package/dist/log.js +2 -3
  38. package/dist/native/validate.js +0 -1
  39. package/dist/standalone/binary.d.ts +9 -0
  40. package/dist/standalone/binary.js +67 -0
  41. package/dist/standalone/build.d.ts +25 -0
  42. package/dist/standalone/build.js +110 -0
  43. package/dist/standalone/daemon.d.ts +23 -0
  44. package/dist/standalone/daemon.js +114 -0
  45. package/dist/standalone/dsm-window.d.ts +26 -0
  46. package/dist/standalone/dsm-window.js +291 -0
  47. package/dist/standalone/helper-inventory.d.ts +16 -0
  48. package/dist/standalone/helper-inventory.js +2 -0
  49. package/dist/standalone/helper.d.ts +21 -0
  50. package/dist/standalone/helper.js +105 -0
  51. package/dist/standalone/host-adapter.d.ts +5 -0
  52. package/dist/standalone/host-adapter.js +148 -0
  53. package/dist/standalone/host-platform.d.ts +13 -0
  54. package/dist/standalone/host-platform.js +42 -0
  55. package/dist/standalone/host-types.d.ts +49 -0
  56. package/dist/standalone/host-types.js +1 -0
  57. package/dist/standalone/i18n.d.ts +28 -0
  58. package/dist/standalone/i18n.js +161 -0
  59. package/dist/standalone/inspect-helper.d.ts +6 -0
  60. package/dist/standalone/inspect-helper.js +88 -0
  61. package/dist/standalone/inspect-spk.d.ts +23 -0
  62. package/dist/standalone/inspect-spk.js +209 -0
  63. package/dist/standalone/lifecycle-helper.d.ts +2 -0
  64. package/dist/standalone/lifecycle-helper.js +12 -0
  65. package/dist/standalone/lifecycle.d.ts +3 -0
  66. package/dist/standalone/lifecycle.js +53 -0
  67. package/dist/standalone/manifest.d.ts +73 -0
  68. package/dist/standalone/manifest.js +279 -0
  69. package/dist/standalone/reopen-events.d.ts +2 -0
  70. package/dist/standalone/reopen-events.js +28 -0
  71. package/dist/standalone/root-messages.d.ts +7 -0
  72. package/dist/standalone/root-messages.js +259 -0
  73. package/dist/standalone/root-ops.d.ts +42 -0
  74. package/dist/standalone/root-ops.js +101 -0
  75. package/dist/standalone/root-window.d.ts +36 -0
  76. package/dist/standalone/root-window.js +302 -0
  77. package/dist/standalone/spk.d.ts +23 -0
  78. package/dist/standalone/spk.js +192 -0
  79. package/dist/template-paths.d.ts +2 -0
  80. package/dist/template-paths.js +9 -0
  81. package/dist/templates/_daemon/fixture_linux_test.go +15 -0
  82. package/dist/templates/_daemon/fixture_other_test.go +7 -0
  83. package/dist/templates/_daemon/go.mod +3 -0
  84. package/dist/templates/_daemon/main.go +608 -0
  85. package/dist/templates/_daemon/main_test.go +242 -0
  86. package/dist/templates/_daemon/process_linux.go +55 -0
  87. package/dist/templates/_daemon/process_linux_test.go +161 -0
  88. package/dist/templates/_daemon/process_other.go +14 -0
  89. package/dist/templates/_daemon/testdata/child.go +41 -0
  90. package/dist/templates/_shared/GO-LICENSE +27 -0
  91. package/dist/templates/_shared/GO-PATENTS +22 -0
  92. package/dist/templates/_shared/LICENSES/TEMPLATE.txt +21 -0
  93. package/dist/templates/_shared/notice-overrides/index.json +14 -0
  94. package/dist/templates/_shared/notice-overrides/utils-0.4.2-LICENSE +21 -0
  95. package/dist/templates/_shared/notice-overrides/utils-0.5.0-LICENSE +21 -0
  96. package/dist/templates/_shared/third-party-notices.mjs +51 -0
  97. package/dist/templates/binary/synology-app.yaml +7 -0
  98. package/dist/templates/hello-files/compose.yaml +0 -1
  99. package/dist/templates/hello-web/compose.yaml +13 -10
  100. package/dist/templates/hello-web/html/app.js +1 -23
  101. package/dist/templates/hello-web/html/index.html +1 -3
  102. package/dist/templates/hello-web-page/compose.yaml +13 -10
  103. package/dist/templates/hello-web-page/html/app.js +1 -23
  104. package/dist/templates/hello-web-page/html/index.html +1 -3
  105. package/dist/templates/native-go/README.md +324 -0
  106. package/dist/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +59 -0
  107. package/dist/templates/native-go/backend/cmd/app/main.go +49 -0
  108. package/dist/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +46 -0
  109. package/dist/templates/native-go/backend/cmd/helper/main.go +38 -0
  110. package/dist/templates/native-go/backend/go.mod +7 -0
  111. package/dist/templates/native-go/backend/go.sum +4 -0
  112. package/dist/templates/native-go/backend/internal/api/binary.go +154 -0
  113. package/dist/templates/native-go/backend/internal/api/binary_test.go +165 -0
  114. package/dist/templates/native-go/backend/internal/api/errors.go +33 -0
  115. package/dist/templates/native-go/backend/internal/api/registry.go +104 -0
  116. package/dist/templates/native-go/backend/internal/api/registry_test.go +329 -0
  117. package/dist/templates/native-go/backend/internal/api/server.go +159 -0
  118. package/dist/templates/native-go/backend/internal/app/nas_cgi_artifact_test.go +121 -0
  119. package/dist/templates/native-go/backend/internal/app/nas_refusal_test.go +46 -0
  120. package/dist/templates/native-go/backend/internal/app/root_none.go +9 -0
  121. package/dist/templates/native-go/backend/internal/app/routes.go +138 -0
  122. package/dist/templates/native-go/backend/internal/app/routes_test.go +172 -0
  123. package/dist/templates/native-go/backend/internal/dsm/auth.go +118 -0
  124. package/dist/templates/native-go/backend/internal/dsm/auth_test.go +139 -0
  125. package/dist/templates/native-go/backend/internal/dsmprobe/collector_linux.go +335 -0
  126. package/dist/templates/native-go/backend/internal/dsmprobe/collector_linux_test.go +41 -0
  127. package/dist/templates/native-go/backend/internal/dsmprobe/protocol.go +179 -0
  128. package/dist/templates/native-go/backend/internal/dsmprobe/protocol_test.go +29 -0
  129. package/dist/templates/native-go/backend/internal/helper/cohort.go +393 -0
  130. package/dist/templates/native-go/backend/internal/helper/cohort_publication.go +18 -0
  131. package/dist/templates/native-go/backend/internal/helper/cohort_publication_test.go +105 -0
  132. package/dist/templates/native-go/backend/internal/helper/cohort_test.go +372 -0
  133. package/dist/templates/native-go/backend/internal/helper/control.go +424 -0
  134. package/dist/templates/native-go/backend/internal/helper/control_test.go +250 -0
  135. package/dist/templates/native-go/backend/internal/helper/data_contract.go +242 -0
  136. package/dist/templates/native-go/backend/internal/helper/data_contract_test.go +51 -0
  137. package/dist/templates/native-go/backend/internal/helper/data_decode.go +184 -0
  138. package/dist/templates/native-go/backend/internal/helper/data_decode_pointer_test.go +30 -0
  139. package/dist/templates/native-go/backend/internal/helper/data_protocol.go +416 -0
  140. package/dist/templates/native-go/backend/internal/helper/data_protocol_test.go +449 -0
  141. package/dist/templates/native-go/backend/internal/helper/dsm_acl_linux.go +139 -0
  142. package/dist/templates/native-go/backend/internal/helper/dsm_acl_linux_test.go +121 -0
  143. package/dist/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux.go +95 -0
  144. package/dist/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux_test.go +56 -0
  145. package/dist/templates/native-go/backend/internal/helper/dsm_bridge_linux.go +144 -0
  146. package/dist/templates/native-go/backend/internal/helper/dsm_bridge_linux_test.go +89 -0
  147. package/dist/templates/native-go/backend/internal/helper/dsm_home_linux.go +107 -0
  148. package/dist/templates/native-go/backend/internal/helper/dsm_home_linux_test.go +82 -0
  149. package/dist/templates/native-go/backend/internal/helper/dsm_probe_transport_linux.go +151 -0
  150. package/dist/templates/native-go/backend/internal/helper/dsm_probe_transport_linux_test.go +66 -0
  151. package/dist/templates/native-go/backend/internal/helper/grant_authority.go +516 -0
  152. package/dist/templates/native-go/backend/internal/helper/grant_authority_contract.go +88 -0
  153. package/dist/templates/native-go/backend/internal/helper/grant_authority_test.go +510 -0
  154. package/dist/templates/native-go/backend/internal/helper/grant_cohort.go +389 -0
  155. package/dist/templates/native-go/backend/internal/helper/grant_cohort_test.go +239 -0
  156. package/dist/templates/native-go/backend/internal/helper/grant_delivery.go +49 -0
  157. package/dist/templates/native-go/backend/internal/helper/grant_delivery_methods.go +273 -0
  158. package/dist/templates/native-go/backend/internal/helper/grant_delivery_test.go +322 -0
  159. package/dist/templates/native-go/backend/internal/helper/grant_operation_contract.go +47 -0
  160. package/dist/templates/native-go/backend/internal/helper/grant_readonly_test.go +180 -0
  161. package/dist/templates/native-go/backend/internal/helper/grant_repository_linux.go +415 -0
  162. package/dist/templates/native-go/backend/internal/helper/grant_repository_linux_test.go +468 -0
  163. package/dist/templates/native-go/backend/internal/helper/grant_rpc.go +147 -0
  164. package/dist/templates/native-go/backend/internal/helper/grant_rpc_test.go +51 -0
  165. package/dist/templates/native-go/backend/internal/helper/grant_snapshot.go +75 -0
  166. package/dist/templates/native-go/backend/internal/helper/grant_supervisor_linux.go +134 -0
  167. package/dist/templates/native-go/backend/internal/helper/grant_supervisor_linux_test.go +254 -0
  168. package/dist/templates/native-go/backend/internal/helper/lease.go +112 -0
  169. package/dist/templates/native-go/backend/internal/helper/lease_linux.go +44 -0
  170. package/dist/templates/native-go/backend/internal/helper/lease_other.go +8 -0
  171. package/dist/templates/native-go/backend/internal/helper/lifecycle.go +234 -0
  172. package/dist/templates/native-go/backend/internal/helper/lifecycle_test.go +473 -0
  173. package/dist/templates/native-go/backend/internal/helper/managed_pilot.go +284 -0
  174. package/dist/templates/native-go/backend/internal/helper/managed_pilot_repository_linux.go +74 -0
  175. package/dist/templates/native-go/backend/internal/helper/managed_pilot_repository_linux_test.go +40 -0
  176. package/dist/templates/native-go/backend/internal/helper/managed_pilot_test.go +210 -0
  177. package/dist/templates/native-go/backend/internal/helper/nas_shipped_refusal_linux_test.go +97 -0
  178. package/dist/templates/native-go/backend/internal/helper/native_discovery.go +79 -0
  179. package/dist/templates/native-go/backend/internal/helper/native_identity.go +89 -0
  180. package/dist/templates/native-go/backend/internal/helper/native_provider.go +159 -0
  181. package/dist/templates/native-go/backend/internal/helper/native_provider_test.go +421 -0
  182. package/dist/templates/native-go/backend/internal/helper/observation.go +204 -0
  183. package/dist/templates/native-go/backend/internal/helper/observation_health_test.go +115 -0
  184. package/dist/templates/native-go/backend/internal/helper/observation_reload_budget_test.go +117 -0
  185. package/dist/templates/native-go/backend/internal/helper/observation_test.go +196 -0
  186. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic.go +109 -0
  187. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_linux.go +76 -0
  188. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_linux_test.go +124 -0
  189. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_test.go +98 -0
  190. package/dist/templates/native-go/backend/internal/helper/operation_bootstrap_linux.go +193 -0
  191. package/dist/templates/native-go/backend/internal/helper/operation_credentials_linux.go +56 -0
  192. package/dist/templates/native-go/backend/internal/helper/operation_linux.go +480 -0
  193. package/dist/templates/native-go/backend/internal/helper/operation_linux_test.go +528 -0
  194. package/dist/templates/native-go/backend/internal/helper/peer_linux.go +44 -0
  195. package/dist/templates/native-go/backend/internal/helper/peer_other.go +7 -0
  196. package/dist/templates/native-go/backend/internal/helper/process_linux.go +177 -0
  197. package/dist/templates/native-go/backend/internal/helper/process_other.go +5 -0
  198. package/dist/templates/native-go/backend/internal/helper/publication_test.go +178 -0
  199. package/dist/templates/native-go/backend/internal/helper/read_stream_cohort_linux_test.go +156 -0
  200. package/dist/templates/native-go/backend/internal/helper/read_transfer.go +40 -0
  201. package/dist/templates/native-go/backend/internal/helper/read_transfer_linux.go +109 -0
  202. package/dist/templates/native-go/backend/internal/helper/read_transfer_linux_test.go +118 -0
  203. package/dist/templates/native-go/backend/internal/helper/read_transfer_test.go +177 -0
  204. package/dist/templates/native-go/backend/internal/helper/readonly.go +105 -0
  205. package/dist/templates/native-go/backend/internal/helper/readonly_admission.go +85 -0
  206. package/dist/templates/native-go/backend/internal/helper/readonly_cohort_linux_test.go +253 -0
  207. package/dist/templates/native-go/backend/internal/helper/readonly_linux_test.go +378 -0
  208. package/dist/templates/native-go/backend/internal/helper/readonly_mount_linux.go +65 -0
  209. package/dist/templates/native-go/backend/internal/helper/readonly_mount_proxy_linux.go +113 -0
  210. package/dist/templates/native-go/backend/internal/helper/readonly_operations_linux.go +168 -0
  211. package/dist/templates/native-go/backend/internal/helper/readonly_resolver_linux.go +241 -0
  212. package/dist/templates/native-go/backend/internal/helper/readonly_test.go +40 -0
  213. package/dist/templates/native-go/backend/internal/helper/relaxed_identity.go +252 -0
  214. package/dist/templates/native-go/backend/internal/helper/relaxed_identity_contract.go +105 -0
  215. package/dist/templates/native-go/backend/internal/helper/relaxed_identity_test.go +406 -0
  216. package/dist/templates/native-go/backend/internal/helper/relaxed_invalidation.go +200 -0
  217. package/dist/templates/native-go/backend/internal/helper/repair.go +132 -0
  218. package/dist/templates/native-go/backend/internal/helper/repair_test.go +271 -0
  219. package/dist/templates/native-go/backend/internal/helper/s1r_actor_acl_linux_test.go +303 -0
  220. package/dist/templates/native-go/backend/internal/helper/s1r_actor_fixture_linux_test.go +184 -0
  221. package/dist/templates/native-go/backend/internal/helper/s1r_actor_races_linux_test.go +231 -0
  222. package/dist/templates/native-go/backend/internal/helper/s1r_fixture_contract_linux_test.go +18 -0
  223. package/dist/templates/native-go/backend/internal/helper/server_linux.go +124 -0
  224. package/dist/templates/native-go/backend/internal/helper/status.go +334 -0
  225. package/dist/templates/native-go/backend/internal/helper/status_test.go +288 -0
  226. package/dist/templates/native-go/backend/internal/helper/supervision.go +107 -0
  227. package/dist/templates/native-go/backend/internal/helper/supervision_test.go +124 -0
  228. package/dist/templates/native-go/backend/internal/helper/supervisor_frame.go +76 -0
  229. package/dist/templates/native-go/backend/internal/helper/supervisor_frame_linux_test.go +69 -0
  230. package/dist/templates/native-go/backend/internal/helper/supervisor_frame_test.go +107 -0
  231. package/dist/templates/native-go/backend/internal/helper/supervisor_linux.go +363 -0
  232. package/dist/templates/native-go/backend/internal/helper/supervisor_linux_test.go +913 -0
  233. package/dist/templates/native-go/backend/internal/helper/supervisor_socket_eof_test.go +74 -0
  234. package/dist/templates/native-go/backend/internal/helper/supervisor_socket_test.go +45 -0
  235. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/create.json +23 -0
  236. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/frames.json +67 -0
  237. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/grant-store.json +52 -0
  238. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/intent.json +20 -0
  239. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/list.json +20 -0
  240. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/publish.json +20 -0
  241. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/read.json +22 -0
  242. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/stat.json +22 -0
  243. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/write-stream.json +22 -0
  244. package/dist/templates/native-go/backend/internal/helper/unit_connection.go +75 -0
  245. package/dist/templates/native-go/backend/internal/helper/unit_connection_linux_test.go +135 -0
  246. package/dist/templates/native-go/backend/internal/helper/unit_connection_test.go +133 -0
  247. package/dist/templates/native-go/backend/internal/helper/unit_frame_test.go +32 -0
  248. package/dist/templates/native-go/backend/internal/helper/unit_linux.go +364 -0
  249. package/dist/templates/native-go/backend/internal/helper/unit_linux_test.go +46 -0
  250. package/dist/templates/native-go/backend/internal/helper/unit_mechanisms_linux_test.go +217 -0
  251. package/dist/templates/native-go/backend/internal/helper/unit_padding_linux_test.go +178 -0
  252. package/dist/templates/native-go/backend/internal/helper/unit_query_linux.go +111 -0
  253. package/dist/templates/native-go/backend/internal/helper/unit_reload_linux_test.go +372 -0
  254. package/dist/templates/native-go/backend/internal/helper/unit_reload_sequence_linux_test.go +232 -0
  255. package/dist/templates/native-go/backend/internal/helper/write.go +77 -0
  256. package/dist/templates/native-go/backend/internal/helper/write_admission.go +260 -0
  257. package/dist/templates/native-go/backend/internal/helper/write_admission_test.go +135 -0
  258. package/dist/templates/native-go/backend/internal/helper/write_cohort_linux_test.go +218 -0
  259. package/dist/templates/native-go/backend/internal/helper/write_files_linux.go +202 -0
  260. package/dist/templates/native-go/backend/internal/helper/write_files_linux_test.go +199 -0
  261. package/dist/templates/native-go/backend/internal/helper/write_intent_linux.go +116 -0
  262. package/dist/templates/native-go/backend/internal/helper/write_intent_linux_test.go +74 -0
  263. package/dist/templates/native-go/backend/internal/helper/write_operation_linux.go +245 -0
  264. package/dist/templates/native-go/backend/internal/helper/write_test.go +53 -0
  265. package/dist/templates/native-go/dsm-package.yaml +58 -0
  266. package/dist/templates/native-go/gitignore +1 -0
  267. package/dist/templates/native-go/i18n/glossary.json +662 -0
  268. package/dist/templates/native-go/i18n/messages/de.json +28 -0
  269. package/dist/templates/native-go/i18n/messages/en.json +28 -0
  270. package/dist/templates/native-go/i18n/messages/es.json +28 -0
  271. package/dist/templates/native-go/i18n/messages/fr.json +28 -0
  272. package/dist/templates/native-go/i18n/messages/it.json +28 -0
  273. package/dist/templates/native-go/i18n/messages/ja.json +28 -0
  274. package/dist/templates/native-go/i18n/messages/ko.json +28 -0
  275. package/dist/templates/native-go/i18n/messages/zh-CN.json +28 -0
  276. package/dist/templates/native-go/i18n/messages/zh-TW.json +28 -0
  277. package/dist/templates/native-go/ui/app.css +35 -0
  278. package/dist/templates/native-go/ui/app.js +101 -0
  279. package/dist/templates/native-go-better-auth/backend/internal/app/identity.go +208 -0
  280. package/dist/templates/native-go-better-auth/backend/internal/app/identity_test.go +113 -0
  281. package/dist/templates/native-go-better-auth/node/app.mjs +72 -0
  282. package/dist/templates/native-go-better-auth/node/build.mjs +4 -0
  283. package/dist/templates/native-go-better-auth/node/package-lock.json +862 -0
  284. package/dist/templates/native-go-better-auth/node/package.json +1 -0
  285. package/dist/templates/native-go-better-auth/node/test/auth.test.mjs +31 -0
  286. package/dist/templates/native-go-integration/backend/internal/app/identity_none.go +6 -0
  287. package/dist/templates/native-go-integration/backend/internal/app/personal.go +203 -0
  288. package/dist/templates/native-go-integration/backend/internal/app/personal_test.go +119 -0
  289. package/dist/templates/native-go-root/backend/internal/app/root.go +107 -0
  290. package/dist/templates/native-go-root/backend/internal/app/root_test.go +124 -0
  291. package/dist/templates/native-go-root/root/whoami.sh +6 -0
  292. package/dist/templates/native-go-vue/README.md +224 -0
  293. package/dist/templates/native-go-vue/frontend/DESIGN.md +78 -0
  294. package/dist/templates/native-go-vue/frontend/package-lock.json +2410 -0
  295. package/dist/templates/native-go-vue/frontend/package.json +6 -0
  296. package/dist/templates/native-go-vue/frontend/src/App.vue +159 -0
  297. package/dist/templates/native-go-vue/frontend/src/context.ts +56 -0
  298. package/dist/templates/native-go-vue/frontend/src/main.ts +29 -0
  299. package/dist/templates/native-go-vue/frontend/src/nas/NasGrantSettings.vue +74 -0
  300. package/dist/templates/native-go-vue/frontend/src/nas/NasPathPicker.vue +106 -0
  301. package/dist/templates/native-go-vue/frontend/src/nas/NasUnavailable.vue +20 -0
  302. package/dist/templates/native-go-vue/frontend/src/nas/i18n/de.json +74 -0
  303. package/dist/templates/native-go-vue/frontend/src/nas/i18n/en.json +74 -0
  304. package/dist/templates/native-go-vue/frontend/src/nas/i18n/es.json +74 -0
  305. package/dist/templates/native-go-vue/frontend/src/nas/i18n/fr.json +74 -0
  306. package/dist/templates/native-go-vue/frontend/src/nas/i18n/it.json +74 -0
  307. package/dist/templates/native-go-vue/frontend/src/nas/i18n/ja.json +74 -0
  308. package/dist/templates/native-go-vue/frontend/src/nas/i18n/ko.json +74 -0
  309. package/dist/templates/native-go-vue/frontend/src/nas/i18n/zh-CN.json +74 -0
  310. package/dist/templates/native-go-vue/frontend/src/nas/i18n/zh-TW.json +74 -0
  311. package/dist/templates/native-go-vue/frontend/src/nas/i18n.ts +38 -0
  312. package/dist/templates/native-go-vue/frontend/src/nas/mock-provider.ts +119 -0
  313. package/dist/templates/native-go-vue/frontend/src/nas/provider.ts +59 -0
  314. package/dist/templates/native-go-vue/frontend/src/nas/use-request.ts +27 -0
  315. package/dist/templates/native-go-vue/frontend/src/style.css +31 -0
  316. package/dist/templates/native-go-vue/frontend/test/apps.test.ts +190 -0
  317. package/dist/templates/native-go-vue/frontend/test/nas-provider.test.ts +81 -0
  318. package/dist/templates/native-go-vue/frontend/test/nas-request.test.ts +21 -0
  319. package/dist/templates/native-go-vue/frontend/test/nas-ui.test.ts +261 -0
  320. package/dist/templates/native-go-vue/frontend/tsconfig.json +1 -0
  321. package/dist/templates/native-go-vue/frontend/vite.config.ts +10 -0
  322. package/dist/templates/native-go-vue/gitignore +2 -0
  323. package/dist/types.d.ts +1 -1
  324. package/dist/validate.js +11 -7
  325. package/package.json +5 -8
  326. package/schema/synology-app.schema.json +36 -37
  327. package/skills/SKILL.md +4 -48
  328. package/skills/reference/create.md +11 -83
  329. package/skills/reference/deploy.md +7 -78
  330. package/skills/reference/diagnose.md +4 -101
  331. package/skills/reference/files.md +5 -41
  332. package/skills/reference/identity.md +3 -29
  333. package/skills/reference/wrap.md +0 -2
  334. package/templates/_daemon/fixture_linux_test.go +15 -0
  335. package/templates/_daemon/fixture_other_test.go +7 -0
  336. package/templates/_daemon/go.mod +3 -0
  337. package/templates/_daemon/main.go +608 -0
  338. package/templates/_daemon/main_test.go +242 -0
  339. package/templates/_daemon/process_linux.go +55 -0
  340. package/templates/_daemon/process_linux_test.go +161 -0
  341. package/templates/_daemon/process_other.go +14 -0
  342. package/templates/_daemon/testdata/child.go +41 -0
  343. package/templates/_shared/GO-LICENSE +27 -0
  344. package/templates/_shared/GO-PATENTS +22 -0
  345. package/templates/_shared/LICENSES/TEMPLATE.txt +21 -0
  346. package/templates/_shared/notice-overrides/index.json +14 -0
  347. package/templates/_shared/notice-overrides/utils-0.4.2-LICENSE +21 -0
  348. package/templates/_shared/notice-overrides/utils-0.5.0-LICENSE +21 -0
  349. package/templates/_shared/third-party-notices.mjs +51 -0
  350. package/templates/binary/synology-app.yaml +7 -0
  351. package/templates/hello-files/compose.yaml +0 -1
  352. package/templates/hello-web/compose.yaml +13 -10
  353. package/templates/hello-web/html/app.js +1 -23
  354. package/templates/hello-web/html/index.html +1 -3
  355. package/templates/hello-web-page/compose.yaml +13 -10
  356. package/templates/hello-web-page/html/app.js +1 -23
  357. package/templates/hello-web-page/html/index.html +1 -3
  358. package/templates/native-go/README.md +324 -0
  359. package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +59 -0
  360. package/templates/native-go/backend/cmd/app/main.go +49 -0
  361. package/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +46 -0
  362. package/templates/native-go/backend/cmd/helper/main.go +38 -0
  363. package/templates/native-go/backend/go.mod +7 -0
  364. package/templates/native-go/backend/go.sum +4 -0
  365. package/templates/native-go/backend/internal/api/binary.go +154 -0
  366. package/templates/native-go/backend/internal/api/binary_test.go +165 -0
  367. package/templates/native-go/backend/internal/api/errors.go +33 -0
  368. package/templates/native-go/backend/internal/api/registry.go +104 -0
  369. package/templates/native-go/backend/internal/api/registry_test.go +329 -0
  370. package/templates/native-go/backend/internal/api/server.go +159 -0
  371. package/templates/native-go/backend/internal/app/nas_cgi_artifact_test.go +121 -0
  372. package/templates/native-go/backend/internal/app/nas_refusal_test.go +46 -0
  373. package/templates/native-go/backend/internal/app/root_none.go +9 -0
  374. package/templates/native-go/backend/internal/app/routes.go +138 -0
  375. package/templates/native-go/backend/internal/app/routes_test.go +172 -0
  376. package/templates/native-go/backend/internal/dsm/auth.go +118 -0
  377. package/templates/native-go/backend/internal/dsm/auth_test.go +139 -0
  378. package/templates/native-go/backend/internal/dsmprobe/collector_linux.go +335 -0
  379. package/templates/native-go/backend/internal/dsmprobe/collector_linux_test.go +41 -0
  380. package/templates/native-go/backend/internal/dsmprobe/protocol.go +179 -0
  381. package/templates/native-go/backend/internal/dsmprobe/protocol_test.go +29 -0
  382. package/templates/native-go/backend/internal/helper/cohort.go +393 -0
  383. package/templates/native-go/backend/internal/helper/cohort_publication.go +18 -0
  384. package/templates/native-go/backend/internal/helper/cohort_publication_test.go +105 -0
  385. package/templates/native-go/backend/internal/helper/cohort_test.go +372 -0
  386. package/templates/native-go/backend/internal/helper/control.go +424 -0
  387. package/templates/native-go/backend/internal/helper/control_test.go +250 -0
  388. package/templates/native-go/backend/internal/helper/data_contract.go +242 -0
  389. package/templates/native-go/backend/internal/helper/data_contract_test.go +51 -0
  390. package/templates/native-go/backend/internal/helper/data_decode.go +184 -0
  391. package/templates/native-go/backend/internal/helper/data_decode_pointer_test.go +30 -0
  392. package/templates/native-go/backend/internal/helper/data_protocol.go +416 -0
  393. package/templates/native-go/backend/internal/helper/data_protocol_test.go +449 -0
  394. package/templates/native-go/backend/internal/helper/dsm_acl_linux.go +139 -0
  395. package/templates/native-go/backend/internal/helper/dsm_acl_linux_test.go +121 -0
  396. package/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux.go +95 -0
  397. package/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux_test.go +56 -0
  398. package/templates/native-go/backend/internal/helper/dsm_bridge_linux.go +144 -0
  399. package/templates/native-go/backend/internal/helper/dsm_bridge_linux_test.go +89 -0
  400. package/templates/native-go/backend/internal/helper/dsm_home_linux.go +107 -0
  401. package/templates/native-go/backend/internal/helper/dsm_home_linux_test.go +82 -0
  402. package/templates/native-go/backend/internal/helper/dsm_probe_transport_linux.go +151 -0
  403. package/templates/native-go/backend/internal/helper/dsm_probe_transport_linux_test.go +66 -0
  404. package/templates/native-go/backend/internal/helper/grant_authority.go +516 -0
  405. package/templates/native-go/backend/internal/helper/grant_authority_contract.go +88 -0
  406. package/templates/native-go/backend/internal/helper/grant_authority_test.go +510 -0
  407. package/templates/native-go/backend/internal/helper/grant_cohort.go +389 -0
  408. package/templates/native-go/backend/internal/helper/grant_cohort_test.go +239 -0
  409. package/templates/native-go/backend/internal/helper/grant_delivery.go +49 -0
  410. package/templates/native-go/backend/internal/helper/grant_delivery_methods.go +273 -0
  411. package/templates/native-go/backend/internal/helper/grant_delivery_test.go +322 -0
  412. package/templates/native-go/backend/internal/helper/grant_operation_contract.go +47 -0
  413. package/templates/native-go/backend/internal/helper/grant_readonly_test.go +180 -0
  414. package/templates/native-go/backend/internal/helper/grant_repository_linux.go +415 -0
  415. package/templates/native-go/backend/internal/helper/grant_repository_linux_test.go +468 -0
  416. package/templates/native-go/backend/internal/helper/grant_rpc.go +147 -0
  417. package/templates/native-go/backend/internal/helper/grant_rpc_test.go +51 -0
  418. package/templates/native-go/backend/internal/helper/grant_snapshot.go +75 -0
  419. package/templates/native-go/backend/internal/helper/grant_supervisor_linux.go +134 -0
  420. package/templates/native-go/backend/internal/helper/grant_supervisor_linux_test.go +254 -0
  421. package/templates/native-go/backend/internal/helper/lease.go +112 -0
  422. package/templates/native-go/backend/internal/helper/lease_linux.go +44 -0
  423. package/templates/native-go/backend/internal/helper/lease_other.go +8 -0
  424. package/templates/native-go/backend/internal/helper/lifecycle.go +234 -0
  425. package/templates/native-go/backend/internal/helper/lifecycle_test.go +473 -0
  426. package/templates/native-go/backend/internal/helper/managed_pilot.go +284 -0
  427. package/templates/native-go/backend/internal/helper/managed_pilot_repository_linux.go +74 -0
  428. package/templates/native-go/backend/internal/helper/managed_pilot_repository_linux_test.go +40 -0
  429. package/templates/native-go/backend/internal/helper/managed_pilot_test.go +210 -0
  430. package/templates/native-go/backend/internal/helper/nas_shipped_refusal_linux_test.go +97 -0
  431. package/templates/native-go/backend/internal/helper/native_discovery.go +79 -0
  432. package/templates/native-go/backend/internal/helper/native_identity.go +89 -0
  433. package/templates/native-go/backend/internal/helper/native_provider.go +159 -0
  434. package/templates/native-go/backend/internal/helper/native_provider_test.go +421 -0
  435. package/templates/native-go/backend/internal/helper/observation.go +204 -0
  436. package/templates/native-go/backend/internal/helper/observation_health_test.go +115 -0
  437. package/templates/native-go/backend/internal/helper/observation_reload_budget_test.go +117 -0
  438. package/templates/native-go/backend/internal/helper/observation_test.go +196 -0
  439. package/templates/native-go/backend/internal/helper/observer_diagnostic.go +109 -0
  440. package/templates/native-go/backend/internal/helper/observer_diagnostic_linux.go +76 -0
  441. package/templates/native-go/backend/internal/helper/observer_diagnostic_linux_test.go +124 -0
  442. package/templates/native-go/backend/internal/helper/observer_diagnostic_test.go +98 -0
  443. package/templates/native-go/backend/internal/helper/operation_bootstrap_linux.go +193 -0
  444. package/templates/native-go/backend/internal/helper/operation_credentials_linux.go +56 -0
  445. package/templates/native-go/backend/internal/helper/operation_linux.go +480 -0
  446. package/templates/native-go/backend/internal/helper/operation_linux_test.go +528 -0
  447. package/templates/native-go/backend/internal/helper/peer_linux.go +44 -0
  448. package/templates/native-go/backend/internal/helper/peer_other.go +7 -0
  449. package/templates/native-go/backend/internal/helper/process_linux.go +177 -0
  450. package/templates/native-go/backend/internal/helper/process_other.go +5 -0
  451. package/templates/native-go/backend/internal/helper/publication_test.go +178 -0
  452. package/templates/native-go/backend/internal/helper/read_stream_cohort_linux_test.go +156 -0
  453. package/templates/native-go/backend/internal/helper/read_transfer.go +40 -0
  454. package/templates/native-go/backend/internal/helper/read_transfer_linux.go +109 -0
  455. package/templates/native-go/backend/internal/helper/read_transfer_linux_test.go +118 -0
  456. package/templates/native-go/backend/internal/helper/read_transfer_test.go +177 -0
  457. package/templates/native-go/backend/internal/helper/readonly.go +105 -0
  458. package/templates/native-go/backend/internal/helper/readonly_admission.go +85 -0
  459. package/templates/native-go/backend/internal/helper/readonly_cohort_linux_test.go +253 -0
  460. package/templates/native-go/backend/internal/helper/readonly_linux_test.go +378 -0
  461. package/templates/native-go/backend/internal/helper/readonly_mount_linux.go +65 -0
  462. package/templates/native-go/backend/internal/helper/readonly_mount_proxy_linux.go +113 -0
  463. package/templates/native-go/backend/internal/helper/readonly_operations_linux.go +168 -0
  464. package/templates/native-go/backend/internal/helper/readonly_resolver_linux.go +241 -0
  465. package/templates/native-go/backend/internal/helper/readonly_test.go +40 -0
  466. package/templates/native-go/backend/internal/helper/relaxed_identity.go +252 -0
  467. package/templates/native-go/backend/internal/helper/relaxed_identity_contract.go +105 -0
  468. package/templates/native-go/backend/internal/helper/relaxed_identity_test.go +406 -0
  469. package/templates/native-go/backend/internal/helper/relaxed_invalidation.go +200 -0
  470. package/templates/native-go/backend/internal/helper/repair.go +132 -0
  471. package/templates/native-go/backend/internal/helper/repair_test.go +271 -0
  472. package/templates/native-go/backend/internal/helper/s1r_actor_acl_linux_test.go +303 -0
  473. package/templates/native-go/backend/internal/helper/s1r_actor_fixture_linux_test.go +184 -0
  474. package/templates/native-go/backend/internal/helper/s1r_actor_races_linux_test.go +231 -0
  475. package/templates/native-go/backend/internal/helper/s1r_fixture_contract_linux_test.go +18 -0
  476. package/templates/native-go/backend/internal/helper/server_linux.go +124 -0
  477. package/templates/native-go/backend/internal/helper/status.go +334 -0
  478. package/templates/native-go/backend/internal/helper/status_test.go +288 -0
  479. package/templates/native-go/backend/internal/helper/supervision.go +107 -0
  480. package/templates/native-go/backend/internal/helper/supervision_test.go +124 -0
  481. package/templates/native-go/backend/internal/helper/supervisor_frame.go +76 -0
  482. package/templates/native-go/backend/internal/helper/supervisor_frame_linux_test.go +69 -0
  483. package/templates/native-go/backend/internal/helper/supervisor_frame_test.go +107 -0
  484. package/templates/native-go/backend/internal/helper/supervisor_linux.go +363 -0
  485. package/templates/native-go/backend/internal/helper/supervisor_linux_test.go +913 -0
  486. package/templates/native-go/backend/internal/helper/supervisor_socket_eof_test.go +74 -0
  487. package/templates/native-go/backend/internal/helper/supervisor_socket_test.go +45 -0
  488. package/templates/native-go/backend/internal/helper/testdata/protocol2/create.json +23 -0
  489. package/templates/native-go/backend/internal/helper/testdata/protocol2/frames.json +67 -0
  490. package/templates/native-go/backend/internal/helper/testdata/protocol2/grant-store.json +52 -0
  491. package/templates/native-go/backend/internal/helper/testdata/protocol2/intent.json +20 -0
  492. package/templates/native-go/backend/internal/helper/testdata/protocol2/list.json +20 -0
  493. package/templates/native-go/backend/internal/helper/testdata/protocol2/publish.json +20 -0
  494. package/templates/native-go/backend/internal/helper/testdata/protocol2/read.json +22 -0
  495. package/templates/native-go/backend/internal/helper/testdata/protocol2/stat.json +22 -0
  496. package/templates/native-go/backend/internal/helper/testdata/protocol2/write-stream.json +22 -0
  497. package/templates/native-go/backend/internal/helper/unit_connection.go +75 -0
  498. package/templates/native-go/backend/internal/helper/unit_connection_linux_test.go +135 -0
  499. package/templates/native-go/backend/internal/helper/unit_connection_test.go +133 -0
  500. package/templates/native-go/backend/internal/helper/unit_frame_test.go +32 -0
  501. package/templates/native-go/backend/internal/helper/unit_linux.go +364 -0
  502. package/templates/native-go/backend/internal/helper/unit_linux_test.go +46 -0
  503. package/templates/native-go/backend/internal/helper/unit_mechanisms_linux_test.go +217 -0
  504. package/templates/native-go/backend/internal/helper/unit_padding_linux_test.go +178 -0
  505. package/templates/native-go/backend/internal/helper/unit_query_linux.go +111 -0
  506. package/templates/native-go/backend/internal/helper/unit_reload_linux_test.go +372 -0
  507. package/templates/native-go/backend/internal/helper/unit_reload_sequence_linux_test.go +232 -0
  508. package/templates/native-go/backend/internal/helper/write.go +77 -0
  509. package/templates/native-go/backend/internal/helper/write_admission.go +260 -0
  510. package/templates/native-go/backend/internal/helper/write_admission_test.go +135 -0
  511. package/templates/native-go/backend/internal/helper/write_cohort_linux_test.go +218 -0
  512. package/templates/native-go/backend/internal/helper/write_files_linux.go +202 -0
  513. package/templates/native-go/backend/internal/helper/write_files_linux_test.go +199 -0
  514. package/templates/native-go/backend/internal/helper/write_intent_linux.go +116 -0
  515. package/templates/native-go/backend/internal/helper/write_intent_linux_test.go +74 -0
  516. package/templates/native-go/backend/internal/helper/write_operation_linux.go +245 -0
  517. package/templates/native-go/backend/internal/helper/write_test.go +53 -0
  518. package/templates/native-go/dsm-package.yaml +58 -0
  519. package/templates/native-go/gitignore +1 -0
  520. package/templates/native-go/i18n/glossary.json +662 -0
  521. package/templates/native-go/i18n/messages/de.json +28 -0
  522. package/templates/native-go/i18n/messages/en.json +28 -0
  523. package/templates/native-go/i18n/messages/es.json +28 -0
  524. package/templates/native-go/i18n/messages/fr.json +28 -0
  525. package/templates/native-go/i18n/messages/it.json +28 -0
  526. package/templates/native-go/i18n/messages/ja.json +28 -0
  527. package/templates/native-go/i18n/messages/ko.json +28 -0
  528. package/templates/native-go/i18n/messages/zh-CN.json +28 -0
  529. package/templates/native-go/i18n/messages/zh-TW.json +28 -0
  530. package/templates/native-go/ui/app.css +35 -0
  531. package/templates/native-go/ui/app.js +101 -0
  532. package/templates/native-go-better-auth/backend/internal/app/identity.go +208 -0
  533. package/templates/native-go-better-auth/backend/internal/app/identity_test.go +113 -0
  534. package/templates/native-go-better-auth/node/app.mjs +72 -0
  535. package/templates/native-go-better-auth/node/build.mjs +4 -0
  536. package/templates/native-go-better-auth/node/package-lock.json +862 -0
  537. package/templates/native-go-better-auth/node/package.json +1 -0
  538. package/templates/native-go-better-auth/node/test/auth.test.mjs +31 -0
  539. package/templates/native-go-integration/backend/internal/app/identity_none.go +6 -0
  540. package/templates/native-go-integration/backend/internal/app/personal.go +203 -0
  541. package/templates/native-go-integration/backend/internal/app/personal_test.go +119 -0
  542. package/templates/native-go-root/backend/internal/app/root.go +107 -0
  543. package/templates/native-go-root/backend/internal/app/root_test.go +124 -0
  544. package/templates/native-go-root/root/whoami.sh +6 -0
  545. package/templates/native-go-vue/README.md +224 -0
  546. package/templates/native-go-vue/frontend/DESIGN.md +78 -0
  547. package/templates/native-go-vue/frontend/package-lock.json +2410 -0
  548. package/templates/native-go-vue/frontend/package.json +6 -0
  549. package/templates/native-go-vue/frontend/src/App.vue +159 -0
  550. package/templates/native-go-vue/frontend/src/context.ts +56 -0
  551. package/templates/native-go-vue/frontend/src/main.ts +29 -0
  552. package/templates/native-go-vue/frontend/src/nas/NasGrantSettings.vue +74 -0
  553. package/templates/native-go-vue/frontend/src/nas/NasPathPicker.vue +106 -0
  554. package/templates/native-go-vue/frontend/src/nas/NasUnavailable.vue +20 -0
  555. package/templates/native-go-vue/frontend/src/nas/i18n/de.json +74 -0
  556. package/templates/native-go-vue/frontend/src/nas/i18n/en.json +74 -0
  557. package/templates/native-go-vue/frontend/src/nas/i18n/es.json +74 -0
  558. package/templates/native-go-vue/frontend/src/nas/i18n/fr.json +74 -0
  559. package/templates/native-go-vue/frontend/src/nas/i18n/it.json +74 -0
  560. package/templates/native-go-vue/frontend/src/nas/i18n/ja.json +74 -0
  561. package/templates/native-go-vue/frontend/src/nas/i18n/ko.json +74 -0
  562. package/templates/native-go-vue/frontend/src/nas/i18n/zh-CN.json +74 -0
  563. package/templates/native-go-vue/frontend/src/nas/i18n/zh-TW.json +74 -0
  564. package/templates/native-go-vue/frontend/src/nas/i18n.ts +38 -0
  565. package/templates/native-go-vue/frontend/src/nas/mock-provider.ts +119 -0
  566. package/templates/native-go-vue/frontend/src/nas/provider.ts +59 -0
  567. package/templates/native-go-vue/frontend/src/nas/use-request.ts +27 -0
  568. package/templates/native-go-vue/frontend/src/style.css +31 -0
  569. package/templates/native-go-vue/frontend/test/apps.test.ts +190 -0
  570. package/templates/native-go-vue/frontend/test/nas-provider.test.ts +81 -0
  571. package/templates/native-go-vue/frontend/test/nas-request.test.ts +21 -0
  572. package/templates/native-go-vue/frontend/test/nas-ui.test.ts +261 -0
  573. package/templates/native-go-vue/frontend/tsconfig.json +1 -0
  574. package/templates/native-go-vue/frontend/vite.config.ts +10 -0
  575. package/templates/native-go-vue/gitignore +2 -0
  576. package/dist/attestation/app-package.d.ts +0 -86
  577. package/dist/attestation/app-package.js +0 -206
  578. package/dist/attestation/install-on-host.d.ts +0 -14
  579. package/dist/attestation/install-on-host.js +0 -52
  580. package/dist/attestation/keyring.d.ts +0 -21
  581. package/dist/attestation/keyring.js +0 -168
  582. package/dist/attestation/platform-service.d.ts +0 -70
  583. package/dist/attestation/platform-service.js +0 -250
  584. package/dist/build-spk/broker-glue.d.ts +0 -16
  585. package/dist/build-spk/broker-glue.js +0 -40
  586. package/dist/deploy/catalog-publish.d.ts +0 -3
  587. package/dist/deploy/catalog-publish.js +0 -7
  588. package/dist/doctor.d.ts +0 -22
  589. package/dist/doctor.js +0 -822
  590. package/dist/error-collector.d.ts +0 -2
  591. package/dist/error-collector.js +0 -46
  592. package/dist/host/broker-paths.d.ts +0 -1
  593. package/dist/host/broker-paths.js +0 -1
  594. package/dist/host/broker-upgrade-preflight.d.ts +0 -61
  595. package/dist/host/broker-upgrade-preflight.js +0 -156
  596. package/dist/host/digests.d.ts +0 -5
  597. package/dist/host/digests.js +0 -63
  598. package/dist/host/fake-nas.d.ts +0 -49
  599. package/dist/host/fake-nas.js +0 -193
  600. package/dist/mock-broker/bootstrap.d.ts +0 -2
  601. package/dist/mock-broker/bootstrap.js +0 -8
  602. package/dist/mock-broker/files.d.ts +0 -60
  603. package/dist/mock-broker/files.js +0 -408
  604. package/dist/mock-broker/oidc.d.ts +0 -31
  605. package/dist/mock-broker/oidc.js +0 -161
  606. package/dist/mock-broker/path.d.ts +0 -9
  607. package/dist/mock-broker/path.js +0 -50
  608. package/dist/mock-broker/server.d.ts +0 -19
  609. package/dist/mock-broker/server.js +0 -350
  610. package/dist/publish/build-ledger.d.ts +0 -22
  611. package/dist/publish/build-ledger.js +0 -26
  612. package/dist/publish/community-path.d.ts +0 -6
  613. package/dist/publish/community-path.js +0 -41
  614. package/dist/publish/curated-release.d.ts +0 -78
  615. package/dist/publish/curated-release.js +0 -883
  616. package/dist/publish/file-build-ledger.d.ts +0 -18
  617. package/dist/publish/file-build-ledger.js +0 -268
  618. package/dist/publish/github-pr.d.ts +0 -25
  619. package/dist/publish/github-pr.js +0 -85
  620. package/dist/publish/github-repo.d.ts +0 -8
  621. package/dist/publish/github-repo.js +0 -21
  622. package/dist/publish/platform-service-release.d.ts +0 -60
  623. package/dist/publish/platform-service-release.js +0 -333
  624. package/dist/publish/preflight.d.ts +0 -24
  625. package/dist/publish/preflight.js +0 -138
  626. package/dist/publish/publish.d.ts +0 -27
  627. package/dist/publish/publish.js +0 -136
  628. package/dist/publish/sync-definition.d.ts +0 -4
  629. package/dist/publish/sync-definition.js +0 -48
  630. package/dist/release-bin.d.ts +0 -2
  631. package/dist/release-bin.js +0 -23
  632. package/dist/templates/hello-web/html/sdk.js +0 -68
  633. package/dist/templates/hello-web-page/html/sdk.js +0 -68
  634. package/dist/templates/native/synology-app.yaml +0 -7
  635. package/dist/test-host.d.ts +0 -15
  636. package/dist/test-host.js +0 -37
  637. package/templates/hello-web/html/sdk.js +0 -68
  638. package/templates/hello-web-page/html/sdk.js +0 -68
  639. package/templates/native/synology-app.yaml +0 -7
  640. /package/dist/templates/{native → binary}/native.yaml +0 -0
  641. /package/templates/{native → binary}/native.yaml +0 -0
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "Acceso a carpetas NAS",
3
+ "mock": "Vista previa simulada — no se cambian archivos ni permisos del NAS.",
4
+ "personal": "Mis carpetas",
5
+ "shared": "Carpetas compartidas de la App",
6
+ "choosePersonal": "Elegir mi carpeta",
7
+ "chooseShared": "Elegir carpeta compartida",
8
+ "refresh": "Actualizar accesos",
9
+ "emptyGrant": "No hay carpetas autorizadas. Elija una carpeta para ver el acceso de solo lectura.",
10
+ "pickerTitle": "Elegir una carpeta NAS",
11
+ "pickerHelp": "Explore las carpetas, seleccione una y revise el acceso de solo lectura.",
12
+ "roots": "Carpetas",
13
+ "back": "Volver",
14
+ "open": "Abrir {name}",
15
+ "select": "Seleccionar {name}",
16
+ "selected": "Selección: {name}",
17
+ "review": "Revisar acceso",
18
+ "cancel": "Cancelar",
19
+ "confirm": "Confirmar acceso",
20
+ "summaryTitle": "Revisar acceso a la carpeta",
21
+ "app": "App",
22
+ "scope": "Ámbito",
23
+ "folder": "Carpeta",
24
+ "actions": "Acciones permitidas",
25
+ "readOnly": "Listar carpetas, consultar metadatos y leer archivos",
26
+ "persistent": "Acceso persistente hasta que lo revoque o su vínculo deje de ser válido.",
27
+ "revokeHow": "Revoque cada carpeta aquí. Una nueva autorización crea un nuevo grant.",
28
+ "expires": "Confirme en 30 segundos.",
29
+ "loading": "Cargando carpetas…",
30
+ "emptyFolder": "Esta carpeta está vacía",
31
+ "loadMore": "Cargar más",
32
+ "state": "Estado del acceso",
33
+ "active": "Activo",
34
+ "suspended": "Suspendido — seleccione de nuevo para autorizar",
35
+ "revoked": "Revocado",
36
+ "draining": "Revocado; deteniendo transferencias",
37
+ "cleanup": "Revocado; limpieza pendiente de verificación",
38
+ "createdAt": "Creado",
39
+ "revoke": "Revocar",
40
+ "revokeTitle": "¿Revocar acceso a la carpeta?",
41
+ "revokeWarning": "Detener nuevos accesos y transferencias en curso. Los datos ya enviados o escritos no se restaurarán.",
42
+ "confirmRevoke": "Confirmar revocación",
43
+ "noticeCreated": "Acceso a la carpeta añadido.",
44
+ "errorTitle": "No se pudo actualizar el acceso a la carpeta",
45
+ "errorDenied": "Acceso denegado. Elija una carpeta visible para su cuenta actual.",
46
+ "errorExpired": "La selección o confirmación ha caducado. Cancele y elija de nuevo la carpeta.",
47
+ "errorStale": "La sesión o selección ha cambiado. Cancele y elija de nuevo la carpeta.",
48
+ "errorUnavailable": "El servicio de carpetas no está disponible. Pida a un administrador que revise la integración y los servicios de carpetas personales.",
49
+ "errorBusy": "Se ha alcanzado el límite de solicitudes. Espere y vuelva a intentarlo.",
50
+ "errorCanceled": "Solicitud cancelada. Elija de nuevo la carpeta cuando esté listo.",
51
+ "errorInternal": "La solicitud falló. Actualice los accesos antes de volver a intentarlo.",
52
+ "retry": "Reintentar",
53
+ "close": "Cerrar",
54
+ "selection": "Seleccionar carpeta",
55
+ "actionList": "Listar carpetas",
56
+ "actionStat": "Consultar metadatos",
57
+ "actionRead": "Leer archivos",
58
+ "pilotOff": "Piloto de cuentas administradas: desactivado",
59
+ "pilotRestrictions": "Se requiere aprobación del administrador y un proceso verificado de mantenimiento de cuentas. Los cambios de cuenta o una identidad no verificada revocan el acceso y requieren un nuevo inicio de sesión y aprobación. Esta versión no permite activar el piloto.",
60
+ "unavailableTitle": "Aún no disponible",
61
+ "unavailableMessage": "Las autorizaciones de carpetas NAS y las operaciones con archivos aún no están disponibles. Actualmente no se pueden verificar las pruebas nativas de identidad y permisos necesarias.",
62
+ "pilotUnavailable": "El piloto B de cuentas administradas es experimental y no se puede activar.",
63
+ "noUnlock": "Activar la integración o volver a iniciar sesión no desbloquea el acceso a los archivos NAS.",
64
+ "errorUnknownMethod": "Esta versión del paquete no proporciona este método.",
65
+ "errorNativeProof": "La prueba nativa de identidad o permisos necesaria no está disponible. El acceso al NAS permanece cerrado.",
66
+ "errorSession": "La sesión DSM ha caducado. Vuelva a iniciar sesión para restaurar la sesión de la app; el acceso a archivos NAS sigue sin estar disponible.",
67
+ "errorAuthentication": "La autenticación DSM no está disponible. Actualice el estado de la app más tarde.",
68
+ "errorUnsupported": "Las operaciones con archivos NAS no están disponibles en esta compilación.",
69
+ "healthPending": "Revalidación temporal en curso",
70
+ "healthPendingHelp": "La integración se está revalidando temporalmente. Espere y actualice. No se permite ningún acceso nuevo hasta que finalice la verificación.",
71
+ "relaxedRisk": "Con la identidad flexible, las cuentas recreadas con el mismo UID y username pueden conservar las autorizaciones.",
72
+ "relaxedReauthorize": "Un cambio de UID o username invalida todas sus autorizaciones y requiere autorizarlas de nuevo.",
73
+ "relaxedPermissions": "Las operaciones usan su UID y sus grupos, dentro de los permisos del NAS y las carpetas autorizadas. Se deniega el acceso a cuentas deshabilitadas o sin permiso para la aplicación."
74
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "Accès aux dossiers NAS",
3
+ "mock": "Aperçu simulé — aucun fichier ni aucune permission NAS ne sont modifiés.",
4
+ "personal": "Mes dossiers",
5
+ "shared": "Dossiers partagés de l’App",
6
+ "choosePersonal": "Choisir mon dossier",
7
+ "chooseShared": "Choisir un dossier partagé",
8
+ "refresh": "Actualiser les accès",
9
+ "emptyGrant": "Aucun dossier autorisé. Choisissez un dossier pour prévisualiser l’accès en lecture seule.",
10
+ "pickerTitle": "Choisir un dossier NAS",
11
+ "pickerHelp": "Parcourez les dossiers, sélectionnez-en un, puis vérifiez l’accès en lecture seule.",
12
+ "roots": "Dossiers",
13
+ "back": "Retour",
14
+ "open": "Ouvrir {name}",
15
+ "select": "Sélectionner {name}",
16
+ "selected": "Sélection : {name}",
17
+ "review": "Vérifier l’accès",
18
+ "cancel": "Annuler",
19
+ "confirm": "Confirmer l’accès",
20
+ "summaryTitle": "Vérifier l’accès au dossier",
21
+ "app": "App",
22
+ "scope": "Portée",
23
+ "folder": "Dossier",
24
+ "actions": "Actions autorisées",
25
+ "readOnly": "Lister les dossiers, consulter les métadonnées et lire les fichiers",
26
+ "persistent": "Accès persistant jusqu’à sa révocation ou l’invalidation de sa liaison.",
27
+ "revokeHow": "Révoquez chaque dossier ici. Une nouvelle autorisation crée un nouveau grant.",
28
+ "expires": "Confirmez dans les 30 secondes.",
29
+ "loading": "Chargement des dossiers…",
30
+ "emptyFolder": "Ce dossier est vide",
31
+ "loadMore": "Charger davantage",
32
+ "state": "État de l’accès",
33
+ "active": "Actif",
34
+ "suspended": "Suspendu — sélectionnez à nouveau pour autoriser",
35
+ "revoked": "Révoqué",
36
+ "draining": "Révoqué ; arrêt des transferts en cours",
37
+ "cleanup": "Révoqué ; nettoyage à vérifier",
38
+ "createdAt": "Créé",
39
+ "revoke": "Révoquer",
40
+ "revokeTitle": "Révoquer l’accès au dossier ?",
41
+ "revokeWarning": "Arrêter les nouveaux accès et les transferts en cours. Les données déjà envoyées ou écrites ne seront pas restaurées.",
42
+ "confirmRevoke": "Confirmer la révocation",
43
+ "noticeCreated": "Accès au dossier ajouté.",
44
+ "errorTitle": "Impossible de mettre à jour l’accès au dossier",
45
+ "errorDenied": "Accès refusé. Choisissez un dossier visible par votre compte actuel.",
46
+ "errorExpired": "La sélection ou la confirmation a expiré. Annulez puis choisissez à nouveau le dossier.",
47
+ "errorStale": "La session ou la sélection a changé. Annulez puis choisissez à nouveau le dossier.",
48
+ "errorUnavailable": "Service de dossiers indisponible. Demandez à un administrateur de vérifier l’intégration et les services de dossiers personnels.",
49
+ "errorBusy": "Limite de requêtes atteinte. Patientez puis réessayez.",
50
+ "errorCanceled": "Requête annulée. Choisissez à nouveau le dossier lorsque vous êtes prêt.",
51
+ "errorInternal": "Échec de la requête. Actualisez les accès avant de réessayer.",
52
+ "retry": "Réessayer",
53
+ "close": "Fermer",
54
+ "selection": "Sélectionner un dossier",
55
+ "actionList": "Lister les dossiers",
56
+ "actionStat": "Consulter les métadonnées",
57
+ "actionRead": "Lire les fichiers",
58
+ "pilotOff": "Pilote de comptes gérés : désactivé",
59
+ "pilotRestrictions": "Une approbation administrateur et une procédure de maintenance des comptes vérifiée sont requises. Un changement de compte ou une identité non vérifiée révoque l’accès et exige une nouvelle connexion et approbation. Cette version ne permet pas d’activer le pilote.",
60
+ "unavailableTitle": "Pas encore disponible",
61
+ "unavailableMessage": "Les autorisations de dossiers NAS et les opérations sur les fichiers ne sont pas encore disponibles. Les preuves natives d’identité et de permissions requises ne peuvent pas être vérifiées actuellement.",
62
+ "pilotUnavailable": "Le pilote B de comptes gérés est experimental et ne peut pas être activé.",
63
+ "noUnlock": "Activer l’intégration ou se reconnecter ne débloque pas l’accès aux fichiers NAS.",
64
+ "errorUnknownMethod": "Cette version du paquet ne fournit pas cette méthode.",
65
+ "errorNativeProof": "La preuve native d’identité ou de permissions requise est indisponible. L’accès au NAS reste fermé.",
66
+ "errorSession": "Votre session DSM a expiré. Reconnectez-vous pour restaurer la session de l’application ; l’accès aux fichiers NAS reste indisponible.",
67
+ "errorAuthentication": "L’authentification DSM est indisponible. Actualisez l’état de l’application plus tard.",
68
+ "errorUnsupported": "Les opérations sur les fichiers NAS ne sont pas disponibles dans cette version.",
69
+ "healthPending": "Revalidation temporaire en cours",
70
+ "healthPendingHelp": "L’intégration est temporairement en cours de revalidation. Patientez, puis actualisez. Aucun nouvel accès n’est disponible avant la fin de la vérification.",
71
+ "relaxedRisk": "Avec une identité souple, un compte recréé avec le même UID et le même username peut conserver les autorisations.",
72
+ "relaxedReauthorize": "Un changement d’UID ou de username invalide toutes vos autorisations et impose une nouvelle autorisation.",
73
+ "relaxedPermissions": "Les opérations utilisent votre UID et vos groupes, dans les limites des permissions NAS et des dossiers autorisés. Les comptes désactivés ou les droits d’accès à l’application révoqués sont refusés."
74
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "Accesso alle cartelle NAS",
3
+ "mock": "Anteprima simulata — nessun file o permesso NAS viene modificato.",
4
+ "personal": "Le mie cartelle",
5
+ "shared": "Cartelle condivise dell’App",
6
+ "choosePersonal": "Scegli la mia cartella",
7
+ "chooseShared": "Scegli cartella condivisa",
8
+ "refresh": "Aggiorna accessi",
9
+ "emptyGrant": "Nessuna cartella autorizzata. Scegli una cartella per visualizzare l’accesso in sola lettura.",
10
+ "pickerTitle": "Scegli una cartella NAS",
11
+ "pickerHelp": "Sfoglia le cartelle, selezionane una e verifica l’accesso in sola lettura.",
12
+ "roots": "Cartelle",
13
+ "back": "Indietro",
14
+ "open": "Apri {name}",
15
+ "select": "Seleziona {name}",
16
+ "selected": "Selezione: {name}",
17
+ "review": "Verifica accesso",
18
+ "cancel": "Annulla",
19
+ "confirm": "Conferma accesso",
20
+ "summaryTitle": "Verifica accesso alla cartella",
21
+ "app": "App",
22
+ "scope": "Ambito",
23
+ "folder": "Cartella",
24
+ "actions": "Azioni consentite",
25
+ "readOnly": "Elencare cartelle, consultare metadati e leggere file",
26
+ "persistent": "Accesso persistente fino alla revoca o all’invalidazione del collegamento.",
27
+ "revokeHow": "Revoca le singole cartelle qui. Una nuova autorizzazione crea un nuovo grant.",
28
+ "expires": "Conferma entro 30 secondi.",
29
+ "loading": "Caricamento cartelle…",
30
+ "emptyFolder": "Questa cartella è vuota",
31
+ "loadMore": "Carica altro",
32
+ "state": "Stato dell’accesso",
33
+ "active": "Attivo",
34
+ "suspended": "Sospeso — seleziona di nuovo per autorizzare",
35
+ "revoked": "Revocato",
36
+ "draining": "Revocato; arresto dei trasferimenti",
37
+ "cleanup": "Revocato; pulizia da verificare",
38
+ "createdAt": "Creato",
39
+ "revoke": "Revoca",
40
+ "revokeTitle": "Revocare l’accesso alla cartella?",
41
+ "revokeWarning": "Interrompere nuovi accessi e trasferimenti in corso. I dati già inviati o scritti non verranno ripristinati.",
42
+ "confirmRevoke": "Conferma revoca",
43
+ "noticeCreated": "Accesso alla cartella aggiunto.",
44
+ "errorTitle": "Impossibile aggiornare l’accesso alla cartella",
45
+ "errorDenied": "Accesso negato. Scegli una cartella visibile all’account attuale.",
46
+ "errorExpired": "La selezione o conferma è scaduta. Annulla e scegli di nuovo la cartella.",
47
+ "errorStale": "La sessione o selezione è cambiata. Annulla e scegli di nuovo la cartella.",
48
+ "errorUnavailable": "Servizio cartelle non disponibile. Chiedi a un amministratore di verificare l’integrazione e i servizi delle cartelle personali.",
49
+ "errorBusy": "Limite di richieste raggiunto. Attendi e riprova.",
50
+ "errorCanceled": "Richiesta annullata. Scegli di nuovo la cartella quando sei pronto.",
51
+ "errorInternal": "Richiesta non riuscita. Aggiorna gli accessi prima di riprovare.",
52
+ "retry": "Riprova",
53
+ "close": "Chiudi",
54
+ "selection": "Seleziona cartella",
55
+ "actionList": "Elencare cartelle",
56
+ "actionStat": "Consultare metadati",
57
+ "actionRead": "Leggere file",
58
+ "pilotOff": "Progetto pilota per account gestiti: disattivato",
59
+ "pilotRestrictions": "Sono necessari l’approvazione di un amministratore e un processo verificato di manutenzione degli account. Le modifiche agli account o un’identità non verificata revocano l’accesso e richiedono un nuovo accesso e una nuova approvazione. Questa versione non consente di attivare il progetto pilota.",
60
+ "unavailableTitle": "Non ancora disponibile",
61
+ "unavailableMessage": "Le autorizzazioni delle cartelle NAS e le operazioni sui file non sono ancora disponibili. Le prove native di identità e autorizzazione richieste non possono essere verificate al momento.",
62
+ "pilotUnavailable": "Il progetto pilota B per gli account gestiti è experimental e non può essere attivato.",
63
+ "noUnlock": "Abilitare l’integrazione o accedere nuovamente non sblocca l’accesso ai file NAS.",
64
+ "errorUnknownMethod": "Questa versione del pacchetto non fornisce questo metodo.",
65
+ "errorNativeProof": "La prova nativa di identità o autorizzazione richiesta non è disponibile. L’accesso al NAS rimane chiuso.",
66
+ "errorSession": "La sessione DSM è scaduta. Accedi nuovamente per ripristinare la sessione dell’app; l’accesso ai file NAS rimane non disponibile.",
67
+ "errorAuthentication": "L’autenticazione DSM non è disponibile. Aggiorna lo stato dell’app in seguito.",
68
+ "errorUnsupported": "Le operazioni sui file NAS non sono disponibili in questa build.",
69
+ "healthPending": "Riconvalida temporanea in corso",
70
+ "healthPendingHelp": "L’integrazione è temporaneamente in fase di riconvalida. Attendi, poi aggiorna. Non è disponibile alcun nuovo accesso finché la verifica non è completata.",
71
+ "relaxedRisk": "Con l’identità flessibile, gli account ricreati con lo stesso UID e username possono mantenere le autorizzazioni.",
72
+ "relaxedReauthorize": "Una modifica di UID o username invalida tutte le autorizzazioni e richiede una nuova autorizzazione.",
73
+ "relaxedPermissions": "Le operazioni usano il tuo UID e i tuoi gruppi, nei limiti dei permessi NAS e delle cartelle autorizzate. Gli account disabilitati o senza permesso per l’app non possono accedere."
74
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "NAS フォルダーのアクセス権",
3
+ "mock": "モックプレビュー — NAS のファイルや権限は変更されません。",
4
+ "personal": "自分のフォルダー",
5
+ "shared": "App の共有フォルダー",
6
+ "choosePersonal": "自分のフォルダーを選択",
7
+ "chooseShared": "共有フォルダーを選択",
8
+ "refresh": "アクセス権を更新",
9
+ "emptyGrant": "許可されたフォルダーはありません。読み取り専用アクセスをプレビューするフォルダーを選択してください。",
10
+ "pickerTitle": "NAS フォルダーを選択",
11
+ "pickerHelp": "フォルダーを参照して選択し、読み取り専用アクセスを確認します。",
12
+ "roots": "フォルダー",
13
+ "back": "戻る",
14
+ "open": "{name} を開く",
15
+ "select": "{name} を選択",
16
+ "selected": "選択済み:{name}",
17
+ "review": "アクセス権を確認",
18
+ "cancel": "キャンセル",
19
+ "confirm": "アクセスを許可",
20
+ "summaryTitle": "フォルダーのアクセス権を確認",
21
+ "app": "App",
22
+ "scope": "範囲",
23
+ "folder": "フォルダー",
24
+ "actions": "許可される操作",
25
+ "readOnly": "フォルダー一覧、メタデータの確認、ファイルの読み取り",
26
+ "persistent": "取り消しまたはバインディングの無効化までアクセスが継続します。",
27
+ "revokeHow": "ここで個別に取り消せます。再許可すると新しい grant が作成されます。",
28
+ "expires": "30 秒以内に確認してください。",
29
+ "loading": "フォルダーを読み込み中…",
30
+ "emptyFolder": "このフォルダーは空です",
31
+ "loadMore": "さらに読み込む",
32
+ "state": "アクセス状態",
33
+ "active": "有効",
34
+ "suspended": "一時停止 — 再選択して許可してください",
35
+ "revoked": "取り消し済み",
36
+ "draining": "取り消し済み、転送を停止中",
37
+ "cleanup": "取り消し済み、クリーンアップの確認が必要",
38
+ "createdAt": "作成日時",
39
+ "revoke": "取り消す",
40
+ "revokeTitle": "フォルダーのアクセス権を取り消しますか?",
41
+ "revokeWarning": "新しいアクセスと進行中の転送を停止します。送信済みまたは書き込み済みのデータは元に戻りません。",
42
+ "confirmRevoke": "取り消しを確認",
43
+ "noticeCreated": "フォルダーのアクセス権を追加しました。",
44
+ "errorTitle": "フォルダーのアクセス権を更新できませんでした",
45
+ "errorDenied": "アクセスが拒否されました。現在のアカウントで表示できるフォルダーを選択してください。",
46
+ "errorExpired": "選択または確認の期限が切れました。キャンセルしてフォルダーを選び直してください。",
47
+ "errorStale": "セッションまたは選択が変更されました。キャンセルしてフォルダーを選び直してください。",
48
+ "errorUnavailable": "フォルダーサービスを利用できません。管理者に統合とホームサービスの確認を依頼してください。",
49
+ "errorBusy": "リクエストの上限に達しました。しばらくしてから再試行してください。",
50
+ "errorCanceled": "リクエストはキャンセルされました。準備ができたらフォルダーを選び直してください。",
51
+ "errorInternal": "リクエストに失敗しました。アクセス権を更新してから再試行してください。",
52
+ "retry": "再試行",
53
+ "close": "閉じる",
54
+ "selection": "フォルダーを選択",
55
+ "actionList": "フォルダー一覧",
56
+ "actionStat": "メタデータの確認",
57
+ "actionRead": "ファイルの読み取り",
58
+ "pilotOff": "管理対象アカウントの試験運用:無効",
59
+ "pilotRestrictions": "管理者の承認と検証済みのアカウント保守手順が必要です。アカウント変更や本人確認ができない場合はアクセスを取り消し、再ログインと再承認が必要になります。このバージョンでは試験運用を有効にできません。",
60
+ "unavailableTitle": "まだ利用できません",
61
+ "unavailableMessage": "NAS フォルダーの許可とファイル操作はまだ利用できません。必要なネイティブ ID と権限の証明を現在検証できません。",
62
+ "pilotUnavailable": "管理対象アカウントの試験 B は experimental で、有効にできません。",
63
+ "noUnlock": "統合を有効にしたり再ログインしたりしても、NAS ファイルへのアクセスは開放されません。",
64
+ "errorUnknownMethod": "このパッケージのバージョンはこのメソッドを提供していません。",
65
+ "errorNativeProof": "必要なネイティブ ID または権限の証明を確認できないため、NAS アクセスは閉じたままです。",
66
+ "errorSession": "DSM セッションが期限切れです。再ログインでアプリのセッションを復元できますが、NAS ファイルへのアクセスは利用できません。",
67
+ "errorAuthentication": "DSM 認証を利用できません。後でアプリの状態を更新してください。",
68
+ "errorUnsupported": "このビルドでは NAS ファイル操作を利用できません。",
69
+ "healthPending": "一時的に再検証中",
70
+ "healthPendingHelp": "連携を一時的に再検証しています。しばらく待ってから更新してください。検証が完了するまで新しいアクセス権は取得できません。",
71
+ "relaxedRisk": "緩やかな識別を選択すると、同じ UID と username で再作成されたアカウントが既存の許可を引き継ぐ場合があります。",
72
+ "relaxedReauthorize": "UID または username が変わると、すべての許可が無効になり、再承認が必要です。",
73
+ "relaxedPermissions": "ファイル操作は本人の UID とグループで実行され、NAS の権限と承認済みフォルダーに制限されます。無効なアカウントやアプリ権限の撤回はアクセス拒否となります。"
74
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "NAS 폴더 접근 권한",
3
+ "mock": "모의 미리 보기 — NAS 파일이나 권한은 변경되지 않습니다.",
4
+ "personal": "내 폴더",
5
+ "shared": "App 공유 폴더",
6
+ "choosePersonal": "내 폴더 선택",
7
+ "chooseShared": "공유 폴더 선택",
8
+ "refresh": "접근 권한 새로 고침",
9
+ "emptyGrant": "허용된 폴더가 없습니다. 읽기 전용 접근을 미리 볼 폴더를 선택하세요.",
10
+ "pickerTitle": "NAS 폴더 선택",
11
+ "pickerHelp": "폴더를 찾아 선택한 다음 읽기 전용 접근 권한을 검토하세요.",
12
+ "roots": "폴더",
13
+ "back": "뒤로",
14
+ "open": "{name} 열기",
15
+ "select": "{name} 선택",
16
+ "selected": "선택됨: {name}",
17
+ "review": "접근 권한 검토",
18
+ "cancel": "취소",
19
+ "confirm": "접근 허용",
20
+ "summaryTitle": "폴더 접근 권한 검토",
21
+ "app": "App",
22
+ "scope": "범위",
23
+ "folder": "폴더",
24
+ "actions": "허용된 작업",
25
+ "readOnly": "폴더 목록, 메타데이터 확인 및 파일 읽기",
26
+ "persistent": "취소하거나 바인딩이 무효화될 때까지 접근이 유지됩니다.",
27
+ "revokeHow": "여기에서 폴더별로 취소할 수 있습니다. 다시 허용하면 새 grant가 생성됩니다.",
28
+ "expires": "30초 이내에 확인하세요.",
29
+ "loading": "폴더 불러오는 중…",
30
+ "emptyFolder": "이 폴더는 비어 있습니다",
31
+ "loadMore": "더 불러오기",
32
+ "state": "접근 상태",
33
+ "active": "활성",
34
+ "suspended": "일시 중단 — 다시 선택하여 허용하세요",
35
+ "revoked": "취소됨",
36
+ "draining": "취소됨; 전송 중지 중",
37
+ "cleanup": "취소됨; 정리 확인 필요",
38
+ "createdAt": "생성 시간",
39
+ "revoke": "권한 취소",
40
+ "revokeTitle": "폴더 접근 권한을 취소할까요?",
41
+ "revokeWarning": "새 접근과 진행 중인 전송을 중지합니다. 이미 전송되거나 기록된 데이터는 되돌리지 않습니다.",
42
+ "confirmRevoke": "취소 확인",
43
+ "noticeCreated": "폴더 접근 권한이 추가되었습니다.",
44
+ "errorTitle": "폴더 접근 권한을 갱신할 수 없습니다",
45
+ "errorDenied": "접근이 거부되었습니다. 현재 계정에서 볼 수 있는 폴더를 선택하세요.",
46
+ "errorExpired": "선택 또는 확인 시간이 만료되었습니다. 취소한 후 폴더를 다시 선택하세요.",
47
+ "errorStale": "세션 또는 선택이 변경되었습니다. 취소한 후 폴더를 다시 선택하세요.",
48
+ "errorUnavailable": "폴더 서비스를 사용할 수 없습니다. 관리자에게 통합 및 홈 서비스 확인을 요청하세요.",
49
+ "errorBusy": "요청 한도에 도달했습니다. 잠시 후 다시 시도하세요.",
50
+ "errorCanceled": "요청이 취소되었습니다. 준비되면 폴더를 다시 선택하세요.",
51
+ "errorInternal": "요청에 실패했습니다. 접근 권한을 새로 고친 후 다시 시도하세요.",
52
+ "retry": "다시 시도",
53
+ "close": "닫기",
54
+ "selection": "폴더 선택",
55
+ "actionList": "폴더 목록",
56
+ "actionStat": "메타데이터 확인",
57
+ "actionRead": "파일 읽기",
58
+ "pilotOff": "관리 계정 시범 운영: 꺼짐",
59
+ "pilotRestrictions": "관리자 승인과 검증된 계정 유지 관리 절차가 필요합니다. 계정이 변경되거나 신원을 확인할 수 없으면 접근 권한이 취소되며 다시 로그인하고 승인받아야 합니다. 이 버전에서는 시범 운영을 활성화할 수 없습니다.",
60
+ "unavailableTitle": "아직 사용할 수 없음",
61
+ "unavailableMessage": "NAS 폴더 권한 부여 및 파일 작업은 아직 사용할 수 없습니다. 필요한 네이티브 ID 및 권한 증명을 현재 확인할 수 없습니다.",
62
+ "pilotUnavailable": "관리 계정 파일럿 B는 experimental이며 활성화할 수 없습니다.",
63
+ "noUnlock": "통합을 활성화하거나 다시 로그인해도 NAS 파일 접근은 열리지 않습니다.",
64
+ "errorUnknownMethod": "이 패키지 버전은 이 메서드를 제공하지 않습니다.",
65
+ "errorNativeProof": "필요한 네이티브 ID 또는 권한 증명을 확인할 수 없어 NAS 접근이 계속 차단됩니다.",
66
+ "errorSession": "DSM 세션이 만료되었습니다. 다시 로그인하면 앱 세션이 복원되지만 NAS 파일 접근은 계속 사용할 수 없습니다.",
67
+ "errorAuthentication": "DSM 인증을 사용할 수 없습니다. 나중에 앱 상태를 새로 고치세요.",
68
+ "errorUnsupported": "이 빌드에서는 NAS 파일 작업을 사용할 수 없습니다.",
69
+ "healthPending": "일시적으로 재검증 중",
70
+ "healthPendingHelp": "통합 서비스를 일시적으로 재검증하고 있습니다. 잠시 기다린 후 새로 고치세요. 검증이 완료될 때까지 새 접근 권한을 얻을 수 없습니다.",
71
+ "relaxedRisk": "완화된 계정 식별을 선택하면 같은 UID와 username으로 다시 만든 계정이 기존 권한을 이어받을 수 있습니다.",
72
+ "relaxedReauthorize": "UID 또는 username이 바뀌면 모든 승인이 무효화되며 다시 승인해야 합니다.",
73
+ "relaxedPermissions": "파일 작업은 사용자의 UID와 그룹으로 실행되며 NAS 권한과 승인된 폴더 범위로 제한됩니다. 비활성 계정이나 앱 권한 철회 시 접근이 거부됩니다."
74
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "NAS 文件夹授权",
3
+ "mock": "模拟预览 — 不会更改 NAS 文件或权限。",
4
+ "personal": "我的文件夹",
5
+ "shared": "App 共享文件夹",
6
+ "choosePersonal": "选择我的文件夹",
7
+ "chooseShared": "选择共享文件夹",
8
+ "refresh": "刷新授权",
9
+ "emptyGrant": "尚未授权文件夹。选择文件夹以预览只读访问。",
10
+ "pickerTitle": "选择 NAS 文件夹",
11
+ "pickerHelp": "浏览文件夹,选择一个,再查看只读授权。",
12
+ "roots": "文件夹",
13
+ "back": "返回",
14
+ "open": "打开 {name}",
15
+ "select": "选择 {name}",
16
+ "selected": "已选择:{name}",
17
+ "review": "查看授权",
18
+ "cancel": "取消",
19
+ "confirm": "确认授权",
20
+ "summaryTitle": "查看文件夹授权",
21
+ "app": "App",
22
+ "scope": "范围",
23
+ "folder": "文件夹",
24
+ "actions": "允许的操作",
25
+ "readOnly": "列出文件夹、查看元数据及读取文件",
26
+ "persistent": "持续授权 — 直到您撤权或绑定失效。",
27
+ "revokeHow": "可在此逐一撤权。重新授权会创建新的 grant。",
28
+ "expires": "请在 30 秒内确认。",
29
+ "loading": "正在加载文件夹…",
30
+ "emptyFolder": "此文件夹为空",
31
+ "loadMore": "加载更多",
32
+ "state": "授权状态",
33
+ "active": "有效",
34
+ "suspended": "已暂停 — 请重新选择并授权",
35
+ "revoked": "已撤权",
36
+ "draining": "已撤权,正在停止传输",
37
+ "cleanup": "已撤权,清理待确认",
38
+ "createdAt": "创建时间",
39
+ "revoke": "撤权",
40
+ "revokeTitle": "撤销文件夹授权?",
41
+ "revokeWarning": "停止新的访问,并停止正在进行的传输。已发送或已写入的数据不会还原。",
42
+ "confirmRevoke": "确认撤权",
43
+ "noticeCreated": "已新增文件夹授权。",
44
+ "errorTitle": "无法更新文件夹授权",
45
+ "errorDenied": "访问被拒绝。请选择当前账号可见的文件夹。",
46
+ "errorExpired": "选择或确认已过期。请取消后重新选择文件夹。",
47
+ "errorStale": "会话或选择已更改。请取消后重新选择文件夹。",
48
+ "errorUnavailable": "文件夹服务不可用。请管理员检查集成及主目录服务。",
49
+ "errorBusy": "已达请求上限。请稍候再试。",
50
+ "errorCanceled": "请求已取消。准备好时请重新选择文件夹。",
51
+ "errorInternal": "请求失败。请先刷新授权,再重试。",
52
+ "retry": "重试",
53
+ "close": "关闭",
54
+ "selection": "选择文件夹",
55
+ "actionList": "列出文件夹",
56
+ "actionStat": "查看元数据",
57
+ "actionRead": "读取文件",
58
+ "pilotOff": "受管账号试点:关闭",
59
+ "pilotRestrictions": "需要管理员批准及已验证的账号维护流程。账号变更或身份无法确认时会撤销访问,并要求重新登录及批准。此版本尚无法启用试点。",
60
+ "unavailableTitle": "尚未开放",
61
+ "unavailableMessage": "NAS 文件夹授权及文件操作尚未开放,目前无法验证必要的原生身份与权限证明。",
62
+ "pilotUnavailable": "受管账号试点 B 为 experimental,无法启用。",
63
+ "noUnlock": "启用集成或重新登录不会解锁 NAS 文件访问。",
64
+ "errorUnknownMethod": "此套件版本未提供这个方法。",
65
+ "errorNativeProof": "必要的原生身份或权限证明无法确认,NAS 访问保持关闭。",
66
+ "errorSession": "DSM 会话已过期。重新登录可恢复 App 会话;NAS 文件访问仍未开放。",
67
+ "errorAuthentication": "DSM 身份验证不可用,请稍后刷新 App 状态。",
68
+ "errorUnsupported": "此版本尚未开放 NAS 文件操作。",
69
+ "healthPending": "暂时重新验证中",
70
+ "healthPendingHelp": "集成服务暂时重新验证中。请稍候再刷新;验证完成前无法获取新的访问权限。",
71
+ "relaxedRisk": "选择宽松身份时,同 UID 且同 username 的账号删除后重建可能沿用授权。",
72
+ "relaxedReauthorize": "UID 或 username 改变会作废您的全部授权,必须重新授权。",
73
+ "relaxedPermissions": "文件操作以您的 UID 与群组执行,受 NAS 权限与已授权文件夹限制。账号停用或 App 权限撤销时拒绝访问。"
74
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "title": "NAS 資料夾授權",
3
+ "mock": "模擬預覽 — 不會變更 NAS 檔案或權限。",
4
+ "personal": "我的資料夾",
5
+ "shared": "App 共用資料夾",
6
+ "choosePersonal": "選擇我的資料夾",
7
+ "chooseShared": "選擇共用資料夾",
8
+ "refresh": "重新整理授權",
9
+ "emptyGrant": "尚未授權資料夾。選擇資料夾以預覽唯讀存取。",
10
+ "pickerTitle": "選擇 NAS 資料夾",
11
+ "pickerHelp": "瀏覽資料夾,選取一個,再檢視唯讀授權。",
12
+ "roots": "資料夾",
13
+ "back": "返回",
14
+ "open": "開啟 {name}",
15
+ "select": "選取 {name}",
16
+ "selected": "已選取:{name}",
17
+ "review": "檢視授權",
18
+ "cancel": "取消",
19
+ "confirm": "確認授權",
20
+ "summaryTitle": "檢視資料夾授權",
21
+ "app": "App",
22
+ "scope": "範圍",
23
+ "folder": "資料夾",
24
+ "actions": "允許的操作",
25
+ "readOnly": "列出資料夾、檢視中繼資料及讀取檔案",
26
+ "persistent": "持續授權 — 直到您撤權或綁定失效。",
27
+ "revokeHow": "可在此逐一撤權。重新授權會建立新的 grant。",
28
+ "expires": "請在 30 秒內確認。",
29
+ "loading": "正在載入資料夾…",
30
+ "emptyFolder": "此資料夾是空的",
31
+ "loadMore": "載入更多",
32
+ "state": "授權狀態",
33
+ "active": "有效",
34
+ "suspended": "已暫停 — 請重新選取並授權",
35
+ "revoked": "已撤權",
36
+ "draining": "已撤權,正在停止傳輸",
37
+ "cleanup": "已撤權,清理待確認",
38
+ "createdAt": "建立時間",
39
+ "revoke": "撤權",
40
+ "revokeTitle": "撤銷資料夾授權?",
41
+ "revokeWarning": "停止新的存取,並停止進行中的傳輸。已傳送或已寫入的資料不會還原。",
42
+ "confirmRevoke": "確認撤權",
43
+ "noticeCreated": "已新增資料夾授權。",
44
+ "errorTitle": "無法更新資料夾授權",
45
+ "errorDenied": "存取遭拒。請選擇目前帳號可見的資料夾。",
46
+ "errorExpired": "選取或確認已過期。請取消後重新選擇資料夾。",
47
+ "errorStale": "工作階段或選取已變更。請取消後重新選擇資料夾。",
48
+ "errorUnavailable": "資料夾服務無法使用。請管理員檢查整合及家目錄服務。",
49
+ "errorBusy": "已達請求上限。請稍候再試。",
50
+ "errorCanceled": "請求已取消。準備好時請重新選擇資料夾。",
51
+ "errorInternal": "請求失敗。請先重新整理授權,再重試。",
52
+ "retry": "重試",
53
+ "close": "關閉",
54
+ "selection": "選取資料夾",
55
+ "actionList": "列出資料夾",
56
+ "actionStat": "檢視中繼資料",
57
+ "actionRead": "讀取檔案",
58
+ "pilotOff": "受管帳號試點:關閉",
59
+ "pilotRestrictions": "需要管理員核准及已驗證的帳號維護流程。帳號變更或身分無法確認時會撤銷存取,並要求重新登入及核准。此版本尚無法啟用試點。",
60
+ "unavailableTitle": "尚未開放",
61
+ "unavailableMessage": "NAS 資料夾授權及檔案操作尚未開放,目前無法驗證必要的原生身分與權限證明。",
62
+ "pilotUnavailable": "受管帳號試點 B 為 experimental,無法啟用。",
63
+ "noUnlock": "啟用整合或重新登入不會解鎖 NAS 檔案存取。",
64
+ "errorUnknownMethod": "此套件版本未提供這個方法。",
65
+ "errorNativeProof": "必要的原生身分或權限證明無法確認,NAS 存取維持關閉。",
66
+ "errorSession": "DSM 工作階段已過期。重新登入可恢復 App 工作階段;NAS 檔案存取仍未開放。",
67
+ "errorAuthentication": "DSM 身分驗證無法使用,請稍後重新整理 App 狀態。",
68
+ "errorUnsupported": "此版本尚未開放 NAS 檔案操作。",
69
+ "healthPending": "暫時重新驗證中",
70
+ "healthPendingHelp": "整合服務暫時重新驗證中。請稍候再重新整理;驗證完成前無法取得新的存取權限。",
71
+ "relaxedRisk": "選用寬鬆身分時,同 UID 且同 username 的帳號刪除後重建可能沿用授權。",
72
+ "relaxedReauthorize": "UID 或 username 改變會作廢您的全部授權,必須重新授權。",
73
+ "relaxedPermissions": "檔案操作以您的 UID 與群組執行,受 NAS 權限與已授權資料夾限制。帳號停用或 App 權限撤銷時拒絕存取。"
74
+ }
@@ -0,0 +1,38 @@
1
+ import en from './i18n/en.json'
2
+ import zhTW from './i18n/zh-TW.json'
3
+ import zhCN from './i18n/zh-CN.json'
4
+ import ja from './i18n/ja.json'
5
+ import ko from './i18n/ko.json'
6
+ import de from './i18n/de.json'
7
+ import fr from './i18n/fr.json'
8
+ import es from './i18n/es.json'
9
+ import it from './i18n/it.json'
10
+ import type {ReadAction, SafeCode} from './provider'
11
+
12
+ export type NasCopy = typeof en
13
+ export const catalogs: Record<string, NasCopy> = {en,'zh-TW':zhTW,'zh-CN':zhCN,ja,ko,de,fr,es,it}
14
+ const aliases:Record<string,string>={enu:'en',cht:'zh-TW',chs:'zh-CN',jpn:'ja',krn:'ko',ger:'de',fre:'fr',spn:'es',ita:'it'}
15
+ export function nasCopy(locale:string):NasCopy {
16
+ const normalized=locale.replaceAll('_','-')
17
+ return catalogs[aliases[normalized] ?? normalized] ?? catalogs[normalized.split('-')[0]!] ?? en
18
+ }
19
+ export function format(copy:string,name:string) {return copy.replace('{name}',name)}
20
+ export function actionCopy(actions:readonly ReadAction[],copy:NasCopy) {
21
+ const labels:Record<ReadAction,string>={'nas.files.list':copy.actionList,'nas.files.stat':copy.actionStat,'nas.files.read':copy.actionRead}
22
+ return actions.map(action=>labels[action] ?? copy.errorInternal).join(' · ')
23
+ }
24
+ export function errorCopy(error:unknown, copy:NasCopy):string {
25
+ const code=(error as {code?:SafeCode})?.code
26
+ if(code==='unknown_method') return copy.errorUnknownMethod
27
+ if(code==='session_required') return copy.errorSession
28
+ if(code==='auth_unavailable') return copy.errorAuthentication
29
+ if(code==='unavailable') return copy.errorNativeProof
30
+ if(code==='unsupported') return copy.errorUnsupported
31
+ if(code==='denied') return copy.errorDenied
32
+ if(code==='expired') return copy.errorExpired
33
+ if(['stale','replay','suspended','revoked','fenced'].includes(code ?? '')) return copy.errorStale
34
+ if(['incompatible','cleanup-required'].includes(code ?? '')) return copy.errorUnavailable
35
+ if(code==='busy' || code==='limit-exceeded') return copy.errorBusy
36
+ if(code==='canceled') return copy.errorCanceled
37
+ return copy.errorInternal // Never render a native message, path or arbitrary code.
38
+ }