@lore-co/core 0.1.13 → 0.1.15

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.
@@ -0,0 +1,355 @@
1
+ import { z } from "zod";
2
+ import { ConnectorEventTypeSchema, ConnectorNameSchema, } from "./pilot-schemas.js";
3
+ import { ContextPackingSchema, MemoryCategorySchema, MemorySchema, MemoryStatusSchema, RetrievalHitSchema, } from "./schemas.js";
4
+ export const WorkSessionSchema = z
5
+ .object({
6
+ id: z.uuid(),
7
+ workspaceId: z.uuid(),
8
+ connector: z.string().trim().min(1).max(100),
9
+ externalSessionId: z.string().trim().min(1).max(500),
10
+ agent: z.string().trim().min(1).max(100),
11
+ project: z.string().nullable(),
12
+ repo: z.string().nullable(),
13
+ title: z.string().nullable(),
14
+ parentSessionId: z.uuid().nullable(),
15
+ rootSessionId: z.uuid().nullable(),
16
+ machineId: z.uuid().nullable(),
17
+ startedAt: z.iso.datetime({ offset: true }),
18
+ lastActivityAt: z.iso.datetime({ offset: true }),
19
+ endedAt: z.iso.datetime({ offset: true }).nullable(),
20
+ eventCount: z.number().int().nonnegative(),
21
+ metadata: z.record(z.string(), z.unknown()),
22
+ })
23
+ .strict();
24
+ export const MachineNameSchema = z
25
+ .string()
26
+ .trim()
27
+ .toLowerCase()
28
+ .min(1)
29
+ .max(100)
30
+ .regex(/^[a-z0-9][a-z0-9._-]*$/u, "Machine names use lowercase letters, digits, dots, dashes, and underscores");
31
+ export const MachineSchema = z
32
+ .object({
33
+ id: z.uuid(),
34
+ workspaceId: z.uuid(),
35
+ name: MachineNameSchema,
36
+ os: z.string().nullable(),
37
+ arch: z.string().nullable(),
38
+ cliVersion: z.string().nullable(),
39
+ createdAt: z.iso.datetime({ offset: true }),
40
+ lastSeenAt: z.iso.datetime({ offset: true }),
41
+ })
42
+ .strict();
43
+ export const RegisterMachineRequestSchema = z
44
+ .object({
45
+ name: MachineNameSchema,
46
+ os: z.string().trim().min(1).max(100).optional(),
47
+ arch: z.string().trim().min(1).max(100).optional(),
48
+ cliVersion: z.string().trim().min(1).max(100).optional(),
49
+ })
50
+ .strict();
51
+ export const MachineSummarySchema = MachineSchema.extend({
52
+ runningRuntimes: z.number().int().nonnegative(),
53
+ }).strict();
54
+ export const ListMachinesResponseSchema = z
55
+ .object({
56
+ machines: z.array(MachineSummarySchema),
57
+ })
58
+ .strict();
59
+ export const LiveRuntimeStatusSchema = z.enum(["running", "exited"]);
60
+ export const LiveRuntimeSchema = z
61
+ .object({
62
+ id: z.uuid(),
63
+ workspaceId: z.uuid(),
64
+ machineId: z.uuid(),
65
+ machineName: MachineNameSchema,
66
+ connector: z.string().trim().min(1).max(100),
67
+ externalSessionId: z.string().trim().min(1).max(500),
68
+ agent: z.string().trim().min(1).max(100),
69
+ command: z.string().trim().min(1).max(500),
70
+ repo: z.string().nullable(),
71
+ project: z.string().nullable(),
72
+ status: LiveRuntimeStatusSchema,
73
+ startedAt: z.iso.datetime({ offset: true }),
74
+ lastHeartbeatAt: z.iso.datetime({ offset: true }),
75
+ exitedAt: z.iso.datetime({ offset: true }).nullable(),
76
+ })
77
+ .strict();
78
+ export const RegisterRuntimeRequestSchema = z
79
+ .object({
80
+ machineId: z.uuid(),
81
+ connector: z.string().trim().min(1).max(100),
82
+ externalSessionId: z.string().trim().min(1).max(500),
83
+ agent: z.string().trim().min(1).max(100),
84
+ command: z.string().trim().min(1).max(500),
85
+ repo: z.string().trim().min(1).max(1_000).optional(),
86
+ project: z.string().trim().min(1).max(500).optional(),
87
+ })
88
+ .strict();
89
+ export const RuntimeHeartbeatRequestSchema = z
90
+ .object({
91
+ status: LiveRuntimeStatusSchema,
92
+ })
93
+ .strict();
94
+ export const ListRuntimesQuerySchema = z
95
+ .object({
96
+ machine: MachineNameSchema.optional(),
97
+ status: LiveRuntimeStatusSchema.optional(),
98
+ })
99
+ .strict();
100
+ export const ListRuntimesResponseSchema = z
101
+ .object({
102
+ runtimes: z.array(LiveRuntimeSchema),
103
+ })
104
+ .strict();
105
+ export const ListWorkSessionsQuerySchema = z
106
+ .object({
107
+ repo: z.string().trim().min(1).max(1_000).optional(),
108
+ project: z.string().trim().min(1).max(500).optional(),
109
+ agent: z.string().trim().min(1).max(100).optional(),
110
+ connector: ConnectorNameSchema.optional(),
111
+ limit: z.coerce.number().int().positive().max(100).optional(),
112
+ offset: z.coerce.number().int().nonnegative().optional(),
113
+ })
114
+ .strict();
115
+ export const ListWorkSessionsResponseSchema = z
116
+ .object({
117
+ sessions: z.array(WorkSessionSchema),
118
+ total: z.number().int().nonnegative(),
119
+ limit: z.number().int().positive(),
120
+ offset: z.number().int().nonnegative(),
121
+ })
122
+ .strict();
123
+ export const SessionEventDigestSchema = z
124
+ .object({
125
+ eventId: z.uuid(),
126
+ type: ConnectorEventTypeSchema,
127
+ occurredAt: z.iso.datetime({ offset: true }),
128
+ task: z.string().nullable(),
129
+ userText: z.string().nullable(),
130
+ assistantText: z.string().nullable(),
131
+ })
132
+ .strict();
133
+ export const SessionMemorySummarySchema = z
134
+ .object({
135
+ id: z.uuid(),
136
+ content: z.string(),
137
+ category: MemoryCategorySchema,
138
+ status: MemoryStatusSchema,
139
+ })
140
+ .strict();
141
+ export const WorkSessionDetailResponseSchema = z
142
+ .object({
143
+ session: WorkSessionSchema,
144
+ events: z.array(SessionEventDigestSchema),
145
+ learnings: z.array(SessionMemorySummarySchema),
146
+ deliveredMemories: z.array(SessionMemorySummarySchema),
147
+ })
148
+ .strict();
149
+ export const AskRequestSchema = z
150
+ .object({
151
+ question: z.string().trim().min(1).max(10_000),
152
+ agent: z.string().trim().min(1).max(100).optional(),
153
+ project: z.string().trim().min(1).max(500).optional(),
154
+ repo: z.string().trim().min(1).max(1_000).optional(),
155
+ /**
156
+ * External session id of the asking session. When it belongs to a
157
+ * lineage, ancestor sessions are boosted in session-context ranking.
158
+ */
159
+ sessionId: z.string().trim().min(1).max(500).optional(),
160
+ limit: z.number().int().positive().max(20).optional(),
161
+ includeSessions: z.boolean().optional(),
162
+ sessionLimit: z.number().int().positive().max(10).optional(),
163
+ })
164
+ .strict();
165
+ export const AskSessionExcerptSchema = z
166
+ .object({
167
+ eventId: z.uuid(),
168
+ type: ConnectorEventTypeSchema,
169
+ occurredAt: z.iso.datetime({ offset: true }),
170
+ text: z.string().max(2_000),
171
+ })
172
+ .strict();
173
+ export const AskSessionMatchSchema = z
174
+ .object({
175
+ session: WorkSessionSchema,
176
+ excerpts: z.array(AskSessionExcerptSchema),
177
+ })
178
+ .strict();
179
+ export const AskResponseSchema = z
180
+ .object({
181
+ question: z.string(),
182
+ knowledge: z.array(RetrievalHitSchema),
183
+ memories: z.array(MemorySchema),
184
+ sessions: z.array(AskSessionMatchSchema),
185
+ context: z.string(),
186
+ packing: ContextPackingSchema.optional(),
187
+ })
188
+ .strict();
189
+ export const HandoffRequestSchema = z
190
+ .object({
191
+ /** Resume/continue a specific session; defaults to the latest match. */
192
+ sessionId: z.uuid().optional(),
193
+ repo: z.string().trim().min(1).max(1_000).optional(),
194
+ project: z.string().trim().min(1).max(500).optional(),
195
+ /** Tool that will pick the work up (recorded in the brief). */
196
+ targetAgent: z.string().trim().min(1).max(100).optional(),
197
+ })
198
+ .strict()
199
+ .refine((value) => value.sessionId !== undefined ||
200
+ value.repo !== undefined ||
201
+ value.project !== undefined, { message: "Provide a sessionId, repo, or project to hand off" });
202
+ export const HandoffLineageEntrySchema = z
203
+ .object({
204
+ id: z.uuid(),
205
+ agent: z.string(),
206
+ title: z.string().nullable(),
207
+ startedAt: z.iso.datetime({ offset: true }),
208
+ endedAt: z.iso.datetime({ offset: true }).nullable(),
209
+ eventCount: z.number().int().nonnegative(),
210
+ })
211
+ .strict();
212
+ export const HandoffResponseSchema = z
213
+ .object({
214
+ session: WorkSessionSchema,
215
+ /** Root-first chain of sessions that led to this work, ending with `session`. */
216
+ lineage: z.array(HandoffLineageEntrySchema),
217
+ /** Concise current-state summary for the target agent's first prompt. */
218
+ brief: z.string(),
219
+ knowledge: z.array(RetrievalHitSchema),
220
+ /** Set as LORE_PARENT_SESSION_ID so the child session records lineage. */
221
+ parentSessionId: z.uuid(),
222
+ })
223
+ .strict();
224
+ const TEXT_FIELD_LIMIT = 2_000;
225
+ function truncate(value) {
226
+ return value.length > TEXT_FIELD_LIMIT
227
+ ? `${value.slice(0, TEXT_FIELD_LIMIT - 1)}…`
228
+ : value;
229
+ }
230
+ function stringAt(value, path) {
231
+ let current = value;
232
+ for (const key of path) {
233
+ if (typeof current !== "object" || current === null) {
234
+ return null;
235
+ }
236
+ current = current[key];
237
+ }
238
+ return typeof current === "string" && current.trim().length > 0
239
+ ? truncate(current)
240
+ : null;
241
+ }
242
+ /**
243
+ * Extracts the human-meaningful text from a connector event payload without
244
+ * assuming a single payload shape. Observations store the raw request,
245
+ * paired turns store the turn request, and context deliveries store a
246
+ * request/response envelope.
247
+ */
248
+ export function digestSessionEvent(event) {
249
+ const payload = event.payload;
250
+ const task = stringAt(payload, ["task"]) ??
251
+ stringAt(payload, ["request", "task"]) ??
252
+ stringAt(payload, ["request", "task", "task"]);
253
+ let userText = stringAt(payload, ["currentUser", "content"]) ??
254
+ stringAt(payload, ["currentUserPrompt"]) ??
255
+ stringAt(payload, ["request", "currentUser", "content"]) ??
256
+ stringAt(payload, ["request", "currentUserPrompt"]);
257
+ const assistantText = stringAt(payload, ["previousAssistant", "content"]) ??
258
+ stringAt(payload, ["request", "previousAssistant", "content"]);
259
+ if (userText === null) {
260
+ const request = payload.request;
261
+ const messages = Array.isArray(payload.messages)
262
+ ? payload.messages
263
+ : typeof request === "object" &&
264
+ request !== null &&
265
+ Array.isArray(request.messages)
266
+ ? request.messages
267
+ : [];
268
+ const lastUser = [...messages]
269
+ .reverse()
270
+ .find((message) => typeof message === "object" &&
271
+ message !== null &&
272
+ message.role === "user" &&
273
+ typeof message.content === "string");
274
+ userText = lastUser === undefined ? null : truncate(lastUser.content);
275
+ }
276
+ return SessionEventDigestSchema.parse({
277
+ eventId: event.id,
278
+ type: event.type,
279
+ occurredAt: event.occurredAt,
280
+ task,
281
+ userText,
282
+ assistantText,
283
+ });
284
+ }
285
+ const BRIEF_SNIPPET_LIMIT = 400;
286
+ const BRIEF_ACTIVITY_LIMIT = 5;
287
+ const BRIEF_KNOWLEDGE_LIMIT = 5;
288
+ function briefSnippet(value) {
289
+ const collapsed = value.replace(/\s+/gu, " ").trim();
290
+ return collapsed.length > BRIEF_SNIPPET_LIMIT
291
+ ? `${collapsed.slice(0, BRIEF_SNIPPET_LIMIT - 1)}…`
292
+ : collapsed;
293
+ }
294
+ /**
295
+ * Builds the concise current-state handoff a target agent receives when the
296
+ * user runs `lore resume` or `lore continue`. The brief is intentionally
297
+ * small: goal, latest state, recent attempts, lineage, and the most relevant
298
+ * durable knowledge, plus instructions for querying more on demand.
299
+ */
300
+ export function buildHandoffBrief(input) {
301
+ const { session, lineage, events, knowledge, targetAgent } = input;
302
+ const ordered = [...events].sort((a, b) => a.occurredAt.localeCompare(b.occurredAt));
303
+ const goal = ordered
304
+ .map((event) => event.task ?? event.userText)
305
+ .find((text) => text !== null) ?? null;
306
+ const latest = [...ordered]
307
+ .reverse()
308
+ .map((event) => event.assistantText ?? event.userText ?? event.task)
309
+ .find((text) => text !== null);
310
+ const activity = [...ordered]
311
+ .reverse()
312
+ .flatMap((event) => {
313
+ const text = event.userText ?? event.task ?? event.assistantText;
314
+ return text === null ? [] : [`- ${briefSnippet(text)}`];
315
+ })
316
+ .slice(0, BRIEF_ACTIVITY_LIMIT);
317
+ const where = [
318
+ session.repo === null ? null : `repo ${session.repo}`,
319
+ session.project === null ? null : `project ${session.project}`,
320
+ ]
321
+ .filter((part) => part !== null)
322
+ .join(", ");
323
+ const lines = [
324
+ "# Lore handoff",
325
+ "",
326
+ `You are continuing existing work${targetAgent === undefined ? "" : ` as ${targetAgent}`}. ` +
327
+ `The previous session ran on ${session.agent}${where === "" ? "" : ` (${where})`} ` +
328
+ `and was last active ${session.lastActivityAt}. Do not ask the user to ` +
329
+ `re-explain the task; use this brief and query Lore for details.`,
330
+ ];
331
+ if (goal !== null) {
332
+ lines.push("", "## Goal", briefSnippet(goal));
333
+ }
334
+ if (latest !== undefined && latest !== null && latest !== goal) {
335
+ lines.push("", "## Latest state", briefSnippet(latest));
336
+ }
337
+ if (activity.length > 0) {
338
+ lines.push("", "## Recent activity (newest first)", ...activity);
339
+ }
340
+ if (lineage.length > 1) {
341
+ lines.push("", "## Session lineage", lineage
342
+ .map((entry) => `${entry.agent} (${entry.eventCount} events)`)
343
+ .join(" → "));
344
+ }
345
+ if (knowledge.length > 0) {
346
+ lines.push("", "## Relevant shared knowledge", ...knowledge
347
+ .slice(0, BRIEF_KNOWLEDGE_LIMIT)
348
+ .map((item) => `- ${briefSnippet(item.content)} [${item.scope}]`));
349
+ }
350
+ lines.push("", "## Query more context", `Ask Lore instead of guessing: run \`lore ask "<question>"\` (or the ` +
351
+ `Lore MCP ask tool) to retrieve prior attempts, errors, and decisions. ` +
352
+ `Prior session id: ${session.externalSessionId}.`);
353
+ return lines.join("\n");
354
+ }
355
+ //# sourceMappingURL=session-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-schemas.js","sourceRoot":"","sources":["../src/session-schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lore-co/core",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "Schemas and primitives for auditable Lore engineering memory",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,6 +22,10 @@
22
22
  "types": "./dist/auth-schemas.d.ts",
23
23
  "import": "./dist/auth-schemas.js"
24
24
  },
25
+ "./session-schemas": {
26
+ "types": "./dist/session-schemas.d.ts",
27
+ "import": "./dist/session-schemas.js"
28
+ },
25
29
  "./redaction": {
26
30
  "types": "./dist/redaction.d.ts",
27
31
  "import": "./dist/redaction.js"