@usine/engine 0.0.1 → 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 +66 -2
- package/dist/cursor/model.d.ts +5 -0
- package/dist/cursor/model.d.ts.map +1 -0
- package/dist/cursor/model.js +4 -0
- package/dist/cursor/model.js.map +1 -0
- package/dist/cursor/store.d.ts +18 -0
- package/dist/cursor/store.d.ts.map +1 -0
- package/dist/cursor/store.js +54 -0
- package/dist/cursor/store.js.map +1 -0
- package/dist/database/database.d.ts +15 -0
- package/dist/database/database.d.ts.map +1 -0
- package/dist/database/database.js +5 -0
- package/dist/database/database.js.map +1 -0
- package/dist/database/local-sqlite.d.ts +17 -0
- package/dist/database/local-sqlite.d.ts.map +1 -0
- package/dist/database/local-sqlite.js +45 -0
- package/dist/database/local-sqlite.js.map +1 -0
- package/dist/database/schema.d.ts +1096 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +171 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/engine.d.ts +39 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +179 -0
- package/dist/engine.js.map +1 -0
- package/dist/index.d.ts +16 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/item-projection/model.d.ts +21 -0
- package/dist/item-projection/model.d.ts.map +1 -0
- package/dist/item-projection/model.js +16 -0
- package/dist/item-projection/model.js.map +1 -0
- package/dist/item-projection/service.d.ts +25 -0
- package/dist/item-projection/service.d.ts.map +1 -0
- package/dist/item-projection/service.js +98 -0
- package/dist/item-projection/service.js.map +1 -0
- package/dist/loop-control.d.ts +16 -0
- package/dist/loop-control.d.ts.map +1 -0
- package/dist/loop-control.js +69 -0
- package/dist/loop-control.js.map +1 -0
- package/dist/model.d.ts +185 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +174 -0
- package/dist/model.js.map +1 -0
- package/dist/repository-label-projection/model.d.ts +10 -0
- package/dist/repository-label-projection/model.d.ts.map +1 -0
- package/dist/repository-label-projection/model.js +11 -0
- package/dist/repository-label-projection/model.js.map +1 -0
- package/dist/repository-label-projection/service.d.ts +20 -0
- package/dist/repository-label-projection/service.d.ts.map +1 -0
- package/dist/repository-label-projection/service.js +73 -0
- package/dist/repository-label-projection/service.js.map +1 -0
- package/dist/run-reader.d.ts +20 -0
- package/dist/run-reader.d.ts.map +1 -0
- package/dist/run-reader.js +19 -0
- package/dist/run-reader.js.map +1 -0
- package/dist/step-executor.d.ts +21 -0
- package/dist/step-executor.d.ts.map +1 -0
- package/dist/step-executor.js +8 -0
- package/dist/step-executor.js.map +1 -0
- package/dist/store/codec.d.ts +431 -0
- package/dist/store/codec.d.ts.map +1 -0
- package/dist/store/codec.js +140 -0
- package/dist/store/codec.js.map +1 -0
- package/dist/store/queries.d.ts +75 -0
- package/dist/store/queries.d.ts.map +1 -0
- package/dist/store/queries.js +508 -0
- package/dist/store/queries.js.map +1 -0
- package/dist/store/store.d.ts +83 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +374 -0
- package/dist/store/store.js.map +1 -0
- package/dist/workflow.d.ts +14 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +105 -0
- package/dist/workflow.js.map +1 -0
- package/drizzle/20260825055549_initial_runtime/migration.sql +73 -0
- package/drizzle/20260825055549_initial_runtime/snapshot.json +592 -0
- package/drizzle/20260830191125_polling_cursors/migration.sql +5 -0
- package/drizzle/20260830191125_polling_cursors/snapshot.json +629 -0
- package/drizzle/20260831073158_attempt_channel/migration.sql +36 -0
- package/drizzle/20260831073158_attempt_channel/snapshot.json +845 -0
- package/drizzle/20260831133534_agent_context/migration.sql +49 -0
- package/drizzle/20260831133534_agent_context/snapshot.json +897 -0
- package/drizzle/20260831134612_attempt_brain/migration.sql +26 -0
- package/drizzle/20260831134612_attempt_brain/snapshot.json +923 -0
- package/drizzle/20260831194605_loop_runtime/migration.sql +4 -0
- package/drizzle/20260831194605_loop_runtime/snapshot.json +954 -0
- package/drizzle/20260901073233_projection_revision/migration.sql +55 -0
- package/drizzle/20260901073233_projection_revision/snapshot.json +991 -0
- package/drizzle/20260901180433_item_projections/migration.sql +22 -0
- package/drizzle/20260901180433_item_projections/snapshot.json +1110 -0
- package/drizzle/20260901185146_repository_label_projections/migration.sql +17 -0
- package/drizzle/20260901185146_repository_label_projections/snapshot.json +1147 -0
- package/package.json +21 -3
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Agent, Attempt, AttemptChannel, Event, Item, Loop, Repository, Run, RunState, Step, StepResult, Worker, } from "@usine/core";
|
|
2
|
+
import { Effect, Option, Schema } from "effect";
|
|
3
|
+
import { ApprovalRequirement, EnginePersistenceError, IgnoreReason, ProjectionRevision, RunStoreError, RunSummary, Submission, TranscriptEntry, TranscriptSequence, WorkflowCommand, } from "../model.js";
|
|
4
|
+
export const EventRouteRow = Schema.Struct({
|
|
5
|
+
eventId: Event.EventId,
|
|
6
|
+
dedupKey: Event.DedupKey,
|
|
7
|
+
payload: Schema.Json,
|
|
8
|
+
receivedAt: Schema.DateTimeUtcFromString,
|
|
9
|
+
itemKey: Item.ItemKey,
|
|
10
|
+
loop: Loop.LoopName,
|
|
11
|
+
step: Step.StepName,
|
|
12
|
+
approval: ApprovalRequirement,
|
|
13
|
+
repository: Repository.Name,
|
|
14
|
+
revision: Repository.Revision,
|
|
15
|
+
task: AttemptChannel.Task,
|
|
16
|
+
agent: Agent.Agent,
|
|
17
|
+
parentModel: Schema.NullOr(Agent.ModelId),
|
|
18
|
+
});
|
|
19
|
+
export const RunRow = Schema.Struct({
|
|
20
|
+
itemKey: Item.ItemKey,
|
|
21
|
+
repository: Repository.Name,
|
|
22
|
+
revision: Repository.Revision,
|
|
23
|
+
task: AttemptChannel.Task,
|
|
24
|
+
agent: Agent.Agent,
|
|
25
|
+
parentModel: Schema.NullOr(Agent.ModelId),
|
|
26
|
+
runId: Run.RunId,
|
|
27
|
+
eventId: Event.EventId,
|
|
28
|
+
loop: Loop.LoopName,
|
|
29
|
+
state: RunState.RunState,
|
|
30
|
+
openedAt: Schema.DateTimeUtcFromString,
|
|
31
|
+
stepName: Step.StepName,
|
|
32
|
+
result: Schema.NullOr(StepResult.StepResult),
|
|
33
|
+
});
|
|
34
|
+
export const AttemptRow = Schema.Struct({
|
|
35
|
+
attemptId: Attempt.AttemptId,
|
|
36
|
+
runId: Run.RunId,
|
|
37
|
+
stepName: Step.StepName,
|
|
38
|
+
worker: Worker.Name,
|
|
39
|
+
number: Attempt.AttemptNumber,
|
|
40
|
+
brain: Agent.BrainSpec,
|
|
41
|
+
parentModel: Schema.NullOr(Agent.ModelId),
|
|
42
|
+
startedAt: Schema.DateTimeUtcFromString,
|
|
43
|
+
outcome: Schema.NullOr(Attempt.Outcome),
|
|
44
|
+
});
|
|
45
|
+
export const TranscriptRow = Schema.Struct({
|
|
46
|
+
sequence: TranscriptSequence,
|
|
47
|
+
attemptId: Attempt.AttemptId,
|
|
48
|
+
direction: AttemptChannel.Direction,
|
|
49
|
+
envelope: AttemptChannel.Envelope,
|
|
50
|
+
receivedAt: Schema.DateTimeUtcFromString,
|
|
51
|
+
});
|
|
52
|
+
const RecoverableRunRow = Schema.Struct({
|
|
53
|
+
...EventRouteRow.fields,
|
|
54
|
+
runId: Run.RunId,
|
|
55
|
+
state: RunState.RunState,
|
|
56
|
+
});
|
|
57
|
+
const RunIdRow = Schema.Struct({ runId: Run.RunId });
|
|
58
|
+
const DiscardRow = Schema.Struct({ reason: IgnoreReason });
|
|
59
|
+
export const WorkflowCommandRow = Schema.Struct({
|
|
60
|
+
runId: Run.RunId,
|
|
61
|
+
command: WorkflowCommand,
|
|
62
|
+
});
|
|
63
|
+
const ProjectionRevisionRow = Schema.Struct({ revision: ProjectionRevision });
|
|
64
|
+
export const decodeEventRoutes = Schema.decodeUnknownEffect(Schema.Array(EventRouteRow));
|
|
65
|
+
export const decodeRunRows = Schema.decodeUnknownEffect(Schema.Array(RunRow));
|
|
66
|
+
export const decodeAttemptRows = Schema.decodeUnknownEffect(Schema.Array(AttemptRow));
|
|
67
|
+
export const decodeRecoverableRuns = Schema.decodeUnknownEffect(Schema.Array(RecoverableRunRow));
|
|
68
|
+
export const decodeRunIds = Schema.decodeUnknownEffect(Schema.Array(RunIdRow));
|
|
69
|
+
export const decodeDiscards = Schema.decodeUnknownEffect(Schema.Array(DiscardRow));
|
|
70
|
+
export const decodeWorkflowCommands = Schema.decodeUnknownEffect(Schema.Array(WorkflowCommandRow));
|
|
71
|
+
export const decodeProjectionRevision = Schema.decodeUnknownEffect(Schema.Array(ProjectionRevisionRow));
|
|
72
|
+
export const decodeTranscriptRows = Schema.decodeUnknownEffect(Schema.Array(TranscriptRow));
|
|
73
|
+
export const encodePayload = Schema.encodeSync(Schema.Json);
|
|
74
|
+
export const encodeDateTime = Schema.encodeSync(Schema.DateTimeUtcFromString);
|
|
75
|
+
export const encodeRunState = Schema.encodeSync(RunState.RunState);
|
|
76
|
+
export const encodeOutcome = Schema.encodeSync(Attempt.Outcome);
|
|
77
|
+
export const encodeStepResult = Schema.encodeSync(StepResult.StepResult);
|
|
78
|
+
export const encodeEnvelope = Schema.encodeSync(AttemptChannel.Envelope);
|
|
79
|
+
export const encodeAgent = Schema.encodeSync(Agent.Agent);
|
|
80
|
+
export const encodeBrainSpec = Schema.encodeSync(Agent.BrainSpec);
|
|
81
|
+
const isRunStoreError = Schema.is(RunStoreError);
|
|
82
|
+
export const persistence = (operation) => (effect) => Effect.mapError(effect, (error) => isRunStoreError(error) ? error : new EnginePersistenceError({ operation, cause: error }));
|
|
83
|
+
export const eventFromRow = (row) => new Event.Event({
|
|
84
|
+
id: row.eventId,
|
|
85
|
+
dedupKey: row.dedupKey,
|
|
86
|
+
payload: row.payload,
|
|
87
|
+
receivedAt: row.receivedAt,
|
|
88
|
+
});
|
|
89
|
+
export const submissionFromRow = (row) => new Submission({
|
|
90
|
+
event: eventFromRow(row),
|
|
91
|
+
itemKey: row.itemKey,
|
|
92
|
+
loop: row.loop,
|
|
93
|
+
step: row.step,
|
|
94
|
+
approval: row.approval,
|
|
95
|
+
repository: row.repository,
|
|
96
|
+
revision: row.revision,
|
|
97
|
+
task: row.task,
|
|
98
|
+
agent: row.agent,
|
|
99
|
+
parentModel: Option.fromNullishOr(row.parentModel),
|
|
100
|
+
});
|
|
101
|
+
export const runFromRow = (row) => new Run.Run({
|
|
102
|
+
id: row.runId,
|
|
103
|
+
eventId: row.eventId,
|
|
104
|
+
loop: row.loop,
|
|
105
|
+
state: row.state,
|
|
106
|
+
openedAt: row.openedAt,
|
|
107
|
+
});
|
|
108
|
+
export const stepFromRow = (row) => new Step.Step({
|
|
109
|
+
runId: row.runId,
|
|
110
|
+
name: row.stepName,
|
|
111
|
+
result: Option.fromNullishOr(row.result),
|
|
112
|
+
});
|
|
113
|
+
export const attemptFromRow = (row) => new Attempt.Attempt({
|
|
114
|
+
id: row.attemptId,
|
|
115
|
+
runId: row.runId,
|
|
116
|
+
stepName: row.stepName,
|
|
117
|
+
worker: row.worker,
|
|
118
|
+
number: row.number,
|
|
119
|
+
brain: row.brain,
|
|
120
|
+
parentModel: Option.fromNullishOr(row.parentModel),
|
|
121
|
+
startedAt: row.startedAt,
|
|
122
|
+
outcome: Option.fromNullishOr(row.outcome),
|
|
123
|
+
});
|
|
124
|
+
export const runSummaryFromRow = (row, storedAttempts) => new RunSummary({
|
|
125
|
+
itemKey: row.itemKey,
|
|
126
|
+
run: runFromRow(row),
|
|
127
|
+
step: stepFromRow(row),
|
|
128
|
+
attempts: storedAttempts.map(attemptFromRow),
|
|
129
|
+
repository: row.repository,
|
|
130
|
+
task: row.task,
|
|
131
|
+
agent: row.agent,
|
|
132
|
+
});
|
|
133
|
+
export const transcriptEntryFromRow = (row) => new TranscriptEntry({
|
|
134
|
+
sequence: row.sequence,
|
|
135
|
+
attemptId: row.attemptId,
|
|
136
|
+
direction: row.direction,
|
|
137
|
+
envelope: row.envelope,
|
|
138
|
+
receivedAt: row.receivedAt,
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/store/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Attempt, AttemptChannel, Event, RunState, StepResult } from "@usine/core";
|
|
2
|
+
import type { Agent } from "@usine/core";
|
|
3
|
+
import { DateTime, Effect, Option, Schema } from "effect";
|
|
4
|
+
import type { RunDatabaseClient } from "../database/database.ts";
|
|
5
|
+
import { RunNotFoundError, RunSnapshot, RunSummary, Submission } from "../model.ts";
|
|
6
|
+
export declare const queriesFor: (database: RunDatabaseClient) => {
|
|
7
|
+
readonly addAttempt: (attempt: Attempt.Attempt) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
8
|
+
readonly appendTranscript: (direction: "inbound" | "outbound", envelope: AttemptChannel.InboundEnvelope | AttemptChannel.OutboundEnvelope, receivedAt: DateTime.Utc) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
9
|
+
readonly approvalExists: (runId: string & import("effect/Brand").Brand<"RunId">) => Effect.Effect<boolean, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
10
|
+
readonly blockingRun: (loop: string & import("effect/Brand").Brand<"LoopName">, itemKey: string & import("effect/Brand").Brand<"ItemKey">) => Effect.Effect<readonly {
|
|
11
|
+
readonly runId: string & import("effect/Brand").Brand<"RunId">;
|
|
12
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
13
|
+
readonly closeAttempt: (attemptId: string & import("effect/Brand").Brand<"AttemptId">, outcome: Attempt.Canceled | Attempt.Failed | Attempt.Succeeded) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
14
|
+
readonly completeWorkflowCommand: (runId: string & import("effect/Brand").Brand<"RunId">, command: "Approve" | "Continue" | "Interrupt" | "Resume") => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
15
|
+
readonly createRun: (submission: Submission, eventId: string & import("effect/Brand").Brand<"EventId">, runId: string & import("effect/Brand").Brand<"RunId">) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
16
|
+
readonly eventRouteByRun: (runId: string & import("effect/Brand").Brand<"RunId">) => Effect.Effect<readonly {
|
|
17
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
18
|
+
readonly dedupKey: string & import("effect/Brand").Brand<"DedupKey">;
|
|
19
|
+
readonly payload: Schema.Json;
|
|
20
|
+
readonly receivedAt: DateTime.Utc;
|
|
21
|
+
readonly itemKey: string & import("effect/Brand").Brand<"ItemKey">;
|
|
22
|
+
readonly loop: string & import("effect/Brand").Brand<"LoopName">;
|
|
23
|
+
readonly step: string & import("effect/Brand").Brand<"StepName">;
|
|
24
|
+
readonly approval: "none" | "required";
|
|
25
|
+
readonly repository: string & import("effect/Brand").Brand<"RepoName">;
|
|
26
|
+
readonly revision: string & import("effect/Brand").Brand<"RepositoryRevision">;
|
|
27
|
+
readonly task: string & import("effect/Brand").Brand<"AttemptTask">;
|
|
28
|
+
readonly agent: Agent.Agent;
|
|
29
|
+
readonly parentModel: (string & import("effect/Brand").Brand<"ModelId">) | null;
|
|
30
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
31
|
+
readonly hasWorkflowCommand: (runId: string & import("effect/Brand").Brand<"RunId">, command: "Approve" | "Continue" | "Interrupt" | "Resume") => Effect.Effect<boolean, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
32
|
+
readonly ignoredEvent: (eventId: string & import("effect/Brand").Brand<"EventId">) => Effect.Effect<readonly {
|
|
33
|
+
readonly reason: "revoked" | "superseded";
|
|
34
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
35
|
+
readonly nextQueued: (runId: string & import("effect/Brand").Brand<"RunId">) => Effect.Effect<Option.Option<Submission>, import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
36
|
+
readonly pendingWorkflowCommands: () => Effect.Effect<{
|
|
37
|
+
readonly runId: string & import("effect/Brand").Brand<"RunId">;
|
|
38
|
+
readonly command: "Approve" | "Continue" | "Interrupt" | "Resume";
|
|
39
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
40
|
+
readonly recordTriggerEvent: (submission: Submission) => Effect.Effect<Submission, import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
41
|
+
readonly recoverable: () => Effect.Effect<readonly {
|
|
42
|
+
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
43
|
+
readonly dedupKey: string & import("effect/Brand").Brand<"DedupKey">;
|
|
44
|
+
readonly payload: Schema.Json;
|
|
45
|
+
readonly receivedAt: DateTime.Utc;
|
|
46
|
+
readonly itemKey: string & import("effect/Brand").Brand<"ItemKey">;
|
|
47
|
+
readonly loop: string & import("effect/Brand").Brand<"LoopName">;
|
|
48
|
+
readonly step: string & import("effect/Brand").Brand<"StepName">;
|
|
49
|
+
readonly approval: "none" | "required";
|
|
50
|
+
readonly repository: string & import("effect/Brand").Brand<"RepoName">;
|
|
51
|
+
readonly revision: string & import("effect/Brand").Brand<"RepositoryRevision">;
|
|
52
|
+
readonly task: string & import("effect/Brand").Brand<"AttemptTask">;
|
|
53
|
+
readonly agent: Agent.Agent;
|
|
54
|
+
readonly parentModel: (string & import("effect/Brand").Brand<"ModelId">) | null;
|
|
55
|
+
readonly runId: string & import("effect/Brand").Brand<"RunId">;
|
|
56
|
+
readonly state: RunState.Canceled | RunState.Failed | RunState.Pending | RunState.Running | RunState.Succeeded | RunState.Waiting;
|
|
57
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
58
|
+
readonly recordApproval: (runId: string & import("effect/Brand").Brand<"RunId">, approval: Event.Event) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
59
|
+
readonly requestInterrupt: (runId: string & import("effect/Brand").Brand<"RunId">) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
60
|
+
readonly requestWorkflowCommand: (runId: string & import("effect/Brand").Brand<"RunId">, command: "Approve" | "Continue" | "Interrupt" | "Resume") => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
61
|
+
readonly revision: () => Effect.Effect<Option.Option<number & import("effect/Brand").Brand<"ProjectionRevision">>, import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
62
|
+
readonly revokeUnstarted: (loop: string & import("effect/Brand").Brand<"LoopName">, itemKey: string & import("effect/Brand").Brand<"ItemKey">) => Effect.Effect<readonly {
|
|
63
|
+
readonly runId: string & import("effect/Brand").Brand<"RunId">;
|
|
64
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
65
|
+
readonly runSummaries: (closedLimit: number) => Effect.Effect<RunSummary[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
66
|
+
readonly runForEvent: (eventId: string & import("effect/Brand").Brand<"EventId">) => Effect.Effect<readonly {
|
|
67
|
+
readonly runId: string & import("effect/Brand").Brand<"RunId">;
|
|
68
|
+
}[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
69
|
+
readonly snapshot: (runId: string & import("effect/Brand").Brand<"RunId">) => Effect.Effect<RunSnapshot, import("drizzle-orm/effect-core").EffectDrizzleQueryError | RunNotFoundError | Schema.SchemaError, never>;
|
|
70
|
+
readonly transcript: (query: import("../model.ts").TranscriptAllQuery | import("../model.ts").TranscriptPageQuery | import("../model.ts").TranscriptTailQuery) => Effect.Effect<import("../model.ts").TranscriptEntry[], import("drizzle-orm/effect-core").EffectDrizzleQueryError | Schema.SchemaError, never>;
|
|
71
|
+
readonly updateStepResult: (runId: string & import("effect/Brand").Brand<"RunId">, stepName: string & import("effect/Brand").Brand<"StepName">, result: StepResult.StepResult) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
72
|
+
readonly updateAttemptParentModel: (attemptId: string & import("effect/Brand").Brand<"AttemptId">, parentModel: string & import("effect/Brand").Brand<"ModelId">) => Effect.Effect<void, import("drizzle-orm/effect-core").EffectDrizzleQueryError, never>;
|
|
73
|
+
readonly updateState: (runId: string & import("effect/Brand").Brand<"RunId">, state: RunState.Canceled | RunState.Failed | RunState.Pending | RunState.Running | RunState.Succeeded | RunState.Waiting) => Effect.Effect<undefined, import("drizzle-orm/effect-core").EffectDrizzleQueryError | RunNotFoundError, never>;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/store/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,KAAK,EAIL,QAAQ,EAER,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAajE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,UAAU,EAIX,MAAM,aAAa,CAAC;AAkFrB,eAAO,MAAM,UAAU,aAAc,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAilBrD,CAAC"}
|