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.
Files changed (169) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/cli/initial-config.d.ts +13 -0
  3. package/dist/src/cli/initial-config.d.ts.map +1 -0
  4. package/dist/src/cli/initial-config.js +39 -0
  5. package/dist/src/cli/initial-config.js.map +1 -0
  6. package/dist/src/cli/setup.d.ts.map +1 -1
  7. package/dist/src/cli/setup.js +4 -47
  8. package/dist/src/cli/setup.js.map +1 -1
  9. package/dist/src/cli/skills.d.ts +6 -0
  10. package/dist/src/cli/skills.d.ts.map +1 -1
  11. package/dist/src/cli/skills.js +96 -30
  12. package/dist/src/cli/skills.js.map +1 -1
  13. package/dist/src/gateway/api.d.ts.map +1 -1
  14. package/dist/src/gateway/api.js +40 -36
  15. package/dist/src/gateway/api.js.map +1 -1
  16. package/dist/src/gateway/onboarding-personalize.d.ts +15 -0
  17. package/dist/src/gateway/onboarding-personalize.d.ts.map +1 -0
  18. package/dist/src/gateway/onboarding-personalize.js +31 -0
  19. package/dist/src/gateway/onboarding-personalize.js.map +1 -0
  20. package/dist/src/gateway/portal-config.d.ts +14 -0
  21. package/dist/src/gateway/portal-config.d.ts.map +1 -0
  22. package/dist/src/gateway/portal-config.js +47 -0
  23. package/dist/src/gateway/portal-config.js.map +1 -0
  24. package/dist/src/sessions/context.d.ts +40 -0
  25. package/dist/src/sessions/context.d.ts.map +1 -1
  26. package/dist/src/sessions/context.js +142 -35
  27. package/dist/src/sessions/context.js.map +1 -1
  28. package/dist/src/shared/paths.d.ts +2 -0
  29. package/dist/src/shared/paths.d.ts.map +1 -1
  30. package/dist/src/shared/paths.js +9 -1
  31. package/dist/src/shared/paths.js.map +1 -1
  32. package/dist/src/shared/types.d.ts +10 -0
  33. package/dist/src/shared/types.d.ts.map +1 -1
  34. package/dist/web/404.html +1 -1
  35. package/dist/web/__next.__PAGE__.txt +1 -1
  36. package/dist/web/__next._full.txt +1 -1
  37. package/dist/web/__next._tree.txt +1 -1
  38. package/dist/web/_next/static/chunks/{0y5p4spyfs35l.js → 302onz3a3kflv.js} +1 -1
  39. package/dist/web/_not-found/__next._full.txt +1 -1
  40. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
  41. package/dist/web/_not-found/__next._tree.txt +1 -1
  42. package/dist/web/_not-found.html +1 -1
  43. package/dist/web/_not-found.txt +1 -1
  44. package/dist/web/chat/__next._full.txt +2 -2
  45. package/dist/web/chat/__next._tree.txt +1 -1
  46. package/dist/web/chat/__next.chat.__PAGE__.txt +2 -2
  47. package/dist/web/chat.html +1 -1
  48. package/dist/web/chat.txt +2 -2
  49. package/dist/web/cron/__next._full.txt +1 -1
  50. package/dist/web/cron/__next._tree.txt +1 -1
  51. package/dist/web/cron/__next.cron.__PAGE__.txt +1 -1
  52. package/dist/web/cron.html +1 -1
  53. package/dist/web/cron.txt +1 -1
  54. package/dist/web/index.html +1 -1
  55. package/dist/web/index.txt +1 -1
  56. package/dist/web/kanban/__next._full.txt +1 -1
  57. package/dist/web/kanban/__next._tree.txt +1 -1
  58. package/dist/web/kanban/__next.kanban.__PAGE__.txt +1 -1
  59. package/dist/web/kanban.html +1 -1
  60. package/dist/web/kanban.txt +1 -1
  61. package/dist/web/logs/__next._full.txt +1 -1
  62. package/dist/web/logs/__next._tree.txt +1 -1
  63. package/dist/web/logs/__next.logs.__PAGE__.txt +1 -1
  64. package/dist/web/logs.html +1 -1
  65. package/dist/web/logs.txt +1 -1
  66. package/dist/web/org/__next._full.txt +1 -1
  67. package/dist/web/org/__next._tree.txt +1 -1
  68. package/dist/web/org/__next.org.__PAGE__.txt +1 -1
  69. package/dist/web/org.html +1 -1
  70. package/dist/web/org.txt +1 -1
  71. package/dist/web/sessions/__next._full.txt +1 -1
  72. package/dist/web/sessions/__next._tree.txt +1 -1
  73. package/dist/web/sessions/__next.sessions.__PAGE__.txt +1 -1
  74. package/dist/web/sessions.html +1 -1
  75. package/dist/web/sessions.txt +1 -1
  76. package/dist/web/settings/__next._full.txt +1 -1
  77. package/dist/web/settings/__next._tree.txt +1 -1
  78. package/dist/web/settings/__next.settings.__PAGE__.txt +1 -1
  79. package/dist/web/settings.html +1 -1
  80. package/dist/web/settings.txt +1 -1
  81. package/dist/web/skills/__next._full.txt +1 -1
  82. package/dist/web/skills/__next._tree.txt +1 -1
  83. package/dist/web/skills/__next.skills.__PAGE__.txt +1 -1
  84. package/dist/web/skills.html +1 -1
  85. package/dist/web/skills.txt +1 -1
  86. package/package.json +2 -2
  87. package/template/AGENTS.md +6 -5
  88. package/template/BOOTSTRAP.md +5 -3
  89. package/template/CLAUDE.md +4 -5
  90. package/template/config.default.yaml +19 -4
  91. package/template/docs/architecture.md +2 -2
  92. package/template/docs/cron.md +5 -3
  93. package/template/docs/mcp.md +1 -1
  94. package/template/docs/org.md +17 -11
  95. package/template/docs/overview.md +4 -3
  96. package/template/docs/self-modification.md +7 -7
  97. package/template/docs/skills.md +11 -8
  98. package/template/migrations/2026.8.28/MIGRATION.md +34 -0
  99. package/template/skills/cron-manager/SKILL.md +7 -7
  100. package/template/skills/management/SKILL.md +1 -1
  101. package/template/skills/self-heal/SKILL.md +7 -7
  102. package/template/skills/skill-creator/SKILL.md +9 -9
  103. package/dist/web/__next._head.txt +0 -6
  104. package/dist/web/__next._index.txt +0 -6
  105. package/dist/web/_next/static/chunks/012aakl34ff5a.js +0 -5
  106. package/dist/web/_next/static/chunks/03~yq9q893hmn.js +0 -1
  107. package/dist/web/_next/static/chunks/0a2uy1kw.~j~c.js +0 -1
  108. package/dist/web/_next/static/chunks/0agxgztb0b~.7.js +0 -5
  109. package/dist/web/_next/static/chunks/0dtbl8648b3u9.js +0 -7
  110. package/dist/web/_next/static/chunks/0e3pdjkorr5zl.js +0 -2
  111. package/dist/web/_next/static/chunks/0ewpxy-mzj3j3.js +0 -1
  112. package/dist/web/_next/static/chunks/0g6xt.91k~0bc.js +0 -5
  113. package/dist/web/_next/static/chunks/0jm3e~uc~qd~p.js +0 -79
  114. package/dist/web/_next/static/chunks/0jzw1gpuag8bc.js +0 -5
  115. package/dist/web/_next/static/chunks/0lkp92-ovteta.js +0 -5
  116. package/dist/web/_next/static/chunks/0lt7kv1k1jla0.js +0 -1
  117. package/dist/web/_next/static/chunks/0msmlzd_~uk0y.js +0 -5
  118. package/dist/web/_next/static/chunks/0ru56x83x4rkk.js +0 -1
  119. package/dist/web/_next/static/chunks/0tcvgwr3rcw29.js +0 -1
  120. package/dist/web/_next/static/chunks/0tf9kpygstdls.js +0 -1
  121. package/dist/web/_next/static/chunks/0y3dnnq~kxyz_.js +0 -1
  122. package/dist/web/_next/static/chunks/0~6m1p5hnsx2f.js +0 -1
  123. package/dist/web/_next/static/chunks/10-liamt-ipcu.js +0 -1
  124. package/dist/web/_next/static/chunks/103zsy0q9psfj.css +0 -1
  125. package/dist/web/_next/static/chunks/10l08hq.acixl.js +0 -5
  126. package/dist/web/_next/static/chunks/11rbefjn.e-3-.js +0 -1
  127. package/dist/web/_next/static/chunks/11rodb4s1x4of.js +0 -1
  128. package/dist/web/_next/static/chunks/12_uxtnrqhoo1.js +0 -1
  129. package/dist/web/_next/static/chunks/12m97bwrg1tuu.js +0 -5
  130. package/dist/web/_next/static/chunks/13juizw904g.e.js +0 -1
  131. package/dist/web/_next/static/chunks/14ge_q22f0n.f.js +0 -1
  132. package/dist/web/_next/static/chunks/17-u9c_weg12-.js +0 -31
  133. package/dist/web/_next/static/chunks/17oc2l.ekcs8b.css +0 -1
  134. package/dist/web/_next/static/chunks/turbopack-0dt987bw_1nyf.js +0 -1
  135. package/dist/web/_next/static/media/apple-icon.0.wpl4.d-5bkf.jpg +0 -0
  136. package/dist/web/_next/static/media/icon.0.wpl4.d-5bkf.jpg +0 -0
  137. package/dist/web/_next/static/qeykWjfc1T7SjJSULdD7s/_buildManifest.js +0 -11
  138. package/dist/web/_next/static/qeykWjfc1T7SjJSULdD7s/_clientMiddlewareManifest.js +0 -1
  139. package/dist/web/_next/static/qeykWjfc1T7SjJSULdD7s/_ssgManifest.js +0 -1
  140. package/dist/web/_not-found/__next._head.txt +0 -6
  141. package/dist/web/_not-found/__next._index.txt +0 -6
  142. package/dist/web/_not-found/__next._not-found.txt +0 -5
  143. package/dist/web/chat/__next._head.txt +0 -6
  144. package/dist/web/chat/__next._index.txt +0 -6
  145. package/dist/web/chat/__next.chat.txt +0 -5
  146. package/dist/web/cron/__next._head.txt +0 -6
  147. package/dist/web/cron/__next._index.txt +0 -6
  148. package/dist/web/cron/__next.cron.txt +0 -5
  149. package/dist/web/kanban/__next._head.txt +0 -6
  150. package/dist/web/kanban/__next._index.txt +0 -6
  151. package/dist/web/kanban/__next.kanban.txt +0 -5
  152. package/dist/web/logs/__next._head.txt +0 -6
  153. package/dist/web/logs/__next._index.txt +0 -6
  154. package/dist/web/logs/__next.logs.txt +0 -5
  155. package/dist/web/org/__next._head.txt +0 -6
  156. package/dist/web/org/__next._index.txt +0 -6
  157. package/dist/web/org/__next.org.txt +0 -5
  158. package/dist/web/sessions/__next._head.txt +0 -6
  159. package/dist/web/sessions/__next._index.txt +0 -6
  160. package/dist/web/sessions/__next.sessions.txt +0 -5
  161. package/dist/web/settings/__next._head.txt +0 -6
  162. package/dist/web/settings/__next._index.txt +0 -6
  163. package/dist/web/settings/__next.settings.txt +0 -5
  164. package/dist/web/skills/__next._head.txt +0 -6
  165. package/dist/web/skills/__next._index.txt +0 -6
  166. package/dist/web/skills/__next.skills.txt +0 -5
  167. /package/dist/web/_next/static/{UDwWEfKiZ-eIOpfOIPKQr → ISh1Cwq_yjagxndTluTPc}/_buildManifest.js +0 -0
  168. /package/dist/web/_next/static/{UDwWEfKiZ-eIOpfOIPKQr → ISh1Cwq_yjagxndTluTPc}/_clientMiddlewareManifest.js +0 -0
  169. /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,CAgMT;AA+aD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8B5F"}
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). Matches across ALL known speaker aliases with
52
- // normalization — the old exact speakerName===operatorName comparison flagged
53
- // the operator himself as "NOT the operator" (nickname vs profile name),
54
- // teaching the model to ignore the warning entirely.
55
- const speakerIsOperator = isOperatorSpeaker([opts.speakerName, opts.speakerRealName, opts.speakerDisplayName, opts.speakerHandle], operatorName, opts.config?.portal?.operatorAliases);
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
- // ── STANDARD: Self-evolution ────────────────────────────────
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\nUpdate knowledge files in \`~/.jinn/knowledge/\` when you learn new info about the user or their projects.`,
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: "## Scheduled cron jobs\nCron definitions are in `~/.jinn/cron/jobs.json`. Read directly when needed.",
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: "## Knowledge base\nKnowledge files are in `~/.jinn/knowledge/` and `~/.jinn/docs/`. Read them directly when needed.",
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 \`~/.jinn\` (${JINN_HOME}).
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 \`~/.jinn\` (${JINN_HOME}). This contains:
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/\` — persistent knowledge files
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 += ` - This speaker is the operator.\n`;
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 \`~/.jinn/cron/jobs.json\` for the full list._`);
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 \`~/.jinn/knowledge/\` and \`~/.jinn/docs/\`. Read them directly when needed.`,
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 \`~/.jinn/config.yaml\``);
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
- function buildEvolutionContext(portalName, config) {
690
- const profilePath = path.join(JINN_HOME, "knowledge", "user-profile.md");
691
- let profileContent = "";
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
- profileContent = fs.readFileSync(profilePath, "utf-8").trim();
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
- const isNew = profileContent.length < 50;
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 unconfigured ${portalName} installation.`);
707
- lines.push(`Before answering the user's request, introduce yourself briefly and ask them:`);
708
- lines.push(`1. What's your name and what do you do? (business, role, projects)`);
709
- lines.push(`2. What should ${portalName} help you automate? (code reviews, deployments, monitoring, etc.)`);
710
- lines.push(`3. Communication preferences — emoji style, verbosity (concise vs detailed), language`);
711
- lines.push(`4. Any active projects ${portalName} should know about?`);
712
- lines.push(`\nAfter the user responds, write their answers to \`~/.jinn/knowledge/user-profile.md\` and \`~/.jinn/knowledge/preferences.md\`.`);
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. When you discover new information about the user, their projects, or their preferences:`);
720
- lines.push(`- Update \`~/.jinn/knowledge/user-profile.md\` with business/identity info`);
721
- lines.push(`- Update \`~/.jinn/knowledge/preferences.md\` with style/communication preferences`);
722
- lines.push(`- Update \`~/.jinn/knowledge/projects.md\` with project details`);
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,QAAqD,CAAC;AAC/E,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"}
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"}
@@ -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
- export const TEMPLATE_DIR = path.join(__dirname, "..", "..", "..", "template");
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");