@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,11 +0,0 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
- import { parseDocument } from "yaml";
3
- export function loadNative(nativePath) {
4
- if (!existsSync(nativePath)) {
5
- return null;
6
- }
7
- const source = readFileSync(nativePath, "utf8");
8
- const doc = parseDocument(source);
9
- const native = (doc.toJSON() ?? {});
10
- return { native, source, doc };
11
- }
@@ -1,28 +0,0 @@
1
- import type { NativeArchFamily } from "../build-spk/dsm-arch.js";
2
- /** One target's binary source. `path` is Personal-only; Curated needs `url` + `sha256`. */
3
- export interface NativeTarget {
4
- path?: string;
5
- url?: string;
6
- sha256?: string;
7
- strip_components?: number;
8
- }
9
- /**
10
- * The single service process a native App runs. `exec` is relative to
11
- * SYNOPKG_PKGDEST, which N0 proved is the payload root itself. There is no
12
- * `user:` field: DSM creates the package user at install time and already owns
13
- * SYNOPKG_PKGVAR, so generated scripts neither create a user nor chown.
14
- */
15
- export interface NativeService {
16
- exec: string;
17
- args?: string[];
18
- env?: Record<string, string>;
19
- }
20
- /** Parsed `native.yaml`. Schema 1 only; unknown or higher versions are refused. */
21
- export interface NativeConfig {
22
- schema: number;
23
- targets: Partial<Record<NativeArchFamily, NativeTarget>>;
24
- service: NativeService;
25
- }
26
- export declare const NATIVE_FILENAME = "native.yaml";
27
- /** Data written into SYNOPKG_PKGVAR survives upgrades; `target/` is replaced wholesale. */
28
- export declare const PKGVAR_PLACEHOLDER = "${SYNOPKG_PKGVAR}";
@@ -1,3 +0,0 @@
1
- export const NATIVE_FILENAME = "native.yaml";
2
- /** Data written into SYNOPKG_PKGVAR survives upgrades; `target/` is replaced wholesale. */
3
- export const PKGVAR_PLACEHOLDER = "${SYNOPKG_PKGVAR}";
@@ -1,6 +0,0 @@
1
- import type { ValidationError } from "../types.js";
2
- import type { ParsedNative } from "./load.js";
3
- export interface NativeValidationOptions {
4
- profile?: "personal" | "listing";
5
- }
6
- export declare function validateNative(parsed: ParsedNative, nativeFile: string, options?: NativeValidationOptions): ValidationError[];
@@ -1,143 +0,0 @@
1
- import { makeError } from "../errors.js";
2
- import { isNativeArchFamily } from "../build-spk/dsm-arch.js";
3
- import { PKGVAR_PLACEHOLDER } from "./types.js";
4
- import { getValuePosition } from "../contract/load.js";
5
- function nativeSpan(file, doc, pathSegments, pathString) {
6
- const dotPath = pathString ?? pathSegments.join(".");
7
- if (!doc) {
8
- return { file, line: 1, column: 1, path: dotPath };
9
- }
10
- const pos = getValuePosition(doc, pathSegments) ?? { line: 1, column: 1 };
11
- return { file, line: pos.line, column: pos.column, path: dotPath };
12
- }
13
- const HEX64_REGEX = /^[0-9a-fA-F]{64}$/;
14
- export function validateNative(parsed, nativeFile, options = {}) {
15
- const errors = [];
16
- const profile = options.profile ?? "personal";
17
- const { native, doc } = parsed;
18
- const rawObj = (native && typeof native === "object" ? native : {});
19
- // 1. schema 必須是整數且只接受 1。未知或更高值 → 拒絕,不靜默降級。
20
- if (typeof native.schema !== "number" || !Number.isInteger(native.schema) || native.schema !== 1) {
21
- errors.push(makeError("NATIVE_SCHEMA_INVALID", nativeSpan(nativeFile, doc, ["schema"]), `native.yaml schema 必須是整數且只接受 1,收到 ${JSON.stringify(native.schema)}。`, "請將 schema 設定為 1。"));
22
- }
23
- // 3. targets 的 key 只接受 x86_64、aarch64,至少要有一個。其他 key → 拒絕。
24
- const targets = rawObj.targets;
25
- if (!targets || typeof targets !== "object" || Array.isArray(targets)) {
26
- errors.push(makeError("NATIVE_TARGETS_REQUIRED", nativeSpan(nativeFile, doc, ["targets"]), "native.yaml 必須包含 targets 物件,且至少宣告一個架構(x86_64 或 aarch64)。", "請在 targets 底下宣告 x86_64 或 aarch64 的 binary 來源。"));
27
- }
28
- else {
29
- const targetEntries = Object.entries(targets);
30
- if (targetEntries.length === 0) {
31
- errors.push(makeError("NATIVE_TARGETS_EMPTY", nativeSpan(nativeFile, doc, ["targets"]), "targets 不得為空,至少要宣告一個架構(x86_64 或 aarch64)。", "請在 targets 底下宣告 x86_64 或 aarch64 的 binary 來源。"));
32
- }
33
- for (const [archKey, targetVal] of targetEntries) {
34
- if (!isNativeArchFamily(archKey)) {
35
- errors.push(makeError("NATIVE_ARCH_UNKNOWN", nativeSpan(nativeFile, doc, ["targets", archKey]), `不支援的架構「${archKey}」,targets 的 key 只接受 x86_64 或 aarch64。`, "請將 targets 的 key 改為 x86_64 或 aarch64。"));
36
- continue;
37
- }
38
- if (!targetVal || typeof targetVal !== "object" || Array.isArray(targetVal)) {
39
- errors.push(makeError("NATIVE_TARGET_INVALID", nativeSpan(nativeFile, doc, ["targets", archKey]), `targets.${archKey} 必須是物件。`, "請指定 path 或 url 及 sha256。"));
40
- continue;
41
- }
42
- const targetObj = targetVal;
43
- const hasPath = typeof targetObj.path === "string" && targetObj.path.trim().length > 0;
44
- const hasUrl = typeof targetObj.url === "string" && targetObj.url.trim().length > 0;
45
- // 4. 每個 target 必須恰好有 path: 或 url: 之一。
46
- if ((hasPath && hasUrl) || (!hasPath && !hasUrl)) {
47
- errors.push(makeError("NATIVE_TARGET_SOURCE_EXCLUSIVE", nativeSpan(nativeFile, doc, ["targets", archKey]), `targets.${archKey} 必須恰好有 path 或 url 之一。`, "請只提供 path(本機開發)或 url(發佈)。"));
48
- }
49
- // 5. path: 只在 personal profile 合法。listing profile 只接受 url: + sha256:(url 沒有 sha256 也要拒絕)。
50
- if (profile === "listing") {
51
- if (hasPath) {
52
- errors.push(makeError("NATIVE_PATH_FORBIDDEN_IN_LISTING", nativeSpan(nativeFile, doc, ["targets", archKey, "path"]), `Listing profile 不允許使用 path(targets.${archKey}.path),只接受 url + sha256。`, "請在 targets 中改用 url 與 sha256 指向上游 release asset。"));
53
- }
54
- if (hasUrl && (!targetObj.sha256 || typeof targetObj.sha256 !== "string" || targetObj.sha256.trim() === "")) {
55
- errors.push(makeError("NATIVE_SHA256_REQUIRED_IN_LISTING", nativeSpan(nativeFile, doc, ["targets", archKey]), `Listing profile 的 targets.${archKey} 必須包含 sha256。`, "請提供 64 位元 SHA-256 雜湊值。"));
56
- }
57
- }
58
- // 6. sha256 給了就必須是 64 個 hex 字元(大小寫都收,比對時 normalize 成小寫)。
59
- if (targetObj.sha256 !== undefined) {
60
- if (typeof targetObj.sha256 !== "string" || !HEX64_REGEX.test(targetObj.sha256)) {
61
- errors.push(makeError("NATIVE_SHA256_INVALID", nativeSpan(nativeFile, doc, ["targets", archKey, "sha256"]), `targets.${archKey}.sha256 必須是 64 個十六進位字元 (hex)。`, "請提供有效的 64 位元 SHA-256 hex 字串。"));
62
- }
63
- }
64
- // 7. strip_components 給了必須是 >= 0 的整數。
65
- if (targetObj.strip_components !== undefined) {
66
- if (typeof targetObj.strip_components !== "number" ||
67
- !Number.isInteger(targetObj.strip_components) ||
68
- targetObj.strip_components < 0) {
69
- errors.push(makeError("NATIVE_STRIP_COMPONENTS_INVALID", nativeSpan(nativeFile, doc, ["targets", archKey, "strip_components"]), `targets.${archKey}.strip_components 必須是 >= 0 的整數。`, "請提供大於或等於 0 的整數值。"));
70
- }
71
- }
72
- }
73
- }
74
- // service 檢查
75
- const service = rawObj.service;
76
- if (!service || typeof service !== "object" || Array.isArray(service)) {
77
- errors.push(makeError("NATIVE_SERVICE_REQUIRED", nativeSpan(nativeFile, doc, ["service"]), "native.yaml 必須包含 service 定義。", "請在 native.yaml 新增 service 區塊,包含 exec、args 與 env。"));
78
- return errors;
79
- }
80
- const serviceObj = service;
81
- // 10 & 11. service 禁止的欄位:user (規則10) 以及 shell 字串欄位 command, pre_start, post_start, shell 等 (規則11)
82
- if ("user" in serviceObj) {
83
- errors.push(makeError("NATIVE_SERVICE_USER_FORBIDDEN", nativeSpan(nativeFile, doc, ["service", "user"]), "service 不允許包含 user 欄位(DSM 在安裝時會自動建立並管理 package user)。", "請移除 service.user 欄位。"));
84
- }
85
- for (const forbiddenField of ["command", "pre_start", "post_start", "shell"]) {
86
- if (forbiddenField in serviceObj) {
87
- errors.push(makeError("NATIVE_SERVICE_SHELL_FIELD_FORBIDDEN", nativeSpan(nativeFile, doc, ["service", forbiddenField]), `service 不允許包含 shell 欄位「${forbiddenField}」,執行設定請使用 exec 與 args。`, `請移除 service.${forbiddenField},改用 exec 與 args。`));
88
- }
89
- }
90
- // 9. service.exec 必填、必須是相對路徑:不接受絕對路徑、不接受任何 .. path segment、不接受空字串。
91
- const exec = serviceObj.exec;
92
- if (typeof exec !== "string" || exec.trim() === "") {
93
- errors.push(makeError("NATIVE_EXEC_REQUIRED", nativeSpan(nativeFile, doc, ["service", "exec"]), "service.exec 為必填項目,且不可為空字串。", "請提供相對於 package 根目錄的可執行檔路徑(例如 Radarr 或 bin/my-app)。"));
94
- }
95
- else {
96
- const trimmedExec = exec.trim();
97
- const segments = trimmedExec.split(/[/\\]/);
98
- if (trimmedExec.startsWith("/") || trimmedExec.startsWith("\\") || segments.some((s) => s === "..")) {
99
- errors.push(makeError("NATIVE_EXEC_INVALID_PATH", nativeSpan(nativeFile, doc, ["service", "exec"]), `service.exec「${exec}」必須是相對路徑,不可為絕對路徑或包含「..」路徑區段。`, "請使用純相對路徑(例如 Radarr 或 bin/app),不得以 / 開頭或包含 ..。"));
100
- }
101
- }
102
- // 11. args 必須是字串 array
103
- let argsValid = true;
104
- if (serviceObj.args !== undefined) {
105
- if (!Array.isArray(serviceObj.args) || !serviceObj.args.every((item) => typeof item === "string")) {
106
- argsValid = false;
107
- errors.push(makeError("NATIVE_ARGS_INVALID", nativeSpan(nativeFile, doc, ["service", "args"]), "service.args 必須是字串陣列(string[])。", "請將 args 定義為字串清單,例如 [\"--config\", \"${SYNOPKG_PKGVAR}/config.yaml\"]。"));
108
- }
109
- }
110
- // 12. env 必須是 string→string 的 map。
111
- let envValid = true;
112
- if (serviceObj.env !== undefined) {
113
- if (!serviceObj.env ||
114
- typeof serviceObj.env !== "object" ||
115
- Array.isArray(serviceObj.env) ||
116
- !Object.values(serviceObj.env).every((val) => typeof val === "string")) {
117
- envValid = false;
118
- errors.push(makeError("NATIVE_ENV_INVALID", nativeSpan(nativeFile, doc, ["service", "env"]), "service.env 必須是 string 到 string 的 key-value map。", "請確認 service.env 中每個環境變數的值皆為字串。"));
119
- }
120
- }
121
- // 8. service.args 或 service.env 至少要出現一次 ${SYNOPKG_PKGVAR},否則拒絕。用 PKGVAR_PLACEHOLDER 常數比對。
122
- let hasPkgvarPlaceholder = false;
123
- if (argsValid && Array.isArray(serviceObj.args)) {
124
- for (const arg of serviceObj.args) {
125
- if (typeof arg === "string" && arg.includes(PKGVAR_PLACEHOLDER)) {
126
- hasPkgvarPlaceholder = true;
127
- break;
128
- }
129
- }
130
- }
131
- if (!hasPkgvarPlaceholder && envValid && serviceObj.env && typeof serviceObj.env === "object" && !Array.isArray(serviceObj.env)) {
132
- for (const val of Object.values(serviceObj.env)) {
133
- if (typeof val === "string" && val.includes(PKGVAR_PLACEHOLDER)) {
134
- hasPkgvarPlaceholder = true;
135
- break;
136
- }
137
- }
138
- }
139
- if (!hasPkgvarPlaceholder) {
140
- errors.push(makeError("NATIVE_PKGVAR_REQUIRED", nativeSpan(nativeFile, doc, ["service"]), `service.args 或 service.env 必須至少包含一次「${PKGVAR_PLACEHOLDER}」,以確保資料寫入持久化目錄。`, `請在 service.args 或 service.env 中傳入 ${PKGVAR_PLACEHOLDER}(例如 -data=\${SYNOPKG_PKGVAR} 或 TMPDIR: \${SYNOPKG_PKGVAR}/tmp)。`));
141
- }
142
- return errors;
143
- }
@@ -1,31 +0,0 @@
1
- import type { SDKWorkerConfig } from "./worker-registry.js";
2
- export type DataAccessMode = "unavailable" | "relaxed";
3
- export interface Integration {
4
- protocol: 1 | 2;
5
- workers: Record<string, string>;
6
- identity?: "better-auth";
7
- dataAccess?: DataAccessMode;
8
- sdkWorkers?: Record<string, SDKWorkerConfig>;
9
- }
10
- export interface HelperInventory {
11
- package: string;
12
- version: string;
13
- protocol: number;
14
- payloadDigest: string;
15
- registryDigest: string;
16
- dataAccess?: DataAccessMode;
17
- }
18
- /**
19
- * The privileged helper exists only for an integration that also declares
20
- * privilege: root. Without it, integration is package-account only.
21
- */
22
- export declare const hasHelper: (m: {
23
- integration?: unknown;
24
- privilege?: "none" | "root";
25
- }) => boolean;
26
- export declare const sha256: (b: string | Buffer) => string;
27
- /** Preserve the original inert inventory byte format, including property order. */
28
- export declare function inertWorkerRegistry(workers: readonly {
29
- id: string;
30
- digest: string;
31
- }[]): string;
@@ -1,11 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- /**
3
- * The privileged helper exists only for an integration that also declares
4
- * privilege: root. Without it, integration is package-account only.
5
- */
6
- export const hasHelper = (m) => m.integration !== undefined && m.privilege === "root";
7
- export const sha256 = (b) => createHash("sha256").update(b).digest("hex");
8
- /** Preserve the original inert inventory byte format, including property order. */
9
- export function inertWorkerRegistry(workers) {
10
- return JSON.stringify(workers.map(({ id, digest }) => ({ id, digest })));
11
- }
@@ -1,22 +0,0 @@
1
- import type { NativeArchFamily } from "../build-spk/dsm-arch.js";
2
- import type { CommandRunner } from "./build.js";
3
- import type { StandaloneError, StandaloneManifest } from "./manifest.js";
4
- import { type RootOp } from "./root-ops.js";
5
- export type { Integration, HelperInventory } from "./helper-inventory.js";
6
- import { type Integration, type HelperInventory } from "./helper-inventory.js";
7
- export interface WorkerPayload {
8
- id: string;
9
- digest: string;
10
- bytes: Buffer;
11
- }
12
- export interface HelperArtifact {
13
- binary: string;
14
- inventory: HelperInventory;
15
- workers: WorkerPayload[];
16
- registry?: string;
17
- ops: RootOp[];
18
- }
19
- export declare function readIntegration(raw: unknown, root: string, fail: (e: StandaloneError) => void): Integration | undefined;
20
- export declare function assertHelperTaskBudget(script: string, metadata?: string): void;
21
- export declare function helperOps(m: StandaloneManifest, inventory: HelperInventory): RootOp[];
22
- export declare function buildHelper(m: StandaloneManifest, arch: NativeArchFamily, work: string, run: CommandRunner): HelperArtifact | undefined;
@@ -1,123 +0,0 @@
1
- import { lstatSync, readFileSync, realpathSync } from "node:fs";
2
- import { isAbsolute, join, relative, resolve } from "node:path";
3
- import { renderRootTaskScript } from "./root-ops.js";
4
- import { StandaloneBuildError } from "./spk.js";
5
- import { hasHelper, sha256 } from "./helper-inventory.js";
6
- import { buildWorkerRegistry, parseSDKWorkers } from "./worker-registry.js";
7
- const record = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
8
- export function readIntegration(raw, root, fail) {
9
- if (raw === undefined)
10
- return undefined;
11
- const invalid = () => { fail({ code: "STANDALONE_INTEGRATION_INVALID", message: "integration 需要 protocol: 1 或 2 與 inert workers;sdkWorkers 僅接受 protocol 2/relaxed 的固定 SDK kind、action/mode 與較低 limits。總數最多 16,production unavailable。" }); return undefined; };
12
- if (!record(raw) || Object.keys(raw).some(k => !["protocol", "workers", "identity", "dataAccess", "sdkWorkers"].includes(k)) || ![1, 2].includes(raw.protocol) || !record(raw.workers) || Object.keys(raw.workers).length > 16)
13
- return invalid();
14
- if (raw.identity !== undefined && raw.identity !== "better-auth")
15
- return invalid();
16
- if (raw.dataAccess !== undefined && (raw.protocol !== 2 || !["unavailable", "relaxed"].includes(raw.dataAccess)))
17
- return invalid();
18
- const workers = {};
19
- for (const [id, file] of Object.entries(raw.workers)) {
20
- if (!/^[a-z][a-z0-9_]{0,31}$/.test(id) || typeof file !== "string" || !file || isAbsolute(file) || file.split(/[\\/]/).includes(".."))
21
- return invalid();
22
- const path = resolve(root, file), rel = relative(root, path);
23
- if (rel.startsWith("..") || isAbsolute(rel))
24
- return invalid();
25
- workers[id] = path;
26
- }
27
- let sdkWorkers;
28
- if (Object.hasOwn(raw, "sdkWorkers")) {
29
- if (raw.protocol !== 2 || raw.dataAccess !== "relaxed")
30
- return invalid();
31
- try {
32
- sdkWorkers = parseSDKWorkers(raw.sdkWorkers, Object.keys(workers));
33
- }
34
- catch {
35
- return invalid();
36
- }
37
- }
38
- return { protocol: raw.protocol, workers, ...(raw.identity === "better-auth" ? { identity: "better-auth" } : {}), ...(raw.dataAccess !== undefined ? { dataAccess: raw.dataAccess } : {}), ...(sdkWorkers ? { sdkWorkers } : {}) };
39
- }
40
- function snapshotWorkers(m) {
41
- let total = 0;
42
- return Object.entries(m.integration.workers).sort(([a], [b]) => a.localeCompare(b, "en")).map(([id, path]) => {
43
- const rel = relative(realpathSync(m.root), realpathSync(path));
44
- if (rel.startsWith("..") || isAbsolute(rel) || !lstatSync(path).isFile())
45
- throw new StandaloneBuildError("HELPER_WORKER_UNSAFE", `${id} 必須是專案內的一般檔案,不接受 symlink。`);
46
- const bytes = readFileSync(path);
47
- total += bytes.length;
48
- if (total > 1024 * 1024)
49
- throw new StandaloneBuildError("HELPER_WORKERS_TOO_LARGE", "worker inventory payload 合計不可超過 1 MiB。");
50
- return { id, digest: sha256(bytes), bytes };
51
- });
52
- }
53
- export function assertHelperTaskBudget(script, metadata = JSON.stringify({ script })) {
54
- if (Buffer.byteLength(script) > 4095)
55
- throw new StandaloneBuildError("HELPER_TASK_TOO_LARGE", "helper task 超過 DSM 文件的 4095 bytes 保守限制。");
56
- if (Buffer.byteLength(metadata) > 8191)
57
- throw new StandaloneBuildError("HELPER_METADATA_TOO_LARGE", "helper scheduler metadata 超過 8191 bytes 有界限制。");
58
- }
59
- export function helperOps(m, inventory) {
60
- return ["enable", "recover", "teardown", "disable", "repair"].map(action => {
61
- const op = { name: `helper_${action}`, protectedOutput: true, body: `#!/bin/sh
62
- set -eu
63
- umask 077
64
- [ "$(id -u)" = 0 ]
65
- # Verify the installed version as well as the window's exact-script check.
66
- info=/var/packages/${m.package}/INFO
67
- [ ! -L "$info" ] && [ "$(stat -c %u "$info")" = 0 ]
68
- grep -Fqx 'version="${m.spkVersion}"' "$info"
69
- for p in /var/lib /run; do
70
- [ ! -L "$p" ] && [ -d "$p" ] && [ "$(stat -c %u "$p")" = 0 ]
71
- mode=$(stat -c %a "$p")
72
- [ "$((0$mode & 0022))" = 0 ]
73
- done
74
- s=/var/lib/synopkgland-${m.package}
75
- r=/run/synopkgland-helper-${m.package}
76
- for p in "$s" "$r"; do
77
- [ ! -L "$p" ]
78
- if [ ! -e "$p" ]; then mkdir -m 0755 "$p"; fi
79
- [ -d "$p" ] && [ "$(stat -c %u:%a "$p")" = 0:755 ]
80
- done
81
- # Copy into a root-owned private file FIRST, then verify the copied bytes.
82
- # The package may change its source during copy; no unverified byte executes.
83
- tmp=$(mktemp "$s/.payload.XXXXXX")
84
- trap 'rm -f "$tmp"' EXIT HUP INT TERM
85
- dd if=/var/packages/${m.package}/target/integration/helper of="$tmp" bs=65536 count=1025 2>/dev/null
86
- [ "$(stat -c %s "$tmp")" -le 67108864 ]
87
- chmod 0700 "$tmp"
88
- [ "$(sha256sum "$tmp" | cut -d ' ' -f 1)" = '${inventory.payloadDigest}' ]
89
- exe="$s/payload-${inventory.payloadDigest}"
90
- # Rename only inside the protected directory. Existing executable mappings
91
- # retain their inode and digest until the controller has verified teardown.
92
- mv -f "$tmp" "$exe"
93
- trap - EXIT HUP INT TERM
94
- exec "$exe" ${action}
95
- ` };
96
- const script = renderRootTaskScript(m, op);
97
- assertHelperTaskBudget(script, JSON.stringify({ name: `${m.package} root: ${op.name}`, script, owner: "root", enable: false }));
98
- return op;
99
- });
100
- }
101
- export function buildHelper(m, arch, work, run) {
102
- if (!m.integration || !hasHelper(m))
103
- return undefined;
104
- if (m.backend.kind !== "go")
105
- throw new StandaloneBuildError("HELPER_GO_REQUIRED", "M1a integration 僅支援 native-go。");
106
- const workers = snapshotWorkers(m);
107
- const registry = buildWorkerRegistry(workers, m.integration.sdkWorkers, m.backend.dir);
108
- const base = { package: m.package, version: m.spkVersion, protocol: m.integration.protocol, payloadDigest: "", registryDigest: sha256(registry), ...(m.integration.dataAccess ? { dataAccess: m.integration.dataAccess } : {}) };
109
- const binary = join(work, `helper-${arch}`);
110
- const sdkFlags = m.integration.sdkWorkers ? ["-tags=synopkgland_sdk_workers"] : [];
111
- const sdkBinding = m.integration.sdkWorkers ? ` -X 'main.sdkWorkerRegistry=${registry}'` : "";
112
- const result = run("go", ["build", ...sdkFlags, "-trimpath", "-buildvcs=false", "-ldflags", `-s -w -buildid= -X 'main.helperInventory=${JSON.stringify(base)}'${sdkBinding}`, "-o", binary, "./cmd/helper"], {
113
- cwd: m.backend.dir, env: { ...process.env, CGO_ENABLED: "0", GOOS: "linux", GOARCH: arch === "x86_64" ? "amd64" : "arm64" },
114
- });
115
- if (result.missing || result.status !== 0)
116
- throw new StandaloneBuildError("HELPER_BUILD_FAILED", `Go helper build 失敗:${result.stderr}`);
117
- const payload = readFileSync(binary);
118
- if (m.integration.sdkWorkers && (!payload.includes(Buffer.from(registry)) || buildWorkerRegistry(workers, m.integration.sdkWorkers, m.backend.dir) !== registry)) {
119
- throw new StandaloneBuildError("HELPER_BUILD_FAILED", "compiled SDK registry 缺失或 source 在建置期間變動;請用完整 SDK 模板重新建置。");
120
- }
121
- const inventory = { ...base, payloadDigest: sha256(payload) };
122
- return { binary, inventory, workers, ...(m.integration.sdkWorkers ? { registry } : {}), ops: helperOps(m, inventory) };
123
- }
@@ -1,6 +0,0 @@
1
- export interface IntegrationInspection {
2
- protocol: 1 | 2;
3
- dataAccess: "unavailable" | "relaxed";
4
- }
5
- /** Artifact consistency only; bytes, approval and health never certify NAS access. */
6
- export declare function inspectHelper(dir: string, info: Record<string, string>, findings: string[], daemon?: boolean): Promise<IntegrationInspection | undefined>;
@@ -1,93 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import * as tar from "tar";
4
- import { windowScriptName } from "./dsm-window.js";
5
- import { helperOps } from "./helper.js";
6
- import { sha256 } from "./helper-inventory.js";
7
- import { renderStandaloneScript } from "./lifecycle.js";
8
- import { rootTasks } from "./root-window.js";
9
- import { decodeSDKRegistry } from "./worker-registry.js";
10
- /** Artifact consistency only; bytes, approval and health never certify NAS access. */
11
- export async function inspectHelper(dir, info, findings, daemon = false) {
12
- const files = new Map();
13
- const windowPath = `ui/${windowScriptName({ build: Number(info.version?.split("-").at(-1)) })}`;
14
- const windows = [];
15
- let oversized = false;
16
- await tar.t({ file: join(dir, "package.tgz"), onReadEntry(entry) {
17
- const path = entry.path.replace(/^\.\//, "");
18
- // Enumerate candidates to reject extras; only the INFO-derived exact path is read.
19
- if (/^ui\/window-[^/]*\.js$/.test(path))
20
- windows.push(path);
21
- if (entry.type !== "File" || !(path.startsWith("integration/workers/") || ["integration/helper", "integration/inventory.json", "integration/workers.json", "ui/cgi/api.cgi", windowPath].includes(path)))
22
- return;
23
- const limit = ["integration/helper", "ui/cgi/api.cgi"].includes(path) ? 64 * 1024 * 1024 : 1024 * 1024;
24
- if (files.has(path) || entry.size > limit) {
25
- oversized = true;
26
- return;
27
- }
28
- const chunks = [];
29
- let size = 0;
30
- entry.on("data", (chunk) => { size += chunk.length; if (size <= limit)
31
- chunks.push(chunk);
32
- else
33
- oversized = true; });
34
- entry.on("end", () => files.set(path, Buffer.concat(chunks)));
35
- } });
36
- try {
37
- if (oversized)
38
- throw new Error("oversized/duplicate payload");
39
- const bytes = (path) => { const b = files.get(path); if (!b)
40
- throw new Error(`missing ${path}`); return b; };
41
- const raw = bytes("integration/inventory.json").toString("utf8");
42
- const i = JSON.parse(raw);
43
- const keys = i.dataAccess === undefined ? "package,payloadDigest,protocol,registryDigest,version" : "dataAccess,package,payloadDigest,protocol,registryDigest,version";
44
- if (Object.keys(i).sort().join(",") !== keys || (i.dataAccess !== undefined && (i.protocol !== 2 || !["unavailable", "relaxed"].includes(i.dataAccess))) ||
45
- i.package !== info.package || i.version !== info.version || !/^[A-Za-z][A-Za-z0-9]{1,63}$/.test(i.package) || !/^\d+(\.\d+){0,3}-\d{4}$/.test(i.version) || ![1, 2].includes(i.protocol) ||
46
- !/^[a-f0-9]{64}$/.test(i.payloadDigest) || !/^[a-f0-9]{64}$/.test(i.registryDigest) || JSON.stringify(i) !== raw)
47
- throw new Error("invalid inventory");
48
- if (windows.length !== 1 || windows[0] !== windowPath)
49
- throw new Error("missing/ambiguous window or build mismatch");
50
- const helper = bytes("integration/helper");
51
- if (sha256(helper) !== i.payloadDigest || !helper.includes(Buffer.from(JSON.stringify({ ...i, payloadDigest: "" }))) ||
52
- !bytes("ui/cgi/api.cgi").includes(Buffer.from(raw)))
53
- throw new Error("payload/compiled inventory mismatch");
54
- const workers = bytes("integration/workers.json");
55
- const rawRegistry = JSON.parse(workers.toString("utf8"));
56
- const sdkRegistry = !Array.isArray(rawRegistry);
57
- const registry = sdkRegistry ? decodeSDKRegistry(workers).inert : rawRegistry;
58
- if (sdkRegistry && (i.protocol !== 2 || i.dataAccess !== "relaxed" || !helper.includes(workers)))
59
- throw new Error("compiled SDK registry mismatch");
60
- if (!Array.isArray(registry) || registry.length > 16 || sha256(workers) !== i.registryDigest || (!sdkRegistry && JSON.stringify(registry) !== workers.toString("utf8")))
61
- throw new Error("invalid registry");
62
- let previous = "", total = 0;
63
- for (const worker of registry) {
64
- if (!worker || Object.keys(worker).sort().join(",") !== "digest,id" || typeof worker.id !== "string" ||
65
- !/^[a-z][a-z0-9_]{0,31}$/.test(worker.id) || (previous && (sdkRegistry ? previous >= worker.id : previous.localeCompare(worker.id, "en") >= 0)) ||
66
- !/^[a-f0-9]{64}$/.test(worker.digest))
67
- throw new Error("invalid worker");
68
- const content = bytes(`integration/workers/${worker.id}`);
69
- total += content.length;
70
- if (total > 1024 * 1024 || sha256(content) !== worker.digest)
71
- throw new Error("worker digest mismatch");
72
- previous = worker.id;
73
- }
74
- if ([...files.keys()].filter(p => p.startsWith("integration/workers/")).length !== registry.length)
75
- throw new Error("unregistered worker");
76
- const manifest = { package: i.package, spkVersion: i.version, privilege: "root", integration: { protocol: i.protocol, workers: {} } };
77
- const tasks = JSON.parse(/\.rootTasks = (\[[^\n]+\]);/.exec(bytes(windowPath).toString("utf8"))?.[1] ?? "null");
78
- const expected = rootTasks({ ...manifest, rootOps: helperOps(manifest, i) });
79
- if (!Array.isArray(tasks) || JSON.stringify(tasks.filter(t => t.op?.startsWith("helper_"))) !== JSON.stringify(expected))
80
- throw new Error("approved task mismatch");
81
- // Daemon lifecycle is verified separately with the complete daemon config.
82
- if (!daemon)
83
- for (const hook of ["start-stop-status", "preupgrade", "preuninst"]) {
84
- if (readFileSync(join(dir, "scripts", hook), "utf8") !== renderStandaloneScript(hook, manifest))
85
- throw new Error("lifecycle mismatch");
86
- }
87
- return { protocol: i.protocol, dataAccess: i.dataAccess ?? "unavailable" };
88
- }
89
- catch {
90
- findings.push("integration inventory、digest、compiled binding、worker 或 lifecycle 不符合固定契約");
91
- return undefined;
92
- }
93
- }
@@ -1 +0,0 @@
1
- export declare function formatJobDiagnostic(raw: string | Uint8Array): string;
@@ -1,49 +0,0 @@
1
- import { strictJSON } from './worker-contract-json.js';
2
- const WORKER_SAFE_REASONS = ['invalid-request', 'incompatible', 'unsupported', 'replay', 'stale', 'expired', 'denied', 'unavailable', 'suspended', 'revoked', 'fenced', 'busy', 'limit-exceeded', 'canceled', 'timeout', 'partial', 'commit-uncertain', 'cleanup-required', 'internal'];
3
- // S5 formatter only: no command registration, network, SSH or raw-log reader.
4
- // Reject the whole projection on schema/serializer failure; never echo input.
5
- export function formatJobDiagnostic(raw) {
6
- try {
7
- const record = (value, required, optional = []) => {
8
- if (!value || typeof value !== 'object' || Array.isArray(value))
9
- throw 0;
10
- const o = value;
11
- if (required.some(k => !Object.hasOwn(o, k)) || Object.keys(o).some(k => !required.includes(k) && !optional.includes(k)))
12
- throw 0;
13
- return o;
14
- };
15
- const d = record(strictJSON(raw, 32768), ['diagnosticSchema', 'availability', 'jobs', 'total', 'truncated']);
16
- if (d.diagnosticSchema !== 1 || d.availability !== 'unavailable' || !Array.isArray(d.jobs) || d.jobs.length > 10 || !Number.isSafeInteger(d.total) || d.total < d.jobs.length || d.total > 256 || typeof d.truncated !== 'boolean' || d.truncated !== (d.total > d.jobs.length))
17
- throw 0;
18
- const aliases = new Set();
19
- const jobs = d.jobs.map(value => {
20
- const j = record(value, ['alias', 'state', 'cancelRequested', 'drained', 'effectsUnknown'], ['safeReason']);
21
- if (typeof j.alias !== 'string' || !/^[a-f0-9]{64}$/.test(j.alias) || !['pending', 'running', 'cancel-requested', 'draining', 'succeeded', 'failed', 'canceled', 'interrupted', 'cleanup-required'].includes(j.state))
22
- throw 0;
23
- if (['cancelRequested', 'drained', 'effectsUnknown'].some(k => typeof j[k] !== 'boolean'))
24
- throw 0;
25
- if (j.safeReason !== undefined && !WORKER_SAFE_REASONS.includes(j.safeReason))
26
- throw 0;
27
- if (aliases.has(j.alias))
28
- throw 0;
29
- aliases.add(j.alias);
30
- if (j.state === 'succeeded' && (!j.drained || j.cancelRequested || j.effectsUnknown || j.safeReason !== undefined))
31
- throw 0;
32
- if (['pending', 'running'].includes(j.state) && (j.drained || j.cancelRequested))
33
- throw 0;
34
- if (['cancel-requested', 'draining'].includes(j.state) && (!j.cancelRequested || j.drained))
35
- throw 0;
36
- if (j.state === 'cleanup-required' && (j.drained || j.safeReason !== 'cleanup-required'))
37
- throw 0;
38
- if (['failed', 'interrupted', 'canceled'].includes(j.state) && j.safeReason === undefined)
39
- throw 0;
40
- if (j.state === 'canceled' && !j.cancelRequested)
41
- throw 0;
42
- return { alias: j.alias, state: j.state, ...(j.safeReason === undefined ? {} : { safeReason: j.safeReason }), cancelRequested: j.cancelRequested, drained: j.drained, effectsUnknown: j.effectsUnknown };
43
- });
44
- return JSON.stringify({ diagnosticSchema: 1, availability: 'unavailable', jobs, total: d.total, truncated: d.truncated }) + '\n';
45
- }
46
- catch {
47
- return '{"safeReason":"invalid-request"}\n';
48
- }
49
- }
@@ -1,2 +0,0 @@
1
- /** Non-privileged management veto shared by the generated package hooks. */
2
- export declare function renderHelperStoppedCheck(packageId: string): string;
@@ -1,12 +0,0 @@
1
- /** Non-privileged management veto shared by the generated package hooks. */
2
- export function renderHelperStoppedCheck(packageId) {
3
- return `/var/packages/${packageId}/target/integration/helper check-stopped || {
4
- message='Run the approved helper_teardown or helper_disable operation before stopping, upgrading or uninstalling.'
5
- printf '%s\\n' "$message" >&2
6
- if [ -n "\${SYNOPKG_TEMP_LOGFILE:-}" ]; then
7
- (printf '%s\\n' "$message" >> "$SYNOPKG_TEMP_LOGFILE") 2>/dev/null || :
8
- fi
9
- exit 1
10
- }
11
- `;
12
- }
@@ -1,74 +0,0 @@
1
- import type { CommandRunner } from './build.js';
2
- export declare const LAYOUT_ARCHES: {
3
- readonly x86_64: readonly [2, 62];
4
- readonly aarch64: readonly [2, 183];
5
- readonly armv8: readonly [2, 183];
6
- readonly armv7: readonly [1, 40];
7
- };
8
- export type LayoutArch = keyof typeof LAYOUT_ARCHES;
9
- type Hook = {
10
- command: string[];
11
- cwd: string;
12
- env: Record<string, string>;
13
- };
14
- type Toolkit = {
15
- url: string;
16
- sha256: string;
17
- };
18
- type Binary = {
19
- path: string;
20
- linkage: 'static' | 'dynamic';
21
- arches?: LayoutArch[];
22
- };
23
- export interface NativeLayout {
24
- root: string;
25
- package: string;
26
- version: string;
27
- build: number;
28
- displayname: string;
29
- description: string;
30
- maintainer: string;
31
- os_min_ver: string;
32
- privilege: 'none';
33
- arches: LayoutArch[];
34
- layout: {
35
- payload: string;
36
- metadata: string;
37
- binaries: Binary[];
38
- };
39
- native: {
40
- prepare?: Hook;
41
- hook: Hook;
42
- toolkits: Partial<Record<LayoutArch, Toolkit[]>>;
43
- };
44
- }
45
- export declare function isNativeLayout(root: string): boolean;
46
- export declare function loadNativeLayout(root: string): {
47
- ok: true;
48
- manifest: NativeLayout;
49
- } | {
50
- ok: false;
51
- errors: {
52
- code: string;
53
- message: string;
54
- }[];
55
- };
56
- export declare function verifyToolkitArchive(path: string, expected: string): void;
57
- export declare function layoutFiles(root: string): Array<{
58
- path: string;
59
- mode: number;
60
- sha256: string;
61
- }>;
62
- export declare function checkLayoutBinary(root: string, b: Binary, arch: LayoutArch): void;
63
- export declare function checkLayoutMetadata(root: string, inspection?: boolean, packageId?: string): void;
64
- export declare function buildNativeLayout(options: {
65
- root: string;
66
- arches?: string[];
67
- outDir?: string;
68
- build?: number;
69
- run?: CommandRunner;
70
- }): Promise<{
71
- outputs: string[];
72
- }>;
73
- export declare function inspectNativeLayout(dir: string, payload: string, info: Record<string, string>): string[];
74
- export {};