@synopackageland/cli 0.5.0 → 0.6.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 (1268) hide show
  1. package/README.md +69 -38
  2. package/dist/add.d.ts +4 -0
  3. package/dist/add.js +124 -0
  4. package/dist/build-spk/delete-app-data.d.ts +3 -3
  5. package/dist/build-spk/generator.js +3 -90
  6. package/dist/build-spk/native-lifecycle.d.ts +3 -49
  7. package/dist/build-spk/native-lifecycle.js +8 -187
  8. package/dist/build-spk/notices.d.ts +1 -1
  9. package/dist/build-spk/notices.js +8 -12
  10. package/dist/build-spk/uninstall-wizard.d.ts +4 -11
  11. package/dist/build-spk/uninstall-wizard.js +6 -4
  12. package/dist/build-spk/wizard-messages.d.ts +28 -6
  13. package/dist/build-spk/wizard-messages.js +33 -11
  14. package/dist/capabilities.d.ts +4 -0
  15. package/dist/capabilities.js +12 -0
  16. package/dist/cli.js +329 -467
  17. package/dist/compose/analyze.js +2 -2
  18. package/dist/contract/unsupported-types.js +1 -1
  19. package/dist/deploy/deploy.d.ts +1 -1
  20. package/dist/deploy/deploy.js +1 -3
  21. package/dist/deploy/plan.d.ts +1 -1
  22. package/dist/deploy/plan.js +55 -24
  23. package/dist/discovery.d.ts +1 -2
  24. package/dist/discovery.js +3 -3
  25. package/dist/error-registry.js +71 -299
  26. package/dist/host/dsm-client.js +79 -7
  27. package/dist/host/dsm-port-profile.d.ts +1 -1
  28. package/dist/host/dsm-port-profile.js +1 -1
  29. package/dist/host/types.d.ts +13 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.js +1 -0
  32. package/dist/info.d.ts +20 -2
  33. package/dist/info.js +140 -0
  34. package/dist/init.d.ts +2 -14
  35. package/dist/init.js +91 -71
  36. package/dist/inspect.js +1 -1
  37. package/dist/log.d.ts +5 -0
  38. package/dist/log.js +18 -0
  39. package/dist/runtime/executor-build.d.ts +22 -0
  40. package/dist/runtime/executor-build.js +36 -0
  41. package/dist/runtime/executor-inspect.d.ts +15 -0
  42. package/dist/runtime/executor-inspect.js +32 -0
  43. package/dist/runtime/executor-policy.d.ts +25 -0
  44. package/dist/runtime/executor-policy.js +24 -0
  45. package/dist/runtime/executor-tasks.d.ts +16 -0
  46. package/dist/runtime/executor-tasks.js +28 -0
  47. package/dist/runtime/uninstall-cleanup.d.ts +7 -0
  48. package/dist/runtime/uninstall-cleanup.js +10 -0
  49. package/dist/skill.js +3 -1
  50. package/dist/standalone/api-permissions.d.ts +18 -0
  51. package/dist/standalone/api-permissions.js +63 -0
  52. package/dist/standalone/build.d.ts +1 -1
  53. package/dist/standalone/build.js +26 -28
  54. package/dist/standalone/dsm-window.js +43 -17
  55. package/dist/standalone/inspect-spk.d.ts +9 -3
  56. package/dist/standalone/inspect-spk.js +64 -57
  57. package/dist/standalone/lifecycle.d.ts +1 -1
  58. package/dist/standalone/lifecycle.js +31 -27
  59. package/dist/standalone/manifest.d.ts +17 -14
  60. package/dist/standalone/manifest.js +77 -53
  61. package/dist/standalone/resource.d.ts +2 -2
  62. package/dist/standalone/resource.js +1 -1
  63. package/dist/standalone/root-ops.d.ts +1 -28
  64. package/dist/standalone/root-ops.js +1 -58
  65. package/dist/standalone/root-window.d.ts +5 -38
  66. package/dist/standalone/root-window.js +116 -399
  67. package/dist/standalone/spk.d.ts +3 -3
  68. package/dist/standalone/spk.js +25 -36
  69. package/dist/templates/_executor/README.md +204 -0
  70. package/dist/templates/_executor/apppriv_review_test.go +28 -0
  71. package/dist/templates/_executor/auth_presence_review_test.go +38 -0
  72. package/dist/templates/_executor/cmd/lifecycle/main.go +42 -0
  73. package/dist/templates/_executor/cookie_review_test.go +27 -0
  74. package/dist/templates/_executor/digest_review_test.go +120 -0
  75. package/dist/templates/_executor/directories.go +40 -0
  76. package/dist/templates/_executor/dsm.go +319 -0
  77. package/dist/templates/_executor/dsm_test.go +196 -0
  78. package/dist/templates/_executor/executor.go +524 -0
  79. package/dist/templates/_executor/executor_test.go +284 -0
  80. package/dist/templates/_executor/go.mod +3 -0
  81. package/dist/templates/_executor/identity.go +48 -0
  82. package/dist/templates/_executor/internal/lifecycle/lifecycle.go +90 -0
  83. package/dist/templates/_executor/internal/lifecycle/lifecycle_test.go +174 -0
  84. package/dist/templates/_executor/internal/taskscript/boot.sh +31 -0
  85. package/dist/templates/_executor/internal/taskscript/cmd/main.go +19 -0
  86. package/dist/templates/_executor/internal/taskscript/control.sh +26 -0
  87. package/dist/templates/_executor/internal/taskscript/tasks.go +42 -0
  88. package/dist/templates/_executor/json_review_test.go +40 -0
  89. package/dist/templates/_executor/lifecycle_test.go +86 -0
  90. package/dist/templates/_executor/main.go +518 -0
  91. package/dist/templates/_executor/managed.go +117 -0
  92. package/dist/templates/_executor/managed_test.go +137 -0
  93. package/dist/templates/_executor/path_test.go +17 -0
  94. package/dist/templates/_executor/platform_linux.go +336 -0
  95. package/dist/templates/_executor/platform_linux_test.go +247 -0
  96. package/dist/templates/_executor/platform_other.go +42 -0
  97. package/dist/templates/_executor/process.go +139 -0
  98. package/dist/templates/_executor/socket_linux_test.go +46 -0
  99. package/dist/templates/_executor/store.go +90 -0
  100. package/dist/templates/_executor/task_race_review_test.go +47 -0
  101. package/dist/templates/_executor/tasks.go +283 -0
  102. package/dist/templates/_executor/tasks_review_test.go +43 -0
  103. package/dist/templates/_executor/tasks_test.go +166 -0
  104. package/dist/templates/_executor/testdata/evidence/cleanup.json +24 -0
  105. package/dist/templates/_executor/testdata/evidence/final-smoke.jsonl +9 -0
  106. package/dist/templates/_executor/testdata/evidence/kernel-acl.json +6 -0
  107. package/dist/templates/_executor/testdata/evidence/linux-tests.log +123 -0
  108. package/dist/templates/_executor/testdata/evidence/live.jsonl +23 -0
  109. package/dist/templates/_executor/testdata/evidence/storage.json +90 -0
  110. package/dist/templates/_executor/testdata/evidence/validation.json +55 -0
  111. package/dist/templates/_executor/testdata/live_probe.py +98 -0
  112. package/dist/templates/_executor/upgrade_watch_test.go +236 -0
  113. package/dist/templates/_executor/watch.go +156 -0
  114. package/dist/templates/_executor/watch_test.go +270 -0
  115. package/dist/templates/_executor/write_review_linux_test.go +95 -0
  116. package/dist/templates/_shared/AGENTS.md +17 -0
  117. package/dist/templates/_shared/CLAUDE.md +1 -0
  118. package/dist/templates/binary/LICENSES/GO-LICENSE +27 -0
  119. package/dist/templates/binary/LICENSES/GO-PATENTS +22 -0
  120. package/dist/templates/binary/dsm-package.yaml +19 -0
  121. package/dist/templates/binary/example/main.go +16 -0
  122. package/dist/templates/binary/gitignore +2 -0
  123. package/dist/templates/binary/ui/app.css +4 -0
  124. package/dist/templates/binary/ui/app.js +17 -0
  125. package/dist/templates/native-go/README.md +129 -116
  126. package/dist/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
  127. package/dist/templates/native-go/backend/cmd/app/main.go +30 -21
  128. package/dist/templates/native-go/backend/internal/api/cgi_framing_test.go +32 -0
  129. package/dist/templates/native-go/backend/internal/api/cookie_review_test.go +28 -0
  130. package/dist/templates/native-go/backend/internal/api/deadline_test.go +114 -0
  131. package/dist/templates/native-go/backend/internal/api/dsm-session.go +54 -0
  132. package/dist/templates/native-go/backend/internal/api/dsm-session_test.go +51 -0
  133. package/dist/templates/native-go/backend/internal/api/errors.go +14 -0
  134. package/dist/templates/native-go/backend/internal/api/permissions.go +161 -0
  135. package/dist/templates/native-go/backend/internal/api/permissions.json +5 -0
  136. package/dist/templates/native-go/backend/internal/api/permissions_test.go +113 -0
  137. package/dist/templates/native-go/backend/internal/api/policy_fixture_test.go +8 -0
  138. package/dist/templates/native-go/backend/internal/api/registry.go +48 -32
  139. package/dist/templates/native-go/backend/internal/api/registry_test.go +16 -1
  140. package/dist/templates/native-go/backend/internal/api/resource_limits_test.go +87 -0
  141. package/dist/templates/native-go/backend/internal/api/sdk-permissions.json +46 -0
  142. package/dist/templates/native-go/backend/internal/api/sdk_policy_test.go +31 -0
  143. package/dist/templates/native-go/backend/internal/api/server.go +135 -8
  144. package/dist/templates/native-go/backend/internal/api/testdata/permissions-cases.json +172 -0
  145. package/dist/templates/native-go/backend/internal/app/background.go +23 -44
  146. package/dist/templates/native-go/backend/internal/app/background_owner.go +0 -21
  147. package/dist/templates/native-go/backend/internal/app/background_owner_test.go +40 -22
  148. package/dist/templates/native-go/backend/internal/app/background_schedule.go +0 -5
  149. package/dist/templates/native-go/backend/internal/app/background_schedule_test.go +1 -1
  150. package/dist/templates/native-go/backend/internal/app/background_test.go +15 -41
  151. package/dist/templates/native-go/backend/internal/app/delegate_none.go +5 -0
  152. package/dist/templates/native-go/backend/internal/app/identity.go +20 -0
  153. package/dist/templates/native-go/backend/internal/app/identity_test.go +15 -0
  154. package/dist/templates/native-go/backend/internal/app/routes.go +15 -36
  155. package/dist/templates/native-go/backend/internal/app/routes_test.go +16 -40
  156. package/dist/templates/native-go/backend/internal/app/session_files.go +4 -10
  157. package/dist/templates/native-go/backend/internal/app/session_files_test.go +8 -20
  158. package/dist/templates/native-go/backend/internal/app/shared_folder_test.go +4 -4
  159. package/dist/templates/native-go/backend/internal/background/lock_test.go +131 -0
  160. package/dist/templates/native-go/backend/internal/background/owner_test.go +12 -20
  161. package/dist/templates/native-go/backend/internal/background/runner_test.go +1 -1
  162. package/dist/templates/native-go/backend/internal/background/schedule.go +53 -17
  163. package/dist/templates/native-go/backend/internal/background/schedule_test.go +42 -9
  164. package/dist/templates/native-go/backend/internal/background/store.go +115 -99
  165. package/dist/templates/native-go/backend/internal/background/store_test.go +10 -52
  166. package/dist/templates/native-go/backend/internal/dsm/admin.go +70 -0
  167. package/dist/templates/native-go/backend/internal/dsm/admin_linux.go +80 -0
  168. package/dist/templates/native-go/backend/internal/dsm/admin_linux_test.go +49 -0
  169. package/dist/templates/native-go/backend/internal/dsm/admin_other.go +12 -0
  170. package/dist/templates/native-go/backend/internal/dsm/admin_test.go +67 -0
  171. package/dist/templates/native-go/backend/internal/dsm/auth.go +24 -48
  172. package/dist/templates/native-go/backend/internal/dsm/auth_test.go +43 -23
  173. package/dist/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
  174. package/dist/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
  175. package/dist/templates/native-go/backend/internal/dsm/native/admin_check.c +28 -0
  176. package/dist/templates/native-go/backend/internal/dsm/native/build.sh +9 -0
  177. package/dist/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +400 -0
  178. package/dist/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +501 -0
  179. package/dist/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +5 -0
  180. package/dist/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +21 -0
  181. package/dist/templates/native-go/backend/internal/dsm/native/provenance.json +12 -0
  182. package/dist/templates/native-go/backend/internal/filestation/client.go +68 -18
  183. package/dist/templates/native-go/backend/internal/filestation/client_test.go +7 -7
  184. package/dist/templates/native-go/backend/internal/filestation/doc.go +1 -1
  185. package/dist/templates/native-go/backend/internal/filestation/http.go +70 -0
  186. package/dist/templates/native-go/backend/internal/filestation/http_test.go +188 -0
  187. package/dist/templates/native-go/backend/internal/filestation/operations_test.go +206 -0
  188. package/dist/templates/native-go/backend/internal/filestation/read_file_test.go +2 -3
  189. package/dist/templates/native-go/backend/internal/filestation/service.go +117 -117
  190. package/dist/templates/native-go/backend/internal/filestation/service_test.go +30 -50
  191. package/dist/templates/native-go/backend/internal/filestation/upload_stream.go +76 -0
  192. package/dist/templates/native-go/backend/internal/filestation/upload_stream_test.go +77 -0
  193. package/dist/templates/native-go/backend/internal/filestation/write.go +0 -40
  194. package/dist/templates/native-go/backend/internal/filestation/write_test.go +6 -5
  195. package/dist/templates/native-go/backend/internal/identity/README.md +55 -0
  196. package/dist/templates/native-go/backend/internal/identity/dsm.go +96 -0
  197. package/dist/templates/native-go/backend/internal/identity/http.go +291 -0
  198. package/dist/templates/native-go/backend/internal/identity/identity_test.go +483 -0
  199. package/dist/templates/native-go/backend/internal/identity/service.go +159 -0
  200. package/dist/templates/native-go/backend/internal/identity/store.go +109 -0
  201. package/dist/templates/native-go/backend/internal/jsonlimits/limits.go +48 -0
  202. package/dist/templates/native-go/backend/internal/jsonlimits/limits_test.go +52 -0
  203. package/dist/templates/native-go/dsm-package.yaml +9 -18
  204. package/dist/templates/native-go-delegate/DELEGATE.md +142 -0
  205. package/dist/templates/native-go-delegate/backend/cmd/background-worker/main.go +41 -0
  206. package/dist/templates/native-go-delegate/backend/internal/app/delegate.go +15 -0
  207. package/dist/templates/native-go-delegate/backend/internal/app/delegate_on.go +5 -0
  208. package/dist/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +17 -0
  209. package/dist/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +174 -0
  210. package/dist/templates/native-go-delegate/backend/internal/background/delegated.go +277 -0
  211. package/dist/templates/native-go-delegate/backend/internal/background/delegated_test.go +34 -0
  212. package/dist/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +15 -0
  213. package/dist/templates/native-go-delegate/backend/internal/delegate/client.go +143 -0
  214. package/dist/templates/native-go-delegate/backend/internal/delegate/client_test.go +214 -0
  215. package/dist/templates/native-go-delegate/backend/internal/delegate/files.go +132 -0
  216. package/dist/templates/native-go-delegate/backend/internal/delegate/retry.go +106 -0
  217. package/dist/templates/native-go-delegate/backend/internal/delegate/retry_test.go +143 -0
  218. package/dist/templates/native-go-delegate/backend/internal/delegate/service.go +323 -0
  219. package/dist/templates/native-go-delegate/backend/internal/delegate/service_test.go +318 -0
  220. package/dist/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +101 -0
  221. package/dist/templates/native-go-delegate/backend/internal/delegate/worker.go +225 -0
  222. package/dist/templates/native-go-delegate/backend/internal/filestation/files.go +73 -0
  223. package/dist/templates/native-go-delegate/backend/internal/filestation/files_test.go +59 -0
  224. package/dist/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +10 -0
  225. package/dist/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +70 -0
  226. package/dist/templates/native-go-delegate/frontend/src/delegate/copy.ts +9 -0
  227. package/dist/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +11 -0
  228. package/dist/templates/native-go-delegate/frontend/test/delegate.test.ts +130 -0
  229. package/dist/templates/native-go-delegate/test-frontend.sh +12 -0
  230. package/dist/templates/native-go-delegate/test.sh +17 -0
  231. package/dist/templates/native-go-jobs/BACKGROUND.md +108 -0
  232. package/dist/templates/native-go-jobs/backend/internal/app/background_routes_test.go +90 -0
  233. package/dist/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +170 -0
  234. package/dist/templates/native-go-jobs/frontend/src/background/i18n/de.json +75 -0
  235. package/dist/templates/native-go-jobs/frontend/src/background/i18n/en.json +75 -0
  236. package/dist/templates/native-go-jobs/frontend/src/background/i18n/es.json +75 -0
  237. package/dist/templates/native-go-jobs/frontend/src/background/i18n/fr.json +75 -0
  238. package/dist/templates/native-go-jobs/frontend/src/background/i18n/it.json +75 -0
  239. package/dist/templates/native-go-jobs/frontend/src/background/i18n/ja.json +75 -0
  240. package/dist/templates/native-go-jobs/frontend/src/background/i18n/ko.json +75 -0
  241. package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +75 -0
  242. package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +75 -0
  243. package/dist/templates/native-go-jobs/frontend/src/background/picker-provider.ts +12 -0
  244. package/dist/templates/native-go-jobs/frontend/src/background/request-key.ts +5 -0
  245. package/dist/templates/native-go-jobs/frontend/test/background.test.ts +208 -0
  246. package/dist/templates/native-go-root-ops/backend/internal/app/executor.go +112 -0
  247. package/dist/templates/native-go-root-ops/backend/internal/app/executor_test.go +53 -0
  248. package/dist/templates/native-go-root-ops/root/whoami.sh +3 -0
  249. package/dist/templates/native-go-vue/README.md +36 -248
  250. package/dist/templates/native-go-vue/frontend/DESIGN.md +20 -49
  251. package/dist/templates/native-go-vue/frontend/package-lock.json +278 -159
  252. package/dist/templates/native-go-vue/frontend/package.json +2 -2
  253. package/dist/templates/native-go-vue/frontend/src/App.vue +55 -151
  254. package/dist/templates/native-go-vue/frontend/src/CapabilityPanels.vue +6 -0
  255. package/dist/templates/native-go-vue/frontend/src/context.ts +3 -12
  256. package/dist/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +25 -0
  257. package/dist/templates/native-go-vue/frontend/src/delegate/copy.ts +4 -0
  258. package/dist/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +18 -0
  259. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/en.json +36 -0
  260. package/dist/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +36 -0
  261. package/dist/templates/native-go-vue/frontend/src/files/FileBrowser.vue +131 -0
  262. package/dist/templates/native-go-vue/frontend/src/files/FilesPage.vue +35 -0
  263. package/dist/templates/native-go-vue/frontend/src/files/files.test.ts +93 -0
  264. package/dist/templates/native-go-vue/frontend/src/files/provider.test.ts +48 -0
  265. package/dist/templates/native-go-vue/frontend/src/files/transfers.test.ts +27 -0
  266. package/dist/templates/native-go-vue/frontend/src/files/transfers.ts +25 -0
  267. package/dist/templates/native-go-vue/frontend/src/identity/DESIGN.md +46 -0
  268. package/dist/templates/native-go-vue/frontend/src/identity/LoginPage.vue +76 -0
  269. package/dist/templates/native-go-vue/frontend/src/identity/login.test.ts +32 -0
  270. package/dist/templates/native-go-vue/frontend/src/identity/session.test.ts +29 -0
  271. package/dist/templates/native-go-vue/frontend/src/identity/session.ts +73 -0
  272. package/dist/templates/native-go-vue/frontend/src/main.ts +7 -4
  273. package/dist/templates/native-go-vue/frontend/src/nas/NasPicker.vue +23 -0
  274. package/dist/templates/native-go-vue/frontend/src/nas/contract.ts +12 -0
  275. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +41 -0
  276. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +41 -0
  277. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +41 -0
  278. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +41 -0
  279. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +41 -0
  280. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +41 -0
  281. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +41 -0
  282. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +41 -0
  283. package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +41 -0
  284. package/dist/templates/native-go-vue/frontend/src/nas/i18n.ts +2 -38
  285. package/dist/templates/native-go-vue/frontend/src/nas/locale.ts +24 -0
  286. package/dist/templates/native-go-vue/frontend/src/nas/provider.ts +46 -55
  287. package/dist/templates/native-go-vue/frontend/src/nas/use-request.ts +13 -22
  288. package/dist/templates/native-go-vue/frontend/src/shell/AppShell.vue +3 -3
  289. package/dist/templates/native-go-vue/frontend/src/shell/i18n/de.json +1 -7
  290. package/dist/templates/native-go-vue/frontend/src/shell/i18n/en.json +1 -7
  291. package/dist/templates/native-go-vue/frontend/src/shell/i18n/es.json +1 -7
  292. package/dist/templates/native-go-vue/frontend/src/shell/i18n/fr.json +1 -7
  293. package/dist/templates/native-go-vue/frontend/src/shell/i18n/it.json +1 -7
  294. package/dist/templates/native-go-vue/frontend/src/shell/i18n/ja.json +1 -7
  295. package/dist/templates/native-go-vue/frontend/src/shell/i18n/ko.json +1 -7
  296. package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +1 -7
  297. package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +1 -7
  298. package/dist/templates/native-go-vue/frontend/src/shell/pages.ts +3 -22
  299. package/dist/templates/native-go-vue/frontend/test/apps.test.ts +33 -201
  300. package/dist/templates/native-go-vue/frontend/test/shell-ui.test.ts +15 -109
  301. package/dist/templates/native-go-vue/frontend/test/shell.test.ts +4 -19
  302. package/dist/templates/native-go-vue/frontend/vite.config.ts +2 -2
  303. package/dist/types.d.ts +1 -1
  304. package/dist/validate.js +27 -36
  305. package/package.json +1 -1
  306. package/skills/SKILL.md +21 -3
  307. package/skills/reference/create.md +16 -7
  308. package/skills/reference/deploy.md +5 -3
  309. package/skills/reference/diagnose.md +1 -1
  310. package/skills/reference/files.md +8 -6
  311. package/skills/reference/identity.md +9 -3
  312. package/skills/reference/ui-json.md +78 -0
  313. package/skills/reference/ui-vue.md +71 -0
  314. package/skills/reference/wrap.md +3 -4
  315. package/templates/_executor/README.md +204 -0
  316. package/templates/_executor/apppriv_review_test.go +28 -0
  317. package/templates/_executor/auth_presence_review_test.go +38 -0
  318. package/templates/_executor/cmd/lifecycle/main.go +42 -0
  319. package/templates/_executor/cookie_review_test.go +27 -0
  320. package/templates/_executor/digest_review_test.go +120 -0
  321. package/templates/_executor/directories.go +40 -0
  322. package/templates/_executor/dsm.go +319 -0
  323. package/templates/_executor/dsm_test.go +196 -0
  324. package/templates/_executor/executor.go +524 -0
  325. package/templates/_executor/executor_test.go +284 -0
  326. package/templates/_executor/go.mod +3 -0
  327. package/templates/_executor/identity.go +48 -0
  328. package/templates/_executor/internal/lifecycle/lifecycle.go +90 -0
  329. package/templates/_executor/internal/lifecycle/lifecycle_test.go +174 -0
  330. package/templates/_executor/internal/taskscript/boot.sh +31 -0
  331. package/templates/_executor/internal/taskscript/cmd/main.go +19 -0
  332. package/templates/_executor/internal/taskscript/control.sh +26 -0
  333. package/templates/_executor/internal/taskscript/tasks.go +42 -0
  334. package/templates/_executor/json_review_test.go +40 -0
  335. package/templates/_executor/lifecycle_test.go +86 -0
  336. package/templates/_executor/main.go +518 -0
  337. package/templates/_executor/managed.go +117 -0
  338. package/templates/_executor/managed_test.go +137 -0
  339. package/templates/_executor/path_test.go +17 -0
  340. package/templates/_executor/platform_linux.go +336 -0
  341. package/templates/_executor/platform_linux_test.go +247 -0
  342. package/templates/_executor/platform_other.go +42 -0
  343. package/templates/_executor/process.go +139 -0
  344. package/templates/_executor/socket_linux_test.go +46 -0
  345. package/templates/_executor/store.go +90 -0
  346. package/templates/_executor/task_race_review_test.go +47 -0
  347. package/templates/_executor/tasks.go +283 -0
  348. package/templates/_executor/tasks_review_test.go +43 -0
  349. package/templates/_executor/tasks_test.go +166 -0
  350. package/templates/_executor/testdata/evidence/cleanup.json +24 -0
  351. package/templates/_executor/testdata/evidence/final-smoke.jsonl +9 -0
  352. package/templates/_executor/testdata/evidence/kernel-acl.json +6 -0
  353. package/templates/_executor/testdata/evidence/linux-tests.log +123 -0
  354. package/templates/_executor/testdata/evidence/live.jsonl +23 -0
  355. package/templates/_executor/testdata/evidence/storage.json +90 -0
  356. package/templates/_executor/testdata/evidence/validation.json +55 -0
  357. package/templates/_executor/testdata/live_probe.py +98 -0
  358. package/templates/_executor/upgrade_watch_test.go +236 -0
  359. package/templates/_executor/watch.go +156 -0
  360. package/templates/_executor/watch_test.go +270 -0
  361. package/templates/_executor/write_review_linux_test.go +95 -0
  362. package/templates/_shared/AGENTS.md +17 -0
  363. package/templates/_shared/CLAUDE.md +1 -0
  364. package/templates/binary/LICENSES/GO-LICENSE +27 -0
  365. package/templates/binary/LICENSES/GO-PATENTS +22 -0
  366. package/templates/binary/dsm-package.yaml +19 -0
  367. package/templates/binary/example/main.go +16 -0
  368. package/templates/binary/gitignore +2 -0
  369. package/templates/binary/ui/app.css +4 -0
  370. package/templates/binary/ui/app.js +17 -0
  371. package/templates/native-go/README.md +129 -116
  372. package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
  373. package/templates/native-go/backend/cmd/app/main.go +30 -21
  374. package/templates/native-go/backend/internal/api/cgi_framing_test.go +32 -0
  375. package/templates/native-go/backend/internal/api/cookie_review_test.go +28 -0
  376. package/templates/native-go/backend/internal/api/deadline_test.go +114 -0
  377. package/templates/native-go/backend/internal/api/dsm-session.go +54 -0
  378. package/templates/native-go/backend/internal/api/dsm-session_test.go +51 -0
  379. package/templates/native-go/backend/internal/api/errors.go +14 -0
  380. package/templates/native-go/backend/internal/api/permissions.go +161 -0
  381. package/templates/native-go/backend/internal/api/permissions.json +5 -0
  382. package/templates/native-go/backend/internal/api/permissions_test.go +113 -0
  383. package/templates/native-go/backend/internal/api/policy_fixture_test.go +8 -0
  384. package/templates/native-go/backend/internal/api/registry.go +48 -32
  385. package/templates/native-go/backend/internal/api/registry_test.go +16 -1
  386. package/templates/native-go/backend/internal/api/resource_limits_test.go +87 -0
  387. package/templates/native-go/backend/internal/api/sdk-permissions.json +46 -0
  388. package/templates/native-go/backend/internal/api/sdk_policy_test.go +31 -0
  389. package/templates/native-go/backend/internal/api/server.go +135 -8
  390. package/templates/native-go/backend/internal/api/testdata/permissions-cases.json +172 -0
  391. package/templates/native-go/backend/internal/app/background.go +23 -44
  392. package/templates/native-go/backend/internal/app/background_owner.go +0 -21
  393. package/templates/native-go/backend/internal/app/background_owner_test.go +40 -22
  394. package/templates/native-go/backend/internal/app/background_schedule.go +0 -5
  395. package/templates/native-go/backend/internal/app/background_schedule_test.go +1 -1
  396. package/templates/native-go/backend/internal/app/background_test.go +15 -41
  397. package/templates/native-go/backend/internal/app/delegate_none.go +5 -0
  398. package/templates/native-go/backend/internal/app/identity.go +20 -0
  399. package/templates/native-go/backend/internal/app/identity_test.go +15 -0
  400. package/templates/native-go/backend/internal/app/routes.go +15 -36
  401. package/templates/native-go/backend/internal/app/routes_test.go +16 -40
  402. package/templates/native-go/backend/internal/app/session_files.go +4 -10
  403. package/templates/native-go/backend/internal/app/session_files_test.go +8 -20
  404. package/templates/native-go/backend/internal/app/shared_folder_test.go +4 -4
  405. package/templates/native-go/backend/internal/background/lock_test.go +131 -0
  406. package/templates/native-go/backend/internal/background/owner_test.go +12 -20
  407. package/templates/native-go/backend/internal/background/runner_test.go +1 -1
  408. package/templates/native-go/backend/internal/background/schedule.go +53 -17
  409. package/templates/native-go/backend/internal/background/schedule_test.go +42 -9
  410. package/templates/native-go/backend/internal/background/store.go +115 -99
  411. package/templates/native-go/backend/internal/background/store_test.go +10 -52
  412. package/templates/native-go/backend/internal/dsm/admin.go +70 -0
  413. package/templates/native-go/backend/internal/dsm/admin_linux.go +80 -0
  414. package/templates/native-go/backend/internal/dsm/admin_linux_test.go +49 -0
  415. package/templates/native-go/backend/internal/dsm/admin_other.go +12 -0
  416. package/templates/native-go/backend/internal/dsm/admin_test.go +67 -0
  417. package/templates/native-go/backend/internal/dsm/auth.go +24 -48
  418. package/templates/native-go/backend/internal/dsm/auth_test.go +43 -23
  419. package/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
  420. package/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
  421. package/templates/native-go/backend/internal/dsm/native/admin_check.c +28 -0
  422. package/templates/native-go/backend/internal/dsm/native/build.sh +9 -0
  423. package/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +400 -0
  424. package/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +501 -0
  425. package/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +5 -0
  426. package/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +21 -0
  427. package/templates/native-go/backend/internal/dsm/native/provenance.json +12 -0
  428. package/templates/native-go/backend/internal/filestation/client.go +68 -18
  429. package/templates/native-go/backend/internal/filestation/client_test.go +7 -7
  430. package/templates/native-go/backend/internal/filestation/doc.go +1 -1
  431. package/templates/native-go/backend/internal/filestation/http.go +70 -0
  432. package/templates/native-go/backend/internal/filestation/http_test.go +188 -0
  433. package/templates/native-go/backend/internal/filestation/operations_test.go +206 -0
  434. package/templates/native-go/backend/internal/filestation/read_file_test.go +2 -3
  435. package/templates/native-go/backend/internal/filestation/service.go +117 -117
  436. package/templates/native-go/backend/internal/filestation/service_test.go +30 -50
  437. package/templates/native-go/backend/internal/filestation/upload_stream.go +76 -0
  438. package/templates/native-go/backend/internal/filestation/upload_stream_test.go +77 -0
  439. package/templates/native-go/backend/internal/filestation/write.go +0 -40
  440. package/templates/native-go/backend/internal/filestation/write_test.go +6 -5
  441. package/templates/native-go/backend/internal/identity/README.md +55 -0
  442. package/templates/native-go/backend/internal/identity/dsm.go +96 -0
  443. package/templates/native-go/backend/internal/identity/http.go +291 -0
  444. package/templates/native-go/backend/internal/identity/identity_test.go +483 -0
  445. package/templates/native-go/backend/internal/identity/service.go +159 -0
  446. package/templates/native-go/backend/internal/identity/store.go +109 -0
  447. package/templates/native-go/backend/internal/jsonlimits/limits.go +48 -0
  448. package/templates/native-go/backend/internal/jsonlimits/limits_test.go +52 -0
  449. package/templates/native-go/dsm-package.yaml +9 -18
  450. package/templates/native-go-delegate/DELEGATE.md +142 -0
  451. package/templates/native-go-delegate/backend/cmd/background-worker/main.go +41 -0
  452. package/templates/native-go-delegate/backend/internal/app/delegate.go +15 -0
  453. package/templates/native-go-delegate/backend/internal/app/delegate_on.go +5 -0
  454. package/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +17 -0
  455. package/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +174 -0
  456. package/templates/native-go-delegate/backend/internal/background/delegated.go +277 -0
  457. package/templates/native-go-delegate/backend/internal/background/delegated_test.go +34 -0
  458. package/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +15 -0
  459. package/templates/native-go-delegate/backend/internal/delegate/client.go +143 -0
  460. package/templates/native-go-delegate/backend/internal/delegate/client_test.go +214 -0
  461. package/templates/native-go-delegate/backend/internal/delegate/files.go +132 -0
  462. package/templates/native-go-delegate/backend/internal/delegate/retry.go +106 -0
  463. package/templates/native-go-delegate/backend/internal/delegate/retry_test.go +143 -0
  464. package/templates/native-go-delegate/backend/internal/delegate/service.go +323 -0
  465. package/templates/native-go-delegate/backend/internal/delegate/service_test.go +318 -0
  466. package/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +101 -0
  467. package/templates/native-go-delegate/backend/internal/delegate/worker.go +225 -0
  468. package/templates/native-go-delegate/backend/internal/filestation/files.go +73 -0
  469. package/templates/native-go-delegate/backend/internal/filestation/files_test.go +59 -0
  470. package/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +10 -0
  471. package/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +70 -0
  472. package/templates/native-go-delegate/frontend/src/delegate/copy.ts +9 -0
  473. package/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +11 -0
  474. package/templates/native-go-delegate/frontend/test/delegate.test.ts +130 -0
  475. package/templates/native-go-delegate/test-frontend.sh +12 -0
  476. package/templates/native-go-delegate/test.sh +17 -0
  477. package/templates/native-go-jobs/BACKGROUND.md +108 -0
  478. package/templates/native-go-jobs/backend/internal/app/background_routes_test.go +90 -0
  479. package/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +170 -0
  480. package/templates/native-go-jobs/frontend/src/background/i18n/de.json +75 -0
  481. package/templates/native-go-jobs/frontend/src/background/i18n/en.json +75 -0
  482. package/templates/native-go-jobs/frontend/src/background/i18n/es.json +75 -0
  483. package/templates/native-go-jobs/frontend/src/background/i18n/fr.json +75 -0
  484. package/templates/native-go-jobs/frontend/src/background/i18n/it.json +75 -0
  485. package/templates/native-go-jobs/frontend/src/background/i18n/ja.json +75 -0
  486. package/templates/native-go-jobs/frontend/src/background/i18n/ko.json +75 -0
  487. package/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +75 -0
  488. package/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +75 -0
  489. package/templates/native-go-jobs/frontend/src/background/picker-provider.ts +12 -0
  490. package/templates/native-go-jobs/frontend/src/background/request-key.ts +5 -0
  491. package/templates/native-go-jobs/frontend/test/background.test.ts +208 -0
  492. package/templates/native-go-root-ops/backend/internal/app/executor.go +112 -0
  493. package/templates/native-go-root-ops/backend/internal/app/executor_test.go +53 -0
  494. package/templates/native-go-root-ops/root/whoami.sh +3 -0
  495. package/templates/native-go-vue/README.md +36 -248
  496. package/templates/native-go-vue/frontend/DESIGN.md +20 -49
  497. package/templates/native-go-vue/frontend/package-lock.json +278 -159
  498. package/templates/native-go-vue/frontend/package.json +2 -2
  499. package/templates/native-go-vue/frontend/src/App.vue +55 -151
  500. package/templates/native-go-vue/frontend/src/CapabilityPanels.vue +6 -0
  501. package/templates/native-go-vue/frontend/src/context.ts +3 -12
  502. package/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +25 -0
  503. package/templates/native-go-vue/frontend/src/delegate/copy.ts +4 -0
  504. package/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +18 -0
  505. package/templates/native-go-vue/frontend/src/delegate/i18n/en.json +36 -0
  506. package/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +36 -0
  507. package/templates/native-go-vue/frontend/src/files/FileBrowser.vue +131 -0
  508. package/templates/native-go-vue/frontend/src/files/FilesPage.vue +35 -0
  509. package/templates/native-go-vue/frontend/src/files/files.test.ts +93 -0
  510. package/templates/native-go-vue/frontend/src/files/provider.test.ts +48 -0
  511. package/templates/native-go-vue/frontend/src/files/transfers.test.ts +27 -0
  512. package/templates/native-go-vue/frontend/src/files/transfers.ts +25 -0
  513. package/templates/native-go-vue/frontend/src/identity/DESIGN.md +46 -0
  514. package/templates/native-go-vue/frontend/src/identity/LoginPage.vue +76 -0
  515. package/templates/native-go-vue/frontend/src/identity/login.test.ts +32 -0
  516. package/templates/native-go-vue/frontend/src/identity/session.test.ts +29 -0
  517. package/templates/native-go-vue/frontend/src/identity/session.ts +73 -0
  518. package/templates/native-go-vue/frontend/src/main.ts +7 -4
  519. package/templates/native-go-vue/frontend/src/nas/NasPicker.vue +23 -0
  520. package/templates/native-go-vue/frontend/src/nas/contract.ts +12 -0
  521. package/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +41 -0
  522. package/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +41 -0
  523. package/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +41 -0
  524. package/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +41 -0
  525. package/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +41 -0
  526. package/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +41 -0
  527. package/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +41 -0
  528. package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +41 -0
  529. package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +41 -0
  530. package/templates/native-go-vue/frontend/src/nas/i18n.ts +2 -38
  531. package/templates/native-go-vue/frontend/src/nas/locale.ts +24 -0
  532. package/templates/native-go-vue/frontend/src/nas/provider.ts +46 -55
  533. package/templates/native-go-vue/frontend/src/nas/use-request.ts +13 -22
  534. package/templates/native-go-vue/frontend/src/shell/AppShell.vue +3 -3
  535. package/templates/native-go-vue/frontend/src/shell/i18n/de.json +1 -7
  536. package/templates/native-go-vue/frontend/src/shell/i18n/en.json +1 -7
  537. package/templates/native-go-vue/frontend/src/shell/i18n/es.json +1 -7
  538. package/templates/native-go-vue/frontend/src/shell/i18n/fr.json +1 -7
  539. package/templates/native-go-vue/frontend/src/shell/i18n/it.json +1 -7
  540. package/templates/native-go-vue/frontend/src/shell/i18n/ja.json +1 -7
  541. package/templates/native-go-vue/frontend/src/shell/i18n/ko.json +1 -7
  542. package/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +1 -7
  543. package/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +1 -7
  544. package/templates/native-go-vue/frontend/src/shell/pages.ts +3 -22
  545. package/templates/native-go-vue/frontend/test/apps.test.ts +33 -201
  546. package/templates/native-go-vue/frontend/test/shell-ui.test.ts +15 -109
  547. package/templates/native-go-vue/frontend/test/shell.test.ts +4 -19
  548. package/templates/native-go-vue/frontend/vite.config.ts +2 -2
  549. package/dist/build-spk/native-payload.d.ts +0 -37
  550. package/dist/build-spk/native-payload.js +0 -679
  551. package/dist/native/load.d.ts +0 -8
  552. package/dist/native/load.js +0 -11
  553. package/dist/native/types.d.ts +0 -28
  554. package/dist/native/types.js +0 -3
  555. package/dist/native/validate.d.ts +0 -6
  556. package/dist/native/validate.js +0 -143
  557. package/dist/standalone/helper-inventory.d.ts +0 -31
  558. package/dist/standalone/helper-inventory.js +0 -11
  559. package/dist/standalone/helper.d.ts +0 -22
  560. package/dist/standalone/helper.js +0 -123
  561. package/dist/standalone/inspect-helper.d.ts +0 -6
  562. package/dist/standalone/inspect-helper.js +0 -93
  563. package/dist/standalone/job-diagnostics.d.ts +0 -1
  564. package/dist/standalone/job-diagnostics.js +0 -49
  565. package/dist/standalone/lifecycle-helper.d.ts +0 -2
  566. package/dist/standalone/lifecycle-helper.js +0 -12
  567. package/dist/standalone/native-layout.d.ts +0 -74
  568. package/dist/standalone/native-layout.js +0 -318
  569. package/dist/standalone/root-messages.d.ts +0 -7
  570. package/dist/standalone/root-messages.js +0 -259
  571. package/dist/standalone/worker-contract-json.d.ts +0 -8
  572. package/dist/standalone/worker-contract-json.js +0 -141
  573. package/dist/standalone/worker-contract.d.ts +0 -189
  574. package/dist/standalone/worker-contract.js +0 -175
  575. package/dist/standalone/worker-registry.d.ts +0 -40
  576. package/dist/standalone/worker-registry.js +0 -167
  577. package/dist/templates/_shared/notice-overrides/index.json +0 -14
  578. package/dist/templates/_shared/notice-overrides/utils-0.4.2-LICENSE +0 -21
  579. package/dist/templates/_shared/notice-overrides/utils-0.5.0-LICENSE +0 -21
  580. package/dist/templates/binary/native.yaml +0 -16
  581. package/dist/templates/binary/synology-app.yaml +0 -7
  582. package/dist/templates/compose-import/compose.yaml +0 -10
  583. package/dist/templates/compose-import/synology-app.yaml +0 -15
  584. package/dist/templates/hello-web/compose.yaml +0 -24
  585. package/dist/templates/hello-web/html/app.js +0 -1
  586. package/dist/templates/hello-web/html/index.html +0 -13
  587. package/dist/templates/hello-web/synology-app.yaml +0 -16
  588. package/dist/templates/hello-web-page/compose.yaml +0 -24
  589. package/dist/templates/hello-web-page/html/app.js +0 -1
  590. package/dist/templates/hello-web-page/html/index.html +0 -13
  591. package/dist/templates/hello-web-page/synology-app.yaml +0 -16
  592. package/dist/templates/native-go/backend/cmd/app/sdk_main.go +0 -60
  593. package/dist/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +0 -46
  594. package/dist/templates/native-go/backend/cmd/helper/main.go +0 -47
  595. package/dist/templates/native-go/backend/cmd/helper/sdk_registry.go +0 -19
  596. package/dist/templates/native-go/backend/internal/api/binary.go +0 -154
  597. package/dist/templates/native-go/backend/internal/api/binary_test.go +0 -165
  598. package/dist/templates/native-go/backend/internal/app/integration_state.go +0 -16
  599. package/dist/templates/native-go/backend/internal/app/nas_cgi_artifact_test.go +0 -129
  600. package/dist/templates/native-go/backend/internal/app/nas_refusal_test.go +0 -46
  601. package/dist/templates/native-go/backend/internal/app/sdk_jobs.go +0 -70
  602. package/dist/templates/native-go/backend/internal/app/sdk_jobs_test.go +0 -116
  603. package/dist/templates/native-go/backend/internal/app/sdk_routes.go +0 -174
  604. package/dist/templates/native-go/backend/internal/dsmprobe/collector_linux.go +0 -335
  605. package/dist/templates/native-go/backend/internal/dsmprobe/collector_linux_test.go +0 -41
  606. package/dist/templates/native-go/backend/internal/dsmprobe/protocol.go +0 -179
  607. package/dist/templates/native-go/backend/internal/dsmprobe/protocol_test.go +0 -29
  608. package/dist/templates/native-go/backend/internal/filestation/repository.go +0 -207
  609. package/dist/templates/native-go/backend/internal/filestation/repository_test.go +0 -104
  610. package/dist/templates/native-go/backend/internal/filestation/sdk_session.go +0 -241
  611. package/dist/templates/native-go/backend/internal/filestation/sdk_session_test.go +0 -183
  612. package/dist/templates/native-go/backend/internal/filestation/session_semantics_test.go +0 -383
  613. package/dist/templates/native-go/backend/internal/helper/background_proof.go +0 -163
  614. package/dist/templates/native-go/backend/internal/helper/background_proof_contract.go +0 -46
  615. package/dist/templates/native-go/backend/internal/helper/background_proof_test.go +0 -161
  616. package/dist/templates/native-go/backend/internal/helper/cohort.go +0 -393
  617. package/dist/templates/native-go/backend/internal/helper/cohort_publication.go +0 -18
  618. package/dist/templates/native-go/backend/internal/helper/cohort_publication_test.go +0 -105
  619. package/dist/templates/native-go/backend/internal/helper/cohort_test.go +0 -372
  620. package/dist/templates/native-go/backend/internal/helper/control.go +0 -424
  621. package/dist/templates/native-go/backend/internal/helper/control_test.go +0 -250
  622. package/dist/templates/native-go/backend/internal/helper/data_contract.go +0 -245
  623. package/dist/templates/native-go/backend/internal/helper/data_contract_test.go +0 -51
  624. package/dist/templates/native-go/backend/internal/helper/data_decode.go +0 -184
  625. package/dist/templates/native-go/backend/internal/helper/data_decode_pointer_test.go +0 -30
  626. package/dist/templates/native-go/backend/internal/helper/data_protocol.go +0 -419
  627. package/dist/templates/native-go/backend/internal/helper/data_protocol_test.go +0 -449
  628. package/dist/templates/native-go/backend/internal/helper/dsm_acl_linux.go +0 -139
  629. package/dist/templates/native-go/backend/internal/helper/dsm_acl_linux_test.go +0 -121
  630. package/dist/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux.go +0 -95
  631. package/dist/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux_test.go +0 -56
  632. package/dist/templates/native-go/backend/internal/helper/dsm_bridge_linux.go +0 -144
  633. package/dist/templates/native-go/backend/internal/helper/dsm_bridge_linux_test.go +0 -89
  634. package/dist/templates/native-go/backend/internal/helper/dsm_home_linux.go +0 -107
  635. package/dist/templates/native-go/backend/internal/helper/dsm_home_linux_test.go +0 -82
  636. package/dist/templates/native-go/backend/internal/helper/dsm_probe_transport_linux.go +0 -151
  637. package/dist/templates/native-go/backend/internal/helper/dsm_probe_transport_linux_test.go +0 -66
  638. package/dist/templates/native-go/backend/internal/helper/grant_authority.go +0 -519
  639. package/dist/templates/native-go/backend/internal/helper/grant_authority_contract.go +0 -88
  640. package/dist/templates/native-go/backend/internal/helper/grant_authority_test.go +0 -510
  641. package/dist/templates/native-go/backend/internal/helper/grant_cohort.go +0 -389
  642. package/dist/templates/native-go/backend/internal/helper/grant_cohort_test.go +0 -239
  643. package/dist/templates/native-go/backend/internal/helper/grant_delivery.go +0 -49
  644. package/dist/templates/native-go/backend/internal/helper/grant_delivery_methods.go +0 -273
  645. package/dist/templates/native-go/backend/internal/helper/grant_delivery_test.go +0 -322
  646. package/dist/templates/native-go/backend/internal/helper/grant_operation_contract.go +0 -47
  647. package/dist/templates/native-go/backend/internal/helper/grant_readonly_test.go +0 -180
  648. package/dist/templates/native-go/backend/internal/helper/grant_repository_linux.go +0 -416
  649. package/dist/templates/native-go/backend/internal/helper/grant_repository_linux_test.go +0 -469
  650. package/dist/templates/native-go/backend/internal/helper/grant_rpc.go +0 -147
  651. package/dist/templates/native-go/backend/internal/helper/grant_rpc_test.go +0 -51
  652. package/dist/templates/native-go/backend/internal/helper/grant_snapshot.go +0 -78
  653. package/dist/templates/native-go/backend/internal/helper/grant_supervisor_linux.go +0 -134
  654. package/dist/templates/native-go/backend/internal/helper/grant_supervisor_linux_test.go +0 -254
  655. package/dist/templates/native-go/backend/internal/helper/jobcontract/bindings.go +0 -48
  656. package/dist/templates/native-go/backend/internal/helper/jobcontract/contract_test.go +0 -436
  657. package/dist/templates/native-go/backend/internal/helper/jobcontract/decode.go +0 -185
  658. package/dist/templates/native-go/backend/internal/helper/jobcontract/digest.go +0 -55
  659. package/dist/templates/native-go/backend/internal/helper/jobcontract/registry.go +0 -85
  660. package/dist/templates/native-go/backend/internal/helper/jobcontract/registry_test.go +0 -73
  661. package/dist/templates/native-go/backend/internal/helper/jobcontract/result.go +0 -53
  662. package/dist/templates/native-go/backend/internal/helper/jobcontract/stub.go +0 -8
  663. package/dist/templates/native-go/backend/internal/helper/jobcontract/testdata/input-digests.json +0 -127
  664. package/dist/templates/native-go/backend/internal/helper/jobcontract/types.go +0 -234
  665. package/dist/templates/native-go/backend/internal/helper/jobcontract/types_test.go +0 -29
  666. package/dist/templates/native-go/backend/internal/helper/jobcontract/validate.go +0 -462
  667. package/dist/templates/native-go/backend/internal/helper/lease.go +0 -112
  668. package/dist/templates/native-go/backend/internal/helper/lease_linux.go +0 -44
  669. package/dist/templates/native-go/backend/internal/helper/lease_other.go +0 -8
  670. package/dist/templates/native-go/backend/internal/helper/legacy_authority_schema_linux_test.go +0 -34
  671. package/dist/templates/native-go/backend/internal/helper/legacy_authority_schema_test.go +0 -6
  672. package/dist/templates/native-go/backend/internal/helper/lifecycle.go +0 -234
  673. package/dist/templates/native-go/backend/internal/helper/lifecycle_test.go +0 -473
  674. package/dist/templates/native-go/backend/internal/helper/managed_pilot.go +0 -284
  675. package/dist/templates/native-go/backend/internal/helper/managed_pilot_repository_linux.go +0 -74
  676. package/dist/templates/native-go/backend/internal/helper/managed_pilot_repository_linux_test.go +0 -40
  677. package/dist/templates/native-go/backend/internal/helper/managed_pilot_test.go +0 -210
  678. package/dist/templates/native-go/backend/internal/helper/management.go +0 -79
  679. package/dist/templates/native-go/backend/internal/helper/nas_shipped_refusal_linux_test.go +0 -97
  680. package/dist/templates/native-go/backend/internal/helper/native_discovery.go +0 -79
  681. package/dist/templates/native-go/backend/internal/helper/native_identity.go +0 -89
  682. package/dist/templates/native-go/backend/internal/helper/native_provider.go +0 -159
  683. package/dist/templates/native-go/backend/internal/helper/native_provider_test.go +0 -421
  684. package/dist/templates/native-go/backend/internal/helper/observation.go +0 -244
  685. package/dist/templates/native-go/backend/internal/helper/observation_health_test.go +0 -127
  686. package/dist/templates/native-go/backend/internal/helper/observation_reload_budget_test.go +0 -117
  687. package/dist/templates/native-go/backend/internal/helper/observation_test.go +0 -196
  688. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic.go +0 -155
  689. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_linux.go +0 -76
  690. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_linux_test.go +0 -130
  691. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_test.go +0 -98
  692. package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_writer.go +0 -40
  693. package/dist/templates/native-go/backend/internal/helper/operation_bootstrap_linux.go +0 -193
  694. package/dist/templates/native-go/backend/internal/helper/operation_credentials_linux.go +0 -56
  695. package/dist/templates/native-go/backend/internal/helper/operation_linux.go +0 -480
  696. package/dist/templates/native-go/backend/internal/helper/operation_linux_test.go +0 -528
  697. package/dist/templates/native-go/backend/internal/helper/peer_linux.go +0 -44
  698. package/dist/templates/native-go/backend/internal/helper/peer_other.go +0 -7
  699. package/dist/templates/native-go/backend/internal/helper/process_linux.go +0 -180
  700. package/dist/templates/native-go/backend/internal/helper/process_other.go +0 -5
  701. package/dist/templates/native-go/backend/internal/helper/publication_test.go +0 -178
  702. package/dist/templates/native-go/backend/internal/helper/query_deadline_linux_test.go +0 -115
  703. package/dist/templates/native-go/backend/internal/helper/query_pending_diagnostic_test.go +0 -254
  704. package/dist/templates/native-go/backend/internal/helper/read_stream_cohort_linux_test.go +0 -156
  705. package/dist/templates/native-go/backend/internal/helper/read_transfer.go +0 -40
  706. package/dist/templates/native-go/backend/internal/helper/read_transfer_linux.go +0 -109
  707. package/dist/templates/native-go/backend/internal/helper/read_transfer_linux_test.go +0 -118
  708. package/dist/templates/native-go/backend/internal/helper/read_transfer_test.go +0 -177
  709. package/dist/templates/native-go/backend/internal/helper/readonly.go +0 -105
  710. package/dist/templates/native-go/backend/internal/helper/readonly_admission.go +0 -85
  711. package/dist/templates/native-go/backend/internal/helper/readonly_cohort_linux_test.go +0 -253
  712. package/dist/templates/native-go/backend/internal/helper/readonly_linux_test.go +0 -378
  713. package/dist/templates/native-go/backend/internal/helper/readonly_mount_linux.go +0 -65
  714. package/dist/templates/native-go/backend/internal/helper/readonly_mount_proxy_linux.go +0 -113
  715. package/dist/templates/native-go/backend/internal/helper/readonly_operations_linux.go +0 -168
  716. package/dist/templates/native-go/backend/internal/helper/readonly_resolver_linux.go +0 -241
  717. package/dist/templates/native-go/backend/internal/helper/readonly_test.go +0 -40
  718. package/dist/templates/native-go/backend/internal/helper/relaxed_identity.go +0 -252
  719. package/dist/templates/native-go/backend/internal/helper/relaxed_identity_contract.go +0 -105
  720. package/dist/templates/native-go/backend/internal/helper/relaxed_identity_test.go +0 -406
  721. package/dist/templates/native-go/backend/internal/helper/relaxed_invalidation.go +0 -203
  722. package/dist/templates/native-go/backend/internal/helper/repair.go +0 -132
  723. package/dist/templates/native-go/backend/internal/helper/repair_test.go +0 -271
  724. package/dist/templates/native-go/backend/internal/helper/s1r_actor_acl_linux_test.go +0 -303
  725. package/dist/templates/native-go/backend/internal/helper/s1r_actor_fixture_linux_test.go +0 -184
  726. package/dist/templates/native-go/backend/internal/helper/s1r_actor_races_linux_test.go +0 -250
  727. package/dist/templates/native-go/backend/internal/helper/s1r_fixture_contract_linux_test.go +0 -18
  728. package/dist/templates/native-go/backend/internal/helper/sdk_assembly_linux.go +0 -51
  729. package/dist/templates/native-go/backend/internal/helper/sdk_attach.go +0 -83
  730. package/dist/templates/native-go/backend/internal/helper/sdk_attach_contract.go +0 -32
  731. package/dist/templates/native-go/backend/internal/helper/sdk_attach_test.go +0 -184
  732. package/dist/templates/native-go/backend/internal/helper/sdk_authority_schema_test.go +0 -6
  733. package/dist/templates/native-go/backend/internal/helper/sdk_background_authority.go +0 -832
  734. package/dist/templates/native-go/backend/internal/helper/sdk_background_authority_test.go +0 -714
  735. package/dist/templates/native-go/backend/internal/helper/sdk_background_invalidation.go +0 -218
  736. package/dist/templates/native-go/backend/internal/helper/sdk_background_lease.go +0 -218
  737. package/dist/templates/native-go/backend/internal/helper/sdk_background_snapshot.go +0 -110
  738. package/dist/templates/native-go/backend/internal/helper/sdk_background_store_linux_test.go +0 -261
  739. package/dist/templates/native-go/backend/internal/helper/sdk_background_store_test.go +0 -58
  740. package/dist/templates/native-go/backend/internal/helper/sdk_bindings.go +0 -60
  741. package/dist/templates/native-go/backend/internal/helper/sdk_data_contract.go +0 -251
  742. package/dist/templates/native-go/backend/internal/helper/sdk_data_protocol.go +0 -424
  743. package/dist/templates/native-go/backend/internal/helper/sdk_dispatch_absence_test.go +0 -51
  744. package/dist/templates/native-go/backend/internal/helper/sdk_display.go +0 -488
  745. package/dist/templates/native-go/backend/internal/helper/sdk_display_contract.go +0 -121
  746. package/dist/templates/native-go/backend/internal/helper/sdk_display_test.go +0 -459
  747. package/dist/templates/native-go/backend/internal/helper/sdk_grant_authority.go +0 -559
  748. package/dist/templates/native-go/backend/internal/helper/sdk_grant_repository_linux.go +0 -417
  749. package/dist/templates/native-go/backend/internal/helper/sdk_grant_snapshot.go +0 -94
  750. package/dist/templates/native-go/backend/internal/helper/sdk_history.go +0 -80
  751. package/dist/templates/native-go/backend/internal/helper/sdk_history_test.go +0 -76
  752. package/dist/templates/native-go/backend/internal/helper/sdk_job.go +0 -697
  753. package/dist/templates/native-go/backend/internal/helper/sdk_job_child_linux.go +0 -309
  754. package/dist/templates/native-go/backend/internal/helper/sdk_job_contract.go +0 -122
  755. package/dist/templates/native-go/backend/internal/helper/sdk_job_linux_test.go +0 -159
  756. package/dist/templates/native-go/backend/internal/helper/sdk_job_process_linux.go +0 -327
  757. package/dist/templates/native-go/backend/internal/helper/sdk_job_test.go +0 -501
  758. package/dist/templates/native-go/backend/internal/helper/sdk_job_vm_linux_test.go +0 -343
  759. package/dist/templates/native-go/backend/internal/helper/sdk_journal.go +0 -77
  760. package/dist/templates/native-go/backend/internal/helper/sdk_journal_linux.go +0 -244
  761. package/dist/templates/native-go/backend/internal/helper/sdk_journal_linux_test.go +0 -295
  762. package/dist/templates/native-go/backend/internal/helper/sdk_journal_test.go +0 -71
  763. package/dist/templates/native-go/backend/internal/helper/sdk_picker_test.go +0 -50
  764. package/dist/templates/native-go/backend/internal/helper/sdk_process_linux.go +0 -184
  765. package/dist/templates/native-go/backend/internal/helper/sdk_public_vm_linux_test.go +0 -129
  766. package/dist/templates/native-go/backend/internal/helper/sdk_relaxed_invalidation.go +0 -242
  767. package/dist/templates/native-go/backend/internal/helper/sdk_rpc.go +0 -299
  768. package/dist/templates/native-go/backend/internal/helper/sdk_rpc_contract.go +0 -70
  769. package/dist/templates/native-go/backend/internal/helper/sdk_rpc_test.go +0 -135
  770. package/dist/templates/native-go/backend/internal/helper/sdk_server_linux.go +0 -152
  771. package/dist/templates/native-go/backend/internal/helper/sdk_session.go +0 -677
  772. package/dist/templates/native-go/backend/internal/helper/sdk_session_contract.go +0 -72
  773. package/dist/templates/native-go/backend/internal/helper/sdk_session_fence_test.go +0 -215
  774. package/dist/templates/native-go/backend/internal/helper/sdk_session_test.go +0 -475
  775. package/dist/templates/native-go/backend/internal/helper/sdk_supervisor_frame.go +0 -78
  776. package/dist/templates/native-go/backend/internal/helper/sdk_supervisor_linux.go +0 -414
  777. package/dist/templates/native-go/backend/internal/helper/sdk_transport.go +0 -79
  778. package/dist/templates/native-go/backend/internal/helper/sdk_transport_linux.go +0 -82
  779. package/dist/templates/native-go/backend/internal/helper/sdk_transport_test.go +0 -64
  780. package/dist/templates/native-go/backend/internal/helper/server_linux.go +0 -127
  781. package/dist/templates/native-go/backend/internal/helper/stale_management_linux_test.go +0 -126
  782. package/dist/templates/native-go/backend/internal/helper/stale_management_test.go +0 -122
  783. package/dist/templates/native-go/backend/internal/helper/startup_diagnostic.go +0 -68
  784. package/dist/templates/native-go/backend/internal/helper/startup_diagnostic_linux_test.go +0 -126
  785. package/dist/templates/native-go/backend/internal/helper/startup_diagnostic_test.go +0 -117
  786. package/dist/templates/native-go/backend/internal/helper/status.go +0 -343
  787. package/dist/templates/native-go/backend/internal/helper/status_test.go +0 -333
  788. package/dist/templates/native-go/backend/internal/helper/supervision.go +0 -107
  789. package/dist/templates/native-go/backend/internal/helper/supervision_test.go +0 -124
  790. package/dist/templates/native-go/backend/internal/helper/supervisor_frame.go +0 -79
  791. package/dist/templates/native-go/backend/internal/helper/supervisor_frame_linux_test.go +0 -69
  792. package/dist/templates/native-go/backend/internal/helper/supervisor_frame_test.go +0 -107
  793. package/dist/templates/native-go/backend/internal/helper/supervisor_linux.go +0 -367
  794. package/dist/templates/native-go/backend/internal/helper/supervisor_linux_test.go +0 -913
  795. package/dist/templates/native-go/backend/internal/helper/supervisor_socket_eof_test.go +0 -74
  796. package/dist/templates/native-go/backend/internal/helper/supervisor_socket_test.go +0 -45
  797. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/create.json +0 -23
  798. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/frames.json +0 -67
  799. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/grant-store.json +0 -52
  800. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/intent.json +0 -20
  801. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/list.json +0 -20
  802. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/publish.json +0 -20
  803. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/read.json +0 -22
  804. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/stat.json +0 -22
  805. package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/write-stream.json +0 -22
  806. package/dist/templates/native-go/backend/internal/helper/unit_connection.go +0 -75
  807. package/dist/templates/native-go/backend/internal/helper/unit_connection_linux_test.go +0 -135
  808. package/dist/templates/native-go/backend/internal/helper/unit_connection_test.go +0 -151
  809. package/dist/templates/native-go/backend/internal/helper/unit_frame_test.go +0 -32
  810. package/dist/templates/native-go/backend/internal/helper/unit_linux.go +0 -368
  811. package/dist/templates/native-go/backend/internal/helper/unit_linux_test.go +0 -46
  812. package/dist/templates/native-go/backend/internal/helper/unit_mechanisms_linux_test.go +0 -217
  813. package/dist/templates/native-go/backend/internal/helper/unit_padding_linux_test.go +0 -178
  814. package/dist/templates/native-go/backend/internal/helper/unit_query_linux.go +0 -115
  815. package/dist/templates/native-go/backend/internal/helper/unit_reload_linux_test.go +0 -372
  816. package/dist/templates/native-go/backend/internal/helper/unit_reload_sequence_linux_test.go +0 -232
  817. package/dist/templates/native-go/backend/internal/helper/write.go +0 -77
  818. package/dist/templates/native-go/backend/internal/helper/write_admission.go +0 -260
  819. package/dist/templates/native-go/backend/internal/helper/write_admission_test.go +0 -135
  820. package/dist/templates/native-go/backend/internal/helper/write_cohort_linux_test.go +0 -218
  821. package/dist/templates/native-go/backend/internal/helper/write_files_linux.go +0 -205
  822. package/dist/templates/native-go/backend/internal/helper/write_files_linux_test.go +0 -225
  823. package/dist/templates/native-go/backend/internal/helper/write_intent_linux.go +0 -116
  824. package/dist/templates/native-go/backend/internal/helper/write_intent_linux_test.go +0 -74
  825. package/dist/templates/native-go/backend/internal/helper/write_operation_linux.go +0 -245
  826. package/dist/templates/native-go/backend/internal/helper/write_test.go +0 -53
  827. package/dist/templates/native-go-background/BACKGROUND.md +0 -111
  828. package/dist/templates/native-go-background/backend/internal/app/background_routes_test.go +0 -32
  829. package/dist/templates/native-go-background/frontend/src/background/BackgroundPanel.vue +0 -178
  830. package/dist/templates/native-go-background/frontend/src/background/i18n/de.json +0 -83
  831. package/dist/templates/native-go-background/frontend/src/background/i18n/en.json +0 -83
  832. package/dist/templates/native-go-background/frontend/src/background/i18n/es.json +0 -83
  833. package/dist/templates/native-go-background/frontend/src/background/i18n/fr.json +0 -83
  834. package/dist/templates/native-go-background/frontend/src/background/i18n/it.json +0 -83
  835. package/dist/templates/native-go-background/frontend/src/background/i18n/ja.json +0 -83
  836. package/dist/templates/native-go-background/frontend/src/background/i18n/ko.json +0 -83
  837. package/dist/templates/native-go-background/frontend/src/background/i18n/zh-CN.json +0 -83
  838. package/dist/templates/native-go-background/frontend/src/background/i18n/zh-TW.json +0 -83
  839. package/dist/templates/native-go-background/frontend/src/background/picker-provider.ts +0 -13
  840. package/dist/templates/native-go-background/frontend/test/background.test.ts +0 -179
  841. package/dist/templates/native-go-better-auth/backend/internal/app/identity.go +0 -208
  842. package/dist/templates/native-go-better-auth/backend/internal/app/identity_test.go +0 -113
  843. package/dist/templates/native-go-better-auth/node/app.mjs +0 -72
  844. package/dist/templates/native-go-better-auth/node/build.mjs +0 -4
  845. package/dist/templates/native-go-better-auth/node/package-lock.json +0 -862
  846. package/dist/templates/native-go-better-auth/node/package.json +0 -1
  847. package/dist/templates/native-go-better-auth/node/test/auth.test.mjs +0 -31
  848. package/dist/templates/native-go-integration/backend/internal/app/identity_none.go +0 -6
  849. package/dist/templates/native-go-integration/backend/internal/app/personal.go +0 -203
  850. package/dist/templates/native-go-integration/backend/internal/app/personal_test.go +0 -156
  851. package/dist/templates/native-go-root/backend/internal/app/root.go +0 -107
  852. package/dist/templates/native-go-root/backend/internal/app/root_test.go +0 -124
  853. package/dist/templates/native-go-root/root/whoami.sh +0 -6
  854. package/dist/templates/native-go-vue/frontend/README-JOBS.md +0 -75
  855. package/dist/templates/native-go-vue/frontend/README-M2.md +0 -64
  856. package/dist/templates/native-go-vue/frontend/src/M2App.vue +0 -57
  857. package/dist/templates/native-go-vue/frontend/src/SDKApp.vue +0 -203
  858. package/dist/templates/native-go-vue/frontend/src/jobs/InteractiveJobForm.vue +0 -70
  859. package/dist/templates/native-go-vue/frontend/src/jobs/JobsAdminPanel.vue +0 -33
  860. package/dist/templates/native-go-vue/frontend/src/jobs/JobsPanel.vue +0 -135
  861. package/dist/templates/native-go-vue/frontend/src/jobs/connected-provider.ts +0 -179
  862. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/de.json +0 -62
  863. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/en.json +0 -62
  864. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/es.json +0 -62
  865. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/fr.json +0 -62
  866. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/it.json +0 -62
  867. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/ja.json +0 -62
  868. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/ko.json +0 -62
  869. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/zh-CN.json +0 -62
  870. package/dist/templates/native-go-vue/frontend/src/jobs/i18n/zh-TW.json +0 -62
  871. package/dist/templates/native-go-vue/frontend/src/jobs/i18n.ts +0 -15
  872. package/dist/templates/native-go-vue/frontend/src/jobs/mock-provider.ts +0 -67
  873. package/dist/templates/native-go-vue/frontend/src/jobs/provider.ts +0 -60
  874. package/dist/templates/native-go-vue/frontend/src/jobs/validate.ts +0 -44
  875. package/dist/templates/native-go-vue/frontend/src/m2-main.ts +0 -21
  876. package/dist/templates/native-go-vue/frontend/src/m2-style.css +0 -7
  877. package/dist/templates/native-go-vue/frontend/src/nas/M2Files.vue +0 -94
  878. package/dist/templates/native-go-vue/frontend/src/nas/M2PathPicker.vue +0 -70
  879. package/dist/templates/native-go-vue/frontend/src/nas/M2Settings.vue +0 -69
  880. package/dist/templates/native-go-vue/frontend/src/nas/NasGrantSettings.vue +0 -74
  881. package/dist/templates/native-go-vue/frontend/src/nas/NasPathPicker.vue +0 -106
  882. package/dist/templates/native-go-vue/frontend/src/nas/NasUnavailable.vue +0 -20
  883. package/dist/templates/native-go-vue/frontend/src/nas/i18n/de.json +0 -74
  884. package/dist/templates/native-go-vue/frontend/src/nas/i18n/en.json +0 -74
  885. package/dist/templates/native-go-vue/frontend/src/nas/i18n/es.json +0 -74
  886. package/dist/templates/native-go-vue/frontend/src/nas/i18n/fr.json +0 -74
  887. package/dist/templates/native-go-vue/frontend/src/nas/i18n/it.json +0 -74
  888. package/dist/templates/native-go-vue/frontend/src/nas/i18n/ja.json +0 -74
  889. package/dist/templates/native-go-vue/frontend/src/nas/i18n/ko.json +0 -74
  890. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/de.json +0 -56
  891. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/en.json +0 -56
  892. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/es.json +0 -56
  893. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/fr.json +0 -56
  894. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/it.json +0 -56
  895. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/ja.json +0 -56
  896. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/ko.json +0 -56
  897. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-CN.json +0 -56
  898. package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-TW.json +0 -56
  899. package/dist/templates/native-go-vue/frontend/src/nas/i18n/zh-CN.json +0 -74
  900. package/dist/templates/native-go-vue/frontend/src/nas/i18n/zh-TW.json +0 -74
  901. package/dist/templates/native-go-vue/frontend/src/nas/m2-contract.ts +0 -33
  902. package/dist/templates/native-go-vue/frontend/src/nas/m2-i18n.ts +0 -24
  903. package/dist/templates/native-go-vue/frontend/src/nas/m2-provider.ts +0 -104
  904. package/dist/templates/native-go-vue/frontend/src/nas/mock-provider.ts +0 -119
  905. package/dist/templates/native-go-vue/frontend/src/nas/use-m2-request.ts +0 -18
  906. package/dist/templates/native-go-vue/frontend/src/sdk-main.ts +0 -39
  907. package/dist/templates/native-go-vue/frontend/test/jobs-connected.test.ts +0 -163
  908. package/dist/templates/native-go-vue/frontend/test/jobs-preview.html +0 -22
  909. package/dist/templates/native-go-vue/frontend/test/jobs.test.ts +0 -176
  910. package/dist/templates/native-go-vue/frontend/test/m2-preview.html +0 -27
  911. package/dist/templates/native-go-vue/frontend/test/m2-provider.test.ts +0 -87
  912. package/dist/templates/native-go-vue/frontend/test/m2-ui.test.ts +0 -209
  913. package/dist/templates/native-go-vue/frontend/test/nas-provider.test.ts +0 -81
  914. package/dist/templates/native-go-vue/frontend/test/nas-request.test.ts +0 -21
  915. package/dist/templates/native-go-vue/frontend/test/nas-ui.test.ts +0 -261
  916. package/dist/templates/native-go-vue/frontend/test/picker-wire.test.ts +0 -110
  917. package/dist/templates/native-go-vue/frontend/test/shell-preview.html +0 -19
  918. package/dist/templates/native-go-vue/frontend/test/shell-sdk.test.ts +0 -73
  919. package/templates/_shared/notice-overrides/index.json +0 -14
  920. package/templates/_shared/notice-overrides/utils-0.4.2-LICENSE +0 -21
  921. package/templates/_shared/notice-overrides/utils-0.5.0-LICENSE +0 -21
  922. package/templates/binary/native.yaml +0 -16
  923. package/templates/binary/synology-app.yaml +0 -7
  924. package/templates/compose-import/compose.yaml +0 -10
  925. package/templates/compose-import/synology-app.yaml +0 -15
  926. package/templates/hello-web/compose.yaml +0 -24
  927. package/templates/hello-web/html/app.js +0 -1
  928. package/templates/hello-web/html/index.html +0 -13
  929. package/templates/hello-web/synology-app.yaml +0 -16
  930. package/templates/hello-web-page/compose.yaml +0 -24
  931. package/templates/hello-web-page/html/app.js +0 -1
  932. package/templates/hello-web-page/html/index.html +0 -13
  933. package/templates/hello-web-page/synology-app.yaml +0 -16
  934. package/templates/native-go/backend/cmd/app/sdk_main.go +0 -60
  935. package/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +0 -46
  936. package/templates/native-go/backend/cmd/helper/main.go +0 -47
  937. package/templates/native-go/backend/cmd/helper/sdk_registry.go +0 -19
  938. package/templates/native-go/backend/internal/api/binary.go +0 -154
  939. package/templates/native-go/backend/internal/api/binary_test.go +0 -165
  940. package/templates/native-go/backend/internal/app/integration_state.go +0 -16
  941. package/templates/native-go/backend/internal/app/nas_cgi_artifact_test.go +0 -129
  942. package/templates/native-go/backend/internal/app/nas_refusal_test.go +0 -46
  943. package/templates/native-go/backend/internal/app/sdk_jobs.go +0 -70
  944. package/templates/native-go/backend/internal/app/sdk_jobs_test.go +0 -116
  945. package/templates/native-go/backend/internal/app/sdk_routes.go +0 -174
  946. package/templates/native-go/backend/internal/dsmprobe/collector_linux.go +0 -335
  947. package/templates/native-go/backend/internal/dsmprobe/collector_linux_test.go +0 -41
  948. package/templates/native-go/backend/internal/dsmprobe/protocol.go +0 -179
  949. package/templates/native-go/backend/internal/dsmprobe/protocol_test.go +0 -29
  950. package/templates/native-go/backend/internal/filestation/repository.go +0 -207
  951. package/templates/native-go/backend/internal/filestation/repository_test.go +0 -104
  952. package/templates/native-go/backend/internal/filestation/sdk_session.go +0 -241
  953. package/templates/native-go/backend/internal/filestation/sdk_session_test.go +0 -183
  954. package/templates/native-go/backend/internal/filestation/session_semantics_test.go +0 -383
  955. package/templates/native-go/backend/internal/helper/background_proof.go +0 -163
  956. package/templates/native-go/backend/internal/helper/background_proof_contract.go +0 -46
  957. package/templates/native-go/backend/internal/helper/background_proof_test.go +0 -161
  958. package/templates/native-go/backend/internal/helper/cohort.go +0 -393
  959. package/templates/native-go/backend/internal/helper/cohort_publication.go +0 -18
  960. package/templates/native-go/backend/internal/helper/cohort_publication_test.go +0 -105
  961. package/templates/native-go/backend/internal/helper/cohort_test.go +0 -372
  962. package/templates/native-go/backend/internal/helper/control.go +0 -424
  963. package/templates/native-go/backend/internal/helper/control_test.go +0 -250
  964. package/templates/native-go/backend/internal/helper/data_contract.go +0 -245
  965. package/templates/native-go/backend/internal/helper/data_contract_test.go +0 -51
  966. package/templates/native-go/backend/internal/helper/data_decode.go +0 -184
  967. package/templates/native-go/backend/internal/helper/data_decode_pointer_test.go +0 -30
  968. package/templates/native-go/backend/internal/helper/data_protocol.go +0 -419
  969. package/templates/native-go/backend/internal/helper/data_protocol_test.go +0 -449
  970. package/templates/native-go/backend/internal/helper/dsm_acl_linux.go +0 -139
  971. package/templates/native-go/backend/internal/helper/dsm_acl_linux_test.go +0 -121
  972. package/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux.go +0 -95
  973. package/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux_test.go +0 -56
  974. package/templates/native-go/backend/internal/helper/dsm_bridge_linux.go +0 -144
  975. package/templates/native-go/backend/internal/helper/dsm_bridge_linux_test.go +0 -89
  976. package/templates/native-go/backend/internal/helper/dsm_home_linux.go +0 -107
  977. package/templates/native-go/backend/internal/helper/dsm_home_linux_test.go +0 -82
  978. package/templates/native-go/backend/internal/helper/dsm_probe_transport_linux.go +0 -151
  979. package/templates/native-go/backend/internal/helper/dsm_probe_transport_linux_test.go +0 -66
  980. package/templates/native-go/backend/internal/helper/grant_authority.go +0 -519
  981. package/templates/native-go/backend/internal/helper/grant_authority_contract.go +0 -88
  982. package/templates/native-go/backend/internal/helper/grant_authority_test.go +0 -510
  983. package/templates/native-go/backend/internal/helper/grant_cohort.go +0 -389
  984. package/templates/native-go/backend/internal/helper/grant_cohort_test.go +0 -239
  985. package/templates/native-go/backend/internal/helper/grant_delivery.go +0 -49
  986. package/templates/native-go/backend/internal/helper/grant_delivery_methods.go +0 -273
  987. package/templates/native-go/backend/internal/helper/grant_delivery_test.go +0 -322
  988. package/templates/native-go/backend/internal/helper/grant_operation_contract.go +0 -47
  989. package/templates/native-go/backend/internal/helper/grant_readonly_test.go +0 -180
  990. package/templates/native-go/backend/internal/helper/grant_repository_linux.go +0 -416
  991. package/templates/native-go/backend/internal/helper/grant_repository_linux_test.go +0 -469
  992. package/templates/native-go/backend/internal/helper/grant_rpc.go +0 -147
  993. package/templates/native-go/backend/internal/helper/grant_rpc_test.go +0 -51
  994. package/templates/native-go/backend/internal/helper/grant_snapshot.go +0 -78
  995. package/templates/native-go/backend/internal/helper/grant_supervisor_linux.go +0 -134
  996. package/templates/native-go/backend/internal/helper/grant_supervisor_linux_test.go +0 -254
  997. package/templates/native-go/backend/internal/helper/jobcontract/bindings.go +0 -48
  998. package/templates/native-go/backend/internal/helper/jobcontract/contract_test.go +0 -436
  999. package/templates/native-go/backend/internal/helper/jobcontract/decode.go +0 -185
  1000. package/templates/native-go/backend/internal/helper/jobcontract/digest.go +0 -55
  1001. package/templates/native-go/backend/internal/helper/jobcontract/registry.go +0 -85
  1002. package/templates/native-go/backend/internal/helper/jobcontract/registry_test.go +0 -73
  1003. package/templates/native-go/backend/internal/helper/jobcontract/result.go +0 -53
  1004. package/templates/native-go/backend/internal/helper/jobcontract/stub.go +0 -8
  1005. package/templates/native-go/backend/internal/helper/jobcontract/testdata/input-digests.json +0 -127
  1006. package/templates/native-go/backend/internal/helper/jobcontract/types.go +0 -234
  1007. package/templates/native-go/backend/internal/helper/jobcontract/types_test.go +0 -29
  1008. package/templates/native-go/backend/internal/helper/jobcontract/validate.go +0 -462
  1009. package/templates/native-go/backend/internal/helper/lease.go +0 -112
  1010. package/templates/native-go/backend/internal/helper/lease_linux.go +0 -44
  1011. package/templates/native-go/backend/internal/helper/lease_other.go +0 -8
  1012. package/templates/native-go/backend/internal/helper/legacy_authority_schema_linux_test.go +0 -34
  1013. package/templates/native-go/backend/internal/helper/legacy_authority_schema_test.go +0 -6
  1014. package/templates/native-go/backend/internal/helper/lifecycle.go +0 -234
  1015. package/templates/native-go/backend/internal/helper/lifecycle_test.go +0 -473
  1016. package/templates/native-go/backend/internal/helper/managed_pilot.go +0 -284
  1017. package/templates/native-go/backend/internal/helper/managed_pilot_repository_linux.go +0 -74
  1018. package/templates/native-go/backend/internal/helper/managed_pilot_repository_linux_test.go +0 -40
  1019. package/templates/native-go/backend/internal/helper/managed_pilot_test.go +0 -210
  1020. package/templates/native-go/backend/internal/helper/management.go +0 -79
  1021. package/templates/native-go/backend/internal/helper/nas_shipped_refusal_linux_test.go +0 -97
  1022. package/templates/native-go/backend/internal/helper/native_discovery.go +0 -79
  1023. package/templates/native-go/backend/internal/helper/native_identity.go +0 -89
  1024. package/templates/native-go/backend/internal/helper/native_provider.go +0 -159
  1025. package/templates/native-go/backend/internal/helper/native_provider_test.go +0 -421
  1026. package/templates/native-go/backend/internal/helper/observation.go +0 -244
  1027. package/templates/native-go/backend/internal/helper/observation_health_test.go +0 -127
  1028. package/templates/native-go/backend/internal/helper/observation_reload_budget_test.go +0 -117
  1029. package/templates/native-go/backend/internal/helper/observation_test.go +0 -196
  1030. package/templates/native-go/backend/internal/helper/observer_diagnostic.go +0 -155
  1031. package/templates/native-go/backend/internal/helper/observer_diagnostic_linux.go +0 -76
  1032. package/templates/native-go/backend/internal/helper/observer_diagnostic_linux_test.go +0 -130
  1033. package/templates/native-go/backend/internal/helper/observer_diagnostic_test.go +0 -98
  1034. package/templates/native-go/backend/internal/helper/observer_diagnostic_writer.go +0 -40
  1035. package/templates/native-go/backend/internal/helper/operation_bootstrap_linux.go +0 -193
  1036. package/templates/native-go/backend/internal/helper/operation_credentials_linux.go +0 -56
  1037. package/templates/native-go/backend/internal/helper/operation_linux.go +0 -480
  1038. package/templates/native-go/backend/internal/helper/operation_linux_test.go +0 -528
  1039. package/templates/native-go/backend/internal/helper/peer_linux.go +0 -44
  1040. package/templates/native-go/backend/internal/helper/peer_other.go +0 -7
  1041. package/templates/native-go/backend/internal/helper/process_linux.go +0 -180
  1042. package/templates/native-go/backend/internal/helper/process_other.go +0 -5
  1043. package/templates/native-go/backend/internal/helper/publication_test.go +0 -178
  1044. package/templates/native-go/backend/internal/helper/query_deadline_linux_test.go +0 -115
  1045. package/templates/native-go/backend/internal/helper/query_pending_diagnostic_test.go +0 -254
  1046. package/templates/native-go/backend/internal/helper/read_stream_cohort_linux_test.go +0 -156
  1047. package/templates/native-go/backend/internal/helper/read_transfer.go +0 -40
  1048. package/templates/native-go/backend/internal/helper/read_transfer_linux.go +0 -109
  1049. package/templates/native-go/backend/internal/helper/read_transfer_linux_test.go +0 -118
  1050. package/templates/native-go/backend/internal/helper/read_transfer_test.go +0 -177
  1051. package/templates/native-go/backend/internal/helper/readonly.go +0 -105
  1052. package/templates/native-go/backend/internal/helper/readonly_admission.go +0 -85
  1053. package/templates/native-go/backend/internal/helper/readonly_cohort_linux_test.go +0 -253
  1054. package/templates/native-go/backend/internal/helper/readonly_linux_test.go +0 -378
  1055. package/templates/native-go/backend/internal/helper/readonly_mount_linux.go +0 -65
  1056. package/templates/native-go/backend/internal/helper/readonly_mount_proxy_linux.go +0 -113
  1057. package/templates/native-go/backend/internal/helper/readonly_operations_linux.go +0 -168
  1058. package/templates/native-go/backend/internal/helper/readonly_resolver_linux.go +0 -241
  1059. package/templates/native-go/backend/internal/helper/readonly_test.go +0 -40
  1060. package/templates/native-go/backend/internal/helper/relaxed_identity.go +0 -252
  1061. package/templates/native-go/backend/internal/helper/relaxed_identity_contract.go +0 -105
  1062. package/templates/native-go/backend/internal/helper/relaxed_identity_test.go +0 -406
  1063. package/templates/native-go/backend/internal/helper/relaxed_invalidation.go +0 -203
  1064. package/templates/native-go/backend/internal/helper/repair.go +0 -132
  1065. package/templates/native-go/backend/internal/helper/repair_test.go +0 -271
  1066. package/templates/native-go/backend/internal/helper/s1r_actor_acl_linux_test.go +0 -303
  1067. package/templates/native-go/backend/internal/helper/s1r_actor_fixture_linux_test.go +0 -184
  1068. package/templates/native-go/backend/internal/helper/s1r_actor_races_linux_test.go +0 -250
  1069. package/templates/native-go/backend/internal/helper/s1r_fixture_contract_linux_test.go +0 -18
  1070. package/templates/native-go/backend/internal/helper/sdk_assembly_linux.go +0 -51
  1071. package/templates/native-go/backend/internal/helper/sdk_attach.go +0 -83
  1072. package/templates/native-go/backend/internal/helper/sdk_attach_contract.go +0 -32
  1073. package/templates/native-go/backend/internal/helper/sdk_attach_test.go +0 -184
  1074. package/templates/native-go/backend/internal/helper/sdk_authority_schema_test.go +0 -6
  1075. package/templates/native-go/backend/internal/helper/sdk_background_authority.go +0 -832
  1076. package/templates/native-go/backend/internal/helper/sdk_background_authority_test.go +0 -714
  1077. package/templates/native-go/backend/internal/helper/sdk_background_invalidation.go +0 -218
  1078. package/templates/native-go/backend/internal/helper/sdk_background_lease.go +0 -218
  1079. package/templates/native-go/backend/internal/helper/sdk_background_snapshot.go +0 -110
  1080. package/templates/native-go/backend/internal/helper/sdk_background_store_linux_test.go +0 -261
  1081. package/templates/native-go/backend/internal/helper/sdk_background_store_test.go +0 -58
  1082. package/templates/native-go/backend/internal/helper/sdk_bindings.go +0 -60
  1083. package/templates/native-go/backend/internal/helper/sdk_data_contract.go +0 -251
  1084. package/templates/native-go/backend/internal/helper/sdk_data_protocol.go +0 -424
  1085. package/templates/native-go/backend/internal/helper/sdk_dispatch_absence_test.go +0 -51
  1086. package/templates/native-go/backend/internal/helper/sdk_display.go +0 -488
  1087. package/templates/native-go/backend/internal/helper/sdk_display_contract.go +0 -121
  1088. package/templates/native-go/backend/internal/helper/sdk_display_test.go +0 -459
  1089. package/templates/native-go/backend/internal/helper/sdk_grant_authority.go +0 -559
  1090. package/templates/native-go/backend/internal/helper/sdk_grant_repository_linux.go +0 -417
  1091. package/templates/native-go/backend/internal/helper/sdk_grant_snapshot.go +0 -94
  1092. package/templates/native-go/backend/internal/helper/sdk_history.go +0 -80
  1093. package/templates/native-go/backend/internal/helper/sdk_history_test.go +0 -76
  1094. package/templates/native-go/backend/internal/helper/sdk_job.go +0 -697
  1095. package/templates/native-go/backend/internal/helper/sdk_job_child_linux.go +0 -309
  1096. package/templates/native-go/backend/internal/helper/sdk_job_contract.go +0 -122
  1097. package/templates/native-go/backend/internal/helper/sdk_job_linux_test.go +0 -159
  1098. package/templates/native-go/backend/internal/helper/sdk_job_process_linux.go +0 -327
  1099. package/templates/native-go/backend/internal/helper/sdk_job_test.go +0 -501
  1100. package/templates/native-go/backend/internal/helper/sdk_job_vm_linux_test.go +0 -343
  1101. package/templates/native-go/backend/internal/helper/sdk_journal.go +0 -77
  1102. package/templates/native-go/backend/internal/helper/sdk_journal_linux.go +0 -244
  1103. package/templates/native-go/backend/internal/helper/sdk_journal_linux_test.go +0 -295
  1104. package/templates/native-go/backend/internal/helper/sdk_journal_test.go +0 -71
  1105. package/templates/native-go/backend/internal/helper/sdk_picker_test.go +0 -50
  1106. package/templates/native-go/backend/internal/helper/sdk_process_linux.go +0 -184
  1107. package/templates/native-go/backend/internal/helper/sdk_public_vm_linux_test.go +0 -129
  1108. package/templates/native-go/backend/internal/helper/sdk_relaxed_invalidation.go +0 -242
  1109. package/templates/native-go/backend/internal/helper/sdk_rpc.go +0 -299
  1110. package/templates/native-go/backend/internal/helper/sdk_rpc_contract.go +0 -70
  1111. package/templates/native-go/backend/internal/helper/sdk_rpc_test.go +0 -135
  1112. package/templates/native-go/backend/internal/helper/sdk_server_linux.go +0 -152
  1113. package/templates/native-go/backend/internal/helper/sdk_session.go +0 -677
  1114. package/templates/native-go/backend/internal/helper/sdk_session_contract.go +0 -72
  1115. package/templates/native-go/backend/internal/helper/sdk_session_fence_test.go +0 -215
  1116. package/templates/native-go/backend/internal/helper/sdk_session_test.go +0 -475
  1117. package/templates/native-go/backend/internal/helper/sdk_supervisor_frame.go +0 -78
  1118. package/templates/native-go/backend/internal/helper/sdk_supervisor_linux.go +0 -414
  1119. package/templates/native-go/backend/internal/helper/sdk_transport.go +0 -79
  1120. package/templates/native-go/backend/internal/helper/sdk_transport_linux.go +0 -82
  1121. package/templates/native-go/backend/internal/helper/sdk_transport_test.go +0 -64
  1122. package/templates/native-go/backend/internal/helper/server_linux.go +0 -127
  1123. package/templates/native-go/backend/internal/helper/stale_management_linux_test.go +0 -126
  1124. package/templates/native-go/backend/internal/helper/stale_management_test.go +0 -122
  1125. package/templates/native-go/backend/internal/helper/startup_diagnostic.go +0 -68
  1126. package/templates/native-go/backend/internal/helper/startup_diagnostic_linux_test.go +0 -126
  1127. package/templates/native-go/backend/internal/helper/startup_diagnostic_test.go +0 -117
  1128. package/templates/native-go/backend/internal/helper/status.go +0 -343
  1129. package/templates/native-go/backend/internal/helper/status_test.go +0 -333
  1130. package/templates/native-go/backend/internal/helper/supervision.go +0 -107
  1131. package/templates/native-go/backend/internal/helper/supervision_test.go +0 -124
  1132. package/templates/native-go/backend/internal/helper/supervisor_frame.go +0 -79
  1133. package/templates/native-go/backend/internal/helper/supervisor_frame_linux_test.go +0 -69
  1134. package/templates/native-go/backend/internal/helper/supervisor_frame_test.go +0 -107
  1135. package/templates/native-go/backend/internal/helper/supervisor_linux.go +0 -367
  1136. package/templates/native-go/backend/internal/helper/supervisor_linux_test.go +0 -913
  1137. package/templates/native-go/backend/internal/helper/supervisor_socket_eof_test.go +0 -74
  1138. package/templates/native-go/backend/internal/helper/supervisor_socket_test.go +0 -45
  1139. package/templates/native-go/backend/internal/helper/testdata/protocol2/create.json +0 -23
  1140. package/templates/native-go/backend/internal/helper/testdata/protocol2/frames.json +0 -67
  1141. package/templates/native-go/backend/internal/helper/testdata/protocol2/grant-store.json +0 -52
  1142. package/templates/native-go/backend/internal/helper/testdata/protocol2/intent.json +0 -20
  1143. package/templates/native-go/backend/internal/helper/testdata/protocol2/list.json +0 -20
  1144. package/templates/native-go/backend/internal/helper/testdata/protocol2/publish.json +0 -20
  1145. package/templates/native-go/backend/internal/helper/testdata/protocol2/read.json +0 -22
  1146. package/templates/native-go/backend/internal/helper/testdata/protocol2/stat.json +0 -22
  1147. package/templates/native-go/backend/internal/helper/testdata/protocol2/write-stream.json +0 -22
  1148. package/templates/native-go/backend/internal/helper/unit_connection.go +0 -75
  1149. package/templates/native-go/backend/internal/helper/unit_connection_linux_test.go +0 -135
  1150. package/templates/native-go/backend/internal/helper/unit_connection_test.go +0 -151
  1151. package/templates/native-go/backend/internal/helper/unit_frame_test.go +0 -32
  1152. package/templates/native-go/backend/internal/helper/unit_linux.go +0 -368
  1153. package/templates/native-go/backend/internal/helper/unit_linux_test.go +0 -46
  1154. package/templates/native-go/backend/internal/helper/unit_mechanisms_linux_test.go +0 -217
  1155. package/templates/native-go/backend/internal/helper/unit_padding_linux_test.go +0 -178
  1156. package/templates/native-go/backend/internal/helper/unit_query_linux.go +0 -115
  1157. package/templates/native-go/backend/internal/helper/unit_reload_linux_test.go +0 -372
  1158. package/templates/native-go/backend/internal/helper/unit_reload_sequence_linux_test.go +0 -232
  1159. package/templates/native-go/backend/internal/helper/write.go +0 -77
  1160. package/templates/native-go/backend/internal/helper/write_admission.go +0 -260
  1161. package/templates/native-go/backend/internal/helper/write_admission_test.go +0 -135
  1162. package/templates/native-go/backend/internal/helper/write_cohort_linux_test.go +0 -218
  1163. package/templates/native-go/backend/internal/helper/write_files_linux.go +0 -205
  1164. package/templates/native-go/backend/internal/helper/write_files_linux_test.go +0 -225
  1165. package/templates/native-go/backend/internal/helper/write_intent_linux.go +0 -116
  1166. package/templates/native-go/backend/internal/helper/write_intent_linux_test.go +0 -74
  1167. package/templates/native-go/backend/internal/helper/write_operation_linux.go +0 -245
  1168. package/templates/native-go/backend/internal/helper/write_test.go +0 -53
  1169. package/templates/native-go-background/BACKGROUND.md +0 -111
  1170. package/templates/native-go-background/backend/internal/app/background_routes_test.go +0 -32
  1171. package/templates/native-go-background/frontend/src/background/BackgroundPanel.vue +0 -178
  1172. package/templates/native-go-background/frontend/src/background/i18n/de.json +0 -83
  1173. package/templates/native-go-background/frontend/src/background/i18n/en.json +0 -83
  1174. package/templates/native-go-background/frontend/src/background/i18n/es.json +0 -83
  1175. package/templates/native-go-background/frontend/src/background/i18n/fr.json +0 -83
  1176. package/templates/native-go-background/frontend/src/background/i18n/it.json +0 -83
  1177. package/templates/native-go-background/frontend/src/background/i18n/ja.json +0 -83
  1178. package/templates/native-go-background/frontend/src/background/i18n/ko.json +0 -83
  1179. package/templates/native-go-background/frontend/src/background/i18n/zh-CN.json +0 -83
  1180. package/templates/native-go-background/frontend/src/background/i18n/zh-TW.json +0 -83
  1181. package/templates/native-go-background/frontend/src/background/picker-provider.ts +0 -13
  1182. package/templates/native-go-background/frontend/test/background.test.ts +0 -179
  1183. package/templates/native-go-better-auth/backend/internal/app/identity.go +0 -208
  1184. package/templates/native-go-better-auth/backend/internal/app/identity_test.go +0 -113
  1185. package/templates/native-go-better-auth/node/app.mjs +0 -72
  1186. package/templates/native-go-better-auth/node/build.mjs +0 -4
  1187. package/templates/native-go-better-auth/node/package-lock.json +0 -862
  1188. package/templates/native-go-better-auth/node/package.json +0 -1
  1189. package/templates/native-go-better-auth/node/test/auth.test.mjs +0 -31
  1190. package/templates/native-go-integration/backend/internal/app/identity_none.go +0 -6
  1191. package/templates/native-go-integration/backend/internal/app/personal.go +0 -203
  1192. package/templates/native-go-integration/backend/internal/app/personal_test.go +0 -156
  1193. package/templates/native-go-root/backend/internal/app/root.go +0 -107
  1194. package/templates/native-go-root/backend/internal/app/root_test.go +0 -124
  1195. package/templates/native-go-root/root/whoami.sh +0 -6
  1196. package/templates/native-go-vue/frontend/README-JOBS.md +0 -75
  1197. package/templates/native-go-vue/frontend/README-M2.md +0 -64
  1198. package/templates/native-go-vue/frontend/src/M2App.vue +0 -57
  1199. package/templates/native-go-vue/frontend/src/SDKApp.vue +0 -203
  1200. package/templates/native-go-vue/frontend/src/jobs/InteractiveJobForm.vue +0 -70
  1201. package/templates/native-go-vue/frontend/src/jobs/JobsAdminPanel.vue +0 -33
  1202. package/templates/native-go-vue/frontend/src/jobs/JobsPanel.vue +0 -135
  1203. package/templates/native-go-vue/frontend/src/jobs/connected-provider.ts +0 -179
  1204. package/templates/native-go-vue/frontend/src/jobs/i18n/de.json +0 -62
  1205. package/templates/native-go-vue/frontend/src/jobs/i18n/en.json +0 -62
  1206. package/templates/native-go-vue/frontend/src/jobs/i18n/es.json +0 -62
  1207. package/templates/native-go-vue/frontend/src/jobs/i18n/fr.json +0 -62
  1208. package/templates/native-go-vue/frontend/src/jobs/i18n/it.json +0 -62
  1209. package/templates/native-go-vue/frontend/src/jobs/i18n/ja.json +0 -62
  1210. package/templates/native-go-vue/frontend/src/jobs/i18n/ko.json +0 -62
  1211. package/templates/native-go-vue/frontend/src/jobs/i18n/zh-CN.json +0 -62
  1212. package/templates/native-go-vue/frontend/src/jobs/i18n/zh-TW.json +0 -62
  1213. package/templates/native-go-vue/frontend/src/jobs/i18n.ts +0 -15
  1214. package/templates/native-go-vue/frontend/src/jobs/mock-provider.ts +0 -67
  1215. package/templates/native-go-vue/frontend/src/jobs/provider.ts +0 -60
  1216. package/templates/native-go-vue/frontend/src/jobs/validate.ts +0 -44
  1217. package/templates/native-go-vue/frontend/src/m2-main.ts +0 -21
  1218. package/templates/native-go-vue/frontend/src/m2-style.css +0 -7
  1219. package/templates/native-go-vue/frontend/src/nas/M2Files.vue +0 -94
  1220. package/templates/native-go-vue/frontend/src/nas/M2PathPicker.vue +0 -70
  1221. package/templates/native-go-vue/frontend/src/nas/M2Settings.vue +0 -69
  1222. package/templates/native-go-vue/frontend/src/nas/NasGrantSettings.vue +0 -74
  1223. package/templates/native-go-vue/frontend/src/nas/NasPathPicker.vue +0 -106
  1224. package/templates/native-go-vue/frontend/src/nas/NasUnavailable.vue +0 -20
  1225. package/templates/native-go-vue/frontend/src/nas/i18n/de.json +0 -74
  1226. package/templates/native-go-vue/frontend/src/nas/i18n/en.json +0 -74
  1227. package/templates/native-go-vue/frontend/src/nas/i18n/es.json +0 -74
  1228. package/templates/native-go-vue/frontend/src/nas/i18n/fr.json +0 -74
  1229. package/templates/native-go-vue/frontend/src/nas/i18n/it.json +0 -74
  1230. package/templates/native-go-vue/frontend/src/nas/i18n/ja.json +0 -74
  1231. package/templates/native-go-vue/frontend/src/nas/i18n/ko.json +0 -74
  1232. package/templates/native-go-vue/frontend/src/nas/i18n/m2/de.json +0 -56
  1233. package/templates/native-go-vue/frontend/src/nas/i18n/m2/en.json +0 -56
  1234. package/templates/native-go-vue/frontend/src/nas/i18n/m2/es.json +0 -56
  1235. package/templates/native-go-vue/frontend/src/nas/i18n/m2/fr.json +0 -56
  1236. package/templates/native-go-vue/frontend/src/nas/i18n/m2/it.json +0 -56
  1237. package/templates/native-go-vue/frontend/src/nas/i18n/m2/ja.json +0 -56
  1238. package/templates/native-go-vue/frontend/src/nas/i18n/m2/ko.json +0 -56
  1239. package/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-CN.json +0 -56
  1240. package/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-TW.json +0 -56
  1241. package/templates/native-go-vue/frontend/src/nas/i18n/zh-CN.json +0 -74
  1242. package/templates/native-go-vue/frontend/src/nas/i18n/zh-TW.json +0 -74
  1243. package/templates/native-go-vue/frontend/src/nas/m2-contract.ts +0 -33
  1244. package/templates/native-go-vue/frontend/src/nas/m2-i18n.ts +0 -24
  1245. package/templates/native-go-vue/frontend/src/nas/m2-provider.ts +0 -104
  1246. package/templates/native-go-vue/frontend/src/nas/mock-provider.ts +0 -119
  1247. package/templates/native-go-vue/frontend/src/nas/use-m2-request.ts +0 -18
  1248. package/templates/native-go-vue/frontend/src/sdk-main.ts +0 -39
  1249. package/templates/native-go-vue/frontend/test/jobs-connected.test.ts +0 -163
  1250. package/templates/native-go-vue/frontend/test/jobs-preview.html +0 -22
  1251. package/templates/native-go-vue/frontend/test/jobs.test.ts +0 -176
  1252. package/templates/native-go-vue/frontend/test/m2-preview.html +0 -27
  1253. package/templates/native-go-vue/frontend/test/m2-provider.test.ts +0 -87
  1254. package/templates/native-go-vue/frontend/test/m2-ui.test.ts +0 -209
  1255. package/templates/native-go-vue/frontend/test/nas-provider.test.ts +0 -81
  1256. package/templates/native-go-vue/frontend/test/nas-request.test.ts +0 -21
  1257. package/templates/native-go-vue/frontend/test/nas-ui.test.ts +0 -261
  1258. package/templates/native-go-vue/frontend/test/picker-wire.test.ts +0 -110
  1259. package/templates/native-go-vue/frontend/test/shell-preview.html +0 -19
  1260. package/templates/native-go-vue/frontend/test/shell-sdk.test.ts +0 -73
  1261. /package/dist/templates/{hello-files → compose}/compose.yaml +0 -0
  1262. /package/dist/templates/{hello-files → compose}/synology-app.yaml +0 -0
  1263. /package/dist/templates/{native-go-background → native-go-jobs}/backend/internal/app/background_on.go +0 -0
  1264. /package/dist/templates/{native-go-background → native-go-jobs}/frontend/src/background/i18n.ts +0 -0
  1265. /package/templates/{hello-files → compose}/compose.yaml +0 -0
  1266. /package/templates/{hello-files → compose}/synology-app.yaml +0 -0
  1267. /package/templates/{native-go-background → native-go-jobs}/backend/internal/app/background_on.go +0 -0
  1268. /package/templates/{native-go-background → native-go-jobs}/frontend/src/background/i18n.ts +0 -0
@@ -1,75 +0,0 @@
1
- # Interactive NAS picker → job (experimental)
2
-
3
- Use the existing `native-go --ui vue --integration go` project, then opt in to
4
- protocol 2, relaxed File Station session access and a fixed SDK read worker:
5
-
6
- ```yaml
7
- integration:
8
- protocol: 2
9
- dataAccess: relaxed
10
- workers: {}
11
- sdkWorkers:
12
- scan:
13
- kind: sdk-read-plan
14
- workerRevision: 1
15
- actions: [nas.files.list, nas.files.stat, nas.files.read]
16
- modes: [interactive]
17
- ```
18
-
19
- Install frontend dependencies and run `synopkgland build-spk` as usual. The
20
- builder sets `SYNOPKGLAND_SDK_WORKERS=1` from the manifest and chooses
21
- `src/sdk-main.ts`. Leave `SYNOPKGLAND_M2_SIMPLE` unset: that flag deliberately
22
- selects the separate session-only file-operation entry without job controls.
23
- For a standalone frontend check use `SYNOPKGLAND_SDK_WORKERS=1 npm run build`.
24
-
25
- An administrator uses the existing exact-payload approval and activation flow.
26
- The session SDK surface hides the native personal-note sample, whose routes
27
- are absent from this protocol-2 build.
28
- Each user opens the package in their own DSM session. The jobs panel enables
29
- the source picker only after a fresh `jobs.status` reports session availability.
30
- Choose a file or folder, confirm selection, select the worker and operation,
31
- set its bound where required, then submit once. Progress refreshes every 2.5 s
32
- while this page contains active jobs; errors stop polling and require Refresh.
33
- Cancel uses the existing owner/revision checks. Closing the window requests
34
- cancellation and stops renewal. Observer revalidation pauses submission;
35
- fenced jobs stay canceled and require an explicit fresh submission after
36
- recovery. Nothing resumes or retries automatically.
37
-
38
- `jobs.status.workers` projects only interactive workers with session-supported
39
- list/stat/read actions, exact registry revision and the smaller of the worker's
40
- bounded/total byte limits and 512 KiB. It contains no compiled bindings or
41
- credentials. This is display metadata: prepare still verifies the registry,
42
- selection, session and current permissions. Missing metadata in an older owner
43
- leaves the form disabled. The form submits one step; list is 1–100 entries,
44
- read is 1–the projected byte limit, and stat has no byte/entry argument.
45
- This read-only worker requires no destination and discards content, returning
46
- only counters. Background jobs remain unsupported even if the manifest lists
47
- background mode. Writes and custom executables are not part of this form.
48
-
49
- `M2PathPicker` extends the existing Dialog/TreeView/DataGrid composition with
50
- `select-files` and `read-only` props and a `source` event (`M2JobSource`). Folder
51
- picks return an empty segment list. File picks call the existing
52
- `nas.grants.confirm` for the containing folder with `writable:false`, then use
53
- one relative filename in `jobs.prepare.input`. The `folder` grant therefore
54
- records consent for that containing folder, not a file-only authority. Existing
55
- folder-only consumers and their `selected` event are unchanged. These selections
56
- remain path based; they do not pin inodes or confine symlink/rename races.
57
-
58
- The SDK mount provides both `M2ProviderKey` and `JobsProviderKey` per window.
59
- `JobsProvider.interactive` exposes `workers`, `prepareInteractive` and
60
- `submitInteractive`; applications can reuse this interface with their own form.
61
- Transport stays in the existing `ctx.call`, which carries the current DSM
62
- session and CSRF token. Never put credentials in form fields, persistent
63
- storage, logs or an administrator-session fallback.
64
-
65
- A missing submit reply freezes the form with its original intent. **Check
66
- original job** calls `jobs.lookup`; it never submits or acquires a replacement
67
- lease. If the job is found, status shows its actual outcome. Without the lost
68
- attach receipt it may expire after 6 s. Unmount or an account/package change
69
- clears selection and pending input, disconnects the provider, and discards late
70
- responses. Refreshing cannot certify remote rollback or completed cleanup.
71
- The attach contract remains 2 s renewal / 6 s TTL.
72
-
73
- Nine catalogs cover en, zh-TW, zh-CN, ja, ko, de, fr, es and it via `ctx.locale`.
74
- Unit and browser fixtures are synthetic; DSM compatibility must be established
75
- on the final generated SPK with each user's session and File Station permissions.
@@ -1,64 +0,0 @@
1
- # Interactive File Station UI (experimental)
2
-
3
- This optional entry uses the package CGI's `ctx.call` transport and the current
4
- user's DSM session. It does not borrow an administrator session, request root
5
- helper approval, cache DSM credentials or install a mock provider.
6
-
7
- The existing `main.ts` and SDK worker entry remain the default. To select this
8
- session-only UI in a generated `native-go --ui vue` project:
9
-
10
- 1. Enable `integration: {protocol: 2, workers: {}}` in `dsm-package.yaml`.
11
- 2. Set `SYNOPKGLAND_M2_SIMPLE=1` in `frontend/.env.production.local`.
12
- 3. Run the existing `synopkgland build-spk` workflow and inspect the final SPK.
13
-
14
- You can also build the frontend with `SYNOPKGLAND_M2_SIMPLE=1 npm run build`.
15
- The flag selects `src/m2-main.ts` before the existing SDK-workers entry; it
16
- selects a session-only surface, without background job or root-maintenance UI.
17
- It does not change backend permissions. Protocol 1 / no integration lacks the
18
- required routes and the UI shows that the adapter is unavailable. Without this
19
- flag, generated artifacts retain their previous bytes.
20
-
21
- ## SDK display contract
22
-
23
- `src/nas/m2-contract.ts` exports `M2Provider`, `M2Selection`, `M2Entry`,
24
- `M2Page`, `M2Session`, safe codes and the 512 KiB / 100-entry bounds.
25
- `createM2Provider(ctx)` implements status, discovery, confirmation, saved
26
- selection listing/revocation, relative list/stat/read, mkdir and upload.
27
- Pass an AbortSignal per operation and call `dispose()` on unmount. Each mount
28
- owns its provider and clears its UI after account/package change or pagehide.
29
-
30
- `M2Selection.writable` records consent to attempt writes; it is not a File
31
- Station permission probe. The backend validates the actual session and current
32
- File Station permissions on every operation. A selection is an opaque handle
33
- with a display path, not the native helper's prepare/digest/revision grant.
34
- User/UID fields in backend records are stripped from the frontend projection.
35
- Selections use relaxed username/UID identity: recreating both may preserve a
36
- selection. Paths do not pin inodes or provide symlink/rename confinement.
37
-
38
- Discovery supports files in returned pages but shows only folders in the
39
- picker. Pagination advances by the full server page, not the filtered count;
40
- rendering is bounded to the latest 200 entries. Writes require explicit
41
- writable consent. Upload creates a new file and does not overwrite. Read and
42
- upload are limited to 512 KiB; read bytes become a local binary download, never
43
- HTML or an inline preview.
44
-
45
- Requests are observed for at most 22 seconds (backend handler: 20 seconds).
46
- The existing `ctx.call` does not expose transport abort: closing or canceling
47
- suppresses late display updates but does not establish server rollback or Q.
48
- No operation is retried automatically. A lost mutation response reports
49
- `commit-uncertain`; inspect saved selections or the destination before
50
- resubmitting. Session expiry requires signing into DSM again and refreshing.
51
- Background/offline work, streaming and atomic publish remain unsupported.
52
-
53
- ## Local checks
54
-
55
- Copy `../../_shared/third-party-notices.mjs` into this folder before `npm ci`,
56
- `npm test`, `npx vue-tsc --noEmit` and `npm run build`. Also build with the M2
57
- flag. Remove the copied notice tool, `node_modules` and `dist` before root
58
- repository tests or generating fixtures: the generator copies template files.
59
-
60
- `test/m2-preview.html` serves synthetic `ctx.call` responses for local browser
61
- QA. It does not access a NAS and is not the production provider's backend.
62
- Local unit/jsdom/Chromium tests do not establish DSM compatibility. Actual DSM
63
- session, File Station ACL, multipart upload and download validation belongs to
64
- the backend/device-validation thread. No public support claim is made here.
@@ -1,57 +0,0 @@
1
- <script setup lang="ts">
2
- import {computed,inject,onMounted,onUnmounted,ref} from 'vue'
3
- import {AppRoot,ConfigProvider,Button,Callout,SettingsSection} from '@synopackageland/ui'
4
- import type {AppStatus,Context} from './context'
5
- import {M2ProviderKey} from './nas/m2-contract'
6
- import {m2Copy,m2ErrorCopy,uiLocale} from './nas/m2-i18n'
7
- import {useM2Request} from './nas/use-m2-request'
8
- import M2Settings from './nas/M2Settings.vue'
9
- import AppShell from './shell/AppShell.vue'
10
- import {shellPages,type ShellPage} from './shell/pages'
11
- const props=defineProps<{ctx:Context}>(),copy=computed(()=>m2Copy(props.ctx.locale)),provider=inject(M2ProviderKey)!
12
- const request=useM2Request(),{busy,error}=request
13
- const app=ref<AppStatus>(),invalid=ref(false),view=ref(0),nestedBusy=ref(false)
14
- const page=ref<ShellPage>('status')
15
- // The simple session build only has the File Station folder screen.
16
- const pages=computed(()=>shellPages({folders:true}))
17
- const subtitle=computed(()=>app.value?`${app.value.package} · ${app.value.version} · ${app.value.user}`:undefined)
18
- let bound:{user:string;package:string}|undefined
19
- let removeReopen:()=>void=()=>{}
20
- async function refresh(){
21
- if(invalid.value)return
22
- const value=await request.run(()=>props.ctx.call<AppStatus>('app.status'))
23
- if(value){
24
- if(typeof value.user!=='string'||!value.user||typeof value.package!=='string'||!value.package){error.value={code:'unavailable'};return}
25
- if(bound&&(bound.user!==value.user||bound.package!==value.package)){invalidate();return}
26
- bound??={user:value.user,package:value.package};app.value=value;view.value++
27
- }else{app.value=undefined}
28
- }
29
- function invalidate(){invalid.value=true;app.value=undefined;request.cancel();provider.dispose()}
30
- onMounted(()=>{removeReopen=props.ctx.reopen(()=>void refresh());window.addEventListener('pagehide',invalidate);void refresh()})
31
- onUnmounted(()=>{removeReopen?.();window.removeEventListener('pagehide',invalidate);app.value=undefined})
32
- </script>
33
- <template>
34
- <AppRoot theme="dsm7" modal-scope="app" style="height: 100%">
35
- <ConfigProvider :locale="uiLocale(ctx.locale)">
36
- <AppShell v-model="page" :locale="ctx.locale" :pages="pages" :description="subtitle">
37
- <template #actions>
38
- <Button v-if="!invalid" variant="secondary" :disabled="busy||nestedBusy" @click="refresh">{{ copy.refresh }}</Button>
39
- </template>
40
- <div class="integration-app m2-app" :aria-busy="busy||nestedBusy">
41
- <Callout v-if="invalid" tone="warning" role="alert">{{ copy.accountChanged }}</Callout>
42
- <Callout v-else-if="error" tone="danger" role="alert">{{ m2ErrorCopy(error,copy) }}</Callout>
43
- <p v-if="busy" role="status">{{ copy.loading }}</p>
44
- <div data-page="status" v-show="page==='status'">
45
- <SettingsSection title="Package" :collapsible="false">
46
- <p v-if="app" role="status">{{ app.package }} · {{ app.version }} · {{ app.user }}</p>
47
- <p v-else role="status">{{ copy.loading }}</p>
48
- </SettingsSection>
49
- </div>
50
- <div data-page="folders" v-show="page==='folders'">
51
- <M2Settings v-if="app&&!invalid" :key="view" :locale="ctx.locale" @busy="value=>nestedBusy=value" />
52
- </div>
53
- </div>
54
- </AppShell>
55
- </ConfigProvider>
56
- </AppRoot>
57
- </template>
@@ -1,203 +0,0 @@
1
- <script setup lang="ts">
2
- import {computed, inject, onMounted, onUnmounted, ref, watch} from 'vue'
3
- import {AppRoot, ConfigProvider, Button, Callout, Dialog, Form, FormActions, FormItem, SettingsSection, Textarea} from '@synopackageland/ui'
4
- import {uiLocale} from './nas/m2-i18n'
5
- import {stateCopy, type AppStatus, type Context, type Status} from './context'
6
- import {NasProviderKey} from './nas/provider'
7
- import {errorCopy, nasCopy} from './nas/i18n'
8
- import NasGrantSettings from './nas/NasGrantSettings.vue'
9
- import NasUnavailable from './nas/NasUnavailable.vue'
10
- import JobsPanel from './jobs/JobsPanel.vue'
11
- import {JobsProviderKey} from './jobs/provider'
12
- const jobsProvider=inject(JobsProviderKey,null)
13
- import JobsAdminPanel from './jobs/JobsAdminPanel.vue'
14
- import AppShell from './shell/AppShell.vue'
15
- import {activePage,shellPages,type ShellPage} from './shell/pages'
16
- const nasProvider = inject(NasProviderKey, null)
17
- // A mount owns one provider binding. A native subject/package switch must
18
- // discard its UI and pending work; the host supplies a new provider on remount.
19
- const nasInvalidated = ref(false)
20
- const props = defineProps<{ctx: Context}>()
21
- const app = ref<AppStatus>()
22
- const status = ref<Status>()
23
- const busy = ref(false)
24
- const error = ref('')
25
- const notice = ref('')
26
- const disableOpen = ref(false)
27
- const id = ref('')
28
- const text = ref('')
29
- const identity = ref('')
30
- let disposed = false
31
- const refreshing = ref(false)
32
- const hasIdentity = ref(false)
33
- let appCookie = ''
34
- const page = ref<ShellPage>('status')
35
- const pages = computed(() => shellPages({
36
- // The session-SDK build submits interactive work instead of sample notes.
37
- sample: status.value?.state === 'ready' && !jobsProvider?.interactive,
38
- // Connected workers carry their own consent per job; the grant screen only
39
- // exists while no interactive worker is advertised.
40
- nas: !!nasProvider || !jobsProvider?.interactive?.workers.length,
41
- interactive: !!jobsProvider?.interactive,
42
- background: jobsProvider?.readiness?.background !== 'unavailable',
43
- admin: !!app.value?.admin,
44
- identity: hasIdentity.value,
45
- }))
46
- watch(pages,list => {page.value = activePage(page.value,list)})
47
- const subtitle = computed(() => app.value ? `${app.value.package} · ${app.value.user} · ${app.value.version}` : undefined)
48
- const configured = computed(() => status.value?.reason !== "not-requested")
49
- const details = computed(() => {
50
- if(status.value?.state === 'pending') {
51
- const copy = nasCopy(props.ctx.locale)
52
- return {label:copy.healthPending,description:copy.healthPendingHelp}
53
- }
54
- return status.value ? stateCopy[status.value.state] : undefined
55
- })
56
- function message(e: unknown) {
57
- const code = (e as {code?: string})?.code || 'request_failed'
58
- if(['denied','unknown_method','unavailable','unsupported','session_required','auth_unavailable'].includes(code)) return errorCopy(e,nasCopy(props.ctx.locale))
59
- return ({session_required:'Your DSM session expired. Sign in again.',access_denied:'This sample belongs to another account.',integration_unavailable:'Integration is unavailable. Ask an administrator to activate or recover it.',personal_unavailable:'Sample storage is unavailable. Ask an administrator to check package data.',root_conflict:'A conflicting scheduler task exists. Ask an administrator to review it.',root_verify_failed:'Scheduler verification failed. Refresh and review the task.',root_run_failed:'The approved operation failed. Review integration status and cleanup.'} as Record<string,string>)[code] || `Request failed (${code}). Refresh and try again.`
60
- }
61
- async function refresh() {
62
- if(disposed || refreshing.value) return
63
- refreshing.value = true; error.value = ''
64
- try {
65
- const [a,s] = await Promise.all([props.ctx.call<AppStatus>('app.status'),props.ctx.call<Status>('integration.status')])
66
- if(disposed) return
67
- if(app.value && (app.value.user!==a.user || app.value.package!==a.package)) nasInvalidated.value=true
68
- app.value = a; status.value = s
69
- if(s.state !== 'ready') {id.value='';text.value='';return}
70
- // The session SDK build exposes File Station jobs, not native sample notes.
71
- if(jobsProvider?.interactive) {id.value='';text.value='';return}
72
- // Plain --ui vue has no personal routes; not-enabled status hides this.
73
- const list = await props.ctx.call<{items:Array<{id:string;name:string}>}>('personal.list')
74
- if(disposed) return
75
- id.value = list.items[0]?.id || ''
76
- if(id.value) {
77
- const note = await props.ctx.call<{text:string}>('personal.read',{id:id.value})
78
- if(!disposed) text.value = note.text
79
- }
80
- } catch(e) {if(!disposed) {error.value = message(e);status.value=undefined;id.value='';text.value=''}} finally {refreshing.value=false}
81
- }
82
- async function action(op: string) {
83
- if(busy.value || refreshing.value || disposed) return
84
- busy.value=true;error.value='';notice.value=''
85
- try {
86
- if(!props.ctx.root) throw {code:'unsupported'}
87
- const approved = await props.ctx.root.authorize(op)
88
- if(disposed) return
89
- if(approved !== 'ready') {notice.value='Approval cancelled. No operation was run.';return}
90
- await props.ctx.root.run(op)
91
- if(disposed) return
92
- notice.value=op==='helper_repair' ? 'Cleanup repaired. Use Recover or Approve and activate when ready.' : 'Operation completed. Integration status was checked again.'
93
- await refresh()
94
- } catch(e) {if(!disposed) {
95
- await refresh()
96
- if(!disposed) {
97
- const code=(e as {code?:string})?.code
98
- if(code==='root_cancelled') notice.value='Repair confirmation cancelled. No operation was run.'
99
- else error.value=op==='helper_repair' && (code==='root_run_failed' || code==='root_task_failed') ? 'Repair could not verify safe cleanup. Review the package recovery instructions before trying again.' : message(e)
100
- }
101
- }}
102
- finally {if(!disposed) busy.value=false}
103
- }
104
- async function save() {
105
- if(busy.value || refreshing.value || !id.value || disposed) return
106
- busy.value=true;error.value='';notice.value=''
107
- try {await props.ctx.call('personal.write',{id:id.value,text:text.value});if(!disposed) notice.value='Your sample note was saved.'}
108
- catch(e) {if(!disposed) error.value=message(e)} finally {if(!disposed) busy.value=false}
109
- }
110
- async function login() {
111
- if(busy.value || refreshing.value || disposed) return
112
- busy.value=true;error.value=''
113
- try {
114
- const result=await props.ctx.call<{cookie:string;user:string}>('identity.login')
115
- if(!disposed){appCookie=result.cookie;identity.value=`App session for ${result.user}`}
116
- } catch(e) {if(!disposed) error.value=message(e)} finally {if(!disposed) busy.value=false}
117
- }
118
- async function checkIdentity() {
119
- if(busy.value || refreshing.value || disposed) return
120
- busy.value=true;error.value=''
121
- try {const result=await props.ctx.call<{user:string}>('identity.current',{cookie:appCookie});if(!disposed) identity.value=`App session for ${result.user}`}
122
- catch(e) {if(!disposed) {appCookie='';identity.value='';error.value=message(e)}} finally {if(!disposed) busy.value=false}
123
- }
124
- onMounted(async()=>{
125
- props.ctx.reopen(()=>{if(!disposed) void refresh()})
126
- await refresh()
127
- if(disposed || !app.value) return
128
- try {const result = await props.ctx.call<{mode:string}>('identity.status');if(!disposed) hasIdentity.value = result.mode==='better-auth'} catch { /* Optional route absent in Go-only. */ }
129
- })
130
- onUnmounted(()=>{disposed=true;appCookie='';text.value='';id.value=''})
131
- </script>
132
-
133
- <template>
134
- <AppRoot modal-scope="app" style="height: 100%">
135
- <ConfigProvider :locale="uiLocale(ctx.locale)">
136
- <AppShell v-model="page" :locale="ctx.locale" :pages="pages" :description="subtitle">
137
- <template #actions>
138
- <Button variant="secondary" :disabled="busy || refreshing" @click="error=''; refresh()">Refresh</Button>
139
- </template>
140
- <div class="integration-app" :aria-busy="busy || refreshing" aria-label="Package settings">
141
- <p v-if="refreshing" role="status">Refreshing status…</p>
142
- <p v-else-if="busy" role="status">Completing operation…</p>
143
- <Callout v-if="error" tone="danger" title="Action required"><span role="alert">{{ error }}</span></Callout>
144
- <p v-if="notice" class="integration-notice" role="status">{{ notice }}</p>
145
- <div data-page="status" v-show="page==='status'">
146
- <SettingsSection title="DSM integration" :collapsible="false">
147
- <div v-if="status && details" :data-integration-state="status.state" class="integration-status" role="status">
148
- <h2>{{ details.label }}</h2><p>{{ details.description }}</p>
149
- <p v-if="status.cleanup === 'required'">Cleanup is required. Ask an administrator to run teardown or disable. If the helper supervisor was lost, use Repair cleanup and follow the package recovery instructions.</p>
150
- <dl><dt>Package running</dt><dd>{{ status.packageRunning }}</dd><dt>Scheduler</dt><dd>{{ status.scheduler }}</dd></dl>
151
- </div>
152
- <p v-else-if="error" role="status">Status could not be loaded. Refresh to try again.</p>
153
- <p v-else role="status">Loading integration status…</p>
154
- <div v-if="app?.admin && ctx.root && configured" class="integration-actions">
155
- <Button variant="primary" :disabled="busy || refreshing" @click="action('helper_enable')">Approve and activate</Button>
156
- <Button variant="secondary" :disabled="busy || refreshing" @click="action('helper_recover')">Recover</Button>
157
- <Button variant="secondary" :disabled="busy || refreshing" @click="action('helper_teardown')">Teardown</Button>
158
- <Button variant="secondary" :disabled="busy || refreshing" @click="disableOpen=true">Disable</Button>
159
- <Button variant="secondary" :disabled="busy || refreshing" @click="action('helper_repair')">Repair cleanup</Button>
160
- </div>
161
- <p v-if="app?.admin && ctx.root && configured" class="integration-help">Repair cleanup clears verified leftover helper state. It does not restart integration.</p>
162
- <Callout v-if="app && !app.admin && status?.state !== 'ready' && status?.state !== 'pending'" title="Administrator action needed">Ask a DSM administrator to open this package's settings. Your login cannot approve root operations.</Callout>
163
- </SettingsSection>
164
- </div>
165
- <div data-page="sample" v-show="page==='sample'">
166
- <SettingsSection v-if="status?.state === 'ready' && !jobsProvider?.interactive" title="My sample data" :collapsible="false">
167
- <p class="integration-help">This synthetic note belongs to your DSM account and is stored in package data.</p>
168
- <p v-if="refreshing" role="status">Loading your sample data…</p>
169
- <Callout v-else-if="!id" title="No sample data">Refresh to request your sample data again.</Callout>
170
- <Form v-if="id" @submit.prevent><FormItem label="My sample note"><Textarea v-model="text" :disabled="busy || refreshing" /></FormItem>
171
- <FormActions><Button variant="primary" :disabled="busy || refreshing" @click="save">Save my note</Button></FormActions>
172
- </Form>
173
- </SettingsSection>
174
- </div>
175
- <div data-page="nas" v-show="page==='nas'">
176
- <NasGrantSettings v-if="nasProvider && app && status && !nasInvalidated" :locale="ctx.locale" />
177
- <NasUnavailable v-else-if="!jobsProvider?.interactive?.workers.length" :locale="ctx.locale" />
178
- </div>
179
- <div data-page="interactive" v-show="page==='interactive'">
180
- <JobsPanel v-if="app && !nasInvalidated" section="interactive" :locale="ctx.locale" />
181
- </div>
182
- <div data-page="background" v-show="page==='background'">
183
- <JobsPanel v-if="app && !nasInvalidated" section="background" :locale="ctx.locale" />
184
- </div>
185
- <div data-page="admin" v-show="page==='admin'">
186
- <JobsAdminPanel v-if="app?.admin && !nasInvalidated" :locale="ctx.locale" />
187
- </div>
188
- <div data-page="identity" v-show="page==='identity'">
189
- <SettingsSection v-if="hasIdentity" title="Optional app identity" :collapsible="false">
190
- <p class="integration-help">Your DSM login is checked again for every app session request.</p>
191
- <div class="integration-actions"><Button variant="primary" :disabled="busy || refreshing" @click="login">Create app session</Button><Button variant="secondary" :disabled="busy || refreshing || !identity" @click="checkIdentity">Check app session</Button></div>
192
- <p v-if="identity" role="status">{{ identity }}</p>
193
- </SettingsSection>
194
- </div>
195
- </div>
196
- <Dialog v-model:open="disableOpen" title="Disable integration?" description="New integration requests will be refused before helper cleanup begins.">
197
- <p>Your sample data and historical root output are retained. A failed cleanup remains visible.</p>
198
- <template #footer><Button variant="secondary" @click="disableOpen=false">Cancel</Button><Button variant="danger" :disabled="busy || refreshing" @click="disableOpen=false; action('helper_disable')">Confirm disable</Button></template>
199
- </Dialog>
200
- </AppShell>
201
- </ConfigProvider>
202
- </AppRoot>
203
- </template>
@@ -1,70 +0,0 @@
1
- <script setup lang="ts">
2
- import {computed,ref,watch} from 'vue'
3
- import {Button,Callout,Form,FormActions,FormItem,Input,Select} from '@synopackageland/ui'
4
- import type {JobsProvider,PreparedInteractive} from './provider'
5
- import type {M2JobSource} from '../nas/m2-contract'
6
- import M2PathPicker from '../nas/M2PathPicker.vue'
7
- import {m2Copy,m2ErrorCopy} from '../nas/m2-i18n'
8
- import {jobCopy} from './i18n'
9
- import {useNasRequest} from '../nas/use-request'
10
- const props=defineProps<{locale:string;provider:JobsProvider}>(),emit=defineEmits<{submitted:[]}>()
11
- const copy=computed(()=>jobCopy(props.locale)),request=useNasRequest(),{busy,error}=request
12
- const open=ref(false),pickerBusy=ref(false),source=ref<M2JobSource>(),workerId=ref(''),action=ref('nas.files.stat'),bound=ref(100),uncertain=ref<PreparedInteractive>(),notice=ref(false),invalid=ref(false)
13
- const worker=computed(()=>props.provider.interactive?.workers.find(w=>w.id===workerId.value))
14
- const actions=computed(()=>worker.value?.actions.filter(a=>source.value?.entry.isDir?a!=='nas.files.read':a!=='nas.files.list')??[])
15
- const workerOptions=computed(()=>props.provider.interactive?.workers.map(w=>({value:w.id,label:`${w.id} · ${w.revision}`}))??[])
16
- const operationLabel=(a:string)=>a==='nas.files.list'?copy.value.listOperation:a==='nas.files.read'?copy.value.readOperation:copy.value.statOperation
17
- const actionOptions=computed(()=>actions.value.map(a=>({value:a,label:operationLabel(a)})))
18
- const ready=computed(()=>props.provider.readiness?.interactive==='ready'&&!invalid.value)
19
- const locked=computed(()=>busy.value||pickerBusy.value||!!uncertain.value||!ready.value)
20
- watch(()=>props.provider.interactive?.workers,workers=>{if(!workers?.some(w=>w.id===workerId.value))workerId.value=workers?.[0]?.id??''},{immediate:true})
21
- watch(actions,values=>{if(!values.includes(action.value as never))action.value=values[0]??''})
22
- watch(action,value=>{bound.value=value==='nas.files.read'?worker.value?.maxBytes??1:100})
23
- watch(error,e=>{if(['session_required','auth_unavailable','denied'].includes((e as {code?:string})?.code??'')){invalid.value=true;source.value=undefined;open.value=false}})
24
- function select(value:M2JobSource){source.value=value;notice.value=false}
25
- async function submit(){
26
- if(locked.value||!source.value||!worker.value)return
27
- const chosen=source.value,w=worker.value,a=action.value
28
- if(!actions.value.includes(a as never)||((a==='nas.files.list'||a==='nas.files.read')&&(!Number.isSafeInteger(bound.value)||bound.value<1||bound.value>(a==='nas.files.list'?100:w.maxBytes)))){error.value={code:'invalid-request'};return}
29
- await request.run(async signal=>{
30
- const prepared=await props.provider.interactive!.prepareInteractive(signal,{id:w.id,revision:w.revision},{id:chosen.selection.grantId,revision:1},{steps:[{action:a,segments:[...chosen.segments],...(a==='nas.files.list'?{limit:bound.value}:a==='nas.files.read'?{maxBytes:bound.value}:{})}]})
31
- if(Date.now()>=prepared.expiresAt)throw {code:'expired'}
32
- // Preserve the original intent before the single submit attempt. A missing
33
- // reply cannot establish rollback; lookup never creates or attaches a job.
34
- uncertain.value=prepared
35
- await props.provider.interactive!.submitInteractive(prepared,signal)
36
- uncertain.value=undefined;source.value=undefined;notice.value=true;emit('submitted')
37
- })
38
- }
39
- async function lookup(){
40
- const original=uncertain.value;if(!original||busy.value)return
41
- const found=await request.run(signal=>props.provider.lookup(original.intentId,signal))
42
- if(found?.jobId===original.jobId){uncertain.value=undefined;source.value=undefined;notice.value=true;emit('submitted')}
43
- }
44
- const errorText=computed(()=>{
45
- const code=(error.value as {code?:string})?.code
46
- if(code==='revalidating')return copy.value.revalidating
47
- if(code==='session_required'||code==='auth_unavailable')return copy.value.accessLost
48
- if(['denied','invalid-request','limit-exceeded'].includes(code??''))return m2ErrorCopy(error.value,m2Copy(props.locale))
49
- return copy.value.error
50
- })
51
- </script>
52
- <template>
53
- <Form class="jobs-input" :aria-label="copy.newInteractive" :aria-busy="busy||pickerBusy" @submit.prevent="submit">
54
- <h3>{{ copy.newInteractive }}</h3>
55
- <p>{{ copy.sourceHelp }}</p>
56
- <Callout v-if="error" tone="danger" role="alert">{{ errorText }}</Callout>
57
- <p v-if="notice" role="status">{{ copy.interactiveSubmitted }}</p>
58
- <Button variant="secondary" :disabled="locked" @click="open=true">{{ copy.chooseSource }}</Button>
59
- <p v-if="source" role="status">{{ source.entry.path }}</p>
60
- <FormItem :label="copy.worker"><Select v-model="workerId" :options="workerOptions" :disabled="locked" /></FormItem>
61
- <FormItem :label="copy.operation"><Select v-model="action" data-job-action :options="actionOptions" :disabled="locked||!source" /></FormItem>
62
- <FormItem v-if="action==='nas.files.list'||action==='nas.files.read'" :label="action==='nas.files.list'?copy.entryLimit:copy.byteLimit"><Input v-model.number="bound" data-job-bound type="number" min="1" :max="action==='nas.files.list'?100:worker?.maxBytes" step="1" :disabled="locked" /></FormItem>
63
- <FormActions><Button type="submit" variant="primary" :disabled="locked||!source||!worker||!actions.length">{{ copy.submitInteractive }}</Button></FormActions>
64
- <template v-if="uncertain"><p role="status">{{ copy.uncertain }}</p><Button variant="secondary" :disabled="busy||invalid" @click="lookup">{{ copy.lookup }}</Button></template>
65
- <M2PathPicker v-model:open="open" :locale="locale" :title="copy.chooseSource" select-files read-only @source="select" @busy="value=>pickerBusy=value" />
66
- </Form>
67
- </template>
68
- <style scoped>
69
- .jobs-input { margin-block: var(--ui-space-4, 16px); }
70
- </style>
@@ -1,33 +0,0 @@
1
- <script setup lang="ts">
2
- import {computed,inject,onMounted,ref,watch} from 'vue'
3
- import {Button,Callout,SettingsSection} from '@synopackageland/ui'
4
- import {JobsAdminProviderKey,type AdminJobView} from './provider'
5
- import {jobCopy} from './i18n'
6
- import {adminPage} from './validate'
7
- import {useNasRequest} from '../nas/use-request'
8
- const props=defineProps<{locale:string}>(),copy=computed(()=>jobCopy(props.locale))
9
- const provider=inject(JobsAdminProviderKey,null),request=useNasRequest(),{busy,error}=request,items=ref<readonly AdminJobView[]>([]),nextCursor=ref<string>()
10
- const invalidated=ref(false),loaded=ref(false)
11
- watch(error,e=>{if(['denied','session_required','auth_unavailable'].includes((e as {code?:string})?.code??'')){invalidated.value=true;items.value=[]}})
12
- async function load(cursor?:string){if(!provider||invalidated.value)return;const result=await request.run(async signal=>adminPage(await provider.list(signal,cursor)));if(result){loaded.value=true;items.value=result.items;nextCursor.value=result.nextCursor}else if(error.value){items.value=[];nextCursor.value=undefined}}
13
- async function refresh(){await load()}
14
- async function cancel(item:AdminJobView){if(!provider)return;await request.run(signal=>provider.cancel(item.jobId,item.revision,signal));await refresh()}
15
- function state(item:AdminJobView){return ({pending:copy.value.pending,running:copy.value.running,'cancel-requested':copy.value.stopping,draining:copy.value.stopping,succeeded:copy.value.succeeded,failed:copy.value.failed,canceled:copy.value.canceled,interrupted:copy.value.interrupted,'cleanup-required':copy.value.cleanup})[item.state]}
16
- onMounted(()=>{if(provider?.mode==='mock')void refresh()})
17
- </script>
18
- <template>
19
- <SettingsSection :title="copy.adminTitle" :collapsible="false" :aria-busy="busy">
20
- <Callout v-if="!provider||provider.mode==='unavailable'" tone="info" :title="copy.unavailable" />
21
- <Callout v-else-if="invalidated" tone="danger" :title="copy.accessLost" role="alert" />
22
- <template v-else>
23
- <p v-if="provider.mode==='mock'">{{ copy.mock }}</p><p v-else-if="!loaded&&!error">{{ copy.loadManagement }}</p><Callout v-if="error" tone="danger" :title="copy.error" role="alert" />
24
- <Button :disabled="busy" variant="secondary" @click="refresh">{{ copy.refresh }}</Button>
25
- <p v-if="loaded&&!items.length&&!error">{{ copy.empty }}</p>
26
- <ul class="nas-grants"><li v-for="item in items" :key="item.jobId">
27
- <p role="status">{{ state(item) }}</p><p v-if="item.drained">{{ copy.drained }}</p><p v-if="item.effectsUnknown">{{ copy.effects }}</p>
28
- <Button v-if="['pending','running','cancel-requested','draining'].includes(item.state)" :disabled="busy" variant="secondary" @click="cancel(item)">{{ copy.cancel }}</Button>
29
- </li></ul>
30
- <Button v-if="nextCursor" :disabled="busy" variant="secondary" @click="load(nextCursor)">{{ copy.next }}</Button>
31
- </template>
32
- </SettingsSection>
33
- </template>