@rubytech/create-maxy-code 0.1.39 → 0.1.40

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 (105) hide show
  1. package/dist/index.js +35 -101
  2. package/dist/uninstall.js +11 -102
  3. package/package.json +1 -1
  4. package/payload/platform/plugins/docs/references/deployment.md +7 -3
  5. package/payload/platform/plugins/docs/references/platform.md +1 -1
  6. package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
  7. package/payload/platform/services/claude-session-manager/dist/config.js +6 -1
  8. package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
  9. package/payload/platform/services/claude-session-manager/dist/hooks-discovery.d.ts +7 -0
  10. package/payload/platform/services/claude-session-manager/dist/hooks-discovery.d.ts.map +1 -0
  11. package/payload/platform/services/claude-session-manager/dist/hooks-discovery.js +90 -0
  12. package/payload/platform/services/claude-session-manager/dist/hooks-discovery.js.map +1 -0
  13. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  14. package/payload/platform/services/claude-session-manager/dist/http-server.js +62 -0
  15. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  16. package/payload/platform/services/claude-session-manager/dist/index.js +22 -2
  17. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  18. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +3 -1
  19. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  20. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +10 -3
  21. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  22. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +54 -0
  23. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  24. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +111 -0
  25. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  26. package/payload/platform/templates/agents/admin/IDENTITY.md +4 -2
  27. package/payload/platform/templates/agents/admin/SOUL.md +8 -14
  28. package/payload/server/{chunk-NNHHGQJL.js → chunk-4P2MPERV.js} +6 -163
  29. package/payload/server/{chunk-3G6JMV7N.js → chunk-MEGIQYUD.js} +1 -1
  30. package/payload/server/{chunk-QC5LHYPH.js → chunk-XJVJ2B2Q.js} +1 -1
  31. package/payload/server/{cloudflare-task-tracker-NEB3X6O2.js → cloudflare-task-tracker-R6MMORFU.js} +2 -2
  32. package/payload/server/maxy-edge.js +2 -2
  33. package/payload/server/public/assets/{Checkbox-CmCjmfJy.js → Checkbox-6lLDKzMP.js} +1 -1
  34. package/payload/server/public/assets/{admin-CtodW6As.js → admin-DO9W2D9g.js} +1 -1
  35. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CfOjbx0H.js → architectureDiagram-Q4EWVU46-BbLtk_k6.js} +1 -1
  36. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-D0kA2C9i.js → blockDiagram-DXYQGD6D-B9IgcgeJ.js} +1 -1
  37. package/payload/server/public/assets/{brand-6hKfBgOI.css → brand-DQrOw38P.css} +1 -1
  38. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CDgXiXgj.js → c4Diagram-AHTNJAMY-BrvPS09f.js} +1 -1
  39. package/payload/server/public/assets/channel-Bmc1qlCD.js +1 -0
  40. package/payload/server/public/assets/{chunk-336JU56O-BfBTcT5X.js → chunk-336JU56O-DXOr0ZnC.js} +2 -2
  41. package/payload/server/public/assets/{chunk-426QAEUC-BdSSZ1Kw.js → chunk-426QAEUC-BFW4zwrV.js} +1 -1
  42. package/payload/server/public/assets/{chunk-4TB4RGXK-UvE1im9g.js → chunk-4TB4RGXK-D7_xc8xf.js} +1 -1
  43. package/payload/server/public/assets/{chunk-5FUZZQ4R-Dx4DslXz.js → chunk-5FUZZQ4R-CdCSpb8j.js} +1 -1
  44. package/payload/server/public/assets/{chunk-5PVQY5BW-CNHawhLJ.js → chunk-5PVQY5BW-BVgnD9QR.js} +1 -1
  45. package/payload/server/public/assets/{chunk-EDXVE4YY-Rmjv-1et.js → chunk-EDXVE4YY-CYrT1Tom.js} +1 -1
  46. package/payload/server/public/assets/{chunk-ENJZ2VHE-CL-LeH3r.js → chunk-ENJZ2VHE-B70d0jN7.js} +1 -1
  47. package/payload/server/public/assets/{chunk-ICPOFSXX-B2MFOJDt.js → chunk-ICPOFSXX-BcLouRbd.js} +1 -1
  48. package/payload/server/public/assets/{chunk-OYMX7WX6-BxcIcCt5.js → chunk-OYMX7WX6-C2ja2fPj.js} +1 -1
  49. package/payload/server/public/assets/{chunk-U2HBQHQK-COzwOBrY.js → chunk-U2HBQHQK-CCjoTpL6.js} +1 -1
  50. package/payload/server/public/assets/{chunk-X2U36JSP-B0rjT5hL.js → chunk-X2U36JSP-QIVkp-XR.js} +1 -1
  51. package/payload/server/public/assets/{chunk-YZCP3GAM-pwrIw0XH.js → chunk-YZCP3GAM-qD9rebhx.js} +1 -1
  52. package/payload/server/public/assets/{chunk-ZZ45TVLE-BXpeAm0k.js → chunk-ZZ45TVLE-C0J_f05H.js} +1 -1
  53. package/payload/server/public/assets/classDiagram-6PBFFD2Q-RVZorqSk.js +1 -0
  54. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BEZem5bl.js +1 -0
  55. package/payload/server/public/assets/clone-B6eXIhiR.js +1 -0
  56. package/payload/server/public/assets/{dagre-DjOJn05k.js → dagre-B3cA7jId.js} +1 -1
  57. package/payload/server/public/assets/{dagre-KV5264BT-PczvQiEh.js → dagre-KV5264BT-C8lVFO5U.js} +1 -1
  58. package/payload/server/public/assets/data-BaSmBQ7U.js +1 -0
  59. package/payload/server/public/assets/{device-url-actions-C55ZS_Zg.js → device-url-actions-qu2-XiHc.js} +1 -1
  60. package/payload/server/public/assets/{diagram-5BDNPKRD-D477xo5F.js → diagram-5BDNPKRD-BYkcTelK.js} +1 -1
  61. package/payload/server/public/assets/{diagram-G4DWMVQ6-C-HAtbtT.js → diagram-G4DWMVQ6-B6f_WR4j.js} +1 -1
  62. package/payload/server/public/assets/{diagram-MMDJMWI5-B9wus4H0.js → diagram-MMDJMWI5-ALaKcN6w.js} +1 -1
  63. package/payload/server/public/assets/{diagram-TYMM5635-UMZLloFr.js → diagram-TYMM5635-CkVg3crF.js} +1 -1
  64. package/payload/server/public/assets/{erDiagram-SMLLAGMA-B8E52Mp4.js → erDiagram-SMLLAGMA-DszlTGIQ.js} +1 -1
  65. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CUel34tq.js → flowDiagram-DWJPFMVM-C9-FqSlk.js} +1 -1
  66. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BfwE-Xav.js → ganttDiagram-T4ZO3ILL-faJU-5Zy.js} +1 -1
  67. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-2d6tXRIM.js → gitGraphDiagram-UUTBAWPF-Cck8_tiG.js} +1 -1
  68. package/payload/server/public/assets/{graph-labels-Bg2Bzelb.js → graph-labels-COhLbJD0.js} +1 -1
  69. package/payload/server/public/assets/graph-qg6fkRyC.js +1 -0
  70. package/payload/server/public/assets/{graphlib-CCo9-wNJ.js → graphlib-CYRxeBXj.js} +1 -1
  71. package/payload/server/public/assets/{infoDiagram-42DDH7IO-DB1SVWL6.js → infoDiagram-42DDH7IO-CLjEjhJX.js} +1 -1
  72. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CdeMUTYS.js → ishikawaDiagram-UXIWVN3A-nSIaVXdw.js} +1 -1
  73. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-D8x8TUoc.js → journeyDiagram-VCZTEJTY-DuKq7d3g.js} +1 -1
  74. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Cmkhd1mO.js → kanban-definition-6JOO6SKY-Bt5xqHfY.js} +1 -1
  75. package/payload/server/public/assets/{line-CoHkpBv3.js → line-BgV8qCP_.js} +1 -1
  76. package/payload/server/public/assets/{mermaid-parser.core-C7R2PfZC.js → mermaid-parser.core-DQzl__pY.js} +1 -1
  77. package/payload/server/public/assets/{mermaid.core-lQaq-kll.js → mermaid.core-BAPEOjwh.js} +3 -3
  78. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CsPq3pX1.js → mindmap-definition-QFDTVHPH-CmMBrI79.js} +1 -1
  79. package/payload/server/public/assets/{page-DwEaAdVp.js → page-BoDdtGsH.js} +1 -1
  80. package/payload/server/public/assets/{page-CBKzjUHO.js → page-D_NCNi5j.js} +1 -1
  81. package/payload/server/public/assets/{pieDiagram-DEJITSTG-FZH9sTnP.js → pieDiagram-DEJITSTG-BhsR9k6j.js} +1 -1
  82. package/payload/server/public/assets/{public-hGLzxhE_.js → public-DCcGKIMW.js} +4 -4
  83. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-9poxfoqh.js → quadrantDiagram-34T5L4WZ-DSKV6d_A.js} +1 -1
  84. package/payload/server/public/assets/{requirementDiagram-MS252O5E-Ce7iOdT_.js → requirementDiagram-MS252O5E-BccM48AI.js} +1 -1
  85. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DINuXatI.js → sankeyDiagram-XADWPNL6-C0pxiQfn.js} +1 -1
  86. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-CSMec3EK.js → sequenceDiagram-FGHM5R23-BVsUIJsW.js} +1 -1
  87. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-15DKzypj.js → stateDiagram-FHFEXIEX-lqYQZ-F1.js} +1 -1
  88. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-D2eHThhC.js +1 -0
  89. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-BxIRc9Pu.js → timeline-definition-GMOUNBTQ-D-LxYOHq.js} +1 -1
  90. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DdgRyU55.js → vennDiagram-DHZGUBPP-BNHzvNba.js} +1 -1
  91. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-CKvhU1Uj.js → wardleyDiagram-NUSXRM2D-BfXR9l5s.js} +1 -1
  92. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-d0V1V4PD.js → xychartDiagram-5P7HB3ND-CL7mVEbT.js} +1 -1
  93. package/payload/server/public/data.html +5 -5
  94. package/payload/server/public/graph.html +6 -6
  95. package/payload/server/public/index.html +8 -8
  96. package/payload/server/public/public.html +5 -5
  97. package/payload/server/server.js +981 -859
  98. package/payload/server/public/assets/channel-DA7MGMzQ.js +0 -1
  99. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DqfmcWSr.js +0 -1
  100. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BVOMSbZ_.js +0 -1
  101. package/payload/server/public/assets/clone-Byp7hagU.js +0 -1
  102. package/payload/server/public/assets/data-A7azIkZU.js +0 -1
  103. package/payload/server/public/assets/graph-Dx83EhtP.js +0 -1
  104. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-AcaK_QfD.js +0 -1
  105. /package/payload/server/public/assets/{brand-DXOx08r0.js → brand-Bky-hMVw.js} +0 -0
@@ -82,12 +82,56 @@ function renderDormantPlugins(plugins) {
82
82
  const inner = lines.join('\n');
83
83
  return { body: inner, bytes: Buffer.byteLength(inner, 'utf8') };
84
84
  }
85
+ function renderPluginManifest(plugins) {
86
+ if (!plugins || plugins.length === 0)
87
+ return { body: null, bytes: 0 };
88
+ const parts = [];
89
+ for (const p of plugins) {
90
+ parts.push(`## ${p.name}`);
91
+ parts.push(p.description);
92
+ if (p.tools.length > 0) {
93
+ parts.push('Tools:');
94
+ for (const t of p.tools) {
95
+ parts.push(t.description ? `- ${t.name}: ${t.description}` : `- ${t.name}`);
96
+ }
97
+ }
98
+ if (p.skills.length > 0) {
99
+ parts.push('Skills:');
100
+ for (const s of p.skills) {
101
+ parts.push(s.description ? `- ${s.name}: ${s.description}` : `- ${s.name}`);
102
+ }
103
+ }
104
+ parts.push('');
105
+ }
106
+ const inner = parts.join('\n').replace(/\n+$/, '');
107
+ return { body: inner, bytes: Buffer.byteLength(inner, 'utf8') };
108
+ }
109
+ function renderSpecialistDomains(domains) {
110
+ if (!domains || domains.length === 0)
111
+ return { body: null, bytes: 0 };
112
+ const parts = [];
113
+ for (const d of domains) {
114
+ parts.push(`## ${d.name}`);
115
+ parts.push(d.description);
116
+ if (d.tools.length > 0) {
117
+ parts.push('Tools:');
118
+ for (const t of d.tools) {
119
+ parts.push(t.description ? `- ${t.name}: ${t.description}` : `- ${t.name}`);
120
+ }
121
+ }
122
+ parts.push('');
123
+ }
124
+ const inner = parts.join('\n').replace(/\n+$/, '');
125
+ return { body: inner, bytes: Buffer.byteLength(inner, 'utf8') };
126
+ }
85
127
  /** Pure renderer — no file IO. The block layout is the source of truth for
86
128
  * both the production `composeAppendSystemPrompt` (which reads files first)
87
129
  * and the boot-time self-test (which feeds synthetic content). */
88
130
  function renderAppendBlock(host, identityContent, soulContent, extras) {
89
131
  const aboutOwner = renderAboutOwner(extras.aboutOwner);
90
132
  const dormantPlugins = renderDormantPlugins(extras.dormantPlugins);
133
+ const pluginManifest = renderPluginManifest(extras.activePlugins);
134
+ const specialistDomains = renderSpecialistDomains(extras.specialistDomains);
91
135
  const tunnelLine = host.tunnelUrl ? host.tunnelUrl : 'none';
92
136
  const sections = [
93
137
  '<host>',
@@ -109,6 +153,12 @@ function renderAppendBlock(host, identityContent, soulContent, extras) {
109
153
  if (aboutOwner.body !== null) {
110
154
  sections.push('<about-owner>', aboutOwner.body, '</about-owner>');
111
155
  }
156
+ if (specialistDomains.body !== null) {
157
+ sections.push('<specialist-domains>', specialistDomains.body, '</specialist-domains>');
158
+ }
159
+ if (pluginManifest.body !== null) {
160
+ sections.push('<plugin-manifest>', pluginManifest.body, '</plugin-manifest>');
161
+ }
112
162
  if (dormantPlugins.body !== null) {
113
163
  sections.push('<dormant-plugins>', dormantPlugins.body, '</dormant-plugins>');
114
164
  }
@@ -116,6 +166,8 @@ function renderAppendBlock(host, identityContent, soulContent, extras) {
116
166
  block: sections.join('\n'),
117
167
  aboutOwnerBytes: aboutOwner.bytes,
118
168
  dormantPluginsBytes: dormantPlugins.bytes,
169
+ pluginManifestBytes: pluginManifest.bytes,
170
+ specialistDomainsBytes: specialistDomains.bytes,
119
171
  };
120
172
  }
121
173
  export function composeAppendSystemPrompt(host, sources, extras = {}) {
@@ -141,8 +193,48 @@ export function composeAppendSystemPrompt(host, sources, extras = {}) {
141
193
  soulBytes: Buffer.byteLength(soul.content, 'utf8'),
142
194
  aboutOwnerBytes: rendered.aboutOwnerBytes,
143
195
  dormantPluginsBytes: rendered.dormantPluginsBytes,
196
+ pluginManifestBytes: rendered.pluginManifestBytes,
197
+ specialistDomainsBytes: rendered.specialistDomainsBytes,
144
198
  };
145
199
  }
200
+ /** Boot-time IDENTITY-vs-composer drift assertion. Parses IDENTITY.md at
201
+ * `<accountDir>/agents/admin/IDENTITY.md`, extracts every `<sentinel-name>`
202
+ * reference the prose makes, and confirms the composer would emit each one
203
+ * for a sample admin session. The synthetic inputs exercise every optional
204
+ * sentinel so a missing emit is visible regardless of operator state.
205
+ *
206
+ * Returns ok:false with the first sentinel IDENTITY.md names that the
207
+ * composer does not emit. The caller LOUD-FAILs the manager start. */
208
+ export function runIdentityDriftAssertion(identityContent) {
209
+ // IDENTITY.md references sentinels as backticked `<name>` tokens in prose,
210
+ // e.g. "`<plugin-manifest>` lists each plugin …". Extract the inner names.
211
+ const referenced = new Set();
212
+ const re = /`<([a-z][a-z0-9-]*)>`/gi;
213
+ let m;
214
+ while ((m = re.exec(identityContent)) !== null) {
215
+ referenced.add(m[1]);
216
+ }
217
+ // Render with maximally-populated synthetic inputs.
218
+ const host = {
219
+ hostname: 'drift-check',
220
+ lanIPv4: '127.0.0.1',
221
+ adminUrl: 'http://drift-check:0',
222
+ tunnelUrl: null,
223
+ };
224
+ const rendered = renderAppendBlock(host, '# drift identity', '# drift soul', {
225
+ aboutOwner: { ok: true, body: 'drift owner' },
226
+ dormantPlugins: [{ name: 'p', description: 'd' }],
227
+ activePlugins: [{ name: 'p', description: 'd', tools: [{ name: 't' }], skills: [{ name: 's' }] }],
228
+ specialistDomains: [{ name: 'sp', description: 'd', tools: [{ name: 't' }] }],
229
+ });
230
+ const checked = Array.from(referenced).sort();
231
+ for (const name of checked) {
232
+ if (!rendered.block.includes(`<${name}>`)) {
233
+ return { ok: false, missing: name, sentinelsChecked: checked };
234
+ }
235
+ }
236
+ return { ok: true, sentinelsChecked: checked };
237
+ }
146
238
  /** Boot-time self-test: render the block with synthetic inputs that exercise
147
239
  * every optional sentinel, and assert the expected tags appear. Returns
148
240
  * ok:true on success, ok:false with the first missing tag on drift. The
@@ -159,6 +251,21 @@ export function runSystemPromptSelfTest() {
159
251
  const rendered = renderAppendBlock(host, '# self-test identity', '# self-test soul', {
160
252
  aboutOwner: { ok: true, body: '## About the Owner\n\nself-test owner' },
161
253
  dormantPlugins: [{ name: 'cloudflare', description: 'self-test plugin description' }],
254
+ activePlugins: [
255
+ {
256
+ name: 'self-test-plugin',
257
+ description: 'self-test plugin description',
258
+ tools: [{ name: 'self-test-tool', description: 'self-test tool description' }],
259
+ skills: [{ name: 'self-test-skill', description: 'self-test skill description' }],
260
+ },
261
+ ],
262
+ specialistDomains: [
263
+ {
264
+ name: 'self-test-specialist',
265
+ description: 'self-test specialist description',
266
+ tools: [{ name: 'self-test-specialist-tool', description: 'self-test specialist tool description' }],
267
+ },
268
+ ],
162
269
  });
163
270
  const required = [
164
271
  '<host>',
@@ -171,6 +278,10 @@ export function runSystemPromptSelfTest() {
171
278
  '</soul>',
172
279
  '<about-owner>',
173
280
  '</about-owner>',
281
+ '<plugin-manifest>',
282
+ '</plugin-manifest>',
283
+ '<specialist-domains>',
284
+ '</specialist-domains>',
174
285
  '<dormant-plugins>',
175
286
  '</dormant-plugins>',
176
287
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,14 @@ These three rules win when anything else in this prompt conflicts with them.
8
8
  2. **Be concise.** Three sentences or fewer. If you cannot answer in three, ask in five words.
9
9
  3. **Show your evidence.** Gather evidence before forming a hypothesis. One measurement beats three guesses.
10
10
 
11
- ## The owner
11
+ ## Never stop seeking
12
12
 
13
- The more you know about the owner, the better the work you can do. Never stop seeking information about them, prioritising what is pertinent to their current activities and objectives. The owner's activities and objectives are themselves first-class subjects to ask about.
13
+ The more you know about the owner, the better the work you can do. Never stop seeking information about them. Prioritise what is pertinent to their current activities and objectives. The owner's activities and objectives are themselves first-class subjects to ask about. Every turn that does not advance what you know about them — or what you can do for them — is a turn you can do better next time.
14
14
 
15
15
  Everything you learn in conversation is recorded for you by a background agent that watches every completed turn. You do not write to the graph yourself. Ask, listen, and act on what you have already been told; the recording is taken care of.
16
16
 
17
+ ## About the owner
18
+
17
19
  Remote access and public-facing channels are optional. Cloudflare Tunnel exposes the platform on a custom domain; WhatsApp, Telegram, and email reach the owner without one. If none is set up, explain each briefly when the conversation surfaces a need, and offer to assist. The execution paths are `setup-tunnel` (Cloudflare), the WhatsApp pairing flow, and the Telegram channel plugin.
18
20
 
19
21
  When the owner declines an offer, record the decline as a property on `Person` (e.g. `preferences.declinedRemoteAccess: true`) so you do not re-ask.
@@ -1,21 +1,15 @@
1
1
  # Soul
2
2
 
3
- ## Personality
4
-
5
- The architectural sensibility of an individual contributor. The operator whose output is a function of their own thinking, not their headcount. Pathologically averse to friction and noise in any process. Treats time, knowledge, and money as the three currencies of every decision and works to maximise all three for the owner.
6
-
7
- Quantitative by instinct. Comfortable with derivatives, distributions, and rates of change; comfortable with markdown, file paths, and graph queries. The same precision applied to either.
3
+ You are ${PRODUCT_NAME}, an AI operations manager. You free the operator from low-value desk work so their time goes to the customer chain.
8
4
 
9
- Believes the individual-contributor archetype is the future of work, that the owner is one of them, and that the operations layer should make that archetype viable at the scale of a real business. Acts accordingly: removes coordination overhead, never adds it.
5
+ ## Phase 1 standing offer
10
6
 
11
- ## Tone
7
+ Three things you do end-to-end, every time the conversation surfaces the need. Offer the relevant one in plain language, then run it.
12
8
 
13
- Precise. No filler ("just", "simply", "I think", "let me", "I'll go ahead and"). No narration of internal process ("checking", "searching", "let me look"). No padding around an answer.
9
+ - **Brochure production.** A listing URL plus an agent URL becomes a print-ready A4 brochure (HTML and PDF) without manual layout.
10
+ - **Preval production.** Property facts plus comparable data become a written pre-valuation the operator sends to a vendor before the appraisal visit.
11
+ - **Loop CRM management.** Read and write across all 8 Loop resource groups (properties, people, viewings, feedback, team, marketing, customer preferences, supplier operations) on the operator's behalf.
14
12
 
15
- Direct without being curt. The brevity is in service of the owner's time, not at the expense of the conversation. When a longer answer earns its length (a strategic question, a trade-off, a recommendation), give it the space it needs.
16
-
17
- State what is true. Caveat what is uncertain. Never confident wrong over honestly-checked. A flat "I'd need to check that" beats a confident guess.
18
-
19
- ## Greeting
13
+ ## Personality
20
14
 
21
- The greeting protocol now lives in IDENTITY.md alongside "How you sound". It binds against the `<about-owner>` and `<dormant-plugins>` sentinels the manager injects per-spawn. SOUL.md carries tone and personality; IDENTITY.md carries the per-turn behavioural anchor.
15
+ Precise. No filler, no narration of internal process. Direct without being curt. State what is true, caveat what is uncertain, never confident-wrong over honestly-checked.
@@ -86,7 +86,6 @@ function cacheConversationId(cacheKey, conversationId) {
86
86
  }
87
87
  }
88
88
  var GREETING_DIRECTIVE = "[New session. Greet the visitor.]";
89
- var DIRECTIVE_PREFIX = "[New session.";
90
89
  async function ensureConversation(accountId, agentType, cacheKey, visitorId, agentSlug, userId, channelOverride, channelAddressOverride) {
91
90
  const cached = getCachedConversationId(cacheKey);
92
91
  if (cached) return { conversationId: cached, created: false };
@@ -235,8 +234,7 @@ async function persistMessage(conversationId, role, content, accountId, tokens,
235
234
  // :WhatsAppMessage\u2192:UserMessage, crossing the live-channel chain.
236
235
  // The live writer's tail predicate is sublabel-scoped to
237
236
  // :WhatsAppMessage; this clause is the matching defence on the
238
- // agent side. Backward-compatible \u2014 pre-Task-857 graphs only carry
239
- // UserMessage/AssistantMessage sublabels under :Message.
237
+ // agent side.
240
238
  // Capture whether THIS write's guard will fire. Read c.summary
241
239
  // before the SET so the boolean reflects the pre-state, not the
242
240
  // post-state \u2014 a false positive otherwise when a new user message
@@ -560,53 +558,26 @@ async function verifyAndGetConversationUpdatedAt(conversationId, accountId) {
560
558
  await session.close();
561
559
  }
562
560
  }
563
- var LIST_BACKFILL_CAP = 3;
564
561
  async function listAdminSessions(accountId, userId, limit = 20) {
565
562
  const session = getSession();
566
563
  try {
567
564
  const result = await session.run(
568
565
  `MATCH (c:Conversation {accountId: $accountId, agentType: 'admin', userId: $userId})
569
566
  WHERE NOT c:Trashed
570
- WITH c
571
- ORDER BY c.updatedAt DESC
572
- LIMIT $limit
573
- CALL {
574
- WITH c
575
- OPTIONAL MATCH (m:Message)-[:PART_OF]->(c)
576
- WHERE m.role = 'user'
577
- AND c.name IS NULL
578
- AND NOT (m.content STARTS WITH '[New session.')
579
- AND NOT (m.content STARTS WITH '{"')
580
- AND size(m.content) >= 4
581
- RETURN m.content AS content, m.createdAt AS createdAt
582
- ORDER BY m.createdAt ASC
583
- LIMIT 1
584
- }
585
567
  RETURN c.conversationId AS conversationId,
586
568
  c.name AS name,
587
569
  c.updatedAt AS updatedAt,
588
- c.channel AS channel,
589
- content AS firstSubstantiveUserMessage`,
570
+ c.channel AS channel
571
+ ORDER BY c.updatedAt DESC
572
+ LIMIT $limit`,
590
573
  { accountId, userId, limit: neo4j.int(limit) }
591
574
  );
592
- const rows = result.records.map((r) => ({
575
+ return result.records.map((r) => ({
593
576
  conversationId: r.get("conversationId"),
594
577
  name: r.get("name"),
595
578
  updatedAt: String(r.get("updatedAt")),
596
- channel: r.get("channel"),
597
- firstSubstantiveUserMessage: r.get("firstSubstantiveUserMessage")
579
+ channel: r.get("channel")
598
580
  }));
599
- let backfillsKicked = 0;
600
- for (const row of rows) {
601
- if (backfillsKicked >= LIST_BACKFILL_CAP) break;
602
- if (row.name !== null) continue;
603
- const seed = row.firstSubstantiveUserMessage;
604
- if (!seed || !isMessageUseful(seed)) continue;
605
- backfillsKicked++;
606
- autoLabelSession(row.conversationId, seed).catch(() => {
607
- });
608
- }
609
- return rows.map(({ conversationId, name, updatedAt, channel }) => ({ conversationId, name, updatedAt, channel }));
610
581
  } catch (err) {
611
582
  console.error(`[persist] listAdminSessions failed: ${err instanceof Error ? err.message : String(err)}`);
612
583
  return [];
@@ -637,28 +608,11 @@ async function deleteConversation(conversationId) {
637
608
  await session.close();
638
609
  }
639
610
  }
640
- var GENERIC_MESSAGE = /^(h(i|ello|ey|owdy)|yo|sup|thanks|thank you|ok|okay|yes|no|good\s*(morning|afternoon|evening|night)|greetings|what'?s\s*up)[\s!?.,:;]*$/i;
641
611
  var SESSION_LABEL_MSG_CAP = 500;
642
612
  var SESSION_LABEL_TIMEOUT_MS = 15e3;
643
613
  var SESSION_LABEL_MODEL = HAIKU_MODEL;
644
614
  var SESSION_LABEL_MAX_WORDS = 6;
645
- var SESSION_LABEL_MAX_ATTEMPTS = 3;
646
615
  var SESSION_LABEL_MAX_STDERR = 2048;
647
- function isMessageUseful(message) {
648
- const trimmed = message.trim();
649
- if (trimmed.length < 4) return false;
650
- if (trimmed.startsWith('{"')) return false;
651
- if (GENERIC_MESSAGE.test(trimmed)) return false;
652
- if (trimmed.startsWith(DIRECTIVE_PREFIX)) return false;
653
- return true;
654
- }
655
- function totalFailures(f) {
656
- return f.skip + f.error;
657
- }
658
- function failureBreakdown(f) {
659
- return `skip:${f.skip} error:${f.error}`;
660
- }
661
- var labelAccumulator = /* @__PURE__ */ new Map();
662
616
  var _spawnOverride = null;
663
617
  var SESSION_LABEL_SYSTEM = `You are a session labeler. Given the opening messages of a conversation with an AI assistant, produce a concise topic label.
664
618
 
@@ -729,117 +683,6 @@ ${userContent}`;
729
683
  });
730
684
  });
731
685
  }
732
- async function autoLabelSession(conversationId, userMessage) {
733
- if (!conversationId) return;
734
- if (!isMessageUseful(userMessage)) {
735
- const trimmed = userMessage.trim();
736
- const reason = trimmed.startsWith('{"') ? "JSON envelope" : trimmed.startsWith(DIRECTIVE_PREFIX) ? "directive" : GENERIC_MESSAGE.test(trimmed) ? "greeting" : trimmed.length < 4 ? "too short" : "directive";
737
- console.error(`[persist] autoLabel: skipped ${conversationId.slice(0, 8)}\u2026 \u2014 ${reason}`);
738
- return;
739
- }
740
- try {
741
- const preCheck = getSession();
742
- try {
743
- const res = await preCheck.run(
744
- `MATCH (c:Conversation {conversationId: $conversationId})
745
- OPTIONAL MATCH (m:Message)-[:PART_OF]->(c)
746
- WHERE m.role = 'user'
747
- WITH c, count(m) AS userCount
748
- RETURN c.name AS name, userCount`,
749
- { conversationId }
750
- );
751
- const firstRecord = res.records[0];
752
- const existingName = firstRecord?.get("name");
753
- const userCountRaw = firstRecord?.get("userCount");
754
- const userCount = typeof userCountRaw === "object" && userCountRaw !== null ? Number(userCountRaw) : Number(userCountRaw ?? 0);
755
- if (existingName) {
756
- console.error(`[persist] autoLabel: already named ${conversationId.slice(0, 8)}\u2026 \u2014 skipping`);
757
- labelAccumulator.delete(conversationId);
758
- return;
759
- }
760
- if (userCount > 3) {
761
- console.error(`[persist] autoLabel: past autolabel window ${conversationId.slice(0, 8)}\u2026 \u2014 userCount=${userCount}, skipping`);
762
- labelAccumulator.delete(conversationId);
763
- return;
764
- }
765
- } finally {
766
- await preCheck.close();
767
- }
768
- } catch (err) {
769
- console.error(`[persist] autoLabel: pre-check read failed for ${conversationId.slice(0, 8)}\u2026 \u2014 proceeding: ${err instanceof Error ? err.message : String(err)}`);
770
- }
771
- let entry = labelAccumulator.get(conversationId);
772
- if (!entry) {
773
- entry = {
774
- messages: [],
775
- pending: false,
776
- failures: { skip: 0, error: 0 }
777
- };
778
- labelAccumulator.set(conversationId, entry);
779
- }
780
- if (totalFailures(entry.failures) >= SESSION_LABEL_MAX_ATTEMPTS) {
781
- console.error(`[persist] autoLabel: evicted ${conversationId.slice(0, 8)}\u2026 after ${SESSION_LABEL_MAX_ATTEMPTS} failed-attempts (${failureBreakdown(entry.failures)})`);
782
- labelAccumulator.delete(conversationId);
783
- return;
784
- }
785
- entry.messages.push(userMessage.trim());
786
- if (entry.pending) {
787
- console.error(`[persist] autoLabel: accumulated for ${conversationId.slice(0, 8)}\u2026 (pending, ${entry.messages.length} msgs)`);
788
- return;
789
- }
790
- entry.pending = true;
791
- try {
792
- const label = await generateSessionLabel(entry.messages);
793
- if (!label) {
794
- entry.failures.skip++;
795
- console.error(`[persist] autoLabel: generateSessionLabel returned null for ${conversationId.slice(0, 8)}\u2026 (failures ${failureBreakdown(entry.failures)}, ${entry.messages.length} msgs)`);
796
- entry.pending = false;
797
- return;
798
- }
799
- const fullLabel = `${label} \xB7 ${conversationId.slice(0, 8)}`;
800
- let embedding = null;
801
- try {
802
- embedding = await embed(fullLabel);
803
- } catch (err) {
804
- console.error(`[persist] Conversation embedding failed, labelling without: ${err instanceof Error ? err.message : String(err)}`);
805
- }
806
- const session = getSession();
807
- try {
808
- const result = await session.run(
809
- `MATCH (c:Conversation {conversationId: $conversationId})
810
- WHERE c.name IS NULL
811
- WITH c
812
- OPTIONAL MATCH (m:Message)-[:PART_OF]->(c)
813
- WHERE m.role = 'user'
814
- WITH c, count(m) AS userCount
815
- WHERE userCount <= 3
816
- SET c.name = $label, c.updatedAt = datetime()
817
- ${embedding ? ", c.embedding = $embedding" : ""}
818
- RETURN c.name AS name`,
819
- { conversationId, label: fullLabel, ...embedding ? { embedding } : {} }
820
- );
821
- if (result.records.length > 0) {
822
- console.error(`[persist] autoLabel: commit ${conversationId.slice(0, 8)}\u2026 name="${fullLabel}"${embedding ? " (embedded)" : ""}`);
823
- labelAccumulator.delete(conversationId);
824
- } else {
825
- console.error(`[persist] autoLabel: no-op commit ${conversationId.slice(0, 8)}\u2026 (name already set or userCount>3)`);
826
- labelAccumulator.delete(conversationId);
827
- }
828
- } catch (err) {
829
- entry.failures.error++;
830
- console.error(`[persist] autoLabelSession failed: ${err instanceof Error ? err.message : String(err)} (failures ${failureBreakdown(entry.failures)})`);
831
- } finally {
832
- await session.close();
833
- }
834
- } catch (err) {
835
- const currentEntry = labelAccumulator.get(conversationId);
836
- if (currentEntry) currentEntry.failures.error++;
837
- console.error(`[persist] autoLabel: unexpected error \u2014 ${err instanceof Error ? err.message : String(err)}${currentEntry ? ` (failures ${failureBreakdown(currentEntry.failures)})` : ""}`);
838
- } finally {
839
- const currentEntry = labelAccumulator.get(conversationId);
840
- if (currentEntry) currentEntry.pending = false;
841
- }
842
- }
843
686
  async function renameConversation(conversationId, label) {
844
687
  let embedding = null;
845
688
  try {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getConversationOwner
3
- } from "./chunk-NNHHGQJL.js";
3
+ } from "./chunk-4P2MPERV.js";
4
4
 
5
5
  // node_modules/hono/dist/compose.js
6
6
  var compose = (middleware, onError, onNotFound) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getSession
3
- } from "./chunk-NNHHGQJL.js";
3
+ } from "./chunk-4P2MPERV.js";
4
4
  import {
5
5
  __commonJS,
6
6
  __toESM
@@ -7,8 +7,8 @@ import {
7
7
  readTunnelState,
8
8
  recoverRunningCloudflareTasks,
9
9
  resolveUnitGoneVerdict
10
- } from "./chunk-QC5LHYPH.js";
11
- import "./chunk-NNHHGQJL.js";
10
+ } from "./chunk-XJVJ2B2Q.js";
11
+ import "./chunk-4P2MPERV.js";
12
12
  import "./chunk-JSBRDJBE.js";
13
13
  export {
14
14
  CLOUDFLARE_TASK_DIAGNOSTICS,
@@ -18,8 +18,8 @@ import {
18
18
  streamActionEvents,
19
19
  vncLog,
20
20
  websockifyLog
21
- } from "./chunk-3G6JMV7N.js";
22
- import "./chunk-NNHHGQJL.js";
21
+ } from "./chunk-MEGIQYUD.js";
22
+ import "./chunk-4P2MPERV.js";
23
23
  import "./chunk-JSBRDJBE.js";
24
24
 
25
25
  // server/edge.ts
@@ -1 +1 @@
1
- import{a as e}from"./brand-DXOx08r0.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};
1
+ import{a as e}from"./brand-Bky-hMVw.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};