sqlew 5.2.0 → 5.2.2
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 +2169 -2110
- package/LICENSE +190 -190
- package/NOTICE +24 -24
- package/README.md +204 -199
- package/dist/adapters/mysql-adapter.js +3 -3
- package/dist/adapters/postgresql-adapter.js +3 -3
- package/dist/cli/db-export.js +32 -32
- package/dist/cli/db-import.js +30 -30
- package/dist/cli/hooks/codex-transcript.d.ts +23 -0
- package/dist/cli/hooks/codex-transcript.d.ts.map +1 -0
- package/dist/cli/hooks/codex-transcript.js +134 -0
- package/dist/cli/hooks/codex-transcript.js.map +1 -0
- package/dist/cli/hooks/on-exit-plan.d.ts.map +1 -1
- package/dist/cli/hooks/on-exit-plan.js +30 -3
- package/dist/cli/hooks/on-exit-plan.js.map +1 -1
- package/dist/cli/hooks/on-prompt.d.ts +2 -2
- package/dist/cli/hooks/on-prompt.d.ts.map +1 -1
- package/dist/cli/hooks/on-prompt.js +33 -16
- package/dist/cli/hooks/on-prompt.js.map +1 -1
- package/dist/cli/hooks/plan-pattern-extractor.d.ts +2 -0
- package/dist/cli/hooks/plan-pattern-extractor.d.ts.map +1 -1
- package/dist/cli/hooks/plan-pattern-extractor.js +1 -0
- package/dist/cli/hooks/plan-pattern-extractor.js.map +1 -1
- package/dist/cli/hooks/plan-processor.d.ts.map +1 -1
- package/dist/cli/hooks/plan-processor.js +1 -0
- package/dist/cli/hooks/plan-processor.js.map +1 -1
- package/dist/cli/hooks/pr-adr.js +5 -5
- package/dist/cli/hooks/stdin-parser.d.ts +4 -2
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
- package/dist/cli/hooks/stdin-parser.js +79 -9
- package/dist/cli/hooks/stdin-parser.js.map +1 -1
- package/dist/cli/hooks/track-plan.js +15 -15
- package/dist/cli.js +48 -48
- package/dist/config/global-config.js +19 -19
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +32 -32
- package/dist/database/migrations/v4/20260102204000_v4_fix_decision_set_example.js +3 -3
- package/dist/database/migrations/v4/20260613000000_add_constraint_reason.d.ts +9 -0
- package/dist/database/migrations/v4/20260613000000_add_constraint_reason.d.ts.map +1 -0
- package/dist/database/migrations/v4/20260613000000_add_constraint_reason.js +31 -0
- package/dist/database/migrations/v4/20260613000000_add_constraint_reason.js.map +1 -0
- package/dist/help-data/constraint.toml +265 -259
- package/dist/help-data/decision.toml +845 -845
- package/dist/help-data/queue.toml +134 -134
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +4 -5
- package/dist/schema.js.map +1 -1
- package/dist/server/tool-schemas.js +30 -30
- package/dist/tests/docker/native/constraint-operations.test.js +38 -0
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.js +9 -9
- package/dist/tests/feature/constraint/reason.test.d.ts +7 -0
- package/dist/tests/feature/constraint/reason.test.d.ts.map +1 -0
- package/dist/tests/feature/constraint/reason.test.js +68 -0
- package/dist/tests/feature/constraint/reason.test.js.map +1 -0
- package/dist/tests/unit/hooks/codex-hook-normalization.test.d.ts +7 -0
- package/dist/tests/unit/hooks/codex-hook-normalization.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/codex-hook-normalization.test.js +112 -0
- package/dist/tests/unit/hooks/codex-hook-normalization.test.js.map +1 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js +45 -7
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js.map +1 -1
- package/dist/tests/unit/hooks/plan-pattern-extractor.test.d.ts +8 -0
- package/dist/tests/unit/hooks/plan-pattern-extractor.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/plan-pattern-extractor.test.js +110 -0
- package/dist/tests/unit/hooks/plan-pattern-extractor.test.js.map +1 -0
- package/dist/tests/utils/db-schema.js +48 -48
- package/dist/tests/utils/test-helpers.js +48 -48
- package/dist/tools/constraints/actions/add.d.ts.map +1 -1
- package/dist/tools/constraints/actions/add.js +1 -0
- package/dist/tools/constraints/actions/add.js.map +1 -1
- package/dist/tools/constraints/actions/get.d.ts.map +1 -1
- package/dist/tools/constraints/actions/get.js +9 -7
- package/dist/tools/constraints/actions/get.js.map +1 -1
- package/dist/tools/constraints/help/example.js +1 -1
- package/dist/tools/constraints/help/example.js.map +1 -1
- package/dist/types/constraint/params.d.ts +2 -0
- package/dist/types/constraint/params.d.ts.map +1 -1
- package/dist/types/view-entities.d.ts +1 -0
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/utils/action-specs/constraint-specs.d.ts.map +1 -1
- package/dist/utils/action-specs/constraint-specs.js +4 -3
- package/dist/utils/action-specs/constraint-specs.js.map +1 -1
- package/dist/utils/hook-queue.d.ts +2 -0
- package/dist/utils/hook-queue.d.ts.map +1 -1
- package/dist/utils/hook-queue.js.map +1 -1
- package/dist/utils/project-root.d.ts +1 -0
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +6 -0
- package/dist/utils/project-root.js.map +1 -1
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +1 -0
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/queue-watcher.d.ts.map +1 -1
- package/dist/watcher/queue-watcher.js +1 -0
- package/dist/watcher/queue-watcher.js.map +1 -1
- package/docs/ADR_CONCEPTS.md +152 -152
- package/docs/CLI_USAGE.md +392 -392
- package/docs/CONFIGURATION.md +157 -157
- package/docs/CROSS_DATABASE.md +66 -66
- package/docs/DATABASE_AUTH.md +135 -135
- package/docs/HOOKS_GUIDE.md +116 -101
- package/docs/MIGRATION_TO_SAAS.md +176 -176
- package/docs/SHARED_DATABASE.md +108 -108
- package/package.json +88 -88
- package/scripts/copy-help-data.js +19 -19
- package/scripts/filter-test-output.js +78 -78
- package/dist/tests/docker/native/help-system.test.d.ts +0 -8
- package/dist/tests/docker/native/help-system.test.d.ts.map +0 -1
- package/dist/tests/docker/native/help-system.test.js +0 -508
- package/dist/tests/docker/native/help-system.test.js.map +0 -1
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
# Queue Tool - Hook Queue Management
|
|
2
|
-
# Manage pending items in .sqlew/queue/pending.json
|
|
3
|
-
|
|
4
|
-
[tool]
|
|
5
|
-
name = "queue"
|
|
6
|
-
description = "Hook queue management - list, clear, remove pending items from .sqlew/queue/pending.json. Safe operations with lock mechanism to prevent race conditions with QueueWatcher."
|
|
7
|
-
|
|
8
|
-
# =============================================================================
|
|
9
|
-
# ACTIONS
|
|
10
|
-
# =============================================================================
|
|
11
|
-
|
|
12
|
-
[[actions]]
|
|
13
|
-
name = "list"
|
|
14
|
-
description = "List all pending items in the queue"
|
|
15
|
-
|
|
16
|
-
[[actions.params]]
|
|
17
|
-
name = "action"
|
|
18
|
-
type = "string"
|
|
19
|
-
required = true
|
|
20
|
-
description = "Must be \"list\""
|
|
21
|
-
|
|
22
|
-
[[actions.examples]]
|
|
23
|
-
title = "List queue items"
|
|
24
|
-
code = '''
|
|
25
|
-
{
|
|
26
|
-
"action": "list"
|
|
27
|
-
}
|
|
28
|
-
'''
|
|
29
|
-
explanation = "Show all pending decisions/constraints in the queue with their index, type, and metadata"
|
|
30
|
-
|
|
31
|
-
# -----------------------------------------------------------------------------
|
|
32
|
-
|
|
33
|
-
[[actions]]
|
|
34
|
-
name = "clear"
|
|
35
|
-
description = "Clear all items from the queue"
|
|
36
|
-
|
|
37
|
-
[[actions.params]]
|
|
38
|
-
name = "action"
|
|
39
|
-
type = "string"
|
|
40
|
-
required = true
|
|
41
|
-
description = "Must be \"clear\""
|
|
42
|
-
|
|
43
|
-
[[actions.examples]]
|
|
44
|
-
title = "Clear all queue items"
|
|
45
|
-
code = '''
|
|
46
|
-
{
|
|
47
|
-
"action": "clear"
|
|
48
|
-
}
|
|
49
|
-
'''
|
|
50
|
-
explanation = "Remove all pending items from the queue at once"
|
|
51
|
-
|
|
52
|
-
# -----------------------------------------------------------------------------
|
|
53
|
-
|
|
54
|
-
[[actions]]
|
|
55
|
-
name = "remove"
|
|
56
|
-
description = "Remove a specific item from the queue by index"
|
|
57
|
-
|
|
58
|
-
[[actions.params]]
|
|
59
|
-
name = "action"
|
|
60
|
-
type = "string"
|
|
61
|
-
required = true
|
|
62
|
-
description = "Must be \"remove\""
|
|
63
|
-
|
|
64
|
-
[[actions.params]]
|
|
65
|
-
name = "index"
|
|
66
|
-
type = "number"
|
|
67
|
-
required = true
|
|
68
|
-
description = "0-based index of the item to remove (use 'list' first to see indices)"
|
|
69
|
-
|
|
70
|
-
[[actions.examples]]
|
|
71
|
-
title = "Remove item at index 0"
|
|
72
|
-
code = '''
|
|
73
|
-
{
|
|
74
|
-
"action": "remove",
|
|
75
|
-
"index": 0
|
|
76
|
-
}
|
|
77
|
-
'''
|
|
78
|
-
explanation = "Remove the first item from the queue. Use 'list' first to see available indices."
|
|
79
|
-
|
|
80
|
-
# -----------------------------------------------------------------------------
|
|
81
|
-
|
|
82
|
-
[[actions]]
|
|
83
|
-
name = "help"
|
|
84
|
-
description = "Get queue tool documentation"
|
|
85
|
-
|
|
86
|
-
[[actions.params]]
|
|
87
|
-
name = "action"
|
|
88
|
-
type = "string"
|
|
89
|
-
required = true
|
|
90
|
-
description = "Must be \"help\""
|
|
91
|
-
|
|
92
|
-
[[actions.examples]]
|
|
93
|
-
title = "Get help"
|
|
94
|
-
code = '''
|
|
95
|
-
{
|
|
96
|
-
"action": "help"
|
|
97
|
-
}
|
|
98
|
-
'''
|
|
99
|
-
explanation = "Display queue tool documentation"
|
|
100
|
-
|
|
101
|
-
# -----------------------------------------------------------------------------
|
|
102
|
-
|
|
103
|
-
[[actions]]
|
|
104
|
-
name = "example"
|
|
105
|
-
description = "Get queue tool usage examples"
|
|
106
|
-
|
|
107
|
-
[[actions.params]]
|
|
108
|
-
name = "action"
|
|
109
|
-
type = "string"
|
|
110
|
-
required = true
|
|
111
|
-
description = "Must be \"example\""
|
|
112
|
-
|
|
113
|
-
[[actions.examples]]
|
|
114
|
-
title = "Get examples"
|
|
115
|
-
code = '''
|
|
116
|
-
{
|
|
117
|
-
"action": "example"
|
|
118
|
-
}
|
|
119
|
-
'''
|
|
120
|
-
explanation = "Display queue tool usage examples"
|
|
121
|
-
|
|
122
|
-
# =============================================================================
|
|
123
|
-
# USE CASES
|
|
124
|
-
# =============================================================================
|
|
125
|
-
|
|
126
|
-
[[use_cases]]
|
|
127
|
-
title = "Handle stuck items due to High Similarity"
|
|
128
|
-
description = "Items may remain in queue if they have 60%+ similarity to existing decisions"
|
|
129
|
-
steps = [
|
|
130
|
-
"1. Use `queue list` to see stuck items",
|
|
131
|
-
"2. Check existing decisions with `/sqlew search for <topic>`",
|
|
132
|
-
"3. If truly duplicate: Use `queue remove` with the item index",
|
|
133
|
-
"4. If different intent: Update the key to be more specific and retry"
|
|
134
|
-
]
|
|
1
|
+
# Queue Tool - Hook Queue Management
|
|
2
|
+
# Manage pending items in .sqlew/queue/pending.json
|
|
3
|
+
|
|
4
|
+
[tool]
|
|
5
|
+
name = "queue"
|
|
6
|
+
description = "Hook queue management - list, clear, remove pending items from .sqlew/queue/pending.json. Safe operations with lock mechanism to prevent race conditions with QueueWatcher."
|
|
7
|
+
|
|
8
|
+
# =============================================================================
|
|
9
|
+
# ACTIONS
|
|
10
|
+
# =============================================================================
|
|
11
|
+
|
|
12
|
+
[[actions]]
|
|
13
|
+
name = "list"
|
|
14
|
+
description = "List all pending items in the queue"
|
|
15
|
+
|
|
16
|
+
[[actions.params]]
|
|
17
|
+
name = "action"
|
|
18
|
+
type = "string"
|
|
19
|
+
required = true
|
|
20
|
+
description = "Must be \"list\""
|
|
21
|
+
|
|
22
|
+
[[actions.examples]]
|
|
23
|
+
title = "List queue items"
|
|
24
|
+
code = '''
|
|
25
|
+
{
|
|
26
|
+
"action": "list"
|
|
27
|
+
}
|
|
28
|
+
'''
|
|
29
|
+
explanation = "Show all pending decisions/constraints in the queue with their index, type, and metadata"
|
|
30
|
+
|
|
31
|
+
# -----------------------------------------------------------------------------
|
|
32
|
+
|
|
33
|
+
[[actions]]
|
|
34
|
+
name = "clear"
|
|
35
|
+
description = "Clear all items from the queue"
|
|
36
|
+
|
|
37
|
+
[[actions.params]]
|
|
38
|
+
name = "action"
|
|
39
|
+
type = "string"
|
|
40
|
+
required = true
|
|
41
|
+
description = "Must be \"clear\""
|
|
42
|
+
|
|
43
|
+
[[actions.examples]]
|
|
44
|
+
title = "Clear all queue items"
|
|
45
|
+
code = '''
|
|
46
|
+
{
|
|
47
|
+
"action": "clear"
|
|
48
|
+
}
|
|
49
|
+
'''
|
|
50
|
+
explanation = "Remove all pending items from the queue at once"
|
|
51
|
+
|
|
52
|
+
# -----------------------------------------------------------------------------
|
|
53
|
+
|
|
54
|
+
[[actions]]
|
|
55
|
+
name = "remove"
|
|
56
|
+
description = "Remove a specific item from the queue by index"
|
|
57
|
+
|
|
58
|
+
[[actions.params]]
|
|
59
|
+
name = "action"
|
|
60
|
+
type = "string"
|
|
61
|
+
required = true
|
|
62
|
+
description = "Must be \"remove\""
|
|
63
|
+
|
|
64
|
+
[[actions.params]]
|
|
65
|
+
name = "index"
|
|
66
|
+
type = "number"
|
|
67
|
+
required = true
|
|
68
|
+
description = "0-based index of the item to remove (use 'list' first to see indices)"
|
|
69
|
+
|
|
70
|
+
[[actions.examples]]
|
|
71
|
+
title = "Remove item at index 0"
|
|
72
|
+
code = '''
|
|
73
|
+
{
|
|
74
|
+
"action": "remove",
|
|
75
|
+
"index": 0
|
|
76
|
+
}
|
|
77
|
+
'''
|
|
78
|
+
explanation = "Remove the first item from the queue. Use 'list' first to see available indices."
|
|
79
|
+
|
|
80
|
+
# -----------------------------------------------------------------------------
|
|
81
|
+
|
|
82
|
+
[[actions]]
|
|
83
|
+
name = "help"
|
|
84
|
+
description = "Get queue tool documentation"
|
|
85
|
+
|
|
86
|
+
[[actions.params]]
|
|
87
|
+
name = "action"
|
|
88
|
+
type = "string"
|
|
89
|
+
required = true
|
|
90
|
+
description = "Must be \"help\""
|
|
91
|
+
|
|
92
|
+
[[actions.examples]]
|
|
93
|
+
title = "Get help"
|
|
94
|
+
code = '''
|
|
95
|
+
{
|
|
96
|
+
"action": "help"
|
|
97
|
+
}
|
|
98
|
+
'''
|
|
99
|
+
explanation = "Display queue tool documentation"
|
|
100
|
+
|
|
101
|
+
# -----------------------------------------------------------------------------
|
|
102
|
+
|
|
103
|
+
[[actions]]
|
|
104
|
+
name = "example"
|
|
105
|
+
description = "Get queue tool usage examples"
|
|
106
|
+
|
|
107
|
+
[[actions.params]]
|
|
108
|
+
name = "action"
|
|
109
|
+
type = "string"
|
|
110
|
+
required = true
|
|
111
|
+
description = "Must be \"example\""
|
|
112
|
+
|
|
113
|
+
[[actions.examples]]
|
|
114
|
+
title = "Get examples"
|
|
115
|
+
code = '''
|
|
116
|
+
{
|
|
117
|
+
"action": "example"
|
|
118
|
+
}
|
|
119
|
+
'''
|
|
120
|
+
explanation = "Display queue tool usage examples"
|
|
121
|
+
|
|
122
|
+
# =============================================================================
|
|
123
|
+
# USE CASES
|
|
124
|
+
# =============================================================================
|
|
125
|
+
|
|
126
|
+
[[use_cases]]
|
|
127
|
+
title = "Handle stuck items due to High Similarity"
|
|
128
|
+
description = "Items may remain in queue if they have 60%+ similarity to existing decisions"
|
|
129
|
+
steps = [
|
|
130
|
+
"1. Use `queue list` to see stuck items",
|
|
131
|
+
"2. Check existing decisions with `/sqlew search for <topic>`",
|
|
132
|
+
"3. If truly duplicate: Use `queue remove` with the item index",
|
|
133
|
+
"4. If different intent: Update the key to be more specific and retry"
|
|
134
|
+
]
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAOpF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CA+BD;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IAC7E,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAOpF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CA+BD;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IAC7E,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAqGD"}
|
package/dist/schema.js
CHANGED
|
@@ -70,16 +70,15 @@ export async function verifySchemaIntegrity(adapter) {
|
|
|
70
70
|
};
|
|
71
71
|
// v5.0: All tables use m_ (master) / t_ (transaction) prefixes
|
|
72
72
|
// v5.0: Task and file management tables removed
|
|
73
|
+
// v5.0: Help system tables removed (help data now lives in src/help-data/*.toml)
|
|
73
74
|
const requiredTables = [
|
|
74
|
-
// Master tables (
|
|
75
|
+
// Master tables (7)
|
|
75
76
|
'm_projects', 'm_layers', 'm_context_keys', 'm_constraint_categories',
|
|
76
|
-
'
|
|
77
|
-
|
|
78
|
-
// Transaction tables (15)
|
|
77
|
+
'm_builtin_policies', 'm_tags', 'm_scopes',
|
|
78
|
+
// Transaction tables (11)
|
|
79
79
|
't_tag_index', 't_decisions', 't_decisions_numeric', 't_decision_history',
|
|
80
80
|
't_decision_tags', 't_decision_scopes', 't_decision_context', 't_decision_policies',
|
|
81
81
|
't_constraints', 't_constraint_tags', 't_token_usage',
|
|
82
|
-
't_help_action_params', 't_help_action_examples', 't_help_use_cases', 't_help_action_sequences',
|
|
83
82
|
];
|
|
84
83
|
// v4.0: Views removed for cross-DB compatibility (replaced with application-level queries)
|
|
85
84
|
const requiredViews = [];
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAwB;IAChE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAwB;IAO1D,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,qBAAqB,EAAE,CAAC;KACzB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAE/B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,EAAmC,CAAC;QACpH,MAAM,CAAC,YAAY,GAAG,iBAAiB,EAAE,KAAK,IAAI,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,EAAmC,CAAC;QACzG,MAAM,CAAC,MAAM,GAAG,YAAY,EAAE,KAAK,IAAI,CAAC,CAAC;QAEzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,EAAmC,CAAC;QACrG,MAAM,CAAC,IAAI,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,EAAmC,CAAC;QACzG,MAAM,CAAC,MAAM,GAAG,YAAY,EAAE,KAAK,IAAI,CAAC,CAAC;QAEzC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,EAAmC,CAAC;QAC5H,MAAM,CAAC,qBAAqB,GAAG,gBAAgB,EAAE,KAAK,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0CAA0C;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAwB;IAKlE,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,EAAc;QACvB,MAAM,EAAE,EAAc;KACvB,CAAC;IAEF,+DAA+D;IAC/D,gDAAgD;IAChD,MAAM,cAAc,GAAG;QACrB,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,38 +121,38 @@ export const TOOL_SCHEMAS = {
|
|
|
121
121
|
export const TOOL_DESCRIPTIONS = {
|
|
122
122
|
decision: 'Context Management - Store decisions with versioning and metadata. Use action: "help" for documentation.',
|
|
123
123
|
constraint: 'Architectural Rules - Define and manage project constraints with priorities. Use action: "help" for documentation.',
|
|
124
|
-
help: `**REQUIRED PARAMETER**: action (must be specified in ALL calls)
|
|
125
|
-
|
|
126
|
-
Help System - Query action documentation, parameters, and workflow guidance
|
|
127
|
-
|
|
128
|
-
Actions:
|
|
129
|
-
- query_action: Get action documentation with parameters and examples
|
|
130
|
-
- query_params: Get parameter list only (quick reference)
|
|
131
|
-
- query_tool: Get tool overview and all actions
|
|
132
|
-
- workflow_hints: Get common next actions after current action
|
|
133
|
-
- batch_guide: Get guidance for batch operations
|
|
134
|
-
- error_recovery: Analyze errors and suggest fixes
|
|
135
|
-
|
|
124
|
+
help: `**REQUIRED PARAMETER**: action (must be specified in ALL calls)
|
|
125
|
+
|
|
126
|
+
Help System - Query action documentation, parameters, and workflow guidance
|
|
127
|
+
|
|
128
|
+
Actions:
|
|
129
|
+
- query_action: Get action documentation with parameters and examples
|
|
130
|
+
- query_params: Get parameter list only (quick reference)
|
|
131
|
+
- query_tool: Get tool overview and all actions
|
|
132
|
+
- workflow_hints: Get common next actions after current action
|
|
133
|
+
- batch_guide: Get guidance for batch operations
|
|
134
|
+
- error_recovery: Analyze errors and suggest fixes
|
|
135
|
+
|
|
136
136
|
Use this tool to understand how to use other sqlew tools. Returns only requested information (80-95% token reduction vs legacy help).`,
|
|
137
|
-
example: `**REQUIRED PARAMETER**: action (must be specified in ALL calls)
|
|
138
|
-
|
|
139
|
-
Example System - Browse and search code examples for sqlew tools
|
|
140
|
-
|
|
141
|
-
Actions:
|
|
142
|
-
- get: Get examples by tool, action, or topic
|
|
143
|
-
- search: Search examples by keyword
|
|
144
|
-
- list_all: List all available examples with filtering
|
|
145
|
-
|
|
137
|
+
example: `**REQUIRED PARAMETER**: action (must be specified in ALL calls)
|
|
138
|
+
|
|
139
|
+
Example System - Browse and search code examples for sqlew tools
|
|
140
|
+
|
|
141
|
+
Actions:
|
|
142
|
+
- get: Get examples by tool, action, or topic
|
|
143
|
+
- search: Search examples by keyword
|
|
144
|
+
- list_all: List all available examples with filtering
|
|
145
|
+
|
|
146
146
|
Use this tool to find working code snippets. Returns only requested examples (token-efficient).`,
|
|
147
|
-
use_case: `**REQUIRED PARAMETER**: action (must be specified in ALL calls)
|
|
148
|
-
|
|
149
|
-
Use Case Catalog - Browse and search complete workflow scenarios
|
|
150
|
-
|
|
151
|
-
Actions:
|
|
152
|
-
- get: Get complete use case workflow by ID
|
|
153
|
-
- search: Search use cases by keyword/category
|
|
154
|
-
- list_all: List all use cases with filtering and pagination
|
|
155
|
-
|
|
147
|
+
use_case: `**REQUIRED PARAMETER**: action (must be specified in ALL calls)
|
|
148
|
+
|
|
149
|
+
Use Case Catalog - Browse and search complete workflow scenarios
|
|
150
|
+
|
|
151
|
+
Actions:
|
|
152
|
+
- get: Get complete use case workflow by ID
|
|
153
|
+
- search: Search use cases by keyword/category
|
|
154
|
+
- list_all: List all use cases with filtering and pagination
|
|
155
|
+
|
|
156
156
|
Use this tool to learn end-to-end workflows and multi-step operations. Returns workflow steps with executable code examples.`,
|
|
157
157
|
suggest: 'Intelligent decision/constraint suggestion system. Find related decisions by key pattern, tags, or full context. Prevents duplicates and ensures consistency.',
|
|
158
158
|
queue: 'Hook queue management - list, clear, remove pending items from .sqlew/queue/pending.json. Use action: "help" for documentation.',
|
|
@@ -155,6 +155,44 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
155
155
|
assert.strictEqual(lowPriority.priority, 1);
|
|
156
156
|
assert.strictEqual(highPriority.priority, 4);
|
|
157
157
|
});
|
|
158
|
+
it('should have nullable reason column on t_constraints', async () => {
|
|
159
|
+
const db = getDb();
|
|
160
|
+
const hasReasonColumn = await db.schema.hasColumn('t_constraints', 'reason');
|
|
161
|
+
assert.strictEqual(hasReasonColumn, true, 't_constraints should have reason column');
|
|
162
|
+
const constraintTextNoReason = 'Constraint without reason';
|
|
163
|
+
const constraintId = await insertConstraint(db, {
|
|
164
|
+
constraint_text: constraintTextNoReason,
|
|
165
|
+
category_id: categoryCodeStyleId,
|
|
166
|
+
priority: 2,
|
|
167
|
+
layer_id: businessLayerId,
|
|
168
|
+
project_id: projectId,
|
|
169
|
+
active: 1,
|
|
170
|
+
ts: Math.floor(Date.now() / 1000),
|
|
171
|
+
});
|
|
172
|
+
const constraint = await db('t_constraints')
|
|
173
|
+
.where({ id: constraintId })
|
|
174
|
+
.first();
|
|
175
|
+
assert.strictEqual(constraint.reason, null, 'reason should be NULL when not specified');
|
|
176
|
+
});
|
|
177
|
+
it('should store and retrieve reason text', async () => {
|
|
178
|
+
const db = getDb();
|
|
179
|
+
const reasonText = 'Prevents SQL injection via parameterized queries';
|
|
180
|
+
const constraintTextWithReason = 'Must use parameterized SQL statements';
|
|
181
|
+
const constraintId = await insertConstraint(db, {
|
|
182
|
+
constraint_text: constraintTextWithReason,
|
|
183
|
+
category_id: categorySecurityId,
|
|
184
|
+
priority: 4,
|
|
185
|
+
layer_id: dataLayerId,
|
|
186
|
+
project_id: projectId,
|
|
187
|
+
active: 1,
|
|
188
|
+
ts: Math.floor(Date.now() / 1000),
|
|
189
|
+
reason: reasonText,
|
|
190
|
+
});
|
|
191
|
+
const constraint = await db('t_constraints')
|
|
192
|
+
.where({ id: constraintId })
|
|
193
|
+
.first();
|
|
194
|
+
assert.strictEqual(constraint.reason, reasonText);
|
|
195
|
+
});
|
|
158
196
|
});
|
|
159
197
|
describe('Tag associations', () => {
|
|
160
198
|
it('should associate constraint with tags', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-operations.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/constraint-operations.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAA0B,MAAM,mBAAmB,CAAC;AAEnF,sBAAsB,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAChE,IAAI,SAAiB,CAAC;IACtB,IAAI,eAAuB,CAAC;IAC5B,IAAI,WAAmB,CAAC;IACxB,IAAI,mBAA2B,CAAC;IAChC,IAAI,mBAA2B,CAAC;IAChC,IAAI,sBAA8B,CAAC;IACnC,IAAI,kBAA0B,CAAC;IAC/B,IAAI,iBAAyB,CAAC;IAC9B,IAAI,qBAA6B,CAAC;IAClC,IAAI,eAAuB,CAAC;IAC5B,IAAI,mBAA2B,CAAC;IAChC,IAAI,kBAA0B,CAAC;IAC/B,IAAI,cAAsB,CAAC;IAC3B,IAAI,SAAiB,CAAC;IACtB,IAAI,QAAgB,CAAC;IACrB,IAAI,gBAAwB,CAAC;IAC7B,IAAI,aAAqB,CAAC;IAE1B,mFAAmF;IACnF,KAAK,UAAU,gBAAgB,CAAC,EAAQ,EAAE,IAAyB;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;aACvC,KAAK,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACvE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,KAAK,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAC3C,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAEvB,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/E,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,6BAA6B,CAAC,CAAC;QACxD,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAChD,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;QAE3B,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACvF,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;QAChE,mBAAmB,GAAG,iBAAiB,CAAC,EAAE,CAAC;QAE3C,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QACjE,mBAAmB,GAAG,iBAAiB,CAAC,EAAE,CAAC;QAE3C,wEAAwE;QACxE,2DAA2D;QAC3D,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;YAClE,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,EAAE,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,QAAQ,GAAG,MAAM,EAAE,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACzE,CAAC;YACD,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,sBAAsB,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACnE,kBAAkB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3D,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACzD,qBAAqB,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACjE,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrD,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC9D,kBAAkB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3D,cAAc,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAC5C,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAC1C,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAErB,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;QAC1D,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;QAErC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAClG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;QACpD,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,eAAe,GAAG,wCAAwC,CAAC;YACjE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,eAAe;gBAChC,WAAW,EAAE,mBAAmB;gBAChC,QAAQ,EAAE,CAAC,EAAE,OAAO;gBACpB,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;YAEvD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,gBAAgB,GAAG,oDAAoD,CAAC;YAC9E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,gBAAgB;gBACjC,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,CAAC,EAAE,WAAW;gBACxB,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,oDAAoD,CAAC,CAAC;YACrG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBACtC,eAAe,EAAE,iBAAiB;gBAClC,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,mBAAmB;gBAC7B,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBACtC,eAAe,EAAE,sBAAsB;gBACvC,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,oCAAoC,CAAC,CAAC;YAE9D,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAC1C,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAC3C,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,uBAAuB,GAAG,qCAAqC,CAAC;YACtE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,uBAAuB;gBACxC,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,mBAAmB;gBAC7B,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;gBACnC,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;gBAClD,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE;aAC1D,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC;iBAClD,KAAK,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;iBACtC,KAAK,CAAC,YAAY,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,6CAA6C,CAAC,CAAC;YAC1E,0EAA0E;YAC1E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,4DAA4D;YAC5D,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;YACrD,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,sBAAsB;gBACvC,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;YAC7C,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,kBAAkB;gBACnC,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAClD,KAAK,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBACtE,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,qBAAqB,CAAC,CAAC;YACtG,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;YACrD,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,sBAAsB;gBACvC,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;YAC3D,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,yBAAyB;gBAC1C,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAClD,KAAK,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBAC5E,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,qBAAqB,CAAC,CAAC;YACtG,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;YAC9D,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,0BAA0B;gBAC3C,WAAW,EAAE,cAAc;gBAC3B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,yBAAyB,GAAG,yBAAyB,CAAC;YAC5D,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,yBAAyB;gBAC1C,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,mBAAmB;gBAC7B,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACtD,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBACxD,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,0BAA0B,CAAC,CAAC;YACnH,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,sCAAsC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;YACnD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,oBAAoB;gBACrC,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;gBACnC,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACjD,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;aACnD,CAAC,CAAC;YAEH,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACnD,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,iCAAiC,CAAC;iBAChF,KAAK,CAAC;gBACL,0BAA0B,EAAE,QAAQ;gBACpC,sBAAsB,EAAE,CAAC;gBACzB,0BAA0B,EAAE,SAAS;aACtC,CAAC;iBACD,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE7B,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,qBAAqB,CAAC,CAAC;YAClG,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;YAC3D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,yBAAyB;gBAC1C,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,eAAe,CAAC;iBACtB,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAChD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,wBAAwB,CAAC,CAAC;YAC1G,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE,SAAS,EAAE,2CAA2C,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;YAC9D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,0BAA0B;gBAC3C,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAC1C,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBAClD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAE1D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;YACxD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,0BAA0B;gBAC3C,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,eAAe,CAAC;iBACtB,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAC1C,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,mCAAmC;YACnC,MAAM,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;YACnD,MAAM,aAAa,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/C,eAAe,EAAE,wBAAwB;gBACzC,WAAW,EAAE,KAAK,EAAE,wBAAwB;gBAC5C,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,OAAO,CAClB,aAAa,EACb,CAAC,KAAU,EAAE,EAAE;gBACb,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAC3B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC1B,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACxB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACpC,CAAC,EACD,2CAA2C,CAC5C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,iGAAiG;QACjG,wFAAwF;QACxF,mGAAmG;QACnG,uFAAuF;QACvF,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,mBAAmB,GAAG,0BAA0B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAEnE,0BAA0B;YAC1B,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,mBAAmB;gBACpC,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,4CAA4C;YAC5C,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAC/B,eAAe,EAAE,mBAAmB,EAAE,uBAAuB;gBAC7D,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS,EAAE,kBAAkB;gBACzC,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBAC1C,KAAK,CAAC,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBACtE,MAAM,CAAC,IAAI,CAAC,CAAC;YAEhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,qDAAqD,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kCAAkC,MAAM,EAAE,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,wCAAwC,CAAC;YAE5E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;YAExD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,0DAA0D,CAAC;YAE/E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,WAAW;gBAC5B,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAExB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,kCAAkC,CAAC;YAEvD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,WAAW;gBAC5B,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAExB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;iBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;iBAC3B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,gEAAgE;YAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,kCAAkC;gBAClC,OAAO;YACT,CAAC;YAED,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE;gBAC9C,eAAe,EAAE,sBAAsB;gBACvC,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBACjD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;iBACpB,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,sBAAsB,CAAC,CAAC;YAClG,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;YAC5D,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constraint-operations.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/constraint-operations.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,11 +103,11 @@ export async function teardownDatabase(db) {
|
|
|
103
103
|
async function dropAllTables(db, dbType) {
|
|
104
104
|
if (dbType === 'mysql' || dbType === 'mariadb') {
|
|
105
105
|
await db.raw('SET FOREIGN_KEY_CHECKS=0');
|
|
106
|
-
const tables = await db.raw(`
|
|
107
|
-
SELECT TABLE_NAME
|
|
108
|
-
FROM INFORMATION_SCHEMA.TABLES
|
|
109
|
-
WHERE TABLE_SCHEMA = DATABASE()
|
|
110
|
-
AND TABLE_TYPE = 'BASE TABLE'
|
|
106
|
+
const tables = await db.raw(`
|
|
107
|
+
SELECT TABLE_NAME
|
|
108
|
+
FROM INFORMATION_SCHEMA.TABLES
|
|
109
|
+
WHERE TABLE_SCHEMA = DATABASE()
|
|
110
|
+
AND TABLE_TYPE = 'BASE TABLE'
|
|
111
111
|
`);
|
|
112
112
|
for (const row of tables[0]) {
|
|
113
113
|
await db.raw(`DROP TABLE IF EXISTS \`${row.TABLE_NAME}\``);
|
|
@@ -115,10 +115,10 @@ async function dropAllTables(db, dbType) {
|
|
|
115
115
|
await db.raw('SET FOREIGN_KEY_CHECKS=1');
|
|
116
116
|
}
|
|
117
117
|
else if (dbType === 'postgresql') {
|
|
118
|
-
const tables = await db.raw(`
|
|
119
|
-
SELECT tablename
|
|
120
|
-
FROM pg_tables
|
|
121
|
-
WHERE schemaname = 'public'
|
|
118
|
+
const tables = await db.raw(`
|
|
119
|
+
SELECT tablename
|
|
120
|
+
FROM pg_tables
|
|
121
|
+
WHERE schemaname = 'public'
|
|
122
122
|
`);
|
|
123
123
|
for (const row of tables.rows) {
|
|
124
124
|
await db.raw(`DROP TABLE IF EXISTS "${row.tablename}" CASCADE`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reason.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/feature/constraint/reason.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constraint Reason Field Feature Tests
|
|
3
|
+
*
|
|
4
|
+
* Verifies add → get round-trip for the optional reason field on constraints.
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, before, after } from 'node:test';
|
|
7
|
+
import assert from 'node:assert';
|
|
8
|
+
import { mkdirSync } from 'node:fs';
|
|
9
|
+
import { initializeDatabase, closeDatabase } from '../../../database.js';
|
|
10
|
+
import { ProjectContext } from '../../../utils/project-context.js';
|
|
11
|
+
import { addConstraint, getConstraints } from '../../../tools/constraints/index.js';
|
|
12
|
+
const TEST_DB_PATH = '.tmp-test/constraint-reason.db';
|
|
13
|
+
describe('Constraint Reason Field', () => {
|
|
14
|
+
before(async () => {
|
|
15
|
+
mkdirSync('.tmp-test', { recursive: true });
|
|
16
|
+
const adapter = await initializeDatabase({
|
|
17
|
+
databaseType: 'sqlite',
|
|
18
|
+
connection: { filename: TEST_DB_PATH }
|
|
19
|
+
});
|
|
20
|
+
const knex = adapter.getKnex();
|
|
21
|
+
const projectContext = ProjectContext.getInstance();
|
|
22
|
+
await projectContext.ensureProject(knex, 'test-constraint-reason', 'config', {
|
|
23
|
+
projectRootPath: process.cwd(),
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
after(async () => {
|
|
27
|
+
await closeDatabase();
|
|
28
|
+
});
|
|
29
|
+
it('should round-trip reason on add → get', async () => {
|
|
30
|
+
const reason = 'Prevents unbounded memory growth in long-running sessions';
|
|
31
|
+
const constraintText = 'reason-roundtrip-test-constraint';
|
|
32
|
+
const addResult = await addConstraint({
|
|
33
|
+
category: 'architecture',
|
|
34
|
+
constraint_text: constraintText,
|
|
35
|
+
priority: 'high',
|
|
36
|
+
reason,
|
|
37
|
+
});
|
|
38
|
+
const getResult = await getConstraints({ category: 'architecture' });
|
|
39
|
+
const constraint = getResult.constraints.find((c) => c.id === addResult.constraint_id);
|
|
40
|
+
assert.ok(constraint, 'Expected constraint to be found by id');
|
|
41
|
+
assert.ok('reason' in constraint);
|
|
42
|
+
assert.strictEqual(constraint.reason, reason);
|
|
43
|
+
});
|
|
44
|
+
it('should omit reason field when not provided on add → get', async () => {
|
|
45
|
+
const constraintText = 'no-reason-test-constraint';
|
|
46
|
+
const addResult = await addConstraint({
|
|
47
|
+
category: 'security',
|
|
48
|
+
constraint_text: constraintText,
|
|
49
|
+
priority: 'medium',
|
|
50
|
+
});
|
|
51
|
+
const getResult = await getConstraints({ category: 'security' });
|
|
52
|
+
const constraint = getResult.constraints.find((c) => c.id === addResult.constraint_id);
|
|
53
|
+
assert.ok(constraint, 'Expected constraint to be found by id');
|
|
54
|
+
assert.ok(!('reason' in constraint));
|
|
55
|
+
assert.strictEqual(constraint.reason, undefined);
|
|
56
|
+
});
|
|
57
|
+
it('should return success and constraint_id from add response', async () => {
|
|
58
|
+
const addResult = await addConstraint({
|
|
59
|
+
category: 'code-style',
|
|
60
|
+
constraint_text: 'add-response-regression-test',
|
|
61
|
+
priority: 'low',
|
|
62
|
+
reason: 'Regression check for add response shape',
|
|
63
|
+
});
|
|
64
|
+
assert.strictEqual(addResult.success, true);
|
|
65
|
+
assert.ok(addResult.constraint_id !== undefined && addResult.constraint_id !== null);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=reason.test.js.map
|