pi-mega-compact 0.9.2 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/extensions/dashboard-server/api-contracts/endpoints.js +95 -47
- package/dist/extensions/dashboard-server/api-contracts/index.js +1 -1
- package/dist/extensions/dashboard-server/api-contracts/turns.js +10 -0
- package/dist/extensions/dashboard-server/api-contracts.test.js +3 -2
- package/dist/extensions/dashboard-server/routes-topics.js +87 -0
- package/dist/extensions/dashboard-server/routes-turns.js +251 -0
- package/dist/extensions/dashboard-server/routes.js +3 -1
- package/dist/extensions/dashboard-server/server.js +6 -2
- package/dist/extensions/mega-compact.js +10 -6
- package/dist/extensions/mega-config.js +4 -0
- package/dist/extensions/mega-events/agent-handlers.js +62 -49
- package/dist/extensions/mega-events/context-handler.js +48 -2
- package/dist/extensions/mega-events/session-handlers.js +24 -0
- package/dist/extensions/mega-metrics-cmds.js +90 -0
- package/dist/extensions/mega-pipeline/recall.js +47 -17
- package/dist/extensions/mega-topics-cmds.js +111 -0
- package/dist/extensions/mega-turn-store.js +110 -0
- package/dist/extensions/mega-turn-store.test.js +68 -0
- package/dist/src/config/turns.js +48 -0
- package/dist/src/fork.js +33 -0
- package/dist/src/fork.test.js +81 -0
- package/dist/src/intent.js +51 -0
- package/dist/src/intent.test.js +78 -0
- package/dist/src/metrics/index.js +4 -0
- package/dist/src/metrics/turns.js +118 -0
- package/dist/src/metrics/turns.test.js +152 -0
- package/dist/src/store/sqlite/raw-transcript.js +5 -3
- package/dist/src/store/sqlite.dbmirror.test.js +9 -0
- package/dist/src/store/turns/connection.js +123 -0
- package/dist/src/store/turns/contract-compliance.test.js +428 -0
- package/dist/src/store/turns/index.js +31 -0
- package/dist/src/store/turns/memory-store.js +357 -0
- package/dist/src/store/turns/memory-store.test.js +9 -0
- package/dist/src/store/turns/migrations.js +178 -0
- package/dist/src/store/turns/migrations.test.js +138 -0
- package/dist/src/store/turns/schema.js +115 -0
- package/dist/src/store/turns/sqlite-store.js +455 -0
- package/dist/src/store/turns/sqlite-store.test.js +144 -0
- package/dist/src/store/turns/types.js +16 -0
- package/dist/src/topics/cluster.js +141 -0
- package/dist/src/topics/cluster.test.js +150 -0
- package/dist/src/topics/index.js +6 -0
- package/dist/src/topics/kselection.js +142 -0
- package/dist/src/topics/labels.js +56 -0
- package/dist/src/topics/store.js +119 -0
- package/dist/src/topics/store.test.js +117 -0
- package/dist/src/topics/types.js +8 -0
- package/dist/src/wiki.js +133 -0
- package/dist/src/wiki.test.js +171 -0
- package/extensions/dashboard-client/dist/assets/{AchievementTiles-QPo46Pwg.js → AchievementTiles-DUulvXUY.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{AchievementTiles-QPo46Pwg.js.map → AchievementTiles-DUulvXUY.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{AchievementsTab-BDJxRXRY.js → AchievementsTab-Dx0YtCNf.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{AchievementsTab-BDJxRXRY.js.map → AchievementsTab-Dx0YtCNf.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{CacheTab-CUMqXQjd.js → CacheTab-DtkaUo1v.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{CacheTab-CUMqXQjd.js.map → CacheTab-DtkaUo1v.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{ConfigTab-j1dRzurG.js → ConfigTab-CLa4KfiZ.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{ConfigTab-j1dRzurG.js.map → ConfigTab-CLa4KfiZ.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{EventsTab-CMglXK4p.js → EventsTab-Q6tEIBBi.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{EventsTab-CMglXK4p.js.map → EventsTab-Q6tEIBBi.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{GameTab-fpaDoyxi.js → GameTab-Hq7GNWSY.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{GameTab-fpaDoyxi.js.map → GameTab-Hq7GNWSY.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MetricsTab-CWG2crG_.js → MetricsTab-BtmBV6lU.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MetricsTab-CWG2crG_.js.map → MetricsTab-BtmBV6lU.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{OverviewTab-BaV2D2nf.js → OverviewTab-CL10PwVU.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{OverviewTab-BaV2D2nf.js.map → OverviewTab-CL10PwVU.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{ReposTab-C-0kuZ_0.js → ReposTab-DAwANwbI.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{ReposTab-C-0kuZ_0.js.map → ReposTab-DAwANwbI.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CSYhddCA.js → SessionsTab-Ec08TZRQ.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CSYhddCA.js.map → SessionsTab-Ec08TZRQ.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-Dy4KRjSM.js → TimeSavedCard-COb8dpTy.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-Dy4KRjSM.js.map → TimeSavedCard-COb8dpTy.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/TopicsTab-kvX3F3dY.js +2 -0
- package/extensions/dashboard-client/dist/assets/TopicsTab-kvX3F3dY.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/TurnsTab-CCUE73Aa.js +2 -0
- package/extensions/dashboard-client/dist/assets/TurnsTab-CCUE73Aa.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{index-D_WtU2TV.js → index-UMrussFX.js} +10 -10
- package/extensions/dashboard-client/dist/assets/index-UMrussFX.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{index-og3ghxyY.css → index-gn66lYD2.css} +1 -1
- package/extensions/dashboard-client/dist/assets/{useSSE-C9yVJlGP.js → useSSE-BDHZ7CeS.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{useSSE-C9yVJlGP.js.map → useSSE-BDHZ7CeS.js.map} +1 -1
- package/extensions/dashboard-client/dist/index.html +2 -2
- package/extensions/dashboard-client/src/App.tsx +10 -2
- package/extensions/dashboard-client/src/api/client.ts +84 -1
- package/extensions/dashboard-client/src/main.tsx +1 -0
- package/extensions/dashboard-client/src/styles/turns.css +142 -0
- package/extensions/dashboard-client/src/tabs/TopicsTab.tsx +185 -0
- package/extensions/dashboard-client/src/tabs/TurnsTab.tsx +326 -0
- package/extensions/dashboard-server/api-contracts/endpoints.ts +389 -291
- package/extensions/dashboard-server/api-contracts/game-types.ts +141 -88
- package/extensions/dashboard-server/api-contracts/index.ts +153 -133
- package/extensions/dashboard-server/api-contracts/turns.ts +114 -0
- package/extensions/dashboard-server/api-contracts.test.ts +920 -919
- package/extensions/dashboard-server/routes-topics.ts +119 -0
- package/extensions/dashboard-server/routes-turns.ts +282 -0
- package/extensions/dashboard-server/routes.ts +8 -1
- package/extensions/dashboard-server/server.ts +6 -2
- package/extensions/mega-compact.ts +75 -59
- package/extensions/mega-config.ts +232 -220
- package/extensions/mega-events/agent-handlers.ts +194 -151
- package/extensions/mega-events/context-handler.ts +50 -1
- package/extensions/mega-events/session-handlers.ts +23 -0
- package/extensions/mega-metrics-cmds.ts +114 -0
- package/extensions/mega-pipeline/recall.ts +215 -152
- package/extensions/mega-topics-cmds.ts +151 -0
- package/extensions/mega-turn-store.test.ts +108 -0
- package/extensions/mega-turn-store.ts +169 -0
- package/package.json +3 -1
- package/src/config/turns.ts +69 -0
- package/src/fork.test.ts +94 -0
- package/src/fork.ts +78 -0
- package/src/intent.test.ts +87 -0
- package/src/intent.ts +115 -0
- package/src/metrics/index.ts +9 -0
- package/src/metrics/turns.test.ts +165 -0
- package/src/metrics/turns.ts +201 -0
- package/src/store/sqlite/raw-transcript.ts +9 -3
- package/src/store/sqlite.dbmirror.test.ts +10 -0
- package/src/store/turns/connection.ts +137 -0
- package/src/store/turns/contract-compliance.test.ts +562 -0
- package/src/store/turns/index.ts +65 -0
- package/src/store/turns/memory-store.test.ts +15 -0
- package/src/store/turns/memory-store.ts +469 -0
- package/src/store/turns/migrations.test.ts +161 -0
- package/src/store/turns/migrations.ts +203 -0
- package/src/store/turns/schema.ts +158 -0
- package/src/store/turns/sqlite-store.test.ts +161 -0
- package/src/store/turns/sqlite-store.ts +656 -0
- package/src/store/turns/types.ts +181 -0
- package/src/topics/cluster.test.ts +176 -0
- package/src/topics/cluster.ts +191 -0
- package/src/topics/index.ts +18 -0
- package/src/topics/kselection.ts +182 -0
- package/src/topics/labels.ts +67 -0
- package/src/topics/store.test.ts +132 -0
- package/src/topics/store.ts +208 -0
- package/src/topics/types.ts +64 -0
- package/src/wiki.test.ts +217 -0
- package/src/wiki.ts +198 -0
- package/dist/extensions/openclaw-mega-compact.js +0 -291
- package/dist/src/minilm.js +0 -92
- package/dist/src/wordpiece.js +0 -129
- package/extensions/dashboard-client/dist/assets/index-D_WtU2TV.js.map +0 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* api-contracts/turns.ts — S52 turn-by-turn memory tracking + recall contracts.
|
|
3
|
+
*
|
|
4
|
+
* The dashboard Turns tab surfaces the S49/S50/S51 data spine: per-conversation
|
|
5
|
+
* turn lists with per-turn metrics (ctx tokens/percent, recall hits, dedup,
|
|
6
|
+
* compression, epoch) and per-turn recall provenance (which checkpoints were
|
|
7
|
+
* injected at each turn), plus the S52 rewind-intent queue. Read-mostly via
|
|
8
|
+
* `asReader()`; prune/vacuum via `asAdmin()`; fork/intent via the queue.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** One turn row with its provenance + metrics (per-conversation). */
|
|
12
|
+
export interface TurnRow {
|
|
13
|
+
turnIndex: number;
|
|
14
|
+
conversationId: string;
|
|
15
|
+
sessionId: string;
|
|
16
|
+
role: "user" | "assistant" | "system" | "tool";
|
|
17
|
+
endedAt: number;
|
|
18
|
+
ctxTokens: number | null;
|
|
19
|
+
ctxPercent: number | null;
|
|
20
|
+
pressureBand: "green" | "yellow" | "red" | null;
|
|
21
|
+
model: string | null;
|
|
22
|
+
epochId: string | null;
|
|
23
|
+
/** Checkpoints/summaries injected this turn. */
|
|
24
|
+
recall: RecallHit[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** A recall hit recorded for a turn (provenance). */
|
|
28
|
+
export interface RecallHit {
|
|
29
|
+
checkpointId: string;
|
|
30
|
+
score: number;
|
|
31
|
+
source: "checkpoint" | "cluster_summary" | "memory";
|
|
32
|
+
raptorLevel: number | null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Conversation rollup in the turns tab list. */
|
|
36
|
+
export interface ConversationSummary {
|
|
37
|
+
conversationId: string;
|
|
38
|
+
turnCount: number;
|
|
39
|
+
firstTurnAt: number;
|
|
40
|
+
lastTurnAt: number;
|
|
41
|
+
avgCtxPercent: number;
|
|
42
|
+
/** Distinct epochs that compacted this conversation's turns. */
|
|
43
|
+
epochCount: number;
|
|
44
|
+
/** Sum of recall hits across all turns. */
|
|
45
|
+
totalRecall: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** GET /api/turns — the Turns tab payload. */
|
|
49
|
+
export interface TurnsResponse {
|
|
50
|
+
conversations: ConversationSummary[];
|
|
51
|
+
/** The active conversation (most recent turn) pre-expanded, or null. */
|
|
52
|
+
activeConversationId: string | null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** GET /api/turns/:conversationId — per-turn detail for one conversation. */
|
|
56
|
+
export interface ConversationTurnsResponse {
|
|
57
|
+
conversationId: string;
|
|
58
|
+
turns: TurnRow[];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** GET /api/turns/intents — pending rewind intents (S52A). */
|
|
62
|
+
export interface RewindIntentsResponse {
|
|
63
|
+
intents: Array<{
|
|
64
|
+
id: string;
|
|
65
|
+
conversationId: string;
|
|
66
|
+
targetTurnIndex: number;
|
|
67
|
+
createdAt: number;
|
|
68
|
+
status: "pending" | "consumed";
|
|
69
|
+
}>;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** POST /api/fork — fork a conversation at a turn. */
|
|
73
|
+
export interface ForkRequest {
|
|
74
|
+
conversationId: string;
|
|
75
|
+
turnIndex: number;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** POST /api/fork response. */
|
|
79
|
+
export interface ForkResponse {
|
|
80
|
+
childConversationId: string;
|
|
81
|
+
recalledCount: number;
|
|
82
|
+
checkpointIds: string[];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** POST /api/turns/intent — post a rewind intent. */
|
|
86
|
+
export interface PostIntentRequest {
|
|
87
|
+
conversationId: string;
|
|
88
|
+
targetTurnIndex: number;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** POST /api/turns/prune — admin prune (capability-gated). */
|
|
92
|
+
export interface PruneRequest {
|
|
93
|
+
maxTurnAgeMs: number;
|
|
94
|
+
keepMinPerConversation?: number;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** POST /api/turns/prune response. */
|
|
98
|
+
export interface PruneTurnsResponse {
|
|
99
|
+
turnsRemoved: number;
|
|
100
|
+
recallRemoved: number;
|
|
101
|
+
branchesPreserved: number;
|
|
102
|
+
freedBytes: number;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** GET /api/topics/:topicId/memories — drill-down: member memories of a wiki topic (S52). */
|
|
106
|
+
export interface TopicMemoriesResponse {
|
|
107
|
+
topicId: string;
|
|
108
|
+
label: string;
|
|
109
|
+
assignments: Array<{
|
|
110
|
+
memoryId: string;
|
|
111
|
+
confidence: number | null;
|
|
112
|
+
assignedAt: number | null;
|
|
113
|
+
}>;
|
|
114
|
+
}
|