@sentry/junior 0.179.0 → 0.181.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-hooks-32IDCLMW.js → agent-hooks-IQUW6ERD.js} +16 -18
- package/dist/api/schema/workspace.d.ts +2 -0
- package/dist/api/schema.js +1 -2
- package/dist/api.js +202 -199
- package/dist/app.d.ts +4 -0
- package/dist/app.js +300 -1259
- package/dist/catalog-runtime-PMQWNIXA.js +14 -0
- package/dist/chat/agent/sandbox.d.ts +0 -2
- package/dist/chat/api-turns/routing.d.ts +4 -0
- package/dist/chat/api-turns/work.d.ts +5 -0
- package/dist/chat/config.d.ts +5 -2
- package/dist/chat/configuration/defaults.d.ts +1 -1
- package/dist/chat/conversations/projection.d.ts +6 -4
- package/dist/chat/ingress/message-router.d.ts +3 -0
- package/dist/chat/model-profile.d.ts +8 -10
- package/dist/chat/pi/conversation-events.d.ts +3 -2
- package/dist/chat/plugins/agent-hooks.d.ts +1 -1
- package/dist/chat/plugins/task-queue.d.ts +40 -3
- package/dist/chat/plugins/task-runner.d.ts +1 -1
- package/dist/chat/queue/callback.d.ts +26 -0
- package/dist/chat/queue/sign.d.ts +30 -0
- package/dist/chat/sandbox/sandbox.d.ts +0 -2
- package/dist/chat/sandbox/session.d.ts +0 -2
- package/dist/chat/sandbox/skill-sync.d.ts +1 -1
- package/dist/chat/sandbox/snapshot/events.d.ts +23 -0
- package/dist/chat/sandbox/snapshot/job-callback.d.ts +5 -0
- package/dist/chat/sandbox/snapshot/job-queue.d.ts +26 -0
- package/dist/chat/sandbox/snapshot/job-runner.d.ts +11 -0
- package/dist/chat/sandbox/snapshot/not-ready-error.d.ts +6 -0
- package/dist/chat/sandbox/snapshot/workspace.d.ts +9 -3
- package/dist/chat/services/turn-router.d.ts +4 -3
- package/dist/chat/services/turn-session-routing.d.ts +1 -0
- package/dist/chat/task-execution/queue-signing.d.ts +10 -21
- package/dist/chat/task-execution/state.d.ts +48 -0
- package/dist/chat/task-execution/store.d.ts +28 -2
- package/dist/chat/task-execution/worker.d.ts +4 -1
- package/dist/chat/tools/handoff/tool.d.ts +1 -1
- package/dist/chat/tools/types.d.ts +2 -0
- package/dist/chat/workspaces/types.d.ts +2 -0
- package/dist/{chunk-Q5B3WTGG.js → chunk-3KCQEG6W.js} +42 -41
- package/dist/{chunk-XZY6G5YZ.js → chunk-3KSSALN4.js} +180 -87
- package/dist/{chunk-3AFVR5UC.js → chunk-3X55QRAG.js} +18 -16
- package/dist/{chunk-SLGGOASN.js → chunk-4IX32NSL.js} +46 -46
- package/dist/{chunk-6ZWRNC4D.js → chunk-6Y5B5PEX.js} +1 -1
- package/dist/chunk-7H2VZTWN.js +103 -0
- package/dist/{chunk-CGA4ERJ5.js → chunk-CEMMLV5L.js} +1 -1
- package/dist/{chunk-FIANEE7Z.js → chunk-CM5HNV2W.js} +6 -6
- package/dist/{chunk-TKB25A3L.js → chunk-CZYNWPWD.js} +2 -1
- package/dist/{chunk-3I7XE3PA.js → chunk-D6ZD7VXP.js} +49 -38
- package/dist/chunk-DKIJ2RP5.js +68 -0
- package/dist/{chunk-G2CAC4CV.js → chunk-DSA6WTRP.js} +74 -68
- package/dist/{chunk-OOUNJNMR.js → chunk-DWPN6SCH.js} +1 -1
- package/dist/{chunk-HQNE5APD.js → chunk-EBMRB6Z6.js} +100 -79
- package/dist/{chunk-ZQMG3CL5.js → chunk-EM7EECT5.js} +16 -16
- package/dist/{chunk-XSPSCWLH.js → chunk-ETJTXYHY.js} +4 -4
- package/dist/{chunk-FTGD2FBP.js → chunk-EU7KJDOG.js} +2 -2
- package/dist/{chunk-CJLBLELR.js → chunk-FWILPBVQ.js} +8 -61
- package/dist/{chunk-4GWXAILB.js → chunk-GPA3ZSYY.js} +1 -1
- package/dist/{chunk-U4TKB6F6.js → chunk-GREV5PJK.js} +108 -5
- package/dist/{chunk-KJLHIHFF.js → chunk-GWFRPQNP.js} +43 -230
- package/dist/{chunk-YFNAMRGE.js → chunk-HEBMSITT.js} +1 -1
- package/dist/chunk-HJ27A6YB.js +218 -0
- package/dist/{chunk-R5NWWYIS.js → chunk-HZHUMCNV.js} +5 -5
- package/dist/{chunk-RTRBYSF3.js → chunk-IJ6SS4WB.js} +1 -1
- package/dist/{chunk-B6ECUSVX.js → chunk-IKKETMQC.js} +8 -8
- package/dist/{chunk-R6U7N4FS.js → chunk-KKSVCHDO.js} +10 -3
- package/dist/{chunk-JMJNFEDC.js → chunk-KMBU4PJP.js} +9 -54
- package/dist/chunk-KQZX24QQ.js +164 -0
- package/dist/{chunk-GPLAT6H7.js → chunk-LCNPXLE7.js} +22 -18
- package/dist/{chunk-2HIPYNQI.js → chunk-LG5MYY6U.js} +33 -32
- package/dist/chunk-LZOQFC5F.js +209 -0
- package/dist/chunk-M3QYTBQ6.js +55 -0
- package/dist/{chunk-M63DETLL.js → chunk-N7TMSOZH.js} +6 -6
- package/dist/{chunk-FIDMHAO6.js → chunk-NQTA72Q3.js} +84 -274
- package/dist/{chunk-RZRYOLCE.js → chunk-PBKZQAUA.js} +2315 -1150
- package/dist/chunk-PEQXYSSE.js +45 -0
- package/dist/{chunk-3TM3FYLQ.js → chunk-PL57B6NC.js} +1 -1
- package/dist/{chunk-JT4WMD3C.js → chunk-PPYDHUEL.js} +144 -218
- package/dist/{chunk-5IRROPA5.js → chunk-Q2KY27IX.js} +129 -31
- package/dist/{chunk-VP4OVRDD.js → chunk-RNMASWLP.js} +69 -73
- package/dist/{chunk-FAS6AIMF.js → chunk-TDT2R77B.js} +8 -8
- package/dist/{chunk-TIEKUH4Q.js → chunk-TJHSAHQN.js} +4 -3
- package/dist/{chunk-H4HBKISO.js → chunk-TXKUKMVO.js} +1 -1
- package/dist/chunk-X6GDDWQH.js +60 -0
- package/dist/{chunk-GENV6KF2.js → chunk-XYTJUHRZ.js} +108 -76
- package/dist/cli/chat.js +47 -43
- package/dist/cli/check.js +13 -15
- package/dist/cli/env.js +0 -1
- package/dist/cli/init.js +0 -1
- package/dist/cli/main.js +2 -3
- package/dist/cli/plugins.js +18 -20
- package/dist/cli/run.js +0 -1
- package/dist/cli/snapshot-create.js +14 -16
- package/dist/cli/upgrade.js +16 -18
- package/dist/{conversation-work-KATFHLG3.js → conversation-work-VIOQ5ZF3.js} +0 -2
- package/dist/db/schema/snapshots.d.ts +17 -0
- package/dist/db/schema.d.ts +17 -0
- package/dist/{db-EJAV7JL6.js → db-QNPVCQPT.js} +8 -10
- package/dist/deployment.d.ts +1 -0
- package/dist/{discovery-GUFTFBTL.js → discovery-DWVDM7UK.js} +1 -2
- package/dist/{experimental-XVDOSRBS.js → experimental-SIJSRDJD.js} +0 -1
- package/dist/instrumentation.js +7 -9
- package/dist/nitro.js +39 -13
- package/dist/{oauth-callback-server-GAVSUBTQ.js → oauth-callback-server-KYMPJOTC.js} +34 -32
- package/dist/{oauth-relay-3ZU72UGL.js → oauth-relay-5XPVRPYB.js} +0 -1
- package/dist/{plugins-HW4VWW6G.js → plugins-YTYJMMJF.js} +1 -2
- package/dist/{runner-34JL64JF.js → runner-3RS2D2ZR.js} +39 -33
- package/dist/{sandbox-egress-signals-DXOOBSBI.js → sandbox-egress-signals-FIL7EGPR.js} +5 -6
- package/dist/{sentry-JMWTS32N.js → sentry-MB3NL3IR.js} +1 -2
- package/dist/skills-5B3Y6XX6.js +27 -0
- package/dist/spawn-VYARS3DU.js +37 -0
- package/dist/task-runner-4IXKKZHL.js +32 -0
- package/dist/validation-Q65QD27B.js +17 -0
- package/dist/vercel.js +0 -1
- package/dist/version.js +1 -2
- package/dist/work-DCMQWAAP.js +45 -0
- package/dist/worker-QL3CHLZL.js +22 -0
- package/migrations/0035_workspace_snapshot_size_bytes.sql +2 -0
- package/migrations/meta/0035_snapshot.json +3048 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +7 -6
- package/dist/catalog-runtime-FBVA6WAQ.js +0 -16
- package/dist/chat/plugins/task-callback.d.ts +0 -5
- package/dist/chat/plugins/task-message.d.ts +0 -23
- package/dist/chat/plugins/task-signing.d.ts +0 -31
- package/dist/chat/sandbox/snapshot/waiting-error.d.ts +0 -15
- package/dist/chat/services/workspace-snapshot-wait.d.ts +0 -27
- package/dist/chunk-5I6ORJUY.js +0 -127
- package/dist/chunk-6GWA276C.js +0 -72
- package/dist/chunk-MLKGABMK.js +0 -9
- package/dist/chunk-UT6X7XN7.js +0 -51
- package/dist/chunk-WR76IVA5.js +0 -130
- package/dist/skills-U545HALM.js +0 -29
- package/dist/spawn-I2S4IDUQ.js +0 -37
- package/dist/validation-EVXVGA44.js +0 -19
- package/dist/work-QOAUPDBU.js +0 -45
- package/dist/worker-5GX2IKLZ.js +0 -24
|
@@ -246,6 +246,13 @@
|
|
|
246
246
|
"when": 1787335675201,
|
|
247
247
|
"tag": "0034_strong_randall",
|
|
248
248
|
"breakpoints": true
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"idx": 35,
|
|
252
|
+
"version": "7",
|
|
253
|
+
"when": 1787454188316,
|
|
254
|
+
"tag": "0035_workspace_snapshot_size_bytes",
|
|
255
|
+
"breakpoints": true
|
|
249
256
|
}
|
|
250
257
|
]
|
|
251
258
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentry/junior",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.181.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -85,12 +85,13 @@
|
|
|
85
85
|
"pg": "^8.16.3",
|
|
86
86
|
"yaml": "^2.9.0",
|
|
87
87
|
"zod": "^4.4.3",
|
|
88
|
-
"@sentry/junior-plugin-api": "0.
|
|
88
|
+
"@sentry/junior-plugin-api": "0.181.0"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
|
-
"@hono/node-server": "1.19.14",
|
|
92
91
|
"@emnapi/core": "^1.10.0",
|
|
93
92
|
"@emnapi/runtime": "^1.10.0",
|
|
93
|
+
"@hono/node-server": "1.19.14",
|
|
94
|
+
"@oxlint/plugins": "1.79.0",
|
|
94
95
|
"@types/node": "^25.9.1",
|
|
95
96
|
"@types/pg": "^8.15.6",
|
|
96
97
|
"@vitest/coverage-v8": "4.1.7",
|
|
@@ -98,14 +99,14 @@
|
|
|
98
99
|
"drizzle-kit": "^0.31.8",
|
|
99
100
|
"msw": "^2.14.6",
|
|
100
101
|
"nitro": "3.0.260522-beta",
|
|
101
|
-
"oxlint": "^1.
|
|
102
|
+
"oxlint": "^1.79.0",
|
|
102
103
|
"tsup": "^8.5.1",
|
|
103
104
|
"typescript": "^6.0.3",
|
|
104
105
|
"vercel": "^54.4.0",
|
|
105
106
|
"vitest": "^4.1.7",
|
|
107
|
+
"@sentry/junior-github": "0.181.0",
|
|
106
108
|
"@sentry/junior-testing": "0.0.0",
|
|
107
|
-
"@sentry/junior-
|
|
108
|
-
"@sentry/junior-memory": "0.179.0"
|
|
109
|
+
"@sentry/junior-memory": "0.181.0"
|
|
109
110
|
},
|
|
110
111
|
"scripts": {
|
|
111
112
|
"build": "tsup && tsc -p tsconfig.build.json --emitDeclarationOnly",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
pluginCatalogRuntime
|
|
3
|
-
} from "./chunk-YFNAMRGE.js";
|
|
4
|
-
import "./chunk-SLGGOASN.js";
|
|
5
|
-
import "./chunk-CGA4ERJ5.js";
|
|
6
|
-
import "./chunk-M63DETLL.js";
|
|
7
|
-
import "./chunk-HQNE5APD.js";
|
|
8
|
-
import "./chunk-6GWA276C.js";
|
|
9
|
-
import "./chunk-OOUNJNMR.js";
|
|
10
|
-
import "./chunk-H4HBKISO.js";
|
|
11
|
-
import "./chunk-UT6X7XN7.js";
|
|
12
|
-
import "./chunk-TIEKUH4Q.js";
|
|
13
|
-
import "./chunk-MLKGABMK.js";
|
|
14
|
-
export {
|
|
15
|
-
pluginCatalogRuntime
|
|
16
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const PLUGIN_TASK_DEV_CONSUMER_GROUP = "junior_plugin_tasks_dev";
|
|
2
|
-
/** Create the Vercel Queue push callback for plugin background tasks. */
|
|
3
|
-
export declare function createVercelPluginTaskCallback(): (request: Request) => Promise<Response>;
|
|
4
|
-
/** Register the Vercel Queue local-dev consumer for plugin background tasks. */
|
|
5
|
-
export declare function registerVercelPluginTaskDevConsumer(): (() => void) | undefined;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const pluginTaskParamsSchema: z.ZodObject<{
|
|
3
|
-
conversationId: z.ZodString;
|
|
4
|
-
sessionId: z.ZodString;
|
|
5
|
-
}, z.core.$strict>;
|
|
6
|
-
export type PluginTaskParams = z.output<typeof pluginTaskParamsSchema>;
|
|
7
|
-
export declare const pluginTaskQueueMessageSchema: z.ZodObject<{
|
|
8
|
-
name: z.ZodString;
|
|
9
|
-
params: z.ZodObject<{
|
|
10
|
-
conversationId: z.ZodString;
|
|
11
|
-
sessionId: z.ZodString;
|
|
12
|
-
}, z.core.$strict>;
|
|
13
|
-
plugin: z.ZodString;
|
|
14
|
-
}, z.core.$strict>;
|
|
15
|
-
export type PluginTaskQueueMessage = z.output<typeof pluginTaskQueueMessageSchema>;
|
|
16
|
-
/** Build the stable task id used for queue idempotency and tracing. */
|
|
17
|
-
export declare function pluginTaskId(args: {
|
|
18
|
-
name: string;
|
|
19
|
-
params: PluginTaskParams;
|
|
20
|
-
plugin: string;
|
|
21
|
-
}): string;
|
|
22
|
-
/** Parse the bounded queue payload accepted by the plugin task callback. */
|
|
23
|
-
export declare function parsePluginTaskQueueMessage(value: unknown): PluginTaskQueueMessage | undefined;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { type PluginTaskQueueMessage } from "./task-message";
|
|
3
|
-
export declare const PLUGIN_TASK_QUEUE_SIGNATURE_MAX_SKEW_MS: number;
|
|
4
|
-
export type PluginTaskQueueRejectReason = "expired" | "malformed" | "signature_mismatch";
|
|
5
|
-
type VerificationResult = {
|
|
6
|
-
message: PluginTaskQueueMessage;
|
|
7
|
-
status: "verified";
|
|
8
|
-
} | {
|
|
9
|
-
reason: PluginTaskQueueRejectReason;
|
|
10
|
-
status: "rejected";
|
|
11
|
-
} | {
|
|
12
|
-
reason: "invalid_clock" | "missing_secret";
|
|
13
|
-
status: "unavailable";
|
|
14
|
-
};
|
|
15
|
-
declare const signedPluginTaskQueueMessageSchema: z.ZodObject<{
|
|
16
|
-
name: z.ZodString;
|
|
17
|
-
params: z.ZodObject<{
|
|
18
|
-
conversationId: z.ZodString;
|
|
19
|
-
sessionId: z.ZodString;
|
|
20
|
-
}, z.core.$strict>;
|
|
21
|
-
plugin: z.ZodString;
|
|
22
|
-
signature: z.ZodString;
|
|
23
|
-
signatureVersion: z.ZodLiteral<"v1">;
|
|
24
|
-
signedAtMs: z.ZodNumber;
|
|
25
|
-
}, z.core.$strict>;
|
|
26
|
-
type SignedPluginTaskQueueMessage = z.output<typeof signedPluginTaskQueueMessageSchema>;
|
|
27
|
-
/** Sign a plugin task payload before it crosses the public queue callback. */
|
|
28
|
-
export declare function signPluginTaskQueueMessage(message: PluginTaskQueueMessage, nowMs?: number): SignedPluginTaskQueueMessage;
|
|
29
|
-
/** Verify a plugin task payload from the public queue callback route. */
|
|
30
|
-
export declare function verifyPluginTaskQueueMessage(value: unknown, nowMs?: number): VerificationResult;
|
|
31
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Soft deadline hit while a Workspace snapshot is still building.
|
|
3
|
-
* The tool returns timed_out so the host can yield at a tool-result boundary.
|
|
4
|
-
*/
|
|
5
|
-
export declare class WorkspaceSnapshotWaitingError extends Error {
|
|
6
|
-
readonly code = "workspace_snapshot_waiting";
|
|
7
|
-
readonly workspaceName: string;
|
|
8
|
-
constructor(workspaceName: string);
|
|
9
|
-
}
|
|
10
|
-
/** True when a structured tool result is a soft Workspace snapshot wait. */
|
|
11
|
-
export declare function isWorkspaceSnapshotWaitingResult(details: unknown): boolean;
|
|
12
|
-
/** Workspace name from a soft-wait tool result, if present. */
|
|
13
|
-
export declare function workspaceNameFromWaitingResult(details: unknown): string | undefined;
|
|
14
|
-
/** True when an error chain contains the Workspace snapshot wait signal. */
|
|
15
|
-
export declare function isWorkspaceSnapshotWaitingError(error: unknown): error is WorkspaceSnapshotWaitingError;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { AgentTool } from "@earendil-works/pi-agent-core";
|
|
2
|
-
import type { PiMessage } from "@/chat/pi/messages";
|
|
3
|
-
/** Pending soft wait for a Workspace snapshot from the latest tool result. */
|
|
4
|
-
export declare function pendingWorkspaceSnapshotWait(messages: readonly PiMessage[]): {
|
|
5
|
-
name: string;
|
|
6
|
-
} | null;
|
|
7
|
-
/**
|
|
8
|
-
* Continue a soft Workspace snapshot wait without another model turn.
|
|
9
|
-
* Re-invokes switchWorkspace and appends the complete Pi tool boundary.
|
|
10
|
-
*/
|
|
11
|
-
export declare function continueWorkspaceSnapshotWait(args: {
|
|
12
|
-
messages: PiMessage[];
|
|
13
|
-
tools: AgentTool[];
|
|
14
|
-
signal?: AbortSignal;
|
|
15
|
-
}): Promise<{
|
|
16
|
-
kind: "none";
|
|
17
|
-
} | {
|
|
18
|
-
kind: "waiting";
|
|
19
|
-
messages: PiMessage[];
|
|
20
|
-
} | {
|
|
21
|
-
kind: "ready";
|
|
22
|
-
messages: PiMessage[];
|
|
23
|
-
} | {
|
|
24
|
-
kind: "failed";
|
|
25
|
-
error: unknown;
|
|
26
|
-
messages: PiMessage[];
|
|
27
|
-
}>;
|
package/dist/chunk-5I6ORJUY.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
// src/chat/vercel-queue-client.ts
|
|
2
|
-
import { QueueClient } from "@vercel/queue";
|
|
3
|
-
function defaultQueueClientOptions() {
|
|
4
|
-
if (process.env.VERCEL_DEPLOYMENT_ID?.trim()) {
|
|
5
|
-
return {};
|
|
6
|
-
}
|
|
7
|
-
return { deploymentId: null };
|
|
8
|
-
}
|
|
9
|
-
function createVercelQueueClient() {
|
|
10
|
-
return new QueueClient(defaultQueueClientOptions());
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
// src/chat/plugins/task-message.ts
|
|
14
|
-
import { createHash } from "crypto";
|
|
15
|
-
import { z } from "zod";
|
|
16
|
-
var pluginTaskParamsSchema = z.object({
|
|
17
|
-
conversationId: z.string().min(1),
|
|
18
|
-
sessionId: z.string().min(1)
|
|
19
|
-
}).strict();
|
|
20
|
-
var pluginTaskQueueMessageSchema = z.object({
|
|
21
|
-
name: z.string().min(1),
|
|
22
|
-
params: pluginTaskParamsSchema,
|
|
23
|
-
plugin: z.string().min(1)
|
|
24
|
-
}).strict();
|
|
25
|
-
function pluginTaskId(args) {
|
|
26
|
-
const digest = createHash("sha256").update(args.plugin).update("\0").update(args.name).update("\0").update(args.params.conversationId).update("\0").update(args.params.sessionId).digest("hex").slice(0, 32);
|
|
27
|
-
return `plugin-task_${digest}`;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// src/chat/plugins/task-signing.ts
|
|
31
|
-
import { createHmac, timingSafeEqual } from "crypto";
|
|
32
|
-
import { z as z2 } from "zod";
|
|
33
|
-
var SIGNATURE_CONTEXT = "junior.plugin_task_queue.v1";
|
|
34
|
-
var SIGNATURE_VERSION = "v1";
|
|
35
|
-
var PLUGIN_TASK_QUEUE_SIGNATURE_MAX_SKEW_MS = 60 * 60 * 1e3;
|
|
36
|
-
var signedPluginTaskQueueMessageSchema = pluginTaskQueueMessageSchema.extend({
|
|
37
|
-
signature: z2.string().min(1).refine((value) => value.trim().length > 0),
|
|
38
|
-
signatureVersion: z2.literal(SIGNATURE_VERSION),
|
|
39
|
-
signedAtMs: z2.number().finite()
|
|
40
|
-
}).strict();
|
|
41
|
-
function queueSecret() {
|
|
42
|
-
return process.env.JUNIOR_SECRET?.trim() || void 0;
|
|
43
|
-
}
|
|
44
|
-
function signingPayload(message, signedAtMs) {
|
|
45
|
-
return [
|
|
46
|
-
SIGNATURE_CONTEXT,
|
|
47
|
-
signedAtMs,
|
|
48
|
-
message.plugin,
|
|
49
|
-
message.name,
|
|
50
|
-
message.params.conversationId,
|
|
51
|
-
message.params.sessionId
|
|
52
|
-
].join("\0");
|
|
53
|
-
}
|
|
54
|
-
function hmac(message, signedAtMs, secret) {
|
|
55
|
-
return createHmac("sha256", secret).update(signingPayload(message, signedAtMs)).digest("hex");
|
|
56
|
-
}
|
|
57
|
-
function parseSignedMessage(value) {
|
|
58
|
-
const parsed = signedPluginTaskQueueMessageSchema.safeParse(value);
|
|
59
|
-
return parsed.success ? parsed.data : void 0;
|
|
60
|
-
}
|
|
61
|
-
function signPluginTaskQueueMessage(message, nowMs = Date.now()) {
|
|
62
|
-
const secret = queueSecret();
|
|
63
|
-
if (!secret) {
|
|
64
|
-
throw new Error(
|
|
65
|
-
"Cannot sign plugin task queue message without JUNIOR_SECRET"
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
...message,
|
|
70
|
-
signedAtMs: nowMs,
|
|
71
|
-
signatureVersion: SIGNATURE_VERSION,
|
|
72
|
-
signature: hmac(message, nowMs, secret)
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
function verifyPluginTaskQueueMessage(value, nowMs = Date.now()) {
|
|
76
|
-
const message = parseSignedMessage(value);
|
|
77
|
-
if (!message) {
|
|
78
|
-
return { status: "rejected", reason: "malformed" };
|
|
79
|
-
}
|
|
80
|
-
const secret = queueSecret();
|
|
81
|
-
if (!secret) {
|
|
82
|
-
return { status: "unavailable", reason: "missing_secret" };
|
|
83
|
-
}
|
|
84
|
-
if (!Number.isFinite(nowMs)) {
|
|
85
|
-
return { status: "unavailable", reason: "invalid_clock" };
|
|
86
|
-
}
|
|
87
|
-
if (Math.abs(nowMs - message.signedAtMs) > PLUGIN_TASK_QUEUE_SIGNATURE_MAX_SKEW_MS) {
|
|
88
|
-
return { status: "rejected", reason: "expired" };
|
|
89
|
-
}
|
|
90
|
-
const expected = Buffer.from(hmac(message, message.signedAtMs, secret));
|
|
91
|
-
const actual = Buffer.from(message.signature);
|
|
92
|
-
if (expected.length !== actual.length || !timingSafeEqual(expected, actual)) {
|
|
93
|
-
return { status: "rejected", reason: "signature_mismatch" };
|
|
94
|
-
}
|
|
95
|
-
return {
|
|
96
|
-
status: "verified",
|
|
97
|
-
message: {
|
|
98
|
-
name: message.name,
|
|
99
|
-
params: message.params,
|
|
100
|
-
plugin: message.plugin
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// src/chat/plugins/task-queue.ts
|
|
106
|
-
var PLUGIN_TASK_QUEUE_TOPIC = "junior_plugin_tasks";
|
|
107
|
-
var PLUGIN_TASK_QUEUE_RETENTION_SECONDS = PLUGIN_TASK_QUEUE_SIGNATURE_MAX_SKEW_MS / 1e3;
|
|
108
|
-
async function sendVercelPluginTask(message) {
|
|
109
|
-
const client = createVercelQueueClient();
|
|
110
|
-
await client.send(
|
|
111
|
-
PLUGIN_TASK_QUEUE_TOPIC,
|
|
112
|
-
signPluginTaskQueueMessage(message),
|
|
113
|
-
{
|
|
114
|
-
idempotencyKey: pluginTaskId(message),
|
|
115
|
-
retentionSeconds: PLUGIN_TASK_QUEUE_RETENTION_SECONDS
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export {
|
|
121
|
-
createVercelQueueClient,
|
|
122
|
-
pluginTaskParamsSchema,
|
|
123
|
-
pluginTaskId,
|
|
124
|
-
verifyPluginTaskQueueMessage,
|
|
125
|
-
PLUGIN_TASK_QUEUE_TOPIC,
|
|
126
|
-
sendVercelPluginTask
|
|
127
|
-
};
|
package/dist/chunk-6GWA276C.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__export
|
|
3
|
-
} from "./chunk-MLKGABMK.js";
|
|
4
|
-
|
|
5
|
-
// src/chat/sentry.ts
|
|
6
|
-
var sentry_exports = {};
|
|
7
|
-
__export(sentry_exports, {
|
|
8
|
-
captureException: () => captureException,
|
|
9
|
-
captureMessage: () => captureMessage,
|
|
10
|
-
continueTrace: () => continueTrace,
|
|
11
|
-
flush: () => flush,
|
|
12
|
-
getActiveSpan: () => getActiveSpan,
|
|
13
|
-
getClient: () => getClient,
|
|
14
|
-
getGlobalScope: () => getGlobalScope,
|
|
15
|
-
getTraceData: () => getTraceData,
|
|
16
|
-
init: () => init,
|
|
17
|
-
logger: () => logger,
|
|
18
|
-
setTag: () => setTag,
|
|
19
|
-
setUser: () => setUser,
|
|
20
|
-
spanToJSON: () => spanToJSON,
|
|
21
|
-
startInactiveSpan: () => startInactiveSpan,
|
|
22
|
-
startSpan: () => startSpan,
|
|
23
|
-
vercelAIIntegration: () => vercelAIIntegration,
|
|
24
|
-
withActiveSpan: () => withActiveSpan,
|
|
25
|
-
withScope: () => withScope,
|
|
26
|
-
withStreamedSpan: () => withStreamedSpan
|
|
27
|
-
});
|
|
28
|
-
import {
|
|
29
|
-
captureException,
|
|
30
|
-
captureMessage,
|
|
31
|
-
continueTrace,
|
|
32
|
-
flush,
|
|
33
|
-
getActiveSpan,
|
|
34
|
-
getClient,
|
|
35
|
-
getGlobalScope,
|
|
36
|
-
getTraceData,
|
|
37
|
-
init,
|
|
38
|
-
logger,
|
|
39
|
-
setTag,
|
|
40
|
-
setUser,
|
|
41
|
-
spanToJSON,
|
|
42
|
-
startInactiveSpan,
|
|
43
|
-
startSpan,
|
|
44
|
-
vercelAIIntegration,
|
|
45
|
-
withActiveSpan,
|
|
46
|
-
withScope,
|
|
47
|
-
withStreamedSpan
|
|
48
|
-
} from "@sentry/node";
|
|
49
|
-
export * from "@sentry/node";
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
sentry_exports,
|
|
53
|
-
captureException,
|
|
54
|
-
captureMessage,
|
|
55
|
-
continueTrace,
|
|
56
|
-
flush,
|
|
57
|
-
getActiveSpan,
|
|
58
|
-
getClient,
|
|
59
|
-
getGlobalScope,
|
|
60
|
-
getTraceData,
|
|
61
|
-
init,
|
|
62
|
-
logger,
|
|
63
|
-
setTag,
|
|
64
|
-
setUser,
|
|
65
|
-
spanToJSON,
|
|
66
|
-
startInactiveSpan,
|
|
67
|
-
startSpan,
|
|
68
|
-
vercelAIIntegration,
|
|
69
|
-
withActiveSpan,
|
|
70
|
-
withScope,
|
|
71
|
-
withStreamedSpan
|
|
72
|
-
};
|
package/dist/chunk-MLKGABMK.js
DELETED
package/dist/chunk-UT6X7XN7.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
JUNIOR_VERSION
|
|
3
|
-
} from "./chunk-TIEKUH4Q.js";
|
|
4
|
-
|
|
5
|
-
// src/deployment.ts
|
|
6
|
-
var JUNIOR_HEARTBEAT_ROUTE = "/api/internal/heartbeat";
|
|
7
|
-
var JUNIOR_HEARTBEAT_CRON_SCHEDULE = "* * * * *";
|
|
8
|
-
var JUNIOR_RETENTION_ROUTE = "/api/internal/retention";
|
|
9
|
-
var JUNIOR_RETENTION_CRON_SCHEDULE = "0 4 * * *";
|
|
10
|
-
var JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE = "/api/internal/agent/continue";
|
|
11
|
-
var JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE = "/api/internal/plugin/tasks";
|
|
12
|
-
var LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION = "api/internal/agent/continue.ts";
|
|
13
|
-
function toOptionalTrimmed(value) {
|
|
14
|
-
const trimmed = value?.trim();
|
|
15
|
-
return trimmed ? trimmed : void 0;
|
|
16
|
-
}
|
|
17
|
-
function getDeploymentServiceVersion() {
|
|
18
|
-
const configuredRelease = toOptionalTrimmed(process.env.SENTRY_RELEASE);
|
|
19
|
-
if (configuredRelease) {
|
|
20
|
-
return configuredRelease;
|
|
21
|
-
}
|
|
22
|
-
const deploymentRevision = toOptionalTrimmed(
|
|
23
|
-
process.env.VERCEL_GIT_COMMIT_SHA
|
|
24
|
-
);
|
|
25
|
-
return deploymentRevision ? `${JUNIOR_VERSION}+${deploymentRevision}` : void 0;
|
|
26
|
-
}
|
|
27
|
-
function getDeploymentTelemetryAttributes() {
|
|
28
|
-
const attributes = {};
|
|
29
|
-
const serviceVersion = getDeploymentServiceVersion();
|
|
30
|
-
const deploymentId = toOptionalTrimmed(process.env.VERCEL_DEPLOYMENT_ID);
|
|
31
|
-
attributes["app.junior.version"] = JUNIOR_VERSION;
|
|
32
|
-
if (serviceVersion) {
|
|
33
|
-
attributes["service.version"] = serviceVersion;
|
|
34
|
-
}
|
|
35
|
-
if (deploymentId) {
|
|
36
|
-
attributes["deployment.id"] = deploymentId;
|
|
37
|
-
}
|
|
38
|
-
return attributes;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export {
|
|
42
|
-
JUNIOR_HEARTBEAT_ROUTE,
|
|
43
|
-
JUNIOR_HEARTBEAT_CRON_SCHEDULE,
|
|
44
|
-
JUNIOR_RETENTION_ROUTE,
|
|
45
|
-
JUNIOR_RETENTION_CRON_SCHEDULE,
|
|
46
|
-
JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE,
|
|
47
|
-
JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE,
|
|
48
|
-
LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION,
|
|
49
|
-
getDeploymentServiceVersion,
|
|
50
|
-
getDeploymentTelemetryAttributes
|
|
51
|
-
};
|
package/dist/chunk-WR76IVA5.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
conversationQueueMessageSchema
|
|
3
|
-
} from "./chunk-JAL3CH4G.js";
|
|
4
|
-
import {
|
|
5
|
-
createVercelQueueClient
|
|
6
|
-
} from "./chunk-5I6ORJUY.js";
|
|
7
|
-
|
|
8
|
-
// src/chat/task-execution/queue-signing.ts
|
|
9
|
-
import { createHmac, timingSafeEqual } from "crypto";
|
|
10
|
-
import { z } from "zod";
|
|
11
|
-
var CONVERSATION_WORK_QUEUE_SIGNATURE_CONTEXT = "junior.conversation_work_queue.v2";
|
|
12
|
-
var CONVERSATION_WORK_QUEUE_SIGNATURE_VERSION = "v2";
|
|
13
|
-
var CONVERSATION_WORK_QUEUE_SIGNATURE_MAX_SKEW_MS = 60 * 60 * 1e3;
|
|
14
|
-
var signedConversationQueueMessageSchema = conversationQueueMessageSchema.extend({
|
|
15
|
-
signature: z.string().trim().min(1),
|
|
16
|
-
signatureVersion: z.literal(CONVERSATION_WORK_QUEUE_SIGNATURE_VERSION),
|
|
17
|
-
signedAtMs: z.number().finite()
|
|
18
|
-
}).strict();
|
|
19
|
-
function getConversationWorkQueueSecret() {
|
|
20
|
-
return process.env.JUNIOR_SECRET?.trim() || void 0;
|
|
21
|
-
}
|
|
22
|
-
function buildSignedPayload(message, signedAtMs) {
|
|
23
|
-
return [
|
|
24
|
-
CONVERSATION_WORK_QUEUE_SIGNATURE_CONTEXT,
|
|
25
|
-
signedAtMs,
|
|
26
|
-
message.conversationId
|
|
27
|
-
].join(":");
|
|
28
|
-
}
|
|
29
|
-
function signPayload(payload, secret) {
|
|
30
|
-
return createHmac("sha256", secret).update(payload).digest("hex");
|
|
31
|
-
}
|
|
32
|
-
function timingSafeMatch(expected, actual) {
|
|
33
|
-
const expectedBuffer = Buffer.from(expected);
|
|
34
|
-
const actualBuffer = Buffer.from(actual);
|
|
35
|
-
if (expectedBuffer.length !== actualBuffer.length) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
return timingSafeEqual(expectedBuffer, actualBuffer);
|
|
39
|
-
}
|
|
40
|
-
function parseSignedConversationQueueMessage(value) {
|
|
41
|
-
const parsed = signedConversationQueueMessageSchema.safeParse(value);
|
|
42
|
-
return parsed.success ? parsed.data : void 0;
|
|
43
|
-
}
|
|
44
|
-
function signConversationQueueMessage(message, nowMs = Date.now()) {
|
|
45
|
-
const secret = getConversationWorkQueueSecret();
|
|
46
|
-
if (!secret) {
|
|
47
|
-
throw new Error(
|
|
48
|
-
"Cannot sign conversation queue message without JUNIOR_SECRET"
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
...message,
|
|
53
|
-
signedAtMs: nowMs,
|
|
54
|
-
signatureVersion: CONVERSATION_WORK_QUEUE_SIGNATURE_VERSION,
|
|
55
|
-
signature: signPayload(buildSignedPayload(message, nowMs), secret)
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function verifyConversationQueueMessage(value, nowMs = Date.now()) {
|
|
59
|
-
const message = parseSignedConversationQueueMessage(value);
|
|
60
|
-
if (!message) {
|
|
61
|
-
return { status: "rejected", reason: "malformed" };
|
|
62
|
-
}
|
|
63
|
-
const secret = getConversationWorkQueueSecret();
|
|
64
|
-
if (!secret) {
|
|
65
|
-
return { status: "unavailable", reason: "missing_secret" };
|
|
66
|
-
}
|
|
67
|
-
if (!Number.isFinite(nowMs)) {
|
|
68
|
-
return { status: "unavailable", reason: "invalid_clock" };
|
|
69
|
-
}
|
|
70
|
-
if (Math.abs(nowMs - message.signedAtMs) > CONVERSATION_WORK_QUEUE_SIGNATURE_MAX_SKEW_MS) {
|
|
71
|
-
return { status: "rejected", reason: "expired" };
|
|
72
|
-
}
|
|
73
|
-
const expected = signPayload(
|
|
74
|
-
buildSignedPayload(message, message.signedAtMs),
|
|
75
|
-
secret
|
|
76
|
-
);
|
|
77
|
-
if (!timingSafeMatch(expected, message.signature)) {
|
|
78
|
-
return { status: "rejected", reason: "signature_mismatch" };
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
status: "verified",
|
|
82
|
-
message: {
|
|
83
|
-
schemaVersion: message.schemaVersion,
|
|
84
|
-
conversationId: message.conversationId
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// src/chat/task-execution/vercel-queue.ts
|
|
90
|
-
var DEFAULT_CONVERSATION_WORK_QUEUE_TOPIC = "junior_conversation_work";
|
|
91
|
-
var CONVERSATION_WORK_QUEUE_RETENTION_SECONDS = CONVERSATION_WORK_QUEUE_SIGNATURE_MAX_SKEW_MS / 1e3;
|
|
92
|
-
var defaultQueue;
|
|
93
|
-
function resolveConversationWorkQueueTopic(options = {}) {
|
|
94
|
-
const topic = options.topic?.trim();
|
|
95
|
-
return topic || process.env.JUNIOR_CONVERSATION_WORK_QUEUE_TOPIC?.trim() || DEFAULT_CONVERSATION_WORK_QUEUE_TOPIC;
|
|
96
|
-
}
|
|
97
|
-
function toDelaySeconds(options) {
|
|
98
|
-
if (!options?.delayMs || options.delayMs <= 0) {
|
|
99
|
-
return void 0;
|
|
100
|
-
}
|
|
101
|
-
return Math.ceil(options.delayMs / 1e3);
|
|
102
|
-
}
|
|
103
|
-
function createVercelConversationWorkQueue(options = {}) {
|
|
104
|
-
const topic = resolveConversationWorkQueueTopic(options);
|
|
105
|
-
const client = options.client ?? createVercelQueueClient();
|
|
106
|
-
return {
|
|
107
|
-
async send(message, sendOptions) {
|
|
108
|
-
const result = await client.send(
|
|
109
|
-
topic,
|
|
110
|
-
signConversationQueueMessage(message),
|
|
111
|
-
{
|
|
112
|
-
idempotencyKey: sendOptions?.idempotencyKey,
|
|
113
|
-
delaySeconds: toDelaySeconds(sendOptions),
|
|
114
|
-
retentionSeconds: options.retentionSeconds ?? CONVERSATION_WORK_QUEUE_RETENTION_SECONDS
|
|
115
|
-
}
|
|
116
|
-
);
|
|
117
|
-
return result.messageId ? { messageId: result.messageId } : {};
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
function getVercelConversationWorkQueue() {
|
|
122
|
-
defaultQueue ??= createVercelConversationWorkQueue();
|
|
123
|
-
return defaultQueue;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export {
|
|
127
|
-
verifyConversationQueueMessage,
|
|
128
|
-
resolveConversationWorkQueueTopic,
|
|
129
|
-
getVercelConversationWorkQueue
|
|
130
|
-
};
|
package/dist/skills-U545HALM.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
discoverSkills,
|
|
3
|
-
findSkillByName,
|
|
4
|
-
loadSkillsByName,
|
|
5
|
-
parseSkillFile,
|
|
6
|
-
parseSkillInvocation,
|
|
7
|
-
resetSkillDiscoveryCache,
|
|
8
|
-
stripFrontmatter
|
|
9
|
-
} from "./chunk-ZQMG3CL5.js";
|
|
10
|
-
import "./chunk-YFNAMRGE.js";
|
|
11
|
-
import "./chunk-SLGGOASN.js";
|
|
12
|
-
import "./chunk-CGA4ERJ5.js";
|
|
13
|
-
import "./chunk-M63DETLL.js";
|
|
14
|
-
import "./chunk-HQNE5APD.js";
|
|
15
|
-
import "./chunk-6GWA276C.js";
|
|
16
|
-
import "./chunk-OOUNJNMR.js";
|
|
17
|
-
import "./chunk-H4HBKISO.js";
|
|
18
|
-
import "./chunk-UT6X7XN7.js";
|
|
19
|
-
import "./chunk-TIEKUH4Q.js";
|
|
20
|
-
import "./chunk-MLKGABMK.js";
|
|
21
|
-
export {
|
|
22
|
-
discoverSkills,
|
|
23
|
-
findSkillByName,
|
|
24
|
-
loadSkillsByName,
|
|
25
|
-
parseSkillFile,
|
|
26
|
-
parseSkillInvocation,
|
|
27
|
-
resetSkillDiscoveryCache,
|
|
28
|
-
stripFrontmatter
|
|
29
|
-
};
|
package/dist/spawn-I2S4IDUQ.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
bindSpawnAgent
|
|
3
|
-
} from "./chunk-R5NWWYIS.js";
|
|
4
|
-
import "./chunk-GPLAT6H7.js";
|
|
5
|
-
import "./chunk-5IRROPA5.js";
|
|
6
|
-
import "./chunk-CJLBLELR.js";
|
|
7
|
-
import "./chunk-JAL3CH4G.js";
|
|
8
|
-
import "./chunk-3AFVR5UC.js";
|
|
9
|
-
import "./chunk-DIB4GX3G.js";
|
|
10
|
-
import "./chunk-RF6J3DIO.js";
|
|
11
|
-
import "./chunk-2HIPYNQI.js";
|
|
12
|
-
import "./chunk-6ZWRNC4D.js";
|
|
13
|
-
import "./chunk-FIDMHAO6.js";
|
|
14
|
-
import "./chunk-PDO5BLNM.js";
|
|
15
|
-
import "./chunk-3I7XE3PA.js";
|
|
16
|
-
import "./chunk-3Y47VMHV.js";
|
|
17
|
-
import "./chunk-VP4OVRDD.js";
|
|
18
|
-
import "./chunk-R6U7N4FS.js";
|
|
19
|
-
import "./chunk-JMJNFEDC.js";
|
|
20
|
-
import "./chunk-3TM3FYLQ.js";
|
|
21
|
-
import "./chunk-GENV6KF2.js";
|
|
22
|
-
import "./chunk-VFUK3X5B.js";
|
|
23
|
-
import "./chunk-XSPSCWLH.js";
|
|
24
|
-
import "./chunk-YFNAMRGE.js";
|
|
25
|
-
import "./chunk-SLGGOASN.js";
|
|
26
|
-
import "./chunk-CGA4ERJ5.js";
|
|
27
|
-
import "./chunk-M63DETLL.js";
|
|
28
|
-
import "./chunk-HQNE5APD.js";
|
|
29
|
-
import "./chunk-6GWA276C.js";
|
|
30
|
-
import "./chunk-OOUNJNMR.js";
|
|
31
|
-
import "./chunk-H4HBKISO.js";
|
|
32
|
-
import "./chunk-UT6X7XN7.js";
|
|
33
|
-
import "./chunk-TIEKUH4Q.js";
|
|
34
|
-
import "./chunk-MLKGABMK.js";
|
|
35
|
-
export {
|
|
36
|
-
bindSpawnAgent
|
|
37
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
validatePluginEgressCredentialHooks,
|
|
3
|
-
validatePluginRegistrations
|
|
4
|
-
} from "./chunk-RTRBYSF3.js";
|
|
5
|
-
import "./chunk-YFNAMRGE.js";
|
|
6
|
-
import "./chunk-SLGGOASN.js";
|
|
7
|
-
import "./chunk-CGA4ERJ5.js";
|
|
8
|
-
import "./chunk-M63DETLL.js";
|
|
9
|
-
import "./chunk-HQNE5APD.js";
|
|
10
|
-
import "./chunk-6GWA276C.js";
|
|
11
|
-
import "./chunk-OOUNJNMR.js";
|
|
12
|
-
import "./chunk-H4HBKISO.js";
|
|
13
|
-
import "./chunk-UT6X7XN7.js";
|
|
14
|
-
import "./chunk-TIEKUH4Q.js";
|
|
15
|
-
import "./chunk-MLKGABMK.js";
|
|
16
|
-
export {
|
|
17
|
-
validatePluginEgressCredentialHooks,
|
|
18
|
-
validatePluginRegistrations
|
|
19
|
-
};
|