@kubbisec/ai-linux-x64 0.1.23 → 0.1.25
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/package.json +1 -1
- package/bin/kubbisec +0 -0
- package/bundled/assets/terminal/banner-compact.ansi +0 -7
- package/bundled/assets/terminal/banner-wide.ansi +0 -10
- package/bundled/assets/terminal/logotipo-compact-fallback.ansi +0 -7
- package/bundled/assets/terminal/logotipo-compact.ansi +0 -1
- package/bundled/assets/terminal/logotipo-compact.png +0 -0
- package/bundled/assets/terminal/logotipo-wide-fallback.ansi +0 -10
- package/bundled/assets/terminal/logotipo-wide.ansi +0 -1
- package/bundled/assets/terminal/logotipo-wide.png +0 -0
- package/bundled/assets/terminal/mark.ansi +0 -7
- package/bundled/assets/terminal/wordmark-inline.ansi +0 -1
- package/bundled/assets/terminal/wordmark.ansi +0 -4
- package/bundled/assets/terminal/wordmark.png +0 -0
- package/bundled/components/kubbisec-model-selector.d.ts +0 -57
- package/bundled/components/kubbisec-model-selector.d.ts.map +0 -1
- package/bundled/components/kubbisec-model-selector.js +0 -208
- package/bundled/components/kubbisec-model-selector.js.map +0 -1
- package/bundled/config/config.d.ts +0 -14
- package/bundled/config/config.d.ts.map +0 -1
- package/bundled/config/config.js +0 -69
- package/bundled/config/config.js.map +0 -1
- package/bundled/config/detect-local-llm-providers.d.ts +0 -43
- package/bundled/config/detect-local-llm-providers.d.ts.map +0 -1
- package/bundled/config/detect-local-llm-providers.js +0 -160
- package/bundled/config/detect-local-llm-providers.js.map +0 -1
- package/bundled/config/ensure-kbs-project-settings.d.ts +0 -20
- package/bundled/config/ensure-kbs-project-settings.d.ts.map +0 -1
- package/bundled/config/ensure-kbs-project-settings.js +0 -45
- package/bundled/config/ensure-kbs-project-settings.js.map +0 -1
- package/bundled/config/ensure-kubbisec-project-settings.d.ts +0 -31
- package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +0 -1
- package/bundled/config/ensure-kubbisec-project-settings.js +0 -102
- package/bundled/config/ensure-kubbisec-project-settings.js.map +0 -1
- package/bundled/config/extended-context.d.ts +0 -11
- package/bundled/config/extended-context.d.ts.map +0 -1
- package/bundled/config/extended-context.js +0 -37
- package/bundled/config/extended-context.js.map +0 -1
- package/bundled/config/feature-flags.d.ts +0 -10
- package/bundled/config/feature-flags.d.ts.map +0 -1
- package/bundled/config/feature-flags.js +0 -8
- package/bundled/config/feature-flags.js.map +0 -1
- package/bundled/config/format-kubbisec-footer-status.d.ts +0 -2
- package/bundled/config/format-kubbisec-footer-status.d.ts.map +0 -1
- package/bundled/config/format-kubbisec-footer-status.js +0 -32
- package/bundled/config/format-kubbisec-footer-status.js.map +0 -1
- package/bundled/config/kubbisec-extension-manifest.d.ts +0 -22
- package/bundled/config/kubbisec-extension-manifest.d.ts.map +0 -1
- package/bundled/config/kubbisec-extension-manifest.js +0 -22
- package/bundled/config/kubbisec-extension-manifest.js.map +0 -1
- package/bundled/config/llm-config-mutations.d.ts +0 -64
- package/bundled/config/llm-config-mutations.d.ts.map +0 -1
- package/bundled/config/llm-config-mutations.js +0 -198
- package/bundled/config/llm-config-mutations.js.map +0 -1
- package/bundled/config/llm-config.d.ts +0 -79
- package/bundled/config/llm-config.d.ts.map +0 -1
- package/bundled/config/llm-config.js +0 -246
- package/bundled/config/llm-config.js.map +0 -1
- package/bundled/config/llm-provider-catalog.d.ts +0 -25
- package/bundled/config/llm-provider-catalog.d.ts.map +0 -1
- package/bundled/config/llm-provider-catalog.js +0 -53
- package/bundled/config/llm-provider-catalog.js.map +0 -1
- package/bundled/config/materialize-kubbisec-pi-resources.d.ts +0 -19
- package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +0 -1
- package/bundled/config/materialize-kubbisec-pi-resources.js +0 -233
- package/bundled/config/materialize-kubbisec-pi-resources.js.map +0 -1
- package/bundled/config/register-custom-llm-providers.d.ts +0 -19
- package/bundled/config/register-custom-llm-providers.d.ts.map +0 -1
- package/bundled/config/register-custom-llm-providers.js +0 -23
- package/bundled/config/register-custom-llm-providers.js.map +0 -1
- package/bundled/config/register-kubbisec-llm-provider.d.ts +0 -18
- package/bundled/config/register-kubbisec-llm-provider.d.ts.map +0 -1
- package/bundled/config/register-kubbisec-llm-provider.js +0 -61
- package/bundled/config/register-kubbisec-llm-provider.js.map +0 -1
- package/bundled/config/resolve-agents-context-file.d.ts +0 -4
- package/bundled/config/resolve-agents-context-file.d.ts.map +0 -1
- package/bundled/config/resolve-agents-context-file.js +0 -46
- package/bundled/config/resolve-agents-context-file.js.map +0 -1
- package/bundled/config/resource-budget.d.ts +0 -17
- package/bundled/config/resource-budget.d.ts.map +0 -1
- package/bundled/config/resource-budget.js +0 -35
- package/bundled/config/resource-budget.js.map +0 -1
- package/bundled/config/sync-kubbisec-pi-models.d.ts +0 -15
- package/bundled/config/sync-kubbisec-pi-models.d.ts.map +0 -1
- package/bundled/config/sync-kubbisec-pi-models.js +0 -81
- package/bundled/config/sync-kubbisec-pi-models.js.map +0 -1
- package/bundled/copy/cli-reference-index.d.ts +0 -2
- package/bundled/copy/cli-reference-index.d.ts.map +0 -1
- package/bundled/copy/cli-reference-index.js +0 -2
- package/bundled/copy/cli-reference-index.js.map +0 -1
- package/bundled/copy/kubbisec-shell-copy.d.ts +0 -26
- package/bundled/copy/kubbisec-shell-copy.d.ts.map +0 -1
- package/bundled/copy/kubbisec-shell-copy.js +0 -21
- package/bundled/copy/kubbisec-shell-copy.js.map +0 -1
- package/bundled/edit-format.md +0 -17
- package/bundled/extensions/cli-local-shared.d.ts +0 -80
- package/bundled/extensions/cli-local-shared.d.ts.map +0 -1
- package/bundled/extensions/cli-local-shared.js +0 -169
- package/bundled/extensions/cli-local-shared.js.map +0 -1
- package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +0 -21
- package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-aspm-local.extension.js +0 -112
- package/bundled/extensions/kubbisec-aspm-local.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-brand.extension.d.ts +0 -3
- package/bundled/extensions/kubbisec-brand.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-brand.extension.js +0 -32
- package/bundled/extensions/kubbisec-brand.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-byok-provider.extension.d.ts +0 -6
- package/bundled/extensions/kubbisec-byok-provider.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-byok-provider.extension.js +0 -5
- package/bundled/extensions/kubbisec-byok-provider.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-clarify.extension.d.ts +0 -79
- package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-clarify.extension.js +0 -381
- package/bundled/extensions/kubbisec-clarify.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-exit.extension.d.ts +0 -6
- package/bundled/extensions/kubbisec-exit.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-exit.extension.js +0 -38
- package/bundled/extensions/kubbisec-exit.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-extended-context.extension.d.ts +0 -6
- package/bundled/extensions/kubbisec-extended-context.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-extended-context.extension.js +0 -63
- package/bundled/extensions/kubbisec-extended-context.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-footer.extension.d.ts +0 -19
- package/bundled/extensions/kubbisec-footer.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-footer.extension.js +0 -245
- package/bundled/extensions/kubbisec-footer.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-github-local.extension.d.ts +0 -31
- package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-github-local.extension.js +0 -483
- package/bundled/extensions/kubbisec-github-local.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-llm-config.extension.d.ts +0 -3
- package/bundled/extensions/kubbisec-llm-config.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-llm-config.extension.js +0 -230
- package/bundled/extensions/kubbisec-llm-config.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-memory.extension.d.ts +0 -14
- package/bundled/extensions/kubbisec-memory.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-memory.extension.js +0 -100
- package/bundled/extensions/kubbisec-memory.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-naus-local.extension.d.ts +0 -21
- package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-naus-local.extension.js +0 -132
- package/bundled/extensions/kubbisec-naus-local.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-platform-tools.extension.d.ts +0 -40
- package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-platform-tools.extension.js +0 -185
- package/bundled/extensions/kubbisec-platform-tools.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-runtime-status.extension.d.ts +0 -15
- package/bundled/extensions/kubbisec-runtime-status.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-runtime-status.extension.js +0 -20
- package/bundled/extensions/kubbisec-runtime-status.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-scope.extension.d.ts +0 -19
- package/bundled/extensions/kubbisec-scope.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-scope.extension.js +0 -18
- package/bundled/extensions/kubbisec-scope.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +0 -36
- package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-skill-mentions.extension.js +0 -81
- package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts +0 -5
- package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-skill-telemetry.extension.js +0 -80
- package/bundled/extensions/kubbisec-skill-telemetry.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +0 -6
- package/bundled/extensions/kubbisec-theme-lock.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-theme-lock.extension.js +0 -42
- package/bundled/extensions/kubbisec-theme-lock.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-ui.extension.d.ts +0 -6
- package/bundled/extensions/kubbisec-ui.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-ui.extension.js +0 -141
- package/bundled/extensions/kubbisec-ui.extension.js.map +0 -1
- package/bundled/extensions/kubbisec-workflow.extension.d.ts +0 -40
- package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +0 -1
- package/bundled/extensions/kubbisec-workflow.extension.js +0 -177
- package/bundled/extensions/kubbisec-workflow.extension.js.map +0 -1
- package/bundled/gate-system.md +0 -27
- package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.d.ts +0 -311
- package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.js +0 -357
- package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts +0 -3
- package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/index.js +0 -19
- package/bundled/node_modules/@aspm/shared/dist/ai/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js +0 -30
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js +0 -14
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts +0 -6
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js +0 -65
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts +0 -8
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js +0 -29
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js +0 -16
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts +0 -2
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js +0 -36
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts +0 -6
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js +0 -32
- package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts +0 -12
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js +0 -93
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts +0 -13
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js +0 -79
- package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts +0 -4
- package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/index.js +0 -20
- package/bundled/node_modules/@aspm/shared/dist/api-key/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts +0 -20
- package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js +0 -78
- package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.d.ts +0 -20
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.js +0 -33
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts +0 -19
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js +0 -126
- package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts +0 -3
- package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/assistant/index.js +0 -19
- package/bundled/node_modules/@aspm/shared/dist/assistant/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts +0 -2
- package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/billing/index.js +0 -18
- package/bundled/node_modules/@aspm/shared/dist/billing/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts +0 -17
- package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js +0 -30
- package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts +0 -42
- package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js +0 -147
- package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts +0 -12
- package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js +0 -70
- package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts +0 -4
- package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/index.js +0 -20
- package/bundled/node_modules/@aspm/shared/dist/ci/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts +0 -16
- package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js +0 -45
- package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/cli-user-error.d.ts +0 -18
- package/bundled/node_modules/@aspm/shared/dist/cli-user-error.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/cli-user-error.js +0 -92
- package/bundled/node_modules/@aspm/shared/dist/cli-user-error.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.d.ts +0 -25
- package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.js +0 -85
- package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.d.ts +0 -17
- package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.js +0 -98
- package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.d.ts +0 -32
- package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.js +0 -209
- package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.d.ts +0 -65
- package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.js +0 -354
- package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts +0 -27
- package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js +0 -145
- package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.d.ts +0 -8
- package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.js +0 -51
- package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.d.ts +0 -34
- package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.js +0 -189
- package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts +0 -16
- package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/index.js +0 -47
- package/bundled/node_modules/@aspm/shared/dist/dto/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.d.ts +0 -203
- package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.js +0 -42
- package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.d.ts +0 -6
- package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.js +0 -31
- package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.js +0 -47
- package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.d.ts +0 -6
- package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.js +0 -36
- package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts +0 -9
- package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js +0 -52
- package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.d.ts +0 -9
- package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.js +0 -58
- package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.d.ts +0 -6
- package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.js +0 -30
- package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/enums.d.ts +0 -88
- package/bundled/node_modules/@aspm/shared/dist/enums.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/enums.js +0 -136
- package/bundled/node_modules/@aspm/shared/dist/enums.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.d.ts +0 -6
- package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.js +0 -9
- package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/index.d.ts +0 -22
- package/bundled/node_modules/@aspm/shared/dist/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/index.js +0 -38
- package/bundled/node_modules/@aspm/shared/dist/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts +0 -22
- package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js +0 -52
- package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts +0 -37
- package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js +0 -54
- package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts +0 -24
- package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js +0 -64
- package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.d.ts +0 -23
- package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.js +0 -53
- package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts +0 -8
- package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/index.js +0 -24
- package/bundled/node_modules/@aspm/shared/dist/rbac/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts +0 -9
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js +0 -91
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts +0 -12
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js +0 -86
- package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts +0 -8
- package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js +0 -19
- package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.d.ts +0 -14
- package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.js +0 -56
- package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts +0 -10
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js +0 -200
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.js +0 -23
- package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts +0 -14
- package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/redaction.js +0 -251
- package/bundled/node_modules/@aspm/shared/dist/redaction.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/redaction.test.d.ts +0 -2
- package/bundled/node_modules/@aspm/shared/dist/redaction.test.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/redaction.test.js +0 -626
- package/bundled/node_modules/@aspm/shared/dist/redaction.test.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.d.ts +0 -19
- package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.js +0 -61
- package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts +0 -3
- package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js +0 -54
- package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.d.ts +0 -4
- package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js +0 -72
- package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-action-pins.d.ts +0 -27
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-action-pins.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-action-pins.js +0 -30
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-action-pins.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-tool-jobs.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-tool-jobs.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-tool-jobs.js +0 -184
- package/bundled/node_modules/@aspm/shared/dist/security/github-workflow-tool-jobs.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/index.js +0 -23
- package/bundled/node_modules/@aspm/shared/dist/security/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool-catalog.d.ts +0 -5
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool-catalog.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool-catalog.js +0 -74
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool-catalog.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool.types.d.ts +0 -43
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool.types.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool.types.js +0 -22
- package/bundled/node_modules/@aspm/shared/dist/security/security-tool.types.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/severity-map.d.ts +0 -8
- package/bundled/node_modules/@aspm/shared/dist/severity-map.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/severity-map.js +0 -47
- package/bundled/node_modules/@aspm/shared/dist/severity-map.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts +0 -4
- package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js +0 -10
- package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts +0 -4
- package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js +0 -20
- package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts +0 -2
- package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js +0 -9
- package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts +0 -3
- package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js +0 -18
- package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.d.ts +0 -26
- package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.js +0 -202
- package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/sort-findings.d.ts +0 -16
- package/bundled/node_modules/@aspm/shared/dist/sort-findings.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/sort-findings.js +0 -67
- package/bundled/node_modules/@aspm/shared/dist/sort-findings.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/trusted-path.d.ts +0 -7
- package/bundled/node_modules/@aspm/shared/dist/trusted-path.d.ts.map +0 -1
- package/bundled/node_modules/@aspm/shared/dist/trusted-path.js +0 -30
- package/bundled/node_modules/@aspm/shared/dist/trusted-path.js.map +0 -1
- package/bundled/node_modules/@aspm/shared/package.json +0 -73
- package/bundled/node_modules/@kubbisec/chat-memory/dist/client.d.ts +0 -20
- package/bundled/node_modules/@kubbisec/chat-memory/dist/client.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/client.js +0 -121
- package/bundled/node_modules/@kubbisec/chat-memory/dist/client.js.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.d.ts +0 -15
- package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.js +0 -34
- package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.js.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/index.d.ts +0 -12
- package/bundled/node_modules/@kubbisec/chat-memory/dist/index.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/index.js +0 -85
- package/bundled/node_modules/@kubbisec/chat-memory/dist/index.js.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.d.ts +0 -4
- package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js +0 -89
- package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.d.ts +0 -2
- package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.js +0 -11
- package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.js.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/types.d.ts +0 -24
- package/bundled/node_modules/@kubbisec/chat-memory/dist/types.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/dist/types.js +0 -9
- package/bundled/node_modules/@kubbisec/chat-memory/dist/types.js.map +0 -1
- package/bundled/node_modules/@kubbisec/chat-memory/package.json +0 -32
- package/bundled/node_modules/@kubbisec/home/dist/api-url.d.ts +0 -8
- package/bundled/node_modules/@kubbisec/home/dist/api-url.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/api-url.js +0 -25
- package/bundled/node_modules/@kubbisec/home/dist/api-url.js.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.d.ts +0 -17
- package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.js +0 -35
- package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.js.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/index.d.ts +0 -5
- package/bundled/node_modules/@kubbisec/home/dist/index.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/index.js +0 -5
- package/bundled/node_modules/@kubbisec/home/dist/index.js.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts +0 -10
- package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/migrate.js +0 -107
- package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/paths.d.ts +0 -22
- package/bundled/node_modules/@kubbisec/home/dist/paths.d.ts.map +0 -1
- package/bundled/node_modules/@kubbisec/home/dist/paths.js +0 -69
- package/bundled/node_modules/@kubbisec/home/dist/paths.js.map +0 -1
- package/bundled/node_modules/@kubbisec/home/package.json +0 -26
- package/bundled/reflect-system.md +0 -31
- package/bundled/resolve-bundled-dist-root.js +0 -157
- package/bundled/resolve-bundled-dist-root.js.map +0 -1
- package/bundled/skills/aspm-platform/SKILL.md +0 -95
- package/bundled/skills/at-path-mentions.d.ts +0 -7
- package/bundled/skills/at-path-mentions.d.ts.map +0 -1
- package/bundled/skills/at-path-mentions.js +0 -177
- package/bundled/skills/at-path-mentions.js.map +0 -1
- package/bundled/skills/at-path-mentions.test.ts +0 -64
- package/bundled/skills/at-path-mentions.ts +0 -209
- package/bundled/skills/chat-mention-render.d.ts +0 -7
- package/bundled/skills/chat-mention-render.d.ts.map +0 -1
- package/bundled/skills/chat-mention-render.js +0 -155
- package/bundled/skills/chat-mention-render.js.map +0 -1
- package/bundled/skills/chat-mention-render.test.ts +0 -70
- package/bundled/skills/chat-mention-render.ts +0 -192
- package/bundled/skills/chat-mentions.d.ts +0 -37
- package/bundled/skills/chat-mentions.d.ts.map +0 -1
- package/bundled/skills/chat-mentions.js +0 -108
- package/bundled/skills/chat-mentions.js.map +0 -1
- package/bundled/skills/chat-mentions.test.ts +0 -39
- package/bundled/skills/chat-mentions.ts +0 -133
- package/bundled/skills/github-local/SKILL.md +0 -16
- package/bundled/skills/kubbisec-resource-router/SKILL.md +0 -3
- package/bundled/skills/list-bundled-skills.d.ts +0 -7
- package/bundled/skills/list-bundled-skills.d.ts.map +0 -1
- package/bundled/skills/list-bundled-skills.js +0 -42
- package/bundled/skills/list-bundled-skills.js.map +0 -1
- package/bundled/skills/list-bundled-skills.ts +0 -49
- package/bundled/skills/naus-pipelines/SKILL.md +0 -127
- package/bundled/skills/remediation/SKILL.md +0 -12
- package/bundled/skills/scanner-gitleaks/SKILL.md +0 -10
- package/bundled/skills/scanner-nmap/SKILL.md +0 -10
- package/bundled/skills/scanner-osv/SKILL.md +0 -10
- package/bundled/skills/scanner-semgrep/SKILL.md +0 -10
- package/bundled/skills/scanner-skipfish/SKILL.md +0 -10
- package/bundled/skills/scanner-sonar/SKILL.md +0 -10
- package/bundled/skills/scanner-syft/SKILL.md +0 -10
- package/bundled/skills/scanner-trivy/SKILL.md +0 -10
- package/bundled/skills/sec-brainstorm/SKILL.md +0 -74
- package/bundled/skills/sec-clarify/SKILL.md +0 -53
- package/bundled/skills/sec-debug/SKILL.md +0 -94
- package/bundled/skills/sec-plan/SKILL.md +0 -101
- package/bundled/skills/sec-review/SKILL.md +0 -110
- package/bundled/skills/sec-review/code-reviewer-sec.md +0 -176
- package/bundled/skills/sec-using-skills/SKILL.md +0 -81
- package/bundled/skills/sec-verify/SKILL.md +0 -77
- package/bundled/skills/skill-mention.d.ts +0 -11
- package/bundled/skills/skill-mention.d.ts.map +0 -1
- package/bundled/skills/skill-mention.js +0 -11
- package/bundled/skills/skill-mention.js.map +0 -1
- package/bundled/skills/skill-mention.test.ts +0 -46
- package/bundled/skills/skill-mention.ts +0 -10
- package/bundled/theme/clear-terminal.d.ts +0 -3
- package/bundled/theme/clear-terminal.d.ts.map +0 -1
- package/bundled/theme/clear-terminal.js +0 -6
- package/bundled/theme/clear-terminal.js.map +0 -1
- package/bundled/theme/footer-render-hook.d.ts +0 -3
- package/bundled/theme/footer-render-hook.d.ts.map +0 -1
- package/bundled/theme/footer-render-hook.js +0 -8
- package/bundled/theme/footer-render-hook.js.map +0 -1
- package/bundled/theme/kubbisec-brand-fg.d.ts +0 -4
- package/bundled/theme/kubbisec-brand-fg.d.ts.map +0 -1
- package/bundled/theme/kubbisec-brand-fg.js +0 -7
- package/bundled/theme/kubbisec-brand-fg.js.map +0 -1
- package/bundled/theme/kubbisec-menu-themes.d.ts +0 -16
- package/bundled/theme/kubbisec-menu-themes.d.ts.map +0 -1
- package/bundled/theme/kubbisec-menu-themes.js +0 -46
- package/bundled/theme/kubbisec-menu-themes.js.map +0 -1
- package/bundled/theme/kubbisec-theme-name.d.ts +0 -2
- package/bundled/theme/kubbisec-theme-name.d.ts.map +0 -1
- package/bundled/theme/kubbisec-theme-name.js +0 -2
- package/bundled/theme/kubbisec-theme-name.js.map +0 -1
- package/bundled/theme/kubbisec.json +0 -93
- package/bundled/theme/patch-pi-settings-theme.runtime.d.ts +0 -3
- package/bundled/theme/patch-pi-settings-theme.runtime.d.ts.map +0 -1
- package/bundled/theme/patch-pi-settings-theme.runtime.js +0 -17
- package/bundled/theme/patch-pi-settings-theme.runtime.js.map +0 -1
- package/bundled/theme/render-compact-header.d.ts +0 -29
- package/bundled/theme/render-compact-header.d.ts.map +0 -1
- package/bundled/theme/render-compact-header.js +0 -195
- package/bundled/theme/render-compact-header.js.map +0 -1
- package/bundled/workflow/session-workflow-mode.d.ts +0 -10
- package/bundled/workflow/session-workflow-mode.d.ts.map +0 -1
- package/bundled/workflow/session-workflow-mode.js +0 -51
- package/bundled/workflow/session-workflow-mode.js.map +0 -1
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
import { readdirSync, statSync } from "node:fs";
|
|
2
|
-
import { basename, dirname, join, relative } from "node:path";
|
|
3
|
-
import type { AutocompleteItem } from "@earendil-works/pi-tui";
|
|
4
|
-
import {
|
|
5
|
-
extractAtPrefix,
|
|
6
|
-
parsePlanMentionPrefix,
|
|
7
|
-
parseSkillMentionPrefix,
|
|
8
|
-
} from "./chat-mentions.js";
|
|
9
|
-
|
|
10
|
-
function toDisplayPath(value: string): string {
|
|
11
|
-
return value.replace(/\\/g, "/");
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function parsePathPrefix(prefix: string): {
|
|
15
|
-
rawPrefix: string;
|
|
16
|
-
isAtPrefix: boolean;
|
|
17
|
-
isQuotedPrefix: boolean;
|
|
18
|
-
} {
|
|
19
|
-
if (prefix.startsWith('@"')) {
|
|
20
|
-
return { rawPrefix: prefix.slice(2), isAtPrefix: true, isQuotedPrefix: true };
|
|
21
|
-
}
|
|
22
|
-
if (prefix.startsWith('"')) {
|
|
23
|
-
return { rawPrefix: prefix.slice(1), isAtPrefix: false, isQuotedPrefix: true };
|
|
24
|
-
}
|
|
25
|
-
if (prefix.startsWith("@")) {
|
|
26
|
-
return { rawPrefix: prefix.slice(1), isAtPrefix: true, isQuotedPrefix: false };
|
|
27
|
-
}
|
|
28
|
-
return { rawPrefix: prefix, isAtPrefix: false, isQuotedPrefix: false };
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function buildCompletionValue(
|
|
32
|
-
path: string,
|
|
33
|
-
options: { isAtPrefix: boolean; isQuotedPrefix: boolean },
|
|
34
|
-
): string {
|
|
35
|
-
const needsQuotes = options.isQuotedPrefix || path.includes(" ");
|
|
36
|
-
const prefix = options.isAtPrefix ? "@" : "";
|
|
37
|
-
if (!needsQuotes) {
|
|
38
|
-
return `${prefix}${path}`;
|
|
39
|
-
}
|
|
40
|
-
const openQuote = `${prefix}"`;
|
|
41
|
-
return `${openQuote}${path}"`;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const DEPRIORITIZED_AT_PATH_NAMES = new Set([
|
|
45
|
-
"node_modules",
|
|
46
|
-
"dist",
|
|
47
|
-
"dist-bin",
|
|
48
|
-
".turbo",
|
|
49
|
-
".git",
|
|
50
|
-
"coverage",
|
|
51
|
-
"build",
|
|
52
|
-
".next",
|
|
53
|
-
".cache",
|
|
54
|
-
"tmp",
|
|
55
|
-
".venv",
|
|
56
|
-
"target",
|
|
57
|
-
]);
|
|
58
|
-
|
|
59
|
-
const PRIORITY_AT_PATH_DIRS = [
|
|
60
|
-
"src",
|
|
61
|
-
"lib",
|
|
62
|
-
"apps",
|
|
63
|
-
"packages",
|
|
64
|
-
"scripts",
|
|
65
|
-
"test",
|
|
66
|
-
"tests",
|
|
67
|
-
"docs",
|
|
68
|
-
"spec",
|
|
69
|
-
] as const;
|
|
70
|
-
|
|
71
|
-
const PRIORITY_AT_PATH_FILES = [
|
|
72
|
-
"package.json",
|
|
73
|
-
"README.md",
|
|
74
|
-
"readme.md",
|
|
75
|
-
"tsconfig.json",
|
|
76
|
-
"vitest.config.ts",
|
|
77
|
-
"Cargo.toml",
|
|
78
|
-
"go.mod",
|
|
79
|
-
"pyproject.toml",
|
|
80
|
-
"Makefile",
|
|
81
|
-
] as const;
|
|
82
|
-
|
|
83
|
-
function atPathSuggestionRank(label: string): number {
|
|
84
|
-
const name = label.replace(/\/$/, "");
|
|
85
|
-
if (
|
|
86
|
-
PRIORITY_AT_PATH_DIRS.includes(name as (typeof PRIORITY_AT_PATH_DIRS)[number]) ||
|
|
87
|
-
PRIORITY_AT_PATH_FILES.includes(name as (typeof PRIORITY_AT_PATH_FILES)[number])
|
|
88
|
-
) {
|
|
89
|
-
return 0;
|
|
90
|
-
}
|
|
91
|
-
if (DEPRIORITIZED_AT_PATH_NAMES.has(name)) {
|
|
92
|
-
return 3;
|
|
93
|
-
}
|
|
94
|
-
if (label.endsWith("/")) {
|
|
95
|
-
return 1;
|
|
96
|
-
}
|
|
97
|
-
return 2;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function sortAtPathSuggestions(items: AutocompleteItem[], rawPrefix: string): AutocompleteItem[] {
|
|
101
|
-
if (rawPrefix !== "") {
|
|
102
|
-
return items.sort((a, b) => {
|
|
103
|
-
const aIsDir = a.label.endsWith("/");
|
|
104
|
-
const bIsDir = b.label.endsWith("/");
|
|
105
|
-
if (aIsDir && !bIsDir) return -1;
|
|
106
|
-
if (!aIsDir && bIsDir) return 1;
|
|
107
|
-
return a.label.localeCompare(b.label);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return items.sort((a, b) => {
|
|
112
|
-
const rankDiff = atPathSuggestionRank(a.label) - atPathSuggestionRank(b.label);
|
|
113
|
-
if (rankDiff !== 0) return rankDiff;
|
|
114
|
-
return a.label.localeCompare(b.label);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/** `@` file attachment (not `@skill` / `@plan`). */
|
|
119
|
-
export function isAtFileAttachmentPrefix(atPrefix: string | null): boolean {
|
|
120
|
-
if (!atPrefix) return false;
|
|
121
|
-
if (parseSkillMentionPrefix(atPrefix)) return false;
|
|
122
|
-
if (parsePlanMentionPrefix(atPrefix)) return false;
|
|
123
|
-
return atPrefix.startsWith("@");
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/** List cwd-scoped entries for `@` / `@path` (Pi getFileSuggestions semantics). */
|
|
127
|
-
export function getAtPathFileSuggestions(cwd: string, atPrefix: string): AutocompleteItem[] {
|
|
128
|
-
try {
|
|
129
|
-
const { rawPrefix, isAtPrefix, isQuotedPrefix } = parsePathPrefix(atPrefix);
|
|
130
|
-
if (!isAtPrefix) return [];
|
|
131
|
-
|
|
132
|
-
let searchDir: string;
|
|
133
|
-
let searchPrefix: string;
|
|
134
|
-
const expandedPrefix = rawPrefix;
|
|
135
|
-
|
|
136
|
-
const isRootPrefix =
|
|
137
|
-
rawPrefix === "" ||
|
|
138
|
-
rawPrefix === "./" ||
|
|
139
|
-
rawPrefix === "../" ||
|
|
140
|
-
rawPrefix === "/" ||
|
|
141
|
-
(isAtPrefix && rawPrefix === "");
|
|
142
|
-
|
|
143
|
-
if (isRootPrefix) {
|
|
144
|
-
searchDir = join(cwd, expandedPrefix);
|
|
145
|
-
searchPrefix = "";
|
|
146
|
-
} else if (rawPrefix.endsWith("/")) {
|
|
147
|
-
searchDir = join(cwd, expandedPrefix);
|
|
148
|
-
searchPrefix = "";
|
|
149
|
-
} else {
|
|
150
|
-
searchDir = join(cwd, dirname(expandedPrefix));
|
|
151
|
-
searchPrefix = basename(expandedPrefix);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
const entries = readdirSync(searchDir, { withFileTypes: true });
|
|
155
|
-
const suggestions: AutocompleteItem[] = [];
|
|
156
|
-
const cwdLabel = toDisplayPath(relative(cwd, searchDir) || ".");
|
|
157
|
-
|
|
158
|
-
for (const entry of entries) {
|
|
159
|
-
if (!entry.name.toLowerCase().startsWith(searchPrefix.toLowerCase())) {
|
|
160
|
-
continue;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
let isDirectory = entry.isDirectory();
|
|
164
|
-
if (!isDirectory && entry.isSymbolicLink()) {
|
|
165
|
-
try {
|
|
166
|
-
isDirectory = statSync(join(searchDir, entry.name)).isDirectory();
|
|
167
|
-
} catch {
|
|
168
|
-
// broken symlink — treat as file
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
let relativePath: string;
|
|
173
|
-
const displayPrefix = rawPrefix;
|
|
174
|
-
const name = entry.name;
|
|
175
|
-
|
|
176
|
-
if (displayPrefix.endsWith("/")) {
|
|
177
|
-
relativePath = displayPrefix + name;
|
|
178
|
-
} else if (displayPrefix.includes("/")) {
|
|
179
|
-
relativePath = join(dirname(displayPrefix), name);
|
|
180
|
-
if (displayPrefix.startsWith("./") && !relativePath.startsWith("./")) {
|
|
181
|
-
relativePath = `./${relativePath}`;
|
|
182
|
-
}
|
|
183
|
-
} else {
|
|
184
|
-
relativePath = name;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
relativePath = toDisplayPath(relativePath);
|
|
188
|
-
const pathValue = isDirectory ? `${relativePath}/` : relativePath;
|
|
189
|
-
const value = buildCompletionValue(pathValue, { isAtPrefix, isQuotedPrefix });
|
|
190
|
-
const entryRelative = toDisplayPath(relative(cwd, join(searchDir, entry.name)));
|
|
191
|
-
|
|
192
|
-
suggestions.push({
|
|
193
|
-
value,
|
|
194
|
-
label: name + (isDirectory ? "/" : ""),
|
|
195
|
-
description:
|
|
196
|
-
searchDir === cwd && rawPrefix === "" ? entryRelative : `${cwdLabel}/${entryRelative}`,
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
return sortAtPathSuggestions(suggestions, rawPrefix);
|
|
201
|
-
} catch {
|
|
202
|
-
return [];
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export function extractAtFilePrefix(textBeforeCursor: string): string | null {
|
|
207
|
-
const atPrefix = extractAtPrefix(textBeforeCursor);
|
|
208
|
-
return isAtFileAttachmentPrefix(atPrefix) ? atPrefix : null;
|
|
209
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type MentionChipTheme = {
|
|
2
|
-
fg: (role: string, text: string) => string;
|
|
3
|
-
};
|
|
4
|
-
export declare function renderLineWithMentionChips(line: string, theme: MentionChipTheme): string;
|
|
5
|
-
export declare function logicalToVisibleCol(line: string, logicalCol: number): number;
|
|
6
|
-
export declare function visibleToLogicalCol(line: string, visibleCol: number): number;
|
|
7
|
-
//# sourceMappingURL=chat-mention-render.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-mention-render.d.ts","sourceRoot":"","sources":["../../src/skills/chat-mention-render.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAwIF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAIxF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAqB5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAqB5E"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { visibleWidth } from "@earendil-works/pi-tui";
|
|
2
|
-
import { PLAN_MENTION_ALIASES } from "./chat-mentions.js";
|
|
3
|
-
|
|
4
|
-
const SKILL_SLASH_RE = /\/skill:([a-z0-9_-]+)/gi;
|
|
5
|
-
const AT_SKILL_RE = /@skill\s+([^\s@/]+)/gi;
|
|
6
|
-
const PLAN_TOKEN_RE = /\/mode:plan\b/gi;
|
|
7
|
-
const AT_PLAN_PATTERN = PLAN_MENTION_ALIASES.map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))
|
|
8
|
-
.sort((a, b) => b.length - a.length)
|
|
9
|
-
.join("|");
|
|
10
|
-
const AT_PLAN_RE = new RegExp(`(?:^|[\\s"'=])(${AT_PLAN_PATTERN})(?=\\s|$)`, "gi");
|
|
11
|
-
const PLAN_VISIBLE_LABEL = "@plan";
|
|
12
|
-
function findNextMentionMatch(line, cursor) {
|
|
13
|
-
const candidates = [];
|
|
14
|
-
SKILL_SLASH_RE.lastIndex = cursor;
|
|
15
|
-
const slashMatch = SKILL_SLASH_RE.exec(line);
|
|
16
|
-
if (slashMatch?.index !== undefined) {
|
|
17
|
-
candidates.push({
|
|
18
|
-
index: slashMatch.index,
|
|
19
|
-
length: slashMatch[0].length,
|
|
20
|
-
span: { kind: "skill", name: slashMatch[1] ?? "", source: "slash" },
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
AT_SKILL_RE.lastIndex = cursor;
|
|
24
|
-
const atMatch = AT_SKILL_RE.exec(line);
|
|
25
|
-
if (atMatch?.index !== undefined) {
|
|
26
|
-
candidates.push({
|
|
27
|
-
index: atMatch.index,
|
|
28
|
-
length: atMatch[0].length,
|
|
29
|
-
span: { kind: "skill", name: atMatch[1] ?? "", source: "at" },
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
PLAN_TOKEN_RE.lastIndex = cursor;
|
|
33
|
-
const planMatch = PLAN_TOKEN_RE.exec(line);
|
|
34
|
-
if (planMatch?.index !== undefined) {
|
|
35
|
-
candidates.push({
|
|
36
|
-
index: planMatch.index,
|
|
37
|
-
length: planMatch[0].length,
|
|
38
|
-
span: { kind: "plan", logicalToken: planMatch[0] },
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
AT_PLAN_RE.lastIndex = cursor;
|
|
42
|
-
const atPlanMatch = AT_PLAN_RE.exec(line);
|
|
43
|
-
if (atPlanMatch?.index !== undefined) {
|
|
44
|
-
const token = atPlanMatch[1] ?? "@plan";
|
|
45
|
-
const leading = atPlanMatch[0].length - token.length;
|
|
46
|
-
const index = atPlanMatch.index + leading;
|
|
47
|
-
candidates.push({
|
|
48
|
-
index,
|
|
49
|
-
length: token.length,
|
|
50
|
-
span: { kind: "plan", logicalToken: token },
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
if (candidates.length === 0) return null;
|
|
54
|
-
return candidates.reduce((earliest, candidate) =>
|
|
55
|
-
candidate.index < earliest.index ? candidate : earliest,
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
function parseMentionSpans(line) {
|
|
59
|
-
const spans = [];
|
|
60
|
-
let cursor = 0;
|
|
61
|
-
while (cursor < line.length) {
|
|
62
|
-
const nextMatch = findNextMentionMatch(line, cursor);
|
|
63
|
-
if (!nextMatch) {
|
|
64
|
-
spans.push({ kind: "text", value: line.slice(cursor) });
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
if (nextMatch.index > cursor) {
|
|
68
|
-
spans.push({ kind: "text", value: line.slice(cursor, nextMatch.index) });
|
|
69
|
-
}
|
|
70
|
-
spans.push(nextMatch.span);
|
|
71
|
-
cursor = nextMatch.index + nextMatch.length;
|
|
72
|
-
}
|
|
73
|
-
if (spans.length === 0) {
|
|
74
|
-
spans.push({ kind: "text", value: line });
|
|
75
|
-
}
|
|
76
|
-
return spans;
|
|
77
|
-
}
|
|
78
|
-
function skillVisibleText(span) {
|
|
79
|
-
return span.source === "at" ? `@${span.name}` : span.name;
|
|
80
|
-
}
|
|
81
|
-
function skillLogicalText(span) {
|
|
82
|
-
return span.source === "at" ? `@skill ${span.name}` : `/skill:${span.name}`;
|
|
83
|
-
}
|
|
84
|
-
function renderSpan(span, theme) {
|
|
85
|
-
if (span.kind === "text") return span.value;
|
|
86
|
-
if (span.kind === "skill") {
|
|
87
|
-
const text = skillVisibleText(span);
|
|
88
|
-
try {
|
|
89
|
-
return theme.fg("accent", text);
|
|
90
|
-
} catch {
|
|
91
|
-
return theme.fg("text", text);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
try {
|
|
95
|
-
return theme.fg("planAccent", PLAN_VISIBLE_LABEL);
|
|
96
|
-
} catch {
|
|
97
|
-
return theme.fg("text", PLAN_VISIBLE_LABEL);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
function spanLogicalWidth(span) {
|
|
101
|
-
if (span.kind === "text") return span.value.length;
|
|
102
|
-
if (span.kind === "skill") return skillLogicalText(span).length;
|
|
103
|
-
return span.logicalToken.length;
|
|
104
|
-
}
|
|
105
|
-
function spanVisibleText(span) {
|
|
106
|
-
if (span.kind === "text") return span.value;
|
|
107
|
-
if (span.kind === "skill") return skillVisibleText(span);
|
|
108
|
-
return PLAN_VISIBLE_LABEL;
|
|
109
|
-
}
|
|
110
|
-
export function renderLineWithMentionChips(line, theme) {
|
|
111
|
-
return parseMentionSpans(line)
|
|
112
|
-
.map((span) => renderSpan(span, theme))
|
|
113
|
-
.join("");
|
|
114
|
-
}
|
|
115
|
-
export function logicalToVisibleCol(line, logicalCol) {
|
|
116
|
-
const clamped = Math.max(0, Math.min(logicalCol, line.length));
|
|
117
|
-
let logical = 0;
|
|
118
|
-
let visible = 0;
|
|
119
|
-
for (const span of parseMentionSpans(line)) {
|
|
120
|
-
const logicalLen = spanLogicalWidth(span);
|
|
121
|
-
const visibleLen = visibleWidth(spanVisibleText(span));
|
|
122
|
-
if (logical + logicalLen >= clamped) {
|
|
123
|
-
const offset = clamped - logical;
|
|
124
|
-
if (span.kind === "text") {
|
|
125
|
-
return visible + offset;
|
|
126
|
-
}
|
|
127
|
-
const ratio = logicalLen > 0 ? offset / logicalLen : 0;
|
|
128
|
-
return visible + Math.round(visibleLen * ratio);
|
|
129
|
-
}
|
|
130
|
-
logical += logicalLen;
|
|
131
|
-
visible += visibleLen;
|
|
132
|
-
}
|
|
133
|
-
return visible;
|
|
134
|
-
}
|
|
135
|
-
export function visibleToLogicalCol(line, visibleCol) {
|
|
136
|
-
const clamped = Math.max(0, visibleCol);
|
|
137
|
-
let logical = 0;
|
|
138
|
-
let visible = 0;
|
|
139
|
-
for (const span of parseMentionSpans(line)) {
|
|
140
|
-
const logicalLen = spanLogicalWidth(span);
|
|
141
|
-
const visibleLen = visibleWidth(spanVisibleText(span));
|
|
142
|
-
if (visible + visibleLen >= clamped) {
|
|
143
|
-
const offset = clamped - visible;
|
|
144
|
-
if (span.kind === "text") {
|
|
145
|
-
return logical + offset;
|
|
146
|
-
}
|
|
147
|
-
const ratio = visibleLen > 0 ? offset / visibleLen : 0;
|
|
148
|
-
return logical + Math.round(logicalLen * ratio);
|
|
149
|
-
}
|
|
150
|
-
logical += logicalLen;
|
|
151
|
-
visible += visibleLen;
|
|
152
|
-
}
|
|
153
|
-
return line.length;
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=chat-mention-render.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-mention-render.js","sourceRoot":"","sources":["../../src/skills/chat-mention-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import {
|
|
3
|
-
logicalToVisibleCol,
|
|
4
|
-
renderLineWithMentionChips,
|
|
5
|
-
visibleToLogicalCol,
|
|
6
|
-
} from "./chat-mention-render.js";
|
|
7
|
-
|
|
8
|
-
function mockTheme() {
|
|
9
|
-
return {
|
|
10
|
-
fg: vi.fn((role: string, text: string) => `[${role}]${text}[/]`),
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
describe("chat-mention-render", () => {
|
|
15
|
-
it("renders skill names with accent token", () => {
|
|
16
|
-
const theme = mockTheme();
|
|
17
|
-
renderLineWithMentionChips("/skill:naus-pipelines validate", theme);
|
|
18
|
-
expect(theme.fg).toHaveBeenCalledWith("accent", "naus-pipelines");
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it("renders plan chip with planAccent token", () => {
|
|
22
|
-
const theme = mockTheme();
|
|
23
|
-
renderLineWithMentionChips("/mode:plan scope", theme);
|
|
24
|
-
expect(theme.fg).toHaveBeenCalledWith("planAccent", "@plan");
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it("renders @plan and @planejar as @plan chip", () => {
|
|
28
|
-
const theme = mockTheme();
|
|
29
|
-
renderLineWithMentionChips("@plan scope", theme);
|
|
30
|
-
expect(theme.fg).toHaveBeenCalledWith("planAccent", "@plan");
|
|
31
|
-
theme.fg.mockClear();
|
|
32
|
-
renderLineWithMentionChips("@planejar scope", theme);
|
|
33
|
-
expect(theme.fg).toHaveBeenCalledWith("planAccent", "@plan");
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it("leaves lines without tokens unchanged", () => {
|
|
37
|
-
const theme = mockTheme();
|
|
38
|
-
expect(renderLineWithMentionChips("hello world", theme)).toBe("hello world");
|
|
39
|
-
expect(theme.fg).not.toHaveBeenCalled();
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it("maps logical cursor columns through chip width delta", () => {
|
|
43
|
-
const line = "/skill:remediation apply fix";
|
|
44
|
-
const afterSkill = logicalToVisibleCol(line, "/skill:remediation".length);
|
|
45
|
-
expect(afterSkill).toBe("remediation".length);
|
|
46
|
-
const roundTrip = visibleToLogicalCol(line, afterSkill);
|
|
47
|
-
expect(roundTrip).toBe("/skill:remediation".length);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("handles multiple skill chips", () => {
|
|
51
|
-
const theme = mockTheme();
|
|
52
|
-
renderLineWithMentionChips("/skill:a then /skill:b", theme);
|
|
53
|
-
expect(theme.fg).toHaveBeenCalledWith("accent", "a");
|
|
54
|
-
expect(theme.fg).toHaveBeenCalledWith("accent", "b");
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
it("renders @skill name as @name accent chip in the editor", () => {
|
|
58
|
-
const theme = mockTheme();
|
|
59
|
-
renderLineWithMentionChips("@skill aspm-platform validate", theme);
|
|
60
|
-
expect(theme.fg).toHaveBeenCalledWith("accent", "@aspm-platform");
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it("maps logical cursor columns for @skill mentions", () => {
|
|
64
|
-
const line = "@skill aspm-platform apply fix";
|
|
65
|
-
const afterMention = logicalToVisibleCol(line, "@skill aspm-platform".length);
|
|
66
|
-
expect(afterMention).toBe("@aspm-platform".length);
|
|
67
|
-
const roundTrip = visibleToLogicalCol(line, afterMention);
|
|
68
|
-
expect(roundTrip).toBe("@skill aspm-platform".length);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import { visibleWidth } from "@earendil-works/pi-tui";
|
|
2
|
-
import { PLAN_MENTION_ALIASES } from "./chat-mentions.js";
|
|
3
|
-
|
|
4
|
-
export type MentionChipTheme = {
|
|
5
|
-
fg: (role: string, text: string) => string;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
type MentionSpan =
|
|
9
|
-
| { kind: "text"; value: string }
|
|
10
|
-
| { kind: "skill"; name: string; source: "slash" | "at" }
|
|
11
|
-
| { kind: "plan"; logicalToken: string };
|
|
12
|
-
|
|
13
|
-
const SKILL_SLASH_RE = /\/skill:([a-z0-9_-]+)/gi;
|
|
14
|
-
const AT_SKILL_RE = /@skill\s+([^\s@/]+)/gi;
|
|
15
|
-
const PLAN_TOKEN_RE = /\/mode:plan\b/gi;
|
|
16
|
-
|
|
17
|
-
const AT_PLAN_PATTERN = PLAN_MENTION_ALIASES.map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))
|
|
18
|
-
.sort((a, b) => b.length - a.length)
|
|
19
|
-
.join("|");
|
|
20
|
-
const AT_PLAN_RE = new RegExp(`(?:^|[\\s"'=])(${AT_PLAN_PATTERN})(?=\\s|$)`, "gi");
|
|
21
|
-
|
|
22
|
-
const PLAN_VISIBLE_LABEL = "@plan";
|
|
23
|
-
|
|
24
|
-
function findNextMentionMatch(
|
|
25
|
-
line: string,
|
|
26
|
-
cursor: number,
|
|
27
|
-
): { index: number; length: number; span: MentionSpan } | null {
|
|
28
|
-
const candidates: Array<{ index: number; length: number; span: MentionSpan }> = [];
|
|
29
|
-
|
|
30
|
-
SKILL_SLASH_RE.lastIndex = cursor;
|
|
31
|
-
const slashMatch = SKILL_SLASH_RE.exec(line);
|
|
32
|
-
if (slashMatch?.index !== undefined) {
|
|
33
|
-
candidates.push({
|
|
34
|
-
index: slashMatch.index,
|
|
35
|
-
length: slashMatch[0].length,
|
|
36
|
-
span: { kind: "skill", name: slashMatch[1] ?? "", source: "slash" },
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
AT_SKILL_RE.lastIndex = cursor;
|
|
41
|
-
const atMatch = AT_SKILL_RE.exec(line);
|
|
42
|
-
if (atMatch?.index !== undefined) {
|
|
43
|
-
candidates.push({
|
|
44
|
-
index: atMatch.index,
|
|
45
|
-
length: atMatch[0].length,
|
|
46
|
-
span: { kind: "skill", name: atMatch[1] ?? "", source: "at" },
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
PLAN_TOKEN_RE.lastIndex = cursor;
|
|
51
|
-
const planMatch = PLAN_TOKEN_RE.exec(line);
|
|
52
|
-
if (planMatch?.index !== undefined) {
|
|
53
|
-
candidates.push({
|
|
54
|
-
index: planMatch.index,
|
|
55
|
-
length: planMatch[0].length,
|
|
56
|
-
span: { kind: "plan", logicalToken: planMatch[0] },
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
AT_PLAN_RE.lastIndex = cursor;
|
|
61
|
-
const atPlanMatch = AT_PLAN_RE.exec(line);
|
|
62
|
-
if (atPlanMatch?.index !== undefined) {
|
|
63
|
-
const token = atPlanMatch[1] ?? "@plan";
|
|
64
|
-
const leading = atPlanMatch[0].length - token.length;
|
|
65
|
-
const index = atPlanMatch.index + leading;
|
|
66
|
-
candidates.push({
|
|
67
|
-
index,
|
|
68
|
-
length: token.length,
|
|
69
|
-
span: { kind: "plan", logicalToken: token },
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (candidates.length === 0) return null;
|
|
74
|
-
return candidates.reduce((earliest, candidate) =>
|
|
75
|
-
candidate.index < earliest.index ? candidate : earliest,
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function parseMentionSpans(line: string): MentionSpan[] {
|
|
80
|
-
const spans: MentionSpan[] = [];
|
|
81
|
-
let cursor = 0;
|
|
82
|
-
|
|
83
|
-
while (cursor < line.length) {
|
|
84
|
-
const nextMatch = findNextMentionMatch(line, cursor);
|
|
85
|
-
|
|
86
|
-
if (!nextMatch) {
|
|
87
|
-
spans.push({ kind: "text", value: line.slice(cursor) });
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (nextMatch.index > cursor) {
|
|
92
|
-
spans.push({ kind: "text", value: line.slice(cursor, nextMatch.index) });
|
|
93
|
-
}
|
|
94
|
-
spans.push(nextMatch.span);
|
|
95
|
-
cursor = nextMatch.index + nextMatch.length;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (spans.length === 0) {
|
|
99
|
-
spans.push({ kind: "text", value: line });
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return spans;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function skillVisibleText(span: Extract<MentionSpan, { kind: "skill" }>): string {
|
|
106
|
-
return span.source === "at" ? `@${span.name}` : span.name;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function skillLogicalText(span: Extract<MentionSpan, { kind: "skill" }>): string {
|
|
110
|
-
return span.source === "at" ? `@skill ${span.name}` : `/skill:${span.name}`;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function renderSpan(span: MentionSpan, theme: MentionChipTheme): string {
|
|
114
|
-
if (span.kind === "text") return span.value;
|
|
115
|
-
if (span.kind === "skill") {
|
|
116
|
-
const text = skillVisibleText(span);
|
|
117
|
-
try {
|
|
118
|
-
return theme.fg("accent", text);
|
|
119
|
-
} catch {
|
|
120
|
-
return theme.fg("text", text);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
try {
|
|
124
|
-
return theme.fg("planAccent", PLAN_VISIBLE_LABEL);
|
|
125
|
-
} catch {
|
|
126
|
-
return theme.fg("text", PLAN_VISIBLE_LABEL);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function spanLogicalWidth(span: MentionSpan): number {
|
|
131
|
-
if (span.kind === "text") return span.value.length;
|
|
132
|
-
if (span.kind === "skill") return skillLogicalText(span).length;
|
|
133
|
-
return span.logicalToken.length;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
function spanVisibleText(span: MentionSpan): string {
|
|
137
|
-
if (span.kind === "text") return span.value;
|
|
138
|
-
if (span.kind === "skill") return skillVisibleText(span);
|
|
139
|
-
return PLAN_VISIBLE_LABEL;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export function renderLineWithMentionChips(line: string, theme: MentionChipTheme): string {
|
|
143
|
-
return parseMentionSpans(line)
|
|
144
|
-
.map((span) => renderSpan(span, theme))
|
|
145
|
-
.join("");
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
export function logicalToVisibleCol(line: string, logicalCol: number): number {
|
|
149
|
-
const clamped = Math.max(0, Math.min(logicalCol, line.length));
|
|
150
|
-
let logical = 0;
|
|
151
|
-
let visible = 0;
|
|
152
|
-
|
|
153
|
-
for (const span of parseMentionSpans(line)) {
|
|
154
|
-
const logicalLen = spanLogicalWidth(span);
|
|
155
|
-
const visibleLen = visibleWidth(spanVisibleText(span));
|
|
156
|
-
if (logical + logicalLen >= clamped) {
|
|
157
|
-
const offset = clamped - logical;
|
|
158
|
-
if (span.kind === "text") {
|
|
159
|
-
return visible + offset;
|
|
160
|
-
}
|
|
161
|
-
const ratio = logicalLen > 0 ? offset / logicalLen : 0;
|
|
162
|
-
return visible + Math.round(visibleLen * ratio);
|
|
163
|
-
}
|
|
164
|
-
logical += logicalLen;
|
|
165
|
-
visible += visibleLen;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return visible;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export function visibleToLogicalCol(line: string, visibleCol: number): number {
|
|
172
|
-
const clamped = Math.max(0, visibleCol);
|
|
173
|
-
let logical = 0;
|
|
174
|
-
let visible = 0;
|
|
175
|
-
|
|
176
|
-
for (const span of parseMentionSpans(line)) {
|
|
177
|
-
const logicalLen = spanLogicalWidth(span);
|
|
178
|
-
const visibleLen = visibleWidth(spanVisibleText(span));
|
|
179
|
-
if (visible + visibleLen >= clamped) {
|
|
180
|
-
const offset = clamped - visible;
|
|
181
|
-
if (span.kind === "text") {
|
|
182
|
-
return logical + offset;
|
|
183
|
-
}
|
|
184
|
-
const ratio = visibleLen > 0 ? offset / visibleLen : 0;
|
|
185
|
-
return logical + Math.round(logicalLen * ratio);
|
|
186
|
-
}
|
|
187
|
-
logical += logicalLen;
|
|
188
|
-
visible += visibleLen;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
return line.length;
|
|
192
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { AutocompleteItem } from "@earendil-works/pi-tui";
|
|
2
|
-
import type { KubbisecSkillEntry } from "./list-bundled-skills.js";
|
|
3
|
-
export declare const SKILL_MENTION_TOKEN = "@skill";
|
|
4
|
-
export declare const PLAN_MENTION_ALIASES: readonly ["@plan", "@planejar"];
|
|
5
|
-
/** Same token rules as Pi CombinedAutocompleteProvider.extractAtPrefix. */
|
|
6
|
-
export declare function extractAtPrefix(textBeforeCursor: string): string | null;
|
|
7
|
-
/** KubbiSec: `@skill` may include a space and partial name (not only the last @ token). */
|
|
8
|
-
export declare function extractSkillMentionPrefix(textBeforeCursor: string): string | null;
|
|
9
|
-
export declare function parseSkillMentionPrefix(atPrefix: string | null): {
|
|
10
|
-
query: string;
|
|
11
|
-
} | null;
|
|
12
|
-
export declare function parsePlanMentionPrefix(atPrefix: string | null): {
|
|
13
|
-
query: string;
|
|
14
|
-
} | null;
|
|
15
|
-
export declare function filterSkillSuggestions(
|
|
16
|
-
skills: KubbisecSkillEntry[],
|
|
17
|
-
query: string,
|
|
18
|
-
): AutocompleteItem[];
|
|
19
|
-
/** Pi expands `/skill:name` — map `@skill name` before submit. */
|
|
20
|
-
export declare function transformAtSkillMentions(text: string): string;
|
|
21
|
-
/** Legacy: map `@plan` / `@planejar` to `/mode:plan` (prefer session state + visible @plan). */
|
|
22
|
-
export declare function transformAtPlanMentions(text: string): string;
|
|
23
|
-
/** Apply @skill → /skill:name only. @plan stays visible; plan mode is set via session state. */
|
|
24
|
-
export declare function transformChatMentions(text: string): string;
|
|
25
|
-
export declare function messageActivatesPlanMode(text: string): boolean;
|
|
26
|
-
export declare function applySkillMentionCompletion(
|
|
27
|
-
lines: string[],
|
|
28
|
-
cursorLine: number,
|
|
29
|
-
cursorCol: number,
|
|
30
|
-
item: AutocompleteItem,
|
|
31
|
-
prefix: string,
|
|
32
|
-
): {
|
|
33
|
-
lines: string[];
|
|
34
|
-
cursorLine: number;
|
|
35
|
-
cursorCol: number;
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=chat-mentions.d.ts.map
|