@harness-kernel/core 0.1.0-beta.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/NOTICE +3 -0
- package/README.md +12 -0
- package/dist/agent/context.d.ts +5 -0
- package/dist/agent/context.js +11 -0
- package/dist/agent/context.js.map +1 -0
- package/dist/agent/event.d.ts +3 -0
- package/dist/agent/event.js +50 -0
- package/dist/agent/event.js.map +1 -0
- package/dist/agent/hook.d.ts +6 -0
- package/dist/agent/hook.js +7 -0
- package/dist/agent/hook.js.map +1 -0
- package/dist/agent/mode.d.ts +5 -0
- package/dist/agent/mode.js +7 -0
- package/dist/agent/mode.js.map +1 -0
- package/dist/agent/role.d.ts +1 -0
- package/dist/agent/role.js +27 -0
- package/dist/agent/role.js.map +1 -0
- package/dist/agent/session.d.ts +6 -0
- package/dist/agent/session.js +13 -0
- package/dist/agent/session.js.map +1 -0
- package/dist/agent/tool.d.ts +5 -0
- package/dist/agent/tool.js +7 -0
- package/dist/agent/tool.js.map +1 -0
- package/dist/agent.d.ts +12 -0
- package/dist/agent.js +7 -0
- package/dist/agent.js.map +1 -0
- package/dist/approval-DfvjpbFs.d.ts +247 -0
- package/dist/chunk-4A2P4QU5.js +179 -0
- package/dist/chunk-4A2P4QU5.js.map +1 -0
- package/dist/chunk-4SYLFKIX.js +207 -0
- package/dist/chunk-4SYLFKIX.js.map +1 -0
- package/dist/chunk-4WWSQAWA.js +3778 -0
- package/dist/chunk-4WWSQAWA.js.map +1 -0
- package/dist/chunk-AD3BCYWU.js +37 -0
- package/dist/chunk-AD3BCYWU.js.map +1 -0
- package/dist/chunk-AZVA22HW.js +135 -0
- package/dist/chunk-AZVA22HW.js.map +1 -0
- package/dist/chunk-OBKS4AJR.js +529 -0
- package/dist/chunk-OBKS4AJR.js.map +1 -0
- package/dist/chunk-Q44U2CMM.js +239 -0
- package/dist/chunk-Q44U2CMM.js.map +1 -0
- package/dist/chunk-Q73WH5D7.js +54 -0
- package/dist/chunk-Q73WH5D7.js.map +1 -0
- package/dist/chunk-RRWJUHJG.js +9 -0
- package/dist/chunk-RRWJUHJG.js.map +1 -0
- package/dist/context-75mlon5x.d.ts +394 -0
- package/dist/event-CKV4EeZ3.d.ts +230 -0
- package/dist/events-D4xcDi53.d.ts +69 -0
- package/dist/hook-DMb9fw9Z.d.ts +20 -0
- package/dist/index.d.ts +164 -0
- package/dist/index.js +174 -0
- package/dist/index.js.map +1 -0
- package/dist/model-provider-BrZ2RRmS.d.ts +130 -0
- package/dist/role-BN6KhQxx.d.ts +68 -0
- package/dist/runner/approval.d.ts +9 -0
- package/dist/runner/approval.js +1 -0
- package/dist/runner/approval.js.map +1 -0
- package/dist/runner/event.d.ts +3 -0
- package/dist/runner/event.js +50 -0
- package/dist/runner/event.js.map +1 -0
- package/dist/runner/logging.d.ts +31 -0
- package/dist/runner/logging.js +15 -0
- package/dist/runner/logging.js.map +1 -0
- package/dist/runner/model-provider.d.ts +8 -0
- package/dist/runner/model-provider.js +11 -0
- package/dist/runner/model-provider.js.map +1 -0
- package/dist/runner/sandbox.d.ts +47 -0
- package/dist/runner/sandbox.js +13 -0
- package/dist/runner/sandbox.js.map +1 -0
- package/dist/runner/storage.d.ts +6 -0
- package/dist/runner/storage.js +17 -0
- package/dist/runner/storage.js.map +1 -0
- package/dist/runner-Dxo7ALtp.d.ts +87 -0
- package/dist/runner.d.ts +10 -0
- package/dist/runner.js +18 -0
- package/dist/runner.js.map +1 -0
- package/dist/schema.d.ts +146 -0
- package/dist/schema.js +39 -0
- package/dist/schema.js.map +1 -0
- package/dist/storage-BmOEwW-p.d.ts +118 -0
- package/dist/tool-errors-CygY1Nba.d.ts +27 -0
- package/dist/types-BPmsw-mF.d.ts +80 -0
- package/package.json +114 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/types/events.ts","../src/runtime/types/naming.ts","../src/runtime/types/roles.ts","../src/runtime/types/tools.ts","../src/runtime/types/context.ts","../src/runtime/types/modes.ts","../src/runtime/types/hooks.ts"],"sourcesContent":["import type { JsonObject } from \"./json.js\";\n\nexport interface HarnessEventMetadata extends JsonObject {\n label?: string;\n}\n\nexport interface HarnessEventSource {\n kind: \"runtime\" | \"model_provider\" | \"tool\" | \"hook\" | \"context_provider\" | \"mode\" | \"user\" | \"custom\";\n id?: string;\n name?: string;\n}\n\nexport interface HarnessEventRecord<TPayload = unknown> {\n id: string;\n seq: number;\n branchId: string;\n type: string;\n eventClassId: string;\n at: string;\n source: HarnessEventSource;\n payload: TPayload;\n runId: string;\n turnId?: string;\n modeId?: string;\n correlationId?: string;\n causationId?: string;\n hidden: true;\n metadata?: HarnessEventMetadata;\n}\n\nexport abstract class HarnessEvent<TPayload = unknown> {\n static type?: string;\n static schema?: unknown;\n\n constructor(readonly record: HarnessEventRecord<TPayload>) {}\n\n get id(): string {\n return this.record.id;\n }\n\n get type(): string {\n return this.record.type;\n }\n\n get payload(): TPayload {\n return this.record.payload;\n }\n\n get at(): string {\n return this.record.at;\n }\n}\n\nexport type HarnessEventClass<\n TPayload = unknown,\n TEvent extends HarnessEvent<TPayload> = HarnessEvent<TPayload>,\n> = {\n readonly type?: string;\n readonly schema?: unknown;\n new (record: HarnessEventRecord<any>): TEvent;\n};\n\nexport interface HarnessEventEmitOptions {\n source?: HarnessEventSource;\n correlationId?: string;\n causationId?: string;\n metadata?: HarnessEventMetadata;\n hiddenTranscript?: boolean;\n skipHooks?: boolean;\n}\n\nexport interface HarnessEventQuery<TPayload = unknown> {\n event?: HarnessEventClass<TPayload>;\n type?: string;\n sourceKind?: HarnessEventSource[\"kind\"];\n limit?: number;\n since?: string;\n until?: string;\n includeInactive?: boolean;\n}\n\nexport interface EventCursor {\n id: string;\n branchId: string;\n headEventId?: string;\n seq: number;\n updatedAt: string;\n}\n\nexport type RunnerEventListener = (event: HarnessEventRecord) => void | Promise<void>;\n","function constructorOf(value: object): { readonly type?: string; readonly label?: string; readonly name?: string } {\n return value.constructor as { readonly type?: string; readonly label?: string; readonly name?: string };\n}\n\nexport function constructTypeOf(value: object): string {\n const ctor = constructorOf(value);\n return ctor.type ?? ctor.name ?? \"AnonymousConstruct\";\n}\n\nfunction stripConstructSuffix(name: string): string {\n return name.replace(/(Tool|Mode|Provider|ContextProvider|Hook|Role|Event)$/u, \"\");\n}\n\nfunction wordsFromName(name: string): string[] {\n const spaced = name\n .replace(/[_:-]+/gu, \" \")\n .replace(/([a-z0-9])([A-Z])/gu, \"$1 $2\")\n .replace(/([A-Z]+)([A-Z][a-z])/gu, \"$1 $2\")\n .trim();\n return spaced ? spaced.split(/\\s+/u) : [name];\n}\n\nexport function labelFromType(type: string): string {\n return wordsFromName(stripConstructSuffix(type))\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n}\n\nexport function snakeFromType(type: string): string {\n return wordsFromName(stripConstructSuffix(type))\n .map((word) => word.toLowerCase())\n .join(\"_\");\n}\n","import { constructTypeOf } from \"./naming.js\";\n\nexport interface HarnessRoleSummary {\n type: string;\n name: string;\n label?: string;\n target: string;\n nativeRole?: string;\n default?: boolean;\n description?: string;\n}\n\nexport enum RoleTargets {\n System = \"system\",\n Messages = \"messages\",\n Hidden = \"hidden\",\n}\n\nexport enum NativeRoles {\n System = \"system\",\n User = \"user\",\n Assistant = \"assistant\",\n Tool = \"tool\",\n}\n\nexport abstract class HarnessRole {\n protected declare readonly __harnessRoleBrand: true;\n\n label?: string;\n name?: string;\n abstract target: RoleTargets | (string & {});\n nativeRole?: NativeRoles | (string & {});\n default?: boolean;\n description?: string;\n\n get type(): string {\n return constructTypeOf(this);\n }\n\n}\n\nexport type HarnessRoleClass<TRole extends HarnessRole = HarnessRole> = abstract new (...args: any[]) => TRole;\nexport type HarnessRoleDefinition = HarnessRole;\nexport type HarnessRoleSelector<TRole extends HarnessRole = HarnessRole> = TRole | HarnessRoleClass<TRole>;\n\nexport class SystemRole extends HarnessRole {\n static type = \"system\";\n label = \"System\";\n name = \"system\";\n target = RoleTargets.System;\n nativeRole = NativeRoles.System;\n default = true;\n}\n\nexport class UserRole extends HarnessRole {\n static type = \"user\";\n label = \"User\";\n name = \"user\";\n target = RoleTargets.Messages;\n nativeRole = NativeRoles.User;\n}\n\nexport class AssistantRole extends HarnessRole {\n static type = \"assistant\";\n label = \"Assistant\";\n name = \"assistant\";\n target = RoleTargets.Messages;\n nativeRole = NativeRoles.Assistant;\n}\n\nexport class ToolRole extends HarnessRole {\n static type = \"tool\";\n label = \"Tool\";\n name = \"tool\";\n target = RoleTargets.Messages;\n nativeRole = NativeRoles.Tool;\n}\n\nexport const systemRole = new SystemRole();\nexport const userRole = new UserRole();\nexport const assistantRole = new AssistantRole();\nexport const toolRole = new ToolRole();\n","import type { AgentActionSession } from \"./sessions.js\";\nimport type { JsonObject } from \"./json.js\";\nimport { constructTypeOf } from \"./naming.js\";\n\nexport type ToolApprovalMode = \"auto\" | \"ask\" | \"deny\" | \"tool-default\";\nexport type ToolApprovalDecision = \"approved\" | \"denied\";\nexport type ToolRisk = \"safe\" | \"read\" | \"write\" | \"execute\" | \"network\" | \"destructive\";\n\nexport interface ToolPermission {\n kind: \"filesystem\" | \"shell\" | \"network\" | \"custom\";\n access?: \"read\" | \"write\" | \"execute\";\n path?: string;\n description?: string;\n}\n\nexport type ToolRef =\n | { kind: \"file\"; path: string; role?: \"created\" | \"modified\" | \"read\" | \"evidence\" }\n | { kind: \"url\"; url: string; role?: string }\n | { kind: \"command\"; command: string; exitCode?: number; role?: string }\n | { kind: \"tool_call\"; toolName: string; callId?: string; role?: string }\n | { kind: \"session\"; sessionId: string; role?: string }\n | { kind: \"external\"; label: string; uri?: string; role?: string };\n\nexport interface ToolCatalogEntry {\n name: string;\n description: string;\n risk?: ToolRisk;\n permissions?: ToolPermission[];\n requiresApproval?: boolean;\n}\n\nexport type ToolApprovalResolver = (\n args: unknown,\n session: AgentActionSession,\n) => boolean | Promise<boolean>;\n\nexport interface AgentToolResult<TData = unknown> {\n content: string;\n data?: TData;\n refs?: ToolRef[];\n metadata?: JsonObject;\n isError?: boolean;\n}\n\nexport abstract class HarnessTool<TInput = unknown, TData = unknown> {\n protected declare readonly __harnessToolBrand: true;\n\n label?: string;\n abstract name: string;\n abstract description: string;\n schema?: unknown;\n risk?: ToolRisk;\n permissions?: ToolPermission[];\n requiresApproval?: boolean | ToolApprovalResolver;\n\n get type(): string {\n return constructTypeOf(this);\n }\n\n get inputSchema(): unknown {\n return this.schema;\n }\n\n abstract execute(args: TInput, session: AgentActionSession): AgentToolResult<TData> | Promise<AgentToolResult<TData>>;\n}\n\nexport type HarnessToolClass<TTool extends HarnessTool = HarnessTool> = abstract new (...args: any[]) => TTool;\nexport type HarnessToolSelector<TTool extends HarnessTool = HarnessTool> = TTool | HarnessToolClass<TTool>;\nexport type AgentToolDefinition<TInput = unknown, TData = unknown> = HarnessTool<TInput, TData>;\nexport type AgentToolSource = HarnessTool;\n\nexport interface ToolApprovalRequest {\n id: string;\n name: string;\n args: unknown;\n modeId: string;\n risk?: ToolRisk;\n permissions?: ToolPermission[];\n}\n","import type { AgentReadSession } from \"./sessions.js\";\nimport type { AgentMessage } from \"./messages.js\";\nimport type { HarnessEventClass } from \"./events.js\";\nimport type { HarnessRoleSelector } from \"./roles.js\";\nimport type { JsonObject } from \"./json.js\";\nimport { constructTypeOf } from \"./naming.js\";\n\nexport type HarnessContextProviderClass<\n TProvider extends HarnessContextProvider = HarnessContextProvider,\n> = abstract new (...args: any[]) => TProvider;\n\nexport type HarnessContextProviderSelector<TOptions extends JsonObject = JsonObject> =\n | HarnessContextProvider<TOptions>\n | HarnessContextProviderClass<HarnessContextProvider<TOptions>>;\n\nexport interface ContextProviderBinding<TOptions extends JsonObject = JsonObject> {\n provider: HarnessContextProviderSelector<TOptions>;\n options?: TOptions;\n}\n\nexport type ContextProviderReference<TOptions extends JsonObject = JsonObject> =\n | HarnessContextProviderSelector<TOptions>\n | ContextProviderBinding<TOptions>;\n\nexport interface ContextProviderSummary {\n type: string;\n label?: string;\n options?: JsonObject;\n}\n\nexport interface ContextContribution {\n providerId?: string;\n providerLabel?: string;\n role: string;\n authorRole?: string;\n roleType?: string;\n content: unknown;\n metadata?: JsonObject;\n}\n\nexport enum ContextScopes {\n Turn = \"turn\",\n Run = \"run\",\n Session = \"session\",\n}\n\nexport enum ContextConsume {\n Once = \"once\",\n WhileActive = \"while_active\",\n}\n\nexport interface ContextRegistrationOptions {\n scope?: ContextScopes;\n on?: HarnessEventClass;\n consume?: ContextConsume;\n id?: string;\n replace?: boolean;\n metadata?: JsonObject;\n}\n\nexport interface ContextEntry {\n id: string;\n scope: ContextScopes;\n on: string;\n consume: ContextConsume;\n createdAt: string;\n activatedAt?: string;\n activatedByEventId?: string;\n activatedByEventType?: string;\n runId: string;\n turnId?: string;\n modeId: string;\n contribution: ContextContribution;\n metadata?: JsonObject;\n}\n\nexport interface ContextEntryFilter {\n id?: string;\n scope?: ContextScopes;\n consume?: ContextConsume;\n providerId?: string;\n role?: string;\n on?: HarnessEventClass;\n}\n\nexport type ContextProviderOutput =\n | string\n | ContextContributionInput\n | Array<string | ContextContributionInput>\n | null\n | undefined;\n\nexport interface ContextContributionInput {\n role?: HarnessRoleSelector;\n content: unknown;\n metadata?: JsonObject;\n}\n\nexport interface ContextProviderRenderResult {\n providerId: string;\n providerLabel?: string;\n binding: ContextProviderSummary;\n contributions: ContextContribution[];\n}\n\nexport interface ContextSnapshot {\n id: string;\n turnId?: string;\n modeId: string;\n createdAt: string;\n providers: ContextProviderRenderResult[];\n contributions: ContextContribution[];\n systemPrompt: string;\n messages: AgentMessage[];\n}\n\nexport abstract class HarnessContextProvider<TOptions extends JsonObject = JsonObject> {\n protected declare readonly __harnessContextProviderBrand: true;\n\n label?: string;\n priority?: number;\n role?: HarnessRoleSelector;\n\n get type(): string {\n return constructTypeOf(this);\n }\n\n with(options: TOptions): ContextProviderBinding<TOptions> {\n return { provider: this, options };\n }\n\n abstract render(session: AgentReadSession, options?: TOptions): ContextProviderOutput | Promise<ContextProviderOutput>;\n}\n\nexport type AgentContextProvider<TOptions extends JsonObject = JsonObject> = HarnessContextProvider<TOptions>;\n","import type { AgentActionSession, AgentReadSession } from \"./sessions.js\";\nimport type { AgentToolSource, ToolApprovalMode } from \"./tools.js\";\nimport type { ContextProviderReference } from \"./context.js\";\nimport { constructTypeOf } from \"./naming.js\";\n\nexport interface HarnessModeSummary {\n type: string;\n label: string;\n}\n\nexport abstract class HarnessMode {\n protected declare readonly __harnessModeBrand: true;\n\n label?: string;\n model?: string;\n prompt?: string | ((session: AgentReadSession) => string | Promise<string>);\n providers?: \"all\" | ContextProviderReference[];\n excludeProviders?: string[];\n tools?: AgentToolSource[];\n maxTurns?: number;\n toolApproval?: ToolApprovalMode;\n\n get type(): string {\n return constructTypeOf(this);\n }\n\n getPrompt?(session: AgentReadSession): string | Promise<string>;\n onEnter?(session: AgentActionSession, input?: unknown): void | Promise<void>;\n onExit?(session: AgentActionSession, nextMode: HarnessModeSummary): void | Promise<void>;\n}\n\nexport type HarnessModeClass<TMode extends HarnessMode = HarnessMode> = abstract new (...args: any[]) => TMode;\nexport type HarnessModeSelector<TMode extends HarnessMode = HarnessMode> = TMode | HarnessModeClass<TMode>;\nexport type AgentModeDefinition = HarnessMode;\n","import type { AgentActionSession } from \"./sessions.js\";\nimport type { HarnessEvent, HarnessEventClass } from \"./events.js\";\nimport { constructTypeOf } from \"./naming.js\";\n\nexport interface HarnessHookSummary {\n type: string;\n label: string;\n eventType: string;\n eventClassId: string;\n}\n\nexport abstract class HarnessHook<TEvent extends HarnessEvent = HarnessEvent> {\n protected declare readonly __harnessHookBrand: true;\n\n label?: string;\n readonly eventClass?: HarnessEventClass<any, TEvent>;\n\n static for<TPayload, TEvent extends HarnessEvent<TPayload>>(\n eventClass: HarnessEventClass<TPayload, TEvent>,\n ): abstract new () => HarnessHook<TEvent> {\n abstract class BoundHarnessHook extends HarnessHook<TEvent> {\n override readonly eventClass: HarnessEventClass<any, TEvent> = eventClass;\n }\n return BoundHarnessHook;\n }\n\n get type(): string {\n return constructTypeOf(this);\n }\n\n abstract onActive(session: AgentActionSession, event: TEvent): void | Promise<void>;\n}\n\nexport type HarnessHookEventClass<TEvent extends HarnessEvent = HarnessEvent> = abstract new () => HarnessHook<TEvent>;\n"],"mappings":"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","names":["RoleTargets","NativeRoles","ContextScopes","ContextConsume"]}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import {
|
|
2
|
+
s
|
|
3
|
+
} from "./chunk-OBKS4AJR.js";
|
|
4
|
+
import {
|
|
5
|
+
HarnessEvent
|
|
6
|
+
} from "./chunk-4A2P4QU5.js";
|
|
7
|
+
|
|
8
|
+
// src/runtime/events.ts
|
|
9
|
+
var RunStartEvent = class extends HarnessEvent {
|
|
10
|
+
static type = "run:start";
|
|
11
|
+
static schema = s.object({
|
|
12
|
+
agentKey: s.string().min(1),
|
|
13
|
+
modeId: s.string().min(1),
|
|
14
|
+
workDir: s.string(),
|
|
15
|
+
outputDir: s.string().optional()
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
var TurnStartEvent = class extends HarnessEvent {
|
|
19
|
+
static type = "turn:start";
|
|
20
|
+
static schema = s.object({
|
|
21
|
+
turnId: s.string().min(1),
|
|
22
|
+
input: s.string()
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
var ContextReadyEvent = class extends HarnessEvent {
|
|
26
|
+
static type = "context:ready";
|
|
27
|
+
static schema = s.object({
|
|
28
|
+
snapshotId: s.string().min(1),
|
|
29
|
+
providerCount: s.number().int().min(0),
|
|
30
|
+
contributionCount: s.number().int().min(0)
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
var ModelBeforeEvent = class extends HarnessEvent {
|
|
34
|
+
static type = "model:before";
|
|
35
|
+
static schema = s.object({
|
|
36
|
+
model: s.string().min(1),
|
|
37
|
+
messageCount: s.number().int().min(0)
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
var ModelAfterEvent = class extends HarnessEvent {
|
|
41
|
+
static type = "model:after";
|
|
42
|
+
static schema = s.object({
|
|
43
|
+
model: s.string().min(1),
|
|
44
|
+
content: s.string(),
|
|
45
|
+
usage: s.unknown().optional(),
|
|
46
|
+
finishReason: s.string().optional()
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var ToolStartEvent = class extends HarnessEvent {
|
|
50
|
+
static type = "tool:start";
|
|
51
|
+
static schema = s.object({
|
|
52
|
+
id: s.string().min(1),
|
|
53
|
+
name: s.string().min(1),
|
|
54
|
+
args: s.unknown()
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
var ToolEndEvent = class extends HarnessEvent {
|
|
58
|
+
static type = "tool:end";
|
|
59
|
+
static schema = s.object({
|
|
60
|
+
id: s.string().min(1),
|
|
61
|
+
name: s.string().min(1),
|
|
62
|
+
durationMs: s.number().min(0),
|
|
63
|
+
result: s.unknown()
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
var TurnEndEvent = class extends HarnessEvent {
|
|
67
|
+
static type = "turn:end";
|
|
68
|
+
static schema = s.object({
|
|
69
|
+
turnId: s.string().min(1),
|
|
70
|
+
finalAnswer: s.string()
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
var RunEndEvent = class extends HarnessEvent {
|
|
74
|
+
static type = "run:end";
|
|
75
|
+
static schema = s.object({
|
|
76
|
+
metrics: s.unknown(),
|
|
77
|
+
finalAnswer: s.string()
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
var ErrorEvent = class extends HarnessEvent {
|
|
81
|
+
static type = "error";
|
|
82
|
+
static schema = s.object({
|
|
83
|
+
message: s.string(),
|
|
84
|
+
recoverable: s.boolean().optional(),
|
|
85
|
+
details: s.unknown().optional()
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
var MessageStartEvent = class extends HarnessEvent {
|
|
89
|
+
static type = "message:start";
|
|
90
|
+
static schema = s.object({
|
|
91
|
+
role: s.string().min(1)
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
var MessageDeltaEvent = class extends HarnessEvent {
|
|
95
|
+
static type = "message:delta";
|
|
96
|
+
static schema = s.object({
|
|
97
|
+
role: s.literal("assistant"),
|
|
98
|
+
text: s.string()
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
var MessageEndEvent = class extends HarnessEvent {
|
|
102
|
+
static type = "message:end";
|
|
103
|
+
static schema = s.object({
|
|
104
|
+
message: s.unknown()
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
var ToolApprovalRequestedEvent = class extends HarnessEvent {
|
|
108
|
+
static type = "tool:approval_requested";
|
|
109
|
+
static schema = s.object({
|
|
110
|
+
id: s.string().min(1),
|
|
111
|
+
name: s.string().min(1),
|
|
112
|
+
args: s.unknown(),
|
|
113
|
+
modeId: s.string().optional(),
|
|
114
|
+
risk: s.string().optional(),
|
|
115
|
+
permissions: s.array(s.unknown()).optional()
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
var ToolApprovalResolvedEvent = class extends HarnessEvent {
|
|
119
|
+
static type = "tool:approval_resolved";
|
|
120
|
+
static schema = s.object({
|
|
121
|
+
id: s.string().min(1),
|
|
122
|
+
name: s.string().min(1),
|
|
123
|
+
args: s.unknown(),
|
|
124
|
+
decision: s.enum(["approved", "denied"]),
|
|
125
|
+
modeId: s.string().optional()
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
var ModeChangedEvent = class extends HarnessEvent {
|
|
129
|
+
static type = "mode:changed";
|
|
130
|
+
static schema = s.object({
|
|
131
|
+
previousMode: s.string().min(1),
|
|
132
|
+
mode: s.string().min(1),
|
|
133
|
+
input: s.unknown().optional()
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
var SnapshotCreatedEvent = class extends HarnessEvent {
|
|
137
|
+
static type = "snapshot:created";
|
|
138
|
+
static schema = s.object({
|
|
139
|
+
snapshot: s.unknown()
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
var SnapshotRestoredEvent = class extends HarnessEvent {
|
|
143
|
+
static type = "snapshot:restored";
|
|
144
|
+
static schema = s.object({
|
|
145
|
+
snapshot: s.unknown()
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
var SnapshotDeletedEvent = class extends HarnessEvent {
|
|
149
|
+
static type = "snapshot:deleted";
|
|
150
|
+
static schema = s.object({
|
|
151
|
+
snapshot: s.unknown()
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
var TranscriptCursorChangedEvent = class extends HarnessEvent {
|
|
155
|
+
static type = "transcript:cursor_changed";
|
|
156
|
+
static schema = s.object({
|
|
157
|
+
previousCursor: s.unknown(),
|
|
158
|
+
cursor: s.unknown()
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
var runtimeEventClasses = [
|
|
162
|
+
RunStartEvent,
|
|
163
|
+
TurnStartEvent,
|
|
164
|
+
ContextReadyEvent,
|
|
165
|
+
ModelBeforeEvent,
|
|
166
|
+
ModelAfterEvent,
|
|
167
|
+
ToolStartEvent,
|
|
168
|
+
ToolEndEvent,
|
|
169
|
+
TurnEndEvent,
|
|
170
|
+
RunEndEvent,
|
|
171
|
+
ErrorEvent,
|
|
172
|
+
MessageStartEvent,
|
|
173
|
+
MessageDeltaEvent,
|
|
174
|
+
MessageEndEvent,
|
|
175
|
+
ToolApprovalRequestedEvent,
|
|
176
|
+
ToolApprovalResolvedEvent,
|
|
177
|
+
ModeChangedEvent,
|
|
178
|
+
SnapshotCreatedEvent,
|
|
179
|
+
SnapshotRestoredEvent,
|
|
180
|
+
SnapshotDeletedEvent,
|
|
181
|
+
TranscriptCursorChangedEvent
|
|
182
|
+
];
|
|
183
|
+
|
|
184
|
+
export {
|
|
185
|
+
RunStartEvent,
|
|
186
|
+
TurnStartEvent,
|
|
187
|
+
ContextReadyEvent,
|
|
188
|
+
ModelBeforeEvent,
|
|
189
|
+
ModelAfterEvent,
|
|
190
|
+
ToolStartEvent,
|
|
191
|
+
ToolEndEvent,
|
|
192
|
+
TurnEndEvent,
|
|
193
|
+
RunEndEvent,
|
|
194
|
+
ErrorEvent,
|
|
195
|
+
MessageStartEvent,
|
|
196
|
+
MessageDeltaEvent,
|
|
197
|
+
MessageEndEvent,
|
|
198
|
+
ToolApprovalRequestedEvent,
|
|
199
|
+
ToolApprovalResolvedEvent,
|
|
200
|
+
ModeChangedEvent,
|
|
201
|
+
SnapshotCreatedEvent,
|
|
202
|
+
SnapshotRestoredEvent,
|
|
203
|
+
SnapshotDeletedEvent,
|
|
204
|
+
TranscriptCursorChangedEvent,
|
|
205
|
+
runtimeEventClasses
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=chunk-4SYLFKIX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/events.ts"],"sourcesContent":["import { HarnessEvent } from \"./types.js\";\nimport { s } from \"../schema/index.js\";\n\nexport class RunStartEvent extends HarnessEvent<{\n agentKey: string;\n modeId: string;\n workDir: string;\n outputDir?: string;\n}> {\n static override type = \"run:start\";\n static override schema = s.object({\n agentKey: s.string().min(1),\n modeId: s.string().min(1),\n workDir: s.string(),\n outputDir: s.string().optional(),\n });\n}\n\nexport class TurnStartEvent extends HarnessEvent<{\n turnId: string;\n input: string;\n}> {\n static override type = \"turn:start\";\n static override schema = s.object({\n turnId: s.string().min(1),\n input: s.string(),\n });\n}\n\nexport class ContextReadyEvent extends HarnessEvent<{\n snapshotId: string;\n providerCount: number;\n contributionCount: number;\n}> {\n static override type = \"context:ready\";\n static override schema = s.object({\n snapshotId: s.string().min(1),\n providerCount: s.number().int().min(0),\n contributionCount: s.number().int().min(0),\n });\n}\n\nexport class ModelBeforeEvent extends HarnessEvent<{\n model: string;\n messageCount: number;\n}> {\n static override type = \"model:before\";\n static override schema = s.object({\n model: s.string().min(1),\n messageCount: s.number().int().min(0),\n });\n}\n\nexport class ModelAfterEvent extends HarnessEvent<{\n model: string;\n content: string;\n usage?: unknown;\n finishReason?: string;\n}> {\n static override type = \"model:after\";\n static override schema = s.object({\n model: s.string().min(1),\n content: s.string(),\n usage: s.unknown().optional(),\n finishReason: s.string().optional(),\n });\n}\n\nexport class ToolStartEvent extends HarnessEvent<{\n id: string;\n name: string;\n args: unknown;\n}> {\n static override type = \"tool:start\";\n static override schema = s.object({\n id: s.string().min(1),\n name: s.string().min(1),\n args: s.unknown(),\n });\n}\n\nexport class ToolEndEvent extends HarnessEvent<{\n id: string;\n name: string;\n durationMs: number;\n result: unknown;\n}> {\n static override type = \"tool:end\";\n static override schema = s.object({\n id: s.string().min(1),\n name: s.string().min(1),\n durationMs: s.number().min(0),\n result: s.unknown(),\n });\n}\n\nexport class TurnEndEvent extends HarnessEvent<{\n turnId: string;\n finalAnswer: string;\n}> {\n static override type = \"turn:end\";\n static override schema = s.object({\n turnId: s.string().min(1),\n finalAnswer: s.string(),\n });\n}\n\nexport class RunEndEvent extends HarnessEvent<{\n metrics: unknown;\n finalAnswer: string;\n}> {\n static override type = \"run:end\";\n static override schema = s.object({\n metrics: s.unknown(),\n finalAnswer: s.string(),\n });\n}\n\nexport class ErrorEvent extends HarnessEvent<{\n message: string;\n recoverable?: boolean;\n details?: unknown;\n}> {\n static override type = \"error\";\n static override schema = s.object({\n message: s.string(),\n recoverable: s.boolean().optional(),\n details: s.unknown().optional(),\n });\n}\n\nexport class MessageStartEvent extends HarnessEvent<{\n role: string;\n}> {\n static override type = \"message:start\";\n static override schema = s.object({\n role: s.string().min(1),\n });\n}\n\nexport class MessageDeltaEvent extends HarnessEvent<{\n role: \"assistant\";\n text: string;\n}> {\n static override type = \"message:delta\";\n static override schema = s.object({\n role: s.literal(\"assistant\"),\n text: s.string(),\n });\n}\n\nexport class MessageEndEvent extends HarnessEvent<{\n message: unknown;\n}> {\n static override type = \"message:end\";\n static override schema = s.object({\n message: s.unknown(),\n });\n}\n\nexport class ToolApprovalRequestedEvent extends HarnessEvent<{\n id: string;\n name: string;\n args: unknown;\n modeId?: string;\n risk?: string;\n permissions?: unknown[];\n}> {\n static override type = \"tool:approval_requested\";\n static override schema = s.object({\n id: s.string().min(1),\n name: s.string().min(1),\n args: s.unknown(),\n modeId: s.string().optional(),\n risk: s.string().optional(),\n permissions: s.array(s.unknown()).optional(),\n });\n}\n\nexport class ToolApprovalResolvedEvent extends HarnessEvent<{\n id: string;\n name: string;\n args: unknown;\n decision: \"approved\" | \"denied\";\n modeId?: string;\n}> {\n static override type = \"tool:approval_resolved\";\n static override schema = s.object({\n id: s.string().min(1),\n name: s.string().min(1),\n args: s.unknown(),\n decision: s.enum([\"approved\", \"denied\"] as const),\n modeId: s.string().optional(),\n });\n}\n\nexport class ModeChangedEvent extends HarnessEvent<{\n previousMode: string;\n mode: string;\n input?: unknown;\n}> {\n static override type = \"mode:changed\";\n static override schema = s.object({\n previousMode: s.string().min(1),\n mode: s.string().min(1),\n input: s.unknown().optional(),\n });\n}\n\nexport class SnapshotCreatedEvent extends HarnessEvent<{\n snapshot: unknown;\n}> {\n static override type = \"snapshot:created\";\n static override schema = s.object({\n snapshot: s.unknown(),\n });\n}\n\nexport class SnapshotRestoredEvent extends HarnessEvent<{\n snapshot: unknown;\n}> {\n static override type = \"snapshot:restored\";\n static override schema = s.object({\n snapshot: s.unknown(),\n });\n}\n\nexport class SnapshotDeletedEvent extends HarnessEvent<{\n snapshot: unknown;\n}> {\n static override type = \"snapshot:deleted\";\n static override schema = s.object({\n snapshot: s.unknown(),\n });\n}\n\nexport class TranscriptCursorChangedEvent extends HarnessEvent<{\n previousCursor: unknown;\n cursor: unknown;\n}> {\n static override type = \"transcript:cursor_changed\";\n static override schema = s.object({\n previousCursor: s.unknown(),\n cursor: s.unknown(),\n });\n}\n\nexport const runtimeEventClasses = [\n RunStartEvent,\n TurnStartEvent,\n ContextReadyEvent,\n ModelBeforeEvent,\n ModelAfterEvent,\n ToolStartEvent,\n ToolEndEvent,\n TurnEndEvent,\n RunEndEvent,\n ErrorEvent,\n MessageStartEvent,\n MessageDeltaEvent,\n MessageEndEvent,\n ToolApprovalRequestedEvent,\n ToolApprovalResolvedEvent,\n ModeChangedEvent,\n SnapshotCreatedEvent,\n SnapshotRestoredEvent,\n SnapshotDeletedEvent,\n TranscriptCursorChangedEvent,\n];\n"],"mappings":"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","names":[]}
|