@shadowforge0/aquifer-memory 1.5.8 → 1.5.12

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.
@@ -1,75 +0,0 @@
1
- -- Sample real user "first question" turns from sessions for retro recall bench.
2
- -- Output: 30 rows balanced across agent (cc/main/life) × language (zh/en/mixed).
3
- -- Usage:
4
- -- psql $DATABASE_URL -f scripts/sample-bench-queries.sql --csv > queries.csv
5
- -- then convert to JSON via:
6
- -- node -e "const fs=require('fs');const lines=fs.readFileSync('queries.csv','utf8').trim().split('\n').slice(1);const out={version:1,queries:lines.map((l,i)=>{const[id,sid,ag,src,lang,qt]=l.split(','); return {id:'q-sql-'+(i+1),sessionRowId:Number(id),sessionId:sid,agentId:ag,source:src,sourceKind:'sql-sampled',lang,text:qt.replace(/^\"|\"$/g,'').replace(/\"\"/g,'\"')}})};fs.writeFileSync('queries.json',JSON.stringify(out,null,2))"
7
-
8
- -- Override with `psql -v schema=aquifer -f sample-bench-queries.sql`
9
- \if :{?schema}
10
- \else
11
- \set schema 'miranda'
12
- \endif
13
-
14
- WITH raw_turns AS (
15
- SELECT
16
- s.id AS session_row_id,
17
- s.session_id,
18
- s.agent_id,
19
- s.source,
20
- s.started_at,
21
- m.ordinality AS turn_ordinal,
22
- m.msg->>'role' AS role,
23
- m.msg->>'content' AS content
24
- FROM :"schema".sessions s
25
- CROSS JOIN LATERAL jsonb_array_elements(
26
- COALESCE(s.messages->'normalized', s.messages)
27
- ) WITH ORDINALITY AS m(msg, ordinality)
28
- WHERE s.agent_id IN ('main', 'life', 'cc')
29
- AND s.user_count > 0
30
- ),
31
- question_turns AS (
32
- SELECT *,
33
- CASE
34
- WHEN content ~ '[\u4e00-\u9fff]' AND content ~ '[A-Za-z]' THEN 'mixed'
35
- WHEN content ~ '[\u4e00-\u9fff]' THEN 'zh'
36
- WHEN content ~ '[A-Za-z]' THEN 'en'
37
- ELSE 'other'
38
- END AS lang_bucket,
39
- row_number() OVER (PARTITION BY session_row_id ORDER BY turn_ordinal) AS seq_in_session
40
- FROM raw_turns
41
- WHERE role = 'user'
42
- AND content IS NOT NULL
43
- AND length(content) BETWEEN 4 AND 200
44
- AND (content ~ '[??]' OR content ~ '(嗎|呢|怎麼|如何|why|how|what|can you|could you)')
45
- ),
46
- first_questions AS (
47
- SELECT *
48
- FROM question_turns
49
- WHERE seq_in_session = 1
50
- AND lang_bucket IN ('mixed', 'zh', 'en')
51
- ),
52
- balanced AS (
53
- SELECT *,
54
- row_number() OVER (PARTITION BY agent_id, lang_bucket ORDER BY random()) AS bucket_rn
55
- FROM first_questions
56
- )
57
- SELECT
58
- session_row_id,
59
- session_id,
60
- agent_id,
61
- source,
62
- lang_bucket AS lang,
63
- content AS query_text
64
- FROM balanced
65
- WHERE
66
- (agent_id = 'main' AND lang_bucket = 'mixed' AND bucket_rn <= 4) OR
67
- (agent_id = 'main' AND lang_bucket = 'zh' AND bucket_rn <= 3) OR
68
- (agent_id = 'main' AND lang_bucket = 'en' AND bucket_rn <= 2) OR
69
- (agent_id = 'life' AND lang_bucket = 'mixed' AND bucket_rn <= 3) OR
70
- (agent_id = 'life' AND lang_bucket = 'zh' AND bucket_rn <= 2) OR
71
- (agent_id = 'life' AND lang_bucket = 'en' AND bucket_rn <= 2) OR
72
- (agent_id = 'cc' AND lang_bucket = 'mixed' AND bucket_rn <= 4) OR
73
- (agent_id = 'cc' AND lang_bucket = 'zh' AND bucket_rn <= 3) OR
74
- (agent_id = 'cc' AND lang_bucket = 'en' AND bucket_rn <= 2)
75
- ORDER BY agent_id, lang;