@actuarial-ts/agents 0.1.0 → 0.3.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.
Files changed (48) hide show
  1. package/README.md +4 -2
  2. package/dist/advisor.d.ts +2 -1
  3. package/dist/advisor.d.ts.map +1 -1
  4. package/dist/advisor.js +3 -1
  5. package/dist/advisor.js.map +1 -1
  6. package/dist/divergence.d.ts +267 -0
  7. package/dist/divergence.d.ts.map +1 -0
  8. package/dist/divergence.js +414 -0
  9. package/dist/divergence.js.map +1 -0
  10. package/dist/errors.d.ts +1 -1
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +20 -0
  13. package/dist/errors.js.map +1 -1
  14. package/dist/index.d.ts +4 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/judgment.d.ts +26 -0
  19. package/dist/judgment.d.ts.map +1 -1
  20. package/dist/judgment.js +21 -0
  21. package/dist/judgment.js.map +1 -1
  22. package/dist/mcp.d.ts +165 -0
  23. package/dist/mcp.d.ts.map +1 -0
  24. package/dist/mcp.js +155 -0
  25. package/dist/mcp.js.map +1 -0
  26. package/dist/promotion.d.ts +295 -0
  27. package/dist/promotion.d.ts.map +1 -0
  28. package/dist/promotion.js +824 -0
  29. package/dist/promotion.js.map +1 -0
  30. package/dist/remote.d.ts +221 -0
  31. package/dist/remote.d.ts.map +1 -0
  32. package/dist/remote.js +295 -0
  33. package/dist/remote.js.map +1 -0
  34. package/dist/tools.d.ts +87 -6
  35. package/dist/tools.d.ts.map +1 -1
  36. package/dist/tools.js +182 -15
  37. package/dist/tools.js.map +1 -1
  38. package/package.json +11 -4
  39. package/src/advisor.ts +141 -0
  40. package/src/divergence.ts +642 -0
  41. package/src/errors.ts +62 -0
  42. package/src/evals.ts +162 -0
  43. package/src/index.ts +9 -0
  44. package/src/judgment.ts +458 -0
  45. package/src/mcp.ts +274 -0
  46. package/src/promotion.ts +1240 -0
  47. package/src/remote.ts +371 -0
  48. package/src/tools.ts +561 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotion.js","sourceRoot":"","sources":["../src/promotion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Remote-method tools (interchange spec rev 2.1, section 7 client side):
3
+ * defineRemoteMethod wraps one sidecar method (POST /v1/run/{method}) in
4
+ * defineActuarialTool, so a chainladder-python run becomes ordinary advisor
5
+ * evidence — enveloped, tenant-sealed, abortable.
6
+ *
7
+ * Contract decisions (each is load-bearing):
8
+ *
9
+ * - THE WIRE IS THE INTERCHANGE SPEC. The model-facing input schema is the
10
+ * sidecar request body MINUS engagementRef and minus any tenant field:
11
+ * { triangles: { primary, secondary? }, selection?, exposure?,
12
+ * parameters?, seed? }. Embedded documents are validated CLIENT-side via
13
+ * interchange parseDocument (integrity verified) before anything leaves
14
+ * the process, and the response document is parsed the same way — a 2xx
15
+ * body that fails parseDocument is refused with
16
+ * AgentsError("REMOTE_RESULT_INVALID"), never handed to the model.
17
+ *
18
+ * - THE TENANT SEAM IS UNTOUCHED. The input schema declares no tenant key
19
+ * (defineActuarialTool lints it at definition time), the wire body is
20
+ * built ONLY from the declared slots, and no engagementRef surface exists
21
+ * on the tool at all — the remote call carries zero correlation identity.
22
+ * The sidecar's own data-level lint (TENANT_KEY_REJECTED) backstops any
23
+ * tenant key hiding inside a supplied document's extensions.
24
+ *
25
+ * - PARAMETERS ARE AN EXPLICIT VOCABULARY, NOT A RECORD. The tenant lint
26
+ * rejects z.record / .passthrough (arbitrary-key smuggling surfaces), so
27
+ * the schema declares the sidecar's documented knobs explicitly; the
28
+ * sidecar 422s anything a given method does not accept, which keeps the
29
+ * two vocabularies honest against each other.
30
+ *
31
+ * - ERRORS MAP TO ENVELOPES WITH THE SIDECAR'S OWN CODES. A non-2xx with a
32
+ * schema'd { error: { code, message } } body keeps that code verbatim
33
+ * (UNAUTHORIZED, MISSING_SEED, REPLAY_REFUSED, ...); transport failures
34
+ * get SIDECAR_UNREACHABLE, the client-side deadline SIDECAR_TIMEOUT, and
35
+ * a caller abort ABORTED. The model always receives an envelope it can
36
+ * recover from, never a thrown exception.
37
+ */
38
+ import { z } from "zod";
39
+ import { type MethodResultDoc, type StochasticResultDoc } from "@actuarial-ts/interchange";
40
+ import { type ToolEnvelopeFailure } from "./tools.js";
41
+ declare const remoteRunInputSchema: z.ZodObject<{
42
+ triangles: z.ZodObject<{
43
+ primary: z.ZodUnknown;
44
+ secondary: z.ZodNullable<z.ZodUnknown>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ primary?: unknown;
47
+ secondary?: unknown;
48
+ }, {
49
+ primary?: unknown;
50
+ secondary?: unknown;
51
+ }>;
52
+ selection: z.ZodNullable<z.ZodUnknown>;
53
+ exposure: z.ZodNullable<z.ZodObject<{
54
+ origins: z.ZodArray<z.ZodString, "many">;
55
+ values: z.ZodArray<z.ZodNumber, "many">;
56
+ kind: z.ZodString;
57
+ }, "strip", z.ZodTypeAny, {
58
+ values: number[];
59
+ kind: string;
60
+ origins: string[];
61
+ }, {
62
+ values: number[];
63
+ kind: string;
64
+ origins: string[];
65
+ }>>;
66
+ parameters: z.ZodNullable<z.ZodObject<{
67
+ average: z.ZodNullable<z.ZodEnum<["volume", "simple", "regression"]>>;
68
+ n_periods: z.ZodNullable<z.ZodNumber>;
69
+ strictness: z.ZodNullable<z.ZodEnum<["warn", "strict"]>>;
70
+ sigma_interpolation: z.ZodNullable<z.ZodEnum<["log-linear", "mack"]>>;
71
+ apriori: z.ZodNullable<z.ZodNumber>;
72
+ n_iters: z.ZodNullable<z.ZodNumber>;
73
+ trend: z.ZodNullable<z.ZodNumber>;
74
+ decay: z.ZodNullable<z.ZodNumber>;
75
+ growth: z.ZodNullable<z.ZodEnum<["loglogistic", "weibull"]>>;
76
+ n_sims: z.ZodNullable<z.ZodNumber>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ strictness: "strict" | "warn" | null;
79
+ average: "simple" | "regression" | "volume" | null;
80
+ n_periods: number | null;
81
+ sigma_interpolation: "log-linear" | "mack" | null;
82
+ apriori: number | null;
83
+ n_iters: number | null;
84
+ trend: number | null;
85
+ decay: number | null;
86
+ growth: "loglogistic" | "weibull" | null;
87
+ n_sims: number | null;
88
+ }, {
89
+ strictness: "strict" | "warn" | null;
90
+ average: "simple" | "regression" | "volume" | null;
91
+ n_periods: number | null;
92
+ sigma_interpolation: "log-linear" | "mack" | null;
93
+ apriori: number | null;
94
+ n_iters: number | null;
95
+ trend: number | null;
96
+ decay: number | null;
97
+ growth: "loglogistic" | "weibull" | null;
98
+ n_sims: number | null;
99
+ }>>;
100
+ seed: z.ZodNullable<z.ZodNumber>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ parameters: {
103
+ strictness: "strict" | "warn" | null;
104
+ average: "simple" | "regression" | "volume" | null;
105
+ n_periods: number | null;
106
+ sigma_interpolation: "log-linear" | "mack" | null;
107
+ apriori: number | null;
108
+ n_iters: number | null;
109
+ trend: number | null;
110
+ decay: number | null;
111
+ growth: "loglogistic" | "weibull" | null;
112
+ n_sims: number | null;
113
+ } | null;
114
+ seed: number | null;
115
+ triangles: {
116
+ primary?: unknown;
117
+ secondary?: unknown;
118
+ };
119
+ exposure: {
120
+ values: number[];
121
+ kind: string;
122
+ origins: string[];
123
+ } | null;
124
+ selection?: unknown;
125
+ }, {
126
+ parameters: {
127
+ strictness: "strict" | "warn" | null;
128
+ average: "simple" | "regression" | "volume" | null;
129
+ n_periods: number | null;
130
+ sigma_interpolation: "log-linear" | "mack" | null;
131
+ apriori: number | null;
132
+ n_iters: number | null;
133
+ trend: number | null;
134
+ decay: number | null;
135
+ growth: "loglogistic" | "weibull" | null;
136
+ n_sims: number | null;
137
+ } | null;
138
+ seed: number | null;
139
+ triangles: {
140
+ primary?: unknown;
141
+ secondary?: unknown;
142
+ };
143
+ exposure: {
144
+ values: number[];
145
+ kind: string;
146
+ origins: string[];
147
+ } | null;
148
+ selection?: unknown;
149
+ }>;
150
+ export type RemoteRunInput = z.infer<typeof remoteRunInputSchema>;
151
+ export interface RemoteMethodCallOptions {
152
+ /** Sidecar base URL, e.g. http://127.0.0.1:8091 (no trailing /v1). */
153
+ sidecarUrl: string;
154
+ /** The spec-7 method name, e.g. "Chainladder" or "MackChainladder". */
155
+ method: string;
156
+ /** Client-side deadline for one run. Default 60000 ms. */
157
+ timeoutMs?: number;
158
+ /** Extra request headers — the bearer token travels here, e.g.
159
+ * { authorization: "Bearer <SIDECAR_TOKEN>" }. */
160
+ headers?: Record<string, string>;
161
+ }
162
+ export interface RemoteMethodSuccess {
163
+ success: true;
164
+ /** "method-result" | "stochastic-result" (what the run returned). */
165
+ kind: "method-result" | "stochastic-result";
166
+ /** The parsed, integrity-verified result document. */
167
+ doc: MethodResultDoc | StochasticResultDoc;
168
+ /** Reader-side warnings from parseDocument (normally empty). */
169
+ parseWarnings: string[];
170
+ }
171
+ export type RemoteMethodResult = RemoteMethodSuccess | ToolEnvelopeFailure;
172
+ /**
173
+ * POSTs one spec-7 wire body to the sidecar and parses the response through
174
+ * interchange parseDocument. Never throws for transport/protocol failures —
175
+ * it returns the failure envelope directly, carrying the sidecar's own error
176
+ * code when the response body is schema'd. The ONE registered throw-shaped
177
+ * failure, REMOTE_RESULT_INVALID (a 2xx body that is not a verifiable
178
+ * result document), is also returned enveloped.
179
+ */
180
+ export declare function callRemoteMethod(options: RemoteMethodCallOptions, body: Record<string, unknown>, signal?: AbortSignal): Promise<RemoteMethodResult>;
181
+ export interface DefineRemoteMethodOptions extends RemoteMethodCallOptions {
182
+ id: string;
183
+ description: string;
184
+ }
185
+ /**
186
+ * Defines a read-kind actuarial tool that runs ONE sidecar method. The
187
+ * input schema is the spec-7 wire shape (minus engagementRef/tenant
188
+ * anything); execute validates the embedded documents, POSTs the wire body,
189
+ * forwards the Mastra abort signal, and returns either the parsed
190
+ * integrity-verified result document or a failure envelope carrying the
191
+ * sidecar's own error code.
192
+ */
193
+ export declare function defineRemoteMethod(options: DefineRemoteMethodOptions): import("@mastra/core/tools").Tool<{
194
+ parameters: {
195
+ strictness: "strict" | "warn" | null;
196
+ average: "simple" | "regression" | "volume" | null;
197
+ n_periods: number | null;
198
+ sigma_interpolation: "log-linear" | "mack" | null;
199
+ apriori: number | null;
200
+ n_iters: number | null;
201
+ trend: number | null;
202
+ decay: number | null;
203
+ growth: "loglogistic" | "weibull" | null;
204
+ n_sims: number | null;
205
+ } | null;
206
+ seed: number | null;
207
+ triangles: {
208
+ primary?: unknown;
209
+ secondary?: unknown;
210
+ };
211
+ exposure: {
212
+ values: number[];
213
+ kind: string;
214
+ origins: string[];
215
+ } | null;
216
+ selection?: unknown;
217
+ }, unknown, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, string, unknown> & {
218
+ kind: import("./tools.js").ActuarialToolKind;
219
+ };
220
+ export {};
221
+ //# sourceMappingURL=remote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAgDpB,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBxB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAQlE,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;sDACkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,eAAe,GAAG,mBAAmB,CAAC;IAC5C,sDAAsD;IACtD,GAAG,EAAE,eAAe,GAAG,mBAAmB,CAAC;IAC3C,gEAAgE;IAChE,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAM3E;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAwF7B;AAKD,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AA4CD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDpE"}
package/dist/remote.js ADDED
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Remote-method tools (interchange spec rev 2.1, section 7 client side):
3
+ * defineRemoteMethod wraps one sidecar method (POST /v1/run/{method}) in
4
+ * defineActuarialTool, so a chainladder-python run becomes ordinary advisor
5
+ * evidence — enveloped, tenant-sealed, abortable.
6
+ *
7
+ * Contract decisions (each is load-bearing):
8
+ *
9
+ * - THE WIRE IS THE INTERCHANGE SPEC. The model-facing input schema is the
10
+ * sidecar request body MINUS engagementRef and minus any tenant field:
11
+ * { triangles: { primary, secondary? }, selection?, exposure?,
12
+ * parameters?, seed? }. Embedded documents are validated CLIENT-side via
13
+ * interchange parseDocument (integrity verified) before anything leaves
14
+ * the process, and the response document is parsed the same way — a 2xx
15
+ * body that fails parseDocument is refused with
16
+ * AgentsError("REMOTE_RESULT_INVALID"), never handed to the model.
17
+ *
18
+ * - THE TENANT SEAM IS UNTOUCHED. The input schema declares no tenant key
19
+ * (defineActuarialTool lints it at definition time), the wire body is
20
+ * built ONLY from the declared slots, and no engagementRef surface exists
21
+ * on the tool at all — the remote call carries zero correlation identity.
22
+ * The sidecar's own data-level lint (TENANT_KEY_REJECTED) backstops any
23
+ * tenant key hiding inside a supplied document's extensions.
24
+ *
25
+ * - PARAMETERS ARE AN EXPLICIT VOCABULARY, NOT A RECORD. The tenant lint
26
+ * rejects z.record / .passthrough (arbitrary-key smuggling surfaces), so
27
+ * the schema declares the sidecar's documented knobs explicitly; the
28
+ * sidecar 422s anything a given method does not accept, which keeps the
29
+ * two vocabularies honest against each other.
30
+ *
31
+ * - ERRORS MAP TO ENVELOPES WITH THE SIDECAR'S OWN CODES. A non-2xx with a
32
+ * schema'd { error: { code, message } } body keeps that code verbatim
33
+ * (UNAUTHORIZED, MISSING_SEED, REPLAY_REFUSED, ...); transport failures
34
+ * get SIDECAR_UNREACHABLE, the client-side deadline SIDECAR_TIMEOUT, and
35
+ * a caller abort ABORTED. The model always receives an envelope it can
36
+ * recover from, never a thrown exception.
37
+ */
38
+ import { z } from "zod";
39
+ import { parseDocument, } from "@actuarial-ts/interchange";
40
+ import { AgentsError } from "./errors.js";
41
+ import { defineActuarialTool, envelopeFailure, } from "./tools.js";
42
+ // ---------------------------------------------------------------------------
43
+ // Wire schema (model-facing): the spec-7 request body minus engagementRef
44
+ // and minus any tenant surface.
45
+ /** BF/Benktander/CapeCod apriori base: one value per origin label. */
46
+ const exposureSchema = z.object({
47
+ origins: z.array(z.string().min(1)).min(1).describe("Origin labels, matching the primary triangle's origins exactly"),
48
+ values: z.array(z.number().finite()).min(1).describe("One exposure value per origin, same order as origins"),
49
+ kind: z.string().min(1).describe('Exposure kind, e.g. "earnedPremium"'),
50
+ });
51
+ /**
52
+ * The sidecar's documented parameter vocabulary, declared explicitly (the
53
+ * tenant lint forbids open-key records by design). Every key is nullable:
54
+ * null means "not sent", and each METHOD accepts only its own subset — the
55
+ * sidecar refuses unknown keys per method with a 422 the envelope relays.
56
+ */
57
+ const parametersSchema = z.object({
58
+ average: z
59
+ .enum(["volume", "simple", "regression"])
60
+ .nullable()
61
+ .describe("Development average when NO selection document is supplied (conflicts with selection)"),
62
+ n_periods: z
63
+ .number()
64
+ .int()
65
+ .nullable()
66
+ .describe("Development periods when NO selection is supplied: -1 = all periods (conflicts with selection)"),
67
+ strictness: z
68
+ .enum(["warn", "strict"])
69
+ .nullable()
70
+ .describe("Selection-replay strictness: warn (default) runs compromises with warnings; strict refuses them with 422"),
71
+ sigma_interpolation: z
72
+ .enum(["log-linear", "mack"])
73
+ .nullable()
74
+ .describe('MackChainladder sigma extrapolation; the mack1993-vw profile requires "mack" (engine default is log-linear)'),
75
+ apriori: z.number().nullable().describe("BornhuetterFerguson/Benktander a-priori multiplier on the exposure base"),
76
+ n_iters: z.number().int().nullable().describe("Benktander iterations (1 = BF)"),
77
+ trend: z.number().nullable().describe("CapeCod trend rate"),
78
+ decay: z.number().nullable().describe("CapeCod decay factor"),
79
+ growth: z
80
+ .enum(["loglogistic", "weibull"])
81
+ .nullable()
82
+ .describe("ClarkLDF growth curve family"),
83
+ n_sims: z.number().int().nullable().describe("BootstrapODPSample simulation count (default 1000, max 100000)"),
84
+ });
85
+ const remoteRunInputSchema = z.object({
86
+ triangles: z.object({
87
+ primary: z
88
+ .unknown()
89
+ .describe("The primary TriangleDoc: a full actuarial-interchange triangle document, integrity tag intact"),
90
+ secondary: z
91
+ .unknown()
92
+ .nullable()
93
+ .describe("Second TriangleDoc (MunichAdjustment's incurred slot; primary = paid). Null for every other method"),
94
+ }),
95
+ selection: z
96
+ .unknown()
97
+ .nullable()
98
+ .describe("SelectionDoc replayed as the development intent (spec 3.2). Null = engine-native factors from parameters. Supplying BOTH a selection and average/n_periods parameters is refused"),
99
+ exposure: exposureSchema
100
+ .nullable()
101
+ .describe("Apriori exposure base — required by BornhuetterFerguson, Benktander, and CapeCod; null otherwise"),
102
+ parameters: parametersSchema.nullable().describe("Method-specific knobs; null sends none"),
103
+ seed: z
104
+ .number()
105
+ .int()
106
+ .nullable()
107
+ .describe("BootstrapODPSample only (REQUIRED there); deterministic methods refuse a supplied seed"),
108
+ });
109
+ // ---------------------------------------------------------------------------
110
+ // The HTTP call (shared by defineRemoteMethod and host-authored tools)
111
+ /** Result-document kinds a sidecar run may return. */
112
+ const RESULT_KINDS = new Set(["method-result", "stochastic-result"]);
113
+ function isAbortLike(err, name) {
114
+ return err?.name === name;
115
+ }
116
+ /**
117
+ * POSTs one spec-7 wire body to the sidecar and parses the response through
118
+ * interchange parseDocument. Never throws for transport/protocol failures —
119
+ * it returns the failure envelope directly, carrying the sidecar's own error
120
+ * code when the response body is schema'd. The ONE registered throw-shaped
121
+ * failure, REMOTE_RESULT_INVALID (a 2xx body that is not a verifiable
122
+ * result document), is also returned enveloped.
123
+ */
124
+ export async function callRemoteMethod(options, body, signal) {
125
+ const timeoutMs = options.timeoutMs ?? 60_000;
126
+ const url = `${options.sidecarUrl.replace(/\/+$/, "")}/v1/run/${encodeURIComponent(options.method)}`;
127
+ const timeout = AbortSignal.timeout(timeoutMs);
128
+ const combined = signal !== undefined ? AbortSignal.any([signal, timeout]) : timeout;
129
+ let response;
130
+ try {
131
+ response = await fetch(url, {
132
+ method: "POST",
133
+ headers: { "content-type": "application/json", ...(options.headers ?? {}) },
134
+ body: JSON.stringify(body),
135
+ signal: combined,
136
+ });
137
+ }
138
+ catch (err) {
139
+ // fetch rejects with the abort REASON: AbortSignal.timeout's reason is a
140
+ // TimeoutError, a caller abort is an AbortError; anything else is the
141
+ // transport itself failing. Node may also wrap the reason in a TypeError
142
+ // whose cause carries the story — the signal states disambiguate.
143
+ if (signal?.aborted === true && !timeout.aborted) {
144
+ return { success: false, error: { code: "ABORTED", message: "the caller aborted the sidecar call" } };
145
+ }
146
+ if (timeout.aborted || isAbortLike(err, "TimeoutError")) {
147
+ return {
148
+ success: false,
149
+ error: {
150
+ code: "SIDECAR_TIMEOUT",
151
+ message: `the sidecar did not answer ${options.method} within ${timeoutMs} ms`,
152
+ },
153
+ };
154
+ }
155
+ if (isAbortLike(err, "AbortError")) {
156
+ return { success: false, error: { code: "ABORTED", message: "the caller aborted the sidecar call" } };
157
+ }
158
+ const detail = err instanceof Error ? err.message : String(err);
159
+ const cause = err?.cause?.message;
160
+ return {
161
+ success: false,
162
+ error: {
163
+ code: "SIDECAR_UNREACHABLE",
164
+ message: `could not reach the sidecar at ${url}: ${typeof cause === "string" ? cause : detail}`,
165
+ },
166
+ };
167
+ }
168
+ let payload;
169
+ let bodyText = "";
170
+ try {
171
+ bodyText = await response.text();
172
+ payload = JSON.parse(bodyText);
173
+ }
174
+ catch {
175
+ payload = undefined;
176
+ }
177
+ if (!response.ok) {
178
+ const schemad = payload?.error;
179
+ const code = typeof schemad?.code === "string" && schemad.code.length > 0
180
+ ? schemad.code
181
+ : `SIDECAR_HTTP_${response.status}`;
182
+ const message = typeof schemad?.message === "string" && schemad.message.length > 0
183
+ ? schemad.message
184
+ : `sidecar answered HTTP ${response.status} for ${options.method}`;
185
+ return { success: false, error: { code, message } };
186
+ }
187
+ try {
188
+ if (payload === undefined) {
189
+ throw new Error(`response body is not JSON: ${bodyText.slice(0, 200)}`);
190
+ }
191
+ const { doc, warnings } = parseDocument(payload); // strictness "refuse": a broken tag throws
192
+ if (!RESULT_KINDS.has(doc.kind)) {
193
+ throw new Error(`expected a method-result or stochastic-result document, got kind "${doc.kind}"`);
194
+ }
195
+ return {
196
+ success: true,
197
+ kind: doc.kind,
198
+ doc: doc,
199
+ parseWarnings: warnings,
200
+ };
201
+ }
202
+ catch (err) {
203
+ const detail = err instanceof Error ? err.message : String(err);
204
+ return envelopeFailure(new AgentsError("REMOTE_RESULT_INVALID", `the sidecar's 2xx response for ${options.method} is not a verifiable interchange result document: ${detail}`));
205
+ }
206
+ }
207
+ /** Client-side guard: an embedded document slot must parse (integrity
208
+ * verified) AND be of the expected kind before it goes on the wire. Returns
209
+ * the failure envelope for a wrong kind (mirroring the sidecar's own
210
+ * WRONG_DOCUMENT_KIND vocabulary); parse failures throw ReservingError
211
+ * BAD_INTERCHANGE, which the tool wrapper envelopes with that code. */
212
+ function checkDocumentSlot(raw, slot, expectedKind) {
213
+ const { doc } = parseDocument(raw);
214
+ if (doc.kind !== expectedKind) {
215
+ return {
216
+ success: false,
217
+ error: {
218
+ code: "WRONG_DOCUMENT_KIND",
219
+ message: `'${slot}' must be a ${expectedKind} document, got kind "${doc.kind}"`,
220
+ },
221
+ };
222
+ }
223
+ return null;
224
+ }
225
+ function compactParameters(parameters) {
226
+ if (parameters === null || parameters === undefined)
227
+ return null;
228
+ const out = {};
229
+ for (const [key, value] of Object.entries(parameters)) {
230
+ if (value !== null && value !== undefined)
231
+ out[key] = value;
232
+ }
233
+ return Object.keys(out).length > 0 ? out : null;
234
+ }
235
+ /**
236
+ * Defines a read-kind actuarial tool that runs ONE sidecar method. The
237
+ * input schema is the spec-7 wire shape (minus engagementRef/tenant
238
+ * anything); execute validates the embedded documents, POSTs the wire body,
239
+ * forwards the Mastra abort signal, and returns either the parsed
240
+ * integrity-verified result document or a failure envelope carrying the
241
+ * sidecar's own error code.
242
+ */
243
+ export function defineRemoteMethod(options) {
244
+ const { id, description, ...call } = options;
245
+ return defineActuarialTool({
246
+ id,
247
+ description,
248
+ kind: "read",
249
+ inputSchema: remoteRunInputSchema,
250
+ // The document slots are z.unknown() ON PURPOSE: each is a whole
251
+ // interchange document, validated at execute time by checkDocumentSlot ->
252
+ // parseDocument (schema + integrity tag), and interchange documents carry
253
+ // no tenant identifiers by spec section 12. Declaring the paths here keeps
254
+ // the tenant lint fail-closed for everything else.
255
+ allowUninspected: ["input.triangles.primary", "input.triangles.secondary", "input.selection"],
256
+ // Tenant-free BY DESIGN: the sidecar is stateless and the wire body is
257
+ // spec-7 minus engagementRef minus any tenant surface (see the file
258
+ // header). There is no tenant-scoped read or write on this path.
259
+ tenant: "none",
260
+ execute: async (input, _tenant, context) => {
261
+ const badPrimary = checkDocumentSlot(input.triangles.primary, "triangles.primary", "triangle");
262
+ if (badPrimary !== null)
263
+ return badPrimary;
264
+ if (input.triangles.secondary !== null && input.triangles.secondary !== undefined) {
265
+ const badSecondary = checkDocumentSlot(input.triangles.secondary, "triangles.secondary", "triangle");
266
+ if (badSecondary !== null)
267
+ return badSecondary;
268
+ }
269
+ if (input.selection !== null && input.selection !== undefined) {
270
+ const badSelection = checkDocumentSlot(input.selection, "selection", "selection");
271
+ if (badSelection !== null)
272
+ return badSelection;
273
+ }
274
+ const parameters = compactParameters(input.parameters);
275
+ const body = {
276
+ triangles: {
277
+ primary: input.triangles.primary,
278
+ ...(input.triangles.secondary !== null && input.triangles.secondary !== undefined
279
+ ? { secondary: input.triangles.secondary }
280
+ : {}),
281
+ },
282
+ ...(input.selection !== null && input.selection !== undefined
283
+ ? { selection: input.selection }
284
+ : {}),
285
+ ...(input.exposure !== null && input.exposure !== undefined
286
+ ? { exposure: input.exposure }
287
+ : {}),
288
+ ...(parameters !== null ? { parameters } : {}),
289
+ ...(input.seed !== null && input.seed !== undefined ? { seed: input.seed } : {}),
290
+ };
291
+ return callRemoteMethod(call, body, context.abortSignal);
292
+ },
293
+ });
294
+ }
295
+ //# sourceMappingURL=remote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"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"}