@rubytech/create-maxy-code 0.1.311 → 0.1.312
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/payload/platform/lib/graph-style/dist/index.d.ts +5 -2
- package/payload/platform/lib/graph-style/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/graph-style/dist/index.js +65 -2
- package/payload/platform/lib/graph-style/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-style/src/__tests__/parity.test.ts +218 -0
- package/payload/platform/lib/graph-style/src/index.ts +53 -2
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +20 -2
- package/payload/platform/plugins/docs/references/admin-ui.md +19 -1
- package/payload/platform/services/claude-session-manager/dist/reseat-ledger.d.ts +10 -0
- package/payload/platform/services/claude-session-manager/dist/reseat-ledger.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/reseat-ledger.js +62 -53
- package/payload/platform/services/claude-session-manager/dist/reseat-ledger.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/scope-record.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/scope-record.js +35 -53
- package/payload/platform/services/claude-session-manager/dist/scope-record.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/sidecar-store.d.ts +45 -0
- package/payload/platform/services/claude-session-manager/dist/sidecar-store.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/sidecar-store.js +118 -0
- package/payload/platform/services/claude-session-manager/dist/sidecar-store.js.map +1 -0
- package/payload/server/public/assets/{AccessGate-ChFLk-rp.js → AccessGate-Dh5A79FU.js} +1 -1
- package/payload/server/public/assets/{AdminLoginScreens-DU6zgbk5.js → AdminLoginScreens-B8s2TbT7.js} +1 -1
- package/payload/server/public/assets/AdminShell-Cu1zlb6L.js +1 -0
- package/payload/server/public/assets/{Checkbox-CQGLKMXu.js → Checkbox-B_sOAyv1.js} +1 -1
- package/payload/server/public/assets/OperatorConversations-hm0Gpu_Q.js +1 -0
- package/payload/server/public/assets/{admin-COHPIWdb.js → admin-gZEndvJT.js} +1 -1
- package/payload/server/public/assets/{audio-attachment-mime-DL06xo72.js → audio-attachment-mime-B0b89VnH.js} +1 -1
- package/payload/server/public/assets/{brand-CN7uSSKl.css → brand-BcNavK6q.css} +1 -1
- package/payload/server/public/assets/{browser-L7N4tAOl.js → browser-BUlB5_MD.js} +1 -1
- package/payload/server/public/assets/chat-BnceaVl7.js +1 -0
- package/payload/server/public/assets/data-3Nl3P5wt.js +1 -0
- package/payload/server/public/assets/{graph-Cro3-mgY.js → graph-DMCKpW6P.js} +2 -2
- package/payload/server/public/assets/graph-labels-AZLGoVy8.js +1 -0
- package/payload/server/public/assets/operator-BF4F7k23.js +1 -0
- package/payload/server/public/assets/page-DQUEst1o.js +1 -0
- package/payload/server/public/assets/{public-CX148JKi.js → public-G_-UI9nB.js} +1 -1
- package/payload/server/public/assets/{public-next-BCItsUbZ.js → public-next-C8_nExQB.js} +1 -1
- package/payload/server/public/assets/{useSelectionMode-BHAAhkDg.js → useSelectionMode-Bf6Rt-sl.js} +1 -1
- package/payload/server/public/browser.html +6 -6
- package/payload/server/public/chat.html +8 -8
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +8 -8
- package/payload/server/public/index.html +8 -8
- package/payload/server/public/operator.html +10 -10
- package/payload/server/public/public-next.html +9 -9
- package/payload/server/public/public.html +7 -7
- package/payload/server/server.js +832 -444
- package/payload/server/public/assets/AdminShell-BJCYb1v5.js +0 -1
- package/payload/server/public/assets/OperatorConversations-CHEQTz20.js +0 -1
- package/payload/server/public/assets/chat-B_jYIH9a.js +0 -1
- package/payload/server/public/assets/data-BmSTKHR1.js +0 -1
- package/payload/server/public/assets/graph-labels-WQQn6JIJ.js +0 -1
- package/payload/server/public/assets/operator-B4I25isQ.js +0 -1
- package/payload/server/public/assets/page-B-6ZQ4JG.js +0 -1
- /package/payload/server/public/assets/{brand-MKGM8WZp.js → brand-BQ_u9UdS.js} +0 -0
package/package.json
CHANGED
|
@@ -64,8 +64,11 @@ export declare function formatMessageTimestamp(iso: string): string | null;
|
|
|
64
64
|
/**
|
|
65
65
|
* 24-char canvas label for a node. Label precedence per label family
|
|
66
66
|
* (ToolCall.toolName, WorkflowRun startedAt formatted, WorkflowStep.label,
|
|
67
|
-
* Person givenName+familyName compose, Agent displayName/slug,
|
|
68
|
-
*
|
|
67
|
+
* Person givenName+familyName compose, Agent displayName/slug, Job
|
|
68
|
+
* client+#jobId compose, QuoteDocument ref, InboundInvoice
|
|
69
|
+
* supplier+#confirmationNumber compose, WhatsAppGroup clientName,
|
|
70
|
+
* Message role+timestamp), then a generic
|
|
71
|
+
* fallthrough across curated keys
|
|
69
72
|
* (name, title, summary, givenName, subject, text) — :ConversationArchive
|
|
70
73
|
* rows (Task 397) carry a stable `title` written by the writer so they pick
|
|
71
74
|
* up the generic-fallback `title` key naturally. Finally a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyFtD,CAAA;AAED,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAE9C,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAE7C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAOzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,kBAAkB,CAU/E;AASD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAKD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7D;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjE;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyFtD,CAAA;AAED,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAE9C,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAE7C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAOzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,kBAAkB,CAU/E;AASD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAKD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7D;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAsF1D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAuD3D"}
|
|
@@ -170,8 +170,11 @@ function formatMessageTimestamp(iso) {
|
|
|
170
170
|
/**
|
|
171
171
|
* 24-char canvas label for a node. Label precedence per label family
|
|
172
172
|
* (ToolCall.toolName, WorkflowRun startedAt formatted, WorkflowStep.label,
|
|
173
|
-
* Person givenName+familyName compose, Agent displayName/slug,
|
|
174
|
-
*
|
|
173
|
+
* Person givenName+familyName compose, Agent displayName/slug, Job
|
|
174
|
+
* client+#jobId compose, QuoteDocument ref, InboundInvoice
|
|
175
|
+
* supplier+#confirmationNumber compose, WhatsAppGroup clientName,
|
|
176
|
+
* Message role+timestamp), then a generic
|
|
177
|
+
* fallthrough across curated keys
|
|
175
178
|
* (name, title, summary, givenName, subject, text) — :ConversationArchive
|
|
176
179
|
* rows (Task 397) carry a stable `title` written by the writer so they pick
|
|
177
180
|
* up the generic-fallback `title` key naturally. Finally a
|
|
@@ -217,6 +220,38 @@ function pickShortLabel(node) {
|
|
|
217
220
|
return v.length > 24 ? v.slice(0, 24) + '…' : v;
|
|
218
221
|
}
|
|
219
222
|
}
|
|
223
|
+
else if (primaryLabel === 'Job') {
|
|
224
|
+
const client = typeof props.client === 'string' ? props.client : '';
|
|
225
|
+
const jobId = typeof props.jobId === 'string' ? props.jobId : '';
|
|
226
|
+
const composed = [client, jobId.length > 0 ? `#${jobId}` : '']
|
|
227
|
+
.filter((s) => s.length > 0)
|
|
228
|
+
.join(' ');
|
|
229
|
+
if (composed.length > 0) {
|
|
230
|
+
return composed.length > 24 ? composed.slice(0, 24) + '…' : composed;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else if (primaryLabel === 'QuoteDocument') {
|
|
234
|
+
const ref = typeof props.ref === 'string' ? props.ref : '';
|
|
235
|
+
if (ref.length > 0) {
|
|
236
|
+
return ref.length > 24 ? ref.slice(0, 24) + '…' : ref;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (primaryLabel === 'InboundInvoice') {
|
|
240
|
+
const supplier = typeof props.supplier === 'string' ? props.supplier : '';
|
|
241
|
+
const conf = typeof props.confirmationNumber === 'string' ? props.confirmationNumber : '';
|
|
242
|
+
const composed = [supplier, conf.length > 0 ? `#${conf}` : '']
|
|
243
|
+
.filter((s) => s.length > 0)
|
|
244
|
+
.join(' ');
|
|
245
|
+
if (composed.length > 0) {
|
|
246
|
+
return composed.length > 24 ? composed.slice(0, 24) + '…' : composed;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else if (primaryLabel === 'WhatsAppGroup') {
|
|
250
|
+
const clientName = typeof props.clientName === 'string' ? props.clientName : '';
|
|
251
|
+
if (clientName.length > 0) {
|
|
252
|
+
return clientName.length > 24 ? clientName.slice(0, 24) + '…' : clientName;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
220
255
|
else if (primaryLabel === 'Message') {
|
|
221
256
|
const role = typeof props.role === 'string' ? props.role : '';
|
|
222
257
|
const roleShort = role === 'user' ? 'user'
|
|
@@ -283,6 +318,34 @@ function pickDisplayName(node) {
|
|
|
283
318
|
if (v.length > 0)
|
|
284
319
|
return v;
|
|
285
320
|
}
|
|
321
|
+
else if (primaryLabel === 'Job') {
|
|
322
|
+
const client = typeof props.client === 'string' ? props.client : '';
|
|
323
|
+
const jobId = typeof props.jobId === 'string' ? props.jobId : '';
|
|
324
|
+
const composed = [client, jobId.length > 0 ? `#${jobId}` : '']
|
|
325
|
+
.filter((s) => s.length > 0)
|
|
326
|
+
.join(' ');
|
|
327
|
+
if (composed.length > 0)
|
|
328
|
+
return composed;
|
|
329
|
+
}
|
|
330
|
+
else if (primaryLabel === 'QuoteDocument') {
|
|
331
|
+
const ref = typeof props.ref === 'string' ? props.ref : '';
|
|
332
|
+
if (ref.length > 0)
|
|
333
|
+
return ref;
|
|
334
|
+
}
|
|
335
|
+
else if (primaryLabel === 'InboundInvoice') {
|
|
336
|
+
const supplier = typeof props.supplier === 'string' ? props.supplier : '';
|
|
337
|
+
const conf = typeof props.confirmationNumber === 'string' ? props.confirmationNumber : '';
|
|
338
|
+
const composed = [supplier, conf.length > 0 ? `#${conf}` : '']
|
|
339
|
+
.filter((s) => s.length > 0)
|
|
340
|
+
.join(' ');
|
|
341
|
+
if (composed.length > 0)
|
|
342
|
+
return composed;
|
|
343
|
+
}
|
|
344
|
+
else if (primaryLabel === 'WhatsAppGroup') {
|
|
345
|
+
const clientName = typeof props.clientName === 'string' ? props.clientName : '';
|
|
346
|
+
if (clientName.length > 0)
|
|
347
|
+
return clientName;
|
|
348
|
+
}
|
|
286
349
|
for (const k of ['name', 'title', 'summary', 'givenName', 'subject', 'text']) {
|
|
287
350
|
const v = props[k];
|
|
288
351
|
if (typeof v === 'string' && v.length > 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,3 +112,221 @@ describe("pickDisplayName", () => {
|
|
|
112
112
|
).toBe(longName);
|
|
113
113
|
});
|
|
114
114
|
});
|
|
115
|
+
|
|
116
|
+
describe("pickShortLabel — Job", () => {
|
|
117
|
+
it("composes client + #jobId", () => {
|
|
118
|
+
expect(
|
|
119
|
+
pickShortLabel({
|
|
120
|
+
id: "x",
|
|
121
|
+
labels: ["Job"],
|
|
122
|
+
properties: { client: "Mr R French", jobId: "1842" },
|
|
123
|
+
}),
|
|
124
|
+
).toBe("Mr R French #1842");
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it("client only", () => {
|
|
128
|
+
expect(
|
|
129
|
+
pickShortLabel({ id: "x", labels: ["Job"], properties: { client: "Mr R French" } }),
|
|
130
|
+
).toBe("Mr R French");
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it("jobId only", () => {
|
|
134
|
+
expect(
|
|
135
|
+
pickShortLabel({ id: "x", labels: ["Job"], properties: { jobId: "1842" } }),
|
|
136
|
+
).toBe("#1842");
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it("neither falls back to the label", () => {
|
|
140
|
+
expect(
|
|
141
|
+
pickShortLabel({ id: "x", labels: ["Job"], properties: { status: "quoting" } }),
|
|
142
|
+
).toBe("Job");
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
it("truncates an over-cap composition to 24 chars + ellipsis", () => {
|
|
146
|
+
const out = pickShortLabel({
|
|
147
|
+
id: "x",
|
|
148
|
+
labels: ["Job"],
|
|
149
|
+
properties: { client: "Construction Client With An Extremely Long Trading Name Ltd", jobId: "1842" },
|
|
150
|
+
});
|
|
151
|
+
expect(out.length).toBeLessThanOrEqual(25);
|
|
152
|
+
expect(out.endsWith("…")).toBe(true);
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
describe("pickDisplayName — Job", () => {
|
|
157
|
+
it("returns the untruncated composition", () => {
|
|
158
|
+
expect(
|
|
159
|
+
pickDisplayName({
|
|
160
|
+
id: "x",
|
|
161
|
+
labels: ["Job"],
|
|
162
|
+
properties: { client: "Construction Client With An Extremely Long Trading Name Ltd", jobId: "1842" },
|
|
163
|
+
}),
|
|
164
|
+
).toBe("Construction Client With An Extremely Long Trading Name Ltd #1842");
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
it("Job with neither falls back to the label", () => {
|
|
168
|
+
expect(
|
|
169
|
+
pickDisplayName({ id: "x", labels: ["Job"], properties: { status: "quoting" } }),
|
|
170
|
+
).toBe("Job");
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
describe("pickShortLabel — QuoteDocument", () => {
|
|
175
|
+
it("renders the ref document number", () => {
|
|
176
|
+
expect(
|
|
177
|
+
pickShortLabel({ id: "x", labels: ["QuoteDocument"], properties: { ref: "Q-1042" } }),
|
|
178
|
+
).toBe("Q-1042");
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
it("falls back to the label when ref is absent", () => {
|
|
182
|
+
expect(
|
|
183
|
+
pickShortLabel({ id: "x", labels: ["QuoteDocument"], properties: { status: "draft" } }),
|
|
184
|
+
).toBe("QuoteDocument");
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
it("truncates an over-cap ref to 24 chars + ellipsis", () => {
|
|
188
|
+
const out = pickShortLabel({
|
|
189
|
+
id: "x",
|
|
190
|
+
labels: ["QuoteDocument"],
|
|
191
|
+
properties: { ref: "Q-this-quote-reference-is-far-too-long-to-fit" },
|
|
192
|
+
});
|
|
193
|
+
expect(out.length).toBeLessThanOrEqual(25);
|
|
194
|
+
expect(out.endsWith("…")).toBe(true);
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
describe("pickDisplayName — QuoteDocument", () => {
|
|
199
|
+
it("returns the untruncated ref", () => {
|
|
200
|
+
expect(
|
|
201
|
+
pickDisplayName({
|
|
202
|
+
id: "x",
|
|
203
|
+
labels: ["QuoteDocument"],
|
|
204
|
+
properties: { ref: "Q-this-quote-reference-is-far-too-long-to-fit" },
|
|
205
|
+
}),
|
|
206
|
+
).toBe("Q-this-quote-reference-is-far-too-long-to-fit");
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
it("falls back to the label when ref is absent", () => {
|
|
210
|
+
expect(
|
|
211
|
+
pickDisplayName({ id: "x", labels: ["QuoteDocument"], properties: { status: "draft" } }),
|
|
212
|
+
).toBe("QuoteDocument");
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
describe("pickShortLabel — InboundInvoice", () => {
|
|
217
|
+
it("composes supplier + #confirmationNumber", () => {
|
|
218
|
+
expect(
|
|
219
|
+
pickShortLabel({
|
|
220
|
+
id: "x",
|
|
221
|
+
labels: ["InboundInvoice"],
|
|
222
|
+
properties: { supplier: "Travis Perkins", confirmationNumber: "88123" },
|
|
223
|
+
}),
|
|
224
|
+
).toBe("Travis Perkins #88123");
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
it("supplier only", () => {
|
|
228
|
+
expect(
|
|
229
|
+
pickShortLabel({ id: "x", labels: ["InboundInvoice"], properties: { supplier: "Travis Perkins" } }),
|
|
230
|
+
).toBe("Travis Perkins");
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
it("confirmationNumber only", () => {
|
|
234
|
+
expect(
|
|
235
|
+
pickShortLabel({ id: "x", labels: ["InboundInvoice"], properties: { confirmationNumber: "88123" } }),
|
|
236
|
+
).toBe("#88123");
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
it("neither falls back to the label", () => {
|
|
240
|
+
expect(
|
|
241
|
+
pickShortLabel({ id: "x", labels: ["InboundInvoice"], properties: { status: "pending" } }),
|
|
242
|
+
).toBe("InboundInvoice");
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it("truncates an over-cap composition to 24 chars + ellipsis", () => {
|
|
246
|
+
const out = pickShortLabel({
|
|
247
|
+
id: "x",
|
|
248
|
+
labels: ["InboundInvoice"],
|
|
249
|
+
properties: { supplier: "Builders Merchant With An Extremely Long Trading Name Ltd", confirmationNumber: "88123" },
|
|
250
|
+
});
|
|
251
|
+
expect(out.length).toBeLessThanOrEqual(25);
|
|
252
|
+
expect(out.endsWith("…")).toBe(true);
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
describe("pickDisplayName — InboundInvoice", () => {
|
|
257
|
+
it("returns the untruncated composition", () => {
|
|
258
|
+
expect(
|
|
259
|
+
pickDisplayName({
|
|
260
|
+
id: "x",
|
|
261
|
+
labels: ["InboundInvoice"],
|
|
262
|
+
properties: { supplier: "Builders Merchant With An Extremely Long Trading Name Ltd", confirmationNumber: "88123" },
|
|
263
|
+
}),
|
|
264
|
+
).toBe("Builders Merchant With An Extremely Long Trading Name Ltd #88123");
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
it("neither falls back to the label", () => {
|
|
268
|
+
expect(
|
|
269
|
+
pickDisplayName({ id: "x", labels: ["InboundInvoice"], properties: { status: "pending" } }),
|
|
270
|
+
).toBe("InboundInvoice");
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
describe("pickShortLabel — WhatsAppGroup", () => {
|
|
275
|
+
it("renders clientName", () => {
|
|
276
|
+
expect(
|
|
277
|
+
pickShortLabel({ id: "x", labels: ["WhatsAppGroup"], properties: { clientName: "Mr R French", groupId: "123@g.us" } }),
|
|
278
|
+
).toBe("Mr R French");
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
it("falls back to the label when clientName is absent (groupId is not used for display)", () => {
|
|
282
|
+
expect(
|
|
283
|
+
pickShortLabel({ id: "x", labels: ["WhatsAppGroup"], properties: { groupId: "123@g.us" } }),
|
|
284
|
+
).toBe("WhatsAppGroup");
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
it("truncates an over-cap clientName to 24 chars + ellipsis", () => {
|
|
288
|
+
const out = pickShortLabel({
|
|
289
|
+
id: "x",
|
|
290
|
+
labels: ["WhatsAppGroup"],
|
|
291
|
+
properties: { clientName: "Construction Client With An Extremely Long Trading Name Ltd" },
|
|
292
|
+
});
|
|
293
|
+
expect(out.length).toBeLessThanOrEqual(25);
|
|
294
|
+
expect(out.endsWith("…")).toBe(true);
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
describe("pickDisplayName — WhatsAppGroup", () => {
|
|
299
|
+
it("returns the untruncated clientName", () => {
|
|
300
|
+
expect(
|
|
301
|
+
pickDisplayName({
|
|
302
|
+
id: "x",
|
|
303
|
+
labels: ["WhatsAppGroup"],
|
|
304
|
+
properties: { clientName: "Construction Client With An Extremely Long Trading Name Ltd" },
|
|
305
|
+
}),
|
|
306
|
+
).toBe("Construction Client With An Extremely Long Trading Name Ltd");
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
it("falls back to the label when clientName is absent", () => {
|
|
310
|
+
expect(
|
|
311
|
+
pickDisplayName({ id: "x", labels: ["WhatsAppGroup"], properties: { groupId: "123@g.us" } }),
|
|
312
|
+
).toBe("WhatsAppGroup");
|
|
313
|
+
});
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
describe("regression — Job and generic labels unaffected by the new branches", () => {
|
|
317
|
+
it("Job still composes client + #jobId", () => {
|
|
318
|
+
expect(
|
|
319
|
+
pickShortLabel({ id: "x", labels: ["Job"], properties: { client: "Mr R French", jobId: "1842" } }),
|
|
320
|
+
).toBe("Mr R French #1842");
|
|
321
|
+
});
|
|
322
|
+
it("Person still composes given+family", () => {
|
|
323
|
+
expect(
|
|
324
|
+
pickShortLabel({ id: "x", labels: ["Person"], properties: { givenName: "Dan", familyName: "Brett" } }),
|
|
325
|
+
).toBe("Dan Brett");
|
|
326
|
+
});
|
|
327
|
+
it("generic name-bearing node unaffected", () => {
|
|
328
|
+
expect(
|
|
329
|
+
pickShortLabel({ id: "x", labels: ["LocalBusiness"], properties: { name: "Acme" } }),
|
|
330
|
+
).toBe("Acme");
|
|
331
|
+
});
|
|
332
|
+
});
|
|
@@ -203,8 +203,11 @@ export function formatMessageTimestamp(iso: string): string | null {
|
|
|
203
203
|
/**
|
|
204
204
|
* 24-char canvas label for a node. Label precedence per label family
|
|
205
205
|
* (ToolCall.toolName, WorkflowRun startedAt formatted, WorkflowStep.label,
|
|
206
|
-
* Person givenName+familyName compose, Agent displayName/slug,
|
|
207
|
-
*
|
|
206
|
+
* Person givenName+familyName compose, Agent displayName/slug, Job
|
|
207
|
+
* client+#jobId compose, QuoteDocument ref, InboundInvoice
|
|
208
|
+
* supplier+#confirmationNumber compose, WhatsAppGroup clientName,
|
|
209
|
+
* Message role+timestamp), then a generic
|
|
210
|
+
* fallthrough across curated keys
|
|
208
211
|
* (name, title, summary, givenName, subject, text) — :ConversationArchive
|
|
209
212
|
* rows (Task 397) carry a stable `title` written by the writer so they pick
|
|
210
213
|
* up the generic-fallback `title` key naturally. Finally a
|
|
@@ -244,6 +247,34 @@ export function pickShortLabel(node: GraphNodeLike): string {
|
|
|
244
247
|
if (v.length > 0) {
|
|
245
248
|
return v.length > 24 ? v.slice(0, 24) + '…' : v
|
|
246
249
|
}
|
|
250
|
+
} else if (primaryLabel === 'Job') {
|
|
251
|
+
const client = typeof props.client === 'string' ? props.client : ''
|
|
252
|
+
const jobId = typeof props.jobId === 'string' ? props.jobId : ''
|
|
253
|
+
const composed = [client, jobId.length > 0 ? `#${jobId}` : '']
|
|
254
|
+
.filter((s) => s.length > 0)
|
|
255
|
+
.join(' ')
|
|
256
|
+
if (composed.length > 0) {
|
|
257
|
+
return composed.length > 24 ? composed.slice(0, 24) + '…' : composed
|
|
258
|
+
}
|
|
259
|
+
} else if (primaryLabel === 'QuoteDocument') {
|
|
260
|
+
const ref = typeof props.ref === 'string' ? props.ref : ''
|
|
261
|
+
if (ref.length > 0) {
|
|
262
|
+
return ref.length > 24 ? ref.slice(0, 24) + '…' : ref
|
|
263
|
+
}
|
|
264
|
+
} else if (primaryLabel === 'InboundInvoice') {
|
|
265
|
+
const supplier = typeof props.supplier === 'string' ? props.supplier : ''
|
|
266
|
+
const conf = typeof props.confirmationNumber === 'string' ? props.confirmationNumber : ''
|
|
267
|
+
const composed = [supplier, conf.length > 0 ? `#${conf}` : '']
|
|
268
|
+
.filter((s) => s.length > 0)
|
|
269
|
+
.join(' ')
|
|
270
|
+
if (composed.length > 0) {
|
|
271
|
+
return composed.length > 24 ? composed.slice(0, 24) + '…' : composed
|
|
272
|
+
}
|
|
273
|
+
} else if (primaryLabel === 'WhatsAppGroup') {
|
|
274
|
+
const clientName = typeof props.clientName === 'string' ? props.clientName : ''
|
|
275
|
+
if (clientName.length > 0) {
|
|
276
|
+
return clientName.length > 24 ? clientName.slice(0, 24) + '…' : clientName
|
|
277
|
+
}
|
|
247
278
|
} else if (primaryLabel === 'Message') {
|
|
248
279
|
const role = typeof props.role === 'string' ? props.role : ''
|
|
249
280
|
const roleShort =
|
|
@@ -300,6 +331,26 @@ export function pickDisplayName(node: GraphNodeLike): string {
|
|
|
300
331
|
const slug = typeof props.slug === 'string' ? props.slug : ''
|
|
301
332
|
const v = dn.length > 0 ? dn : slug
|
|
302
333
|
if (v.length > 0) return v
|
|
334
|
+
} else if (primaryLabel === 'Job') {
|
|
335
|
+
const client = typeof props.client === 'string' ? props.client : ''
|
|
336
|
+
const jobId = typeof props.jobId === 'string' ? props.jobId : ''
|
|
337
|
+
const composed = [client, jobId.length > 0 ? `#${jobId}` : '']
|
|
338
|
+
.filter((s) => s.length > 0)
|
|
339
|
+
.join(' ')
|
|
340
|
+
if (composed.length > 0) return composed
|
|
341
|
+
} else if (primaryLabel === 'QuoteDocument') {
|
|
342
|
+
const ref = typeof props.ref === 'string' ? props.ref : ''
|
|
343
|
+
if (ref.length > 0) return ref
|
|
344
|
+
} else if (primaryLabel === 'InboundInvoice') {
|
|
345
|
+
const supplier = typeof props.supplier === 'string' ? props.supplier : ''
|
|
346
|
+
const conf = typeof props.confirmationNumber === 'string' ? props.confirmationNumber : ''
|
|
347
|
+
const composed = [supplier, conf.length > 0 ? `#${conf}` : '']
|
|
348
|
+
.filter((s) => s.length > 0)
|
|
349
|
+
.join(' ')
|
|
350
|
+
if (composed.length > 0) return composed
|
|
351
|
+
} else if (primaryLabel === 'WhatsAppGroup') {
|
|
352
|
+
const clientName = typeof props.clientName === 'string' ? props.clientName : ''
|
|
353
|
+
if (clientName.length > 0) return clientName
|
|
303
354
|
}
|
|
304
355
|
for (const k of ['name', 'title', 'summary', 'givenName', 'subject', 'text']) {
|
|
305
356
|
const v = props[k]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: platform-architecture
|
|
3
3
|
description: Use when grounding any documented-surface claim about what Maxy ships — plugins, skills, specialists, install/deploy flows, internals. This is the install catalogue, not evidence of what is enabled on the current account. For install state on this account, call `capabilities-here`; for documented surface, cite the `Source:` URL inline.
|
|
4
|
-
content-hash: sha256:
|
|
4
|
+
content-hash: sha256:14ea06161a5423a4a55415fac3ef50699469968a7224fa04fa9ace74757c616f
|
|
5
5
|
brand: maxy-code
|
|
6
6
|
product-name: Maxy
|
|
7
7
|
---
|
|
@@ -2309,7 +2309,7 @@ either is a regression.
|
|
|
2309
2309
|
| `/sidebar-artefact-content` | Reads a single artefact's bytes for the artefact pane. |
|
|
2310
2310
|
| `/sidebar-artefact-save` | Persists an artefact edit. |
|
|
2311
2311
|
| `/attachment` | Per-attachment binary fetch (images, PDFs, etc.). |
|
|
2312
|
-
| `/files` | File browser CRUD (list, download, upload, delete). Listings put directories first, then files newest-first by `mtime` (name tie-break) so a just-changed file leads the panel. |
|
|
2312
|
+
| `/files` | File browser CRUD (list, download, upload, delete). Listings put directories first, then files newest-first by `mtime` (name tie-break) so a just-changed file leads the panel. Upload is a raw-body stream (file bytes are the request body; `session_key`/`path`/`filename` in the query) written to disk without buffering — ceiling 2 GB (`MAX_DATA_UPLOAD_BYTES`), over-ceiling bodies abort mid-stream with `413`; the client shows a determinate progress bar. Distinct from the 50 MB in-memory chat-attachment cap. |
|
|
2313
2313
|
|
|
2314
2314
|
**Artefact download resolution.** Clicking a sidebar Artefacts row
|
|
2315
2315
|
streams the `KnowledgeDocument`'s real backing file, which can live in one of
|
|
@@ -2337,6 +2337,24 @@ that folder instead of snapping back to the data root; the hash never reaches
|
|
|
2337
2337
|
the server and `/data` has no client router, so the channel is isolated.
|
|
2338
2338
|
`path=` is cleared at the root for a clean URL.
|
|
2339
2339
|
|
|
2340
|
+
**`/data` upload — button and drag-drop.** Besides the Upload button (one OS-picked
|
|
2341
|
+
file, stored under a timestamped name), files and whole folders can be dragged
|
|
2342
|
+
onto the file-browser body to upload into the open folder. A dropped folder's
|
|
2343
|
+
subtree is recreated under the open folder and every contained file uploaded,
|
|
2344
|
+
preserving source names and relative paths (a same-named file in an existing
|
|
2345
|
+
folder is overwritten; empty source subfolders are skipped). The drop region
|
|
2346
|
+
shows an active outline while a drag is over it and is inert wherever the open
|
|
2347
|
+
folder is not writable (outside the operator's own `accounts/<id>/…` subtree),
|
|
2348
|
+
rejecting the drop with the same "Open a folder inside your account to upload"
|
|
2349
|
+
guidance as the button. Each drop reports an uploaded/skipped summary; a file
|
|
2350
|
+
that fails the 50 MB limit, the MIME allowlist, or its HTTP write is skipped
|
|
2351
|
+
individually without aborting the rest, and every uploaded file is indexed for
|
|
2352
|
+
search exactly as the button path is. The server `/files/upload` endpoint takes
|
|
2353
|
+
an optional `relpath` form field (the file's path relative to the drop root); it
|
|
2354
|
+
recreates that path's directories under the open folder, scope-checked level by
|
|
2355
|
+
level, and writes the file under its original basename. A flat upload (no
|
|
2356
|
+
`relpath`) is unchanged.
|
|
2357
|
+
|
|
2340
2358
|
**`/data` operator surface.** `/data` mounts the operator
|
|
2341
2359
|
`HeaderMenu` (logo-left / name-centre / burger-right; flyout = Chat / Data /
|
|
2342
2360
|
Log out) above the toolbar — the burger's Chat item returns to `/`, replacing
|
|
@@ -78,7 +78,7 @@ either is a regression.
|
|
|
78
78
|
| `/sidebar-artefact-content` | Reads a single artefact's bytes for the artefact pane. |
|
|
79
79
|
| `/sidebar-artefact-save` | Persists an artefact edit. |
|
|
80
80
|
| `/attachment` | Per-attachment binary fetch (images, PDFs, etc.). |
|
|
81
|
-
| `/files` | File browser CRUD (list, download, upload, delete). Listings put directories first, then files newest-first by `mtime` (name tie-break) so a just-changed file leads the panel. |
|
|
81
|
+
| `/files` | File browser CRUD (list, download, upload, delete). Listings put directories first, then files newest-first by `mtime` (name tie-break) so a just-changed file leads the panel. Upload is a raw-body stream (file bytes are the request body; `session_key`/`path`/`filename` in the query) written to disk without buffering — ceiling 2 GB (`MAX_DATA_UPLOAD_BYTES`), over-ceiling bodies abort mid-stream with `413`; the client shows a determinate progress bar. Distinct from the 50 MB in-memory chat-attachment cap. |
|
|
82
82
|
|
|
83
83
|
**Artefact download resolution.** Clicking a sidebar Artefacts row
|
|
84
84
|
streams the `KnowledgeDocument`'s real backing file, which can live in one of
|
|
@@ -106,6 +106,24 @@ that folder instead of snapping back to the data root; the hash never reaches
|
|
|
106
106
|
the server and `/data` has no client router, so the channel is isolated.
|
|
107
107
|
`path=` is cleared at the root for a clean URL.
|
|
108
108
|
|
|
109
|
+
**`/data` upload — button and drag-drop.** Besides the Upload button (one OS-picked
|
|
110
|
+
file, stored under a timestamped name), files and whole folders can be dragged
|
|
111
|
+
onto the file-browser body to upload into the open folder. A dropped folder's
|
|
112
|
+
subtree is recreated under the open folder and every contained file uploaded,
|
|
113
|
+
preserving source names and relative paths (a same-named file in an existing
|
|
114
|
+
folder is overwritten; empty source subfolders are skipped). The drop region
|
|
115
|
+
shows an active outline while a drag is over it and is inert wherever the open
|
|
116
|
+
folder is not writable (outside the operator's own `accounts/<id>/…` subtree),
|
|
117
|
+
rejecting the drop with the same "Open a folder inside your account to upload"
|
|
118
|
+
guidance as the button. Each drop reports an uploaded/skipped summary; a file
|
|
119
|
+
that fails the 50 MB limit, the MIME allowlist, or its HTTP write is skipped
|
|
120
|
+
individually without aborting the rest, and every uploaded file is indexed for
|
|
121
|
+
search exactly as the button path is. The server `/files/upload` endpoint takes
|
|
122
|
+
an optional `relpath` form field (the file's path relative to the drop root); it
|
|
123
|
+
recreates that path's directories under the open folder, scope-checked level by
|
|
124
|
+
level, and writes the file under its original basename. A flat upload (no
|
|
125
|
+
`relpath`) is unchanged.
|
|
126
|
+
|
|
109
127
|
**`/data` operator surface.** `/data` mounts the operator
|
|
110
128
|
`HeaderMenu` (logo-left / name-centre / burger-right; flyout = Chat / Data /
|
|
111
129
|
Log out) above the toolbar — the burger's Chat item returns to `/`, replacing
|
|
@@ -25,6 +25,16 @@ export interface ReseatChainResult {
|
|
|
25
25
|
* Cycle-guarded by a visited set and a hard depth cap.
|
|
26
26
|
*/
|
|
27
27
|
export declare function resolveReseatChain(sessionsDir: string, sourceSessionId: string, jsonlExists: (sessionId: string) => boolean, maxDepth?: number): ReseatChainResult;
|
|
28
|
+
/**
|
|
29
|
+
* The inverse of resolveReseatChain. Given a fork id whose own JSONL does not
|
|
30
|
+
* exist yet (claude --fork-session flushes the copied history only at the
|
|
31
|
+
* fork's first turn), walk the ledger back to the nearest ancestor whose JSONL
|
|
32
|
+
* exists, so the resolver can serve that source transcript read-only until the
|
|
33
|
+
* fork materialises. Returns the source id, or null when forkSessionId is not a
|
|
34
|
+
* recorded fork or no ancestor has a JSONL. Cycle-guarded by a visited set and
|
|
35
|
+
* depth-capped, mirroring resolveReseatChain.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveBridgeSource(sessionsDir: string, forkSessionId: string, jsonlExists: (sessionId: string) => boolean, maxDepth?: number): string | null;
|
|
28
38
|
export interface ReseatReconcileResult {
|
|
29
39
|
scanned: number;
|
|
30
40
|
stopped: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reseat-ledger.d.ts","sourceRoot":"","sources":["../src/reseat-ledger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reseat-ledger.d.ts","sourceRoot":"","sources":["../src/reseat-ledger.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKxC,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,EAAE,EAAE,MAAM,CAAA;CACX;AAcD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,IAAI,CAQN;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAElG;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAIxF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQpG;AAED,MAAM,WAAW,iBAAiB;IAChC,+FAA+F;IAC/F,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAA;IACnB,sFAAsF;IACtF,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC3C,QAAQ,GAAE,MAA+B,GACxC,iBAAiB,CAwBnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC3C,QAAQ,GAAE,MAA+B,GACxC,MAAM,GAAG,IAAI,CAiBf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EACtC,IAAI,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9E,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC3C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
|