couchloop-eq-mcp 2.0.3 → 2.0.5
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/dist/clients/shrinkChatClient.d.ts +28 -28
- package/dist/db/client.d.ts +16 -19
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +52 -62
- package/dist/db/client.js.map +1 -1
- package/dist/resources/journey-status.d.ts.map +1 -1
- package/dist/resources/journey-status.js +10 -12
- package/dist/resources/journey-status.js.map +1 -1
- package/dist/resources/session-summary.d.ts.map +1 -1
- package/dist/resources/session-summary.js +33 -33
- package/dist/resources/session-summary.js.map +1 -1
- package/dist/resources/user-context.d.ts.map +1 -1
- package/dist/resources/user-context.js +26 -41
- package/dist/resources/user-context.js.map +1 -1
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +55 -27
- package/dist/server/sse.js.map +1 -1
- package/dist/tools/checkpoint.d.ts +1 -8
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +47 -49
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/correction-flow.d.ts +74 -0
- package/dist/tools/correction-flow.d.ts.map +1 -0
- package/dist/tools/correction-flow.js +205 -0
- package/dist/tools/correction-flow.js.map +1 -0
- package/dist/tools/generate-upgrade-report.d.ts +2 -2
- package/dist/tools/guard.d.ts +3 -3
- package/dist/tools/index.d.ts +2 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insight.d.ts +10 -49
- package/dist/tools/insight.d.ts.map +1 -1
- package/dist/tools/insight.js +78 -91
- package/dist/tools/insight.js.map +1 -1
- package/dist/tools/journey.d.ts +5 -5
- package/dist/tools/journey.d.ts.map +1 -1
- package/dist/tools/journey.js +47 -39
- package/dist/tools/journey.js.map +1 -1
- package/dist/tools/pre-review-code.d.ts +2 -2
- package/dist/tools/prevent-ai-errors.d.ts +1 -1
- package/dist/tools/primary-tools.d.ts +20 -0
- package/dist/tools/primary-tools.d.ts.map +1 -1
- package/dist/tools/primary-tools.js +179 -32
- package/dist/tools/primary-tools.js.map +1 -1
- package/dist/tools/protect-files.d.ts +1 -1
- package/dist/tools/sendMessage.d.ts.map +1 -1
- package/dist/tools/sendMessage.js +52 -38
- package/dist/tools/sendMessage.js.map +1 -1
- package/dist/tools/session-manager.d.ts.map +1 -1
- package/dist/tools/session-manager.js +88 -70
- package/dist/tools/session-manager.js.map +1 -1
- package/dist/tools/session.d.ts +7 -86
- package/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +68 -72
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/smart-context.d.ts +1 -1
- package/dist/tools/status.d.ts +9 -2
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +112 -63
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/verify.d.ts +2 -2
- package/dist/tools/verify.js.map +1 -1
- package/dist/types/auth.d.ts +2 -2
- package/dist/types/checkpoint.d.ts +4 -4
- package/dist/types/file-protection.d.ts +2 -2
- package/dist/types/insight.d.ts +10 -10
- package/dist/types/journey.d.ts +40 -12
- package/dist/types/journey.d.ts.map +1 -1
- package/dist/types/journey.js +2 -0
- package/dist/types/journey.js.map +1 -1
- package/dist/types/session.d.ts +8 -8
- package/dist/workflows/engine.d.ts +2 -2
- package/dist/workflows/engine.d.ts.map +1 -1
- package/dist/workflows/engine.js +81 -82
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/index.d.ts +4 -4
- package/package.json +2 -10
package/dist/workflows/engine.js
CHANGED
|
@@ -1,118 +1,117 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { sessions, journeys, checkpoints } from '../db/schema.js';
|
|
3
|
-
import { eq } from 'drizzle-orm';
|
|
1
|
+
import { getSupabaseClient, throwOnError } from '../db/supabase-helpers.js';
|
|
4
2
|
import { logger } from '../utils/logger.js';
|
|
5
3
|
export class WorkflowEngine {
|
|
6
|
-
|
|
7
|
-
get
|
|
8
|
-
if (!this.
|
|
9
|
-
this.
|
|
4
|
+
_supabase = null;
|
|
5
|
+
get supabase() {
|
|
6
|
+
if (!this._supabase) {
|
|
7
|
+
this._supabase = getSupabaseClient();
|
|
10
8
|
}
|
|
11
|
-
return this.
|
|
9
|
+
return this._supabase;
|
|
12
10
|
}
|
|
13
11
|
async initializeSession(userId, journeyId) {
|
|
14
|
-
const sessionResult = await this.
|
|
15
|
-
.
|
|
16
|
-
.
|
|
17
|
-
userId,
|
|
18
|
-
journeyId,
|
|
12
|
+
const sessionResult = throwOnError(await this.supabase
|
|
13
|
+
.from('sessions')
|
|
14
|
+
.insert({
|
|
15
|
+
user_id: userId,
|
|
16
|
+
journey_id: journeyId,
|
|
19
17
|
status: 'active',
|
|
20
|
-
|
|
18
|
+
current_step: 0,
|
|
21
19
|
metadata: {},
|
|
22
20
|
})
|
|
23
|
-
.
|
|
24
|
-
const session = sessionResult[0];
|
|
21
|
+
.select());
|
|
22
|
+
const session = (sessionResult ?? [])[0];
|
|
25
23
|
logger.info(`Initialized session ${session.id} for journey ${journeyId}`);
|
|
26
24
|
return session.id;
|
|
27
25
|
}
|
|
28
26
|
async getCurrentStep(sessionId) {
|
|
29
|
-
const
|
|
30
|
-
.
|
|
31
|
-
.
|
|
32
|
-
.
|
|
33
|
-
.
|
|
34
|
-
if (!session || !session.
|
|
27
|
+
const session = throwOnError(await this.supabase
|
|
28
|
+
.from('sessions')
|
|
29
|
+
.select('*')
|
|
30
|
+
.eq('id', sessionId)
|
|
31
|
+
.maybeSingle());
|
|
32
|
+
if (!session || !session.journey_id) {
|
|
35
33
|
return null;
|
|
36
34
|
}
|
|
37
|
-
const
|
|
38
|
-
.
|
|
39
|
-
.
|
|
40
|
-
.
|
|
41
|
-
.
|
|
35
|
+
const journey = throwOnError(await this.supabase
|
|
36
|
+
.from('journeys')
|
|
37
|
+
.select('*')
|
|
38
|
+
.eq('id', session.journey_id)
|
|
39
|
+
.maybeSingle());
|
|
42
40
|
if (!journey || !journey.steps) {
|
|
43
41
|
return null;
|
|
44
42
|
}
|
|
45
|
-
return journey.steps[session.
|
|
43
|
+
return journey.steps[session.current_step] ?? null;
|
|
46
44
|
}
|
|
47
45
|
async advanceStep(sessionId) {
|
|
48
|
-
const
|
|
49
|
-
.
|
|
50
|
-
.
|
|
51
|
-
.
|
|
52
|
-
.
|
|
53
|
-
if (!session || !session.
|
|
46
|
+
const session = throwOnError(await this.supabase
|
|
47
|
+
.from('sessions')
|
|
48
|
+
.select('*')
|
|
49
|
+
.eq('id', sessionId)
|
|
50
|
+
.maybeSingle());
|
|
51
|
+
if (!session || !session.journey_id) {
|
|
54
52
|
return { nextStep: null, isComplete: false };
|
|
55
53
|
}
|
|
56
|
-
const
|
|
57
|
-
.
|
|
58
|
-
.
|
|
59
|
-
.
|
|
60
|
-
.
|
|
54
|
+
const journey = throwOnError(await this.supabase
|
|
55
|
+
.from('journeys')
|
|
56
|
+
.select('*')
|
|
57
|
+
.eq('id', session.journey_id)
|
|
58
|
+
.maybeSingle());
|
|
61
59
|
if (!journey || !journey.steps) {
|
|
62
60
|
return { nextStep: null, isComplete: false };
|
|
63
61
|
}
|
|
64
|
-
const
|
|
65
|
-
|
|
62
|
+
const steps = journey.steps;
|
|
63
|
+
const nextStepIndex = session.current_step + 1;
|
|
64
|
+
if (nextStepIndex >= steps.length) {
|
|
66
65
|
// Journey is complete
|
|
67
|
-
await this.
|
|
68
|
-
.
|
|
69
|
-
.
|
|
66
|
+
throwOnError(await this.supabase
|
|
67
|
+
.from('sessions')
|
|
68
|
+
.update({
|
|
70
69
|
status: 'completed',
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
completed_at: new Date().toISOString(),
|
|
71
|
+
last_active_at: new Date().toISOString(),
|
|
73
72
|
})
|
|
74
|
-
.
|
|
73
|
+
.eq('id', sessionId));
|
|
75
74
|
logger.info(`Session ${sessionId} completed`);
|
|
76
75
|
return { nextStep: null, isComplete: true };
|
|
77
76
|
}
|
|
78
77
|
// Advance to next step
|
|
79
|
-
await this.
|
|
80
|
-
.
|
|
81
|
-
.
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
throwOnError(await this.supabase
|
|
79
|
+
.from('sessions')
|
|
80
|
+
.update({
|
|
81
|
+
current_step: nextStepIndex,
|
|
82
|
+
last_active_at: new Date().toISOString(),
|
|
84
83
|
})
|
|
85
|
-
.
|
|
86
|
-
const nextStep =
|
|
84
|
+
.eq('id', sessionId));
|
|
85
|
+
const nextStep = steps[nextStepIndex] ?? null;
|
|
87
86
|
logger.info(`Session ${sessionId} advanced to step ${nextStepIndex}`);
|
|
88
87
|
return { nextStep, isComplete: false };
|
|
89
88
|
}
|
|
90
89
|
async pauseSession(sessionId) {
|
|
91
|
-
await this.
|
|
92
|
-
.
|
|
93
|
-
.
|
|
90
|
+
throwOnError(await this.supabase
|
|
91
|
+
.from('sessions')
|
|
92
|
+
.update({
|
|
94
93
|
status: 'paused',
|
|
95
|
-
|
|
94
|
+
last_active_at: new Date().toISOString(),
|
|
96
95
|
})
|
|
97
|
-
.
|
|
96
|
+
.eq('id', sessionId));
|
|
98
97
|
logger.info(`Session ${sessionId} paused`);
|
|
99
98
|
}
|
|
100
99
|
async abandonSession(sessionId) {
|
|
101
|
-
await this.
|
|
102
|
-
.
|
|
103
|
-
.
|
|
100
|
+
throwOnError(await this.supabase
|
|
101
|
+
.from('sessions')
|
|
102
|
+
.update({
|
|
104
103
|
status: 'abandoned',
|
|
105
|
-
|
|
104
|
+
last_active_at: new Date().toISOString(),
|
|
106
105
|
})
|
|
107
|
-
.
|
|
106
|
+
.eq('id', sessionId));
|
|
108
107
|
logger.info(`Session ${sessionId} abandoned`);
|
|
109
108
|
}
|
|
110
109
|
async getSessionProgress(sessionId) {
|
|
111
|
-
const
|
|
112
|
-
.
|
|
113
|
-
.
|
|
114
|
-
.
|
|
115
|
-
.
|
|
110
|
+
const session = throwOnError(await this.supabase
|
|
111
|
+
.from('sessions')
|
|
112
|
+
.select('*')
|
|
113
|
+
.eq('id', sessionId)
|
|
114
|
+
.maybeSingle());
|
|
116
115
|
if (!session) {
|
|
117
116
|
return {
|
|
118
117
|
currentStep: 0,
|
|
@@ -122,28 +121,28 @@ export class WorkflowEngine {
|
|
|
122
121
|
};
|
|
123
122
|
}
|
|
124
123
|
let totalSteps = 0;
|
|
125
|
-
if (session.
|
|
126
|
-
const
|
|
127
|
-
.
|
|
128
|
-
.
|
|
129
|
-
.
|
|
130
|
-
.
|
|
124
|
+
if (session.journey_id) {
|
|
125
|
+
const journey = throwOnError(await this.supabase
|
|
126
|
+
.from('journeys')
|
|
127
|
+
.select('*')
|
|
128
|
+
.eq('id', session.journey_id)
|
|
129
|
+
.maybeSingle());
|
|
131
130
|
if (journey && journey.steps) {
|
|
132
131
|
totalSteps = journey.steps.length;
|
|
133
132
|
}
|
|
134
133
|
}
|
|
135
|
-
const sessionCheckpoints = await this.
|
|
136
|
-
.
|
|
137
|
-
.
|
|
138
|
-
.
|
|
134
|
+
const sessionCheckpoints = throwOnError(await this.supabase
|
|
135
|
+
.from('checkpoints')
|
|
136
|
+
.select('id')
|
|
137
|
+
.eq('session_id', sessionId));
|
|
139
138
|
const percentComplete = totalSteps > 0
|
|
140
|
-
? Math.round((session.
|
|
139
|
+
? Math.round((session.current_step / totalSteps) * 100)
|
|
141
140
|
: 0;
|
|
142
141
|
return {
|
|
143
|
-
currentStep: session.
|
|
142
|
+
currentStep: session.current_step,
|
|
144
143
|
totalSteps,
|
|
145
144
|
percentComplete,
|
|
146
|
-
checkpointCount: sessionCheckpoints.length,
|
|
145
|
+
checkpointCount: (sessionCheckpoints ?? []).length,
|
|
147
146
|
};
|
|
148
147
|
}
|
|
149
148
|
async canSkipCurrentStep(sessionId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,21 +5,21 @@ import { Journey } from '../types/journey.js';
|
|
|
5
5
|
export declare const journeyDefinitions: Journey[];
|
|
6
6
|
export declare const journeysBySlug: Map<string, {
|
|
7
7
|
name: string;
|
|
8
|
-
slug: string;
|
|
9
|
-
description: string;
|
|
10
8
|
steps: {
|
|
11
9
|
id: string;
|
|
10
|
+
type: "prompt" | "checkpoint" | "summary";
|
|
12
11
|
content: {
|
|
13
12
|
prompt?: string | undefined;
|
|
14
13
|
checkpoint_key?: string | undefined;
|
|
15
14
|
instructions?: string | undefined;
|
|
16
15
|
};
|
|
17
|
-
type: "prompt" | "checkpoint" | "summary";
|
|
18
16
|
optional: boolean;
|
|
19
17
|
order: number;
|
|
20
18
|
}[];
|
|
21
|
-
|
|
19
|
+
slug: string;
|
|
22
20
|
tags: string[];
|
|
21
|
+
description: string;
|
|
22
|
+
estimatedMinutes: number;
|
|
23
23
|
id?: string | undefined;
|
|
24
24
|
}>;
|
|
25
25
|
export { dailyReflection, gratitudePractice, weeklyReview };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "couchloop-eq-mcp",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "Behavioral governance layer for LLMs - monitors for hallucination, inconsistency, tone drift, and unsafe reasoning while managing stateful AI sessions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -53,13 +53,9 @@
|
|
|
53
53
|
"typecheck": "tsc --noEmit",
|
|
54
54
|
"traces": "echo 'OpenTelemetry traces available at http://localhost:16686' && open http://localhost:16686",
|
|
55
55
|
"metrics": "echo 'Metrics dashboard available at http://localhost:3000' && open http://localhost:3000",
|
|
56
|
-
"db:generate": "drizzle-kit generate:pg",
|
|
57
|
-
"db:push": "drizzle-kit push:pg",
|
|
58
|
-
"db:migrate": "tsx src/db/migrate.ts",
|
|
59
56
|
"db:seed": "tsx src/db/seed.ts",
|
|
60
|
-
"db:studio": "drizzle-kit studio",
|
|
61
57
|
"setup": "npm install && npm run build",
|
|
62
|
-
"setup:db": "npm run db:
|
|
58
|
+
"setup:db": "npm run db:seed",
|
|
63
59
|
"vercel": "vercel",
|
|
64
60
|
"vercel:prod": "vercel --prod",
|
|
65
61
|
"server": "tsx src/server/index.ts",
|
|
@@ -119,14 +115,11 @@
|
|
|
119
115
|
"bcryptjs": "^3.0.3",
|
|
120
116
|
"cookie-parser": "^1.4.7",
|
|
121
117
|
"dotenv": "^16.3.1",
|
|
122
|
-
"drizzle-orm": "^0.29.1",
|
|
123
118
|
"express": "^5.2.1",
|
|
124
119
|
"helmet": "^8.1.0",
|
|
125
120
|
"jose": "^5.2.0",
|
|
126
121
|
"jsonwebtoken": "^9.0.3",
|
|
127
122
|
"nanoid": "^5.0.4",
|
|
128
|
-
"pg": "^8.16.3",
|
|
129
|
-
"postgres": "^3.4.3",
|
|
130
123
|
"uuid": "^13.0.0",
|
|
131
124
|
"zod": "^3.22.4"
|
|
132
125
|
},
|
|
@@ -140,7 +133,6 @@
|
|
|
140
133
|
"@typescript-eslint/eslint-plugin": "^6.15.0",
|
|
141
134
|
"@typescript-eslint/parser": "^6.15.0",
|
|
142
135
|
"@vercel/node": "^3.0.0",
|
|
143
|
-
"drizzle-kit": "^0.31.8",
|
|
144
136
|
"eslint": "^8.56.0",
|
|
145
137
|
"tsx": "^4.6.2",
|
|
146
138
|
"typescript": "^5.3.3",
|