@kynetic-ai/spec 0.1.0
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/README.md +263 -0
- package/dist/acp/client.d.ts +159 -0
- package/dist/acp/client.d.ts.map +1 -0
- package/dist/acp/client.js +255 -0
- package/dist/acp/client.js.map +1 -0
- package/dist/acp/framing.d.ts +119 -0
- package/dist/acp/framing.d.ts.map +1 -0
- package/dist/acp/framing.js +302 -0
- package/dist/acp/framing.js.map +1 -0
- package/dist/acp/index.d.ts +14 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +13 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/types.d.ts +89 -0
- package/dist/acp/types.d.ts.map +1 -0
- package/dist/acp/types.js +99 -0
- package/dist/acp/types.js.map +1 -0
- package/dist/agents/adapters.d.ts +55 -0
- package/dist/agents/adapters.d.ts.map +1 -0
- package/dist/agents/adapters.js +84 -0
- package/dist/agents/adapters.js.map +1 -0
- package/dist/agents/index.d.ts +8 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +10 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/spawner.d.ts +53 -0
- package/dist/agents/spawner.d.ts.map +1 -0
- package/dist/agents/spawner.js +83 -0
- package/dist/agents/spawner.js.map +1 -0
- package/dist/cli/batch.d.ts +82 -0
- package/dist/cli/batch.d.ts.map +1 -0
- package/dist/cli/batch.js +162 -0
- package/dist/cli/batch.js.map +1 -0
- package/dist/cli/commands/clone-for-testing.d.ts +6 -0
- package/dist/cli/commands/clone-for-testing.d.ts.map +1 -0
- package/dist/cli/commands/clone-for-testing.js +176 -0
- package/dist/cli/commands/clone-for-testing.js.map +1 -0
- package/dist/cli/commands/derive.d.ts +6 -0
- package/dist/cli/commands/derive.d.ts.map +1 -0
- package/dist/cli/commands/derive.js +450 -0
- package/dist/cli/commands/derive.js.map +1 -0
- package/dist/cli/commands/help.d.ts +6 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +196 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/inbox.d.ts +6 -0
- package/dist/cli/commands/inbox.d.ts.map +1 -0
- package/dist/cli/commands/inbox.js +235 -0
- package/dist/cli/commands/inbox.js.map +1 -0
- package/dist/cli/commands/index.d.ts +20 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +21 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +245 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/item.d.ts +6 -0
- package/dist/cli/commands/item.d.ts.map +1 -0
- package/dist/cli/commands/item.js +1311 -0
- package/dist/cli/commands/item.js.map +1 -0
- package/dist/cli/commands/link.d.ts +6 -0
- package/dist/cli/commands/link.d.ts.map +1 -0
- package/dist/cli/commands/link.js +288 -0
- package/dist/cli/commands/link.js.map +1 -0
- package/dist/cli/commands/log.d.ts +16 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +291 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/meta.d.ts +15 -0
- package/dist/cli/commands/meta.d.ts.map +1 -0
- package/dist/cli/commands/meta.js +1378 -0
- package/dist/cli/commands/meta.js.map +1 -0
- package/dist/cli/commands/module.d.ts +6 -0
- package/dist/cli/commands/module.d.ts.map +1 -0
- package/dist/cli/commands/module.js +102 -0
- package/dist/cli/commands/module.js.map +1 -0
- package/dist/cli/commands/ralph.d.ts +9 -0
- package/dist/cli/commands/ralph.d.ts.map +1 -0
- package/dist/cli/commands/ralph.js +465 -0
- package/dist/cli/commands/ralph.js.map +1 -0
- package/dist/cli/commands/search.d.ts +6 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +134 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/session.d.ts +164 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +745 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +26 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +586 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/shadow.d.ts +6 -0
- package/dist/cli/commands/shadow.d.ts.map +1 -0
- package/dist/cli/commands/shadow.js +299 -0
- package/dist/cli/commands/shadow.js.map +1 -0
- package/dist/cli/commands/task.d.ts +6 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +1514 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/tasks.d.ts +6 -0
- package/dist/cli/commands/tasks.d.ts.map +1 -0
- package/dist/cli/commands/tasks.js +347 -0
- package/dist/cli/commands/tasks.js.map +1 -0
- package/dist/cli/commands/trait.d.ts +10 -0
- package/dist/cli/commands/trait.d.ts.map +1 -0
- package/dist/cli/commands/trait.js +295 -0
- package/dist/cli/commands/trait.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +6 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +626 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/exit-codes.d.ts +62 -0
- package/dist/cli/exit-codes.d.ts.map +1 -0
- package/dist/cli/exit-codes.js +65 -0
- package/dist/cli/exit-codes.js.map +1 -0
- package/dist/cli/help/content.d.ts +35 -0
- package/dist/cli/help/content.d.ts.map +1 -0
- package/dist/cli/help/content.js +312 -0
- package/dist/cli/help/content.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +85 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/introspection.d.ts +87 -0
- package/dist/cli/introspection.d.ts.map +1 -0
- package/dist/cli/introspection.js +127 -0
- package/dist/cli/introspection.js.map +1 -0
- package/dist/cli/output.d.ts +56 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +467 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/suggest.d.ts +16 -0
- package/dist/cli/suggest.d.ts.map +1 -0
- package/dist/cli/suggest.js +72 -0
- package/dist/cli/suggest.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/alignment.d.ts +113 -0
- package/dist/parser/alignment.d.ts.map +1 -0
- package/dist/parser/alignment.js +261 -0
- package/dist/parser/alignment.js.map +1 -0
- package/dist/parser/assess.d.ts +81 -0
- package/dist/parser/assess.d.ts.map +1 -0
- package/dist/parser/assess.js +197 -0
- package/dist/parser/assess.js.map +1 -0
- package/dist/parser/convention-validation.d.ts +48 -0
- package/dist/parser/convention-validation.d.ts.map +1 -0
- package/dist/parser/convention-validation.js +167 -0
- package/dist/parser/convention-validation.js.map +1 -0
- package/dist/parser/fix.d.ts +38 -0
- package/dist/parser/fix.d.ts.map +1 -0
- package/dist/parser/fix.js +185 -0
- package/dist/parser/fix.js.map +1 -0
- package/dist/parser/index.d.ts +12 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +13 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/items.d.ts +138 -0
- package/dist/parser/items.d.ts.map +1 -0
- package/dist/parser/items.js +321 -0
- package/dist/parser/items.js.map +1 -0
- package/dist/parser/meta.d.ts +120 -0
- package/dist/parser/meta.d.ts.map +1 -0
- package/dist/parser/meta.js +441 -0
- package/dist/parser/meta.js.map +1 -0
- package/dist/parser/refs.d.ts +185 -0
- package/dist/parser/refs.d.ts.map +1 -0
- package/dist/parser/refs.js +404 -0
- package/dist/parser/refs.js.map +1 -0
- package/dist/parser/shadow.d.ts +253 -0
- package/dist/parser/shadow.d.ts.map +1 -0
- package/dist/parser/shadow.js +1053 -0
- package/dist/parser/shadow.js.map +1 -0
- package/dist/parser/traits.d.ts +72 -0
- package/dist/parser/traits.d.ts.map +1 -0
- package/dist/parser/traits.js +120 -0
- package/dist/parser/traits.js.map +1 -0
- package/dist/parser/validate.d.ts +89 -0
- package/dist/parser/validate.d.ts.map +1 -0
- package/dist/parser/validate.js +817 -0
- package/dist/parser/validate.js.map +1 -0
- package/dist/parser/yaml.d.ts +326 -0
- package/dist/parser/yaml.d.ts.map +1 -0
- package/dist/parser/yaml.js +1383 -0
- package/dist/parser/yaml.js.map +1 -0
- package/dist/ralph/cli-renderer.d.ts +20 -0
- package/dist/ralph/cli-renderer.d.ts.map +1 -0
- package/dist/ralph/cli-renderer.js +179 -0
- package/dist/ralph/cli-renderer.js.map +1 -0
- package/dist/ralph/events.d.ts +65 -0
- package/dist/ralph/events.d.ts.map +1 -0
- package/dist/ralph/events.js +397 -0
- package/dist/ralph/events.js.map +1 -0
- package/dist/ralph/index.d.ts +8 -0
- package/dist/ralph/index.d.ts.map +1 -0
- package/dist/ralph/index.js +10 -0
- package/dist/ralph/index.js.map +1 -0
- package/dist/schema/common.d.ts +46 -0
- package/dist/schema/common.d.ts.map +1 -0
- package/dist/schema/common.js +71 -0
- package/dist/schema/common.js.map +1 -0
- package/dist/schema/inbox.d.ts +90 -0
- package/dist/schema/inbox.d.ts.map +1 -0
- package/dist/schema/inbox.js +30 -0
- package/dist/schema/inbox.js.map +1 -0
- package/dist/schema/index.d.ts +6 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +7 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/meta.d.ts +762 -0
- package/dist/schema/meta.d.ts.map +1 -0
- package/dist/schema/meta.js +144 -0
- package/dist/schema/meta.js.map +1 -0
- package/dist/schema/spec.d.ts +912 -0
- package/dist/schema/spec.d.ts.map +1 -0
- package/dist/schema/spec.js +104 -0
- package/dist/schema/spec.js.map +1 -0
- package/dist/schema/task.d.ts +664 -0
- package/dist/schema/task.d.ts.map +1 -0
- package/dist/schema/task.js +130 -0
- package/dist/schema/task.js.map +1 -0
- package/dist/sessions/index.d.ts +11 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/sessions/index.js +13 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/store.d.ts +144 -0
- package/dist/sessions/store.d.ts.map +1 -0
- package/dist/sessions/store.js +325 -0
- package/dist/sessions/store.js.map +1 -0
- package/dist/sessions/types.d.ts +157 -0
- package/dist/sessions/types.d.ts.map +1 -0
- package/dist/sessions/types.js +90 -0
- package/dist/sessions/types.js.map +1 -0
- package/dist/strings/errors.d.ts +420 -0
- package/dist/strings/errors.d.ts.map +1 -0
- package/dist/strings/errors.js +282 -0
- package/dist/strings/errors.js.map +1 -0
- package/dist/strings/guidance.d.ts +65 -0
- package/dist/strings/guidance.d.ts.map +1 -0
- package/dist/strings/guidance.js +66 -0
- package/dist/strings/guidance.js.map +1 -0
- package/dist/strings/index.d.ts +12 -0
- package/dist/strings/index.d.ts.map +1 -0
- package/dist/strings/index.js +12 -0
- package/dist/strings/index.js.map +1 -0
- package/dist/strings/labels.d.ts +74 -0
- package/dist/strings/labels.d.ts.map +1 -0
- package/dist/strings/labels.js +75 -0
- package/dist/strings/labels.js.map +1 -0
- package/dist/strings/validation.d.ts +126 -0
- package/dist/strings/validation.d.ts.map +1 -0
- package/dist/strings/validation.js +135 -0
- package/dist/strings/validation.js.map +1 -0
- package/dist/utils/commit.d.ts +23 -0
- package/dist/utils/commit.d.ts.map +1 -0
- package/dist/utils/commit.js +67 -0
- package/dist/utils/commit.js.map +1 -0
- package/dist/utils/git.d.ts +57 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +192 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/grep.d.ts +28 -0
- package/dist/utils/grep.d.ts.map +1 -0
- package/dist/utils/grep.js +86 -0
- package/dist/utils/grep.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/time.d.ts +18 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +61 -0
- package/dist/utils/time.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session event storage types and schemas.
|
|
3
|
+
*
|
|
4
|
+
* Provides JSONL-based event storage for agent sessions with:
|
|
5
|
+
* - Session metadata tracking
|
|
6
|
+
* - Append-only event logs
|
|
7
|
+
* - Integration with kspec commit boundaries
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
/**
|
|
11
|
+
* Session status enum.
|
|
12
|
+
* - active: Session is in progress
|
|
13
|
+
* - completed: Session ended normally
|
|
14
|
+
* - abandoned: Session ended without explicit close
|
|
15
|
+
*/
|
|
16
|
+
export declare const SessionStatusSchema: z.ZodEnum<["active", "completed", "abandoned"]>;
|
|
17
|
+
export type SessionStatus = z.infer<typeof SessionStatusSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* Session metadata stored in session.yaml.
|
|
20
|
+
* AC-5: includes task_id (optional), agent_type, status, started_at, ended_at
|
|
21
|
+
*/
|
|
22
|
+
export declare const SessionMetadataSchema: z.ZodObject<{
|
|
23
|
+
/** Session ULID */
|
|
24
|
+
id: z.ZodString;
|
|
25
|
+
/** Optional task being worked on */
|
|
26
|
+
task_id: z.ZodOptional<z.ZodString>;
|
|
27
|
+
/** Type of agent running the session */
|
|
28
|
+
agent_type: z.ZodString;
|
|
29
|
+
/** Current session status */
|
|
30
|
+
status: z.ZodEnum<["active", "completed", "abandoned"]>;
|
|
31
|
+
/** When session started (ISO 8601) */
|
|
32
|
+
started_at: z.ZodString;
|
|
33
|
+
/** When session ended (ISO 8601) - only set when status != 'active' */
|
|
34
|
+
ended_at: z.ZodOptional<z.ZodString>;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
status: "completed" | "active" | "abandoned";
|
|
37
|
+
id: string;
|
|
38
|
+
started_at: string;
|
|
39
|
+
agent_type: string;
|
|
40
|
+
task_id?: string | undefined;
|
|
41
|
+
ended_at?: string | undefined;
|
|
42
|
+
}, {
|
|
43
|
+
status: "completed" | "active" | "abandoned";
|
|
44
|
+
id: string;
|
|
45
|
+
started_at: string;
|
|
46
|
+
agent_type: string;
|
|
47
|
+
task_id?: string | undefined;
|
|
48
|
+
ended_at?: string | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
export type SessionMetadata = z.infer<typeof SessionMetadataSchema>;
|
|
51
|
+
/**
|
|
52
|
+
* Input for creating a new session.
|
|
53
|
+
*/
|
|
54
|
+
export declare const SessionMetadataInputSchema: z.ZodObject<Omit<{
|
|
55
|
+
/** Session ULID */
|
|
56
|
+
id: z.ZodString;
|
|
57
|
+
/** Optional task being worked on */
|
|
58
|
+
task_id: z.ZodOptional<z.ZodString>;
|
|
59
|
+
/** Type of agent running the session */
|
|
60
|
+
agent_type: z.ZodString;
|
|
61
|
+
/** Current session status */
|
|
62
|
+
status: z.ZodEnum<["active", "completed", "abandoned"]>;
|
|
63
|
+
/** When session started (ISO 8601) */
|
|
64
|
+
started_at: z.ZodString;
|
|
65
|
+
/** When session ended (ISO 8601) - only set when status != 'active' */
|
|
66
|
+
ended_at: z.ZodOptional<z.ZodString>;
|
|
67
|
+
}, "status" | "started_at" | "ended_at"> & {
|
|
68
|
+
status: z.ZodOptional<z.ZodEnum<["active", "completed", "abandoned"]>>;
|
|
69
|
+
started_at: z.ZodOptional<z.ZodString>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
id: string;
|
|
72
|
+
agent_type: string;
|
|
73
|
+
status?: "completed" | "active" | "abandoned" | undefined;
|
|
74
|
+
started_at?: string | undefined;
|
|
75
|
+
task_id?: string | undefined;
|
|
76
|
+
}, {
|
|
77
|
+
id: string;
|
|
78
|
+
agent_type: string;
|
|
79
|
+
status?: "completed" | "active" | "abandoned" | undefined;
|
|
80
|
+
started_at?: string | undefined;
|
|
81
|
+
task_id?: string | undefined;
|
|
82
|
+
}>;
|
|
83
|
+
export type SessionMetadataInput = z.infer<typeof SessionMetadataInputSchema>;
|
|
84
|
+
/**
|
|
85
|
+
* Supported event types for session tracking.
|
|
86
|
+
*/
|
|
87
|
+
export declare const EventTypeSchema: z.ZodEnum<["session.start", "session.update", "session.end", "prompt.sent", "tool.call", "tool.result", "note"]>;
|
|
88
|
+
export type EventType = z.infer<typeof EventTypeSchema>;
|
|
89
|
+
/**
|
|
90
|
+
* A single event in the session log.
|
|
91
|
+
* AC-2: Events include ts and seq auto-assigned on append.
|
|
92
|
+
*/
|
|
93
|
+
export declare const SessionEventSchema: z.ZodObject<{
|
|
94
|
+
/** Unix timestamp in milliseconds (auto-assigned) */
|
|
95
|
+
ts: z.ZodNumber;
|
|
96
|
+
/** Sequence number in session (auto-assigned, 0-indexed) */
|
|
97
|
+
seq: z.ZodNumber;
|
|
98
|
+
/** Event type */
|
|
99
|
+
type: z.ZodEnum<["session.start", "session.update", "session.end", "prompt.sent", "tool.call", "tool.result", "note"]>;
|
|
100
|
+
/** Session this event belongs to */
|
|
101
|
+
session_id: z.ZodString;
|
|
102
|
+
/** Optional trace ID for correlation */
|
|
103
|
+
trace_id: z.ZodOptional<z.ZodString>;
|
|
104
|
+
/** Type-specific event payload */
|
|
105
|
+
data: z.ZodUnknown;
|
|
106
|
+
}, "strip", z.ZodTypeAny, {
|
|
107
|
+
type: "note" | "session.start" | "session.update" | "session.end" | "prompt.sent" | "tool.call" | "tool.result";
|
|
108
|
+
ts: number;
|
|
109
|
+
seq: number;
|
|
110
|
+
session_id: string;
|
|
111
|
+
data?: unknown;
|
|
112
|
+
trace_id?: string | undefined;
|
|
113
|
+
}, {
|
|
114
|
+
type: "note" | "session.start" | "session.update" | "session.end" | "prompt.sent" | "tool.call" | "tool.result";
|
|
115
|
+
ts: number;
|
|
116
|
+
seq: number;
|
|
117
|
+
session_id: string;
|
|
118
|
+
data?: unknown;
|
|
119
|
+
trace_id?: string | undefined;
|
|
120
|
+
}>;
|
|
121
|
+
export type SessionEvent = z.infer<typeof SessionEventSchema>;
|
|
122
|
+
/**
|
|
123
|
+
* Input for appending an event (without auto-assigned fields).
|
|
124
|
+
*/
|
|
125
|
+
export declare const SessionEventInputSchema: z.ZodObject<Omit<{
|
|
126
|
+
/** Unix timestamp in milliseconds (auto-assigned) */
|
|
127
|
+
ts: z.ZodNumber;
|
|
128
|
+
/** Sequence number in session (auto-assigned, 0-indexed) */
|
|
129
|
+
seq: z.ZodNumber;
|
|
130
|
+
/** Event type */
|
|
131
|
+
type: z.ZodEnum<["session.start", "session.update", "session.end", "prompt.sent", "tool.call", "tool.result", "note"]>;
|
|
132
|
+
/** Session this event belongs to */
|
|
133
|
+
session_id: z.ZodString;
|
|
134
|
+
/** Optional trace ID for correlation */
|
|
135
|
+
trace_id: z.ZodOptional<z.ZodString>;
|
|
136
|
+
/** Type-specific event payload */
|
|
137
|
+
data: z.ZodUnknown;
|
|
138
|
+
}, "ts" | "seq"> & {
|
|
139
|
+
ts: z.ZodOptional<z.ZodNumber>;
|
|
140
|
+
seq: z.ZodOptional<z.ZodNumber>;
|
|
141
|
+
}, "strip", z.ZodTypeAny, {
|
|
142
|
+
type: "note" | "session.start" | "session.update" | "session.end" | "prompt.sent" | "tool.call" | "tool.result";
|
|
143
|
+
session_id: string;
|
|
144
|
+
data?: unknown;
|
|
145
|
+
ts?: number | undefined;
|
|
146
|
+
seq?: number | undefined;
|
|
147
|
+
trace_id?: string | undefined;
|
|
148
|
+
}, {
|
|
149
|
+
type: "note" | "session.start" | "session.update" | "session.end" | "prompt.sent" | "tool.call" | "tool.result";
|
|
150
|
+
session_id: string;
|
|
151
|
+
data?: unknown;
|
|
152
|
+
ts?: number | undefined;
|
|
153
|
+
seq?: number | undefined;
|
|
154
|
+
trace_id?: string | undefined;
|
|
155
|
+
}>;
|
|
156
|
+
export type SessionEventInput = z.infer<typeof SessionEventInputSchema>;
|
|
157
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sessions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,iDAA+C,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IAChC,mBAAmB;;IAGnB,oCAAoC;;IAGpC,wCAAwC;;IAGxC,6BAA6B;;IAG7B,sCAAsC;;IAGtC,uEAAuE;;;;;;;;;;;;;;;;EAEvE,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,0BAA0B;IAxBrC,mBAAmB;;IAGnB,oCAAoC;;IAGpC,wCAAwC;;IAGxC,6BAA6B;;IAG7B,sCAAsC;;IAGtC,uEAAuE;;;;;;;;;;;;;;;;;EAgBvE,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E;;GAEG;AACH,eAAO,MAAM,eAAe,kHAQ1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,qDAAqD;;IAGrD,4DAA4D;;IAG5D,iBAAiB;;IAGjB,oCAAoC;;IAGpC,wCAAwC;;IAGxC,kCAAkC;;;;;;;;;;;;;;;;EAElC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAxBlC,qDAAqD;;IAGrD,4DAA4D;;IAG5D,iBAAiB;;IAGjB,oCAAoC;;IAGpC,wCAAwC;;IAGxC,kCAAkC;;;;;;;;;;;;;;;;;;;EAelC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session event storage types and schemas.
|
|
3
|
+
*
|
|
4
|
+
* Provides JSONL-based event storage for agent sessions with:
|
|
5
|
+
* - Session metadata tracking
|
|
6
|
+
* - Append-only event logs
|
|
7
|
+
* - Integration with kspec commit boundaries
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
// ─── Session Status ──────────────────────────────────────────────────────────
|
|
11
|
+
/**
|
|
12
|
+
* Session status enum.
|
|
13
|
+
* - active: Session is in progress
|
|
14
|
+
* - completed: Session ended normally
|
|
15
|
+
* - abandoned: Session ended without explicit close
|
|
16
|
+
*/
|
|
17
|
+
export const SessionStatusSchema = z.enum(['active', 'completed', 'abandoned']);
|
|
18
|
+
// ─── Session Metadata ────────────────────────────────────────────────────────
|
|
19
|
+
/**
|
|
20
|
+
* Session metadata stored in session.yaml.
|
|
21
|
+
* AC-5: includes task_id (optional), agent_type, status, started_at, ended_at
|
|
22
|
+
*/
|
|
23
|
+
export const SessionMetadataSchema = z.object({
|
|
24
|
+
/** Session ULID */
|
|
25
|
+
id: z.string(),
|
|
26
|
+
/** Optional task being worked on */
|
|
27
|
+
task_id: z.string().optional(),
|
|
28
|
+
/** Type of agent running the session */
|
|
29
|
+
agent_type: z.string(),
|
|
30
|
+
/** Current session status */
|
|
31
|
+
status: SessionStatusSchema,
|
|
32
|
+
/** When session started (ISO 8601) */
|
|
33
|
+
started_at: z.string().datetime(),
|
|
34
|
+
/** When session ended (ISO 8601) - only set when status != 'active' */
|
|
35
|
+
ended_at: z.string().datetime().optional(),
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Input for creating a new session.
|
|
39
|
+
*/
|
|
40
|
+
export const SessionMetadataInputSchema = SessionMetadataSchema.omit({
|
|
41
|
+
status: true,
|
|
42
|
+
started_at: true,
|
|
43
|
+
ended_at: true,
|
|
44
|
+
}).extend({
|
|
45
|
+
status: SessionStatusSchema.optional(),
|
|
46
|
+
started_at: z.string().datetime().optional(),
|
|
47
|
+
});
|
|
48
|
+
// ─── Event Types ─────────────────────────────────────────────────────────────
|
|
49
|
+
/**
|
|
50
|
+
* Supported event types for session tracking.
|
|
51
|
+
*/
|
|
52
|
+
export const EventTypeSchema = z.enum([
|
|
53
|
+
'session.start',
|
|
54
|
+
'session.update',
|
|
55
|
+
'session.end',
|
|
56
|
+
'prompt.sent',
|
|
57
|
+
'tool.call',
|
|
58
|
+
'tool.result',
|
|
59
|
+
'note',
|
|
60
|
+
]);
|
|
61
|
+
// ─── Session Event ───────────────────────────────────────────────────────────
|
|
62
|
+
/**
|
|
63
|
+
* A single event in the session log.
|
|
64
|
+
* AC-2: Events include ts and seq auto-assigned on append.
|
|
65
|
+
*/
|
|
66
|
+
export const SessionEventSchema = z.object({
|
|
67
|
+
/** Unix timestamp in milliseconds (auto-assigned) */
|
|
68
|
+
ts: z.number(),
|
|
69
|
+
/** Sequence number in session (auto-assigned, 0-indexed) */
|
|
70
|
+
seq: z.number().int().nonnegative(),
|
|
71
|
+
/** Event type */
|
|
72
|
+
type: EventTypeSchema,
|
|
73
|
+
/** Session this event belongs to */
|
|
74
|
+
session_id: z.string(),
|
|
75
|
+
/** Optional trace ID for correlation */
|
|
76
|
+
trace_id: z.string().optional(),
|
|
77
|
+
/** Type-specific event payload */
|
|
78
|
+
data: z.unknown(),
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Input for appending an event (without auto-assigned fields).
|
|
82
|
+
*/
|
|
83
|
+
export const SessionEventInputSchema = SessionEventSchema.omit({
|
|
84
|
+
ts: true,
|
|
85
|
+
seq: true,
|
|
86
|
+
}).extend({
|
|
87
|
+
ts: z.number().optional(),
|
|
88
|
+
seq: z.number().int().nonnegative().optional(),
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sessions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAGhF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,mBAAmB;IACnB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,oCAAoC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B,wCAAwC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB,6BAA6B;IAC7B,MAAM,EAAE,mBAAmB;IAE3B,sCAAsC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEjC,uEAAuE;IACvE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,IAAI,CAAC;IACnE,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC,MAAM,CAAC;IACR,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAIH,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,WAAW;IACX,aAAa;IACb,MAAM;CACP,CAAC,CAAC;AAIH,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,qDAAqD;IACrD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,4DAA4D;IAC5D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAEnC,iBAAiB;IACjB,IAAI,EAAE,eAAe;IAErB,oCAAoC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE/B,kCAAkC;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;CAClB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAC7D,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,IAAI;CACV,CAAC,CAAC,MAAM,CAAC;IACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC"}
|