@mettlelabs/mettle 0.0.0-0 → 0.0.0-beta.1-linux-x64

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 (59) hide show
  1. package/THIRD_PARTY_NOTICES.md +11479 -0
  2. package/bin/mettle +4 -0
  3. package/harness/audit-investigation.mjs +203 -0
  4. package/harness/chunk-13tgmdey.mjs +33761 -0
  5. package/harness/chunk-1sygmp11.mjs +18142 -0
  6. package/harness/chunk-1ykxpmaz.mjs +7887 -0
  7. package/harness/chunk-2gt4cy7x.mjs +2290 -0
  8. package/harness/chunk-2pm2sayw.mjs +248 -0
  9. package/harness/chunk-32y07kkp.mjs +3747 -0
  10. package/harness/chunk-3m7jn5ac.mjs +16242 -0
  11. package/harness/chunk-3wvjs93w.mjs +538 -0
  12. package/harness/chunk-4bepyxmq.mjs +113 -0
  13. package/harness/chunk-4jtnt9k5.mjs +95 -0
  14. package/harness/chunk-50sbrf09.mjs +18972 -0
  15. package/harness/chunk-56csr8sw.mjs +322 -0
  16. package/harness/chunk-5cvb1jnb.mjs +41 -0
  17. package/harness/chunk-5wgmv4np.mjs +585 -0
  18. package/harness/chunk-65eyq32y.mjs +225 -0
  19. package/harness/chunk-6fnh6qhk.mjs +195 -0
  20. package/harness/chunk-6kgqw9ny.mjs +32303 -0
  21. package/harness/chunk-7b242j0n.mjs +14 -0
  22. package/harness/chunk-7bg2gnv2.mjs +7540 -0
  23. package/harness/chunk-ageqxj9v.mjs +63008 -0
  24. package/harness/chunk-b0qbt5jd.mjs +14 -0
  25. package/harness/chunk-b5g1r3fz.mjs +4785 -0
  26. package/harness/chunk-b71gpkxg.mjs +1514 -0
  27. package/harness/chunk-bdv1rx4a.mjs +20364 -0
  28. package/harness/chunk-c1631s2x.mjs +12241 -0
  29. package/harness/chunk-d5xgxsnp.mjs +74 -0
  30. package/harness/chunk-erg1fbh0.mjs +0 -0
  31. package/harness/chunk-fh78v9vn.mjs +19366 -0
  32. package/harness/chunk-fjx29qvp.mjs +50 -0
  33. package/harness/chunk-gryka6kg.mjs +39 -0
  34. package/harness/chunk-jb0r19et.mjs +180 -0
  35. package/harness/chunk-mfn574ss.mjs +179 -0
  36. package/harness/chunk-msg872ea.mjs +334 -0
  37. package/harness/chunk-nz5sv9as.mjs +1642 -0
  38. package/harness/chunk-p9d3cgvq.mjs +452 -0
  39. package/harness/chunk-pq6wvwxr.mjs +12 -0
  40. package/harness/chunk-qcm9arf8.mjs +7736 -0
  41. package/harness/chunk-qr8zfqjd.mjs +24 -0
  42. package/harness/chunk-rz2tz6jp.mjs +26 -0
  43. package/harness/chunk-sbkgc3kn.mjs +8 -0
  44. package/harness/chunk-v66qvpnb.mjs +169 -0
  45. package/harness/chunk-vjaxzab3.mjs +136 -0
  46. package/harness/chunk-vr1n5nza.mjs +1045 -0
  47. package/harness/chunk-vsf2zajv.mjs +3867 -0
  48. package/harness/chunk-wq253fj4.mjs +19041 -0
  49. package/harness/chunk-wyv7ceq4.mjs +0 -0
  50. package/harness/chunk-xnqknk2r.mjs +198 -0
  51. package/harness/chunk-xqyc4ca2.mjs +1890 -0
  52. package/harness/chunk-z6n9thea.mjs +45146 -0
  53. package/harness/chunk-zty0d3bw.mjs +0 -0
  54. package/harness/chunk-zvkxtj82.mjs +42 -0
  55. package/harness/issue-api-token.mjs +35 -0
  56. package/harness/launcher.mjs +159 -0
  57. package/harness/sandbox.mjs +132 -0
  58. package/harness/server.mjs +66322 -0
  59. package/package.json +20 -3
@@ -0,0 +1,50 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ function __accessProp(key) {
8
+ return this[key];
9
+ }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
12
+ var __toESM2 = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
20
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
21
+ const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
+ if (mod && typeof mod === "object" || typeof mod === "function") {
23
+ for (let key of __getOwnPropNames(mod))
24
+ if (!__hasOwnProp.call(to, key))
25
+ __defProp(to, key, {
26
+ get: __accessProp.bind(mod, key),
27
+ enumerable: true
28
+ });
29
+ }
30
+ if (canCache)
31
+ cache.set(mod, to);
32
+ return to;
33
+ };
34
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
35
+ var __returnValue = (v) => v;
36
+ function __exportSetter(name, newValue) {
37
+ this[name] = __returnValue.bind(null, newValue);
38
+ }
39
+ var __export = (target, all) => {
40
+ for (var name in all)
41
+ __defProp(target, name, {
42
+ get: all[name],
43
+ enumerable: true,
44
+ configurable: true,
45
+ set: __exportSetter.bind(all, name)
46
+ });
47
+ };
48
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
49
+
50
+ export { __toESM2, __commonJS, __export, __require };
@@ -0,0 +1,39 @@
1
+ import {
2
+ MastraError
3
+ } from "./chunk-v66qvpnb.mjs";
4
+
5
+ // node_modules/.bun/@mastra+core@1.71.0+95d98e20cbc6e6e1/node_modules/@mastra/core/dist/gateway-helpers-Dh-2ojNA.js
6
+ function getCapabilityFileName(provider) {
7
+ return `${encodeURIComponent(provider)}.json`;
8
+ }
9
+ function getGatewayId(gateway) {
10
+ return gateway.getId?.() ?? gateway.id;
11
+ }
12
+ function shouldEnableGateway(gateway) {
13
+ return gateway.shouldEnable?.() ?? true;
14
+ }
15
+ function hasAuthCredentials(auth) {
16
+ return Boolean(auth?.apiKey || auth?.bearerToken || auth?.headers && Object.keys(auth.headers).length > 0);
17
+ }
18
+ function findGatewayForModel(gatewayId, gateways) {
19
+ const prefixedGateway = gateways.find((g) => {
20
+ const id = getGatewayId(g);
21
+ return id !== "models.dev" && (id === gatewayId || gatewayId.startsWith(`${id}/`));
22
+ });
23
+ if (prefixedGateway)
24
+ return prefixedGateway;
25
+ const claimingGateway = gateways.find((g) => getGatewayId(g) !== "models.dev" && g.handlesModel?.(gatewayId) === true);
26
+ if (claimingGateway)
27
+ return claimingGateway;
28
+ const modelsDevGateway = gateways.find((g) => getGatewayId(g) === "models.dev");
29
+ if (modelsDevGateway)
30
+ return modelsDevGateway;
31
+ throw new MastraError({
32
+ id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
33
+ category: "USER",
34
+ domain: "MODEL_ROUTER",
35
+ text: `No Mastra model router gateway found for model id ${gatewayId}`
36
+ });
37
+ }
38
+
39
+ export { getCapabilityFileName, getGatewayId, shouldEnableGateway, hasAuthCredentials, findGatewayForModel };
@@ -0,0 +1,180 @@
1
+ import {
2
+ string,
3
+ number,
4
+ boolean,
5
+ _null,
6
+ unknown,
7
+ object,
8
+ union,
9
+ record,
10
+ _enum
11
+ } from "./chunk-1sygmp11.mjs";
12
+
13
+ // node_modules/.bun/@mastra+core@1.71.0+95d98e20cbc6e6e1/node_modules/@mastra/core/dist/define-vaqWwloq.js
14
+ var AGENT_SCHEDULE_PREFIX = "agent_";
15
+ var WORKFLOW_SCHEDULE_PREFIX = "schedule_";
16
+ var SCHEDULE_SIGNAL_TYPES = [
17
+ "user",
18
+ "state",
19
+ "reactive",
20
+ "notification",
21
+ "user-message",
22
+ "system-reminder"
23
+ ];
24
+ var ScheduleAttributesSchema = record(string(), union([
25
+ string(),
26
+ number(),
27
+ boolean(),
28
+ _null()
29
+ ]));
30
+ var ScheduleStreamOptionsSchema = object({ requestContext: record(string(), unknown()).optional() });
31
+ var ScheduleIfActiveSchema = object({
32
+ behavior: _enum([
33
+ "deliver",
34
+ "persist",
35
+ "discard"
36
+ ]).optional(),
37
+ attributes: ScheduleAttributesSchema.optional()
38
+ });
39
+ var ScheduleIfIdleSchema = object({
40
+ behavior: _enum([
41
+ "wake",
42
+ "persist",
43
+ "discard"
44
+ ]).optional(),
45
+ attributes: ScheduleAttributesSchema.optional(),
46
+ streamOptions: ScheduleStreamOptionsSchema.optional()
47
+ });
48
+ var ScheduleInputSchema = object({
49
+ scheduleId: string(),
50
+ agentId: string(),
51
+ prompt: string(),
52
+ threadId: string().optional(),
53
+ resourceId: string().optional(),
54
+ signalType: _enum(SCHEDULE_SIGNAL_TYPES).optional(),
55
+ tagName: string().optional(),
56
+ attributes: ScheduleAttributesSchema.optional(),
57
+ providerOptions: record(string(), unknown()).optional(),
58
+ ifActive: ScheduleIfActiveSchema.optional(),
59
+ ifIdle: ScheduleIfIdleSchema.optional()
60
+ });
61
+ var ScheduleOutputSchema = object({
62
+ status: _enum([
63
+ "fired",
64
+ "signal-accepted",
65
+ "skipped-thread-blocked",
66
+ "thread-missing",
67
+ "agent-missing",
68
+ "invalid-input"
69
+ ]),
70
+ reason: string().optional()
71
+ });
72
+ var FS_AGENT_SCHEDULE_PREFIX = "fsa_";
73
+ function encodeRowIdPart(value) {
74
+ return encodeURIComponent(value).replace(/_/g, "%5F");
75
+ }
76
+ function fsAgentScheduleRowId(agentId, key) {
77
+ return `${FS_AGENT_SCHEDULE_PREFIX}${encodeRowIdPart(agentId)}__${encodeRowIdPart(key)}`;
78
+ }
79
+ function parseFsAgentScheduleRowId(rowId) {
80
+ if (!rowId.startsWith("fsa_"))
81
+ return;
82
+ const rest = rowId.slice(4);
83
+ const separator = rest.indexOf("__");
84
+ if (separator <= 0)
85
+ return;
86
+ try {
87
+ return {
88
+ agentId: decodeURIComponent(rest.slice(0, separator)),
89
+ key: decodeURIComponent(rest.slice(separator + 2))
90
+ };
91
+ } catch {
92
+ return;
93
+ }
94
+ }
95
+
96
+ // node_modules/.bun/@mastra+core@1.71.0+95d98e20cbc6e6e1/node_modules/@mastra/core/dist/pull-transport-D6pSbsAj.js
97
+ var MastraWorker = class {
98
+ mastra;
99
+ deps;
100
+ __registerMastra(mastra) {
101
+ this.mastra = mastra;
102
+ }
103
+ async init(deps) {
104
+ this.deps = deps;
105
+ if (!this.mastra && deps.mastra)
106
+ this.mastra = deps.mastra;
107
+ }
108
+ };
109
+ var MAX_DRAIN_TIMEOUT_MS = 2147483647;
110
+ function assertDrainTimeout(value, label) {
111
+ if (!Number.isFinite(value) || value < 0 || value > 2147483647)
112
+ throw new RangeError(`${label} drainTimeout must be a finite number of milliseconds between 0 and ${MAX_DRAIN_TIMEOUT_MS}`);
113
+ return value;
114
+ }
115
+ var TOPIC_WORKFLOWS = "workflows";
116
+ var DEFAULT_DRAIN_TIMEOUT_MS = 5000;
117
+ var PullTransport = class {
118
+ #pubsub;
119
+ #group;
120
+ #topic;
121
+ #logger;
122
+ #drainTimeout;
123
+ #callbacks = [];
124
+ #inFlight = /* @__PURE__ */ new Set;
125
+ constructor({ pubsub, group, topic, logger, drainTimeout }) {
126
+ this.#pubsub = pubsub;
127
+ this.#group = group;
128
+ this.#topic = topic ?? TOPIC_WORKFLOWS;
129
+ this.#logger = logger;
130
+ this.#drainTimeout = assertDrainTimeout(drainTimeout ?? DEFAULT_DRAIN_TIMEOUT_MS, "PullTransport");
131
+ }
132
+ async start(router) {
133
+ if (this.#callbacks.length > 0) {
134
+ this.#logger?.debug("[PullTransport] start() called while already subscribed; ignoring duplicate call");
135
+ return;
136
+ }
137
+ const cb = (event, ack, nack) => {
138
+ const inFlight = router.route(event, ack, nack).catch((err) => {
139
+ try {
140
+ if (typeof nack === "function")
141
+ nack();
142
+ } finally {
143
+ this.#logger?.error("[PullTransport] router.route rejected", { err });
144
+ }
145
+ });
146
+ this.#inFlight.add(inFlight);
147
+ inFlight.finally(() => this.#inFlight.delete(inFlight));
148
+ };
149
+ await this.#pubsub.subscribe(this.#topic, cb, { group: this.#group });
150
+ this.#callbacks.push({
151
+ topic: this.#topic,
152
+ cb
153
+ });
154
+ }
155
+ async stop(options) {
156
+ const drainTimeout = assertDrainTimeout(options?.drainTimeout ?? this.#drainTimeout, "PullTransport.stop()");
157
+ for (const { topic, cb } of this.#callbacks)
158
+ await this.#pubsub.unsubscribe(topic, cb);
159
+ this.#callbacks = [];
160
+ await this.#drainInFlight(drainTimeout);
161
+ await this.#pubsub.flush();
162
+ }
163
+ async#drainInFlight(drainTimeout) {
164
+ if (this.#inFlight.size === 0)
165
+ return;
166
+ const pending = this.#inFlight.size;
167
+ let timeoutHandle;
168
+ try {
169
+ if (await Promise.race([Promise.allSettled([...this.#inFlight]).then(() => false), new Promise((resolve) => {
170
+ timeoutHandle = setTimeout(() => resolve(true), drainTimeout);
171
+ })]))
172
+ this.#logger?.warn(`[PullTransport] stop() timed out after ${drainTimeout}ms waiting for ${pending} in-flight event(s)`);
173
+ } finally {
174
+ if (timeoutHandle)
175
+ clearTimeout(timeoutHandle);
176
+ }
177
+ }
178
+ };
179
+
180
+ export { AGENT_SCHEDULE_PREFIX, WORKFLOW_SCHEDULE_PREFIX, fsAgentScheduleRowId, parseFsAgentScheduleRowId, MastraWorker, assertDrainTimeout, PullTransport };
@@ -0,0 +1,179 @@
1
+ // node_modules/.bun/@mastra+core@1.71.0+95d98e20cbc6e6e1/node_modules/@mastra/core/dist/request-context-BGr5xGOr.js
2
+ var MASTRA_RESOURCE_ID_KEY = "mastra__resourceId";
3
+ var MASTRA_THREAD_ID_KEY = "mastra__threadId";
4
+ var MASTRA_VERSIONS_KEY = "mastra__versions";
5
+ var MASTRA_AUTH_TOKEN_KEY = "mastra__authToken";
6
+ var MASTRA_INHERITED_MEMORY_KEY = "mastra__inheritedMemory";
7
+ var MASTRA_MESSAGE_AUTHOR_KEY = "mastra__messageAuthor";
8
+ function mergeVersionOverrides(base, overrides) {
9
+ if (!base && !overrides)
10
+ return;
11
+ return {
12
+ ...base,
13
+ ...overrides,
14
+ agents: {
15
+ ...base?.agents,
16
+ ...overrides?.agents
17
+ },
18
+ ...overrides?.defaultStatus ? { defaultStatus: overrides.defaultStatus } : base?.defaultStatus ? { defaultStatus: base.defaultStatus } : {}
19
+ };
20
+ }
21
+ var CyclicRequestContextToJSONError = class extends Error {
22
+ constructor(message) {
23
+ super(message);
24
+ this.name = "CyclicRequestContextToJSONError";
25
+ }
26
+ };
27
+ var _toJSONInProgress = /* @__PURE__ */ new WeakSet;
28
+ var _toJSONDepth = 0;
29
+ var SERIALIZATION_PROBE_BUDGET = 1e6;
30
+ var _typedArrayLength = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Int8Array.prototype), "length").get;
31
+ function isPlainObjectOrArray(value) {
32
+ try {
33
+ if (Array.isArray(value))
34
+ return true;
35
+ if (value === null || typeof value !== "object")
36
+ return false;
37
+ const proto = Object.getPrototypeOf(value);
38
+ return proto === Object.prototype || proto === null;
39
+ } catch {
40
+ return false;
41
+ }
42
+ }
43
+ var _probeBudgetActive = false;
44
+ var _probeBudgetRemaining = 0;
45
+ var RequestContext = class {
46
+ registry = /* @__PURE__ */ new Map;
47
+ constructor(iterable) {
48
+ if (iterable && typeof iterable === "object" && typeof iterable[Symbol.iterator] !== "function")
49
+ this.registry = new Map(Object.entries(iterable));
50
+ else
51
+ this.registry = new Map(iterable);
52
+ }
53
+ set(key, value) {
54
+ this.registry.set(key, value);
55
+ }
56
+ setRaw(key, value) {
57
+ this.registry.set(key, value);
58
+ }
59
+ get(key) {
60
+ return this.registry.get(key);
61
+ }
62
+ getRaw(key) {
63
+ return this.registry.get(key);
64
+ }
65
+ has(key) {
66
+ return this.registry.has(key);
67
+ }
68
+ hasRaw(key) {
69
+ return this.registry.has(key);
70
+ }
71
+ delete(key) {
72
+ return this.registry.delete(key);
73
+ }
74
+ deleteRaw(key) {
75
+ return this.registry.delete(key);
76
+ }
77
+ clear() {
78
+ this.registry.clear();
79
+ }
80
+ keys() {
81
+ return this.registry.keys();
82
+ }
83
+ values() {
84
+ return this.registry.values();
85
+ }
86
+ entries() {
87
+ return this.registry.entries();
88
+ }
89
+ size() {
90
+ return this.registry.size;
91
+ }
92
+ forEach(callbackfn) {
93
+ this.registry.forEach(callbackfn);
94
+ }
95
+ toJSON() {
96
+ if (_toJSONInProgress.has(this))
97
+ throw new CyclicRequestContextToJSONError("RequestContext.toJSON: detected cyclic re-entry (a stored value transitively references this context)");
98
+ _toJSONInProgress.add(this);
99
+ _toJSONDepth++;
100
+ try {
101
+ const result = {};
102
+ for (const [key, value] of this.registry.entries())
103
+ if (this.isSerializable(value))
104
+ result[key] = value;
105
+ return result;
106
+ } finally {
107
+ _toJSONInProgress.delete(this);
108
+ _toJSONDepth--;
109
+ }
110
+ }
111
+ isSerializable(value) {
112
+ if (value === null || value === undefined)
113
+ return true;
114
+ if (typeof value === "function")
115
+ return false;
116
+ if (typeof value === "symbol")
117
+ return false;
118
+ if (typeof value !== "object" && typeof value !== "bigint")
119
+ return true;
120
+ const outermostProbe = !_probeBudgetActive;
121
+ if (outermostProbe) {
122
+ _probeBudgetActive = true;
123
+ _probeBudgetRemaining = SERIALIZATION_PROBE_BUDGET;
124
+ }
125
+ try {
126
+ JSON.stringify(value, (_key, probed) => {
127
+ if (--_probeBudgetRemaining < 0)
128
+ throw new RangeError("RequestContext.isSerializable: value expands past the serialization probe budget");
129
+ if (ArrayBuffer.isView(probed)) {
130
+ let elementCount;
131
+ try {
132
+ elementCount = _typedArrayLength.call(probed);
133
+ } catch {
134
+ return probed;
135
+ }
136
+ if (typeof probed[0] === "bigint")
137
+ return probed;
138
+ _probeBudgetRemaining -= elementCount;
139
+ if (_probeBudgetRemaining < 0)
140
+ throw new RangeError("RequestContext.isSerializable: value expands past the serialization probe budget");
141
+ const surrogate = Object.create(null);
142
+ for (const key of Object.keys(probed)) {
143
+ const index = Number(key);
144
+ if (!(Number.isInteger(index) && index >= 0 && String(index) === key))
145
+ surrogate[key] = probed[key];
146
+ }
147
+ return surrogate;
148
+ }
149
+ return probed;
150
+ });
151
+ return true;
152
+ } catch (e) {
153
+ if (e instanceof CyclicRequestContextToJSONError && _toJSONDepth > 1)
154
+ throw e;
155
+ return false;
156
+ } finally {
157
+ if (outermostProbe)
158
+ _probeBudgetActive = false;
159
+ }
160
+ }
161
+ serializeForSpan() {
162
+ const safe = {};
163
+ for (const [key, value] of this.registry.entries())
164
+ if (key === "mastra__authToken")
165
+ safe[key] = "[REDACTED]";
166
+ else if (value === null || value === undefined || typeof value === "string" || typeof value === "number" || typeof value === "boolean")
167
+ safe[key] = value;
168
+ else if (isPlainObjectOrArray(value))
169
+ safe[key] = value;
170
+ else
171
+ safe[key] = `[${typeof value}]`;
172
+ return safe;
173
+ }
174
+ get all() {
175
+ return Object.fromEntries(this.registry);
176
+ }
177
+ };
178
+
179
+ export { MASTRA_RESOURCE_ID_KEY, MASTRA_THREAD_ID_KEY, MASTRA_VERSIONS_KEY, MASTRA_AUTH_TOKEN_KEY, MASTRA_INHERITED_MEMORY_KEY, MASTRA_MESSAGE_AUTHOR_KEY, mergeVersionOverrides, RequestContext };