@polpo-ai/core 0.18.7 → 0.18.9

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.
Files changed (41) hide show
  1. package/README.md +11 -3
  2. package/dist/adapter.d.ts +8 -2
  3. package/dist/adapter.d.ts.map +1 -1
  4. package/dist/loop/normalize.d.ts.map +1 -1
  5. package/dist/loop/normalize.js +1 -0
  6. package/dist/loop/normalize.js.map +1 -1
  7. package/dist/loop/pipeline.d.ts +9 -1
  8. package/dist/loop/pipeline.d.ts.map +1 -1
  9. package/dist/loop/pipeline.js +1 -0
  10. package/dist/loop/pipeline.js.map +1 -1
  11. package/dist/loop/pipeline.test.js +41 -0
  12. package/dist/loop/pipeline.test.js.map +1 -1
  13. package/dist/loop/runner.d.ts +5 -1
  14. package/dist/loop/runner.d.ts.map +1 -1
  15. package/dist/loop/runner.js +36 -2
  16. package/dist/loop/runner.js.map +1 -1
  17. package/dist/loop/runner.test.js +46 -3
  18. package/dist/loop/runner.test.js.map +1 -1
  19. package/dist/loop/types.d.ts +7 -0
  20. package/dist/loop/types.d.ts.map +1 -1
  21. package/dist/loop/types.js.map +1 -1
  22. package/dist/runtime-hooks.d.ts +32 -1
  23. package/dist/runtime-hooks.d.ts.map +1 -1
  24. package/dist/runtime-hooks.js +107 -21
  25. package/dist/runtime-hooks.js.map +1 -1
  26. package/dist/runtime-hooks.test.js +78 -1
  27. package/dist/runtime-hooks.test.js.map +1 -1
  28. package/dist/schemas.d.ts +168 -0
  29. package/dist/schemas.d.ts.map +1 -1
  30. package/dist/schemas.js +25 -0
  31. package/dist/schemas.js.map +1 -1
  32. package/dist/steering.d.ts +99 -5
  33. package/dist/steering.d.ts.map +1 -1
  34. package/dist/steering.js +381 -14
  35. package/dist/steering.js.map +1 -1
  36. package/dist/steering.test.js +82 -16
  37. package/dist/steering.test.js.map +1 -1
  38. package/dist/types/agent.d.ts +3 -0
  39. package/dist/types/agent.d.ts.map +1 -1
  40. package/dist/types/agent.js.map +1 -1
  41. package/package.json +1 -1
@@ -6,6 +6,45 @@ export declare const DEFAULT_STEERING_MAX_ATTACHMENTS = 16;
6
6
  export type SteeringMode = "steer" | "follow_up";
7
7
  export type SteeringDeliveryPolicy = "all" | "one-at-a-time";
8
8
  export type SteeringAttachmentType = "image" | "audio" | "file";
9
+ export type SteeringAcceptance = "accept" | "reject" | "best_effort";
10
+ export type SteeringAdmission = "accepted" | "duplicate" | "rejected" | "too_late";
11
+ export type SteeringDelivery = "pending" | "delivered" | "too_late" | "cancelled" | "failed";
12
+ export type SteeringPolicySource = "node" | "loop" | "agent" | "project" | "platform";
13
+ export interface SteeringOutcomeBehavior {
14
+ action: "reply" | "return";
15
+ messages: Record<string, string>;
16
+ }
17
+ export interface SteeringPolicy {
18
+ acceptance?: SteeringAcceptance;
19
+ outcomes?: Partial<Record<"rejected" | "too_late", SteeringOutcomeBehavior>>;
20
+ }
21
+ export interface ResolvedSteeringPolicy {
22
+ acceptance: SteeringAcceptance;
23
+ source: SteeringPolicySource;
24
+ outcomes?: SteeringPolicy["outcomes"];
25
+ }
26
+ export interface SteeringLocalizedResponse {
27
+ action: "reply" | "return";
28
+ text: string;
29
+ locale: string;
30
+ }
31
+ export interface SteeringReceipt {
32
+ version: 1;
33
+ runId: string;
34
+ messageId: string;
35
+ mode: SteeringMode;
36
+ acceptance: SteeringAcceptance;
37
+ policySource: SteeringPolicySource;
38
+ admission: SteeringAdmission;
39
+ delivery: SteeringDelivery;
40
+ locale?: string;
41
+ selectedLocale?: string;
42
+ response?: SteeringLocalizedResponse;
43
+ admittedAt: string;
44
+ deliveredAt?: string;
45
+ settledAt?: string;
46
+ reasonCode?: string;
47
+ }
9
48
  export type SteeringJsonValue = string | number | boolean | null | SteeringJsonValue[] | {
10
49
  [key: string]: SteeringJsonValue;
11
50
  };
@@ -22,6 +61,7 @@ export interface SteeringContent {
22
61
  export interface SteeringMessageInput {
23
62
  id: string;
24
63
  mode: SteeringMode;
64
+ locale?: string;
25
65
  content: SteeringContent;
26
66
  metadata?: Record<string, SteeringJsonValue>;
27
67
  }
@@ -34,6 +74,10 @@ export interface SteeringQueueSnapshot {
34
74
  pending: SteeringMessage[];
35
75
  /** Recently accepted ids, including delivered messages, for retry idempotency. */
36
76
  seenIds: string[];
77
+ /** Additive v1 receipt state. Older snapshots legitimately omit it. */
78
+ receipts?: SteeringReceipt[];
79
+ fingerprints?: Record<string, string>;
80
+ policy?: ResolvedSteeringPolicy;
37
81
  aborted?: boolean;
38
82
  abortReason?: SteeringJsonValue;
39
83
  }
@@ -45,6 +89,7 @@ export interface SteeringEnqueueResult {
45
89
  accepted: boolean;
46
90
  duplicate: boolean;
47
91
  message?: SteeringMessage;
92
+ receipt: SteeringReceipt;
48
93
  }
49
94
  export interface SteeringController {
50
95
  readonly signal: AbortSignal;
@@ -61,8 +106,18 @@ export interface SteeringController {
61
106
  restore(snapshot: SteeringQueueSnapshot, context?: {
62
107
  signal: AbortSignal;
63
108
  }): void | Promise<void>;
64
- abort(reason?: SteeringJsonValue): void;
65
- close(): void;
109
+ bindRun(runId: string): void | Promise<void>;
110
+ configure(policy: ResolvedSteeringPolicy): void | Promise<void>;
111
+ setBoundary(input: {
112
+ open: boolean;
113
+ reservable: boolean;
114
+ }): void | Promise<void>;
115
+ settle(messageIds: readonly string[], delivery: Exclude<SteeringDelivery, "pending">, reasonCode?: string): void | Promise<void>;
116
+ settlePending(delivery: Exclude<SteeringDelivery, "pending">, reasonCode?: string): void | Promise<void>;
117
+ getReceipt(messageId: string): SteeringReceipt | undefined | Promise<SteeringReceipt | undefined>;
118
+ listReceipts(): SteeringReceipt[] | Promise<SteeringReceipt[]>;
119
+ abort(reason?: SteeringJsonValue): void | Promise<void>;
120
+ close(delivery?: Exclude<SteeringDelivery, "pending">, reasonCode?: string): void | Promise<void>;
66
121
  }
67
122
  export interface InMemorySteeringControllerOptions {
68
123
  delivery?: SteeringDeliveryPolicy;
@@ -70,6 +125,9 @@ export interface InMemorySteeringControllerOptions {
70
125
  maxPending?: number;
71
126
  maxSeenIds?: number;
72
127
  maxAttachments?: number;
128
+ policy?: ResolvedSteeringPolicy;
129
+ runId?: string;
130
+ onReceipt?: (receipt: SteeringReceipt) => void;
73
131
  now?: () => Date;
74
132
  }
75
133
  export declare class SteeringValidationError extends Error {
@@ -92,18 +150,34 @@ export declare class SteeringAbortError extends Error {
92
150
  readonly name = "SteeringAbortError";
93
151
  constructor(reason?: unknown | undefined);
94
152
  }
153
+ export declare function normalizeSteeringLocale(locale: string): string;
154
+ export declare function resolveSteeringOutcomeMessage(messages: Record<string, string>, requestedLocale: string | undefined, outcome: "rejected" | "too_late"): {
155
+ locale: string;
156
+ text: string;
157
+ };
158
+ export declare function resolveSteeringPolicy(candidates: readonly {
159
+ policy?: SteeringPolicy;
160
+ source: SteeringPolicySource;
161
+ }[]): ResolvedSteeringPolicy;
95
162
  export declare class InMemorySteeringController implements SteeringController {
96
163
  private readonly abortController;
97
164
  private readonly pending;
98
165
  private readonly seen;
99
166
  private readonly seenOrder;
167
+ private readonly receipts;
168
+ private readonly fingerprints;
100
169
  private readonly delivery;
101
170
  private readonly maxContentBytes;
102
171
  private readonly maxPending;
103
172
  private readonly maxSeenIds;
104
173
  private readonly maxAttachments;
105
174
  private readonly now;
175
+ private readonly onReceipt?;
106
176
  private abortReason;
177
+ private runId;
178
+ private policy;
179
+ private boundaryOpen;
180
+ private boundaryReservable;
107
181
  private closed;
108
182
  constructor(options?: InMemorySteeringControllerOptions);
109
183
  get signal(): AbortSignal;
@@ -114,20 +188,36 @@ export declare class InMemorySteeringController implements SteeringController {
114
188
  sealIfIdle(): boolean;
115
189
  snapshot(): SteeringQueueSnapshot;
116
190
  restore(snapshot: SteeringQueueSnapshot): void;
191
+ bindRun(runId: string): void;
192
+ configure(policy: ResolvedSteeringPolicy): void;
193
+ setBoundary(input: {
194
+ open: boolean;
195
+ reservable: boolean;
196
+ }): void;
197
+ settle(messageIds: readonly string[], delivery: Exclude<SteeringDelivery, "pending">, reasonCode?: string): void;
198
+ settlePending(delivery: Exclude<SteeringDelivery, "pending">, reasonCode?: string): void;
199
+ getReceipt(messageId: string): SteeringReceipt | undefined;
200
+ listReceipts(): SteeringReceipt[];
117
201
  abort(reason?: SteeringJsonValue): void;
118
- close(): void;
202
+ close(delivery?: Exclude<SteeringDelivery, "pending">, reasonCode?: string): void;
119
203
  private normalizeMessage;
120
204
  private remember;
205
+ private pruneSeen;
206
+ private immediateAdmission;
207
+ private localizedResponse;
208
+ private recordReceipt;
121
209
  }
122
210
  export declare function throwIfSteeringAborted(steering: Pick<SteeringController, "signal"> | undefined): void;
123
211
  export interface SteeringRunRegistry {
124
212
  register(runId: string, controller: SteeringController): (() => void | Promise<void>) | Promise<() => void | Promise<void>>;
125
213
  enqueue(runId: string, input: SteeringMessageInput): Promise<SteeringEnqueueResult>;
214
+ getReceipt(runId: string, messageId: string): Promise<SteeringReceipt | undefined>;
126
215
  abort(runId: string, reason?: SteeringJsonValue): void | Promise<void>;
127
216
  has(runId: string): boolean | Promise<boolean>;
128
217
  }
129
218
  export interface InMemorySteeringRunRegistryOptions {
130
219
  maxActiveRuns?: number;
220
+ maxArchivedReceipts?: number;
131
221
  }
132
222
  /**
133
223
  * Process-local active-run index for the single-process OSS host. Distributed
@@ -136,12 +226,16 @@ export interface InMemorySteeringRunRegistryOptions {
136
226
  */
137
227
  export declare class InMemorySteeringRunRegistry implements SteeringRunRegistry {
138
228
  private readonly controllers;
229
+ private readonly archivedReceipts;
139
230
  private readonly maxActiveRuns;
231
+ private readonly maxArchivedReceipts;
140
232
  constructor(options?: InMemorySteeringRunRegistryOptions);
141
- register(runId: string, controller: SteeringController): () => void;
233
+ register(runId: string, controller: SteeringController): Promise<() => Promise<void>>;
142
234
  enqueue(runId: string, input: SteeringMessageInput): Promise<SteeringEnqueueResult>;
143
- abort(runId: string, reason?: SteeringJsonValue): void;
235
+ getReceipt(runId: string, messageId: string): Promise<SteeringReceipt | undefined>;
236
+ abort(runId: string, reason?: SteeringJsonValue): Promise<void>;
144
237
  has(runId: string): boolean;
145
238
  private require;
239
+ private archive;
146
240
  }
147
241
  //# sourceMappingURL=steering.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../src/steering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../src/steering.ts"],"names":[],"mappings":"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"}