openryoko 2026.8.21 → 2026.8.28
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/package.json +2 -2
- package/dist/src/cli/initial-config.d.ts +13 -0
- package/dist/src/cli/initial-config.d.ts.map +1 -0
- package/dist/src/cli/initial-config.js +39 -0
- package/dist/src/cli/initial-config.js.map +1 -0
- package/dist/src/cli/setup.d.ts.map +1 -1
- package/dist/src/cli/setup.js +4 -47
- package/dist/src/cli/setup.js.map +1 -1
- package/dist/src/cli/skills.d.ts +6 -0
- package/dist/src/cli/skills.d.ts.map +1 -1
- package/dist/src/cli/skills.js +96 -30
- package/dist/src/cli/skills.js.map +1 -1
- package/dist/src/gateway/api.d.ts.map +1 -1
- package/dist/src/gateway/api.js +40 -36
- package/dist/src/gateway/api.js.map +1 -1
- package/dist/src/gateway/onboarding-personalize.d.ts +15 -0
- package/dist/src/gateway/onboarding-personalize.d.ts.map +1 -0
- package/dist/src/gateway/onboarding-personalize.js +31 -0
- package/dist/src/gateway/onboarding-personalize.js.map +1 -0
- package/dist/src/gateway/portal-config.d.ts +14 -0
- package/dist/src/gateway/portal-config.d.ts.map +1 -0
- package/dist/src/gateway/portal-config.js +47 -0
- package/dist/src/gateway/portal-config.js.map +1 -0
- package/dist/src/sessions/context.d.ts +40 -0
- package/dist/src/sessions/context.d.ts.map +1 -1
- package/dist/src/sessions/context.js +142 -35
- package/dist/src/sessions/context.js.map +1 -1
- package/dist/src/shared/paths.d.ts +2 -0
- package/dist/src/shared/paths.d.ts.map +1 -1
- package/dist/src/shared/paths.js +9 -1
- package/dist/src/shared/paths.js.map +1 -1
- package/dist/src/shared/types.d.ts +10 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +1 -1
- package/dist/web/__next._full.txt +1 -1
- package/dist/web/__next._tree.txt +1 -1
- package/dist/web/_next/static/chunks/{0y5p4spyfs35l.js → 302onz3a3kflv.js} +1 -1
- package/dist/web/_not-found/__next._full.txt +1 -1
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/web/_not-found/__next._tree.txt +1 -1
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +1 -1
- package/dist/web/chat/__next._full.txt +2 -2
- package/dist/web/chat/__next._tree.txt +1 -1
- package/dist/web/chat/__next.chat.__PAGE__.txt +2 -2
- package/dist/web/chat.html +1 -1
- package/dist/web/chat.txt +2 -2
- package/dist/web/cron/__next._full.txt +1 -1
- package/dist/web/cron/__next._tree.txt +1 -1
- package/dist/web/cron/__next.cron.__PAGE__.txt +1 -1
- package/dist/web/cron.html +1 -1
- package/dist/web/cron.txt +1 -1
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +1 -1
- package/dist/web/kanban/__next._full.txt +1 -1
- package/dist/web/kanban/__next._tree.txt +1 -1
- package/dist/web/kanban/__next.kanban.__PAGE__.txt +1 -1
- package/dist/web/kanban.html +1 -1
- package/dist/web/kanban.txt +1 -1
- package/dist/web/logs/__next._full.txt +1 -1
- package/dist/web/logs/__next._tree.txt +1 -1
- package/dist/web/logs/__next.logs.__PAGE__.txt +1 -1
- package/dist/web/logs.html +1 -1
- package/dist/web/logs.txt +1 -1
- package/dist/web/org/__next._full.txt +1 -1
- package/dist/web/org/__next._tree.txt +1 -1
- package/dist/web/org/__next.org.__PAGE__.txt +1 -1
- package/dist/web/org.html +1 -1
- package/dist/web/org.txt +1 -1
- package/dist/web/sessions/__next._full.txt +1 -1
- package/dist/web/sessions/__next._tree.txt +1 -1
- package/dist/web/sessions/__next.sessions.__PAGE__.txt +1 -1
- package/dist/web/sessions.html +1 -1
- package/dist/web/sessions.txt +1 -1
- package/dist/web/settings/__next._full.txt +1 -1
- package/dist/web/settings/__next._tree.txt +1 -1
- package/dist/web/settings/__next.settings.__PAGE__.txt +1 -1
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +1 -1
- package/dist/web/skills/__next._full.txt +1 -1
- package/dist/web/skills/__next._tree.txt +1 -1
- package/dist/web/skills/__next.skills.__PAGE__.txt +1 -1
- package/dist/web/skills.html +1 -1
- package/dist/web/skills.txt +1 -1
- package/package.json +2 -2
- package/template/AGENTS.md +6 -5
- package/template/BOOTSTRAP.md +5 -3
- package/template/CLAUDE.md +4 -5
- package/template/config.default.yaml +19 -4
- package/template/docs/architecture.md +2 -2
- package/template/docs/cron.md +5 -3
- package/template/docs/mcp.md +1 -1
- package/template/docs/org.md +17 -11
- package/template/docs/overview.md +4 -3
- package/template/docs/self-modification.md +7 -7
- package/template/docs/skills.md +11 -8
- package/template/migrations/2026.8.28/MIGRATION.md +34 -0
- package/template/skills/cron-manager/SKILL.md +7 -7
- package/template/skills/management/SKILL.md +1 -1
- package/template/skills/self-heal/SKILL.md +7 -7
- package/template/skills/skill-creator/SKILL.md +9 -9
- package/dist/web/__next._head.txt +0 -6
- package/dist/web/__next._index.txt +0 -6
- package/dist/web/_next/static/chunks/012aakl34ff5a.js +0 -5
- package/dist/web/_next/static/chunks/03~yq9q893hmn.js +0 -1
- package/dist/web/_next/static/chunks/0a2uy1kw.~j~c.js +0 -1
- package/dist/web/_next/static/chunks/0agxgztb0b~.7.js +0 -5
- package/dist/web/_next/static/chunks/0dtbl8648b3u9.js +0 -7
- package/dist/web/_next/static/chunks/0e3pdjkorr5zl.js +0 -2
- package/dist/web/_next/static/chunks/0ewpxy-mzj3j3.js +0 -1
- package/dist/web/_next/static/chunks/0g6xt.91k~0bc.js +0 -5
- package/dist/web/_next/static/chunks/0jm3e~uc~qd~p.js +0 -79
- package/dist/web/_next/static/chunks/0jzw1gpuag8bc.js +0 -5
- package/dist/web/_next/static/chunks/0lkp92-ovteta.js +0 -5
- package/dist/web/_next/static/chunks/0lt7kv1k1jla0.js +0 -1
- package/dist/web/_next/static/chunks/0msmlzd_~uk0y.js +0 -5
- package/dist/web/_next/static/chunks/0ru56x83x4rkk.js +0 -1
- package/dist/web/_next/static/chunks/0tcvgwr3rcw29.js +0 -1
- package/dist/web/_next/static/chunks/0tf9kpygstdls.js +0 -1
- package/dist/web/_next/static/chunks/0y3dnnq~kxyz_.js +0 -1
- package/dist/web/_next/static/chunks/0~6m1p5hnsx2f.js +0 -1
- package/dist/web/_next/static/chunks/10-liamt-ipcu.js +0 -1
- package/dist/web/_next/static/chunks/103zsy0q9psfj.css +0 -1
- package/dist/web/_next/static/chunks/10l08hq.acixl.js +0 -5
- package/dist/web/_next/static/chunks/11rbefjn.e-3-.js +0 -1
- package/dist/web/_next/static/chunks/11rodb4s1x4of.js +0 -1
- package/dist/web/_next/static/chunks/12_uxtnrqhoo1.js +0 -1
- package/dist/web/_next/static/chunks/12m97bwrg1tuu.js +0 -5
- package/dist/web/_next/static/chunks/13juizw904g.e.js +0 -1
- package/dist/web/_next/static/chunks/14ge_q22f0n.f.js +0 -1
- package/dist/web/_next/static/chunks/17-u9c_weg12-.js +0 -31
- package/dist/web/_next/static/chunks/17oc2l.ekcs8b.css +0 -1
- package/dist/web/_next/static/chunks/turbopack-0dt987bw_1nyf.js +0 -1
- package/dist/web/_next/static/media/apple-icon.0.wpl4.d-5bkf.jpg +0 -0
- package/dist/web/_next/static/media/icon.0.wpl4.d-5bkf.jpg +0 -0
- package/dist/web/_next/static/qeykWjfc1T7SjJSULdD7s/_buildManifest.js +0 -11
- package/dist/web/_next/static/qeykWjfc1T7SjJSULdD7s/_clientMiddlewareManifest.js +0 -1
- package/dist/web/_next/static/qeykWjfc1T7SjJSULdD7s/_ssgManifest.js +0 -1
- package/dist/web/_not-found/__next._head.txt +0 -6
- package/dist/web/_not-found/__next._index.txt +0 -6
- package/dist/web/_not-found/__next._not-found.txt +0 -5
- package/dist/web/chat/__next._head.txt +0 -6
- package/dist/web/chat/__next._index.txt +0 -6
- package/dist/web/chat/__next.chat.txt +0 -5
- package/dist/web/cron/__next._head.txt +0 -6
- package/dist/web/cron/__next._index.txt +0 -6
- package/dist/web/cron/__next.cron.txt +0 -5
- package/dist/web/kanban/__next._head.txt +0 -6
- package/dist/web/kanban/__next._index.txt +0 -6
- package/dist/web/kanban/__next.kanban.txt +0 -5
- package/dist/web/logs/__next._head.txt +0 -6
- package/dist/web/logs/__next._index.txt +0 -6
- package/dist/web/logs/__next.logs.txt +0 -5
- package/dist/web/org/__next._head.txt +0 -6
- package/dist/web/org/__next._index.txt +0 -6
- package/dist/web/org/__next.org.txt +0 -5
- package/dist/web/sessions/__next._head.txt +0 -6
- package/dist/web/sessions/__next._index.txt +0 -6
- package/dist/web/sessions/__next.sessions.txt +0 -5
- package/dist/web/settings/__next._head.txt +0 -6
- package/dist/web/settings/__next._index.txt +0 -6
- package/dist/web/settings/__next.settings.txt +0 -5
- package/dist/web/skills/__next._head.txt +0 -6
- package/dist/web/skills/__next._index.txt +0 -6
- package/dist/web/skills/__next.skills.txt +0 -5
- /package/dist/web/_next/static/{UDwWEfKiZ-eIOpfOIPKQr → ISh1Cwq_yjagxndTluTPc}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{UDwWEfKiZ-eIOpfOIPKQr → ISh1Cwq_yjagxndTluTPc}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{UDwWEfKiZ-eIOpfOIPKQr → ISh1Cwq_yjagxndTluTPc}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Name personalization for the instruction / persona Markdown files.
|
|
3
|
+
* Must match BOTH the Japanese templates ("# X — 運用指示書", "あなたは **X**")
|
|
4
|
+
* and the upstream English forms ("You are **X**", "You are X, the COO ...") —
|
|
5
|
+
* the Web onboarding previously only knew the English forms, so renames from
|
|
6
|
+
* the UI never reached the Japanese files.
|
|
7
|
+
*/
|
|
8
|
+
/** Pick the name the workspace should carry after an onboarding POST:
|
|
9
|
+
* the explicitly requested one, else the name already configured, else the
|
|
10
|
+
* default. Falling back straight to the default would let a language-only
|
|
11
|
+
* update silently rename a customized assistant back to "Ryoko". */
|
|
12
|
+
export function resolveEffectiveName(requested, current) {
|
|
13
|
+
const pick = (v) => (typeof v === "string" && v.trim() ? v : undefined);
|
|
14
|
+
return pick(requested) ?? pick(current) ?? "Ryoko";
|
|
15
|
+
}
|
|
16
|
+
export function personalizeInstructionMd(md, name) {
|
|
17
|
+
let out = md.replace(/^(# ).+( — 運用指示書)$/m, (_m, p1, p2) => p1 + name + p2);
|
|
18
|
+
out = out.replace(/^(あなたは \*\*)[^*]+(\*\*)/m, (_m, p1, p2) => p1 + name + p2);
|
|
19
|
+
out = out.replace(/You are \*\*[^*]+\*\*/, () => `You are **${name}**`);
|
|
20
|
+
out = out.replace(/^You are \w+, the COO of the user's AI organization\.$/m, () => `You are ${name}, the COO of the user's AI organization.`);
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
export function personalizeIdentityMd(md, name) {
|
|
24
|
+
return md
|
|
25
|
+
.replace(/^(# IDENTITY — ).+$/m, (_m, p1) => p1 + name)
|
|
26
|
+
// \n+ tolerates a blank line the onboarding agent may have inserted
|
|
27
|
+
// between the heading and the value; (?!#) refuses to eat the next
|
|
28
|
+
// heading when the section is empty.
|
|
29
|
+
.replace(/^(## Name\n+)(?!#)(.+)$/m, (_m, p1) => p1 + name);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=onboarding-personalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding-personalize.js","sourceRoot":"","sources":["../../../src/gateway/onboarding-personalize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;qEAGqE;AACrE,MAAM,UAAU,oBAAoB,CAAC,SAAkB,EAAE,OAAgB;IACvE,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,IAAY;IAC/D,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAClB,qBAAqB,EACrB,CAAC,EAAE,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,EAAE,CAC/C,CAAC;IACF,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,0BAA0B,EAC1B,CAAC,EAAE,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,EAAE,CAC/C,CAAC;IACF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IACxE,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,yDAAyD,EACzD,GAAG,EAAE,CAAC,WAAW,IAAI,0CAA0C,CAChE,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU,EAAE,IAAY;IAC5D,OAAO,EAAE;SACN,OAAO,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QAC/D,oEAAoE;QACpE,mEAAmE;QACnE,qCAAqC;SACpC,OAAO,CAAC,0BAA0B,EAAE,CAAC,EAAE,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replace ONLY the top-level `portal:` block in raw config.yaml text, leaving
|
|
3
|
+
* every other line byte-identical. A whole-file `yaml.dump` round-trip strips
|
|
4
|
+
* all comments — and the shipped config template is mostly guidance comments,
|
|
5
|
+
* so onboarding must never rewrite the file wholesale.
|
|
6
|
+
*
|
|
7
|
+
* Known limitation: comments INSIDE the portal block itself are regenerated
|
|
8
|
+
* away. The shipped template keeps that block comment-free, so nothing is
|
|
9
|
+
* lost in practice; keep it that way when editing the template.
|
|
10
|
+
*/
|
|
11
|
+
export declare function patchPortalSection(raw: string, portal: Record<string, unknown>): string;
|
|
12
|
+
/** Crash-safe replacement for a config/instruction file the gateway watches. */
|
|
13
|
+
export declare function writeFileAtomic(filePath: string, data: string): void;
|
|
14
|
+
//# sourceMappingURL=portal-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-config.d.ts","sourceRoot":"","sources":["../../../src/gateway/portal-config.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAgCvF;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIpE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import yaml from "js-yaml";
|
|
3
|
+
/**
|
|
4
|
+
* Replace ONLY the top-level `portal:` block in raw config.yaml text, leaving
|
|
5
|
+
* every other line byte-identical. A whole-file `yaml.dump` round-trip strips
|
|
6
|
+
* all comments — and the shipped config template is mostly guidance comments,
|
|
7
|
+
* so onboarding must never rewrite the file wholesale.
|
|
8
|
+
*
|
|
9
|
+
* Known limitation: comments INSIDE the portal block itself are regenerated
|
|
10
|
+
* away. The shipped template keeps that block comment-free, so nothing is
|
|
11
|
+
* lost in practice; keep it that way when editing the template.
|
|
12
|
+
*/
|
|
13
|
+
export function patchPortalSection(raw, portal) {
|
|
14
|
+
const defined = Object.fromEntries(Object.entries(portal).filter(([, v]) => v !== undefined));
|
|
15
|
+
const rendered = Object.keys(defined).length === 0
|
|
16
|
+
? ["portal: {}"]
|
|
17
|
+
: [
|
|
18
|
+
"portal:",
|
|
19
|
+
...yaml
|
|
20
|
+
.dump(defined, { lineWidth: -1 })
|
|
21
|
+
.split("\n")
|
|
22
|
+
.filter((l) => l !== "")
|
|
23
|
+
.map((l) => " " + l),
|
|
24
|
+
];
|
|
25
|
+
const lines = raw.split("\n");
|
|
26
|
+
const start = lines.findIndex((l) => /^portal:\s*(\{.*\})?\s*(#.*)?$/.test(l));
|
|
27
|
+
if (start === -1) {
|
|
28
|
+
const sep = raw === "" || raw.endsWith("\n") ? "" : "\n";
|
|
29
|
+
return raw + sep + rendered.join("\n") + "\n";
|
|
30
|
+
}
|
|
31
|
+
// The block ends at the next line that starts in column 0 (key or comment
|
|
32
|
+
// introducing the next section). Blank/indented lines belong to the block.
|
|
33
|
+
let end = start + 1;
|
|
34
|
+
while (end < lines.length && !/^\S/.test(lines[end]))
|
|
35
|
+
end++;
|
|
36
|
+
// Keep exactly one blank line before the next section (if one follows).
|
|
37
|
+
const tail = lines.slice(end);
|
|
38
|
+
const spacer = tail.length > 0 && tail[0] !== "" ? [""] : [];
|
|
39
|
+
return [...lines.slice(0, start), ...rendered, ...spacer, ...tail].join("\n");
|
|
40
|
+
}
|
|
41
|
+
/** Crash-safe replacement for a config/instruction file the gateway watches. */
|
|
42
|
+
export function writeFileAtomic(filePath, data) {
|
|
43
|
+
const tmp = `${filePath}.tmp-${process.pid}`;
|
|
44
|
+
fs.writeFileSync(tmp, data);
|
|
45
|
+
fs.renameSync(tmp, filePath);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=portal-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-config.js","sourceRoot":"","sources":["../../../src/gateway/portal-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAA+B;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC1D,CAAC;IACF,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC,YAAY,CAAC;QAChB,CAAC,CAAC;YACE,SAAS;YACT,GAAG,IAAI;iBACJ,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;iBAChC,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;SACxB,CAAC;IAER,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,OAAO,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;IACpB,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAE,GAAG,EAAE,CAAC;IAE5D,wEAAwE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAY;IAC5D,MAAM,GAAG,GAAG,GAAG,QAAQ,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7C,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -47,4 +47,44 @@ export declare function buildContext(opts: {
|
|
|
47
47
|
* delayed, but never silently lost (issue #38 follow-up).
|
|
48
48
|
*/
|
|
49
49
|
export declare function buildDetachedJobsContext(sessionId?: string, jobsDir?: string): string | null;
|
|
50
|
+
/** Operator identification. When portal.operatorSlackId is configured,
|
|
51
|
+
* identification is strict ID equality — display names are freely editable
|
|
52
|
+
* and must never establish operator identity on their own. Without a
|
|
53
|
+
* configured ID we fall back to alias/name matching (kept for addressing
|
|
54
|
+
* UX), and the session block phrases that as an UNVERIFIED name match. */
|
|
55
|
+
export declare function resolveOperatorIdentity(opts: {
|
|
56
|
+
speakerNames: Array<string | undefined>;
|
|
57
|
+
speakerSlackId?: string;
|
|
58
|
+
operatorName?: string;
|
|
59
|
+
config?: JinnConfig;
|
|
60
|
+
}): {
|
|
61
|
+
speakerIsOperator: boolean;
|
|
62
|
+
operatorIdVerified: boolean;
|
|
63
|
+
};
|
|
64
|
+
/** Privacy gate for MEMORY.md injection.
|
|
65
|
+
*
|
|
66
|
+
* Eligible: authenticated web-UI sessions, and Slack DIRECT MESSAGES whose
|
|
67
|
+
* speaker's Slack ID is listed in portal.trustedSpeakers (the operator lists
|
|
68
|
+
* their own ID there too).
|
|
69
|
+
*
|
|
70
|
+
* Deliberately NOT eligible:
|
|
71
|
+
* - Shared channels, even for trusted speakers — the engine session is
|
|
72
|
+
* reused per thread, so injected memory would linger in history that later
|
|
73
|
+
* untrusted participants build on.
|
|
74
|
+
* - Display-name/handle operator matching — names are freely editable, so
|
|
75
|
+
* they must never open a privacy gate. Only immutable Slack IDs count.
|
|
76
|
+
* - Employee and cron sessions (no trusted human speaker present). */
|
|
77
|
+
export declare function isMemoryEligible(opts: {
|
|
78
|
+
source: string;
|
|
79
|
+
channel?: string;
|
|
80
|
+
speakerSlackId?: string;
|
|
81
|
+
config?: JinnConfig;
|
|
82
|
+
}): boolean;
|
|
83
|
+
export declare function buildMemoryContext(opts: {
|
|
84
|
+
source: string;
|
|
85
|
+
channel?: string;
|
|
86
|
+
speakerSlackId?: string;
|
|
87
|
+
config?: JinnConfig;
|
|
88
|
+
}): string | null;
|
|
89
|
+
export declare function buildEvolutionContext(portalName: string, config?: JinnConfig): string;
|
|
50
90
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/sessions/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAyC/D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;CACvD,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/sessions/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAyC/D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;CACvD,GAAG,MAAM,CAqNT;AAsbD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8B5F;AA8ED;;;;2EAI2E;AAC3E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GAAG;IAAE,iBAAiB,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAE,CAc9D;AAED;;;;;;;;;;;;uEAYuE;AACvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GAAG,OAAO,CAKV;AAOD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GAAG,MAAM,GAAG,IAAI,CAyBhB;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAyErF"}
|
|
@@ -48,11 +48,13 @@ export function buildContext(opts) {
|
|
|
48
48
|
const operatorName = opts.operatorName || opts.config?.portal?.operatorName;
|
|
49
49
|
const language = opts.language || opts.config?.portal?.language || "English";
|
|
50
50
|
// Single operator-identity decision for the whole prompt (identity block +
|
|
51
|
-
// session block must agree).
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
// session block must agree).
|
|
52
|
+
const { speakerIsOperator, operatorIdVerified } = resolveOperatorIdentity({
|
|
53
|
+
speakerNames: [opts.speakerName, opts.speakerRealName, opts.speakerDisplayName, opts.speakerHandle],
|
|
54
|
+
speakerSlackId: opts.speakerSlackId,
|
|
55
|
+
operatorName,
|
|
56
|
+
config: opts.config,
|
|
57
|
+
});
|
|
56
58
|
// ── ESSENTIAL: Identity ─────────────────────────────────────
|
|
57
59
|
if (opts.employee) {
|
|
58
60
|
sections.push({
|
|
@@ -70,20 +72,42 @@ export function buildContext(opts) {
|
|
|
70
72
|
summary: `# You are ${portalName}\nYour working directory is \`~/.ryoko\` (${JINN_HOME}).`,
|
|
71
73
|
});
|
|
72
74
|
}
|
|
73
|
-
// ──
|
|
75
|
+
// ── ESSENTIAL: Long-term memory — privacy-gated ─────────────
|
|
76
|
+
// MEMORY.md holds the operator's personal facts. Injected only in web
|
|
77
|
+
// sessions and trusted DMs (see isMemoryEligible); employee and cron
|
|
78
|
+
// sessions never receive it.
|
|
79
|
+
if (!opts.employee) {
|
|
80
|
+
const memoryCtx = buildMemoryContext({
|
|
81
|
+
source: opts.source,
|
|
82
|
+
channel: opts.channel,
|
|
83
|
+
speakerSlackId: opts.speakerSlackId,
|
|
84
|
+
config: opts.config,
|
|
85
|
+
});
|
|
86
|
+
if (memoryCtx) {
|
|
87
|
+
sections.push({
|
|
88
|
+
tier: Tier.ESSENTIAL,
|
|
89
|
+
marker: "## Long-term memory",
|
|
90
|
+
content: memoryCtx,
|
|
91
|
+
summary: "", // privacy-gated content is never replaced by a summary
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// ── Self-evolution (ESSENTIAL while onboarding is pending, so the
|
|
96
|
+
// BOOTSTRAP pointer can't be trimmed away on a large workspace) ──
|
|
74
97
|
if (!opts.employee) {
|
|
98
|
+
const onboardingPending = fs.existsSync(path.join(JINN_HOME, "BOOTSTRAP.md"));
|
|
75
99
|
sections.push({
|
|
76
|
-
tier: Tier.STANDARD,
|
|
100
|
+
tier: onboardingPending ? Tier.ESSENTIAL : Tier.STANDARD,
|
|
77
101
|
marker: "## Self-evolution",
|
|
78
102
|
content: buildEvolutionContext(portalName, opts.config),
|
|
79
|
-
summary: `## Self-evolution\
|
|
103
|
+
summary: `## Self-evolution\nRecord short durable facts in \`${JINN_HOME}/MEMORY.md\` and long-form context in \`${JINN_HOME}/knowledge/<topic>.md\` when you learn new info about the user or their projects.`,
|
|
80
104
|
});
|
|
81
105
|
}
|
|
82
106
|
// ── ESSENTIAL: Session context ──────────────────────────────
|
|
83
107
|
sections.push({
|
|
84
108
|
tier: Tier.ESSENTIAL,
|
|
85
109
|
marker: "## Current session",
|
|
86
|
-
content: buildSessionContext({ ...opts, sessionId: opts.sessionId, operatorName, speakerIsOperator }),
|
|
110
|
+
content: buildSessionContext({ ...opts, sessionId: opts.sessionId, operatorName, speakerIsOperator, operatorIdVerified }),
|
|
87
111
|
summary: "", // always included, no trimming
|
|
88
112
|
});
|
|
89
113
|
// ── ESSENTIAL: Process lifetime (background tasks die with the process) ──
|
|
@@ -141,7 +165,7 @@ export function buildContext(opts) {
|
|
|
141
165
|
tier: Tier.STANDARD,
|
|
142
166
|
marker: "## Scheduled cron",
|
|
143
167
|
content: cronCtx,
|
|
144
|
-
summary:
|
|
168
|
+
summary: `## Scheduled cron jobs\nCron definitions are in \`${CRON_JOBS}\`. Read directly when needed.`,
|
|
145
169
|
});
|
|
146
170
|
}
|
|
147
171
|
// ── OPTIONAL: Knowledge / docs (filenames only, never inlined)
|
|
@@ -151,7 +175,7 @@ export function buildContext(opts) {
|
|
|
151
175
|
tier: Tier.OPTIONAL,
|
|
152
176
|
marker: "## Knowledge base",
|
|
153
177
|
content: knowledgeCtx,
|
|
154
|
-
summary:
|
|
178
|
+
summary: `## Knowledge base\nKnowledge files are in \`${JINN_HOME}/knowledge/\` and \`${DOCS_DIR}/\`. Read them directly when needed.`,
|
|
155
179
|
});
|
|
156
180
|
}
|
|
157
181
|
// ── STANDARD: Language override for skills ──────────────────
|
|
@@ -225,7 +249,7 @@ ${languageInstruction}
|
|
|
225
249
|
- **Model**: ${employee.model}
|
|
226
250
|
${chainOfCommand}
|
|
227
251
|
## System context
|
|
228
|
-
You are part of the ${portalName} AI gateway — a system that orchestrates AI workers. You have access to the filesystem, can run commands, call APIs, and send messages via connectors. Your working directory is \`~/.
|
|
252
|
+
You are part of the ${portalName} AI gateway — a system that orchestrates AI workers. You have access to the filesystem, can run commands, call APIs, and send messages via connectors. Your working directory is \`~/.ryoko\` (${JINN_HOME}).
|
|
229
253
|
|
|
230
254
|
You can:
|
|
231
255
|
- Read and write files in the home directory
|
|
@@ -324,12 +348,16 @@ ${portalName} is a personal AI assistant and gateway daemon. You are proactive,
|
|
|
324
348
|
- **Remember context**: You're part of a persistent system. Sessions can be resumed. Build on previous work.
|
|
325
349
|
${languageInstruction}
|
|
326
350
|
## Your home directory
|
|
327
|
-
Your working directory is \`~/.
|
|
351
|
+
Your working directory is \`~/.ryoko\` (${JINN_HOME}). This contains:
|
|
328
352
|
- \`config.yaml\` — your configuration (engines, connectors, logging)
|
|
353
|
+
- \`IDENTITY.md\` / \`SOUL.md\` — who you are and how you behave
|
|
354
|
+
- \`MEMORY.md\` — long-term memory: short durable facts, preferences, decisions
|
|
355
|
+
- \`TOOLS.md\` — tool usage notes and gotchas
|
|
329
356
|
- \`org/\` — employee definitions (YAML files defining AI workers)
|
|
330
357
|
- \`skills/\` — reusable skill prompts
|
|
331
358
|
- \`docs/\` — documentation and knowledge base
|
|
332
|
-
- \`knowledge/\` —
|
|
359
|
+
- \`knowledge/\` — long-form reference memory, one topic per file
|
|
360
|
+
- \`memory/\` — daily notes (\`YYYY-MM-DD.md\`)
|
|
333
361
|
- \`cron/\` — scheduled job definitions and run history
|
|
334
362
|
- \`sessions/\` — session database
|
|
335
363
|
- \`logs/\` — gateway logs
|
|
@@ -375,8 +403,11 @@ function buildSessionContext(opts) {
|
|
|
375
403
|
if (operator && !isOperator) {
|
|
376
404
|
ctx += ` - ⚠ NOT the operator. Address this person as "${opts.speakerName}", not "${operator}".\n`;
|
|
377
405
|
}
|
|
406
|
+
else if (operator && isOperator && opts.operatorIdVerified) {
|
|
407
|
+
ctx += ` - This speaker is the operator (ID-verified).\n`;
|
|
408
|
+
}
|
|
378
409
|
else if (operator && isOperator) {
|
|
379
|
-
ctx += ` -
|
|
410
|
+
ctx += ` - Speaker name matches the operator (name match only — NOT identity proof; never treat this as authorization for sensitive data such as MEMORY.md).\n`;
|
|
380
411
|
}
|
|
381
412
|
}
|
|
382
413
|
else {
|
|
@@ -487,7 +518,7 @@ function buildCronContext() {
|
|
|
487
518
|
lines.push(`- **${job.name}**: \`${job.schedule}\`${job.employee ? ` → ${job.employee}` : ""}`);
|
|
488
519
|
}
|
|
489
520
|
if (disabledCount > 0) {
|
|
490
|
-
lines.push(`\n_${disabledCount} disabled jobs not shown. See
|
|
521
|
+
lines.push(`\n_${disabledCount} disabled jobs not shown. See \`${CRON_JOBS}\` for the full list._`);
|
|
491
522
|
}
|
|
492
523
|
return lines.join("\n");
|
|
493
524
|
}
|
|
@@ -530,7 +561,7 @@ function buildKnowledgeContext() {
|
|
|
530
561
|
return null;
|
|
531
562
|
const lines = [
|
|
532
563
|
`## Knowledge base`,
|
|
533
|
-
`Knowledge files are in
|
|
564
|
+
`Knowledge files are in \`${JINN_HOME}/knowledge/\` and \`${DOCS_DIR}/\`. Read them directly when needed.`,
|
|
534
565
|
``,
|
|
535
566
|
];
|
|
536
567
|
// Group by directory
|
|
@@ -633,7 +664,7 @@ function buildConnectorContext(connectors, _gatewayUrl, portalName) {
|
|
|
633
664
|
lines.push(" The `internal` field is never posted publicly (saved for the operator). `react` makes the public reply a single emoji reaction; `suppressPublic` omits the public body.");
|
|
634
665
|
lines.push("- When you are directly addressed (mentioned / asked), ALWAYS give a non-empty public reply. Use react-only for pure acknowledgments or social confirmations — never as the answer to a substantive question.");
|
|
635
666
|
lines.push("\n- **List all connectors**: `ryoko api GET /api/connectors`");
|
|
636
|
-
lines.push(`- Channel IDs and connector config can be found in
|
|
667
|
+
lines.push(`- Channel IDs and connector config can be found in \`${JINN_HOME}/config.yaml\``);
|
|
637
668
|
return lines.join("\n");
|
|
638
669
|
}
|
|
639
670
|
function buildEnvironmentContext() {
|
|
@@ -686,14 +717,90 @@ function buildEnvironmentContext() {
|
|
|
686
717
|
lines.push(`\nWhen the user asks about tools or systems on their machine, check these directories first before saying you don't know. Be resourceful — explore the filesystem.`);
|
|
687
718
|
return lines.join("\n");
|
|
688
719
|
}
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
720
|
+
/** Operator identification. When portal.operatorSlackId is configured,
|
|
721
|
+
* identification is strict ID equality — display names are freely editable
|
|
722
|
+
* and must never establish operator identity on their own. Without a
|
|
723
|
+
* configured ID we fall back to alias/name matching (kept for addressing
|
|
724
|
+
* UX), and the session block phrases that as an UNVERIFIED name match. */
|
|
725
|
+
export function resolveOperatorIdentity(opts) {
|
|
726
|
+
const operatorSlackId = opts.config?.portal?.operatorSlackId;
|
|
727
|
+
if (operatorSlackId) {
|
|
728
|
+
const verified = opts.speakerSlackId === operatorSlackId;
|
|
729
|
+
return { speakerIsOperator: verified, operatorIdVerified: verified };
|
|
730
|
+
}
|
|
731
|
+
return {
|
|
732
|
+
speakerIsOperator: isOperatorSpeaker(opts.speakerNames, opts.operatorName, opts.config?.portal?.operatorAliases),
|
|
733
|
+
operatorIdVerified: false,
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
/** Privacy gate for MEMORY.md injection.
|
|
737
|
+
*
|
|
738
|
+
* Eligible: authenticated web-UI sessions, and Slack DIRECT MESSAGES whose
|
|
739
|
+
* speaker's Slack ID is listed in portal.trustedSpeakers (the operator lists
|
|
740
|
+
* their own ID there too).
|
|
741
|
+
*
|
|
742
|
+
* Deliberately NOT eligible:
|
|
743
|
+
* - Shared channels, even for trusted speakers — the engine session is
|
|
744
|
+
* reused per thread, so injected memory would linger in history that later
|
|
745
|
+
* untrusted participants build on.
|
|
746
|
+
* - Display-name/handle operator matching — names are freely editable, so
|
|
747
|
+
* they must never open a privacy gate. Only immutable Slack IDs count.
|
|
748
|
+
* - Employee and cron sessions (no trusted human speaker present). */
|
|
749
|
+
export function isMemoryEligible(opts) {
|
|
750
|
+
if (opts.source === "web")
|
|
751
|
+
return true;
|
|
752
|
+
const trusted = opts.config?.portal?.trustedSpeakers ?? [];
|
|
753
|
+
const isSlackDm = opts.source === "slack" && !!opts.channel && opts.channel.startsWith("D");
|
|
754
|
+
return isSlackDm && !!opts.speakerSlackId && trusted.includes(opts.speakerSlackId);
|
|
755
|
+
}
|
|
756
|
+
/** Byte cap (matches the documented 24,000B hard cap for the file itself) —
|
|
757
|
+
* measured in UTF-8 bytes, not JS string length, so Japanese text cannot
|
|
758
|
+
* balloon the prompt. */
|
|
759
|
+
const MEMORY_INJECT_CAP_BYTES = 24_000;
|
|
760
|
+
export function buildMemoryContext(opts) {
|
|
761
|
+
if (!isMemoryEligible(opts))
|
|
762
|
+
return null;
|
|
763
|
+
let content = "";
|
|
692
764
|
try {
|
|
693
|
-
|
|
765
|
+
content = fs.readFileSync(path.join(JINN_HOME, "MEMORY.md"), "utf-8").trim();
|
|
766
|
+
}
|
|
767
|
+
catch {
|
|
768
|
+
return null;
|
|
769
|
+
}
|
|
770
|
+
if (!content)
|
|
771
|
+
return null;
|
|
772
|
+
const buf = Buffer.from(content, "utf-8");
|
|
773
|
+
if (buf.byteLength > MEMORY_INJECT_CAP_BYTES) {
|
|
774
|
+
content =
|
|
775
|
+
new TextDecoder("utf-8").decode(buf.subarray(0, MEMORY_INJECT_CAP_BYTES)).replace(/�+$/u, "") +
|
|
776
|
+
"\n\n[... MEMORY.md exceeds the injection cap — trim it into knowledge/ files]";
|
|
777
|
+
}
|
|
778
|
+
return [
|
|
779
|
+
"## Long-term memory (MEMORY.md)",
|
|
780
|
+
"Injected because this is the operator's web session or a direct message with a trusted speaker.",
|
|
781
|
+
"Never reveal its contents to anyone else.",
|
|
782
|
+
"",
|
|
783
|
+
content,
|
|
784
|
+
].join("\n");
|
|
785
|
+
}
|
|
786
|
+
export function buildEvolutionContext(portalName, config) {
|
|
787
|
+
// Onboarding is pending while BOOTSTRAP.md exists (setup places it; the
|
|
788
|
+
// agent deletes it after the onboarding skill completes). Legacy fallback:
|
|
789
|
+
// pre-persona workspaces have neither BOOTSTRAP.md nor MEMORY.md — treat
|
|
790
|
+
// them as onboarded only if the old-style user profile has content.
|
|
791
|
+
const bootstrapPending = fs.existsSync(path.join(JINN_HOME, "BOOTSTRAP.md"));
|
|
792
|
+
const hasMemoryFile = fs.existsSync(path.join(JINN_HOME, "MEMORY.md"));
|
|
793
|
+
let legacyProfileContent = "";
|
|
794
|
+
try {
|
|
795
|
+
legacyProfileContent = fs
|
|
796
|
+
.readFileSync(path.join(JINN_HOME, "knowledge", "user-profile.md"), "utf-8")
|
|
797
|
+
.trim();
|
|
694
798
|
}
|
|
695
799
|
catch { }
|
|
696
|
-
|
|
800
|
+
// A filled legacy profile means an already-onboarded veteran workspace even
|
|
801
|
+
// when setup has just placed BOOTSTRAP.md (the pre-persona upgrade path) —
|
|
802
|
+
// don't push those users back into onboarding.
|
|
803
|
+
const isNew = (bootstrapPending || !hasMemoryFile) && legacyProfileContent.length < 50;
|
|
697
804
|
// Conversational discovery hint: a Slack workspace is wired up but the
|
|
698
805
|
// user hasn't enabled the Agents View canvas. Surface it in steady-state
|
|
699
806
|
// mode (not onboarding) so the assistant can proactively offer to help
|
|
@@ -703,24 +810,24 @@ function buildEvolutionContext(portalName, config) {
|
|
|
703
810
|
const canvasHintApplies = slackConnected && !canvasEnabled;
|
|
704
811
|
const lines = [`## Self-evolution`];
|
|
705
812
|
if (isNew) {
|
|
706
|
-
lines.push(`**ONBOARDING MODE**: This is a new or
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
813
|
+
lines.push(`**ONBOARDING MODE**: This is a new or not-yet-onboarded ${portalName} installation.`);
|
|
814
|
+
if (bootstrapPending) {
|
|
815
|
+
lines.push(`Before answering the user's request, read \`${JINN_HOME}/BOOTSTRAP.md\` and follow it to completion — it walks you through the onboarding skill (filling IDENTITY.md / SOUL.md / MEMORY.md) and is deleted when done.`);
|
|
816
|
+
}
|
|
817
|
+
else {
|
|
818
|
+
lines.push(`Before answering the user's request, introduce yourself briefly and ask who they are, what ${portalName} should help with, their communication preferences, and any active projects.`);
|
|
819
|
+
lines.push(`Write short durable facts, preferences, and decisions to \`${JINN_HOME}/MEMORY.md\`; put long-form context in \`${JINN_HOME}/knowledge/<topic>.md\`.`);
|
|
820
|
+
}
|
|
713
821
|
lines.push(`Then proceed to help with their original request.`);
|
|
714
822
|
if (canvasHintApplies) {
|
|
715
823
|
lines.push(`\nIf the conversation goes well and Slack is set up, you may also mention that you can mirror all your running sessions to a Slack canvas (the "Agents View Canvas") — but only once, briefly, and only if it feels natural.`);
|
|
716
824
|
}
|
|
717
825
|
}
|
|
718
826
|
else {
|
|
719
|
-
lines.push(`You learn and evolve over time.
|
|
720
|
-
lines.push(`-
|
|
721
|
-
lines.push(`-
|
|
722
|
-
lines.push(`-
|
|
723
|
-
lines.push(`- If the user gives you persistent feedback (e.g. "always do X", "never do Y"), update \`~/.jinn/CLAUDE.md\``);
|
|
827
|
+
lines.push(`You learn and evolve over time. Memory is two-layered — keep the layers separate:`);
|
|
828
|
+
lines.push(`- Short durable facts, preferences, and decisions (1-3 lines each) → \`${JINN_HOME}/MEMORY.md\` (read every session; keep it lean)`);
|
|
829
|
+
lines.push(`- Long-form context (research results, project background, org info) → \`${JINN_HOME}/knowledge/<topic>.md\` (fetched on demand)`);
|
|
830
|
+
lines.push(`- Personality / tone feedback → \`${JINN_HOME}/SOUL.md\`; name or self-image changes → \`${JINN_HOME}/IDENTITY.md\``);
|
|
724
831
|
lines.push(`\nDo this silently — don't announce every file update. Just evolve.`);
|
|
725
832
|
if (canvasHintApplies) {
|
|
726
833
|
lines.push(`\n### Available feature the user hasn't enabled: Agents View Canvas`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/sessions/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/sessions/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ export declare const STT_MODELS_DIR: string;
|
|
|
20
20
|
export declare const PID_FILE: string;
|
|
21
21
|
export declare const CLAUDE_SKILLS_DIR: string;
|
|
22
22
|
export declare const AGENTS_SKILLS_DIR: string;
|
|
23
|
+
/** Resolves for both layouts: dist/src/shared/ (built package) and
|
|
24
|
+
* src/shared/ (vitest / ts-node running from source). */
|
|
23
25
|
export declare const TEMPLATE_DIR: string;
|
|
24
26
|
export declare const FILES_DIR: string;
|
|
25
27
|
export declare const MIGRATIONS_DIR: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/shared/paths.ts"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAgB,CAAC;AACvC,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAkD,CAAC;AAC3E,eAAO,MAAM,SAAS,QAA4C,CAAC;AACnE,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,eAAO,MAAM,YAAY,QAAgD,CAAC;AAC1E,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,cAAc,QAA4C,CAAC;AACxE,eAAO,MAAM,QAAQ,QAAsC,CAAC;AAC5D,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/shared/paths.ts"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAgB,CAAC;AACvC,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAkD,CAAC;AAC3E,eAAO,MAAM,SAAS,QAA4C,CAAC;AACnE,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,eAAO,MAAM,YAAY,QAAgD,CAAC;AAC1E,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,cAAc,QAA4C,CAAC;AACxE,eAAO,MAAM,QAAQ,QAAsC,CAAC;AAC5D,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E;0DAC0D;AAC1D,eAAO,MAAM,YAAY,QAMrB,CAAC;AACL,eAAO,MAAM,SAAS,QAAgC,CAAC;AACvD,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,uBAAuB,QAAwC,CAAC;AAG7E,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,QAAuC,CAAC;AACtE,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAC3E,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,QAA+C,CAAC;AAC9E;+EAC+E;AAC/E,eAAO,MAAM,iBAAiB,QAAyC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAM3B,CAAC"}
|
package/dist/src/shared/paths.js
CHANGED
|
@@ -73,7 +73,15 @@ export const STT_MODELS_DIR = path.join(JINN_HOME, "models", "whisper");
|
|
|
73
73
|
export const PID_FILE = path.join(JINN_HOME, "gateway.pid");
|
|
74
74
|
export const CLAUDE_SKILLS_DIR = path.join(JINN_HOME, ".claude", "skills");
|
|
75
75
|
export const AGENTS_SKILLS_DIR = path.join(JINN_HOME, ".agents", "skills");
|
|
76
|
-
|
|
76
|
+
/** Resolves for both layouts: dist/src/shared/ (built package) and
|
|
77
|
+
* src/shared/ (vitest / ts-node running from source). */
|
|
78
|
+
export const TEMPLATE_DIR = (() => {
|
|
79
|
+
const candidates = [
|
|
80
|
+
path.join(__dirname, "..", "..", "..", "template"),
|
|
81
|
+
path.join(__dirname, "..", "..", "template"),
|
|
82
|
+
];
|
|
83
|
+
return candidates.find((c) => fs.existsSync(c)) ?? candidates[0];
|
|
84
|
+
})();
|
|
77
85
|
export const FILES_DIR = path.join(JINN_HOME, "files");
|
|
78
86
|
export const MIGRATIONS_DIR = path.join(JINN_HOME, "migrations");
|
|
79
87
|
export const TEMPLATE_MIGRATIONS_DIR = path.join(TEMPLATE_DIR, "migrations");
|