memory-journal-mcp 6.1.2 → 6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -28
- package/dist/{chunk-X4SWFATC.js → chunk-BI4ZNSKA.js} +38 -24
- package/dist/{chunk-HCEWINSB.js → chunk-N6EBIDN7.js} +99 -102
- package/dist/cli.js +2 -2
- package/dist/index.js +2 -2
- package/dist/tools-WPRY5MJ6.js +2 -0
- package/package.json +10 -1
- package/skills/github-commander/SKILL.md +151 -0
- package/skills/github-commander/config/project-config.example.md +125 -0
- package/skills/github-commander/workflows/code-quality-audit.md +80 -0
- package/skills/github-commander/workflows/full-audit.md +134 -0
- package/skills/github-commander/workflows/issue-triage.md +239 -0
- package/skills/github-commander/workflows/milestone-sprint.md +81 -0
- package/skills/github-commander/workflows/perf-audit.md +142 -0
- package/skills/github-commander/workflows/pr-review.md +123 -0
- package/skills/github-commander/workflows/security-audit.md +170 -0
- package/skills/github-commander/workflows/update-deps.md +109 -0
- package/.dockerignore +0 -139
- package/.gitattributes +0 -20
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -95
- package/.github/ISSUE_TEMPLATE/config.yml +0 -11
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -110
- package/.github/ISSUE_TEMPLATE/question.md +0 -78
- package/.github/aw/actions-lock.json +0 -14
- package/.github/copilot-instructions.md +0 -122
- package/.github/dependabot.yml +0 -93
- package/.github/pull_request_template.md +0 -135
- package/.github/workflows/README.md +0 -133
- package/.github/workflows/agentics-maintenance.yml +0 -141
- package/.github/workflows/auto-release.yml +0 -68
- package/.github/workflows/ci-health-monitor.lock.yml +0 -1121
- package/.github/workflows/ci-health-monitor.md +0 -87
- package/.github/workflows/codeql.yml +0 -41
- package/.github/workflows/dependabot-auto-merge.yml +0 -42
- package/.github/workflows/dependency-maintenance.lock.yml +0 -1182
- package/.github/workflows/dependency-maintenance.md +0 -147
- package/.github/workflows/docker-publish.yml +0 -254
- package/.github/workflows/docs-drift-detector.lock.yml +0 -1142
- package/.github/workflows/docs-drift-detector.md +0 -115
- package/.github/workflows/lint-and-test.yml +0 -60
- package/.github/workflows/publish-npm.yml +0 -85
- package/.github/workflows/secrets-scanning.yml +0 -32
- package/.github/workflows/security-update.yml +0 -127
- package/.gitleaks.toml +0 -9
- package/.prettierignore +0 -21
- package/.prettierrc +0 -33
- package/.scout-ignore +0 -12
- package/.trivyignore +0 -21
- package/CHANGELOG.md +0 -1814
- package/CODE_OF_CONDUCT.md +0 -133
- package/CONTRIBUTING.md +0 -263
- package/DOCKER_README.md +0 -331
- package/Dockerfile +0 -128
- package/SECURITY.md +0 -227
- package/UNRELEASED.md +0 -1
- package/dist/tools-T4U5A3X4.js +0 -2
- package/docker-compose.yml +0 -71
- package/docs/README.md +0 -18
- package/docs/agentic-journal-synergy.md +0 -175
- package/docs/copilot-setup.md +0 -72
- package/eslint.config.js +0 -110
- package/mcp-config-example.json +0 -21
- package/playwright.config.ts +0 -35
- package/releases/v2.1.0.md +0 -220
- package/releases/v2.2.0.md +0 -168
- package/releases/v3.0.0.md +0 -237
- package/releases/v3.1.0.md +0 -104
- package/releases/v3.1.1.md +0 -42
- package/releases/v3.1.2.md +0 -40
- package/releases/v3.1.3.md +0 -64
- package/releases/v3.1.4.md +0 -32
- package/releases/v3.1.5.md +0 -44
- package/releases/v4.0.0.md +0 -71
- package/releases/v4.1.0.md +0 -88
- package/releases/v4.2.0.md +0 -90
- package/releases/v4.3.0.md +0 -92
- package/releases/v4.3.1.md +0 -69
- package/releases/v4.4.0.md +0 -120
- package/releases/v4.4.1.md +0 -33
- package/releases/v4.4.2.md +0 -31
- package/releases/v4.5.0.md +0 -116
- package/releases/v5.0.0.md +0 -105
- package/releases/v5.0.1.md +0 -25
- package/releases/v5.1.0.md +0 -83
- package/releases/v5.1.1.md +0 -10
- package/releases/v6.0.0.md +0 -48
- package/releases/v6.0.1.md +0 -36
- package/releases/v6.1.0.md +0 -68
- package/releases/v6.1.1.md +0 -30
- package/releases/v6.1.2.md +0 -23
- package/scripts/generate-server-instructions.ts +0 -306
- package/scripts/server-instructions-function-body.ts +0 -107
- package/scripts/server-instructions-gotchas.ts +0 -45
- package/server.json +0 -42
- package/social-preview.png +0 -0
- package/src/auth/auth-context.ts +0 -78
- package/src/auth/authorization-server-discovery.ts +0 -263
- package/src/auth/errors.ts +0 -215
- package/src/auth/index.ts +0 -58
- package/src/auth/middleware.ts +0 -392
- package/src/auth/oauth-resource-server.ts +0 -170
- package/src/auth/scope-map.ts +0 -46
- package/src/auth/scopes.ts +0 -256
- package/src/auth/token-validator.ts +0 -293
- package/src/auth/transport-agnostic.ts +0 -164
- package/src/auth/types.ts +0 -372
- package/src/cli.ts +0 -279
- package/src/codemode/api-constants.ts +0 -263
- package/src/codemode/api.ts +0 -302
- package/src/codemode/auto-return.ts +0 -65
- package/src/codemode/index.ts +0 -47
- package/src/codemode/sandbox-factory.ts +0 -144
- package/src/codemode/sandbox.ts +0 -220
- package/src/codemode/security.ts +0 -155
- package/src/codemode/types.ts +0 -228
- package/src/codemode/worker-sandbox.ts +0 -277
- package/src/codemode/worker-script.ts +0 -239
- package/src/constants/icons.ts +0 -183
- package/src/constants/server-instructions.md +0 -166
- package/src/constants/server-instructions.ts +0 -514
- package/src/database/adapter-factory.ts +0 -16
- package/src/database/core/entry-columns.ts +0 -10
- package/src/database/core/interfaces.ts +0 -188
- package/src/database/core/schema.ts +0 -152
- package/src/database/sqlite-adapter/backup.ts +0 -167
- package/src/database/sqlite-adapter/entries/crud.ts +0 -233
- package/src/database/sqlite-adapter/entries/importance.ts +0 -76
- package/src/database/sqlite-adapter/entries/index.ts +0 -142
- package/src/database/sqlite-adapter/entries/search.ts +0 -294
- package/src/database/sqlite-adapter/entries/shared.ts +0 -102
- package/src/database/sqlite-adapter/entries/statistics.ts +0 -162
- package/src/database/sqlite-adapter/index.ts +0 -265
- package/src/database/sqlite-adapter/native-connection.ts +0 -301
- package/src/database/sqlite-adapter/relationships.ts +0 -70
- package/src/database/sqlite-adapter/tags.ts +0 -182
- package/src/filtering/tool-filter.ts +0 -312
- package/src/github/github-integration/client.ts +0 -114
- package/src/github/github-integration/index.ts +0 -297
- package/src/github/github-integration/insights.ts +0 -155
- package/src/github/github-integration/issues.ts +0 -213
- package/src/github/github-integration/milestones.ts +0 -262
- package/src/github/github-integration/projects.ts +0 -414
- package/src/github/github-integration/pull-requests.ts +0 -235
- package/src/github/github-integration/repository.ts +0 -110
- package/src/github/github-integration/types.ts +0 -43
- package/src/handlers/prompts/github.ts +0 -210
- package/src/handlers/prompts/index.ts +0 -97
- package/src/handlers/prompts/workflow.ts +0 -361
- package/src/handlers/resources/core/briefing/context-section.ts +0 -182
- package/src/handlers/resources/core/briefing/github-section.ts +0 -354
- package/src/handlers/resources/core/briefing/index.ts +0 -106
- package/src/handlers/resources/core/briefing/user-message.ts +0 -114
- package/src/handlers/resources/core/health.ts +0 -75
- package/src/handlers/resources/core/index.ts +0 -31
- package/src/handlers/resources/core/instructions.ts +0 -45
- package/src/handlers/resources/core/utilities.ts +0 -310
- package/src/handlers/resources/github.ts +0 -340
- package/src/handlers/resources/graph.ts +0 -218
- package/src/handlers/resources/help.ts +0 -410
- package/src/handlers/resources/index.ts +0 -143
- package/src/handlers/resources/shared.ts +0 -219
- package/src/handlers/resources/team.ts +0 -134
- package/src/handlers/resources/templates.ts +0 -334
- package/src/handlers/tools/admin.ts +0 -351
- package/src/handlers/tools/analytics.ts +0 -346
- package/src/handlers/tools/backup.ts +0 -272
- package/src/handlers/tools/codemode.ts +0 -188
- package/src/handlers/tools/core.ts +0 -359
- package/src/handlers/tools/error-fields-mixin.ts +0 -10
- package/src/handlers/tools/export.ts +0 -150
- package/src/handlers/tools/github/copilot-tools.ts +0 -72
- package/src/handlers/tools/github/helpers.ts +0 -125
- package/src/handlers/tools/github/insights-tools.ts +0 -112
- package/src/handlers/tools/github/issue-tools.ts +0 -442
- package/src/handlers/tools/github/kanban-tools.ts +0 -153
- package/src/handlers/tools/github/milestone-tools.ts +0 -371
- package/src/handlers/tools/github/mutation-tools.ts +0 -17
- package/src/handlers/tools/github/read-tools.ts +0 -302
- package/src/handlers/tools/github/schemas.ts +0 -435
- package/src/handlers/tools/github.ts +0 -39
- package/src/handlers/tools/index.ts +0 -255
- package/src/handlers/tools/relationships.ts +0 -390
- package/src/handlers/tools/schemas.ts +0 -165
- package/src/handlers/tools/search.ts +0 -448
- package/src/handlers/tools/team/admin-tools.ts +0 -164
- package/src/handlers/tools/team/analytics-tools.ts +0 -233
- package/src/handlers/tools/team/backup-tools.ts +0 -83
- package/src/handlers/tools/team/core-tools.ts +0 -197
- package/src/handlers/tools/team/export-tools.ts +0 -130
- package/src/handlers/tools/team/helpers.ts +0 -66
- package/src/handlers/tools/team/index.ts +0 -45
- package/src/handlers/tools/team/relationship-tools.ts +0 -219
- package/src/handlers/tools/team/schemas.ts +0 -558
- package/src/handlers/tools/team/search-tools.ts +0 -145
- package/src/handlers/tools/team/vector-tools.ts +0 -261
- package/src/index.ts +0 -57
- package/src/server/mcp-server.ts +0 -446
- package/src/server/registration.ts +0 -141
- package/src/server/scheduler.ts +0 -283
- package/src/transports/http/handlers.ts +0 -78
- package/src/transports/http/index.ts +0 -8
- package/src/transports/http/security.ts +0 -147
- package/src/transports/http/server/index.ts +0 -397
- package/src/transports/http/server/legacy-sse.ts +0 -87
- package/src/transports/http/server/stateful.ts +0 -222
- package/src/transports/http/server/stateless.ts +0 -42
- package/src/transports/http/types.ts +0 -132
- package/src/types/entities.ts +0 -145
- package/src/types/error-types.ts +0 -92
- package/src/types/errors.ts +0 -200
- package/src/types/filtering.ts +0 -55
- package/src/types/github.ts +0 -216
- package/src/types/index.ts +0 -348
- package/src/utils/error-helpers.ts +0 -78
- package/src/utils/errors/error-response-fields.ts +0 -29
- package/src/utils/errors/suggestions.ts +0 -94
- package/src/utils/github-helpers.ts +0 -33
- package/src/utils/logger.ts +0 -107
- package/src/utils/mcp-logger.ts +0 -155
- package/src/utils/progress-utils.ts +0 -100
- package/src/utils/query-helpers.ts +0 -78
- package/src/utils/resource-annotations.ts +0 -75
- package/src/utils/security-utils.ts +0 -198
- package/src/utils/vector-index-helpers.ts +0 -24
- package/src/vector/vector-search-manager.ts +0 -409
- package/src/version.ts +0 -15
- package/test-server/README.md +0 -193
- package/test-server/code-map.md +0 -399
- package/test-server/test-agent-experience.md +0 -213
- package/test-server/test-filter-instructions.mjs +0 -295
- package/test-server/test-instruction-levels.mjs +0 -102
- package/test-server/test-preflight.md +0 -55
- package/test-server/test-prompts.mjs +0 -185
- package/test-server/test-scheduler.mjs +0 -174
- package/test-server/test-tool-annotations.mjs +0 -115
- package/test-server/test-tools-codemode.md +0 -632
- package/test-server/test-tools-codemode2.md +0 -1218
- package/test-server/test-tools-team.md +0 -215
- package/test-server/test-tools.md +0 -429
- package/test-server/test-tools2.md +0 -361
- package/test-server/test-tools3.md +0 -396
- package/test-server/tool-reference.md +0 -231
- package/tests/README.md +0 -54
- package/tests/auth/auth-context.test.ts +0 -162
- package/tests/auth/authorization-server-discovery.test.ts +0 -265
- package/tests/auth/errors.test.ts +0 -170
- package/tests/auth/middleware.test.ts +0 -585
- package/tests/auth/oauth-resource-server.test.ts +0 -173
- package/tests/auth/scope-map.test.ts +0 -66
- package/tests/auth/scopes.test.ts +0 -347
- package/tests/auth/token-validator.test.ts +0 -271
- package/tests/codemode/api.test.ts +0 -396
- package/tests/codemode/auto-return.test.ts +0 -167
- package/tests/codemode/codemode-tool-handlers.test.ts +0 -197
- package/tests/codemode/sandbox-factory.test.ts +0 -152
- package/tests/codemode/sandbox.test.ts +0 -190
- package/tests/codemode/security.test.ts +0 -242
- package/tests/codemode/worker-sandbox.test.ts +0 -106
- package/tests/constants/icons.test.ts +0 -101
- package/tests/constants/server-instructions.test.ts +0 -514
- package/tests/database/crud-workflow-branches.test.ts +0 -418
- package/tests/database/database-branches.test.ts +0 -132
- package/tests/database/entries-auth-branches.test.ts +0 -390
- package/tests/database/native-connection.test.ts +0 -249
- package/tests/database/shared-helpers.test.ts +0 -103
- package/tests/database/sqlite-adapter.bench.ts +0 -63
- package/tests/database/sqlite-adapter.test.ts +0 -690
- package/tests/database/tags.test.ts +0 -134
- package/tests/e2e/README.md +0 -39
- package/tests/e2e/auth.spec.ts +0 -106
- package/tests/e2e/codemode-abuse.spec.ts +0 -75
- package/tests/e2e/health.spec.ts +0 -63
- package/tests/e2e/helpers.ts +0 -139
- package/tests/e2e/oauth-discovery.spec.ts +0 -102
- package/tests/e2e/oauth-scopes.spec.ts +0 -222
- package/tests/e2e/payloads-admin.spec.ts +0 -76
- package/tests/e2e/payloads-analytics.spec.ts +0 -37
- package/tests/e2e/payloads-backup-restore.spec.ts +0 -102
- package/tests/e2e/payloads-backup.spec.ts +0 -44
- package/tests/e2e/payloads-codemode-api.spec.ts +0 -131
- package/tests/e2e/payloads-codemode-readonly.spec.ts +0 -116
- package/tests/e2e/payloads-codemode.spec.ts +0 -116
- package/tests/e2e/payloads-core.spec.ts +0 -82
- package/tests/e2e/payloads-error-contracts.spec.ts +0 -159
- package/tests/e2e/payloads-export.spec.ts +0 -46
- package/tests/e2e/payloads-github-degradation.spec.ts +0 -73
- package/tests/e2e/payloads-github.spec.ts +0 -176
- package/tests/e2e/payloads-relationships.spec.ts +0 -56
- package/tests/e2e/payloads-search.spec.ts +0 -64
- package/tests/e2e/payloads-team-happy.spec.ts +0 -231
- package/tests/e2e/payloads-team.spec.ts +0 -174
- package/tests/e2e/prompts-expanded.spec.ts +0 -137
- package/tests/e2e/prompts.spec.ts +0 -62
- package/tests/e2e/protocols.spec.ts +0 -134
- package/tests/e2e/rate-limiting.spec.ts +0 -291
- package/tests/e2e/resources-briefing-env.spec.ts +0 -106
- package/tests/e2e/resources-complete.spec.ts +0 -180
- package/tests/e2e/resources-expanded.spec.ts +0 -83
- package/tests/e2e/resources-instructions-levels.spec.ts +0 -145
- package/tests/e2e/resources-templates.spec.ts +0 -123
- package/tests/e2e/resources.spec.ts +0 -103
- package/tests/e2e/scheduler.spec.ts +0 -79
- package/tests/e2e/security.spec.ts +0 -112
- package/tests/e2e/session-advanced.spec.ts +0 -152
- package/tests/e2e/sessions.spec.ts +0 -95
- package/tests/e2e/stateless.spec.ts +0 -79
- package/tests/e2e/streaming.spec.ts +0 -176
- package/tests/e2e/tool-filtering-presets.spec.ts +0 -192
- package/tests/e2e/tool-filtering.spec.ts +0 -77
- package/tests/e2e/tools.spec.ts +0 -111
- package/tests/filtering/tool-filter.test.ts +0 -314
- package/tests/github/client-issues-errors.test.ts +0 -433
- package/tests/github/github-integration-branches.test.ts +0 -490
- package/tests/github/github-integration.test.ts +0 -1015
- package/tests/github/github-managers-branches.test.ts +0 -907
- package/tests/github/pull-requests.test.ts +0 -334
- package/tests/handlers/analytics-branches.test.ts +0 -222
- package/tests/handlers/backup-branches.test.ts +0 -270
- package/tests/handlers/briefing-context-section.test.ts +0 -388
- package/tests/handlers/briefing-github-section.test.ts +0 -392
- package/tests/handlers/briefing-user-message.test.ts +0 -405
- package/tests/handlers/codemode-tools.test.ts +0 -85
- package/tests/handlers/copilot-tools.test.ts +0 -126
- package/tests/handlers/error-path-coverage.test.ts +0 -324
- package/tests/handlers/export-tools.test.ts +0 -203
- package/tests/handlers/github-resource-handlers.test.ts +0 -929
- package/tests/handlers/github-tool-handlers.test.ts +0 -1452
- package/tests/handlers/handler-error-branches.test.ts +0 -346
- package/tests/handlers/help-resource.test.ts +0 -92
- package/tests/handlers/prompt-handler-coverage.test.ts +0 -108
- package/tests/handlers/prompt-handlers.test.ts +0 -131
- package/tests/handlers/resource-handler-coverage.test.ts +0 -281
- package/tests/handlers/resource-handlers.test.ts +0 -357
- package/tests/handlers/resource-prompt-branches.test.ts +0 -495
- package/tests/handlers/search-tool-handlers.test.ts +0 -379
- package/tests/handlers/targeted-gap-closure.test.ts +0 -387
- package/tests/handlers/team-admin.test.ts +0 -291
- package/tests/handlers/team-analytics.test.ts +0 -220
- package/tests/handlers/team-core.test.ts +0 -148
- package/tests/handlers/team-data.test.ts +0 -198
- package/tests/handlers/team-relationships.test.ts +0 -271
- package/tests/handlers/team-resource-handlers.test.ts +0 -161
- package/tests/handlers/team-search.test.ts +0 -134
- package/tests/handlers/team-tool-handlers.test.ts +0 -301
- package/tests/handlers/team-vector.test.ts +0 -213
- package/tests/handlers/template-github-branches.test.ts +0 -676
- package/tests/handlers/tool-annotations.test.ts +0 -90
- package/tests/handlers/tool-handler-coverage.test.ts +0 -514
- package/tests/handlers/tool-handlers.test.ts +0 -510
- package/tests/handlers/tool-output-schemas.test.ts +0 -116
- package/tests/handlers/vector-tool-handlers.test.ts +0 -238
- package/tests/security/sql-injection.test.ts +0 -284
- package/tests/server/mcp-server.bench.ts +0 -55
- package/tests/server/mcp-server.test.ts +0 -1326
- package/tests/server/scheduler.test.ts +0 -400
- package/tests/transports/http-legacy-sse.test.ts +0 -275
- package/tests/transports/http-security.test.ts +0 -322
- package/tests/transports/http-stateful.test.ts +0 -487
- package/tests/transports/http-transport-server.test.ts +0 -301
- package/tests/transports/http-transport.test.ts +0 -771
- package/tests/utils/github-helpers.test.ts +0 -58
- package/tests/utils/logger.test.ts +0 -180
- package/tests/utils/mcp-logger.test.ts +0 -211
- package/tests/utils/progress-utils.test.ts +0 -156
- package/tests/utils/query-helpers.test.ts +0 -80
- package/tests/utils/security-utils.test.ts +0 -82
- package/tests/vector/vector-search-branches.test.ts +0 -111
- package/tests/vector/vector-search-manager.test.ts +0 -375
- package/tests/vector/vector-search.bench.ts +0 -48
- package/tsconfig.json +0 -42
- package/tsup.config.ts +0 -19
- package/vitest.config.ts +0 -25
|
@@ -1,514 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server Instructions Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests the generateInstructions function at all instruction levels
|
|
5
|
-
* with comprehensive content validation for behavioral guidance,
|
|
6
|
-
* help pointers, filter-aware section inclusion, and GOTCHAS_CONTENT export.
|
|
7
|
-
*
|
|
8
|
-
* Tool parameter reference tables are served dynamically via memory://help/{group}
|
|
9
|
-
* and tested in the help resource tests, not here.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import { describe, it, expect } from 'vitest'
|
|
13
|
-
import { generateInstructions, GOTCHAS_CONTENT } from '../../src/constants/server-instructions.js'
|
|
14
|
-
import { TOOL_GROUPS, getAllToolNames, getEnabledGroups } from '../../src/filtering/tool-filter.js'
|
|
15
|
-
import type { ToolGroup } from '../../src/types/index.js'
|
|
16
|
-
|
|
17
|
-
/** Full tool set based on TOOL_GROUPS for realistic testing */
|
|
18
|
-
const ALL_TOOLS = new Set(getAllToolNames())
|
|
19
|
-
|
|
20
|
-
/** All groups enabled */
|
|
21
|
-
const ALL_GROUPS = new Set(Object.keys(TOOL_GROUPS) as ToolGroup[])
|
|
22
|
-
|
|
23
|
-
/** Minimal tool set for basic testing */
|
|
24
|
-
const TEST_TOOLS = new Set(['create_entry', 'search_entries', 'backup_journal'])
|
|
25
|
-
|
|
26
|
-
/** Minimal prompts for testing */
|
|
27
|
-
const TEST_PROMPTS = [{ name: 'test-prompt', description: 'A test prompt' }]
|
|
28
|
-
|
|
29
|
-
/** Helper to generate full-level instructions with all tools */
|
|
30
|
-
function fullInstructions(): string {
|
|
31
|
-
return generateInstructions(ALL_TOOLS, TEST_PROMPTS, undefined, 'full', ALL_GROUPS)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/** Helper to build a tool set from specific groups */
|
|
35
|
-
function toolsFromGroups(...groups: ToolGroup[]): Set<string> {
|
|
36
|
-
const tools = new Set<string>()
|
|
37
|
-
for (const group of groups) {
|
|
38
|
-
for (const tool of TOOL_GROUPS[group]) {
|
|
39
|
-
tools.add(tool)
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return tools
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
describe('generateInstructions', () => {
|
|
46
|
-
describe('essential level', () => {
|
|
47
|
-
it('should return non-empty string', () => {
|
|
48
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
49
|
-
expect(result.length).toBeGreaterThan(0)
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
it('should include core behaviors', () => {
|
|
53
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
54
|
-
expect(result).toContain('memory://briefing')
|
|
55
|
-
expect(result).toContain('Session Start')
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
it('should include Quick Access table', () => {
|
|
59
|
-
const result = generateInstructions(
|
|
60
|
-
ALL_TOOLS,
|
|
61
|
-
TEST_PROMPTS,
|
|
62
|
-
undefined,
|
|
63
|
-
'essential',
|
|
64
|
-
ALL_GROUPS
|
|
65
|
-
)
|
|
66
|
-
expect(result).toContain('Quick Access')
|
|
67
|
-
expect(result).toContain('memory://health')
|
|
68
|
-
expect(result).toContain('semantic_search')
|
|
69
|
-
expect(result).toContain('get-context-bundle')
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
it('should include all three Behaviors bullets', () => {
|
|
73
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
74
|
-
expect(result).toContain('Create entries for')
|
|
75
|
-
expect(result).toContain('Search before')
|
|
76
|
-
expect(result).toContain('Link entries')
|
|
77
|
-
})
|
|
78
|
-
|
|
79
|
-
it('should not include GitHub Integration heading', () => {
|
|
80
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
81
|
-
expect(result).not.toContain('## GitHub Integration')
|
|
82
|
-
})
|
|
83
|
-
|
|
84
|
-
it('should not include help pointers', () => {
|
|
85
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
86
|
-
expect(result).not.toContain('## Help Resources')
|
|
87
|
-
})
|
|
88
|
-
|
|
89
|
-
it('should not include Session End section (replaced by session-summary prompt)', () => {
|
|
90
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
91
|
-
expect(result).not.toContain('Session End')
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
it('should include Rule & Skill Suggestions section', () => {
|
|
95
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'essential')
|
|
96
|
-
expect(result).toContain('Rule & Skill Suggestions')
|
|
97
|
-
expect(result).toContain('Always ask the user first')
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
it('should include Code Mode section when codemode group is enabled', () => {
|
|
101
|
-
const tools = toolsFromGroups('core', 'codemode')
|
|
102
|
-
const groups = getEnabledGroups(tools)
|
|
103
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
104
|
-
expect(result).toContain('Code Mode')
|
|
105
|
-
expect(result).toContain('mj_execute_code')
|
|
106
|
-
expect(result).toContain('mj.core')
|
|
107
|
-
expect(result).toContain('mj.help()')
|
|
108
|
-
})
|
|
109
|
-
|
|
110
|
-
it('should include Copilot Review Patterns when github group is enabled', () => {
|
|
111
|
-
const tools = toolsFromGroups('core', 'github')
|
|
112
|
-
const groups = getEnabledGroups(tools)
|
|
113
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
114
|
-
expect(result).toContain('Copilot Review Patterns')
|
|
115
|
-
expect(result).toContain('get_copilot_reviews')
|
|
116
|
-
})
|
|
117
|
-
})
|
|
118
|
-
|
|
119
|
-
describe('standard level', () => {
|
|
120
|
-
it('should include GitHub instructions when github group is enabled', () => {
|
|
121
|
-
const tools = toolsFromGroups('core', 'github')
|
|
122
|
-
const groups = getEnabledGroups(tools)
|
|
123
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'standard', groups)
|
|
124
|
-
expect(result).toContain('## GitHub Integration')
|
|
125
|
-
})
|
|
126
|
-
|
|
127
|
-
it('should include GitHub integration patterns', () => {
|
|
128
|
-
const tools = toolsFromGroups('core', 'github')
|
|
129
|
-
const groups = getEnabledGroups(tools)
|
|
130
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'standard', groups)
|
|
131
|
-
expect(result).toContain('issue_number')
|
|
132
|
-
expect(result).toContain('pr_number')
|
|
133
|
-
expect(result).toContain('actions-failure-digest')
|
|
134
|
-
expect(result).toContain('get_kanban_board')
|
|
135
|
-
expect(result).toContain('get_github_milestones')
|
|
136
|
-
expect(result).toContain('memory://github/milestones')
|
|
137
|
-
})
|
|
138
|
-
|
|
139
|
-
it('should include help resource pointers', () => {
|
|
140
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'standard')
|
|
141
|
-
expect(result).toContain('## Help Resources')
|
|
142
|
-
expect(result).toContain('memory://help')
|
|
143
|
-
expect(result).toContain('memory://help/{group}')
|
|
144
|
-
expect(result).toContain('memory://help/gotchas')
|
|
145
|
-
})
|
|
146
|
-
|
|
147
|
-
it('should not include server access instructions', () => {
|
|
148
|
-
const result = generateInstructions(TEST_TOOLS, TEST_PROMPTS, undefined, 'standard')
|
|
149
|
-
expect(result).not.toContain('How to Access This Server')
|
|
150
|
-
})
|
|
151
|
-
})
|
|
152
|
-
|
|
153
|
-
describe('full level', () => {
|
|
154
|
-
it('should include active tools listing', () => {
|
|
155
|
-
const result = fullInstructions()
|
|
156
|
-
expect(result).toContain('Active Tools')
|
|
157
|
-
})
|
|
158
|
-
|
|
159
|
-
it('should include prompts section', () => {
|
|
160
|
-
const result = fullInstructions()
|
|
161
|
-
expect(result).toContain('Prompts')
|
|
162
|
-
expect(result).toContain('test-prompt')
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
it('should include server access instructions', () => {
|
|
166
|
-
const result = fullInstructions()
|
|
167
|
-
expect(result).toContain('How to Access This Server')
|
|
168
|
-
expect(result).toContain('Server Name Discovery')
|
|
169
|
-
})
|
|
170
|
-
|
|
171
|
-
it('should include help resource pointers (inherited from standard)', () => {
|
|
172
|
-
const result = fullInstructions()
|
|
173
|
-
expect(result).toContain('memory://help')
|
|
174
|
-
expect(result).toContain('memory://help/{group}')
|
|
175
|
-
expect(result).toContain('memory://help/gotchas')
|
|
176
|
-
})
|
|
177
|
-
|
|
178
|
-
it('should NOT include tool parameter tables (served via memory://help/{group})', () => {
|
|
179
|
-
const result = fullInstructions()
|
|
180
|
-
expect(result).not.toContain('Tool Parameter Reference')
|
|
181
|
-
expect(result).not.toContain('Entry Operations')
|
|
182
|
-
})
|
|
183
|
-
|
|
184
|
-
it('should NOT include field notes (served via memory://help/gotchas)', () => {
|
|
185
|
-
const result = fullInstructions()
|
|
186
|
-
expect(result).not.toContain('Field Notes')
|
|
187
|
-
expect(result).not.toContain('autoContext')
|
|
188
|
-
})
|
|
189
|
-
|
|
190
|
-
it('should NOT include key resources table (served via memory://help)', () => {
|
|
191
|
-
const result = fullInstructions()
|
|
192
|
-
expect(result).not.toContain('Key Resources')
|
|
193
|
-
})
|
|
194
|
-
})
|
|
195
|
-
|
|
196
|
-
describe('tool count consistency', () => {
|
|
197
|
-
it('should have 61 tools across all groups', () => {
|
|
198
|
-
const allToolNames = getAllToolNames()
|
|
199
|
-
expect(allToolNames.length).toBe(61)
|
|
200
|
-
})
|
|
201
|
-
|
|
202
|
-
it('should show correct active tool count for all tools', () => {
|
|
203
|
-
const result = fullInstructions()
|
|
204
|
-
expect(result).toContain(`Active Tools (${String(ALL_TOOLS.size)})`)
|
|
205
|
-
})
|
|
206
|
-
|
|
207
|
-
it('should list all 10 tool groups in active tools', () => {
|
|
208
|
-
const result = fullInstructions()
|
|
209
|
-
const groups = Object.keys(TOOL_GROUPS)
|
|
210
|
-
for (const group of groups) {
|
|
211
|
-
expect(result).toContain(`**${group}**`)
|
|
212
|
-
}
|
|
213
|
-
})
|
|
214
|
-
})
|
|
215
|
-
|
|
216
|
-
describe('latest entry snapshot', () => {
|
|
217
|
-
it('should include latest entry when provided', () => {
|
|
218
|
-
const result = generateInstructions(
|
|
219
|
-
TEST_TOOLS,
|
|
220
|
-
TEST_PROMPTS,
|
|
221
|
-
{
|
|
222
|
-
id: 42,
|
|
223
|
-
timestamp: '2026-02-27',
|
|
224
|
-
entryType: 'decision',
|
|
225
|
-
content: 'Important decision about architecture',
|
|
226
|
-
},
|
|
227
|
-
'essential'
|
|
228
|
-
)
|
|
229
|
-
expect(result).toContain('#42')
|
|
230
|
-
expect(result).toContain('decision')
|
|
231
|
-
expect(result).toContain('Important decision')
|
|
232
|
-
})
|
|
233
|
-
|
|
234
|
-
it('should truncate long content with ellipsis', () => {
|
|
235
|
-
const longContent = 'A'.repeat(200)
|
|
236
|
-
const result = generateInstructions(
|
|
237
|
-
TEST_TOOLS,
|
|
238
|
-
TEST_PROMPTS,
|
|
239
|
-
{
|
|
240
|
-
id: 1,
|
|
241
|
-
timestamp: '2026-02-27',
|
|
242
|
-
entryType: 'note',
|
|
243
|
-
content: longContent,
|
|
244
|
-
},
|
|
245
|
-
'essential'
|
|
246
|
-
)
|
|
247
|
-
expect(result).toContain('...')
|
|
248
|
-
})
|
|
249
|
-
})
|
|
250
|
-
|
|
251
|
-
describe('default level', () => {
|
|
252
|
-
it('should default to standard level', () => {
|
|
253
|
-
const result = generateInstructions(toolsFromGroups('core', 'github'), TEST_PROMPTS)
|
|
254
|
-
// Standard includes GitHub and help pointers
|
|
255
|
-
expect(result).toContain('## GitHub Integration')
|
|
256
|
-
expect(result).toContain('## Help Resources')
|
|
257
|
-
// Standard does NOT include server access
|
|
258
|
-
expect(result).not.toContain('How to Access This Server')
|
|
259
|
-
})
|
|
260
|
-
})
|
|
261
|
-
|
|
262
|
-
describe('level ordering', () => {
|
|
263
|
-
it('essential < standard < full in character count', () => {
|
|
264
|
-
const essential = generateInstructions(
|
|
265
|
-
ALL_TOOLS,
|
|
266
|
-
TEST_PROMPTS,
|
|
267
|
-
undefined,
|
|
268
|
-
'essential',
|
|
269
|
-
ALL_GROUPS
|
|
270
|
-
)
|
|
271
|
-
const standard = generateInstructions(
|
|
272
|
-
ALL_TOOLS,
|
|
273
|
-
TEST_PROMPTS,
|
|
274
|
-
undefined,
|
|
275
|
-
'standard',
|
|
276
|
-
ALL_GROUPS
|
|
277
|
-
)
|
|
278
|
-
const full = generateInstructions(
|
|
279
|
-
ALL_TOOLS,
|
|
280
|
-
TEST_PROMPTS,
|
|
281
|
-
undefined,
|
|
282
|
-
'full',
|
|
283
|
-
ALL_GROUPS
|
|
284
|
-
)
|
|
285
|
-
expect(essential.length).toBeLessThan(standard.length)
|
|
286
|
-
expect(standard.length).toBeLessThan(full.length)
|
|
287
|
-
})
|
|
288
|
-
})
|
|
289
|
-
|
|
290
|
-
// =========================================================================
|
|
291
|
-
// Filter-Aware Section Inclusion
|
|
292
|
-
// =========================================================================
|
|
293
|
-
|
|
294
|
-
describe('filter-aware sections', () => {
|
|
295
|
-
it('should omit Code Mode section when codemode group is not enabled', () => {
|
|
296
|
-
const tools = toolsFromGroups('core', 'search')
|
|
297
|
-
const groups = getEnabledGroups(tools)
|
|
298
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
299
|
-
expect(result).not.toContain('## Code Mode')
|
|
300
|
-
expect(result).not.toContain('mj_execute_code')
|
|
301
|
-
expect(result).not.toContain('mj.core')
|
|
302
|
-
})
|
|
303
|
-
|
|
304
|
-
it('should omit Copilot Review section when github group is not enabled', () => {
|
|
305
|
-
const tools = toolsFromGroups('core', 'search', 'codemode')
|
|
306
|
-
const groups = getEnabledGroups(tools)
|
|
307
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
308
|
-
expect(result).not.toContain('Copilot Review Patterns')
|
|
309
|
-
expect(result).not.toContain('get_copilot_reviews')
|
|
310
|
-
})
|
|
311
|
-
|
|
312
|
-
it('should omit GitHub Integration section when github group is not enabled (standard level)', () => {
|
|
313
|
-
const tools = toolsFromGroups('core', 'search')
|
|
314
|
-
const groups = getEnabledGroups(tools)
|
|
315
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'standard', groups)
|
|
316
|
-
expect(result).not.toContain('## GitHub Integration')
|
|
317
|
-
// Help pointers are always included at standard+
|
|
318
|
-
expect(result).toContain('## Help Resources')
|
|
319
|
-
})
|
|
320
|
-
|
|
321
|
-
it('should omit semantic_search from Quick Access without search group', () => {
|
|
322
|
-
const tools = toolsFromGroups('core')
|
|
323
|
-
const groups = getEnabledGroups(tools)
|
|
324
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
325
|
-
expect(result).toContain('Quick Access')
|
|
326
|
-
expect(result).not.toContain('semantic_search')
|
|
327
|
-
// Other rows should still be present
|
|
328
|
-
expect(result).toContain('memory://briefing')
|
|
329
|
-
expect(result).toContain('memory://health')
|
|
330
|
-
expect(result).toContain('get-context-bundle')
|
|
331
|
-
})
|
|
332
|
-
|
|
333
|
-
it('Code Mode namespace table only shows enabled groups', () => {
|
|
334
|
-
const tools = toolsFromGroups('core', 'search', 'codemode')
|
|
335
|
-
const groups = getEnabledGroups(tools)
|
|
336
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
337
|
-
// Should include enabled groups
|
|
338
|
-
expect(result).toContain('mj.core')
|
|
339
|
-
expect(result).toContain('mj.search')
|
|
340
|
-
// Should NOT include disabled groups
|
|
341
|
-
expect(result).not.toContain('mj.github')
|
|
342
|
-
expect(result).not.toContain('mj.team')
|
|
343
|
-
expect(result).not.toContain('mj.admin')
|
|
344
|
-
expect(result).not.toContain('mj.backup')
|
|
345
|
-
})
|
|
346
|
-
|
|
347
|
-
it('starter shortcut includes Code Mode but not Copilot', () => {
|
|
348
|
-
// starter = core + search, plus codemode auto-included
|
|
349
|
-
const tools = toolsFromGroups('core', 'search', 'codemode')
|
|
350
|
-
const groups = getEnabledGroups(tools)
|
|
351
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
352
|
-
expect(result).toContain('## Code Mode')
|
|
353
|
-
expect(result).not.toContain('Copilot Review Patterns')
|
|
354
|
-
})
|
|
355
|
-
|
|
356
|
-
it('essential shortcut includes Code Mode but not Copilot', () => {
|
|
357
|
-
// essential = core, plus codemode auto-included
|
|
358
|
-
const tools = toolsFromGroups('core', 'codemode')
|
|
359
|
-
const groups = getEnabledGroups(tools)
|
|
360
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential', groups)
|
|
361
|
-
expect(result).toContain('## Code Mode')
|
|
362
|
-
expect(result).not.toContain('Copilot Review Patterns')
|
|
363
|
-
})
|
|
364
|
-
|
|
365
|
-
it('codemode-only filter includes Code Mode, omits GitHub/Copilot', () => {
|
|
366
|
-
const tools = toolsFromGroups('codemode')
|
|
367
|
-
const groups = getEnabledGroups(tools)
|
|
368
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'standard', groups)
|
|
369
|
-
expect(result).toContain('## Code Mode')
|
|
370
|
-
expect(result).not.toContain('Copilot Review Patterns')
|
|
371
|
-
expect(result).not.toContain('## GitHub Integration')
|
|
372
|
-
// Help resources always included at standard+
|
|
373
|
-
expect(result).toContain('## Help Resources')
|
|
374
|
-
})
|
|
375
|
-
|
|
376
|
-
it('backward compat: no enabledGroups derives from enabledTools', () => {
|
|
377
|
-
// When enabledGroups is omitted, it should derive from enabledTools
|
|
378
|
-
const tools = toolsFromGroups('core', 'codemode')
|
|
379
|
-
const result = generateInstructions(tools, TEST_PROMPTS, undefined, 'essential')
|
|
380
|
-
// Should include Code Mode because codemode group is in enabledTools
|
|
381
|
-
expect(result).toContain('## Code Mode')
|
|
382
|
-
// Should NOT include Copilot because github group is not in enabledTools
|
|
383
|
-
expect(result).not.toContain('Copilot Review Patterns')
|
|
384
|
-
})
|
|
385
|
-
|
|
386
|
-
it('filter-aware instructions are smaller than full instructions', () => {
|
|
387
|
-
const fullResult = generateInstructions(
|
|
388
|
-
ALL_TOOLS,
|
|
389
|
-
TEST_PROMPTS,
|
|
390
|
-
undefined,
|
|
391
|
-
'essential',
|
|
392
|
-
ALL_GROUPS
|
|
393
|
-
)
|
|
394
|
-
const coreOnly = generateInstructions(
|
|
395
|
-
toolsFromGroups('core'),
|
|
396
|
-
TEST_PROMPTS,
|
|
397
|
-
undefined,
|
|
398
|
-
'essential',
|
|
399
|
-
getEnabledGroups(toolsFromGroups('core'))
|
|
400
|
-
)
|
|
401
|
-
expect(coreOnly.length).toBeLessThan(fullResult.length)
|
|
402
|
-
})
|
|
403
|
-
})
|
|
404
|
-
})
|
|
405
|
-
|
|
406
|
-
describe('getEnabledGroups', () => {
|
|
407
|
-
it('should return all groups for all tools', () => {
|
|
408
|
-
const groups = getEnabledGroups(ALL_TOOLS)
|
|
409
|
-
expect(groups.size).toBe(Object.keys(TOOL_GROUPS).length)
|
|
410
|
-
})
|
|
411
|
-
|
|
412
|
-
it('should return correct groups for starter tools', () => {
|
|
413
|
-
const tools = toolsFromGroups('core', 'search', 'codemode')
|
|
414
|
-
const groups = getEnabledGroups(tools)
|
|
415
|
-
expect(groups.has('core')).toBe(true)
|
|
416
|
-
expect(groups.has('search')).toBe(true)
|
|
417
|
-
expect(groups.has('codemode')).toBe(true)
|
|
418
|
-
expect(groups.has('github')).toBe(false)
|
|
419
|
-
expect(groups.has('team')).toBe(false)
|
|
420
|
-
})
|
|
421
|
-
|
|
422
|
-
it('should return empty set for empty tool set', () => {
|
|
423
|
-
const groups = getEnabledGroups(new Set())
|
|
424
|
-
expect(groups.size).toBe(0)
|
|
425
|
-
})
|
|
426
|
-
|
|
427
|
-
it('should detect group from single tool', () => {
|
|
428
|
-
const groups = getEnabledGroups(new Set(['mj_execute_code']))
|
|
429
|
-
expect(groups.has('codemode')).toBe(true)
|
|
430
|
-
expect(groups.size).toBe(1)
|
|
431
|
-
})
|
|
432
|
-
})
|
|
433
|
-
|
|
434
|
-
describe('GOTCHAS_CONTENT', () => {
|
|
435
|
-
it('should be a non-empty string export', () => {
|
|
436
|
-
expect(typeof GOTCHAS_CONTENT).toBe('string')
|
|
437
|
-
expect(GOTCHAS_CONTENT.length).toBeGreaterThan(0)
|
|
438
|
-
})
|
|
439
|
-
|
|
440
|
-
it('should include critical patterns section', () => {
|
|
441
|
-
expect(GOTCHAS_CONTENT).toContain('Critical Patterns')
|
|
442
|
-
})
|
|
443
|
-
|
|
444
|
-
it('should include autoContext field note', () => {
|
|
445
|
-
expect(GOTCHAS_CONTENT).toContain('autoContext')
|
|
446
|
-
})
|
|
447
|
-
|
|
448
|
-
it('should include memory://tags vs list_tags note', () => {
|
|
449
|
-
expect(GOTCHAS_CONTENT).toContain('memory://tags')
|
|
450
|
-
expect(GOTCHAS_CONTENT).toContain('list_tags')
|
|
451
|
-
})
|
|
452
|
-
|
|
453
|
-
it('should include tag naming guidance', () => {
|
|
454
|
-
expect(GOTCHAS_CONTENT).toContain('Tag naming')
|
|
455
|
-
expect(GOTCHAS_CONTENT).toContain('merge_tags')
|
|
456
|
-
})
|
|
457
|
-
|
|
458
|
-
it('should include prStatus field note', () => {
|
|
459
|
-
expect(GOTCHAS_CONTENT).toContain('prStatus')
|
|
460
|
-
})
|
|
461
|
-
|
|
462
|
-
it('should include restore_backup behavior note', () => {
|
|
463
|
-
expect(GOTCHAS_CONTENT).toContain('restore_backup')
|
|
464
|
-
})
|
|
465
|
-
|
|
466
|
-
it('should include semantic search thresholds note', () => {
|
|
467
|
-
expect(GOTCHAS_CONTENT).toContain('Default similarity threshold is 0.25')
|
|
468
|
-
})
|
|
469
|
-
|
|
470
|
-
it('should include causal relationship types note', () => {
|
|
471
|
-
expect(GOTCHAS_CONTENT).toContain('Causal relationship types')
|
|
472
|
-
expect(GOTCHAS_CONTENT).toContain('blocked_by')
|
|
473
|
-
expect(GOTCHAS_CONTENT).toContain('resolved')
|
|
474
|
-
expect(GOTCHAS_CONTENT).toContain('caused')
|
|
475
|
-
})
|
|
476
|
-
|
|
477
|
-
it('should include enhanced analytics note', () => {
|
|
478
|
-
expect(GOTCHAS_CONTENT).toContain('decisionDensity')
|
|
479
|
-
expect(GOTCHAS_CONTENT).toContain('relationshipComplexity')
|
|
480
|
-
expect(GOTCHAS_CONTENT).toContain('activityTrend')
|
|
481
|
-
expect(GOTCHAS_CONTENT).toContain('causalMetrics')
|
|
482
|
-
})
|
|
483
|
-
|
|
484
|
-
it('should include importance scores note', () => {
|
|
485
|
-
expect(GOTCHAS_CONTENT).toContain('importanceBreakdown')
|
|
486
|
-
expect(GOTCHAS_CONTENT).toContain('significance (30%)')
|
|
487
|
-
expect(GOTCHAS_CONTENT).toContain('relationships (35%)')
|
|
488
|
-
})
|
|
489
|
-
|
|
490
|
-
it('should include inactiveThresholdDays note', () => {
|
|
491
|
-
expect(GOTCHAS_CONTENT).toContain('inactiveThresholdDays')
|
|
492
|
-
})
|
|
493
|
-
|
|
494
|
-
it('should include GitHub metadata note', () => {
|
|
495
|
-
expect(GOTCHAS_CONTENT).toContain('GitHub metadata in entries')
|
|
496
|
-
expect(GOTCHAS_CONTENT).toContain('issueNumber')
|
|
497
|
-
expect(GOTCHAS_CONTENT).toContain('workflowRunId')
|
|
498
|
-
})
|
|
499
|
-
|
|
500
|
-
it('should include delete_entry soft-deleted note', () => {
|
|
501
|
-
expect(GOTCHAS_CONTENT).toContain('delete_entry')
|
|
502
|
-
expect(GOTCHAS_CONTENT).toContain('soft-deleted')
|
|
503
|
-
})
|
|
504
|
-
|
|
505
|
-
it('should include team cross-database search note', () => {
|
|
506
|
-
expect(GOTCHAS_CONTENT).toContain('Team cross-database search')
|
|
507
|
-
expect(GOTCHAS_CONTENT).toContain('source')
|
|
508
|
-
})
|
|
509
|
-
|
|
510
|
-
it('should include team tools without TEAM_DB_PATH note', () => {
|
|
511
|
-
expect(GOTCHAS_CONTENT).toContain('TEAM_DB_PATH')
|
|
512
|
-
expect(GOTCHAS_CONTENT).toContain('20 team tools')
|
|
513
|
-
})
|
|
514
|
-
})
|