@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.
- package/README.md +69 -38
- package/dist/add.d.ts +4 -0
- package/dist/add.js +124 -0
- package/dist/build-spk/delete-app-data.d.ts +3 -3
- package/dist/build-spk/generator.js +3 -90
- package/dist/build-spk/native-lifecycle.d.ts +3 -49
- package/dist/build-spk/native-lifecycle.js +8 -187
- package/dist/build-spk/notices.d.ts +1 -1
- package/dist/build-spk/notices.js +8 -12
- package/dist/build-spk/uninstall-wizard.d.ts +4 -11
- package/dist/build-spk/uninstall-wizard.js +6 -4
- package/dist/build-spk/wizard-messages.d.ts +28 -6
- package/dist/build-spk/wizard-messages.js +33 -11
- package/dist/capabilities.d.ts +4 -0
- package/dist/capabilities.js +12 -0
- package/dist/cli.js +329 -467
- package/dist/compose/analyze.js +2 -2
- package/dist/contract/unsupported-types.js +1 -1
- package/dist/deploy/deploy.d.ts +1 -1
- package/dist/deploy/deploy.js +1 -3
- package/dist/deploy/plan.d.ts +1 -1
- package/dist/deploy/plan.js +55 -24
- package/dist/discovery.d.ts +1 -2
- package/dist/discovery.js +3 -3
- package/dist/error-registry.js +71 -299
- package/dist/host/dsm-client.js +79 -7
- package/dist/host/dsm-port-profile.d.ts +1 -1
- package/dist/host/dsm-port-profile.js +1 -1
- package/dist/host/types.d.ts +13 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/info.d.ts +20 -2
- package/dist/info.js +140 -0
- package/dist/init.d.ts +2 -14
- package/dist/init.js +91 -71
- package/dist/inspect.js +1 -1
- package/dist/log.d.ts +5 -0
- package/dist/log.js +18 -0
- package/dist/runtime/executor-build.d.ts +22 -0
- package/dist/runtime/executor-build.js +36 -0
- package/dist/runtime/executor-inspect.d.ts +15 -0
- package/dist/runtime/executor-inspect.js +32 -0
- package/dist/runtime/executor-policy.d.ts +25 -0
- package/dist/runtime/executor-policy.js +24 -0
- package/dist/runtime/executor-tasks.d.ts +16 -0
- package/dist/runtime/executor-tasks.js +28 -0
- package/dist/runtime/uninstall-cleanup.d.ts +7 -0
- package/dist/runtime/uninstall-cleanup.js +10 -0
- package/dist/skill.js +3 -1
- package/dist/standalone/api-permissions.d.ts +18 -0
- package/dist/standalone/api-permissions.js +63 -0
- package/dist/standalone/build.d.ts +1 -1
- package/dist/standalone/build.js +26 -28
- package/dist/standalone/dsm-window.js +43 -17
- package/dist/standalone/inspect-spk.d.ts +9 -3
- package/dist/standalone/inspect-spk.js +64 -57
- package/dist/standalone/lifecycle.d.ts +1 -1
- package/dist/standalone/lifecycle.js +31 -27
- package/dist/standalone/manifest.d.ts +17 -14
- package/dist/standalone/manifest.js +77 -53
- package/dist/standalone/resource.d.ts +2 -2
- package/dist/standalone/resource.js +1 -1
- package/dist/standalone/root-ops.d.ts +1 -28
- package/dist/standalone/root-ops.js +1 -58
- package/dist/standalone/root-window.d.ts +5 -38
- package/dist/standalone/root-window.js +116 -399
- package/dist/standalone/spk.d.ts +3 -3
- package/dist/standalone/spk.js +25 -36
- package/dist/templates/_executor/README.md +204 -0
- package/dist/templates/_executor/apppriv_review_test.go +28 -0
- package/dist/templates/_executor/auth_presence_review_test.go +38 -0
- package/dist/templates/_executor/cmd/lifecycle/main.go +42 -0
- package/dist/templates/_executor/cookie_review_test.go +27 -0
- package/dist/templates/_executor/digest_review_test.go +120 -0
- package/dist/templates/_executor/directories.go +40 -0
- package/dist/templates/_executor/dsm.go +319 -0
- package/dist/templates/_executor/dsm_test.go +196 -0
- package/dist/templates/_executor/executor.go +524 -0
- package/dist/templates/_executor/executor_test.go +284 -0
- package/dist/templates/_executor/go.mod +3 -0
- package/dist/templates/_executor/identity.go +48 -0
- package/dist/templates/_executor/internal/lifecycle/lifecycle.go +90 -0
- package/dist/templates/_executor/internal/lifecycle/lifecycle_test.go +174 -0
- package/dist/templates/_executor/internal/taskscript/boot.sh +31 -0
- package/dist/templates/_executor/internal/taskscript/cmd/main.go +19 -0
- package/dist/templates/_executor/internal/taskscript/control.sh +26 -0
- package/dist/templates/_executor/internal/taskscript/tasks.go +42 -0
- package/dist/templates/_executor/json_review_test.go +40 -0
- package/dist/templates/_executor/lifecycle_test.go +86 -0
- package/dist/templates/_executor/main.go +518 -0
- package/dist/templates/_executor/managed.go +117 -0
- package/dist/templates/_executor/managed_test.go +137 -0
- package/dist/templates/_executor/path_test.go +17 -0
- package/dist/templates/_executor/platform_linux.go +336 -0
- package/dist/templates/_executor/platform_linux_test.go +247 -0
- package/dist/templates/_executor/platform_other.go +42 -0
- package/dist/templates/_executor/process.go +139 -0
- package/dist/templates/_executor/socket_linux_test.go +46 -0
- package/dist/templates/_executor/store.go +90 -0
- package/dist/templates/_executor/task_race_review_test.go +47 -0
- package/dist/templates/_executor/tasks.go +283 -0
- package/dist/templates/_executor/tasks_review_test.go +43 -0
- package/dist/templates/_executor/tasks_test.go +166 -0
- package/dist/templates/_executor/testdata/evidence/cleanup.json +24 -0
- package/dist/templates/_executor/testdata/evidence/final-smoke.jsonl +9 -0
- package/dist/templates/_executor/testdata/evidence/kernel-acl.json +6 -0
- package/dist/templates/_executor/testdata/evidence/linux-tests.log +123 -0
- package/dist/templates/_executor/testdata/evidence/live.jsonl +23 -0
- package/dist/templates/_executor/testdata/evidence/storage.json +90 -0
- package/dist/templates/_executor/testdata/evidence/validation.json +55 -0
- package/dist/templates/_executor/testdata/live_probe.py +98 -0
- package/dist/templates/_executor/upgrade_watch_test.go +236 -0
- package/dist/templates/_executor/watch.go +156 -0
- package/dist/templates/_executor/watch_test.go +270 -0
- package/dist/templates/_executor/write_review_linux_test.go +95 -0
- package/dist/templates/_shared/AGENTS.md +17 -0
- package/dist/templates/_shared/CLAUDE.md +1 -0
- package/dist/templates/binary/LICENSES/GO-LICENSE +27 -0
- package/dist/templates/binary/LICENSES/GO-PATENTS +22 -0
- package/dist/templates/binary/dsm-package.yaml +19 -0
- package/dist/templates/binary/example/main.go +16 -0
- package/dist/templates/binary/gitignore +2 -0
- package/dist/templates/binary/ui/app.css +4 -0
- package/dist/templates/binary/ui/app.js +17 -0
- package/dist/templates/native-go/README.md +129 -116
- package/dist/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
- package/dist/templates/native-go/backend/cmd/app/main.go +30 -21
- package/dist/templates/native-go/backend/internal/api/cgi_framing_test.go +32 -0
- package/dist/templates/native-go/backend/internal/api/cookie_review_test.go +28 -0
- package/dist/templates/native-go/backend/internal/api/deadline_test.go +114 -0
- package/dist/templates/native-go/backend/internal/api/dsm-session.go +54 -0
- package/dist/templates/native-go/backend/internal/api/dsm-session_test.go +51 -0
- package/dist/templates/native-go/backend/internal/api/errors.go +14 -0
- package/dist/templates/native-go/backend/internal/api/permissions.go +161 -0
- package/dist/templates/native-go/backend/internal/api/permissions.json +5 -0
- package/dist/templates/native-go/backend/internal/api/permissions_test.go +113 -0
- package/dist/templates/native-go/backend/internal/api/policy_fixture_test.go +8 -0
- package/dist/templates/native-go/backend/internal/api/registry.go +48 -32
- package/dist/templates/native-go/backend/internal/api/registry_test.go +16 -1
- package/dist/templates/native-go/backend/internal/api/resource_limits_test.go +87 -0
- package/dist/templates/native-go/backend/internal/api/sdk-permissions.json +46 -0
- package/dist/templates/native-go/backend/internal/api/sdk_policy_test.go +31 -0
- package/dist/templates/native-go/backend/internal/api/server.go +135 -8
- package/dist/templates/native-go/backend/internal/api/testdata/permissions-cases.json +172 -0
- package/dist/templates/native-go/backend/internal/app/background.go +23 -44
- package/dist/templates/native-go/backend/internal/app/background_owner.go +0 -21
- package/dist/templates/native-go/backend/internal/app/background_owner_test.go +40 -22
- package/dist/templates/native-go/backend/internal/app/background_schedule.go +0 -5
- package/dist/templates/native-go/backend/internal/app/background_schedule_test.go +1 -1
- package/dist/templates/native-go/backend/internal/app/background_test.go +15 -41
- package/dist/templates/native-go/backend/internal/app/delegate_none.go +5 -0
- package/dist/templates/native-go/backend/internal/app/identity.go +20 -0
- package/dist/templates/native-go/backend/internal/app/identity_test.go +15 -0
- package/dist/templates/native-go/backend/internal/app/routes.go +15 -36
- package/dist/templates/native-go/backend/internal/app/routes_test.go +16 -40
- package/dist/templates/native-go/backend/internal/app/session_files.go +4 -10
- package/dist/templates/native-go/backend/internal/app/session_files_test.go +8 -20
- package/dist/templates/native-go/backend/internal/app/shared_folder_test.go +4 -4
- package/dist/templates/native-go/backend/internal/background/lock_test.go +131 -0
- package/dist/templates/native-go/backend/internal/background/owner_test.go +12 -20
- package/dist/templates/native-go/backend/internal/background/runner_test.go +1 -1
- package/dist/templates/native-go/backend/internal/background/schedule.go +53 -17
- package/dist/templates/native-go/backend/internal/background/schedule_test.go +42 -9
- package/dist/templates/native-go/backend/internal/background/store.go +115 -99
- package/dist/templates/native-go/backend/internal/background/store_test.go +10 -52
- package/dist/templates/native-go/backend/internal/dsm/admin.go +70 -0
- package/dist/templates/native-go/backend/internal/dsm/admin_linux.go +80 -0
- package/dist/templates/native-go/backend/internal/dsm/admin_linux_test.go +49 -0
- package/dist/templates/native-go/backend/internal/dsm/admin_other.go +12 -0
- package/dist/templates/native-go/backend/internal/dsm/admin_test.go +67 -0
- package/dist/templates/native-go/backend/internal/dsm/auth.go +24 -48
- package/dist/templates/native-go/backend/internal/dsm/auth_test.go +43 -23
- package/dist/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
- package/dist/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
- package/dist/templates/native-go/backend/internal/dsm/native/admin_check.c +28 -0
- package/dist/templates/native-go/backend/internal/dsm/native/build.sh +9 -0
- package/dist/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +400 -0
- package/dist/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +501 -0
- package/dist/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +5 -0
- package/dist/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +21 -0
- package/dist/templates/native-go/backend/internal/dsm/native/provenance.json +12 -0
- package/dist/templates/native-go/backend/internal/filestation/client.go +68 -18
- package/dist/templates/native-go/backend/internal/filestation/client_test.go +7 -7
- package/dist/templates/native-go/backend/internal/filestation/doc.go +1 -1
- package/dist/templates/native-go/backend/internal/filestation/http.go +70 -0
- package/dist/templates/native-go/backend/internal/filestation/http_test.go +188 -0
- package/dist/templates/native-go/backend/internal/filestation/operations_test.go +206 -0
- package/dist/templates/native-go/backend/internal/filestation/read_file_test.go +2 -3
- package/dist/templates/native-go/backend/internal/filestation/service.go +117 -117
- package/dist/templates/native-go/backend/internal/filestation/service_test.go +30 -50
- package/dist/templates/native-go/backend/internal/filestation/upload_stream.go +76 -0
- package/dist/templates/native-go/backend/internal/filestation/upload_stream_test.go +77 -0
- package/dist/templates/native-go/backend/internal/filestation/write.go +0 -40
- package/dist/templates/native-go/backend/internal/filestation/write_test.go +6 -5
- package/dist/templates/native-go/backend/internal/identity/README.md +55 -0
- package/dist/templates/native-go/backend/internal/identity/dsm.go +96 -0
- package/dist/templates/native-go/backend/internal/identity/http.go +291 -0
- package/dist/templates/native-go/backend/internal/identity/identity_test.go +483 -0
- package/dist/templates/native-go/backend/internal/identity/service.go +159 -0
- package/dist/templates/native-go/backend/internal/identity/store.go +109 -0
- package/dist/templates/native-go/backend/internal/jsonlimits/limits.go +48 -0
- package/dist/templates/native-go/backend/internal/jsonlimits/limits_test.go +52 -0
- package/dist/templates/native-go/dsm-package.yaml +9 -18
- package/dist/templates/native-go-delegate/DELEGATE.md +142 -0
- package/dist/templates/native-go-delegate/backend/cmd/background-worker/main.go +41 -0
- package/dist/templates/native-go-delegate/backend/internal/app/delegate.go +15 -0
- package/dist/templates/native-go-delegate/backend/internal/app/delegate_on.go +5 -0
- package/dist/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +17 -0
- package/dist/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +174 -0
- package/dist/templates/native-go-delegate/backend/internal/background/delegated.go +277 -0
- package/dist/templates/native-go-delegate/backend/internal/background/delegated_test.go +34 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +15 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/client.go +143 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/client_test.go +214 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/files.go +132 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/retry.go +106 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/retry_test.go +143 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/service.go +323 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/service_test.go +318 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +101 -0
- package/dist/templates/native-go-delegate/backend/internal/delegate/worker.go +225 -0
- package/dist/templates/native-go-delegate/backend/internal/filestation/files.go +73 -0
- package/dist/templates/native-go-delegate/backend/internal/filestation/files_test.go +59 -0
- package/dist/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +10 -0
- package/dist/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +70 -0
- package/dist/templates/native-go-delegate/frontend/src/delegate/copy.ts +9 -0
- package/dist/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +11 -0
- package/dist/templates/native-go-delegate/frontend/test/delegate.test.ts +130 -0
- package/dist/templates/native-go-delegate/test-frontend.sh +12 -0
- package/dist/templates/native-go-delegate/test.sh +17 -0
- package/dist/templates/native-go-jobs/BACKGROUND.md +108 -0
- package/dist/templates/native-go-jobs/backend/internal/app/background_routes_test.go +90 -0
- package/dist/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +170 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/de.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/en.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/es.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/fr.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/it.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/ja.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/ko.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +75 -0
- package/dist/templates/native-go-jobs/frontend/src/background/picker-provider.ts +12 -0
- package/dist/templates/native-go-jobs/frontend/src/background/request-key.ts +5 -0
- package/dist/templates/native-go-jobs/frontend/test/background.test.ts +208 -0
- package/dist/templates/native-go-root-ops/backend/internal/app/executor.go +112 -0
- package/dist/templates/native-go-root-ops/backend/internal/app/executor_test.go +53 -0
- package/dist/templates/native-go-root-ops/root/whoami.sh +3 -0
- package/dist/templates/native-go-vue/README.md +36 -248
- package/dist/templates/native-go-vue/frontend/DESIGN.md +20 -49
- package/dist/templates/native-go-vue/frontend/package-lock.json +278 -159
- package/dist/templates/native-go-vue/frontend/package.json +2 -2
- package/dist/templates/native-go-vue/frontend/src/App.vue +55 -151
- package/dist/templates/native-go-vue/frontend/src/CapabilityPanels.vue +6 -0
- package/dist/templates/native-go-vue/frontend/src/context.ts +3 -12
- package/dist/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +25 -0
- package/dist/templates/native-go-vue/frontend/src/delegate/copy.ts +4 -0
- package/dist/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +18 -0
- package/dist/templates/native-go-vue/frontend/src/delegate/i18n/en.json +36 -0
- package/dist/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +36 -0
- package/dist/templates/native-go-vue/frontend/src/files/FileBrowser.vue +131 -0
- package/dist/templates/native-go-vue/frontend/src/files/FilesPage.vue +35 -0
- package/dist/templates/native-go-vue/frontend/src/files/files.test.ts +93 -0
- package/dist/templates/native-go-vue/frontend/src/files/provider.test.ts +48 -0
- package/dist/templates/native-go-vue/frontend/src/files/transfers.test.ts +27 -0
- package/dist/templates/native-go-vue/frontend/src/files/transfers.ts +25 -0
- package/dist/templates/native-go-vue/frontend/src/identity/DESIGN.md +46 -0
- package/dist/templates/native-go-vue/frontend/src/identity/LoginPage.vue +76 -0
- package/dist/templates/native-go-vue/frontend/src/identity/login.test.ts +32 -0
- package/dist/templates/native-go-vue/frontend/src/identity/session.test.ts +29 -0
- package/dist/templates/native-go-vue/frontend/src/identity/session.ts +73 -0
- package/dist/templates/native-go-vue/frontend/src/main.ts +7 -4
- package/dist/templates/native-go-vue/frontend/src/nas/NasPicker.vue +23 -0
- package/dist/templates/native-go-vue/frontend/src/nas/contract.ts +12 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +41 -0
- package/dist/templates/native-go-vue/frontend/src/nas/i18n.ts +2 -38
- package/dist/templates/native-go-vue/frontend/src/nas/locale.ts +24 -0
- package/dist/templates/native-go-vue/frontend/src/nas/provider.ts +46 -55
- package/dist/templates/native-go-vue/frontend/src/nas/use-request.ts +13 -22
- package/dist/templates/native-go-vue/frontend/src/shell/AppShell.vue +3 -3
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/de.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/en.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/es.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/fr.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/it.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/ja.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/ko.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +1 -7
- package/dist/templates/native-go-vue/frontend/src/shell/pages.ts +3 -22
- package/dist/templates/native-go-vue/frontend/test/apps.test.ts +33 -201
- package/dist/templates/native-go-vue/frontend/test/shell-ui.test.ts +15 -109
- package/dist/templates/native-go-vue/frontend/test/shell.test.ts +4 -19
- package/dist/templates/native-go-vue/frontend/vite.config.ts +2 -2
- package/dist/types.d.ts +1 -1
- package/dist/validate.js +27 -36
- package/package.json +1 -1
- package/skills/SKILL.md +21 -3
- package/skills/reference/create.md +16 -7
- package/skills/reference/deploy.md +5 -3
- package/skills/reference/diagnose.md +1 -1
- package/skills/reference/files.md +8 -6
- package/skills/reference/identity.md +9 -3
- package/skills/reference/ui-json.md +78 -0
- package/skills/reference/ui-vue.md +71 -0
- package/skills/reference/wrap.md +3 -4
- package/templates/_executor/README.md +204 -0
- package/templates/_executor/apppriv_review_test.go +28 -0
- package/templates/_executor/auth_presence_review_test.go +38 -0
- package/templates/_executor/cmd/lifecycle/main.go +42 -0
- package/templates/_executor/cookie_review_test.go +27 -0
- package/templates/_executor/digest_review_test.go +120 -0
- package/templates/_executor/directories.go +40 -0
- package/templates/_executor/dsm.go +319 -0
- package/templates/_executor/dsm_test.go +196 -0
- package/templates/_executor/executor.go +524 -0
- package/templates/_executor/executor_test.go +284 -0
- package/templates/_executor/go.mod +3 -0
- package/templates/_executor/identity.go +48 -0
- package/templates/_executor/internal/lifecycle/lifecycle.go +90 -0
- package/templates/_executor/internal/lifecycle/lifecycle_test.go +174 -0
- package/templates/_executor/internal/taskscript/boot.sh +31 -0
- package/templates/_executor/internal/taskscript/cmd/main.go +19 -0
- package/templates/_executor/internal/taskscript/control.sh +26 -0
- package/templates/_executor/internal/taskscript/tasks.go +42 -0
- package/templates/_executor/json_review_test.go +40 -0
- package/templates/_executor/lifecycle_test.go +86 -0
- package/templates/_executor/main.go +518 -0
- package/templates/_executor/managed.go +117 -0
- package/templates/_executor/managed_test.go +137 -0
- package/templates/_executor/path_test.go +17 -0
- package/templates/_executor/platform_linux.go +336 -0
- package/templates/_executor/platform_linux_test.go +247 -0
- package/templates/_executor/platform_other.go +42 -0
- package/templates/_executor/process.go +139 -0
- package/templates/_executor/socket_linux_test.go +46 -0
- package/templates/_executor/store.go +90 -0
- package/templates/_executor/task_race_review_test.go +47 -0
- package/templates/_executor/tasks.go +283 -0
- package/templates/_executor/tasks_review_test.go +43 -0
- package/templates/_executor/tasks_test.go +166 -0
- package/templates/_executor/testdata/evidence/cleanup.json +24 -0
- package/templates/_executor/testdata/evidence/final-smoke.jsonl +9 -0
- package/templates/_executor/testdata/evidence/kernel-acl.json +6 -0
- package/templates/_executor/testdata/evidence/linux-tests.log +123 -0
- package/templates/_executor/testdata/evidence/live.jsonl +23 -0
- package/templates/_executor/testdata/evidence/storage.json +90 -0
- package/templates/_executor/testdata/evidence/validation.json +55 -0
- package/templates/_executor/testdata/live_probe.py +98 -0
- package/templates/_executor/upgrade_watch_test.go +236 -0
- package/templates/_executor/watch.go +156 -0
- package/templates/_executor/watch_test.go +270 -0
- package/templates/_executor/write_review_linux_test.go +95 -0
- package/templates/_shared/AGENTS.md +17 -0
- package/templates/_shared/CLAUDE.md +1 -0
- package/templates/binary/LICENSES/GO-LICENSE +27 -0
- package/templates/binary/LICENSES/GO-PATENTS +22 -0
- package/templates/binary/dsm-package.yaml +19 -0
- package/templates/binary/example/main.go +16 -0
- package/templates/binary/gitignore +2 -0
- package/templates/binary/ui/app.css +4 -0
- package/templates/binary/ui/app.js +17 -0
- package/templates/native-go/README.md +129 -116
- package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
- package/templates/native-go/backend/cmd/app/main.go +30 -21
- package/templates/native-go/backend/internal/api/cgi_framing_test.go +32 -0
- package/templates/native-go/backend/internal/api/cookie_review_test.go +28 -0
- package/templates/native-go/backend/internal/api/deadline_test.go +114 -0
- package/templates/native-go/backend/internal/api/dsm-session.go +54 -0
- package/templates/native-go/backend/internal/api/dsm-session_test.go +51 -0
- package/templates/native-go/backend/internal/api/errors.go +14 -0
- package/templates/native-go/backend/internal/api/permissions.go +161 -0
- package/templates/native-go/backend/internal/api/permissions.json +5 -0
- package/templates/native-go/backend/internal/api/permissions_test.go +113 -0
- package/templates/native-go/backend/internal/api/policy_fixture_test.go +8 -0
- package/templates/native-go/backend/internal/api/registry.go +48 -32
- package/templates/native-go/backend/internal/api/registry_test.go +16 -1
- package/templates/native-go/backend/internal/api/resource_limits_test.go +87 -0
- package/templates/native-go/backend/internal/api/sdk-permissions.json +46 -0
- package/templates/native-go/backend/internal/api/sdk_policy_test.go +31 -0
- package/templates/native-go/backend/internal/api/server.go +135 -8
- package/templates/native-go/backend/internal/api/testdata/permissions-cases.json +172 -0
- package/templates/native-go/backend/internal/app/background.go +23 -44
- package/templates/native-go/backend/internal/app/background_owner.go +0 -21
- package/templates/native-go/backend/internal/app/background_owner_test.go +40 -22
- package/templates/native-go/backend/internal/app/background_schedule.go +0 -5
- package/templates/native-go/backend/internal/app/background_schedule_test.go +1 -1
- package/templates/native-go/backend/internal/app/background_test.go +15 -41
- package/templates/native-go/backend/internal/app/delegate_none.go +5 -0
- package/templates/native-go/backend/internal/app/identity.go +20 -0
- package/templates/native-go/backend/internal/app/identity_test.go +15 -0
- package/templates/native-go/backend/internal/app/routes.go +15 -36
- package/templates/native-go/backend/internal/app/routes_test.go +16 -40
- package/templates/native-go/backend/internal/app/session_files.go +4 -10
- package/templates/native-go/backend/internal/app/session_files_test.go +8 -20
- package/templates/native-go/backend/internal/app/shared_folder_test.go +4 -4
- package/templates/native-go/backend/internal/background/lock_test.go +131 -0
- package/templates/native-go/backend/internal/background/owner_test.go +12 -20
- package/templates/native-go/backend/internal/background/runner_test.go +1 -1
- package/templates/native-go/backend/internal/background/schedule.go +53 -17
- package/templates/native-go/backend/internal/background/schedule_test.go +42 -9
- package/templates/native-go/backend/internal/background/store.go +115 -99
- package/templates/native-go/backend/internal/background/store_test.go +10 -52
- package/templates/native-go/backend/internal/dsm/admin.go +70 -0
- package/templates/native-go/backend/internal/dsm/admin_linux.go +80 -0
- package/templates/native-go/backend/internal/dsm/admin_linux_test.go +49 -0
- package/templates/native-go/backend/internal/dsm/admin_other.go +12 -0
- package/templates/native-go/backend/internal/dsm/admin_test.go +67 -0
- package/templates/native-go/backend/internal/dsm/auth.go +24 -48
- package/templates/native-go/backend/internal/dsm/auth_test.go +43 -23
- package/templates/native-go/backend/internal/dsm/native/admin-aarch64.elf +0 -0
- package/templates/native-go/backend/internal/dsm/native/admin-x86_64.elf +0 -0
- package/templates/native-go/backend/internal/dsm/native/admin_check.c +28 -0
- package/templates/native-go/backend/internal/dsm/native/build.sh +9 -0
- package/templates/native-go/backend/internal/dsm/native/licenses/GLIBC-NOTICES.txt +400 -0
- package/templates/native-go/backend/internal/dsm/native/licenses/LGPL-2.1.txt +501 -0
- package/templates/native-go/backend/internal/dsm/native/licenses/SOURCE.txt +5 -0
- package/templates/native-go/backend/internal/dsm/native/licenses/ZIG-MIT.txt +21 -0
- package/templates/native-go/backend/internal/dsm/native/provenance.json +12 -0
- package/templates/native-go/backend/internal/filestation/client.go +68 -18
- package/templates/native-go/backend/internal/filestation/client_test.go +7 -7
- package/templates/native-go/backend/internal/filestation/doc.go +1 -1
- package/templates/native-go/backend/internal/filestation/http.go +70 -0
- package/templates/native-go/backend/internal/filestation/http_test.go +188 -0
- package/templates/native-go/backend/internal/filestation/operations_test.go +206 -0
- package/templates/native-go/backend/internal/filestation/read_file_test.go +2 -3
- package/templates/native-go/backend/internal/filestation/service.go +117 -117
- package/templates/native-go/backend/internal/filestation/service_test.go +30 -50
- package/templates/native-go/backend/internal/filestation/upload_stream.go +76 -0
- package/templates/native-go/backend/internal/filestation/upload_stream_test.go +77 -0
- package/templates/native-go/backend/internal/filestation/write.go +0 -40
- package/templates/native-go/backend/internal/filestation/write_test.go +6 -5
- package/templates/native-go/backend/internal/identity/README.md +55 -0
- package/templates/native-go/backend/internal/identity/dsm.go +96 -0
- package/templates/native-go/backend/internal/identity/http.go +291 -0
- package/templates/native-go/backend/internal/identity/identity_test.go +483 -0
- package/templates/native-go/backend/internal/identity/service.go +159 -0
- package/templates/native-go/backend/internal/identity/store.go +109 -0
- package/templates/native-go/backend/internal/jsonlimits/limits.go +48 -0
- package/templates/native-go/backend/internal/jsonlimits/limits_test.go +52 -0
- package/templates/native-go/dsm-package.yaml +9 -18
- package/templates/native-go-delegate/DELEGATE.md +142 -0
- package/templates/native-go-delegate/backend/cmd/background-worker/main.go +41 -0
- package/templates/native-go-delegate/backend/internal/app/delegate.go +15 -0
- package/templates/native-go-delegate/backend/internal/app/delegate_on.go +5 -0
- package/templates/native-go-delegate/backend/internal/app/delegate_routes_test.go +17 -0
- package/templates/native-go-delegate/backend/internal/background/delegate_review_test.go +174 -0
- package/templates/native-go-delegate/backend/internal/background/delegated.go +277 -0
- package/templates/native-go-delegate/backend/internal/background/delegated_test.go +34 -0
- package/templates/native-go-delegate/backend/internal/delegate/busy_review_test.go +15 -0
- package/templates/native-go-delegate/backend/internal/delegate/client.go +143 -0
- package/templates/native-go-delegate/backend/internal/delegate/client_test.go +214 -0
- package/templates/native-go-delegate/backend/internal/delegate/files.go +132 -0
- package/templates/native-go-delegate/backend/internal/delegate/retry.go +106 -0
- package/templates/native-go-delegate/backend/internal/delegate/retry_test.go +143 -0
- package/templates/native-go-delegate/backend/internal/delegate/service.go +323 -0
- package/templates/native-go-delegate/backend/internal/delegate/service_test.go +318 -0
- package/templates/native-go-delegate/backend/internal/delegate/wait_cancel_test.go +101 -0
- package/templates/native-go-delegate/backend/internal/delegate/worker.go +225 -0
- package/templates/native-go-delegate/backend/internal/filestation/files.go +73 -0
- package/templates/native-go-delegate/backend/internal/filestation/files_test.go +59 -0
- package/templates/native-go-delegate/frontend/src/CapabilityPanels.vue +10 -0
- package/templates/native-go-delegate/frontend/src/delegate/DelegatePanel.vue +70 -0
- package/templates/native-go-delegate/frontend/src/delegate/copy.ts +9 -0
- package/templates/native-go-delegate/frontend/src/delegate/i18n/waiting.json +11 -0
- package/templates/native-go-delegate/frontend/test/delegate.test.ts +130 -0
- package/templates/native-go-delegate/test-frontend.sh +12 -0
- package/templates/native-go-delegate/test.sh +17 -0
- package/templates/native-go-jobs/BACKGROUND.md +108 -0
- package/templates/native-go-jobs/backend/internal/app/background_routes_test.go +90 -0
- package/templates/native-go-jobs/frontend/src/background/BackgroundPanel.vue +170 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/de.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/en.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/es.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/fr.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/it.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/ja.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/ko.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/zh-CN.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/i18n/zh-TW.json +75 -0
- package/templates/native-go-jobs/frontend/src/background/picker-provider.ts +12 -0
- package/templates/native-go-jobs/frontend/src/background/request-key.ts +5 -0
- package/templates/native-go-jobs/frontend/test/background.test.ts +208 -0
- package/templates/native-go-root-ops/backend/internal/app/executor.go +112 -0
- package/templates/native-go-root-ops/backend/internal/app/executor_test.go +53 -0
- package/templates/native-go-root-ops/root/whoami.sh +3 -0
- package/templates/native-go-vue/README.md +36 -248
- package/templates/native-go-vue/frontend/DESIGN.md +20 -49
- package/templates/native-go-vue/frontend/package-lock.json +278 -159
- package/templates/native-go-vue/frontend/package.json +2 -2
- package/templates/native-go-vue/frontend/src/App.vue +55 -151
- package/templates/native-go-vue/frontend/src/CapabilityPanels.vue +6 -0
- package/templates/native-go-vue/frontend/src/context.ts +3 -12
- package/templates/native-go-vue/frontend/src/delegate/ExecutorSettings.vue +25 -0
- package/templates/native-go-vue/frontend/src/delegate/copy.ts +4 -0
- package/templates/native-go-vue/frontend/src/delegate/executor-setup.ts +18 -0
- package/templates/native-go-vue/frontend/src/delegate/i18n/en.json +36 -0
- package/templates/native-go-vue/frontend/src/delegate/i18n/zh-TW.json +36 -0
- package/templates/native-go-vue/frontend/src/files/FileBrowser.vue +131 -0
- package/templates/native-go-vue/frontend/src/files/FilesPage.vue +35 -0
- package/templates/native-go-vue/frontend/src/files/files.test.ts +93 -0
- package/templates/native-go-vue/frontend/src/files/provider.test.ts +48 -0
- package/templates/native-go-vue/frontend/src/files/transfers.test.ts +27 -0
- package/templates/native-go-vue/frontend/src/files/transfers.ts +25 -0
- package/templates/native-go-vue/frontend/src/identity/DESIGN.md +46 -0
- package/templates/native-go-vue/frontend/src/identity/LoginPage.vue +76 -0
- package/templates/native-go-vue/frontend/src/identity/login.test.ts +32 -0
- package/templates/native-go-vue/frontend/src/identity/session.test.ts +29 -0
- package/templates/native-go-vue/frontend/src/identity/session.ts +73 -0
- package/templates/native-go-vue/frontend/src/main.ts +7 -4
- package/templates/native-go-vue/frontend/src/nas/NasPicker.vue +23 -0
- package/templates/native-go-vue/frontend/src/nas/contract.ts +12 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/de.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/en.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/es.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/fr.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/it.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/ja.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/ko.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-CN.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n/files/zh-TW.json +41 -0
- package/templates/native-go-vue/frontend/src/nas/i18n.ts +2 -38
- package/templates/native-go-vue/frontend/src/nas/locale.ts +24 -0
- package/templates/native-go-vue/frontend/src/nas/provider.ts +46 -55
- package/templates/native-go-vue/frontend/src/nas/use-request.ts +13 -22
- package/templates/native-go-vue/frontend/src/shell/AppShell.vue +3 -3
- package/templates/native-go-vue/frontend/src/shell/i18n/de.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/en.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/es.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/fr.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/it.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/ja.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/ko.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/zh-CN.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/i18n/zh-TW.json +1 -7
- package/templates/native-go-vue/frontend/src/shell/pages.ts +3 -22
- package/templates/native-go-vue/frontend/test/apps.test.ts +33 -201
- package/templates/native-go-vue/frontend/test/shell-ui.test.ts +15 -109
- package/templates/native-go-vue/frontend/test/shell.test.ts +4 -19
- package/templates/native-go-vue/frontend/vite.config.ts +2 -2
- package/dist/build-spk/native-payload.d.ts +0 -37
- package/dist/build-spk/native-payload.js +0 -679
- package/dist/native/load.d.ts +0 -8
- package/dist/native/load.js +0 -11
- package/dist/native/types.d.ts +0 -28
- package/dist/native/types.js +0 -3
- package/dist/native/validate.d.ts +0 -6
- package/dist/native/validate.js +0 -143
- package/dist/standalone/helper-inventory.d.ts +0 -31
- package/dist/standalone/helper-inventory.js +0 -11
- package/dist/standalone/helper.d.ts +0 -22
- package/dist/standalone/helper.js +0 -123
- package/dist/standalone/inspect-helper.d.ts +0 -6
- package/dist/standalone/inspect-helper.js +0 -93
- package/dist/standalone/job-diagnostics.d.ts +0 -1
- package/dist/standalone/job-diagnostics.js +0 -49
- package/dist/standalone/lifecycle-helper.d.ts +0 -2
- package/dist/standalone/lifecycle-helper.js +0 -12
- package/dist/standalone/native-layout.d.ts +0 -74
- package/dist/standalone/native-layout.js +0 -318
- package/dist/standalone/root-messages.d.ts +0 -7
- package/dist/standalone/root-messages.js +0 -259
- package/dist/standalone/worker-contract-json.d.ts +0 -8
- package/dist/standalone/worker-contract-json.js +0 -141
- package/dist/standalone/worker-contract.d.ts +0 -189
- package/dist/standalone/worker-contract.js +0 -175
- package/dist/standalone/worker-registry.d.ts +0 -40
- package/dist/standalone/worker-registry.js +0 -167
- package/dist/templates/_shared/notice-overrides/index.json +0 -14
- package/dist/templates/_shared/notice-overrides/utils-0.4.2-LICENSE +0 -21
- package/dist/templates/_shared/notice-overrides/utils-0.5.0-LICENSE +0 -21
- package/dist/templates/binary/native.yaml +0 -16
- package/dist/templates/binary/synology-app.yaml +0 -7
- package/dist/templates/compose-import/compose.yaml +0 -10
- package/dist/templates/compose-import/synology-app.yaml +0 -15
- package/dist/templates/hello-web/compose.yaml +0 -24
- package/dist/templates/hello-web/html/app.js +0 -1
- package/dist/templates/hello-web/html/index.html +0 -13
- package/dist/templates/hello-web/synology-app.yaml +0 -16
- package/dist/templates/hello-web-page/compose.yaml +0 -24
- package/dist/templates/hello-web-page/html/app.js +0 -1
- package/dist/templates/hello-web-page/html/index.html +0 -13
- package/dist/templates/hello-web-page/synology-app.yaml +0 -16
- package/dist/templates/native-go/backend/cmd/app/sdk_main.go +0 -60
- package/dist/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +0 -46
- package/dist/templates/native-go/backend/cmd/helper/main.go +0 -47
- package/dist/templates/native-go/backend/cmd/helper/sdk_registry.go +0 -19
- package/dist/templates/native-go/backend/internal/api/binary.go +0 -154
- package/dist/templates/native-go/backend/internal/api/binary_test.go +0 -165
- package/dist/templates/native-go/backend/internal/app/integration_state.go +0 -16
- package/dist/templates/native-go/backend/internal/app/nas_cgi_artifact_test.go +0 -129
- package/dist/templates/native-go/backend/internal/app/nas_refusal_test.go +0 -46
- package/dist/templates/native-go/backend/internal/app/sdk_jobs.go +0 -70
- package/dist/templates/native-go/backend/internal/app/sdk_jobs_test.go +0 -116
- package/dist/templates/native-go/backend/internal/app/sdk_routes.go +0 -174
- package/dist/templates/native-go/backend/internal/dsmprobe/collector_linux.go +0 -335
- package/dist/templates/native-go/backend/internal/dsmprobe/collector_linux_test.go +0 -41
- package/dist/templates/native-go/backend/internal/dsmprobe/protocol.go +0 -179
- package/dist/templates/native-go/backend/internal/dsmprobe/protocol_test.go +0 -29
- package/dist/templates/native-go/backend/internal/filestation/repository.go +0 -207
- package/dist/templates/native-go/backend/internal/filestation/repository_test.go +0 -104
- package/dist/templates/native-go/backend/internal/filestation/sdk_session.go +0 -241
- package/dist/templates/native-go/backend/internal/filestation/sdk_session_test.go +0 -183
- package/dist/templates/native-go/backend/internal/filestation/session_semantics_test.go +0 -383
- package/dist/templates/native-go/backend/internal/helper/background_proof.go +0 -163
- package/dist/templates/native-go/backend/internal/helper/background_proof_contract.go +0 -46
- package/dist/templates/native-go/backend/internal/helper/background_proof_test.go +0 -161
- package/dist/templates/native-go/backend/internal/helper/cohort.go +0 -393
- package/dist/templates/native-go/backend/internal/helper/cohort_publication.go +0 -18
- package/dist/templates/native-go/backend/internal/helper/cohort_publication_test.go +0 -105
- package/dist/templates/native-go/backend/internal/helper/cohort_test.go +0 -372
- package/dist/templates/native-go/backend/internal/helper/control.go +0 -424
- package/dist/templates/native-go/backend/internal/helper/control_test.go +0 -250
- package/dist/templates/native-go/backend/internal/helper/data_contract.go +0 -245
- package/dist/templates/native-go/backend/internal/helper/data_contract_test.go +0 -51
- package/dist/templates/native-go/backend/internal/helper/data_decode.go +0 -184
- package/dist/templates/native-go/backend/internal/helper/data_decode_pointer_test.go +0 -30
- package/dist/templates/native-go/backend/internal/helper/data_protocol.go +0 -419
- package/dist/templates/native-go/backend/internal/helper/data_protocol_test.go +0 -449
- package/dist/templates/native-go/backend/internal/helper/dsm_acl_linux.go +0 -139
- package/dist/templates/native-go/backend/internal/helper/dsm_acl_linux_test.go +0 -121
- package/dist/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux.go +0 -95
- package/dist/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux_test.go +0 -56
- package/dist/templates/native-go/backend/internal/helper/dsm_bridge_linux.go +0 -144
- package/dist/templates/native-go/backend/internal/helper/dsm_bridge_linux_test.go +0 -89
- package/dist/templates/native-go/backend/internal/helper/dsm_home_linux.go +0 -107
- package/dist/templates/native-go/backend/internal/helper/dsm_home_linux_test.go +0 -82
- package/dist/templates/native-go/backend/internal/helper/dsm_probe_transport_linux.go +0 -151
- package/dist/templates/native-go/backend/internal/helper/dsm_probe_transport_linux_test.go +0 -66
- package/dist/templates/native-go/backend/internal/helper/grant_authority.go +0 -519
- package/dist/templates/native-go/backend/internal/helper/grant_authority_contract.go +0 -88
- package/dist/templates/native-go/backend/internal/helper/grant_authority_test.go +0 -510
- package/dist/templates/native-go/backend/internal/helper/grant_cohort.go +0 -389
- package/dist/templates/native-go/backend/internal/helper/grant_cohort_test.go +0 -239
- package/dist/templates/native-go/backend/internal/helper/grant_delivery.go +0 -49
- package/dist/templates/native-go/backend/internal/helper/grant_delivery_methods.go +0 -273
- package/dist/templates/native-go/backend/internal/helper/grant_delivery_test.go +0 -322
- package/dist/templates/native-go/backend/internal/helper/grant_operation_contract.go +0 -47
- package/dist/templates/native-go/backend/internal/helper/grant_readonly_test.go +0 -180
- package/dist/templates/native-go/backend/internal/helper/grant_repository_linux.go +0 -416
- package/dist/templates/native-go/backend/internal/helper/grant_repository_linux_test.go +0 -469
- package/dist/templates/native-go/backend/internal/helper/grant_rpc.go +0 -147
- package/dist/templates/native-go/backend/internal/helper/grant_rpc_test.go +0 -51
- package/dist/templates/native-go/backend/internal/helper/grant_snapshot.go +0 -78
- package/dist/templates/native-go/backend/internal/helper/grant_supervisor_linux.go +0 -134
- package/dist/templates/native-go/backend/internal/helper/grant_supervisor_linux_test.go +0 -254
- package/dist/templates/native-go/backend/internal/helper/jobcontract/bindings.go +0 -48
- package/dist/templates/native-go/backend/internal/helper/jobcontract/contract_test.go +0 -436
- package/dist/templates/native-go/backend/internal/helper/jobcontract/decode.go +0 -185
- package/dist/templates/native-go/backend/internal/helper/jobcontract/digest.go +0 -55
- package/dist/templates/native-go/backend/internal/helper/jobcontract/registry.go +0 -85
- package/dist/templates/native-go/backend/internal/helper/jobcontract/registry_test.go +0 -73
- package/dist/templates/native-go/backend/internal/helper/jobcontract/result.go +0 -53
- package/dist/templates/native-go/backend/internal/helper/jobcontract/stub.go +0 -8
- package/dist/templates/native-go/backend/internal/helper/jobcontract/testdata/input-digests.json +0 -127
- package/dist/templates/native-go/backend/internal/helper/jobcontract/types.go +0 -234
- package/dist/templates/native-go/backend/internal/helper/jobcontract/types_test.go +0 -29
- package/dist/templates/native-go/backend/internal/helper/jobcontract/validate.go +0 -462
- package/dist/templates/native-go/backend/internal/helper/lease.go +0 -112
- package/dist/templates/native-go/backend/internal/helper/lease_linux.go +0 -44
- package/dist/templates/native-go/backend/internal/helper/lease_other.go +0 -8
- package/dist/templates/native-go/backend/internal/helper/legacy_authority_schema_linux_test.go +0 -34
- package/dist/templates/native-go/backend/internal/helper/legacy_authority_schema_test.go +0 -6
- package/dist/templates/native-go/backend/internal/helper/lifecycle.go +0 -234
- package/dist/templates/native-go/backend/internal/helper/lifecycle_test.go +0 -473
- package/dist/templates/native-go/backend/internal/helper/managed_pilot.go +0 -284
- package/dist/templates/native-go/backend/internal/helper/managed_pilot_repository_linux.go +0 -74
- package/dist/templates/native-go/backend/internal/helper/managed_pilot_repository_linux_test.go +0 -40
- package/dist/templates/native-go/backend/internal/helper/managed_pilot_test.go +0 -210
- package/dist/templates/native-go/backend/internal/helper/management.go +0 -79
- package/dist/templates/native-go/backend/internal/helper/nas_shipped_refusal_linux_test.go +0 -97
- package/dist/templates/native-go/backend/internal/helper/native_discovery.go +0 -79
- package/dist/templates/native-go/backend/internal/helper/native_identity.go +0 -89
- package/dist/templates/native-go/backend/internal/helper/native_provider.go +0 -159
- package/dist/templates/native-go/backend/internal/helper/native_provider_test.go +0 -421
- package/dist/templates/native-go/backend/internal/helper/observation.go +0 -244
- package/dist/templates/native-go/backend/internal/helper/observation_health_test.go +0 -127
- package/dist/templates/native-go/backend/internal/helper/observation_reload_budget_test.go +0 -117
- package/dist/templates/native-go/backend/internal/helper/observation_test.go +0 -196
- package/dist/templates/native-go/backend/internal/helper/observer_diagnostic.go +0 -155
- package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_linux.go +0 -76
- package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_linux_test.go +0 -130
- package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_test.go +0 -98
- package/dist/templates/native-go/backend/internal/helper/observer_diagnostic_writer.go +0 -40
- package/dist/templates/native-go/backend/internal/helper/operation_bootstrap_linux.go +0 -193
- package/dist/templates/native-go/backend/internal/helper/operation_credentials_linux.go +0 -56
- package/dist/templates/native-go/backend/internal/helper/operation_linux.go +0 -480
- package/dist/templates/native-go/backend/internal/helper/operation_linux_test.go +0 -528
- package/dist/templates/native-go/backend/internal/helper/peer_linux.go +0 -44
- package/dist/templates/native-go/backend/internal/helper/peer_other.go +0 -7
- package/dist/templates/native-go/backend/internal/helper/process_linux.go +0 -180
- package/dist/templates/native-go/backend/internal/helper/process_other.go +0 -5
- package/dist/templates/native-go/backend/internal/helper/publication_test.go +0 -178
- package/dist/templates/native-go/backend/internal/helper/query_deadline_linux_test.go +0 -115
- package/dist/templates/native-go/backend/internal/helper/query_pending_diagnostic_test.go +0 -254
- package/dist/templates/native-go/backend/internal/helper/read_stream_cohort_linux_test.go +0 -156
- package/dist/templates/native-go/backend/internal/helper/read_transfer.go +0 -40
- package/dist/templates/native-go/backend/internal/helper/read_transfer_linux.go +0 -109
- package/dist/templates/native-go/backend/internal/helper/read_transfer_linux_test.go +0 -118
- package/dist/templates/native-go/backend/internal/helper/read_transfer_test.go +0 -177
- package/dist/templates/native-go/backend/internal/helper/readonly.go +0 -105
- package/dist/templates/native-go/backend/internal/helper/readonly_admission.go +0 -85
- package/dist/templates/native-go/backend/internal/helper/readonly_cohort_linux_test.go +0 -253
- package/dist/templates/native-go/backend/internal/helper/readonly_linux_test.go +0 -378
- package/dist/templates/native-go/backend/internal/helper/readonly_mount_linux.go +0 -65
- package/dist/templates/native-go/backend/internal/helper/readonly_mount_proxy_linux.go +0 -113
- package/dist/templates/native-go/backend/internal/helper/readonly_operations_linux.go +0 -168
- package/dist/templates/native-go/backend/internal/helper/readonly_resolver_linux.go +0 -241
- package/dist/templates/native-go/backend/internal/helper/readonly_test.go +0 -40
- package/dist/templates/native-go/backend/internal/helper/relaxed_identity.go +0 -252
- package/dist/templates/native-go/backend/internal/helper/relaxed_identity_contract.go +0 -105
- package/dist/templates/native-go/backend/internal/helper/relaxed_identity_test.go +0 -406
- package/dist/templates/native-go/backend/internal/helper/relaxed_invalidation.go +0 -203
- package/dist/templates/native-go/backend/internal/helper/repair.go +0 -132
- package/dist/templates/native-go/backend/internal/helper/repair_test.go +0 -271
- package/dist/templates/native-go/backend/internal/helper/s1r_actor_acl_linux_test.go +0 -303
- package/dist/templates/native-go/backend/internal/helper/s1r_actor_fixture_linux_test.go +0 -184
- package/dist/templates/native-go/backend/internal/helper/s1r_actor_races_linux_test.go +0 -250
- package/dist/templates/native-go/backend/internal/helper/s1r_fixture_contract_linux_test.go +0 -18
- package/dist/templates/native-go/backend/internal/helper/sdk_assembly_linux.go +0 -51
- package/dist/templates/native-go/backend/internal/helper/sdk_attach.go +0 -83
- package/dist/templates/native-go/backend/internal/helper/sdk_attach_contract.go +0 -32
- package/dist/templates/native-go/backend/internal/helper/sdk_attach_test.go +0 -184
- package/dist/templates/native-go/backend/internal/helper/sdk_authority_schema_test.go +0 -6
- package/dist/templates/native-go/backend/internal/helper/sdk_background_authority.go +0 -832
- package/dist/templates/native-go/backend/internal/helper/sdk_background_authority_test.go +0 -714
- package/dist/templates/native-go/backend/internal/helper/sdk_background_invalidation.go +0 -218
- package/dist/templates/native-go/backend/internal/helper/sdk_background_lease.go +0 -218
- package/dist/templates/native-go/backend/internal/helper/sdk_background_snapshot.go +0 -110
- package/dist/templates/native-go/backend/internal/helper/sdk_background_store_linux_test.go +0 -261
- package/dist/templates/native-go/backend/internal/helper/sdk_background_store_test.go +0 -58
- package/dist/templates/native-go/backend/internal/helper/sdk_bindings.go +0 -60
- package/dist/templates/native-go/backend/internal/helper/sdk_data_contract.go +0 -251
- package/dist/templates/native-go/backend/internal/helper/sdk_data_protocol.go +0 -424
- package/dist/templates/native-go/backend/internal/helper/sdk_dispatch_absence_test.go +0 -51
- package/dist/templates/native-go/backend/internal/helper/sdk_display.go +0 -488
- package/dist/templates/native-go/backend/internal/helper/sdk_display_contract.go +0 -121
- package/dist/templates/native-go/backend/internal/helper/sdk_display_test.go +0 -459
- package/dist/templates/native-go/backend/internal/helper/sdk_grant_authority.go +0 -559
- package/dist/templates/native-go/backend/internal/helper/sdk_grant_repository_linux.go +0 -417
- package/dist/templates/native-go/backend/internal/helper/sdk_grant_snapshot.go +0 -94
- package/dist/templates/native-go/backend/internal/helper/sdk_history.go +0 -80
- package/dist/templates/native-go/backend/internal/helper/sdk_history_test.go +0 -76
- package/dist/templates/native-go/backend/internal/helper/sdk_job.go +0 -697
- package/dist/templates/native-go/backend/internal/helper/sdk_job_child_linux.go +0 -309
- package/dist/templates/native-go/backend/internal/helper/sdk_job_contract.go +0 -122
- package/dist/templates/native-go/backend/internal/helper/sdk_job_linux_test.go +0 -159
- package/dist/templates/native-go/backend/internal/helper/sdk_job_process_linux.go +0 -327
- package/dist/templates/native-go/backend/internal/helper/sdk_job_test.go +0 -501
- package/dist/templates/native-go/backend/internal/helper/sdk_job_vm_linux_test.go +0 -343
- package/dist/templates/native-go/backend/internal/helper/sdk_journal.go +0 -77
- package/dist/templates/native-go/backend/internal/helper/sdk_journal_linux.go +0 -244
- package/dist/templates/native-go/backend/internal/helper/sdk_journal_linux_test.go +0 -295
- package/dist/templates/native-go/backend/internal/helper/sdk_journal_test.go +0 -71
- package/dist/templates/native-go/backend/internal/helper/sdk_picker_test.go +0 -50
- package/dist/templates/native-go/backend/internal/helper/sdk_process_linux.go +0 -184
- package/dist/templates/native-go/backend/internal/helper/sdk_public_vm_linux_test.go +0 -129
- package/dist/templates/native-go/backend/internal/helper/sdk_relaxed_invalidation.go +0 -242
- package/dist/templates/native-go/backend/internal/helper/sdk_rpc.go +0 -299
- package/dist/templates/native-go/backend/internal/helper/sdk_rpc_contract.go +0 -70
- package/dist/templates/native-go/backend/internal/helper/sdk_rpc_test.go +0 -135
- package/dist/templates/native-go/backend/internal/helper/sdk_server_linux.go +0 -152
- package/dist/templates/native-go/backend/internal/helper/sdk_session.go +0 -677
- package/dist/templates/native-go/backend/internal/helper/sdk_session_contract.go +0 -72
- package/dist/templates/native-go/backend/internal/helper/sdk_session_fence_test.go +0 -215
- package/dist/templates/native-go/backend/internal/helper/sdk_session_test.go +0 -475
- package/dist/templates/native-go/backend/internal/helper/sdk_supervisor_frame.go +0 -78
- package/dist/templates/native-go/backend/internal/helper/sdk_supervisor_linux.go +0 -414
- package/dist/templates/native-go/backend/internal/helper/sdk_transport.go +0 -79
- package/dist/templates/native-go/backend/internal/helper/sdk_transport_linux.go +0 -82
- package/dist/templates/native-go/backend/internal/helper/sdk_transport_test.go +0 -64
- package/dist/templates/native-go/backend/internal/helper/server_linux.go +0 -127
- package/dist/templates/native-go/backend/internal/helper/stale_management_linux_test.go +0 -126
- package/dist/templates/native-go/backend/internal/helper/stale_management_test.go +0 -122
- package/dist/templates/native-go/backend/internal/helper/startup_diagnostic.go +0 -68
- package/dist/templates/native-go/backend/internal/helper/startup_diagnostic_linux_test.go +0 -126
- package/dist/templates/native-go/backend/internal/helper/startup_diagnostic_test.go +0 -117
- package/dist/templates/native-go/backend/internal/helper/status.go +0 -343
- package/dist/templates/native-go/backend/internal/helper/status_test.go +0 -333
- package/dist/templates/native-go/backend/internal/helper/supervision.go +0 -107
- package/dist/templates/native-go/backend/internal/helper/supervision_test.go +0 -124
- package/dist/templates/native-go/backend/internal/helper/supervisor_frame.go +0 -79
- package/dist/templates/native-go/backend/internal/helper/supervisor_frame_linux_test.go +0 -69
- package/dist/templates/native-go/backend/internal/helper/supervisor_frame_test.go +0 -107
- package/dist/templates/native-go/backend/internal/helper/supervisor_linux.go +0 -367
- package/dist/templates/native-go/backend/internal/helper/supervisor_linux_test.go +0 -913
- package/dist/templates/native-go/backend/internal/helper/supervisor_socket_eof_test.go +0 -74
- package/dist/templates/native-go/backend/internal/helper/supervisor_socket_test.go +0 -45
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/create.json +0 -23
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/frames.json +0 -67
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/grant-store.json +0 -52
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/intent.json +0 -20
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/list.json +0 -20
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/publish.json +0 -20
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/read.json +0 -22
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/stat.json +0 -22
- package/dist/templates/native-go/backend/internal/helper/testdata/protocol2/write-stream.json +0 -22
- package/dist/templates/native-go/backend/internal/helper/unit_connection.go +0 -75
- package/dist/templates/native-go/backend/internal/helper/unit_connection_linux_test.go +0 -135
- package/dist/templates/native-go/backend/internal/helper/unit_connection_test.go +0 -151
- package/dist/templates/native-go/backend/internal/helper/unit_frame_test.go +0 -32
- package/dist/templates/native-go/backend/internal/helper/unit_linux.go +0 -368
- package/dist/templates/native-go/backend/internal/helper/unit_linux_test.go +0 -46
- package/dist/templates/native-go/backend/internal/helper/unit_mechanisms_linux_test.go +0 -217
- package/dist/templates/native-go/backend/internal/helper/unit_padding_linux_test.go +0 -178
- package/dist/templates/native-go/backend/internal/helper/unit_query_linux.go +0 -115
- package/dist/templates/native-go/backend/internal/helper/unit_reload_linux_test.go +0 -372
- package/dist/templates/native-go/backend/internal/helper/unit_reload_sequence_linux_test.go +0 -232
- package/dist/templates/native-go/backend/internal/helper/write.go +0 -77
- package/dist/templates/native-go/backend/internal/helper/write_admission.go +0 -260
- package/dist/templates/native-go/backend/internal/helper/write_admission_test.go +0 -135
- package/dist/templates/native-go/backend/internal/helper/write_cohort_linux_test.go +0 -218
- package/dist/templates/native-go/backend/internal/helper/write_files_linux.go +0 -205
- package/dist/templates/native-go/backend/internal/helper/write_files_linux_test.go +0 -225
- package/dist/templates/native-go/backend/internal/helper/write_intent_linux.go +0 -116
- package/dist/templates/native-go/backend/internal/helper/write_intent_linux_test.go +0 -74
- package/dist/templates/native-go/backend/internal/helper/write_operation_linux.go +0 -245
- package/dist/templates/native-go/backend/internal/helper/write_test.go +0 -53
- package/dist/templates/native-go-background/BACKGROUND.md +0 -111
- package/dist/templates/native-go-background/backend/internal/app/background_routes_test.go +0 -32
- package/dist/templates/native-go-background/frontend/src/background/BackgroundPanel.vue +0 -178
- package/dist/templates/native-go-background/frontend/src/background/i18n/de.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/en.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/es.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/fr.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/it.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/ja.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/ko.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/zh-CN.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/i18n/zh-TW.json +0 -83
- package/dist/templates/native-go-background/frontend/src/background/picker-provider.ts +0 -13
- package/dist/templates/native-go-background/frontend/test/background.test.ts +0 -179
- package/dist/templates/native-go-better-auth/backend/internal/app/identity.go +0 -208
- package/dist/templates/native-go-better-auth/backend/internal/app/identity_test.go +0 -113
- package/dist/templates/native-go-better-auth/node/app.mjs +0 -72
- package/dist/templates/native-go-better-auth/node/build.mjs +0 -4
- package/dist/templates/native-go-better-auth/node/package-lock.json +0 -862
- package/dist/templates/native-go-better-auth/node/package.json +0 -1
- package/dist/templates/native-go-better-auth/node/test/auth.test.mjs +0 -31
- package/dist/templates/native-go-integration/backend/internal/app/identity_none.go +0 -6
- package/dist/templates/native-go-integration/backend/internal/app/personal.go +0 -203
- package/dist/templates/native-go-integration/backend/internal/app/personal_test.go +0 -156
- package/dist/templates/native-go-root/backend/internal/app/root.go +0 -107
- package/dist/templates/native-go-root/backend/internal/app/root_test.go +0 -124
- package/dist/templates/native-go-root/root/whoami.sh +0 -6
- package/dist/templates/native-go-vue/frontend/README-JOBS.md +0 -75
- package/dist/templates/native-go-vue/frontend/README-M2.md +0 -64
- package/dist/templates/native-go-vue/frontend/src/M2App.vue +0 -57
- package/dist/templates/native-go-vue/frontend/src/SDKApp.vue +0 -203
- package/dist/templates/native-go-vue/frontend/src/jobs/InteractiveJobForm.vue +0 -70
- package/dist/templates/native-go-vue/frontend/src/jobs/JobsAdminPanel.vue +0 -33
- package/dist/templates/native-go-vue/frontend/src/jobs/JobsPanel.vue +0 -135
- package/dist/templates/native-go-vue/frontend/src/jobs/connected-provider.ts +0 -179
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/de.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/en.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/es.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/fr.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/it.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/ja.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/ko.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/zh-CN.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n/zh-TW.json +0 -62
- package/dist/templates/native-go-vue/frontend/src/jobs/i18n.ts +0 -15
- package/dist/templates/native-go-vue/frontend/src/jobs/mock-provider.ts +0 -67
- package/dist/templates/native-go-vue/frontend/src/jobs/provider.ts +0 -60
- package/dist/templates/native-go-vue/frontend/src/jobs/validate.ts +0 -44
- package/dist/templates/native-go-vue/frontend/src/m2-main.ts +0 -21
- package/dist/templates/native-go-vue/frontend/src/m2-style.css +0 -7
- package/dist/templates/native-go-vue/frontend/src/nas/M2Files.vue +0 -94
- package/dist/templates/native-go-vue/frontend/src/nas/M2PathPicker.vue +0 -70
- package/dist/templates/native-go-vue/frontend/src/nas/M2Settings.vue +0 -69
- package/dist/templates/native-go-vue/frontend/src/nas/NasGrantSettings.vue +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/NasPathPicker.vue +0 -106
- package/dist/templates/native-go-vue/frontend/src/nas/NasUnavailable.vue +0 -20
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/de.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/en.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/es.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/fr.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/it.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/ja.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/ko.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/de.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/en.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/es.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/fr.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/it.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/ja.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/ko.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-CN.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-TW.json +0 -56
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/zh-CN.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/i18n/zh-TW.json +0 -74
- package/dist/templates/native-go-vue/frontend/src/nas/m2-contract.ts +0 -33
- package/dist/templates/native-go-vue/frontend/src/nas/m2-i18n.ts +0 -24
- package/dist/templates/native-go-vue/frontend/src/nas/m2-provider.ts +0 -104
- package/dist/templates/native-go-vue/frontend/src/nas/mock-provider.ts +0 -119
- package/dist/templates/native-go-vue/frontend/src/nas/use-m2-request.ts +0 -18
- package/dist/templates/native-go-vue/frontend/src/sdk-main.ts +0 -39
- package/dist/templates/native-go-vue/frontend/test/jobs-connected.test.ts +0 -163
- package/dist/templates/native-go-vue/frontend/test/jobs-preview.html +0 -22
- package/dist/templates/native-go-vue/frontend/test/jobs.test.ts +0 -176
- package/dist/templates/native-go-vue/frontend/test/m2-preview.html +0 -27
- package/dist/templates/native-go-vue/frontend/test/m2-provider.test.ts +0 -87
- package/dist/templates/native-go-vue/frontend/test/m2-ui.test.ts +0 -209
- package/dist/templates/native-go-vue/frontend/test/nas-provider.test.ts +0 -81
- package/dist/templates/native-go-vue/frontend/test/nas-request.test.ts +0 -21
- package/dist/templates/native-go-vue/frontend/test/nas-ui.test.ts +0 -261
- package/dist/templates/native-go-vue/frontend/test/picker-wire.test.ts +0 -110
- package/dist/templates/native-go-vue/frontend/test/shell-preview.html +0 -19
- package/dist/templates/native-go-vue/frontend/test/shell-sdk.test.ts +0 -73
- package/templates/_shared/notice-overrides/index.json +0 -14
- package/templates/_shared/notice-overrides/utils-0.4.2-LICENSE +0 -21
- package/templates/_shared/notice-overrides/utils-0.5.0-LICENSE +0 -21
- package/templates/binary/native.yaml +0 -16
- package/templates/binary/synology-app.yaml +0 -7
- package/templates/compose-import/compose.yaml +0 -10
- package/templates/compose-import/synology-app.yaml +0 -15
- package/templates/hello-web/compose.yaml +0 -24
- package/templates/hello-web/html/app.js +0 -1
- package/templates/hello-web/html/index.html +0 -13
- package/templates/hello-web/synology-app.yaml +0 -16
- package/templates/hello-web-page/compose.yaml +0 -24
- package/templates/hello-web-page/html/app.js +0 -1
- package/templates/hello-web-page/html/index.html +0 -13
- package/templates/hello-web-page/synology-app.yaml +0 -16
- package/templates/native-go/backend/cmd/app/sdk_main.go +0 -60
- package/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +0 -46
- package/templates/native-go/backend/cmd/helper/main.go +0 -47
- package/templates/native-go/backend/cmd/helper/sdk_registry.go +0 -19
- package/templates/native-go/backend/internal/api/binary.go +0 -154
- package/templates/native-go/backend/internal/api/binary_test.go +0 -165
- package/templates/native-go/backend/internal/app/integration_state.go +0 -16
- package/templates/native-go/backend/internal/app/nas_cgi_artifact_test.go +0 -129
- package/templates/native-go/backend/internal/app/nas_refusal_test.go +0 -46
- package/templates/native-go/backend/internal/app/sdk_jobs.go +0 -70
- package/templates/native-go/backend/internal/app/sdk_jobs_test.go +0 -116
- package/templates/native-go/backend/internal/app/sdk_routes.go +0 -174
- package/templates/native-go/backend/internal/dsmprobe/collector_linux.go +0 -335
- package/templates/native-go/backend/internal/dsmprobe/collector_linux_test.go +0 -41
- package/templates/native-go/backend/internal/dsmprobe/protocol.go +0 -179
- package/templates/native-go/backend/internal/dsmprobe/protocol_test.go +0 -29
- package/templates/native-go/backend/internal/filestation/repository.go +0 -207
- package/templates/native-go/backend/internal/filestation/repository_test.go +0 -104
- package/templates/native-go/backend/internal/filestation/sdk_session.go +0 -241
- package/templates/native-go/backend/internal/filestation/sdk_session_test.go +0 -183
- package/templates/native-go/backend/internal/filestation/session_semantics_test.go +0 -383
- package/templates/native-go/backend/internal/helper/background_proof.go +0 -163
- package/templates/native-go/backend/internal/helper/background_proof_contract.go +0 -46
- package/templates/native-go/backend/internal/helper/background_proof_test.go +0 -161
- package/templates/native-go/backend/internal/helper/cohort.go +0 -393
- package/templates/native-go/backend/internal/helper/cohort_publication.go +0 -18
- package/templates/native-go/backend/internal/helper/cohort_publication_test.go +0 -105
- package/templates/native-go/backend/internal/helper/cohort_test.go +0 -372
- package/templates/native-go/backend/internal/helper/control.go +0 -424
- package/templates/native-go/backend/internal/helper/control_test.go +0 -250
- package/templates/native-go/backend/internal/helper/data_contract.go +0 -245
- package/templates/native-go/backend/internal/helper/data_contract_test.go +0 -51
- package/templates/native-go/backend/internal/helper/data_decode.go +0 -184
- package/templates/native-go/backend/internal/helper/data_decode_pointer_test.go +0 -30
- package/templates/native-go/backend/internal/helper/data_protocol.go +0 -419
- package/templates/native-go/backend/internal/helper/data_protocol_test.go +0 -449
- package/templates/native-go/backend/internal/helper/dsm_acl_linux.go +0 -139
- package/templates/native-go/backend/internal/helper/dsm_acl_linux_test.go +0 -121
- package/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux.go +0 -95
- package/templates/native-go/backend/internal/helper/dsm_acl_syscall_linux_test.go +0 -56
- package/templates/native-go/backend/internal/helper/dsm_bridge_linux.go +0 -144
- package/templates/native-go/backend/internal/helper/dsm_bridge_linux_test.go +0 -89
- package/templates/native-go/backend/internal/helper/dsm_home_linux.go +0 -107
- package/templates/native-go/backend/internal/helper/dsm_home_linux_test.go +0 -82
- package/templates/native-go/backend/internal/helper/dsm_probe_transport_linux.go +0 -151
- package/templates/native-go/backend/internal/helper/dsm_probe_transport_linux_test.go +0 -66
- package/templates/native-go/backend/internal/helper/grant_authority.go +0 -519
- package/templates/native-go/backend/internal/helper/grant_authority_contract.go +0 -88
- package/templates/native-go/backend/internal/helper/grant_authority_test.go +0 -510
- package/templates/native-go/backend/internal/helper/grant_cohort.go +0 -389
- package/templates/native-go/backend/internal/helper/grant_cohort_test.go +0 -239
- package/templates/native-go/backend/internal/helper/grant_delivery.go +0 -49
- package/templates/native-go/backend/internal/helper/grant_delivery_methods.go +0 -273
- package/templates/native-go/backend/internal/helper/grant_delivery_test.go +0 -322
- package/templates/native-go/backend/internal/helper/grant_operation_contract.go +0 -47
- package/templates/native-go/backend/internal/helper/grant_readonly_test.go +0 -180
- package/templates/native-go/backend/internal/helper/grant_repository_linux.go +0 -416
- package/templates/native-go/backend/internal/helper/grant_repository_linux_test.go +0 -469
- package/templates/native-go/backend/internal/helper/grant_rpc.go +0 -147
- package/templates/native-go/backend/internal/helper/grant_rpc_test.go +0 -51
- package/templates/native-go/backend/internal/helper/grant_snapshot.go +0 -78
- package/templates/native-go/backend/internal/helper/grant_supervisor_linux.go +0 -134
- package/templates/native-go/backend/internal/helper/grant_supervisor_linux_test.go +0 -254
- package/templates/native-go/backend/internal/helper/jobcontract/bindings.go +0 -48
- package/templates/native-go/backend/internal/helper/jobcontract/contract_test.go +0 -436
- package/templates/native-go/backend/internal/helper/jobcontract/decode.go +0 -185
- package/templates/native-go/backend/internal/helper/jobcontract/digest.go +0 -55
- package/templates/native-go/backend/internal/helper/jobcontract/registry.go +0 -85
- package/templates/native-go/backend/internal/helper/jobcontract/registry_test.go +0 -73
- package/templates/native-go/backend/internal/helper/jobcontract/result.go +0 -53
- package/templates/native-go/backend/internal/helper/jobcontract/stub.go +0 -8
- package/templates/native-go/backend/internal/helper/jobcontract/testdata/input-digests.json +0 -127
- package/templates/native-go/backend/internal/helper/jobcontract/types.go +0 -234
- package/templates/native-go/backend/internal/helper/jobcontract/types_test.go +0 -29
- package/templates/native-go/backend/internal/helper/jobcontract/validate.go +0 -462
- package/templates/native-go/backend/internal/helper/lease.go +0 -112
- package/templates/native-go/backend/internal/helper/lease_linux.go +0 -44
- package/templates/native-go/backend/internal/helper/lease_other.go +0 -8
- package/templates/native-go/backend/internal/helper/legacy_authority_schema_linux_test.go +0 -34
- package/templates/native-go/backend/internal/helper/legacy_authority_schema_test.go +0 -6
- package/templates/native-go/backend/internal/helper/lifecycle.go +0 -234
- package/templates/native-go/backend/internal/helper/lifecycle_test.go +0 -473
- package/templates/native-go/backend/internal/helper/managed_pilot.go +0 -284
- package/templates/native-go/backend/internal/helper/managed_pilot_repository_linux.go +0 -74
- package/templates/native-go/backend/internal/helper/managed_pilot_repository_linux_test.go +0 -40
- package/templates/native-go/backend/internal/helper/managed_pilot_test.go +0 -210
- package/templates/native-go/backend/internal/helper/management.go +0 -79
- package/templates/native-go/backend/internal/helper/nas_shipped_refusal_linux_test.go +0 -97
- package/templates/native-go/backend/internal/helper/native_discovery.go +0 -79
- package/templates/native-go/backend/internal/helper/native_identity.go +0 -89
- package/templates/native-go/backend/internal/helper/native_provider.go +0 -159
- package/templates/native-go/backend/internal/helper/native_provider_test.go +0 -421
- package/templates/native-go/backend/internal/helper/observation.go +0 -244
- package/templates/native-go/backend/internal/helper/observation_health_test.go +0 -127
- package/templates/native-go/backend/internal/helper/observation_reload_budget_test.go +0 -117
- package/templates/native-go/backend/internal/helper/observation_test.go +0 -196
- package/templates/native-go/backend/internal/helper/observer_diagnostic.go +0 -155
- package/templates/native-go/backend/internal/helper/observer_diagnostic_linux.go +0 -76
- package/templates/native-go/backend/internal/helper/observer_diagnostic_linux_test.go +0 -130
- package/templates/native-go/backend/internal/helper/observer_diagnostic_test.go +0 -98
- package/templates/native-go/backend/internal/helper/observer_diagnostic_writer.go +0 -40
- package/templates/native-go/backend/internal/helper/operation_bootstrap_linux.go +0 -193
- package/templates/native-go/backend/internal/helper/operation_credentials_linux.go +0 -56
- package/templates/native-go/backend/internal/helper/operation_linux.go +0 -480
- package/templates/native-go/backend/internal/helper/operation_linux_test.go +0 -528
- package/templates/native-go/backend/internal/helper/peer_linux.go +0 -44
- package/templates/native-go/backend/internal/helper/peer_other.go +0 -7
- package/templates/native-go/backend/internal/helper/process_linux.go +0 -180
- package/templates/native-go/backend/internal/helper/process_other.go +0 -5
- package/templates/native-go/backend/internal/helper/publication_test.go +0 -178
- package/templates/native-go/backend/internal/helper/query_deadline_linux_test.go +0 -115
- package/templates/native-go/backend/internal/helper/query_pending_diagnostic_test.go +0 -254
- package/templates/native-go/backend/internal/helper/read_stream_cohort_linux_test.go +0 -156
- package/templates/native-go/backend/internal/helper/read_transfer.go +0 -40
- package/templates/native-go/backend/internal/helper/read_transfer_linux.go +0 -109
- package/templates/native-go/backend/internal/helper/read_transfer_linux_test.go +0 -118
- package/templates/native-go/backend/internal/helper/read_transfer_test.go +0 -177
- package/templates/native-go/backend/internal/helper/readonly.go +0 -105
- package/templates/native-go/backend/internal/helper/readonly_admission.go +0 -85
- package/templates/native-go/backend/internal/helper/readonly_cohort_linux_test.go +0 -253
- package/templates/native-go/backend/internal/helper/readonly_linux_test.go +0 -378
- package/templates/native-go/backend/internal/helper/readonly_mount_linux.go +0 -65
- package/templates/native-go/backend/internal/helper/readonly_mount_proxy_linux.go +0 -113
- package/templates/native-go/backend/internal/helper/readonly_operations_linux.go +0 -168
- package/templates/native-go/backend/internal/helper/readonly_resolver_linux.go +0 -241
- package/templates/native-go/backend/internal/helper/readonly_test.go +0 -40
- package/templates/native-go/backend/internal/helper/relaxed_identity.go +0 -252
- package/templates/native-go/backend/internal/helper/relaxed_identity_contract.go +0 -105
- package/templates/native-go/backend/internal/helper/relaxed_identity_test.go +0 -406
- package/templates/native-go/backend/internal/helper/relaxed_invalidation.go +0 -203
- package/templates/native-go/backend/internal/helper/repair.go +0 -132
- package/templates/native-go/backend/internal/helper/repair_test.go +0 -271
- package/templates/native-go/backend/internal/helper/s1r_actor_acl_linux_test.go +0 -303
- package/templates/native-go/backend/internal/helper/s1r_actor_fixture_linux_test.go +0 -184
- package/templates/native-go/backend/internal/helper/s1r_actor_races_linux_test.go +0 -250
- package/templates/native-go/backend/internal/helper/s1r_fixture_contract_linux_test.go +0 -18
- package/templates/native-go/backend/internal/helper/sdk_assembly_linux.go +0 -51
- package/templates/native-go/backend/internal/helper/sdk_attach.go +0 -83
- package/templates/native-go/backend/internal/helper/sdk_attach_contract.go +0 -32
- package/templates/native-go/backend/internal/helper/sdk_attach_test.go +0 -184
- package/templates/native-go/backend/internal/helper/sdk_authority_schema_test.go +0 -6
- package/templates/native-go/backend/internal/helper/sdk_background_authority.go +0 -832
- package/templates/native-go/backend/internal/helper/sdk_background_authority_test.go +0 -714
- package/templates/native-go/backend/internal/helper/sdk_background_invalidation.go +0 -218
- package/templates/native-go/backend/internal/helper/sdk_background_lease.go +0 -218
- package/templates/native-go/backend/internal/helper/sdk_background_snapshot.go +0 -110
- package/templates/native-go/backend/internal/helper/sdk_background_store_linux_test.go +0 -261
- package/templates/native-go/backend/internal/helper/sdk_background_store_test.go +0 -58
- package/templates/native-go/backend/internal/helper/sdk_bindings.go +0 -60
- package/templates/native-go/backend/internal/helper/sdk_data_contract.go +0 -251
- package/templates/native-go/backend/internal/helper/sdk_data_protocol.go +0 -424
- package/templates/native-go/backend/internal/helper/sdk_dispatch_absence_test.go +0 -51
- package/templates/native-go/backend/internal/helper/sdk_display.go +0 -488
- package/templates/native-go/backend/internal/helper/sdk_display_contract.go +0 -121
- package/templates/native-go/backend/internal/helper/sdk_display_test.go +0 -459
- package/templates/native-go/backend/internal/helper/sdk_grant_authority.go +0 -559
- package/templates/native-go/backend/internal/helper/sdk_grant_repository_linux.go +0 -417
- package/templates/native-go/backend/internal/helper/sdk_grant_snapshot.go +0 -94
- package/templates/native-go/backend/internal/helper/sdk_history.go +0 -80
- package/templates/native-go/backend/internal/helper/sdk_history_test.go +0 -76
- package/templates/native-go/backend/internal/helper/sdk_job.go +0 -697
- package/templates/native-go/backend/internal/helper/sdk_job_child_linux.go +0 -309
- package/templates/native-go/backend/internal/helper/sdk_job_contract.go +0 -122
- package/templates/native-go/backend/internal/helper/sdk_job_linux_test.go +0 -159
- package/templates/native-go/backend/internal/helper/sdk_job_process_linux.go +0 -327
- package/templates/native-go/backend/internal/helper/sdk_job_test.go +0 -501
- package/templates/native-go/backend/internal/helper/sdk_job_vm_linux_test.go +0 -343
- package/templates/native-go/backend/internal/helper/sdk_journal.go +0 -77
- package/templates/native-go/backend/internal/helper/sdk_journal_linux.go +0 -244
- package/templates/native-go/backend/internal/helper/sdk_journal_linux_test.go +0 -295
- package/templates/native-go/backend/internal/helper/sdk_journal_test.go +0 -71
- package/templates/native-go/backend/internal/helper/sdk_picker_test.go +0 -50
- package/templates/native-go/backend/internal/helper/sdk_process_linux.go +0 -184
- package/templates/native-go/backend/internal/helper/sdk_public_vm_linux_test.go +0 -129
- package/templates/native-go/backend/internal/helper/sdk_relaxed_invalidation.go +0 -242
- package/templates/native-go/backend/internal/helper/sdk_rpc.go +0 -299
- package/templates/native-go/backend/internal/helper/sdk_rpc_contract.go +0 -70
- package/templates/native-go/backend/internal/helper/sdk_rpc_test.go +0 -135
- package/templates/native-go/backend/internal/helper/sdk_server_linux.go +0 -152
- package/templates/native-go/backend/internal/helper/sdk_session.go +0 -677
- package/templates/native-go/backend/internal/helper/sdk_session_contract.go +0 -72
- package/templates/native-go/backend/internal/helper/sdk_session_fence_test.go +0 -215
- package/templates/native-go/backend/internal/helper/sdk_session_test.go +0 -475
- package/templates/native-go/backend/internal/helper/sdk_supervisor_frame.go +0 -78
- package/templates/native-go/backend/internal/helper/sdk_supervisor_linux.go +0 -414
- package/templates/native-go/backend/internal/helper/sdk_transport.go +0 -79
- package/templates/native-go/backend/internal/helper/sdk_transport_linux.go +0 -82
- package/templates/native-go/backend/internal/helper/sdk_transport_test.go +0 -64
- package/templates/native-go/backend/internal/helper/server_linux.go +0 -127
- package/templates/native-go/backend/internal/helper/stale_management_linux_test.go +0 -126
- package/templates/native-go/backend/internal/helper/stale_management_test.go +0 -122
- package/templates/native-go/backend/internal/helper/startup_diagnostic.go +0 -68
- package/templates/native-go/backend/internal/helper/startup_diagnostic_linux_test.go +0 -126
- package/templates/native-go/backend/internal/helper/startup_diagnostic_test.go +0 -117
- package/templates/native-go/backend/internal/helper/status.go +0 -343
- package/templates/native-go/backend/internal/helper/status_test.go +0 -333
- package/templates/native-go/backend/internal/helper/supervision.go +0 -107
- package/templates/native-go/backend/internal/helper/supervision_test.go +0 -124
- package/templates/native-go/backend/internal/helper/supervisor_frame.go +0 -79
- package/templates/native-go/backend/internal/helper/supervisor_frame_linux_test.go +0 -69
- package/templates/native-go/backend/internal/helper/supervisor_frame_test.go +0 -107
- package/templates/native-go/backend/internal/helper/supervisor_linux.go +0 -367
- package/templates/native-go/backend/internal/helper/supervisor_linux_test.go +0 -913
- package/templates/native-go/backend/internal/helper/supervisor_socket_eof_test.go +0 -74
- package/templates/native-go/backend/internal/helper/supervisor_socket_test.go +0 -45
- package/templates/native-go/backend/internal/helper/testdata/protocol2/create.json +0 -23
- package/templates/native-go/backend/internal/helper/testdata/protocol2/frames.json +0 -67
- package/templates/native-go/backend/internal/helper/testdata/protocol2/grant-store.json +0 -52
- package/templates/native-go/backend/internal/helper/testdata/protocol2/intent.json +0 -20
- package/templates/native-go/backend/internal/helper/testdata/protocol2/list.json +0 -20
- package/templates/native-go/backend/internal/helper/testdata/protocol2/publish.json +0 -20
- package/templates/native-go/backend/internal/helper/testdata/protocol2/read.json +0 -22
- package/templates/native-go/backend/internal/helper/testdata/protocol2/stat.json +0 -22
- package/templates/native-go/backend/internal/helper/testdata/protocol2/write-stream.json +0 -22
- package/templates/native-go/backend/internal/helper/unit_connection.go +0 -75
- package/templates/native-go/backend/internal/helper/unit_connection_linux_test.go +0 -135
- package/templates/native-go/backend/internal/helper/unit_connection_test.go +0 -151
- package/templates/native-go/backend/internal/helper/unit_frame_test.go +0 -32
- package/templates/native-go/backend/internal/helper/unit_linux.go +0 -368
- package/templates/native-go/backend/internal/helper/unit_linux_test.go +0 -46
- package/templates/native-go/backend/internal/helper/unit_mechanisms_linux_test.go +0 -217
- package/templates/native-go/backend/internal/helper/unit_padding_linux_test.go +0 -178
- package/templates/native-go/backend/internal/helper/unit_query_linux.go +0 -115
- package/templates/native-go/backend/internal/helper/unit_reload_linux_test.go +0 -372
- package/templates/native-go/backend/internal/helper/unit_reload_sequence_linux_test.go +0 -232
- package/templates/native-go/backend/internal/helper/write.go +0 -77
- package/templates/native-go/backend/internal/helper/write_admission.go +0 -260
- package/templates/native-go/backend/internal/helper/write_admission_test.go +0 -135
- package/templates/native-go/backend/internal/helper/write_cohort_linux_test.go +0 -218
- package/templates/native-go/backend/internal/helper/write_files_linux.go +0 -205
- package/templates/native-go/backend/internal/helper/write_files_linux_test.go +0 -225
- package/templates/native-go/backend/internal/helper/write_intent_linux.go +0 -116
- package/templates/native-go/backend/internal/helper/write_intent_linux_test.go +0 -74
- package/templates/native-go/backend/internal/helper/write_operation_linux.go +0 -245
- package/templates/native-go/backend/internal/helper/write_test.go +0 -53
- package/templates/native-go-background/BACKGROUND.md +0 -111
- package/templates/native-go-background/backend/internal/app/background_routes_test.go +0 -32
- package/templates/native-go-background/frontend/src/background/BackgroundPanel.vue +0 -178
- package/templates/native-go-background/frontend/src/background/i18n/de.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/en.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/es.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/fr.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/it.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/ja.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/ko.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/zh-CN.json +0 -83
- package/templates/native-go-background/frontend/src/background/i18n/zh-TW.json +0 -83
- package/templates/native-go-background/frontend/src/background/picker-provider.ts +0 -13
- package/templates/native-go-background/frontend/test/background.test.ts +0 -179
- package/templates/native-go-better-auth/backend/internal/app/identity.go +0 -208
- package/templates/native-go-better-auth/backend/internal/app/identity_test.go +0 -113
- package/templates/native-go-better-auth/node/app.mjs +0 -72
- package/templates/native-go-better-auth/node/build.mjs +0 -4
- package/templates/native-go-better-auth/node/package-lock.json +0 -862
- package/templates/native-go-better-auth/node/package.json +0 -1
- package/templates/native-go-better-auth/node/test/auth.test.mjs +0 -31
- package/templates/native-go-integration/backend/internal/app/identity_none.go +0 -6
- package/templates/native-go-integration/backend/internal/app/personal.go +0 -203
- package/templates/native-go-integration/backend/internal/app/personal_test.go +0 -156
- package/templates/native-go-root/backend/internal/app/root.go +0 -107
- package/templates/native-go-root/backend/internal/app/root_test.go +0 -124
- package/templates/native-go-root/root/whoami.sh +0 -6
- package/templates/native-go-vue/frontend/README-JOBS.md +0 -75
- package/templates/native-go-vue/frontend/README-M2.md +0 -64
- package/templates/native-go-vue/frontend/src/M2App.vue +0 -57
- package/templates/native-go-vue/frontend/src/SDKApp.vue +0 -203
- package/templates/native-go-vue/frontend/src/jobs/InteractiveJobForm.vue +0 -70
- package/templates/native-go-vue/frontend/src/jobs/JobsAdminPanel.vue +0 -33
- package/templates/native-go-vue/frontend/src/jobs/JobsPanel.vue +0 -135
- package/templates/native-go-vue/frontend/src/jobs/connected-provider.ts +0 -179
- package/templates/native-go-vue/frontend/src/jobs/i18n/de.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/en.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/es.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/fr.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/it.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/ja.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/ko.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/zh-CN.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n/zh-TW.json +0 -62
- package/templates/native-go-vue/frontend/src/jobs/i18n.ts +0 -15
- package/templates/native-go-vue/frontend/src/jobs/mock-provider.ts +0 -67
- package/templates/native-go-vue/frontend/src/jobs/provider.ts +0 -60
- package/templates/native-go-vue/frontend/src/jobs/validate.ts +0 -44
- package/templates/native-go-vue/frontend/src/m2-main.ts +0 -21
- package/templates/native-go-vue/frontend/src/m2-style.css +0 -7
- package/templates/native-go-vue/frontend/src/nas/M2Files.vue +0 -94
- package/templates/native-go-vue/frontend/src/nas/M2PathPicker.vue +0 -70
- package/templates/native-go-vue/frontend/src/nas/M2Settings.vue +0 -69
- package/templates/native-go-vue/frontend/src/nas/NasGrantSettings.vue +0 -74
- package/templates/native-go-vue/frontend/src/nas/NasPathPicker.vue +0 -106
- package/templates/native-go-vue/frontend/src/nas/NasUnavailable.vue +0 -20
- package/templates/native-go-vue/frontend/src/nas/i18n/de.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/en.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/es.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/fr.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/it.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/ja.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/ko.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/de.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/en.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/es.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/fr.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/it.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/ja.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/ko.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-CN.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/m2/zh-TW.json +0 -56
- package/templates/native-go-vue/frontend/src/nas/i18n/zh-CN.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/i18n/zh-TW.json +0 -74
- package/templates/native-go-vue/frontend/src/nas/m2-contract.ts +0 -33
- package/templates/native-go-vue/frontend/src/nas/m2-i18n.ts +0 -24
- package/templates/native-go-vue/frontend/src/nas/m2-provider.ts +0 -104
- package/templates/native-go-vue/frontend/src/nas/mock-provider.ts +0 -119
- package/templates/native-go-vue/frontend/src/nas/use-m2-request.ts +0 -18
- package/templates/native-go-vue/frontend/src/sdk-main.ts +0 -39
- package/templates/native-go-vue/frontend/test/jobs-connected.test.ts +0 -163
- package/templates/native-go-vue/frontend/test/jobs-preview.html +0 -22
- package/templates/native-go-vue/frontend/test/jobs.test.ts +0 -176
- package/templates/native-go-vue/frontend/test/m2-preview.html +0 -27
- package/templates/native-go-vue/frontend/test/m2-provider.test.ts +0 -87
- package/templates/native-go-vue/frontend/test/m2-ui.test.ts +0 -209
- package/templates/native-go-vue/frontend/test/nas-provider.test.ts +0 -81
- package/templates/native-go-vue/frontend/test/nas-request.test.ts +0 -21
- package/templates/native-go-vue/frontend/test/nas-ui.test.ts +0 -261
- package/templates/native-go-vue/frontend/test/picker-wire.test.ts +0 -110
- package/templates/native-go-vue/frontend/test/shell-preview.html +0 -19
- package/templates/native-go-vue/frontend/test/shell-sdk.test.ts +0 -73
- /package/dist/templates/{hello-files → compose}/compose.yaml +0 -0
- /package/dist/templates/{hello-files → compose}/synology-app.yaml +0 -0
- /package/dist/templates/{native-go-background → native-go-jobs}/backend/internal/app/background_on.go +0 -0
- /package/dist/templates/{native-go-background → native-go-jobs}/frontend/src/background/i18n.ts +0 -0
- /package/templates/{hello-files → compose}/compose.yaml +0 -0
- /package/templates/{hello-files → compose}/synology-app.yaml +0 -0
- /package/templates/{native-go-background → native-go-jobs}/backend/internal/app/background_on.go +0 -0
- /package/templates/{native-go-background → native-go-jobs}/frontend/src/background/i18n.ts +0 -0
package/dist/native/load.js
DELETED
|
@@ -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
|
-
}
|
package/dist/native/types.d.ts
DELETED
|
@@ -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}";
|
package/dist/native/types.js
DELETED
|
@@ -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[];
|
package/dist/native/validate.js
DELETED
|
@@ -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,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 {};
|