sqlew 3.2.5 → 3.6.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/CHANGELOG.md +288 -1011
- package/README.md +80 -263
- package/assets/config.example.toml +97 -0
- package/assets/schema.sql +6 -1
- package/dist/adapters/index.d.ts +11 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +21 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mysql-adapter.d.ts +31 -0
- package/dist/adapters/mysql-adapter.d.ts.map +1 -0
- package/dist/adapters/mysql-adapter.js +63 -0
- package/dist/adapters/mysql-adapter.js.map +1 -0
- package/dist/adapters/postgresql-adapter.d.ts +31 -0
- package/dist/adapters/postgresql-adapter.d.ts.map +1 -0
- package/dist/adapters/postgresql-adapter.js +63 -0
- package/dist/adapters/postgresql-adapter.js.map +1 -0
- package/dist/adapters/sqlite-adapter.d.ts +37 -0
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -0
- package/dist/adapters/sqlite-adapter.js +129 -0
- package/dist/adapters/sqlite-adapter.js.map +1 -0
- package/dist/adapters/types.d.ts +33 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/cli.js +55 -54
- package/dist/cli.js.map +1 -1
- package/dist/config/example-generator.d.ts +11 -0
- package/dist/config/example-generator.d.ts.map +1 -0
- package/dist/config/example-generator.js +48 -0
- package/dist/config/example-generator.js.map +1 -0
- package/dist/config/loader.d.ts +46 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +155 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +86 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +28 -0
- package/dist/config/types.js.map +1 -0
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -1
- package/dist/database.d.ts +44 -122
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +145 -349
- package/dist/database.js.map +1 -1
- package/dist/index.js +223 -175
- package/dist/index.js.map +1 -1
- package/dist/knexfile.d.ts +6 -0
- package/dist/knexfile.d.ts.map +1 -0
- package/dist/knexfile.js +85 -0
- package/dist/knexfile.js.map +1 -0
- package/dist/migrations/add-help-system-tables.d.ts +35 -0
- package/dist/migrations/add-help-system-tables.d.ts.map +1 -0
- package/dist/migrations/add-help-system-tables.js +206 -0
- package/dist/migrations/add-help-system-tables.js.map +1 -0
- package/dist/migrations/add-token-tracking.d.ts +28 -0
- package/dist/migrations/add-token-tracking.d.ts.map +1 -0
- package/dist/migrations/add-token-tracking.js +108 -0
- package/dist/migrations/add-token-tracking.js.map +1 -0
- package/dist/migrations/add-v3.5.0-pruned-files.d.ts +26 -0
- package/dist/migrations/add-v3.5.0-pruned-files.d.ts.map +1 -0
- package/dist/migrations/add-v3.5.0-pruned-files.js +107 -0
- package/dist/migrations/add-v3.5.0-pruned-files.js.map +1 -0
- package/dist/migrations/index.d.ts +26 -12
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +162 -20
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/knex/20251025020452_create_master_tables.d.ts +4 -0
- package/dist/migrations/knex/20251025020452_create_master_tables.d.ts.map +1 -0
- package/dist/migrations/knex/20251025020452_create_master_tables.js +65 -0
- package/dist/migrations/knex/20251025020452_create_master_tables.js.map +1 -0
- package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts +4 -0
- package/dist/migrations/knex/20251025021152_create_transaction_tables.d.ts.map +1 -0
- package/dist/migrations/knex/20251025021152_create_transaction_tables.js +235 -0
- package/dist/migrations/knex/20251025021152_create_transaction_tables.js.map +1 -0
- package/dist/migrations/knex/20251025021351_create_indexes.d.ts +4 -0
- package/dist/migrations/knex/20251025021351_create_indexes.d.ts.map +1 -0
- package/dist/migrations/knex/20251025021351_create_indexes.js +62 -0
- package/dist/migrations/knex/20251025021351_create_indexes.js.map +1 -0
- package/dist/migrations/knex/20251025021416_seed_master_data.d.ts +4 -0
- package/dist/migrations/knex/20251025021416_seed_master_data.d.ts.map +1 -0
- package/dist/migrations/knex/20251025021416_seed_master_data.js +58 -0
- package/dist/migrations/knex/20251025021416_seed_master_data.js.map +1 -0
- package/dist/migrations/knex/20251025070349_create_views.d.ts +4 -0
- package/dist/migrations/knex/20251025070349_create_views.d.ts.map +1 -0
- package/dist/migrations/knex/20251025070349_create_views.js +143 -0
- package/dist/migrations/knex/20251025070349_create_views.js.map +1 -0
- package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts +4 -0
- package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.d.ts.map +1 -0
- package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js +15 -0
- package/dist/migrations/knex/20251025081221_add_link_type_to_task_decision_links.js.map +1 -0
- package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts +8 -0
- package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.d.ts.map +1 -0
- package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js +12 -0
- package/dist/migrations/knex/20251025082220_fix_task_dependencies_columns.js.map +1 -0
- package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts +19 -0
- package/dist/migrations/knex/20251025090000_create_help_system_tables.d.ts.map +1 -0
- package/dist/migrations/knex/20251025090000_create_help_system_tables.js +115 -0
- package/dist/migrations/knex/20251025090000_create_help_system_tables.js.map +1 -0
- package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts +13 -0
- package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.d.ts.map +1 -0
- package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js +377 -0
- package/dist/migrations/knex/20251025090100_seed_help_categories_and_use_cases.js.map +1 -0
- package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts +15 -0
- package/dist/migrations/knex/20251025100000_seed_help_metadata.d.ts.map +1 -0
- package/dist/migrations/knex/20251025100000_seed_help_metadata.js +253 -0
- package/dist/migrations/knex/20251025100000_seed_help_metadata.js.map +1 -0
- package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts +16 -0
- package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.d.ts.map +1 -0
- package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js +276 -0
- package/dist/migrations/knex/20251025100100_seed_remaining_use_cases.js.map +1 -0
- package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts +8 -0
- package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.d.ts.map +1 -0
- package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js +64 -0
- package/dist/migrations/knex/20251025120000_add_cascade_to_task_dependencies.js.map +1 -0
- package/dist/migrations/seed-help-data.d.ts +48 -0
- package/dist/migrations/seed-help-data.d.ts.map +1 -0
- package/dist/migrations/seed-help-data.js +1466 -0
- package/dist/migrations/seed-help-data.js.map +1 -0
- package/dist/migrations/seed-tool-metadata.d.ts +24 -0
- package/dist/migrations/seed-tool-metadata.d.ts.map +1 -0
- package/dist/migrations/seed-tool-metadata.js +392 -0
- package/dist/migrations/seed-tool-metadata.js.map +1 -0
- package/dist/migrations/v3.6.0-help-system-refactor.d.ts +46 -0
- package/dist/migrations/v3.6.0-help-system-refactor.d.ts.map +1 -0
- package/dist/migrations/v3.6.0-help-system-refactor.js +223 -0
- package/dist/migrations/v3.6.0-help-system-refactor.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -0
- package/dist/schema.js.map +1 -1
- package/dist/tests/git-aware-completion.test.d.ts +6 -0
- package/dist/tests/git-aware-completion.test.d.ts.map +1 -0
- package/dist/tests/git-aware-completion.test.js +160 -0
- package/dist/tests/git-aware-completion.test.js.map +1 -0
- package/dist/tests/help-system.test.d.ts +23 -0
- package/dist/tests/help-system.test.d.ts.map +1 -0
- package/dist/tests/help-system.test.js +374 -0
- package/dist/tests/help-system.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.d.ts +6 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.js +264 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-partial.test.d.ts +6 -0
- package/dist/tests/tasks.auto-pruning-partial.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-partial.test.js +285 -0
- package/dist/tests/tasks.auto-pruning-partial.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.d.ts +6 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.js +250 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-safety.test.d.ts +12 -0
- package/dist/tests/tasks.auto-pruning-safety.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-safety.test.js +217 -0
- package/dist/tests/tasks.auto-pruning-safety.test.js.map +1 -0
- package/dist/tests/tasks.dependencies.test.js +338 -307
- package/dist/tests/tasks.dependencies.test.js.map +1 -1
- package/dist/tests/tasks.link-file-backward-compat.test.d.ts +6 -0
- package/dist/tests/tasks.link-file-backward-compat.test.d.ts.map +1 -0
- package/dist/tests/tasks.link-file-backward-compat.test.js +247 -0
- package/dist/tests/tasks.link-file-backward-compat.test.js.map +1 -0
- package/dist/tests/tasks.watch-files-action.test.d.ts +6 -0
- package/dist/tests/tasks.watch-files-action.test.d.ts.map +1 -0
- package/dist/tests/tasks.watch-files-action.test.js +372 -0
- package/dist/tests/tasks.watch-files-action.test.js.map +1 -0
- package/dist/tests/tasks.watch-files-parameter.test.d.ts +6 -0
- package/dist/tests/tasks.watch-files-parameter.test.d.ts.map +1 -0
- package/dist/tests/tasks.watch-files-parameter.test.js +260 -0
- package/dist/tests/tasks.watch-files-parameter.test.js.map +1 -0
- package/dist/tests/two-step-git-completion.test.d.ts +6 -0
- package/dist/tests/two-step-git-completion.test.d.ts.map +1 -0
- package/dist/tests/two-step-git-completion.test.js +326 -0
- package/dist/tests/two-step-git-completion.test.js.map +1 -0
- package/dist/tests/vcs-staging.test.d.ts +6 -0
- package/dist/tests/vcs-staging.test.d.ts.map +1 -0
- package/dist/tests/vcs-staging.test.js +137 -0
- package/dist/tests/vcs-staging.test.js.map +1 -0
- package/dist/tools/config.d.ts +9 -4
- package/dist/tools/config.d.ts.map +1 -1
- package/dist/tools/config.js +16 -12
- package/dist/tools/config.js.map +1 -1
- package/dist/tools/constraints.d.ts +9 -3
- package/dist/tools/constraints.d.ts.map +1 -1
- package/dist/tools/constraints.js +66 -45
- package/dist/tools/constraints.js.map +1 -1
- package/dist/tools/context.d.ts +35 -16
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +374 -314
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.d.ts +11 -4
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +173 -91
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/help-queries.d.ts +130 -0
- package/dist/tools/help-queries.d.ts.map +1 -0
- package/dist/tools/help-queries.js +393 -0
- package/dist/tools/help-queries.js.map +1 -0
- package/dist/tools/messaging.d.ts +13 -6
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +217 -129
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/tasks.d.ts +42 -12
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +809 -347
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/utils.d.ts +13 -5
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +92 -115
- package/dist/tools/utils.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/activity-logging.d.ts +114 -0
- package/dist/utils/activity-logging.d.ts.map +1 -0
- package/dist/utils/activity-logging.js +162 -0
- package/dist/utils/activity-logging.js.map +1 -0
- package/dist/utils/batch.d.ts +2 -2
- package/dist/utils/batch.d.ts.map +1 -1
- package/dist/utils/batch.js +8 -8
- package/dist/utils/batch.js.map +1 -1
- package/dist/utils/cleanup.d.ts +21 -13
- package/dist/utils/cleanup.d.ts.map +1 -1
- package/dist/utils/cleanup.js +31 -24
- package/dist/utils/cleanup.js.map +1 -1
- package/dist/utils/debug-logger.d.ts +44 -0
- package/dist/utils/debug-logger.d.ts.map +1 -0
- package/dist/utils/debug-logger.js +116 -0
- package/dist/utils/debug-logger.js.map +1 -0
- package/dist/utils/file-pruning.d.ts +69 -0
- package/dist/utils/file-pruning.d.ts.map +1 -0
- package/dist/utils/file-pruning.js +185 -0
- package/dist/utils/file-pruning.js.map +1 -0
- package/dist/utils/help-tracking.d.ts +55 -0
- package/dist/utils/help-tracking.d.ts.map +1 -0
- package/dist/utils/help-tracking.js +88 -0
- package/dist/utils/help-tracking.js.map +1 -0
- package/dist/utils/quality-checks.d.ts +60 -0
- package/dist/utils/quality-checks.d.ts.map +1 -0
- package/dist/utils/quality-checks.js +228 -0
- package/dist/utils/quality-checks.js.map +1 -0
- package/dist/utils/retention.d.ts +13 -5
- package/dist/utils/retention.d.ts.map +1 -1
- package/dist/utils/retention.js +20 -8
- package/dist/utils/retention.js.map +1 -1
- package/dist/utils/task-stale-detection.d.ts +77 -7
- package/dist/utils/task-stale-detection.d.ts.map +1 -1
- package/dist/utils/task-stale-detection.js +309 -34
- package/dist/utils/task-stale-detection.js.map +1 -1
- package/dist/utils/token-estimation.d.ts +72 -0
- package/dist/utils/token-estimation.d.ts.map +1 -0
- package/dist/utils/token-estimation.js +71 -0
- package/dist/utils/token-estimation.js.map +1 -0
- package/dist/utils/token-logging.d.ts +48 -0
- package/dist/utils/token-logging.d.ts.map +1 -0
- package/dist/utils/token-logging.js +112 -0
- package/dist/utils/token-logging.js.map +1 -0
- package/dist/utils/vcs-adapter.d.ts +68 -0
- package/dist/utils/vcs-adapter.d.ts.map +1 -0
- package/dist/utils/vcs-adapter.js +187 -0
- package/dist/utils/vcs-adapter.js.map +1 -0
- package/dist/utils/view-queries.d.ts +34 -0
- package/dist/utils/view-queries.d.ts.map +1 -0
- package/dist/utils/view-queries.js +192 -0
- package/dist/utils/view-queries.js.map +1 -0
- package/dist/watcher/file-watcher.d.ts +54 -4
- package/dist/watcher/file-watcher.d.ts.map +1 -1
- package/dist/watcher/file-watcher.js +329 -33
- package/dist/watcher/file-watcher.js.map +1 -1
- package/dist/watcher/gitignore-parser.d.ts +70 -0
- package/dist/watcher/gitignore-parser.d.ts.map +1 -0
- package/dist/watcher/gitignore-parser.js +191 -0
- package/dist/watcher/gitignore-parser.js.map +1 -0
- package/dist/watcher/index.d.ts +1 -0
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js +1 -0
- package/dist/watcher/index.js.map +1 -1
- package/docs/AI_AGENT_GUIDE.md +1 -1
- package/docs/ARCHITECTURE.md +12 -0
- package/docs/AUTO_FILE_TRACKING.md +486 -82
- package/docs/BEST_PRACTICES.md +56 -448
- package/docs/CONFIGURATION.md +908 -0
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +645 -0
- package/docs/MIGRATION_v3.3.md +602 -0
- package/docs/MIGRATION_v3.6.0.md +170 -0
- package/docs/SHARED_CONCEPTS.md +65 -209
- package/docs/TASK_ACTIONS.md +12 -0
- package/docs/TASK_OVERVIEW.md +125 -24
- package/docs/TASK_PRUNING.md +589 -0
- package/docs/TASK_SYSTEM.md +83 -13
- package/docs/TOOL_REFERENCE.md +94 -6
- package/docs/TOOL_SELECTION.md +41 -248
- package/package.json +21 -7
package/dist/tools/config.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration management tools for MCP Shared Context Server
|
|
3
3
|
* Provides tools to get and update auto-deletion configuration
|
|
4
|
+
*
|
|
5
|
+
* CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
|
|
4
6
|
*/
|
|
5
|
-
import {
|
|
7
|
+
import { getAdapter, getConfigBool, getConfigInt, setConfigValue } from '../database.js';
|
|
6
8
|
import { CONFIG_KEYS } from '../constants.js';
|
|
7
9
|
/**
|
|
8
10
|
* Get current configuration settings
|
|
9
11
|
*
|
|
12
|
+
* @param adapter - Optional database adapter (for testing)
|
|
10
13
|
* @returns Current configuration values
|
|
11
14
|
*/
|
|
12
|
-
export function getConfig() {
|
|
13
|
-
const
|
|
14
|
-
const ignoreWeekend = getConfigBool(
|
|
15
|
-
const messageRetentionHours = getConfigInt(
|
|
16
|
-
const fileHistoryRetentionDays = getConfigInt(
|
|
15
|
+
export async function getConfig(adapter) {
|
|
16
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
17
|
+
const ignoreWeekend = await getConfigBool(actualAdapter, CONFIG_KEYS.AUTODELETE_IGNORE_WEEKEND, false);
|
|
18
|
+
const messageRetentionHours = await getConfigInt(actualAdapter, CONFIG_KEYS.AUTODELETE_MESSAGE_HOURS, 24);
|
|
19
|
+
const fileHistoryRetentionDays = await getConfigInt(actualAdapter, CONFIG_KEYS.AUTODELETE_FILE_HISTORY_DAYS, 7);
|
|
17
20
|
return {
|
|
18
21
|
ignoreWeekend,
|
|
19
22
|
messageRetentionHours,
|
|
@@ -25,10 +28,11 @@ export function getConfig() {
|
|
|
25
28
|
* Validates values before updating
|
|
26
29
|
*
|
|
27
30
|
* @param params - Configuration parameters to update
|
|
31
|
+
* @param adapter - Optional database adapter (for testing)
|
|
28
32
|
* @returns Updated configuration
|
|
29
33
|
*/
|
|
30
|
-
export function updateConfig(params) {
|
|
31
|
-
const
|
|
34
|
+
export async function updateConfig(params, adapter) {
|
|
35
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
32
36
|
// Validate values
|
|
33
37
|
if (params.messageRetentionHours !== undefined) {
|
|
34
38
|
if (params.messageRetentionHours < 1 || params.messageRetentionHours > 168) {
|
|
@@ -42,16 +46,16 @@ export function updateConfig(params) {
|
|
|
42
46
|
}
|
|
43
47
|
// Update values
|
|
44
48
|
if (params.ignoreWeekend !== undefined) {
|
|
45
|
-
setConfigValue(
|
|
49
|
+
await setConfigValue(actualAdapter, CONFIG_KEYS.AUTODELETE_IGNORE_WEEKEND, params.ignoreWeekend ? '1' : '0');
|
|
46
50
|
}
|
|
47
51
|
if (params.messageRetentionHours !== undefined) {
|
|
48
|
-
setConfigValue(
|
|
52
|
+
await setConfigValue(actualAdapter, CONFIG_KEYS.AUTODELETE_MESSAGE_HOURS, String(params.messageRetentionHours));
|
|
49
53
|
}
|
|
50
54
|
if (params.fileHistoryRetentionDays !== undefined) {
|
|
51
|
-
setConfigValue(
|
|
55
|
+
await setConfigValue(actualAdapter, CONFIG_KEYS.AUTODELETE_FILE_HISTORY_DAYS, String(params.fileHistoryRetentionDays));
|
|
52
56
|
}
|
|
53
57
|
// Get updated config
|
|
54
|
-
const updatedConfig = getConfig();
|
|
58
|
+
const updatedConfig = await getConfig(actualAdapter);
|
|
55
59
|
return {
|
|
56
60
|
success: true,
|
|
57
61
|
config: updatedConfig,
|
package/dist/tools/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Constraint management tools for MCP Shared Context Server
|
|
3
3
|
* Handles constraint tracking with priority, layer assignment, and tags
|
|
4
|
+
*
|
|
5
|
+
* CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
|
|
4
6
|
*/
|
|
7
|
+
import { DatabaseAdapter } from '../adapters/index.js';
|
|
5
8
|
import type { AddConstraintParams, AddConstraintResponse, GetConstraintsParams, GetConstraintsResponse, DeactivateConstraintParams, DeactivateConstraintResponse } from '../types.js';
|
|
6
9
|
/**
|
|
7
10
|
* Get or create constraint category ID
|
|
@@ -11,25 +14,28 @@ import type { AddConstraintParams, AddConstraintResponse, GetConstraintsParams,
|
|
|
11
14
|
* Add a constraint with priority, layer, and tags
|
|
12
15
|
*
|
|
13
16
|
* @param params - Constraint parameters
|
|
17
|
+
* @param adapter - Optional database adapter (for testing)
|
|
14
18
|
* @returns Constraint ID and timestamp
|
|
15
19
|
*/
|
|
16
|
-
export declare function addConstraint(params: AddConstraintParams): AddConstraintResponse
|
|
20
|
+
export declare function addConstraint(params: AddConstraintParams, adapter?: DatabaseAdapter): Promise<AddConstraintResponse>;
|
|
17
21
|
/**
|
|
18
22
|
* Retrieve t_constraints with advanced filtering
|
|
19
23
|
* Uses v_tagged_constraints view for token efficiency
|
|
20
24
|
*
|
|
21
25
|
* @param params - Filter parameters
|
|
26
|
+
* @param adapter - Optional database adapter (for testing)
|
|
22
27
|
* @returns Array of t_constraints matching filters
|
|
23
28
|
*/
|
|
24
|
-
export declare function getConstraints(params: GetConstraintsParams): GetConstraintsResponse
|
|
29
|
+
export declare function getConstraints(params: GetConstraintsParams, adapter?: DatabaseAdapter): Promise<GetConstraintsResponse>;
|
|
25
30
|
/**
|
|
26
31
|
* Deactivate a constraint (soft delete)
|
|
27
32
|
* Idempotent - deactivating already-inactive constraint is safe
|
|
28
33
|
*
|
|
29
34
|
* @param params - Constraint ID to deactivate
|
|
35
|
+
* @param adapter - Optional database adapter (for testing)
|
|
30
36
|
* @returns Success status
|
|
31
37
|
*/
|
|
32
|
-
export declare function deactivateConstraint(params: DeactivateConstraintParams): DeactivateConstraintResponse
|
|
38
|
+
export declare function deactivateConstraint(params: DeactivateConstraintParams, adapter?: DatabaseAdapter): Promise<DeactivateConstraintResponse>;
|
|
33
39
|
/**
|
|
34
40
|
* Get help documentation for constraint tool
|
|
35
41
|
* @returns Help documentation object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/tools/constraints.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/tools/constraints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkBvD,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAG7B,MAAM,aAAa,CAAC;AAErB;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAwFhC;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAuDjC;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,4BAA4B,CAAC,CAgCvC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAsBpC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAuIvC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Constraint management tools for MCP Shared Context Server
|
|
3
3
|
* Handles constraint tracking with priority, layer assignment, and tags
|
|
4
|
+
*
|
|
5
|
+
* CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
|
|
4
6
|
*/
|
|
5
|
-
import {
|
|
7
|
+
import { getAdapter, getOrCreateAgent, getLayerId, getOrCreateTag, getOrCreateCategoryId } from '../database.js';
|
|
6
8
|
import { STRING_TO_PRIORITY, DEFAULT_PRIORITY, SQLITE_TRUE, SQLITE_FALSE } from '../constants.js';
|
|
7
9
|
import { validateCategory, validatePriority } from '../utils/validators.js';
|
|
10
|
+
import { logConstraintAdd } from '../utils/activity-logging.js';
|
|
8
11
|
/**
|
|
9
12
|
* Get or create constraint category ID
|
|
10
13
|
* Uses INSERT OR IGNORE for idempotent operation
|
|
@@ -13,10 +16,11 @@ import { validateCategory, validatePriority } from '../utils/validators.js';
|
|
|
13
16
|
* Add a constraint with priority, layer, and tags
|
|
14
17
|
*
|
|
15
18
|
* @param params - Constraint parameters
|
|
19
|
+
* @param adapter - Optional database adapter (for testing)
|
|
16
20
|
* @returns Constraint ID and timestamp
|
|
17
21
|
*/
|
|
18
|
-
export function addConstraint(params) {
|
|
19
|
-
const
|
|
22
|
+
export async function addConstraint(params, adapter) {
|
|
23
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
20
24
|
try {
|
|
21
25
|
// Validate required parameters
|
|
22
26
|
if (!params.category || !params.constraint_text) {
|
|
@@ -35,33 +39,52 @@ export function addConstraint(params) {
|
|
|
35
39
|
if (!validLayers.includes(params.layer)) {
|
|
36
40
|
throw new Error(`Invalid layer. Must be one of: ${validLayers.join(', ')}`);
|
|
37
41
|
}
|
|
38
|
-
layerId = getLayerId(
|
|
42
|
+
layerId = await getLayerId(actualAdapter, params.layer);
|
|
39
43
|
if (!layerId) {
|
|
40
44
|
throw new Error(`Layer not found: ${params.layer}`);
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
// Use transaction for multi-table insert
|
|
44
|
-
const result = transaction(
|
|
48
|
+
const result = await actualAdapter.transaction(async (trx) => {
|
|
49
|
+
const knex = actualAdapter.getKnex();
|
|
45
50
|
// Get or create category
|
|
46
|
-
const categoryId = getOrCreateCategoryId(
|
|
51
|
+
const categoryId = await getOrCreateCategoryId(actualAdapter, params.category, trx);
|
|
47
52
|
// Get or create created_by agent
|
|
48
53
|
const createdBy = params.created_by || 'system';
|
|
49
|
-
const agentId = getOrCreateAgent(
|
|
54
|
+
const agentId = await getOrCreateAgent(actualAdapter, createdBy, trx);
|
|
55
|
+
// Calculate timestamp
|
|
56
|
+
const ts = Math.floor(Date.now() / 1000);
|
|
50
57
|
// Insert constraint
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
const [constraintId] = await trx('t_constraints').insert({
|
|
59
|
+
category_id: categoryId,
|
|
60
|
+
layer_id: layerId,
|
|
61
|
+
constraint_text: params.constraint_text,
|
|
62
|
+
priority: priority,
|
|
63
|
+
active: SQLITE_TRUE,
|
|
64
|
+
created_by: agentId,
|
|
65
|
+
ts: ts
|
|
66
|
+
});
|
|
56
67
|
// Insert m_tags if provided
|
|
57
68
|
if (params.tags && params.tags.length > 0) {
|
|
58
|
-
const tagStmt = db.prepare('INSERT INTO t_constraint_tags (constraint_id, tag_id) VALUES (?, ?)');
|
|
59
69
|
for (const tagName of params.tags) {
|
|
60
|
-
const tagId = getOrCreateTag(
|
|
61
|
-
|
|
70
|
+
const tagId = await getOrCreateTag(actualAdapter, tagName, trx);
|
|
71
|
+
await trx('t_constraint_tags').insert({
|
|
72
|
+
constraint_id: Number(constraintId),
|
|
73
|
+
tag_id: tagId
|
|
74
|
+
});
|
|
62
75
|
}
|
|
63
76
|
}
|
|
64
|
-
|
|
77
|
+
// Activity logging (replaces trigger)
|
|
78
|
+
await logConstraintAdd(knex, {
|
|
79
|
+
constraint_id: Number(constraintId),
|
|
80
|
+
category: params.category,
|
|
81
|
+
constraint_text: params.constraint_text,
|
|
82
|
+
priority: priorityStr,
|
|
83
|
+
layer: params.layer || null,
|
|
84
|
+
created_by: createdBy,
|
|
85
|
+
agent_id: agentId
|
|
86
|
+
});
|
|
87
|
+
return { constraintId: Number(constraintId) };
|
|
65
88
|
});
|
|
66
89
|
return {
|
|
67
90
|
success: true,
|
|
@@ -78,51 +101,42 @@ export function addConstraint(params) {
|
|
|
78
101
|
* Uses v_tagged_constraints view for token efficiency
|
|
79
102
|
*
|
|
80
103
|
* @param params - Filter parameters
|
|
104
|
+
* @param adapter - Optional database adapter (for testing)
|
|
81
105
|
* @returns Array of t_constraints matching filters
|
|
82
106
|
*/
|
|
83
|
-
export function getConstraints(params) {
|
|
84
|
-
const
|
|
107
|
+
export async function getConstraints(params, adapter) {
|
|
108
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
109
|
+
const knex = actualAdapter.getKnex();
|
|
85
110
|
try {
|
|
86
|
-
// Build query
|
|
87
|
-
|
|
88
|
-
const values = [];
|
|
89
|
-
// Use v_tagged_constraints view (already filters active=1)
|
|
90
|
-
let sql = 'SELECT * FROM v_tagged_constraints WHERE 1=1';
|
|
111
|
+
// Build query using v_tagged_constraints view (already filters active=1)
|
|
112
|
+
let query = knex('v_tagged_constraints');
|
|
91
113
|
// Filter by category
|
|
92
114
|
if (params.category) {
|
|
93
115
|
validateCategory(params.category);
|
|
94
|
-
|
|
95
|
-
values.push(params.category);
|
|
116
|
+
query = query.where('category', params.category);
|
|
96
117
|
}
|
|
97
118
|
// Filter by layer
|
|
98
119
|
if (params.layer) {
|
|
99
|
-
|
|
100
|
-
values.push(params.layer);
|
|
120
|
+
query = query.where('layer', params.layer);
|
|
101
121
|
}
|
|
102
122
|
// Filter by priority
|
|
103
123
|
if (params.priority) {
|
|
104
|
-
|
|
105
|
-
values.push(params.priority);
|
|
124
|
+
query = query.where('priority', params.priority);
|
|
106
125
|
}
|
|
107
126
|
// Filter by m_tags (OR logic - match ANY tag)
|
|
108
127
|
if (params.tags && params.tags.length > 0) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
// Add all conditions to query
|
|
116
|
-
if (conditions.length > 0) {
|
|
117
|
-
sql += ' AND ' + conditions.join(' AND ');
|
|
128
|
+
query = query.where((builder) => {
|
|
129
|
+
for (const tag of params.tags) {
|
|
130
|
+
builder.orWhere('tags', 'like', `%${tag}%`);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
118
133
|
}
|
|
119
134
|
// Note: v_tagged_constraints view already orders by priority DESC, category, ts DESC
|
|
120
135
|
// Add limit if provided
|
|
121
136
|
const limit = params.limit || 50;
|
|
122
|
-
|
|
123
|
-
values.push(limit);
|
|
137
|
+
query = query.limit(limit);
|
|
124
138
|
// Execute query
|
|
125
|
-
const rows =
|
|
139
|
+
const rows = await query.select('*');
|
|
126
140
|
// Parse m_tags from comma-separated to array for consistency
|
|
127
141
|
const constraints = rows.map(row => ({
|
|
128
142
|
...row,
|
|
@@ -143,22 +157,29 @@ export function getConstraints(params) {
|
|
|
143
157
|
* Idempotent - deactivating already-inactive constraint is safe
|
|
144
158
|
*
|
|
145
159
|
* @param params - Constraint ID to deactivate
|
|
160
|
+
* @param adapter - Optional database adapter (for testing)
|
|
146
161
|
* @returns Success status
|
|
147
162
|
*/
|
|
148
|
-
export function deactivateConstraint(params) {
|
|
149
|
-
const
|
|
163
|
+
export async function deactivateConstraint(params, adapter) {
|
|
164
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
165
|
+
const knex = actualAdapter.getKnex();
|
|
150
166
|
try {
|
|
151
167
|
// Validate constraint_id
|
|
152
168
|
if (!params.constraint_id || typeof params.constraint_id !== 'number') {
|
|
153
169
|
throw new Error('constraint_id is required and must be a number');
|
|
154
170
|
}
|
|
155
171
|
// Check if constraint exists
|
|
156
|
-
const constraint =
|
|
172
|
+
const constraint = await knex('t_constraints')
|
|
173
|
+
.where({ id: params.constraint_id })
|
|
174
|
+
.select('id', 'active')
|
|
175
|
+
.first();
|
|
157
176
|
if (!constraint) {
|
|
158
177
|
throw new Error(`Constraint not found: ${params.constraint_id}`);
|
|
159
178
|
}
|
|
160
179
|
// Update constraint to inactive (idempotent)
|
|
161
|
-
|
|
180
|
+
await knex('t_constraints')
|
|
181
|
+
.where({ id: params.constraint_id })
|
|
182
|
+
.update({ active: SQLITE_FALSE });
|
|
162
183
|
return {
|
|
163
184
|
success: true,
|
|
164
185
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/tools/constraints.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/tools/constraints.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/context.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Context management tools for MCP Shared Context Server
|
|
3
3
|
* Implements set_decision, get_context, and get_decision tools
|
|
4
|
+
*
|
|
5
|
+
* CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
|
|
4
6
|
*/
|
|
7
|
+
import { DatabaseAdapter } from '../adapters/index.js';
|
|
5
8
|
import type { SetDecisionParams, GetContextParams, GetDecisionParams, SetDecisionResponse, GetContextResponse, GetDecisionResponse, SearchByTagsParams, SearchByTagsResponse, GetVersionsParams, GetVersionsResponse, SearchByLayerParams, SearchByLayerResponse, QuickSetDecisionParams, QuickSetDecisionResponse, SearchAdvancedParams, SearchAdvancedResponse, SetDecisionBatchParams, SetDecisionBatchResponse, SetFromTemplateParams, SetFromTemplateResponse, CreateTemplateParams, CreateTemplateResponse, ListTemplatesParams, ListTemplatesResponse, HasUpdatesParams, HasUpdatesResponse, HardDeleteDecisionParams, HardDeleteDecisionResponse } from '../types.js';
|
|
6
9
|
/**
|
|
7
10
|
* Set or update a decision in the context
|
|
@@ -9,53 +12,59 @@ import type { SetDecisionParams, GetContextParams, GetDecisionParams, SetDecisio
|
|
|
9
12
|
* Supports tags, layers, scopes, and version tracking
|
|
10
13
|
*
|
|
11
14
|
* @param params - Decision parameters
|
|
15
|
+
* @param adapter - Optional database adapter (for testing)
|
|
12
16
|
* @returns Response with success status and metadata
|
|
13
17
|
*/
|
|
14
|
-
export declare function setDecision(params: SetDecisionParams): SetDecisionResponse
|
|
18
|
+
export declare function setDecision(params: SetDecisionParams, adapter?: DatabaseAdapter): Promise<SetDecisionResponse>;
|
|
15
19
|
/**
|
|
16
20
|
* Get context t_decisions with advanced filtering
|
|
17
21
|
* Uses v_tagged_decisions view for token efficiency
|
|
18
22
|
* Supports filtering by status, layer, tags, and scope
|
|
19
23
|
*
|
|
20
24
|
* @param params - Filter parameters
|
|
25
|
+
* @param adapter - Optional database adapter (for testing)
|
|
21
26
|
* @returns Array of t_decisions with metadata
|
|
22
27
|
*/
|
|
23
|
-
export declare function getContext(params?: GetContextParams): GetContextResponse
|
|
28
|
+
export declare function getContext(params?: GetContextParams, adapter?: DatabaseAdapter): Promise<GetContextResponse>;
|
|
24
29
|
/**
|
|
25
30
|
* Get a specific decision by key
|
|
26
31
|
* Returns full metadata including tags, layer, scopes, version
|
|
27
32
|
* Optionally includes decision context (v3.2.2)
|
|
28
33
|
*
|
|
29
34
|
* @param params - Decision key and optional include_context flag
|
|
35
|
+
* @param adapter - Optional database adapter (for testing)
|
|
30
36
|
* @returns Decision details or not found
|
|
31
37
|
*/
|
|
32
38
|
export declare function getDecision(params: GetDecisionParams & {
|
|
33
39
|
include_context?: boolean;
|
|
34
|
-
}): GetDecisionResponse
|
|
40
|
+
}, adapter?: DatabaseAdapter): Promise<GetDecisionResponse>;
|
|
35
41
|
/**
|
|
36
42
|
* Search for t_decisions by m_tags with AND/OR logic
|
|
37
43
|
* Provides flexible tag-based filtering with status and layer support
|
|
38
44
|
*
|
|
39
45
|
* @param params - Search parameters (tags, match_mode, status, layer)
|
|
46
|
+
* @param adapter - Optional database adapter (for testing)
|
|
40
47
|
* @returns Array of t_decisions matching tag criteria
|
|
41
48
|
*/
|
|
42
|
-
export declare function searchByTags(params: SearchByTagsParams): SearchByTagsResponse
|
|
49
|
+
export declare function searchByTags(params: SearchByTagsParams, adapter?: DatabaseAdapter): Promise<SearchByTagsResponse>;
|
|
43
50
|
/**
|
|
44
51
|
* Get version history for a specific decision key
|
|
45
52
|
* Returns all historical versions ordered by timestamp (newest first)
|
|
46
53
|
*
|
|
47
54
|
* @param params - Decision key to get history for
|
|
55
|
+
* @param adapter - Optional database adapter (for testing)
|
|
48
56
|
* @returns Array of historical versions with metadata
|
|
49
57
|
*/
|
|
50
|
-
export declare function getVersions(params: GetVersionsParams): GetVersionsResponse
|
|
58
|
+
export declare function getVersions(params: GetVersionsParams, adapter?: DatabaseAdapter): Promise<GetVersionsResponse>;
|
|
51
59
|
/**
|
|
52
60
|
* Search for t_decisions within a specific architecture layer
|
|
53
61
|
* Supports status filtering and optional tag inclusion
|
|
54
62
|
*
|
|
55
63
|
* @param params - Layer name, optional status and include_tags
|
|
64
|
+
* @param adapter - Optional database adapter (for testing)
|
|
56
65
|
* @returns Array of t_decisions in the specified layer
|
|
57
66
|
*/
|
|
58
|
-
export declare function searchByLayer(params: SearchByLayerParams): SearchByLayerResponse
|
|
67
|
+
export declare function searchByLayer(params: SearchByLayerParams, adapter?: DatabaseAdapter): Promise<SearchByLayerResponse>;
|
|
59
68
|
/**
|
|
60
69
|
* Quick set decision with smart defaults and inference
|
|
61
70
|
* Reduces required parameters from 7 to 2 (key + value only)
|
|
@@ -81,9 +90,10 @@ export declare function searchByLayer(params: SearchByLayerParams): SearchByLaye
|
|
|
81
90
|
* All inferred fields can be overridden via optional parameters.
|
|
82
91
|
*
|
|
83
92
|
* @param params - Quick set parameters (key and value required)
|
|
93
|
+
* @param adapter - Optional database adapter (for testing)
|
|
84
94
|
* @returns Response with success status and inferred metadata
|
|
85
95
|
*/
|
|
86
|
-
export declare function quickSetDecision(params: QuickSetDecisionParams): QuickSetDecisionResponse
|
|
96
|
+
export declare function quickSetDecision(params: QuickSetDecisionParams, adapter?: DatabaseAdapter): Promise<QuickSetDecisionResponse>;
|
|
87
97
|
/**
|
|
88
98
|
* Advanced query composition with complex filtering capabilities
|
|
89
99
|
* Supports multiple filter types, sorting, and pagination
|
|
@@ -100,52 +110,58 @@ export declare function quickSetDecision(params: QuickSetDecisionParams): QuickS
|
|
|
100
110
|
* - search_text: Full-text search in value field
|
|
101
111
|
*
|
|
102
112
|
* @param params - Advanced search parameters with filtering, sorting, pagination
|
|
113
|
+
* @param adapter - Optional database adapter (for testing)
|
|
103
114
|
* @returns Filtered decisions with total count for pagination
|
|
104
115
|
*/
|
|
105
|
-
export declare function searchAdvanced(params?: SearchAdvancedParams): SearchAdvancedResponse
|
|
116
|
+
export declare function searchAdvanced(params?: SearchAdvancedParams, adapter?: DatabaseAdapter): Promise<SearchAdvancedResponse>;
|
|
106
117
|
/**
|
|
107
118
|
* Set multiple decisions in a single batch operation (FR-005)
|
|
108
119
|
* Supports atomic (all succeed or all fail) and non-atomic modes
|
|
109
120
|
* Limit: 50 items per batch (constraint #3)
|
|
110
121
|
*
|
|
111
122
|
* @param params - Batch parameters with array of decisions and atomic flag
|
|
123
|
+
* @param adapter - Optional database adapter (for testing)
|
|
112
124
|
* @returns Response with success status and detailed results for each item
|
|
113
125
|
*/
|
|
114
|
-
export declare function setDecisionBatch(params: SetDecisionBatchParams): SetDecisionBatchResponse
|
|
126
|
+
export declare function setDecisionBatch(params: SetDecisionBatchParams, adapter?: DatabaseAdapter): Promise<SetDecisionBatchResponse>;
|
|
115
127
|
/**
|
|
116
128
|
* Check for updates since a given timestamp (FR-003 Phase A)
|
|
117
129
|
* Lightweight polling mechanism using COUNT queries
|
|
118
130
|
* Token cost: ~5-10 tokens per check
|
|
119
131
|
*
|
|
120
132
|
* @param params - Agent name and since_timestamp (ISO 8601)
|
|
133
|
+
* @param adapter - Optional database adapter (for testing)
|
|
121
134
|
* @returns Boolean flag and counts for decisions, messages, files
|
|
122
135
|
*/
|
|
123
|
-
export declare function hasUpdates(params: HasUpdatesParams): HasUpdatesResponse
|
|
136
|
+
export declare function hasUpdates(params: HasUpdatesParams, adapter?: DatabaseAdapter): Promise<HasUpdatesResponse>;
|
|
124
137
|
/**
|
|
125
138
|
* Set decision from template with defaults and required field validation (FR-006)
|
|
126
139
|
* Applies template defaults while allowing overrides
|
|
127
140
|
* Validates required fields if template specifies any
|
|
128
141
|
*
|
|
129
142
|
* @param params - Template name, key, value, and optional overrides
|
|
143
|
+
* @param adapter - Optional database adapter (for testing)
|
|
130
144
|
* @returns Response with success status and applied defaults metadata
|
|
131
145
|
*/
|
|
132
|
-
export declare function setFromTemplate(params: SetFromTemplateParams): SetFromTemplateResponse
|
|
146
|
+
export declare function setFromTemplate(params: SetFromTemplateParams, adapter?: DatabaseAdapter): Promise<SetFromTemplateResponse>;
|
|
133
147
|
/**
|
|
134
148
|
* Create a new decision template (FR-006)
|
|
135
149
|
* Defines reusable defaults and required fields for decisions
|
|
136
150
|
*
|
|
137
151
|
* @param params - Template name, defaults, required fields, and creator
|
|
152
|
+
* @param adapter - Optional database adapter (for testing)
|
|
138
153
|
* @returns Response with success status and template ID
|
|
139
154
|
*/
|
|
140
|
-
export declare function createTemplate(params: CreateTemplateParams): CreateTemplateResponse
|
|
155
|
+
export declare function createTemplate(params: CreateTemplateParams, adapter?: DatabaseAdapter): Promise<CreateTemplateResponse>;
|
|
141
156
|
/**
|
|
142
157
|
* List all available decision templates (FR-006)
|
|
143
158
|
* Returns all templates with their defaults and metadata
|
|
144
159
|
*
|
|
145
160
|
* @param params - No parameters required
|
|
161
|
+
* @param adapter - Optional database adapter (for testing)
|
|
146
162
|
* @returns Array of all templates with parsed JSON fields
|
|
147
163
|
*/
|
|
148
|
-
export declare function listTemplates(params?: ListTemplatesParams): ListTemplatesResponse
|
|
164
|
+
export declare function listTemplates(params?: ListTemplatesParams, adapter?: DatabaseAdapter): Promise<ListTemplatesResponse>;
|
|
149
165
|
/**
|
|
150
166
|
* Permanently delete a decision and all related data (hard delete)
|
|
151
167
|
* Unlike soft delete (status=deprecated), this removes all records from database
|
|
@@ -159,25 +175,28 @@ export declare function listTemplates(params?: ListTemplatesParams): ListTemplat
|
|
|
159
175
|
* (tags, scopes) will also be deleted due to CASCADE constraints.
|
|
160
176
|
*
|
|
161
177
|
* @param params - Decision key to delete
|
|
178
|
+
* @param adapter - Optional database adapter (for testing)
|
|
162
179
|
* @returns Response with success status
|
|
163
180
|
*/
|
|
164
|
-
export declare function hardDeleteDecision(params: HardDeleteDecisionParams): HardDeleteDecisionResponse
|
|
181
|
+
export declare function hardDeleteDecision(params: HardDeleteDecisionParams, adapter?: DatabaseAdapter): Promise<HardDeleteDecisionResponse>;
|
|
165
182
|
/**
|
|
166
183
|
* Add decision context action
|
|
167
184
|
* Adds rich context (rationale, alternatives, tradeoffs) to a decision
|
|
168
185
|
*
|
|
169
186
|
* @param params - Context parameters
|
|
187
|
+
* @param adapter - Optional database adapter (for testing)
|
|
170
188
|
* @returns Response with success status
|
|
171
189
|
*/
|
|
172
|
-
export declare function addDecisionContextAction(params: any): any
|
|
190
|
+
export declare function addDecisionContextAction(params: any, adapter?: DatabaseAdapter): Promise<any>;
|
|
173
191
|
/**
|
|
174
192
|
* List decision contexts action
|
|
175
193
|
* Query decision contexts with optional filters
|
|
176
194
|
*
|
|
177
195
|
* @param params - Filter parameters
|
|
196
|
+
* @param adapter - Optional database adapter (for testing)
|
|
178
197
|
* @returns Array of decision contexts
|
|
179
198
|
*/
|
|
180
|
-
export declare function listDecisionContextsAction(params: any): any
|
|
199
|
+
export declare function listDecisionContextsAction(params: any, adapter?: DatabaseAdapter): Promise<any>;
|
|
181
200
|
/**
|
|
182
201
|
* Help action for decision tool
|
|
183
202
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
|