@pcircle/memesh 4.8.3 → 4.9.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -1
- package/.codex-plugin/mcp.json +6 -4
- package/.codex-plugin/plugin.json +1 -1
- package/AGENTS.md +68 -17
- package/README.de.md +83 -555
- package/README.md +83 -581
- package/README.zh-TW.md +84 -572
- package/dashboard/dist/index.html +10 -10
- package/dist/cli/view-live.d.ts.map +1 -1
- package/dist/cli/view-live.js +154 -384
- package/dist/cli/view-live.js.map +1 -1
- package/dist/core/agent-message-inbox.d.ts +2 -1
- package/dist/core/agent-message-inbox.d.ts.map +1 -1
- package/dist/core/agent-message-inbox.js +23 -4
- package/dist/core/agent-message-inbox.js.map +1 -1
- package/dist/core/agent-messaging.d.ts.map +1 -1
- package/dist/core/agent-messaging.js +23 -15
- package/dist/core/agent-messaging.js.map +1 -1
- package/dist/core/agent-router.d.ts +11 -10
- package/dist/core/agent-router.d.ts.map +1 -1
- package/dist/core/agent-router.js +29 -14
- package/dist/core/agent-router.js.map +1 -1
- package/dist/core/agent-scope-id.d.ts +11 -0
- package/dist/core/agent-scope-id.d.ts.map +1 -0
- package/dist/core/agent-scope-id.js +40 -0
- package/dist/core/agent-scope-id.js.map +1 -0
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/briefing.d.ts.map +1 -1
- package/dist/core/briefing.js +8 -2
- package/dist/core/briefing.js.map +1 -1
- package/dist/core/config.d.ts +4 -40
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +75 -141
- package/dist/core/config.js.map +1 -1
- package/dist/core/demo.d.ts.map +1 -1
- package/dist/core/demo.js +6 -6
- package/dist/core/demo.js.map +1 -1
- package/dist/core/doctor.d.ts +2 -6
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +120 -154
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/dreamer.d.ts +32 -47
- package/dist/core/dreamer.d.ts.map +1 -1
- package/dist/core/dreamer.js +214 -704
- package/dist/core/dreamer.js.map +1 -1
- package/dist/core/install-channel.d.ts.map +1 -1
- package/dist/core/install-channel.js +4 -47
- package/dist/core/install-channel.js.map +1 -1
- package/dist/core/install-id.d.ts.map +1 -1
- package/dist/core/install-id.js.map +1 -1
- package/dist/core/kg-backfill.d.ts.map +1 -1
- package/dist/core/kg-backfill.js.map +1 -1
- package/dist/core/lesson-engine.d.ts +0 -5
- package/dist/core/lesson-engine.d.ts.map +1 -1
- package/dist/core/lesson-engine.js +0 -25
- package/dist/core/lesson-engine.js.map +1 -1
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +58 -49
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/memory-tool.d.ts.map +1 -1
- package/dist/core/memory-tool.js +20 -18
- package/dist/core/memory-tool.js.map +1 -1
- package/dist/core/operations.d.ts +3 -27
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +10 -245
- package/dist/core/operations.js.map +1 -1
- package/dist/core/paths.d.ts +4 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +88 -14
- package/dist/core/paths.js.map +1 -1
- package/dist/core/product-improvements.js +2 -2
- package/dist/core/product-improvements.js.map +1 -1
- package/dist/core/project-tags.d.ts +2 -0
- package/dist/core/project-tags.d.ts.map +1 -1
- package/dist/core/project-tags.js +29 -1
- package/dist/core/project-tags.js.map +1 -1
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +13 -3
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/semver.d.ts +7 -0
- package/dist/core/semver.d.ts.map +1 -0
- package/dist/core/semver.js +49 -0
- package/dist/core/semver.js.map +1 -0
- package/dist/core/serializer.d.ts.map +1 -1
- package/dist/core/serializer.js +69 -57
- package/dist/core/serializer.js.map +1 -1
- package/dist/core/signal-scorer.d.ts.map +1 -1
- package/dist/core/signal-scorer.js.map +1 -1
- package/dist/core/transcript-extractor.d.ts +1 -85
- package/dist/core/transcript-extractor.d.ts.map +1 -1
- package/dist/core/transcript-extractor.js +5 -364
- package/dist/core/transcript-extractor.js.map +1 -1
- package/dist/core/transcript-source.d.ts +22 -6
- package/dist/core/transcript-source.d.ts.map +1 -1
- package/dist/core/transcript-source.js +108 -69
- package/dist/core/transcript-source.js.map +1 -1
- package/dist/core/types.d.ts +1 -17
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/version-check.d.ts +1 -0
- package/dist/core/version-check.d.ts.map +1 -1
- package/dist/core/version-check.js +46 -1
- package/dist/core/version-check.js.map +1 -1
- package/dist/db.d.ts +0 -34
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +6 -287
- package/dist/db.js.map +1 -1
- package/dist/host-runtime/acp.d.ts.map +1 -1
- package/dist/host-runtime/acp.js +4 -3
- package/dist/host-runtime/acp.js.map +1 -1
- package/dist/host-runtime/claude.d.ts.map +1 -1
- package/dist/host-runtime/claude.js +11 -11
- package/dist/host-runtime/claude.js.map +1 -1
- package/dist/host-runtime/codex-session.d.ts +9 -1
- package/dist/host-runtime/codex-session.d.ts.map +1 -1
- package/dist/host-runtime/codex-session.js +474 -29
- package/dist/host-runtime/codex-session.js.map +1 -1
- package/dist/host-runtime/codex.d.ts.map +1 -1
- package/dist/host-runtime/codex.js +4 -3
- package/dist/host-runtime/codex.js.map +1 -1
- package/dist/host-runtime/config.d.ts +1 -0
- package/dist/host-runtime/config.d.ts.map +1 -1
- package/dist/host-runtime/config.js +4 -0
- package/dist/host-runtime/config.js.map +1 -1
- package/dist/host-runtime/entry.d.ts +5 -0
- package/dist/host-runtime/entry.d.ts.map +1 -0
- package/dist/host-runtime/entry.js +11 -0
- package/dist/host-runtime/entry.js.map +1 -0
- package/dist/host-runtime/router-client.d.ts.map +1 -1
- package/dist/host-runtime/router-client.js +62 -15
- package/dist/host-runtime/router-client.js.map +1 -1
- package/dist/host-runtime/router.js +2 -2
- package/dist/host-runtime/router.js.map +1 -1
- package/dist/knowledge-graph.d.ts +0 -1
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +77 -60
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/mcp/THIRD_PARTY_NOTICES.txt +217 -0
- package/dist/mcp/server.js +30685 -38
- package/dist/mcp/server.js.map +6 -1
- package/dist/skills-manifest.json +39 -34
- package/dist/storage/entity-index.d.ts +3 -0
- package/dist/storage/entity-index.d.ts.map +1 -0
- package/dist/storage/entity-index.js +8 -0
- package/dist/storage/entity-index.js.map +1 -0
- package/dist/storage/fts-index.d.ts.map +1 -1
- package/dist/storage/fts-index.js +11 -7
- package/dist/storage/fts-index.js.map +1 -1
- package/dist/storage/graph-repairs.d.ts +7 -2
- package/dist/storage/graph-repairs.d.ts.map +1 -1
- package/dist/storage/graph-repairs.js +89 -13
- package/dist/storage/graph-repairs.js.map +1 -1
- package/dist/storage/schema.d.ts +1 -1
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js +1 -2
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/sqlite.d.ts +0 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/transports/agent-messaging.d.ts.map +1 -1
- package/dist/transports/agent-messaging.js +5 -7
- package/dist/transports/agent-messaging.js.map +1 -1
- package/dist/transports/cli/cli.d.ts.map +1 -1
- package/dist/transports/cli/cli.js +75 -686
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/retired-routes.js +1 -1
- package/dist/transports/http/retired-routes.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +13 -232
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +130 -4
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +56 -7
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +71 -19
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +57 -11
- package/dist/transports/schemas.js.map +1 -1
- package/docs/platforms/README.md +6 -5
- package/docs/platforms/agent-messaging.md +241 -20
- package/hooks/hooks.json +23 -2
- package/llms-install.md +62 -30
- package/package.json +12 -9
- package/scripts/hooks/_generated/agent-message-inbox.js +23 -4
- package/scripts/hooks/_generated/core-paths.js +88 -14
- package/scripts/hooks/_generated/fts-index.js +11 -7
- package/scripts/hooks/_generated/schema.js +1 -2
- package/scripts/hooks/_shared.js +65 -23
- package/scripts/hooks/decision-nudge.js +152 -0
- package/scripts/hooks/post-commit.js +11 -0
- package/scripts/hooks/pre-compact.js +12 -4
- package/scripts/hooks/session-start.js +32 -9
- package/scripts/hooks/session-summary.js +19 -374
- package/scripts/upgrade-plugin.sh +71 -2
- package/skills/memesh/SKILL.md +24 -15
- package/skills/memesh-review/SKILL.md +7 -6
- package/dist/core/auto-tagger.d.ts +0 -10
- package/dist/core/auto-tagger.d.ts.map +0 -1
- package/dist/core/auto-tagger.js +0 -63
- package/dist/core/auto-tagger.js.map +0 -1
- package/dist/core/conflict-candidates.d.ts +0 -20
- package/dist/core/conflict-candidates.d.ts.map +0 -1
- package/dist/core/conflict-candidates.js +0 -71
- package/dist/core/conflict-candidates.js.map +0 -1
- package/dist/core/conflict-judge.d.ts +0 -58
- package/dist/core/conflict-judge.d.ts.map +0 -1
- package/dist/core/conflict-judge.js +0 -189
- package/dist/core/conflict-judge.js.map +0 -1
- package/dist/core/digest-validator.d.ts +0 -18
- package/dist/core/digest-validator.d.ts.map +0 -1
- package/dist/core/digest-validator.js +0 -85
- package/dist/core/digest-validator.js.map +0 -1
- package/dist/core/embedder.d.ts +0 -20
- package/dist/core/embedder.d.ts.map +0 -1
- package/dist/core/embedder.js +0 -242
- package/dist/core/embedder.js.map +0 -1
- package/dist/core/failure-analyzer.d.ts +0 -19
- package/dist/core/failure-analyzer.d.ts.map +0 -1
- package/dist/core/failure-analyzer.js +0 -83
- package/dist/core/failure-analyzer.js.map +0 -1
- package/dist/core/json-utils.d.ts +0 -3
- package/dist/core/json-utils.d.ts.map +0 -1
- package/dist/core/json-utils.js +0 -46
- package/dist/core/json-utils.js.map +0 -1
- package/dist/core/llm-client.d.ts +0 -22
- package/dist/core/llm-client.d.ts.map +0 -1
- package/dist/core/llm-client.js +0 -203
- package/dist/core/llm-client.js.map +0 -1
- package/dist/core/llm-telemetry.d.ts +0 -47
- package/dist/core/llm-telemetry.d.ts.map +0 -1
- package/dist/core/llm-telemetry.js +0 -117
- package/dist/core/llm-telemetry.js.map +0 -1
- package/dist/core/llm-validator.d.ts +0 -20
- package/dist/core/llm-validator.d.ts.map +0 -1
- package/dist/core/llm-validator.js +0 -231
- package/dist/core/llm-validator.js.map +0 -1
- package/dist/core/ollama-host.d.ts +0 -6
- package/dist/core/ollama-host.d.ts.map +0 -1
- package/dist/core/ollama-host.js +0 -30
- package/dist/core/ollama-host.js.map +0 -1
- package/dist/core/output-language.d.ts +0 -6
- package/dist/core/output-language.d.ts.map +0 -1
- package/dist/core/output-language.js +0 -25
- package/dist/core/output-language.js.map +0 -1
- package/dist/core/prompt-safety.d.ts +0 -4
- package/dist/core/prompt-safety.d.ts.map +0 -1
- package/dist/core/prompt-safety.js +0 -20
- package/dist/core/prompt-safety.js.map +0 -1
- package/dist/storage/vector-index.d.ts +0 -3
- package/dist/storage/vector-index.d.ts.map +0 -1
- package/dist/storage/vector-index.js +0 -13
- package/dist/storage/vector-index.js.map +0 -1
- /package/{.mcp.json → .claude-plugin/mcp.json} +0 -0
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "memesh.skills-manifest/v1",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"path": ".claude-plugin/mcp.json",
|
|
6
|
+
"sha256": "b3f72e0ed3ca2d34267f25f5f478d6f9e087f4058fcbf2e72a89759a3e324aad",
|
|
7
|
+
"bytes": 132
|
|
8
|
+
},
|
|
4
9
|
{
|
|
5
10
|
"path": ".claude-plugin/plugin.json",
|
|
6
|
-
"sha256": "
|
|
7
|
-
"bytes":
|
|
11
|
+
"sha256": "9862098f6a1a5beb68a87700bf5e737da278b3607cf6465ae305693b6b485421",
|
|
12
|
+
"bytes": 572
|
|
8
13
|
},
|
|
9
14
|
{
|
|
10
15
|
"path": ".codex-plugin/mcp.json",
|
|
11
|
-
"sha256": "
|
|
12
|
-
"bytes":
|
|
16
|
+
"sha256": "e70805ffd8256df1dadbf5a4c743a1699c8e7be9ec56611924a8b65290ffcdaa",
|
|
17
|
+
"bytes": 130
|
|
13
18
|
},
|
|
14
19
|
{
|
|
15
20
|
"path": ".codex-plugin/plugin.json",
|
|
16
|
-
"sha256": "
|
|
21
|
+
"sha256": "490256086c25ea556199893e42a98a7416deb2e818308d8b944fb961d599685a",
|
|
17
22
|
"bytes": 154
|
|
18
23
|
},
|
|
19
|
-
{
|
|
20
|
-
"path": ".mcp.json",
|
|
21
|
-
"sha256": "b3f72e0ed3ca2d34267f25f5f478d6f9e087f4058fcbf2e72a89759a3e324aad",
|
|
22
|
-
"bytes": 132
|
|
23
|
-
},
|
|
24
24
|
{
|
|
25
25
|
"path": "hooks/hooks.json",
|
|
26
|
-
"sha256": "
|
|
27
|
-
"bytes":
|
|
26
|
+
"sha256": "59a2663c82e4b54910b1eba2657f8ddcea375b54bb1e70e8c4a3fc7cb036443b",
|
|
27
|
+
"bytes": 2567
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"path": "scripts/hooks/_generated/agent-message-inbox.js",
|
|
31
|
-
"sha256": "
|
|
32
|
-
"bytes":
|
|
31
|
+
"sha256": "1b604e42353272175697fc02964f7ca477388616842a6cbdf13566293d8336aa",
|
|
32
|
+
"bytes": 2596
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"path": "scripts/hooks/_generated/capture-flag.js",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"path": "scripts/hooks/_generated/core-paths.js",
|
|
46
|
-
"sha256": "
|
|
47
|
-
"bytes":
|
|
46
|
+
"sha256": "db8c6f99c2782448021f395dd5819426fdbd6db6859452b35fa40661b540f0e5",
|
|
47
|
+
"bytes": 8342
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"path": "scripts/hooks/_generated/fts-index.js",
|
|
51
|
-
"sha256": "
|
|
52
|
-
"bytes":
|
|
51
|
+
"sha256": "c6134e5cff944b86903859b789a3f1273df36d232ed219288fe4648a72e2b63f",
|
|
52
|
+
"bytes": 4094
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"path": "scripts/hooks/_generated/guards.js",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"path": "scripts/hooks/_generated/schema.js",
|
|
66
|
-
"sha256": "
|
|
67
|
-
"bytes":
|
|
66
|
+
"sha256": "214266259d5aff576997bfffddf699f05804f0957c48355f8fa15892fce7b888",
|
|
67
|
+
"bytes": 24862
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
"path": "scripts/hooks/_generated/sqlite.js",
|
|
@@ -93,8 +93,13 @@
|
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"path": "scripts/hooks/_shared.js",
|
|
96
|
-
"sha256": "
|
|
97
|
-
"bytes":
|
|
96
|
+
"sha256": "9c26746a196b043a591a9c04dd88bdccf819c922590b082a764d376267ab6c86",
|
|
97
|
+
"bytes": 43011
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"path": "scripts/hooks/decision-nudge.js",
|
|
101
|
+
"sha256": "424bf5cd4f68cb55e441a5aed1db78b262df2a5ef4a7e60a56db2f9d3f103d5d",
|
|
102
|
+
"bytes": 7391
|
|
98
103
|
},
|
|
99
104
|
{
|
|
100
105
|
"path": "scripts/hooks/guard-check.js",
|
|
@@ -103,13 +108,13 @@
|
|
|
103
108
|
},
|
|
104
109
|
{
|
|
105
110
|
"path": "scripts/hooks/post-commit.js",
|
|
106
|
-
"sha256": "
|
|
107
|
-
"bytes":
|
|
111
|
+
"sha256": "9b7daa927105f238165724b29a024dfdfb8f4a6d2a61994f9dd97a06ffb3a421",
|
|
112
|
+
"bytes": 11099
|
|
108
113
|
},
|
|
109
114
|
{
|
|
110
115
|
"path": "scripts/hooks/pre-compact.js",
|
|
111
|
-
"sha256": "
|
|
112
|
-
"bytes":
|
|
116
|
+
"sha256": "78eb3c2b417ac33c8ff3c45c29b7c3afbae54a48fae15697cf1cb68c828b5e8e",
|
|
117
|
+
"bytes": 9283
|
|
113
118
|
},
|
|
114
119
|
{
|
|
115
120
|
"path": "scripts/hooks/pre-edit-recall.js",
|
|
@@ -118,13 +123,13 @@
|
|
|
118
123
|
},
|
|
119
124
|
{
|
|
120
125
|
"path": "scripts/hooks/session-start.js",
|
|
121
|
-
"sha256": "
|
|
122
|
-
"bytes":
|
|
126
|
+
"sha256": "10bac8f99e129ecff575eb70baf629d0f892c1ea1d9c4813443094a65aaebeb0",
|
|
127
|
+
"bytes": 62528
|
|
123
128
|
},
|
|
124
129
|
{
|
|
125
130
|
"path": "scripts/hooks/session-summary.js",
|
|
126
|
-
"sha256": "
|
|
127
|
-
"bytes":
|
|
131
|
+
"sha256": "e6489ebc35aa02b357bc528c476ab7eedfdf644acde2c2df4cb738cce473bef1",
|
|
132
|
+
"bytes": 32534
|
|
128
133
|
},
|
|
129
134
|
{
|
|
130
135
|
"path": "scripts/hooks/user-prompt-intent.js",
|
|
@@ -133,13 +138,13 @@
|
|
|
133
138
|
},
|
|
134
139
|
{
|
|
135
140
|
"path": "skills/memesh-review/SKILL.md",
|
|
136
|
-
"sha256": "
|
|
137
|
-
"bytes":
|
|
141
|
+
"sha256": "f26a8c7a4b2f21b5939d0470dd89113944326a4a9adbcd6717f8deddf1c11248",
|
|
142
|
+
"bytes": 3878
|
|
138
143
|
},
|
|
139
144
|
{
|
|
140
145
|
"path": "skills/memesh/SKILL.md",
|
|
141
|
-
"sha256": "
|
|
142
|
-
"bytes":
|
|
146
|
+
"sha256": "1b8f9a39b33c525ba564f83b4cb90ba4721622eaa38a1b765a4f1b0a18613061",
|
|
147
|
+
"bytes": 19172
|
|
143
148
|
}
|
|
144
149
|
]
|
|
145
150
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-index.d.ts","sourceRoot":"","sources":["../../src/storage/entity-index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBlD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,IAAI,CAKN"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { indexedObservationText, removeFromFts } from './fts-index.js';
|
|
2
|
+
export function dropEntityFromIndexes(db, entityId, name) {
|
|
3
|
+
const titleRow = db
|
|
4
|
+
.prepare('SELECT title FROM entities WHERE id = ?')
|
|
5
|
+
.get(entityId);
|
|
6
|
+
removeFromFts(db, entityId, name, indexedObservationText(db, entityId), titleRow?.title ?? null);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=entity-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-index.js","sourceRoot":"","sources":["../../src/storage/entity-index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAevE,MAAM,UAAU,qBAAqB,CACnC,EAAkB,EAClB,QAAgB,EAChB,IAAY;IAEZ,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,yCAAyC,CAAC;SAClD,GAAG,CAAC,QAAQ,CAAyC,CAAC;IACzD,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-index.d.ts","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAwClE,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW3E,CAAC;AAWF,eAAO,MAAM,qBAAqB,QAExB,CAAC;AA4BX,eAAO,MAAM,yBAAyB,QAC8C,CAAC;AA2BrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa3D;AAwBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;
|
|
1
|
+
{"version":3,"file":"fts-index.d.ts","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAwClE,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW3E,CAAC;AAWF,eAAO,MAAM,qBAAqB,QAExB,CAAC;AA4BX,eAAO,MAAM,yBAAyB,QAC8C,CAAC;AA2BrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa3D;AAwBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAyBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAmBD,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAa7C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAM5D;AAcD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAqBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CASpE;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AA+BD,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,IAAI,CAiDN;AAOD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAElE;AAcD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnF;AAQD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CAQN"}
|
|
@@ -59,18 +59,22 @@ function foldTitleIntoObservations(title, observationsText) {
|
|
|
59
59
|
}
|
|
60
60
|
export function removeFromFts(db, entityId, name, prevObsText, prevTitle) {
|
|
61
61
|
try {
|
|
62
|
+
const indexed = db
|
|
63
|
+
.prepare('SELECT COUNT(*) AS c FROM entities_fts WHERE rowid = ?')
|
|
64
|
+
.get(entityId);
|
|
65
|
+
if (!indexed || indexed.c === 0)
|
|
66
|
+
return;
|
|
62
67
|
db.prepare("INSERT INTO entities_fts (entities_fts, rowid, name, observations) VALUES('delete', ?, ?, ?)").run(entityId, toIndexForm(name), toIndexForm(foldTitleIntoObservations(prevTitle, prevObsText)));
|
|
63
68
|
}
|
|
64
69
|
catch (err) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
try {
|
|
71
|
+
process.stderr.write(`[memesh fts-index] removeFromFts(rowid=${entityId}) failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
}
|
|
75
|
+
throw err;
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
|
-
function isBenignFtsDeleteError(err) {
|
|
71
|
-
const msg = err?.message ?? '';
|
|
72
|
-
return /no such rowid|values do not match|no such row\b/i.test(msg);
|
|
73
|
-
}
|
|
74
78
|
export function joinIndexedObservations(contents) {
|
|
75
79
|
return contents.join(' ');
|
|
76
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-index.js","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,MAAM,sBAAsB,GAA6C;IAC9E,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,OAAO,EAAE,OAAO,CAAC;CACnB,CAAC;AAWF,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,GAAG,CAC7D,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CACxE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AA4BX,MAAM,CAAC,MAAM,yBAAyB,GACpC,KAAK,qBAAqB,KAAK,qBAAqB,KAAK,qBAAqB,IAAI,CAAC;AAErF,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,IAAI,qBAAqB,IAAI,EAAE,IAAI,CAAC,CAAC;AAyBxE,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;QAM3C,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;
|
|
1
|
+
{"version":3,"file":"fts-index.js","sourceRoot":"","sources":["../../src/storage/fts-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,16 @@ import type { MemeshDatabase } from './sqlite.js';
|
|
|
2
2
|
export declare const SESSION_DEDUPE_KEY = "session_observation_dedupe";
|
|
3
3
|
export declare const ZERO_EDIT_RETRACT_KEY = "session_zero_edit_retract";
|
|
4
4
|
export declare const FUSED_LESSON_SPLIT_KEY = "fused_lesson_split";
|
|
5
|
-
export declare
|
|
5
|
+
export declare const ARCHIVED_FTS_ROWS_KEY = "archived_fts_rows";
|
|
6
|
+
export declare const FUSED_LESSON_SHELL_HISTORY_RESET_KEY = "fused_lesson_shell_history_reset";
|
|
7
|
+
export declare function dedupeObservations(db: MemeshDatabase): number;
|
|
6
8
|
export declare function bashWritesFiles(command: string): boolean;
|
|
7
9
|
export declare function retractZeroEditClaims(db: MemeshDatabase): number;
|
|
8
10
|
export declare function splitFusedLessons(db: MemeshDatabase, deps: {
|
|
9
11
|
deriveTitle: (type: string, observations: string[]) => string | null;
|
|
10
|
-
markReindexOwed: (conn: MemeshDatabase) => void;
|
|
11
12
|
}): number;
|
|
13
|
+
export declare function dropArchivedIndexRows(db: MemeshDatabase): {
|
|
14
|
+
ftsRows: number;
|
|
15
|
+
};
|
|
16
|
+
export declare function repairFusedLessonShellHistory(db: MemeshDatabase): number;
|
|
12
17
|
//# sourceMappingURL=graph-repairs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-repairs.d.ts","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph-repairs.d.ts","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"AAwDA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,oCAAoC,qCAAqC,CAAC;AAgIvF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CA4B7D;AAoBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUxD;AAgBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAgChE;AAiED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE;IACJ,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC;CACtE,GACA,MAAM,CA6JR;AAqBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAkD7E;AAsBD,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CA8BxE"}
|
|
@@ -4,22 +4,47 @@ import { computeSignalScore } from '../core/signal-scorer.js';
|
|
|
4
4
|
export const SESSION_DEDUPE_KEY = 'session_observation_dedupe';
|
|
5
5
|
export const ZERO_EDIT_RETRACT_KEY = 'session_zero_edit_retract';
|
|
6
6
|
export const FUSED_LESSON_SPLIT_KEY = 'fused_lesson_split';
|
|
7
|
+
export const ARCHIVED_FTS_ROWS_KEY = 'archived_fts_rows';
|
|
8
|
+
export const FUSED_LESSON_SHELL_HISTORY_RESET_KEY = 'fused_lesson_shell_history_reset';
|
|
7
9
|
const ZERO_EDITS = ', 0 files edited';
|
|
8
10
|
const ZERO_EDITS_RETRACTED = ', files edited through Bash (count not recorded before 4.8.2)';
|
|
9
11
|
function note(line) {
|
|
10
12
|
process.stderr.write(`MeMesh: ${line}\n`);
|
|
11
13
|
}
|
|
12
|
-
|
|
14
|
+
function retireRecallHistory(conn, id) {
|
|
15
|
+
const row = conn
|
|
16
|
+
.prepare('SELECT metadata, recall_hits, recall_misses FROM entities WHERE id = ?')
|
|
17
|
+
.get(id);
|
|
18
|
+
if (!row)
|
|
19
|
+
return;
|
|
20
|
+
const hits = row.recall_hits ?? 0;
|
|
21
|
+
const misses = row.recall_misses ?? 0;
|
|
22
|
+
if (hits === 0 && misses === 0)
|
|
23
|
+
return;
|
|
24
|
+
let metadata = {};
|
|
25
|
+
try {
|
|
26
|
+
const parsed = row.metadata ? JSON.parse(row.metadata) : {};
|
|
27
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
|
|
28
|
+
metadata = parsed;
|
|
29
|
+
}
|
|
30
|
+
catch { }
|
|
31
|
+
metadata.retired_recall = { hits, misses };
|
|
32
|
+
conn
|
|
33
|
+
.prepare('UPDATE entities SET metadata = ?, recall_hits = 0, recall_misses = 0 WHERE id = ?')
|
|
34
|
+
.run(JSON.stringify(metadata), id);
|
|
35
|
+
}
|
|
36
|
+
export function dedupeObservations(db) {
|
|
13
37
|
let removed = -1;
|
|
14
38
|
runOnceMigration(db, {
|
|
15
39
|
key: SESSION_DEDUPE_KEY,
|
|
16
|
-
version:
|
|
17
|
-
describe: '
|
|
40
|
+
version: 2,
|
|
41
|
+
describe: 'observation dedupe',
|
|
18
42
|
migrate: (conn) => {
|
|
19
43
|
const affected = conn
|
|
20
|
-
.prepare(`SELECT DISTINCT
|
|
21
|
-
|
|
22
|
-
|
|
44
|
+
.prepare(`SELECT DISTINCT o.entity_id AS id FROM observations o
|
|
45
|
+
JOIN entities e ON e.id = o.entity_id
|
|
46
|
+
WHERE e.type NOT IN ('lesson_learned', 'lesson', 'mistake')
|
|
47
|
+
GROUP BY o.entity_id, o.content HAVING COUNT(o.id) > 1`)
|
|
23
48
|
.all();
|
|
24
49
|
removed = 0;
|
|
25
50
|
const del = conn.prepare(`DELETE FROM observations WHERE entity_id = ? AND id NOT IN (
|
|
@@ -28,7 +53,7 @@ export function dedupeSessionObservations(db) {
|
|
|
28
53
|
removed += Number(del.run(row.id, row.id).changes);
|
|
29
54
|
if (removed > 0) {
|
|
30
55
|
rebuildFtsIndex(conn);
|
|
31
|
-
note(`removed ${removed} duplicate observation(s) from ${affected.length}
|
|
56
|
+
note(`removed ${removed} duplicate observation(s) from ${affected.length} entit${affected.length === 1 ? 'y' : 'ies'} (written by hooks up to 4.8.3).`);
|
|
32
57
|
}
|
|
33
58
|
},
|
|
34
59
|
});
|
|
@@ -189,7 +214,8 @@ export function splitFusedLessons(db, deps) {
|
|
|
189
214
|
bucket.name.slice('lesson-'.length, -'-other'.length);
|
|
190
215
|
const movedFromBucket = moveLessonGroups(bucket, project, groups, tags);
|
|
191
216
|
dropExplicit.run(bucket.id, bucket.id);
|
|
192
|
-
archive.run(bucket.id, bucket.id)
|
|
217
|
+
if (archive.run(bucket.id, bucket.id).changes > 0)
|
|
218
|
+
retireRecallHistory(conn, bucket.id);
|
|
193
219
|
if (movedFromBucket > 0)
|
|
194
220
|
bucketsTouched += 1;
|
|
195
221
|
}
|
|
@@ -219,24 +245,74 @@ export function splitFusedLessons(db, deps) {
|
|
|
219
245
|
if (!groups.every((group) => `lesson-${project}-${legacyReadableLessonSlug(group.error)}` === entity.name))
|
|
220
246
|
continue;
|
|
221
247
|
const movedFromEntity = moveLessonGroups(entity, project, groups, tags);
|
|
222
|
-
archive.run(entity.id, entity.id)
|
|
248
|
+
if (archive.run(entity.id, entity.id).changes > 0)
|
|
249
|
+
retireRecallHistory(conn, entity.id);
|
|
223
250
|
legacyReadableMoved += movedFromEntity;
|
|
224
251
|
}
|
|
225
252
|
if (moved > 0) {
|
|
226
253
|
rebuildFtsIndex(conn);
|
|
227
|
-
deps.markReindexOwed(conn);
|
|
228
254
|
if (legacyReadableMoved === 0) {
|
|
229
|
-
note(`moved ${moved} lesson(s) out of ${bucketsTouched} "-other" bucket(s) into their own entities
|
|
255
|
+
note(`moved ${moved} lesson(s) out of ${bucketsTouched} "-other" bucket(s) into their own entities.`);
|
|
230
256
|
}
|
|
231
257
|
else if (bucketsTouched === 0) {
|
|
232
|
-
note(`moved ${legacyReadableMoved} legacy readable-only lesson(s) into their canonical digest entities
|
|
258
|
+
note(`moved ${legacyReadableMoved} legacy readable-only lesson(s) into their canonical digest entities.`);
|
|
233
259
|
}
|
|
234
260
|
else {
|
|
235
|
-
note(`moved ${moved - legacyReadableMoved} lesson(s) out of ${bucketsTouched} "-other" bucket(s) and ${legacyReadableMoved} legacy readable-only lesson(s) into their canonical digest entities
|
|
261
|
+
note(`moved ${moved - legacyReadableMoved} lesson(s) out of ${bucketsTouched} "-other" bucket(s) and ${legacyReadableMoved} legacy readable-only lesson(s) into their canonical digest entities.`);
|
|
236
262
|
}
|
|
237
263
|
}
|
|
238
264
|
},
|
|
239
265
|
});
|
|
240
266
|
return moved;
|
|
241
267
|
}
|
|
268
|
+
export function dropArchivedIndexRows(db) {
|
|
269
|
+
const result = { ftsRows: -1 };
|
|
270
|
+
runOnceMigration(db, {
|
|
271
|
+
key: ARCHIVED_FTS_ROWS_KEY,
|
|
272
|
+
version: 1,
|
|
273
|
+
describe: 'archived rows removed from the keyword index',
|
|
274
|
+
migrate: (conn) => {
|
|
275
|
+
const stale = conn
|
|
276
|
+
.prepare(`SELECT COUNT(*) AS n FROM entities_fts f
|
|
277
|
+
JOIN entities e ON e.id = f.rowid
|
|
278
|
+
WHERE e.status = 'archived'`)
|
|
279
|
+
.get();
|
|
280
|
+
result.ftsRows = stale.n;
|
|
281
|
+
rebuildFtsIndex(conn);
|
|
282
|
+
if (stale.n > 0) {
|
|
283
|
+
note(`removed ${stale.n} archived entit${stale.n === 1 ? 'y' : 'ies'} from the keyword index (archived before 4.8.4 by a path that left the index behind).`);
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
});
|
|
287
|
+
return result;
|
|
288
|
+
}
|
|
289
|
+
export function repairFusedLessonShellHistory(db) {
|
|
290
|
+
let retired = -1;
|
|
291
|
+
runOnceMigration(db, {
|
|
292
|
+
key: FUSED_LESSON_SHELL_HISTORY_RESET_KEY,
|
|
293
|
+
version: 1,
|
|
294
|
+
describe: 'fused lesson shell history reset',
|
|
295
|
+
migrate: (conn) => {
|
|
296
|
+
const shells = conn
|
|
297
|
+
.prepare(`SELECT e.id, e.name FROM entities e
|
|
298
|
+
WHERE e.type = 'lesson_learned' AND e.status = 'archived'
|
|
299
|
+
AND (COALESCE(e.recall_hits, 0) > 0 OR COALESCE(e.recall_misses, 0) > 0)
|
|
300
|
+
AND NOT EXISTS (SELECT 1 FROM observations o WHERE o.entity_id = e.id)
|
|
301
|
+
AND EXISTS (
|
|
302
|
+
SELECT 1 FROM entities s
|
|
303
|
+
WHERE json_extract(s.metadata, '$.split_from') = e.name
|
|
304
|
+
)`)
|
|
305
|
+
.all();
|
|
306
|
+
retired = 0;
|
|
307
|
+
for (const shell of shells) {
|
|
308
|
+
retireRecallHistory(conn, shell.id);
|
|
309
|
+
retired += 1;
|
|
310
|
+
}
|
|
311
|
+
if (retired > 0) {
|
|
312
|
+
note(`retired stale recall history on ${retired} archived lesson shell(s) split before this fix existed.`);
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
});
|
|
316
|
+
return retired;
|
|
317
|
+
}
|
|
242
318
|
//# sourceMappingURL=graph-repairs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-repairs.js","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-repairs.js","sourceRoot":"","sources":["../../src/storage/graph-repairs.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AACzD,MAAM,CAAC,MAAM,oCAAoC,GAAG,kCAAkC,CAAC;AAGvF,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,oBAAoB,GAAG,+DAA+D,CAAC;AAQ7F,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AAC5C,CAAC;AA2CD,SAAS,mBAAmB,CAAC,IAAoB,EAAE,EAAU;IAC3D,MAAM,GAAG,GAAG,IAAI;SACb,OAAO,CAAC,wEAAwE,CAAC;SACjF,GAAG,CAAC,EAAE,CAAsG,CAAC;IAChH,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,QAAQ,GAAG,MAAiC,CAAC;IACnH,CAAC;IAAC,MAAM,CAAC,CAAqE,CAAC;IAC/E,QAAQ,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAE3C,IAAI;SACD,OAAO,CAAC,mFAAmF,CAAC;SAC5F,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAoDD,MAAM,UAAU,kBAAkB,CAAC,EAAkB;IACnD,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,gBAAgB,CAAC,EAAE,EAAE;QACnB,GAAG,EAAE,kBAAkB;QACvB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI;iBAClB,OAAO,CACN;;;kEAGwD,CACzD;iBACA,GAAG,EAAsC,CAAC;YAC7C,OAAO,GAAG,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CACtB;kFAC0E,CAC3E,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,QAAQ;gBAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/E,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,OAAO,kCAAkC,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,kCAAkC,CAAC,CAAC;YAC1J,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAWD,MAAM,iBAAiB,GAAa;IAClC,uDAAuD;IACvD,gCAAgC;IAChC,sCAAsC;IACtC,iEAAiE;IACjE,iDAAiD;IACjD,oCAAoC;CACrC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAInC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAgBD,MAAM,UAAU,qBAAqB,CAAC,EAAkB;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,gBAAgB,CAAC,EAAE,EAAE;QACnB,GAAG,EAAE,qBAAqB;QAC1B,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,8BAA8B;QACxC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,UAAU,GAAG,IAAI;iBACpB,OAAO,CACN;;wDAE8C,UAAU,IAAI,CAC7D;iBACA,GAAG,EAA0E,CAAC;YACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,mFAAmF,CACpF,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;YAChF,SAAS,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAA0C,CAAC;gBAClF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAAE,SAAS;gBAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1E,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,iCAAiC,SAAS,kBAAkB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,8BAA8B,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAaD,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,KAAK;SAChB,WAAW,EAAE;SACb,OAAO,CAAC,0BAA0B,EAAE,GAAG,CAAC;SACxC,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC7D,CAAC;AAwBD,MAAM,UAAU,iBAAiB,CAC/B,EAAkB,EAClB,IAEC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,gBAAgB,CAAC,EAAE,EAAE;QACnB,GAAG,EAAE,sBAAsB;QAC3B,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,OAAO,GAAG,IAAI;iBACjB,OAAO,CACN;;;sGAG4F,CAC7F;iBACA,GAAG,EAAgJ,CAAC;YACvJ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,kFAAkF,CAAC,CAAC;YAC/G,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAClF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAC/B;gDACwC,CACzC,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;YAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAGnF,MAAM,OAAO,GAAG,6DAA6D,CAAC;YAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,wEAAwE,OAAO,EAAE,CAAC,CAAC;YACrH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,4DAA4D,OAAO,EAAE,CAAC,CAAC;YACpG,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5B,MAAM,gBAAgB,GAAG,CACvB,MAAgI,EAChI,OAAe,EACf,MAAqB,EACrB,IAAc,EACN,EAAE;gBAIV,IAAI,SAAS,GAA4B,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAY,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,SAAS,GAAG,MAAiC,CAAC;gBACpH,CAAC;gBAAC,MAAM,CAAC,CAA4D,CAAC;gBAEtE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAE3E,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,UAAU,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5D,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAA+C,CAAC;oBAChF,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;4BAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACN,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACtD,MAAM,QAAQ,GAA4B;4BACxC,GAAG,SAAS;4BACZ,UAAU,EAAE,MAAM,CAAC,IAAI;4BAGvB,YAAY,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yBACrG,CAAC;wBACF,IAAI,KAAK;4BAAE,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;;4BAAM,OAAO,QAAQ,CAAC,YAAY,CAAC;wBAMlF,OAAO,QAAQ,CAAC,KAAK,CAAC;wBACtB,OAAO,QAAQ,CAAC,YAAY,CAAC;wBAC7B,OAAO,QAAQ,CAAC,kBAAkB,CAAC;wBACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAC/B,IAAI,EACJ,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,KAAK,CACN,CAAC;wBACF,MAAM,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;wBACpE,KAAK,MAAM,GAAG,IAAI,OAAO;4BAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBAC3D,CAAC;oBACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;wBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC7D,KAAK,IAAI,CAAC,CAAC;oBACX,eAAe,IAAI,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,eAAe,CAAC;YACzB,CAAC,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAwB,CAAC,CAAC;gBACzE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAElC,MAAM,IAAI,GAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAuC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE5F,MAAM,OAAO,GACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;oBACpE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC;oBAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxF,IAAI,eAAe,GAAG,CAAC;oBAAE,cAAc,IAAI,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,cAAc,GAAG,IAAI;iBACxB,OAAO,CACN;;;;;;sGAM4F,CAC7F;iBACA,GAAG,EAAgJ,CAAC;YAEvJ,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAwB,CAAC;gBACzD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAClC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACpF,MAAM,IAAI,GAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAuC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrF,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;gBAG9D,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,MAAM,EAAE,CAAC;oBAAE,SAAS;gBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,OAAO,IAAI,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAErH,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC;oBAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxF,mBAAmB,IAAI,eAAe,CAAC;YACzC,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,SAAS,KAAK,qBAAqB,cAAc,8CAA8C,CAAC,CAAC;gBACxG,CAAC;qBAAM,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,SAAS,mBAAmB,uEAAuE,CAAC,CAAC;gBAC5G,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,KAAK,GAAG,mBAAmB,qBAAqB,cAAc,2BAA2B,mBAAmB,uEAAuE,CAAC,CAAC;gBACrM,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAqBD,MAAM,UAAU,qBAAqB,CAAC,EAAkB;IACtD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;IAE/B,gBAAgB,CAAC,EAAE,EAAE;QACnB,GAAG,EAAE,qBAAqB;QAC1B,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,8CAA8C;QACxD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YA2BhB,MAAM,KAAK,GAAG,IAAI;iBACf,OAAO,CACN;;wCAE8B,CAC/B;iBACA,GAAG,EAAmB,CAAC;YAC1B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,uFAAuF,CAAC,CAAC;YAC/J,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAsBD,MAAM,UAAU,6BAA6B,CAAC,EAAkB;IAC9D,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,gBAAgB,CAAC,EAAE,EAAE;QACnB,GAAG,EAAE,oCAAoC;QACzC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,kCAAkC;QAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,IAAI;iBAChB,OAAO,CACN;;;;;;;eAOK,CACN;iBACA,GAAG,EAAoD,CAAC;YAC3D,OAAO,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,mCAAmC,OAAO,0DAA0D,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/storage/schema.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MemeshDatabase } from './sqlite.js';
|
|
2
|
-
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS entities (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n type TEXT NOT NULL,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n metadata JSON\n);\n\nCREATE TABLE IF NOT EXISTS observations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n entity_id INTEGER NOT NULL,\n content TEXT NOT NULL,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS relations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n from_entity_id INTEGER NOT NULL,\n to_entity_id INTEGER NOT NULL,\n relation_type TEXT NOT NULL,\n metadata JSON,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,\n FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,\n UNIQUE(from_entity_id, to_entity_id, relation_type)\n);\n\nCREATE TABLE IF NOT EXISTS tags (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n entity_id INTEGER NOT NULL,\n tag TEXT NOT NULL,\n FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);\nCREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);\n-- The tags dedup DELETE + idx_tags_entity_tag_unique creation live in\n-- ensureTagsUniqueIndex(), AFTER this exec \u2014 the DELETE is a one-time\n-- migration, and a DML statement in this string made every open start a\n-- write transaction even when it deleted nothing (same reader-breaking\n-- pattern as the hook_runs_since note below).\nCREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);\nCREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);\nCREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);\nCREATE INDEX IF NOT EXISTS idx_entities_type_created ON entities(type, created_at);\n\n-- Migration markers and small bits of persistent state (index segmentation\n-- version, embedding dimension, pending-reindex flags, backfill markers).\n--\n-- This used to be created ad hoc by each helper that needed it \u2014 four inline\n-- CREATE TABLE IF NOT EXISTS copies in src/db.ts, none of them visible to\n-- schema checks. A column added to one copy would not have been caught. It\n-- also meant the hook-side schema had no metadata table at all, so hooks\n-- could not participate in migrations even in principle.\nCREATE TABLE IF NOT EXISTS memesh_metadata (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Local agent messaging core. Messages are immutable, deliveries identify the\n-- authorized recipient, events are the wakeup/catch-up surface, cursors keep\n-- the internal sequence opaque, and receipts are append-only facts that remain\n-- separate from delivery existence.\nCREATE TABLE IF NOT EXISTS agent_messages (\n message_id TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n sender TEXT NOT NULL,\n sender_host TEXT,\n recipient TEXT NOT NULL,\n content_type TEXT NOT NULL,\n correlation_id TEXT,\n reply_to_message_id TEXT,\n privacy TEXT NOT NULL,\n payload_json TEXT NOT NULL,\n -- A tombstone replaces only a terminal payload. The original JSON bytes\n -- are never reconstructed from these fields; they retain enough identity to\n -- audit the erasure while the routing and lifecycle tables remain intact.\n payload_sha256 TEXT,\n payload_original_bytes INTEGER,\n payload_tombstoned_at TIMESTAMP,\n provenance_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_deliveries (\n delivery_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n target_kind TEXT NOT NULL DEFAULT 'principal' CHECK (target_kind IN ('principal', 'session')),\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n UNIQUE(message_id, project, recipient)\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_events (\n event_sequence INTEGER PRIMARY KEY AUTOINCREMENT,\n event_id TEXT NOT NULL UNIQUE,\n message_id TEXT NOT NULL,\n delivery_id TEXT NOT NULL,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n event_kind TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_idempotency (\n project TEXT NOT NULL,\n sender TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n message_id TEXT NOT NULL UNIQUE,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n PRIMARY KEY(project, sender, idempotency_key)\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_cursors (\n cursor_token TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n event_sequence INTEGER NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_receipts (\n receipt_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n receipt_kind TEXT NOT NULL,\n actor TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n UNIQUE(project, recipient, message_id, receipt_kind, idempotency_key)\n);\n\n-- Host-native push identity and lifecycle. A principal is stable, a session\n-- instance is ephemeral, and every connection to that session gets a strictly\n-- increasing generation. The activation checkpoint is intentionally created\n-- at first principal registration: principal-targeted history at or before it\n-- is durable inbox history, but is never replayed as a first-time host push.\nCREATE TABLE IF NOT EXISTS agent_principals (\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n activation_event_sequence INTEGER NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY(project, principal_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_session_instances (\n project TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n adapter_kind TEXT NOT NULL,\n last_generation INTEGER NOT NULL DEFAULT 0,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY(project, session_instance_id),\n FOREIGN KEY (project, principal_id) REFERENCES agent_principals(project, principal_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_session_connections (\n connection_id TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n generation INTEGER NOT NULL,\n adapter_kind TEXT NOT NULL,\n router_instance_id TEXT NOT NULL,\n lease_expires_at_ms INTEGER NOT NULL,\n connected_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n disconnected_at TIMESTAMP,\n disconnect_reason TEXT,\n UNIQUE(project, session_instance_id, generation),\n FOREIGN KEY (project, session_instance_id)\n REFERENCES agent_session_instances(project, session_instance_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_presence_facts (\n presence_fact_id TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n connection_id TEXT NOT NULL,\n generation INTEGER NOT NULL,\n presence_kind TEXT NOT NULL CHECK (presence_kind IN ('connected', 'heartbeat', 'disconnected', 'superseded')),\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (connection_id) REFERENCES agent_session_connections(connection_id)\n);\n\n-- Dispatch is at-least-once across a crash boundary. delivery_id is the stable\n-- adapter dispatch key; attempt_id identifies one invocation. A host_accept is\n-- a separate fact and never implies an agent acknowledgement or workflow\n-- outcome.\nCREATE TABLE IF NOT EXISTS agent_dispatch_attempts (\n attempt_id TEXT PRIMARY KEY,\n delivery_id TEXT NOT NULL,\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n connection_id TEXT NOT NULL,\n generation INTEGER NOT NULL,\n router_instance_id TEXT NOT NULL,\n attempt_number INTEGER NOT NULL,\n result TEXT NOT NULL DEFAULT 'started' CHECK (result IN ('started', 'adapter_returned', 'adapter_rejected', 'adapter_failed', 'stale_generation')),\n failure_code TEXT,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n completed_at TIMESTAMP,\n UNIQUE(delivery_id, attempt_number),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE,\n FOREIGN KEY (connection_id) REFERENCES agent_session_connections(connection_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_host_accepts (\n host_accept_id TEXT PRIMARY KEY,\n attempt_id TEXT NOT NULL UNIQUE,\n delivery_id TEXT NOT NULL UNIQUE,\n adapter_kind TEXT NOT NULL,\n receipt_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (attempt_id) REFERENCES agent_dispatch_attempts(attempt_id),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS agent_ack_facts (\n ack_fact_id TEXT PRIMARY KEY,\n delivery_id TEXT NOT NULL,\n host_accept_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(delivery_id, actor, idempotency_key),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE,\n FOREIGN KEY (host_accept_id) REFERENCES agent_host_accepts(host_accept_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_workflow_facts (\n workflow_fact_id TEXT PRIMARY KEY,\n delivery_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n workflow_state TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(delivery_id, actor, idempotency_key),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS agent_retention_facts (\n retention_fact_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n retention_state TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(message_id, actor, idempotency_key),\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_agent_message_events_recipient_sequence\n ON agent_message_events(project, recipient, event_sequence);\nCREATE INDEX IF NOT EXISTS idx_agent_message_deliveries_scope\n ON agent_message_deliveries(project, recipient, message_id);\nCREATE INDEX IF NOT EXISTS idx_agent_message_receipts_scope\n ON agent_message_receipts(project, recipient, message_id, created_at);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_agent_message_cursors_unique_scope_sequence\n ON agent_message_cursors(project, recipient, event_sequence);\nCREATE INDEX IF NOT EXISTS idx_agent_principals_activation\n ON agent_principals(project, activation_event_sequence);\nCREATE INDEX IF NOT EXISTS idx_agent_session_connections_active\n ON agent_session_connections(project, principal_id, session_instance_id, lease_expires_at_ms)\n WHERE disconnected_at IS NULL;\nCREATE INDEX IF NOT EXISTS idx_agent_dispatch_attempts_delivery\n ON agent_dispatch_attempts(delivery_id, attempt_number);\nCREATE INDEX IF NOT EXISTS idx_agent_workflow_facts_delivery_created\n ON agent_workflow_facts(delivery_id, created_at, workflow_fact_id);\n\n-- Proof that a capture hook actually RAN. Nothing else in this schema can\n-- give it: every other signal is \"a row was written\", and \"the hook ran and\n-- found nothing worth saving\" is the healthy case that produces no row at\n-- all. So a quiet day and a dead capture loop were byte-identical in the\n-- database, and the one doctor message that had to cover both cried wolf on\n-- the first and stayed silent on the second.\n--\n-- Written by the three hooks that hold a read-write handle (Stop, PreCompact,\n-- PostToolUse), each calling recordHookRun() at its own SUCCESSFUL exit \u2014\n-- after capture, not at open. Stamping at open certified the wrong thing: a\n-- hook that opened the database and then died mid-capture looked alive for a\n-- day. \"Successful\" is precise: a completed capture, or a well-formed\n-- payload the hook correctly decided not to capture (dedup, low-signal\n-- session). A malformed payload (schema-flip shapes) and a write that did\n-- not land both leave no stamp \u2014 either would make the heartbeat mask the\n-- exact dropout it exists to expose. The recall-side hooks open read-only\n-- and deliberately do not appear here: their liveness answers a different\n-- question, and giving them a write handle would put a lock acquisition on\n-- the SessionStart hot path.\n--\n-- One row per hook, upserted. It does not grow.\nCREATE TABLE IF NOT EXISTS hook_runs (\n hook TEXT PRIMARY KEY,\n last_run_at TIMESTAMP NOT NULL,\n run_count INTEGER NOT NULL DEFAULT 0\n);\n\n-- The 'hook_runs_since' metadata key (when this database first became able\n-- to record hook runs) is stamped by ensureHookRunsSince() AFTER this exec,\n-- NOT here. It used to be an INSERT OR IGNORE in this string, and that made\n-- every open \u2014 including opens that only ever read \u2014 start a write\n-- transaction: an INSERT statement takes the WAL writer lock even when\n-- OR IGNORE ends up changing nothing. Two states regressed from \"reads work\"\n-- to \"open throws\": a peer holding the writer lock past busy_timeout, and a\n-- read-only database FILE (measured: \"attempt to write a readonly database\"\n-- killed recall along with capture). The helper SELECTs first and writes\n-- only when the key is genuinely absent \u2014 once per database lifetime.\n";
|
|
2
|
+
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS entities (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n type TEXT NOT NULL,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n metadata JSON\n);\n\nCREATE TABLE IF NOT EXISTS observations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n entity_id INTEGER NOT NULL,\n content TEXT NOT NULL,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS relations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n from_entity_id INTEGER NOT NULL,\n to_entity_id INTEGER NOT NULL,\n relation_type TEXT NOT NULL,\n metadata JSON,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,\n FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,\n UNIQUE(from_entity_id, to_entity_id, relation_type)\n);\n\nCREATE TABLE IF NOT EXISTS tags (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n entity_id INTEGER NOT NULL,\n tag TEXT NOT NULL,\n FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);\nCREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);\n-- The tags dedup DELETE + idx_tags_entity_tag_unique creation live in\n-- ensureTagsUniqueIndex(), AFTER this exec \u2014 the DELETE is a one-time\n-- migration, and a DML statement in this string made every open start a\n-- write transaction even when it deleted nothing (same reader-breaking\n-- pattern as the hook_runs_since note below).\nCREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);\nCREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);\nCREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);\nCREATE INDEX IF NOT EXISTS idx_entities_type_created ON entities(type, created_at);\n\n-- Migration markers and small bits of persistent state.\n--\n-- This used to be created ad hoc by each helper that needed it \u2014 four inline\n-- CREATE TABLE IF NOT EXISTS copies in src/db.ts, none of them visible to\n-- schema checks. A column added to one copy would not have been caught. It\n-- also meant the hook-side schema had no metadata table at all, so hooks\n-- could not participate in migrations even in principle.\nCREATE TABLE IF NOT EXISTS memesh_metadata (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Local agent messaging core. Messages are immutable, deliveries identify the\n-- authorized recipient, events are the wakeup/catch-up surface, cursors keep\n-- the internal sequence opaque, and receipts are append-only facts that remain\n-- separate from delivery existence.\nCREATE TABLE IF NOT EXISTS agent_messages (\n message_id TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n sender TEXT NOT NULL,\n sender_host TEXT,\n recipient TEXT NOT NULL,\n content_type TEXT NOT NULL,\n correlation_id TEXT,\n reply_to_message_id TEXT,\n privacy TEXT NOT NULL,\n payload_json TEXT NOT NULL,\n -- A tombstone replaces only a terminal payload. The original JSON bytes\n -- are never reconstructed from these fields; they retain enough identity to\n -- audit the erasure while the routing and lifecycle tables remain intact.\n payload_sha256 TEXT,\n payload_original_bytes INTEGER,\n payload_tombstoned_at TIMESTAMP,\n provenance_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_deliveries (\n delivery_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n target_kind TEXT NOT NULL DEFAULT 'principal' CHECK (target_kind IN ('principal', 'session')),\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n UNIQUE(message_id, project, recipient)\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_events (\n event_sequence INTEGER PRIMARY KEY AUTOINCREMENT,\n event_id TEXT NOT NULL UNIQUE,\n message_id TEXT NOT NULL,\n delivery_id TEXT NOT NULL,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n event_kind TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_idempotency (\n project TEXT NOT NULL,\n sender TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n message_id TEXT NOT NULL UNIQUE,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n PRIMARY KEY(project, sender, idempotency_key)\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_cursors (\n cursor_token TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n event_sequence INTEGER NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS agent_message_receipts (\n receipt_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL,\n project TEXT NOT NULL,\n recipient TEXT NOT NULL,\n receipt_kind TEXT NOT NULL,\n actor TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE,\n UNIQUE(project, recipient, message_id, receipt_kind, idempotency_key)\n);\n\n-- Host-native push identity and lifecycle. A principal is stable, a session\n-- instance is ephemeral, and every connection to that session gets a strictly\n-- increasing generation. The activation checkpoint is intentionally created\n-- at first principal registration: principal-targeted history at or before it\n-- is durable inbox history, but is never replayed as a first-time host push.\nCREATE TABLE IF NOT EXISTS agent_principals (\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n activation_event_sequence INTEGER NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY(project, principal_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_session_instances (\n project TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n adapter_kind TEXT NOT NULL,\n last_generation INTEGER NOT NULL DEFAULT 0,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY(project, session_instance_id),\n FOREIGN KEY (project, principal_id) REFERENCES agent_principals(project, principal_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_session_connections (\n connection_id TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n generation INTEGER NOT NULL,\n adapter_kind TEXT NOT NULL,\n router_instance_id TEXT NOT NULL,\n lease_expires_at_ms INTEGER NOT NULL,\n connected_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n disconnected_at TIMESTAMP,\n disconnect_reason TEXT,\n UNIQUE(project, session_instance_id, generation),\n FOREIGN KEY (project, session_instance_id)\n REFERENCES agent_session_instances(project, session_instance_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_presence_facts (\n presence_fact_id TEXT PRIMARY KEY,\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n connection_id TEXT NOT NULL,\n generation INTEGER NOT NULL,\n presence_kind TEXT NOT NULL CHECK (presence_kind IN ('connected', 'heartbeat', 'disconnected', 'superseded')),\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (connection_id) REFERENCES agent_session_connections(connection_id)\n);\n\n-- Dispatch is at-least-once across a crash boundary. delivery_id is the stable\n-- adapter dispatch key; attempt_id identifies one invocation. A host_accept is\n-- a separate fact and never implies an agent acknowledgement or workflow\n-- outcome.\nCREATE TABLE IF NOT EXISTS agent_dispatch_attempts (\n attempt_id TEXT PRIMARY KEY,\n delivery_id TEXT NOT NULL,\n project TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n session_instance_id TEXT NOT NULL,\n connection_id TEXT NOT NULL,\n generation INTEGER NOT NULL,\n router_instance_id TEXT NOT NULL,\n attempt_number INTEGER NOT NULL,\n result TEXT NOT NULL DEFAULT 'started' CHECK (result IN ('started', 'adapter_returned', 'adapter_rejected', 'adapter_failed', 'stale_generation')),\n failure_code TEXT,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n completed_at TIMESTAMP,\n UNIQUE(delivery_id, attempt_number),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE,\n FOREIGN KEY (connection_id) REFERENCES agent_session_connections(connection_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_host_accepts (\n host_accept_id TEXT PRIMARY KEY,\n attempt_id TEXT NOT NULL UNIQUE,\n delivery_id TEXT NOT NULL UNIQUE,\n adapter_kind TEXT NOT NULL,\n receipt_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (attempt_id) REFERENCES agent_dispatch_attempts(attempt_id),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS agent_ack_facts (\n ack_fact_id TEXT PRIMARY KEY,\n delivery_id TEXT NOT NULL,\n host_accept_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(delivery_id, actor, idempotency_key),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE,\n FOREIGN KEY (host_accept_id) REFERENCES agent_host_accepts(host_accept_id)\n);\n\nCREATE TABLE IF NOT EXISTS agent_workflow_facts (\n workflow_fact_id TEXT PRIMARY KEY,\n delivery_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n workflow_state TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(delivery_id, actor, idempotency_key),\n FOREIGN KEY (delivery_id) REFERENCES agent_message_deliveries(delivery_id) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS agent_retention_facts (\n retention_fact_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n retention_state TEXT NOT NULL,\n idempotency_key TEXT NOT NULL,\n request_hash TEXT NOT NULL,\n detail_json TEXT NOT NULL,\n created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(message_id, actor, idempotency_key),\n FOREIGN KEY (message_id) REFERENCES agent_messages(message_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_agent_message_events_recipient_sequence\n ON agent_message_events(project, recipient, event_sequence);\nCREATE INDEX IF NOT EXISTS idx_agent_message_deliveries_scope\n ON agent_message_deliveries(project, recipient, message_id);\nCREATE INDEX IF NOT EXISTS idx_agent_message_receipts_scope\n ON agent_message_receipts(project, recipient, message_id, created_at);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_agent_message_cursors_unique_scope_sequence\n ON agent_message_cursors(project, recipient, event_sequence);\nCREATE INDEX IF NOT EXISTS idx_agent_principals_activation\n ON agent_principals(project, activation_event_sequence);\nCREATE INDEX IF NOT EXISTS idx_agent_session_connections_active\n ON agent_session_connections(project, principal_id, session_instance_id, lease_expires_at_ms)\n WHERE disconnected_at IS NULL;\nCREATE INDEX IF NOT EXISTS idx_agent_dispatch_attempts_delivery\n ON agent_dispatch_attempts(delivery_id, attempt_number);\nCREATE INDEX IF NOT EXISTS idx_agent_workflow_facts_delivery_created\n ON agent_workflow_facts(delivery_id, created_at, workflow_fact_id);\n\n-- Proof that a capture hook actually RAN. Nothing else in this schema can\n-- give it: every other signal is \"a row was written\", and \"the hook ran and\n-- found nothing worth saving\" is the healthy case that produces no row at\n-- all. So a quiet day and a dead capture loop were byte-identical in the\n-- database, and the one doctor message that had to cover both cried wolf on\n-- the first and stayed silent on the second.\n--\n-- Written by the three hooks that hold a read-write handle (Stop, PreCompact,\n-- PostToolUse), each calling recordHookRun() at its own SUCCESSFUL exit \u2014\n-- after capture, not at open. Stamping at open certified the wrong thing: a\n-- hook that opened the database and then died mid-capture looked alive for a\n-- day. \"Successful\" is precise: a completed capture, or a well-formed\n-- payload the hook correctly decided not to capture (dedup, low-signal\n-- session). A malformed payload (schema-flip shapes) and a write that did\n-- not land both leave no stamp \u2014 either would make the heartbeat mask the\n-- exact dropout it exists to expose. The recall-side hooks open read-only\n-- and deliberately do not appear here: their liveness answers a different\n-- question, and giving them a write handle would put a lock acquisition on\n-- the SessionStart hot path.\n--\n-- One row per hook, upserted. It does not grow.\nCREATE TABLE IF NOT EXISTS hook_runs (\n hook TEXT PRIMARY KEY,\n last_run_at TIMESTAMP NOT NULL,\n run_count INTEGER NOT NULL DEFAULT 0\n);\n\n-- The 'hook_runs_since' metadata key (when this database first became able\n-- to record hook runs) is stamped by ensureHookRunsSince() AFTER this exec,\n-- NOT here. It used to be an INSERT OR IGNORE in this string, and that made\n-- every open \u2014 including opens that only ever read \u2014 start a write\n-- transaction: an INSERT statement takes the WAL writer lock even when\n-- OR IGNORE ends up changing nothing. Two states regressed from \"reads work\"\n-- to \"open throws\": a peer holding the writer lock past busy_timeout, and a\n-- read-only database FILE (measured: \"attempt to write a readonly database\"\n-- killed recall along with capture). The helper SELECTs first and writes\n-- only when the key is genuinely absent \u2014 once per database lifetime.\n";
|
|
3
3
|
export declare const FTS_SQL = "\nCREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(\n name, observations, content='',\n tokenize='unicode61 remove_diacritics 1'\n);\n\n-- Term -> document-count view over the index above. Stores nothing of its own;\n-- it exists so search() can drop query terms that appear in most of the corpus,\n-- which are the ones BM25 already scores near zero. See dropUbiquitousTerms().\nCREATE VIRTUAL TABLE IF NOT EXISTS fts_vocab USING fts5vocab(entities_fts, 'row');\n";
|
|
4
4
|
export declare function safeAlter(db: MemeshDatabase, sql: string): void;
|
|
5
5
|
export declare function migrateEntitiesSchema(db: MemeshDatabase): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,UAAU,0weAsUtB,CAAC;AAGF,eAAO,MAAM,OAAO,ieAUnB,CAAC;AAYF,wBAAgB,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAO/D;AASD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CA2G9D;AAYD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CA6B9D;AAeD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAgC5D;AAQD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOxD;AAGD,eAAO,MAAM,0BAA0B,QAAsB,CAAC;AA+B9D,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE;IACJ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D,GACA,OAAO,CAoET;AAWD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAG1C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAuBzC,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAsDxD;AAkBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAO9D"}
|
package/dist/storage/schema.js
CHANGED
|
@@ -48,8 +48,7 @@ CREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);
|
|
|
48
48
|
CREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);
|
|
49
49
|
CREATE INDEX IF NOT EXISTS idx_entities_type_created ON entities(type, created_at);
|
|
50
50
|
|
|
51
|
-
-- Migration markers and small bits of persistent state
|
|
52
|
-
-- version, embedding dimension, pending-reindex flags, backfill markers).
|
|
51
|
+
-- Migration markers and small bits of persistent state.
|
|
53
52
|
--
|
|
54
53
|
-- This used to be created ad hoc by each helper that needed it — four inline
|
|
55
54
|
-- CREATE TABLE IF NOT EXISTS copies in src/db.ts, none of them visible to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/sqlite.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export type SqlOutputValue = import('node:sqlite').SQLOutputValue;
|
|
|
4
4
|
export type SqlInputValue = import('node:sqlite').SQLInputValue;
|
|
5
5
|
export interface OpenOptions {
|
|
6
6
|
readOnly?: boolean;
|
|
7
|
-
allowExtension?: boolean;
|
|
8
7
|
}
|
|
9
8
|
export interface TransactionFunction<A extends unknown[], R> {
|
|
10
9
|
(...args: A): R;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAoEA,QAAA,MAAQ,YAAY,2CAAqB,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAGlE,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,EAAE,cAAc,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAahE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAoEA,QAAA,MAAQ,YAAY,2CAAqB,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAGlE,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,EAAE,cAAc,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAahE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwBD,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC;IACzD,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAKhB,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CAC1B;AAED,qBAAa,cAAe,SAAQ,YAAY;;gBAQlC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAWnD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAsB/B,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CA4BtF"}
|