@crewx/sdk 0.9.0-rc.74 → 0.9.0-rc.76
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/dist/context-budget/continuity.d.ts +53 -0
- package/dist/context-budget/index.d.ts +35 -1
- package/dist/conversation/sqlite-provider.d.ts +4 -1
- package/dist/conversation/types.d.ts +28 -0
- package/dist/esm/index.js +169 -161
- package/dist/esm/plugins/index.js +124 -121
- package/dist/esm/repository/index.js +122 -119
- package/dist/facade/Crewx.d.ts +6 -2
- package/dist/highlight/thread-highlighter.d.ts +155 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.js +4 -4
- package/dist/index.d.ts +13 -2
- package/dist/index.js +170 -162
- package/dist/layout/types.d.ts +15 -1
- package/dist/migrations/0020_useful_iron_lad.sql +55 -0
- package/dist/migrations/meta/0020_snapshot.json +2895 -0
- package/dist/migrations/meta/_journal.json +8 -1
- package/dist/plugins/index.js +124 -121
- package/dist/plugins/sqlite-tracing.d.ts +22 -0
- package/dist/repository/index.d.ts +4 -0
- package/dist/repository/index.js +122 -119
- package/dist/repository/request-log.repository.d.ts +1 -0
- package/dist/repository/thread-history.repository.d.ts +117 -0
- package/dist/repository/thread-title.types.d.ts +29 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/thread-history.d.ts +518 -0
- package/dist/types/index.d.ts +1092 -0
- package/dist/utils/id.d.ts +1 -1
- package/package.json +1 -1
- package/templates/agents/default.yaml +33 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { BaseSqliteRepository } from './base-sqlite-repository.js';
|
|
2
|
+
import { RepositoryError } from './errors.js';
|
|
3
|
+
import type { ThreadActorType, ThreadEvent, ThreadHighlight, ThreadHighlightKind, ThreadHighlightSource } from '../schema/index.js';
|
|
4
|
+
import type { ThreadPriority, ThreadState } from './thread-title.types.js';
|
|
5
|
+
export interface ThreadActorInput {
|
|
6
|
+
actorType?: ThreadActorType;
|
|
7
|
+
actorId?: string | null;
|
|
8
|
+
actor?: {
|
|
9
|
+
actorType?: ThreadActorType;
|
|
10
|
+
actorId?: string | null;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface ThreadSnapshotMutationInput extends ThreadActorInput {
|
|
14
|
+
threadId: string;
|
|
15
|
+
workspaceId?: string | null;
|
|
16
|
+
title?: string | null;
|
|
17
|
+
priority?: ThreadPriority | null;
|
|
18
|
+
state?: ThreadState | null;
|
|
19
|
+
taskId?: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface ThreadSnapshot {
|
|
22
|
+
threadId: string;
|
|
23
|
+
workspaceId: string | null;
|
|
24
|
+
title: string | null;
|
|
25
|
+
priority: ThreadPriority | null;
|
|
26
|
+
state: ThreadState | null;
|
|
27
|
+
metadata: string | null;
|
|
28
|
+
titleLocked: boolean;
|
|
29
|
+
updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ThreadTimelineOptions {
|
|
32
|
+
beforeSeq?: number;
|
|
33
|
+
afterSeq?: number;
|
|
34
|
+
limit?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ThreadTimelineQuery extends ThreadTimelineOptions {
|
|
37
|
+
threadId: string;
|
|
38
|
+
workspaceId: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ThreadTimeline {
|
|
41
|
+
items: ThreadEvent[];
|
|
42
|
+
latestSeq: number;
|
|
43
|
+
hasMoreOlder: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface CreateThreadHighlightInput extends ThreadActorInput {
|
|
46
|
+
threadId: string;
|
|
47
|
+
workspaceId: string;
|
|
48
|
+
source?: ThreadHighlightSource;
|
|
49
|
+
kind: ThreadHighlightKind;
|
|
50
|
+
text: string;
|
|
51
|
+
taskId?: string;
|
|
52
|
+
coversFromTaskId?: string;
|
|
53
|
+
coversToTaskId?: string;
|
|
54
|
+
fromTaskId?: string;
|
|
55
|
+
toTaskId?: string;
|
|
56
|
+
agentId?: string | null;
|
|
57
|
+
sourceTaskId?: string | null;
|
|
58
|
+
detectorVersion?: string | null;
|
|
59
|
+
contentFingerprint?: string | null;
|
|
60
|
+
idempotencyKey?: string;
|
|
61
|
+
id?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface UpdateThreadHighlightInput extends ThreadActorInput {
|
|
64
|
+
threadId: string;
|
|
65
|
+
workspaceId: string;
|
|
66
|
+
highlightId: string;
|
|
67
|
+
expectedRevision: number;
|
|
68
|
+
text?: string;
|
|
69
|
+
kind?: ThreadHighlightKind;
|
|
70
|
+
coversFromTaskId?: string;
|
|
71
|
+
coversToTaskId?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface DismissThreadHighlightInput extends ThreadActorInput {
|
|
74
|
+
threadId: string;
|
|
75
|
+
workspaceId: string;
|
|
76
|
+
highlightId: string;
|
|
77
|
+
expectedRevision: number;
|
|
78
|
+
}
|
|
79
|
+
export interface ListActiveHighlightsOptions {
|
|
80
|
+
taskId?: string;
|
|
81
|
+
coversFromTaskId?: string;
|
|
82
|
+
coversToTaskId?: string;
|
|
83
|
+
}
|
|
84
|
+
export declare class ThreadHistoryConflictError extends RepositoryError {
|
|
85
|
+
readonly threadId: string;
|
|
86
|
+
readonly highlightId: string;
|
|
87
|
+
readonly expectedRevision: number;
|
|
88
|
+
readonly currentRevision: number;
|
|
89
|
+
constructor(threadId: string, highlightId: string, expectedRevision: number, currentRevision: number);
|
|
90
|
+
}
|
|
91
|
+
export declare class ThreadHighlightConflictError extends ThreadHistoryConflictError {
|
|
92
|
+
}
|
|
93
|
+
export declare class ThreadHistoryRepository extends BaseSqliteRepository {
|
|
94
|
+
private readonly dbPath?;
|
|
95
|
+
constructor(opts?: {
|
|
96
|
+
dbPath?: string;
|
|
97
|
+
dbRoot?: string;
|
|
98
|
+
});
|
|
99
|
+
resolveDbPath(): string;
|
|
100
|
+
private openHandle;
|
|
101
|
+
private findThread;
|
|
102
|
+
resolveWorkspaceId(threadId: string): string | null;
|
|
103
|
+
updateSnapshot(input: ThreadSnapshotMutationInput): ThreadSnapshot;
|
|
104
|
+
mutateSnapshot(input: ThreadSnapshotMutationInput): ThreadSnapshot;
|
|
105
|
+
updateThreadSnapshot(input: ThreadSnapshotMutationInput): ThreadSnapshot;
|
|
106
|
+
getLatestSeq(threadId: string, workspaceId?: string | null): number | null;
|
|
107
|
+
listTimeline(query: ThreadTimelineQuery): ThreadTimeline | null;
|
|
108
|
+
listTimeline(threadId: string, workspaceId: string, options?: ThreadTimelineOptions): ThreadTimeline | null;
|
|
109
|
+
listEvents(threadId: string, workspaceId: string, options?: ThreadTimelineOptions): ThreadTimeline | null;
|
|
110
|
+
getTimeline(threadId: string, workspaceId: string, options?: ThreadTimelineOptions): ThreadTimeline | null;
|
|
111
|
+
createHighlight(input: CreateThreadHighlightInput): ThreadHighlight;
|
|
112
|
+
updateHighlight(input: UpdateThreadHighlightInput): ThreadHighlight;
|
|
113
|
+
dismissHighlight(input: DismissThreadHighlightInput): ThreadHighlight;
|
|
114
|
+
listActiveHighlights(threadId: string, workspaceId: string, options?: ListActiveHighlightsOptions): ThreadHighlight[] | null;
|
|
115
|
+
listHighlights(threadId: string, workspaceId: string, options?: ListActiveHighlightsOptions): ThreadHighlight[] | null;
|
|
116
|
+
getActiveHighlights(threadId: string, workspaceId: string, options?: ListActiveHighlightsOptions): ThreadHighlight[] | null;
|
|
117
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const THREAD_PRIORITIES: readonly ["urgent", "high", "medium", "low"];
|
|
2
|
+
export type ThreadPriority = (typeof THREAD_PRIORITIES)[number];
|
|
3
|
+
export declare const BUILTIN_THREAD_STATES: readonly ["investigating", "in-progress", "in-review", "on-hold", "done"];
|
|
4
|
+
export type BuiltinThreadState = (typeof BUILTIN_THREAD_STATES)[number];
|
|
5
|
+
export type StableThreadState = BuiltinThreadState | `c_${string}`;
|
|
6
|
+
export type LegacyThreadState = `custom:${string}`;
|
|
7
|
+
export type ThreadState = StableThreadState | LegacyThreadState;
|
|
8
|
+
export interface ThreadTitleMeta {
|
|
9
|
+
priority?: ThreadPriority;
|
|
10
|
+
state?: ThreadState;
|
|
11
|
+
}
|
|
12
|
+
export interface ThreadTitlePatch {
|
|
13
|
+
priority?: ThreadPriority | null;
|
|
14
|
+
state?: ThreadState | null;
|
|
15
|
+
}
|
|
16
|
+
export declare function isThreadPriority(value: unknown): value is ThreadPriority;
|
|
17
|
+
export declare function isThreadState(value: unknown): value is ThreadState;
|
|
18
|
+
export declare function customStateLabel(state: ThreadState): string | undefined;
|
|
19
|
+
export declare function hasThreadTitleKey(metadataJson: string | null | undefined): boolean;
|
|
20
|
+
export declare function readThreadTitleMeta(metadataJson: string | null | undefined): ThreadTitleMeta;
|
|
21
|
+
export declare function mergeThreadTitleMeta(metadataJson: string | null | undefined, patch: ThreadTitlePatch): string | null;
|
|
22
|
+
export declare function threadTitleSearchHaystack(meta: ThreadTitleMeta, labelNames?: ReadonlyMap<string, string>): string;
|
|
23
|
+
export interface ThreadTitleFilter {
|
|
24
|
+
values: Set<string>;
|
|
25
|
+
includeNone: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function parseThreadPriorityFilter(raw: string | undefined): ThreadTitleFilter | undefined;
|
|
28
|
+
export declare function parseThreadStateFilter(raw: string | undefined): ThreadTitleFilter | undefined;
|
|
29
|
+
export declare function matchesThreadTitleFilter(current: string | undefined, filter: ThreadTitleFilter | undefined): boolean;
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
export declare const THREAD_EVENT_TYPES: readonly ["thread.snapshot.imported", "thread.title.changed", "thread.priority.changed", "thread.state.changed", "thread.highlight.created", "thread.highlight.updated", "thread.highlight.deleted"];
|
|
2
|
+
export type ThreadEventType = (typeof THREAD_EVENT_TYPES)[number];
|
|
3
|
+
export declare const THREAD_ACTOR_TYPES: readonly ["user", "agent", "system"];
|
|
4
|
+
export type ThreadActorType = (typeof THREAD_ACTOR_TYPES)[number];
|
|
5
|
+
export declare const THREAD_HIGHLIGHT_SOURCES: readonly ["auto", "manual"];
|
|
6
|
+
export type ThreadHighlightSource = (typeof THREAD_HIGHLIGHT_SOURCES)[number];
|
|
7
|
+
export declare const THREAD_HIGHLIGHT_KINDS: readonly ["decision", "judgment", "issue", "result", "pivot"];
|
|
8
|
+
export type ThreadHighlightKind = (typeof THREAD_HIGHLIGHT_KINDS)[number];
|
|
9
|
+
export declare const THREAD_HIGHLIGHT_STATUSES: readonly ["active", "dismissed"];
|
|
10
|
+
export type ThreadHighlightStatus = (typeof THREAD_HIGHLIGHT_STATUSES)[number];
|
|
11
|
+
export declare const thread_events: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
12
|
+
name: "thread_events";
|
|
13
|
+
schema: undefined;
|
|
14
|
+
columns: {
|
|
15
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16
|
+
name: "id";
|
|
17
|
+
tableName: "thread_events";
|
|
18
|
+
dataType: "string";
|
|
19
|
+
columnType: "SQLiteText";
|
|
20
|
+
data: string;
|
|
21
|
+
driverParam: string;
|
|
22
|
+
notNull: true;
|
|
23
|
+
hasDefault: false;
|
|
24
|
+
isPrimaryKey: true;
|
|
25
|
+
isAutoincrement: false;
|
|
26
|
+
hasRuntimeDefault: false;
|
|
27
|
+
enumValues: [string, ...string[]];
|
|
28
|
+
baseColumn: never;
|
|
29
|
+
identity: undefined;
|
|
30
|
+
generated: undefined;
|
|
31
|
+
}, {}, {
|
|
32
|
+
length: number | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
thread_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
35
|
+
name: "thread_id";
|
|
36
|
+
tableName: "thread_events";
|
|
37
|
+
dataType: "string";
|
|
38
|
+
columnType: "SQLiteText";
|
|
39
|
+
data: string;
|
|
40
|
+
driverParam: string;
|
|
41
|
+
notNull: true;
|
|
42
|
+
hasDefault: false;
|
|
43
|
+
isPrimaryKey: false;
|
|
44
|
+
isAutoincrement: false;
|
|
45
|
+
hasRuntimeDefault: false;
|
|
46
|
+
enumValues: [string, ...string[]];
|
|
47
|
+
baseColumn: never;
|
|
48
|
+
identity: undefined;
|
|
49
|
+
generated: undefined;
|
|
50
|
+
}, {}, {
|
|
51
|
+
length: number | undefined;
|
|
52
|
+
}>;
|
|
53
|
+
seq: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
54
|
+
name: "seq";
|
|
55
|
+
tableName: "thread_events";
|
|
56
|
+
dataType: "number";
|
|
57
|
+
columnType: "SQLiteInteger";
|
|
58
|
+
data: number;
|
|
59
|
+
driverParam: number;
|
|
60
|
+
notNull: true;
|
|
61
|
+
hasDefault: false;
|
|
62
|
+
isPrimaryKey: false;
|
|
63
|
+
isAutoincrement: false;
|
|
64
|
+
hasRuntimeDefault: false;
|
|
65
|
+
enumValues: undefined;
|
|
66
|
+
baseColumn: never;
|
|
67
|
+
identity: undefined;
|
|
68
|
+
generated: undefined;
|
|
69
|
+
}, {}, {}>;
|
|
70
|
+
type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
71
|
+
name: "type";
|
|
72
|
+
tableName: "thread_events";
|
|
73
|
+
dataType: "string";
|
|
74
|
+
columnType: "SQLiteText";
|
|
75
|
+
data: string;
|
|
76
|
+
driverParam: string;
|
|
77
|
+
notNull: true;
|
|
78
|
+
hasDefault: false;
|
|
79
|
+
isPrimaryKey: false;
|
|
80
|
+
isAutoincrement: false;
|
|
81
|
+
hasRuntimeDefault: false;
|
|
82
|
+
enumValues: [string, ...string[]];
|
|
83
|
+
baseColumn: never;
|
|
84
|
+
identity: undefined;
|
|
85
|
+
generated: undefined;
|
|
86
|
+
}, {}, {
|
|
87
|
+
length: number | undefined;
|
|
88
|
+
}>;
|
|
89
|
+
actor_type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
90
|
+
name: "actor_type";
|
|
91
|
+
tableName: "thread_events";
|
|
92
|
+
dataType: "string";
|
|
93
|
+
columnType: "SQLiteText";
|
|
94
|
+
data: string;
|
|
95
|
+
driverParam: string;
|
|
96
|
+
notNull: true;
|
|
97
|
+
hasDefault: false;
|
|
98
|
+
isPrimaryKey: false;
|
|
99
|
+
isAutoincrement: false;
|
|
100
|
+
hasRuntimeDefault: false;
|
|
101
|
+
enumValues: [string, ...string[]];
|
|
102
|
+
baseColumn: never;
|
|
103
|
+
identity: undefined;
|
|
104
|
+
generated: undefined;
|
|
105
|
+
}, {}, {
|
|
106
|
+
length: number | undefined;
|
|
107
|
+
}>;
|
|
108
|
+
payload_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
109
|
+
name: "payload_json";
|
|
110
|
+
tableName: "thread_events";
|
|
111
|
+
dataType: "string";
|
|
112
|
+
columnType: "SQLiteText";
|
|
113
|
+
data: string;
|
|
114
|
+
driverParam: string;
|
|
115
|
+
notNull: true;
|
|
116
|
+
hasDefault: false;
|
|
117
|
+
isPrimaryKey: false;
|
|
118
|
+
isAutoincrement: false;
|
|
119
|
+
hasRuntimeDefault: false;
|
|
120
|
+
enumValues: [string, ...string[]];
|
|
121
|
+
baseColumn: never;
|
|
122
|
+
identity: undefined;
|
|
123
|
+
generated: undefined;
|
|
124
|
+
}, {}, {
|
|
125
|
+
length: number | undefined;
|
|
126
|
+
}>;
|
|
127
|
+
created_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
128
|
+
name: "created_at";
|
|
129
|
+
tableName: "thread_events";
|
|
130
|
+
dataType: "string";
|
|
131
|
+
columnType: "SQLiteText";
|
|
132
|
+
data: string;
|
|
133
|
+
driverParam: string;
|
|
134
|
+
notNull: true;
|
|
135
|
+
hasDefault: false;
|
|
136
|
+
isPrimaryKey: false;
|
|
137
|
+
isAutoincrement: false;
|
|
138
|
+
hasRuntimeDefault: false;
|
|
139
|
+
enumValues: [string, ...string[]];
|
|
140
|
+
baseColumn: never;
|
|
141
|
+
identity: undefined;
|
|
142
|
+
generated: undefined;
|
|
143
|
+
}, {}, {
|
|
144
|
+
length: number | undefined;
|
|
145
|
+
}>;
|
|
146
|
+
actor_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
147
|
+
name: "actor_id";
|
|
148
|
+
tableName: "thread_events";
|
|
149
|
+
dataType: "string";
|
|
150
|
+
columnType: "SQLiteText";
|
|
151
|
+
data: string;
|
|
152
|
+
driverParam: string;
|
|
153
|
+
notNull: false;
|
|
154
|
+
hasDefault: false;
|
|
155
|
+
isPrimaryKey: false;
|
|
156
|
+
isAutoincrement: false;
|
|
157
|
+
hasRuntimeDefault: false;
|
|
158
|
+
enumValues: [string, ...string[]];
|
|
159
|
+
baseColumn: never;
|
|
160
|
+
identity: undefined;
|
|
161
|
+
generated: undefined;
|
|
162
|
+
}, {}, {
|
|
163
|
+
length: number | undefined;
|
|
164
|
+
}>;
|
|
165
|
+
task_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
166
|
+
name: "task_id";
|
|
167
|
+
tableName: "thread_events";
|
|
168
|
+
dataType: "string";
|
|
169
|
+
columnType: "SQLiteText";
|
|
170
|
+
data: string;
|
|
171
|
+
driverParam: string;
|
|
172
|
+
notNull: false;
|
|
173
|
+
hasDefault: false;
|
|
174
|
+
isPrimaryKey: false;
|
|
175
|
+
isAutoincrement: false;
|
|
176
|
+
hasRuntimeDefault: false;
|
|
177
|
+
enumValues: [string, ...string[]];
|
|
178
|
+
baseColumn: never;
|
|
179
|
+
identity: undefined;
|
|
180
|
+
generated: undefined;
|
|
181
|
+
}, {}, {
|
|
182
|
+
length: number | undefined;
|
|
183
|
+
}>;
|
|
184
|
+
highlight_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
185
|
+
name: "highlight_id";
|
|
186
|
+
tableName: "thread_events";
|
|
187
|
+
dataType: "string";
|
|
188
|
+
columnType: "SQLiteText";
|
|
189
|
+
data: string;
|
|
190
|
+
driverParam: string;
|
|
191
|
+
notNull: false;
|
|
192
|
+
hasDefault: false;
|
|
193
|
+
isPrimaryKey: false;
|
|
194
|
+
isAutoincrement: false;
|
|
195
|
+
hasRuntimeDefault: false;
|
|
196
|
+
enumValues: [string, ...string[]];
|
|
197
|
+
baseColumn: never;
|
|
198
|
+
identity: undefined;
|
|
199
|
+
generated: undefined;
|
|
200
|
+
}, {}, {
|
|
201
|
+
length: number | undefined;
|
|
202
|
+
}>;
|
|
203
|
+
};
|
|
204
|
+
dialect: "sqlite";
|
|
205
|
+
}>;
|
|
206
|
+
export declare const thread_highlights: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
207
|
+
name: "thread_highlights";
|
|
208
|
+
schema: undefined;
|
|
209
|
+
columns: {
|
|
210
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
211
|
+
name: "id";
|
|
212
|
+
tableName: "thread_highlights";
|
|
213
|
+
dataType: "string";
|
|
214
|
+
columnType: "SQLiteText";
|
|
215
|
+
data: string;
|
|
216
|
+
driverParam: string;
|
|
217
|
+
notNull: true;
|
|
218
|
+
hasDefault: false;
|
|
219
|
+
isPrimaryKey: true;
|
|
220
|
+
isAutoincrement: false;
|
|
221
|
+
hasRuntimeDefault: false;
|
|
222
|
+
enumValues: [string, ...string[]];
|
|
223
|
+
baseColumn: never;
|
|
224
|
+
identity: undefined;
|
|
225
|
+
generated: undefined;
|
|
226
|
+
}, {}, {
|
|
227
|
+
length: number | undefined;
|
|
228
|
+
}>;
|
|
229
|
+
thread_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
230
|
+
name: "thread_id";
|
|
231
|
+
tableName: "thread_highlights";
|
|
232
|
+
dataType: "string";
|
|
233
|
+
columnType: "SQLiteText";
|
|
234
|
+
data: string;
|
|
235
|
+
driverParam: string;
|
|
236
|
+
notNull: true;
|
|
237
|
+
hasDefault: false;
|
|
238
|
+
isPrimaryKey: false;
|
|
239
|
+
isAutoincrement: false;
|
|
240
|
+
hasRuntimeDefault: false;
|
|
241
|
+
enumValues: [string, ...string[]];
|
|
242
|
+
baseColumn: never;
|
|
243
|
+
identity: undefined;
|
|
244
|
+
generated: undefined;
|
|
245
|
+
}, {}, {
|
|
246
|
+
length: number | undefined;
|
|
247
|
+
}>;
|
|
248
|
+
source: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
249
|
+
name: "source";
|
|
250
|
+
tableName: "thread_highlights";
|
|
251
|
+
dataType: "string";
|
|
252
|
+
columnType: "SQLiteText";
|
|
253
|
+
data: string;
|
|
254
|
+
driverParam: string;
|
|
255
|
+
notNull: true;
|
|
256
|
+
hasDefault: false;
|
|
257
|
+
isPrimaryKey: false;
|
|
258
|
+
isAutoincrement: false;
|
|
259
|
+
hasRuntimeDefault: false;
|
|
260
|
+
enumValues: [string, ...string[]];
|
|
261
|
+
baseColumn: never;
|
|
262
|
+
identity: undefined;
|
|
263
|
+
generated: undefined;
|
|
264
|
+
}, {}, {
|
|
265
|
+
length: number | undefined;
|
|
266
|
+
}>;
|
|
267
|
+
kind: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
268
|
+
name: "kind";
|
|
269
|
+
tableName: "thread_highlights";
|
|
270
|
+
dataType: "string";
|
|
271
|
+
columnType: "SQLiteText";
|
|
272
|
+
data: string;
|
|
273
|
+
driverParam: string;
|
|
274
|
+
notNull: true;
|
|
275
|
+
hasDefault: false;
|
|
276
|
+
isPrimaryKey: false;
|
|
277
|
+
isAutoincrement: false;
|
|
278
|
+
hasRuntimeDefault: false;
|
|
279
|
+
enumValues: [string, ...string[]];
|
|
280
|
+
baseColumn: never;
|
|
281
|
+
identity: undefined;
|
|
282
|
+
generated: undefined;
|
|
283
|
+
}, {}, {
|
|
284
|
+
length: number | undefined;
|
|
285
|
+
}>;
|
|
286
|
+
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
287
|
+
name: "status";
|
|
288
|
+
tableName: "thread_highlights";
|
|
289
|
+
dataType: "string";
|
|
290
|
+
columnType: "SQLiteText";
|
|
291
|
+
data: string;
|
|
292
|
+
driverParam: string;
|
|
293
|
+
notNull: true;
|
|
294
|
+
hasDefault: true;
|
|
295
|
+
isPrimaryKey: false;
|
|
296
|
+
isAutoincrement: false;
|
|
297
|
+
hasRuntimeDefault: false;
|
|
298
|
+
enumValues: [string, ...string[]];
|
|
299
|
+
baseColumn: never;
|
|
300
|
+
identity: undefined;
|
|
301
|
+
generated: undefined;
|
|
302
|
+
}, {}, {
|
|
303
|
+
length: number | undefined;
|
|
304
|
+
}>;
|
|
305
|
+
text: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
306
|
+
name: "text";
|
|
307
|
+
tableName: "thread_highlights";
|
|
308
|
+
dataType: "string";
|
|
309
|
+
columnType: "SQLiteText";
|
|
310
|
+
data: string;
|
|
311
|
+
driverParam: string;
|
|
312
|
+
notNull: false;
|
|
313
|
+
hasDefault: false;
|
|
314
|
+
isPrimaryKey: false;
|
|
315
|
+
isAutoincrement: false;
|
|
316
|
+
hasRuntimeDefault: false;
|
|
317
|
+
enumValues: [string, ...string[]];
|
|
318
|
+
baseColumn: never;
|
|
319
|
+
identity: undefined;
|
|
320
|
+
generated: undefined;
|
|
321
|
+
}, {}, {
|
|
322
|
+
length: number | undefined;
|
|
323
|
+
}>;
|
|
324
|
+
covers_from_task_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
325
|
+
name: "covers_from_task_id";
|
|
326
|
+
tableName: "thread_highlights";
|
|
327
|
+
dataType: "string";
|
|
328
|
+
columnType: "SQLiteText";
|
|
329
|
+
data: string;
|
|
330
|
+
driverParam: string;
|
|
331
|
+
notNull: true;
|
|
332
|
+
hasDefault: false;
|
|
333
|
+
isPrimaryKey: false;
|
|
334
|
+
isAutoincrement: false;
|
|
335
|
+
hasRuntimeDefault: false;
|
|
336
|
+
enumValues: [string, ...string[]];
|
|
337
|
+
baseColumn: never;
|
|
338
|
+
identity: undefined;
|
|
339
|
+
generated: undefined;
|
|
340
|
+
}, {}, {
|
|
341
|
+
length: number | undefined;
|
|
342
|
+
}>;
|
|
343
|
+
covers_to_task_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
344
|
+
name: "covers_to_task_id";
|
|
345
|
+
tableName: "thread_highlights";
|
|
346
|
+
dataType: "string";
|
|
347
|
+
columnType: "SQLiteText";
|
|
348
|
+
data: string;
|
|
349
|
+
driverParam: string;
|
|
350
|
+
notNull: true;
|
|
351
|
+
hasDefault: false;
|
|
352
|
+
isPrimaryKey: false;
|
|
353
|
+
isAutoincrement: false;
|
|
354
|
+
hasRuntimeDefault: false;
|
|
355
|
+
enumValues: [string, ...string[]];
|
|
356
|
+
baseColumn: never;
|
|
357
|
+
identity: undefined;
|
|
358
|
+
generated: undefined;
|
|
359
|
+
}, {}, {
|
|
360
|
+
length: number | undefined;
|
|
361
|
+
}>;
|
|
362
|
+
revision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
363
|
+
name: "revision";
|
|
364
|
+
tableName: "thread_highlights";
|
|
365
|
+
dataType: "number";
|
|
366
|
+
columnType: "SQLiteInteger";
|
|
367
|
+
data: number;
|
|
368
|
+
driverParam: number;
|
|
369
|
+
notNull: true;
|
|
370
|
+
hasDefault: true;
|
|
371
|
+
isPrimaryKey: false;
|
|
372
|
+
isAutoincrement: false;
|
|
373
|
+
hasRuntimeDefault: false;
|
|
374
|
+
enumValues: undefined;
|
|
375
|
+
baseColumn: never;
|
|
376
|
+
identity: undefined;
|
|
377
|
+
generated: undefined;
|
|
378
|
+
}, {}, {}>;
|
|
379
|
+
created_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
380
|
+
name: "created_at";
|
|
381
|
+
tableName: "thread_highlights";
|
|
382
|
+
dataType: "string";
|
|
383
|
+
columnType: "SQLiteText";
|
|
384
|
+
data: string;
|
|
385
|
+
driverParam: string;
|
|
386
|
+
notNull: true;
|
|
387
|
+
hasDefault: false;
|
|
388
|
+
isPrimaryKey: false;
|
|
389
|
+
isAutoincrement: false;
|
|
390
|
+
hasRuntimeDefault: false;
|
|
391
|
+
enumValues: [string, ...string[]];
|
|
392
|
+
baseColumn: never;
|
|
393
|
+
identity: undefined;
|
|
394
|
+
generated: undefined;
|
|
395
|
+
}, {}, {
|
|
396
|
+
length: number | undefined;
|
|
397
|
+
}>;
|
|
398
|
+
updated_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
399
|
+
name: "updated_at";
|
|
400
|
+
tableName: "thread_highlights";
|
|
401
|
+
dataType: "string";
|
|
402
|
+
columnType: "SQLiteText";
|
|
403
|
+
data: string;
|
|
404
|
+
driverParam: string;
|
|
405
|
+
notNull: true;
|
|
406
|
+
hasDefault: false;
|
|
407
|
+
isPrimaryKey: false;
|
|
408
|
+
isAutoincrement: false;
|
|
409
|
+
hasRuntimeDefault: false;
|
|
410
|
+
enumValues: [string, ...string[]];
|
|
411
|
+
baseColumn: never;
|
|
412
|
+
identity: undefined;
|
|
413
|
+
generated: undefined;
|
|
414
|
+
}, {}, {
|
|
415
|
+
length: number | undefined;
|
|
416
|
+
}>;
|
|
417
|
+
agent_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
418
|
+
name: "agent_id";
|
|
419
|
+
tableName: "thread_highlights";
|
|
420
|
+
dataType: "string";
|
|
421
|
+
columnType: "SQLiteText";
|
|
422
|
+
data: string;
|
|
423
|
+
driverParam: string;
|
|
424
|
+
notNull: false;
|
|
425
|
+
hasDefault: false;
|
|
426
|
+
isPrimaryKey: false;
|
|
427
|
+
isAutoincrement: false;
|
|
428
|
+
hasRuntimeDefault: false;
|
|
429
|
+
enumValues: [string, ...string[]];
|
|
430
|
+
baseColumn: never;
|
|
431
|
+
identity: undefined;
|
|
432
|
+
generated: undefined;
|
|
433
|
+
}, {}, {
|
|
434
|
+
length: number | undefined;
|
|
435
|
+
}>;
|
|
436
|
+
source_task_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
437
|
+
name: "source_task_id";
|
|
438
|
+
tableName: "thread_highlights";
|
|
439
|
+
dataType: "string";
|
|
440
|
+
columnType: "SQLiteText";
|
|
441
|
+
data: string;
|
|
442
|
+
driverParam: string;
|
|
443
|
+
notNull: false;
|
|
444
|
+
hasDefault: false;
|
|
445
|
+
isPrimaryKey: false;
|
|
446
|
+
isAutoincrement: false;
|
|
447
|
+
hasRuntimeDefault: false;
|
|
448
|
+
enumValues: [string, ...string[]];
|
|
449
|
+
baseColumn: never;
|
|
450
|
+
identity: undefined;
|
|
451
|
+
generated: undefined;
|
|
452
|
+
}, {}, {
|
|
453
|
+
length: number | undefined;
|
|
454
|
+
}>;
|
|
455
|
+
detector_version: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
456
|
+
name: "detector_version";
|
|
457
|
+
tableName: "thread_highlights";
|
|
458
|
+
dataType: "string";
|
|
459
|
+
columnType: "SQLiteText";
|
|
460
|
+
data: string;
|
|
461
|
+
driverParam: string;
|
|
462
|
+
notNull: false;
|
|
463
|
+
hasDefault: false;
|
|
464
|
+
isPrimaryKey: false;
|
|
465
|
+
isAutoincrement: false;
|
|
466
|
+
hasRuntimeDefault: false;
|
|
467
|
+
enumValues: [string, ...string[]];
|
|
468
|
+
baseColumn: never;
|
|
469
|
+
identity: undefined;
|
|
470
|
+
generated: undefined;
|
|
471
|
+
}, {}, {
|
|
472
|
+
length: number | undefined;
|
|
473
|
+
}>;
|
|
474
|
+
content_fingerprint: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
475
|
+
name: "content_fingerprint";
|
|
476
|
+
tableName: "thread_highlights";
|
|
477
|
+
dataType: "string";
|
|
478
|
+
columnType: "SQLiteText";
|
|
479
|
+
data: string;
|
|
480
|
+
driverParam: string;
|
|
481
|
+
notNull: false;
|
|
482
|
+
hasDefault: false;
|
|
483
|
+
isPrimaryKey: false;
|
|
484
|
+
isAutoincrement: false;
|
|
485
|
+
hasRuntimeDefault: false;
|
|
486
|
+
enumValues: [string, ...string[]];
|
|
487
|
+
baseColumn: never;
|
|
488
|
+
identity: undefined;
|
|
489
|
+
generated: undefined;
|
|
490
|
+
}, {}, {
|
|
491
|
+
length: number | undefined;
|
|
492
|
+
}>;
|
|
493
|
+
dismissed_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
494
|
+
name: "dismissed_at";
|
|
495
|
+
tableName: "thread_highlights";
|
|
496
|
+
dataType: "string";
|
|
497
|
+
columnType: "SQLiteText";
|
|
498
|
+
data: string;
|
|
499
|
+
driverParam: string;
|
|
500
|
+
notNull: false;
|
|
501
|
+
hasDefault: false;
|
|
502
|
+
isPrimaryKey: false;
|
|
503
|
+
isAutoincrement: false;
|
|
504
|
+
hasRuntimeDefault: false;
|
|
505
|
+
enumValues: [string, ...string[]];
|
|
506
|
+
baseColumn: never;
|
|
507
|
+
identity: undefined;
|
|
508
|
+
generated: undefined;
|
|
509
|
+
}, {}, {
|
|
510
|
+
length: number | undefined;
|
|
511
|
+
}>;
|
|
512
|
+
};
|
|
513
|
+
dialect: "sqlite";
|
|
514
|
+
}>;
|
|
515
|
+
export type ThreadEvent = typeof thread_events.$inferSelect;
|
|
516
|
+
export type NewThreadEvent = typeof thread_events.$inferInsert;
|
|
517
|
+
export type ThreadHighlight = typeof thread_highlights.$inferSelect;
|
|
518
|
+
export type NewThreadHighlight = typeof thread_highlights.$inferInsert;
|