@synopackageland/cli 0.5.3 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -38
- package/dist/add.d.ts +4 -0
- package/dist/add.js +124 -0
- package/dist/authorization-sdk.d.ts +6 -4
- package/dist/authorization-sdk.js +7 -5
- package/dist/build-spk/delete-app-data.d.ts +2 -2
- 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 +3 -10
- package/dist/build-spk/uninstall-wizard.js +5 -3
- 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 +331 -465
- 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 +73 -296
- package/dist/host/dsm-client.js +79 -7
- 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 +89 -90
- 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 -40
- package/dist/standalone/dsm-window.js +42 -23
- package/dist/standalone/inspect-spk.d.ts +8 -2
- package/dist/standalone/inspect-spk.js +68 -58
- 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/native-layout.d.ts +5 -0
- package/dist/standalone/native-layout.js +35 -8
- package/dist/standalone/native-root-window.d.ts +26 -0
- package/dist/standalone/native-root-window.js +282 -0
- package/dist/standalone/resource.d.ts +2 -2
- package/dist/standalone/resource.js +1 -1
- package/dist/standalone/root-ops.d.ts +1 -30
- package/dist/standalone/root-ops.js +1 -68
- package/dist/standalone/root-window.d.ts +5 -38
- package/dist/standalone/root-window.js +116 -399
- package/dist/standalone/spk.d.ts +3 -5
- package/dist/standalone/spk.js +24 -49
- 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 +128 -139
- package/dist/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
- package/dist/templates/native-go/backend/cmd/app/main.go +33 -26
- 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 +12 -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 +8 -17
- 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 +2 -14
- 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 +28 -36
- package/package.json +5 -2
- package/skills/SKILL.md +25 -3
- package/skills/reference/create.md +15 -6
- 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 +128 -139
- package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
- package/templates/native-go/backend/cmd/app/main.go +33 -26
- 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 +12 -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 +8 -17
- 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 +2 -14
- 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/authorization.d.ts +0 -48
- package/dist/standalone/authorization.js +0 -116
- 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 -103
- 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/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/_authorization/main.go +0 -104
- package/dist/templates/_authorization/main_test.go +0 -35
- 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/native-go/backend/cmd/app/sdk_main.go +0 -62
- 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 -64
- 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/authorization_none.go +0 -5
- 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 -177
- 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 -86
- 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/purge.go +0 -115
- package/dist/templates/native-go/backend/internal/helper/purge_test.go +0 -59
- 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/revoke.go +0 -109
- package/dist/templates/native-go/backend/internal/helper/revoke_test.go +0 -121
- 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 -161
- 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 -136
- 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-authorization/backend/internal/app/authorization.go +0 -298
- package/dist/templates/native-go-authorization/backend/internal/app/authorization_test.go +0 -96
- package/dist/templates/native-go-authorization/frontend/test/authorization-preview.html +0 -14
- package/dist/templates/native-go-authorization/frontend/test/authorization.test.ts +0 -59
- 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/_authorization/main.go +0 -104
- package/templates/_authorization/main_test.go +0 -35
- 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/native-go/backend/cmd/app/sdk_main.go +0 -62
- package/templates/native-go/backend/cmd/dsm-readonly-probe/main_linux.go +0 -46
- package/templates/native-go/backend/cmd/helper/main.go +0 -64
- 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/authorization_none.go +0 -5
- 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 -177
- 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 -86
- 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/purge.go +0 -115
- package/templates/native-go/backend/internal/helper/purge_test.go +0 -59
- 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/revoke.go +0 -109
- package/templates/native-go/backend/internal/helper/revoke_test.go +0 -121
- 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 -161
- 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 -136
- 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-authorization/backend/internal/app/authorization.go +0 -298
- package/templates/native-go-authorization/backend/internal/app/authorization_test.go +0 -96
- package/templates/native-go-authorization/frontend/test/authorization-preview.html +0 -14
- package/templates/native-go-authorization/frontend/test/authorization.test.ts +0 -59
- 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/standalone/{authorization-window.d.ts → native-authorization-window.d.ts} +0 -0
- /package/dist/standalone/{authorization-window.js → native-authorization-window.js} +0 -0
- /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-authorization/frontend/src/authorization → native-authorization}/AuthorizationGate.vue +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/de.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/en.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/es.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/fr.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/index.ts +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/it.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/ja.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/ko.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/zh-CN.json +0 -0
- /package/dist/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/zh-TW.json +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-authorization/frontend/src/authorization → native-authorization}/AuthorizationGate.vue +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/de.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/en.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/es.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/fr.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/index.ts +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/it.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/ja.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/ko.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/zh-CN.json +0 -0
- /package/templates/{native-go-authorization/frontend/src/authorization → native-authorization}/i18n/zh-TW.json +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
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "バックグラウンドジョブ",
|
|
3
|
+
"help": "選択したファイルをパッケージにコピーし、パッケージアカウントで SHA-256 を計算します。サインアウト後も処理は継続します。コピーと結果はパッケージが保存し、元ファイルの権限変更では回収されません。再度サインインすると自分の結果を確認できます。",
|
|
4
|
+
"worker": "ワーカー",
|
|
5
|
+
"workerRunning": "ワーカーは {user} として実行中です",
|
|
6
|
+
"workerStopped": "ワーカーは停止しています",
|
|
7
|
+
"chooseFile": "ファイルを選択",
|
|
8
|
+
"chosen": "選択したファイル: {path}",
|
|
9
|
+
"pickerTitle": "インポートするファイルを選択",
|
|
10
|
+
"pickerConsent": "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません。",
|
|
11
|
+
"submit": "インポートして送信",
|
|
12
|
+
"refresh": "更新",
|
|
13
|
+
"cancel": "キャンセル",
|
|
14
|
+
"result": "結果",
|
|
15
|
+
"download": "結果をダウンロード",
|
|
16
|
+
"noJobs": "ジョブはまだありません",
|
|
17
|
+
"state_queued": "待機中",
|
|
18
|
+
"state_running": "実行中",
|
|
19
|
+
"state_succeeded": "成功",
|
|
20
|
+
"state_failed": "失敗",
|
|
21
|
+
"state_canceled": "キャンセル済み",
|
|
22
|
+
"state_interrupted": "中断",
|
|
23
|
+
"limits": "1 ファイル最大 {size} KiB、キュー {queue} 件、1 ジョブ {seconds} 秒。",
|
|
24
|
+
"errors": {
|
|
25
|
+
"jobs_busy": "処理が混み合っています。しばらくしてから再試行してください。",
|
|
26
|
+
"failed": "要求を完了できませんでした。更新して再試行してください。",
|
|
27
|
+
"limit-exceeded": "ファイルが上限を超えています。",
|
|
28
|
+
"queue-full": "キューがいっぱいです。",
|
|
29
|
+
"quota-exceeded": "バックグラウンド用の容量がいっぱいです。",
|
|
30
|
+
"conflict": "ジョブの状態が変わりました。更新してください。",
|
|
31
|
+
"not_found": "見つかりません。",
|
|
32
|
+
"denied": "アクセスが拒否されました。",
|
|
33
|
+
"session_required": "DSM セッションの有効期限が切れました。再度サインインしてください。",
|
|
34
|
+
"owner-queue-full": "保留中ジョブの上限です。完了を待つか、ジョブをキャンセルしてください。",
|
|
35
|
+
"owner-quota-exceeded": "保存領域の上限です。管理者に古いジョブの消去を依頼してください。",
|
|
36
|
+
"identity_unavailable": "DSM ユーザーの UID を確認できません。再度サインインするか、管理者に連絡してください。",
|
|
37
|
+
"schedule-full": "スケジュールは最大 8 件です。削除してください。",
|
|
38
|
+
"input-unavailable": "非公開コピーがないか変更されています。再度インポートしてください。",
|
|
39
|
+
"unsupported": "バックグラウンドジョブを利用できません。更新して再試行してください。"
|
|
40
|
+
},
|
|
41
|
+
"ownerScope": "自分のジョブのみ表示、キャンセル、ダウンロードできます。",
|
|
42
|
+
"adminScope": "管理者はすべてのユーザーのジョブを表示、キャンセルできます。",
|
|
43
|
+
"ownerLimits": "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KiB。",
|
|
44
|
+
"owner": "所有者:{user}(UID {uid})",
|
|
45
|
+
"purgeOwner": "所有者のジョブを消去",
|
|
46
|
+
"purgeConfirm": "{user}(UID {uid})の全ジョブを消去しますか?実行中のジョブはキャンセルして終了を待ち、保存済み結果は削除します。",
|
|
47
|
+
"confirmPurge": "消去を確認",
|
|
48
|
+
"keepJobs": "ジョブを保持",
|
|
49
|
+
"schedulesTitle": "スケジュール",
|
|
50
|
+
"scheduleHelp": "パッケージユーザーとして固定の非公開コピーを毎時、毎日、毎週再計算します。最大 8 件。逃した実行は記録のみで再実行しません。",
|
|
51
|
+
"scheduleCopy": "このコピーを定期実行",
|
|
52
|
+
"scheduleSource": "非公開コピー:{name}",
|
|
53
|
+
"interval": "繰り返し間隔",
|
|
54
|
+
"hourly": "毎時",
|
|
55
|
+
"daily": "毎日",
|
|
56
|
+
"weekly": "毎週",
|
|
57
|
+
"scheduleConsent": "固定コピーを保存し、パッケージユーザーとして再計算することに同意します。新しい元ファイルや個人 ACL は読みません。",
|
|
58
|
+
"createSchedule": "スケジュールを作成",
|
|
59
|
+
"noSchedules": "スケジュールはありません",
|
|
60
|
+
"scheduleOn": "有効",
|
|
61
|
+
"scheduleOff": "無効",
|
|
62
|
+
"nextRun": "次回実行:{time}",
|
|
63
|
+
"missedRuns": "逃した実行:{count} 回",
|
|
64
|
+
"disableSchedule": "スケジュールを無効化",
|
|
65
|
+
"deleteSchedule": "スケジュールを削除",
|
|
66
|
+
"deleteScheduleConsent": "{name} のスケジュールを削除しますか?待機中のジョブは取り消され、実行中のジョブは停止処理を行います。完了した結果は残ります。",
|
|
67
|
+
"confirmDeleteSchedule": "削除を確認",
|
|
68
|
+
"enableSchedule": "スケジュールを有効化",
|
|
69
|
+
"enableScheduleConsent": "現在のワーカーリビジョンで {name} のスケジュールを有効にしますか?固定コピーの再計算に同意します。過去の実行は再生しません。",
|
|
70
|
+
"confirmEnableSchedule": "有効化を確認",
|
|
71
|
+
"revisionChanged": "ワーカーのリビジョンが変更されました。管理者が確認して明示的に有効にしてください。",
|
|
72
|
+
"scheduledJob": "定期実行",
|
|
73
|
+
"unknownTime": "不明",
|
|
74
|
+
"unsupported": "バックグラウンドジョブを利用できません。更新して再試行してください。"
|
|
75
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "백그라운드 작업",
|
|
3
|
+
"help": "선택한 파일 하나를 패키지에 복사하고 패키지 계정으로 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속됩니다. 복사본과 결과는 패키지가 보관하며 원본 권한 변경으로 회수되지 않습니다. 다시 로그인하여 자신의 결과를 확인하세요.",
|
|
4
|
+
"worker": "워커",
|
|
5
|
+
"workerRunning": "워커가 {user} 계정으로 실행 중",
|
|
6
|
+
"workerStopped": "워커가 실행 중이 아닙니다",
|
|
7
|
+
"chooseFile": "파일 선택",
|
|
8
|
+
"chosen": "선택한 파일: {path}",
|
|
9
|
+
"pickerTitle": "가져올 파일 선택",
|
|
10
|
+
"pickerConsent": "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다.",
|
|
11
|
+
"submit": "가져오기 및 제출",
|
|
12
|
+
"refresh": "새로 고침",
|
|
13
|
+
"cancel": "취소",
|
|
14
|
+
"result": "결과",
|
|
15
|
+
"download": "결과 다운로드",
|
|
16
|
+
"noJobs": "작업이 없습니다",
|
|
17
|
+
"state_queued": "대기 중",
|
|
18
|
+
"state_running": "실행 중",
|
|
19
|
+
"state_succeeded": "성공",
|
|
20
|
+
"state_failed": "실패",
|
|
21
|
+
"state_canceled": "취소됨",
|
|
22
|
+
"state_interrupted": "중단됨",
|
|
23
|
+
"limits": "파일당 최대 {size} KiB, 대기 {queue}개, 작업당 {seconds}초.",
|
|
24
|
+
"errors": {
|
|
25
|
+
"jobs_busy": "처리 중입니다. 잠시 후 다시 시도해 주세요.",
|
|
26
|
+
"failed": "요청을 완료할 수 없습니다. 새로 고친 후 다시 시도하세요.",
|
|
27
|
+
"limit-exceeded": "파일이 한도를 초과했습니다.",
|
|
28
|
+
"queue-full": "대기열이 가득 찼습니다.",
|
|
29
|
+
"quota-exceeded": "백그라운드 저장 공간이 가득 찼습니다.",
|
|
30
|
+
"conflict": "작업 상태가 변경되었습니다. 새로 고치세요.",
|
|
31
|
+
"not_found": "찾을 수 없습니다.",
|
|
32
|
+
"denied": "액세스가 거부되었습니다.",
|
|
33
|
+
"session_required": "DSM 세션이 만료되었습니다. 다시 로그인하세요.",
|
|
34
|
+
"owner-queue-full": "대기 작업 한도에 도달했습니다. 완료를 기다리거나 작업 하나를 취소하세요.",
|
|
35
|
+
"owner-quota-exceeded": "저장 공간 한도에 도달했습니다. 관리자에게 이전 작업 삭제를 요청하세요.",
|
|
36
|
+
"identity_unavailable": "DSM 사용자 UID를 확인할 수 없습니다. 다시 로그인하거나 관리자에게 문의하세요.",
|
|
37
|
+
"schedule-full": "일정은 최대 8개입니다. 일정을 삭제하세요.",
|
|
38
|
+
"input-unavailable": "비공개 사본이 없거나 변경되었습니다. 다시 가져오세요.",
|
|
39
|
+
"unsupported": "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하세요."
|
|
40
|
+
},
|
|
41
|
+
"ownerScope": "자신의 작업만 보고 취소하고 다운로드할 수 있습니다.",
|
|
42
|
+
"adminScope": "관리자는 모든 사용자의 작업을 보고 취소할 수 있습니다.",
|
|
43
|
+
"ownerLimits": "사용자당 한도: 대기 중인 작업 {jobs}개, 입력 및 결과 예약 저장 공간 {size} KiB.",
|
|
44
|
+
"owner": "소유자: {user} (UID {uid})",
|
|
45
|
+
"purgeOwner": "소유자의 작업 지우기",
|
|
46
|
+
"purgeConfirm": "{user} (UID {uid})의 모든 작업을 지울까요? 실행 중인 작업은 취소 후 종료를 기다리며 저장된 결과는 삭제됩니다.",
|
|
47
|
+
"confirmPurge": "지우기 확인",
|
|
48
|
+
"keepJobs": "작업 유지",
|
|
49
|
+
"schedulesTitle": "일정",
|
|
50
|
+
"scheduleHelp": "패키지 사용자로 고정된 비공개 사본을 매시간, 매일 또는 매주 다시 계산합니다. 최대 8개 일정. 놓친 실행은 기록만 하며 다시 실행하지 않습니다.",
|
|
51
|
+
"scheduleCopy": "이 사본 예약",
|
|
52
|
+
"scheduleSource": "비공개 사본: {name}",
|
|
53
|
+
"interval": "반복 간격",
|
|
54
|
+
"hourly": "매시간",
|
|
55
|
+
"daily": "매일",
|
|
56
|
+
"weekly": "매주",
|
|
57
|
+
"scheduleConsent": "고정된 사본을 보관하고 패키지 사용자로 다시 계산하는 데 동의합니다. 새 원본 파일이나 개인 ACL은 읽지 않습니다.",
|
|
58
|
+
"createSchedule": "일정 만들기",
|
|
59
|
+
"noSchedules": "일정 없음",
|
|
60
|
+
"scheduleOn": "활성화됨",
|
|
61
|
+
"scheduleOff": "비활성화됨",
|
|
62
|
+
"nextRun": "다음 실행: {time}",
|
|
63
|
+
"missedRuns": "놓친 실행: {count}회",
|
|
64
|
+
"disableSchedule": "일정 비활성화",
|
|
65
|
+
"deleteSchedule": "일정 삭제",
|
|
66
|
+
"deleteScheduleConsent": "{name}의 일정을 삭제할까요? 대기 작업은 취소되고 실행 중인 작업은 중지 후 정리됩니다. 완료된 결과는 유지됩니다.",
|
|
67
|
+
"confirmDeleteSchedule": "삭제 확인",
|
|
68
|
+
"enableSchedule": "일정 활성화",
|
|
69
|
+
"enableScheduleConsent": "현재 작업자 리비전으로 {name}의 일정을 활성화할까요? 고정된 사본의 재계산에 동의합니다. 과거 실행은 반복하지 않습니다.",
|
|
70
|
+
"confirmEnableSchedule": "활성화 확인",
|
|
71
|
+
"revisionChanged": "작업자 리비전이 변경되었습니다. 관리자가 검토하고 명시적으로 활성화해야 합니다.",
|
|
72
|
+
"scheduledJob": "예약 실행",
|
|
73
|
+
"unknownTime": "알 수 없음",
|
|
74
|
+
"unsupported": "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하세요."
|
|
75
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "后台任务",
|
|
3
|
+
"help": "将选择的一个文件复制到套件内,由套件账号计算 SHA-256。退出登录后任务仍会继续。副本与结果由套件保存,源权限变化不会收回;再次登录即可查看自己的结果。",
|
|
4
|
+
"worker": "Worker",
|
|
5
|
+
"workerRunning": "Worker 正以 {user} 运行",
|
|
6
|
+
"workerStopped": "Worker 未运行",
|
|
7
|
+
"chooseFile": "选择文件",
|
|
8
|
+
"chosen": "已选择的文件:{path}",
|
|
9
|
+
"pickerTitle": "选择要导入的文件",
|
|
10
|
+
"pickerConsent": "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权。",
|
|
11
|
+
"submit": "导入并提交",
|
|
12
|
+
"refresh": "刷新",
|
|
13
|
+
"cancel": "取消",
|
|
14
|
+
"result": "结果",
|
|
15
|
+
"download": "下载结果",
|
|
16
|
+
"noJobs": "暂无任务",
|
|
17
|
+
"state_queued": "排队中",
|
|
18
|
+
"state_running": "运行中",
|
|
19
|
+
"state_succeeded": "成功",
|
|
20
|
+
"state_failed": "失败",
|
|
21
|
+
"state_canceled": "已取消",
|
|
22
|
+
"state_interrupted": "已中断",
|
|
23
|
+
"limits": "每个文件最多 {size} KiB、队列 {queue} 个任务、每个任务 {seconds} 秒。",
|
|
24
|
+
"errors": {
|
|
25
|
+
"jobs_busy": "忙碌中,请稍后重试",
|
|
26
|
+
"failed": "无法完成请求。请刷新后重试。",
|
|
27
|
+
"limit-exceeded": "文件超过上限。",
|
|
28
|
+
"queue-full": "队列已满。",
|
|
29
|
+
"quota-exceeded": "后台存储空间已满。",
|
|
30
|
+
"conflict": "任务状态已变更,请刷新。",
|
|
31
|
+
"not_found": "未找到。",
|
|
32
|
+
"denied": "访问被拒绝。",
|
|
33
|
+
"session_required": "DSM 会话已过期,请重新登录。",
|
|
34
|
+
"owner-queue-full": "你的待处理任务已达上限。请等待完成或取消一个任务。",
|
|
35
|
+
"owner-quota-exceeded": "你的后台存储已达上限。请管理员清除旧任务。",
|
|
36
|
+
"identity_unavailable": "无法确认你的 DSM 用户 UID。请重新登录或联系管理员。",
|
|
37
|
+
"schedule-full": "已达 8 个计划上限。请删除计划。",
|
|
38
|
+
"input-unavailable": "私有副本不存在或已更改。请重新导入。",
|
|
39
|
+
"unsupported": "后台任务无法使用,请刷新后重试。"
|
|
40
|
+
},
|
|
41
|
+
"ownerScope": "你只能查看、取消及下载自己的任务。",
|
|
42
|
+
"adminScope": "管理员可查看及取消所有用户的任务。",
|
|
43
|
+
"ownerLimits": "每人上限:{jobs} 个待处理任务、{size} KiB 输入与预留结果存储。",
|
|
44
|
+
"owner": "所有者:{user}(UID {uid})",
|
|
45
|
+
"purgeOwner": "清除所有者的任务",
|
|
46
|
+
"purgeConfirm": "清除 {user}(UID {uid})的所有任务?运行中的任务会取消并等待结束;已保存的结果会移除。",
|
|
47
|
+
"confirmPurge": "确认清除",
|
|
48
|
+
"keepJobs": "保留任务",
|
|
49
|
+
"schedulesTitle": "计划",
|
|
50
|
+
"scheduleHelp": "由套件账户每小时、每日或每周重新计算固定私有副本。最多 8 个计划;错过的执行仅记录,不补跑。",
|
|
51
|
+
"scheduleCopy": "计划重跑副本",
|
|
52
|
+
"scheduleSource": "私有副本:{name}",
|
|
53
|
+
"interval": "重复间隔",
|
|
54
|
+
"hourly": "每小时",
|
|
55
|
+
"daily": "每日",
|
|
56
|
+
"weekly": "每周",
|
|
57
|
+
"scheduleConsent": "我同意保留此固定副本,并由套件账户重新计算。不读取新来源文件或个人 ACL。",
|
|
58
|
+
"createSchedule": "创建计划",
|
|
59
|
+
"noSchedules": "暂无计划",
|
|
60
|
+
"scheduleOn": "已启用",
|
|
61
|
+
"scheduleOff": "已停用",
|
|
62
|
+
"nextRun": "下次执行:{time}",
|
|
63
|
+
"missedRuns": "错过执行:{count} 次",
|
|
64
|
+
"disableSchedule": "停用计划",
|
|
65
|
+
"deleteSchedule": "删除计划",
|
|
66
|
+
"deleteScheduleConsent": "删除 {name} 的计划?排队任务将取消,运行中的任务将停止并完成收尾。已完成结果保留。",
|
|
67
|
+
"confirmDeleteSchedule": "确认删除",
|
|
68
|
+
"enableSchedule": "启用计划",
|
|
69
|
+
"enableScheduleConsent": "使用当前 worker revision 启用 {name} 的计划?我同意重新计算此固定副本。不重播过去的执行。",
|
|
70
|
+
"confirmEnableSchedule": "确认启用",
|
|
71
|
+
"revisionChanged": "Worker revision 已更改。管理员须检查并明确启用此计划。",
|
|
72
|
+
"scheduledJob": "计划执行",
|
|
73
|
+
"unknownTime": "未知",
|
|
74
|
+
"unsupported": "后台任务无法使用,请刷新后重试。"
|
|
75
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "背景工作",
|
|
3
|
+
"help": "將選取的一個檔案複製到套件內,由套件帳號計算 SHA-256。登出後工作仍會繼續。副本與結果由套件保存,來源權限變動不會收回;再次登入即可查看自己的結果。",
|
|
4
|
+
"worker": "Worker",
|
|
5
|
+
"workerRunning": "Worker 正以 {user} 執行",
|
|
6
|
+
"workerStopped": "Worker 未執行",
|
|
7
|
+
"chooseFile": "選擇檔案",
|
|
8
|
+
"chosen": "已選擇的檔案:{path}",
|
|
9
|
+
"pickerTitle": "選擇要匯入的檔案",
|
|
10
|
+
"pickerConsent": "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權。",
|
|
11
|
+
"submit": "匯入並送出",
|
|
12
|
+
"refresh": "重新整理",
|
|
13
|
+
"cancel": "取消",
|
|
14
|
+
"result": "結果",
|
|
15
|
+
"download": "下載結果",
|
|
16
|
+
"noJobs": "尚無工作",
|
|
17
|
+
"state_queued": "排隊中",
|
|
18
|
+
"state_running": "執行中",
|
|
19
|
+
"state_succeeded": "成功",
|
|
20
|
+
"state_failed": "失敗",
|
|
21
|
+
"state_canceled": "已取消",
|
|
22
|
+
"state_interrupted": "已中斷",
|
|
23
|
+
"limits": "每個檔案最多 {size} KiB、佇列 {queue} 個工作、每個工作 {seconds} 秒。",
|
|
24
|
+
"errors": {
|
|
25
|
+
"jobs_busy": "忙碌中,請稍後重試",
|
|
26
|
+
"failed": "無法完成要求。請重新整理後再試。",
|
|
27
|
+
"limit-exceeded": "檔案超過上限。",
|
|
28
|
+
"queue-full": "佇列已滿。",
|
|
29
|
+
"quota-exceeded": "背景儲存空間已滿。",
|
|
30
|
+
"conflict": "工作狀態已變更,請重新整理。",
|
|
31
|
+
"not_found": "找不到。",
|
|
32
|
+
"denied": "存取被拒絕。",
|
|
33
|
+
"session_required": "DSM 工作階段已過期,請重新登入。",
|
|
34
|
+
"owner-queue-full": "你的待處理工作已達上限。請等待完成或取消一個工作。",
|
|
35
|
+
"owner-quota-exceeded": "你的背景儲存已達上限。請管理員清除舊工作。",
|
|
36
|
+
"identity_unavailable": "無法確認你的 DSM 使用者 UID。請重新登入或洽管理員。",
|
|
37
|
+
"schedule-full": "已達 8 個排程上限。請刪除排程。",
|
|
38
|
+
"input-unavailable": "私有副本不存在或已變更。請重新匯入。",
|
|
39
|
+
"unsupported": "背景工作無法使用,請重新整理後再試。"
|
|
40
|
+
},
|
|
41
|
+
"ownerScope": "你只能檢視、取消及下載自己的工作。",
|
|
42
|
+
"adminScope": "管理員可檢視及取消所有使用者的工作。",
|
|
43
|
+
"ownerLimits": "每人上限:{jobs} 個待處理工作、{size} KiB 輸入與預留結果儲存。",
|
|
44
|
+
"owner": "擁有者:{user}(UID {uid})",
|
|
45
|
+
"purgeOwner": "清除擁有者的工作",
|
|
46
|
+
"purgeConfirm": "清除 {user}(UID {uid})的所有工作?執行中的工作會取消並等待結束;已儲存的結果會移除。",
|
|
47
|
+
"confirmPurge": "確認清除",
|
|
48
|
+
"keepJobs": "保留工作",
|
|
49
|
+
"schedulesTitle": "排程",
|
|
50
|
+
"scheduleHelp": "由套件帳號每小時、每日或每週重算固定私有副本。最多 8 個排程;錯過的執行只記錄,不補跑。",
|
|
51
|
+
"scheduleCopy": "排程重跑副本",
|
|
52
|
+
"scheduleSource": "私有副本:{name}",
|
|
53
|
+
"interval": "重複間隔",
|
|
54
|
+
"hourly": "每小時",
|
|
55
|
+
"daily": "每日",
|
|
56
|
+
"weekly": "每週",
|
|
57
|
+
"scheduleConsent": "我同意保留此固定副本,並由套件帳號重算。不讀取新來源檔案或個人 ACL。",
|
|
58
|
+
"createSchedule": "建立排程",
|
|
59
|
+
"noSchedules": "尚無排程",
|
|
60
|
+
"scheduleOn": "已啟用",
|
|
61
|
+
"scheduleOff": "已停用",
|
|
62
|
+
"nextRun": "下次執行:{time}",
|
|
63
|
+
"missedRuns": "錯過執行:{count} 次",
|
|
64
|
+
"disableSchedule": "停用排程",
|
|
65
|
+
"deleteSchedule": "刪除排程",
|
|
66
|
+
"deleteScheduleConsent": "刪除 {name} 的排程?排隊工作會取消,執行中工作會停止並完成收尾。已完成結果保留。",
|
|
67
|
+
"confirmDeleteSchedule": "確認刪除",
|
|
68
|
+
"enableSchedule": "啟用排程",
|
|
69
|
+
"enableScheduleConsent": "使用目前 worker revision 啟用 {name} 的排程?我同意重算此固定副本。不重播過去的執行。",
|
|
70
|
+
"confirmEnableSchedule": "確認啟用",
|
|
71
|
+
"revisionChanged": "Worker revision 已變更。管理員須審閱並明確啟用此排程。",
|
|
72
|
+
"scheduledJob": "排程執行",
|
|
73
|
+
"unknownTime": "未知",
|
|
74
|
+
"unsupported": "背景工作無法使用,請重新整理後再試。"
|
|
75
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type {Context} from '../context'
|
|
2
|
+
import {createNasProvider} from '../nas/provider'
|
|
3
|
+
import type {NasProvider} from '../nas/contract'
|
|
4
|
+
|
|
5
|
+
// Jobs without files use the same session-only metadata picker. No grant is stored.
|
|
6
|
+
export function createBackgroundPickerProvider(ctx:Pick<Context,'call'>):NasProvider{
|
|
7
|
+
return createNasProvider({call:<T>(method:string,params?:Record<string,unknown>)=>{
|
|
8
|
+
if(method==='nas.files.shares')return ctx.call<T>('bg.browse',{offset:params?.offset})
|
|
9
|
+
if(method==='nas.files.list')return ctx.call<T>('bg.browse',{folder:params?.path,offset:params?.offset})
|
|
10
|
+
return ctx.call<T>(method,params)
|
|
11
|
+
}})
|
|
12
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// getRandomValues works on DSM HTTP as well as HTTPS. These keys deduplicate
|
|
2
|
+
// requests; they do not authenticate a caller or authorize a background job.
|
|
3
|
+
export function requestKey(): string {
|
|
4
|
+
return Array.from(crypto.getRandomValues(new Uint8Array(16)),byte=>byte.toString(16).padStart(2,'0')).join('')
|
|
5
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
// @vitest-environment jsdom
|
|
2
|
+
import {readFileSync} from 'node:fs'
|
|
3
|
+
import {join} from 'node:path'
|
|
4
|
+
import {test,expect,beforeEach,afterEach,vi} from 'vitest'
|
|
5
|
+
import {createApp,h,nextTick} from 'vue'
|
|
6
|
+
import {AppRoot} from '@synopackageland/ui'
|
|
7
|
+
import BackgroundPanel from '../src/background/BackgroundPanel.vue'
|
|
8
|
+
import {backgroundCatalogs,backgroundCopy} from '../src/background/i18n'
|
|
9
|
+
import {nasCopy} from '../src/nas/locale'
|
|
10
|
+
// DSM HTTP exposes getRandomValues, but not the secure-context randomUUID API.
|
|
11
|
+
beforeEach(()=>vi.stubGlobal('crypto',{getRandomValues:globalThis.crypto.getRandomValues.bind(globalThis.crypto)}))
|
|
12
|
+
afterEach(()=>vi.unstubAllGlobals())
|
|
13
|
+
// The UI Select is a Reka combobox: drive it by keyboard (the UI README helper), which also proves it is keyboard operable.
|
|
14
|
+
// Attrs such as data-schedule-interval land on the focusable combobox itself.
|
|
15
|
+
async function choose(root:HTMLElement,marker:string,label:string){
|
|
16
|
+
const trigger=root.querySelector<HTMLElement>(`[${marker}][role=combobox]`)!;expect(trigger,marker).toBeTruthy()
|
|
17
|
+
expect(trigger.id,marker).toBeTruthy();expect(root.querySelector(`label[for="${trigger.id}"]`),marker).toBeTruthy()
|
|
18
|
+
trigger.dispatchEvent(new KeyboardEvent('keydown',{key:'ArrowDown',bubbles:true,cancelable:true}));await settle()
|
|
19
|
+
const option=[...document.querySelectorAll<HTMLElement>('[role=option]')].find(o=>o.textContent?.trim()===label)
|
|
20
|
+
if(!option||option.getAttribute('aria-disabled')==='true')throw new Error(`No enabled option: ${label}`)
|
|
21
|
+
option.focus();option.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',bubbles:true,cancelable:true}));await settle()
|
|
22
|
+
expect(trigger.textContent).toContain(label)
|
|
23
|
+
}
|
|
24
|
+
async function settle(){for(let i=0;i<20;i++){await Promise.resolve();await nextTick()}}
|
|
25
|
+
type Call=(method:string,params?:Record<string,unknown>)=>Promise<any>
|
|
26
|
+
function mount(call:Call,locale='en'){
|
|
27
|
+
const root=document.createElement('div');document.body.append(root)
|
|
28
|
+
const app=createApp({render:()=>h(AppRoot,{},()=>h(BackgroundPanel,{ctx:{call,locale}}))})
|
|
29
|
+
app.config.idPrefix=`bg-${Math.random()}`;app.mount(root)
|
|
30
|
+
return {root,close(){app.unmount();root.remove()}}
|
|
31
|
+
}
|
|
32
|
+
const click=(root:HTMLElement,text:string)=>{const b=[...root.querySelectorAll('button')].find(b=>b.textContent?.trim()===text)!;expect(b).toBeTruthy();b.click()}
|
|
33
|
+
const status=()=>({supported:true,admin:true,revision:1,queued:0,running:0,worker:{username:'SynoPkg',alive:true},limits:{maxInputBytes:524288,maxQueued:16,maxOwnerPending:2,maxOwnerBytes:1048576,maxTotalBytes:16777216,jobTimeoutSeconds:60}})
|
|
34
|
+
|
|
35
|
+
test('non-administrators see unsupported and no action',async()=>{
|
|
36
|
+
const f=mount(async()=>{throw {code:'unsupported'}});await settle()
|
|
37
|
+
expect(f.root.textContent).toContain(backgroundCopy('en').unsupported);expect(f.root.querySelector('button')).toBeNull();f.close()
|
|
38
|
+
})
|
|
39
|
+
const browse=(args?:Record<string,unknown>)=>args?.folder
|
|
40
|
+
?{files:[{name:'fixture.bin',path:`${args.folder}/fixture.bin`,isdir:false,additional:{size:3}}],total:1,offset:0}
|
|
41
|
+
:{shares:[{name:'share',path:'/share',isdir:true}],total:1,offset:0}
|
|
42
|
+
test('pick a file, submit, cancel and result use only bg.* routes',async()=>{
|
|
43
|
+
const calls:Array<[string,Record<string,unknown>|undefined]>=[];let jobs:any[]=[]
|
|
44
|
+
const f=mount(async(m,p)=>{
|
|
45
|
+
calls.push([m,p])
|
|
46
|
+
switch(m){
|
|
47
|
+
case 'bg.status':return status()
|
|
48
|
+
case 'bg.jobs.list':return {jobs}
|
|
49
|
+
case 'bg.browse':return browse(p)
|
|
50
|
+
case 'bg.jobs.submit':jobs=[{id:'j1',name:'fixture.bin',state:'queued'}];return {job:jobs[0],duplicate:false}
|
|
51
|
+
case 'bg.jobs.cancel':jobs=[{...jobs[0],state:'canceled'}];return {job:jobs[0]}
|
|
52
|
+
case 'bg.jobs.result':return {result:{sha256:'x'}}
|
|
53
|
+
}
|
|
54
|
+
});await settle()
|
|
55
|
+
const copy=backgroundCopy('en'),pick=nasCopy('en')
|
|
56
|
+
expect(f.root.querySelector('[data-bg-folder]')).toBeNull();expect(f.root.querySelector('[data-bg-file]')).toBeNull()
|
|
57
|
+
const submitButton=()=>[...f.root.querySelectorAll('button')].find(b=>b.textContent?.trim()===copy.submit)!
|
|
58
|
+
expect(submitButton().disabled).toBe(true)
|
|
59
|
+
click(f.root,copy.chooseFile);await settle()
|
|
60
|
+
click(f.root,'share');await settle()
|
|
61
|
+
click(f.root,pick.selectAction);await settle();click(f.root,pick.confirm);await settle()
|
|
62
|
+
expect(f.root.textContent).toContain('/share/fixture.bin')
|
|
63
|
+
expect(submitButton().disabled).toBe(false)
|
|
64
|
+
click(f.root,copy.submit);await settle()
|
|
65
|
+
const submit=calls.find(c=>c[0]==='bg.jobs.submit')![1]!
|
|
66
|
+
expect(submit.folder).toBe('/share');expect(submit.relative).toBe('fixture.bin');expect(submit.key).toMatch(/^[a-f0-9]{32}$/)
|
|
67
|
+
expect(f.root.querySelector('[data-job-state=queued]')).not.toBeNull()
|
|
68
|
+
click(f.root,copy.cancel);await settle()
|
|
69
|
+
expect(f.root.querySelector('[data-job-state=canceled]')).not.toBeNull()
|
|
70
|
+
expect(calls.filter(c=>c[0]==='bg.browse').length).toBeGreaterThan(0)
|
|
71
|
+
expect(calls.every(c=>/^bg\./.test(c[0]))).toBe(true)
|
|
72
|
+
f.close()
|
|
73
|
+
})
|
|
74
|
+
test('a denied listing shows a localized error and cannot submit',async()=>{
|
|
75
|
+
const f=mount(async(m)=>{
|
|
76
|
+
if(m==='bg.status')return status()
|
|
77
|
+
if(m==='bg.jobs.list')return {jobs:[]}
|
|
78
|
+
if(m==='bg.browse')throw {code:'denied',message:'Cookie=CANARY'}
|
|
79
|
+
});await settle()
|
|
80
|
+
click(f.root,backgroundCopy('en').chooseFile);await settle()
|
|
81
|
+
expect(f.root.textContent).toContain(nasCopy('en').errorDenied);expect(f.root.textContent).not.toContain('CANARY')
|
|
82
|
+
expect([...f.root.querySelectorAll('button')].find(b=>b.textContent?.trim()===backgroundCopy('en').submit)!.disabled).toBe(true)
|
|
83
|
+
f.close()
|
|
84
|
+
})
|
|
85
|
+
test('nine locales have identical keys and placeholders',()=>{
|
|
86
|
+
const en=backgroundCatalogs.en,flat=(o:any,p=''):Record<string,string>=>Object.fromEntries(Object.entries(o).flatMap(([k,v])=>typeof v==='string'?[[p+k,v]]:Object.entries(flat(v,`${p}${k}.`))))
|
|
87
|
+
const base=flat(en)
|
|
88
|
+
expect(Object.keys(backgroundCatalogs).sort()).toEqual(['de','en','es','fr','it','ja','ko','zh-CN','zh-TW'])
|
|
89
|
+
for(const catalog of Object.values(backgroundCatalogs)){
|
|
90
|
+
const map=flat(catalog);expect(Object.keys(map).sort()).toEqual(Object.keys(base).sort())
|
|
91
|
+
for(const [k,v] of Object.entries(map)){expect(v.length).toBeGreaterThan(0);expect(v.match(/\{\w+\}/g)??[]).toEqual(base[k].match(/\{\w+\}/g)??[])}
|
|
92
|
+
}
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
test('a null job list from the worker renders as no jobs',async()=>{
|
|
96
|
+
const f=mount(async m=>m==='bg.status'?status():m==='bg.jobs.list'?{jobs:null}:{});await settle()
|
|
97
|
+
expect(f.root.textContent).toContain(backgroundCopy('en').noJobs);f.close()
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
test('the picker dialog explains the one-time read',async()=>{
|
|
101
|
+
for(const locale of Object.keys(backgroundCatalogs)){
|
|
102
|
+
const f=mount(async(m,p)=>m==='bg.status'?status():m==='bg.jobs.list'?{jobs:[]}:browse(p),locale);await settle()
|
|
103
|
+
const copy=backgroundCopy(locale)
|
|
104
|
+
click(f.root,copy.chooseFile);await settle()
|
|
105
|
+
const dialog=f.root.querySelector('[role=dialog]')!.textContent!
|
|
106
|
+
expect(dialog).toContain(copy.pickerConsent)
|
|
107
|
+
f.close()
|
|
108
|
+
}
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
test('ordinary owner can submit but has no administrator controls',async()=>{
|
|
112
|
+
const calls:string[]=[]
|
|
113
|
+
const f=mount(async(m,p)=>{calls.push(m);if(m==='bg.status')return {...status(),admin:false};if(m==='bg.jobs.list')return {jobs:[{id:'owned',name:'owned.bin',state:'queued',submitter:{user:'bob',uid:'1025'}}]};if(m==='bg.browse')return browse(p);return {}});await settle()
|
|
114
|
+
const c=backgroundCopy('en')
|
|
115
|
+
expect(f.root.textContent).toContain(c.ownerScope)
|
|
116
|
+
expect(f.root.textContent).not.toContain(c.purgeOwner)
|
|
117
|
+
expect([...f.root.querySelectorAll('button')].some(b=>b.textContent?.trim()===c.chooseFile)).toBe(true)
|
|
118
|
+
click(f.root,c.cancel);await settle();expect(calls).toContain('bg.jobs.cancel');f.close()
|
|
119
|
+
})
|
|
120
|
+
test('admin exact owner purge requires explicit confirmation',async()=>{
|
|
121
|
+
const calls:Array<[string,Record<string,unknown>|undefined]>=[]
|
|
122
|
+
const f=mount(async(m,p)=>{calls.push([m,p]);if(m==='bg.status')return {...status(),admin:true};if(m==='bg.jobs.list')return {jobs:[{id:'one',name:'a',state:'succeeded',submitter:{user:'bob',uid:'1025'}}]};return {}});await settle()
|
|
123
|
+
const c=backgroundCopy('en')
|
|
124
|
+
click(f.root,c.purgeOwner);await settle();expect(calls.some(([m])=>m==='bg.jobs.purge')).toBe(false)
|
|
125
|
+
click(f.root,c.confirmPurge);await settle()
|
|
126
|
+
expect(calls.find(([m])=>m==='bg.jobs.purge')?.[1]).toEqual({owner:{user:'bob',uid:'1025'}});f.close()
|
|
127
|
+
})
|
|
128
|
+
test('malformed status cannot render action controls or crash the panel',async()=>{
|
|
129
|
+
const f=mount(async()=>({state:'not-enabled'}));await settle()
|
|
130
|
+
expect(f.root.textContent).toContain(backgroundCopy('en').errors.failed)
|
|
131
|
+
expect(f.root.querySelector('button')).toBeNull();f.close()
|
|
132
|
+
})
|
|
133
|
+
|
|
134
|
+
test('schedule creation requires copy consent; owner controls disable and delete exact schedule',async()=>{
|
|
135
|
+
const calls:Array<[string,Record<string,unknown>|undefined]>=[];let schedules:any[]=[]
|
|
136
|
+
const f=mount(async(m,p)=>{calls.push([m,p]);switch(m){
|
|
137
|
+
case 'bg.status':return {...status(),owner:{user:'bob',uid:'1025'},admin:false}
|
|
138
|
+
case 'bg.jobs.list':return {jobs:[{id:'import',name:'copy.bin',state:'succeeded',copyRetained:true,submitter:{user:'bob',uid:'1025'}}]}
|
|
139
|
+
case 'bg.schedules.list':return {schedules}
|
|
140
|
+
case 'bg.schedules.create':schedules=[{id:'schedule',name:'copy.bin',owner:{user:'bob',uid:'1025'},enabled:true,intervalSeconds:3600,nextAt:'2026-10-05T01:00:00Z',missed:0,workerRevision:1}];return {schedule:schedules[0]}
|
|
141
|
+
case 'bg.schedules.disable':schedules=[{...schedules[0],enabled:false}];return {schedule:schedules[0]}
|
|
142
|
+
case 'bg.schedules.delete':schedules=[];return {deleted:true}
|
|
143
|
+
default:return {}
|
|
144
|
+
}});await settle();const c=backgroundCopy('en')
|
|
145
|
+
click(f.root,c.scheduleCopy);await settle()
|
|
146
|
+
expect(calls.some(([m])=>m==='bg.schedules.create')).toBe(false)
|
|
147
|
+
const create=[...f.root.querySelectorAll('button')].find(b=>b.textContent?.trim()===c.createSchedule)!
|
|
148
|
+
expect(create.disabled).toBe(true)
|
|
149
|
+
await choose(f.root,'data-schedule-interval',c.weekly)
|
|
150
|
+
const consent=f.root.querySelector<HTMLElement>('[data-schedule-consent] [role=checkbox], [role=checkbox][data-schedule-consent]')!;consent.click();await settle()
|
|
151
|
+
click(f.root,c.createSchedule);await settle()
|
|
152
|
+
expect(calls.find(([m])=>m==='bg.schedules.create')?.[1]).toMatchObject({jobId:'import',intervalSeconds:604800,consent:true})
|
|
153
|
+
expect(calls.find(([m])=>m==='bg.schedules.create')?.[1]?.key).toMatch(/^[a-f0-9]{32}$/)
|
|
154
|
+
expect(f.root.querySelector('[data-schedule-id=schedule]')?.textContent).toContain(c.nextRun.replace('{time}','').trim().split(':')[0])
|
|
155
|
+
click(f.root,c.disableSchedule);await settle();expect(calls.find(([m])=>m==='bg.schedules.disable')?.[1]).toEqual({id:'schedule'})
|
|
156
|
+
click(f.root,c.deleteSchedule);await settle();expect(calls.some(([m])=>m==='bg.schedules.delete')).toBe(false)
|
|
157
|
+
click(f.root,c.confirmDeleteSchedule);await settle();expect(calls.find(([m])=>m==='bg.schedules.delete')?.[1]).toEqual({id:'schedule'});f.close()
|
|
158
|
+
})
|
|
159
|
+
|
|
160
|
+
test('administrator sees the exact selected copy before enabling a schedule',async()=>{
|
|
161
|
+
const calls:Array<[string,Record<string,unknown>|undefined]>=[]
|
|
162
|
+
const name='private-'.padEnd(128,'x')
|
|
163
|
+
const f=mount(async(m,p)=>{calls.push([m,p]);if(m==='bg.status')return status();if(m==='bg.jobs.list')return {jobs:[]};if(m==='bg.schedules.list')return {schedules:[{id:'disabled',name,owner:{user:'normal1',uid:'1025'},enabled:false,nextAt:'2026-10-05T01:00:00Z',missed:0}]};return {}});await settle()
|
|
164
|
+
const c=backgroundCopy('en');click(f.root,c.enableSchedule);await settle()
|
|
165
|
+
const expected=c.enableScheduleConsent.replace('{name}',name)
|
|
166
|
+
expect(expected).toContain(name);expect(f.root.textContent).toContain(expected)
|
|
167
|
+
expect(calls.some(([m])=>m==='bg.schedules.enable')).toBe(false)
|
|
168
|
+
click(f.root,c.confirmEnableSchedule);await settle()
|
|
169
|
+
expect(calls.find(([m])=>m==='bg.schedules.enable')?.[1]).toEqual({id:'disabled',consent:true});f.close()
|
|
170
|
+
})
|
|
171
|
+
|
|
172
|
+
// Same rule as the base template (test/native-controls.test.ts): UI components only, and the
|
|
173
|
+
// UI's own Form auto layout and FormItem id binding instead of per-app workarounds.
|
|
174
|
+
test('the background panel uses only UI components and the UI form binding',()=>{
|
|
175
|
+
const template=readFileSync(join(__dirname,'../src/background/BackgroundPanel.vue'),'utf8').replace(/<script[\s\S]*?<\/script>/g,'').replace(/<style[\s\S]*?<\/style>/g,'')
|
|
176
|
+
expect(template.match(/<(?:a|input|select|textarea|label)[\s>/]/g)).toBeNull()
|
|
177
|
+
expect(template).not.toMatch(/direction="vertical"|field\.controlId|role="group"/)
|
|
178
|
+
})
|
|
179
|
+
|
|
180
|
+
test('fresh ordinary user can pick and submit without administrator switches',async()=>{
|
|
181
|
+
const calls:string[]=[]
|
|
182
|
+
const f=mount(async(m,p)=>{calls.push(m);if(m==='bg.status')return {...status(),admin:false}
|
|
183
|
+
if(m==='bg.browse')return browse(p);if(m==='bg.jobs.list')return {jobs:[]};return {schedules:[]}});await settle()
|
|
184
|
+
click(f.root,backgroundCopy('en').chooseFile);await settle()
|
|
185
|
+
expect(calls).toContain('bg.browse')
|
|
186
|
+
expect(calls).not.toContain('bg.mode.set');expect(calls).not.toContain('bg.users.set');f.close()
|
|
187
|
+
})
|
|
188
|
+
|
|
189
|
+
test('jobs_busy renders a retry message in all nine locales and permits retry',async()=>{
|
|
190
|
+
for(const locale of Object.keys(backgroundCatalogs)){
|
|
191
|
+
let attempts=0
|
|
192
|
+
const f=mount(async(m)=>{
|
|
193
|
+
if(m==='bg.status')return status()
|
|
194
|
+
if(m==='bg.jobs.list'){
|
|
195
|
+
if(attempts++===0)throw {code:'jobs_busy',message:'CANARY'}
|
|
196
|
+
return {jobs:[]}
|
|
197
|
+
}
|
|
198
|
+
return {schedules:[]}
|
|
199
|
+
},locale);await settle()
|
|
200
|
+
const copy=backgroundCopy(locale)
|
|
201
|
+
expect(copy.errors.jobs_busy).toBeTruthy()
|
|
202
|
+
expect(copy.errors.jobs_busy).not.toBe(copy.errors.failed)
|
|
203
|
+
expect(f.root.querySelector('[role=alert]')?.textContent).toBe(copy.errors.jobs_busy)
|
|
204
|
+
expect(f.root.textContent).not.toContain('CANARY')
|
|
205
|
+
click(f.root,copy.refresh);await settle();expect(attempts).toBe(2)
|
|
206
|
+
f.close()
|
|
207
|
+
}
|
|
208
|
+
})
|