@nocobase/plugin-ai 2.1.0-alpha.25 → 2.1.0-alpha.27
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/build.config.ts +16 -0
- package/dist/ai/ai-employees/dara.js +1 -0
- package/dist/ai/docs/nocobase/ai/ai-quick-start.md +60 -0
- package/dist/ai/docs/nocobase/ai/claude-code/index.md +107 -0
- package/dist/ai/docs/nocobase/ai/codex/index.md +104 -0
- package/dist/ai/docs/nocobase/ai/hermes-agent/index.md +124 -0
- package/dist/ai/docs/nocobase/ai/index.md +102 -0
- package/dist/ai/docs/nocobase/ai/install-upgrade-migration.mdx +407 -0
- package/dist/ai/docs/nocobase/ai/mcp/index.md +167 -0
- package/dist/ai/docs/nocobase/ai/openclaw/index.md +112 -0
- package/dist/ai/docs/nocobase/ai/opencode/index.md +106 -0
- package/dist/ai/docs/nocobase/ai/quick-start.mdx +175 -0
- package/dist/ai/docs/nocobase/ai/workbuddy/index.md +119 -0
- package/dist/ai/docs/nocobase/ai-builder/acl.md +92 -0
- package/dist/ai/docs/nocobase/ai-builder/data-modeling.md +95 -0
- package/dist/ai/docs/nocobase/ai-builder/dsl-reconciler.md +90 -0
- package/dist/ai/docs/nocobase/ai-builder/env-bootstrap.md +116 -0
- package/dist/ai/docs/nocobase/ai-builder/index.md +127 -0
- package/dist/ai/docs/nocobase/ai-builder/plugin-manage.md +80 -0
- package/dist/ai/docs/nocobase/ai-builder/publish.md +95 -0
- package/dist/ai/docs/nocobase/ai-builder/security.md +233 -0
- package/dist/ai/docs/nocobase/ai-builder/ui-builder.md +100 -0
- package/dist/ai/docs/nocobase/ai-builder/workflow.md +171 -0
- package/dist/ai/docs/nocobase/ai-dev/capabilities.md +234 -0
- package/dist/ai/docs/nocobase/ai-dev/index.md +102 -0
- package/dist/ai/docs/nocobase/ai-dev/watermark-plugin.md +147 -0
- package/dist/ai/docs/nocobase/ai-employees/configuration/admin-configuration.md +278 -0
- package/dist/ai/docs/nocobase/ai-employees/configuration/prompt-engineering-guide.md +319 -0
- package/dist/ai/docs/nocobase/ai-employees/features/built-in-employee.md +231 -0
- package/dist/ai/docs/nocobase/ai-employees/features/collaborate.md +34 -0
- package/dist/ai/docs/nocobase/ai-employees/features/enable-ai-employee.md +20 -0
- package/dist/ai/docs/nocobase/ai-employees/features/llm-service.md +41 -0
- package/dist/ai/docs/nocobase/ai-employees/features/mcp.md +68 -0
- package/dist/ai/docs/nocobase/ai-employees/features/new-ai-employees.md +43 -0
- package/dist/ai/docs/nocobase/ai-employees/features/pick-block.md +29 -0
- package/dist/ai/docs/nocobase/ai-employees/features/skills.md +39 -0
- package/dist/ai/docs/nocobase/ai-employees/features/task.md +41 -0
- package/dist/ai/docs/nocobase/ai-employees/features/tools.md +60 -0
- package/dist/ai/docs/nocobase/ai-employees/features/web-search.md +39 -0
- package/dist/ai/docs/nocobase/ai-employees/file-manager.md +18 -0
- package/dist/ai/docs/nocobase/ai-employees/index.md +72 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/index.md +25 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base.md +82 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +29 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +32 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +24 -0
- package/dist/ai/docs/nocobase/ai-employees/permission.md +211 -0
- package/dist/ai/docs/nocobase/ai-employees/quick-start.md +89 -0
- package/dist/ai/docs/nocobase/ai-employees/scenarios/business-report.md +46 -0
- package/dist/ai/docs/nocobase/ai-employees/scenarios/viz-crm.md +248 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/employee/approval.md +31 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/employee/configuration.md +133 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/llm/chat.md +88 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/llm/multimodal-chat.md +21 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/llm/structured-output.md +59 -0
- package/dist/ai/docs/nocobase/api/acl/acl.md +7 -0
- package/dist/ai/docs/nocobase/api/app/env.md +288 -0
- package/dist/ai/docs/nocobase/api/auth/auth-manager.md +175 -0
- package/dist/ai/docs/nocobase/api/auth/auth.md +103 -0
- package/dist/ai/docs/nocobase/api/auth/base-auth.md +70 -0
- package/dist/ai/docs/nocobase/api/cache/cache-manager.md +194 -0
- package/dist/ai/docs/nocobase/api/cache/cache.md +60 -0
- package/dist/ai/docs/nocobase/api/cli/api/dynamic.md +47 -0
- package/dist/ai/docs/nocobase/api/cli/api/index.md +49 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +40 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/destroy.md +39 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/get.md +41 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/index.md +55 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/list.md +46 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/query.md +44 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/update.md +44 -0
- package/dist/ai/docs/nocobase/api/cli/app/down.md +37 -0
- package/dist/ai/docs/nocobase/api/cli/app/index.md +42 -0
- package/dist/ai/docs/nocobase/api/cli/app/logs.md +38 -0
- package/dist/ai/docs/nocobase/api/cli/app/restart.md +46 -0
- package/dist/ai/docs/nocobase/api/cli/app/start.md +47 -0
- package/dist/ai/docs/nocobase/api/cli/app/stop.md +37 -0
- package/dist/ai/docs/nocobase/api/cli/app/upgrade.md +39 -0
- package/dist/ai/docs/nocobase/api/cli/db/index.md +39 -0
- package/dist/ai/docs/nocobase/api/cli/db/logs.md +37 -0
- package/dist/ai/docs/nocobase/api/cli/db/ps.md +34 -0
- package/dist/ai/docs/nocobase/api/cli/db/start.md +36 -0
- package/dist/ai/docs/nocobase/api/cli/db/stop.md +36 -0
- package/dist/ai/docs/nocobase/api/cli/env/add.md +41 -0
- package/dist/ai/docs/nocobase/api/cli/env/auth.md +37 -0
- package/dist/ai/docs/nocobase/api/cli/env/index.md +44 -0
- package/dist/ai/docs/nocobase/api/cli/env/info.md +41 -0
- package/dist/ai/docs/nocobase/api/cli/env/list.md +33 -0
- package/dist/ai/docs/nocobase/api/cli/env/remove.md +35 -0
- package/dist/ai/docs/nocobase/api/cli/env/update.md +40 -0
- package/dist/ai/docs/nocobase/api/cli/env/use.md +32 -0
- package/dist/ai/docs/nocobase/api/cli/index.md +153 -0
- package/dist/ai/docs/nocobase/api/cli/init.md +98 -0
- package/dist/ai/docs/nocobase/api/cli/plugin/disable.md +35 -0
- package/dist/ai/docs/nocobase/api/cli/plugin/enable.md +35 -0
- package/dist/ai/docs/nocobase/api/cli/plugin/index.md +36 -0
- package/dist/ai/docs/nocobase/api/cli/plugin/list.md +34 -0
- package/dist/ai/docs/nocobase/api/cli/scaffold/index.md +34 -0
- package/dist/ai/docs/nocobase/api/cli/scaffold/migration.md +35 -0
- package/dist/ai/docs/nocobase/api/cli/scaffold/plugin.md +34 -0
- package/dist/ai/docs/nocobase/api/cli/self/check.md +34 -0
- package/dist/ai/docs/nocobase/api/cli/self/index.md +35 -0
- package/dist/ai/docs/nocobase/api/cli/self/update.md +37 -0
- package/dist/ai/docs/nocobase/api/cli/skills/check.md +33 -0
- package/dist/ai/docs/nocobase/api/cli/skills/index.md +38 -0
- package/dist/ai/docs/nocobase/api/cli/skills/install.md +36 -0
- package/dist/ai/docs/nocobase/api/cli/skills/remove.md +36 -0
- package/dist/ai/docs/nocobase/api/cli/skills/update.md +36 -0
- package/dist/ai/docs/nocobase/api/cli/source/build.md +40 -0
- package/dist/ai/docs/nocobase/api/cli/source/dev.md +44 -0
- package/dist/ai/docs/nocobase/api/cli/source/download.md +59 -0
- package/dist/ai/docs/nocobase/api/cli/source/index.md +39 -0
- package/dist/ai/docs/nocobase/api/cli/source/test.md +53 -0
- package/dist/ai/docs/nocobase/api/client/application.md +1 -0
- package/dist/ai/docs/nocobase/api/client/plugin.md +5 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/data-source-manager.md +56 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/data-source.md +79 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/i-collection-manager.md +110 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/i-collection.md +69 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/i-field.md +33 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/i-model.md +15 -0
- package/dist/ai/docs/nocobase/api/data-source-manager/i-repository.md +62 -0
- package/dist/ai/docs/nocobase/api/database/collection.md +514 -0
- package/dist/ai/docs/nocobase/api/database/field.md +558 -0
- package/dist/ai/docs/nocobase/api/database/index.md +1193 -0
- package/dist/ai/docs/nocobase/api/database/interfaces/base-interface.md +29 -0
- package/dist/ai/docs/nocobase/api/database/operators.md +808 -0
- package/dist/ai/docs/nocobase/api/database/relation-repository/belongs-to-many-repository.md +191 -0
- package/dist/ai/docs/nocobase/api/database/relation-repository/belongs-to-repository.md +4 -0
- package/dist/ai/docs/nocobase/api/database/relation-repository/has-many-repository.md +134 -0
- package/dist/ai/docs/nocobase/api/database/relation-repository/has-one-repository.md +187 -0
- package/dist/ai/docs/nocobase/api/database/relation-repository/index.md +48 -0
- package/dist/ai/docs/nocobase/api/database/repository.md +677 -0
- package/dist/ai/docs/nocobase/api/database/shared/create-options.md +22 -0
- package/dist/ai/docs/nocobase/api/database/shared/destroy-options.md +17 -0
- package/dist/ai/docs/nocobase/api/database/shared/find-one.md +9 -0
- package/dist/ai/docs/nocobase/api/database/shared/find-options.md +1 -0
- package/dist/ai/docs/nocobase/api/database/shared/transaction.md +1 -0
- package/dist/ai/docs/nocobase/api/database/shared/update-options.md +24 -0
- package/dist/ai/docs/nocobase/api/database/shared.md +8 -0
- package/dist/ai/docs/nocobase/api/flow-engine/data-source-manager.md +1 -0
- package/dist/ai/docs/nocobase/api/flow-engine/flow-context.md +176 -0
- package/dist/ai/docs/nocobase/api/flow-engine/flow-engine.md +6 -0
- package/dist/ai/docs/nocobase/api/flow-engine/flow-model.md +7 -0
- package/dist/ai/docs/nocobase/api/flow-engine/flow-resource.md +1 -0
- package/dist/ai/docs/nocobase/api/flow-engine/resource.md +384 -0
- package/dist/ai/docs/nocobase/api/index.md +4 -0
- package/dist/ai/docs/nocobase/api/logger/logger.md +165 -0
- package/dist/ai/docs/nocobase/api/sdk/auth.md +70 -0
- package/dist/ai/docs/nocobase/api/sdk/index.md +151 -0
- package/dist/ai/docs/nocobase/api/sdk/storage.md +54 -0
- package/dist/ai/docs/nocobase/api/server/app-command.md +9 -0
- package/dist/ai/docs/nocobase/api/server/application.md +1 -0
- package/dist/ai/docs/nocobase/api/server/audit-manager.md +141 -0
- package/dist/ai/docs/nocobase/api/server/context.md +17 -0
- package/dist/ai/docs/nocobase/api/server/migration.md +305 -0
- package/dist/ai/docs/nocobase/api/server/plugin.md +13 -0
- package/dist/ai/docs/nocobase/api/telemetry/metric.md +105 -0
- package/dist/ai/docs/nocobase/api/telemetry/telemetry.md +67 -0
- package/dist/ai/docs/nocobase/api/telemetry/trace.md +91 -0
- package/dist/ai/docs/nocobase/auth-verification/2fa/index.md +50 -0
- package/dist/ai/docs/nocobase/auth-verification/api-keys/index.md +44 -0
- package/dist/ai/docs/nocobase/auth-verification/auth/authenticators.md +35 -0
- package/dist/ai/docs/nocobase/auth-verification/auth/dev/api.md +112 -0
- package/dist/ai/docs/nocobase/auth-verification/auth/dev/index.md +193 -0
- package/dist/ai/docs/nocobase/auth-verification/auth/index.md +20 -0
- package/dist/ai/docs/nocobase/auth-verification/auth/password.md +127 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-cas/index.md +44 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-dingtalk/index.md +72 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-ldap/index.md +59 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-oidc/examples/google.md +27 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-oidc/examples/microsoft.md +50 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-oidc/index.md +96 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-saml/examples/google.md +49 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-saml/index.md +67 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-sms/index.md +60 -0
- package/dist/ai/docs/nocobase/auth-verification/auth-wecom/index.md +144 -0
- package/dist/ai/docs/nocobase/auth-verification/index.md +1 -0
- package/dist/ai/docs/nocobase/auth-verification/verification/dev/api.md +63 -0
- package/dist/ai/docs/nocobase/auth-verification/verification/dev/scene.md +13 -0
- package/dist/ai/docs/nocobase/auth-verification/verification/dev/sms-type.md +95 -0
- package/dist/ai/docs/nocobase/auth-verification/verification/dev/type.md +11 -0
- package/dist/ai/docs/nocobase/auth-verification/verification/index.md +37 -0
- package/dist/ai/docs/nocobase/auth-verification/verification/sms.md +71 -0
- package/dist/ai/docs/nocobase/auth-verification/verification-totp/index.md +48 -0
- package/dist/ai/docs/nocobase/calculation-engine/formula.md +323 -0
- package/dist/ai/docs/nocobase/calculation-engine/index.md +30 -0
- package/dist/ai/docs/nocobase/calculation-engine/math.md +298 -0
- package/dist/ai/docs/nocobase/changelog/2.1.0-beta-24.md +134 -0
- package/dist/ai/docs/nocobase/cluster-mode/development.md +141 -0
- package/dist/ai/docs/nocobase/cluster-mode/index.md +36 -0
- package/dist/ai/docs/nocobase/cluster-mode/kubernetes.md +386 -0
- package/dist/ai/docs/nocobase/cluster-mode/operations.md +63 -0
- package/dist/ai/docs/nocobase/cluster-mode/preparations.md +164 -0
- package/dist/ai/docs/nocobase/cluster-mode/services-splitting.md +85 -0
- package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +14 -0
- package/dist/ai/docs/nocobase/data-sources/calendar/index.md +111 -0
- package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +66 -0
- package/dist/ai/docs/nocobase/data-sources/collection-expression/collection.md +23 -0
- package/dist/ai/docs/nocobase/data-sources/collection-fdw/enable-federated.md +40 -0
- package/dist/ai/docs/nocobase/data-sources/collection-fdw/index.md +72 -0
- package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +58 -0
- package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +18 -0
- package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +12 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +11 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +11 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +9 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +21 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +12 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/m2m/index.md +54 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/m2o/index.md +42 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/o2m/index.md +46 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/o2o/index.md +70 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +22 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +22 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +9 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +9 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +72 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +36 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/field-attachment.md +21 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +17 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +115 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +19 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/data-source.md +1 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +53 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/main-vs-external-data-sources.md +165 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +18 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +18 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +18 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +40 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +18 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +121 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +30 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +100 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +22 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +101 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +42 -0
- package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +283 -0
- package/dist/ai/docs/nocobase/data-sources/development/index.md +6 -0
- package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +27 -0
- package/dist/ai/docs/nocobase/data-sources/field-china-region/index.md +19 -0
- package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +100 -0
- package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +17 -0
- package/dist/ai/docs/nocobase/data-sources/field-m2m-array/index.md +46 -0
- package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +13 -0
- package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +17 -0
- package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +36 -0
- package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +163 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/development/index.md +138 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +19 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +40 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/http-api.md +195 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/index.md +37 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/storage/aliyun-oss.md +33 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/storage/amazon-s3.md +10 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/storage/index.md +61 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/storage/local.md +20 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/storage/s3-pro.md +383 -0
- package/dist/ai/docs/nocobase/data-sources/file-manager/storage/tencent-cos.md +33 -0
- package/dist/ai/docs/nocobase/data-sources/graph-collection-manager/index.md +22 -0
- package/dist/ai/docs/nocobase/data-sources/index.md +53 -0
- package/dist/ai/docs/nocobase/data-visualization/best-practices.md +3 -0
- package/dist/ai/docs/nocobase/data-visualization/faq.md +30 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/chart-events.md +80 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/chart-options.md +100 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/context-variables.md +28 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/custom-chart-options.md +172 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/data-query.md +95 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/filters-and-linkage.md +23 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/preview-and-save.md +36 -0
- package/dist/ai/docs/nocobase/data-visualization/guide/sql-data-query.md +76 -0
- package/dist/ai/docs/nocobase/data-visualization/index.md +26 -0
- package/dist/ai/docs/nocobase/data-visualization/quick-start.md +95 -0
- package/dist/ai/docs/nocobase/database/index.md +5 -0
- package/dist/ai/docs/nocobase/development/index.md +49 -0
- package/dist/ai/docs/nocobase/email-manager/advanced/auto-save-draft.md +17 -0
- package/dist/ai/docs/nocobase/email-manager/advanced/batch-send.md +40 -0
- package/dist/ai/docs/nocobase/email-manager/advanced/label.md +18 -0
- package/dist/ai/docs/nocobase/email-manager/advanced/note.md +14 -0
- package/dist/ai/docs/nocobase/email-manager/advanced/todo.md +13 -0
- package/dist/ai/docs/nocobase/email-manager/configuration/faq.md +39 -0
- package/dist/ai/docs/nocobase/email-manager/configuration/gmail.md +198 -0
- package/dist/ai/docs/nocobase/email-manager/configuration/guide.md +56 -0
- package/dist/ai/docs/nocobase/email-manager/configuration/outlook.md +106 -0
- package/dist/ai/docs/nocobase/email-manager/index.md +11 -0
- package/dist/ai/docs/nocobase/email-manager/usage/alias.md +34 -0
- package/dist/ai/docs/nocobase/email-manager/usage/configuration.md +101 -0
- package/dist/ai/docs/nocobase/email-manager/usage/guide.md +100 -0
- package/dist/ai/docs/nocobase/email-manager/usage/signature.md +25 -0
- package/dist/ai/docs/nocobase/email-manager/usage/template.md +25 -0
- package/dist/ai/docs/nocobase/file-manager/development/index.md +172 -0
- package/dist/ai/docs/nocobase/file-manager/field-attachment.md +21 -0
- package/dist/ai/docs/nocobase/file-manager/file-collection.md +34 -0
- package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +11 -0
- package/dist/ai/docs/nocobase/file-manager/file-preview/ms-office.md +60 -0
- package/dist/ai/docs/nocobase/file-manager/http-api.md +188 -0
- package/dist/ai/docs/nocobase/file-manager/index.md +18 -0
- package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +37 -0
- package/dist/ai/docs/nocobase/file-manager/storage/amazon-s3.md +33 -0
- package/dist/ai/docs/nocobase/file-manager/storage/index.md +69 -0
- package/dist/ai/docs/nocobase/file-manager/storage/local.md +20 -0
- package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +387 -0
- package/dist/ai/docs/nocobase/file-manager/storage/tencent-cos.md +33 -0
- package/dist/ai/docs/nocobase/flow-engine/add-sub-model.md +174 -0
- package/dist/ai/docs/nocobase/flow-engine/create-flow-model.md +89 -0
- package/dist/ai/docs/nocobase/flow-engine/create-mock-client.md +85 -0
- package/dist/ai/docs/nocobase/flow-engine/definitions/action-definition.md +495 -0
- package/dist/ai/docs/nocobase/flow-engine/definitions/event-definition.md +461 -0
- package/dist/ai/docs/nocobase/flow-engine/definitions/flow-definition.md +259 -0
- package/dist/ai/docs/nocobase/flow-engine/definitions/model-definition.md +397 -0
- package/dist/ai/docs/nocobase/flow-engine/definitions/step-definition.md +403 -0
- package/dist/ai/docs/nocobase/flow-engine/event-flow.md +94 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-context.md +90 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-definition.md +5 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-engine-and-plugins.md +80 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-lifecycle.md +48 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-options.md +1 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-renderer.md +200 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-repository.md +81 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-settings.md +101 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-usage.md +1 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model-vs-react-component.md +74 -0
- package/dist/ai/docs/nocobase/flow-engine/flow-model.md +45 -0
- package/dist/ai/docs/nocobase/flow-engine/index.md +59 -0
- package/dist/ai/docs/nocobase/flow-engine/js-model/js-action.md +1 -0
- package/dist/ai/docs/nocobase/flow-engine/js-model/js-block.md +2 -0
- package/dist/ai/docs/nocobase/flow-engine/js-model/js-column.md +1 -0
- package/dist/ai/docs/nocobase/flow-engine/js-model/js-field.md +1 -0
- package/dist/ai/docs/nocobase/flow-engine/js-model/js-item.md +1 -0
- package/dist/ai/docs/nocobase/flow-engine/learning-roadmap.md +3 -0
- package/dist/ai/docs/nocobase/flow-engine/model-definition.md +63 -0
- package/dist/ai/docs/nocobase/flow-engine/observable.md +50 -0
- package/dist/ai/docs/nocobase/flow-engine/quickstart.md +310 -0
- package/dist/ai/docs/nocobase/flow-engine/register-flow-model.md +42 -0
- package/dist/ai/docs/nocobase/flow-engine/runjs-extension-points.md +249 -0
- package/dist/ai/docs/nocobase/flow-engine/ui-schema.md +272 -0
- package/dist/ai/docs/nocobase/flow-engine/uischema.md +9 -0
- package/dist/ai/docs/nocobase/flow-engine/what-is-flow-engine.md +59 -0
- package/dist/ai/docs/nocobase/get-started/deployment/cluster.md +5 -0
- package/dist/ai/docs/nocobase/get-started/deployment/common-commands/docker-compose.md +1 -0
- package/dist/ai/docs/nocobase/get-started/deployment/common-commands/pm2.md +1 -0
- package/dist/ai/docs/nocobase/get-started/deployment/internal.md +1 -0
- package/dist/ai/docs/nocobase/get-started/deployment/intranet/create-nocobase-app.mdx +386 -0
- package/dist/ai/docs/nocobase/get-started/deployment/intranet/docker.mdx +5 -0
- package/dist/ai/docs/nocobase/get-started/deployment/production.md +42 -0
- package/dist/ai/docs/nocobase/get-started/deployment/static-resource-proxy/caddy.md +1 -0
- package/dist/ai/docs/nocobase/get-started/deployment/static-resource-proxy/cdn.md +1 -0
- package/dist/ai/docs/nocobase/get-started/deployment/static-resource-proxy/nginx.md +1 -0
- package/dist/ai/docs/nocobase/get-started/how-nocobase-works.mdx +6 -0
- package/dist/ai/docs/nocobase/get-started/install-upgrade-plugins.mdx +89 -0
- package/dist/ai/docs/nocobase/get-started/installation/create-nocobase-app.mdx +230 -0
- package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +620 -0
- package/dist/ai/docs/nocobase/get-started/installation/env.md +479 -0
- package/dist/ai/docs/nocobase/get-started/installation/git.mdx +112 -0
- package/dist/ai/docs/nocobase/get-started/quickstart.md +58 -0
- package/dist/ai/docs/nocobase/get-started/system-requirements.md +88 -0
- package/dist/ai/docs/nocobase/get-started/translations.md +329 -0
- package/dist/ai/docs/nocobase/get-started/upgrading/create-nocobase-app.md +53 -0
- package/dist/ai/docs/nocobase/get-started/upgrading/docker.md +76 -0
- package/dist/ai/docs/nocobase/get-started/upgrading/git.md +61 -0
- package/dist/ai/docs/nocobase/guide/index.md +109 -0
- package/dist/ai/docs/nocobase/index.md +75 -0
- package/dist/ai/docs/nocobase/integration/api-doc/index.md +59 -0
- package/dist/ai/docs/nocobase/integration/api-keys/index.md +42 -0
- package/dist/ai/docs/nocobase/integration/api-keys/usage.md +291 -0
- package/dist/ai/docs/nocobase/integration/block-iframe/index.md +291 -0
- package/dist/ai/docs/nocobase/integration/embed/index.md +30 -0
- package/dist/ai/docs/nocobase/integration/fdw/enable-federated.md +39 -0
- package/dist/ai/docs/nocobase/integration/fdw/index.md +66 -0
- package/dist/ai/docs/nocobase/integration/index.md +85 -0
- package/dist/ai/docs/nocobase/integration/sso/index.md +135 -0
- package/dist/ai/docs/nocobase/integration/workflow-http-request/index.md +325 -0
- package/dist/ai/docs/nocobase/integration/workflow-webhook/index.md +248 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/action-settings/assign-values.md +39 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/action-settings/bind-workflow.md +43 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/action-settings/double-check.md +18 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/action-settings/edit-button.md +21 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/action-settings/edit-popup.md +33 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/action-settings/linkage-rule.md +65 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/index.md +43 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/permission.md +79 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/add-child.md +9 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/add-new.md +22 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/ai-employee.md +1 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/bulk-edit.md +54 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/bulk-update.md +40 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/custom-request.md +37 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/delete.md +20 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/duplicate.md +95 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/edit.md +25 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/export-attachments.md +46 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/export-pro.md +93 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/export.md +36 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/filter.md +34 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/import-pro.md +136 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/import.md +237 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/js-action.md +97 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/js-item.md +170 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/link.md +32 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/pop-up.md +25 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/refresh.md +4 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/submit.md +29 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/trigger-workflow.md +1 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/update-record.md +39 -0
- package/dist/ai/docs/nocobase/interface-builder/actions/types/view.md +19 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/block-delete.md +8 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/block-height.md +41 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/block-layout.md +39 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/block-linkage-rule.md +37 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/block-title.md +8 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/data-loading-method.md +15 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/data-scope.md +43 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/drag-sort.md +45 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/field-linkage-rule.md +57 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/block-settings/sorting-rule.md +30 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/calendar.md +129 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/chart.md +17 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/details.md +100 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/form.md +87 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/grid-card.md +87 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/kanban.md +141 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/list.md +91 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/table.md +159 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/filter-blocks/form.md +99 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/filter-blocks/tree.md +57 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/index.md +85 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/other-blocks/action-panel.md +41 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/other-blocks/iframe.md +195 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/other-blocks/js-block.md +113 -0
- package/dist/ai/docs/nocobase/interface-builder/blocks/other-blocks/markdown.md +67 -0
- package/dist/ai/docs/nocobase/interface-builder/event-flow.md +261 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/association-field.md +75 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/data-scope.md +48 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/default-value.md +120 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/edit-description.md +16 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/edit-title.md +12 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/edit-tooltip.md +16 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/field-component.md +27 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/number-format.md +32 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/pattern.md +52 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/required.md +35 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/show-label.md +14 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/title-field.md +28 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/validation-rules.md +48 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/generic/detail-form-item.md +68 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/generic/filter-form-item.md +29 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/generic/form-item.md +57 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/generic/table-column.md +92 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/index.md +38 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/cascade-select.md +42 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/date-picker.md +30 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/file-manager.md +14 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/js-column.md +98 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/js-field.md +139 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/js-item.md +91 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/picker.md +35 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/select.md +65 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/sub-detail.md +39 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/sub-form.md +42 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/sub-table-popup.md +64 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/sub-table.md +56 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/specific/title.md +52 -0
- package/dist/ai/docs/nocobase/interface-builder/form-drafts.md +19 -0
- package/dist/ai/docs/nocobase/interface-builder/index.md +58 -0
- package/dist/ai/docs/nocobase/interface-builder/linkage-rule.md +118 -0
- package/dist/ai/docs/nocobase/interface-builder/runjs.md +71 -0
- package/dist/ai/docs/nocobase/interface-builder/ui-templates.md +167 -0
- package/dist/ai/docs/nocobase/interface-builder/variables.md +267 -0
- package/dist/ai/docs/nocobase/log-and-monitor/logger/index.md +152 -0
- package/dist/ai/docs/nocobase/log-and-monitor/logger/overview.md +44 -0
- package/dist/ai/docs/nocobase/log-and-monitor/telemetry/exporter-http.md +23 -0
- package/dist/ai/docs/nocobase/log-and-monitor/telemetry/exporter-prometheus.md +55 -0
- package/dist/ai/docs/nocobase/log-and-monitor/telemetry/index.md +67 -0
- package/dist/ai/docs/nocobase/multi-app/multi-app/index.md +66 -0
- package/dist/ai/docs/nocobase/multi-app/multi-app/local.md +106 -0
- package/dist/ai/docs/nocobase/multi-app/multi-app/remote.md +232 -0
- package/dist/ai/docs/nocobase/multi-app/multi-space/index.md +132 -0
- package/dist/ai/docs/nocobase/notification-manager/development/api.md +152 -0
- package/dist/ai/docs/nocobase/notification-manager/development/extension.md +300 -0
- package/dist/ai/docs/nocobase/notification-manager/index.md +43 -0
- package/dist/ai/docs/nocobase/notification-manager/notification-email/index.md +32 -0
- package/dist/ai/docs/nocobase/notification-manager/notification-in-app-message/index.md +60 -0
- package/dist/ai/docs/nocobase/notification-manager/wecom/index.md +34 -0
- package/dist/ai/docs/nocobase/ops-management/backup-manager/index.mdx +191 -0
- package/dist/ai/docs/nocobase/ops-management/migration-manager/index.md +197 -0
- package/dist/ai/docs/nocobase/ops-management/release-management/index.md +52 -0
- package/dist/ai/docs/nocobase/ops-management/variables-and-secrets/index.md +271 -0
- package/dist/ai/docs/nocobase/plugin-development/ai-development.md +7 -0
- package/dist/ai/docs/nocobase/plugin-development/build.md +86 -0
- package/dist/ai/docs/nocobase/plugin-development/client/acl.md +13 -0
- package/dist/ai/docs/nocobase/plugin-development/client/appendix/cheatsheet.md +108 -0
- package/dist/ai/docs/nocobase/plugin-development/client/appendix/faq.md +297 -0
- package/dist/ai/docs/nocobase/plugin-development/client/component/i18n.md +186 -0
- package/dist/ai/docs/nocobase/plugin-development/client/component/index.md +260 -0
- package/dist/ai/docs/nocobase/plugin-development/client/component/styles-themes.md +279 -0
- package/dist/ai/docs/nocobase/plugin-development/client/component-vs-flow-model.md +135 -0
- package/dist/ai/docs/nocobase/plugin-development/client/context.md +8 -0
- package/dist/ai/docs/nocobase/plugin-development/client/ctx/common-capabilities.md +492 -0
- package/dist/ai/docs/nocobase/plugin-development/client/ctx/index.md +112 -0
- package/dist/ai/docs/nocobase/plugin-development/client/ctx/what-is-context.md +9 -0
- package/dist/ai/docs/nocobase/plugin-development/client/data-source-manager.md +8 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-action.md +274 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-block.md +201 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-field.md +171 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/fullstack-plugin.md +514 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/index.md +31 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/settings-page.md +406 -0
- package/dist/ai/docs/nocobase/plugin-development/client/flow-engine/action.md +134 -0
- package/dist/ai/docs/nocobase/plugin-development/client/flow-engine/block.md +197 -0
- package/dist/ai/docs/nocobase/plugin-development/client/flow-engine/field.md +79 -0
- package/dist/ai/docs/nocobase/plugin-development/client/flow-engine/index.md +245 -0
- package/dist/ai/docs/nocobase/plugin-development/client/i18n.md +57 -0
- package/dist/ai/docs/nocobase/plugin-development/client/index.md +58 -0
- package/dist/ai/docs/nocobase/plugin-development/client/logger.md +128 -0
- package/dist/ai/docs/nocobase/plugin-development/client/plugin.md +133 -0
- package/dist/ai/docs/nocobase/plugin-development/client/request.md +174 -0
- package/dist/ai/docs/nocobase/plugin-development/client/resource.md +8 -0
- package/dist/ai/docs/nocobase/plugin-development/client/router.md +244 -0
- package/dist/ai/docs/nocobase/plugin-development/client/test.md +14 -0
- package/dist/ai/docs/nocobase/plugin-development/common/i18n.md +135 -0
- package/dist/ai/docs/nocobase/plugin-development/dependency-management.md +136 -0
- package/dist/ai/docs/nocobase/plugin-development/index.md +97 -0
- package/dist/ai/docs/nocobase/plugin-development/languages.md +123 -0
- package/dist/ai/docs/nocobase/plugin-development/lifecycle.md +12 -0
- package/dist/ai/docs/nocobase/plugin-development/plugin-upgrade-guide.md +2 -0
- package/dist/ai/docs/nocobase/plugin-development/project-structure.md +122 -0
- package/dist/ai/docs/nocobase/plugin-development/server/acl.md +188 -0
- package/dist/ai/docs/nocobase/plugin-development/server/app.md +15 -0
- package/dist/ai/docs/nocobase/plugin-development/server/cache.md +238 -0
- package/dist/ai/docs/nocobase/plugin-development/server/collection-options.md +1470 -0
- package/dist/ai/docs/nocobase/plugin-development/server/collections.md +230 -0
- package/dist/ai/docs/nocobase/plugin-development/server/command.md +164 -0
- package/dist/ai/docs/nocobase/plugin-development/server/context.md +138 -0
- package/dist/ai/docs/nocobase/plugin-development/server/cron-job-manager.md +101 -0
- package/dist/ai/docs/nocobase/plugin-development/server/data-source-manager.md +83 -0
- package/dist/ai/docs/nocobase/plugin-development/server/database.md +135 -0
- package/dist/ai/docs/nocobase/plugin-development/server/event.md +117 -0
- package/dist/ai/docs/nocobase/plugin-development/server/i18n.md +145 -0
- package/dist/ai/docs/nocobase/plugin-development/server/index.md +37 -0
- package/dist/ai/docs/nocobase/plugin-development/server/logger.md +120 -0
- package/dist/ai/docs/nocobase/plugin-development/server/middleware.md +163 -0
- package/dist/ai/docs/nocobase/plugin-development/server/migration.md +213 -0
- package/dist/ai/docs/nocobase/plugin-development/server/plugin.md +109 -0
- package/dist/ai/docs/nocobase/plugin-development/server/resource-manager.md +236 -0
- package/dist/ai/docs/nocobase/plugin-development/server/telemetry.md +118 -0
- package/dist/ai/docs/nocobase/plugin-development/server/test.md +226 -0
- package/dist/ai/docs/nocobase/plugin-development/write-your-first-plugin.md +161 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-acl/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-bulk-edit/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-bulk-update/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-custom-request/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-duplicate/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-export/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-export-pro/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-import/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-import-pro/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-print/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-template-print/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ai/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ai-gigachat/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ai-knowledge-base/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-api-doc/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-api-keys/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-app-supervisor/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-async-task-manager/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-audit-logger/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-audit-logs/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-cas/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-dingtalk/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-ldap/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-oidc/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-saml/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-sms/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-wecom/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-backup-restore/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-backups/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-grid-card/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-iframe/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-list/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-markdown/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-multi-step-form/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-template/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-tree/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-workbench/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-calendar/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-charts/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-client/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-collection-fdw/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-collection-sql/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-collection-tree/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-comments/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-custom-brand/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-custom-variables/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-clickhouse/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-doris/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-mariadb/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-mssql/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-mysql/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-oracle/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-external-postgres/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-kingbase/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-main/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-manager/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-rest-api/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-visualization/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-visualization-echarts/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-departments/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-email-manager/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-embed/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-environment-variables/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-error-handler/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-attachment-url/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-china-region/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-code/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-component-mask/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-encryption/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-formula/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-m2m-array/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-markdown-vditor/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-sequence/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-signature/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-sort/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-file-manager/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-file-previewer-office/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-file-storage-s3-pro/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-flow-engine/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-form-drafts/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-gantt/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-graph-collection-manager/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ip-restriction/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-kanban/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-license/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-locale-tester/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-localization/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-lock-adapter-redis/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-logger/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-map/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-migration-manager/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-mobile/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-mobile-client/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-app-manager/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-app-share-collection/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-keyword-filter/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-space/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-notification-email/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-notification-in-app-message/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-notification-manager/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-password-policy/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-public-forms/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-pubsub-adapter-redis/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-queue-adapter-rabbitmq/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-queue-adapter-redis/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-record-history/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-request-encryption/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-snapshot-field/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-system-settings/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-telemetry/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-telemetry-prometheus/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-text-copy/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-theme-editor/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-two-factor-authentication/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-schema-storage/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-templates/index.md +14 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-user-data-sync/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-users/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-verification/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-verification-totp-authenticator/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workerid-allocator-redis/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-action-trigger/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-aggregate/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-approval/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-cc/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-custom-action-trigger/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-date-calculation/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-delay/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-dynamic-calculation/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-javascript/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-json-query/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-json-variable-mapping/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-loop/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-mailer/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-manual/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-notification/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-parallel/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-request/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-request-interceptor/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-response-message/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-sql/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-subflow/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-test/index.md +12 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-variable/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-webhook/index.md +15 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/preset-cluster/index.md +16 -0
- package/dist/ai/docs/nocobase/plugins/index.mdx +8 -0
- package/dist/ai/docs/nocobase/record-history/index.md +99 -0
- package/dist/ai/docs/nocobase/routes/index.md +65 -0
- package/dist/ai/docs/nocobase/runjs/context/block-model.md +90 -0
- package/dist/ai/docs/nocobase/runjs/context/collection-field.md +132 -0
- package/dist/ai/docs/nocobase/runjs/context/collection.md +100 -0
- package/dist/ai/docs/nocobase/runjs/context/data-source-manager.md +120 -0
- package/dist/ai/docs/nocobase/runjs/context/data-source.md +136 -0
- package/dist/ai/docs/nocobase/runjs/context/element.md +104 -0
- package/dist/ai/docs/nocobase/runjs/context/exit-all.md +96 -0
- package/dist/ai/docs/nocobase/runjs/context/exit.md +104 -0
- package/dist/ai/docs/nocobase/runjs/context/filter-manager.md +102 -0
- package/dist/ai/docs/nocobase/runjs/context/form.md +169 -0
- package/dist/ai/docs/nocobase/runjs/context/get-model.md +85 -0
- package/dist/ai/docs/nocobase/runjs/context/get-value.md +65 -0
- package/dist/ai/docs/nocobase/runjs/context/get-var.md +157 -0
- package/dist/ai/docs/nocobase/runjs/context/i18n.md +80 -0
- package/dist/ai/docs/nocobase/runjs/context/import-async.md +488 -0
- package/dist/ai/docs/nocobase/runjs/context/init-resource.md +74 -0
- package/dist/ai/docs/nocobase/runjs/context/libs.md +109 -0
- package/dist/ai/docs/nocobase/runjs/context/location.md +88 -0
- package/dist/ai/docs/nocobase/runjs/context/logger.md +85 -0
- package/dist/ai/docs/nocobase/runjs/context/make-resource.md +90 -0
- package/dist/ai/docs/nocobase/runjs/context/message.md +107 -0
- package/dist/ai/docs/nocobase/runjs/context/modal.md +115 -0
- package/dist/ai/docs/nocobase/runjs/context/model.md +85 -0
- package/dist/ai/docs/nocobase/runjs/context/notification.md +106 -0
- package/dist/ai/docs/nocobase/runjs/context/off.md +48 -0
- package/dist/ai/docs/nocobase/runjs/context/on.md +80 -0
- package/dist/ai/docs/nocobase/runjs/context/open-view.md +120 -0
- package/dist/ai/docs/nocobase/runjs/context/render.md +114 -0
- package/dist/ai/docs/nocobase/runjs/context/request.md +163 -0
- package/dist/ai/docs/nocobase/runjs/context/require-async.md +110 -0
- package/dist/ai/docs/nocobase/runjs/context/resource.md +92 -0
- package/dist/ai/docs/nocobase/runjs/context/route.md +76 -0
- package/dist/ai/docs/nocobase/runjs/context/router.md +111 -0
- package/dist/ai/docs/nocobase/runjs/context/set-value.md +73 -0
- package/dist/ai/docs/nocobase/runjs/context/sql.md +200 -0
- package/dist/ai/docs/nocobase/runjs/context/t.md +82 -0
- package/dist/ai/docs/nocobase/runjs/context/view.md +131 -0
- package/dist/ai/docs/nocobase/runjs/document.md +1 -0
- package/dist/ai/docs/nocobase/runjs/import-modules.md +110 -0
- package/dist/ai/docs/nocobase/runjs/index.md +65 -0
- package/dist/ai/docs/nocobase/runjs/jsx.md +84 -0
- package/dist/ai/docs/nocobase/runjs/model/form-block-model.md +1 -0
- package/dist/ai/docs/nocobase/runjs/render.md +64 -0
- package/dist/ai/docs/nocobase/runjs/resource/api-resource.md +155 -0
- package/dist/ai/docs/nocobase/runjs/resource/multi-record-resource.md +188 -0
- package/dist/ai/docs/nocobase/runjs/resource/single-record-resource.md +169 -0
- package/dist/ai/docs/nocobase/runjs/resource/sql-resource.md +170 -0
- package/dist/ai/docs/nocobase/runjs/window.md +20 -0
- package/dist/ai/docs/nocobase/security/audit-logger/index.md +101 -0
- package/dist/ai/docs/nocobase/security/guide.md +296 -0
- package/dist/ai/docs/nocobase/security/ip-restriction/index.md +56 -0
- package/dist/ai/docs/nocobase/security/password-policy/index.md +112 -0
- package/dist/ai/docs/nocobase/security/password-policy/lockout.md +26 -0
- package/dist/ai/docs/nocobase/security/token-policy/index.md +67 -0
- package/dist/ai/docs/nocobase/solution/crm/changelog.md +62 -0
- package/dist/ai/docs/nocobase/solution/crm/design.md +921 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/guide-customers-emails.md +178 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/guide-leads.md +238 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/guide-opportunities.md +248 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/guide-overview.md +210 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/guide-products-orders.md +153 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/guide-roles.md +131 -0
- package/dist/ai/docs/nocobase/solution/crm/guide/index.md +58 -0
- package/dist/ai/docs/nocobase/solution/crm/index.md +142 -0
- package/dist/ai/docs/nocobase/solution/crm/installation.md +160 -0
- package/dist/ai/docs/nocobase/solution/crm/more.md +5 -0
- package/dist/ai/docs/nocobase/solution/crm/v1.md +90 -0
- package/dist/ai/docs/nocobase/solution/ticket-system/changelog.md +30 -0
- package/dist/ai/docs/nocobase/solution/ticket-system/design.md +690 -0
- package/dist/ai/docs/nocobase/solution/ticket-system/index.md +177 -0
- package/dist/ai/docs/nocobase/solution/ticket-system/installation.md +133 -0
- package/dist/ai/docs/nocobase/solution/ticket-system/more.md +3 -0
- package/dist/ai/docs/nocobase/system-management/custom-brand/index.md +34 -0
- package/dist/ai/docs/nocobase/system-management/language-settings/index.md +13 -0
- package/dist/ai/docs/nocobase/system-management/localization/index.md +79 -0
- package/dist/ai/docs/nocobase/system-management/plugin-manager/index.md +14 -0
- package/dist/ai/docs/nocobase/system-management/system-settings/index.md +6 -0
- package/dist/ai/docs/nocobase/system-management/theme-editor/index.md +57 -0
- package/dist/ai/docs/nocobase/template-print/advanced/advanced-features.md +246 -0
- package/dist/ai/docs/nocobase/template-print/advanced/conditionals.md +431 -0
- package/dist/ai/docs/nocobase/template-print/configuration.md +76 -0
- package/dist/ai/docs/nocobase/template-print/faq.md +97 -0
- package/dist/ai/docs/nocobase/template-print/http-api.md +142 -0
- package/dist/ai/docs/nocobase/template-print/index.md +121 -0
- package/dist/ai/docs/nocobase/template-print/install.md +97 -0
- package/dist/ai/docs/nocobase/template-print/scenes.md +378 -0
- package/dist/ai/docs/nocobase/template-print/syntax/basic-usage.md +107 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/array-formatting.md +87 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/currency-formatting.md +47 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/date-formatting.md +187 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/index.md +108 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/media-field-formatting.md +35 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/number-formatting.md +203 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/text-formatting.md +333 -0
- package/dist/ai/docs/nocobase/template-print/syntax/formatters/time-interval-formatting.md +36 -0
- package/dist/ai/docs/nocobase/template-print/syntax/loops.md +451 -0
- package/dist/ai/docs/nocobase/tutorials/index.md +1 -0
- package/dist/ai/docs/nocobase/tutorials/v1/01-getting-started.md +187 -0
- package/dist/ai/docs/nocobase/tutorials/v1/02-designing-system.md +78 -0
- package/dist/ai/docs/nocobase/tutorials/v1/03-task-data.md +152 -0
- package/dist/ai/docs/nocobase/tutorials/v1/04-plugins.md +207 -0
- package/dist/ai/docs/nocobase/tutorials/v1/05-tabs-dynamic-blocks.md +135 -0
- package/dist/ai/docs/nocobase/tutorials/v1/06-user-permissions.md +190 -0
- package/dist/ai/docs/nocobase/tutorials/v1/07-workflow.md +159 -0
- package/dist/ai/docs/nocobase/tutorials/v1/08-project-overview.md +75 -0
- package/dist/ai/docs/nocobase/tutorials/v1/09-knowledge-base.md +198 -0
- package/dist/ai/docs/nocobase/tutorials/v1/10-dashboard-charts.md +234 -0
- package/dist/ai/docs/nocobase/tutorials/v1/11-dashboard-filters.md +176 -0
- package/dist/ai/docs/nocobase/tutorials/v1/12-subtasks-workhours.md +190 -0
- package/dist/ai/docs/nocobase/tutorials/v1/13-meeting-rooms.md +346 -0
- package/dist/ai/docs/nocobase/tutorials/v1/14-user-review.md +208 -0
- package/dist/ai/docs/nocobase/tutorials/v1/15-crm-lead-conversion.md +214 -0
- package/dist/ai/docs/nocobase/tutorials/v1/16-markdown-tips.md +121 -0
- package/dist/ai/docs/nocobase/tutorials/v1/17-crm-overview.md +136 -0
- package/dist/ai/docs/nocobase/tutorials/v1/18-lead-followup.md +253 -0
- package/dist/ai/docs/nocobase/tutorials/v1/19-crm-sales-cloud.md +42 -0
- package/dist/ai/docs/nocobase/tutorials/v1/20-api-keys.md +258 -0
- package/dist/ai/docs/nocobase/tutorials/v1/21-markdown-variables.md +231 -0
- package/dist/ai/docs/nocobase/tutorials/v1/22-deploy-faster.md +378 -0
- package/dist/ai/docs/nocobase/tutorials/v1/23-crm-pipeline.md +220 -0
- package/dist/ai/docs/nocobase/tutorials/v1/24-crm-demo-deploy.md +135 -0
- package/dist/ai/docs/nocobase/tutorials/v1/index.md +50 -0
- package/dist/ai/docs/nocobase/tutorials/v2/01-getting-started.md +176 -0
- package/dist/ai/docs/nocobase/tutorials/v2/02-data-modeling.md +319 -0
- package/dist/ai/docs/nocobase/tutorials/v2/03-building-pages.md +240 -0
- package/dist/ai/docs/nocobase/tutorials/v2/04-forms-and-details.md +279 -0
- package/dist/ai/docs/nocobase/tutorials/v2/05-roles-and-permissions.md +198 -0
- package/dist/ai/docs/nocobase/tutorials/v2/06-workflows.md +326 -0
- package/dist/ai/docs/nocobase/tutorials/v2/07-dashboard.md +270 -0
- package/dist/ai/docs/nocobase/tutorials/v2/index.md +93 -0
- package/dist/ai/docs/nocobase/ui-development-action/index.md +2 -0
- package/dist/ai/docs/nocobase/ui-development-action/write-an-action-plugin.md +0 -0
- package/dist/ai/docs/nocobase/ui-development-block/index.md +69 -0
- package/dist/ai/docs/nocobase/ui-development-block/write-a-block-plugin.md +116 -0
- package/dist/ai/docs/nocobase/ui-development-field/index.md +2 -0
- package/dist/ai/docs/nocobase/ui-development-field/write-a-field-plugin.md +0 -0
- package/dist/ai/docs/nocobase/users-permissions/acl/dev/permission-tab.md +68 -0
- package/dist/ai/docs/nocobase/users-permissions/acl/permissions.md +56 -0
- package/dist/ai/docs/nocobase/users-permissions/acl/role.md +43 -0
- package/dist/ai/docs/nocobase/users-permissions/acl/ui.md +239 -0
- package/dist/ai/docs/nocobase/users-permissions/acl/union.md +171 -0
- package/dist/ai/docs/nocobase/users-permissions/departments/index.md +106 -0
- package/dist/ai/docs/nocobase/users-permissions/departments/role.md +26 -0
- package/dist/ai/docs/nocobase/users-permissions/sync/dev/resource.md +63 -0
- package/dist/ai/docs/nocobase/users-permissions/sync/dev/source.md +146 -0
- package/dist/ai/docs/nocobase/users-permissions/sync/index.md +54 -0
- package/dist/ai/docs/nocobase/users-permissions/sync/sources/api.md +75 -0
- package/dist/ai/docs/nocobase/users-permissions/sync/sources/wecom.md +65 -0
- package/dist/ai/docs/nocobase/users-permissions/user.md +64 -0
- package/dist/ai/docs/nocobase/workflow/advanced/executions.md +66 -0
- package/dist/ai/docs/nocobase/workflow/advanced/options.md +33 -0
- package/dist/ai/docs/nocobase/workflow/advanced/revisions.md +25 -0
- package/dist/ai/docs/nocobase/workflow/advanced/variables.md +66 -0
- package/dist/ai/docs/nocobase/workflow/development/api.md +382 -0
- package/dist/ai/docs/nocobase/workflow/development/index.md +12 -0
- package/dist/ai/docs/nocobase/workflow/development/node.md +413 -0
- package/dist/ai/docs/nocobase/workflow/development/trigger.md +109 -0
- package/dist/ai/docs/nocobase/workflow/getting-started.md +123 -0
- package/dist/ai/docs/nocobase/workflow/index.md +43 -0
- package/dist/ai/docs/nocobase/workflow/nodes/aggregate.md +75 -0
- package/dist/ai/docs/nocobase/workflow/nodes/approval.md +172 -0
- package/dist/ai/docs/nocobase/workflow/nodes/calculation.md +45 -0
- package/dist/ai/docs/nocobase/workflow/nodes/cc.md +81 -0
- package/dist/ai/docs/nocobase/workflow/nodes/condition.md +41 -0
- package/dist/ai/docs/nocobase/workflow/nodes/create.md +49 -0
- package/dist/ai/docs/nocobase/workflow/nodes/date-calculation.md +138 -0
- package/dist/ai/docs/nocobase/workflow/nodes/delay.md +40 -0
- package/dist/ai/docs/nocobase/workflow/nodes/destroy.md +41 -0
- package/dist/ai/docs/nocobase/workflow/nodes/end.md +27 -0
- package/dist/ai/docs/nocobase/workflow/nodes/index.md +45 -0
- package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +165 -0
- package/dist/ai/docs/nocobase/workflow/nodes/json-query.md +147 -0
- package/dist/ai/docs/nocobase/workflow/nodes/json-variable-mapping.md +85 -0
- package/dist/ai/docs/nocobase/workflow/nodes/loop.md +149 -0
- package/dist/ai/docs/nocobase/workflow/nodes/mailer.md +51 -0
- package/dist/ai/docs/nocobase/workflow/nodes/manual.md +247 -0
- package/dist/ai/docs/nocobase/workflow/nodes/multi-conditions.md +95 -0
- package/dist/ai/docs/nocobase/workflow/nodes/output.md +31 -0
- package/dist/ai/docs/nocobase/workflow/nodes/parallel.md +41 -0
- package/dist/ai/docs/nocobase/workflow/nodes/query.md +46 -0
- package/dist/ai/docs/nocobase/workflow/nodes/request.md +117 -0
- package/dist/ai/docs/nocobase/workflow/nodes/response-message.md +63 -0
- package/dist/ai/docs/nocobase/workflow/nodes/response.md +27 -0
- package/dist/ai/docs/nocobase/workflow/nodes/sql.md +94 -0
- package/dist/ai/docs/nocobase/workflow/nodes/subflow.md +67 -0
- package/dist/ai/docs/nocobase/workflow/nodes/update.md +52 -0
- package/dist/ai/docs/nocobase/workflow/nodes/variable.md +104 -0
- package/dist/ai/docs/nocobase/workflow/triggers/approval.md +355 -0
- package/dist/ai/docs/nocobase/workflow/triggers/collection.md +99 -0
- package/dist/ai/docs/nocobase/workflow/triggers/custom-action.md +228 -0
- package/dist/ai/docs/nocobase/workflow/triggers/index.md +26 -0
- package/dist/ai/docs/nocobase/workflow/triggers/post-action.md +213 -0
- package/dist/ai/docs/nocobase/workflow/triggers/pre-action.md +204 -0
- package/dist/ai/docs/nocobase/workflow/triggers/schedule.md +85 -0
- package/dist/ai/docs/nocobase/workflow/triggers/webhook.md +93 -0
- package/dist/ai/skills/document-search/SKILLS.md +95 -41
- package/dist/ai/tools/sub-agents/shared.js +3 -1
- package/dist/client/119.78774f3ad953af49.js +10 -0
- package/dist/client/228.a3df2921c8beb766.js +10 -0
- package/dist/client/343.6f36d97dd122c5b6.js +10 -0
- package/dist/client/559.c119db3f985a695f.js +10 -0
- package/dist/client/646.85a5f27994307223.js +10 -0
- package/dist/client/792.2e48eab4767d662a.js +10 -0
- package/dist/client/ai-employees/ai-coding/tools/context-tools.d.ts +4 -0
- package/dist/client/ai-employees/ai-coding/ui/CodeToolCard.d.ts +17 -0
- package/dist/client/ai-employees/types.d.ts +2 -0
- package/dist/client/index.js +5 -5
- package/dist/client/llm-providers/mimo/ModelSettings.d.ts +10 -0
- package/dist/client/llm-providers/mimo/index.d.ts +10 -0
- package/dist/collections/ai-employees.d.ts +7 -0
- package/dist/collections/ai-employees.js +13 -0
- package/dist/externalVersion.js +15 -15
- package/dist/locale/en-US.json +10 -2
- package/dist/locale/zh-CN.json +10 -2
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/jsonrepair/package.json +1 -1
- package/dist/node_modules/just-bash/250.index.cjs.js +30 -0
- package/dist/node_modules/just-bash/417.index.cjs.js +19 -0
- package/dist/node_modules/just-bash/LICENSE +201 -0
- package/dist/node_modules/just-bash/dist/Bash.d.ts +229 -0
- package/dist/node_modules/just-bash/dist/ast/types.d.ts +609 -0
- package/dist/node_modules/just-bash/dist/banned-patterns-test.d.ts +1 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/alias-3GODYSFD.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/awk2-DB6QZAC5.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/base64-43M2R3GA.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/basename-KBUKWB2E.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/bash-6ZHZ6BX7.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/cat-XZIJZXKP.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chmod-N5CQATDW.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-22NDZXS5.js +33 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-26NO42TF.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-2HVFB2TU.js +287 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-3MBAUIBB.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-3Y32LPNT.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-4CFAYBLV.js +21 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-4OALHZXB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-4PRVMER6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-4VDEBYW7.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-54G6AE72.js +32 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-5G2VOPPJ.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-5WFYIUU2.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-6KZRLMG3.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-7ADG3DNO.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-7BORMNPQ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-7G3MC56B.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-A5UGPLEI.js +21 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-AAW7UMPO.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ARI4VLCN.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-AXWFPG37.js +10 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-AZ3RUDR2.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-BGGF3ELU.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-BYDV4VEF.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-CGE2EHYP.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-CM4532DS.js +36 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-CQG2HEAL.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-D5WP4CKS.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-DOXYBGNA.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-DU4S5MUI.js +13 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-EJQKHROT.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-EONWONZV.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-EPPBDXOG.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-EUXCM6C4.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-F3LGZXLQ.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-FA2CHD73.js +16 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-FLPVVSN5.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-FSZWFMB4.js +16 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-GO6FXSC4.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-GOJZHH3L.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-GTNBSMZR.js +23 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-IDGH4PGU.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ITA43A73.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-JBABAK44.js +4 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-JDNI5HBX.js +33 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-JLX6YWGA.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-JQBC3FXE.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-JTF74J6E.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-KCMUAACL.js +19 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-KGOUQS5A.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-L6XUBS6H.js +84 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LCDPWJBA.js +15 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LGJM5YFT.js +17 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LIYVQA3X.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LJKIWB5F.js +4 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LMK6G2HH.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LOJMXC4F.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-LTL632J4.js +140 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-MAVV76T4.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-MO4RPBN2.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-MRP4ZCD7.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-N43DJTSI.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-NAX7MTAR.js +21 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-NSUMEERA.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-NTW6IA45.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-OBI37ZY4.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-OOJCYVYF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ORUYSLP4.js +16 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-OXHVTSNH.js +74 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-PNI5NMXP.js +100 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-PPBQJBC2.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-PQNTKMH3.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-PS4LOXE5.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-PXVBSPBE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-RA3TG4UK.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-RBQGQWGV.js +10 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-RJSAGJQJ.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-RLNOQILG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ROJPSS6N.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-RT7TRQVZ.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-S3QAKT3R.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-S7OHMN3F.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-SGA7Y45Z.js +17 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-SXRVLCZ4.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-TEFXEYX3.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-THALLNXT.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-TTNNO45C.js +17 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-UFJFAFSS.js +28 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-V7ZOPVQS.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-VNER2XXL.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-WLBA7L7U.js +23 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-WWZVR5NN.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-WXMBDX4P.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-XXCTETRW.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-XY5HGZW5.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-YEKSVVRC.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-YLE2OYY6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-YMMJLYIX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-YTIURC67.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-YU6OGPZR.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-YWZOGBFE.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ZA4HUKJ3.js +13 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ZKC5HQYO.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ZSVBYEY4.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/chunk-ZUDPEMHG.js +63 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/clear-KRGKPFOI.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/column-XGV32UPN.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/comm-R3F3Z5DX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/cp-XH2ZB7WT.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/curl-2DCNBIKJ.js +26 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/cut-5EY2XPXX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/date-WUPBL2TL.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/diff-5NUI5BHG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/dirname-5FAOMLBL.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/du-LDAPXSGF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/echo-2MUAOGUE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/env-NTPN5QYM.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/expand-26XPP5KB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/expansion-QUT3FT7V.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/expr-G4EF4POQ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/file-MMSHRWCJ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/find-7CVMEZBO.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/flag-coverage-QMWFYZRC.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/fold-XSVNTAWH.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/grep-7BJ7HFBM.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/gzip-LHOO65AN.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/head-YMNRW3F3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/help-DVG4AAGE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/history-UUKG55YW.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/hostname-WY6RKE32.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/html-to-markdown-V6PK6S5U.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/join-Y4Q5WVVE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/jq-DVZM2CEN.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/js-exec-RWEELTC2.js +97 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/js-exec-worker.js +4380 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/ln-EGC4HRXZ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/ls-WONXDVOX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/md5sum-NCLXV2S3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/mkdir-Z47OISSR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/mv-OY7X62QC.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/nl-XH3L75DR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/od-52FBC34W.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/paste-3UVLMQ2K.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/printf-NA7DYZBO.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/pwd-6VBAPL3Y.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/python3-JUJKPBFB.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/readlink-BD5VFOC5.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/rev-UHEPS2UL.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/rg-DK6FRF6Q.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/rm-L3NZOLLG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/rmdir-5KLM4EA6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/sed-WWXBUNG3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/seq-V7KBLSQ7.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/sha1sum-BHNJ5ALF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/sha256sum-HJJ3NJ5L.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/sleep-ND6FZRZ4.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/sort-7GENYU2I.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/split-YWV64TJH.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/sqlite3-CVNFMP3Z.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/stat-XS2LXYS2.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/strings-XXKZCWY5.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/tac-T42SKDDI.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/tail-V537TDFR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/tar-GTGFEWDS.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/tee-HK2SYCAR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/time-5R4QWCYF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/timeout-Z24MNWOP.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/touch-DWKSZGOQ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/tr-4FPGAEVB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/tree-HEKABARE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/true-DP5UZP52.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/unexpand-OYZ7KOYR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/uniq-TMSAIZM3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/wc-ZIV3TFVG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/which-5PO4LAOG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/whoami-E7PN2UWC.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/worker.js +3136 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/xan-3G6YA5O6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/xan-view-6J5MMMQB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/xargs-SCYIFXOW.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/chunks/yq-CWUVVSHY.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/just-bash.js +754 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/alias-3GODYSFD.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/awk2-DB6QZAC5.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/base64-43M2R3GA.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/basename-KBUKWB2E.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/bash-6ZHZ6BX7.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/cat-XZIJZXKP.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chmod-N5CQATDW.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-22NDZXS5.js +33 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-26NO42TF.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-2HVFB2TU.js +287 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-3MBAUIBB.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-3Y32LPNT.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-4CFAYBLV.js +21 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-4OALHZXB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-4PRVMER6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-4VDEBYW7.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-54G6AE72.js +32 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-5G2VOPPJ.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-5WFYIUU2.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-6KZRLMG3.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-7ADG3DNO.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-7BORMNPQ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-7G3MC56B.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-A5UGPLEI.js +21 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-AAW7UMPO.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ARI4VLCN.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-AXWFPG37.js +10 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-AZ3RUDR2.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-BGGF3ELU.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-BYDV4VEF.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-CGE2EHYP.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-CM4532DS.js +36 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-CQG2HEAL.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-D5WP4CKS.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-DOXYBGNA.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-DU4S5MUI.js +13 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-EJQKHROT.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-EONWONZV.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-EPPBDXOG.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-EUXCM6C4.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-F3LGZXLQ.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-FA2CHD73.js +16 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-FLPVVSN5.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-FSZWFMB4.js +16 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-GO6FXSC4.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-GOJZHH3L.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-GTNBSMZR.js +23 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-HC7WB764.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-IDGH4PGU.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ITA43A73.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-JBABAK44.js +4 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-JDNI5HBX.js +33 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-JLX6YWGA.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-JQBC3FXE.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-JTF74J6E.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-KCMUAACL.js +19 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-KGOUQS5A.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-L6XUBS6H.js +84 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LCDPWJBA.js +15 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LGJM5YFT.js +17 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LIYVQA3X.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LJKIWB5F.js +4 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LMK6G2HH.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LOJMXC4F.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-LTL632J4.js +140 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-MAVV76T4.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-MO4RPBN2.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-MRP4ZCD7.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-N43DJTSI.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-NAX7MTAR.js +21 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-NSUMEERA.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-NTW6IA45.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-OBI37ZY4.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-OOJCYVYF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ORUYSLP4.js +16 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-OXHVTSNH.js +74 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-PNI5NMXP.js +100 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-PPBQJBC2.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-PQNTKMH3.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-PS4LOXE5.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-RA3TG4UK.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-RBQGQWGV.js +10 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-RJSAGJQJ.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-RLNOQILG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ROJPSS6N.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-RT7TRQVZ.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-S3QAKT3R.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-S7OHMN3F.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-SGA7Y45Z.js +17 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-SXRVLCZ4.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-TEFXEYX3.js +3 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-THALLNXT.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-TTNNO45C.js +17 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-UFJFAFSS.js +28 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-V7ZOPVQS.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-VNER2XXL.js +7 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-WLBA7L7U.js +23 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-WWZVR5NN.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-WXMBDX4P.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-XXCTETRW.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-XY5HGZW5.js +8 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-YEKSVVRC.js +11 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-YLE2OYY6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-YMMJLYIX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-YTIURC67.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-YU6OGPZR.js +5 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-YWZOGBFE.js +9 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ZA4HUKJ3.js +13 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ZKC5HQYO.js +14 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ZSVBYEY4.js +6 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/chunk-ZUDPEMHG.js +63 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/clear-KRGKPFOI.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/column-XGV32UPN.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/comm-R3F3Z5DX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/cp-XH2ZB7WT.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/curl-2DCNBIKJ.js +26 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/cut-5EY2XPXX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/date-WUPBL2TL.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/diff-5NUI5BHG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/dirname-5FAOMLBL.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/du-LDAPXSGF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/echo-2MUAOGUE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/env-NTPN5QYM.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/expand-26XPP5KB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/expansion-QUT3FT7V.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/expr-G4EF4POQ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/file-MMSHRWCJ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/find-7CVMEZBO.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/flag-coverage-QMWFYZRC.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/fold-XSVNTAWH.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/grep-7BJ7HFBM.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/gzip-LHOO65AN.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/head-YMNRW3F3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/help-DVG4AAGE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/history-UUKG55YW.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/hostname-WY6RKE32.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/html-to-markdown-V6PK6S5U.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/join-Y4Q5WVVE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/jq-DVZM2CEN.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/js-exec-AKWY6BP5.js +97 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/ln-EGC4HRXZ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/ls-WONXDVOX.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/md5sum-NCLXV2S3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/mkdir-Z47OISSR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/mv-OY7X62QC.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/nl-XH3L75DR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/od-52FBC34W.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/paste-3UVLMQ2K.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/printf-NA7DYZBO.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/pwd-6VBAPL3Y.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/python3-RRCCYJKA.js +12 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/readlink-BD5VFOC5.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/rev-UHEPS2UL.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/rg-DK6FRF6Q.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/rm-L3NZOLLG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/rmdir-5KLM4EA6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/sed-WWXBUNG3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/seq-V7KBLSQ7.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/sha1sum-BHNJ5ALF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/sha256sum-HJJ3NJ5L.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/sleep-ND6FZRZ4.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/sort-7GENYU2I.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/split-YWV64TJH.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/sqlite3-CVNFMP3Z.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/stat-XS2LXYS2.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/strings-XXKZCWY5.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/tac-T42SKDDI.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/tail-V537TDFR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/tar-GTGFEWDS.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/tee-HK2SYCAR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/time-5R4QWCYF.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/timeout-Z24MNWOP.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/touch-DWKSZGOQ.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/tr-4FPGAEVB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/tree-HEKABARE.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/true-DP5UZP52.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/unexpand-OYZ7KOYR.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/uniq-TMSAIZM3.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/wc-ZIV3TFVG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/which-5PO4LAOG.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/whoami-E7PN2UWC.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/xan-3G6YA5O6.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/xan-view-6J5MMMQB.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/xargs-SCYIFXOW.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/chunks/yq-CWUVVSHY.js +2 -0
- package/dist/node_modules/just-bash/dist/bin/shell/shell.js +733 -0
- package/dist/node_modules/just-bash/dist/browser.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/bundle/browser.js +1513 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/alias-JE7RI5QX.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/awk2-RRKCSTJR.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/base64-4YMZCVJ5.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/basename-AA2KJYZQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/bash-IJWYRKFO.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/cat-RDUMLXKC.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chmod-SYMGL4JA.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-24IMIIXA.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-3THT3N7L.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-3ZUFRYJ4.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-43RSSTFA.js +73 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-44UOCSGV.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-4GTNDTRF.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-4HHKTUW3.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-4Q4SM6WR.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-55VFSPNA.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-5PYKJV42.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-5QMZ5MUS.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-5QVNJEHU.js +8 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-5V6VZH6T.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-62RKD26F.js +20 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-64BAICW3.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-74CEPOFO.js +22 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-75FNCC7W.js +286 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-7L36YK2X.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-7TSDKFEO.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-A4HU7SVR.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-A4JSPFCI.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-A5O5YHGN.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-A65PWWJC.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-A7A2DBEE.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-A7ICOL4V.js +13 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-ALLTKNUZ.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-APT7OOP2.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-B53Y5JFV.js +8 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-BAQA74XA.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-CWQS3NFK.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-D4J545R4.js +11 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-D6CWQ5DW.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-D7MEQ3VN.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-DBKNVD4L.js +9 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-DCAAORBQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-DXB73IDG.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-EEXR5ZDP.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-EIZGF4BS.js +8 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-F23WWYKW.js +16 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-GCTKCWKD.js +3 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-GFQRA5P5.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-GJTDUJ5Q.js +10 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-GOV5EKKI.js +9 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-GXVXFKBA.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HDQ56CKY.js +15 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HJQJAYMS.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HJWBQKYG.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HL6NGDO2.js +22 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HP7NBOKN.js +20 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HWBSOZZR.js +35 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-HWKDQ44K.js +3 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-I57KEIP3.js +10 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-IPJHKYVM.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-JVPRLUMK.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-KMEYNNUA.js +15 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-KX3P26DQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-LL3S3NLB.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-LTZRCH7N.js +31 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-LWEGUNWT.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-MDDMCKUK.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-MDLLFABN.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-MHTUABJP.js +8 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-MIZPJHVH.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-MLXIYONF.js +15 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-MYE6AGBJ.js +16 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-NAERJDUW.js +8 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-NCNPKYJZ.js +2 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-NRZWEENR.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-NUFRM6SI.js +0 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-NUYSJFDK.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-OCLXQMOG.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-OCS6LSEM.js +13 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-OJDRYQWQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-PBXLG62G.js +8 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-PP6PSHAB.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-PXTK5WE2.js +20 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-PYDZ2LCK.js +16 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-PYSFUGCK.js +10 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-QCDB2VPH.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-QJ7O6ZN3.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-R6QSAL5T.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-R6VWJ2ZL.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-RAFHQYLP.js +139 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-RPNGRAAP.js +7 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-RQ254MFG.js +12 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-SDNKECQQ.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-T56QNPHK.js +14 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-TLSUDHID.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-TOMNU26N.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-TXBZCHCQ.js +5 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-U6NMAV24.js +32 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-V7TAPXDL.js +27 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-VBEY5J6R.js +99 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-VJFXDYWH.js +10 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-VOBGTVA6.js +6 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-VYOJP4TV.js +13 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-WKFATFPP.js +4 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-X2AJGDEF.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-XIZSGUXJ.js +62 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-XKQRETAK.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-XVDPCNWR.js +11 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-YSHZL3MF.js +32 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-YTNYSM6T.js +11 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-Z6LRHWXI.js +13 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/chunk-Z7JVV2SM.js +12 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/clear-5CZ5X4YR.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/column-WLPMMSTS.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/comm-5SLSESQG.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/cp-XOYR4ABJ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/curl-47BFPSFW.js +25 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/cut-OPC3VAGB.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/date-DD7FVA2V.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/diff-HJF2MPDN.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/dirname-LEMTZZFS.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/du-WO2ENHXQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/echo-O45JWWI2.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/env-5EPCWSXR.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/expand-DTNXU4LQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/expansion-UGGADTZC.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/expr-DNFUYZGY.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/file-IGDTDPLG.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/find-KNMMLVJD.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/flag-coverage-XLSDDMFQ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/fold-LDSORVYE.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/grep-2UMHPO7Y.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/gzip-AQXSGOVS.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/head-HT2B6D2J.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/help-VVWX7SA5.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/history-J4QRNGRO.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/hostname-BK6HG2DE.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/html-to-markdown-TFCECAGV.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/join-GG2LDHE5.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/jq-LCDWFF5Y.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/js-exec-VXN6TZ7U.js +96 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/js-exec-worker.js +4380 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/ln-4TRFBYAT.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/ls-KSXFZCWH.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/md5sum-INMIK4DX.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/mkdir-TDEMSB6C.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/mv-Z6MORUFL.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/nl-U5YJDM32.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/od-VJEF2UR5.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/paste-7N6AFSDS.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/printf-CX64KX2P.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/pwd-D4OZ7N27.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/python3-BFV3N3GY.js +11 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/readlink-MI4GCHJF.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/rev-XOSYPP45.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/rg-KYSTAD4Q.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/rm-RTZG23RL.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/rmdir-XTQXT7RK.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/sed-OFX3F4FE.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/seq-RN5ZUASB.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/sha1sum-VJPNLNU6.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/sha256sum-PI32XWXY.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/sleep-VZFPZFWA.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/sort-DCNRDA7U.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/split-SITCSYCZ.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/sqlite3-56UMWEY3.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/stat-BT5A227F.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/strings-7PLOGTPD.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/tac-SJGXQ4T2.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/tail-S5ULNTJU.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/tar-LYLTEJV3.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/tee-O7VXZDCO.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/time-DEUO3QV2.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/timeout-VRKMCG72.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/touch-DX2IJOQ4.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/tr-2HXZRDSW.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/tree-LYXBS7DC.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/true-WHJNXCHG.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/unexpand-RGTMIGZM.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/uniq-SUNANL47.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/wc-TQB3VNOX.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/which-XZHEH76L.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/whoami-DGKU3D2X.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/worker.js +3136 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/xan-EY6QWK2V.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/xan-view-OW2TB7Z3.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/xargs-I6EZUCYF.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/chunks/yq-M7NFNNED.js +1 -0
- package/dist/node_modules/just-bash/dist/bundle/index.cjs +70 -0
- package/dist/node_modules/just-bash/dist/bundle/index.js +709 -0
- package/dist/node_modules/just-bash/dist/commands/alias/alias.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/commands/awk/ast.d.ts +202 -0
- package/dist/node_modules/just-bash/dist/commands/awk/awk2.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/awk/builtins.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/context.d.ts +75 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/expressions.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/fields.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/index.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/interpreter.d.ts +54 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/statements.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/type-coercion.d.ts +32 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/types.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/commands/awk/interpreter/variables.d.ts +35 -0
- package/dist/node_modules/just-bash/dist/commands/awk/lexer.d.ts +100 -0
- package/dist/node_modules/just-bash/dist/commands/awk/parser2-print.d.ts +35 -0
- package/dist/node_modules/just-bash/dist/commands/awk/parser2.d.ts +81 -0
- package/dist/node_modules/just-bash/dist/commands/base64/base64.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/commands/basename/basename.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/bash/bash.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/commands/browser-excluded.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/commands/cat/cat.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/chmod/chmod.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/clear/clear.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/column/column.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/comm/comm.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/cp/cp.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/curl/curl.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/curl/form.d.ts +21 -0
- package/dist/node_modules/just-bash/dist/commands/curl/help.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/curl/parse.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/curl/response-formatting.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/commands/curl/types.d.ts +31 -0
- package/dist/node_modules/just-bash/dist/commands/cut/cut.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/date/date.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/commands/diff/diff.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/commands/dirname/dirname.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/du/du.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/duration.d.ts +5 -0
- package/dist/node_modules/just-bash/dist/commands/echo/echo.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/env/env.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/commands/expand/expand.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/expand/unexpand.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/expr/expr.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/file/file.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/find/find.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/find/matcher.d.ts +69 -0
- package/dist/node_modules/just-bash/dist/commands/find/parser.d.ts +2 -0
- package/dist/node_modules/just-bash/dist/commands/find/types.d.ts +88 -0
- package/dist/node_modules/just-bash/dist/commands/flag-coverage.d.ts +2 -0
- package/dist/node_modules/just-bash/dist/commands/fold/fold.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/format-mode.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/fuzz-flags-types.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/commands/fuzz-flags.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/grep/grep.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/gzip/gzip.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/commands/head/head-tail-shared.d.ts +38 -0
- package/dist/node_modules/just-bash/dist/commands/head/head.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/help/help.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/help.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/commands/history/history.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/hostname/hostname.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/html-to-markdown/html-to-markdown.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/join/join.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/jq/jq.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/js-exec/fetch-polyfill.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/commands/js-exec/js-exec-worker.d.ts +30 -0
- package/dist/node_modules/just-bash/dist/commands/js-exec/js-exec.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/js-exec/module-shims.d.ts +29 -0
- package/dist/node_modules/just-bash/dist/commands/js-exec/path-polyfill.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/commands/ln/ln.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/ls/ls.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/md5sum/checksum.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/commands/md5sum/md5sum.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/md5sum/sha1sum.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/md5sum/sha256sum.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/mkdir/mkdir.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/mv/mv.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/nl/nl.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/od/od.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/paste/paste.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/printf/escapes.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/commands/printf/printf.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/printf/strftime.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/pwd/pwd.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/python3/python3.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/commands/python3/worker.d.ts +28 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/index.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/evaluator.d.ts +40 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/index.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/parser-types.d.ts +171 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/parser.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/path-operations.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/safe-object.d.ts +83 -0
- package/dist/node_modules/just-bash/dist/commands/query-engine/value-operations.d.ts +41 -0
- package/dist/node_modules/just-bash/dist/commands/readlink/readlink.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/registry.d.ts +56 -0
- package/dist/node_modules/just-bash/dist/commands/rev/rev.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/commands/rg/file-types.d.ts +49 -0
- package/dist/node_modules/just-bash/dist/commands/rg/gitignore.d.ts +98 -0
- package/dist/node_modules/just-bash/dist/commands/rg/rg-options.d.ts +61 -0
- package/dist/node_modules/just-bash/dist/commands/rg/rg-parser.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/commands/rg/rg-search.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/rg/rg.d.ts +14 -0
- package/dist/node_modules/just-bash/dist/commands/rm/rm.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/rmdir/rmdir.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/search-engine/index.d.ts +10 -0
- package/dist/node_modules/just-bash/dist/commands/search-engine/matcher.d.ts +60 -0
- package/dist/node_modules/just-bash/dist/commands/search-engine/regex.d.ts +33 -0
- package/dist/node_modules/just-bash/dist/commands/sed/executor.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/commands/sed/lexer.d.ts +86 -0
- package/dist/node_modules/just-bash/dist/commands/sed/parser.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/commands/sed/sed-regex.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/commands/sed/sed.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/sed/types.d.ts +216 -0
- package/dist/node_modules/just-bash/dist/commands/seq/seq.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/commands/sleep/sleep.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/sort/comparator.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/commands/sort/parser.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/sort/sort.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/sort/types.d.ts +30 -0
- package/dist/node_modules/just-bash/dist/commands/split/split.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/sqlite3/formatters.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/sqlite3/sqlite3.d.ts +22 -0
- package/dist/node_modules/just-bash/dist/commands/sqlite3/worker.d.ts +45 -0
- package/dist/node_modules/just-bash/dist/commands/stat/stat.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/strings/strings.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/tac/tac.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/tail/tail.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/tar/archive.d.ts +135 -0
- package/dist/node_modules/just-bash/dist/commands/tar/bzip2-compress.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/commands/tar/tar-options.d.ts +37 -0
- package/dist/node_modules/just-bash/dist/commands/tar/tar.d.ts +10 -0
- package/dist/node_modules/just-bash/dist/commands/tee/tee.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/time/time.d.ts +27 -0
- package/dist/node_modules/just-bash/dist/commands/timeout/timeout.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/touch/touch.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/tr/tr.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/tree/tree.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/true/true.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/commands/uniq/uniq.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/wc/wc.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/which/which.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/whoami/whoami.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/worker-bridge/bridge-handler.d.ts +71 -0
- package/dist/node_modules/just-bash/dist/commands/worker-bridge/protocol.d.ts +140 -0
- package/dist/node_modules/just-bash/dist/commands/worker-bridge/sync-backend.d.ts +81 -0
- package/dist/node_modules/just-bash/dist/commands/xan/aggregation.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/commands/xan/column-selection.d.ts +19 -0
- package/dist/node_modules/just-bash/dist/commands/xan/csv.d.ts +37 -0
- package/dist/node_modules/just-bash/dist/commands/xan/moonblade-parser.d.ts +80 -0
- package/dist/node_modules/just-bash/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/commands/xan/subcommands.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-agg.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-columns.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-core.d.ts +10 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-data.d.ts +52 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-filter.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-map.d.ts +11 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-reshape.d.ts +40 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-simple.d.ts +40 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan-view.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/commands/xan/xan.d.ts +10 -0
- package/dist/node_modules/just-bash/dist/commands/xargs/xargs.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/commands/yq/formats.d.ts +64 -0
- package/dist/node_modules/just-bash/dist/commands/yq/yq.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/custom-commands.d.ts +42 -0
- package/dist/node_modules/just-bash/dist/fs/encoding.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/fs/in-memory-fs/in-memory-fs.d.ts +73 -0
- package/dist/node_modules/just-bash/dist/fs/in-memory-fs/index.d.ts +1 -0
- package/dist/node_modules/just-bash/dist/fs/init.d.ts +22 -0
- package/dist/node_modules/just-bash/dist/fs/interface.d.ts +229 -0
- package/dist/node_modules/just-bash/dist/fs/mountable-fs/index.d.ts +1 -0
- package/dist/node_modules/just-bash/dist/fs/mountable-fs/mountable-fs.d.ts +116 -0
- package/dist/node_modules/just-bash/dist/fs/overlay-fs/index.d.ts +1 -0
- package/dist/node_modules/just-bash/dist/fs/overlay-fs/overlay-fs.d.ts +163 -0
- package/dist/node_modules/just-bash/dist/fs/path-utils.d.ts +46 -0
- package/dist/node_modules/just-bash/dist/fs/read-write-fs/index.d.ts +1 -0
- package/dist/node_modules/just-bash/dist/fs/read-write-fs/read-write-fs.d.ts +96 -0
- package/dist/node_modules/just-bash/dist/fs/real-fs-utils.d.ts +90 -0
- package/dist/node_modules/just-bash/dist/fs/sanitize-error.d.ts +19 -0
- package/dist/node_modules/just-bash/dist/index.d.cts +27 -0
- package/dist/node_modules/just-bash/dist/index.d.ts +27 -0
- package/dist/node_modules/just-bash/dist/interpreter/alias-expansion.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/interpreter/arithmetic.d.ts +24 -0
- package/dist/node_modules/just-bash/dist/interpreter/assignment-expansion.d.ts +24 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtin-dispatch.d.ts +39 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/break.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/cd.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/compgen.d.ts +26 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/complete.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/compopt.d.ts +28 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/continue.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/declare-print.d.ts +39 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/declare.d.ts +35 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/dirs.d.ts +29 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/eval.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/exit.d.ts +5 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/export.d.ts +14 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/getopts.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/hash.d.ts +19 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/help.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/index.d.ts +45 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/let.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/local.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/mapfile.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/read.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/return.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/set.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/shift.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/shopt.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/source.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/unset.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
- package/dist/node_modules/just-bash/dist/interpreter/command-resolution.d.ts +43 -0
- package/dist/node_modules/just-bash/dist/interpreter/conditionals.d.ts +17 -0
- package/dist/node_modules/just-bash/dist/interpreter/control-flow.d.ts +21 -0
- package/dist/node_modules/just-bash/dist/interpreter/defense-aware-command-context.d.ts +6 -0
- package/dist/node_modules/just-bash/dist/interpreter/errors.d.ts +158 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/analysis.d.ts +37 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/brace-range.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/command-substitution.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/glob-escape.d.ts +32 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/pattern.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/positional-params.d.ts +59 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/prompt.d.ts +39 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/quoting.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/tilde.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/variable.d.ts +36 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion/word-split.d.ts +29 -0
- package/dist/node_modules/just-bash/dist/interpreter/expansion.d.ts +53 -0
- package/dist/node_modules/just-bash/dist/interpreter/functions.d.ts +12 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/array.d.ts +43 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/condition.d.ts +22 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/errors.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/file-tests.d.ts +33 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/ifs.d.ts +104 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/loop.d.ts +24 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/nameref.d.ts +65 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/numeric-compare.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/quoting.d.ts +24 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/readonly.d.ts +45 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/regex.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/result.d.ts +60 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/shell-constants.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/shellopts.d.ts +28 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/statements.d.ts +20 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/string-compare.d.ts +24 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/string-tests.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/tilde.d.ts +13 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/variable-tests.d.ts +9 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/word-matching.d.ts +26 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/word-parts.d.ts +22 -0
- package/dist/node_modules/just-bash/dist/interpreter/helpers/xtrace.d.ts +18 -0
- package/dist/node_modules/just-bash/dist/interpreter/index.d.ts +3 -0
- package/dist/node_modules/just-bash/dist/interpreter/interpreter.d.ts +77 -0
- package/dist/node_modules/just-bash/dist/interpreter/pipeline-execution.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/interpreter/redirections.d.ts +51 -0
- package/dist/node_modules/just-bash/dist/interpreter/simple-command-assignments.d.ts +29 -0
- package/dist/node_modules/just-bash/dist/interpreter/subshell-group.d.ts +32 -0
- package/dist/node_modules/just-bash/dist/interpreter/type-command.d.ts +37 -0
- package/dist/node_modules/just-bash/dist/interpreter/types.d.ts +344 -0
- package/dist/node_modules/just-bash/dist/limits.d.ts +52 -0
- package/dist/node_modules/just-bash/dist/network/allow-list/shared.d.ts +57 -0
- package/dist/node_modules/just-bash/dist/network/allow-list.d.ts +59 -0
- package/dist/node_modules/just-bash/dist/network/fetch.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/network/index.d.ts +7 -0
- package/dist/node_modules/just-bash/dist/network/types.d.ts +155 -0
- package/dist/node_modules/just-bash/dist/parser/arithmetic-parser.d.ts +23 -0
- package/dist/node_modules/just-bash/dist/parser/arithmetic-primaries.d.ts +45 -0
- package/dist/node_modules/just-bash/dist/parser/command-parser.d.ts +10 -0
- package/dist/node_modules/just-bash/dist/parser/compound-parser.d.ts +28 -0
- package/dist/node_modules/just-bash/dist/parser/conditional-parser.d.ts +8 -0
- package/dist/node_modules/just-bash/dist/parser/expansion-parser.d.ts +16 -0
- package/dist/node_modules/just-bash/dist/parser/lexer.d.ts +197 -0
- package/dist/node_modules/just-bash/dist/parser/parser-substitution.d.ts +62 -0
- package/dist/node_modules/just-bash/dist/parser/parser.d.ts +135 -0
- package/dist/node_modules/just-bash/dist/parser/types.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/parser/word-parser.d.ts +33 -0
- package/dist/node_modules/just-bash/dist/sandbox/Command.d.ts +35 -0
- package/dist/node_modules/just-bash/dist/sandbox/Sandbox.d.ts +90 -0
- package/dist/node_modules/just-bash/dist/sandbox/index.d.ts +2 -0
- package/dist/node_modules/just-bash/dist/shell-metadata.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/timers.d.ts +4 -0
- package/dist/node_modules/just-bash/dist/types.d.ts +198 -0
- package/dist/node_modules/just-bash/dist/utils/args.d.ts +55 -0
- package/dist/node_modules/just-bash/dist/utils/constants.d.ts +15 -0
- package/dist/node_modules/just-bash/dist/utils/file-reader.d.ts +67 -0
- package/dist/node_modules/just-bash/dist/utils/glob.d.ts +25 -0
- package/dist/node_modules/just-bash/dist/vitest-setup.d.ts +1 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/GzipHandler.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/GzipHandler.js +19 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/ZipHandler.d.ts +26 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/ZipHandler.js +233 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/ZipToken.d.ts +94 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/ZipToken.js +117 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/index.d.ts +3 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/lib/index.js +2 -0
- package/dist/node_modules/just-bash/node_modules/@tokenizer/inflate/package.json +76 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/dist/commonjs/index.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/dist/commonjs/index.js +59 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/dist/commonjs/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/dist/esm/index.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/dist/esm/index.js +54 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/dist/esm/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/balanced-match/package.json +68 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/dist/commonjs/index.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/dist/esm/index.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/dist/esm/index.js +197 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/dist/esm/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/brace-expansion/package.json +64 -0
- package/dist/node_modules/just-bash/node_modules/debug/package.json +64 -0
- package/dist/node_modules/just-bash/node_modules/debug/src/browser.js +272 -0
- package/dist/node_modules/just-bash/node_modules/debug/src/common.js +292 -0
- package/dist/node_modules/just-bash/node_modules/debug/src/index.js +10 -0
- package/dist/node_modules/just-bash/node_modules/debug/src/node.js +263 -0
- package/dist/node_modules/just-bash/node_modules/diff/dist/diff.js +1782 -0
- package/dist/node_modules/just-bash/node_modules/diff/dist/diff.min.js +1 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/convert/dmp.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/convert/dmp.js +24 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/convert/xml.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/convert/xml.js +34 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/array.d.ts +19 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/array.js +40 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/base.d.ts +20 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/base.js +265 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/character.d.ts +19 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/character.js +31 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/css.d.ts +18 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/css.js +34 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/json.d.ts +24 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/json.js +105 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/line.d.ts +24 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/line.js +89 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/sentence.d.ts +21 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/sentence.js +67 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/word.d.ts +35 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/diff/word.js +312 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/index.d.ts +20 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/index.js +64 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/package.json +1 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/apply.d.ts +62 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/apply.js +267 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/create.d.ts +122 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/create.js +251 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/line-endings.d.ts +17 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/line-endings.js +61 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/parse.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/parse.js +150 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/reverse.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/patch/reverse.js +37 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/types.d.ts +213 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/array.d.ts +3 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/array.js +21 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/distance-iterator.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/distance-iterator.js +40 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/params.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/params.js +17 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/string.d.ts +30 -0
- package/dist/node_modules/just-bash/node_modules/diff/libcjs/util/string.js +200 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/convert/dmp.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/convert/dmp.js +21 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/convert/xml.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/convert/xml.js +31 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/array.d.ts +19 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/array.js +16 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/base.d.ts +20 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/base.js +253 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/character.d.ts +19 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/character.js +7 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/css.d.ts +18 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/css.js +10 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/json.d.ts +24 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/json.js +78 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/line.d.ts +24 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/line.js +65 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/sentence.d.ts +21 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/sentence.js +43 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/word.d.ts +35 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/diff/word.js +281 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/index.d.ts +20 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/index.js +30 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/package.json +1 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/apply.d.ts +62 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/apply.js +257 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/create.d.ts +122 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/create.js +228 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/line-endings.d.ts +17 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/line-endings.js +44 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/parse.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/parse.js +147 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/reverse.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/patch/reverse.js +23 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/types.d.ts +213 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/types.js +1 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/array.d.ts +3 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/array.js +17 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/distance-iterator.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/distance-iterator.js +37 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/params.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/params.js +14 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/string.d.ts +30 -0
- package/dist/node_modules/just-bash/node_modules/diff/libesm/util/string.js +184 -0
- package/dist/node_modules/just-bash/node_modules/diff/package.json +130 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/lib/fxp.d.cts +458 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/lib/fxvalidator.min.js +2 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/package.json +92 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/cli/cli.js +97 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/cli/man.js +17 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/cli/read.js +43 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/fxp.d.ts +445 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/fxp.js +14 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/ignoreAttributes.js +18 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/util.js +68 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +16 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +104 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +61 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +69 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +103 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +100 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +154 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +94 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/TagPath.js +81 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +13 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/XMLParser.js +83 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +235 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +210 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +111 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +116 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +121 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +105 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +22 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +19 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +38 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +13 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +14 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +6 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/validator.js +425 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +285 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +134 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlbuilder/prettifyJs2Xml.js +0 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +379 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +46 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +629 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +71 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlparser/node2json.js +119 -0
- package/dist/node_modules/just-bash/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +40 -0
- package/dist/node_modules/just-bash/node_modules/file-type/core.d.ts +253 -0
- package/dist/node_modules/just-bash/node_modules/file-type/core.js +2899 -0
- package/dist/node_modules/just-bash/node_modules/file-type/index.d.ts +98 -0
- package/dist/node_modules/just-bash/node_modules/file-type/index.js +163 -0
- package/dist/node_modules/just-bash/node_modules/file-type/license +9 -0
- package/dist/node_modules/just-bash/node_modules/file-type/package.json +290 -0
- package/dist/node_modules/just-bash/node_modules/file-type/supported.js +360 -0
- package/dist/node_modules/just-bash/node_modules/file-type/util.js +60 -0
- package/dist/node_modules/just-bash/node_modules/ini/lib/ini.js +280 -0
- package/dist/node_modules/just-bash/node_modules/ini/package.json +45 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/ast.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/ast.js +845 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/index.d.ts +174 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/index.js +1127 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/ast.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/ast.js +841 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/index.d.ts +174 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/index.js +1114 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/dist/node_modules/just-bash/node_modules/minimatch/package.json +73 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/.gitattributes +4 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/package.json +35 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/src/sprintf.js +231 -0
- package/dist/node_modules/just-bash/node_modules/strnum/package.json +31 -0
- package/dist/node_modules/just-bash/node_modules/strnum/strnum.js +161 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/LICENSE.txt +21 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/AbstractTokenizer.d.ts +76 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/AbstractTokenizer.js +111 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/BlobTokenizer.d.ts +29 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/BlobTokenizer.js +53 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/BufferTokenizer.d.ts +29 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/BufferTokenizer.js +52 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/FileTokenizer.d.ts +37 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/FileTokenizer.js +61 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +34 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/ReadStreamTokenizer.js +107 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/core.d.ts +40 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/core.js +62 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/index.d.ts +16 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/index.js +22 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +54 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/AbstractStreamReader.js +71 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/Deferred.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/Deferred.js +10 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/Errors.d.ts +10 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/Errors.js +16 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/StreamReader.d.ts +29 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/StreamReader.js +83 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +14 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamByobReader.js +27 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +19 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +62 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +14 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamReader.js +13 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +5 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +19 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/index.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/stream/index.js +5 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/types.d.ts +139 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/lib/types.js +1 -0
- package/dist/node_modules/just-bash/node_modules/strtok3/package.json +94 -0
- package/dist/node_modules/just-bash/node_modules/token-types/LICENSE.txt +9 -0
- package/dist/node_modules/just-bash/node_modules/token-types/lib/index.d.ts +135 -0
- package/dist/node_modules/just-bash/node_modules/token-types/lib/index.js +401 -0
- package/dist/node_modules/just-bash/node_modules/token-types/package.json +81 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/composer.js +217 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/errors.js +57 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/index.js +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/log.js +11 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/Alias.js +114 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/lexer.js +717 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/parse/parser.js +967 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +64 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/util.js +11 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/dist/visit.js +233 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/index.js +5 -0
- package/dist/node_modules/just-bash/node_modules/yaml/browser/package.json +3 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/cli.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/composer.js +222 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/Document.js +337 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/doc/directives.js +178 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/errors.d.ts +21 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/errors.js +62 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/index.d.ts +25 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/index.js +50 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/log.d.ts +3 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/log.js +19 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Alias.js +116 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Scalar.d.ts +43 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/options.d.ts +350 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/cst.js +112 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/lexer.js +719 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/parse/parser.js +972 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/public-api.js +107 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/tags.js +99 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/merge.js +68 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/test-events.js +134 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/util.d.ts +16 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/util.js +28 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/visit.d.ts +102 -0
- package/dist/node_modules/just-bash/node_modules/yaml/dist/visit.js +236 -0
- package/dist/node_modules/just-bash/node_modules/yaml/package.json +97 -0
- package/dist/node_modules/just-bash/node_modules/yaml/util.js +2 -0
- package/dist/node_modules/just-bash/package.json +1 -0
- package/dist/node_modules/just-bash/vendor/cpython-emscripten/python.cjs +2 -0
- package/dist/node_modules/just-bash/vendor/cpython-emscripten/python.wasm +0 -0
- package/dist/node_modules/just-bash/vendor/cpython-emscripten/python313.zip +0 -0
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-employee.js +9 -3
- package/dist/server/llm-providers/common/reasoning.d.ts +0 -7
- package/dist/server/llm-providers/common/reasoning.js +18 -36
- package/dist/server/llm-providers/mimo.d.ts +37 -0
- package/dist/server/llm-providers/mimo.js +156 -0
- package/dist/server/migrations/20260428175558-update-ai-employee-category.d.ts +14 -0
- package/dist/server/migrations/20260428175558-update-ai-employee-category.js +55 -0
- package/dist/server/migrations/20260429175132-ai-employee-deprecated-orin.d.ts +14 -0
- package/dist/server/migrations/20260429175132-ai-employee-deprecated-orin.js +53 -0
- package/dist/server/plugin.d.ts +2 -0
- package/dist/server/plugin.js +5 -3
- package/dist/server/resource/aiEmployees.js +10 -1
- package/dist/server/tools/docs.d.ts +7 -24
- package/dist/server/tools/docs.js +197 -400
- package/npm-shims/@mongodb-js/zstd/index.d.ts +2 -0
- package/npm-shims/@mongodb-js/zstd/index.js +6 -0
- package/npm-shims/@mongodb-js/zstd/package.json +9 -0
- package/npm-shims/node-liblzma/index.js +10 -0
- package/npm-shims/node-liblzma/package.json +9 -0
- package/package.json +4 -2
- package/dist/client/228.b18148eb1009d2fb.js +0 -10
- package/dist/client/343.83f7d96664e4e038.js +0 -10
- package/dist/client/559.133d286a0a0a1d93.js +0 -10
- package/dist/client/646.cba98d80e9e6ea74.js +0 -10
- package/dist/client/792.ae8ad1fcae9fd974.js +0 -10
- package/dist/node_modules/fast-glob/LICENSE +0 -21
- package/dist/node_modules/fast-glob/out/index.d.ts +0 -40
- package/dist/node_modules/fast-glob/out/index.js +0 -37
- package/dist/node_modules/fast-glob/out/managers/tasks.d.ts +0 -22
- package/dist/node_modules/fast-glob/out/managers/tasks.js +0 -110
- package/dist/node_modules/fast-glob/out/providers/async.d.ts +0 -9
- package/dist/node_modules/fast-glob/out/providers/async.js +0 -23
- package/dist/node_modules/fast-glob/out/providers/filters/deep.d.ts +0 -16
- package/dist/node_modules/fast-glob/out/providers/filters/deep.js +0 -62
- package/dist/node_modules/fast-glob/out/providers/filters/entry.d.ts +0 -16
- package/dist/node_modules/fast-glob/out/providers/filters/entry.js +0 -63
- package/dist/node_modules/fast-glob/out/providers/filters/error.d.ts +0 -8
- package/dist/node_modules/fast-glob/out/providers/filters/error.js +0 -15
- package/dist/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +0 -33
- package/dist/node_modules/fast-glob/out/providers/matchers/matcher.js +0 -45
- package/dist/node_modules/fast-glob/out/providers/matchers/partial.d.ts +0 -4
- package/dist/node_modules/fast-glob/out/providers/matchers/partial.js +0 -38
- package/dist/node_modules/fast-glob/out/providers/provider.d.ts +0 -19
- package/dist/node_modules/fast-glob/out/providers/provider.js +0 -48
- package/dist/node_modules/fast-glob/out/providers/stream.d.ts +0 -11
- package/dist/node_modules/fast-glob/out/providers/stream.js +0 -31
- package/dist/node_modules/fast-glob/out/providers/sync.d.ts +0 -9
- package/dist/node_modules/fast-glob/out/providers/sync.js +0 -23
- package/dist/node_modules/fast-glob/out/providers/transformers/entry.d.ts +0 -8
- package/dist/node_modules/fast-glob/out/providers/transformers/entry.js +0 -26
- package/dist/node_modules/fast-glob/out/readers/async.d.ts +0 -10
- package/dist/node_modules/fast-glob/out/readers/async.js +0 -35
- package/dist/node_modules/fast-glob/out/readers/reader.d.ts +0 -15
- package/dist/node_modules/fast-glob/out/readers/reader.js +0 -33
- package/dist/node_modules/fast-glob/out/readers/stream.d.ts +0 -14
- package/dist/node_modules/fast-glob/out/readers/stream.js +0 -55
- package/dist/node_modules/fast-glob/out/readers/sync.d.ts +0 -12
- package/dist/node_modules/fast-glob/out/readers/sync.js +0 -43
- package/dist/node_modules/fast-glob/out/settings.d.ts +0 -164
- package/dist/node_modules/fast-glob/out/settings.js +0 -59
- package/dist/node_modules/fast-glob/out/types/index.d.ts +0 -31
- package/dist/node_modules/fast-glob/out/utils/array.d.ts +0 -2
- package/dist/node_modules/fast-glob/out/utils/array.js +0 -22
- package/dist/node_modules/fast-glob/out/utils/errno.d.ts +0 -2
- package/dist/node_modules/fast-glob/out/utils/errno.js +0 -7
- package/dist/node_modules/fast-glob/out/utils/fs.d.ts +0 -4
- package/dist/node_modules/fast-glob/out/utils/fs.js +0 -19
- package/dist/node_modules/fast-glob/out/utils/index.d.ts +0 -8
- package/dist/node_modules/fast-glob/out/utils/index.js +0 -17
- package/dist/node_modules/fast-glob/out/utils/path.d.ts +0 -13
- package/dist/node_modules/fast-glob/out/utils/path.js +0 -68
- package/dist/node_modules/fast-glob/out/utils/pattern.d.ts +0 -47
- package/dist/node_modules/fast-glob/out/utils/pattern.js +0 -188
- package/dist/node_modules/fast-glob/out/utils/stream.d.ts +0 -4
- package/dist/node_modules/fast-glob/out/utils/stream.js +0 -17
- package/dist/node_modules/fast-glob/out/utils/string.d.ts +0 -2
- package/dist/node_modules/fast-glob/out/utils/string.js +0 -11
- package/dist/node_modules/fast-glob/package.json +0 -1
- package/dist/node_modules/flexsearch/LICENSE +0 -201
- package/dist/node_modules/flexsearch/dist/db/clickhouse/index.cjs +0 -727
- package/dist/node_modules/flexsearch/dist/db/indexeddb/index.cjs +0 -680
- package/dist/node_modules/flexsearch/dist/db/mongodb/index.cjs +0 -710
- package/dist/node_modules/flexsearch/dist/db/postgres/index.cjs +0 -932
- package/dist/node_modules/flexsearch/dist/db/redis/index.cjs +0 -591
- package/dist/node_modules/flexsearch/dist/db/sqlite/index.cjs +0 -871
- package/dist/node_modules/flexsearch/dist/flexsearch.bundle.debug.js +0 -2926
- package/dist/node_modules/flexsearch/dist/flexsearch.bundle.min.js +0 -8
- package/dist/node_modules/flexsearch/dist/flexsearch.bundle.module.debug.js +0 -2922
- package/dist/node_modules/flexsearch/dist/flexsearch.bundle.module.min.js +0 -108
- package/dist/node_modules/flexsearch/dist/flexsearch.compact.debug.js +0 -1652
- package/dist/node_modules/flexsearch/dist/flexsearch.compact.min.js +0 -58
- package/dist/node_modules/flexsearch/dist/flexsearch.compact.module.debug.js +0 -1648
- package/dist/node_modules/flexsearch/dist/flexsearch.compact.module.min.js +0 -59
- package/dist/node_modules/flexsearch/dist/flexsearch.es5.debug.js +0 -3944
- package/dist/node_modules/flexsearch/dist/flexsearch.es5.min.js +0 -144
- package/dist/node_modules/flexsearch/dist/flexsearch.light.debug.js +0 -651
- package/dist/node_modules/flexsearch/dist/flexsearch.light.min.js +0 -28
- package/dist/node_modules/flexsearch/dist/flexsearch.light.module.debug.js +0 -647
- package/dist/node_modules/flexsearch/dist/flexsearch.light.module.min.js +0 -29
- package/dist/node_modules/flexsearch/dist/lang/de.min.js +0 -2
- package/dist/node_modules/flexsearch/dist/lang/en.min.js +0 -2
- package/dist/node_modules/flexsearch/dist/lang/fr.min.js +0 -3
- package/dist/node_modules/flexsearch/dist/module/async.js +0 -72
- package/dist/node_modules/flexsearch/dist/module/bundle.js +0 -330
- package/dist/node_modules/flexsearch/dist/module/cache.js +0 -118
- package/dist/node_modules/flexsearch/dist/module/charset/cjk.js +0 -8
- package/dist/node_modules/flexsearch/dist/module/charset/exact.js +0 -10
- package/dist/node_modules/flexsearch/dist/module/charset/latin/advanced.js +0 -15
- package/dist/node_modules/flexsearch/dist/module/charset/latin/balance.js +0 -10
- package/dist/node_modules/flexsearch/dist/module/charset/latin/extra.js +0 -14
- package/dist/node_modules/flexsearch/dist/module/charset/latin/soundex.js +0 -53
- package/dist/node_modules/flexsearch/dist/module/charset/normalize.js +0 -5
- package/dist/node_modules/flexsearch/dist/module/charset/polyfill.js +0 -1
- package/dist/node_modules/flexsearch/dist/module/charset.js +0 -40
- package/dist/node_modules/flexsearch/dist/module/common.js +0 -135
- package/dist/node_modules/flexsearch/dist/module/compress.js +0 -64
- package/dist/node_modules/flexsearch/dist/module/db/clickhouse/index.js +0 -569
- package/dist/node_modules/flexsearch/dist/module/db/indexeddb/index.js +0 -516
- package/dist/node_modules/flexsearch/dist/module/db/interface.js +0 -51
- package/dist/node_modules/flexsearch/dist/module/db/mongodb/index.js +0 -571
- package/dist/node_modules/flexsearch/dist/module/db/postgres/index.js +0 -624
- package/dist/node_modules/flexsearch/dist/module/db/redis/index.js +0 -461
- package/dist/node_modules/flexsearch/dist/module/db/sqlite/index.js +0 -707
- package/dist/node_modules/flexsearch/dist/module/document/add.js +0 -228
- package/dist/node_modules/flexsearch/dist/module/document/highlight.js +0 -448
- package/dist/node_modules/flexsearch/dist/module/document/search.js +0 -515
- package/dist/node_modules/flexsearch/dist/module/document.js +0 -485
- package/dist/node_modules/flexsearch/dist/module/encoder.js +0 -453
- package/dist/node_modules/flexsearch/dist/module/index/add.js +0 -229
- package/dist/node_modules/flexsearch/dist/module/index/remove.js +0 -101
- package/dist/node_modules/flexsearch/dist/module/index/search.js +0 -326
- package/dist/node_modules/flexsearch/dist/module/index.js +0 -184
- package/dist/node_modules/flexsearch/dist/module/intersect.js +0 -272
- package/dist/node_modules/flexsearch/dist/module/keystore.js +0 -349
- package/dist/node_modules/flexsearch/dist/module/lang/de.js +0 -43
- package/dist/node_modules/flexsearch/dist/module/lang/en.js +0 -40
- package/dist/node_modules/flexsearch/dist/module/lang/fr.js +0 -27
- package/dist/node_modules/flexsearch/dist/module/preset.js +0 -53
- package/dist/node_modules/flexsearch/dist/module/profiler.js +0 -9
- package/dist/node_modules/flexsearch/dist/module/resolve/and.js +0 -84
- package/dist/node_modules/flexsearch/dist/module/resolve/default.js +0 -76
- package/dist/node_modules/flexsearch/dist/module/resolve/handler.js +0 -216
- package/dist/node_modules/flexsearch/dist/module/resolve/not.js +0 -89
- package/dist/node_modules/flexsearch/dist/module/resolve/or.js +0 -49
- package/dist/node_modules/flexsearch/dist/module/resolve/xor.js +0 -124
- package/dist/node_modules/flexsearch/dist/module/resolver.js +0 -257
- package/dist/node_modules/flexsearch/dist/module/serialize.js +0 -468
- package/dist/node_modules/flexsearch/dist/module/type.js +0 -305
- package/dist/node_modules/flexsearch/dist/module/worker/handler.js +0 -77
- package/dist/node_modules/flexsearch/dist/module/worker/node.js +0 -73
- package/dist/node_modules/flexsearch/dist/module/worker/worker.js +0 -2
- package/dist/node_modules/flexsearch/dist/module/worker.js +0 -146
- package/dist/node_modules/flexsearch/dist/module-debug/async.js +0 -72
- package/dist/node_modules/flexsearch/dist/module-debug/bundle.js +0 -330
- package/dist/node_modules/flexsearch/dist/module-debug/cache.js +0 -118
- package/dist/node_modules/flexsearch/dist/module-debug/charset/cjk.js +0 -8
- package/dist/node_modules/flexsearch/dist/module-debug/charset/exact.js +0 -10
- package/dist/node_modules/flexsearch/dist/module-debug/charset/latin/advanced.js +0 -15
- package/dist/node_modules/flexsearch/dist/module-debug/charset/latin/balance.js +0 -10
- package/dist/node_modules/flexsearch/dist/module-debug/charset/latin/extra.js +0 -14
- package/dist/node_modules/flexsearch/dist/module-debug/charset/latin/soundex.js +0 -53
- package/dist/node_modules/flexsearch/dist/module-debug/charset/normalize.js +0 -5
- package/dist/node_modules/flexsearch/dist/module-debug/charset/polyfill.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-debug/charset.js +0 -40
- package/dist/node_modules/flexsearch/dist/module-debug/common.js +0 -135
- package/dist/node_modules/flexsearch/dist/module-debug/compress.js +0 -64
- package/dist/node_modules/flexsearch/dist/module-debug/db/clickhouse/index.js +0 -569
- package/dist/node_modules/flexsearch/dist/module-debug/db/indexeddb/index.js +0 -516
- package/dist/node_modules/flexsearch/dist/module-debug/db/interface.js +0 -51
- package/dist/node_modules/flexsearch/dist/module-debug/db/mongodb/index.js +0 -571
- package/dist/node_modules/flexsearch/dist/module-debug/db/postgres/index.js +0 -624
- package/dist/node_modules/flexsearch/dist/module-debug/db/redis/index.js +0 -461
- package/dist/node_modules/flexsearch/dist/module-debug/db/sqlite/index.js +0 -707
- package/dist/node_modules/flexsearch/dist/module-debug/document/add.js +0 -229
- package/dist/node_modules/flexsearch/dist/module-debug/document/highlight.js +0 -458
- package/dist/node_modules/flexsearch/dist/module-debug/document/search.js +0 -537
- package/dist/node_modules/flexsearch/dist/module-debug/document.js +0 -489
- package/dist/node_modules/flexsearch/dist/module-debug/encoder.js +0 -457
- package/dist/node_modules/flexsearch/dist/module-debug/index/add.js +0 -229
- package/dist/node_modules/flexsearch/dist/module-debug/index/remove.js +0 -101
- package/dist/node_modules/flexsearch/dist/module-debug/index/search.js +0 -326
- package/dist/node_modules/flexsearch/dist/module-debug/index.js +0 -190
- package/dist/node_modules/flexsearch/dist/module-debug/intersect.js +0 -272
- package/dist/node_modules/flexsearch/dist/module-debug/keystore.js +0 -349
- package/dist/node_modules/flexsearch/dist/module-debug/lang/de.js +0 -43
- package/dist/node_modules/flexsearch/dist/module-debug/lang/en.js +0 -40
- package/dist/node_modules/flexsearch/dist/module-debug/lang/fr.js +0 -27
- package/dist/node_modules/flexsearch/dist/module-debug/preset.js +0 -56
- package/dist/node_modules/flexsearch/dist/module-debug/profiler.js +0 -9
- package/dist/node_modules/flexsearch/dist/module-debug/resolve/and.js +0 -84
- package/dist/node_modules/flexsearch/dist/module-debug/resolve/default.js +0 -76
- package/dist/node_modules/flexsearch/dist/module-debug/resolve/handler.js +0 -228
- package/dist/node_modules/flexsearch/dist/module-debug/resolve/not.js +0 -89
- package/dist/node_modules/flexsearch/dist/module-debug/resolve/or.js +0 -49
- package/dist/node_modules/flexsearch/dist/module-debug/resolve/xor.js +0 -124
- package/dist/node_modules/flexsearch/dist/module-debug/resolver.js +0 -261
- package/dist/node_modules/flexsearch/dist/module-debug/serialize.js +0 -468
- package/dist/node_modules/flexsearch/dist/module-debug/type.js +0 -305
- package/dist/node_modules/flexsearch/dist/module-debug/worker/handler.js +0 -85
- package/dist/node_modules/flexsearch/dist/module-debug/worker/node.js +0 -73
- package/dist/node_modules/flexsearch/dist/module-debug/worker/worker.js +0 -2
- package/dist/node_modules/flexsearch/dist/module-debug/worker.js +0 -148
- package/dist/node_modules/flexsearch/dist/module-min/async.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/bundle.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/cache.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/cjk.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/exact.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/latin/advanced.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/latin/balance.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/latin/extra.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/latin/soundex.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/normalize.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset/polyfill.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/charset.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/common.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/compress.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/db/clickhouse/index.js +0 -130
- package/dist/node_modules/flexsearch/dist/module-min/db/indexeddb/index.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/db/interface.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/db/mongodb/index.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/db/postgres/index.js +0 -135
- package/dist/node_modules/flexsearch/dist/module-min/db/redis/index.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/db/sqlite/index.js +0 -119
- package/dist/node_modules/flexsearch/dist/module-min/document/add.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/document/highlight.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/document/search.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/document.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/encoder.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/index/add.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/index/remove.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/index/search.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/index.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/intersect.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/keystore.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/lang/de.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/lang/en.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/lang/fr.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/preset.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/profiler.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolve/and.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolve/default.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolve/handler.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolve/not.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolve/or.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolve/xor.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/resolver.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/serialize.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/type.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/worker/handler.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/worker/node.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/worker/worker.js +0 -1
- package/dist/node_modules/flexsearch/dist/module-min/worker.js +0 -1
- package/dist/node_modules/flexsearch/dist/node/node.js +0 -84
- package/dist/node_modules/flexsearch/index.d.ts +0 -1140
- package/dist/node_modules/flexsearch/node.js +0 -84
- package/dist/node_modules/flexsearch/package.json +0 -1
- package/dist/node_modules/flexsearch/src/async.js +0 -78
- package/dist/node_modules/flexsearch/src/bundle.js +0 -392
- package/dist/node_modules/flexsearch/src/cache.js +0 -125
- package/dist/node_modules/flexsearch/src/charset/cjk.js +0 -14
- package/dist/node_modules/flexsearch/src/charset/exact.js +0 -12
- package/dist/node_modules/flexsearch/src/charset/latin/advanced.js +0 -34
- package/dist/node_modules/flexsearch/src/charset/latin/balance.js +0 -47
- package/dist/node_modules/flexsearch/src/charset/latin/extra.js +0 -17
- package/dist/node_modules/flexsearch/src/charset/latin/soundex.js +0 -55
- package/dist/node_modules/flexsearch/src/charset/normalize.js +0 -11
- package/dist/node_modules/flexsearch/src/charset/old/arabic/default.js +0 -15
- package/dist/node_modules/flexsearch/src/charset/old/cjk/default.js +0 -13
- package/dist/node_modules/flexsearch/src/charset/old/cyrillic/default.js +0 -13
- package/dist/node_modules/flexsearch/src/charset/old/greek/default.js +0 -39
- package/dist/node_modules/flexsearch/src/charset/polyfill.js +0 -233
- package/dist/node_modules/flexsearch/src/charset.js +0 -41
- package/dist/node_modules/flexsearch/src/common.js +0 -142
- package/dist/node_modules/flexsearch/src/compress.js +0 -78
- package/dist/node_modules/flexsearch/src/config.js +0 -56
- package/dist/node_modules/flexsearch/src/db/clickhouse/index.js +0 -704
- package/dist/node_modules/flexsearch/src/db/clickhouse/package.json +0 -10
- package/dist/node_modules/flexsearch/src/db/indexeddb/index.js +0 -709
- package/dist/node_modules/flexsearch/src/db/interface.js +0 -62
- package/dist/node_modules/flexsearch/src/db/mongodb/index.js +0 -714
- package/dist/node_modules/flexsearch/src/db/mongodb/package.json +0 -10
- package/dist/node_modules/flexsearch/src/db/postgres/index.js +0 -1008
- package/dist/node_modules/flexsearch/src/db/postgres/package.json +0 -10
- package/dist/node_modules/flexsearch/src/db/redis/index.js +0 -587
- package/dist/node_modules/flexsearch/src/db/redis/package.json +0 -10
- package/dist/node_modules/flexsearch/src/db/sqlite/index.js +0 -848
- package/dist/node_modules/flexsearch/src/db/sqlite/package.json +0 -10
- package/dist/node_modules/flexsearch/src/document/add.js +0 -267
- package/dist/node_modules/flexsearch/src/document/highlight.js +0 -838
- package/dist/node_modules/flexsearch/src/document/search.js +0 -661
- package/dist/node_modules/flexsearch/src/document.js +0 -581
- package/dist/node_modules/flexsearch/src/encoder.js +0 -637
- package/dist/node_modules/flexsearch/src/index/add.js +0 -330
- package/dist/node_modules/flexsearch/src/index/remove.js +0 -173
- package/dist/node_modules/flexsearch/src/index/search.js +0 -436
- package/dist/node_modules/flexsearch/src/index.js +0 -290
- package/dist/node_modules/flexsearch/src/intersect.js +0 -718
- package/dist/node_modules/flexsearch/src/keystore.js +0 -441
- package/dist/node_modules/flexsearch/src/lang/de.js +0 -207
- package/dist/node_modules/flexsearch/src/lang/en.js +0 -337
- package/dist/node_modules/flexsearch/src/lang/fr.js +0 -233
- package/dist/node_modules/flexsearch/src/preset.js +0 -63
- package/dist/node_modules/flexsearch/src/profiler.js +0 -24
- package/dist/node_modules/flexsearch/src/resolve/and.js +0 -108
- package/dist/node_modules/flexsearch/src/resolve/default.js +0 -91
- package/dist/node_modules/flexsearch/src/resolve/handler.js +0 -287
- package/dist/node_modules/flexsearch/src/resolve/not.js +0 -104
- package/dist/node_modules/flexsearch/src/resolve/or.js +0 -65
- package/dist/node_modules/flexsearch/src/resolve/xor.js +0 -140
- package/dist/node_modules/flexsearch/src/resolver.js +0 -307
- package/dist/node_modules/flexsearch/src/serialize.js +0 -526
- package/dist/node_modules/flexsearch/src/type.js +0 -306
- package/dist/node_modules/flexsearch/src/worker/handler.js +0 -100
- package/dist/node_modules/flexsearch/src/worker/node.js +0 -84
- package/dist/node_modules/flexsearch/src/worker/worker.js +0 -2
- package/dist/node_modules/flexsearch/src/worker.js +0 -207
- package/dist/node_modules/flexsearch/task/babel.bundle.json +0 -47
- package/dist/node_modules/flexsearch/task/babel.debug.json +0 -47
- package/dist/node_modules/flexsearch/task/babel.js +0 -144
- package/dist/node_modules/flexsearch/task/babel.min.json +0 -49
- package/dist/node_modules/flexsearch/task/build.js +0 -513
- /package/dist/node_modules/{fast-glob/out/types/index.js → just-bash/node_modules/diff/libcjs/types.js} +0 -0
|
@@ -0,0 +1,733 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{B as Vn,C as Bn,D as ce,E as je,F as ee,G as Ee,H as Dt,I as jn,J as I,K as Hn,L as Un,M as _e,N as ws,O as Tt,P as j,a as In,b as ds,c as xn,d as kt,e as Q,f as V,g as be,h as ne,i as Ae,j as Fe,k as hs,l as Ot,m as Rn,n as ps,o as Ln,p as me,q as Oe,r as Fn,s as Mn,t as ms,u as ys,v as Me,w as Wn,x as zn,y as $e,z as gs}from"./chunks/chunk-OXHVTSNH.js";import{a as M,b as W,c as Ye,d as Pt,e as Nt,f as Qe,g as fs,h as Nn,i as kn,j as On,k as Dn,l as Tn}from"./chunks/chunk-HC7WB764.js";import{a as Xe,b as Ct,c as Le}from"./chunks/chunk-NTW6IA45.js";import{c as us}from"./chunks/chunk-LIYVQA3X.js";import{a as Sn,b as An}from"./chunks/chunk-OOJCYVYF.js";import{a as Re,b as pe,c as cs}from"./chunks/chunk-4PRVMER6.js";import{a as ft,b as Pn}from"./chunks/chunk-MO4RPBN2.js";import{a as Ke,b as ge}from"./chunks/chunk-YU6OGPZR.js";import{a as ut}from"./chunks/chunk-JDNI5HBX.js";import{a as fe,b as de,c as le,d as he,e as _n,f as B,g as Be,h as Et,i as St,j as Cn,k as Y,l as At,m as Ie,n as _t,o as we}from"./chunks/chunk-6KZRLMG3.js";import"./chunks/chunk-OBH7XN5N.js";import{a as xe}from"./chunks/chunk-RLNOQILG.js";import{a as ve}from"./chunks/chunk-4VDEBYW7.js";import"./chunks/chunk-KGOUQS5A.js";import*as Ii from"node:fs";import*as xi from"node:readline";var Je=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-XZIJZXKP.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-NA7DYZBO.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-YMNRW3F3.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-V537TDFR.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-ZIV3TFVG.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-7BJ7HFBM.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-7BJ7HFBM.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-7BJ7HFBM.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-DK6FRF6Q.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-WWXBUNG3.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-DB6QZAC5.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-7GENYU2I.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-TMSAIZM3.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-R3F3Z5DX.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-5EY2XPXX.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-3UVLMQ2K.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-4FPGAEVB.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-UHEPS2UL.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XH3L75DR.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-XSVNTAWH.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-26XPP5KB.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-OYZ7KOYR.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-XXKZCWY5.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-YWV64TJH.js")).split},{name:"column",load:async()=>(await import("./chunks/column-XGV32UPN.js")).column},{name:"join",load:async()=>(await import("./chunks/join-Y4Q5WVVE.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-HK2SYCAR.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-7CVMEZBO.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NTPN5QYM.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NTPN5QYM.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-SCYIFXOW.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-6ZHZ6BX7.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-6ZHZ6BX7.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-DVZM2CEN.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-43M2R3GA.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-5NUI5BHG.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-Z24MNWOP.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-5R4QWCYF.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-G4EF4POQ.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-NCLXV2S3.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-BHNJ5ALF.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-HJJ3NJ5L.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-V6PK6S5U.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-5PO4LAOG.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-T42SKDDI.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-52FBC34W.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-LHOO65AN.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-LHOO65AN.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-LHOO65AN.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Je.push({name:"tar",load:async()=>(await import("./chunks/tar-GTGFEWDS.js")).tarCommand}),Je.push({name:"yq",load:async()=>(await import("./chunks/yq-CWUVVSHY.js")).yqCommand}),Je.push({name:"xan",load:async()=>(await import("./chunks/xan-3G6YA5O6.js")).xanCommand}),Je.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-CVNFMP3Z.js")).sqlite3Command}));var vs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(vs.push({name:"python3",load:async()=>(await import("./chunks/python3-RRCCYJKA.js")).python3Command}),vs.push({name:"python",load:async()=>(await import("./chunks/python3-RRCCYJKA.js")).pythonCommand}));var bs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(bs.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-AKWY6BP5.js")).jsExecCommand}),bs.push({name:"node",load:async()=>(await import("./chunks/js-exec-AKWY6BP5.js")).nodeStubCommand}));var Mi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Zn=new Map;function It(e){return{name:e.name,async execute(t,s){let n=Zn.get(e.name);if(n||(n=await ge.runTrustedAsync(()=>e.load()),Zn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-QMWFYZRC.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function qn(e){return(e?Je.filter(s=>e.includes(s.name)):Je).map(It)}function Gn(){return Mi.map(It)}function Kn(){return vs.map(It)}function Xn(){return bs.map(It)}function Yn(e){return"load"in e&&typeof e.load=="function"}function Qn(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}var et=new TextEncoder;function Wi(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var dt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Wi(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=Ye(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){W(t,"write");let i=M(t);this.ensureParentDirs(i);let a=Le(n),o=Xe(s,a);this.data.set(i,{type:"file",content:o,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){W(t,"write");let r=M(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?et.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Le(s);return Ct(n,r)}async readFileBuffer(t){W(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:et.encode(r.content)}return n.content instanceof Uint8Array?n.content:et.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){W(t,"append");let r=M(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let a=Le(n),o=Xe(s,a);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let u="content"in l&&l.content instanceof Uint8Array?l.content:et.encode("content"in l?l.content:""),c=new Uint8Array(u.length+o.length);c.set(u),c.set(o,u.length),this.data.set(r,{type:"file",content:c,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){W(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=et.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){W(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=et.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=M(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let a=0;a<n.length-1;a++){let o=n[a];r=`${r}/${o}`;let l=this.data.get(r),u=0,c=40;for(;l&&l.type==="symlink"&&u<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=Qe(r,l.target),l=this.data.get(r),u++}if(u>=c)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=M(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let a of n){r=`${r}/${a}`;let o=this.data.get(r),l=0,u=40;for(;o&&o.type==="symlink"&&l<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=Qe(r,o.target),o=this.data.get(r),l++}if(l>=u)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){W(t,"mkdir");let n=M(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=Ye(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){W(t,"scandir");let s=M(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=Qe(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,a=new Map;for(let[o,l]of this.data.entries())if(o!==s&&o.startsWith(i)){let u=o.slice(i.length),c=u.split("/")[0];c&&!u.includes("/",c.length)&&!a.has(c)&&a.set(c,{name:c,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(a.values()).sort((o,l)=>o.name<l.name?-1:o.name>l.name?1:0)}async rm(t,s){W(t,"rm");let n=M(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let a of i){let o=Nt(n,a);await this.rm(o,s)}}}this.data.delete(n)}async cp(t,s,n){W(t,"cp"),W(s,"cp");let r=M(t),i=M(s),a=this.data.get(r);if(!a)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(a.type==="file")if(this.ensureParentDirs(i),"content"in a){let o=a.content instanceof Uint8Array?new Uint8Array(a.content):a.content;this.data.set(i,{...a,content:o})}else this.data.set(i,{...a});else if(a.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...a});else if(a.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let o=await this.readdir(r);for(let l of o){let u=Nt(r,l),c=Nt(i,l);await this.cp(u,c,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Pt(t,s)}async chmod(t,s){W(t,"chmod");let n=M(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){W(s,"symlink");let n=M(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){W(t,"link"),W(s,"link");let n=M(t),r=M(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let a=i;"lazy"in a&&(a=await this.materializeLazy(n,a)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:a.content,mode:a.mode,mtime:a.mtime})}async readlink(t){W(t,"readlink");let s=M(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){W(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){W(t,"utimes");let r=M(t),i=this.resolvePathWithSymlinks(r),a=this.data.get(i);if(!a)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);a.mtime=n}};function zi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Vi(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function Bi(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function ji(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${In}
|
|
3
|
+
`),e.writeFileSync("/proc/self/exe","/bin/bash"),e.writeFileSync("/proc/self/cmdline","bash\0"),e.writeFileSync("/proc/self/comm",`bash
|
|
4
|
+
`),e.writeFileLazy?e.writeFileLazy("/proc/self/status",()=>ds(t)):e.writeFileSync("/proc/self/status",ds(t)),e.writeFileSync("/proc/self/fd/0","/dev/stdin"),e.writeFileSync("/proc/self/fd/1","/dev/stdout"),e.writeFileSync("/proc/self/fd/2","/dev/stderr")}function Jn(e,t,s={pid:1,ppid:0,uid:1e3,gid:1e3}){zi(e)&&(Vi(e,t),Bi(e),ji(e,s))}var Hi=["allexport","errexit","noglob","noclobber","noexec","nounset","pipefail","posix","verbose","xtrace"],Ui=["braceexpand","hashall","interactive-comments"];function Es(e){let t=[],s=[...Ui.map(n=>({name:n,enabled:!0})),...Hi.map(n=>({name:n,enabled:e[n]}))].sort((n,r)=>n.name.localeCompare(r.name));for(let n of s)n.enabled&&t.push(n.name);return t.join(":")}function st(e){e.state.env.set("SHELLOPTS",Es(e.state.options))}var Zi=["dotglob","expand_aliases","extglob","failglob","globskipdots","globstar","lastpipe","nocaseglob","nocasematch","nullglob","xpg_echo"];function Ss(e){let t=[];for(let s of Zi)e[s]&&t.push(s);return t.join(":")}function As(e){e.state.env.set("BASHOPTS",Ss(e.state.shoptOptions))}var qi="BASH_ALIAS_";function er(e){return e.parts.length!==1?!1:e.parts[0].type==="Literal"}function tr(e){if(e.parts.length!==1)return null;let t=e.parts[0];return t.type==="Literal"?t.value:null}function sr(e,t){return e.env.get(`${qi}${t}`)}function _s(e,t,s){if(!t.name||!er(t.name))return t;let n=tr(t.name);if(!n)return t;let r=sr(e,n);if(!r||s.has(n))return t;try{s.add(n);let i=new V,a=r,o=r.endsWith(" ");if(!o)for(let f of t.args){let d=rr(f);a+=` ${d}`}let l;try{l=i.parse(a)}catch(f){if(f instanceof kt)throw f;return t}if(l.statements.length!==1||l.statements[0].pipelines.length!==1||l.statements[0].pipelines[0].commands.length!==1)return nr(t,r);let u=l.statements[0].pipelines[0].commands[0];if(u.type!=="SimpleCommand")return nr(t,r);let c={...u,assignments:[...t.assignments,...u.assignments],redirections:[...u.redirections,...t.redirections],line:t.line};if(o&&t.args.length>0&&(c={...c,args:[...c.args,...t.args]},c.args.length>0)){let f=c.args[0];if(er(f)){let d=tr(f);if(d&&sr(e,d)){let h={type:"SimpleCommand",name:f,args:c.args.slice(1),assignments:[],redirections:[]},p=_s(e,h,s);p!==h&&(c={...c,name:p.name,args:[...p.args]})}}}return c}catch(i){throw s.delete(n),i}}function nr(e,t){let s=t;for(let a of e.args){let o=rr(a);s+=` ${o}`}let n=new V,r=n.parseWordFromString("eval",!1,!1),i=n.parseWordFromString(`'${s.replace(/'/g,"'\\''")}'`,!1,!1);return{type:"SimpleCommand",name:r,args:[i],assignments:e.assignments,redirections:e.redirections,line:e.line}}function rr(e){let t="";for(let s of e.parts)switch(s.type){case"Literal":t+=s.value.replace(/([\s"'$`\\*?[\]{}()<>|&;#!])/g,"\\$1");break;case"SingleQuoted":t+=`'${s.value}'`;break;case"DoubleQuoted":t+=`"${s.parts.map(n=>n.type==="Literal"?n.value:`$${n.type}`).join("")}"`;break;case"ParameterExpansion":t+=`\${${s.parameter}}`;break;case"CommandSubstitution":t+="$(...)";break;case"ArithmeticExpansion":t+=`$((${s.expression}))`;break;case"Glob":t+=s.pattern;break;default:break}return t}async function ir(e,t){let s=t.parts.map(c=>c.type==="Literal"?c.value:"\0").join(""),n=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);if(!n||!s.endsWith(")"))return null;let r=n[1],i=[],a=!1,o="",l=!1;for(let c of t.parts)if(c.type==="Literal"){let f=c.value;if(!a){let d=f.indexOf("=(");d!==-1&&(a=!0,f=f.slice(d+2))}if(a){f.endsWith(")")&&(f=f.slice(0,-1));let d=f.split(/(\s+)/);for(let h of d)/^\s+$/.test(h)?(o||l)&&(i.push(o),o="",l=!1):h&&(o+=h)}}else if(a)if(c.type==="BraceExpansion")if(/^\[.+\]=/.test(o))o+=Ot({type:"Word",parts:[c]});else{(o||l)&&(i.push(o),o="",l=!1);let d=await _e(e,{type:"Word",parts:[c]});i.push(...d.values)}else{(c.type==="SingleQuoted"||c.type==="DoubleQuoted"||c.type==="Escaped")&&(l=!0);let f=await I(e,{type:"Word",parts:[c]});o+=f}(o||l)&&i.push(o);let u=i.map(c=>/^\[.+\]=/.test(c)?c:c===""?"''":/[\s"'\\$`!*?[\]{}|&;<>()]/.test(c)&&!c.startsWith("'")&&!c.startsWith('"')?`'${c.replace(/'/g,"'\\''")}'`:c);return`${r}=(${u.join(" ")})`}async function ar(e,t){let s=-1,n=-1,r=!1;for(let m=0;m<t.parts.length;m++){let y=t.parts[m];if(y.type==="Literal"){let b=y.value.indexOf("+=");if(b!==-1){let A=y.value.slice(0,b);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(A)){s=m,n=b,r=!0;break}if(/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(A)){s=m,n=b,r=!0;break}}let v=y.value.indexOf("=");if(v!==-1&&(v===0||y.value[v-1]!=="+")){let A=y.value.slice(0,v);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(A)||/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(A)){s=m,n=v;break}}}}if(s===-1)return null;let i=t.parts.slice(0,s),a=t.parts[s];if(a.type!=="Literal")return null;let o=r?2:1,l=a.value.slice(0,n),u=a.value.slice(n+o),c=t.parts.slice(s+1),f="";for(let m of i)f+=await I(e,{type:"Word",parts:[m]});f+=l;let d={type:"Word",parts:u!==""?[{type:"Literal",value:u},...c]:c},h=d.parts.length>0?await I(e,d):"";return`${f}${r?"+=":"="}${h}`}var Gi=["tar","yq","xan","sqlite3","python3","python"];function or(e){return Gi.includes(e)}var L=Object.freeze({stdout:"",stderr:"",exitCode:0});function F(e=""){return{stdout:e,stderr:"",exitCode:0}}function _(e,t=1){return{stdout:"",stderr:e,exitCode:t}}function P(e,t,s){return{stdout:e,stderr:t,exitCode:s}}function X(e){return{stdout:"",stderr:"",exitCode:e?0:1}}function Ce(e,t,s="",n=""){throw new Y(e,t,s,n)}function ae(e){let t=e.state.fileDescriptors;if(t&&t.size>=e.limits.maxFileDescriptors)throw new Y(`too many open file descriptors (max ${e.limits.maxFileDescriptors})`,"file_descriptors")}function Cs(e,t){if(e.state.loopDepth===0){if(e.state.parentHasLoopContext)throw new Ie;return L}if(t.length>1)throw new B(1,"",`bash: break: too many arguments
|
|
5
|
+
`);let s=1;if(t.length>0){let n=Number.parseInt(t[0],10);if(Number.isNaN(n)||n<1)throw new B(128,"",`bash: break: ${t[0]}: numeric argument required
|
|
6
|
+
`);s=n}throw new fe(s)}async function Ps(e,t){let s,n=!1,r=!1,i=0;for(;i<t.length;)if(t[i]==="--"){i++;break}else if(t[i]==="-L")r=!1,i++;else if(t[i]==="-P")r=!0,i++;else if(t[i].startsWith("-")&&t[i]!=="-")i++;else break;let a=t.slice(i);if(a.length===0||a[0]==="~"?s=e.state.env.get("HOME")||"/":a[0]==="-"?(s=e.state.previousDir,n=!0):s=a[0],!s.startsWith("/")&&!s.startsWith("./")&&!s.startsWith("../")&&s!=="."&&s!==".."){let f=e.state.env.get("CDPATH");if(f){let d=f.split(":").filter(h=>h);for(let h of d){let p=h.startsWith("/")?`${h}/${s}`:`${e.state.cwd}/${h}/${s}`;try{if((await e.fs.stat(p)).isDirectory){s=p,n=!0;break}}catch{}}}}let l=(s.startsWith("/")?s:`${e.state.cwd}/${s}`).split("/").filter(f=>f&&f!=="."),u="";for(let f of l)if(f==="..")u=u.split("/").slice(0,-1).join("/")||"/";else{u=u?`${u}/${f}`:`/${f}`;try{if(!(await e.fs.stat(u)).isDirectory)return _(`bash: cd: ${s}: Not a directory
|
|
7
|
+
`)}catch{return _(`bash: cd: ${s}: No such file or directory
|
|
8
|
+
`)}}let c=u||"/";if(r)try{c=await e.fs.realpath(c)}catch{}return e.state.previousDir=e.state.cwd,e.state.cwd=c,e.state.env.set("PWD",e.state.cwd),e.state.env.set("OLDPWD",e.state.previousDir),F(n?`${c}
|
|
9
|
+
`:"")}function Ns(e,t){return e.fs.resolvePath(e.state.cwd,t)}var Ki=["-e","-a","-f","-d","-r","-w","-x","-s","-L","-h","-k","-g","-u","-G","-O","-b","-c","-p","-S","-t","-N"];function Rt(e){return Ki.includes(e)}async function Lt(e,t,s){let n=Ns(e,s);switch(t){case"-e":case"-a":return e.fs.exists(n);case"-f":return await e.fs.exists(n)?(await e.fs.stat(n)).isFile:!1;case"-d":return await e.fs.exists(n)?(await e.fs.stat(n)).isDirectory:!1;case"-r":return await e.fs.exists(n)?((await e.fs.stat(n)).mode&256)!==0:!1;case"-w":return await e.fs.exists(n)?((await e.fs.stat(n)).mode&128)!==0:!1;case"-x":return await e.fs.exists(n)?((await e.fs.stat(n)).mode&64)!==0:!1;case"-s":return await e.fs.exists(n)?(await e.fs.stat(n)).size>0:!1;case"-L":case"-h":try{return(await e.fs.lstat(n)).isSymbolicLink}catch{return!1}case"-k":return await e.fs.exists(n)?((await e.fs.stat(n)).mode&512)!==0:!1;case"-g":return await e.fs.exists(n)?((await e.fs.stat(n)).mode&1024)!==0:!1;case"-u":return await e.fs.exists(n)?((await e.fs.stat(n)).mode&2048)!==0:!1;case"-G":case"-O":return e.fs.exists(n);case"-b":return!1;case"-c":return["/dev/null","/dev/zero","/dev/random","/dev/urandom","/dev/tty","/dev/stdin","/dev/stdout","/dev/stderr"].includes(n);case"-p":return!1;case"-S":return!1;case"-t":return!1;case"-N":return e.fs.exists(n);default:return!1}}var Xi=["-nt","-ot","-ef"];function Ft(e){return Xi.includes(e)}async function Mt(e,t,s,n){let r=Ns(e,s),i=Ns(e,n);switch(t){case"-nt":try{let a=await e.fs.stat(r),o=await e.fs.stat(i);return a.mtime>o.mtime}catch{return!1}case"-ot":try{let a=await e.fs.stat(r),o=await e.fs.stat(i);return a.mtime<o.mtime}catch{return!1}case"-ef":try{if(!await e.fs.exists(r)||!await e.fs.exists(i))return!1;let a=e.fs.resolvePath(e.state.cwd,r),o=e.fs.resolvePath(e.state.cwd,i);return a===o}catch{return!1}default:return!1}}var Yi=new Set(["-eq","-ne","-lt","-le","-gt","-ge"]);function Wt(e){return Yi.has(e)}function zt(e,t,s){switch(e){case"-eq":return t===s;case"-ne":return t!==s;case"-lt":return t<s;case"-le":return t<=s;case"-gt":return t>s;case"-ge":return t>=s}}function ht(e){return e==="="||e==="=="||e==="!="}function Vt(e,t,s,n=!1,r=!1,i=!1){if(n){let o=nt(t,s,r,i);return e==="!="?!o:o}if(r){let o=t.toLowerCase()===s.toLowerCase();return e==="!="?!o:o}let a=t===s;return e==="!="?!a:a}var Qi=new Set(["-z","-n"]);function Bt(e){return Qi.has(e)}function jt(e,t){switch(e){case"-z":return t==="";case"-n":return t!==""}}async function Ht(e,t){let s=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(s){let n=s[1],r=s[2];if(e.state.associativeArrays?.has(n)){let o=r;return(o.startsWith("'")&&o.endsWith("'")||o.startsWith('"')&&o.endsWith('"'))&&(o=o.slice(1,-1)),o=o.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)/g,(l,u)=>e.state.env.get(u)||""),e.state.env.has(`${n}_${o}`)}let a;try{let o=new V,l=Q(o,r);a=await j(e,l.expression)}catch{if(/^-?\d+$/.test(r))a=Number.parseInt(r,10);else{let o=e.state.env.get(r);a=o?Number.parseInt(o,10):0}}if(a<0){let o=ne(e,n),l=e.state.currentLine;if(o.length===0)return e.state.expansionStderr=(e.state.expansionStderr||"")+`bash: line ${l}: ${n}: bad array subscript
|
|
10
|
+
`,!1;if(a=Math.max(...o)+1+a,a<0)return e.state.expansionStderr=(e.state.expansionStderr||"")+`bash: line ${l}: ${n}: bad array subscript
|
|
11
|
+
`,!1}return e.state.env.has(`${n}_${a}`)}return e.state.env.has(t)?!0:e.state.associativeArrays?.has(t)?Fe(e,t).length>0:ne(e,t).length>0}async function We(e,t){switch(t.type){case"CondBinary":{let s=await I(e,t.left),n=t.right.parts.length>0&&t.right.parts.every(i=>i.type==="SingleQuoted"||i.type==="DoubleQuoted"||i.type==="Escaped"&&t.operator!=="=~"),r;if(t.operator==="=~")if(n){let i=await I(e,t.right);r=Bn(i)}else r=await Hn(e,t.right);else ht(t.operator)&&!n?r=await Un(e,t.right):r=await I(e,t.right);if(ht(t.operator)){let i=e.state.shoptOptions.nocasematch;return Vt(t.operator,s,r,!n,i,!0)}if(Wt(t.operator))return zt(t.operator,await cr(e,s),await cr(e,r));if(Ft(t.operator))return Mt(e,t.operator,s,r);switch(t.operator){case"=~":try{let i=e.state.shoptOptions.nocasematch,a=sa(r),l=ut(a,i?"i":"").match(s);if(Ae(e,"BASH_REMATCH"),l)for(let u=0;u<l.length;u++)e.state.env.set(`BASH_REMATCH_${u}`,l[u]||"");return l!==null}catch{throw new Error("syntax error in regular expression")}case"<":return s<r;case">":return s>r;default:return!1}}case"CondUnary":{let s=await I(e,t.operand);return Rt(t.operator)?Lt(e,t.operator,s):Bt(t.operator)?jt(t.operator,s):t.operator==="-v"?await Ht(e,s):t.operator==="-o"?Os(e,s):!1}case"CondNot":return e.state.shoptOptions.extglob&&t.operand.type==="CondGroup"&&t.operand.expression.type==="CondWord"?`!(${await I(e,t.operand.expression.word)})`!=="":!await We(e,t.operand);case"CondAnd":return await We(e,t.left)?await We(e,t.right):!1;case"CondOr":return await We(e,t.left)?!0:await We(e,t.right);case"CondGroup":return await We(e,t.expression);case"CondWord":return await I(e,t.word)!=="";default:return!1}}async function pt(e,t){if(t.length===0)return P("","",1);if(t.length===1)return X(!!t[0]);if(t.length===2){let n=t[0],r=t[1];return n==="("?_(`test: '(' without matching ')'
|
|
12
|
+
`,2):Rt(n)?X(await Lt(e,n,r)):Bt(n)?X(jt(n,r)):n==="!"?X(!r):n==="-v"?X(await Ht(e,r)):n==="-o"?X(Os(e,r)):n==="="||n==="=="||n==="!="||n==="<"||n===">"||n==="-eq"||n==="-ne"||n==="-lt"||n==="-le"||n==="-gt"||n==="-ge"||n==="-nt"||n==="-ot"||n==="-ef"?_(`test: ${n}: unary operator expected
|
|
13
|
+
`,2):P("","",1)}if(t.length===3){let n=t[0],r=t[1],i=t[2];if(ht(r))return X(Vt(r,n,i));if(Wt(r)){let a=Ut(n),o=Ut(i);return!a.valid||!o.valid?P("","",2):X(zt(r,a.value,o.value))}if(Ft(r))return X(await Mt(e,r,n,i));switch(r){case"-a":return X(n!==""&&i!=="");case"-o":return X(n!==""||i!=="");case">":return X(n>i);case"<":return X(n<i)}if(n==="!"){let a=await pt(e,[r,i]);return P("",a.stderr,a.exitCode===0?1:a.exitCode===1?0:a.exitCode)}if(n==="("&&i===")")return X(r!=="")}if(t.length===4){if(t[0]==="!"){let n=await pt(e,t.slice(1));return P("",n.stderr,n.exitCode===0?1:n.exitCode===1?0:n.exitCode)}if(t[0]==="("&&t[3]===")")return pt(e,[t[1],t[2]])}let s=await fr(e,t,0);return s.pos<t.length?_(`test: too many arguments
|
|
14
|
+
`,2):X(s.value)}async function fr(e,t,s){return Ji(e,t,s)}async function Ji(e,t,s){let{value:n,pos:r}=await lr(e,t,s);for(;t[r]==="-o";){let i=await lr(e,t,r+1);n=n||i.value,r=i.pos}return{value:n,pos:r}}async function lr(e,t,s){let{value:n,pos:r}=await ks(e,t,s);for(;t[r]==="-a";){let i=await ks(e,t,r+1);n=n&&i.value,r=i.pos}return{value:n,pos:r}}async function ks(e,t,s){if(t[s]==="!"){let{value:n,pos:r}=await ks(e,t,s+1);return{value:!n,pos:r}}return ea(e,t,s)}async function ea(e,t,s){let n=t[s];if(n==="("){let{value:i,pos:a}=await fr(e,t,s+1);return{value:i,pos:t[a]===")"?a+1:a}}let r=t[s+1];if(ht(r)){let i=n,a=t[s+2]??"";return{value:Vt(r,i,a),pos:s+3}}if(Wt(r)){let i=Ut(n),a=Ut(t[s+2]??"0");return!i.valid||!a.valid?{value:!1,pos:s+3}:{value:zt(r,i.value,a.value),pos:s+3}}if(Ft(r)){let i=n,a=t[s+2]??"";return{value:await Mt(e,r,i,a),pos:s+3}}if(Rt(n)){let i=t[s+1]??"";return{value:await Lt(e,n,i),pos:s+2}}if(Bt(n)){let i=t[s+1]??"";return{value:jt(n,i),pos:s+2}}if(n==="-v"){let i=t[s+1]??"";return{value:await Ht(e,i),pos:s+2}}if(n==="-o"){let i=t[s+1]??"";return{value:Os(e,i),pos:s+2}}return{value:n!==void 0&&n!=="",pos:s+1}}function nt(e,t,s=!1,n=!1){let r=`^${dr(t,n)}$`;return ut(r,s?"is":"s").test(e)}function dr(e,t){let s="";for(let n=0;n<e.length;n++){let r=e[n];if(t&&(r==="@"||r==="*"||r==="+"||r==="?"||r==="!")&&n+1<e.length&&e[n+1]==="("){let i=hr(e,n+1);if(i!==-1){let a=e.slice(n+2,i),o=pr(a),l=o.map(c=>dr(c,t)),u=l.length>0?l.join("|"):"(?:)";if(r==="@")s+=`(?:${u})`;else if(r==="*")s+=`(?:${u})*`;else if(r==="+")s+=`(?:${u})+`;else if(r==="?")s+=`(?:${u})?`;else if(r==="!")if(i<e.length-1){let f=o.map(h=>mr(h,t));if(f.every(h=>h!==null)&&f.every(h=>h===f[0])&&f[0]!==null){let h=f[0];if(h===0)s+="(?:.+)";else{let p=[];h>0&&p.push(`.{0,${h-1}}`),p.push(`.{${h+1},}`),p.push(`(?!(?:${u})).{${h}}`),s+=`(?:${p.join("|")})`}}else s+=`(?:(?!(?:${u})).)*?`}else s+=`(?!(?:${u})$).*`;n=i;continue}}if(r==="\\")if(n+1<e.length){let i=e[n+1];/[\\^$.|+(){}[\]*?]/.test(i)?s+=`\\${i}`:s+=i,n++}else s+="\\\\";else if(r==="*")s+=".*";else if(r==="?")s+=".";else if(r==="["){let i=e.indexOf("]",n+1);i!==-1?(s+=e.slice(n,i+1),n=i):s+="\\["}else/[\\^$.|+(){}]/.test(r)?s+=`\\${r}`:s+=r}return s}function hr(e,t){let s=1,n=t+1;for(;n<e.length&&s>0;){let r=e[n];if(r==="\\"){n+=2;continue}if(r==="(")s++;else if(r===")"&&(s--,s===0))return n;n++}return-1}function pr(e){let t=[],s="",n=0,r=0;for(;r<e.length;){let i=e[r];if(i==="\\"){s+=i,r+1<e.length?(s+=e[r+1],r+=2):r++;continue}i==="("?(n++,s+=i):i===")"?(n--,s+=i):i==="|"&&n===0?(t.push(s),s=""):s+=i,r++}return t.push(s),t}function mr(e,t){let s=0,n=0;for(;n<e.length;){let r=e[n];if(t&&(r==="@"||r==="*"||r==="+"||r==="?"||r==="!")&&n+1<e.length&&e[n+1]==="("){let i=hr(e,n+1);if(i!==-1){if(r==="@"){let a=e.slice(n+2,i),l=pr(a).map(u=>mr(u,t));if(l.every(u=>u!==null)&&l.every(u=>u===l[0])){s+=l[0],n=i+1;continue}return null}return null}}if(r==="*")return null;if(r==="?"){s+=1,n++;continue}if(r==="["){let i=e.indexOf("]",n+1);if(i!==-1){s+=1,n=i+1;continue}s+=1,n++;continue}if(r==="\\"){s+=1,n+=2;continue}s+=1,n++}return s}function Os(e,t){let n=new Map([["errexit",()=>e.state.options.errexit===!0],["nounset",()=>e.state.options.nounset===!0],["pipefail",()=>e.state.options.pipefail===!0],["xtrace",()=>e.state.options.xtrace===!0],["e",()=>e.state.options.errexit===!0],["u",()=>e.state.options.nounset===!0],["x",()=>e.state.options.xtrace===!0]]).get(t);return n?n():!1}async function cr(e,t){if(t=t.trim(),t==="")return 0;if(/^[+-]?(\d+#[a-zA-Z0-9@_]+|0[xX][0-9a-fA-F]+|0[0-7]+|\d+)$/.test(t))return ur(t);try{let s=new V,n=Q(s,t);return await j(e,n.expression)}catch{return ur(t)}}function ta(e,t){let s=0;for(let n of e){let r;if(n>="0"&&n<="9")r=n.charCodeAt(0)-48;else if(n>="a"&&n<="z")r=n.charCodeAt(0)-97+10;else if(n>="A"&&n<="Z")r=n.charCodeAt(0)-65+36;else if(n==="@")r=62;else if(n==="_")r=63;else return Number.NaN;if(r>=t)return Number.NaN;s=s*t+r}return s}function ur(e){if(e=e.trim(),e==="")return 0;let t=!1;e.startsWith("-")?(t=!0,e=e.slice(1)):e.startsWith("+")&&(e=e.slice(1));let s,n=e.match(/^(\d+)#([a-zA-Z0-9@_]+)$/);if(n){let r=Number.parseInt(n[1],10);r>=2&&r<=64?s=ta(n[2],r):s=0}else/^0[xX][0-9a-fA-F]+$/.test(e)?s=Number.parseInt(e,16):/^0[0-7]+$/.test(e)?s=Number.parseInt(e,8):s=Number.parseInt(e,10);return Number.isNaN(s)&&(s=0),t?-s:s}function Ut(e){if(e=e.trim(),e==="")return{value:0,valid:!0};let t=!1;if(e.startsWith("-")?(t=!0,e=e.slice(1)):e.startsWith("+")&&(e=e.slice(1)),!/^\d+$/.test(e))return{value:0,valid:!1};let s=Number.parseInt(e,10);return Number.isNaN(s)?{value:0,valid:!1}:{value:t?-s:s,valid:!0}}function sa(e){let t="",s=0;for(;s<e.length;)if(e[s]==="\\"&&s+1<e.length)t+=e[s]+e[s+1],s+=2;else if(e[s]==="["){let n=na(e,s);t+=n.converted,s=n.endIndex}else t+=e[s],s++;return t}function na(e,t){let s=t+1,n="[";s<e.length&&(e[s]==="^"||e[s]==="!")&&(n+="^",s++);let r=!1;s<e.length&&e[s]==="]"&&(r=!0,s++);let i=!1;s<e.length&&e[s]==="["&&s+1<e.length&&e[s+1]!==":"&&(i=!0,s++);let a="",o=!1;for(;s<e.length;){let l=e[s];if(l==="]"){o=!0,s++;break}if(l==="["&&s+1<e.length&&e[s+1]===":"){let u=e.indexOf(":]",s+2);if(u!==-1){let c=e.slice(s+2,u);a+=ra(c),s=u+2;continue}}if(l==="["&&s+1<e.length){let u=e[s+1];if(u==="."||u==="="){let c=`${u}]`,f=e.indexOf(c,s+2);if(f!==-1){let d=e.slice(s+2,f);a+=d,s=f+2;continue}}}if(l==="\\"&&s+1<e.length){a+=l+e[s+1],s+=2;continue}a+=l,s++}return o?(r&&(n+="\\]"),i&&(n+="\\["),n+=a,n+="]",{converted:n,endIndex:s}):{converted:"\\[",endIndex:t+1}}function ra(e){return new Map([["alnum","a-zA-Z0-9"],["alpha","a-zA-Z"],["ascii","\\x00-\\x7F"],["blank"," \\t"],["cntrl","\\x00-\\x1F\\x7F"],["digit","0-9"],["graph","!-~"],["lower","a-z"],["print"," -~"],["punct","!-/:-@\\[-`{-~"],["space"," \\t\\n\\r\\f\\v"],["upper","A-Z"],["word","a-zA-Z0-9_"],["xdigit","0-9A-Fa-f"]]).get(e)??""}function Pe(e){let t=[],s="",n=!1,r=!1,i=!1,a=!1;for(let o of e){if(i){s+=o,i=!1,a=!0;continue}if(o==="\\"){i=!0;continue}if(o==="'"&&!r){n||(a=!0),n=!n;continue}if(o==='"'&&!n){r||(a=!0),r=!r;continue}if((o===" "||o===" "||o===`
|
|
15
|
+
`)&&!n&&!r){a&&(t.push(s),s="",a=!1);continue}s+=o,a=!0}return a&&t.push(s),t}function Zt(e){let t=[],s=0;for(;s<e.length;){for(;s<e.length&&/\s/.test(e[s]);)s++;if(s>=e.length)break;if(e[s]!=="["){s++;continue}s++;let n="";if(e[s]==="'"||e[s]==='"'){let i=e[s];for(s++;s<e.length&&e[s]!==i;)n+=e[s],s++;e[s]===i&&s++}else for(;s<e.length&&e[s]!=="]"&&e[s]!=="=";)n+=e[s],s++;for(;s<e.length&&e[s]!=="]";)s++;if(e[s]==="]"&&s++,e[s]!=="=")continue;s++;let r="";if(e[s]==="'"||e[s]==='"'){let i=e[s];for(s++;s<e.length&&e[s]!==i;)e[s]==="\\"&&s+1<e.length&&s++,r+=e[s],s++;e[s]===i&&s++}else for(;s<e.length&&!/\s/.test(e[s]);)r+=e[s],s++;t.push([n,r])}return t}function yr(e){let t=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\((.*)\)$/s);if(t)return{name:t[1],isArray:!0,arrayElements:Pe(t[2])};let s=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([^\]]+)\]=(.*)$/s);if(s)return{name:s[1],isArray:!1,arrayIndex:s[2],value:s[3]};if(e.includes("=")){let n=e.indexOf("=");return{name:e.slice(0,n),isArray:!1,value:e.slice(n+1)}}return{name:e,isArray:!1}}async function ia(e,t){try{let s=new V,n=Q(s,t);return await j(e,n.expression)}catch{let s=parseInt(t,10);return Number.isNaN(s)?0:s}}async function gr(e,t,s={}){let{name:n,isArray:r,arrayElements:i,value:a,arrayIndex:o}=t,{makeReadonly:l=!1,checkReadonly:u=!0}=s;if(u){let c=ee(e,n);if(c)return c}if(r&&i){for(let c=0;c<i.length;c++)e.state.env.set(`${n}_${c}`,i[c]);e.state.env.set(`${n}__length`,String(i.length))}else if(o!==void 0&&a!==void 0){let c=await ia(e,o);e.state.env.set(`${n}_${c}`,a);let f=parseInt(e.state.env.get(`${n}__length`)??"0",10);c>=f&&e.state.env.set(`${n}__length`,String(c+1))}else a!==void 0&&e.state.env.set(n,a);return l&&ce(e,n),null}function ze(e,t){e.state.localVarDepth=e.state.localVarDepth||new Map,e.state.localVarDepth.set(t,e.state.callDepth)}function rt(e,t){return e.state.localVarDepth?.get(t)}function qt(e,t){e.state.localVarDepth?.delete(t)}function wr(e,t,s){e.state.localVarStack=e.state.localVarStack||new Map;let n=e.state.localVarStack.get(t)||[];n.push({value:s,scopeIndex:e.state.localScopes.length-1}),e.state.localVarStack.set(t,n)}function Gt(e,t){let s=e.state.localVarStack?.get(t);if(!(!s||s.length===0))return s.pop()}function vr(e,t){if(e.state.localVarStack)for(let[s,n]of e.state.localVarStack.entries()){for(;n.length>0&&n[n.length-1].scopeIndex===t;)n.pop();n.length===0&&e.state.localVarStack.delete(s)}}var Ds=new Set([":",".","break","continue","eval","exec","exit","export","readonly","return","set","shift","trap","unset"]);function br(e){return Ds.has(e)}var Ts=new Set(["if","then","else","elif","fi","case","esac","for","select","while","until","do","done","in","function","{","}","time","[[","]]","!"]),it=new Set([":","true","false","cd","export","unset","exit","local","set","break","continue","return","eval","shift","getopts","compgen","complete","compopt","pushd","popd","dirs","source",".","read","mapfile","readarray","declare","typeset","readonly","let","command","shopt","exec","test","[","echo","printf","pwd","alias","unalias","type","hash","ulimit","umask","trap","times","wait","kill","jobs","fg","bg","disown","suspend","fc","history","help","enable","builtin","caller"]);async function He(e,t,s,n){try{if((await e.fs.stat(t)).isDirectory)return`bash: ${s}: Is a directory
|
|
16
|
+
`;if(n.checkNoclobber&&e.state.options.noclobber&&!n.isClobber&&s!=="/dev/null")return`bash: ${s}: cannot overwrite existing file
|
|
17
|
+
`}catch{}return null}function Te(e){let s=Math.min(e.length,8192);for(let n=0;n<s;n++)if(e.charCodeAt(n)>127)return"utf8";return"binary"}function aa(e){if(!e.startsWith("__rw__:"))return null;let t=e.slice(7),s=t.indexOf(":");if(s===-1)return null;let n=Number.parseInt(t.slice(0,s),10);if(Number.isNaN(n)||n<0)return null;let r=s+1,i=t.slice(r,r+n),a=r+n+1,o=t.slice(a),l=o.indexOf(":");if(l===-1)return null;let u=Number.parseInt(o.slice(0,l),10);if(Number.isNaN(u)||u<0)return null;let c=o.slice(l+1);return{path:i,position:u,content:c}}async function $r(e,t){let s=new Map;for(let n=0;n<t.length;n++){let r=t[n];if(r.target.type==="HereDoc")continue;if(r.operator===">&"||r.operator==="<&"){if(ws(e,r.target))return{targets:s,error:`bash: $@: ambiguous redirect
|
|
18
|
+
`};s.set(n,await I(e,r.target))}else{let a=await Tt(e,r.target);if("error"in a)return{targets:s,error:a.error};s.set(n,a.target)}}return{targets:s}}function oa(e){e.state.nextFd===void 0&&(e.state.nextFd=10);let t=e.state.nextFd,s=e.limits.maxFileDescriptors;if(t>=s)throw new Error(`bash: cannot allocate file descriptor: too many open files (max ${s})`);return e.state.nextFd++,t}async function Kt(e,t){for(let s of t){if(!s.fdVariable)continue;if(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),(s.operator===">&"||s.operator==="<&")&&s.target.type==="Word"&&await I(e,s.target)==="-"){let i=e.state.env.get(s.fdVariable);if(i!==void 0){let a=Number.parseInt(i,10);Number.isNaN(a)||e.state.fileDescriptors.delete(a)}continue}let n=oa(e);if(e.state.env.set(s.fdVariable,String(n)),s.target.type==="Word"){let r=await I(e,s.target);if(s.operator===">&"||s.operator==="<&"){let i=Number.parseInt(r,10);if(!Number.isNaN(i)){let a=e.state.fileDescriptors.get(i);a!==void 0&&(ae(e),e.state.fileDescriptors.set(n,a));continue}}if(s.operator===">"||s.operator===">>"||s.operator===">|"||s.operator==="&>"||s.operator==="&>>"){let i=e.fs.resolvePath(e.state.cwd,r);(s.operator===">"||s.operator===">|"||s.operator==="&>")&&await e.fs.writeFile(i,"","binary"),ae(e),e.state.fileDescriptors.set(n,`__file__:${i}`)}else if(s.operator==="<<<")ae(e),e.state.fileDescriptors.set(n,`${r}
|
|
19
|
+
`);else if(s.operator==="<"||s.operator==="<>")try{let i=e.fs.resolvePath(e.state.cwd,r),a=await e.fs.readFile(i);ae(e),e.state.fileDescriptors.set(n,a)}catch{return P("",`bash: ${r}: No such file or directory
|
|
20
|
+
`,1)}}}return null}async function Ne(e,t){for(let s of t){if(s.target.type==="HereDoc")continue;let n=s.operator===">&";if(s.operator!==">"&&s.operator!==">|"&&s.operator!=="&>"&&!n)continue;let r;if(n){if(r=await I(e,s.target),r==="-"||!Number.isNaN(Number.parseInt(r,10))||s.fd!=null)continue}else{let o=await Tt(e,s.target);if("error"in o)return P("",o.error,1);r=o.target}let i=e.fs.resolvePath(e.state.cwd,r),a=s.operator===">|";if(i.includes("\0"))return P("",`bash: ${r}: No such file or directory
|
|
21
|
+
`,1);try{let o=await e.fs.stat(i);if(o.isDirectory)return P("",`bash: ${r}: Is a directory
|
|
22
|
+
`,1);if(e.state.options.noclobber&&!a&&!o.isDirectory&&r!=="/dev/null")return P("",`bash: ${r}: cannot overwrite existing file
|
|
23
|
+
`,1)}catch{}if(r!=="/dev/null"&&r!=="/dev/stdout"&&r!=="/dev/stderr"&&r!=="/dev/full"&&await e.fs.writeFile(i,"","binary"),r==="/dev/full")return P("",`bash: /dev/full: No space left on device
|
|
24
|
+
`,1)}return null}async function Z(e,t,s,n){let{stdout:r,stderr:i,exitCode:a}=t,o=t.stdoutEncoding==="binary"?()=>"binary":c=>Te(c);for(let c=0;c<s.length;c++){let f=s[c];if(f.target.type==="HereDoc")continue;let d,h=n?.get(c);if(h!==void 0)d=h;else if(f.operator===">&"||f.operator==="<&"){if(ws(e,f.target)){i+=`bash: $@: ambiguous redirect
|
|
25
|
+
`,a=1,r="";continue}d=await I(e,f.target)}else{let m=await Tt(e,f.target);if("error"in m){i+=m.error,a=1,r="";continue}d=m.target}if(!f.fdVariable){if(d.includes("\0")){i+=`bash: ${d.replace(/\0/g,"")}: No such file or directory
|
|
26
|
+
`,a=1,r="";continue}switch(f.operator){case">":case">|":{let p=f.fd??1,m=f.operator===">|";if(p===1){if(d==="/dev/stdout")break;if(d==="/dev/stderr"){i+=r,r="";break}if(d==="/dev/full"){i+=`bash: echo: write error: No space left on device
|
|
27
|
+
`,a=1,r="";break}let y=e.fs.resolvePath(e.state.cwd,d),b=await He(e,y,d,{checkNoclobber:!0,isClobber:m});if(b){i+=b,a=1,r="";break}await e.fs.writeFile(y,r,o(r)),r=""}else if(p===2){if(d==="/dev/stderr")break;if(d==="/dev/stdout"){r+=i,i="";break}if(d==="/dev/full"){i+=`bash: echo: write error: No space left on device
|
|
28
|
+
`,a=1;break}if(d==="/dev/null")i="";else{let y=e.fs.resolvePath(e.state.cwd,d),b=await He(e,y,d,{checkNoclobber:!0,isClobber:m});if(b){i+=b,a=1;break}await e.fs.writeFile(y,i,Te(i)),i=""}}break}case">>":{let p=f.fd??1;if(p===1){if(d==="/dev/stdout")break;if(d==="/dev/stderr"){i+=r,r="";break}if(d==="/dev/full"){i+=`bash: echo: write error: No space left on device
|
|
29
|
+
`,a=1,r="";break}let m=e.fs.resolvePath(e.state.cwd,d),y=await He(e,m,d,{});if(y){i+=y,a=1,r="";break}await e.fs.appendFile(m,r,o(r)),r=""}else if(p===2){if(d==="/dev/stderr")break;if(d==="/dev/stdout"){r+=i,i="";break}if(d==="/dev/full"){i+=`bash: echo: write error: No space left on device
|
|
30
|
+
`,a=1;break}let m=e.fs.resolvePath(e.state.cwd,d),y=await He(e,m,d,{});if(y){i+=y,a=1;break}await e.fs.appendFile(m,i,Te(i)),i=""}break}case">&":case"<&":{let p=f.fd??1;if(d==="-")break;if(d.endsWith("-")){let m=d.slice(0,-1),y=Number.parseInt(m,10);if(!Number.isNaN(y)){let b=e.state.fileDescriptors?.get(y);b!==void 0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),e.state.fileDescriptors.set(p,b),y>=3&&e.state.fileDescriptors?.delete(y)):y===1||y===2?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),e.state.fileDescriptors.set(p,`__dupout__:${y}`)):y===0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),e.state.fileDescriptors.set(p,`__dupin__:${y}`)):y>=3&&(i+=`bash: ${y}: Bad file descriptor
|
|
31
|
+
`,a=1)}break}if(d==="2"||d==="&2")p===1&&(i+=r,r="");else if(d==="1"||d==="&1")r+=i,i="";else{let m=Number.parseInt(d,10);if(Number.isNaN(m)){if(f.operator===">&"){let y=e.fs.resolvePath(e.state.cwd,d),b=await He(e,y,d,{checkNoclobber:!0});if(b){i=b,a=1,r="";break}if(f.fd==null){let v=r+i;await e.fs.writeFile(y,v,o(v)),r="",i=""}else p===1?(await e.fs.writeFile(y,r,o(r)),r=""):p===2&&(await e.fs.writeFile(y,i,Te(i)),i="")}}else{let y=e.state.fileDescriptors?.get(m);if(y?.startsWith("__file__:")){let b=y.slice(9);p===1?(await e.fs.appendFile(b,r,o(r)),r=""):p===2&&(await e.fs.appendFile(b,i,Te(i)),i="")}else if(y?.startsWith("__rw__:")){let b=aa(y);b&&(p===1?(await e.fs.appendFile(b.path,r,o(r)),r=""):p===2&&(await e.fs.appendFile(b.path,i,Te(i)),i=""))}else if(y?.startsWith("__dupout__:")){let b=Number.parseInt(y.slice(11),10);if(b!==1)if(b===2)p===1&&(i+=r,r="");else{let v=e.state.fileDescriptors?.get(b);if(v?.startsWith("__file__:")){let A=v.slice(9);p===1?(await e.fs.appendFile(A,r,o(r)),r=""):p===2&&(await e.fs.appendFile(A,i,Te(i)),i="")}}}else y?.startsWith("__dupin__:")?(i+=`bash: ${m}: Bad file descriptor
|
|
32
|
+
`,a=1,r=""):m>=3&&(i+=`bash: ${m}: Bad file descriptor
|
|
33
|
+
`,a=1,r="")}}break}case"&>":{if(d==="/dev/full"){i=`bash: echo: write error: No space left on device
|
|
34
|
+
`,a=1,r="";break}let p=e.fs.resolvePath(e.state.cwd,d),m=await He(e,p,d,{checkNoclobber:!0});if(m){i=m,a=1,r="";break}let y=r+i;await e.fs.writeFile(p,y,o(y)),r="",i="";break}case"&>>":{if(d==="/dev/full"){i=`bash: echo: write error: No space left on device
|
|
35
|
+
`,a=1,r="";break}let p=e.fs.resolvePath(e.state.cwd,d),m=await He(e,p,d,{});if(m){i=m,a=1,r="";break}let y=r+i;await e.fs.appendFile(p,y,o(y)),r="",i="";break}}}}let l=e.state.fileDescriptors?.get(1);if(l){if(l==="__dupout__:2")i+=r,r="";else if(l.startsWith("__file__:")){let c=l.slice(9);await e.fs.appendFile(c,r,o(r)),r=""}else if(l.startsWith("__file_append__:")){let c=l.slice(16);await e.fs.appendFile(c,r,o(r)),r=""}}let u=e.state.fileDescriptors?.get(2);if(u){if(u==="__dupout__:1")r+=i,i="";else if(u.startsWith("__file__:")){let c=u.slice(9);await e.fs.appendFile(c,i,Te(i)),i=""}else if(u.startsWith("__file_append__:")){let c=u.slice(16);await e.fs.appendFile(c,i,Te(i)),i=""}}return P(r,i,a)}function Er(e,t){if(e.state.options.posix&&Ds.has(t.name)){let n=`bash: line ${e.state.currentLine}: \`${t.name}': is a special builtin
|
|
36
|
+
`;throw new B(2,"",n)}let s={...t,sourceFile:t.sourceFile??e.state.currentSource??"main"};return e.state.functions.set(t.name,s),L}async function la(e,t){let s="";for(let n of t)if((n.operator==="<<"||n.operator==="<<-")&&n.target.type==="HereDoc"){let r=n.target,i=await I(e,r.content);r.stripTabs&&(i=i.split(`
|
|
37
|
+
`).map(o=>o.replace(/^\t+/,"")).join(`
|
|
38
|
+
`)),(n.fd??0)===0&&(s=i)}else if(n.operator==="<<<"&&n.target.type==="Word")s=`${await I(e,n.target)}
|
|
39
|
+
`;else if(n.operator==="<"&&n.target.type==="Word"){let r=await I(e,n.target),i=e.fs.resolvePath(e.state.cwd,r);try{s=await e.fs.readFile(i)}catch{}}return s}async function Xt(e,t,s,n="",r){e.state.callDepth++,e.state.callDepth>e.limits.maxCallDepth&&(e.state.callDepth--,Ce(`${t.name}: maximum recursion depth (${e.limits.maxCallDepth}) exceeded, increase executionLimits.maxCallDepth`,"recursion")),e.state.funcNameStack||(e.state.funcNameStack=[]),e.state.callLineStack||(e.state.callLineStack=[]),e.state.sourceStack||(e.state.sourceStack=[]),e.state.funcNameStack.unshift(t.name),e.state.callLineStack.unshift(r??e.state.currentLine),e.state.sourceStack.unshift(t.sourceFile??"main"),e.state.localScopes.push(new Map),e.state.localExportedVars||(e.state.localExportedVars=[]),e.state.localExportedVars.push(new Set);let i=new Map;for(let u=0;u<s.length;u++)i.set(String(u+1),e.state.env.get(String(u+1))),e.state.env.set(String(u+1),s[u]);i.set("@",e.state.env.get("@")),i.set("#",e.state.env.get("#")),e.state.env.set("@",s.join(" ")),e.state.env.set("#",String(s.length));let a=()=>{let u=e.state.localScopes.length-1,c=e.state.localScopes.pop();if(c)for(let[f,d]of c)d===void 0?e.state.env.delete(f):e.state.env.set(f,d);if(vr(e,u),e.state.fullyUnsetLocals)for(let[f,d]of e.state.fullyUnsetLocals.entries())d===u&&e.state.fullyUnsetLocals.delete(f);if(e.state.localExportedVars&&e.state.localExportedVars.length>0){let f=e.state.localExportedVars.pop();if(f)for(let d of f)e.state.exportedVars?.delete(d)}for(let[f,d]of i)d===void 0?e.state.env.delete(f):e.state.env.set(f,d);e.state.funcNameStack?.shift(),e.state.callLineStack?.shift(),e.state.sourceStack?.shift(),e.state.callDepth--},{targets:o,error:l}=await $r(e,t.redirections);if(l)return a(),P("",l,1);try{let u=await la(e,t.redirections),c=n||u,f=await e.executeCommand(t.body,c);return a(),Z(e,f,t.redirections,o)}catch(u){if(a(),u instanceof le){let c=P(u.stdout,u.stderr,u.exitCode);return Z(e,c,t.redirections,o)}throw u}}var Ar=["!","[[","]]","case","do","done","elif","else","esac","fi","for","function","if","in","then","time","until","while","{","}"],xs=[".",":","[","alias","bg","bind","break","builtin","caller","cd","command","compgen","complete","compopt","continue","declare","dirs","disown","echo","enable","eval","exec","exit","export","false","fc","fg","getopts","hash","help","history","jobs","kill","let","local","logout","mapfile","popd","printf","pushd","pwd","read","readarray","readonly","return","set","shift","shopt","source","suspend","test","times","trap","true","type","typeset","ulimit","umask","unalias","unset","wait"],ca=["autocd","assoc_expand_once","cdable_vars","cdspell","checkhash","checkjobs","checkwinsize","cmdhist","compat31","compat32","compat40","compat41","compat42","compat43","compat44","complete_fullquote","direxpand","dirspell","dotglob","execfail","expand_aliases","extdebug","extglob","extquote","failglob","force_fignore","globasciiranges","globstar","gnu_errfmt","histappend","histreedit","histverify","hostcomplete","huponexit","inherit_errexit","interactive_comments","lastpipe","lithist","localvar_inherit","localvar_unset","login_shell","mailwarn","no_empty_cmd_completion","nocaseglob","nocasematch","nullglob","progcomp","progcomp_alias","promptvars","restricted_shell","shift_verbose","sourcepath","xpg_echo"],ua=xs;async function Rs(e,t){let s=[],n=null,r="",i="",a=null,o=!1,l=!1,u=!1,c=null,f=null,d=null,h=[],p=["alias","arrayvar","binding","builtin","command","directory","disabled","enabled","export","file","function","group","helptopic","hostname","job","keyword","running","service","setopt","shopt","signal","stopped","user","variable"];for(let g=0;g<t.length;g++){let w=t[g];if(w==="-v")s.push("variable");else if(w==="-e")s.push("export");else if(w==="-f")s.push("file");else if(w==="-d")s.push("directory");else if(w==="-k")s.push("keyword");else if(w==="-A"){if(g++,g>=t.length)return _(`compgen: -A: option requires an argument
|
|
40
|
+
`,2);let $=t[g];if(!p.includes($))return _(`compgen: ${$}: invalid action name
|
|
41
|
+
`,2);s.push($)}else if(w==="-W"){if(g++,g>=t.length)return _(`compgen: -W: option requires an argument
|
|
42
|
+
`,2);n=t[g]}else if(w==="-P"){if(g++,g>=t.length)return _(`compgen: -P: option requires an argument
|
|
43
|
+
`,2);r=t[g]}else if(w==="-S"){if(g++,g>=t.length)return _(`compgen: -S: option requires an argument
|
|
44
|
+
`,2);i=t[g]}else if(w==="-o"){if(g++,g>=t.length)return _(`compgen: -o: option requires an argument
|
|
45
|
+
`,2);let $=t[g];if($==="plusdirs")o=!0;else if($==="dirnames")l=!0;else if($==="default")u=!0;else if(!($==="filenames"||$==="nospace"||$==="bashdefault"||$==="noquote"))return _(`compgen: ${$}: invalid option name
|
|
46
|
+
`,2)}else if(w==="-F"){if(g++,g>=t.length)return _(`compgen: -F: option requires an argument
|
|
47
|
+
`,2);f=t[g]}else if(w==="-C"){if(g++,g>=t.length)return _(`compgen: -C: option requires an argument
|
|
48
|
+
`,2);d=t[g]}else if(w==="-X"){if(g++,g>=t.length)return _(`compgen: -X: option requires an argument
|
|
49
|
+
`,2);c=t[g]}else if(w==="-G"){if(g++,g>=t.length)return _(`compgen: -G: option requires an argument
|
|
50
|
+
`,2)}else if(w==="--"){h.push(...t.slice(g+1));break}else w.startsWith("-")||h.push(w)}a=h[0]??null;let m=[];if(l){let g=await Is(e,a);m.push(...g)}if(u){let g=await Sr(e,a);m.push(...g)}for(let g of s)if(g==="variable"){let w=fa(e,a);m.push(...w)}else if(g==="export"){let w=da(e,a);m.push(...w)}else if(g==="function"){let w=ha(e,a);m.push(...w)}else if(g==="builtin"){let w=pa(a);m.push(...w)}else if(g==="keyword"){let w=ma(a);m.push(...w)}else if(g==="alias"){let w=ya(e,a);m.push(...w)}else if(g==="shopt"){let w=ga(a);m.push(...w)}else if(g==="helptopic"){let w=wa(a);m.push(...w)}else if(g==="directory"){let w=await Is(e,a);m.push(...w)}else if(g==="file"){let w=await Sr(e,a);m.push(...w)}else if(g==="user"){let w=va(a);m.push(...w)}else if(g==="command"){let w=await ba(e,a);m.push(...w)}if(n!==null)try{let g=await $a(e,n),w=Ea(e,g);for(let $ of w)(a===null||$.startsWith(a))&&m.push($)}catch{return P("","",1)}if(o){let g=await Is(e,a);for(let w of g)m.includes(w)||m.push(w)}let y="";if(f!==null){let g=e.state.functions.get(f);if(g){let w=new Map;w.set("COMP_WORDS__length",e.state.env.get("COMP_WORDS__length")),e.state.env.set("COMP_WORDS__length","0"),w.set("COMP_CWORD",e.state.env.get("COMP_CWORD")),e.state.env.set("COMP_CWORD","-1"),w.set("COMP_LINE",e.state.env.get("COMP_LINE")),e.state.env.set("COMP_LINE",""),w.set("COMP_POINT",e.state.env.get("COMP_POINT")),e.state.env.set("COMP_POINT","0");let $=new Map;for(let O of e.state.env.keys())(O==="COMPREPLY"||O.startsWith("COMPREPLY_")||O==="COMPREPLY__length")&&($.set(O,e.state.env.get(O)),e.state.env.delete(O));let E=["compgen",h[0]??"",""];try{let O=await Xt(e,g,E,"");if(O.exitCode!==0)return at(e,w),at(e,$),P("",O.stderr,1);y=O.stdout;let k=Sa(e);m.push(...k)}catch{return at(e,w),at(e,$),P("","",1)}at(e,w),at(e,$)}}if(d!==null)try{let g=be(d),w=await e.executeScript(g);if(w.exitCode!==0)return P("",w.stderr,w.exitCode);if(w.stdout){let $=w.stdout.split(`
|
|
51
|
+
`);for(let E of $)E.length>0&&m.push(E)}}catch(g){if(g.name==="ParseException")return _(`compgen: -C: ${g.message}
|
|
52
|
+
`,2);throw g}let b=m;if(c!==null){let g=c.startsWith("!"),w=g?c.slice(1):c;b=m.filter($=>{let E=nt($,w,!1,!0);return g?E:!E})}if(b.length===0&&a!==null)return P(y,"",1);let v=b.map(g=>`${r}${g}${i}`).join(`
|
|
53
|
+
`),A=y+(v?`${v}
|
|
54
|
+
`:"");return F(A)}function fa(e,t){let s=new Set;for(let r of e.state.env.keys()){if(r.includes("_")&&/^[a-zA-Z_][a-zA-Z0-9_]*_\d+$/.test(r)||r.endsWith("__length"))continue;let i=r.split("_")[0];/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)?s.add(r):i&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(i)&&e.state.env.has(`${i}__length`)&&s.add(i)}let n=Array.from(s);return t!==null&&(n=n.filter(r=>r.startsWith(t))),n.sort()}function da(e,t){let s=e.state.exportedVars??new Set,n=Array.from(s);return t!==null&&(n=n.filter(r=>r.startsWith(t))),n=n.filter(r=>r.includes("_")&&/^[a-zA-Z_][a-zA-Z0-9_]*_\d+$/.test(r)||r.endsWith("__length")?!1:e.state.env.has(r)),n.sort()}function ha(e,t){let s=Array.from(e.state.functions.keys());return t!==null&&(s=s.filter(n=>n.startsWith(t))),s.sort()}function pa(e){let t=[...xs];return e!==null&&(t=t.filter(s=>s.startsWith(e))),t.sort()}function ma(e){let t=[...Ar];return e!==null&&(t=t.filter(s=>s.startsWith(e))),t.sort()}function ya(e,t){let s=[];for(let r of e.state.env.keys())if(r.startsWith("BASH_ALIAS_")){let i=r.slice(11);s.push(i)}let n=s;return t!==null&&(n=n.filter(r=>r.startsWith(t))),n.sort()}function ga(e){let t=[...ca];return e!==null&&(t=t.filter(s=>s.startsWith(e))),t.sort()}function wa(e){let t=[...ua];return e!==null&&(t=t.filter(s=>s.startsWith(e))),t.sort()}async function Is(e,t){let s=[];try{let n=e.state.cwd,r=t??"";if(t){let a=t.lastIndexOf("/");if(a!==-1){let o=t.slice(0,a)||"/";r=t.slice(a+1),o.startsWith("/")?n=o:n=`${e.state.cwd}/${o}`}}let i=await e.fs.readdir(n);for(let a of i){let o=`${n}/${a}`;try{if((await e.fs.stat(o)).isDirectory&&(!r||a.startsWith(r)))if(t?.includes("/")){let u=t.lastIndexOf("/"),c=t.slice(0,u+1);s.push(c+a)}else s.push(a)}catch{}}}catch{}return s.sort()}async function Sr(e,t){let s=[];try{let n=e.state.cwd,r=t??"";if(t){let a=t.lastIndexOf("/");if(a!==-1){let o=t.slice(0,a)||"/";r=t.slice(a+1),o.startsWith("/")?n=o:n=`${e.state.cwd}/${o}`}}let i=await e.fs.readdir(n);for(let a of i)if(!r||a.startsWith(r))if(t?.includes("/")){let o=t.lastIndexOf("/"),l=t.slice(0,o+1);s.push(l+a)}else s.push(a)}catch{}return s.sort()}function va(e){return["root","nobody"]}async function ba(e,t){let s=new Set;for(let i of xs)s.add(i);for(let i of e.state.functions.keys())s.add(i);for(let i of e.state.env.keys())i.startsWith("BASH_ALIAS_")&&s.add(i.slice(11));for(let i of Ar)s.add(i);let n=e.state.env.get("PATH")??"/usr/bin:/bin";for(let i of n.split(":"))if(i)try{let a=await e.fs.readdir(i);for(let o of a)s.add(o)}catch{}let r=Array.from(s);return t!==null&&(r=r.filter(i=>i.startsWith(t))),r.sort()}async function $a(e,t){let n=new V().parseWordFromString(t,!1,!1);return await I(e,n)}function Ea(e,t){let s=e.state.env.get("IFS")??`
|
|
55
|
+
`;if(s.length===0)return[t];let n=new Set(s.split("")),r=[],i="",a=0;for(;a<t.length;){let o=t[a];if(o==="\\"&&a+1<t.length){let l=t[a+1];i+=l,a+=2}else n.has(o)?(i.length>0&&(r.push(i),i=""),a++):(i+=o,a++)}return i.length>0&&r.push(i),r}function at(e,t){for(let[s,n]of t)n===void 0?e.state.env.delete(s):e.state.env.set(s,n)}function Sa(e){let t=[];if(e.state.env.get("COMPREPLY__length")!==void 0){let r=$e(e,"COMPREPLY");for(let[,i]of r)t.push(i)}else{let r=e.state.env.get("COMPREPLY");r!==void 0&&t.push(r)}return t}var Aa=["bashdefault","default","dirnames","filenames","noquote","nosort","nospace","plusdirs"];function Fs(e,t){e.state.completionSpecs||(e.state.completionSpecs=new Map);let s=!1,n=!1,r=!1,i,a,o,l=[],u=[],c=[];for(let f=0;f<t.length;f++){let d=t[f];if(d==="-p")s=!0;else if(d==="-r")n=!0;else if(d==="-D")r=!0;else if(d==="-W"){if(f++,f>=t.length)return _(`complete: -W: option requires an argument
|
|
56
|
+
`,2);i=t[f]}else if(d==="-F"){if(f++,f>=t.length)return _(`complete: -F: option requires an argument
|
|
57
|
+
`,2);a=t[f]}else if(d==="-o"){if(f++,f>=t.length)return _(`complete: -o: option requires an argument
|
|
58
|
+
`,2);let h=t[f];if(!Aa.includes(h))return _(`complete: ${h}: invalid option name
|
|
59
|
+
`,2);l.push(h)}else if(d==="-A"){if(f++,f>=t.length)return _(`complete: -A: option requires an argument
|
|
60
|
+
`,2);u.push(t[f])}else if(d==="-C"){if(f++,f>=t.length)return _(`complete: -C: option requires an argument
|
|
61
|
+
`,2);o=t[f]}else if(d==="-G"){if(f++,f>=t.length)return _(`complete: -G: option requires an argument
|
|
62
|
+
`,2)}else if(d==="-P"){if(f++,f>=t.length)return _(`complete: -P: option requires an argument
|
|
63
|
+
`,2)}else if(d==="-S"){if(f++,f>=t.length)return _(`complete: -S: option requires an argument
|
|
64
|
+
`,2)}else if(d==="-X"){if(f++,f>=t.length)return _(`complete: -X: option requires an argument
|
|
65
|
+
`,2)}else if(d==="--"){c.push(...t.slice(f+1));break}else d.startsWith("-")||c.push(d)}if(n){if(c.length===0)return e.state.completionSpecs.clear(),F("");for(let f of c)e.state.completionSpecs.delete(f);return F("")}if(s)return c.length===0?Ls(e):Ls(e,c);if(t.length===0||c.length===0&&!i&&!a&&!o&&l.length===0&&u.length===0&&!r)return Ls(e);if(a&&c.length===0&&!r)return _(`complete: -F: option requires a command name
|
|
66
|
+
`,2);if(r){let f={isDefault:!0};return i!==void 0&&(f.wordlist=i),a!==void 0&&(f.function=a),o!==void 0&&(f.command=o),l.length>0&&(f.options=l),u.length>0&&(f.actions=u),e.state.completionSpecs.set("__default__",f),F("")}for(let f of c){let d=Object.create(null);i!==void 0&&(d.wordlist=i),a!==void 0&&(d.function=a),o!==void 0&&(d.command=o),l.length>0&&(d.options=l),u.length>0&&(d.actions=u),e.state.completionSpecs.set(f,d)}return F("")}function Ls(e,t){let s=e.state.completionSpecs;if(!s||s.size===0){if(t&&t.length>0){let i="";for(let a of t)i+=`complete: ${a}: no completion specification
|
|
67
|
+
`;return P("",i,1)}return F("")}let n=[],r=t||Array.from(s.keys());for(let i of r){if(i==="__default__")continue;let a=s.get(i);if(!a){if(t)return P(n.join(`
|
|
68
|
+
`)+(n.length>0?`
|
|
69
|
+
`:""),`complete: ${i}: no completion specification
|
|
70
|
+
`,1);continue}let o="complete";if(a.options)for(let l of a.options)o+=` -o ${l}`;if(a.actions)for(let l of a.actions)o+=` -A ${l}`;a.wordlist!==void 0&&(a.wordlist.includes(" ")||a.wordlist.includes("'")?o+=` -W '${a.wordlist}'`:o+=` -W ${a.wordlist}`),a.function!==void 0&&(o+=` -F ${a.function}`),a.isDefault&&(o+=" -D"),o+=` ${i}`,n.push(o)}return n.length===0?F(""):F(`${n.join(`
|
|
71
|
+
`)}
|
|
72
|
+
`)}var _r=["bashdefault","default","dirnames","filenames","noquote","nosort","nospace","plusdirs"];function Ms(e,t){e.state.completionSpecs||(e.state.completionSpecs=new Map);let s=!1,n=!1,r=[],i=[],a=[];for(let o=0;o<t.length;o++){let l=t[o];if(l==="-D")s=!0;else if(l==="-E")n=!0;else if(l==="-o"){if(o++,o>=t.length)return _(`compopt: -o: option requires an argument
|
|
73
|
+
`,2);let u=t[o];if(!_r.includes(u))return _(`compopt: ${u}: invalid option name
|
|
74
|
+
`,2);r.push(u)}else if(l==="+o"){if(o++,o>=t.length)return _(`compopt: +o: option requires an argument
|
|
75
|
+
`,2);let u=t[o];if(!_r.includes(u))return _(`compopt: ${u}: invalid option name
|
|
76
|
+
`,2);i.push(u)}else if(l==="--"){a.push(...t.slice(o+1));break}else!l.startsWith("-")&&!l.startsWith("+")&&a.push(l)}if(s){let o=e.state.completionSpecs.get("__default__")??{isDefault:!0},l=new Set(o.options??[]);for(let u of r)l.add(u);for(let u of i)l.delete(u);return o.options=l.size>0?Array.from(l):void 0,e.state.completionSpecs.set("__default__",o),F("")}if(n){let o=e.state.completionSpecs.get("__empty__")??{},l=new Set(o.options??[]);for(let u of r)l.add(u);for(let u of i)l.delete(u);return o.options=l.size>0?Array.from(l):void 0,e.state.completionSpecs.set("__empty__",o),F("")}if(a.length>0){for(let o of a){let l=e.state.completionSpecs.get(o)??{},u=new Set(l.options??[]);for(let c of r)u.add(c);for(let c of i)u.delete(c);l.options=u.size>0?Array.from(u):void 0,e.state.completionSpecs.set(o,l)}return F("")}return _(`compopt: not currently executing completion function
|
|
77
|
+
`,1)}function Ws(e,t){if(e.state.loopDepth===0){if(e.state.parentHasLoopContext)throw new Ie;return L}if(t.length>1)throw new B(1,"",`bash: continue: too many arguments
|
|
78
|
+
`);let s=1;if(t.length>0){let n=Number.parseInt(t[0],10);if(Number.isNaN(n)||n<1)throw new B(1,"",`bash: continue: ${t[0]}: numeric argument required
|
|
79
|
+
`);s=n}throw new de(s)}function G(e,t){let s=e.state.env.get("HOME")||"/home/user";return t.split(":").map(i=>i==="~"?s:i==="~root"?"/root":i.startsWith("~/")?s+i.slice(1):i.startsWith("~root/")?`/root${i.slice(5)}`:i).join(":")}function zs(e){for(let t=0;t<e.length;t++){let s=e.charCodeAt(t);if(s<32||s===127)return!0}return!1}function Vs(e){let t="$'";for(let s=0;s<e.length;s++){let n=e[s],r=e.charCodeAt(s);r===7?t+="\\a":r===8?t+="\\b":r===9?t+="\\t":r===10?t+="\\n":r===11?t+="\\v":r===12?t+="\\f":r===13?t+="\\r":r===27?t+="\\e":r===39?t+="\\'":r===92?t+="\\\\":r<32||r===127?t+=`\\${r.toString(8).padStart(3,"0")}`:t+=n}return t+="'",t}function Yt(e){return zs(e)?Vs(e):/^[a-zA-Z0-9_/.:\-@%+,=]*$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}function Ue(e){return zs(e)?Vs(e):`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Bs(e){return zs(e)?Vs(e):`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Cr(e,t){let s="";return e.state.integerVars?.has(t)&&(s+="i"),e.state.lowercaseVars?.has(t)&&(s+="l"),me(e,t)&&(s+="n"),e.state.readonlyVars?.has(t)&&(s+="r"),e.state.uppercaseVars?.has(t)&&(s+="u"),e.state.exportedVars?.has(t)&&(s+="x"),s===""?"--":`-${s}`}function js(e){return e===""?"''":/[\s'\\]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}function Pr(e,t){let s="",n="",r=!1;for(let i of t){let a=Cr(e,i);if(e.state.associativeArrays?.has(i)){let c=Fe(e,i);if(c.length===0)s+=`declare -A ${i}=()
|
|
80
|
+
`;else{let f=c.map(d=>{let h=e.state.env.get(`${i}_${d}`)??"",p=js(h);return`['${d}']=${p}`});s+=`declare -A ${i}=(${f.join(" ")})
|
|
81
|
+
`}continue}let l=ne(e,i);if(l.length>0){let c=l.map(f=>{let d=e.state.env.get(`${i}_${f}`)??"";return`[${f}]=${Ue(d)}`});s+=`declare -a ${i}=(${c.join(" ")})
|
|
82
|
+
`;continue}if(e.state.env.has(`${i}__length`)){s+=`declare -a ${i}=()
|
|
83
|
+
`;continue}let u=e.state.env.get(i);if(u!==void 0)s+=`declare ${a} ${i}=${Bs(u)}
|
|
84
|
+
`;else{let c=e.state.declaredVars?.has(i),f=e.state.localVarDepth?.has(i);c||f?s+=`declare ${a} ${i}
|
|
85
|
+
`:(n+=`bash: declare: ${i}: not found
|
|
86
|
+
`,r=!0)}}return P(s,n,r?1:0)}function Nr(e,t){let{filterExport:s,filterReadonly:n,filterNameref:r,filterIndexedArray:i,filterAssocArray:a}=t,o=s||n||r||i||a,l="",u=new Set;for(let f of e.state.env.keys()){if(f.startsWith("BASH_"))continue;if(f.endsWith("__length")){let h=f.slice(0,-8);u.add(h);continue}let d=f.lastIndexOf("_");if(d>0){let h=f.slice(0,d),p=f.slice(d+1);if(/^\d+$/.test(p)||e.state.associativeArrays?.has(h)){u.add(h);continue}}u.add(f)}if(e.state.localVarDepth)for(let f of e.state.localVarDepth.keys())u.add(f);if(e.state.associativeArrays)for(let f of e.state.associativeArrays)u.add(f);let c=Array.from(u).sort();for(let f of c){let d=Cr(e,f),h=e.state.associativeArrays?.has(f),p=ne(e,f),m=!h&&(p.length>0||e.state.env.has(`${f}__length`));if(o&&(a&&!h||i&&!m||s&&!e.state.exportedVars?.has(f)||n&&!e.state.readonlyVars?.has(f)||r&&!me(e,f)))continue;if(h){let b=Fe(e,f);if(b.length===0)l+=`declare -A ${f}=()
|
|
87
|
+
`;else{let v=b.map(A=>{let g=e.state.env.get(`${f}_${A}`)??"",w=js(g);return`['${A}']=${w}`});l+=`declare -A ${f}=(${v.join(" ")})
|
|
88
|
+
`}continue}if(p.length>0){let b=p.map(v=>{let A=e.state.env.get(`${f}_${v}`)??"";return`[${v}]=${Ue(A)}`});l+=`declare -a ${f}=(${b.join(" ")})
|
|
89
|
+
`;continue}if(e.state.env.has(`${f}__length`)){l+=`declare -a ${f}=()
|
|
90
|
+
`;continue}let y=e.state.env.get(f);y!==void 0&&(l+=`declare ${d} ${f}=${Bs(y)}
|
|
91
|
+
`)}return F(l)}function kr(e){let t="",s=Array.from(e.state.associativeArrays??[]).sort();for(let n of s){let r=Fe(e,n);if(r.length===0)t+=`declare -A ${n}=()
|
|
92
|
+
`;else{let i=r.map(a=>{let o=e.state.env.get(`${n}_${a}`)??"",l=js(o);return`['${a}']=${l}`});t+=`declare -A ${n}=(${i.join(" ")})
|
|
93
|
+
`}}return F(t)}function Or(e){let t="",s=new Set;for(let r of e.state.env.keys()){if(r.startsWith("BASH_"))continue;if(r.endsWith("__length")){let a=r.slice(0,-8);e.state.associativeArrays?.has(a)||s.add(a);continue}let i=r.lastIndexOf("_");if(i>0){let a=r.slice(0,i),o=r.slice(i+1);/^\d+$/.test(o)&&(e.state.associativeArrays?.has(a)||s.add(a))}}let n=Array.from(s).sort();for(let r of n){let i=ne(e,r);if(i.length===0)t+=`declare -a ${r}=()
|
|
94
|
+
`;else{let a=i.map(o=>{let l=e.state.env.get(`${r}_${o}`)??"";return`[${o}]=${Ue(l)}`});t+=`declare -a ${r}=(${a.join(" ")})
|
|
95
|
+
`}}return F(t)}function Dr(e){let t="",s=new Set;for(let r of e.state.env.keys()){if(r.startsWith("BASH_"))continue;if(r.endsWith("__length")){let a=r.slice(0,-8);s.add(a);continue}let i=r.lastIndexOf("_");if(i>0){let a=r.slice(0,i),o=r.slice(i+1);if(/^\d+$/.test(o)||e.state.associativeArrays?.has(a)){s.add(a);continue}}s.add(r)}let n=Array.from(s).sort();for(let r of n){if(e.state.associativeArrays?.has(r)||ne(e,r).length>0||e.state.env.has(`${r}__length`))continue;let o=e.state.env.get(r);o!==void 0&&(t+=`${r}=${Yt(o)}
|
|
96
|
+
`)}return F(t)}function Hs(e,t){e.state.integerVars??=new Set,e.state.integerVars.add(t)}function mt(e,t){return e.state.integerVars?.has(t)??!1}function Us(e,t){e.state.lowercaseVars??=new Set,e.state.lowercaseVars.add(t),e.state.uppercaseVars?.delete(t)}function _a(e,t){return e.state.lowercaseVars?.has(t)??!1}function Zs(e,t){e.state.uppercaseVars??=new Set,e.state.uppercaseVars.add(t),e.state.lowercaseVars?.delete(t)}function Ca(e,t){return e.state.uppercaseVars?.has(t)??!1}function ot(e,t,s){return _a(e,t)?s.toLowerCase():Ca(e,t)?s.toUpperCase():s}async function Tr(e,t){try{let s=new V,n=Q(s,t),r=await j(e,n.expression);return String(r)}catch{return"0"}}function Pa(e){let t=e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/);if(!t)return null;let s=t[0],n=s.length;if(e[n]!=="[")return null;let r=0,i=n+1;for(;n<e.length;n++)if(e[n]==="[")r++;else if(e[n]==="]"&&(r--,r===0))break;if(r!==0)return null;let a=e.slice(i,n);if(n++,e[n]!=="=")return null;n++;let o=e.slice(n);return{name:s,indexExpr:a,value:o}}async function qs(e,t){let s=!1,n=!1,r=!1,i=!1,a=!1,o=!1,l=!1,u=!1,c=!1,f=!1,d=!1,h=!1,p=!1,m=!1,y=!1,b=[];for(let k=0;k<t.length;k++){let x=t[k];if(x==="-a")s=!0;else if(x==="-A")n=!0;else if(x==="-r")r=!0;else if(x==="-x")i=!0;else if(x==="-p")a=!0;else if(x==="-n")o=!0;else if(x==="+n")l=!0;else if(x==="+a")u=!0;else if(x==="+x")c=!0;else if(x==="--"){b.push(...t.slice(k+1));break}else if(x.startsWith("+")){for(let C of x.slice(1))if(C==="n")l=!0;else if(C==="a")u=!0;else if(C==="x")c=!0;else if(C!=="r"){if(C!=="i"){if(!(C==="f"||C==="F"))return P("",`bash: typeset: +${C}: invalid option
|
|
97
|
+
`,2)}}}else if(x==="-i")f=!0;else if(x==="-l")d=!0;else if(x==="-u")h=!0;else if(x==="-f")p=!0;else if(x==="-F")m=!0;else if(x==="-g")y=!0;else if(x.startsWith("-"))for(let C of x.slice(1))if(C==="a")s=!0;else if(C==="A")n=!0;else if(C==="r")r=!0;else if(C==="x")i=!0;else if(C==="p")a=!0;else if(C==="n")o=!0;else if(C==="i")f=!0;else if(C==="l")d=!0;else if(C==="u")h=!0;else if(C==="f")p=!0;else if(C==="F")m=!0;else if(C==="g")y=!0;else return P("",`bash: typeset: -${C}: invalid option
|
|
98
|
+
`,2);else b.push(x)}let A=e.state.localScopes.length>0&&!y,g=k=>{if(!A)return;let x=e.state.localScopes[e.state.localScopes.length-1];x.has(k)||x.set(k,e.state.env.get(k))},w=k=>{if(!A)return;let x=e.state.localScopes[e.state.localScopes.length-1];x.has(k)||x.set(k,e.state.env.get(k));let C=`${k}_`;for(let D of e.state.env.keys())D.startsWith(C)&&!D.includes("__")&&(x.has(D)||x.set(D,e.state.env.get(D)));let N=`${k}__length`;e.state.env.has(N)&&!x.has(N)&&x.set(N,e.state.env.get(N))},$=k=>{A&&ze(e,k)};if(m){if(b.length===0){let C=Array.from(e.state.functions.keys()).sort(),N="";for(let D of C)N+=`declare -f ${D}
|
|
99
|
+
`;return F(N)}let k=!0,x="";for(let C of b)e.state.functions.has(C)?x+=`${C}
|
|
100
|
+
`:k=!1;return P(x,"",k?0:1)}if(p){if(b.length===0){let x="",C=Array.from(e.state.functions.keys()).sort();for(let N of C)x+=`${N} ()
|
|
101
|
+
{
|
|
102
|
+
# function body
|
|
103
|
+
}
|
|
104
|
+
`;return F(x)}let k=!0;for(let x of b)e.state.functions.has(x)||(k=!1);return P("","",k?0:1)}if(a&&b.length>0)return Pr(e,b);if(a&&b.length===0)return Nr(e,{filterExport:i,filterReadonly:r,filterNameref:o,filterIndexedArray:s,filterAssocArray:n});if(b.length===0&&n&&!a)return kr(e);if(b.length===0&&s&&!a)return Or(e);if(b.length===0&&!a)return Dr(e);let E="",O=0;for(let k of b){let x=k.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\((.*)\)$/s);if(x&&!u){let S=x[1],T=x[2];if(n&&ne(e,S).length>0){E+=`bash: declare: ${S}: cannot convert indexed to associative array
|
|
105
|
+
`,O=1;continue}if((s||!n&&!s)&&e.state.associativeArrays?.has(S)){E+=`bash: declare: ${S}: cannot convert associative to indexed array
|
|
106
|
+
`,O=1;continue}if(w(S),n&&(e.state.associativeArrays??=new Set,e.state.associativeArrays.add(S)),Ae(e,S),e.state.env.delete(S),e.state.env.delete(`${S}__length`),n&&T.includes("[")){let R=Zt(T);for(let[J,z]of R){let K=G(e,z);e.state.env.set(`${S}_${J}`,K)}}else if(n){let R=Pe(T);for(let J=0;J<R.length;J+=2){let z=R[J],K=J+1<R.length?G(e,R[J+1]):"";e.state.env.set(`${S}_${z}`,K)}}else{let R=Pe(T);if(R.some(z=>/^\[[^\]]+\]=/.test(z))){let z=0;for(let K of R){let re=K.match(/^\[([^\]]+)\]=(.*)$/);if(re){let ue=re[1],Ge=re[2],Ri=G(e,Ge),ct;if(/^-?\d+$/.test(ue))ct=Number.parseInt(ue,10);else try{let Li=new V,Fi=Q(Li,ue);ct=await j(e,Fi.expression)}catch{ct=0}e.state.env.set(`${S}_${ct}`,Ri),z=ct+1}else{let ue=G(e,K);e.state.env.set(`${S}_${z}`,ue),z++}}}else{for(let z=0;z<R.length;z++)e.state.env.set(`${S}_${z}`,R[z]);e.state.env.set(`${S}__length`,String(R.length))}}$(S),r&&ce(e,S),i&&Ee(e,S);continue}if(l){let S=k.includes("=")?k.slice(0,k.indexOf("=")):k;if(Fn(e,S),!k.includes("="))continue}if(c){let S=k.includes("=")?k.slice(0,k.indexOf("=")):k;if(Dt(e,S),!k.includes("="))continue}let C=Pa(k);if(C){let{name:S,indexExpr:T,value:R}=C,J=ee(e,S);if(J)return J;w(S);let z;try{let re=new V,ue=Q(re,T);z=await j(e,ue.expression)}catch{let re=parseInt(T,10);z=Number.isNaN(re)?0:re}e.state.env.set(`${S}_${z}`,R);let K=parseInt(e.state.env.get(`${S}__length`)??"0",10);z>=K&&e.state.env.set(`${S}__length`,String(z+1)),$(S),r&&ce(e,S),i&&Ee(e,S);continue}let N=k.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=\((.*)\)$/s);if(N&&!u){let S=N[1],T=N[2],R=ee(e,S);if(R)return R;w(S);let J=Pe(T);if(e.state.associativeArrays?.has(S)){let z=Zt(T);for(let[K,re]of z){let ue=G(e,re);e.state.env.set(`${S}_${K}`,ue)}}else{let z=ne(e,S),K=0,re=e.state.env.get(S);z.length===0&&re!==void 0?(e.state.env.set(`${S}_0`,re),e.state.env.delete(S),K=1):z.length>0&&(K=Math.max(...z)+1);for(let Ge=0;Ge<J.length;Ge++)e.state.env.set(`${S}_${K+Ge}`,G(e,J[Ge]));let ue=K+J.length;e.state.env.set(`${S}__length`,String(ue))}$(S),r&&ce(e,S),i&&Ee(e,S);continue}let D=k.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=(.*)$/);if(D){let S=D[1],T=G(e,D[2]),R=ee(e,S);if(R)return R;g(S),f&&Hs(e,S),d&&Us(e,S),h&&Zs(e,S);let z=ne(e,S).length>0||e.state.associativeArrays?.has(S);if(mt(e,S)){let K=e.state.env.get(S)??"0",re=parseInt(K,10)||0,ue=parseInt(await Tr(e,T),10)||0;T=String(re+ue),e.state.env.set(S,T)}else if(z){T=ot(e,S,T);let K=`${S}_0`,re=e.state.env.get(K)??"";e.state.env.set(K,re+T)}else{T=ot(e,S,T);let K=e.state.env.get(S)??"";e.state.env.set(S,K+T)}$(S),r&&ce(e,S),i&&Ee(e,S),e.state.options.allexport&&!c&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(S));continue}if(k.includes("=")){let S=k.indexOf("="),T=k.slice(0,S),R=k.slice(S+1);if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(T)){E+=`bash: typeset: \`${T}': not a valid identifier
|
|
107
|
+
`,O=1;continue}let J=ee(e,T);if(J)return J;if(g(T),o){if(R!==""&&!/^[a-zA-Z_][a-zA-Z0-9_]*(\[.+\])?$/.test(R)){E+=`bash: declare: \`${R}': invalid variable name for name reference
|
|
108
|
+
`,O=1;continue}e.state.env.set(T,R),Oe(e,T),R!==""&&ys(e,R)&&ms(e,T),$(T),r&&ce(e,T),i&&Ee(e,T);continue}if(f&&Hs(e,T),d&&Us(e,T),h&&Zs(e,T),mt(e,T)&&(R=await Tr(e,R)),R=ot(e,T,R),me(e,T)){let z=Me(e,T);z&&z!==T?e.state.env.set(z,R):e.state.env.set(T,R)}else e.state.env.set(T,R);$(T),r&&ce(e,T),i&&Ee(e,T),e.state.options.allexport&&!c&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(T))}else{let S=k;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(S)){E+=`bash: typeset: \`${S}': not a valid identifier
|
|
109
|
+
`,O=1;continue}if(s||n?w(S):g(S),o){Oe(e,S);let R=e.state.env.get(S);R!==void 0&&R!==""&&!/^[a-zA-Z_][a-zA-Z0-9_]*(\[.+\])?$/.test(R)?Mn(e,S):R&&ys(e,R)&&ms(e,S),$(S),r&&ce(e,S),i&&Ee(e,S);continue}if(f&&Hs(e,S),d&&Us(e,S),h&&Zs(e,S),n){if(ne(e,S).length>0){E+=`bash: declare: ${S}: cannot convert indexed to associative array
|
|
110
|
+
`,O=1;continue}e.state.associativeArrays??=new Set,e.state.associativeArrays.add(S)}let T=Array.from(e.state.env.keys()).some(R=>R.startsWith(`${S}_`)&&!R.startsWith(`${S}__length`));!e.state.env.has(S)&&!T&&(s||n?e.state.env.set(`${S}__length`,"0"):(e.state.declaredVars??=new Set,e.state.declaredVars.add(S))),$(S),r&&ce(e,S),i&&Ee(e,S)}}return P("",E,O)}async function Gs(e,t){let s=!1,n=!1,r=!1,i=[];for(let a=0;a<t.length;a++){let o=t[a];if(o==="-a")s=!0;else if(o==="-A")n=!0;else if(o==="-p")r=!0;else if(o==="--"){i.push(...t.slice(a+1));break}else o.startsWith("-")||i.push(o)}if(i.length===0){let a="",o=Array.from(e.state.readonlyVars||[]).sort();for(let l of o){let u=e.state.env.get(l);if(u!==void 0){let c=u.replace(/\\/g,"\\\\").replace(/"/g,'\\"');a+=`declare -r ${l}="${c}"
|
|
111
|
+
`}}return F(a)}for(let a of i){let o=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=\((.*)\)$/s);if(o){let f=o[1],d=o[2],h=ee(e,f);if(h)return h;let p=Pe(d);if(e.state.associativeArrays?.has(f)){let m=Zt(d);for(let[y,b]of m){let v=G(e,b);e.state.env.set(`${f}_${y}`,v)}}else{let m=ne(e,f),y=0,b=e.state.env.get(f);m.length===0&&b!==void 0?(e.state.env.set(`${f}_0`,b),e.state.env.delete(f),y=1):m.length>0&&(y=Math.max(...m)+1);for(let A=0;A<p.length;A++)e.state.env.set(`${f}_${y+A}`,G(e,p[A]));let v=y+p.length;e.state.env.set(`${f}__length`,String(v))}ce(e,f);continue}let l=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=(.*)$/);if(l){let f=l[1],d=G(e,l[2]),h=ee(e,f);if(h)return h;let p=e.state.env.get(f)??"";e.state.env.set(f,p+d),ce(e,f);continue}let u=yr(a);if(u.value===void 0&&!u.isArray){ce(e,u.name);continue}let c=await gr(e,u,{makeReadonly:!0});if(c)return c}return L}function Ks(e){return e.state.directoryStack??=[],e.state.directoryStack}function yt(e,t){return t&&e===t?"~":t&&e.startsWith(`${t}/`)?`~${e.slice(t.length)}`:e}function Na(e){let t=e.split("/").filter(n=>n&&n!=="."),s=[];for(let n of t)n===".."?s.pop():s.push(n);return`/${s.join("/")}`}async function Xs(e,t){let s=Ks(e),n;for(let o=0;o<t.length;o++){let l=t[o];if(l==="--"){if(o+1<t.length){if(n!==void 0)return _(`bash: pushd: too many arguments
|
|
112
|
+
`,2);n=t[o+1],o++}}else{if(l.startsWith("-")&&l!=="-")return _(`bash: pushd: ${l}: invalid option
|
|
113
|
+
`,2);if(n!==void 0)return _(`bash: pushd: too many arguments
|
|
114
|
+
`,2);n=l}}if(n===void 0){if(s.length<2)return _(`bash: pushd: no other directory
|
|
115
|
+
`,1);let o=s[0];s[0]=s[1],s[1]=o,n=s[0]}let r;if(n.startsWith("/"))r=n;else if(n===".."){let o=e.state.cwd.split("/").filter(l=>l);o.pop(),r=`/${o.join("/")}`}else n==="."?r=e.state.cwd:n.startsWith("~")?r=(e.state.env.get("HOME")||"/")+n.slice(1):r=`${e.state.cwd}/${n}`;r=Na(r);try{if(!(await e.fs.stat(r)).isDirectory)return _(`bash: pushd: ${n}: Not a directory
|
|
116
|
+
`,1)}catch{return _(`bash: pushd: ${n}: No such file or directory
|
|
117
|
+
`,1)}s.unshift(e.state.cwd),e.state.previousDir=e.state.cwd,e.state.cwd=r,e.state.env.set("PWD",r),e.state.env.set("OLDPWD",e.state.previousDir);let i=e.state.env.get("HOME")||"",a=`${[r,...s].map(o=>yt(o,i)).join(" ")}
|
|
118
|
+
`;return F(a)}function Ys(e,t){let s=Ks(e);for(let a of t)if(a!=="--")return a.startsWith("-")&&a!=="-"?_(`bash: popd: ${a}: invalid option
|
|
119
|
+
`,2):_(`bash: popd: too many arguments
|
|
120
|
+
`,2);if(s.length===0)return _(`bash: popd: directory stack empty
|
|
121
|
+
`,1);let n=s.shift();if(!n)return _(`bash: popd: directory stack empty
|
|
122
|
+
`,1);e.state.previousDir=e.state.cwd,e.state.cwd=n,e.state.env.set("PWD",n),e.state.env.set("OLDPWD",e.state.previousDir);let r=e.state.env.get("HOME")||"",i=`${[n,...s].map(a=>yt(a,r)).join(" ")}
|
|
123
|
+
`;return F(i)}function Qs(e,t){let s=Ks(e),n=!1,r=!1,i=!1,a=!1;for(let c of t)if(c!=="--")if(c.startsWith("-"))for(let f of c.slice(1))if(f==="c")n=!0;else if(f==="l")r=!0;else if(f==="p")i=!0;else if(f==="v")i=!0,a=!0;else return _(`bash: dirs: -${f}: invalid option
|
|
124
|
+
`,2);else return _(`bash: dirs: too many arguments
|
|
125
|
+
`,1);if(n)return e.state.directoryStack=[],L;let o=[e.state.cwd,...s],l=e.state.env.get("HOME")||"",u;return a?(u=o.map((c,f)=>{let d=r?c:yt(c,l);return` ${f} ${d}`}).join(`
|
|
126
|
+
`),u+=`
|
|
127
|
+
`):i?u=o.map(c=>r?c:yt(c,l)).join(`
|
|
128
|
+
`)+`
|
|
129
|
+
`:u=o.map(c=>r?c:yt(c,l)).join(" ")+`
|
|
130
|
+
`,F(u)}async function Qt(e,t,s){let n=t;if(n.length>0){let o=n[0];if(o==="--")n=n.slice(1);else if(o.startsWith("-")&&o!=="-"&&o.length>1)return _(`bash: eval: ${o}: invalid option
|
|
131
|
+
eval: usage: eval [arg ...]
|
|
132
|
+
`,2)}if(n.length===0)return L;let r=n.join(" ");if(r.trim()==="")return L;let i=e.state.groupStdin,a=s??e.state.groupStdin;a!==void 0&&(e.state.groupStdin=a);try{let o=be(r);return await e.executeScript(o)}catch(o){if(o instanceof fe||o instanceof de||o instanceof le||o instanceof B)throw o;if(o.name==="ParseException")return _(`bash: eval: ${o.message}
|
|
133
|
+
`);throw o}finally{e.state.groupStdin=i}}function Js(e,t){let s,n="";if(t.length===0)s=e.state.lastExitCode;else{let r=t[0],i=Number.parseInt(r,10);r===""||Number.isNaN(i)||!/^-?\d+$/.test(r)?(n=`bash: exit: ${r}: numeric argument required
|
|
134
|
+
`,s=2):s=(i%256+256)%256}throw new B(s,"",n)}function en(e,t){let s=!1,n=[];for(let a of t)a==="-n"?s=!0:a==="-p"||a==="--"||n.push(a);if(n.length===0&&!s){let a="",o=e.state.exportedVars??new Set,l=Array.from(o).sort();for(let u of l){let c=e.state.env.get(u);if(c!==void 0){let f=c.replace(/\\/g,"\\\\").replace(/"/g,'\\"');a+=`declare -x ${u}="${f}"
|
|
135
|
+
`}}return F(a)}if(s){for(let a of n){let o,l;if(a.includes("=")){let u=a.indexOf("=");o=a.slice(0,u),l=G(e,a.slice(u+1)),e.state.env.set(o,l)}else o=a;Dt(e,o)}return L}let r="",i=0;for(let a of n){let o,l,u=!1,c=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=(.*)$/);if(c)o=c[1],l=G(e,c[2]),u=!0;else if(a.includes("=")){let f=a.indexOf("=");o=a.slice(0,f),l=G(e,a.slice(f+1))}else o=a;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(o)){r+=`bash: export: \`${a}': not a valid identifier
|
|
136
|
+
`,i=1;continue}if(l!==void 0)if(u){let f=e.state.env.get(o)??"";e.state.env.set(o,f+l)}else e.state.env.set(o,l);else e.state.env.has(o)||e.state.env.set(o,"");Ee(e,o)}return P("",r,i)}function Jt(e,t){if(t.length<2)return _(`bash: getopts: usage: getopts optstring name [arg ...]
|
|
137
|
+
`);let s=t[0],n=t[1],r=!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n),i=s.startsWith(":"),a=i?s.slice(1):s,o;if(t.length>2)o=t.slice(2);else{let m=Number.parseInt(e.state.env.get("#")||"0",10);o=[];for(let y=1;y<=m;y++)o.push(e.state.env.get(String(y))||"")}let l=Number.parseInt(e.state.env.get("OPTIND")||"1",10);l<1&&(l=1);let u=Number.parseInt(e.state.env.get("__GETOPTS_CHARINDEX")||"0",10);if(e.state.env.set("OPTARG",""),l>o.length)return r||e.state.env.set(n,"?"),e.state.env.set("OPTIND",String(o.length+1)),e.state.env.set("__GETOPTS_CHARINDEX","0"),{exitCode:r?2:1,stdout:"",stderr:""};let c=o[l-1];if(!c||c==="-"||!c.startsWith("-"))return r||e.state.env.set(n,"?"),{exitCode:r?2:1,stdout:"",stderr:""};if(c==="--")return e.state.env.set("OPTIND",String(l+1)),e.state.env.set("__GETOPTS_CHARINDEX","0"),r||e.state.env.set(n,"?"),{exitCode:r?2:1,stdout:"",stderr:""};let f=u===0?1:u,d=c[f];if(!d)return e.state.env.set("OPTIND",String(l+1)),e.state.env.set("__GETOPTS_CHARINDEX","0"),Jt(e,t);let h=a.indexOf(d);if(h===-1){let m="";return i?e.state.env.set("OPTARG",d):m=`bash: illegal option -- ${d}
|
|
138
|
+
`,r||e.state.env.set(n,"?"),f+1<c.length?(e.state.env.set("__GETOPTS_CHARINDEX",String(f+1)),e.state.env.set("OPTIND",String(l))):(e.state.env.set("OPTIND",String(l+1)),e.state.env.set("__GETOPTS_CHARINDEX","0")),{exitCode:r?2:0,stdout:"",stderr:m}}if(h+1<a.length&&a[h+1]===":")if(f+1<c.length)e.state.env.set("OPTARG",c.slice(f+1)),e.state.env.set("OPTIND",String(l+1)),e.state.env.set("__GETOPTS_CHARINDEX","0");else{if(l>=o.length){let m="";return i?(e.state.env.set("OPTARG",d),r||e.state.env.set(n,":")):(m=`bash: option requires an argument -- ${d}
|
|
139
|
+
`,r||e.state.env.set(n,"?")),e.state.env.set("OPTIND",String(l+1)),e.state.env.set("__GETOPTS_CHARINDEX","0"),{exitCode:r?2:0,stdout:"",stderr:m}}e.state.env.set("OPTARG",o[l]),e.state.env.set("OPTIND",String(l+2)),e.state.env.set("__GETOPTS_CHARINDEX","0")}else f+1<c.length?(e.state.env.set("__GETOPTS_CHARINDEX",String(f+1)),e.state.env.set("OPTIND",String(l))):(e.state.env.set("OPTIND",String(l+1)),e.state.env.set("__GETOPTS_CHARINDEX","0"));return r||e.state.env.set(n,d),{exitCode:r?2:0,stdout:"",stderr:""}}async function tn(e,t){e.state.hashTable||(e.state.hashTable=new Map);let s=!1,n=!1,r=!1,i=!1,a=!1,o="",l=[],u=0;for(;u<t.length;){let p=t[u];if(p==="--"){u++,l.push(...t.slice(u));break}if(p==="-r")s=!0,u++;else if(p==="-d")n=!0,u++;else if(p==="-l")r=!0,u++;else if(p==="-t")a=!0,u++;else if(p==="-p"){if(i=!0,u++,u>=t.length)return _(`bash: hash: -p: option requires an argument
|
|
140
|
+
`,1);o=t[u],u++}else if(p.startsWith("-")&&p.length>1){for(let m of p.slice(1))if(m==="r")s=!0;else if(m==="d")n=!0;else if(m==="l")r=!0;else if(m==="t")a=!0;else return m==="p"?_(`bash: hash: -p: option requires an argument
|
|
141
|
+
`,1):_(`bash: hash: -${m}: invalid option
|
|
142
|
+
`,1);u++}else l.push(p),u++}if(s)return e.state.hashTable.clear(),L;if(n){if(l.length===0)return _(`bash: hash: -d: option requires an argument
|
|
143
|
+
`,1);let p=!1,m="";for(let y of l)e.state.hashTable.has(y)?e.state.hashTable.delete(y):(m+=`bash: hash: ${y}: not found
|
|
144
|
+
`,p=!0);return p?_(m,1):L}if(a){if(l.length===0)return _(`bash: hash: -t: option requires an argument
|
|
145
|
+
`,1);let p="",m=!1,y="";for(let b of l){let v=e.state.hashTable.get(b);v?l.length>1?p+=`${b} ${v}
|
|
146
|
+
`:p+=`${v}
|
|
147
|
+
`:(y+=`bash: hash: ${b}: not found
|
|
148
|
+
`,m=!0)}return m?{exitCode:1,stdout:p,stderr:y}:F(p)}if(i){if(l.length===0)return _(`bash: hash: usage: hash [-lr] [-p pathname] [-dt] [name ...]
|
|
149
|
+
`,1);let p=l[0];return e.state.hashTable.set(p,o),L}if(l.length===0){if(e.state.hashTable.size===0)return F(`hash: hash table empty
|
|
150
|
+
`);let p="";if(r)for(let[m,y]of e.state.hashTable)p+=`builtin hash -p ${y} ${m}
|
|
151
|
+
`;else{p=`hits command
|
|
152
|
+
`;for(let[,m]of e.state.hashTable)p+=` 1 ${m}
|
|
153
|
+
`}return F(p)}let c=!1,f="",h=(e.state.env.get("PATH")||"/usr/bin:/bin").split(":");for(let p of l){if(p.includes("/")){f+=`bash: hash: ${p}: cannot use / in name
|
|
154
|
+
`,c=!0;continue}let m=!1;for(let y of h){if(!y)continue;let b=`${y}/${p}`;if(await e.fs.exists(b)){e.state.hashTable.set(p,b),m=!0;break}}m||(f+=`bash: hash: ${p}: not found
|
|
155
|
+
`,c=!0)}return c?_(f,1):L}var Ir=new Map([[":",[": [arguments]",`Null command.
|
|
156
|
+
No effect; the command does nothing.
|
|
157
|
+
Exit Status:
|
|
158
|
+
Always succeeds.`]],[".",[". filename [arguments]",`Execute commands from a file in the current shell.
|
|
159
|
+
Read and execute commands from FILENAME in the current shell.
|
|
160
|
+
The entries in $PATH are used to find the directory containing FILENAME.
|
|
161
|
+
Exit Status:
|
|
162
|
+
Returns the status of the last command executed in FILENAME.`]],["[",["[ arg... ]",`Evaluate conditional expression.
|
|
163
|
+
This is a synonym for the "test" builtin, but the last argument must
|
|
164
|
+
be a literal \`]', to match the opening \`['.`]],["alias",["alias [-p] [name[=value] ... ]",`Define or display aliases.
|
|
165
|
+
Without arguments, \`alias' prints the list of aliases in the reusable
|
|
166
|
+
form \`alias NAME=VALUE' on standard output.
|
|
167
|
+
Exit Status:
|
|
168
|
+
alias returns true unless a NAME is supplied for which no alias has been
|
|
169
|
+
defined.`]],["bg",["bg [job_spec ...]",`Move jobs to the background.
|
|
170
|
+
Place the jobs identified by each JOB_SPEC in the background, as if they
|
|
171
|
+
had been started with \`&'.`]],["break",["break [n]",`Exit for, while, or until loops.
|
|
172
|
+
Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing
|
|
173
|
+
loops.
|
|
174
|
+
Exit Status:
|
|
175
|
+
The exit status is 0 unless N is not greater than or equal to 1.`]],["builtin",["builtin [shell-builtin [arg ...]]",`Execute shell builtins.
|
|
176
|
+
Execute SHELL-BUILTIN with arguments ARGs without performing command
|
|
177
|
+
lookup. This is useful when you wish to reimplement a shell builtin
|
|
178
|
+
as a shell function, but need to execute the builtin within the function.
|
|
179
|
+
Exit Status:
|
|
180
|
+
Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is
|
|
181
|
+
not a shell builtin.`]],["caller",["caller [expr]",`Return the context of the current subroutine call.
|
|
182
|
+
Without EXPR, returns "$line $filename". With EXPR, returns
|
|
183
|
+
"$line $subroutine $filename"; this extra information can be used to
|
|
184
|
+
provide a stack trace.
|
|
185
|
+
Exit Status:
|
|
186
|
+
Returns 0 unless the shell is not executing a subroutine call or
|
|
187
|
+
EXPR is invalid.`]],["cd",["cd [-L|-P] [dir]",`Change the shell working directory.
|
|
188
|
+
Change the current directory to DIR. The default DIR is the value of the
|
|
189
|
+
HOME shell variable.
|
|
190
|
+
|
|
191
|
+
The variable CDPATH defines the search path for the directory containing
|
|
192
|
+
DIR. Alternative directory names in CDPATH are separated by a colon (:).
|
|
193
|
+
A null directory name is the same as the current directory. If DIR begins
|
|
194
|
+
with a slash (/), then CDPATH is not used.
|
|
195
|
+
|
|
196
|
+
If the directory is not found, and the shell option \`cdable_vars' is set,
|
|
197
|
+
the word is assumed to be a variable name. If that variable has a value,
|
|
198
|
+
its value is used for DIR.
|
|
199
|
+
|
|
200
|
+
Options:
|
|
201
|
+
-L force symbolic links to be followed
|
|
202
|
+
-P use the physical directory structure without following symbolic
|
|
203
|
+
links
|
|
204
|
+
|
|
205
|
+
The default is to follow symbolic links, as if \`-L' were specified.
|
|
206
|
+
|
|
207
|
+
Exit Status:
|
|
208
|
+
Returns 0 if the directory is changed; non-zero otherwise.`]],["command",["command [-pVv] command [arg ...]",`Execute a simple command or display information about commands.
|
|
209
|
+
Runs COMMAND with ARGS suppressing shell function lookup, or display
|
|
210
|
+
information about the specified COMMANDs.
|
|
211
|
+
|
|
212
|
+
Options:
|
|
213
|
+
-p use a default value for PATH that is guaranteed to find all of
|
|
214
|
+
the standard utilities
|
|
215
|
+
-v print a description of COMMAND similar to the \`type' builtin
|
|
216
|
+
-V print a more verbose description of each COMMAND
|
|
217
|
+
|
|
218
|
+
Exit Status:
|
|
219
|
+
Returns exit status of COMMAND, or failure if COMMAND is not found.`]],["compgen",["compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]",`Display possible completions depending on the options.
|
|
220
|
+
Intended to be used from within a shell function generating possible
|
|
221
|
+
completions. If the optional WORD argument is supplied, matches against
|
|
222
|
+
WORD are generated.
|
|
223
|
+
Exit Status:
|
|
224
|
+
Returns success unless an invalid option is supplied or an error occurs.`]],["complete",["complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]",`Specify how arguments are to be completed.
|
|
225
|
+
For each NAME, specify how arguments are to be completed.
|
|
226
|
+
Exit Status:
|
|
227
|
+
Returns success unless an invalid option is supplied or an error occurs.`]],["continue",["continue [n]",`Resume for, while, or until loops.
|
|
228
|
+
Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.
|
|
229
|
+
If N is specified, resumes the Nth enclosing loop.
|
|
230
|
+
Exit Status:
|
|
231
|
+
The exit status is 0 unless N is not greater than or equal to 1.`]],["declare",["declare [-aAfFgilnrtux] [-p] [name[=value] ...]",`Set variable values and attributes.
|
|
232
|
+
Declare variables and give them attributes. If no NAMEs are given,
|
|
233
|
+
display the attributes and values of all variables.
|
|
234
|
+
|
|
235
|
+
Options:
|
|
236
|
+
-a to make NAMEs indexed arrays (if supported)
|
|
237
|
+
-A to make NAMEs associative arrays (if supported)
|
|
238
|
+
-i to make NAMEs have the \`integer' attribute
|
|
239
|
+
-l to convert the value of each NAME to lower case on assignment
|
|
240
|
+
-n make NAME a reference to the variable named by its value
|
|
241
|
+
-r to make NAMEs readonly
|
|
242
|
+
-t to make NAMEs have the \`trace' attribute
|
|
243
|
+
-u to convert the value of each NAME to upper case on assignment
|
|
244
|
+
-x to make NAMEs export
|
|
245
|
+
|
|
246
|
+
Exit Status:
|
|
247
|
+
Returns success unless an invalid option is supplied or a variable
|
|
248
|
+
assignment error occurs.`]],["dirs",["dirs [-clpv] [+N] [-N]",`Display directory stack.
|
|
249
|
+
Display the list of currently remembered directories. Directories
|
|
250
|
+
find their way onto the list with the \`pushd' command; you can get
|
|
251
|
+
back up through the list with the \`popd' command.
|
|
252
|
+
Exit Status:
|
|
253
|
+
Returns success unless an invalid option is supplied or an error occurs.`]],["disown",["disown [-h] [-ar] [jobspec ...]",`Remove jobs from current shell.
|
|
254
|
+
Without any JOBSPECs, remove the current job.`]],["echo",["echo [-neE] [arg ...]",`Write arguments to the standard output.
|
|
255
|
+
Display the ARGs, separated by a single space character and followed by a
|
|
256
|
+
newline, on the standard output.
|
|
257
|
+
|
|
258
|
+
Options:
|
|
259
|
+
-n do not append a newline
|
|
260
|
+
-e enable interpretation of the following backslash escapes
|
|
261
|
+
-E explicitly suppress interpretation of backslash escapes
|
|
262
|
+
|
|
263
|
+
Exit Status:
|
|
264
|
+
Returns success unless a write error occurs.`]],["enable",["enable [-a] [-dnps] [-f filename] [name ...]",`Enable and disable shell builtins.
|
|
265
|
+
Enables and disables builtin shell commands.
|
|
266
|
+
Exit Status:
|
|
267
|
+
Returns success unless NAME is not a shell builtin or an error occurs.`]],["eval",["eval [arg ...]",`Execute arguments as a shell command.
|
|
268
|
+
Combine ARGs into a single string, use the result as input to the shell,
|
|
269
|
+
and execute the resulting commands.
|
|
270
|
+
Exit Status:
|
|
271
|
+
Returns exit status of command or success if command is null.`]],["exec",["exec [-cl] [-a name] [command [arguments ...]] [redirection ...]",`Replace the shell with the given command.
|
|
272
|
+
Execute COMMAND, replacing this shell with the specified program.
|
|
273
|
+
ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,
|
|
274
|
+
any redirections take effect in the current shell.
|
|
275
|
+
Exit Status:
|
|
276
|
+
Returns success unless COMMAND is not found or a redirection error occurs.`]],["exit",["exit [n]",`Exit the shell.
|
|
277
|
+
Exits the shell with a status of N. If N is omitted, the exit status
|
|
278
|
+
is that of the last command executed.`]],["export",["export [-fn] [name[=value] ...] or export -p",`Set export attribute for shell variables.
|
|
279
|
+
Marks each NAME for automatic export to the environment of subsequently
|
|
280
|
+
executed commands. If VALUE is supplied, assign VALUE before exporting.
|
|
281
|
+
|
|
282
|
+
Options:
|
|
283
|
+
-f refer to shell functions
|
|
284
|
+
-n remove the export property from each NAME
|
|
285
|
+
-p display a list of all exported variables and functions
|
|
286
|
+
|
|
287
|
+
Exit Status:
|
|
288
|
+
Returns success unless an invalid option is given or NAME is invalid.`]],["false",["false",`Return an unsuccessful result.
|
|
289
|
+
Exit Status:
|
|
290
|
+
Always fails.`]],["fc",["fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]",`Display or execute commands from the history list.
|
|
291
|
+
Exit Status:
|
|
292
|
+
Returns success or status of executed command.`]],["fg",["fg [job_spec]",`Move job to the foreground.
|
|
293
|
+
Place the job identified by JOB_SPEC in the foreground, making it the
|
|
294
|
+
current job.`]],["getopts",["getopts optstring name [arg]",`Parse option arguments.
|
|
295
|
+
Getopts is used by shell procedures to parse positional parameters
|
|
296
|
+
as options.
|
|
297
|
+
|
|
298
|
+
OPTSTRING contains the option letters to be recognized; if a letter
|
|
299
|
+
is followed by a colon, the option is expected to have an argument,
|
|
300
|
+
which should be separated from it by white space.
|
|
301
|
+
Exit Status:
|
|
302
|
+
Returns success if an option is found; fails if the end of options is
|
|
303
|
+
encountered or an error occurs.`]],["hash",["hash [-lr] [-p pathname] [-dt] [name ...]",`Remember or display program locations.
|
|
304
|
+
Determine and remember the full pathname of each command NAME.
|
|
305
|
+
Exit Status:
|
|
306
|
+
Returns success unless NAME is not found or an invalid option is given.`]],["help",["help [-s] [pattern ...]",`Display information about builtin commands.
|
|
307
|
+
Displays brief summaries of builtin commands. If PATTERN is
|
|
308
|
+
specified, gives detailed help on all commands matching PATTERN,
|
|
309
|
+
otherwise the list of help topics is printed.
|
|
310
|
+
|
|
311
|
+
Options:
|
|
312
|
+
-s output only a short usage synopsis for each topic matching
|
|
313
|
+
PATTERN
|
|
314
|
+
|
|
315
|
+
Exit Status:
|
|
316
|
+
Returns success unless PATTERN is not found.`]],["history",["history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]",`Display or manipulate the history list.
|
|
317
|
+
Display the history list with line numbers, prefixing each modified
|
|
318
|
+
entry with a \`*'.
|
|
319
|
+
Exit Status:
|
|
320
|
+
Returns success unless an invalid option is given or an error occurs.`]],["jobs",["jobs [-lnprs] [jobspec ...] or jobs -x command [args]",`Display status of jobs.
|
|
321
|
+
Lists the active jobs.
|
|
322
|
+
Exit Status:
|
|
323
|
+
Returns success unless an invalid option is given or an error occurs.`]],["kill",["kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]",`Send a signal to a job.
|
|
324
|
+
Send the processes identified by PID or JOBSPEC the signal named by
|
|
325
|
+
SIGSPEC or SIGNUM.
|
|
326
|
+
Exit Status:
|
|
327
|
+
Returns success unless an invalid option is given or an error occurs.`]],["let",["let arg [arg ...]",`Evaluate arithmetic expressions.
|
|
328
|
+
Evaluate each ARG as an arithmetic expression. Evaluation is done in
|
|
329
|
+
fixed-width integers with no check for overflow, though division by 0
|
|
330
|
+
is trapped and flagged as an error.
|
|
331
|
+
Exit Status:
|
|
332
|
+
If the last ARG evaluates to 0, let returns 1; 0 is returned otherwise.`]],["local",["local [option] name[=value] ...",`Define local variables.
|
|
333
|
+
Create a local variable called NAME, and give it VALUE. OPTION can
|
|
334
|
+
be any option accepted by \`declare'.
|
|
335
|
+
|
|
336
|
+
Local can only be used within a function; it makes the variable NAME
|
|
337
|
+
have a visible scope restricted to that function and its children.
|
|
338
|
+
Exit Status:
|
|
339
|
+
Returns success unless an invalid option is supplied, a variable
|
|
340
|
+
assignment error occurs, or the shell is not executing a function.`]],["logout",["logout [n]",`Exit a login shell.
|
|
341
|
+
Exits a login shell with exit status N. Returns an error if not executed
|
|
342
|
+
in a login shell.`]],["mapfile",["mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]",`Read lines from the standard input into an indexed array variable.
|
|
343
|
+
Read lines from the standard input into the indexed array variable ARRAY,
|
|
344
|
+
or from file descriptor FD if the -u option is supplied.
|
|
345
|
+
|
|
346
|
+
Options:
|
|
347
|
+
-d delim Use DELIM to terminate lines, instead of newline
|
|
348
|
+
-n count Copy at most COUNT lines
|
|
349
|
+
-O origin Begin assigning to ARRAY at index ORIGIN
|
|
350
|
+
-s count Discard the first COUNT lines read
|
|
351
|
+
-t Remove a trailing DELIM from each line read (default newline)
|
|
352
|
+
-u fd Read lines from file descriptor FD instead of standard input
|
|
353
|
+
|
|
354
|
+
Exit Status:
|
|
355
|
+
Returns success unless an invalid option is given or ARRAY is readonly.`]],["popd",["popd [-n] [+N | -N]",`Remove directories from stack.
|
|
356
|
+
Removes entries from the directory stack.
|
|
357
|
+
Exit Status:
|
|
358
|
+
Returns success unless an invalid argument is supplied or the directory
|
|
359
|
+
change fails.`]],["printf",["printf [-v var] format [arguments]",`Formats and prints ARGUMENTS under control of the FORMAT.
|
|
360
|
+
|
|
361
|
+
Options:
|
|
362
|
+
-v var assign the output to shell variable VAR rather than
|
|
363
|
+
display it on the standard output
|
|
364
|
+
|
|
365
|
+
FORMAT is a character string which contains three types of objects: plain
|
|
366
|
+
characters, which are simply copied to standard output; character escape
|
|
367
|
+
sequences, which are converted and copied to the standard output; and
|
|
368
|
+
format specifications, each of which causes printing of the next successive
|
|
369
|
+
argument.
|
|
370
|
+
Exit Status:
|
|
371
|
+
Returns success unless an invalid option is given or a write or assignment
|
|
372
|
+
error occurs.`]],["pushd",["pushd [-n] [+N | -N | dir]",`Add directories to stack.
|
|
373
|
+
Adds a directory to the top of the directory stack, or rotates
|
|
374
|
+
the stack, making the new top of the stack the current working
|
|
375
|
+
directory.
|
|
376
|
+
Exit Status:
|
|
377
|
+
Returns success unless an invalid argument is supplied or the directory
|
|
378
|
+
change fails.`]],["pwd",["pwd [-LP]",`Print the name of the current working directory.
|
|
379
|
+
|
|
380
|
+
Options:
|
|
381
|
+
-L print the value of $PWD if it names the current working
|
|
382
|
+
directory
|
|
383
|
+
-P print the physical directory, without any symbolic links
|
|
384
|
+
|
|
385
|
+
By default, \`pwd' behaves as if \`-L' were specified.
|
|
386
|
+
Exit Status:
|
|
387
|
+
Returns 0 unless an invalid option is given or the current directory
|
|
388
|
+
cannot be read.`]],["read",["read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]",`Read a line from the standard input and split it into fields.
|
|
389
|
+
Reads a single line from the standard input, or from file descriptor FD
|
|
390
|
+
if the -u option is supplied. The line is split into fields as with word
|
|
391
|
+
splitting, and the first word is assigned to the first NAME, the second
|
|
392
|
+
word to the second NAME, and so on, with any leftover words assigned to
|
|
393
|
+
the last NAME.
|
|
394
|
+
Exit Status:
|
|
395
|
+
The return code is zero, unless end-of-file is encountered, read times out,
|
|
396
|
+
or an invalid file descriptor is supplied as the argument to -u.`]],["readarray",["readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]","Read lines from a file into an array variable.\n A synonym for `mapfile'."]],["readonly",["readonly [-aAf] [name[=value] ...] or readonly -p",`Mark shell variables as unchangeable.
|
|
397
|
+
Mark each NAME as read-only; the values of these NAMEs may not be
|
|
398
|
+
changed by subsequent assignment.
|
|
399
|
+
Exit Status:
|
|
400
|
+
Returns success unless an invalid option is given or NAME is invalid.`]],["return",["return [n]",`Return from a shell function.
|
|
401
|
+
Causes a function or sourced script to exit with the return value
|
|
402
|
+
specified by N. If N is omitted, the return status is that of the
|
|
403
|
+
last command executed within the function or script.
|
|
404
|
+
Exit Status:
|
|
405
|
+
Returns N, or failure if the shell is not executing a function or script.`]],["set",["set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]",`Set or unset values of shell options and positional parameters.
|
|
406
|
+
Change the value of shell attributes and positional parameters, or
|
|
407
|
+
display the names and values of shell variables.
|
|
408
|
+
|
|
409
|
+
Options:
|
|
410
|
+
-e Exit immediately if a command exits with a non-zero status.
|
|
411
|
+
-u Treat unset variables as an error when substituting.
|
|
412
|
+
-x Print commands and their arguments as they are executed.
|
|
413
|
+
-o option-name
|
|
414
|
+
Set the variable corresponding to option-name
|
|
415
|
+
|
|
416
|
+
Exit Status:
|
|
417
|
+
Returns success unless an invalid option is given.`]],["shift",["shift [n]",`Shift positional parameters.
|
|
418
|
+
Rename the positional parameters $N+1,$N+2 ... to $1,$2 ... If N is
|
|
419
|
+
not given, it is assumed to be 1.
|
|
420
|
+
Exit Status:
|
|
421
|
+
Returns success unless N is negative or greater than $#.`]],["shopt",["shopt [-pqsu] [-o] [optname ...]",`Set and unset shell options.
|
|
422
|
+
Change the setting of each shell option OPTNAME. Without any option
|
|
423
|
+
arguments, list each supplied OPTNAME, or all shell options if no
|
|
424
|
+
OPTNAMEs are given, with an indication of whether or not each is set.
|
|
425
|
+
|
|
426
|
+
Options:
|
|
427
|
+
-o restrict OPTNAMEs to those defined for use with \`set -o'
|
|
428
|
+
-p print each shell option with an indication of its status
|
|
429
|
+
-q suppress output
|
|
430
|
+
-s enable (set) each OPTNAME
|
|
431
|
+
-u disable (unset) each OPTNAME
|
|
432
|
+
|
|
433
|
+
Exit Status:
|
|
434
|
+
Returns success if OPTNAME is enabled; fails if an invalid option is
|
|
435
|
+
given or OPTNAME is disabled.`]],["source",["source filename [arguments]",`Execute commands from a file in the current shell.
|
|
436
|
+
Read and execute commands from FILENAME in the current shell.
|
|
437
|
+
The entries in $PATH are used to find the directory containing FILENAME.
|
|
438
|
+
Exit Status:
|
|
439
|
+
Returns the status of the last command executed in FILENAME.`]],["suspend",["suspend [-f]",`Suspend shell execution.
|
|
440
|
+
Suspend the execution of this shell until it receives a SIGCONT signal.`]],["test",["test [expr]",`Evaluate conditional expression.
|
|
441
|
+
Exits with a status of 0 (true) or 1 (false) depending on
|
|
442
|
+
the evaluation of EXPR. Expressions may be unary or binary.
|
|
443
|
+
Exit Status:
|
|
444
|
+
Returns success if EXPR evaluates to true; fails if EXPR evaluates to
|
|
445
|
+
false or an invalid argument is given.`]],["times",["times",`Display process times.
|
|
446
|
+
Prints the accumulated user and system times for the shell and all of its
|
|
447
|
+
child processes.
|
|
448
|
+
Exit Status:
|
|
449
|
+
Always succeeds.`]],["trap",["trap [-lp] [[arg] signal_spec ...]",`Trap signals and other events.
|
|
450
|
+
Defines and activates handlers to be run when the shell receives signals
|
|
451
|
+
or other conditions.
|
|
452
|
+
Exit Status:
|
|
453
|
+
Returns success unless a SIGSPEC is invalid or an invalid option is given.`]],["true",["true",`Return a successful result.
|
|
454
|
+
Exit Status:
|
|
455
|
+
Always succeeds.`]],["type",["type [-afptP] name [name ...]",`Display information about command type.
|
|
456
|
+
For each NAME, indicate how it would be interpreted if used as a
|
|
457
|
+
command name.
|
|
458
|
+
|
|
459
|
+
Options:
|
|
460
|
+
-a display all locations containing an executable named NAME
|
|
461
|
+
-f suppress shell function lookup
|
|
462
|
+
-P force a PATH search for each NAME, even if it is an alias,
|
|
463
|
+
builtin, or function, and returns the name of the disk file
|
|
464
|
+
that would be executed
|
|
465
|
+
-p returns either the name of the disk file that would be executed,
|
|
466
|
+
or nothing if \`type -t NAME' would not return \`file'
|
|
467
|
+
-t output a single word which is one of \`alias', \`keyword',
|
|
468
|
+
\`function', \`builtin', \`file' or \`', if NAME is an alias,
|
|
469
|
+
shell reserved word, shell function, shell builtin, disk file,
|
|
470
|
+
or not found, respectively
|
|
471
|
+
|
|
472
|
+
Exit Status:
|
|
473
|
+
Returns success if all of the NAMEs are found; fails if any are not found.`]],["typeset",["typeset [-aAfFgilnrtux] [-p] name[=value] ...","Set variable values and attributes.\n A synonym for `declare'."]],["ulimit",["ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]",`Modify shell resource limits.
|
|
474
|
+
Provides control over the resources available to the shell and processes
|
|
475
|
+
it creates, on systems that allow such control.
|
|
476
|
+
Exit Status:
|
|
477
|
+
Returns success unless an invalid option is supplied or an error occurs.`]],["umask",["umask [-p] [-S] [mode]",`Display or set file mode mask.
|
|
478
|
+
Sets the user file-creation mask to MODE. If MODE is omitted, prints
|
|
479
|
+
the current value of the mask.
|
|
480
|
+
Exit Status:
|
|
481
|
+
Returns success unless MODE is invalid or an invalid option is given.`]],["unalias",["unalias [-a] name [name ...]",`Remove each NAME from the list of defined aliases.
|
|
482
|
+
Exit Status:
|
|
483
|
+
Returns success unless a NAME is not an existing alias.`]],["unset",["unset [-f] [-v] [-n] [name ...]",`Unset values and attributes of shell variables and functions.
|
|
484
|
+
For each NAME, remove the corresponding variable or function.
|
|
485
|
+
|
|
486
|
+
Options:
|
|
487
|
+
-f treat each NAME as a shell function
|
|
488
|
+
-v treat each NAME as a shell variable
|
|
489
|
+
-n treat each NAME as a name reference and unset the variable itself
|
|
490
|
+
rather than the variable it references
|
|
491
|
+
|
|
492
|
+
Without options, unset first tries to unset a variable, and if that fails,
|
|
493
|
+
tries to unset a function.
|
|
494
|
+
Exit Status:
|
|
495
|
+
Returns success unless an invalid option is given or a NAME is read-only.`]],["wait",["wait [-fn] [id ...]",`Wait for job completion and return exit status.
|
|
496
|
+
Waits for each process identified by an ID, which may be a process ID or a
|
|
497
|
+
job specification, and reports its termination status.
|
|
498
|
+
Exit Status:
|
|
499
|
+
Returns the status of the last ID; fails if ID is invalid or an invalid
|
|
500
|
+
option is given.`]]]),xr=[...Ir.keys()].sort();function sn(e,t){let s=!1,n=[],r=0;for(;r<t.length;){let l=t[r];if(l==="--"){for(r++;r<t.length;)n.push(t[r]),r++;break}if(l.startsWith("-")&&l.length>1){for(let u=1;u<l.length;u++){let c=l[u];if(c==="s")s=!0;else return _(`bash: help: -${c}: invalid option
|
|
501
|
+
`,2)}r++}else n.push(l),r++}if(n.length===0)return Oa();let i="",a=!1,o="";for(let l of n){let u=ka(l);if(u.length===0){o+=`bash: help: no help topics match \`${l}'. Try \`help help' or \`man -k ${l}' or \`info ${l}'.
|
|
502
|
+
`,a=!0;continue}for(let c of u){let f=Ir.get(c);if(!f)continue;let[d,h]=f;s?i+=`${c}: ${d}
|
|
503
|
+
`:i+=`${c}: ${d}
|
|
504
|
+
${h}
|
|
505
|
+
`}}return{exitCode:a?1:0,stdout:i,stderr:o}}function ka(e){let t=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,"."),s=ut(`^${t}$`);return xr.filter(n=>s.test(n))}function Oa(){let e=[];e.push("just-bash shell builtins"),e.push("These shell commands are defined internally. Type `help' to see this list."),e.push("Type `help name' to find out more about the function `name'."),e.push("");let t=36,s=xr.slice(),n=Math.ceil(s.length/2);for(let r=0;r<n;r++){let i=s[r]||"",a=s[r+n]||"",o=i.padEnd(t);e.push(a?`${o}${a}`:i)}return F(`${e.join(`
|
|
506
|
+
`)}
|
|
507
|
+
`)}function Da(e){let t=[],s="",n=0;for(let r of e){for(let i of r)i==="("?n++:i===")"&&n--;s?s+=` ${r}`:s=r,n===0&&(t.push(s),s="")}return s&&t.push(s),t}async function nn(e,t){if(t.length===0)return _(`bash: let: expression expected
|
|
508
|
+
`);let s=Da(t),n=0;for(let r of s)try{let a=be(`(( ${r} ))`).statements[0];if(a&&a.pipelines.length>0&&a.pipelines[0].commands.length>0){let o=a.pipelines[0].commands[0];o.type==="ArithmeticCommand"&&(n=await j(e,o.expression.expression))}}catch(i){return _(`bash: let: ${r}: ${i.message}
|
|
509
|
+
`)}return P("","",n===0?1:0)}async function rn(e,t){if(e.state.localScopes.length===0)return _(`bash: local: can only be used in a function
|
|
510
|
+
`);let s=e.state.localScopes[e.state.localScopes.length-1],n="",r=0,i=!1,a=!1,o=!1,l=[];for(let u of t)if(u==="-n")i=!0;else if(u==="-a")a=!0;else if(u==="-p")o=!0;else if(u.startsWith("-")&&!u.includes("="))for(let c of u.slice(1))c==="n"?i=!0:c==="a"?a=!0:c==="p"&&(o=!0);else l.push(u);if(l.length===0){let u="",c=Array.from(s.keys()).filter(f=>!f.includes("_")||!f.match(/_\d+$/)).filter(f=>!f.includes("__length")).sort();for(let f of c){let d=e.state.env.get(f);d!==void 0&&(u+=`${f}=${d}
|
|
511
|
+
`)}return P(u,"",0)}for(let u of l){let c,f,d=u.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\((.*)\)$/s);if(d){c=d[1];let b=d[2];if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(c)){n+=`bash: local: \`${u}': not a valid identifier
|
|
512
|
+
`,r=1;continue}if(ee(e,c,"bash"),!s.has(c)){s.set(c,e.state.env.get(c));let g=`${c}_`;for(let w of e.state.env.keys())w.startsWith(g)&&!w.includes("__")&&(s.has(w)||s.set(w,e.state.env.get(w)))}let v=`${c}_`;for(let g of e.state.env.keys())g.startsWith(v)&&!g.includes("__")&&e.state.env.delete(g);let A=Pe(b);for(let g=0;g<A.length;g++)e.state.env.set(`${c}_${g}`,A[g]);e.state.env.set(`${c}__length`,String(A.length)),ze(e,c),i&&Oe(e,c);continue}let h=u.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=\((.*)\)$/s);if(h){c=h[1];let b=h[2];if(ee(e,c,"bash"),!s.has(c)){s.set(c,e.state.env.get(c));let E=`${c}_`;for(let k of e.state.env.keys())k.startsWith(E)&&!k.includes("__")&&(s.has(k)||s.set(k,e.state.env.get(k)));let O=`${c}__length`;e.state.env.has(O)&&!s.has(O)&&s.set(O,e.state.env.get(O))}let v=Pe(b),A=ne(e,c),g=0,w=e.state.env.get(c);A.length===0&&w!==void 0?(e.state.env.set(`${c}_0`,w),e.state.env.delete(c),g=1):A.length>0&&(g=Math.max(...A)+1);for(let E=0;E<v.length;E++)e.state.env.set(`${c}_${g+E}`,G(e,v[E]));let $=g+v.length;e.state.env.set(`${c}__length`,String($)),ze(e,c),i&&Oe(e,c);continue}let p=u.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\+=(.*)$/);if(p){c=p[1];let b=G(e,p[2]);ee(e,c,"bash"),s.has(c)||s.set(c,e.state.env.get(c));let v=e.state.env.get(c)??"";e.state.env.set(c,v+b),ze(e,c),i&&Oe(e,c);continue}let m=u.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([^\]]+)\]=(.*)$/s);if(m){c=m[1];let b=m[2],v=G(e,m[3]);if(ee(e,c,"bash"),!s.has(c)){s.set(c,e.state.env.get(c));let w=`${c}_`;for(let E of e.state.env.keys())E.startsWith(w)&&!E.includes("__")&&(s.has(E)||s.set(E,e.state.env.get(E)));let $=`${c}__length`;e.state.env.has($)&&!s.has($)&&s.set($,e.state.env.get($))}let A;try{let w=new V,$=Q(w,b);A=await j(e,$.expression)}catch{let w=parseInt(b,10);A=Number.isNaN(w)?0:w}e.state.env.set(`${c}_${A}`,v);let g=parseInt(e.state.env.get(`${c}__length`)??"0",10);A>=g&&e.state.env.set(`${c}__length`,String(A+1)),ze(e,c),i&&Oe(e,c);continue}if(u.includes("=")){let b=u.indexOf("=");c=u.slice(0,b),f=G(e,u.slice(b+1))}else c=u;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(c)){n+=`bash: local: \`${u}': not a valid identifier
|
|
513
|
+
`,r=1;continue}let y=s.has(c);if(f!==void 0){let b=e.state.env.get(c);if(e.state.tempEnvBindings){let v=e.state.accessedTempEnvVars?.has(c),A=e.state.mutatedTempEnvVars?.has(c);if(!v&&!A)for(let g=e.state.tempEnvBindings.length-1;g>=0;g--){let w=e.state.tempEnvBindings[g];if(w.has(c)){b=w.get(c);break}}}wr(e,c,b)}if(!y){let b=e.state.env.get(c);if(e.state.tempEnvBindings)for(let v=e.state.tempEnvBindings.length-1;v>=0;v--){let A=e.state.tempEnvBindings[v];if(A.has(c)){b=A.get(c);break}}if(s.set(c,b),a){let v=`${c}_`;for(let g of e.state.env.keys())g.startsWith(v)&&!g.includes("__")&&(s.has(g)||s.set(g,e.state.env.get(g)));let A=`${c}__length`;e.state.env.has(A)&&!s.has(A)&&s.set(A,e.state.env.get(A))}}if(a&&f===void 0){let b=`${c}_`;for(let v of e.state.env.keys())v.startsWith(b)&&!v.includes("__")&&e.state.env.delete(v);e.state.env.set(`${c}__length`,"0")}else if(f!==void 0){if(ee(e,c,"bash"),i&&f!==""&&!/^[a-zA-Z_][a-zA-Z0-9_]*(\[.+\])?$/.test(f)){n+=`bash: local: \`${f}': invalid variable name for name reference
|
|
514
|
+
`,r=1;continue}e.state.env.set(c,f),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(c))}else{let b=e.state.tempEnvBindings?.some(v=>v.has(c));!y&&!b&&e.state.env.delete(c)}ze(e,c),i&&Oe(e,c)}return P("",n,r)}function an(e,t,s){let n=`
|
|
515
|
+
`,r=0,i=0,a=0,o=!1,l="MAPFILE",u=0;for(;u<t.length;){let v=t[u];v==="-d"&&u+1<t.length?(n=t[u+1]===""?"\0":t[u+1]||`
|
|
516
|
+
`,u+=2):v==="-n"&&u+1<t.length?(r=Number.parseInt(t[u+1],10)||0,u+=2):v==="-O"&&u+1<t.length?(i=Number.parseInt(t[u+1],10)||0,u+=2):v==="-s"&&u+1<t.length?(a=Number.parseInt(t[u+1],10)||0,u+=2):v==="-t"?(o=!0,u++):v==="-u"||v==="-C"||v==="-c"?u+=2:(v.startsWith("-")||(l=v),u++)}let c=s;!c&&e.state.groupStdin!==void 0&&(c=e.state.groupStdin);let f=[],d=c,h=0,p=0,m=e.limits?.maxArrayElements??1e5;for(;d.length>0;){let v=d.indexOf(n);if(v===-1){if(d.length>0){if(p<a)p++;else if(r===0||h<r){if(i+h>=m)return P("",`mapfile: array element limit exceeded (${m})
|
|
517
|
+
`,1);let w=d,$=w.indexOf("\0");$!==-1&&(w=w.substring(0,$)),f.push(w),h++}}break}let A=d.substring(0,v),g=A.indexOf("\0");if(g!==-1&&(A=A.substring(0,g)),!o&&n!=="\0"&&(A+=n),d=d.substring(v+n.length),p<a){p++;continue}if(r>0&&h>=r)break;if(i+h>=m)return P("",`mapfile: array element limit exceeded (${m})
|
|
518
|
+
`,1);f.push(A),h++}i===0&&Ae(e,l);for(let v=0;v<f.length;v++)e.state.env.set(`${l}_${i+v}`,f[v]);let y=parseInt(e.state.env.get(`${l}__length`)||"0",10),b=i+f.length;return e.state.env.set(`${l}__length`,String(Math.max(y,b))),e.state.groupStdin!==void 0&&!s&&(e.state.groupStdin=""),P("","",0)}function Ta(e){if(!e.startsWith("__rw__:"))return null;let t=e.slice(7),s=t.indexOf(":");if(s===-1)return null;let n=Number.parseInt(t.slice(0,s),10);if(Number.isNaN(n)||n<0)return null;let r=s+1,i=t.slice(r,r+n),a=r+n+1,o=t.slice(a),l=o.indexOf(":");if(l===-1)return null;let u=Number.parseInt(o.slice(0,l),10);if(Number.isNaN(u)||u<0)return null;let c=o.slice(l+1);return{path:i,position:u,content:c}}function Ia(e,t,s){return`__rw__:${e.length}:${e}:${t}:${s}`}function on(e,t,s,n=-1){let r=!1,i=`
|
|
519
|
+
`,a="",o=-1,l=-1,u=null,c=-1,f=-1,d=[],h=0,p=!1,m=(C,N)=>{let D=1;for(;D<C.length;){let S=C[D];if(S==="r")r=!0,D++;else if(S==="s")D++;else{if(S==="d")return D+1<C.length?(i=C.substring(D+1),{nextArgIndex:N+1}):N+1<t.length?(i=t[N+1],{nextArgIndex:N+2}):{nextArgIndex:N+1};if(S==="n"){if(D+1<C.length){let T=C.substring(D+1);return o=Number.parseInt(T,10),(Number.isNaN(o)||o<0)&&(p=!0,o=0),{nextArgIndex:N+1}}else if(N+1<t.length)return o=Number.parseInt(t[N+1],10),(Number.isNaN(o)||o<0)&&(p=!0,o=0),{nextArgIndex:N+2};return{nextArgIndex:N+1}}else if(S==="N"){if(D+1<C.length){let T=C.substring(D+1);return l=Number.parseInt(T,10),(Number.isNaN(l)||l<0)&&(p=!0,l=0),{nextArgIndex:N+1}}else if(N+1<t.length)return l=Number.parseInt(t[N+1],10),(Number.isNaN(l)||l<0)&&(p=!0,l=0),{nextArgIndex:N+2};return{nextArgIndex:N+1}}else{if(S==="a")return D+1<C.length?(u=C.substring(D+1),{nextArgIndex:N+1}):N+1<t.length?(u=t[N+1],{nextArgIndex:N+2}):{nextArgIndex:N+1};if(S==="p")return D+1<C.length?(a=C.substring(D+1),{nextArgIndex:N+1}):N+1<t.length?(a=t[N+1],{nextArgIndex:N+2}):{nextArgIndex:N+1};if(S==="u"){if(D+1<C.length){let T=C.substring(D+1);return c=Number.parseInt(T,10),Number.isNaN(c)||c<0?{nextArgIndex:-2}:{nextArgIndex:N+1}}else if(N+1<t.length)return c=Number.parseInt(t[N+1],10),Number.isNaN(c)||c<0?{nextArgIndex:-2}:{nextArgIndex:N+2};return{nextArgIndex:N+1}}else if(S==="t"){if(D+1<C.length){let T=C.substring(D+1);return f=Number.parseFloat(T),Number.isNaN(f)&&(f=0),{nextArgIndex:N+1}}else if(N+1<t.length)return f=Number.parseFloat(t[N+1]),Number.isNaN(f)&&(f=0),{nextArgIndex:N+2};return{nextArgIndex:N+1}}else if(S==="e"||S==="i"||S==="P"){if(S==="i"&&N+1<t.length)return{nextArgIndex:N+2};D++}else D++}}}return{nextArgIndex:N+1}};for(;h<t.length;){let C=t[h];if(C.startsWith("-")&&C.length>1&&C!=="--"){let N=m(C,h);if(N.nextArgIndex===-1)return{stdout:"",stderr:"",exitCode:2};if(N.nextArgIndex===-2)return{stdout:"",stderr:"",exitCode:1};h=N.nextArgIndex}else if(C==="--")for(h++;h<t.length;)d.push(t[h]),h++;else d.push(C),h++}if(p)return P("","",1);if(d.length===0&&u===null&&d.push("REPLY"),f===0){if(u)Ae(e,u);else{for(let C of d)e.state.env.set(C,"");d.length===0&&e.state.env.set("REPLY","")}return P("","",0)}if(f<0&&f!==-1)return P("","",1);let y=s;c>=0?e.state.fileDescriptors?y=e.state.fileDescriptors.get(c)||"":y="":!y&&e.state.groupStdin!==void 0&&(y=e.state.groupStdin);let b=i===""?"\0":i,v="",A=0,g=!0,w=C=>{if(c>=0&&e.state.fileDescriptors)e.state.fileDescriptors.set(c,y.substring(C));else if(n>=0&&e.state.fileDescriptors){let N=e.state.fileDescriptors.get(n);if(N?.startsWith("__rw__:")){let D=Ta(N);if(D){let S=D.position+C;e.state.fileDescriptors.set(n,Ia(D.path,S,D.content))}}}else e.state.groupStdin!==void 0&&!s&&(e.state.groupStdin=y.substring(C))};if(l>=0){let C=Math.min(l,y.length);v=y.substring(0,C),A=C,g=C>=l,w(A);let N=d[0]||"REPLY";e.state.env.set(N,v);for(let D=1;D<d.length;D++)e.state.env.set(d[D],"");return P("","",g?0:1)}else if(o>=0){let C=0,N=0,D=!1;for(;N<y.length&&C<o;){let S=y[N];if(S===b){A=N+1,D=!0;break}if(!r&&S==="\\"&&N+1<y.length){let T=y[N+1];if(T===b&&b===`
|
|
520
|
+
`){N+=2,A=N;continue}if(T===b){N+=2,C++,v+=T,A=N;continue}v+=T,N+=2,C++,A=N}else v+=S,N++,C++,A=N}g=C>=o||D,w(A)}else{A=0;let C=0;for(;C<y.length;){let N=y[C];if(N===b){A=C+b.length,g=!0;break}if(!r&&N==="\\"&&C+1<y.length){let D=y[C+1];if(D===`
|
|
521
|
+
`){C+=2;continue}if(D===b){v+=D,C+=2;continue}v+=N,v+=D,C+=2;continue}v+=N,C++}if(C>=y.length&&(g=!1,A=C,v.length===0&&y.length===0)){for(let N of d)e.state.env.set(N,"");return u&&Ae(e,u),P("","",1)}w(A)}b===`
|
|
522
|
+
`&&v.endsWith(`
|
|
523
|
+
`)&&(v=v.slice(0,-1));let $=C=>r?C:C.replace(/\\(.)/g,"$1");if(d.length===1&&d[0]==="REPLY")return e.state.env.set("REPLY",$(v)),P("","",g?0:1);let E=Rn(e.state.env);if(u){let{words:C}=ps(v,E,void 0,r),N=e.limits?.maxArrayElements??1e5;if(C.length>N)return P("",`read: array element limit exceeded (${N})
|
|
524
|
+
`,1);Ae(e,u);for(let D=0;D<C.length;D++)e.state.env.set(`${u}_${D}`,$(C[D]));return P("","",g?0:1)}let O=d.length,{words:k,wordStarts:x}=ps(v,E,O,r);for(let C=0;C<d.length;C++){let N=d[C];if(C<d.length-1)e.state.env.set(N,$(k[C]??""));else if(C<x.length){let D=v.substring(x[C]);D=Ln(D,E,r),D=$(D),e.state.env.set(N,D)}else e.state.env.set(N,"")}return P("","",g?0:1)}function ln(e,t){if(e.state.callDepth===0&&e.state.sourceDepth===0)return _("bash: return: can only `return' from a function or sourced script\n");let s=e.state.lastExitCode;if(t.length>0){let n=t[0],r=Number.parseInt(n,10);if(n===""||Number.isNaN(r)||!/^-?\d+$/.test(n))return _(`bash: return: ${n}: numeric argument required
|
|
525
|
+
`,2);s=(r%256+256)%256}throw new le(s)}var es=`set: usage: set [-eux] [+eux] [-o option] [+o option]
|
|
526
|
+
Options:
|
|
527
|
+
-e Exit immediately if a command exits with non-zero status
|
|
528
|
+
+e Disable -e
|
|
529
|
+
-u Treat unset variables as an error when substituting
|
|
530
|
+
+u Disable -u
|
|
531
|
+
-x Print commands and their arguments as they are executed
|
|
532
|
+
+x Disable -x
|
|
533
|
+
-o errexit Same as -e
|
|
534
|
+
+o errexit Disable errexit
|
|
535
|
+
-o nounset Same as -u
|
|
536
|
+
+o nounset Disable nounset
|
|
537
|
+
-o pipefail Return status of last failing command in pipeline
|
|
538
|
+
+o pipefail Disable pipefail
|
|
539
|
+
-o xtrace Same as -x
|
|
540
|
+
+o xtrace Disable xtrace
|
|
541
|
+
`,Rr=new Map([["e","errexit"],["u","nounset"],["x","xtrace"],["v","verbose"],["f","noglob"],["C","noclobber"],["a","allexport"],["n","noexec"],["h",null],["b",null],["m",null],["B",null],["H",null],["P",null],["T",null],["E",null],["p",null]]),Lr=new Map([["errexit","errexit"],["pipefail","pipefail"],["nounset","nounset"],["xtrace","xtrace"],["verbose","verbose"],["noclobber","noclobber"],["noglob","noglob"],["allexport","allexport"],["noexec","noexec"],["posix","posix"],["vi","vi"],["emacs","emacs"],["notify",null],["monitor",null],["braceexpand",null],["histexpand",null],["physical",null],["functrace",null],["errtrace",null],["privileged",null],["hashall",null],["ignoreeof",null],["interactive-comments",null],["keyword",null],["onecmd",null]]),Fr=["errexit","nounset","pipefail","verbose","xtrace","posix","allexport","noclobber","noglob","noexec","vi","emacs"],Mr=["braceexpand","errtrace","functrace","hashall","histexpand","history","ignoreeof","interactive-comments","keyword","monitor","nolog","notify","onecmd","physical","privileged"];function Wr(e,t,s){t!==null&&(s&&(t==="vi"?e.state.options.emacs=!1:t==="emacs"&&(e.state.options.vi=!1)),e.state.options[t]=s,st(e))}function xa(e,t){return t+1<e.length&&!e[t+1].startsWith("-")&&!e[t+1].startsWith("+")}function Ra(e,t){let s=ne(e,t);if(s.length===0)return`${t}=()`;let n=s.map(r=>{let i=e.state.env.get(`${t}_${r}`)??"";return`[${r}]=${Ue(i)}`});return`${t}=(${n.join(" ")})`}function La(e){return/^[a-zA-Z0-9_]+$/.test(e)?e:`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Fa(e,t){let s=Fe(e,t);if(s.length===0)return`${t}=()`;let n=s.map(r=>{let i=e.state.env.get(`${t}_${r}`)??"";return`[${La(r)}]=${Ue(i)}`});return`${t}=(${n.join(" ")} )`}function Ma(e){let t=new Set,s=e.state.associativeArrays??new Set;for(let n of e.state.env.keys()){let r=n.match(/^([a-zA-Z_][a-zA-Z0-9_]*)_(\d+)$/);if(r){let i=r[1];s.has(i)||t.add(i)}}return t}function Wa(e){return e.state.associativeArrays??new Set}function un(e,t){if(t.includes("--help"))return F(es);if(t.length===0){let n=Ma(e),r=Wa(e),i=l=>{for(let u of r){let c=`${u}_`,f=`${u}__length`;if(l!==f&&l.startsWith(c)){if(l.slice(c.length).startsWith("_length"))continue;return!0}}return!1},a=[];for(let[l,u]of e.state.env){if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(l)||n.has(l)||r.has(l))continue;let c=l.match(/^([a-zA-Z_][a-zA-Z0-9_]*)_(\d+)$/);if(c&&n.has(c[1]))continue;let f=l.match(/^([a-zA-Z_][a-zA-Z0-9_]*)__length$/);f&&n.has(f[1])||i(l)||f&&r.has(f[1])||a.push([l,u])}let o=[];for(let[l,u]of a.sort(([c],[f])=>c<f?-1:c>f?1:0))o.push(`${l}=${Yt(u)}`);for(let l of[...n].sort((u,c)=>u<c?-1:u>c?1:0))o.push(Ra(e,l));for(let l of[...r].sort((u,c)=>u<c?-1:u>c?1:0))o.push(Fa(e,l));return o.sort((l,u)=>{let c=l.split("=")[0],f=u.split("=")[0];return c<f?-1:c>f?1:0}),F(o.length>0?`${o.join(`
|
|
542
|
+
`)}
|
|
543
|
+
`:"")}let s=0;for(;s<t.length;){let n=t[s];if((n==="-o"||n==="+o")&&xa(t,s)){let r=t[s+1];if(!Lr.has(r)){let i=`bash: set: ${r}: invalid option name
|
|
544
|
+
${es}`;if(e.state.options.posix)throw new we(1,"",i);return _(i)}Wr(e,Lr.get(r)??null,n==="-o"),s+=2;continue}if(n==="-o"){let r=Fr.map(o=>`${o.padEnd(16)}${e.state.options[o]?"on":"off"}`),i=Mr.map(o=>`${o.padEnd(16)}off`),a=[...r,...i].sort();return F(`${a.join(`
|
|
545
|
+
`)}
|
|
546
|
+
`)}if(n==="+o"){let r=Fr.map(o=>`set ${e.state.options[o]?"-o":"+o"} ${o}`),i=Mr.map(o=>`set +o ${o}`),a=[...r,...i].sort();return F(`${a.join(`
|
|
547
|
+
`)}
|
|
548
|
+
`)}if(n.length>1&&(n[0]==="-"||n[0]==="+")&&n[1]!=="-"){let r=n[0]==="-";for(let i=1;i<n.length;i++){let a=n[i];if(!Rr.has(a)){let o=`bash: set: ${n[0]}${a}: invalid option
|
|
549
|
+
${es}`;if(e.state.options.posix)throw new we(1,"",o);return _(o)}Wr(e,Rr.get(a)??null,r)}s++;continue}if(n==="--")return cn(e,t.slice(s+1)),L;if(n==="-"){if(e.state.options.xtrace=!1,e.state.options.verbose=!1,st(e),s+1<t.length)return cn(e,t.slice(s+1)),L;s++;continue}if(n==="+"){s++;continue}if(n.startsWith("-")||n.startsWith("+")){let r=`bash: set: ${n}: invalid option
|
|
550
|
+
${es}`;if(e.state.options.posix)throw new we(1,"",r);return _(r)}return cn(e,t.slice(s)),L}return L}function cn(e,t){let s=1;for(;e.state.env.has(String(s));)e.state.env.delete(String(s)),s++;for(let n=0;n<t.length;n++)e.state.env.set(String(n+1),t[n]);e.state.env.set("#",String(t.length)),e.state.env.set("@",t.join(" ")),e.state.env.set("*",t.join(" "))}function fn(e,t){let s=1;if(t.length>0){let a=Number.parseInt(t[0],10);if(Number.isNaN(a)||a<0){let o=`bash: shift: ${t[0]}: numeric argument required
|
|
551
|
+
`;if(e.state.options.posix)throw new we(1,"",o);return _(o)}s=a}let n=Number.parseInt(e.state.env.get("#")||"0",10);if(s>n){let a=`bash: shift: shift count out of range
|
|
552
|
+
`;if(e.state.options.posix)throw new we(1,"",a);return _(a)}if(s===0)return L;let r=[];for(let a=1;a<=n;a++)r.push(e.state.env.get(String(a))||"");let i=r.slice(s);for(let a=1;a<=n;a++)e.state.env.delete(String(a));for(let a=0;a<i.length;a++)e.state.env.set(String(a+1),i[a]);return e.state.env.set("#",String(i.length)),e.state.env.set("@",i.join(" ")),L}async function dn(e,t){let s=t;if(s.length>0&&s[0]==="--"&&(s=s.slice(1)),s.length===0)return P("",`bash: source: filename argument required
|
|
553
|
+
`,2);let n=s[0],r=null,i=null;if(n.includes("/")){let u=e.fs.resolvePath(e.state.cwd,n);try{i=await e.fs.readFile(u),r=u}catch{}}else{let c=(e.state.env.get("PATH")||"").split(":").filter(f=>f);for(let f of c){let d=e.fs.resolvePath(e.state.cwd,`${f}/${n}`);try{if((await e.fs.stat(d)).isDirectory)continue;i=await e.fs.readFile(d),r=d;break}catch{}}if(i===null){let f=e.fs.resolvePath(e.state.cwd,n);try{i=await e.fs.readFile(f),r=f}catch{}}}if(i===null)return _(`bash: ${n}: No such file or directory
|
|
554
|
+
`);let a=new Map;if(s.length>1){for(let c=1;c<=9;c++)a.set(String(c),e.state.env.get(String(c)));a.set("#",e.state.env.get("#")),a.set("@",e.state.env.get("@"));let u=s.slice(1);e.state.env.set("#",String(u.length)),e.state.env.set("@",u.join(" "));for(let c=0;c<u.length&&c<9;c++)e.state.env.set(String(c+1),u[c]);for(let c=u.length+1;c<=9;c++)e.state.env.delete(String(c))}let o=e.state.currentSource,l=()=>{if(e.state.sourceDepth--,e.state.currentSource=o,s.length>1)for(let[u,c]of a)c===void 0?e.state.env.delete(u):e.state.env.set(u,c)};if(e.state.sourceDepth++,e.state.sourceDepth>e.limits.maxSourceDepth)throw e.state.sourceDepth--,new Y(`source: maximum nesting depth (${e.limits.maxSourceDepth}) exceeded, increase executionLimits.maxSourceDepth`,"recursion");e.state.currentSource=n;try{let u=be(i),c=await e.executeScript(u);return l(),c}catch(u){if(l(),u instanceof B)throw u;if(u instanceof le)return P(u.stdout,u.stderr,u.exitCode);if(u.name==="ParseException")return _(`bash: ${n}: ${u.message}
|
|
555
|
+
`);throw u}}function zr(e){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)}function za(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')}async function Vr(e,t){if(za(t))return null;try{let s=new V,n=Q(s,t);return await j(e,n.expression)}catch{let s=parseInt(t,10);return Number.isNaN(s)?0:s}}function Br(e,t){if(e.state.localVarStack?.has(t)){let n=Gt(e,t);if(n){n.value===void 0?e.state.env.delete(t):e.state.env.set(t,n.value);let r=e.state.localVarStack?.get(t);if(!r||r.length===0)qt(e,t),e.state.localVarStack?.delete(t),e.state.fullyUnsetLocals=e.state.fullyUnsetLocals||new Map,e.state.fullyUnsetLocals.set(t,n.scopeIndex),hn(e,t);else{let i=r[r.length-1];e.state.localVarDepth=e.state.localVarDepth||new Map,e.state.localVarDepth.set(t,i.scopeIndex+1)}return!0}return e.state.env.delete(t),qt(e,t),e.state.localVarStack?.delete(t),e.state.fullyUnsetLocals=e.state.fullyUnsetLocals||new Map,e.state.fullyUnsetLocals.set(t,0),!0}for(let n=e.state.localScopes.length-1;n>=0;n--){let r=e.state.localScopes[n];if(r.has(t)){let i=r.get(t);i===void 0?e.state.env.delete(t):e.state.env.set(t,i),r.delete(t);let a=!1;for(let o=n-1;o>=0;o--)if(e.state.localScopes[o].has(t)){e.state.localVarDepth&&e.state.localVarDepth.set(t,o+1),a=!0;break}return a||qt(e,t),!0}}return!1}function hn(e,t){if(!e.state.tempEnvBindings||e.state.tempEnvBindings.length===0)return!1;for(let s=e.state.tempEnvBindings.length-1;s>=0;s--){let n=e.state.tempEnvBindings[s];if(n.has(t)){let r=n.get(t);return r===void 0?e.state.env.delete(t):e.state.env.set(t,r),n.delete(t),!0}}return!1}async function jr(e,t){if(t.startsWith("'")&&t.endsWith("'"))return t.slice(1,-1);if(t.startsWith('"')&&t.endsWith('"')){let s=t.slice(1,-1),r=new V().parseWordFromString(s,!0,!1);return I(e,r)}if(t.includes("$")){let n=new V().parseWordFromString(t,!1,!1);return I(e,n)}return t}async function pn(e,t){let s="both",n="",r=0;for(let i of t){if(i==="-v"){s="variable";continue}if(i==="-f"){s="function";continue}if(s==="function"){e.state.functions.delete(i);continue}if(s==="variable"){let u=i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(u){let d=u[1],h=u[2];if(h==="@"||h==="*"){let A=$e(e,d);for(let[g]of A)e.state.env.delete(`${d}_${g}`);e.state.env.delete(d);continue}let p=e.state.associativeArrays?.has(d);if(p){let A=await jr(e,h);e.state.env.delete(`${d}_${A}`);continue}let m=gs(e,d),y=e.state.declaredVars?.has(d);if((e.state.env.has(d)||y)&&!m&&!p){n+=`bash: unset: ${d}: not an array variable
|
|
556
|
+
`,r=1;continue}let v=await Vr(e,h);if(v===null&&m){n+=`bash: unset: ${h}: not a valid identifier
|
|
557
|
+
`,r=1;continue}if(v===null)continue;if(v<0){let A=$e(e,d),g=A.length,w=e.state.currentLine;if(g===0){n+=`bash: line ${w}: unset: [${v}]: bad array subscript
|
|
558
|
+
`,r=1;continue}let $=g+v;if($<0){n+=`bash: line ${w}: unset: [${v}]: bad array subscript
|
|
559
|
+
`,r=1;continue}let E=A[$][0];e.state.env.delete(`${d}_${E}`);continue}e.state.env.delete(`${d}_${v}`);continue}if(!zr(i)){n+=`bash: unset: \`${i}': not a valid identifier
|
|
560
|
+
`,r=1;continue}let c=i;if(me(e,i)){let d=Me(e,i);d&&d!==i&&(c=d)}if(je(e,c)){n+=`bash: unset: ${c}: cannot unset: readonly variable
|
|
561
|
+
`,r=1;continue}let f=rt(e,c);if(f!==void 0&&f!==e.state.callDepth)Br(e,c);else if(e.state.fullyUnsetLocals?.has(c))e.state.env.delete(c);else if(f!==void 0){let d=e.state.accessedTempEnvVars?.has(c),h=e.state.mutatedTempEnvVars?.has(c);if((d||h)&&e.state.localVarStack?.has(c)){let p=Gt(e,c);p?p.value===void 0?e.state.env.delete(c):e.state.env.set(c,p.value):e.state.env.delete(c)}else e.state.env.delete(c)}else hn(e,c)||e.state.env.delete(c);e.state.exportedVars?.delete(c);continue}let a=i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let u=a[1],c=a[2];if(c==="@"||c==="*"){let m=$e(e,u);for(let[y]of m)e.state.env.delete(`${u}_${y}`);e.state.env.delete(u);continue}let f=e.state.associativeArrays?.has(u);if(f){let m=await jr(e,c);e.state.env.delete(`${u}_${m}`);continue}let d=gs(e,u);if(e.state.env.has(u)&&!d&&!f){n+=`bash: unset: ${u}: not an array variable
|
|
562
|
+
`,r=1;continue}let p=await Vr(e,c);if(p===null&&d){n+=`bash: unset: ${c}: not a valid identifier
|
|
563
|
+
`,r=1;continue}if(p===null)continue;if(p<0){let m=$e(e,u),y=m.length,b=e.state.currentLine;if(y===0){n+=`bash: line ${b}: unset: [${p}]: bad array subscript
|
|
564
|
+
`,r=1;continue}let v=y+p;if(v<0){n+=`bash: line ${b}: unset: [${p}]: bad array subscript
|
|
565
|
+
`,r=1;continue}let A=m[v][0];e.state.env.delete(`${u}_${A}`);continue}e.state.env.delete(`${u}_${p}`);continue}if(!zr(i)){n+=`bash: unset: \`${i}': not a valid identifier
|
|
566
|
+
`,r=1;continue}let o=i;if(me(e,i)){let u=Me(e,i);u&&u!==i&&(o=u)}if(je(e,o)){n+=`bash: unset: ${o}: cannot unset: readonly variable
|
|
567
|
+
`,r=1;continue}let l=rt(e,o);if(l!==void 0&&l!==e.state.callDepth)Br(e,o);else if(e.state.fullyUnsetLocals?.has(o))e.state.env.delete(o);else if(l!==void 0){let u=e.state.accessedTempEnvVars?.has(o),c=e.state.mutatedTempEnvVars?.has(o);if((u||c)&&e.state.localVarStack?.has(o)){let f=Gt(e,o);f?f.value===void 0?e.state.env.delete(o):e.state.env.set(o,f.value):e.state.env.delete(o)}else e.state.env.delete(o)}else hn(e,o)||e.state.env.delete(o);e.state.exportedVars?.delete(o),e.state.functions.delete(i)}return P("",n,r)}var mn=["extglob","dotglob","nullglob","failglob","globstar","globskipdots","nocaseglob","nocasematch","expand_aliases","lastpipe","xpg_echo"],Va=["autocd","cdable_vars","cdspell","checkhash","checkjobs","checkwinsize","cmdhist","compat31","compat32","compat40","compat41","compat42","compat43","compat44","complete_fullquote","direxpand","dirspell","execfail","extdebug","extquote","force_fignore","globasciiranges","gnu_errfmt","histappend","histreedit","histverify","hostcomplete","huponexit","inherit_errexit","interactive_comments","lithist","localvar_inherit","localvar_unset","login_shell","mailwarn","no_empty_cmd_completion","progcomp","progcomp_alias","promptvars","restricted_shell","shift_verbose","sourcepath"];function ts(e){return mn.includes(e)}function Ba(e){return Va.includes(e)}function Hr(e,t){let s=!1,n=!1,r=!1,i=!1,a=!1,o=[],l=0;for(;l<t.length;){let d=t[l];if(d==="--"){l++;break}if(d.startsWith("-")&&d.length>1){for(let h=1;h<d.length;h++){let p=d[h];switch(p){case"s":s=!0;break;case"u":n=!0;break;case"p":r=!0;break;case"q":i=!0;break;case"o":a=!0;break;default:return{exitCode:2,stdout:"",stderr:`shopt: -${p}: invalid option
|
|
568
|
+
`}}}l++}else break}for(;l<t.length;)o.push(t[l]),l++;if(a)return ja(e,o,s,n,r,i);if(s&&n)return{exitCode:1,stdout:"",stderr:`shopt: cannot set and unset shell options simultaneously
|
|
569
|
+
`};if(o.length===0){if(s||n){let h=[];for(let p of mn){let m=e.state.shoptOptions[p];s&&m?h.push(r?`shopt -s ${p}`:`${p} on`):n&&!m&&h.push(r?`shopt -u ${p}`:`${p} off`)}return{exitCode:0,stdout:h.length>0?`${h.join(`
|
|
570
|
+
`)}
|
|
571
|
+
`:"",stderr:""}}let d=[];for(let h of mn){let p=e.state.shoptOptions[h];d.push(r?`shopt ${p?"-s":"-u"} ${h}`:`${h} ${p?"on":"off"}`)}return{exitCode:0,stdout:`${d.join(`
|
|
572
|
+
`)}
|
|
573
|
+
`,stderr:""}}let u=!1,c="",f=[];for(let d of o){if(!ts(d)&&!Ba(d)){c+=`shopt: ${d}: invalid shell option name
|
|
574
|
+
`,u=!0;continue}if(s)ts(d)&&(e.state.shoptOptions[d]=!0,As(e));else if(n)ts(d)&&(e.state.shoptOptions[d]=!1,As(e));else if(ts(d)){let h=e.state.shoptOptions[d];i?h||(u=!0):r?(f.push(`shopt ${h?"-s":"-u"} ${d}`),h||(u=!0)):(f.push(`${d} ${h?"on":"off"}`),h||(u=!0))}else i?u=!0:r?(f.push(`shopt -u ${d}`),u=!0):(f.push(`${d} off`),u=!0)}return{exitCode:u?1:0,stdout:f.length>0?`${f.join(`
|
|
575
|
+
`)}
|
|
576
|
+
`:"",stderr:c}}function ja(e,t,s,n,r,i){let a=new Map([["errexit","errexit"],["pipefail","pipefail"],["nounset","nounset"],["xtrace","xtrace"],["verbose","verbose"],["posix","posix"],["allexport","allexport"],["noclobber","noclobber"],["noglob","noglob"],["noexec","noexec"],["vi","vi"],["emacs","emacs"]]),o=["braceexpand","errtrace","functrace","hashall","histexpand","history","ignoreeof","interactive-comments","keyword","monitor","nolog","notify","onecmd","physical","privileged"],l=[...a.keys(),...o].sort();if(t.length===0){let d=[];for(let h of l){let p=o.includes(h),m=a.get(h),y=p||!m?!1:e.state.options[m];s&&!y||n&&y||d.push(r?`set ${y?"-o":"+o"} ${h}`:`${h} ${y?"on":"off"}`)}return{exitCode:0,stdout:d.length>0?`${d.join(`
|
|
577
|
+
`)}
|
|
578
|
+
`:"",stderr:""}}let u=!1,c="",f=[];for(let d of t){let h=a.has(d),p=o.includes(d);if(!h&&!p){c+=`shopt: ${d}: invalid option name
|
|
579
|
+
`,u=!0;continue}if(p){s||n||(i?u=!0:r?(f.push(`set +o ${d}`),u=!0):(f.push(`${d} off`),u=!0));continue}let m=a.get(d);if(m)if(s)m==="vi"?e.state.options.emacs=!1:m==="emacs"&&(e.state.options.vi=!1),e.state.options[m]=!0,st(e);else if(n)e.state.options[m]=!1,st(e);else{let y=e.state.options[m];i?y||(u=!0):r?(f.push(`set ${y?"-o":"+o"} ${d}`),y||(u=!0)):(f.push(`${d} ${y?"on":"off"}`),y||(u=!0))}}return{exitCode:u?1:0,stdout:f.length>0?`${f.join(`
|
|
580
|
+
`)}
|
|
581
|
+
`:"",stderr:c}}async function Ur(e,t,s){if(t.includes("/")){let a=e.fs.resolvePath(e.state.cwd,t);if(!await e.fs.exists(a))return{error:"not_found",path:a};let o=a.split("/").pop()||t,l=e.commands.get(o);try{let u=await e.fs.stat(a);return u.isDirectory?{error:"permission_denied",path:a}:l?{cmd:l,path:a}:(u.mode&73)!==0?{script:!0,path:a}:{error:"permission_denied",path:a}}catch{return{error:"not_found",path:a}}}if(!s&&e.state.hashTable){let a=e.state.hashTable.get(t);if(a)if(await e.fs.exists(a)){let o=e.commands.get(t);if(o)return{cmd:o,path:a};try{let l=await e.fs.stat(a);if(!l.isDirectory&&(l.mode&73)!==0)return{script:!0,path:a}}catch{}}else e.state.hashTable.delete(t)}let r=(s??e.state.env.get("PATH")??"/usr/bin:/bin").split(":");for(let a of r){if(!a)continue;let l=`${a.startsWith("/")?a:e.fs.resolvePath(e.state.cwd,a)}/${t}`;if(await e.fs.exists(l))try{let u=await e.fs.stat(l);if(u.isDirectory)continue;let c=(u.mode&73)!==0,f=e.commands.get(t),d=a==="/bin"||a==="/usr/bin";if(f&&d)return{cmd:f,path:l};if(c){if(f&&!d)return{script:!0,path:l};if(!f)return{script:!0,path:l}}}catch{}}if(!await e.fs.exists("/usr/bin")){let a=e.commands.get(t);if(a)return{cmd:a,path:`/usr/bin/${t}`}}return null}async function ss(e,t){let s=[];if(t.includes("/")){let i=e.fs.resolvePath(e.state.cwd,t);if(await e.fs.exists(i))try{let a=await e.fs.stat(i);a.isDirectory||(a.mode&73)!==0&&s.push(t)}catch{}return s}let r=(e.state.env.get("PATH")||"/usr/bin:/bin").split(":");for(let i of r){if(!i)continue;let o=`${i.startsWith("/")?i:e.fs.resolvePath(e.state.cwd,i)}/${t}`;if(await e.fs.exists(o)){try{if((await e.fs.stat(o)).isDirectory)continue}catch{continue}s.push(i.startsWith("/")?o:`${i}/${t}`)}}return s}function Ha(e){return e!==null&&typeof e=="object"&&"then"in e&&typeof e.then=="function"}function q(e,t,s,n){return((...r)=>{ft(t,s,`${n} call`);let i=e(...r);return Ha(i)?i.then(a=>(ft(t,s,`${n} post-await`),a),a=>{throw ft(t,s,`${n} post-await`),a}):(ft(t,s,`${n} return`),i)})}function Ua(e,t,s){let n={readFile:q(e.readFile.bind(e),t,s,"fs.readFile"),readFileBuffer:q(e.readFileBuffer.bind(e),t,s,"fs.readFileBuffer"),writeFile:q(e.writeFile.bind(e),t,s,"fs.writeFile"),appendFile:q(e.appendFile.bind(e),t,s,"fs.appendFile"),exists:q(e.exists.bind(e),t,s,"fs.exists"),stat:q(e.stat.bind(e),t,s,"fs.stat"),mkdir:q(e.mkdir.bind(e),t,s,"fs.mkdir"),readdir:q(e.readdir.bind(e),t,s,"fs.readdir"),rm:q(e.rm.bind(e),t,s,"fs.rm"),cp:q(e.cp.bind(e),t,s,"fs.cp"),mv:q(e.mv.bind(e),t,s,"fs.mv"),resolvePath:q(e.resolvePath.bind(e),t,s,"fs.resolvePath"),getAllPaths:q(e.getAllPaths.bind(e),t,s,"fs.getAllPaths"),chmod:q(e.chmod.bind(e),t,s,"fs.chmod"),symlink:q(e.symlink.bind(e),t,s,"fs.symlink"),link:q(e.link.bind(e),t,s,"fs.link"),readlink:q(e.readlink.bind(e),t,s,"fs.readlink"),lstat:q(e.lstat.bind(e),t,s,"fs.lstat"),realpath:q(e.realpath.bind(e),t,s,"fs.realpath"),utimes:q(e.utimes.bind(e),t,s,"fs.utimes")};return e.readdirWithFileTypes&&(n.readdirWithFileTypes=q(e.readdirWithFileTypes.bind(e),t,s,"fs.readdirWithFileTypes")),n}function Zr(e,t){if(!e.requireDefenseContext)return e;let s=`command:${t}`,n={...e,fs:Ua(e.fs,e.requireDefenseContext,s)};return e.exec&&(n.exec=q(e.exec,e.requireDefenseContext,s,"exec")),e.fetch&&(n.fetch=q(e.fetch,e.requireDefenseContext,s,"fetch")),e.sleep&&(n.sleep=q(e.sleep,e.requireDefenseContext,s,"sleep")),e.getRegisteredCommands&&(n.getRegisteredCommands=q(e.getRegisteredCommands,e.requireDefenseContext,s,"getRegisteredCommands")),n}async function Xr(e,t,s,n){let r=!1,i=!1,a=!1,o=!1,l=!1,u=[];for(let m of t)if(m.startsWith("-")&&m.length>1)for(let y of m.slice(1))y==="t"?r=!0:y==="p"?i=!0:y==="P"?a=!0:y==="a"?o=!0:y==="f"&&(l=!0);else u.push(m);let c="",f="",d=0,h=!1,p=!1;for(let m of u){let y=!1;if(a){if(o){let $=await n(m);if($.length>0){for(let E of $)c+=`${E}
|
|
582
|
+
`;h=!0,y=!0}}else{let $=await s(m);$&&(c+=`${$}
|
|
583
|
+
`,h=!0,y=!0)}y||(p=!0);continue}let b=!l&&e.state.functions.has(m);if(o&&b){if(!i)if(r)c+=`function
|
|
584
|
+
`;else{let $=e.state.functions.get(m),E=$?qr(m,$):`${m} is a function
|
|
585
|
+
`;c+=E}y=!0}let v=e.state.env.get(`BASH_ALIAS_${m}`);if(v!==void 0&&(o||!y)&&(i||(r?c+=`alias
|
|
586
|
+
`:c+=`${m} is aliased to \`${v}'
|
|
587
|
+
`),y=!0,!o)||Ts.has(m)&&(o||!y)&&(i||(r?c+=`keyword
|
|
588
|
+
`:c+=`${m} is a shell keyword
|
|
589
|
+
`),y=!0,!o))continue;if(!o&&b&&!y){if(!i)if(r)c+=`function
|
|
590
|
+
`;else{let $=e.state.functions.get(m),E=$?qr(m,$):`${m} is a function
|
|
591
|
+
`;c+=E}y=!0;continue}if(!(it.has(m)&&(o||!y)&&(i||(r?c+=`builtin
|
|
592
|
+
`:c+=`${m} is a shell builtin
|
|
593
|
+
`),y=!0,!o))){if(o){let $=await n(m);for(let E of $)i?c+=`${E}
|
|
594
|
+
`:r?c+=`file
|
|
595
|
+
`:c+=`${m} is ${E}
|
|
596
|
+
`,h=!0,y=!0}else if(!y){let $=await s(m);$&&(i?c+=`${$}
|
|
597
|
+
`:r?c+=`file
|
|
598
|
+
`:c+=`${m} is ${$}
|
|
599
|
+
`,h=!0,y=!0)}if(!y&&(p=!0,!r&&!i)){let $=!0;if(m.includes("/")){let E=e.fs.resolvePath(e.state.cwd,m);await e.fs.exists(E)&&($=!1)}$&&(f+=`bash: type: ${m}: not found
|
|
600
|
+
`)}}}return i?d=p&&!h?1:0:d=p?1:0,P(c,f,d)}function qr(e,t){let s;return t.body.type==="Group"?s=t.body.body.map(r=>gt(r)).join("; "):s=gt(t.body),`${e} is a function
|
|
601
|
+
${e} ()
|
|
602
|
+
{
|
|
603
|
+
${s}
|
|
604
|
+
}
|
|
605
|
+
`}function gt(e){if(Array.isArray(e))return e.map(t=>gt(t)).join("; ");if(e.type==="Statement"){let t=[];for(let s=0;s<e.pipelines.length;s++){let n=e.pipelines[s];t.push(Za(n)),e.operators[s]&&t.push(e.operators[s])}return t.join(" ")}if(e.type==="SimpleCommand"){let t=e,s=[];t.name&&s.push(Gr(t.name));for(let n of t.args)s.push(Gr(n));return s.join(" ")}return e.type==="Group"?`{ ${e.body.map(n=>gt(n)).join("; ")}; }`:"..."}function Za(e){let t=e.commands.map(s=>gt(s));return(e.negated?"! ":"")+t.join(" | ")}function Gr(e){let t="";for(let s of e.parts)s.type==="Literal"?t+=s.value:s.type==="DoubleQuoted"?t+=`"${s.parts.map(n=>Kr(n)).join("")}"`:s.type==="SingleQuoted"?t+=`'${s.value}'`:t+=Kr(s);return t}function Kr(e){let t=e;return t.type==="Literal"?t.value??"":t.type==="Variable"?`$${t.name}`:""}async function Yr(e,t,s,n){let r="",i="",a=0;for(let o of t){if(!o){a=1;continue}let l=e.state.env.get(`BASH_ALIAS_${o}`);if(l!==void 0)n?r+=`${o} is an alias for "${l}"
|
|
606
|
+
`:r+=`alias ${o}='${l}'
|
|
607
|
+
`;else if(Ts.has(o))n?r+=`${o} is a shell keyword
|
|
608
|
+
`:r+=`${o}
|
|
609
|
+
`;else if(it.has(o))n?r+=`${o} is a shell builtin
|
|
610
|
+
`:r+=`${o}
|
|
611
|
+
`;else if(e.state.functions.has(o))n?r+=`${o} is a function
|
|
612
|
+
`:r+=`${o}
|
|
613
|
+
`;else if(o.includes("/")){let u=e.fs.resolvePath(e.state.cwd,o),c=!1;if(await e.fs.exists(u))try{let f=await e.fs.stat(u);f.isDirectory||(f.mode&73)!==0&&(n?r+=`${o} is ${o}
|
|
614
|
+
`:r+=`${o}
|
|
615
|
+
`,c=!0)}catch{}c||(n&&(i+=`${o}: not found
|
|
616
|
+
`),a=1)}else if(e.commands.has(o)){let c=(e.state.env.get("PATH")??"/usr/bin:/bin").split(":"),f=null;for(let d of c){if(!d)continue;let h=`${d}/${o}`;try{let p=await e.fs.stat(h);if(!p.isDirectory&&(p.mode&73)!==0){f=h;break}}catch{}}f||(f=`/usr/bin/${o}`),n?r+=`${o} is ${f}
|
|
617
|
+
`:r+=`${f}
|
|
618
|
+
`}else n&&(i+=`${o}: not found
|
|
619
|
+
`),a=1}return P(r,i,a)}async function Qr(e,t){if(t.includes("/")){let r=e.fs.resolvePath(e.state.cwd,t);if(await e.fs.exists(r)){try{let i=await e.fs.stat(r);if(i.isDirectory||!((i.mode&73)!==0))return null}catch{return null}return t}return null}let n=(e.state.env.get("PATH")??"/usr/bin:/bin").split(":");for(let r of n){if(!r)continue;let a=`${r.startsWith("/")?r:e.fs.resolvePath(e.state.cwd,r)}/${t}`;if(await e.fs.exists(a)){try{if((await e.fs.stat(a)).isDirectory)continue}catch{continue}return`${r}/${t}`}}if(e.commands.has(t)){for(let r of n)if(r==="/usr/bin"||r==="/bin")return`${r}/${t}`;return`/usr/bin/${t}`}return null}async function Jr(e,t,s,n,r,i,a,o){let{ctx:l,runCommand:u}=e;if(l.coverage&&it.has(t)&&l.coverage.hit(`bash:builtin:${t}`),t==="export")return en(l,s);if(t==="unset")return pn(l,s);if(t==="exit")return Js(l,s);if(t==="local")return rn(l,s);if(t==="set")return un(l,s);if(t==="break")return Cs(l,s);if(t==="continue")return Ws(l,s);if(t==="return")return ln(l,s);if(t==="eval"&&l.state.options.posix)return Qt(l,s,r);if(t==="shift")return fn(l,s);if(t==="getopts")return Jt(l,s);if(t==="compgen")return Rs(l,s);if(t==="complete")return Fs(l,s);if(t==="compopt")return Ms(l,s);if(t==="pushd")return await Xs(l,s);if(t==="popd")return Ys(l,s);if(t==="dirs")return Qs(l,s);if(t==="source"||t===".")return dn(l,s);if(t==="read")return on(l,s,r,o);if(t==="mapfile"||t==="readarray")return an(l,s,r);if(t==="declare"||t==="typeset")return qs(l,s);if(t==="readonly")return Gs(l,s);if(!i){let c=l.state.functions.get(t);if(c)return Xt(l,c,s,r)}if(t==="eval")return Qt(l,s,r);if(t==="cd")return await Ps(l,s);if(t===":"||t==="true")return L;if(t==="false")return X(!1);if(t==="let")return nn(l,s);if(t==="command")return qa(e,s,r);if(t==="builtin")return Ga(e,s,r);if(t==="shopt")return Hr(l,s);if(t==="exec"){if(s.length===0)return L;let[c,...f]=s;return u(c,f,[],r,!1,!1,-1)}if(t==="wait")return L;if(t==="type")return await Xr(l,s,c=>Qr(l,c),c=>ss(l,c));if(t==="hash")return tn(l,s);if(t==="help")return sn(l,s);if(t==="["||t==="test"){let c=s;if(t==="["){if(s[s.length-1]!=="]")return _("[: missing `]'\n",2);c=s.slice(0,-1)}return pt(l,c)}return null}async function qa(e,t,s){let{ctx:n,runCommand:r}=e;if(t.length===0)return L;let i=!1,a=!1,o=!1,l=t;for(;l.length>0&&l[0].startsWith("-");){let f=l[0];if(f==="--"){l=l.slice(1);break}for(let d of f.slice(1))d==="p"?i=!0:d==="V"?a=!0:d==="v"&&(o=!0);l=l.slice(1)}if(l.length===0)return L;if(o||a)return await Yr(n,l,o,a);let[u,...c]=l;return r(u,c,[],s,!0,i,-1)}async function Ga(e,t,s){let{runCommand:n}=e;if(t.length===0)return L;let r=t;if(r[0]==="--"&&(r=r.slice(1),r.length===0))return L;let i=r[0];if(!it.has(i))return _(`bash: builtin: ${i}: not a shell builtin
|
|
620
|
+
`);let[,...a]=r;return n(i,a,[],s,!0,!1,-1)}async function ei(e,t,s,n,r){let{ctx:i,buildExportedEnv:a,executeUserScript:o}=e,u=await Ur(i,t,r?"/usr/bin:/bin":void 0);if(!u)return or(t)?_(`bash: ${t}: command not available in browser environments. Exclude '${t}' from your commands or use the Node.js bundle.
|
|
621
|
+
`,127):_(`bash: ${t}: command not found
|
|
622
|
+
`,127);if("error"in u)return u.error==="permission_denied"?_(`bash: ${t}: Permission denied
|
|
623
|
+
`,126):_(`bash: ${t}: No such file or directory
|
|
624
|
+
`,127);if("script"in u)return t.includes("/")||(i.state.hashTable||(i.state.hashTable=new Map),i.state.hashTable.set(t,u.path)),await o(u.path,s,n);let{cmd:c,path:f}=u;t.includes("/")||(i.state.hashTable||(i.state.hashTable=new Map),i.state.hashTable.set(t,f));let d=n||i.state.groupStdin||"",h=a(),p={fs:i.fs,cwd:i.state.cwd,env:i.state.env,exportedEnv:h,stdin:d,limits:i.limits,exec:i.execFn,fetch:i.fetch,getRegisteredCommands:()=>Array.from(i.commands.keys()),sleep:i.sleep,trace:i.trace,fileDescriptors:i.state.fileDescriptors,xpgEcho:i.state.shoptOptions.xpg_echo,coverage:i.coverage,signal:i.state.signal,requireDefenseContext:i.requireDefenseContext,jsBootstrapCode:i.jsBootstrapCode},m=Zr(p,t);try{let y=()=>Pn(i.requireDefenseContext,"command",`${t} execution`,()=>c.execute(s,m));return c.trusted?await ge.runTrustedAsync(()=>y()):await y()}catch(y){if(y instanceof Y||y instanceof Ke)throw y;return _(`${t}: ${xe(ve(y))}
|
|
625
|
+
`)}}async function yn(e,t){let s=e.state.inCondition;e.state.inCondition=!0;let n="",r="",i=0;try{for(let a of t){let o=await e.executeStatement(a);n+=o.stdout,r+=o.stderr,i=o.exitCode}}finally{e.state.inCondition=s}return{stdout:n,stderr:r,exitCode:i}}function wt(e,t,s,n){if(e instanceof fe)return t+=e.stdout,s+=e.stderr,e.levels>1&&n>1?(e.levels--,e.stdout=t,e.stderr=s,{action:"rethrow",stdout:t,stderr:s,error:e}):{action:"break",stdout:t,stderr:s};if(e instanceof de)return t+=e.stdout,s+=e.stderr,e.levels>1&&n>1?(e.levels--,e.stdout=t,e.stderr=s,{action:"rethrow",stdout:t,stderr:s,error:e}):{action:"continue",stdout:t,stderr:s};if(e instanceof le||e instanceof he||e instanceof B||e instanceof Y)return e.prependOutput(t,s),{action:"rethrow",stdout:t,stderr:s,error:e};let r=ve(e);return{action:"error",stdout:t,stderr:`${s}${r}
|
|
626
|
+
`,exitCode:1}}async function ns(e,t,s="",n=""){let r=s,i=n,a=0;try{for(let o of t){let l=await e.executeStatement(o);r+=l.stdout,i+=l.stderr,a=l.exitCode}}catch(o){if(_t(o)||o instanceof he||o instanceof B||o instanceof Y||o instanceof Ie)throw o.prependOutput(r,i),o;return{stdout:r,stderr:`${i}${ve(o)}
|
|
627
|
+
`,exitCode:1}}return{stdout:r,stderr:i,exitCode:a}}async function ti(e,t){let s="",n="";for(let r of t.clauses){let i=await yn(e,r.condition);if(s+=i.stdout,n+=i.stderr,i.exitCode===0)return ns(e,r.body,s,n)}return t.elseBody?ns(e,t.elseBody,s,n):P(s,n,0)}async function si(e,t){let s=await Ne(e,t.redirections);if(s)return s;let n="",r="",i=0,a=0;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t.variable))return _(`bash: \`${t.variable}': not a valid identifier
|
|
628
|
+
`);let o=[];if(t.words===null)o=(e.state.env.get("@")||"").split(" ").filter(Boolean);else if(t.words.length===0)o=[];else try{for(let u of t.words){let c=await _e(e,u);o.push(...c.values)}}catch(u){if(u instanceof St)return{stdout:"",stderr:u.stderr,exitCode:1};throw u}e.state.loopDepth++;try{for(let u of o){a++,a>e.limits.maxLoopIterations&&Ce(`for loop: too many iterations (${e.limits.maxLoopIterations}), increase executionLimits.maxLoopIterations`,"iterations",n,r),e.state.env.set(t.variable,u);try{for(let c of t.body){let f=await e.executeStatement(c);n+=f.stdout,r+=f.stderr,i=f.exitCode}}catch(c){let f=wt(c,n,r,e.state.loopDepth);if(n=f.stdout,r=f.stderr,f.action==="break")break;if(f.action==="continue")continue;if(f.action==="error"){let d=P(n,r,f.exitCode??1);return Z(e,d,t.redirections)}throw f.error}}}finally{e.state.loopDepth--}let l=P(n,r,i);return Z(e,l,t.redirections)}async function ni(e,t){let s=await Ne(e,t.redirections);if(s)return s;let n=t.line;n!==void 0&&(e.state.currentLine=n);let r="",i="",a=0,o=0;t.init&&await j(e,t.init.expression),e.state.loopDepth++;try{for(;o++,o>e.limits.maxLoopIterations&&Ce(`for loop: too many iterations (${e.limits.maxLoopIterations}), increase executionLimits.maxLoopIterations`,"iterations",r,i),!(t.condition&&(n!==void 0&&(e.state.currentLine=n),await j(e,t.condition.expression)===0));){try{for(let u of t.body){let c=await e.executeStatement(u);r+=c.stdout,i+=c.stderr,a=c.exitCode}}catch(u){let c=wt(u,r,i,e.state.loopDepth);if(r=c.stdout,i=c.stderr,c.action==="break")break;if(c.action==="continue"){t.update&&await j(e,t.update.expression);continue}if(c.action==="error"){let f=P(r,i,c.exitCode??1);return Z(e,f,t.redirections)}throw c.error}t.update&&await j(e,t.update.expression)}}finally{e.state.loopDepth--}let l=P(r,i,a);return Z(e,l,t.redirections)}async function ri(e,t,s=""){let n="",r="",i=0,a=0,o=s;for(let u of t.redirections)if((u.operator==="<<"||u.operator==="<<-")&&u.target.type==="HereDoc"){let c=u.target,f=await I(e,c.content);c.stripTabs&&(f=f.split(`
|
|
629
|
+
`).map(d=>d.replace(/^\t+/,"")).join(`
|
|
630
|
+
`)),o=f}else if(u.operator==="<<<"&&u.target.type==="Word")o=`${await I(e,u.target)}
|
|
631
|
+
`;else if(u.operator==="<"&&u.target.type==="Word")try{let c=await I(e,u.target),f=e.fs.resolvePath(e.state.cwd,c);o=await e.fs.readFile(f)}catch{let c=await I(e,u.target);return _(`bash: ${c}: No such file or directory
|
|
632
|
+
`)}let l=e.state.groupStdin;o&&(e.state.groupStdin=o),e.state.loopDepth++;try{for(;;){a++,a>e.limits.maxLoopIterations&&Ce(`while loop: too many iterations (${e.limits.maxLoopIterations}), increase executionLimits.maxLoopIterations`,"iterations",n,r);let u=0,c=!1,f=!1,d=e.state.inCondition;e.state.inCondition=!0;try{for(let h of t.condition){let p=await e.executeStatement(h);n+=p.stdout,r+=p.stderr,u=p.exitCode}}catch(h){if(h instanceof fe){if(n+=h.stdout,r+=h.stderr,h.levels>1&&e.state.loopDepth>1)throw h.levels--,h.stdout=n,h.stderr=r,e.state.inCondition=d,h;c=!0}else if(h instanceof de){if(n+=h.stdout,r+=h.stderr,h.levels>1&&e.state.loopDepth>1)throw h.levels--,h.stdout=n,h.stderr=r,e.state.inCondition=d,h;f=!0}else throw e.state.inCondition=d,h}finally{e.state.inCondition=d}if(c)break;if(!f){if(u!==0)break;try{for(let h of t.body){let p=await e.executeStatement(h);n+=p.stdout,r+=p.stderr,i=p.exitCode}}catch(h){let p=wt(h,n,r,e.state.loopDepth);if(n=p.stdout,r=p.stderr,p.action==="break")break;if(p.action==="continue")continue;if(p.action==="error")return P(n,r,p.exitCode??1);throw p.error}}}}finally{e.state.loopDepth--,e.state.groupStdin=l}return P(n,r,i)}async function ii(e,t){let s="",n="",r=0,i=0;e.state.loopDepth++;try{for(;;){i++,i>e.limits.maxLoopIterations&&Ce(`until loop: too many iterations (${e.limits.maxLoopIterations}), increase executionLimits.maxLoopIterations`,"iterations",s,n);let a=await yn(e,t.condition);if(s+=a.stdout,n+=a.stderr,a.exitCode===0)break;try{for(let o of t.body){let l=await e.executeStatement(o);s+=l.stdout,n+=l.stderr,r=l.exitCode}}catch(o){let l=wt(o,s,n,e.state.loopDepth);if(s=l.stdout,n=l.stderr,l.action==="break")break;if(l.action==="continue")continue;if(l.action==="error")return P(s,n,l.exitCode??1);throw l.error}}}finally{e.state.loopDepth--}return P(s,n,r)}async function ai(e,t){let s=await Ne(e,t.redirections);if(s)return s;let n="",r="",i=0,a=await I(e,t.word),o=!1;for(let u=0;u<t.items.length;u++){let c=t.items[u],f=o;if(!o)for(let d of c.patterns){let h=await I(e,d);jn(d)&&(h=Vn(h));let p=e.state.shoptOptions.nocasematch,m=e.state.shoptOptions.extglob;if(nt(a,h,p,m)){f=!0;break}}if(f){let d=await ns(e,c.body,n,r);if(n=d.stdout,r=d.stderr,i=d.exitCode,c.terminator===";;")break;c.terminator===";&"?o=!0:o=!1}else o=!1}let l=P(n,r,i);return Z(e,l,t.redirections)}function gn(e,t){if(e.parts.length!==1)return!1;let s=e.parts[0];return s.type!=="Literal"?!1:t.includes(s.value)}function oi(e){if(!e.startsWith("__rw__:"))return null;let t=e.slice(7),s=t.indexOf(":");if(s===-1)return null;let n=Number.parseInt(t.slice(0,s),10);if(Number.isNaN(n)||n<0)return null;let r=s+1,i=t.slice(r,r+n),a=r+n+1,o=t.slice(a),l=o.indexOf(":");if(l===-1)return null;let u=Number.parseInt(o.slice(0,l),10);if(Number.isNaN(u)||u<0)return null;let c=o.slice(l+1);return{path:i,position:u,content:c}}var li="+ ";async function ci(e){let t=e.state.env.get("PS4");if(t===void 0)return li;if(t==="")return"";try{let n=new V().parseWordFromString(t,!1,!1);return await I(e,n)}catch{return e.state.expansionStderr=`${e.state.expansionStderr||""}bash: ${t}: bad substitution
|
|
633
|
+
`,t||li}}function Ka(e){return e.map(t=>Xa(t)).join(" ")}function Xa(e){if(e==="")return"''";if(!/[\s'"\\$`!*?[\]{}|&;<>()~#\n\t]/.test(e))return e;let s=/[\x00-\x1f\x7f]/.test(e),n=e.includes(`
|
|
634
|
+
`),r=e.includes(" "),i=e.includes("\\"),a=e.includes("'");if(s||n||r||i){let l="";for(let u of e){let c=u.charCodeAt(0);u===`
|
|
635
|
+
`?l+="\\n":u===" "?l+="\\t":u==="\\"?l+="\\\\":u==="'"?l+="'":u==='"'?l+='"':c<32||c===127?c<256?l+=`\\x${c.toString(16).padStart(2,"0")}`:l+=`\\u${c.toString(16).padStart(4,"0")}`:l+=u}return`$'${l}'`}return a?`"${e.replace(/([\\$`"])/g,"\\$1")}"`:`'${e}'`}async function ui(e,t,s){if(!e.state.options.xtrace)return"";let n=await ci(e),r=[t,...s],i=Ka(r);return`${n}${i}
|
|
636
|
+
`}async function fi(e,t,s){return e.state.options.xtrace?`${await ci(e)}${t}=${s}
|
|
637
|
+
`:""}async function di(e,t,s){let n=t.timed?us():0,r="",i=L,a=0,o=[],l="",u=t.commands.length>1,c=e.state.lastArg;for(let d=0;d<t.commands.length;d++){let h=t.commands[d],p=d===t.commands.length-1,m=d===0;u&&(e.state.lastArg="",m||(e.state.groupStdin=void 0));let b=u&&(!p||!e.state.shoptOptions.lastpipe)?new Map(e.state.env):null,v;try{v=await s(h,r)}catch(A){if(A instanceof Et)v={stdout:A.stdout,stderr:A.stderr,exitCode:1};else if(A instanceof B&&t.commands.length>1)v={stdout:A.stdout,stderr:A.stderr,exitCode:A.exitCode};else if(A instanceof he&&t.commands.length>1)v={stdout:A.stdout,stderr:A.stderr,exitCode:A.exitCode};else throw b&&(e.state.env=b),A}b&&(e.state.env=b),o.push(v.exitCode),v.exitCode!==0&&(a=v.exitCode),p?i=v:(t.pipeStderr?.[d]??!1?r=v.stderr+v.stdout:(r=v.stdout,l+=v.stderr),i={stdout:"",stderr:"",exitCode:v.exitCode})}if(l&&(i={...i,stderr:l+i.stderr}),t.commands.length>1||t.commands.length===1&&t.commands[0].type==="SimpleCommand"){for(let d of e.state.env.keys())d.startsWith("PIPESTATUS_")&&e.state.env.delete(d);for(let d=0;d<o.length;d++)e.state.env.set(`PIPESTATUS_${d}`,String(o[d]));e.state.env.set("PIPESTATUS__length",String(o.length))}if(e.state.options.pipefail&&a!==0&&(i={...i,exitCode:a}),t.negated&&(i={...i,exitCode:i.exitCode===0?1:0}),t.timed){let h=(us()-n)/1e3,p=Math.floor(h/60),m=h%60,y;t.timePosix?y=`real ${h.toFixed(2)}
|
|
638
|
+
user 0.00
|
|
639
|
+
sys 0.00
|
|
640
|
+
`:y=`
|
|
641
|
+
real ${`${p}m${m.toFixed(3)}s`}
|
|
642
|
+
user 0m0.000s
|
|
643
|
+
sys 0m0.000s
|
|
644
|
+
`,i={...i,stderr:i.stderr+y}}return u&&!e.state.shoptOptions.lastpipe&&(e.state.lastArg=c),i}async function hi(e,t){let s=new Map,n="";for(let r of t.assignments){let i=r.name;if(r.array){let c=await Ya(e,t,i,r.array,r.append,s);if(c.error)return{continueToNext:!1,xtraceOutput:n,tempAssignments:s,error:c.error};if(n+=c.xtraceOutput,c.continueToNext)continue}let a=r.value?await I(e,r.value):"";if(i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[\]$/))return{continueToNext:!1,xtraceOutput:n,tempAssignments:s,error:P("",`bash: ${i}: bad array subscript
|
|
645
|
+
`,1)};let l=i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(l){let c=await so(e,t,l[1],l[2],a,r.append,s);if(c.error)return{continueToNext:!1,xtraceOutput:n,tempAssignments:s,error:c.error};if(c.continueToNext)continue}let u=await ro(e,t,i,a,r.append,s);if(u.error)return{continueToNext:!1,xtraceOutput:n,tempAssignments:s,error:u.error};n+=u.xtraceOutput,u.continueToNext}return{continueToNext:!1,xtraceOutput:n,tempAssignments:s}}async function Ya(e,t,s,n,r,i){let a="";if(/\[.+\]$/.test(s))return{continueToNext:!1,xtraceOutput:"",error:P("",`bash: ${s}: cannot assign list to array member
|
|
646
|
+
`,1)};if(me(e,s)){let c=Wn(e,s);if(c===void 0||c==="")throw new B(1,"","");let f=Me(e,s);if(f&&/^[a-zA-Z_][a-zA-Z0-9_]*\[@\]$/.test(f))return{continueToNext:!1,xtraceOutput:"",error:P("",`bash: ${s}: cannot assign list to array member
|
|
647
|
+
`,1)}}if(je(e,s)){if(t.name)return a+=`bash: ${s}: readonly variable
|
|
648
|
+
`,{continueToNext:!0,xtraceOutput:a};let c=ee(e,s);if(c)return{continueToNext:!1,xtraceOutput:"",error:c}}let o=e.state.associativeArrays?.has(s),l=Qa(n),u=()=>{let c=`${s}_`;for(let f of e.state.env.keys())f.startsWith(c)&&!f.includes("__")&&e.state.env.delete(f);e.state.env.delete(s)};if(o&&l?await Ja(e,t,s,n,r,u,c=>{a+=c}):l?await eo(e,s,n,r,u):await to(e,s,n,r,u),t.name){i.set(s,e.state.env.get(s));let f=`(${n.map(d=>Ot(d)).join(" ")})`;e.state.env.set(s,f)}return{continueToNext:!0,xtraceOutput:a}}function Qa(e){return e.some(t=>{if(t.parts.length>=2){let s=t.parts[0],n=t.parts[1];if(s.type!=="Glob"||!s.pattern.startsWith("["))return!1;if(s.pattern==="["&&(n.type==="DoubleQuoted"||n.type==="SingleQuoted")){if(t.parts.length<3)return!1;let r=t.parts[2];return r.type!=="Literal"?!1:r.value.startsWith("]=")||r.value.startsWith("]+=")}return n.type!=="Literal"?!1:n.value.startsWith("]")?n.value.startsWith("]=")||n.value.startsWith("]+="):s.pattern.endsWith("]")?n.value.startsWith("=")||n.value.startsWith("+="):!1}return!1})}async function Ja(e,t,s,n,r,i,a){let o=[];for(let l of n){let u=hs(l);if(u){let{key:c,valueParts:f,append:d}=u,h;f.length>0?h=await I(e,{type:"Word",parts:f}):h="",h=G(e,h),o.push({type:"keyed",key:c,value:h,append:d})}else{let c=await I(e,l);o.push({type:"invalid",expandedValue:c})}}r||i();for(let l of o)if(l.type==="keyed")if(l.append){let u=e.state.env.get(`${s}_${l.key}`)??"";e.state.env.set(`${s}_${l.key}`,u+l.value)}else e.state.env.set(`${s}_${l.key}`,l.value);else{let u=t.line??e.state.currentLine??1;a(`bash: line ${u}: ${s}: ${l.expandedValue}: must use subscript when assigning associative array
|
|
649
|
+
`)}}async function eo(e,t,s,n,r){let i=[];for(let o of s){let l=hs(o);if(l){let{key:u,valueParts:c,append:f}=l,d;c.length>0?d=await I(e,{type:"Word",parts:c}):d="",d=G(e,d),i.push({type:"keyed",indexExpr:u,value:d,append:f})}else{let u=await _e(e,o);i.push({type:"non-keyed",values:u.values})}}n||r();let a=0;for(let o of i)if(o.type==="keyed"){let l;try{let u=new V,c=Q(u,o.indexExpr);l=await j(e,c.expression,!1)}catch{if(/^-?\d+$/.test(o.indexExpr))l=Number.parseInt(o.indexExpr,10);else{let u=e.state.env.get(o.indexExpr);l=u?Number.parseInt(u,10):0,Number.isNaN(l)&&(l=0)}}if(o.append){let u=e.state.env.get(`${t}_${l}`)??"";e.state.env.set(`${t}_${l}`,u+o.value)}else e.state.env.set(`${t}_${l}`,o.value);a=l+1}else for(let l of o.values)e.state.env.set(`${t}_${a++}`,l)}async function to(e,t,s,n,r){let i=[];for(let o of s){let l=await _e(e,o);i.push(...l.values)}let a=0;if(n){let o=$e(e,t);if(o.length>0)a=Math.max(...o.map(([u])=>typeof u=="number"?u:0))+1;else{let l=e.state.env.get(t);l!==void 0&&(e.state.env.set(`${t}_0`,l),e.state.env.delete(t),a=1)}}else r();for(let o=0;o<i.length;o++)e.state.env.set(`${t}_${a+o}`,i[o]);n||e.state.env.set(`${t}__length`,String(i.length))}async function so(e,t,s,n,r,i,a){let o=s;if(me(e,s)){let f=Me(e,s);if(f&&f!==s){if(f.includes("["))return{continueToNext:!1,xtraceOutput:"",error:P("",`bash: \`${f}': not a valid identifier
|
|
650
|
+
`,1)};o=f}}if(je(e,o)){if(t.name)return{continueToNext:!0,xtraceOutput:""};let f=ee(e,o);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let l=e.state.associativeArrays?.has(o),u;if(l)u=await pi(e,o,n);else{let f=await no(e,o,n);if(f.error)return{continueToNext:!1,xtraceOutput:"",error:f.error};u=`${o}_${f.index}`}let c=i?(e.state.env.get(u)||"")+r:r;if(t.name)a.set(u,e.state.env.get(u)),e.state.env.set(u,c);else{let f=rt(e,o);if(f!==void 0&&f===e.state.callDepth&&e.state.localScopes.length>0){let d=e.state.localScopes[e.state.localScopes.length-1];d.has(u)||d.set(u,e.state.env.get(u))}e.state.env.set(u,c)}return{continueToNext:!0,xtraceOutput:""}}async function pi(e,t,s){let n;if(s.startsWith("'")&&s.endsWith("'"))n=s.slice(1,-1);else if(s.startsWith('"')&&s.endsWith('"')){let r=s.slice(1,-1),a=new V().parseWordFromString(r,!0,!1);n=await I(e,a)}else if(s.includes("$")){let i=new V().parseWordFromString(s,!1,!1);n=await I(e,i)}else n=s;return`${t}_${n}`}async function no(e,t,s){let n=s;s.startsWith('"')&&s.endsWith('"')&&s.length>=2&&(n=s.slice(1,-1));let r;if(/^-?\d+$/.test(n))r=Number.parseInt(n,10);else{try{let i=new V,a=Q(i,n);r=await j(e,a.expression,!1)}catch(i){if(i instanceof Be){let l=`bash: line ${e.state.currentLine}: ${s}: ${i.message}
|
|
651
|
+
`;if(i.fatal)throw new B(1,"",l);return{index:0,error:P("",l,1)}}let a=e.state.env.get(s);r=a?Number.parseInt(a,10):0}Number.isNaN(r)&&(r=0)}if(r<0){let i=$e(e,t);if(i.length===0){let o=e.state.currentLine;return{index:0,error:P("",`bash: line ${o}: ${t}[${s}]: bad array subscript
|
|
652
|
+
`,1)}}if(r=Math.max(...i.map(([o])=>typeof o=="number"?o:0))+1+r,r<0){let o=e.state.currentLine;return{index:0,error:P("",`bash: line ${o}: ${t}[${s}]: bad array subscript
|
|
653
|
+
`,1)}}}return{index:r}}async function ro(e,t,s,n,r,i){let a="",o=s,l=null;if(me(e,s)){let f=zn(e,s,n);if(f===void 0)return{continueToNext:!1,xtraceOutput:"",error:P("",`bash: ${s}: circular name reference
|
|
654
|
+
`,1)};if(f===null)return{continueToNext:!0,xtraceOutput:""};o=f;let d=o.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);d&&(l={arrayName:d[1],subscriptExpr:d[2]},o=d[1])}if(je(e,o)){if(t.name)return a+=`bash: ${o}: readonly variable
|
|
655
|
+
`,{continueToNext:!0,xtraceOutput:a};let f=ee(e,o);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let u;if(mt(e,o))try{let f=new V;if(r){let h=`(${e.state.env.get(o)||"0"}) + (${n})`,p=Q(f,h);u=String(await j(e,p.expression))}else{let d=Q(f,n);u=String(await j(e,d.expression))}}catch{u="0"}else{let{isArray:f}=await import("./chunks/expansion-QUT3FT7V.js"),d=f(e,o)?`${o}_0`:o;u=r?(e.state.env.get(d)||"")+n:n}u=ot(e,o,u),a+=await fi(e,o,u);let c=o;if(l)c=await io(e,l);else{let{isArray:f}=await import("./chunks/expansion-QUT3FT7V.js");f(e,o)&&(c=`${o}_0`)}return t.name?(i.set(c,e.state.env.get(c)),e.state.env.set(c,u)):(e.state.env.set(c,u),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(o)),e.state.tempEnvBindings?.some(f=>f.has(o))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(o))),{continueToNext:!1,xtraceOutput:a}}async function io(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return pi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let a=new V,o=Q(a,n);i=await j(e,o.expression,!1)}catch{let a=e.state.env.get(n);i=a?Number.parseInt(a,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let a=$e(e,s);a.length>0&&(i=Math.max(...a.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function mi(e,t,s,n){let r=await Ne(e,t.redirections);if(r)return r;let i=new Map(e.state.env),a=e.state.cwd,o={...e.state.options},l=new Map(e.state.functions),u=e.state.localScopes,c=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=u.map(E=>new Map(E)),c){e.state.localVarStack=new Map;for(let[E,O]of c.entries())e.state.localVarStack.set(E,O.map(k=>({...k})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,p=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let m=e.state.lastArg,y=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let b=e.state.groupStdin;s&&(e.state.groupStdin=s);let v="",A="",g=0,w=()=>{e.state.env=i,e.state.cwd=a,e.state.options=o,e.state.functions=l,e.state.localScopes=u,e.state.localVarStack=c,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=p,e.state.groupStdin=b,e.state.bashPid=y,e.state.lastArg=m};try{for(let E of t.body){let O=await n(E);v+=O.stdout,A+=O.stderr,g=O.exitCode}}catch(E){if(w(),E instanceof Y)throw E;if(E instanceof Ie){v+=E.stdout,A+=E.stderr;let k=P(v,A,0);return Z(e,k,t.redirections)}if(E instanceof fe||E instanceof de){v+=E.stdout,A+=E.stderr;let k=P(v,A,0);return Z(e,k,t.redirections)}if(E instanceof B){v+=E.stdout,A+=E.stderr;let k=P(v,A,E.exitCode);return Z(e,k,t.redirections)}if(E instanceof le){v+=E.stdout,A+=E.stderr;let k=P(v,A,E.exitCode);return Z(e,k,t.redirections)}if(E instanceof he){let k=P(v+E.stdout,A+E.stderr,E.exitCode);return Z(e,k,t.redirections)}let O=P(v,`${A}${ve(E)}
|
|
656
|
+
`,1);return Z(e,O,t.redirections)}w();let $=P(v,A,g);return Z(e,$,t.redirections)}async function yi(e,t,s,n){let r="",i="",a=0,o=await Kt(e,t.redirections);if(o)return o;let l=s;for(let f of t.redirections)if((f.operator==="<<"||f.operator==="<<-")&&f.target.type==="HereDoc"){let d=f.target,h=await I(e,d.content);d.stripTabs&&(h=h.split(`
|
|
657
|
+
`).map(m=>m.replace(/^\t+/,"")).join(`
|
|
658
|
+
`));let p=f.fd??0;p!==0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),ae(e),e.state.fileDescriptors.set(p,h)):l=h}else if(f.operator==="<<<"&&f.target.type==="Word")l=`${await I(e,f.target)}
|
|
659
|
+
`;else if(f.operator==="<"&&f.target.type==="Word")try{let d=await I(e,f.target),h=e.fs.resolvePath(e.state.cwd,d);l=await e.fs.readFile(h)}catch{let d=await I(e,f.target);return P("",`bash: ${d}: No such file or directory
|
|
660
|
+
`,1)}let u=e.state.groupStdin;l&&(e.state.groupStdin=l);try{for(let f of t.body){let d=await n(f);r+=d.stdout,i+=d.stderr,a=d.exitCode}}catch(f){if(e.state.groupStdin=u,f instanceof Y)throw f;if(_t(f)||f instanceof he||f instanceof B)throw f.prependOutput(r,i),f;return P(r,`${i}${ve(f)}
|
|
661
|
+
`,1)}e.state.groupStdin=u;let c=P(r,i,a);return Z(e,c,t.redirections)}async function gi(e,t,s,n,r){let i;try{i=await e.fs.readFile(t)}catch{return _(`bash: ${t}: No such file or directory
|
|
662
|
+
`,127)}if(i.startsWith("#!")){let y=i.indexOf(`
|
|
663
|
+
`);y!==-1&&(i=i.slice(y+1))}let a=new Map(e.state.env),o=e.state.cwd,l={...e.state.options},u=e.state.loopDepth,c=e.state.parentHasLoopContext,f=e.state.lastArg,d=e.state.bashPid,h=e.state.groupStdin,p=e.state.currentSource;e.state.parentHasLoopContext=u>0,e.state.loopDepth=0,e.state.bashPid=e.state.nextVirtualPid++,n&&(e.state.groupStdin=n),e.state.currentSource=t,e.state.env.set("0",t),e.state.env.set("#",String(s.length)),e.state.env.set("@",s.join(" ")),e.state.env.set("*",s.join(" "));for(let y=0;y<s.length&&y<9;y++)e.state.env.set(String(y+1),s[y]);for(let y=s.length+1;y<=9;y++)e.state.env.delete(String(y));let m=()=>{e.state.env=a,e.state.cwd=o,e.state.options=l,e.state.loopDepth=u,e.state.parentHasLoopContext=c,e.state.lastArg=f,e.state.bashPid=d,e.state.groupStdin=h,e.state.currentSource=p};try{let b=new V().parse(i),v=await r(b);return m(),v}catch(y){if(m(),y instanceof B||y instanceof Y)throw y;if(y.name==="ParseException")return _(`bash: ${t}: ${y.message}
|
|
664
|
+
`);throw y}}var vt=class{ctx;constructor(t,s){this.ctx={state:s,fs:t.fs,commands:t.commands,limits:t.limits,execFn:t.exec,executeScript:this.executeScript.bind(this),executeStatement:this.executeStatement.bind(this),executeCommand:this.executeCommand.bind(this),fetch:t.fetch,sleep:t.sleep,trace:t.trace,coverage:t.coverage,requireDefenseContext:t.requireDefenseContext??!1,jsBootstrapCode:t.jsBootstrapCode}}assertDefenseContext(t){if(!this.ctx.requireDefenseContext||ge.isInSandboxedContext())return;let s=`interpreter ${t} attempted outside defense context`;throw new Ke(s,{timestamp:Date.now(),type:"missing_defense_context",message:s,path:"DefenseInDepthBox.context",stack:new Error().stack,executionId:ge.getCurrentExecutionId()})}buildExportedEnv(){let t=this.ctx.state.exportedVars,s=this.ctx.state.tempExportedVars,n=new Set;if(t)for(let i of t)n.add(i);if(s)for(let i of s)n.add(i);if(n.size===0)return Object.create(null);let r=Object.create(null);for(let i of n){let a=this.ctx.state.env.get(i);a!==void 0&&(r[i]=a)}return r}async executeScript(t){this.assertDefenseContext("execution");let s="",n="",r=0,i=this.ctx.limits.maxOutputSize,a=(o,l)=>{s.length+n.length+o.length+l.length>i&&Ce(`total output size exceeded (>${i} bytes), increase executionLimits.maxOutputSize`,"output_size"),s+=o,n+=l};for(let o of t.statements)try{let l=await this.executeStatement(o);a(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}catch(l){if(l instanceof B)throw l.prependOutput(s,n),l;if(l instanceof we)return a(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof Y)throw l;if(l instanceof he)return a(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof _n)return a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof Et)return a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof Be){a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r));continue}if(l instanceof Cn){a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r));continue}if(l instanceof fe||l instanceof de){if(this.ctx.state.loopDepth>0)throw l.prependOutput(s,n),l;a(l.stdout,l.stderr);continue}throw l instanceof le&&l.prependOutput(s,n),l}return{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)}}async executeUserScript(t,s,n=""){return gi(this.ctx,t,s,n,r=>this.executeScript(r))}async executeStatement(t){if(this.assertDefenseContext("statement"),this.ctx.state.signal?.aborted)throw new At;if(this.ctx.state.commandCount++,this.ctx.state.commandCount>this.ctx.limits.maxCommandCount&&Ce(`too many commands executed (>${this.ctx.limits.maxCommandCount}), increase executionLimits.maxCommandCount`,"commands"),t.deferredError)throw new kt(t.deferredError.message,t.line??1,1);if(this.ctx.state.options.noexec)return L;this.ctx.state.errexitSafe=!1;let s="",n="";this.ctx.state.options.verbose&&!this.ctx.state.suppressVerbose&&t.sourceText&&(n+=`${t.sourceText}
|
|
665
|
+
`);let r=0,i=-1,a=!1;for(let u=0;u<t.pipelines.length;u++){let c=t.pipelines[u],f=u>0?t.operators[u-1]:null;if(f==="&&"&&r!==0||f==="||"&&r===0)continue;let d=await this.executePipeline(c);s+=d.stdout,n+=d.stderr,r=d.exitCode,i=u,a=c.negated,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}let o=i<t.pipelines.length-1,l=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=o||a||l,this.ctx.state.options.errexit&&r!==0&&i===t.pipelines.length-1&&!a&&!this.ctx.state.inCondition&&!l)throw new he(r,s,n);return P(s,n,r)}async executePipeline(t){return di(this.ctx,t,(s,n)=>this.executeCommand(s,n))}async executeCommand(t,s){switch(this.assertDefenseContext("command"),this.ctx.coverage?.hit(`bash:cmd:${t.type}`),t.type){case"SimpleCommand":return this.executeSimpleCommand(t,s);case"If":return ti(this.ctx,t);case"For":return si(this.ctx,t);case"CStyleFor":return ni(this.ctx,t);case"While":return ri(this.ctx,t,s);case"Until":return ii(this.ctx,t);case"Case":return ai(this.ctx,t);case"Subshell":return this.executeSubshell(t,s);case"Group":return this.executeGroup(t,s);case"FunctionDef":return Er(this.ctx,t);case"ArithmeticCommand":return this.executeArithmeticCommand(t);case"ConditionalCommand":return this.executeConditionalCommand(t);default:return L}}async executeSimpleCommand(t,s){try{return await this.executeSimpleCommandInner(t,s)}catch(n){if(n instanceof St)return _(n.stderr);throw n}}async executeSimpleCommandInner(t,s){if(t.line!==void 0&&(this.ctx.state.currentLine=t.line),this.ctx.state.shoptOptions.expand_aliases&&t.name){let g=t,w=100;for(;w>0;){let $=this.expandAlias(g);if($===g)break;g=$,w--}this.aliasExpansionStack.clear(),g!==t&&(t=g)}this.ctx.state.expansionStderr="";let n=await hi(this.ctx,t);if(n.error)return n.error;let r=n.tempAssignments,i=n.xtraceOutput;if(!t.name){if(t.redirections.length>0){let w=await Ne(this.ctx,t.redirections);if(w)return w;let $=P("",i,0);return Z(this.ctx,$,t.redirections)}this.ctx.state.lastArg="";let g=(this.ctx.state.expansionStderr||"")+i;return this.ctx.state.expansionStderr="",P("",g,this.ctx.state.lastExitCode)}let a=t.name&&gn(t.name,["local","declare","typeset","export","readonly"]),o=Array.from(r.keys());if(o.length>0&&!a){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let g of o)this.ctx.state.tempExportedVars.add(g)}let l=await Kt(this.ctx,t.redirections);if(l){for(let[g,w]of r)w===void 0?this.ctx.state.env.delete(g):this.ctx.state.env.set(g,w);return l}let u=-1;for(let g of t.redirections){if((g.operator==="<<"||g.operator==="<<-")&&g.target.type==="HereDoc"){let w=g.target,$=await I(this.ctx,w.content);w.stripTabs&&($=$.split(`
|
|
666
|
+
`).map(O=>O.replace(/^\t+/,"")).join(`
|
|
667
|
+
`));let E=g.fd??0;E!==0?(this.ctx.state.fileDescriptors||(this.ctx.state.fileDescriptors=new Map),ae(this.ctx),this.ctx.state.fileDescriptors.set(E,$)):s=$;continue}if(g.operator==="<<<"&&g.target.type==="Word"){s=`${await I(this.ctx,g.target)}
|
|
668
|
+
`;continue}if(g.operator==="<"&&g.target.type==="Word")try{let w=await I(this.ctx,g.target),$=this.ctx.fs.resolvePath(this.ctx.state.cwd,w);s=await this.ctx.fs.readFile($)}catch{let w=await I(this.ctx,g.target);for(let[$,E]of r)E===void 0?this.ctx.state.env.delete($):this.ctx.state.env.set($,E);return _(`bash: ${w}: No such file or directory
|
|
669
|
+
`)}if(g.operator==="<&"&&g.target.type==="Word"){let w=await I(this.ctx,g.target),$=Number.parseInt(w,10);if(!Number.isNaN($)&&this.ctx.state.fileDescriptors){let E=this.ctx.state.fileDescriptors.get($);if(E!==void 0)if(E.startsWith("__rw__:")){let O=oi(E);O&&(s=O.content.slice(O.position),u=$)}else E.startsWith("__file__:")||E.startsWith("__file_append__:")||(s=E)}}}let c=await I(this.ctx,t.name),f=[],d=[];if(gn(t.name,["local","declare","typeset","export","readonly"])&&(c==="local"||c==="declare"||c==="typeset"||c==="export"||c==="readonly"))for(let g of t.args){let w=await ir(this.ctx,g);if(w)f.push(w),d.push(!0);else{let $=await ar(this.ctx,g);if($!==null)f.push($),d.push(!0);else{let E=await _e(this.ctx,g);for(let O of E.values)f.push(O),d.push(E.quoted)}}}else for(let g of t.args){let w=await _e(this.ctx,g);for(let $ of w.values)f.push($),d.push(w.quoted)}if(!c){if(t.name.parts.every(w=>w.type==="CommandSubstitution"||w.type==="ParameterExpansion"||w.type==="ArithmeticExpansion")){if(f.length>0){let w=f.shift();return d.shift(),await this.runCommand(w,f,d,s,!1,!1,u)}return P("","",this.ctx.state.lastExitCode)}return _(`bash: : command not found
|
|
670
|
+
`,127)}if(c==="exec"&&(f.length===0||f[0]==="--")){for(let g of t.redirections){if(g.target.type==="HereDoc"||g.fdVariable)continue;let w=await I(this.ctx,g.target),$=g.fd??(g.operator==="<"||g.operator==="<>"?0:1);switch(this.ctx.state.fileDescriptors||(this.ctx.state.fileDescriptors=new Map),g.operator){case">":case">|":{let E=this.ctx.fs.resolvePath(this.ctx.state.cwd,w);await this.ctx.fs.writeFile(E,"","utf8"),ae(this.ctx),this.ctx.state.fileDescriptors.set($,`__file__:${E}`);break}case">>":{let E=this.ctx.fs.resolvePath(this.ctx.state.cwd,w);ae(this.ctx),this.ctx.state.fileDescriptors.set($,`__file_append__:${E}`);break}case"<":{let E=this.ctx.fs.resolvePath(this.ctx.state.cwd,w);try{let O=await this.ctx.fs.readFile(E);ae(this.ctx),this.ctx.state.fileDescriptors.set($,O)}catch{return _(`bash: ${w}: No such file or directory
|
|
671
|
+
`)}break}case"<>":{let E=this.ctx.fs.resolvePath(this.ctx.state.cwd,w);try{let O=await this.ctx.fs.readFile(E);ae(this.ctx),this.ctx.state.fileDescriptors.set($,`__rw__:${E.length}:${E}:0:${O}`)}catch{await this.ctx.fs.writeFile(E,"","utf8"),ae(this.ctx),this.ctx.state.fileDescriptors.set($,`__rw__:${E.length}:${E}:0:`)}break}case">&":{if(w==="-")this.ctx.state.fileDescriptors.delete($);else if(w.endsWith("-")){let E=w.slice(0,-1),O=Number.parseInt(E,10);if(!Number.isNaN(O)){let k=this.ctx.state.fileDescriptors.get(O);k!==void 0?this.ctx.state.fileDescriptors.set($,k):this.ctx.state.fileDescriptors.set($,`__dupout__:${O}`),this.ctx.state.fileDescriptors.delete(O)}}else{let E=Number.parseInt(w,10);Number.isNaN(E)||(ae(this.ctx),this.ctx.state.fileDescriptors.set($,`__dupout__:${E}`))}break}case"<&":{if(w==="-")this.ctx.state.fileDescriptors.delete($);else if(w.endsWith("-")){let E=w.slice(0,-1),O=Number.parseInt(E,10);if(!Number.isNaN(O)){let k=this.ctx.state.fileDescriptors.get(O);k!==void 0?this.ctx.state.fileDescriptors.set($,k):this.ctx.state.fileDescriptors.set($,`__dupin__:${O}`),this.ctx.state.fileDescriptors.delete(O)}}else{let E=Number.parseInt(w,10);Number.isNaN(E)||(ae(this.ctx),this.ctx.state.fileDescriptors.set($,`__dupin__:${E}`))}break}}}for(let[g,w]of r)w===void 0?this.ctx.state.env.delete(g):this.ctx.state.env.set(g,w);if(this.ctx.state.tempExportedVars)for(let g of r.keys())this.ctx.state.tempExportedVars.delete(g);return L}if(this.ctx.state.extraArgs){f.push(...this.ctx.state.extraArgs);for(let g=0;g<this.ctx.state.extraArgs.length;g++)d.push(!0);this.ctx.state.extraArgs=void 0}let p=await ui(this.ctx,c,f);r.size>0&&(this.ctx.state.tempEnvBindings=this.ctx.state.tempEnvBindings||[],this.ctx.state.tempEnvBindings.push(new Map(r)));let m,y=null;try{m=await this.runCommand(c,f,d,s,!1,!1,u)}catch(g){if(g instanceof fe||g instanceof de)y=g,m=L;else throw g}let b=i+p;if(b&&(m={...m,stderr:b+m.stderr}),m=await Z(this.ctx,m,t.redirections),y)throw y;if(f.length>0){let g=f[f.length-1];if((c==="declare"||c==="local"||c==="typeset")&&/^[a-zA-Z_][a-zA-Z0-9_]*=\(/.test(g)){let w=g.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);w&&(g=w[1])}this.ctx.state.lastArg=g}else this.ctx.state.lastArg=c;let v=br(c)&&c!=="unset"&&c!=="eval";if(!this.ctx.state.options.posix||!v)for(let[g,w]of r)this.ctx.state.fullyUnsetLocals?.has(g)||(w===void 0?this.ctx.state.env.delete(g):this.ctx.state.env.set(g,w));if(this.ctx.state.tempExportedVars)for(let g of r.keys())this.ctx.state.tempExportedVars.delete(g);return r.size>0&&this.ctx.state.tempEnvBindings&&this.ctx.state.tempEnvBindings.pop(),this.ctx.state.expansionStderr&&(m={...m,stderr:this.ctx.state.expansionStderr+m.stderr},this.ctx.state.expansionStderr=""),m}async runCommand(t,s,n,r,i=!1,a=!1,o=-1){let l={ctx:this.ctx,runCommand:(c,f,d,h,p,m,y)=>this.runCommand(c,f,d,h,p,m,y),buildExportedEnv:()=>this.buildExportedEnv(),executeUserScript:(c,f,d)=>this.executeUserScript(c,f,d)},u=await Jr(l,t,s,n,r,i,a,o);return u!==null?u:ei(l,t,s,r,a)}aliasExpansionStack=new Set;expandAlias(t){return _s(this.ctx.state,t,this.aliasExpansionStack)}async findCommandInPath(t){return ss(this.ctx,t)}async executeSubshell(t,s=""){return mi(this.ctx,t,s,n=>this.executeStatement(n))}async executeGroup(t,s=""){return yi(this.ctx,t,s,n=>this.executeStatement(n))}async executeArithmeticCommand(t){t.line!==void 0&&(this.ctx.state.currentLine=t.line);let s=await Ne(this.ctx,t.redirections);if(s)return s;try{let n=await j(this.ctx,t.expression.expression),r=X(n!==0);return this.ctx.state.expansionStderr&&(r={...r,stderr:this.ctx.state.expansionStderr+r.stderr},this.ctx.state.expansionStderr=""),Z(this.ctx,r,t.redirections)}catch(n){let r=_(`bash: arithmetic expression: ${n.message}
|
|
672
|
+
`);return Z(this.ctx,r,t.redirections)}}async executeConditionalCommand(t){t.line!==void 0&&(this.ctx.state.currentLine=t.line);let s=await Ne(this.ctx,t.redirections);if(s)return s;try{let n=await We(this.ctx,t.expression),r=X(n);return this.ctx.state.expansionStderr&&(r={...r,stderr:this.ctx.state.expansionStderr+r.stderr},this.ctx.state.expansionStderr=""),Z(this.ctx,r,t.redirections)}catch(n){let r=n instanceof Be?1:2,i=_(`bash: conditional expression: ${n.message}
|
|
673
|
+
`,r);return Z(this.ctx,i,t.redirections)}}};var te={maxCallDepth:100,maxCommandCount:1e4,maxLoopIterations:1e4,maxAwkIterations:1e4,maxSedIterations:1e4,maxJqIterations:1e4,maxSqliteTimeoutMs:5e3,maxPythonTimeoutMs:1e4,maxJsTimeoutMs:1e4,maxGlobOperations:1e5,maxStringLength:10485760,maxArrayElements:1e5,maxHeredocSize:10485760,maxSubstitutionDepth:50,maxBraceExpansionResults:1e4,maxOutputSize:10485760,maxFileDescriptors:1024,maxSourceDepth:100};function wi(e){return e?{maxCallDepth:e.maxCallDepth??te.maxCallDepth,maxCommandCount:e.maxCommandCount??te.maxCommandCount,maxLoopIterations:e.maxLoopIterations??te.maxLoopIterations,maxAwkIterations:e.maxAwkIterations??te.maxAwkIterations,maxSedIterations:e.maxSedIterations??te.maxSedIterations,maxJqIterations:e.maxJqIterations??te.maxJqIterations,maxSqliteTimeoutMs:e.maxSqliteTimeoutMs??te.maxSqliteTimeoutMs,maxPythonTimeoutMs:e.maxPythonTimeoutMs??te.maxPythonTimeoutMs,maxJsTimeoutMs:e.maxJsTimeoutMs??te.maxJsTimeoutMs,maxGlobOperations:e.maxGlobOperations??te.maxGlobOperations,maxStringLength:e.maxStringLength??te.maxStringLength,maxArrayElements:e.maxArrayElements??te.maxArrayElements,maxHeredocSize:e.maxHeredocSize??te.maxHeredocSize,maxSubstitutionDepth:e.maxSubstitutionDepth??te.maxSubstitutionDepth,maxBraceExpansionResults:e.maxBraceExpansionResults??te.maxBraceExpansionResults,maxOutputSize:e.maxOutputSize??te.maxOutputSize,maxFileDescriptors:e.maxFileDescriptors??te.maxFileDescriptors,maxSourceDepth:e.maxSourceDepth??te.maxSourceDepth}:{...te}}import{lookup as ho}from"node:dns";function wn(e){try{let t=new URL(e);return{origin:t.origin,pathname:t.pathname,href:t.href}}catch{return null}}function ao(e){let t=wn(e);return t?{origin:t.origin,pathPrefix:t.pathname}:null}function vi(e){if(e.includes("\\"))return!0;let t=e.toLowerCase();return t.includes("%2f")||t.includes("%5c")}function oo(e,t){return t==="/"||t===""?!0:t.endsWith("/")?e.startsWith(t):e===t||e.startsWith(`${t}/`)}function vn(e,t){let s=wn(e);if(!s)return!1;let n=ao(t);return!n||s.origin!==n.origin||n.pathPrefix!=="/"&&n.pathPrefix!==""&&vi(s.pathname)?!1:oo(s.pathname,n.pathPrefix)}function bi(e){return typeof e=="string"?e:e.url}function $i(e,t){return!t||t.length===0?!1:t.some(s=>vn(e,bi(s)))}function bn(e){let t=lo(e);if(t==="localhost"||t.endsWith(".localhost"))return!0;let s=Ei(t);if(s)return rs(s);let n=uo(t);return n?fo(n):!1}function lo(e){let t=e.trim().toLowerCase();return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function co(e){if(!e)return null;let t=10,s=e;if(s.startsWith("0x")||s.startsWith("0X")?(t=16,s=s.slice(2)):s.length>1&&s.startsWith("0")&&(t=8),!s||t===16&&!/^[0-9a-fA-F]+$/.test(s)||t===10&&!/^\d+$/.test(s)||t===8&&!/^[0-7]+$/.test(s))return null;let n=Number.parseInt(s,t);return!Number.isFinite(n)||n<0?null:n}function Ei(e){let t=e.split(".");if(t.length===0||t.length>4)return null;let s=t.map(l=>co(l));if(s.some(l=>l===null))return null;let n=s;if(t.length===1){let l=n[0];return l>4294967295?null:[l>>>24&255,l>>>16&255,l>>>8&255,l&255]}if(t.length===2){let[l,u]=n;return l>255||u>16777215?null:[l,u>>>16&255,u>>>8&255,u&255]}if(t.length===3){let[l,u,c]=n;return l>255||u>255||c>65535?null:[l,u,c>>>8&255,c&255]}let[r,i,a,o]=n;return r>255||i>255||a>255||o>255?null:[r,i,a,o]}function uo(e){let t=e,s=null;if(t.includes(".")){let m=t.lastIndexOf(":");if(m<0)return null;let y=t.slice(m+1),b=Ei(y);if(!b)return null;s=b,t=t.slice(0,m)}let n=t.includes("::")?t.split("::").length-1:0;if(n>1)return null;let[r,i]=t.split("::"),a=r?r.split(":").filter(Boolean):[],o=i?i.split(":").filter(Boolean):[],l=m=>/^[0-9a-f]{1,4}$/i.test(m)?Number.parseInt(m,16):null,u=a.map(l),c=o.map(l);if(u.some(m=>m===null)||c.some(m=>m===null))return null;let f=s?2:0,d=u.length+c.length+f,h=0;if(n===1){if(h=8-d,h<0)return null}else if(d!==8)return null;let p=[...u,...new Array(h).fill(0),...c];return s&&(p.push(s[0]<<8|s[1]),p.push(s[2]<<8|s[3])),p.length===8?p:null}function rs(e){let[t,s]=e;return t===127||t===10||t===172&&s>=16&&s<=31||t===192&&s===168||t===169&&s===254||t===0||t===100&&s>=64&&s<=127||t===198&&(s===18||s===19)||t===192&&s===0&&e[2]===0||t===192&&s===0&&e[2]===2||t===198&&s===51&&e[2]===100||t===203&&s===0&&e[2]===113||t>=240}function fo(e){if(e.every(r=>r===0)||e.slice(0,7).every(r=>r===0)&&e[7]===1||(e[0]&65472)===65152||(e[0]&65024)===64512)return!0;if(e[0]===0&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===65535){let r=[e[6]>>>8&255,e[6]&255,e[7]>>>8&255,e[7]&255];return rs(r)}if(e[0]===8193&&e[1]===3512)return!0;if(e[0]===100&&e[1]===65435&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===0){let r=[e[6]>>>8&255,e[6]&255,e[7]>>>8&255,e[7]&255];return rs(r)}if(e[0]===100&&e[1]===65435&&e[2]===1)return!0;if(e[0]===8194){let r=[e[1]>>>8&255,e[1]&255,e[2]>>>8&255,e[2]&255];return rs(r)}return!1}function Si(e){let t=[];for(let s of e){if(typeof s!="string"&&(s===null||typeof s!="object"||!("url"in s)||typeof s.url!="string")){t.push('Invalid allow-list entry: must be a string URL or an object with a "url" string property');continue}let n=bi(s);if(!wn(n)){t.push(`Invalid URL in allow-list: "${n}" - must be a valid URL with scheme and host (e.g., "https://example.com")`);continue}let i=new URL(n);if(i.protocol!=="http:"&&i.protocol!=="https:"){t.push(`Only http and https URLs are allowed in allow-list: "${n}"`);continue}if(!i.hostname){t.push(`Allow-list entry must include a hostname: "${n}"`);continue}if(i.pathname!=="/"&&i.pathname!==""&&vi(i.pathname)){t.push(`Allow-list entry contains ambiguous path separators: "${n}"`);continue}(i.search||i.hash)&&t.push(`Query strings and fragments are ignored in allow-list entries: "${n}"`)}return t}var ke=class extends Error{constructor(t,s){let n=s??"URL not in allow-list";super(`Network access denied: ${n}: ${t}`),this.name="NetworkAccessDeniedError"}},bt=class extends Error{constructor(t){super(`Too many redirects (max: ${t})`),this.name="TooManyRedirectsError"}},$t=class extends Error{constructor(t){super(`Redirect target not in allow-list: ${t}`),this.name="RedirectNotAllowedError"}},is=class extends Error{constructor(t,s){super(`HTTP method '${t}' not allowed. Allowed methods: ${s.join(", ")}`),this.name="MethodNotAllowedError"}},lt=class extends Error{constructor(t){super(`Response body too large (max: ${t} bytes)`),this.name="ResponseTooLargeError"}};function po(e){return new Promise((t,s)=>{ho(e,{all:!0},(n,r)=>{n?s(n):t(r)})})}var mo=20,yo=3e4,go=10485760,wo=["GET","HEAD"],vo=new Set(["GET","HEAD","OPTIONS"]),bo=new Set([301,302,303,307,308]);function $n(e){let t=e.allowedUrlPrefixes??[];if(!e.dangerouslyAllowFullInternetAccess){let h=Si(t);if(h.length>0)throw new Error(`Invalid network allow-list:
|
|
674
|
+
${h.join(`
|
|
675
|
+
`)}`)}let s=[];for(let h of t)typeof h=="object"&&h.transform&&h.transform.length>0&&s.push(h);function n(h){if(s.length===0)return null;let p=null;for(let m of s)if(vn(h,m.url)&&m.transform){p||(p=new Headers);for(let y of m.transform)for(let[b,v]of Object.entries(y.headers))p.set(b,v)}return p}let r=e.maxRedirects??mo,i=e.timeoutMs??yo,a=e.maxResponseSize??go,o=e.dangerouslyAllowFullInternetAccess?["GET","HEAD","POST","PUT","DELETE","PATCH","OPTIONS"]:e.allowedMethods??wo,l=e.denyPrivateRanges??(typeof process<"u"&&process.env?.NODE_ENV==="production"),u=e._dnsResolve??po;async function c(h){if(!e.dangerouslyAllowFullInternetAccess&&!$i(h,t))throw new ke(h);if(l)try{let p=new URL(h);if(bn(p.hostname))throw new ke(h,"private/loopback IP address blocked");let m=p.hostname;if(/[a-zA-Z]/.test(m))try{let b=await u(m);for(let{address:v}of b)if(bn(v))throw new ke(h,"hostname resolves to private/loopback IP address")}catch(b){if(b instanceof ke)throw b;let v=b?.code;if(!(v==="ENOTFOUND"||v==="ENODATA"))throw new ke(h,"DNS resolution failed for private IP check")}}catch(p){if(p instanceof ke)throw p}}function f(h){if(e.dangerouslyAllowFullInternetAccess)return;let p=h.toUpperCase();if(!o.includes(p))throw new is(p,o)}async function d(h,p={}){let m=p.method?.toUpperCase()??"GET";await c(h),f(m);let y=h,b=0,v=p.followRedirects??!0,A=p.timeoutMs!==void 0?Math.min(p.timeoutMs,i):i;for(;;){let g=new AbortController,w=Sn(()=>g.abort(),A);try{let $=await ge.runTrustedAsync(()=>{let E=n(y),O=$o(p.headers,E),k={method:m,headers:O,signal:g.signal,redirect:"manual"};return p.body&&!vo.has(m)&&(k.body=p.body),fetch(y,k)});if(bo.has($.status)&&v){let E=$.headers.get("location");if(!E)return await Ai($,y,a);let O=new URL(E,y).href;try{await c(O)}catch{throw new $t(O)}if(b++,b>r)throw new bt(r);y=O;continue}return await Ai($,y,a)}finally{An(w)}}}return d}function $o(e,t){if(!e&&!t)return;if(!t)return e;let s=e instanceof Headers?new Headers(e):new Headers(e);for(let[n,r]of t)s.set(n,r);return s}async function Ai(e,t,s){let n=Object.create(null);if(e.headers.forEach((i,a)=>{n[a.toLowerCase()]=i}),s>0){let i=e.headers.get("content-length");if(i){let a=parseInt(i,10);if(!Number.isNaN(a)&&a>s)throw new lt(s)}}let r;if(s>0&&e.body){let i=e.body.getReader(),a=[],o=0;for(;;){let{done:u,value:c}=await i.read();if(u)break;if(c){if(o+=c.byteLength,o>s)throw i.cancel(),new lt(s);a.push(c)}}r=new Uint8Array(o);let l=0;for(let u of a)r.set(u,l),l+=u.byteLength}else{let i=await e.arrayBuffer();if(s>0&&i.byteLength>s)throw new lt(s);r=new Uint8Array(i)}return{status:e.status,statusText:e.statusText,headers:n,body:r,url:t}}function _i(e){return qe(e)}function qe(e){return e.statements.map(Ci).join(`
|
|
676
|
+
`)}function Ci(e){let t=[];for(let n=0;n<e.pipelines.length;n++)t.push(Eo(e.pipelines[n])),n<e.operators.length&&t.push(e.operators[n]);let s=t.join(" ");return e.background&&(s+=" &"),s}function Eo(e){let t=[];e.timed&&t.push(e.timePosix?"time -p":"time"),e.negated&&t.push("!");let s=[];for(let r=0;r<e.commands.length;r++)if(s.push(Pi(e.commands[r])),r<e.commands.length-1){let i=e.pipeStderr?.[r];s.push(i?"|&":"|")}return(t.length>0?`${t.join(" ")} `:"")+s.join(" ")}function Pi(e){switch(e.type){case"SimpleCommand":return So(e);case"If":return To(e);case"For":return Io(e);case"CStyleFor":return xo(e);case"While":return Ro(e);case"Until":return Lo(e);case"Case":return Fo(e);case"Subshell":return Wo(e);case"Group":return zo(e);case"ArithmeticCommand":return Vo(e);case"ConditionalCommand":return Bo(e);case"FunctionDef":return jo(e);default:{let t=e;throw new Error(`Unsupported command type: ${t.type}`)}}}function So(e){let t=[];for(let s of e.assignments)t.push(Ao(s));e.name&&t.push(oe(e.name));for(let s of e.args)t.push(oe(s));for(let s of e.redirections)t.push(Oi(s));return t.join(" ")}function Ao(e){let t=e.append?"+=":"=";if(e.array){let s=e.array.map(oe).join(" ");return`${e.name}${t}(${s})`}return e.value?`${e.name}${t}${oe(e.value)}`:`${e.name}${t}`}function oe(e){return e.parts.map(t=>as(t,!1)).join("")}function Ve(e){return e.parts.map(t=>as(t,!0)).join("")}function as(e,t){switch(e.type){case"Literal":return t?Co(e.value):_o(e.value);case"SingleQuoted":return`'${e.value}'`;case"DoubleQuoted":return`"${e.parts.map(s=>as(s,!0)).join("")}"`;case"Escaped":return`\\${e.value}`;case"ParameterExpansion":return Ni(e);case"CommandSubstitution":return e.legacy?`\`${qe(e.body)}\``:`$(${qe(e.body)})`;case"ArithmeticExpansion":return`$((${H(e.expression.expression)}))`;case"ProcessSubstitution":return e.direction==="input"?`<(${qe(e.body)})`:`>(${qe(e.body)})`;case"BraceExpansion":return Oo(e);case"TildeExpansion":return e.user!==null?`~${e.user}`:"~";case"Glob":return e.pattern;default:{let s=e;throw new Error(`Unsupported word part type: ${s.type}`)}}}function _o(e){return e.replace(/[\s\\'"`!|&;()<>{}[\]*?~#]/g,"\\$&")}function Co(e){return e.replace(/[$`"\\]/g,"\\$&")}function Po(e,t){return e.parts.map(s=>No(s,t)).join("")}function No(e,t){switch(e.type){case"Literal":return t?e.value:e.value.replace(/[$`]/g,"\\$&");case"Escaped":return`\\${e.value}`;case"ParameterExpansion":return Ni(e);case"CommandSubstitution":return e.legacy?`\`${qe(e.body)}\``:`$(${qe(e.body)})`;case"ArithmeticExpansion":return`$((${H(e.expression.expression)}))`;default:return as(e,!1)}}function Ni(e){return e.operation?`\${${ki(e.parameter,e.operation)}}`:ko(e.parameter)?`\${${e.parameter}}`:`$${e.parameter}`}function ko(e){return!(/^[?#@*$!\-0-9]$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e))}function ki(e,t){switch(t.type){case"Length":return`#${e}`;case"LengthSliceError":return`#${e}:`;case"BadSubstitution":return t.text;case"DefaultValue":return`${e}${t.checkEmpty?":":""}-${Ve(t.word)}`;case"AssignDefault":return`${e}${t.checkEmpty?":":""}=${Ve(t.word)}`;case"ErrorIfUnset":return`${e}${t.checkEmpty?":":""}?${t.word?Ve(t.word):""}`;case"UseAlternative":return`${e}${t.checkEmpty?":":""}+${Ve(t.word)}`;case"Substring":{let s=H(t.offset.expression);return t.length?`${e}:${s}:${H(t.length.expression)}`:`${e}:${s}`}case"PatternRemoval":{let s=t.side==="prefix"?"#":"%",n=t.greedy?`${s}${s}`:s;return`${e}${n}${Ve(t.pattern)}`}case"PatternReplacement":{let s="/";t.all?s="//":t.anchor==="start"?s="/#":t.anchor==="end"&&(s="/%");let n=t.replacement?`/${Ve(t.replacement)}`:"";return`${e}${s}${Ve(t.pattern)}${n}`}case"CaseModification":{let s=t.direction==="upper"?"^":",",n=t.all?`${s}${s}`:s,r=t.pattern?Ve(t.pattern):"";return`${e}${n}${r}`}case"Transform":return`${e}@${t.operator}`;case"Indirection":return t.innerOp?`!${ki(e,t.innerOp)}`:`!${e}`;case"ArrayKeys":return`!${t.array}[${t.star?"*":"@"}]`;case"VarNamePrefix":return`!${t.prefix}${t.star?"*":"@"}`;default:{let s=t;throw new Error(`Unsupported parameter operation type: ${s.type}`)}}}function Oo(e){return`{${e.items.map(Do).join(",")}}`}function Do(e){if(e.type==="Word")return oe(e.word);let t=e.startStr??String(e.start),s=e.endStr??String(e.end);return e.step!==void 0?`${t}..${s}..${e.step}`:`${t}..${s}`}function Oi(e){let t=e.fdVariable?`{${e.fdVariable}}`:e.fd!==null?String(e.fd):"";if(e.operator==="<<"||e.operator==="<<-"){let s=e.target,n=s.quoted?`'${s.delimiter}'`:s.delimiter,r=Po(s.content,s.quoted);return`${t}${e.operator}${n}
|
|
677
|
+
${r}${s.delimiter}`}return e.operator==="<<<"?`${t}<<< ${oe(e.target)}`:e.operator==="&>"||e.operator==="&>>"?`${e.operator} ${oe(e.target)}`:`${t}${e.operator} ${oe(e.target)}`}function Se(e){return e.length===0?"":` ${e.map(Oi).join(" ")}`}function ye(e){return e.map(Ci).join(`
|
|
678
|
+
`)}function To(e){let t=[];for(let s=0;s<e.clauses.length;s++){let n=e.clauses[s],r=s===0?"if":"elif";t.push(`${r} ${ye(n.condition)}; then
|
|
679
|
+
${ye(n.body)}`)}return e.elseBody&&t.push(`else
|
|
680
|
+
${ye(e.elseBody)}`),`${t.join(`
|
|
681
|
+
`)}
|
|
682
|
+
fi${Se(e.redirections)}`}function Io(e){let t;if(e.words===null)t=`for ${e.variable}`;else{let s=e.words.map(oe).join(" ");t=`for ${e.variable} in ${s}`}return`${t}; do
|
|
683
|
+
${ye(e.body)}
|
|
684
|
+
done${Se(e.redirections)}`}function xo(e){let t=e.init?H(e.init.expression):"",s=e.condition?H(e.condition.expression):"",n=e.update?H(e.update.expression):"";return`for ((${t}; ${s}; ${n})); do
|
|
685
|
+
${ye(e.body)}
|
|
686
|
+
done${Se(e.redirections)}`}function Ro(e){return`while ${ye(e.condition)}; do
|
|
687
|
+
${ye(e.body)}
|
|
688
|
+
done${Se(e.redirections)}`}function Lo(e){return`until ${ye(e.condition)}; do
|
|
689
|
+
${ye(e.body)}
|
|
690
|
+
done${Se(e.redirections)}`}function Fo(e){let t=e.items.map(Mo).join(`
|
|
691
|
+
`);return`case ${oe(e.word)} in
|
|
692
|
+
${t}
|
|
693
|
+
esac${Se(e.redirections)}`}function Mo(e){let t=e.patterns.map(oe).join(" | "),s=ye(e.body);return s?`${t})
|
|
694
|
+
${s}
|
|
695
|
+
${e.terminator}`:`${t})
|
|
696
|
+
${e.terminator}`}function Wo(e){return`(${ye(e.body)})${Se(e.redirections)}`}function zo(e){return`{ ${ye(e.body)}; }${Se(e.redirections)}`}function Vo(e){return`((${H(e.expression.expression)}))${Se(e.redirections)}`}function Bo(e){return`[[ ${Ze(e.expression)} ]]${Se(e.redirections)}`}function jo(e){let t=Pi(e.body);return`${e.name}() ${t}${Se(e.redirections)}`}function H(e){switch(e.type){case"ArithNumber":return String(e.value);case"ArithVariable":return e.hasDollarPrefix?`$${e.name}`:e.name;case"ArithSpecialVar":return`$${e.name}`;case"ArithBinary":return`${H(e.left)} ${e.operator} ${H(e.right)}`;case"ArithUnary":return e.prefix?`${e.operator}${H(e.operand)}`:`${H(e.operand)}${e.operator}`;case"ArithTernary":return`${H(e.condition)} ? ${H(e.consequent)} : ${H(e.alternate)}`;case"ArithAssignment":return`${e.subscript?`${e.variable}[${H(e.subscript)}]`:e.stringKey!==void 0?`${e.variable}[${e.stringKey}]`:e.variable} ${e.operator} ${H(e.value)}`;case"ArithDynamicAssignment":return`${e.subscript?`${H(e.target)}[${H(e.subscript)}]`:H(e.target)} ${e.operator} ${H(e.value)}`;case"ArithDynamicElement":return`${H(e.nameExpr)}[${H(e.subscript)}]`;case"ArithGroup":return`(${H(e.expression)})`;case"ArithNested":return`$((${H(e.expression)}))`;case"ArithCommandSubst":return`$(${e.command})`;case"ArithBracedExpansion":return`\${${e.content}}`;case"ArithArrayElement":return e.stringKey!==void 0?`${e.array}[${e.stringKey}]`:e.index?`${e.array}[${H(e.index)}]`:e.array;case"ArithDynamicBase":return`\${${e.baseExpr}}#${e.value}`;case"ArithDynamicNumber":return`\${${e.prefix}}${e.suffix}`;case"ArithConcat":return e.parts.map(H).join("");case"ArithDoubleSubscript":return`${e.array}[${H(e.index)}]`;case"ArithNumberSubscript":return`${e.number}[${e.errorToken}]`;case"ArithSyntaxError":return e.errorToken;case"ArithSingleQuote":return`'${e.content}'`;default:{let t=e;throw new Error(`Unsupported arithmetic expression type: ${t.type}`)}}}function Ze(e){switch(e.type){case"CondBinary":return`${oe(e.left)} ${e.operator} ${oe(e.right)}`;case"CondUnary":return`${e.operator} ${oe(e.operand)}`;case"CondNot":return`! ${Ze(e.operand)}`;case"CondAnd":return`${Ze(e.left)} && ${Ze(e.right)}`;case"CondOr":return`${Ze(e.left)} || ${Ze(e.right)}`;case"CondGroup":return`( ${Ze(e.expression)} )`;case"CondWord":return oe(e.word);default:{let t=e;throw new Error(`Unsupported conditional expression type: ${t.type}`)}}}var os=class{fs;commands=new Map;useDefaultLayout=!1;limits;secureFetch;sleepFn;traceFn;logger;defenseInDepthConfig;coverageWriter;jsBootstrapCode;transformPlugins=[];state;constructor(t={}){let s=t.fs??new dt(t.files);this.fs=s,this.useDefaultLayout=!t.cwd&&!t.files;let n=t.cwd||(this.useDefaultLayout?"/home/user":"/"),r=new Map([["HOME",this.useDefaultLayout?"/home/user":"/"],["PATH","/usr/bin:/bin"],["IFS",`
|
|
697
|
+
`],["OSTYPE","linux-gnu"],["MACHTYPE","x86_64-pc-linux-gnu"],["HOSTTYPE","x86_64"],["HOSTNAME","localhost"],["PWD",n],["OLDPWD",n],["OPTIND","1"],...Object.entries(t.env??{})]);if(this.limits=wi({...t.executionLimits,...t.maxCallDepth!==void 0&&{maxCallDepth:t.maxCallDepth},...t.maxCommandCount!==void 0&&{maxCommandCount:t.maxCommandCount},...t.maxLoopIterations!==void 0&&{maxLoopIterations:t.maxLoopIterations}}),t.fetch?this.secureFetch=t.fetch:t.network&&(this.secureFetch=$n(t.network)),this.sleepFn=t.sleep,this.traceFn=t.trace,this.logger=t.logger,this.defenseInDepthConfig=t.defenseInDepth??!0,this.coverageWriter=t.coverage,this.state={env:r,cwd:n,previousDir:"/home/user",functions:new Map,localScopes:[],callDepth:0,sourceDepth:0,commandCount:0,lastExitCode:0,lastArg:"",startTime:Date.now(),lastBackgroundPid:0,virtualPid:t.processInfo?.pid??1,virtualPpid:t.processInfo?.ppid??0,virtualUid:t.processInfo?.uid??1e3,virtualGid:t.processInfo?.gid??1e3,bashPid:t.processInfo?.pid??1,nextVirtualPid:(t.processInfo?.pid??1)+1,currentLine:1,options:{errexit:!1,pipefail:!1,nounset:!1,xtrace:!1,verbose:!1,posix:!1,allexport:!1,noclobber:!1,noglob:!1,noexec:!1,vi:!1,emacs:!1},shoptOptions:{extglob:!1,dotglob:!1,nullglob:!1,failglob:!1,globstar:!1,globskipdots:!0,nocaseglob:!1,nocasematch:!1,expand_aliases:!1,lastpipe:!1,xpg_echo:!1},inCondition:!1,loopDepth:0,exportedVars:new Set(["HOME","PATH","PWD","OLDPWD",...Object.keys(t.env||{})]),readonlyVars:new Set(["SHELLOPTS","BASHOPTS"]),hashTable:new Map},this.state.env.set("SHELLOPTS",Es(this.state.options)),this.state.env.set("BASHOPTS",Ss(this.state.shoptOptions)),Jn(s,this.useDefaultLayout,{pid:this.state.virtualPid,ppid:this.state.virtualPpid,uid:this.state.virtualUid,gid:this.state.virtualGid}),n!=="/"&&s instanceof dt)try{s.mkdirSync(n,{recursive:!0})}catch{}for(let i of qn(t.commands))this.registerCommand(i);if(t.fetch||t.network)for(let i of Gn())this.registerCommand(i);if(t.python)for(let i of Kn())this.registerCommand(i);if(t.javascript){for(let a of Xn())this.registerCommand(a);let i=typeof t.javascript=="object"?t.javascript:Object.create(null);i.bootstrap&&(this.jsBootstrapCode=i.bootstrap)}if(t.customCommands)for(let i of t.customCommands)Yn(i)?this.registerCommand(Qn(i)):this.registerCommand({...i,trusted:i.trusted??!0})}registerCommand(t){this.commands.set(t.name,t);let s=this.fs;if(typeof s.writeFileSync=="function"){let n=`#!/bin/bash
|
|
698
|
+
# Built-in command: ${t.name}
|
|
699
|
+
`;try{s.writeFileSync(`/bin/${t.name}`,n)}catch{}try{s.writeFileSync(`/usr/bin/${t.name}`,n)}catch{}}}logResult(t){return this.logger&&(t.stdout&&this.logger.debug("stdout",{output:t.stdout}),t.stderr&&this.logger.info("stderr",{output:t.stderr}),this.logger.info("exit",{exitCode:t.exitCode})),t.stdout=Ti(t.stdout),t.stderr=Ti(t.stderr),t}async exec(t,s){if(this.state.callDepth===0&&(this.state.commandCount=0),this.state.commandCount++,this.state.commandCount>this.limits.maxCommandCount)return{stdout:"",stderr:`bash: maximum command count (${this.limits.maxCommandCount}) exceeded (possible infinite loop). Increase with executionLimits.maxCommandCount option.
|
|
700
|
+
`,exitCode:1,env:pe(this.state.env,s?.env)};if(!t.trim())return{stdout:"",stderr:"",exitCode:0,env:pe(this.state.env,s?.env)};this.logger?.info("exec",{command:t});let n=s?.cwd??this.state.cwd,r,i=n;if(s?.cwd)if(s.env&&"PWD"in s.env)r=s.env.PWD;else if(s?.env&&!("PWD"in s.env))try{r=await this.fs.realpath(n),i=r}catch{r=n}else r=n;let a=s?.replaceEnv?new Map:new Map(this.state.env);if(s?.env)for(let[f,d]of Object.entries(s.env))a.set(f,d);r!==void 0&&a.set("PWD",r);let o={...this.state,env:a,cwd:i,functions:new Map(this.state.functions),localScopes:[...this.state.localScopes],options:{...this.state.options},hashTable:this.state.hashTable,groupStdin:s?.stdin,signal:s?.signal,extraArgs:s?.args},l=t;s?.rawScript||(l=Di(t));let u=this.defenseInDepthConfig?ge.getInstance(this.defenseInDepthConfig):null,c=u?.activate();try{let f=async()=>{let d=be(l,{maxHeredocSize:this.limits.maxHeredocSize}),h;if(this.transformPlugins.length>0){let v=Object.create(null);for(let A of this.transformPlugins){let g=A.transform({ast:d,metadata:v});d=g.ast,g.metadata&&(v=cs(v,g.metadata))}h=v}let p={fs:this.fs,commands:this.commands,limits:this.limits,exec:this.exec.bind(this),fetch:this.secureFetch,sleep:this.sleepFn,trace:this.traceFn,coverage:this.coverageWriter,requireDefenseContext:u?.isEnabled()===!0,jsBootstrapCode:this.jsBootstrapCode},b=await new vt(p,o).executeScript(d);return h&&(b.metadata=h),this.logResult(b)};return c?await c.run(f):await f()}catch(f){if(f instanceof B)return this.logResult({stdout:f.stdout,stderr:f.stderr,exitCode:f.exitCode,env:pe(this.state.env,s?.env)});if(f instanceof we)return this.logResult({stdout:f.stdout,stderr:f.stderr,exitCode:f.exitCode,env:pe(this.state.env,s?.env)});if(f instanceof Be)return this.logResult({stdout:f.stdout,stderr:f.stderr,exitCode:1,env:pe(this.state.env,s?.env)});if(f instanceof At)return this.logResult({stdout:f.stdout,stderr:f.stderr,exitCode:124,env:pe(this.state.env,s?.env)});if(f instanceof Y)return this.logResult({stdout:f.stdout,stderr:xe(f.stderr),exitCode:Y.EXIT_CODE,env:pe(this.state.env,s?.env)});if(f instanceof Ke)return this.logResult({stdout:"",stderr:`bash: security violation: ${xe(f.message)}
|
|
701
|
+
`,exitCode:1,env:pe(this.state.env,s?.env)});if(f.name==="ParseException")return this.logResult({stdout:"",stderr:`bash: syntax error: ${xe(f.message)}
|
|
702
|
+
`,exitCode:2,env:pe(this.state.env,s?.env)});if(f instanceof xn)return this.logResult({stdout:"",stderr:`bash: ${xe(f.message)}
|
|
703
|
+
`,exitCode:2,env:pe(this.state.env,s?.env)});if(f instanceof RangeError)return this.logResult({stdout:"",stderr:`bash: ${xe(f.message)}
|
|
704
|
+
`,exitCode:1,env:pe(this.state.env,s?.env)});throw f}finally{c?.deactivate()}}async readFile(t){return this.fs.readFile(this.fs.resolvePath(this.state.cwd,t))}async writeFile(t,s){return this.fs.writeFile(this.fs.resolvePath(this.state.cwd,t),s)}getCwd(){return this.state.cwd}getEnv(){return Re(this.state.env)}registerTransformPlugin(t){this.transformPlugins.push(t)}transform(t){let s=Di(t),n=be(s,{maxHeredocSize:this.limits.maxHeredocSize}),r=Object.create(null);for(let i of this.transformPlugins){let a=i.transform({ast:n,metadata:r});n=a.ast,a.metadata&&(r=cs(r,a.metadata))}return{script:_i(n),ast:n,metadata:r}}};function Di(e){let t=e.split(`
|
|
705
|
+
`),s=[],n=[];for(let r=0;r<t.length;r++){let i=t[r];if(n.length>0){let l=n[n.length-1];if((l.stripTabs?i.replace(/^\t+/,""):i)===l.delimiter){s.push(i.trimStart()),n.pop();continue}s.push(i);continue}let a=i.trimStart();s.push(a);let o=/<<(-?)\s*(['"]?)([\w-]+)\2/g;for(let l of a.matchAll(o)){let u=l[1]==="-",c=l[3];n.push({delimiter:c,stripTabs:u})}}return s.join(`
|
|
706
|
+
`)}var Ho=new TextDecoder("utf-8",{fatal:!0});function Ti(e){if(!e)return e;let t=!1;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>255)return e;r>127&&(t=!0)}if(!t)return e;let s=new Uint8Array(e.length);for(let n=0;n<e.length;n++)s[n]=e.charCodeAt(n);try{return Ho.decode(s)}catch{return e}}import*as U from"node:fs";import*as ie from"node:path";var Uo=["ELOOP","EFBIG","EPERM"],Zo="/home/user/project",ls=class{root;canonicalRoot;mountPoint;readOnly;maxFileReadSize;allowSymlinks;memory=new Map;deleted=new Set;constructor(t){this.root=ie.resolve(t.root);let s=t.mountPoint??Zo;if(this.mountPoint=s==="/"?"/":s.replace(/\/+$/,""),!this.mountPoint.startsWith("/"))throw new Error(`Mount point must be an absolute path: ${s}`);this.readOnly=t.readOnly??!1,this.maxFileReadSize=t.maxFileReadSize??10485760,this.allowSymlinks=t.allowSymlinks??!1,On(this.root,"OverlayFs"),this.canonicalRoot=U.realpathSync(this.root),this.createMountPointDirs()}assertWritable(t){if(this.readOnly)throw new Error(`EROFS: read-only file system, ${t}`)}createMountPointDirs(){let t=this.mountPoint.split("/").filter(Boolean),s="";for(let n of t)s+=`/${n}`,this.memory.has(s)||this.memory.set(s,{type:"directory",mode:493,mtime:new Date});this.memory.has("/")||this.memory.set("/",{type:"directory",mode:493,mtime:new Date})}getMountPoint(){return this.mountPoint}mkdirSync(t,s){let r=M(t).split("/").filter(Boolean),i="";for(let a of r)i+=`/${a}`,this.memory.has(i)||this.memory.set(i,{type:"directory",mode:493,mtime:new Date})}writeFileSync(t,s){let n=M(t),r=this.getDirname(n);r!=="/"&&this.mkdirSync(r);let i=s instanceof Uint8Array?s:new TextEncoder().encode(s);this.memory.set(n,{type:"file",content:i,mode:420,mtime:new Date})}getDirname(t){let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}getRelativeToMount(t){return this.mountPoint==="/"?t:t===this.mountPoint?"/":t.startsWith(`${this.mountPoint}/`)?t.slice(this.mountPoint.length):null}toRealPath(t){let s=M(t),n=this.getRelativeToMount(s);if(n===null)return null;let r=ie.join(this.root,n),i=ie.resolve(r);return fs(i,this.root)?i:null}resolveRealPath_(t){return t?this.allowSymlinks?Nn(t,this.canonicalRoot):kn(t,this.root,this.canonicalRoot):null}resolveRealPathParent_(t){if(!t)return null;let s=ie.dirname(t),n=this.resolveRealPath_(s);return n===null?null:ie.join(n,ie.basename(t))}sanitizeError(t,s,n){Tn(t,s,n,Uo)}ensureParentDirs(t){let s=Ye(t);s!=="/"&&(this.memory.has(s)||(this.ensureParentDirs(s),this.memory.set(s,{type:"directory",mode:493,mtime:new Date})),this.deleted.delete(s))}async existsInOverlay(t){let s=M(t);if(this.deleted.has(s))return!1;if(this.memory.has(s))return!0;let n=this.resolveRealPathParent_(this.toRealPath(s));if(!n)return!1;try{return await U.promises.lstat(n),!0}catch{return!1}}async readFile(t,s){let n=await this.readFileBuffer(t),r=Le(s);return Ct(n,r)}async readFileBuffer(t,s=new Set){W(t,"open");let n=M(t);if(s.has(n))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);if(s.add(n),this.deleted.has(n))throw new Error(`ENOENT: no such file or directory, open '${t}'`);let r=this.memory.get(n);if(r){if(r.type==="symlink"){let a=this.resolveSymlink(n,r.target);return this.readFileBuffer(a,s)}if(r.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);return r.content}let i=this.resolveRealPath_(this.toRealPath(n));if(!i)throw new Error(`ENOENT: no such file or directory, open '${t}'`);try{let a=await U.promises.lstat(i);if(a.isSymbolicLink()){if(!this.allowSymlinks)throw new Error(`ENOENT: no such file or directory, open '${t}'`);let u=await U.promises.readlink(i),c=this.realTargetToVirtual(n,u),f=this.resolveSymlink(n,c);return this.readFileBuffer(f,s)}if(a.isDirectory())throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if(this.maxFileReadSize>0&&a.size>this.maxFileReadSize)throw new Error(`EFBIG: file too large, read '${t}' (${a.size} bytes, max ${this.maxFileReadSize})`);let o=this.allowSymlinks?U.constants.O_RDONLY:U.constants.O_RDONLY|U.constants.O_NOFOLLOW,l=await U.promises.open(i,o);try{let u=await l.readFile();return new Uint8Array(u)}finally{await l.close()}}catch(a){let o=a.code;if(o==="ENOENT")throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(o==="ELOOP")throw new Error(`ENOENT: no such file or directory, open '${t}'`);this.sanitizeError(a,t,"open")}}async writeFile(t,s,n){W(t,"write"),this.assertWritable(`write '${t}'`);let r=M(t);this.ensureParentDirs(r);let i=Le(n),a=Xe(s,i);this.memory.set(r,{type:"file",content:a,mode:420,mtime:new Date}),this.deleted.delete(r)}async appendFile(t,s,n){W(t,"append"),this.assertWritable(`append '${t}'`);let r=M(t),i=Le(n),a=Xe(s,i),o;try{o=await this.readFileBuffer(r)}catch{o=new Uint8Array(0)}let l=new Uint8Array(o.length+a.length);l.set(o),l.set(a,o.length),this.ensureParentDirs(r),this.memory.set(r,{type:"file",content:l,mode:420,mtime:new Date}),this.deleted.delete(r)}async exists(t){return t.includes("\0")?!1:this.existsInOverlay(t)}async stat(t,s=new Set){W(t,"stat");let n=M(t);if(s.has(n))throw new Error(`ELOOP: too many levels of symbolic links, stat '${t}'`);if(s.add(n),this.deleted.has(n))throw new Error(`ENOENT: no such file or directory, stat '${t}'`);let r=this.memory.get(n);if(r){if(r.type==="symlink"){let o=this.resolveSymlink(n,r.target);return this.stat(o,s)}let a=0;return r.type==="file"&&(a=r.content.length),{isFile:r.type==="file",isDirectory:r.type==="directory",isSymbolicLink:!1,mode:r.mode,size:a,mtime:r.mtime}}let i=this.resolveRealPath_(this.toRealPath(n));if(!i)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);try{let a=await U.promises.lstat(i);if(a.isSymbolicLink()){if(!this.allowSymlinks)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);let o=await U.promises.readlink(i),l=this.realTargetToVirtual(n,o),u=this.resolveSymlink(n,l);return this.stat(u,s)}return{isFile:a.isFile(),isDirectory:a.isDirectory(),isSymbolicLink:!1,mode:a.mode,size:a.size,mtime:a.mtime}}catch(a){if(a.code==="ENOENT")throw new Error(`ENOENT: no such file or directory, stat '${t}'`);this.sanitizeError(a,t,"stat")}}async lstat(t){W(t,"lstat");let s=M(t);if(this.deleted.has(s))throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);let n=this.memory.get(s);if(n){if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime};let i=0;return n.type==="file"&&(i=n.content.length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:i,mtime:n.mtime}}let r=this.resolveRealPathParent_(this.toRealPath(s));if(!r)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);try{let i=await U.promises.lstat(r);return{isFile:i.isFile(),isDirectory:i.isDirectory(),isSymbolicLink:i.isSymbolicLink(),mode:i.mode,size:i.size,mtime:i.mtime}}catch(i){if(i.code==="ENOENT")throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);this.sanitizeError(i,t,"lstat")}}resolveSymlink(t,s){return Qe(t,s)}realTargetToVirtual(t,s){let n=Dn(s,this.canonicalRoot);if(n.withinRoot){if(!ie.isAbsolute(s))return s;let r=n.relativePath;return this.mountPoint==="/"?r:`${this.mountPoint}${r}`}return n.safeName}async mkdir(t,s){W(t,"mkdir"),this.assertWritable(`mkdir '${t}'`);let n=M(t);if(await this.existsInOverlay(n)){if(!s?.recursive)throw new Error(`EEXIST: file already exists, mkdir '${t}'`);return}let i=Ye(n);if(i!=="/"&&!await this.existsInOverlay(i))if(s?.recursive)await this.mkdir(i,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.memory.set(n,{type:"directory",mode:493,mtime:new Date}),this.deleted.delete(n)}async readdirCore(t,s){if(this.deleted.has(s))throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let n=new Map,r=new Set,i=s==="/"?"/":`${s}/`;for(let o of this.deleted)if(o.startsWith(i)){let l=o.slice(i.length),u=l.split("/")[0];u&&!l.includes("/",u.length)&&r.add(u)}for(let[o,l]of this.memory)if(o!==s&&o.startsWith(i)){let u=o.slice(i.length),c=u.split("/")[0];c&&!r.has(c)&&!u.includes("/",1)&&n.set(c,{name:c,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}let a=this.resolveRealPath_(this.toRealPath(s));if(a)try{if(!this.allowSymlinks&&(await U.promises.lstat(a)).isSymbolicLink()){if(!this.memory.has(s))throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);return n}let o=await U.promises.readdir(a,{withFileTypes:!0});for(let l of o)!r.has(l.name)&&!n.has(l.name)&&n.set(l.name,{name:l.name,isFile:l.isFile(),isDirectory:l.isDirectory(),isSymbolicLink:l.isSymbolicLink()})}catch(o){if(o.code==="ENOENT"){if(!this.memory.has(s))throw new Error(`ENOENT: no such file or directory, scandir '${t}'`)}else o.code!=="ENOTDIR"&&this.sanitizeError(o,t,"scandir")}return n}async resolveForReaddir(t,s=!1){let n=M(t),r=new Set,i=s,a=this.memory.get(n);for(;a&&a.type==="symlink";){if(r.has(n))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(n),i=!0,n=this.resolveSymlink(n,a.target),a=this.memory.get(n)}if(a)return{normalized:n,outsideOverlay:!1};if(this.getRelativeToMount(n)===null)return{normalized:n,outsideOverlay:!0};let l=this.resolveRealPath_(this.toRealPath(n));if(!l)return{normalized:n,outsideOverlay:!0};try{if((await U.promises.lstat(l)).isSymbolicLink()){if(!this.allowSymlinks)return{normalized:n,outsideOverlay:!0};let c=await U.promises.readlink(l),f=this.realTargetToVirtual(n,c),d=this.resolveSymlink(n,f);return this.resolveForReaddir(d,!0)}return{normalized:n,outsideOverlay:!1}}catch{return i?{normalized:n,outsideOverlay:!0}:{normalized:n,outsideOverlay:!1}}}async readdir(t){W(t,"scandir");let{normalized:s,outsideOverlay:n}=await this.resolveForReaddir(t);if(n)return[];let r=await this.readdirCore(t,s);return Array.from(r.keys()).sort((i,a)=>i<a?-1:i>a?1:0)}async readdirWithFileTypes(t){W(t,"scandir");let{normalized:s,outsideOverlay:n}=await this.resolveForReaddir(t);if(n)return[];let r=await this.readdirCore(t,s);return Array.from(r.values()).sort((i,a)=>i.name<a.name?-1:i.name>a.name?1:0)}async rm(t,s){W(t,"rm"),this.assertWritable(`rm '${t}'`);let n=M(t);if(!await this.existsInOverlay(n)){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}try{if((await this.stat(n)).isDirectory){let a=await this.readdir(n);if(a.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of a){let l=n==="/"?`/${o}`:`${n}/${o}`;await this.rm(l,s)}}}}catch(i){if(i instanceof Error&&(i.message.includes("ENOTEMPTY")||i.message.includes("EISDIR")))throw i}this.memory.delete(n),this.existsOnRealFs(n)&&this.deleted.add(n)}existsOnRealFs(t){let s=this.toRealPath(t),n=this.resolveRealPathParent_(s);if(!n)return!1;try{return U.lstatSync(n),!0}catch{return!1}}async cp(t,s,n){W(t,"cp"),W(s,"cp"),this.assertWritable(`cp '${s}'`);let r=M(t),i=M(s);if(!await this.existsInOverlay(r))throw new Error(`ENOENT: no such file or directory, cp '${t}'`);let o=await this.stat(r);if(o.isFile){let l=await this.readFileBuffer(r);await this.writeFile(i,l)}else if(o.isDirectory){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let l=await this.readdir(r);for(let u of l){let c=r==="/"?`/${u}`:`${r}/${u}`,f=i==="/"?`/${u}`:`${i}/${u}`;await this.cp(c,f,n)}}}async mv(t,s){this.assertWritable(`mv '${s}'`),await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}resolvePath(t,s){return Pt(t,s)}getAllPaths(){let t=new Set(this.memory.keys());for(let s of this.deleted)t.delete(s);return this.scanRealFs("/",t),Array.from(t)}scanRealFs(t,s){if(this.deleted.has(t))return;let n=this.resolveRealPath_(this.toRealPath(t));if(n)try{let r=U.readdirSync(n);for(let i of r){let a=t==="/"?`/${i}`:`${t}/${i}`;if(this.deleted.has(a))continue;s.add(a);let o=ie.join(n,i);U.lstatSync(o).isDirectory()&&this.scanRealFs(a,s)}}catch{}}async chmod(t,s){W(t,"chmod"),this.assertWritable(`chmod '${t}'`);let n=M(t);if(!await this.existsInOverlay(n))throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);let i=this.memory.get(n);if(i){i.mode=s;return}let a=await this.stat(n);if(a.isFile){let o=await this.readFileBuffer(n);this.memory.set(n,{type:"file",content:o,mode:s,mtime:new Date})}else a.isDirectory&&this.memory.set(n,{type:"directory",mode:s,mtime:new Date})}async symlink(t,s){if(!this.allowSymlinks)throw new Error(`EPERM: operation not permitted, symlink '${s}'`);W(s,"symlink"),this.assertWritable(`symlink '${s}'`);let n=M(s);if(await this.existsInOverlay(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.memory.set(n,{type:"symlink",target:t,mode:511,mtime:new Date}),this.deleted.delete(n)}async link(t,s){W(t,"link"),W(s,"link"),this.assertWritable(`link '${s}'`);let n=M(t),r=M(s);if(!await this.existsInOverlay(n))throw new Error(`ENOENT: no such file or directory, link '${t}'`);let a=await this.stat(n);if(!a.isFile)throw new Error(`EPERM: operation not permitted, link '${t}'`);if(await this.existsInOverlay(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let l=await this.readFileBuffer(n);this.ensureParentDirs(r),this.memory.set(r,{type:"file",content:l,mode:a.mode,mtime:new Date}),this.deleted.delete(r)}async readlink(t){W(t,"readlink");let s=M(t);if(this.deleted.has(s))throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);let n=this.memory.get(s);if(n){if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}let r=this.resolveRealPathParent_(this.toRealPath(s));if(!r)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);try{let i=await U.promises.readlink(r);if(!ie.isAbsolute(i)){let a=ie.resolve(ie.dirname(r),i),o;try{o=U.realpathSync(a)}catch{o=a}if(!fs(o,this.canonicalRoot))return ie.basename(i)}return this.realTargetToVirtual(s,i)}catch(i){if(i.code==="ENOENT")throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(i.code==="EINVAL")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);this.sanitizeError(i,t,"readlink")}}async realpath(t){W(t,"realpath");let s=M(t),n=new Set,r=async o=>{let l=o==="/"?[]:o.slice(1).split("/"),u="";for(let c of l){if(u=`${u}/${c}`,n.has(u))throw new Error(`ELOOP: too many levels of symbolic links, realpath '${t}'`);if(this.deleted.has(u))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);let f=this.memory.get(u),d=0,h=40;for(;f&&f.type==="symlink"&&d<h;){if(n.add(u),u=this.resolveSymlink(u,f.target),d++,n.has(u))throw new Error(`ELOOP: too many levels of symbolic links, realpath '${t}'`);if(this.deleted.has(u))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);f=this.memory.get(u)}if(d>=h)throw new Error(`ELOOP: too many levels of symbolic links, realpath '${t}'`);if(!f){let p=this.toRealPath(u),m=this.resolveRealPath_(p);if(m)try{if((await U.promises.lstat(m)).isSymbolicLink()){if(!this.allowSymlinks)throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);let b=await U.promises.readlink(m),v=this.realTargetToVirtual(u,b);return n.add(u),u=this.resolveSymlink(u,v),r(u)}}catch(y){if(y.code==="ENOENT")throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);this.sanitizeError(y,t,"realpath")}else if(!this.allowSymlinks){let y=this.resolveRealPathParent_(p);if(y)try{if((await U.promises.lstat(y)).isSymbolicLink())throw new Error(`ENOENT: no such file or directory, realpath '${t}'`)}catch(b){if(b.message?.includes("ENOENT")||b.message?.includes("ELOOP"))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);this.sanitizeError(b,t,"realpath")}}}}return u||"/"},i=await r(s);if(!await this.existsInOverlay(i))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return i}async utimes(t,s,n){W(t,"utimes"),this.assertWritable(`utimes '${t}'`);let r=M(t);if(!await this.existsInOverlay(r))throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);let a=this.memory.get(r);if(a){a.mtime=n;return}let o=await this.stat(r);if(o.isFile){let l=await this.readFileBuffer(r);this.memory.set(r,{type:"file",content:l,mode:o.mode,mtime:n})}else o.isDirectory&&this.memory.set(r,{type:"directory",mode:o.mode,mtime:n})}};var se={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m"},En=class{env;rl;running=!0;history=[];isInteractive;constructor(t={}){let s=process.cwd(),n=new ls({root:s,mountPoint:"/"});this.env=new os({fs:n,cwd:t.cwd||"/",env:{HOME:"/",USER:"user",SHELL:"/bin/bash",TERM:"xterm-256color",...t.env},network:t.network===!0?{dangerouslyAllowFullInternetAccess:!0}:void 0}),this.isInteractive=process.stdin.isTTY===!0,this.rl=xi.createInterface({input:process.stdin,output:process.stdout,terminal:this.isInteractive}),this.rl.on("SIGINT",()=>{process.stdout.write(`^C
|
|
707
|
+
`),this.prompt()}),process.stdin.isTTY&&this.rl.on("close",()=>{this.running=!1,console.log(`
|
|
708
|
+
Goodbye!`),process.exit(0)})}syncHistory(){let t=this.env.getEnv();t.BASH_HISTORY=JSON.stringify(this.history)}getPrompt(){let t=this.env.getCwd(),s=this.env.getEnv().HOME||"/home/user",n=t;return t===s?n="~":t.startsWith(`${s}/`)&&(n=`~${t.slice(s.length)}`),`${se.green}${se.bold}user@virtual${se.reset}:${se.blue}${se.bold}${n}${se.reset}$ `}async executeCommand(t){let s=t.trim();if(s){if(this.history.push(s),s==="exit"||s.startsWith("exit ")){let n=s.split(/\s+/),r=n[1]?parseInt(n[1],10):0;console.log("exit"),process.exit(r)}this.syncHistory();try{let n=await this.env.exec(s);n.stdout&&process.stdout.write(n.stdout),n.stderr&&process.stderr.write(`${se.red}${n.stderr}${se.reset}`)}catch(n){console.error(`${se.red}Error: ${ve(n)}${se.reset}`)}}}printWelcome(){console.log(`
|
|
709
|
+
${se.cyan}${se.bold}\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557
|
|
710
|
+
\u2551 Virtual Shell v1.0 \u2551
|
|
711
|
+
\u2551 A simulated bash environment in TypeScript \u2551
|
|
712
|
+
\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D${se.reset}
|
|
713
|
+
|
|
714
|
+
${se.dim}Exploring: ${process.cwd()}${se.reset}
|
|
715
|
+
|
|
716
|
+
Type ${se.green}help${se.reset} for available commands, ${se.green}exit${se.reset} to quit.
|
|
717
|
+
Reads from real filesystem, writes stay in memory (OverlayFs).
|
|
718
|
+
`)}prompt(){this.rl.question(this.getPrompt(),async t=>{this.running&&(await this.executeCommand(t),this.prompt())})}async run(){if(this.isInteractive)this.printWelcome(),this.prompt();else{let t=[];this.rl.on("line",s=>{t.push(s)}),await new Promise(s=>{this.rl.on("close",s)});for(let s of t)await this.executeCommand(s)}}};function qo(){let e=process.argv.slice(2),t={};for(let s=0;s<e.length;s++)if(e[s]==="--cwd"&&e[s+1])t.cwd=e[++s];else if(e[s]==="--files"&&e[s+1]){let n=e[++s];try{let r=Ii.readFileSync(n,"utf-8");t.files=JSON.parse(r)}catch(r){console.error(`Error reading files from ${n}:`,r),process.exit(1)}}else e[s]==="--network"?t.network=!0:e[s]==="--no-network"?t.network=!1:(e[s]==="--help"||e[s]==="-h")&&(console.log(`
|
|
719
|
+
Usage: pnpm shell [options]
|
|
720
|
+
|
|
721
|
+
Interactive shell using OverlayFs - reads from the current directory,
|
|
722
|
+
writes stay in memory (copy-on-write).
|
|
723
|
+
|
|
724
|
+
Options:
|
|
725
|
+
--cwd <dir> Set initial working directory (default: /)
|
|
726
|
+
--network Enable network access (disabled by default)
|
|
727
|
+
--no-network Disable network access (default)
|
|
728
|
+
--help, -h Show this help message
|
|
729
|
+
|
|
730
|
+
Example:
|
|
731
|
+
pnpm shell
|
|
732
|
+
pnpm shell --network
|
|
733
|
+
`),process.exit(0));return t}var Go=qo(),Ko=new En(Go);Ko.run();
|