memory-journal-mcp 8.0.1 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +278 -353
- package/dist/audit/audit-logger.d.ts +89 -0
- package/dist/audit/audit-logger.d.ts.map +1 -0
- package/dist/audit/audit-resource.d.ts +28 -0
- package/dist/audit/audit-resource.d.ts.map +1 -0
- package/dist/audit/index.d.ts +12 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/interceptor.d.ts +44 -0
- package/dist/audit/interceptor.d.ts.map +1 -0
- package/dist/audit/types.d.ts +68 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/auth/auth-context.d.ts +42 -0
- package/dist/auth/auth-context.d.ts.map +1 -0
- package/dist/auth/authorization-server-discovery.d.ts +90 -0
- package/dist/auth/authorization-server-discovery.d.ts.map +1 -0
- package/dist/auth/errors.d.ts +90 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/middleware.d.ts +77 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/oauth-resource-server.d.ts +73 -0
- package/dist/auth/oauth-resource-server.d.ts.map +1 -0
- package/dist/auth/scope-map.d.ts +14 -0
- package/dist/auth/scope-map.d.ts.map +1 -0
- package/dist/auth/scopes.d.ts +112 -0
- package/dist/auth/scopes.d.ts.map +1 -0
- package/dist/auth/token-validator.d.ts +64 -0
- package/dist/auth/token-validator.d.ts.map +1 -0
- package/dist/auth/transport-agnostic.d.ts +47 -0
- package/dist/auth/transport-agnostic.d.ts.map +1 -0
- package/dist/auth/types.d.ts +256 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/validation.d.ts +15 -0
- package/dist/auth/validation.d.ts.map +1 -0
- package/dist/chunk-4FZCHFB5.js +216 -0
- package/dist/chunk-D2FY6XS5.js +313 -0
- package/dist/chunk-E6IQP6PE.js +252 -0
- package/dist/chunk-FZLB6NAV.js +746 -0
- package/dist/chunk-LE6ZWUPK.js +2667 -0
- package/dist/chunk-SGJU2DHU.js +2102 -0
- package/dist/chunk-T7SROBBV.js +34066 -0
- package/dist/chunk-Y6MMKR2Z.js +3766 -0
- package/dist/cli/commands/admin.d.ts +123 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/analytics.d.ts +21 -0
- package/dist/cli/commands/analytics.d.ts.map +1 -0
- package/dist/cli/commands/entry-payload.d.ts +38 -0
- package/dist/cli/commands/entry-payload.d.ts.map +1 -0
- package/dist/cli/commands/entry.d.ts +130 -0
- package/dist/cli/commands/entry.d.ts.map +1 -0
- package/dist/cli/commands/exec.d.ts +31 -0
- package/dist/cli/commands/exec.d.ts.map +1 -0
- package/dist/cli/commands/io.d.ts +76 -0
- package/dist/cli/commands/io.d.ts.map +1 -0
- package/dist/cli/commands/project.d.ts +6 -0
- package/dist/cli/commands/project.d.ts.map +1 -0
- package/dist/cli/commands/search.d.ts +30 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/serve.d.ts +84 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/visualize.d.ts +20 -0
- package/dist/cli/commands/visualize.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +9 -0
- package/dist/cli/option-groups.d.ts +18 -0
- package/dist/cli/option-groups.d.ts.map +1 -0
- package/dist/cli/program.d.ts +7 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/schemas.d.ts +648 -0
- package/dist/cli/schemas.d.ts.map +1 -0
- package/dist/cli/server-options-builder.d.ts +13 -0
- package/dist/cli/server-options-builder.d.ts.map +1 -0
- package/dist/cli.js +9 -433
- package/dist/codemode/api/git-api.d.ts +9 -0
- package/dist/codemode/api/git-api.d.ts.map +1 -0
- package/dist/codemode/api/group-factory.d.ts +30 -0
- package/dist/codemode/api/group-factory.d.ts.map +1 -0
- package/dist/codemode/api/index.d.ts +10 -0
- package/dist/codemode/api/index.d.ts.map +1 -0
- package/dist/codemode/api/journal-api.d.ts +39 -0
- package/dist/codemode/api/journal-api.d.ts.map +1 -0
- package/dist/codemode/api/key-normalizer.d.ts +8 -0
- package/dist/codemode/api/key-normalizer.d.ts.map +1 -0
- package/dist/codemode/api/param-normalizer.d.ts +15 -0
- package/dist/codemode/api/param-normalizer.d.ts.map +1 -0
- package/dist/codemode/api/project-registry-ops.d.ts +26 -0
- package/dist/codemode/api/project-registry-ops.d.ts.map +1 -0
- package/dist/codemode/api/sandbox-bindings.d.ts +25 -0
- package/dist/codemode/api/sandbox-bindings.d.ts.map +1 -0
- package/dist/codemode/api/types.d.ts +21 -0
- package/dist/codemode/api/types.d.ts.map +1 -0
- package/dist/codemode/api-constants.d.ts +6 -0
- package/dist/codemode/api-constants.d.ts.map +1 -0
- package/dist/codemode/auto-return.d.ts +25 -0
- package/dist/codemode/auto-return.d.ts.map +1 -0
- package/dist/codemode/constants/examples-and-params.d.ts +31 -0
- package/dist/codemode/constants/examples-and-params.d.ts.map +1 -0
- package/dist/codemode/constants/method-aliases.d.ts +8 -0
- package/dist/codemode/constants/method-aliases.d.ts.map +1 -0
- package/dist/codemode/index.d.ts +12 -0
- package/dist/codemode/index.d.ts.map +1 -0
- package/dist/codemode/normalizers/domain-tool-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/domain-tool-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/entry-and-search-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/entry-and-search-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/generic-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/generic-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/github-and-backup-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/github-and-backup-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/shared-utils.d.ts +31 -0
- package/dist/codemode/normalizers/shared-utils.d.ts.map +1 -0
- package/dist/codemode/param-normalizer.d.ts +11 -0
- package/dist/codemode/param-normalizer.d.ts.map +1 -0
- package/dist/codemode/proxy-helpers.d.ts +34 -0
- package/dist/codemode/proxy-helpers.d.ts.map +1 -0
- package/dist/codemode/proxy-namespaces.d.ts +30 -0
- package/dist/codemode/proxy-namespaces.d.ts.map +1 -0
- package/dist/codemode/sandbox-factory.d.ts +52 -0
- package/dist/codemode/sandbox-factory.d.ts.map +1 -0
- package/dist/codemode/security.d.ts +54 -0
- package/dist/codemode/security.d.ts.map +1 -0
- package/dist/codemode/type-generator.d.ts +11 -0
- package/dist/codemode/type-generator.d.ts.map +1 -0
- package/dist/codemode/types.d.ts +165 -0
- package/dist/codemode/types.d.ts.map +1 -0
- package/dist/codemode/worker/mj-shim-domains.d.ts +15 -0
- package/dist/codemode/worker/mj-shim-domains.d.ts.map +1 -0
- package/dist/codemode/worker/mj-shim-proxy.d.ts +18 -0
- package/dist/codemode/worker/mj-shim-proxy.d.ts.map +1 -0
- package/dist/codemode/worker/namespace-shims.d.ts +32 -0
- package/dist/codemode/worker/namespace-shims.d.ts.map +1 -0
- package/dist/codemode/worker/node-shims.d.ts +65 -0
- package/dist/codemode/worker/node-shims.d.ts.map +1 -0
- package/dist/codemode/worker/prototype-hardening.d.ts +18 -0
- package/dist/codemode/worker/prototype-hardening.d.ts.map +1 -0
- package/dist/codemode/worker/result-compactor.d.ts +20 -0
- package/dist/codemode/worker/result-compactor.d.ts.map +1 -0
- package/dist/codemode/worker/sandbox-globals.d.ts +19 -0
- package/dist/codemode/worker/sandbox-globals.d.ts.map +1 -0
- package/dist/codemode/worker-api-proxy.d.ts +12 -0
- package/dist/codemode/worker-api-proxy.d.ts.map +1 -0
- package/dist/codemode/worker-result-proxy.d.ts +12 -0
- package/dist/codemode/worker-result-proxy.d.ts.map +1 -0
- package/dist/codemode/worker-sandbox.d.ts +58 -0
- package/dist/codemode/worker-sandbox.d.ts.map +1 -0
- package/dist/codemode/worker-script.d.ts +9 -0
- package/dist/codemode/worker-script.d.ts.map +1 -0
- package/dist/constants/icons.d.ts +58 -0
- package/dist/constants/icons.d.ts.map +1 -0
- package/dist/constants/instructions/admin.d.ts +2 -0
- package/dist/constants/instructions/admin.d.ts.map +1 -0
- package/dist/constants/instructions/analytics.d.ts +2 -0
- package/dist/constants/instructions/analytics.d.ts.map +1 -0
- package/dist/constants/instructions/backup.d.ts +2 -0
- package/dist/constants/instructions/backup.d.ts.map +1 -0
- package/dist/constants/instructions/base.d.ts +3 -0
- package/dist/constants/instructions/base.d.ts.map +1 -0
- package/dist/constants/instructions/codemode.d.ts +2 -0
- package/dist/constants/instructions/codemode.d.ts.map +1 -0
- package/dist/constants/instructions/core.d.ts +2 -0
- package/dist/constants/instructions/core.d.ts.map +1 -0
- package/dist/constants/instructions/git.d.ts +2 -0
- package/dist/constants/instructions/git.d.ts.map +1 -0
- package/dist/constants/instructions/github.d.ts +2 -0
- package/dist/constants/instructions/github.d.ts.map +1 -0
- package/dist/constants/instructions/gotchas.d.ts +2 -0
- package/dist/constants/instructions/gotchas.d.ts.map +1 -0
- package/dist/constants/instructions/io.d.ts +2 -0
- package/dist/constants/instructions/io.d.ts.map +1 -0
- package/dist/constants/instructions/relationships.d.ts +2 -0
- package/dist/constants/instructions/relationships.d.ts.map +1 -0
- package/dist/constants/instructions/search.d.ts +2 -0
- package/dist/constants/instructions/search.d.ts.map +1 -0
- package/dist/constants/instructions/team.d.ts +2 -0
- package/dist/constants/instructions/team.d.ts.map +1 -0
- package/dist/constants/instructions/templates.d.ts +2 -0
- package/dist/constants/instructions/templates.d.ts.map +1 -0
- package/dist/constants/server-instructions.d.ts +64 -0
- package/dist/constants/server-instructions.d.ts.map +1 -0
- package/dist/database/adapter-factory.d.ts +9 -0
- package/dist/database/adapter-factory.d.ts.map +1 -0
- package/dist/database/core/DatabaseAdapterProxy.d.ts +5 -0
- package/dist/database/core/DatabaseAdapterProxy.d.ts.map +1 -0
- package/dist/database/core/interfaces.d.ts +455 -0
- package/dist/database/core/interfaces.d.ts.map +1 -0
- package/dist/database/migrations/001-init.d.ts +3 -0
- package/dist/database/migrations/001-init.d.ts.map +1 -0
- package/dist/database/migrations/002-add-significance-and-context.d.ts +3 -0
- package/dist/database/migrations/002-add-significance-and-context.d.ts.map +1 -0
- package/dist/database/migrations/003-add-deleted-and-archived.d.ts +3 -0
- package/dist/database/migrations/003-add-deleted-and-archived.d.ts.map +1 -0
- package/dist/database/migrations/004-add-github-and-workflow-integration.d.ts +3 -0
- package/dist/database/migrations/004-add-github-and-workflow-integration.d.ts.map +1 -0
- package/dist/database/migrations/005-add-entry-revisions.d.ts +3 -0
- package/dist/database/migrations/005-add-entry-revisions.d.ts.map +1 -0
- package/dist/database/migrations/006-add-analytics-snapshots.d.ts +3 -0
- package/dist/database/migrations/006-add-analytics-snapshots.d.ts.map +1 -0
- package/dist/database/migrations/007-add-team-author.d.ts +3 -0
- package/dist/database/migrations/007-add-team-author.d.ts.map +1 -0
- package/dist/database/migrations/008-add-team-members.d.ts +3 -0
- package/dist/database/migrations/008-add-team-members.d.ts.map +1 -0
- package/dist/database/migrations/009-add-entry-version.d.ts +3 -0
- package/dist/database/migrations/009-add-entry-version.d.ts.map +1 -0
- package/dist/database/migrations/010-add-author-aliases.d.ts +3 -0
- package/dist/database/migrations/010-add-author-aliases.d.ts.map +1 -0
- package/dist/database/migrations/011-add-workspace-id.d.ts +3 -0
- package/dist/database/migrations/011-add-workspace-id.d.ts.map +1 -0
- package/dist/database/migrations/012-add-trust-and-anchors.d.ts +3 -0
- package/dist/database/migrations/012-add-trust-and-anchors.d.ts.map +1 -0
- package/dist/database/migrations/013-add-session-id.d.ts +3 -0
- package/dist/database/migrations/013-add-session-id.d.ts.map +1 -0
- package/dist/database/migrations/migration-list.d.ts +3 -0
- package/dist/database/migrations/migration-list.d.ts.map +1 -0
- package/dist/database/migrations/migration-manager.d.ts +14 -0
- package/dist/database/migrations/migration-manager.d.ts.map +1 -0
- package/dist/database/migrations/migration.d.ts +23 -0
- package/dist/database/migrations/migration.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/adapter-delegates.d.ts +161 -0
- package/dist/database/sqlite-adapter/adapter-delegates.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/aliases.d.ts +14 -0
- package/dist/database/sqlite-adapter/aliases.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/backup.d.ts +27 -0
- package/dist/database/sqlite-adapter/backup.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/database-adapter.d.ts +192 -0
- package/dist/database/sqlite-adapter/database-adapter.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/anchors.d.ts +9 -0
- package/dist/database/sqlite-adapter/entries/anchors.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/crud-read.d.ts +16 -0
- package/dist/database/sqlite-adapter/entries/crud-read.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/crud-write.d.ts +62 -0
- package/dist/database/sqlite-adapter/entries/crud-write.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/crud.d.ts +4 -0
- package/dist/database/sqlite-adapter/entries/crud.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/digest.d.ts +60 -0
- package/dist/database/sqlite-adapter/entries/digest.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/fuzzy-matcher.d.ts +27 -0
- package/dist/database/sqlite-adapter/entries/fuzzy-matcher.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/importance.d.ts +38 -0
- package/dist/database/sqlite-adapter/entries/importance.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/index.d.ts +186 -0
- package/dist/database/sqlite-adapter/entries/index.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/revisions.d.ts +16 -0
- package/dist/database/sqlite-adapter/entries/revisions.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/cursor.d.ts +15 -0
- package/dist/database/sqlite-adapter/entries/search/cursor.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/date-and-pagination.d.ts +37 -0
- package/dist/database/sqlite-adapter/entries/search/date-and-pagination.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/entity-lookups.d.ts +31 -0
- package/dist/database/sqlite-adapter/entries/search/entity-lookups.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/fts-and-hybrid.d.ts +44 -0
- package/dist/database/sqlite-adapter/entries/search/fts-and-hybrid.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/fts-sanitizer.d.ts +15 -0
- package/dist/database/sqlite-adapter/entries/search/fts-sanitizer.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/index.d.ts +8 -0
- package/dist/database/sqlite-adapter/entries/search/index.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/query.d.ts +4 -0
- package/dist/database/sqlite-adapter/entries/search/query.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/shared.d.ts +39 -0
- package/dist/database/sqlite-adapter/entries/shared.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/statistics.d.ts +3 -0
- package/dist/database/sqlite-adapter/entries/statistics.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/health-operations.d.ts +10 -0
- package/dist/database/sqlite-adapter/health-operations.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/index.d.ts +2 -0
- package/dist/database/sqlite-adapter/index.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights/cross-project.d.ts +42 -0
- package/dist/database/sqlite-adapter/insights/cross-project.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights/entry-digest-queries.d.ts +17 -0
- package/dist/database/sqlite-adapter/insights/entry-digest-queries.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights/team-collaboration.d.ts +29 -0
- package/dist/database/sqlite-adapter/insights/team-collaboration.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights-operations.d.ts +47 -0
- package/dist/database/sqlite-adapter/insights-operations.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/lifecycle-operations.d.ts +32 -0
- package/dist/database/sqlite-adapter/lifecycle-operations.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/members.d.ts +23 -0
- package/dist/database/sqlite-adapter/members.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/native-connection.d.ts +46 -0
- package/dist/database/sqlite-adapter/native-connection.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/relationships.d.ts +26 -0
- package/dist/database/sqlite-adapter/relationships.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/tags.d.ts +16 -0
- package/dist/database/sqlite-adapter/tags.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/vector-operations.d.ts +24 -0
- package/dist/database/sqlite-adapter/vector-operations.d.ts.map +1 -0
- package/dist/errors-MHAM6AKR.js +1 -0
- package/dist/filtering/tool-constants.d.ts +33 -0
- package/dist/filtering/tool-constants.d.ts.map +1 -0
- package/dist/filtering/tool-filter.d.ts +65 -0
- package/dist/filtering/tool-filter.d.ts.map +1 -0
- package/dist/fts-YHUVPPYF.js +2 -0
- package/dist/github/commit-references/enricher.d.ts +12 -0
- package/dist/github/commit-references/enricher.d.ts.map +1 -0
- package/dist/github/commit-references/index.d.ts +4 -0
- package/dist/github/commit-references/index.d.ts.map +1 -0
- package/dist/github/commit-references/parser.d.ts +10 -0
- package/dist/github/commit-references/parser.d.ts.map +1 -0
- package/dist/github/commit-references/resolver.d.ts +14 -0
- package/dist/github/commit-references/resolver.d.ts.map +1 -0
- package/dist/github/github-integration/client.d.ts +29 -0
- package/dist/github/github-integration/client.d.ts.map +1 -0
- package/dist/github/github-integration/index.d.ts +83 -0
- package/dist/github/github-integration/index.d.ts.map +1 -0
- package/dist/github/github-integration/insights.d.ts +11 -0
- package/dist/github/github-integration/insights.d.ts.map +1 -0
- package/dist/github/github-integration/issues.d.ts +25 -0
- package/dist/github/github-integration/issues.d.ts.map +1 -0
- package/dist/github/github-integration/milestones.d.ts +20 -0
- package/dist/github/github-integration/milestones.d.ts.map +1 -0
- package/dist/github/github-integration/projects.d.ts +21 -0
- package/dist/github/github-integration/projects.d.ts.map +1 -0
- package/dist/github/github-integration/pull-requests.d.ts +16 -0
- package/dist/github/github-integration/pull-requests.d.ts.map +1 -0
- package/dist/github/github-integration/repository.d.ts +14 -0
- package/dist/github/github-integration/repository.d.ts.map +1 -0
- package/dist/github/github-integration/types.d.ts +77 -0
- package/dist/github/github-integration/types.d.ts.map +1 -0
- package/dist/handlers/prompts/adversarial-helpers.d.ts +75 -0
- package/dist/handlers/prompts/adversarial-helpers.d.ts.map +1 -0
- package/dist/handlers/prompts/adversarial.d.ts +13 -0
- package/dist/handlers/prompts/adversarial.d.ts.map +1 -0
- package/dist/handlers/prompts/analytics.d.ts +12 -0
- package/dist/handlers/prompts/analytics.d.ts.map +1 -0
- package/dist/handlers/prompts/cms-supervisor.d.ts +8 -0
- package/dist/handlers/prompts/cms-supervisor.d.ts.map +1 -0
- package/dist/handlers/prompts/git.d.ts +8 -0
- package/dist/handlers/prompts/git.d.ts.map +1 -0
- package/dist/handlers/prompts/github.d.ts +12 -0
- package/dist/handlers/prompts/github.d.ts.map +1 -0
- package/dist/handlers/prompts/index.d.ts +53 -0
- package/dist/handlers/prompts/index.d.ts.map +1 -0
- package/dist/handlers/prompts/load-briefing.d.ts +3 -0
- package/dist/handlers/prompts/load-briefing.d.ts.map +1 -0
- package/dist/handlers/prompts/optimizer.d.ts +8 -0
- package/dist/handlers/prompts/optimizer.d.ts.map +1 -0
- package/dist/handlers/prompts/workflow.d.ts +15 -0
- package/dist/handlers/prompts/workflow.d.ts.map +1 -0
- package/dist/handlers/resources/core/agent-context.d.ts +4 -0
- package/dist/handlers/resources/core/agent-context.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/context-section.d.ts +57 -0
- package/dist/handlers/resources/core/briefing/context-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/github-repo-and-kanban.d.ts +57 -0
- package/dist/handlers/resources/core/briefing/github-repo-and-kanban.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/github-section.d.ts +88 -0
- package/dist/handlers/resources/core/briefing/github-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/index.d.ts +11 -0
- package/dist/handlers/resources/core/briefing/index.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/insights-section.d.ts +35 -0
- package/dist/handlers/resources/core/briefing/insights-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/system-section.d.ts +85 -0
- package/dist/handlers/resources/core/briefing/system-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/user-message.d.ts +46 -0
- package/dist/handlers/resources/core/briefing/user-message.d.ts.map +1 -0
- package/dist/handlers/resources/core/health.d.ts +3 -0
- package/dist/handlers/resources/core/health.d.ts.map +1 -0
- package/dist/handlers/resources/core/index.d.ts +6 -0
- package/dist/handlers/resources/core/index.d.ts.map +1 -0
- package/dist/handlers/resources/core/instructions.d.ts +3 -0
- package/dist/handlers/resources/core/instructions.d.ts.map +1 -0
- package/dist/handlers/resources/core/metrics-resource.d.ts +23 -0
- package/dist/handlers/resources/core/metrics-resource.d.ts.map +1 -0
- package/dist/handlers/resources/core/utilities.d.ts +7 -0
- package/dist/handlers/resources/core/utilities.d.ts.map +1 -0
- package/dist/handlers/resources/github.d.ts +11 -0
- package/dist/handlers/resources/github.d.ts.map +1 -0
- package/dist/handlers/resources/graph.d.ts +12 -0
- package/dist/handlers/resources/graph.d.ts.map +1 -0
- package/dist/handlers/resources/help.d.ts +39 -0
- package/dist/handlers/resources/help.d.ts.map +1 -0
- package/dist/handlers/resources/index.d.ts +37 -0
- package/dist/handlers/resources/index.d.ts.map +1 -0
- package/dist/handlers/resources/insights.d.ts +16 -0
- package/dist/handlers/resources/insights.d.ts.map +1 -0
- package/dist/handlers/resources/shared.d.ts +136 -0
- package/dist/handlers/resources/shared.d.ts.map +1 -0
- package/dist/handlers/resources/staleness.d.ts +3 -0
- package/dist/handlers/resources/staleness.d.ts.map +1 -0
- package/dist/handlers/resources/team.d.ts +6 -0
- package/dist/handlers/resources/team.d.ts.map +1 -0
- package/dist/handlers/resources/templates.d.ts +13 -0
- package/dist/handlers/resources/templates.d.ts.map +1 -0
- package/dist/handlers/resources/tools-catalog.d.ts +3 -0
- package/dist/handlers/resources/tools-catalog.d.ts.map +1 -0
- package/dist/handlers/tools/admin/batch-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/batch-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/core-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/core-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/index.d.ts +3 -0
- package/dist/handlers/tools/admin/index.d.ts.map +1 -0
- package/dist/handlers/tools/admin/lifecycle-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/lifecycle-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/misc-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/misc-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/project-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/project-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/schemas/crud-batch-schemas.d.ts +609 -0
- package/dist/handlers/tools/admin/schemas/crud-batch-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/admin/schemas/project-and-ops-schemas.d.ts +136 -0
- package/dist/handlers/tools/admin/schemas/project-and-ops-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/admin/schemas.d.ts +3 -0
- package/dist/handlers/tools/admin/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/admin/update_configuration.d.ts +36 -0
- package/dist/handlers/tools/admin/update_configuration.d.ts.map +1 -0
- package/dist/handlers/tools/admin/vector-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/vector-tools.d.ts.map +1 -0
- package/dist/handlers/tools/analytics.d.ts +8 -0
- package/dist/handlers/tools/analytics.d.ts.map +1 -0
- package/dist/handlers/tools/arg-interceptions.d.ts +51 -0
- package/dist/handlers/tools/arg-interceptions.d.ts.map +1 -0
- package/dist/handlers/tools/backup.d.ts +8 -0
- package/dist/handlers/tools/backup.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/code-healer.d.ts +11 -0
- package/dist/handlers/tools/codemode/code-healer.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/handler.d.ts +7 -0
- package/dist/handlers/tools/codemode/handler.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/index.d.ts +2 -0
- package/dist/handlers/tools/codemode/index.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/json-entry-recovery.d.ts +13 -0
- package/dist/handlers/tools/codemode/json-entry-recovery.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/payload-synthesizer.d.ts +17 -0
- package/dist/handlers/tools/codemode/payload-synthesizer.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/schemas.d.ts +77 -0
- package/dist/handlers/tools/codemode/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/secure-dispatcher.d.ts +25 -0
- package/dist/handlers/tools/codemode/secure-dispatcher.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/singleton-state.d.ts +11 -0
- package/dist/handlers/tools/codemode/singleton-state.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/sql-recovery.d.ts +14 -0
- package/dist/handlers/tools/codemode/sql-recovery.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/alias-catalog.d.ts +21 -0
- package/dist/handlers/tools/core/dummy-healing/alias-catalog.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/entry-fallbacks.d.ts +4 -0
- package/dist/handlers/tools/core/dummy-healing/entry-fallbacks.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/fs-fallbacks.d.ts +19 -0
- package/dist/handlers/tools/core/dummy-healing/fs-fallbacks.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/index.d.ts +7 -0
- package/dist/handlers/tools/core/dummy-healing/index.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/mcp-fallbacks.d.ts +12 -0
- package/dist/handlers/tools/core/dummy-healing/mcp-fallbacks.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing.d.ts +2 -0
- package/dist/handlers/tools/core/dummy-healing.d.ts.map +1 -0
- package/dist/handlers/tools/core/index.d.ts +5 -0
- package/dist/handlers/tools/core/index.d.ts.map +1 -0
- package/dist/handlers/tools/core/schemas.d.ts +417 -0
- package/dist/handlers/tools/core/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/core/staleness-tools.d.ts +33 -0
- package/dist/handlers/tools/core/staleness-tools.d.ts.map +1 -0
- package/dist/handlers/tools/core/tools.d.ts +3 -0
- package/dist/handlers/tools/core/tools.d.ts.map +1 -0
- package/dist/handlers/tools/error-fields-mixin.d.ts +10 -0
- package/dist/handlers/tools/error-fields-mixin.d.ts.map +1 -0
- package/dist/handlers/tools/git.d.ts +62 -0
- package/dist/handlers/tools/git.d.ts.map +1 -0
- package/dist/handlers/tools/github/close-issue-tool.d.ts +6 -0
- package/dist/handlers/tools/github/close-issue-tool.d.ts.map +1 -0
- package/dist/handlers/tools/github/copilot-tools.d.ts +8 -0
- package/dist/handlers/tools/github/copilot-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/create-issue-tool.d.ts +6 -0
- package/dist/handlers/tools/github/create-issue-tool.d.ts.map +1 -0
- package/dist/handlers/tools/github/helpers.d.ts +38 -0
- package/dist/handlers/tools/github/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/github/insights-tools.d.ts +8 -0
- package/dist/handlers/tools/github/insights-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/issue-tools.d.ts +11 -0
- package/dist/handlers/tools/github/issue-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/kanban-tools.d.ts +8 -0
- package/dist/handlers/tools/github/kanban-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/milestone-tools.d.ts +9 -0
- package/dist/handlers/tools/github/milestone-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/mutation-tools.d.ts +12 -0
- package/dist/handlers/tools/github/mutation-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/read-tools.d.ts +8 -0
- package/dist/handlers/tools/github/read-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/schemas.d.ts +823 -0
- package/dist/handlers/tools/github/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/github.d.ts +15 -0
- package/dist/handlers/tools/github.d.ts.map +1 -0
- package/dist/handlers/tools/index.d.ts +29 -0
- package/dist/handlers/tools/index.d.ts.map +1 -0
- package/dist/handlers/tools/io/index.d.ts +2 -0
- package/dist/handlers/tools/io/index.d.ts.map +1 -0
- package/dist/handlers/tools/io/schemas.d.ts +291 -0
- package/dist/handlers/tools/io/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/io/tools.d.ts +3 -0
- package/dist/handlers/tools/io/tools.d.ts.map +1 -0
- package/dist/handlers/tools/relationships.d.ts +8 -0
- package/dist/handlers/tools/relationships.d.ts.map +1 -0
- package/dist/handlers/tools/schemas/constants-and-primitives.d.ts +53 -0
- package/dist/handlers/tools/schemas/constants-and-primitives.d.ts.map +1 -0
- package/dist/handlers/tools/schemas/hallucination-healer.d.ts +8 -0
- package/dist/handlers/tools/schemas/hallucination-healer.d.ts.map +1 -0
- package/dist/handlers/tools/schemas/output-schemas.d.ts +247 -0
- package/dist/handlers/tools/schemas/output-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/schemas.d.ts +7 -0
- package/dist/handlers/tools/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/search/auto.d.ts +38 -0
- package/dist/handlers/tools/search/auto.d.ts.map +1 -0
- package/dist/handlers/tools/search/cross-team.d.ts +132 -0
- package/dist/handlers/tools/search/cross-team.d.ts.map +1 -0
- package/dist/handlers/tools/search/date-range-search.d.ts +3 -0
- package/dist/handlers/tools/search/date-range-search.d.ts.map +1 -0
- package/dist/handlers/tools/search/fts.d.ts +50 -0
- package/dist/handlers/tools/search/fts.d.ts.map +1 -0
- package/dist/handlers/tools/search/helpers.d.ts +52 -0
- package/dist/handlers/tools/search/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/search/hybrid.d.ts +45 -0
- package/dist/handlers/tools/search/hybrid.d.ts.map +1 -0
- package/dist/handlers/tools/search/index.d.ts +3 -0
- package/dist/handlers/tools/search/index.d.ts.map +1 -0
- package/dist/handlers/tools/search/misc-tools.d.ts +3 -0
- package/dist/handlers/tools/search/misc-tools.d.ts.map +1 -0
- package/dist/handlers/tools/search/schemas.d.ts +352 -0
- package/dist/handlers/tools/search/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/search/search-entries.d.ts +3 -0
- package/dist/handlers/tools/search/search-entries.d.ts.map +1 -0
- package/dist/handlers/tools/search/semantic-search.d.ts +3 -0
- package/dist/handlers/tools/search/semantic-search.d.ts.map +1 -0
- package/dist/handlers/tools/team/admin-tools/batch.d.ts +8 -0
- package/dist/handlers/tools/team/admin-tools/batch.d.ts.map +1 -0
- package/dist/handlers/tools/team/admin-tools/crud.d.ts +8 -0
- package/dist/handlers/tools/team/admin-tools/crud.d.ts.map +1 -0
- package/dist/handlers/tools/team/admin-tools/index.d.ts +9 -0
- package/dist/handlers/tools/team/admin-tools/index.d.ts.map +1 -0
- package/dist/handlers/tools/team/alias-tools.d.ts +3 -0
- package/dist/handlers/tools/team/alias-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/analytics-tools.d.ts +8 -0
- package/dist/handlers/tools/team/analytics-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/backup-tools.d.ts +8 -0
- package/dist/handlers/tools/team/backup-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/core-tools.d.ts +8 -0
- package/dist/handlers/tools/team/core-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/export-tools.d.ts +8 -0
- package/dist/handlers/tools/team/export-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/helpers.d.ts +30 -0
- package/dist/handlers/tools/team/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/team/index.d.ts +31 -0
- package/dist/handlers/tools/team/index.d.ts.map +1 -0
- package/dist/handlers/tools/team/io-tools.d.ts +11 -0
- package/dist/handlers/tools/team/io-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/member-tools.d.ts +8 -0
- package/dist/handlers/tools/team/member-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/rbac.d.ts +28 -0
- package/dist/handlers/tools/team/rbac.d.ts.map +1 -0
- package/dist/handlers/tools/team/relationship-tools.d.ts +8 -0
- package/dist/handlers/tools/team/relationship-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/admin-batch-schemas.d.ts +618 -0
- package/dist/handlers/tools/team/schemas/admin-batch-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/analytics-vector-schemas.d.ts +464 -0
- package/dist/handlers/tools/team/schemas/analytics-vector-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/core-search-schemas.d.ts +525 -0
- package/dist/handlers/tools/team/schemas/core-search-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/io-backup-schemas.d.ts +419 -0
- package/dist/handlers/tools/team/schemas/io-backup-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas.d.ts +8 -0
- package/dist/handlers/tools/team/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/search-tools.d.ts +8 -0
- package/dist/handlers/tools/team/search-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/vector-tools.d.ts +9 -0
- package/dist/handlers/tools/team/vector-tools.d.ts.map +1 -0
- package/dist/index.d.ts +10 -823
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -13
- package/dist/markdown/converters/index.d.ts +26 -0
- package/dist/markdown/converters/index.d.ts.map +1 -0
- package/dist/markdown/converters/logseq.d.ts +14 -0
- package/dist/markdown/converters/logseq.d.ts.map +1 -0
- package/dist/markdown/converters/notion.d.ts +14 -0
- package/dist/markdown/converters/notion.d.ts.map +1 -0
- package/dist/markdown/converters/obsidian.d.ts +14 -0
- package/dist/markdown/converters/obsidian.d.ts.map +1 -0
- package/dist/markdown/converters/utils.d.ts +4 -0
- package/dist/markdown/converters/utils.d.ts.map +1 -0
- package/dist/markdown/converters/yaml-parser.d.ts +32 -0
- package/dist/markdown/converters/yaml-parser.d.ts.map +1 -0
- package/dist/markdown/exporter.d.ts +54 -0
- package/dist/markdown/exporter.d.ts.map +1 -0
- package/dist/markdown/frontmatter.d.ts +47 -0
- package/dist/markdown/frontmatter.d.ts.map +1 -0
- package/dist/markdown/importer.d.ts +81 -0
- package/dist/markdown/importer.d.ts.map +1 -0
- package/dist/markdown/index.d.ts +14 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/observability/index.d.ts +19 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/interceptor.d.ts +27 -0
- package/dist/observability/interceptor.d.ts.map +1 -0
- package/dist/observability/latency-tracker.d.ts +47 -0
- package/dist/observability/latency-tracker.d.ts.map +1 -0
- package/dist/observability/metrics-server.d.ts +3 -0
- package/dist/observability/metrics-server.d.ts.map +1 -0
- package/dist/observability/metrics.d.ts +138 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/prometheus-formatter.d.ts +14 -0
- package/dist/observability/prometheus-formatter.d.ts.map +1 -0
- package/dist/observability/token-estimator.d.ts +44 -0
- package/dist/observability/token-estimator.d.ts.map +1 -0
- package/dist/security-utils-P4P6A2DG.js +2 -0
- package/dist/server/auto-prune.d.ts +48 -0
- package/dist/server/auto-prune.d.ts.map +1 -0
- package/dist/server/digest-reporter.d.ts +16 -0
- package/dist/server/digest-reporter.d.ts.map +1 -0
- package/dist/server/mcp-server/core.d.ts +3 -0
- package/dist/server/mcp-server/core.d.ts.map +1 -0
- package/dist/server/mcp-server/index.d.ts +4 -0
- package/dist/server/mcp-server/index.d.ts.map +1 -0
- package/dist/server/mcp-server/initialization.d.ts +13 -0
- package/dist/server/mcp-server/initialization.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/call-interceptor.d.ts +6 -0
- package/dist/server/mcp-server/tool-registration/call-interceptor.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/index.d.ts +4 -0
- package/dist/server/mcp-server/tool-registration/index.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/list-interceptor.d.ts +4 -0
- package/dist/server/mcp-server/tool-registration/list-interceptor.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/register-tools.d.ts +18 -0
- package/dist/server/mcp-server/tool-registration/register-tools.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration.d.ts +2 -0
- package/dist/server/mcp-server/tool-registration.d.ts.map +1 -0
- package/dist/server/mcp-server/types.d.ts +78 -0
- package/dist/server/mcp-server/types.d.ts.map +1 -0
- package/dist/server/registration.d.ts +73 -0
- package/dist/server/registration.d.ts.map +1 -0
- package/dist/server/scheduler.d.ts +129 -0
- package/dist/server/scheduler.d.ts.map +1 -0
- package/dist/server/subscription-manager.d.ts +46 -0
- package/dist/server/subscription-manager.d.ts.map +1 -0
- package/dist/tools-BOQV7QD3.js +6 -0
- package/dist/transports/http/handlers.d.ts +25 -0
- package/dist/transports/http/handlers.d.ts.map +1 -0
- package/dist/transports/http/index.d.ts +8 -0
- package/dist/transports/http/index.d.ts.map +1 -0
- package/dist/transports/http/security.d.ts +43 -0
- package/dist/transports/http/security.d.ts.map +1 -0
- package/dist/transports/http/server/http-transport.d.ts +25 -0
- package/dist/transports/http/server/http-transport.d.ts.map +1 -0
- package/dist/transports/http/server/index.d.ts +4 -0
- package/dist/transports/http/server/index.d.ts.map +1 -0
- package/dist/transports/http/server/legacy-sse.d.ts +30 -0
- package/dist/transports/http/server/legacy-sse.d.ts.map +1 -0
- package/dist/transports/http/server/protocol-handlers.d.ts +9 -0
- package/dist/transports/http/server/protocol-handlers.d.ts.map +1 -0
- package/dist/transports/http/types.d.ts +95 -0
- package/dist/transports/http/types.d.ts.map +1 -0
- package/dist/types/auto-context.d.ts +44 -0
- package/dist/types/auto-context.d.ts.map +1 -0
- package/dist/types/entities.d.ts +180 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/error-types.d.ts +48 -0
- package/dist/types/error-types.d.ts.map +1 -0
- package/dist/types/errors.d.ts +108 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/filtering.d.ts +34 -0
- package/dist/types/filtering.d.ts.map +1 -0
- package/dist/types/github.d.ts +202 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/index.d.ts +326 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/config-manager.d.ts +24 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-resolver.d.ts +41 -0
- package/dist/utils/config-resolver.d.ts.map +1 -0
- package/dist/utils/error-helpers.d.ts +38 -0
- package/dist/utils/error-helpers.d.ts.map +1 -0
- package/dist/utils/errors/error-response-fields.d.ts +28 -0
- package/dist/utils/errors/error-response-fields.d.ts.map +1 -0
- package/dist/utils/errors/suggestions.d.ts +29 -0
- package/dist/utils/errors/suggestions.d.ts.map +1 -0
- package/dist/utils/github-helpers.d.ts +12 -0
- package/dist/utils/github-helpers.d.ts.map +1 -0
- package/dist/utils/issue-logger.d.ts +10 -0
- package/dist/utils/issue-logger.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +30 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/maintenance-lock.d.ts +34 -0
- package/dist/utils/maintenance-lock.d.ts.map +1 -0
- package/dist/utils/mcp-logger.d.ts +73 -0
- package/dist/utils/mcp-logger.d.ts.map +1 -0
- package/dist/utils/progress-utils.d.ts +53 -0
- package/dist/utils/progress-utils.d.ts.map +1 -0
- package/dist/utils/query-helpers.d.ts +43 -0
- package/dist/utils/query-helpers.d.ts.map +1 -0
- package/dist/utils/request-context.d.ts +9 -0
- package/dist/utils/request-context.d.ts.map +1 -0
- package/dist/utils/resource-annotations.d.ts +36 -0
- package/dist/utils/resource-annotations.d.ts.map +1 -0
- package/dist/utils/security-utils.d.ts +113 -0
- package/dist/utils/security-utils.d.ts.map +1 -0
- package/dist/utils/vector-index-helpers.d.ts +14 -0
- package/dist/utils/vector-index-helpers.d.ts.map +1 -0
- package/dist/utils/workspace-resolver.d.ts +40 -0
- package/dist/utils/workspace-resolver.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/VectorSearchManagerProxy.d.ts +5 -0
- package/dist/vector/vector-search-manager/VectorSearchManagerProxy.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/index.d.ts +3 -0
- package/dist/vector/vector-search-manager/index.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/manager.d.ts +75 -0
- package/dist/vector/vector-search-manager/manager.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/rebuild.d.ts +20 -0
- package/dist/vector/vector-search-manager/rebuild.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/types.d.ts +12 -0
- package/dist/vector/vector-search-manager/types.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/agent-exec.d.ts +2 -0
- package/dist/vendor/lib-agent-exec/agent-exec.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/command-builder.d.ts +11 -0
- package/dist/vendor/lib-agent-exec/command-builder.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/command-utils.d.ts +29 -0
- package/dist/vendor/lib-agent-exec/command-utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/environment.d.ts +4 -0
- package/dist/vendor/lib-agent-exec/environment.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/eval-healer.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/eval-healer.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/execution-engine.d.ts +4 -0
- package/dist/vendor/lib-agent-exec/execution-engine.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/help.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/help.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/cloud-cli-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/cloud-cli-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/docker-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/docker-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/git-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/git-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/index.d.ts +9 -0
- package/dist/vendor/lib-agent-exec/interceptors/index.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/mutating-interceptors.d.ts +7 -0
- package/dist/vendor/lib-agent-exec/interceptors/mutating-interceptors.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/package-manager-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/package-manager-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/repl-tui-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/repl-tui-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/search-interceptor.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/interceptors/search-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/structural-interceptors.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/interceptors/structural-interceptors.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/system-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/system-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/types.d.ts +11 -0
- package/dist/vendor/lib-agent-exec/interceptors/types.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/utils.d.ts +5 -0
- package/dist/vendor/lib-agent-exec/interceptors/utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/io-controller.d.ts +48 -0
- package/dist/vendor/lib-agent-exec/io-controller.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/io-utils.d.ts +12 -0
- package/dist/vendor/lib-agent-exec/io-utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/path-healer.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/path-healer.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/process-controller.d.ts +38 -0
- package/dist/vendor/lib-agent-exec/process-controller.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/process-manager.d.ts +6 -0
- package/dist/vendor/lib-agent-exec/process-manager.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/prompt-detector.d.ts +2 -0
- package/dist/vendor/lib-agent-exec/prompt-detector.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/schema.d.ts +182 -0
- package/dist/vendor/lib-agent-exec/schema.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/stream-manager.d.ts +20 -0
- package/dist/vendor/lib-agent-exec/stream-manager.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/utils.d.ts +17 -0
- package/dist/vendor/lib-agent-exec/utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/webhook-template.d.ts +2 -0
- package/dist/vendor/lib-agent-exec/webhook-template.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/cache.d.ts +56 -0
- package/dist/vendor/lib-git-history/cache.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/cli.d.ts +147 -0
- package/dist/vendor/lib-git-history/cli.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/constants.d.ts +36 -0
- package/dist/vendor/lib-git-history/constants.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/git-numstat.d.ts +7 -0
- package/dist/vendor/lib-git-history/git-numstat.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/git-patch.d.ts +3 -0
- package/dist/vendor/lib-git-history/git-patch.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/git-runner.d.ts +25 -0
- package/dist/vendor/lib-git-history/git-runner.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-batch.d.ts +5 -0
- package/dist/vendor/lib-git-history/parser-batch.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-metadata.d.ts +3 -0
- package/dist/vendor/lib-git-history/parser-metadata.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-record.d.ts +37 -0
- package/dist/vendor/lib-git-history/parser-record.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-utils.d.ts +22 -0
- package/dist/vendor/lib-git-history/parser-utils.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser.d.ts +4 -0
- package/dist/vendor/lib-git-history/parser.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/schema.d.ts +131 -0
- package/dist/vendor/lib-git-history/schema.d.ts.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/worker-script.js +2937 -342
- package/package.json +130 -106
- package/skills/memory-journal-mcp/SKILL.md +41 -0
- package/dist/chunk-6OHRCNYW.js +0 -3231
- package/dist/chunk-JFMITANR.js +0 -5168
- package/dist/chunk-UHSO65A4.js +0 -8937
- package/dist/chunk-V3UTFQQK.js +0 -5538
- package/dist/cli.d.ts +0 -2
- package/dist/resources-IJVKDFGS.js +0 -2
- package/dist/tools-44DGXE3V.js +0 -2
- package/dist/worker-script.d.ts +0 -2
- package/skills/README.md +0 -121
- package/skills/adversarial-performance/SKILL.md +0 -139
- package/skills/adversarial-performance/references/audit-categories.md +0 -462
- package/skills/adversarial-performance/references/copilot-performance-prompts.md +0 -44
- package/skills/adversarial-performance/references/copilot-usage.md +0 -16
- package/skills/adversarial-performance/references/feedback-loop.md +0 -177
- package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +0 -398
- package/skills/adversarial-planner/SKILL.md +0 -89
- package/skills/adversarial-planner/references/copilot-integration.md +0 -83
- package/skills/adversarial-planner/references/copilot-usage.md +0 -16
- package/skills/adversarial-planner/references/feedback-loop.md +0 -148
- package/skills/adversarial-planner/references/multi-pass-protocol.md +0 -229
- package/skills/adversarial-security/SKILL.md +0 -149
- package/skills/adversarial-security/references/adversarial-base-protocol.md +0 -44
- package/skills/adversarial-security/references/audit-categories.md +0 -723
- package/skills/adversarial-security/references/copilot-security-prompts.md +0 -142
- package/skills/adversarial-security/references/copilot-usage.md +0 -16
- package/skills/adversarial-security/references/feedback-loop.md +0 -206
- package/skills/adversarial-security/references/journal-opt-out.md +0 -7
- package/skills/adversarial-security/references/multi-pass-security-protocol.md +0 -403
- package/skills/adversarial-skill-audit/SKILL.md +0 -118
- package/skills/adversarial-skill-audit/references/audit-categories.md +0 -308
- package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +0 -68
- package/skills/adversarial-skill-audit/references/copilot-usage.md +0 -16
- package/skills/adversarial-skill-audit/references/feedback-loop.md +0 -155
- package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +0 -367
- package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +0 -48
- package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +0 -52
- package/skills/adversarial-workflow-audit/SKILL.md +0 -82
- package/skills/adversarial-workflow-audit/references/audit-categories.md +0 -28
- package/skills/adversarial-workflow-audit/references/copilot-usage.md +0 -16
- package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +0 -24
- package/skills/agents-sdk/SKILL.md +0 -220
- package/skills/agents-sdk/references/callable.md +0 -92
- package/skills/agents-sdk/references/codemode.md +0 -209
- package/skills/agents-sdk/references/email.md +0 -144
- package/skills/agents-sdk/references/mcp/SKILL.md +0 -65
- package/skills/agents-sdk/references/mcp/code-mode-reference.md +0 -245
- package/skills/agents-sdk/references/mcp/oauth-reference.md +0 -359
- package/skills/agents-sdk/references/mcp/references/architecture-reference.md +0 -208
- package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +0 -156
- package/skills/agents-sdk/references/mcp/references/error-handling.md +0 -343
- package/skills/agents-sdk/references/mcp/references/http-security.md +0 -164
- package/skills/agents-sdk/references/mcp/references/implementation-guide.md +0 -507
- package/skills/agents-sdk/references/mcp/references/testing-reference.md +0 -171
- package/skills/agents-sdk/references/mcp.md +0 -157
- package/skills/agents-sdk/references/state-scheduling.md +0 -164
- package/skills/agents-sdk/references/streaming-chat.md +0 -168
- package/skills/agents-sdk/references/workflows.md +0 -136
- package/skills/auth-identity/SKILL.md +0 -48
- package/skills/autonomous-dev/SKILL.md +0 -79
- package/skills/autonomous-dev/references/workflow_orchestration.md +0 -22
- package/skills/aws/SKILL.md +0 -39
- package/skills/azure/SKILL.md +0 -38
- package/skills/bin/sync.js +0 -56
- package/skills/biome/SKILL.md +0 -59
- package/skills/bun/SKILL.md +0 -162
- package/skills/cloudflare/SKILL.md +0 -37
- package/skills/cloudflare/references/agents-sdk/README.md +0 -95
- package/skills/cloudflare/references/agents-sdk/api.md +0 -195
- package/skills/cloudflare/references/agents-sdk/configuration.md +0 -178
- package/skills/cloudflare/references/agents-sdk/gotchas.md +0 -173
- package/skills/cloudflare/references/agents-sdk/patterns.md +0 -215
- package/skills/cloudflare/references/ai-gateway/README.md +0 -176
- package/skills/cloudflare/references/ai-gateway/configuration.md +0 -117
- package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +0 -88
- package/skills/cloudflare/references/ai-gateway/features.md +0 -96
- package/skills/cloudflare/references/ai-gateway/sdk-integration.md +0 -110
- package/skills/cloudflare/references/ai-gateway/troubleshooting.md +0 -90
- package/skills/cloudflare/references/ai-search/README.md +0 -145
- package/skills/cloudflare/references/ai-search/api.md +0 -87
- package/skills/cloudflare/references/ai-search/configuration.md +0 -91
- package/skills/cloudflare/references/ai-search/gotchas.md +0 -92
- package/skills/cloudflare/references/ai-search/patterns.md +0 -87
- package/skills/cloudflare/references/analytics-engine/README.md +0 -96
- package/skills/cloudflare/references/analytics-engine/api.md +0 -112
- package/skills/cloudflare/references/analytics-engine/configuration.md +0 -107
- package/skills/cloudflare/references/analytics-engine/gotchas.md +0 -87
- package/skills/cloudflare/references/analytics-engine/patterns.md +0 -83
- package/skills/cloudflare/references/api/README.md +0 -66
- package/skills/cloudflare/references/api/api.md +0 -205
- package/skills/cloudflare/references/api/configuration.md +0 -158
- package/skills/cloudflare/references/api/gotchas.md +0 -231
- package/skills/cloudflare/references/api/patterns.md +0 -208
- package/skills/cloudflare/references/api-shield/README.md +0 -44
- package/skills/cloudflare/references/api-shield/api.md +0 -153
- package/skills/cloudflare/references/api-shield/configuration.md +0 -210
- package/skills/cloudflare/references/api-shield/gotchas.md +0 -132
- package/skills/cloudflare/references/api-shield/patterns.md +0 -185
- package/skills/cloudflare/references/argo-smart-routing/README.md +0 -96
- package/skills/cloudflare/references/argo-smart-routing/api.md +0 -253
- package/skills/cloudflare/references/argo-smart-routing/configuration.md +0 -205
- package/skills/cloudflare/references/argo-smart-routing/gotchas.md +0 -115
- package/skills/cloudflare/references/argo-smart-routing/patterns.md +0 -107
- package/skills/cloudflare/references/bindings/README.md +0 -127
- package/skills/cloudflare/references/bindings/api.md +0 -214
- package/skills/cloudflare/references/bindings/configuration.md +0 -200
- package/skills/cloudflare/references/bindings/gotchas.md +0 -210
- package/skills/cloudflare/references/bindings/patterns.md +0 -205
- package/skills/cloudflare/references/bot-management/README.md +0 -95
- package/skills/cloudflare/references/bot-management/api.md +0 -175
- package/skills/cloudflare/references/bot-management/configuration.md +0 -175
- package/skills/cloudflare/references/bot-management/gotchas.md +0 -116
- package/skills/cloudflare/references/bot-management/patterns.md +0 -181
- package/skills/cloudflare/references/browser-rendering/README.md +0 -84
- package/skills/cloudflare/references/browser-rendering/api.md +0 -108
- package/skills/cloudflare/references/browser-rendering/configuration.md +0 -78
- package/skills/cloudflare/references/browser-rendering/gotchas.md +0 -91
- package/skills/cloudflare/references/browser-rendering/patterns.md +0 -93
- package/skills/cloudflare/references/c3/README.md +0 -111
- package/skills/cloudflare/references/c3/api.md +0 -71
- package/skills/cloudflare/references/c3/configuration.md +0 -85
- package/skills/cloudflare/references/c3/gotchas.md +0 -97
- package/skills/cloudflare/references/c3/patterns.md +0 -84
- package/skills/cloudflare/references/cache-reserve/README.md +0 -150
- package/skills/cloudflare/references/cache-reserve/api.md +0 -184
- package/skills/cloudflare/references/cache-reserve/configuration.md +0 -170
- package/skills/cloudflare/references/cache-reserve/gotchas.md +0 -136
- package/skills/cloudflare/references/cache-reserve/patterns.md +0 -197
- package/skills/cloudflare/references/containers/README.md +0 -87
- package/skills/cloudflare/references/containers/api.md +0 -197
- package/skills/cloudflare/references/containers/configuration.md +0 -191
- package/skills/cloudflare/references/containers/gotchas.md +0 -182
- package/skills/cloudflare/references/containers/patterns.md +0 -204
- package/skills/cloudflare/references/cron-triggers/README.md +0 -101
- package/skills/cloudflare/references/cron-triggers/api.md +0 -224
- package/skills/cloudflare/references/cron-triggers/configuration.md +0 -190
- package/skills/cloudflare/references/cron-triggers/gotchas.md +0 -207
- package/skills/cloudflare/references/cron-triggers/patterns.md +0 -274
- package/skills/cloudflare/references/d1/README.md +0 -137
- package/skills/cloudflare/references/d1/api.md +0 -213
- package/skills/cloudflare/references/d1/configuration.md +0 -198
- package/skills/cloudflare/references/d1/gotchas.md +0 -98
- package/skills/cloudflare/references/d1/patterns.md +0 -240
- package/skills/cloudflare/references/ddos/README.md +0 -42
- package/skills/cloudflare/references/ddos/api.md +0 -158
- package/skills/cloudflare/references/ddos/configuration.md +0 -94
- package/skills/cloudflare/references/ddos/gotchas.md +0 -114
- package/skills/cloudflare/references/ddos/patterns.md +0 -220
- package/skills/cloudflare/references/decision-trees.md +0 -95
- package/skills/cloudflare/references/do-storage/README.md +0 -79
- package/skills/cloudflare/references/do-storage/api.md +0 -107
- package/skills/cloudflare/references/do-storage/configuration.md +0 -114
- package/skills/cloudflare/references/do-storage/gotchas.md +0 -153
- package/skills/cloudflare/references/do-storage/patterns.md +0 -210
- package/skills/cloudflare/references/do-storage/testing.md +0 -186
- package/skills/cloudflare/references/durable-objects/README.md +0 -194
- package/skills/cloudflare/references/durable-objects/api.md +0 -205
- package/skills/cloudflare/references/durable-objects/configuration.md +0 -160
- package/skills/cloudflare/references/durable-objects/gotchas.md +0 -200
- package/skills/cloudflare/references/durable-objects/patterns.md +0 -205
- package/skills/cloudflare/references/email-routing/README.md +0 -89
- package/skills/cloudflare/references/email-routing/api.md +0 -192
- package/skills/cloudflare/references/email-routing/configuration.md +0 -187
- package/skills/cloudflare/references/email-routing/gotchas.md +0 -203
- package/skills/cloudflare/references/email-routing/patterns.md +0 -241
- package/skills/cloudflare/references/email-workers/README.md +0 -153
- package/skills/cloudflare/references/email-workers/api.md +0 -227
- package/skills/cloudflare/references/email-workers/configuration.md +0 -115
- package/skills/cloudflare/references/email-workers/gotchas.md +0 -133
- package/skills/cloudflare/references/email-workers/patterns.md +0 -108
- package/skills/cloudflare/references/graphql-api/README.md +0 -147
- package/skills/cloudflare/references/graphql-api/api.md +0 -175
- package/skills/cloudflare/references/graphql-api/configuration.md +0 -151
- package/skills/cloudflare/references/graphql-api/gotchas.md +0 -111
- package/skills/cloudflare/references/graphql-api/patterns.md +0 -276
- package/skills/cloudflare/references/hyperdrive/README.md +0 -84
- package/skills/cloudflare/references/hyperdrive/api.md +0 -149
- package/skills/cloudflare/references/hyperdrive/configuration.md +0 -166
- package/skills/cloudflare/references/hyperdrive/gotchas.md +0 -77
- package/skills/cloudflare/references/hyperdrive/patterns.md +0 -203
- package/skills/cloudflare/references/images/README.md +0 -65
- package/skills/cloudflare/references/images/api.md +0 -101
- package/skills/cloudflare/references/images/configuration.md +0 -206
- package/skills/cloudflare/references/images/gotchas.md +0 -106
- package/skills/cloudflare/references/images/patterns.md +0 -126
- package/skills/cloudflare/references/kv/README.md +0 -90
- package/skills/cloudflare/references/kv/api.md +0 -163
- package/skills/cloudflare/references/kv/configuration.md +0 -148
- package/skills/cloudflare/references/kv/gotchas.md +0 -133
- package/skills/cloudflare/references/kv/patterns.md +0 -195
- package/skills/cloudflare/references/miniflare/README.md +0 -113
- package/skills/cloudflare/references/miniflare/api.md +0 -204
- package/skills/cloudflare/references/miniflare/configuration.md +0 -174
- package/skills/cloudflare/references/miniflare/gotchas.md +0 -179
- package/skills/cloudflare/references/miniflare/patterns.md +0 -187
- package/skills/cloudflare/references/network-interconnect/README.md +0 -104
- package/skills/cloudflare/references/network-interconnect/api.md +0 -220
- package/skills/cloudflare/references/network-interconnect/configuration.md +0 -123
- package/skills/cloudflare/references/network-interconnect/gotchas.md +0 -175
- package/skills/cloudflare/references/network-interconnect/patterns.md +0 -174
- package/skills/cloudflare/references/observability/README.md +0 -93
- package/skills/cloudflare/references/observability/api.md +0 -168
- package/skills/cloudflare/references/observability/configuration.md +0 -178
- package/skills/cloudflare/references/observability/gotchas.md +0 -125
- package/skills/cloudflare/references/observability/patterns.md +0 -105
- package/skills/cloudflare/references/pages/README.md +0 -92
- package/skills/cloudflare/references/pages/api.md +0 -205
- package/skills/cloudflare/references/pages/configuration.md +0 -216
- package/skills/cloudflare/references/pages/gotchas.md +0 -218
- package/skills/cloudflare/references/pages/patterns.md +0 -215
- package/skills/cloudflare/references/pages-functions/README.md +0 -104
- package/skills/cloudflare/references/pages-functions/api.md +0 -159
- package/skills/cloudflare/references/pages-functions/configuration.md +0 -130
- package/skills/cloudflare/references/pages-functions/gotchas.md +0 -102
- package/skills/cloudflare/references/pages-functions/patterns.md +0 -148
- package/skills/cloudflare/references/pipelines/README.md +0 -109
- package/skills/cloudflare/references/pipelines/api.md +0 -214
- package/skills/cloudflare/references/pipelines/configuration.md +0 -98
- package/skills/cloudflare/references/pipelines/gotchas.md +0 -84
- package/skills/cloudflare/references/pipelines/patterns.md +0 -87
- package/skills/cloudflare/references/product-index.md +0 -112
- package/skills/cloudflare/references/pulumi/README.md +0 -113
- package/skills/cloudflare/references/pulumi/api.md +0 -230
- package/skills/cloudflare/references/pulumi/configuration.md +0 -213
- package/skills/cloudflare/references/pulumi/gotchas.md +0 -205
- package/skills/cloudflare/references/pulumi/patterns.md +0 -260
- package/skills/cloudflare/references/queues/README.md +0 -99
- package/skills/cloudflare/references/queues/api.md +0 -211
- package/skills/cloudflare/references/queues/configuration.md +0 -151
- package/skills/cloudflare/references/queues/gotchas.md +0 -210
- package/skills/cloudflare/references/queues/patterns.md +0 -220
- package/skills/cloudflare/references/r2/README.md +0 -97
- package/skills/cloudflare/references/r2/api.md +0 -235
- package/skills/cloudflare/references/r2/configuration.md +0 -176
- package/skills/cloudflare/references/r2/gotchas.md +0 -190
- package/skills/cloudflare/references/r2/patterns.md +0 -203
- package/skills/cloudflare/references/r2-data-catalog/README.md +0 -157
- package/skills/cloudflare/references/r2-data-catalog/api.md +0 -199
- package/skills/cloudflare/references/r2-data-catalog/configuration.md +0 -205
- package/skills/cloudflare/references/r2-data-catalog/gotchas.md +0 -170
- package/skills/cloudflare/references/r2-data-catalog/patterns.md +0 -191
- package/skills/cloudflare/references/r2-sql/README.md +0 -138
- package/skills/cloudflare/references/r2-sql/SKILL.md.backup +0 -512
- package/skills/cloudflare/references/r2-sql/api.md +0 -159
- package/skills/cloudflare/references/r2-sql/configuration.md +0 -152
- package/skills/cloudflare/references/r2-sql/gotchas.md +0 -228
- package/skills/cloudflare/references/r2-sql/patterns.md +0 -230
- package/skills/cloudflare/references/realtime-sfu/README.md +0 -66
- package/skills/cloudflare/references/realtime-sfu/api.md +0 -164
- package/skills/cloudflare/references/realtime-sfu/configuration.md +0 -141
- package/skills/cloudflare/references/realtime-sfu/gotchas.md +0 -138
- package/skills/cloudflare/references/realtime-sfu/patterns.md +0 -187
- package/skills/cloudflare/references/realtimekit/README.md +0 -118
- package/skills/cloudflare/references/realtimekit/api.md +0 -234
- package/skills/cloudflare/references/realtimekit/configuration.md +0 -226
- package/skills/cloudflare/references/realtimekit/gotchas.md +0 -206
- package/skills/cloudflare/references/realtimekit/patterns.md +0 -240
- package/skills/cloudflare/references/sandbox/README.md +0 -104
- package/skills/cloudflare/references/sandbox/api.md +0 -200
- package/skills/cloudflare/references/sandbox/configuration.md +0 -154
- package/skills/cloudflare/references/sandbox/gotchas.md +0 -201
- package/skills/cloudflare/references/sandbox/patterns.md +0 -195
- package/skills/cloudflare/references/secrets-store/README.md +0 -77
- package/skills/cloudflare/references/secrets-store/api.md +0 -199
- package/skills/cloudflare/references/secrets-store/configuration.md +0 -187
- package/skills/cloudflare/references/secrets-store/gotchas.md +0 -97
- package/skills/cloudflare/references/secrets-store/patterns.md +0 -218
- package/skills/cloudflare/references/smart-placement/README.md +0 -143
- package/skills/cloudflare/references/smart-placement/api.md +0 -192
- package/skills/cloudflare/references/smart-placement/configuration.md +0 -202
- package/skills/cloudflare/references/smart-placement/gotchas.md +0 -180
- package/skills/cloudflare/references/smart-placement/patterns.md +0 -190
- package/skills/cloudflare/references/snippets/README.md +0 -74
- package/skills/cloudflare/references/snippets/api.md +0 -214
- package/skills/cloudflare/references/snippets/configuration.md +0 -239
- package/skills/cloudflare/references/snippets/gotchas.md +0 -104
- package/skills/cloudflare/references/snippets/patterns.md +0 -135
- package/skills/cloudflare/references/spectrum/README.md +0 -52
- package/skills/cloudflare/references/spectrum/api.md +0 -184
- package/skills/cloudflare/references/spectrum/configuration.md +0 -203
- package/skills/cloudflare/references/spectrum/gotchas.md +0 -155
- package/skills/cloudflare/references/spectrum/patterns.md +0 -206
- package/skills/cloudflare/references/static-assets/README.md +0 -65
- package/skills/cloudflare/references/static-assets/api.md +0 -201
- package/skills/cloudflare/references/static-assets/configuration.md +0 -186
- package/skills/cloudflare/references/static-assets/gotchas.md +0 -164
- package/skills/cloudflare/references/static-assets/patterns.md +0 -189
- package/skills/cloudflare/references/stream/README.md +0 -123
- package/skills/cloudflare/references/stream/api-live.md +0 -202
- package/skills/cloudflare/references/stream/api.md +0 -206
- package/skills/cloudflare/references/stream/configuration.md +0 -151
- package/skills/cloudflare/references/stream/gotchas.md +0 -139
- package/skills/cloudflare/references/stream/patterns.md +0 -217
- package/skills/cloudflare/references/tail-workers/README.md +0 -92
- package/skills/cloudflare/references/tail-workers/api.md +0 -203
- package/skills/cloudflare/references/tail-workers/configuration.md +0 -178
- package/skills/cloudflare/references/tail-workers/gotchas.md +0 -206
- package/skills/cloudflare/references/tail-workers/patterns.md +0 -190
- package/skills/cloudflare/references/terraform/README.md +0 -100
- package/skills/cloudflare/references/terraform/api.md +0 -178
- package/skills/cloudflare/references/terraform/configuration.md +0 -197
- package/skills/cloudflare/references/terraform/gotchas.md +0 -150
- package/skills/cloudflare/references/terraform/patterns.md +0 -174
- package/skills/cloudflare/references/tunnel/README.md +0 -137
- package/skills/cloudflare/references/tunnel/api.md +0 -205
- package/skills/cloudflare/references/tunnel/configuration.md +0 -163
- package/skills/cloudflare/references/tunnel/gotchas.md +0 -159
- package/skills/cloudflare/references/tunnel/networking.md +0 -174
- package/skills/cloudflare/references/tunnel/patterns.md +0 -199
- package/skills/cloudflare/references/turn/README.md +0 -86
- package/skills/cloudflare/references/turn/api.md +0 -236
- package/skills/cloudflare/references/turn/configuration.md +0 -181
- package/skills/cloudflare/references/turn/gotchas.md +0 -236
- package/skills/cloudflare/references/turn/patterns.md +0 -228
- package/skills/cloudflare/references/turnstile/README.md +0 -102
- package/skills/cloudflare/references/turnstile/api.md +0 -253
- package/skills/cloudflare/references/turnstile/configuration.md +0 -242
- package/skills/cloudflare/references/turnstile/gotchas.md +0 -253
- package/skills/cloudflare/references/turnstile/patterns.md +0 -195
- package/skills/cloudflare/references/vectorize/README.md +0 -133
- package/skills/cloudflare/references/vectorize/api.md +0 -89
- package/skills/cloudflare/references/vectorize/configuration.md +0 -91
- package/skills/cloudflare/references/vectorize/gotchas.md +0 -83
- package/skills/cloudflare/references/vectorize/patterns.md +0 -92
- package/skills/cloudflare/references/waf/README.md +0 -125
- package/skills/cloudflare/references/waf/api.md +0 -203
- package/skills/cloudflare/references/waf/configuration.md +0 -215
- package/skills/cloudflare/references/waf/gotchas.md +0 -208
- package/skills/cloudflare/references/waf/patterns.md +0 -236
- package/skills/cloudflare/references/web-analytics/README.md +0 -149
- package/skills/cloudflare/references/web-analytics/configuration.md +0 -81
- package/skills/cloudflare/references/web-analytics/gotchas.md +0 -86
- package/skills/cloudflare/references/web-analytics/integration.md +0 -63
- package/skills/cloudflare/references/web-analytics/patterns.md +0 -98
- package/skills/cloudflare/references/workerd/README.md +0 -85
- package/skills/cloudflare/references/workerd/api.md +0 -219
- package/skills/cloudflare/references/workerd/configuration.md +0 -200
- package/skills/cloudflare/references/workerd/gotchas.md +0 -151
- package/skills/cloudflare/references/workerd/patterns.md +0 -205
- package/skills/cloudflare/references/workers/README.md +0 -110
- package/skills/cloudflare/references/workers/api.md +0 -197
- package/skills/cloudflare/references/workers/configuration.md +0 -184
- package/skills/cloudflare/references/workers/frameworks.md +0 -200
- package/skills/cloudflare/references/workers/gotchas.md +0 -145
- package/skills/cloudflare/references/workers/patterns.md +0 -220
- package/skills/cloudflare/references/workers-ai/README.md +0 -206
- package/skills/cloudflare/references/workers-ai/api.md +0 -115
- package/skills/cloudflare/references/workers-ai/configuration.md +0 -98
- package/skills/cloudflare/references/workers-ai/gotchas.md +0 -130
- package/skills/cloudflare/references/workers-ai/patterns.md +0 -122
- package/skills/cloudflare/references/workers-for-platforms/README.md +0 -95
- package/skills/cloudflare/references/workers-for-platforms/api.md +0 -212
- package/skills/cloudflare/references/workers-for-platforms/configuration.md +0 -178
- package/skills/cloudflare/references/workers-for-platforms/gotchas.md +0 -134
- package/skills/cloudflare/references/workers-for-platforms/patterns.md +0 -210
- package/skills/cloudflare/references/workers-playground/README.md +0 -131
- package/skills/cloudflare/references/workers-playground/api.md +0 -101
- package/skills/cloudflare/references/workers-playground/configuration.md +0 -169
- package/skills/cloudflare/references/workers-playground/gotchas.md +0 -88
- package/skills/cloudflare/references/workers-playground/patterns.md +0 -134
- package/skills/cloudflare/references/workers-vpc/README.md +0 -130
- package/skills/cloudflare/references/workers-vpc/api.md +0 -196
- package/skills/cloudflare/references/workers-vpc/configuration.md +0 -151
- package/skills/cloudflare/references/workers-vpc/gotchas.md +0 -171
- package/skills/cloudflare/references/workers-vpc/patterns.md +0 -235
- package/skills/cloudflare/references/workflows/README.md +0 -72
- package/skills/cloudflare/references/workflows/api.md +0 -237
- package/skills/cloudflare/references/workflows/configuration.md +0 -158
- package/skills/cloudflare/references/workflows/gotchas.md +0 -97
- package/skills/cloudflare/references/workflows/patterns.md +0 -245
- package/skills/cloudflare/references/wrangler/README.md +0 -143
- package/skills/cloudflare/references/wrangler/api.md +0 -188
- package/skills/cloudflare/references/wrangler/configuration.md +0 -198
- package/skills/cloudflare/references/wrangler/gotchas.md +0 -212
- package/skills/cloudflare/references/wrangler/patterns.md +0 -211
- package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +0 -131
- package/skills/cloudflare/references/zaraz/README.md +0 -114
- package/skills/cloudflare/references/zaraz/api.md +0 -118
- package/skills/cloudflare/references/zaraz/configuration.md +0 -94
- package/skills/cloudflare/references/zaraz/gotchas.md +0 -88
- package/skills/cloudflare/references/zaraz/patterns.md +0 -77
- package/skills/docker/SKILL.md +0 -168
- package/skills/docker/references/advanced-examples.md +0 -71
- package/skills/docker/references/templates.md +0 -34
- package/skills/docs-marketer/SKILL.md +0 -178
- package/skills/docs-marketer/references/audit-categories.md +0 -328
- package/skills/docs-marketer/references/copilot-docs-prompts.md +0 -88
- package/skills/docs-marketer/references/copilot-usage.md +0 -16
- package/skills/docs-marketer/references/feedback-loop.md +0 -155
- package/skills/docs-marketer/references/multi-pass-docs-protocol.md +0 -410
- package/skills/drizzle-orm/SKILL.md +0 -82
- package/skills/durable-objects/SKILL.md +0 -167
- package/skills/durable-objects/references/advanced_features.md +0 -29
- package/skills/durable-objects/references/rules.md +0 -300
- package/skills/durable-objects/references/testing.md +0 -261
- package/skills/durable-objects/references/workers.md +0 -336
- package/skills/gcp/SKILL.md +0 -37
- package/skills/github-actions/SKILL.md +0 -262
- package/skills/github-actions/references/templates.md +0 -65
- package/skills/github-commander/SKILL.md +0 -144
- package/skills/github-commander/config/project-config.example.md +0 -125
- package/skills/github-commander/workflows/code-quality-audit.md +0 -82
- package/skills/github-commander/workflows/copilot-audit.md +0 -50
- package/skills/github-commander/workflows/issue-triage.md +0 -248
- package/skills/github-commander/workflows/milestone-sprint.md +0 -89
- package/skills/github-commander/workflows/perf-audit.md +0 -144
- package/skills/github-commander/workflows/pr-review.md +0 -129
- package/skills/github-commander/workflows/roadmap-kickoff.md +0 -79
- package/skills/github-commander/workflows/security-audit.md +0 -170
- package/skills/github-commander/workflows/update-deps.md +0 -109
- package/skills/github-copilot-cli/SKILL.md +0 -59
- package/skills/github-repo-setup/SKILL.md +0 -136
- package/skills/github-repo-setup/references/community-standards.md +0 -136
- package/skills/github-repo-setup/references/github-automation.md +0 -490
- package/skills/github-repo-setup/references/inline-templates.md +0 -205
- package/skills/github-repo-setup/references/project-config.md +0 -320
- package/skills/gitlab/SKILL.md +0 -120
- package/skills/gitlab/package-lock.json +0 -392
- package/skills/gitlab/package.json +0 -14
- package/skills/gitlab/scripts/gitlab-client.ts +0 -125
- package/skills/gitlab/scripts/gitlab-helper.ts +0 -80
- package/skills/golang/SKILL.md +0 -61
- package/skills/graphql/SKILL.md +0 -30
- package/skills/hono/SKILL.md +0 -82
- package/skills/journal-optimizer/SKILL.md +0 -206
- package/skills/journal-optimizer/references/optimizer-scripts.md +0 -169
- package/skills/llm-app-engineering/SKILL.md +0 -18
- package/skills/monorepo/SKILL.md +0 -56
- package/skills/multi-agent-orchestration/SKILL.md +0 -14
- package/skills/mysql/SKILL.md +0 -34
- package/skills/next-best-practices/README.md +0 -127
- package/skills/next-best-practices/SKILL.md +0 -86
- package/skills/next-best-practices/metadata.json +0 -17
- package/skills/next-best-practices/references/cache-components-examples.md +0 -234
- package/skills/next-best-practices/references/cache-components.md +0 -210
- package/skills/next-best-practices/references/upgrade-decision-tree.md +0 -33
- package/skills/next-best-practices/references/upgrade.md +0 -43
- package/skills/next-best-practices/rules/_sections.md +0 -46
- package/skills/next-best-practices/rules/_template.md +0 -28
- package/skills/next-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/skills/next-best-practices/rules/advanced-init-once.md +0 -42
- package/skills/next-best-practices/rules/advanced-use-latest.md +0 -39
- package/skills/next-best-practices/rules/async-api-routes.md +0 -35
- package/skills/next-best-practices/rules/async-defer-await.md +0 -80
- package/skills/next-best-practices/rules/async-dependencies.md +0 -48
- package/skills/next-best-practices/rules/async-parallel.md +0 -24
- package/skills/next-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/skills/next-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/skills/next-best-practices/rules/bundle-conditional.md +0 -37
- package/skills/next-best-practices/rules/bundle-defer-third-party.md +0 -48
- package/skills/next-best-practices/rules/bundle-dynamic-imports.md +0 -34
- package/skills/next-best-practices/rules/bundle-preload.md +0 -44
- package/skills/next-best-practices/rules/client-event-listeners.md +0 -78
- package/skills/next-best-practices/rules/client-localstorage-schema.md +0 -74
- package/skills/next-best-practices/rules/client-passive-event-listeners.md +0 -48
- package/skills/next-best-practices/rules/client-swr-dedup.md +0 -56
- package/skills/next-best-practices/rules/js-batch-dom-css.md +0 -110
- package/skills/next-best-practices/rules/js-cache-function-results.md +0 -80
- package/skills/next-best-practices/rules/js-cache-property-access.md +0 -28
- package/skills/next-best-practices/rules/js-cache-storage.md +0 -68
- package/skills/next-best-practices/rules/js-combine-iterations.md +0 -32
- package/skills/next-best-practices/rules/js-early-exit.md +0 -50
- package/skills/next-best-practices/rules/js-hoist-regexp.md +0 -45
- package/skills/next-best-practices/rules/js-index-maps.md +0 -37
- package/skills/next-best-practices/rules/js-length-check-first.md +0 -50
- package/skills/next-best-practices/rules/js-min-max-loop.md +0 -82
- package/skills/next-best-practices/rules/js-set-map-lookups.md +0 -24
- package/skills/next-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/skills/next-best-practices/rules/rendering-activity.md +0 -24
- package/skills/next-best-practices/rules/rendering-animate-svg-wrapper.md +0 -38
- package/skills/next-best-practices/rules/rendering-conditional-render.md +0 -32
- package/skills/next-best-practices/rules/rendering-content-visibility.md +0 -38
- package/skills/next-best-practices/rules/rendering-hoist-jsx.md +0 -36
- package/skills/next-best-practices/rules/rendering-hydration-no-flicker.md +0 -72
- package/skills/next-best-practices/rules/rendering-hydration-suppress-warning.md +0 -26
- package/skills/next-best-practices/rules/rendering-svg-precision.md +0 -28
- package/skills/next-best-practices/rules/rendering-usetransition-loading.md +0 -75
- package/skills/next-best-practices/rules/rerender-defer-reads.md +0 -39
- package/skills/next-best-practices/rules/rerender-dependencies.md +0 -45
- package/skills/next-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
- package/skills/next-best-practices/rules/rerender-derived-state.md +0 -29
- package/skills/next-best-practices/rules/rerender-functional-setstate.md +0 -77
- package/skills/next-best-practices/rules/rerender-lazy-state-init.md +0 -56
- package/skills/next-best-practices/rules/rerender-memo-with-default-value.md +0 -36
- package/skills/next-best-practices/rules/rerender-memo.md +0 -44
- package/skills/next-best-practices/rules/rerender-move-effect-to-event.md +0 -45
- package/skills/next-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
- package/skills/next-best-practices/rules/rerender-transitions.md +0 -40
- package/skills/next-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
- package/skills/next-best-practices/rules/server-after-nonblocking.md +0 -73
- package/skills/next-best-practices/rules/server-auth-actions.md +0 -96
- package/skills/next-best-practices/rules/server-cache-lru.md +0 -41
- package/skills/next-best-practices/rules/server-cache-react.md +0 -76
- package/skills/next-best-practices/rules/server-dedup-props.md +0 -65
- package/skills/next-best-practices/rules/server-parallel-fetching.md +0 -83
- package/skills/next-best-practices/rules/server-serialization.md +0 -38
- package/skills/next-cache-components/SKILL.md +0 -441
- package/skills/next-upgrade/SKILL.md +0 -43
- package/skills/next-upgrade/references/decision-tree.md +0 -33
- package/skills/nodejs/SKILL.md +0 -46
- package/skills/opentelemetry/SKILL.md +0 -62
- package/skills/package.json +0 -89
- package/skills/playwright-standard/SKILL.md +0 -53
- package/skills/playwright-standard/examples/fixtures.ts +0 -66
- package/skills/playwright-standard/examples/type-stubs.d.ts +0 -10
- package/skills/playwright-standard/references/advanced-scenarios.md +0 -59
- package/skills/playwright-standard/references/infrastructure.md +0 -43
- package/skills/playwright-standard/references/locators.md +0 -7
- package/skills/postgres/SKILL.md +0 -38
- package/skills/python/SKILL.md +0 -195
- package/skills/python/references/advanced-patterns.md +0 -37
- package/skills/python/references/config-templates.md +0 -48
- package/skills/rag-pipelines/SKILL.md +0 -14
- package/skills/redis/SKILL.md +0 -31
- package/skills/render/SKILL.md +0 -35
- package/skills/rust/SKILL.md +0 -76
- package/skills/rust/references/borrow-checker.md +0 -13
- package/skills/rust/references/ecosystem.md +0 -11
- package/skills/sandbox-sdk/SKILL.md +0 -186
- package/skills/sandbox-sdk/references/api-quick-ref.md +0 -113
- package/skills/sandbox-sdk/references/examples.md +0 -52
- package/skills/shadcn-ui/SKILL.md +0 -37
- package/skills/skill-builder/SKILL.md +0 -56
- package/skills/skill-builder/checklist.md +0 -65
- package/skills/skill-builder/references/tutorial.md +0 -457
- package/skills/sqlite/SKILL.md +0 -49
- package/skills/table.md +0 -59
- package/skills/tailwind-css/SKILL.md +0 -219
- package/skills/tailwind-css/references/component-patterns.md +0 -52
- package/skills/trpc/SKILL.md +0 -56
- package/skills/typescript/SKILL.md +0 -50
- package/skills/typescript/assets/eslint-template.js +0 -102
- package/skills/typescript/assets/tsconfig-template.json +0 -45
- package/skills/typescript/references/enterprise-patterns.md +0 -531
- package/skills/typescript/references/generics.md +0 -493
- package/skills/typescript/references/nestjs-integration.md +0 -579
- package/skills/typescript/references/react-integration.md +0 -616
- package/skills/typescript/references/toolchain.md +0 -547
- package/skills/typescript/references/tutorial.md +0 -453
- package/skills/typescript/references/type-system.md +0 -481
- package/skills/vercel-ai-sdk/SKILL.md +0 -48
- package/skills/vitest-standard/SKILL.md +0 -76
- package/skills/vitest-standard/examples/service-mock.ts +0 -60
- package/skills/vitest-standard/examples/tdd-calculator.ts +0 -41
- package/skills/vitest-standard/examples/type-stubs.d.ts +0 -18
- package/skills/vitest-standard/references/assertions.md +0 -11
- package/skills/vitest-standard/references/async-and-errors.md +0 -58
- package/skills/vitest-standard/references/coverage-and-config.md +0 -53
- package/skills/vitest-standard/references/mocking.md +0 -61
- package/skills/vitest-standard/references/tdd-patterns.md +0 -60
- package/skills/web-perf/SKILL.md +0 -207
- package/skills/workers-best-practices/SKILL.md +0 -120
- package/skills/workers-best-practices/references/anti-patterns.md +0 -18
- package/skills/workers-best-practices/references/review.md +0 -174
- package/skills/workers-best-practices/references/rules.md +0 -485
- package/skills/wrangler/SKILL.md +0 -43
- package/skills/wrangler/references/cli-commands.md +0 -861
- package/skills/zod/SKILL.md +0 -48
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Combine Multiple Array Iterations
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: reduces iterations
|
|
5
|
-
tags: javascript, arrays, loops, performance
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Combine Multiple Array Iterations
|
|
9
|
-
|
|
10
|
-
Multiple `.filter()` or `.map()` calls iterate the array multiple times. Combine into one loop.
|
|
11
|
-
|
|
12
|
-
**Incorrect (3 iterations):**
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
const admins = users.filter((u) => u.isAdmin)
|
|
16
|
-
const testers = users.filter((u) => u.isTester)
|
|
17
|
-
const inactive = users.filter((u) => !u.isActive)
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Correct (1 iteration):**
|
|
21
|
-
|
|
22
|
-
```typescript
|
|
23
|
-
const admins: User[] = []
|
|
24
|
-
const testers: User[] = []
|
|
25
|
-
const inactive: User[] = []
|
|
26
|
-
|
|
27
|
-
for (const user of users) {
|
|
28
|
-
if (user.isAdmin) admins.push(user)
|
|
29
|
-
if (user.isTester) testers.push(user)
|
|
30
|
-
if (!user.isActive) inactive.push(user)
|
|
31
|
-
}
|
|
32
|
-
```
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Early Return from Functions
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: avoids unnecessary computation
|
|
5
|
-
tags: javascript, functions, optimization, early-return
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Early Return from Functions
|
|
9
|
-
|
|
10
|
-
Return early when result is determined to skip unnecessary processing.
|
|
11
|
-
|
|
12
|
-
**Incorrect (processes all items even after finding answer):**
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
function validateUsers(users: User[]) {
|
|
16
|
-
let hasError = false
|
|
17
|
-
let errorMessage = ''
|
|
18
|
-
|
|
19
|
-
for (const user of users) {
|
|
20
|
-
if (!user.email) {
|
|
21
|
-
hasError = true
|
|
22
|
-
errorMessage = 'Email required'
|
|
23
|
-
}
|
|
24
|
-
if (!user.name) {
|
|
25
|
-
hasError = true
|
|
26
|
-
errorMessage = 'Name required'
|
|
27
|
-
}
|
|
28
|
-
// Continues checking all users even after error found
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return hasError ? { valid: false, error: errorMessage } : { valid: true }
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Correct (returns immediately on first error):**
|
|
36
|
-
|
|
37
|
-
```typescript
|
|
38
|
-
function validateUsers(users: User[]) {
|
|
39
|
-
for (const user of users) {
|
|
40
|
-
if (!user.email) {
|
|
41
|
-
return { valid: false, error: 'Email required' }
|
|
42
|
-
}
|
|
43
|
-
if (!user.name) {
|
|
44
|
-
return { valid: false, error: 'Name required' }
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return { valid: true }
|
|
49
|
-
}
|
|
50
|
-
```
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Hoist RegExp Creation
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: avoids recreation
|
|
5
|
-
tags: javascript, regexp, optimization, memoization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Hoist RegExp Creation
|
|
9
|
-
|
|
10
|
-
Don't create RegExp inside render. Hoist to module scope or memoize with `useMemo()`.
|
|
11
|
-
|
|
12
|
-
**Incorrect (new RegExp every render):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Highlighter({ text, query }: Props) {
|
|
16
|
-
const regex = new RegExp(`(${query})`, 'gi')
|
|
17
|
-
const parts = text.split(regex)
|
|
18
|
-
return <>{parts.map((part, i) => ...)}</>
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Correct (memoize or hoist):**
|
|
23
|
-
|
|
24
|
-
```tsx
|
|
25
|
-
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
|
|
26
|
-
|
|
27
|
-
function Highlighter({ text, query }: Props) {
|
|
28
|
-
const regex = useMemo(
|
|
29
|
-
() => new RegExp(`(${escapeRegex(query)})`, 'gi'),
|
|
30
|
-
[query]
|
|
31
|
-
)
|
|
32
|
-
const parts = text.split(regex)
|
|
33
|
-
return <>{parts.map((part, i) => ...)}</>
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
**Warning (global regex has mutable state):**
|
|
38
|
-
|
|
39
|
-
Global regex (`/g`) has mutable `lastIndex` state:
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
const regex = /foo/g
|
|
43
|
-
regex.test('foo') // true, lastIndex = 3
|
|
44
|
-
regex.test('foo') // false, lastIndex = 0
|
|
45
|
-
```
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Build Index Maps for Repeated Lookups
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: 1M ops to 2K ops
|
|
5
|
-
tags: javascript, map, indexing, optimization, performance
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Build Index Maps for Repeated Lookups
|
|
9
|
-
|
|
10
|
-
Multiple `.find()` calls by the same key should use a Map.
|
|
11
|
-
|
|
12
|
-
**Incorrect (O(n) per lookup):**
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
function processOrders(orders: Order[], users: User[]) {
|
|
16
|
-
return orders.map((order) => ({
|
|
17
|
-
...order,
|
|
18
|
-
user: users.find((u) => u.id === order.userId),
|
|
19
|
-
}))
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Correct (O(1) per lookup):**
|
|
24
|
-
|
|
25
|
-
```typescript
|
|
26
|
-
function processOrders(orders: Order[], users: User[]) {
|
|
27
|
-
const userById = new Map(users.map((u) => [u.id, u]))
|
|
28
|
-
|
|
29
|
-
return orders.map((order) => ({
|
|
30
|
-
...order,
|
|
31
|
-
user: userById.get(order.userId),
|
|
32
|
-
}))
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Build map once (O(n)), then all lookups are O(1).
|
|
37
|
-
For 1000 orders × 1000 users: 1M ops → 2K ops.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Early Length Check for Array Comparisons
|
|
3
|
-
impact: MEDIUM-HIGH
|
|
4
|
-
impactDescription: avoids expensive operations when lengths differ
|
|
5
|
-
tags: javascript, arrays, performance, optimization, comparison
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Early Length Check for Array Comparisons
|
|
9
|
-
|
|
10
|
-
When comparing arrays with expensive operations (sorting, deep equality, serialization), check lengths first. If lengths differ, the arrays cannot be equal.
|
|
11
|
-
|
|
12
|
-
In real-world applications, this optimization is especially valuable when the comparison runs in hot paths (event handlers, render loops).
|
|
13
|
-
|
|
14
|
-
**Incorrect (always runs expensive comparison):**
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
function hasChanges(current: string[], original: string[]) {
|
|
18
|
-
// Always sorts and joins, even when lengths differ
|
|
19
|
-
return current.sort().join() !== original.sort().join()
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Two O(n log n) sorts run even when `current.length` is 5 and `original.length` is 100. There is also overhead of joining the arrays and comparing the strings.
|
|
24
|
-
|
|
25
|
-
**Correct (O(1) length check first):**
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
function hasChanges(current: string[], original: string[]) {
|
|
29
|
-
// Early return if lengths differ
|
|
30
|
-
if (current.length !== original.length) {
|
|
31
|
-
return true
|
|
32
|
-
}
|
|
33
|
-
// Only sort when lengths match
|
|
34
|
-
const currentSorted = current.toSorted()
|
|
35
|
-
const originalSorted = original.toSorted()
|
|
36
|
-
for (let i = 0; i < currentSorted.length; i++) {
|
|
37
|
-
if (currentSorted[i] !== originalSorted[i]) {
|
|
38
|
-
return true
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return false
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
This new approach is more efficient because:
|
|
46
|
-
|
|
47
|
-
- It avoids the overhead of sorting and joining the arrays when lengths differ
|
|
48
|
-
- It avoids consuming memory for the joined strings (especially important for large arrays)
|
|
49
|
-
- It avoids mutating the original arrays
|
|
50
|
-
- It returns early when a difference is found
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Loop for Min/Max Instead of Sort
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: O(n) instead of O(n log n)
|
|
5
|
-
tags: javascript, arrays, performance, sorting, algorithms
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use Loop for Min/Max Instead of Sort
|
|
9
|
-
|
|
10
|
-
Finding the smallest or largest element only requires a single pass through the array. Sorting is wasteful and slower.
|
|
11
|
-
|
|
12
|
-
**Incorrect (O(n log n) - sort to find latest):**
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
interface Project {
|
|
16
|
-
id: string
|
|
17
|
-
name: string
|
|
18
|
-
updatedAt: number
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function getLatestProject(projects: Project[]) {
|
|
22
|
-
const sorted = [...projects].sort((a, b) => b.updatedAt - a.updatedAt)
|
|
23
|
-
return sorted[0]
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Sorts the entire array just to find the maximum value.
|
|
28
|
-
|
|
29
|
-
**Incorrect (O(n log n) - sort for oldest and newest):**
|
|
30
|
-
|
|
31
|
-
```typescript
|
|
32
|
-
function getOldestAndNewest(projects: Project[]) {
|
|
33
|
-
const sorted = [...projects].sort((a, b) => a.updatedAt - b.updatedAt)
|
|
34
|
-
return { oldest: sorted[0], newest: sorted[sorted.length - 1] }
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Still sorts unnecessarily when only min/max are needed.
|
|
39
|
-
|
|
40
|
-
**Correct (O(n) - single loop):**
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
function getLatestProject(projects: Project[]) {
|
|
44
|
-
if (projects.length === 0) return null
|
|
45
|
-
|
|
46
|
-
let latest = projects[0]
|
|
47
|
-
|
|
48
|
-
for (let i = 1; i < projects.length; i++) {
|
|
49
|
-
if (projects[i].updatedAt > latest.updatedAt) {
|
|
50
|
-
latest = projects[i]
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return latest
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function getOldestAndNewest(projects: Project[]) {
|
|
58
|
-
if (projects.length === 0) return { oldest: null, newest: null }
|
|
59
|
-
|
|
60
|
-
let oldest = projects[0]
|
|
61
|
-
let newest = projects[0]
|
|
62
|
-
|
|
63
|
-
for (let i = 1; i < projects.length; i++) {
|
|
64
|
-
if (projects[i].updatedAt < oldest.updatedAt) oldest = projects[i]
|
|
65
|
-
if (projects[i].updatedAt > newest.updatedAt) newest = projects[i]
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return { oldest, newest }
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Single pass through the array, no copying, no sorting.
|
|
73
|
-
|
|
74
|
-
**Alternative (Math.min/Math.max for small arrays):**
|
|
75
|
-
|
|
76
|
-
```typescript
|
|
77
|
-
const numbers = [5, 2, 8, 1, 9]
|
|
78
|
-
const min = Math.min(...numbers)
|
|
79
|
-
const max = Math.max(...numbers)
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
This works for small arrays, but can be slower or just throw an error for very large arrays due to spread operator limitations. Maximal array length is approximately 124000 in Chrome 143 and 638000 in Safari 18; exact numbers may vary - see [the fiddle](https://jsfiddle.net/qw1jabsx/4/). Use the loop approach for reliability.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Set/Map for O(1) Lookups
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: O(n) to O(1)
|
|
5
|
-
tags: javascript, set, map, data-structures, performance
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use Set/Map for O(1) Lookups
|
|
9
|
-
|
|
10
|
-
Convert arrays to Set/Map for repeated membership checks.
|
|
11
|
-
|
|
12
|
-
**Incorrect (O(n) per check):**
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
const allowedIds = ['a', 'b', 'c', ...]
|
|
16
|
-
items.filter(item => allowedIds.includes(item.id))
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**Correct (O(1) per check):**
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
const allowedIds = new Set(['a', 'b', 'c', ...])
|
|
23
|
-
items.filter(item => allowedIds.has(item.id))
|
|
24
|
-
```
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use toSorted() Instead of sort() for Immutability
|
|
3
|
-
impact: MEDIUM-HIGH
|
|
4
|
-
impactDescription: prevents mutation bugs in React state
|
|
5
|
-
tags: javascript, arrays, immutability, react, state, mutation
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use toSorted() Instead of sort() for Immutability
|
|
9
|
-
|
|
10
|
-
`.sort()` mutates the array in place, which can cause bugs with React state and props. Use `.toSorted()` to create a new sorted array without mutation.
|
|
11
|
-
|
|
12
|
-
**Incorrect (mutates original array):**
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
function UserList({ users }: { users: User[] }) {
|
|
16
|
-
// Mutates the users prop array!
|
|
17
|
-
const sorted = useMemo(
|
|
18
|
-
() => users.sort((a, b) => a.name.localeCompare(b.name)),
|
|
19
|
-
[users]
|
|
20
|
-
)
|
|
21
|
-
return <div>{sorted.map(renderUser)}</div>
|
|
22
|
-
}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Correct (creates new array):**
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
function UserList({ users }: { users: User[] }) {
|
|
29
|
-
// Creates new sorted array, original unchanged
|
|
30
|
-
const sorted = useMemo(
|
|
31
|
-
() => users.toSorted((a, b) => a.name.localeCompare(b.name)),
|
|
32
|
-
[users]
|
|
33
|
-
)
|
|
34
|
-
return <div>{sorted.map(renderUser)}</div>
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Why this matters in React:**
|
|
39
|
-
|
|
40
|
-
1. Props/state mutations break React's immutability model - React expects props and state to be treated as read-only
|
|
41
|
-
2. Causes stale closure bugs - Mutating arrays inside closures (callbacks, effects) can lead to unexpected behavior
|
|
42
|
-
|
|
43
|
-
**Browser support (fallback for older browsers):**
|
|
44
|
-
|
|
45
|
-
`.toSorted()` is available in all modern browsers (Chrome 110+, Safari 16+, Firefox 115+, Node.js 20+). For older environments, use spread operator:
|
|
46
|
-
|
|
47
|
-
```typescript
|
|
48
|
-
// Fallback for older browsers
|
|
49
|
-
const sorted = [...items].sort((a, b) => a.value - b.value)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**Other immutable array methods:**
|
|
53
|
-
|
|
54
|
-
- `.toSorted()` - immutable sort
|
|
55
|
-
- `.toReversed()` - immutable reverse
|
|
56
|
-
- `.toSpliced()` - immutable splice
|
|
57
|
-
- `.with()` - immutable element replacement
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Activity Component for Show/Hide
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: preserves state/DOM
|
|
5
|
-
tags: rendering, activity, visibility, state-preservation
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use CSS Visibility for Expensive Show/Hide
|
|
9
|
-
|
|
10
|
-
To preserve state/DOM for expensive components that frequently toggle visibility, use CSS `display: none` rather than conditionally unmounting them from the tree (unless using experimental React `<Activity>` / Offscreen APIs).
|
|
11
|
-
|
|
12
|
-
**Usage:**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Dropdown({ isOpen }: Props) {
|
|
16
|
-
return (
|
|
17
|
-
<div style={{ display: isOpen ? 'block' : 'none' }}>
|
|
18
|
-
<ExpensiveMenu />
|
|
19
|
-
</div>
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Avoids expensive re-mounts and state loss for heavy subtrees.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Animate SVG Wrapper Instead of SVG Element
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: enables hardware acceleration
|
|
5
|
-
tags: rendering, svg, css, animation, performance
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Animate SVG Wrapper Instead of SVG Element
|
|
9
|
-
|
|
10
|
-
Many browsers don't have hardware acceleration for CSS3 animations on SVG elements. Wrap SVG in a `<div>` and animate the wrapper instead.
|
|
11
|
-
|
|
12
|
-
**Incorrect (animating SVG directly - no hardware acceleration):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function LoadingSpinner() {
|
|
16
|
-
return (
|
|
17
|
-
<svg className="animate-spin" width="24" height="24" viewBox="0 0 24 24">
|
|
18
|
-
<circle cx="12" cy="12" r="10" stroke="currentColor" />
|
|
19
|
-
</svg>
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Correct (animating wrapper div - hardware accelerated):**
|
|
25
|
-
|
|
26
|
-
```tsx
|
|
27
|
-
function LoadingSpinner() {
|
|
28
|
-
return (
|
|
29
|
-
<div className="animate-spin">
|
|
30
|
-
<svg width="24" height="24" viewBox="0 0 24 24">
|
|
31
|
-
<circle cx="12" cy="12" r="10" stroke="currentColor" />
|
|
32
|
-
</svg>
|
|
33
|
-
</div>
|
|
34
|
-
)
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
This applies to all CSS transforms and transitions (`transform`, `opacity`, `translate`, `scale`, `rotate`). The wrapper div allows browsers to use GPU acceleration for smoother animations.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Explicit Conditional Rendering
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: prevents rendering 0 or NaN
|
|
5
|
-
tags: rendering, conditional, jsx, falsy-values
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use Explicit Conditional Rendering
|
|
9
|
-
|
|
10
|
-
Use explicit ternary operators (`? :`) instead of `&&` for conditional rendering when the condition can be `0`, `NaN`, or other falsy values that render.
|
|
11
|
-
|
|
12
|
-
**Incorrect (renders "0" when count is 0):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Badge({ count }: { count: number }) {
|
|
16
|
-
return <div>{count && <span className="badge">{count}</span>}</div>
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// When count = 0, renders: <div>0</div>
|
|
20
|
-
// When count = 5, renders: <div><span class="badge">5</span></div>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Correct (renders nothing when count is 0):**
|
|
24
|
-
|
|
25
|
-
```tsx
|
|
26
|
-
function Badge({ count }: { count: number }) {
|
|
27
|
-
return <div>{count > 0 ? <span className="badge">{count}</span> : null}</div>
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// When count = 0, renders: <div></div>
|
|
31
|
-
// When count = 5, renders: <div><span class="badge">5</span></div>
|
|
32
|
-
```
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: CSS content-visibility for Long Lists
|
|
3
|
-
impact: HIGH
|
|
4
|
-
impactDescription: faster initial render
|
|
5
|
-
tags: rendering, css, content-visibility, long-lists
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## CSS content-visibility for Long Lists
|
|
9
|
-
|
|
10
|
-
Apply `content-visibility: auto` to defer off-screen rendering.
|
|
11
|
-
|
|
12
|
-
**CSS:**
|
|
13
|
-
|
|
14
|
-
```css
|
|
15
|
-
.message-item {
|
|
16
|
-
content-visibility: auto;
|
|
17
|
-
contain-intrinsic-size: 0 80px;
|
|
18
|
-
}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
**Example:**
|
|
22
|
-
|
|
23
|
-
```tsx
|
|
24
|
-
function MessageList({ messages }: { messages: Message[] }) {
|
|
25
|
-
return (
|
|
26
|
-
<div className="overflow-y-auto h-screen">
|
|
27
|
-
{messages.map((msg) => (
|
|
28
|
-
<div key={msg.id} className="message-item">
|
|
29
|
-
<Avatar user={msg.author} />
|
|
30
|
-
<div>{msg.content}</div>
|
|
31
|
-
</div>
|
|
32
|
-
))}
|
|
33
|
-
</div>
|
|
34
|
-
)
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
For 1000 messages, browser skips layout/paint for ~990 off-screen items (10× faster initial render).
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Hoist Static JSX Elements
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: avoids re-creation
|
|
5
|
-
tags: rendering, jsx, static, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Hoist Static JSX Elements
|
|
9
|
-
|
|
10
|
-
Extract static JSX outside components to avoid re-creation.
|
|
11
|
-
|
|
12
|
-
**Incorrect (recreates element every render):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function LoadingSkeleton() {
|
|
16
|
-
return <div className="animate-pulse h-20 bg-gray-200" />
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function Container() {
|
|
20
|
-
return <div>{loading && <LoadingSkeleton />}</div>
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Correct (reuses same element):**
|
|
25
|
-
|
|
26
|
-
```tsx
|
|
27
|
-
const loadingSkeleton = <div className="animate-pulse h-20 bg-gray-200" />
|
|
28
|
-
|
|
29
|
-
function Container() {
|
|
30
|
-
return <div>{loading && loadingSkeleton}</div>
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
This is especially helpful for large and static SVG nodes, which can be expensive to recreate on every render.
|
|
35
|
-
|
|
36
|
-
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Prevent Hydration Mismatch Without Flickering
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: avoids visual flicker and hydration errors
|
|
5
|
-
tags: rendering, ssr, hydration, localStorage, flicker
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Prevent Hydration Mismatch Without Flickering
|
|
9
|
-
|
|
10
|
-
When rendering content that depends on client-side storage (localStorage, cookies), avoid both SSR breakage and post-hydration flickering by injecting a synchronous script that updates the DOM before React hydrates.
|
|
11
|
-
|
|
12
|
-
**Incorrect (breaks SSR):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function ThemeWrapper({ children }: { children: ReactNode }) {
|
|
16
|
-
// localStorage is not available on server - throws error
|
|
17
|
-
const theme = localStorage.getItem('theme') || 'light'
|
|
18
|
-
|
|
19
|
-
return <div className={theme}>{children}</div>
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Server-side rendering will fail because `localStorage` is undefined.
|
|
24
|
-
|
|
25
|
-
**Incorrect (visual flickering):**
|
|
26
|
-
|
|
27
|
-
```tsx
|
|
28
|
-
function ThemeWrapper({ children }: { children: ReactNode }) {
|
|
29
|
-
const [theme, setTheme] = useState('light')
|
|
30
|
-
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
// Runs after hydration - causes visible flash
|
|
33
|
-
const stored = localStorage.getItem('theme')
|
|
34
|
-
if (stored) {
|
|
35
|
-
setTheme(stored)
|
|
36
|
-
}
|
|
37
|
-
}, [])
|
|
38
|
-
|
|
39
|
-
return <div className={theme}>{children}</div>
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Component first renders with default value (`light`), then updates after hydration, causing a visible flash of incorrect content.
|
|
44
|
-
|
|
45
|
-
**Correct (no flicker, no hydration mismatch):**
|
|
46
|
-
|
|
47
|
-
```tsx
|
|
48
|
-
function ThemeWrapper({ children }: { children: ReactNode }) {
|
|
49
|
-
return (
|
|
50
|
-
<>
|
|
51
|
-
<div id="theme-wrapper">{children}</div>
|
|
52
|
-
<script
|
|
53
|
-
dangerouslySetInnerHTML={{
|
|
54
|
-
__html: `
|
|
55
|
-
(function() {
|
|
56
|
-
try {
|
|
57
|
-
var theme = localStorage.getItem('theme') || 'light';
|
|
58
|
-
var el = document.getElementById('theme-wrapper');
|
|
59
|
-
if (el) el.className = theme;
|
|
60
|
-
} catch (e) {}
|
|
61
|
-
})();
|
|
62
|
-
`,
|
|
63
|
-
}}
|
|
64
|
-
/>
|
|
65
|
-
</>
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
The inline script executes synchronously before showing the element, ensuring the DOM already has the correct value. No flickering, no hydration mismatch.
|
|
71
|
-
|
|
72
|
-
This pattern is especially useful for theme toggles, user preferences, authentication states, and any client-only data that should render immediately without flashing default values.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Suppress Expected Hydration Mismatches
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: avoids noisy hydration warnings for known differences
|
|
5
|
-
tags: rendering, hydration, ssr, nextjs
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Suppress Expected Hydration Mismatches
|
|
9
|
-
|
|
10
|
-
In SSR frameworks (e.g., Next.js), some values are intentionally different on server vs client (random IDs, dates, locale/timezone formatting). For these _expected_ mismatches, wrap the dynamic text in an element with `suppressHydrationWarning` to prevent noisy warnings. Do not use this to hide real bugs. Don’t overuse it.
|
|
11
|
-
|
|
12
|
-
**Incorrect (known mismatch warnings):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Timestamp() {
|
|
16
|
-
return <span>{new Date().toLocaleString()}</span>
|
|
17
|
-
}
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Correct (suppress expected mismatch only):**
|
|
21
|
-
|
|
22
|
-
```tsx
|
|
23
|
-
function Timestamp() {
|
|
24
|
-
return <span suppressHydrationWarning>{new Date().toLocaleString()}</span>
|
|
25
|
-
}
|
|
26
|
-
```
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Optimize SVG Precision
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: reduces file size
|
|
5
|
-
tags: rendering, svg, optimization, svgo
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Optimize SVG Precision
|
|
9
|
-
|
|
10
|
-
Reduce SVG coordinate precision to decrease file size. The optimal precision depends on the viewBox size, but in general reducing precision should be considered.
|
|
11
|
-
|
|
12
|
-
**Incorrect (excessive precision):**
|
|
13
|
-
|
|
14
|
-
```svg
|
|
15
|
-
<path d="M 10.293847 20.847362 L 30.938472 40.192837" />
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
**Correct (1 decimal place):**
|
|
19
|
-
|
|
20
|
-
```svg
|
|
21
|
-
<path d="M 10.3 20.8 L 30.9 40.2" />
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Automate with SVGO:**
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
npx svgo --precision=1 --multipass icon.svg
|
|
28
|
-
```
|