@rubytech/create-realagent 1.0.707 → 1.0.710
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/package.json +1 -1
- package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts +53 -0
- package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/mcp-spawn-tee/dist/index.js +132 -0
- package/payload/platform/lib/mcp-spawn-tee/dist/index.js.map +1 -0
- package/payload/platform/lib/mcp-spawn-tee/src/index.ts +134 -0
- package/payload/platform/lib/mcp-spawn-tee/tsconfig.json +8 -0
- package/payload/platform/lib/oauth-llm/dist/index.d.ts +101 -0
- package/payload/platform/lib/oauth-llm/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/oauth-llm/dist/index.js +353 -0
- package/payload/platform/lib/oauth-llm/dist/index.js.map +1 -0
- package/payload/platform/lib/oauth-llm/src/index.ts +526 -0
- package/payload/platform/lib/oauth-llm/tsconfig.json +8 -0
- package/payload/platform/neo4j/schema.cypher +37 -11
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/admin/mcp/dist/index.js +9 -9
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/business-profile/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/onboarding/SKILL.md +5 -10
- package/payload/platform/plugins/docs/references/plugins-guide.md +12 -4
- package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +3 -3
- package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.js +12 -12
- package/payload/platform/plugins/email/mcp/dist/lib/screening.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +14 -28
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +9 -19
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/index.js +46 -18
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +34 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js +22 -18
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js +4 -4
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +98 -24
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +176 -86
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +12 -46
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +10 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +22 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +24 -12
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +27 -11
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +276 -238
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/package.json +3 -1
- package/payload/platform/plugins/memory/mcp/scripts/boot-smoke.sh +69 -0
- package/payload/platform/plugins/memory/references/graph-primitives.md +22 -0
- package/payload/platform/plugins/memory/references/schema-base.md +67 -15
- package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +53 -20
- package/payload/platform/templates/specialists/agents/database-operator.md +18 -0
- package/payload/server/chunk-A5K3CFMI.js +12297 -0
- package/payload/server/chunk-Y57ACANQ.js +12292 -0
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/server.js +25 -44
|
@@ -115,10 +115,18 @@ After this, every `console.error("[your-tool] ...")` from any tool in the plugin
|
|
|
115
115
|
|
|
116
116
|
**Main-subprocess stderr (Task 535).** The same teeing pattern applies to the main Claude Code subprocess's stderr — every line lands in the per-conversation stream log as `[subproc-stderr] …`, with lifecycle markers `[subproc-stderr-tee-attached] pid=…` and `[subproc-stderr-tee-detached] pid=… bytes=N lines=N`. A `bytes=0 lines=0` detach means the tee was attached but the subprocess emitted nothing on stderr — which is the normal state today, because the Claude Code CLI is a bundled Bun runtime binary that does not honour Node's `NODE_DEBUG` env var. The platform records this explicitly with one line per spawn: `[subproc-debug-unavailable] reason=bundled-bun-binary-ignores-node-debug pid=… cli=claude`. A reader who finds a `[spawn]` without these markers should treat that as a regression of the tee infrastructure, not as silence.
|
|
117
117
|
|
|
118
|
-
## Failure-path observability contract (Task 560)
|
|
118
|
+
## Failure-path observability contract (Task 560 + Task 743)
|
|
119
119
|
|
|
120
|
-
The `initStderrTee` wrapper writes to the per-conversation stream log and per-server raw file via `createWriteStream` — async, buffered. Any diagnostic `console.error(…)` followed by an immediate `process.exit(…)` is lost: the event loop never drains the WriteStream before the process terminates.
|
|
120
|
+
The `initStderrTee` wrapper writes to the per-conversation stream log and per-server raw file via `createWriteStream` — async, buffered. Any diagnostic `console.error(…)` followed by an immediate `process.exit(…)` is lost: the event loop never drains the WriteStream before the process terminates. Same race for any synchronous module-load throw: Node's uncaught-exception handler writes the stack to raw fd 2 and exits before the patched async stream flushes. The platform's `[mcp-init-error] tail="(no stderr file)"` line — operationally useless — is the public symptom of this race.
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
**Two layers now close the gap, each load-bearing on its own:**
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
1. **Plugin-side sync-write discipline.** Plugins that call `process.exit()` during module load (rare — `graph-mcp` is the in-tree example; it spawns a child at boot to proxy upstream stdio) use `fs.appendFileSync` at every named exit path to guarantee the cause lands in both log destinations before exit. Lines follow the `[mcp:<name>] [<plugin-prefix>] <cause>` format so existing `grep '[mcp:<name>]'` investigator paths work. Each destination is wrapped in its own try/catch — an unwritable log must not mask the primary failure. This is the discipline propagated from Task 560 to any plugin author who knows their failure paths.
|
|
125
|
+
|
|
126
|
+
2. **Parent-side `mcp-spawn-tee` wrapper (Task 743).** Every node-based core MCP server is spawned via the `lib/mcp-spawn-tee` wrapper rather than `node <entry>` directly. The wrapper spawns the real entry with `stdio: ['inherit', 'inherit', 'pipe']` and writes child stderr chunks to `${LOG_DIR}/mcp-${name}-stderr-<date>.log` via `appendFileSync` while passing the same chunks through to its own stderr (Claude Code's consumer is unchanged). Synchronous `appendFileSync` survives `process.exit`, so the per-server file captures even (a) module-load throws before `initStderrTee` runs, (b) `MODULE_NOT_FOUND` on the entry script itself, and (c) anything else a plugin author missed. The wrapper writes `[mcp-spawn-tee-attached] server=<name> pid=<n>` on attach and forwards SIGTERM/SIGINT to the child. This is the layer that makes capture independent of plugin discipline. Playwright stays unwrapped because it spawns via `npx`, not `node`.
|
|
127
|
+
|
|
128
|
+
A third layer closes the same gap from the platform side: when `claude-agent.ts` observes an `init` event with any MCP server reporting `status:"failed"`, it reads the last 512 bytes of `${LOG_DIR}/mcp-<name>-stderr-<date>.log` and emits `[mcp-init-error] server=<name> tail=<quoted>` into the stream log. Absent file → `tail="(no stderr file)"`; empty file → `tail="(empty)"`. With the spawn-tee wrapper now interposing on every core MCP, `tail="(no stderr file)"` post-Task-743 means the wrapper itself is broken — file follow-up.
|
|
129
|
+
|
|
130
|
+
**Signal inventory after a failed session:** `[init] FAILED MCP servers: <names>` (names), `[mcp-init-error] server=<name> tail=…` (cause for each, from the platform's tail probe), `[mcp-spawn-tee-attached] server=<name> pid=<n>` (proof the wrapper attached), `[mcp-spawn-tee-exit] server=<name> code=<n>|signal=<s>` (proof the wrapper saw the exit), and optionally `[mcp:<name>] [<plugin>] …` from plugin-side sync-writes. Their union gives the investigator three independent sources for the same failure.
|
|
131
|
+
|
|
132
|
+
**Boot-smoke as publish-time gate (Task 743).** The memory MCP carries `scripts/boot-smoke.sh` that spawns `dist/index.js` with stub env, sleeps 2s, asserts `kill -0 <pid>`, and reports `[boot-smoke] memory ok|FAILED tail=<n-lines>`. Wired to `prepublish` in `plugins/memory/mcp/package.json`. The pattern is propagatable to other plugin MCPs — it's deliberately not generalised yet because each plugin's stub-env requirements differ (memory needs ACCOUNT_ID + PLATFORM_ROOT + NEO4J_URI + SESSION_ID; others differ).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Email screening via Claude Haiku.
|
|
2
|
+
* Email screening via Claude Haiku (Task 740: OAuth, never API key — admin path).
|
|
3
3
|
*
|
|
4
4
|
* Classifies inbound emails before they enter Neo4j. Verdicts:
|
|
5
5
|
* clean — legitimate correspondence, store normally
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* discard — obvious spam / bulk marketing / auto-generated noise, store without embedding
|
|
8
8
|
*
|
|
9
9
|
* On any failure the email defaults to "suspicious" (deny by default).
|
|
10
|
-
*
|
|
10
|
+
* Auth: runs on Claude Code OAuth via `callOauthLlm`.
|
|
11
11
|
*/
|
|
12
12
|
export interface ScreeningInput {
|
|
13
13
|
fromAddress: string;
|
|
@@ -25,5 +25,5 @@ export interface ScreeningResult {
|
|
|
25
25
|
* On any failure (network, auth, malformed response), returns
|
|
26
26
|
* { verdict: "suspicious", reason: "<error>", promptInjectionRisk: false }.
|
|
27
27
|
*/
|
|
28
|
-
export declare function screenEmail(input: ScreeningInput
|
|
28
|
+
export declare function screenEmail(input: ScreeningInput): Promise<ScreeningResult>;
|
|
29
29
|
//# sourceMappingURL=screening.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screening.d.ts","sourceRoot":"","sources":["../../src/lib/screening.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAsCD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"screening.d.ts","sourceRoot":"","sources":["../../src/lib/screening.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAsCD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,eAAe,CAAC,CA+D1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Email screening via Claude Haiku.
|
|
2
|
+
* Email screening via Claude Haiku (Task 740: OAuth, never API key — admin path).
|
|
3
3
|
*
|
|
4
4
|
* Classifies inbound emails before they enter Neo4j. Verdicts:
|
|
5
5
|
* clean — legitimate correspondence, store normally
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* discard — obvious spam / bulk marketing / auto-generated noise, store without embedding
|
|
8
8
|
*
|
|
9
9
|
* On any failure the email defaults to "suspicious" (deny by default).
|
|
10
|
-
*
|
|
10
|
+
* Auth: runs on Claude Code OAuth via `callOauthLlm`.
|
|
11
11
|
*/
|
|
12
|
-
import
|
|
12
|
+
import { callOauthLlm } from "../../../../../lib/oauth-llm/dist/index.js";
|
|
13
13
|
import { HAIKU_MODEL } from "../../../../../lib/models/dist/index.js";
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
// Classification prompt
|
|
@@ -46,9 +46,8 @@ function suspiciousDefault(reason) {
|
|
|
46
46
|
* On any failure (network, auth, malformed response), returns
|
|
47
47
|
* { verdict: "suspicious", reason: "<error>", promptInjectionRisk: false }.
|
|
48
48
|
*/
|
|
49
|
-
export async function screenEmail(input
|
|
49
|
+
export async function screenEmail(input) {
|
|
50
50
|
try {
|
|
51
|
-
const client = new Anthropic({ apiKey });
|
|
52
51
|
const preview = input.bodyPreview.slice(0, 1024);
|
|
53
52
|
const userMessage = [
|
|
54
53
|
`From: ${input.fromName ? `${input.fromName} <${input.fromAddress}>` : input.fromAddress}`,
|
|
@@ -56,19 +55,20 @@ export async function screenEmail(input, apiKey) {
|
|
|
56
55
|
`Body preview:`,
|
|
57
56
|
preview || "(empty)",
|
|
58
57
|
].join("\n");
|
|
59
|
-
const
|
|
58
|
+
const llmResult = await callOauthLlm({
|
|
60
59
|
model: HAIKU_MODEL,
|
|
61
|
-
max_tokens: 256,
|
|
62
60
|
system: CLASSIFICATION_PROMPT,
|
|
63
|
-
|
|
61
|
+
userMessage,
|
|
62
|
+
maxTokens: 256,
|
|
64
63
|
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
if (llmResult.kind === "fallback") {
|
|
65
|
+
return suspiciousDefault(`Classifier unavailable: ${llmResult.cause}`);
|
|
66
|
+
}
|
|
67
|
+
if (!llmResult.text.trim()) {
|
|
68
68
|
return suspiciousDefault("Haiku returned empty response");
|
|
69
69
|
}
|
|
70
70
|
// Parse JSON — extract from possible markdown fencing
|
|
71
|
-
let jsonText =
|
|
71
|
+
let jsonText = llmResult.text.trim();
|
|
72
72
|
const fenceMatch = jsonText.match(/```(?:json)?\s*([\s\S]*?)```/);
|
|
73
73
|
if (fenceMatch) {
|
|
74
74
|
jsonText = fenceMatch[1].trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screening.js","sourceRoot":"","sources":["../../src/lib/screening.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"screening.js","sourceRoot":"","sources":["../../src/lib/screening.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAmBtE,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,+EAA+E;AAC/E,mFAAmF;AACnF,mFAAmF;AACnF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;mJAaqH,CAAC;AAEpJ,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,uCAAuC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB;IAErB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG;YAClB,SAAS,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;YAC1F,YAAY,KAAK,CAAC,OAAO,EAAE;YAC3B,eAAe;YACf,OAAO,IAAI,SAAS;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;YACnC,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,qBAAqB;YAC7B,WAAW;YACX,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,iBAAiB,CAAC,2BAA2B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,OAAO,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;QAC5D,CAAC;QAED,sDAAsD;QACtD,IAAI,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClE,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iBAAiB,CAAC,kCAAkC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,qBAAqB;QACrB,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EACtB,CAAC;YACD,OAAO,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE5B,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,iBAAiB,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,OAAO;YACP,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB;YAC1E,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,KAAK,IAAI;SACtD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,iBAAiB,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* │ └── Circuit breaker (3 fails → disable + Task node) │
|
|
35
35
|
* └─────────────────────────────────────────────────────────────────┘
|
|
36
36
|
*/
|
|
37
|
-
import
|
|
37
|
+
import { callOauthLlm } from "../../../../../lib/oauth-llm/dist/index.js";
|
|
38
38
|
import neo4j from "neo4j-driver";
|
|
39
39
|
import { randomUUID } from "node:crypto";
|
|
40
40
|
import { readFileSync, writeFileSync, existsSync, unlinkSync, mkdirSync, appendFileSync } from "node:fs";
|
|
@@ -44,7 +44,6 @@ import { fetchForAutoRespond } from "../lib/imap.js";
|
|
|
44
44
|
import { sendEmail } from "../lib/smtp.js";
|
|
45
45
|
import { readPassword } from "../lib/credentials.js";
|
|
46
46
|
import { storeOutboundEmail, stripAngleBrackets } from "../lib/graph.js";
|
|
47
|
-
import { readKey } from "../../../../../lib/anthropic-key/dist/index.js";
|
|
48
47
|
import { HAIKU_MODEL } from "../../../../../lib/models/dist/index.js";
|
|
49
48
|
import { writeNodeWithEdges } from "../../../../../lib/graph-write/dist/index.js";
|
|
50
49
|
/**
|
|
@@ -551,7 +550,7 @@ async function createRateLimitTask(driver, accountId, limitType, count, limit) {
|
|
|
551
550
|
// ---------------------------------------------------------------------------
|
|
552
551
|
// Process a single email
|
|
553
552
|
// ---------------------------------------------------------------------------
|
|
554
|
-
async function processEmail(msg, systemPrompt, emailConfig, emailPassword,
|
|
553
|
+
async function processEmail(msg, systemPrompt, emailConfig, emailPassword, agentModel, driver, accountId) {
|
|
555
554
|
// Build the user message from the email
|
|
556
555
|
const userMessage = [
|
|
557
556
|
`From: ${msg.from}`,
|
|
@@ -560,24 +559,18 @@ async function processEmail(msg, systemPrompt, emailConfig, emailPassword, apiKe
|
|
|
560
559
|
"",
|
|
561
560
|
msg.body,
|
|
562
561
|
].join("\n");
|
|
563
|
-
// Call
|
|
564
|
-
const
|
|
565
|
-
const response = await client.messages.create({
|
|
562
|
+
// Call agent via OAuth (Task 740: admin path, never API key).
|
|
563
|
+
const llmResult = await callOauthLlm({
|
|
566
564
|
model: agentModel,
|
|
567
|
-
max_tokens: 1024,
|
|
568
565
|
system: systemPrompt,
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
role: "user",
|
|
572
|
-
content: `<incoming-email>\n${userMessage}\n</incoming-email>`,
|
|
573
|
-
},
|
|
574
|
-
],
|
|
566
|
+
userMessage: `<incoming-email>\n${userMessage}\n</incoming-email>`,
|
|
567
|
+
maxTokens: 1024,
|
|
575
568
|
});
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
569
|
+
if (llmResult.kind === "fallback") {
|
|
570
|
+
log("warn", `Auto-respond unavailable for UID ${msg.uid} from ${msg.from}: ${llmResult.cause} — ${llmResult.reason}`);
|
|
571
|
+
return;
|
|
572
|
+
}
|
|
573
|
+
const replyText = llmResult.text;
|
|
581
574
|
if (!replyText.trim()) {
|
|
582
575
|
log("warn", `Empty response from agent for email UID ${msg.uid} from ${msg.from}`);
|
|
583
576
|
return;
|
|
@@ -641,7 +634,7 @@ async function processEmail(msg, systemPrompt, emailConfig, emailPassword, apiKe
|
|
|
641
634
|
// ---------------------------------------------------------------------------
|
|
642
635
|
// Process a single account
|
|
643
636
|
// ---------------------------------------------------------------------------
|
|
644
|
-
async function processAccount(account, driver
|
|
637
|
+
async function processAccount(account, driver) {
|
|
645
638
|
const { accountId, config: emailConfig, autoRespond: arConfig } = account;
|
|
646
639
|
// Check poll interval
|
|
647
640
|
if (arConfig.lastPollAt) {
|
|
@@ -831,7 +824,7 @@ async function processAccount(account, driver, apiKey) {
|
|
|
831
824
|
break;
|
|
832
825
|
}
|
|
833
826
|
try {
|
|
834
|
-
await processEmail(msg, systemPrompt, emailConfig, emailPassword,
|
|
827
|
+
await processEmail(msg, systemPrompt, emailConfig, emailPassword, agentModel, driver, accountId);
|
|
835
828
|
await updateLastRespondedUid(driver, accountId, msg.uid);
|
|
836
829
|
await incrementSendCounters(driver, accountId);
|
|
837
830
|
rateLimitState.sentThisHour++;
|
|
@@ -862,13 +855,6 @@ async function main() {
|
|
|
862
855
|
if (!acquireLock()) {
|
|
863
856
|
return; // Another instance is running
|
|
864
857
|
}
|
|
865
|
-
// Read API key
|
|
866
|
-
const apiKey = readKey();
|
|
867
|
-
if (!apiKey) {
|
|
868
|
-
log("error", "Anthropic API key not available — cannot process auto-respond");
|
|
869
|
-
releaseLock();
|
|
870
|
-
return;
|
|
871
|
-
}
|
|
872
858
|
let driver = null;
|
|
873
859
|
try {
|
|
874
860
|
driver = connectNeo4j();
|
|
@@ -880,7 +866,7 @@ async function main() {
|
|
|
880
866
|
log("info", `Processing ${accounts.length} auto-respond account(s)`);
|
|
881
867
|
for (const account of accounts) {
|
|
882
868
|
try {
|
|
883
|
-
await processAccount(account, driver
|
|
869
|
+
await processAccount(account, driver);
|
|
884
870
|
}
|
|
885
871
|
catch (err) {
|
|
886
872
|
log("error", `Unexpected error processing account ${account.accountId}: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-auto-respond.js","sourceRoot":"","sources":["../../src/scripts/email-auto-respond.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"email-auto-respond.js","sourceRoot":"","sources":["../../src/scripts/email-auto-respond.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ import { fetchSinceUid } from "../lib/imap.js";
|
|
|
29
29
|
import { storeEmails } from "../lib/graph.js";
|
|
30
30
|
import { closeDriver } from "../lib/neo4j.js";
|
|
31
31
|
import { screenEmail } from "../lib/screening.js";
|
|
32
|
-
import { readKey } from "../../../../../lib/anthropic-key/dist/index.js";
|
|
33
32
|
// ---------------------------------------------------------------------------
|
|
34
33
|
// Brand-aware config directory — reads configDir from brand.json stamped at install time.
|
|
35
34
|
// No fallback: if brand.json is missing or incomplete, the platform wasn't properly installed.
|
|
@@ -161,29 +160,20 @@ async function main() {
|
|
|
161
160
|
await updatePollState(accountId, maxUid || sinceUid, uidValidity);
|
|
162
161
|
return;
|
|
163
162
|
}
|
|
164
|
-
//
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
log("WARN", "Anthropic API key not available — all emails will default to suspicious");
|
|
168
|
-
}
|
|
169
|
-
// Classify each email via Haiku, then convert to EmailData for graph storage
|
|
163
|
+
// Classify each email via Haiku (Task 740: OAuth, never API key — admin path).
|
|
164
|
+
// screenEmail handles auth internally via callOauthLlm and degrades to
|
|
165
|
+
// "suspicious" on any failure, so no pre-flight key check is needed here.
|
|
170
166
|
const emailData = [];
|
|
171
167
|
let countClean = 0;
|
|
172
168
|
let countSuspicious = 0;
|
|
173
169
|
let countDiscard = 0;
|
|
174
170
|
for (const e of emails) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
bodyPreview: e.bodyPreview,
|
|
182
|
-
}, apiKey);
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
screening = { verdict: "suspicious", reason: "API key unavailable", promptInjectionRisk: false };
|
|
186
|
-
}
|
|
171
|
+
const screening = await screenEmail({
|
|
172
|
+
fromAddress: e.fromAddress,
|
|
173
|
+
fromName: e.fromName,
|
|
174
|
+
subject: e.subject,
|
|
175
|
+
bodyPreview: e.bodyPreview,
|
|
176
|
+
});
|
|
187
177
|
// Map verdict to storage value ("discard" → "discarded" on the node)
|
|
188
178
|
const storageVerdict = screening.verdict === "discard" ? "discarded" : screening.verdict;
|
|
189
179
|
log("INFO", `classified ${e.fromAddress} — verdict=${screening.verdict} reason="${screening.reason}" pi=${screening.promptInjectionRisk}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/scripts/email-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAwB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/scripts/email-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,9 +102,18 @@ const userId = process.env.USER_ID; // Optional — present for admin sessions w
|
|
|
102
102
|
const allowedScopes = process.env.ALLOWED_SCOPES
|
|
103
103
|
? process.env.ALLOWED_SCOPES.split(",").map((s) => s.trim()).filter(Boolean)
|
|
104
104
|
: undefined;
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
|
|
105
|
+
// Per-handler session resolution (Task 740). Module-load env capture was
|
|
106
|
+
// wrong: when the admin agent didn't set SESSION_ID on MCP spawn, `sessionId`
|
|
107
|
+
// was undefined for the entire process lifetime — every subsequent
|
|
108
|
+
// `createdBySession` write was empty. Read per-handler so the env value
|
|
109
|
+
// (now set in claude-agent.ts:3107 baseEnv) is observed at call time, and
|
|
110
|
+
// allow per-call override via tool argument when an agent has better info.
|
|
111
|
+
function resolveSessionId(override) {
|
|
112
|
+
if (override && override.trim())
|
|
113
|
+
return override.trim();
|
|
114
|
+
const fromEnv = process.env.SESSION_ID;
|
|
115
|
+
return fromEnv && fromEnv.trim() ? fromEnv.trim() : undefined;
|
|
116
|
+
}
|
|
108
117
|
// Per-agent knowledge scoping: when set, memory-search only returns nodes whose
|
|
109
118
|
// `agents` array contains this slug. For public agents, set via env var (server-level
|
|
110
119
|
// enforcement). For admin queries, passed as an optional tool param.
|
|
@@ -429,7 +438,7 @@ if (!readOnly) {
|
|
|
429
438
|
relationships,
|
|
430
439
|
createdBy: {
|
|
431
440
|
agent: envAgentSlug,
|
|
432
|
-
session:
|
|
441
|
+
session: resolveSessionId(),
|
|
433
442
|
tool: "memory-write",
|
|
434
443
|
},
|
|
435
444
|
validator,
|
|
@@ -523,13 +532,14 @@ if (!readOnly) {
|
|
|
523
532
|
// admin Conversation" which would cross-attach a summary to an
|
|
524
533
|
// unrelated session hours later (reviewer flagged this as silent
|
|
525
534
|
// provenance corruption).
|
|
526
|
-
|
|
535
|
+
const sessionIdForCompact = resolveSessionId();
|
|
536
|
+
if (!sessionIdForCompact) {
|
|
527
537
|
throw new Error("session-compact requires SESSION_ID — the tool must be invoked inside an admin session so the summary can link back to its Conversation.");
|
|
528
538
|
}
|
|
529
539
|
const lookupSession = getSession();
|
|
530
540
|
let conversationElementId = null;
|
|
531
541
|
try {
|
|
532
|
-
const r = await lookupSession.run(`MATCH (c:Conversation {sessionKey: $sessionId, accountId: $accountId}) RETURN elementId(c) AS id LIMIT 1`, { sessionId, accountId });
|
|
542
|
+
const r = await lookupSession.run(`MATCH (c:Conversation {sessionKey: $sessionId, accountId: $accountId}) RETURN elementId(c) AS id LIMIT 1`, { sessionId: sessionIdForCompact, accountId });
|
|
533
543
|
if (r.records.length > 0) {
|
|
534
544
|
conversationElementId = r.records[0].get("id");
|
|
535
545
|
}
|
|
@@ -538,7 +548,7 @@ if (!readOnly) {
|
|
|
538
548
|
await lookupSession.close();
|
|
539
549
|
}
|
|
540
550
|
if (!conversationElementId) {
|
|
541
|
-
throw new Error(`session-compact: no Conversation found with sessionKey=${
|
|
551
|
+
throw new Error(`session-compact: no Conversation found with sessionKey=${sessionIdForCompact} in this account. Cannot link summary — refuse rather than create an orphan.`);
|
|
542
552
|
}
|
|
543
553
|
const title = `Session Summary ${new Date().toISOString().slice(0, 10)}`;
|
|
544
554
|
const result = await memoryWrite({
|
|
@@ -555,7 +565,7 @@ if (!readOnly) {
|
|
|
555
565
|
],
|
|
556
566
|
createdBy: {
|
|
557
567
|
agent: envAgentSlug,
|
|
558
|
-
session:
|
|
568
|
+
session: sessionIdForCompact,
|
|
559
569
|
tool: "session-compact",
|
|
560
570
|
},
|
|
561
571
|
validator,
|
|
@@ -675,7 +685,7 @@ if (!readOnly) {
|
|
|
675
685
|
anchorLabel: z.string().describe("Primary label of the anchor node (e.g. 'UserProfile', 'LocalBusiness'). Used in the per-section MATCH " +
|
|
676
686
|
"for anchor-edge creation."),
|
|
677
687
|
sections: z.array(z.object({
|
|
678
|
-
kind: z.string().describe("
|
|
688
|
+
kind: z.string().describe("Section kind from the closed enumeration (Position/Education/Chapter/Parties/.../Other), or a standalone-node kind like 'Project'."),
|
|
679
689
|
title: z.string(),
|
|
680
690
|
body: z.string(),
|
|
681
691
|
properties: z.record(z.string(), z.unknown()),
|
|
@@ -694,13 +704,27 @@ if (!readOnly) {
|
|
|
694
704
|
}),
|
|
695
705
|
merge: z.boolean().optional(),
|
|
696
706
|
})).optional(),
|
|
697
|
-
|
|
707
|
+
classifierReason: z.string().optional().describe("Required when kind === 'Other' — one-line description of what the section is about, stamped on :Section:Other.classifierReason for ontology-growth review."),
|
|
708
|
+
})).describe("Sections as returned by memory-classify, in reading order. The writer chains them via :NEXT in this order."),
|
|
709
|
+
documentEdges: z.array(z.object({
|
|
710
|
+
type: z.string(),
|
|
711
|
+
direction: z.enum(["outgoing", "incoming"]),
|
|
712
|
+
targetKind: z.string(),
|
|
713
|
+
targetProperties: z.record(z.string(), z.unknown()),
|
|
714
|
+
merge: z.boolean().optional(),
|
|
715
|
+
})).optional().describe("Document-level edges (e.g. PARTY edges off KnowledgeDocument for a contract). Currently emitted by the classifier when a Parties section is detected."),
|
|
716
|
+
orphanCandidates: z.array(z.object({
|
|
717
|
+
kind: z.string(),
|
|
718
|
+
label: z.string(),
|
|
719
|
+
reason: z.string(),
|
|
720
|
+
})).optional().describe("Orphan candidates from the classifier — nodes the classifier could not edge naturally. NOT written to the graph; the skill surfaces these to the operator loudly so they decide whether the orphan is intentional (rare, valid) or a classifier miss (bug)."),
|
|
698
721
|
scope: z.string().describe("Visibility scope for all created nodes — required. Valid values: 'public', 'shared', 'admin', or 'user:{identifier}'."),
|
|
699
722
|
sourceUrl: z.string().optional().describe("Original URL for web-sourced documents. Omit for file uploads."),
|
|
700
723
|
sourceType: z.string().optional().describe("Provenance: 'upload' or 'web'."),
|
|
701
724
|
documentKeywords: z.array(z.string()).optional().describe("Classifier-extracted topic keywords."),
|
|
702
725
|
userKeywords: z.array(z.string()).optional().describe("Keywords explicitly provided by the user. Merged additively with documentKeywords."),
|
|
703
|
-
|
|
726
|
+
sessionId: z.string().optional().describe("Session UUID for provenance stamping (Task 740). Optional override; the server falls back to the SESSION_ID env var set by the admin agent at MCP spawn. The agent only needs to pass this when calling outside the normal admin-session context."),
|
|
727
|
+
}, async ({ attachmentId, documentSummary, anchorNodeId, anchorLabel, sections, documentEdges, orphanCandidates, scope, sourceUrl, sourceType, documentKeywords, userKeywords, sessionId: sessionIdOverride }) => {
|
|
704
728
|
try {
|
|
705
729
|
const result = await memoryIngest({
|
|
706
730
|
accountId,
|
|
@@ -709,12 +733,14 @@ if (!readOnly) {
|
|
|
709
733
|
anchorNodeId,
|
|
710
734
|
anchorLabel,
|
|
711
735
|
sections,
|
|
736
|
+
documentEdges,
|
|
737
|
+
orphanCandidates,
|
|
712
738
|
scope,
|
|
713
739
|
sourceUrl,
|
|
714
740
|
sourceType,
|
|
715
741
|
documentKeywords,
|
|
716
742
|
userKeywords,
|
|
717
|
-
sessionId,
|
|
743
|
+
sessionId: resolveSessionId(sessionIdOverride),
|
|
718
744
|
});
|
|
719
745
|
return {
|
|
720
746
|
content: [{
|
|
@@ -722,10 +748,11 @@ if (!readOnly) {
|
|
|
722
748
|
text: JSON.stringify({
|
|
723
749
|
documentNodeId: result.documentNodeId,
|
|
724
750
|
sectionCount: result.sectionCount,
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
751
|
+
kindBreakdown: result.kindBreakdown,
|
|
752
|
+
edgeBreakdown: result.edgeBreakdown,
|
|
753
|
+
relatedCount: result.relatedCount,
|
|
754
|
+
standaloneCount: result.standaloneCount,
|
|
755
|
+
orphanCandidates: result.orphanCandidates,
|
|
729
756
|
documentSummary: result.documentSummary,
|
|
730
757
|
keywords: result.keywords,
|
|
731
758
|
}),
|
|
@@ -1501,7 +1528,8 @@ server.tool("conversation-search", "Search conversation history using semantic v
|
|
|
1501
1528
|
const resultLimit = maxResults ?? 10;
|
|
1502
1529
|
const dbSession = getSession();
|
|
1503
1530
|
try {
|
|
1504
|
-
const
|
|
1531
|
+
const conversationSessionId = resolveSessionId();
|
|
1532
|
+
const sessionClause = conversationSessionId
|
|
1505
1533
|
? "AND node.conversationId = $sessionId"
|
|
1506
1534
|
: "";
|
|
1507
1535
|
const result = await dbSession.run(`CALL db.index.vector.queryNodes('message_embedding', $limit, $embedding)
|
|
@@ -1523,7 +1551,7 @@ server.tool("conversation-search", "Search conversation history using semantic v
|
|
|
1523
1551
|
embedding: queryEmbedding,
|
|
1524
1552
|
limit: int(resultLimit),
|
|
1525
1553
|
accountId,
|
|
1526
|
-
...(
|
|
1554
|
+
...(conversationSessionId ? { sessionId: conversationSessionId } : {}),
|
|
1527
1555
|
});
|
|
1528
1556
|
if (result.records.length === 0) {
|
|
1529
1557
|
return {
|