@polpo-ai/core 0.18.5 → 0.18.7

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/adapter.d.ts CHANGED
@@ -6,6 +6,7 @@ import type { FileSystem } from "@polpo-ai/core/filesystem";
6
6
  import type { Shell } from "@polpo-ai/core/shell";
7
7
  import type { LoopResumeState } from "@polpo-ai/core/loop-run-store";
8
8
  import type { SteeringController } from "./steering.js";
9
+ import type { RuntimeHookDispatcher } from "./runtime-hooks.js";
9
10
  import type { ModelSelection } from "./model-policy.js";
10
11
  import type { RuntimePlan } from "./runtime-plan/index.js";
11
12
  import type { RuntimeSandboxOptions } from "./runtime-sandbox.js";
@@ -49,6 +50,8 @@ export interface AgentHandle {
49
50
  * active and delivered only at model/tool safe points.
50
51
  */
51
52
  steering?: SteeringController;
53
+ /** Immutable runtime hook snapshot resolved by the trusted host. */
54
+ runtimeHooks?: RuntimeHookDispatcher;
52
55
  /** Check if the agent is still running */
53
56
  isAlive(): boolean;
54
57
  /** Kill the agent process */
@@ -146,6 +149,8 @@ export interface SpawnContext {
146
149
  onTurnCheckpoint?: (state: LoopResumeState) => void | Promise<void>;
147
150
  /** Run-scoped steering inbox shared by every session in this execution. */
148
151
  steering?: SteeringController;
152
+ /** Immutable runtime hook snapshot resolved by the trusted host. */
153
+ runtimeHooks?: RuntimeHookDispatcher;
149
154
  /**
150
155
  * Token-level streaming sink: called for each model text-delta as it arrives,
151
156
  * for hosts that stream token-by-token (chat-via-executeRun, migration F1b).
@@ -194,6 +199,8 @@ export interface ChatSessionInjection {
194
199
  sessionId?: string;
195
200
  /** Frozen, secret-free planning decision for this invocation. */
196
201
  runtimePlan?: RuntimePlan;
202
+ /** Immutable hook snapshot resolved by the trusted host for this turn. */
203
+ runtimeHooks?: RuntimeHookDispatcher;
197
204
  /** Explicit context-trust rollout mode for model-bound history. */
198
205
  contextTrust?: RuntimeContextTrustMode;
199
206
  /** Resolved agent config (for the RunnerConfig the driver builds). */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export * from "./runtime-context/index.js";
24
24
  export * from "./semantic-retrieval.js";
25
25
  export * from "./execution-router.js";
26
26
  export * from "./steering.js";
27
+ export * from "./runtime-hooks.js";
27
28
  export * from "./run-delivery.js";
28
29
  export * from "./run-delivery-follower.js";
29
30
  export * from "./run-delivery-owner.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ export * from "./semantic-retrieval.js";
18
18
  export * from "./execution-router.js";
19
19
  // ── Run steering (provider-neutral queue, checkpoints, and abort) ────────
20
20
  export * from "./steering.js";
21
+ export * from "./runtime-hooks.js";
21
22
  // ── Durable Run delivery (disconnect policy, cursors, and event store) ───
22
23
  export * from "./run-delivery.js";
23
24
  export * from "./run-delivery-follower.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ export declare const RUNTIME_HOOK_CONTRACT_VERSION: 1;
2
+ export declare const DEFAULT_RUNTIME_HOOK_TIMEOUT_MS = 5000;
3
+ export declare const DEFAULT_RUNTIME_HOOK_MAX_PAYLOAD_BYTES: number;
4
+ export declare const DEFAULT_RUNTIME_HOOK_MAX_DEPTH = 2;
5
+ export type RuntimeHookEventName = "session:start" | "session:resume" | "session:end" | "input:before" | "turn:stop" | "turn:error" | "model:before" | "model:after" | "model:error" | "tool:before" | "approval:request" | "approval:denied" | "tool:after" | "tool:error" | "tool:batch:after" | "agent:spawn" | "agent:end" | "context:compact:before" | "context:compact:after" | "model:switch:before" | "model:switch:after" | "loop:start" | "step:before" | "loop:transition" | "step:after" | "loop:stop" | "loop:end" | "sandbox:start" | "sandbox:cwd_changed" | "sandbox:file_changed" | "sandbox:end" | "run:start" | "run:end";
6
+ export type RuntimeHookSurface = "chat" | "loop" | "channel" | "task" | "schedule" | "runtime";
7
+ export type RuntimeHookScope = "platform" | "organization" | "project" | "environment" | "agent" | "skill" | "loop" | "step";
8
+ export type RuntimeHookJson = string | number | boolean | null | RuntimeHookJson[] | {
9
+ [key: string]: RuntimeHookJson;
10
+ };
11
+ export interface RuntimeHookIdentity {
12
+ projectId?: string;
13
+ environment?: string;
14
+ organizationId?: string;
15
+ runId?: string;
16
+ sessionId?: string;
17
+ turnId?: string;
18
+ agent?: string;
19
+ loop?: string;
20
+ step?: string;
21
+ toolCallId?: string;
22
+ externalUserId?: string;
23
+ }
24
+ export interface RuntimeHookOrigin {
25
+ kind: "runtime" | "hook";
26
+ depth: number;
27
+ hookId?: string;
28
+ }
29
+ export interface RuntimeHookEnvelope {
30
+ version: typeof RUNTIME_HOOK_CONTRACT_VERSION;
31
+ event: RuntimeHookEventName;
32
+ eventId: string;
33
+ occurredAt: string;
34
+ surface: RuntimeHookSurface;
35
+ identity: Readonly<RuntimeHookIdentity>;
36
+ data: Readonly<Record<string, RuntimeHookJson>>;
37
+ origin: RuntimeHookOrigin;
38
+ }
39
+ export interface RuntimeHookMatcher {
40
+ surfaces?: RuntimeHookSurface[];
41
+ agents?: string[];
42
+ loops?: string[];
43
+ steps?: string[];
44
+ tools?: string[];
45
+ }
46
+ interface RuntimeHookHandlerBase {
47
+ timeoutMs?: number;
48
+ }
49
+ export interface RuntimeHookCommandHandler extends RuntimeHookHandlerBase {
50
+ type: "command";
51
+ command: string;
52
+ args?: string[];
53
+ cwd?: string;
54
+ env?: Record<string, string>;
55
+ }
56
+ export interface RuntimeHookHttpHandler extends RuntimeHookHandlerBase {
57
+ type: "http";
58
+ url: string;
59
+ connection?: string;
60
+ headers?: Record<string, string>;
61
+ }
62
+ export interface RuntimeHookToolHandler extends RuntimeHookHandlerBase {
63
+ type: "tool";
64
+ tool: string;
65
+ input?: Record<string, RuntimeHookJson>;
66
+ }
67
+ export interface RuntimeHookMcpToolHandler extends RuntimeHookHandlerBase {
68
+ type: "mcp_tool";
69
+ connection: string;
70
+ tool: string;
71
+ input?: Record<string, RuntimeHookJson>;
72
+ }
73
+ export interface RuntimeHookPromptHandler extends RuntimeHookHandlerBase {
74
+ type: "prompt";
75
+ prompt: string;
76
+ model?: string;
77
+ maxOutputTokens?: number;
78
+ }
79
+ export interface RuntimeHookAgentHandler extends RuntimeHookHandlerBase {
80
+ type: "agent";
81
+ agent: string;
82
+ prompt: string;
83
+ allowedTools?: string[];
84
+ maxTurns?: number;
85
+ }
86
+ export type RuntimeHookHandler = RuntimeHookCommandHandler | RuntimeHookHttpHandler | RuntimeHookToolHandler | RuntimeHookMcpToolHandler | RuntimeHookPromptHandler | RuntimeHookAgentHandler;
87
+ export interface RuntimeHookDefinition {
88
+ id: string;
89
+ event: RuntimeHookEventName;
90
+ scope?: RuntimeHookScope;
91
+ priority?: number;
92
+ mode?: "control" | "observe";
93
+ onFailure?: "continue" | "block";
94
+ matcher?: RuntimeHookMatcher;
95
+ handler: RuntimeHookHandler;
96
+ enabled?: boolean;
97
+ /** Recursive hook execution is denied unless explicitly enabled and bounded. */
98
+ allowRecursive?: boolean;
99
+ }
100
+ export interface RuntimeHookPack {
101
+ version: typeof RUNTIME_HOOK_CONTRACT_VERSION;
102
+ name: string;
103
+ hooks: RuntimeHookDefinition[];
104
+ }
105
+ export interface RuntimeHookPackStore {
106
+ list(): Promise<RuntimeHookPack[]>;
107
+ get(name: string): Promise<RuntimeHookPack | undefined>;
108
+ put(pack: RuntimeHookPack): Promise<void>;
109
+ delete(name: string): Promise<boolean>;
110
+ }
111
+ export type RuntimeHookDecision = {
112
+ action: "allow";
113
+ message?: string;
114
+ } | {
115
+ action: "deny";
116
+ reason: string;
117
+ code?: string;
118
+ } | {
119
+ action: "ask";
120
+ reason: string;
121
+ prompt?: string;
122
+ } | {
123
+ action: "defer";
124
+ reason: string;
125
+ } | {
126
+ action: "modify";
127
+ data: Record<string, RuntimeHookJson>;
128
+ message?: string;
129
+ } | {
130
+ action: "stop";
131
+ reason?: string;
132
+ feedback?: string;
133
+ };
134
+ export interface RuntimeHookHandlerResult {
135
+ decision?: RuntimeHookDecision;
136
+ output?: RuntimeHookJson;
137
+ }
138
+ export interface RuntimeHookExecutionRequest {
139
+ hook: RuntimeHookDefinition;
140
+ envelope: RuntimeHookEnvelope;
141
+ idempotencyKey: string;
142
+ signal: AbortSignal;
143
+ }
144
+ export interface RuntimeHookHost {
145
+ execute(request: RuntimeHookExecutionRequest): Promise<RuntimeHookHandlerResult | void>;
146
+ trace?(execution: RuntimeHookExecution): void | Promise<void>;
147
+ }
148
+ export interface RuntimeHookExecution {
149
+ eventId: string;
150
+ hookId: string;
151
+ event: RuntimeHookEventName;
152
+ scope: RuntimeHookScope;
153
+ mode: "control" | "observe";
154
+ startedAt: string;
155
+ completedAt: string;
156
+ outcome: "allowed" | "denied" | "modified" | "stopped" | "observed" | "failed" | "timed_out";
157
+ decision?: RuntimeHookDecision["action"];
158
+ error?: string;
159
+ }
160
+ export interface RuntimeHookDispatchResult {
161
+ envelope: RuntimeHookEnvelope;
162
+ decision: RuntimeHookDecision;
163
+ executions: RuntimeHookExecution[];
164
+ }
165
+ export interface RuntimeHookDispatchInput {
166
+ event: RuntimeHookEventName;
167
+ surface: RuntimeHookSurface;
168
+ identity?: RuntimeHookIdentity;
169
+ data?: Record<string, unknown>;
170
+ eventId?: string;
171
+ occurredAt?: string;
172
+ origin?: RuntimeHookOrigin;
173
+ }
174
+ export interface RuntimeHookDispatcher {
175
+ dispatch(input: RuntimeHookDispatchInput): Promise<RuntimeHookDispatchResult>;
176
+ }
177
+ export interface RuntimeHookEngineOptions {
178
+ definitions: readonly RuntimeHookDefinition[];
179
+ host: RuntimeHookHost;
180
+ now?: () => Date;
181
+ maxPayloadBytes?: number;
182
+ maxDepth?: number;
183
+ }
184
+ export declare class RuntimeHookValidationError extends Error {
185
+ readonly name = "RuntimeHookValidationError";
186
+ }
187
+ export declare class RuntimeHookBlockedError extends Error {
188
+ readonly hookId: string;
189
+ readonly code: string;
190
+ readonly name = "RuntimeHookBlockedError";
191
+ constructor(message: string, hookId: string, code?: string);
192
+ }
193
+ export declare class RuntimeHookEngine implements RuntimeHookDispatcher {
194
+ private readonly definitions;
195
+ private readonly host;
196
+ private readonly now;
197
+ private readonly maxPayloadBytes;
198
+ private readonly maxDepth;
199
+ constructor(options: RuntimeHookEngineOptions);
200
+ dispatch(input: RuntimeHookDispatchInput): Promise<RuntimeHookDispatchResult>;
201
+ private execute;
202
+ }
203
+ export declare function createRuntimeHookEnvelope(input: RuntimeHookDispatchInput, now?: () => Date, maxPayloadBytes?: number): RuntimeHookEnvelope;
204
+ export declare function validateRuntimeHookPack(input: unknown): RuntimeHookPack;
205
+ export declare function validateRuntimeHookDefinition(input: unknown, index?: number): RuntimeHookDefinition;
206
+ export declare function composeRuntimeHookDecision(current: RuntimeHookDecision, next: RuntimeHookDecision): RuntimeHookDecision;
207
+ export declare function runtimeHookIdempotencyKey(eventId: string, hookId: string): string;
208
+ export declare function matchesRuntimeHook(matcher: RuntimeHookMatcher | undefined, envelope: RuntimeHookEnvelope): boolean;
209
+ export {};
210
+ //# sourceMappingURL=runtime-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-hooks.d.ts","sourceRoot":"","sources":["../src/runtime-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,431 @@
1
+ export const RUNTIME_HOOK_CONTRACT_VERSION = 1;
2
+ export const DEFAULT_RUNTIME_HOOK_TIMEOUT_MS = 5_000;
3
+ export const DEFAULT_RUNTIME_HOOK_MAX_PAYLOAD_BYTES = 256 * 1024;
4
+ export const DEFAULT_RUNTIME_HOOK_MAX_DEPTH = 2;
5
+ const SCOPE_ORDER = {
6
+ platform: 0,
7
+ organization: 1,
8
+ project: 2,
9
+ environment: 3,
10
+ agent: 4,
11
+ skill: 5,
12
+ loop: 6,
13
+ step: 7,
14
+ };
15
+ const SENSITIVE_KEY = /(?:authorization|cookie|secret|password|token|api[_-]?key|credential|private[_-]?key)/i;
16
+ export class RuntimeHookValidationError extends Error {
17
+ name = "RuntimeHookValidationError";
18
+ }
19
+ export class RuntimeHookBlockedError extends Error {
20
+ hookId;
21
+ code;
22
+ name = "RuntimeHookBlockedError";
23
+ constructor(message, hookId, code = "runtime_hook_blocked") {
24
+ super(message);
25
+ this.hookId = hookId;
26
+ this.code = code;
27
+ }
28
+ }
29
+ export class RuntimeHookEngine {
30
+ definitions;
31
+ host;
32
+ now;
33
+ maxPayloadBytes;
34
+ maxDepth;
35
+ constructor(options) {
36
+ this.host = options.host;
37
+ this.now = options.now ?? (() => new Date());
38
+ this.maxPayloadBytes = options.maxPayloadBytes ?? DEFAULT_RUNTIME_HOOK_MAX_PAYLOAD_BYTES;
39
+ this.maxDepth = options.maxDepth ?? DEFAULT_RUNTIME_HOOK_MAX_DEPTH;
40
+ this.definitions = options.definitions.map((definition, index) => validateRuntimeHookDefinition(definition, index));
41
+ }
42
+ async dispatch(input) {
43
+ const envelope = createRuntimeHookEnvelope(input, this.now, this.maxPayloadBytes);
44
+ const matching = this.definitions
45
+ .map((definition, declarationOrder) => ({ definition, declarationOrder }))
46
+ .filter(({ definition }) => definition.enabled !== false && definition.event === envelope.event)
47
+ .filter(({ definition }) => matchesRuntimeHook(definition.matcher, envelope))
48
+ .filter(({ definition }) => envelope.origin.kind !== "hook" || definition.allowRecursive === true)
49
+ .filter(() => envelope.origin.depth <= this.maxDepth)
50
+ .sort((a, b) => {
51
+ const scope = SCOPE_ORDER[a.definition.scope ?? "project"] - SCOPE_ORDER[b.definition.scope ?? "project"];
52
+ if (scope !== 0)
53
+ return scope;
54
+ const priority = (a.definition.priority ?? 0) - (b.definition.priority ?? 0);
55
+ return priority !== 0 ? priority : a.declarationOrder - b.declarationOrder;
56
+ });
57
+ const controlling = matching.filter(({ definition }) => (definition.mode ?? "control") === "control");
58
+ const observing = matching.filter(({ definition }) => definition.mode === "observe");
59
+ const executions = [];
60
+ let decision = { action: "allow" };
61
+ for (const { definition } of controlling) {
62
+ const result = await this.execute(definition, envelope);
63
+ executions.push(result.execution);
64
+ await this.host.trace?.(result.execution);
65
+ if (result.decision)
66
+ decision = composeRuntimeHookDecision(decision, result.decision);
67
+ if (["deny", "ask", "defer", "stop"].includes(decision.action))
68
+ break;
69
+ }
70
+ const observed = await Promise.all(observing.map(async ({ definition }) => {
71
+ const result = await this.execute(definition, envelope, true);
72
+ await this.host.trace?.(result.execution);
73
+ return result.execution;
74
+ }));
75
+ executions.push(...observed);
76
+ return { envelope, decision, executions };
77
+ }
78
+ async execute(hook, envelope, observeOnly = false) {
79
+ const startedAt = this.now().toISOString();
80
+ const controller = new AbortController();
81
+ const timeoutMs = hook.handler.timeoutMs ?? DEFAULT_RUNTIME_HOOK_TIMEOUT_MS;
82
+ const timeout = setTimeout(() => controller.abort(new Error("Runtime hook timed out")), timeoutMs);
83
+ try {
84
+ const result = await Promise.race([
85
+ this.host.execute({
86
+ hook,
87
+ envelope,
88
+ idempotencyKey: runtimeHookIdempotencyKey(envelope.eventId, hook.id),
89
+ signal: controller.signal,
90
+ }),
91
+ new Promise((_, reject) => {
92
+ controller.signal.addEventListener("abort", () => reject(controller.signal.reason), { once: true });
93
+ }),
94
+ ]);
95
+ const decision = observeOnly ? undefined : normalizeRuntimeHookDecision(result?.decision);
96
+ return {
97
+ ...(decision ? { decision } : {}),
98
+ execution: {
99
+ eventId: envelope.eventId,
100
+ hookId: hook.id,
101
+ event: envelope.event,
102
+ scope: hook.scope ?? "project",
103
+ mode: hook.mode ?? "control",
104
+ startedAt,
105
+ completedAt: this.now().toISOString(),
106
+ outcome: observeOnly
107
+ ? "observed"
108
+ : decision?.action === "deny"
109
+ ? "denied"
110
+ : decision?.action === "modify"
111
+ ? "modified"
112
+ : decision?.action === "stop"
113
+ ? "stopped"
114
+ : "allowed",
115
+ ...(decision ? { decision: decision.action } : {}),
116
+ },
117
+ };
118
+ }
119
+ catch (error) {
120
+ const timedOut = controller.signal.aborted;
121
+ const message = safeError(error);
122
+ const execution = {
123
+ eventId: envelope.eventId,
124
+ hookId: hook.id,
125
+ event: envelope.event,
126
+ scope: hook.scope ?? "project",
127
+ mode: hook.mode ?? "control",
128
+ startedAt,
129
+ completedAt: this.now().toISOString(),
130
+ outcome: timedOut ? "timed_out" : "failed",
131
+ error: message,
132
+ };
133
+ if (!observeOnly && (hook.onFailure ?? "continue") === "block") {
134
+ return {
135
+ execution,
136
+ decision: { action: "deny", reason: message, code: timedOut ? "runtime_hook_timeout" : "runtime_hook_failed" },
137
+ };
138
+ }
139
+ return { execution };
140
+ }
141
+ finally {
142
+ clearTimeout(timeout);
143
+ }
144
+ }
145
+ }
146
+ export function createRuntimeHookEnvelope(input, now = () => new Date(), maxPayloadBytes = DEFAULT_RUNTIME_HOOK_MAX_PAYLOAD_BYTES) {
147
+ const occurredAt = input.occurredAt ?? now().toISOString();
148
+ if (Number.isNaN(Date.parse(occurredAt)))
149
+ throw new RuntimeHookValidationError("occurredAt must be an ISO timestamp");
150
+ const data = sanitizeRuntimeHookValue(input.data ?? {}, maxPayloadBytes);
151
+ const identity = sanitizeRuntimeHookValue(input.identity ?? {}, 32 * 1024);
152
+ const eventId = input.eventId ?? createEventId(input.event, identity, data);
153
+ return Object.freeze({
154
+ version: RUNTIME_HOOK_CONTRACT_VERSION,
155
+ event: input.event,
156
+ eventId,
157
+ occurredAt,
158
+ surface: input.surface,
159
+ identity: Object.freeze(identity),
160
+ data: Object.freeze(data),
161
+ origin: Object.freeze(input.origin ?? { kind: "runtime", depth: 0 }),
162
+ });
163
+ }
164
+ export function validateRuntimeHookPack(input) {
165
+ if (!isRecord(input) || input.version !== RUNTIME_HOOK_CONTRACT_VERSION) {
166
+ throw new RuntimeHookValidationError(`Runtime hook pack version must be ${RUNTIME_HOOK_CONTRACT_VERSION}`);
167
+ }
168
+ if (typeof input.name !== "string" || !input.name.trim() || input.name.length > 128) {
169
+ throw new RuntimeHookValidationError("Runtime hook pack name must contain 1-128 characters");
170
+ }
171
+ if (!Array.isArray(input.hooks))
172
+ throw new RuntimeHookValidationError("Runtime hook pack hooks must be an array");
173
+ return {
174
+ version: RUNTIME_HOOK_CONTRACT_VERSION,
175
+ name: input.name,
176
+ hooks: input.hooks.map((hook, index) => validateRuntimeHookDefinition(hook, index)),
177
+ };
178
+ }
179
+ export function validateRuntimeHookDefinition(input, index = 0) {
180
+ if (!isRecord(input))
181
+ throw new RuntimeHookValidationError(`Hook ${index} must be an object`);
182
+ if (typeof input.id !== "string" || !input.id.trim() || input.id.length > 128) {
183
+ throw new RuntimeHookValidationError(`Hook ${index} id must contain 1-128 characters`);
184
+ }
185
+ if (typeof input.event !== "string" || !RUNTIME_HOOK_EVENTS.has(input.event)) {
186
+ throw new RuntimeHookValidationError(`Hook ${input.id} has an unsupported event`);
187
+ }
188
+ if (!isRecord(input.handler) || typeof input.handler.type !== "string" || !HANDLER_TYPES.has(input.handler.type)) {
189
+ throw new RuntimeHookValidationError(`Hook ${input.id} has an unsupported handler`);
190
+ }
191
+ validateRuntimeHookHandler(input.id, input.handler);
192
+ if (input.scope !== undefined && !RUNTIME_HOOK_SCOPES.has(input.scope)) {
193
+ throw new RuntimeHookValidationError(`Hook ${input.id} has an unsupported scope`);
194
+ }
195
+ if (input.priority !== undefined && (!Number.isInteger(input.priority) || Math.abs(Number(input.priority)) > 1_000_000)) {
196
+ throw new RuntimeHookValidationError(`Hook ${input.id} priority must be an integer between -1000000 and 1000000`);
197
+ }
198
+ if (input.enabled !== undefined && typeof input.enabled !== "boolean") {
199
+ throw new RuntimeHookValidationError(`Hook ${input.id} enabled must be a boolean`);
200
+ }
201
+ if (input.allowRecursive !== undefined && typeof input.allowRecursive !== "boolean") {
202
+ throw new RuntimeHookValidationError(`Hook ${input.id} allowRecursive must be a boolean`);
203
+ }
204
+ if (input.matcher !== undefined)
205
+ validateRuntimeHookMatcher(input.id, input.matcher);
206
+ if (input.mode !== undefined && input.mode !== "control" && input.mode !== "observe") {
207
+ throw new RuntimeHookValidationError(`Hook ${input.id} mode must be control or observe`);
208
+ }
209
+ if (input.onFailure !== undefined && input.onFailure !== "continue" && input.onFailure !== "block") {
210
+ throw new RuntimeHookValidationError(`Hook ${input.id} onFailure must be continue or block`);
211
+ }
212
+ const timeoutMs = input.handler.timeoutMs;
213
+ if (timeoutMs !== undefined && (!Number.isInteger(timeoutMs) || Number(timeoutMs) < 1 || Number(timeoutMs) > 300_000)) {
214
+ throw new RuntimeHookValidationError(`Hook ${input.id} timeoutMs must be between 1 and 300000`);
215
+ }
216
+ return structuredClone(input);
217
+ }
218
+ function validateRuntimeHookHandler(hookId, handler) {
219
+ const requireString = (field) => {
220
+ const value = handler[field];
221
+ if (typeof value !== "string" || !value.trim()) {
222
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.${field} must be a non-empty string`);
223
+ }
224
+ return value;
225
+ };
226
+ const optionalStringArray = (field) => {
227
+ const value = handler[field];
228
+ if (value !== undefined && (!Array.isArray(value) || value.some((item) => typeof item !== "string"))) {
229
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.${field} must be an array of strings`);
230
+ }
231
+ };
232
+ switch (handler.type) {
233
+ case "command":
234
+ requireString("command");
235
+ optionalStringArray("args");
236
+ if (handler.cwd !== undefined && typeof handler.cwd !== "string") {
237
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.cwd must be a string`);
238
+ }
239
+ if (handler.env !== undefined && (!isRecord(handler.env) || Object.values(handler.env).some((value) => typeof value !== "string"))) {
240
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.env must contain string values`);
241
+ }
242
+ if (isRecord(handler.env) && Object.keys(handler.env).some((key) => SENSITIVE_KEY.test(key))) {
243
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.env must not contain inline credentials`);
244
+ }
245
+ break;
246
+ case "http": {
247
+ const rawUrl = requireString("url");
248
+ let url;
249
+ try {
250
+ url = new URL(rawUrl);
251
+ }
252
+ catch {
253
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.url is invalid`);
254
+ }
255
+ if (url.protocol !== "https:" || url.username || url.password) {
256
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.url must use HTTPS without embedded credentials`);
257
+ }
258
+ if (handler.connection !== undefined && typeof handler.connection !== "string") {
259
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.connection must be a string`);
260
+ }
261
+ if (handler.headers !== undefined && (!isRecord(handler.headers) || Object.values(handler.headers).some((value) => typeof value !== "string"))) {
262
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.headers must contain string values`);
263
+ }
264
+ if (isRecord(handler.headers) && Object.keys(handler.headers).some((key) => SENSITIVE_KEY.test(key))) {
265
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.headers must not contain inline credentials; use handler.connection`);
266
+ }
267
+ break;
268
+ }
269
+ case "tool":
270
+ requireString("tool");
271
+ if (handler.input !== undefined && !isRecord(handler.input)) {
272
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.input must be an object`);
273
+ }
274
+ break;
275
+ case "mcp_tool":
276
+ requireString("connection");
277
+ requireString("tool");
278
+ if (handler.input !== undefined && !isRecord(handler.input)) {
279
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.input must be an object`);
280
+ }
281
+ break;
282
+ case "prompt":
283
+ requireString("prompt");
284
+ if (handler.model !== undefined && typeof handler.model !== "string") {
285
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.model must be a string`);
286
+ }
287
+ if (handler.maxOutputTokens !== undefined && (!Number.isInteger(handler.maxOutputTokens) || Number(handler.maxOutputTokens) < 1 || Number(handler.maxOutputTokens) > 32_768)) {
288
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.maxOutputTokens must be between 1 and 32768`);
289
+ }
290
+ break;
291
+ case "agent":
292
+ requireString("agent");
293
+ requireString("prompt");
294
+ optionalStringArray("allowedTools");
295
+ if (handler.maxTurns !== undefined && (!Number.isInteger(handler.maxTurns) || Number(handler.maxTurns) < 1 || Number(handler.maxTurns) > 20)) {
296
+ throw new RuntimeHookValidationError(`Hook ${hookId} handler.maxTurns must be between 1 and 20`);
297
+ }
298
+ break;
299
+ }
300
+ }
301
+ function validateRuntimeHookMatcher(hookId, value) {
302
+ if (!isRecord(value))
303
+ throw new RuntimeHookValidationError(`Hook ${hookId} matcher must be an object`);
304
+ for (const field of ["agents", "loops", "steps", "tools"]) {
305
+ const patterns = value[field];
306
+ if (patterns !== undefined && (!Array.isArray(patterns) || patterns.some((pattern) => typeof pattern !== "string" || pattern.length > 256))) {
307
+ throw new RuntimeHookValidationError(`Hook ${hookId} matcher.${field} must be an array of strings`);
308
+ }
309
+ }
310
+ const surfaces = value.surfaces;
311
+ if (surfaces !== undefined && (!Array.isArray(surfaces) || surfaces.some((surface) => !RUNTIME_HOOK_SURFACES.has(surface)))) {
312
+ throw new RuntimeHookValidationError(`Hook ${hookId} matcher.surfaces contains an unsupported surface`);
313
+ }
314
+ }
315
+ export function composeRuntimeHookDecision(current, next) {
316
+ const precedence = {
317
+ allow: 0,
318
+ modify: 1,
319
+ defer: 2,
320
+ ask: 3,
321
+ stop: 4,
322
+ deny: 5,
323
+ };
324
+ if (current.action === "modify" && next.action === "modify") {
325
+ return { ...next, data: { ...current.data, ...next.data } };
326
+ }
327
+ return precedence[next.action] >= precedence[current.action] ? next : current;
328
+ }
329
+ export function runtimeHookIdempotencyKey(eventId, hookId) {
330
+ return stableHash(`${eventId}\u0000${hookId}`);
331
+ }
332
+ export function matchesRuntimeHook(matcher, envelope) {
333
+ if (!matcher)
334
+ return true;
335
+ if (matcher.surfaces && !matcher.surfaces.includes(envelope.surface))
336
+ return false;
337
+ if (matcher.agents && !matchesAny(matcher.agents, envelope.identity.agent))
338
+ return false;
339
+ if (matcher.loops && !matchesAny(matcher.loops, envelope.identity.loop))
340
+ return false;
341
+ if (matcher.steps && !matchesAny(matcher.steps, envelope.identity.step))
342
+ return false;
343
+ if (matcher.tools && !matchesAny(matcher.tools, typeof envelope.data.tool === "string" ? envelope.data.tool : undefined))
344
+ return false;
345
+ return true;
346
+ }
347
+ function normalizeRuntimeHookDecision(decision) {
348
+ if (!decision)
349
+ return undefined;
350
+ if (!["allow", "deny", "ask", "defer", "modify", "stop"].includes(decision.action)) {
351
+ throw new RuntimeHookValidationError("Hook returned an unsupported decision");
352
+ }
353
+ return sanitizeRuntimeHookValue(decision, 64 * 1024);
354
+ }
355
+ function sanitizeRuntimeHookValue(value, maxBytes) {
356
+ const ancestors = new WeakSet();
357
+ const visit = (candidate, key) => {
358
+ if (key && SENSITIVE_KEY.test(key))
359
+ return "[REDACTED]";
360
+ if (candidate === null || typeof candidate === "string" || typeof candidate === "boolean")
361
+ return candidate;
362
+ if (typeof candidate === "number") {
363
+ if (!Number.isFinite(candidate))
364
+ throw new RuntimeHookValidationError("Runtime hook data contains a non-finite number");
365
+ return candidate;
366
+ }
367
+ if (typeof candidate !== "object")
368
+ return String(candidate);
369
+ if (ancestors.has(candidate))
370
+ throw new RuntimeHookValidationError("Runtime hook data contains a circular reference");
371
+ ancestors.add(candidate);
372
+ const output = Array.isArray(candidate)
373
+ ? candidate.map((item) => visit(item))
374
+ : Object.fromEntries(Object.entries(candidate).map(([name, item]) => [name, visit(item, name)]));
375
+ ancestors.delete(candidate);
376
+ return output;
377
+ };
378
+ const result = visit(value);
379
+ const bytes = new TextEncoder().encode(JSON.stringify(result)).byteLength;
380
+ if (bytes > maxBytes)
381
+ throw new RuntimeHookValidationError(`Runtime hook payload exceeds ${maxBytes} bytes`);
382
+ return result;
383
+ }
384
+ function matchesAny(patterns, value) {
385
+ if (value === undefined)
386
+ return false;
387
+ return patterns.some((pattern) => globMatch(pattern, value));
388
+ }
389
+ function globMatch(pattern, value) {
390
+ const expression = pattern
391
+ .replace(/[.+^${}()|[\]\\]/g, "\\$&")
392
+ .replace(/\*/g, ".*")
393
+ .replace(/\?/g, ".");
394
+ return new RegExp(`^${expression}$`, "u").test(value);
395
+ }
396
+ function createEventId(event, identity, data) {
397
+ return stableHash(JSON.stringify([event, identity, data]));
398
+ }
399
+ function safeError(error) {
400
+ const message = error instanceof Error ? error.message : String(error);
401
+ return message.slice(0, 1_000).replace(SENSITIVE_KEY, "[REDACTED]");
402
+ }
403
+ function isRecord(value) {
404
+ return value !== null && typeof value === "object" && !Array.isArray(value);
405
+ }
406
+ /** Portable deterministic hash; identity only, never used as a secret. */
407
+ function stableHash(value) {
408
+ let a = 0x811c9dc5;
409
+ let b = 0x9e3779b9;
410
+ for (let index = 0; index < value.length; index++) {
411
+ const code = value.charCodeAt(index);
412
+ a ^= code;
413
+ a = Math.imul(a, 0x01000193);
414
+ b ^= code + Math.imul(index + 1, 0x45d9f3b);
415
+ b = Math.imul(b, 0x27d4eb2d);
416
+ }
417
+ const hex = (part) => (part >>> 0).toString(16).padStart(8, "0");
418
+ return `${hex(a)}${hex(b)}${hex(a ^ b)}${hex(Math.imul(a, b))}`;
419
+ }
420
+ const HANDLER_TYPES = new Set(["command", "http", "tool", "mcp_tool", "prompt", "agent"]);
421
+ const RUNTIME_HOOK_EVENTS = new Set([
422
+ "session:start", "session:resume", "session:end", "input:before", "turn:stop", "turn:error",
423
+ "model:before", "model:after", "model:error", "tool:before", "approval:request", "approval:denied",
424
+ "tool:after", "tool:error", "tool:batch:after", "agent:spawn", "agent:end",
425
+ "context:compact:before", "context:compact:after", "model:switch:before", "model:switch:after",
426
+ "loop:start", "step:before", "loop:transition", "step:after", "loop:stop", "loop:end",
427
+ "sandbox:start", "sandbox:cwd_changed", "sandbox:file_changed", "sandbox:end", "run:start", "run:end",
428
+ ]);
429
+ const RUNTIME_HOOK_SCOPES = new Set(Object.keys(SCOPE_ORDER));
430
+ const RUNTIME_HOOK_SURFACES = new Set(["chat", "loop", "channel", "task", "schedule", "runtime"]);
431
+ //# sourceMappingURL=runtime-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-hooks.js","sourceRoot":"","sources":["../src/runtime-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime-hooks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-hooks.test.d.ts","sourceRoot":"","sources":["../src/runtime-hooks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,197 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { RuntimeHookEngine, RuntimeHookValidationError, createRuntimeHookEnvelope, validateRuntimeHookPack, } from "./runtime-hooks.js";
3
+ function hook(overrides = {}) {
4
+ return {
5
+ id: "hook-1",
6
+ event: "tool:before",
7
+ handler: { type: "tool", tool: "policy_check" },
8
+ ...overrides,
9
+ };
10
+ }
11
+ describe("RuntimeHookEngine", () => {
12
+ it("orders controlling hooks by scope, priority, and declaration order", async () => {
13
+ const calls = [];
14
+ const engine = new RuntimeHookEngine({
15
+ definitions: [
16
+ hook({ id: "agent", scope: "agent", priority: -10 }),
17
+ hook({ id: "project-late", scope: "project", priority: 5 }),
18
+ hook({ id: "project-first", scope: "project", priority: 0 }),
19
+ ],
20
+ host: {
21
+ execute: async ({ hook: definition }) => {
22
+ calls.push(definition.id);
23
+ return { decision: { action: "allow" } };
24
+ },
25
+ },
26
+ });
27
+ await engine.dispatch({ event: "tool:before", surface: "chat", data: { tool: "bash" } });
28
+ expect(calls).toEqual(["project-first", "project-late", "agent"]);
29
+ });
30
+ it("stops controlling handlers after a deny and runs observers without changing the decision", async () => {
31
+ const calls = [];
32
+ const engine = new RuntimeHookEngine({
33
+ definitions: [
34
+ hook({ id: "deny" }),
35
+ hook({ id: "never" }),
36
+ hook({ id: "observer", mode: "observe" }),
37
+ ],
38
+ host: {
39
+ execute: async ({ hook: definition }) => {
40
+ calls.push(definition.id);
41
+ if (definition.id === "deny")
42
+ return { decision: { action: "deny", reason: "blocked" } };
43
+ if (definition.id === "observer")
44
+ return { decision: { action: "allow" } };
45
+ return {};
46
+ },
47
+ },
48
+ });
49
+ const result = await engine.dispatch({ event: "tool:before", surface: "loop", data: { tool: "write" } });
50
+ expect(result.decision).toEqual({ action: "deny", reason: "blocked" });
51
+ expect(calls).toEqual(["deny", "observer"]);
52
+ });
53
+ it("merges ordered modifications and never lets allow erase a restriction", async () => {
54
+ const engine = new RuntimeHookEngine({
55
+ definitions: [hook({ id: "a" }), hook({ id: "b" }), hook({ id: "c" })],
56
+ host: {
57
+ execute: async ({ hook: definition }) => {
58
+ if (definition.id === "a")
59
+ return { decision: { action: "modify", data: { input: { safe: true } } } };
60
+ if (definition.id === "b")
61
+ return { decision: { action: "modify", data: { context: "checked" } } };
62
+ return { decision: { action: "allow" } };
63
+ },
64
+ },
65
+ });
66
+ const result = await engine.dispatch({ event: "tool:before", surface: "chat" });
67
+ expect(result.decision).toMatchObject({ action: "modify", data: { input: { safe: true }, context: "checked" } });
68
+ });
69
+ it("honors glob matchers and recursion fences", async () => {
70
+ const execute = vi.fn(async () => ({}));
71
+ const engine = new RuntimeHookEngine({
72
+ definitions: [hook({ matcher: { surfaces: ["chat"], tools: ["file_*"] } })],
73
+ host: { execute },
74
+ });
75
+ await engine.dispatch({ event: "tool:before", surface: "chat", data: { tool: "file_write" } });
76
+ await engine.dispatch({ event: "tool:before", surface: "chat", data: { tool: "bash" } });
77
+ await engine.dispatch({
78
+ event: "tool:before",
79
+ surface: "chat",
80
+ data: { tool: "file_write" },
81
+ origin: { kind: "hook", depth: 1, hookId: "parent" },
82
+ });
83
+ expect(execute).toHaveBeenCalledTimes(1);
84
+ });
85
+ it("blocks on timeout only when onFailure is block", async () => {
86
+ const never = () => new Promise(() => undefined);
87
+ const blocked = new RuntimeHookEngine({
88
+ definitions: [hook({ onFailure: "block", handler: { type: "tool", tool: "slow", timeoutMs: 2 } })],
89
+ host: { execute: never },
90
+ });
91
+ const allowed = new RuntimeHookEngine({
92
+ definitions: [hook({ onFailure: "continue", handler: { type: "tool", tool: "slow", timeoutMs: 2 } })],
93
+ host: { execute: never },
94
+ });
95
+ await expect(blocked.dispatch({ event: "tool:before", surface: "chat" }))
96
+ .resolves.toMatchObject({ decision: { action: "deny", code: "runtime_hook_timeout" } });
97
+ await expect(allowed.dispatch({ event: "tool:before", surface: "chat" }))
98
+ .resolves.toMatchObject({ decision: { action: "allow" } });
99
+ });
100
+ it("redacts sensitive keys and rejects oversized or circular payloads", () => {
101
+ const envelope = createRuntimeHookEnvelope({
102
+ event: "tool:before",
103
+ surface: "chat",
104
+ data: { apiKey: "secret", nested: { Authorization: "bearer" }, safe: "ok" },
105
+ });
106
+ expect(envelope.data).toEqual({ apiKey: "[REDACTED]", nested: { Authorization: "[REDACTED]" }, safe: "ok" });
107
+ expect(() => createRuntimeHookEnvelope({
108
+ event: "input:before",
109
+ surface: "chat",
110
+ data: { large: "x".repeat(100) },
111
+ }, undefined, 10)).toThrow(RuntimeHookValidationError);
112
+ const cyclic = {};
113
+ cyclic.self = cyclic;
114
+ expect(() => createRuntimeHookEnvelope({ event: "input:before", surface: "chat", data: cyclic }))
115
+ .toThrow(RuntimeHookValidationError);
116
+ });
117
+ it("derives replay-stable event and idempotency identities independently of wall-clock time", () => {
118
+ const first = createRuntimeHookEnvelope({
119
+ event: "tool:before", surface: "chat", occurredAt: "2026-01-01T00:00:00.000Z",
120
+ identity: { runId: "run-1", toolCallId: "call-1" }, data: { tool: "write", input: { path: "a" } },
121
+ });
122
+ const replay = createRuntimeHookEnvelope({
123
+ event: "tool:before", surface: "chat", occurredAt: "2026-01-01T00:05:00.000Z",
124
+ identity: { runId: "run-1", toolCallId: "call-1" }, data: { tool: "write", input: { path: "a" } },
125
+ });
126
+ expect(replay.eventId).toBe(first.eventId);
127
+ });
128
+ it("validates the versioned JSON pack and every handler family", () => {
129
+ const handlers = [
130
+ { type: "command", command: "true" },
131
+ { type: "http", url: "https://example.com/hook" },
132
+ { type: "tool", tool: "read" },
133
+ { type: "mcp_tool", connection: "drive", tool: "search" },
134
+ { type: "prompt", prompt: "Review" },
135
+ { type: "agent", agent: "reviewer", prompt: "Review" },
136
+ ];
137
+ const pack = validateRuntimeHookPack({
138
+ version: 1,
139
+ name: "quality",
140
+ hooks: handlers.map((handler, index) => ({ id: `h-${index}`, event: "tool:before", handler })),
141
+ });
142
+ expect(pack.hooks).toHaveLength(6);
143
+ });
144
+ it("rejects inline command and HTTP credentials", () => {
145
+ expect(() => validateRuntimeHookPack({
146
+ version: 1,
147
+ name: "invalid-command-secret",
148
+ hooks: [{
149
+ id: "command-secret", event: "run:start",
150
+ handler: { type: "command", command: "check", env: { API_KEY: "secret" } },
151
+ }],
152
+ })).toThrow("must not contain inline credentials");
153
+ expect(() => validateRuntimeHookPack({
154
+ version: 1,
155
+ name: "invalid-http-secret",
156
+ hooks: [{
157
+ id: "http-secret", event: "run:start",
158
+ handler: { type: "http", url: "https://example.com/hook", headers: { Authorization: "Bearer secret" } },
159
+ }],
160
+ })).toThrow("use handler.connection");
161
+ });
162
+ it.each([
163
+ [{ type: "command" }, "handler.command"],
164
+ [{ type: "http", url: "http://example.com" }, "must use HTTPS"],
165
+ [{ type: "tool", tool: "" }, "handler.tool"],
166
+ [{ type: "mcp_tool", connection: "drive" }, "handler.tool"],
167
+ [{ type: "prompt", prompt: "Review", maxOutputTokens: 0 }, "maxOutputTokens"],
168
+ [{ type: "agent", agent: "reviewer", prompt: "Review", maxTurns: 21 }, "maxTurns"],
169
+ ])("rejects malformed handler contracts: %o", (handler, message) => {
170
+ expect(() => validateRuntimeHookPack({
171
+ version: 1,
172
+ name: "invalid",
173
+ hooks: [{ id: "invalid", event: "tool:before", handler }],
174
+ })).toThrow(message);
175
+ });
176
+ it("rejects malformed matchers and metadata", () => {
177
+ expect(() => validateRuntimeHookPack({
178
+ version: 1,
179
+ name: "invalid",
180
+ hooks: [{
181
+ id: "invalid", event: "tool:before", priority: 1.5,
182
+ matcher: { surfaces: ["unknown"] },
183
+ handler: { type: "tool", tool: "read" },
184
+ }],
185
+ })).toThrow("priority");
186
+ expect(() => validateRuntimeHookPack({
187
+ version: 1,
188
+ name: "invalid",
189
+ hooks: [{
190
+ id: "invalid", event: "tool:before",
191
+ matcher: { surfaces: ["unknown"] },
192
+ handler: { type: "tool", tool: "read" },
193
+ }],
194
+ })).toThrow("matcher.surfaces");
195
+ });
196
+ });
197
+ //# sourceMappingURL=runtime-hooks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-hooks.test.js","sourceRoot":"","sources":["../src/runtime-hooks.test.ts"],"names":[],"mappings":"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"}
@@ -151,6 +151,8 @@ export interface AgentConfig {
151
151
  memory?: AgentMemorySettings;
152
152
  /** Installed skill names (e.g. "find-skills", "frontend-design") */
153
153
  skills?: string[];
154
+ /** Named runtime hook packs from `.polpo/hooks/<name>.json`. */
155
+ hooks?: string[];
154
156
  /** MCP servers available to this agent. */
155
157
  mcpServers?: Record<string, McpServerConfig>;
156
158
  /** Max conversation turns before stopping. Default 150 */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgUH,6BAA6B;AAE7B,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,SAAiB;IACxD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACvD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,SAAiB;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkUH,6BAA6B;AAE7B,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,SAAiB;IACxD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACvD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,SAAiB;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polpo-ai/core",
3
- "version": "0.18.5",
3
+ "version": "0.18.7",
4
4
  "description": "Pure business logic, types, schemas, and store interfaces for the Polpo AI agent orchestration platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -98,6 +98,10 @@
98
98
  "types": "./dist/steering.d.ts",
99
99
  "import": "./dist/steering.js"
100
100
  },
101
+ "./runtime-hooks": {
102
+ "types": "./dist/runtime-hooks.d.ts",
103
+ "import": "./dist/runtime-hooks.js"
104
+ },
101
105
  "./run-delivery": {
102
106
  "types": "./dist/run-delivery.d.ts",
103
107
  "import": "./dist/run-delivery.js"