@sentry/junior 0.100.0 → 0.102.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/README.md +0 -1
- package/dist/{agent-hooks-V6KU7PQN.js → agent-hooks-I4I2DHSW.js} +7 -7
- package/dist/api/conversations/schema.d.ts +2 -2
- package/dist/api/people/schema.d.ts +13 -0
- package/dist/api/schema.d.ts +1 -1
- package/dist/api/schema.js +3 -3
- package/dist/api.js +16 -16
- package/dist/app.js +165 -104
- package/dist/{catalog-runtime-PFHVMHDR.js → catalog-runtime-5CVM2DOF.js} +2 -2
- package/dist/chat/agent/prompt.d.ts +1 -1
- package/dist/chat/agent/request.d.ts +1 -1
- package/dist/chat/agent-dispatch/validation.d.ts +1 -1
- package/dist/chat/conversation-privacy.d.ts +2 -6
- package/dist/chat/conversations/store.d.ts +1 -1
- package/dist/chat/credentials/context.d.ts +33 -6
- package/dist/chat/credentials/subject.d.ts +15 -1
- package/dist/chat/logging.d.ts +4 -2
- package/dist/chat/mcp/auth-store.d.ts +1 -0
- package/dist/chat/mcp/client.d.ts +2 -0
- package/dist/chat/mcp/oauth-provider.d.ts +4 -1
- package/dist/chat/mcp/oauth.d.ts +3 -1
- package/dist/chat/mcp/tool-manager.d.ts +3 -1
- package/dist/chat/sandbox/egress/schemas.d.ts +13 -2
- package/dist/chat/services/context-compaction-marker.d.ts +8 -0
- package/dist/chat/services/mcp-auth-orchestration.d.ts +1 -1
- package/dist/chat/services/pending-auth.d.ts +17 -9
- package/dist/chat/state/conversation.d.ts +7 -3
- package/dist/{chunk-XJA7BPHS.js → chunk-3OABPOHR.js} +3 -3
- package/dist/{chunk-2T7DCRAW.js → chunk-3UK5DFKW.js} +3 -3
- package/dist/{chunk-IDZBM3NW.js → chunk-4YN2ZXKB.js} +10 -2
- package/dist/{chunk-NSOCZGOH.js → chunk-5K4N73TP.js} +9 -11
- package/dist/{chunk-LMJPRYHP.js → chunk-77LHNQK4.js} +32 -8
- package/dist/{chunk-I35CTGPO.js → chunk-AEWZ7F65.js} +41 -17
- package/dist/{chunk-IQIBZXGB.js → chunk-B5QS4AVO.js} +2 -2
- package/dist/{chunk-XSBIISXS.js → chunk-DTUSCR2Y.js} +9 -12
- package/dist/{chunk-GEUUJRQF.js → chunk-E4EMFKGB.js} +1 -1
- package/dist/{chunk-VVIXK2BX.js → chunk-EMUZSROX.js} +2 -2
- package/dist/{chunk-IVXL57YF.js → chunk-EOB77KME.js} +4 -4
- package/dist/{chunk-PGGEOCQY.js → chunk-F4CQEUTP.js} +1 -1
- package/dist/{chunk-4AQUWWEM.js → chunk-HNIT4HXU.js} +1 -1
- package/dist/{chunk-MM5UFDAC.js → chunk-HYDQULR2.js} +1 -1
- package/dist/{chunk-FP5N5OWZ.js → chunk-IQ36I3DF.js} +2 -2
- package/dist/{chunk-JSAANELJ.js → chunk-LJB2TLVT.js} +3 -3
- package/dist/{chunk-D5KZYS4T.js → chunk-MJSJAHBW.js} +1 -1
- package/dist/{chunk-QSBQJ3PA.js → chunk-MR6H67P2.js} +3 -3
- package/dist/{chunk-VY7BT4SM.js → chunk-NSP6OGL2.js} +9 -8
- package/dist/{chunk-VHRM6GNH.js → chunk-QZGVPPIJ.js} +27 -3
- package/dist/{chunk-LVA4I4H7.js → chunk-RT5BUHR5.js} +15 -44
- package/dist/{chunk-A7X2FDUO.js → chunk-SHBPSE7A.js} +88 -66
- package/dist/{chunk-CM5EZD5F.js → chunk-UIE3R5XU.js} +1 -1
- package/dist/{chunk-JPQISMMJ.js → chunk-VSAFV2GI.js} +7 -6
- package/dist/{chunk-3ECW2K2O.js → chunk-WR7H7VLJ.js} +2 -2
- package/dist/{chunk-TPTJEHUE.js → chunk-X2IPNCB5.js} +61 -25
- package/dist/{chunk-6DTVCPLO.js → chunk-XIMUQ4IU.js} +4 -3
- package/dist/{chunk-45DMFMY2.js → chunk-ZIX4PNBI.js} +348 -200
- package/dist/{chunk-PWC24W5F.js → chunk-ZSHL44IQ.js} +2 -2
- package/dist/cli/chat.js +22 -22
- package/dist/cli/check.js +3 -3
- package/dist/cli/plugins.js +9 -9
- package/dist/cli/snapshot-warmup.js +5 -5
- package/dist/cli/upgrade.js +203 -14
- package/dist/db/postgres-json.d.ts +5 -0
- package/dist/{db-RCZB7KNM.js → db-6QP6HY7U.js} +4 -4
- package/dist/{detail-LU6COZO6.js → detail-OEIVZYXS.js} +12 -12
- package/dist/{detail-5SLCGT6J.js → detail-U6IP2Z4N.js} +8 -8
- package/dist/instrumentation.js +2 -2
- package/dist/{legacy-import-VCYLWT2V.js → legacy-import-R3BMM2GH.js} +5 -5
- package/dist/{list-KHRAWZWU.js → list-AJ6RWBOG.js} +8 -8
- package/dist/list-UMZKA5AI.js +121 -0
- package/dist/{list-4ALSU6ZW.js → list-Z3CC52CZ.js} +8 -8
- package/dist/{plugin-conversations-JANXC4GA.js → plugin-conversations-F3IBVNFX.js} +7 -7
- package/dist/{profile-3O3OVENT.js → profile-CQMPFKED.js} +8 -8
- package/dist/{runner-BM7D35YW.js → runner-C2ZTIOUD.js} +13 -13
- package/dist/{skills-MAZXZ2KE.js → skills-722AXRV5.js} +3 -3
- package/dist/{stats-J3YGCYDF.js → stats-ZYFQFCTL.js} +6 -6
- package/dist/{subagent-P7HOSMVC.js → subagent-X3ZWJHR4.js} +11 -11
- package/dist/{validation-FMEAEKCY.js → validation-EUI2UFRM.js} +3 -3
- package/package.json +6 -6
- package/dist/api-reference.d.ts +0 -14
- package/dist/list-2FI5SFV7.js +0 -80
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getStateAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SHBPSE7A.js";
|
|
4
4
|
import {
|
|
5
5
|
logException,
|
|
6
6
|
logInfo,
|
|
7
7
|
logWarn
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-AEWZ7F65.js";
|
|
9
9
|
|
|
10
10
|
// src/chat/plugins/logging.ts
|
|
11
11
|
function createPluginLogger(plugin) {
|
package/dist/cli/chat.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAgentRunner,
|
|
3
3
|
executeAgentRun
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-ZIX4PNBI.js";
|
|
5
|
+
import "../chunk-5K4N73TP.js";
|
|
6
|
+
import "../chunk-XIMUQ4IU.js";
|
|
7
|
+
import "../chunk-EOB77KME.js";
|
|
8
|
+
import "../chunk-B5QS4AVO.js";
|
|
9
|
+
import "../chunk-VSAFV2GI.js";
|
|
10
|
+
import "../chunk-3OABPOHR.js";
|
|
11
11
|
import "../chunk-PDO5BLNM.js";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-UIE3R5XU.js";
|
|
13
13
|
import {
|
|
14
14
|
loadAppPluginSet
|
|
15
15
|
} from "../chunk-Y2CM7HXH.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-X2IPNCB5.js";
|
|
17
|
+
import "../chunk-IQ36I3DF.js";
|
|
18
|
+
import "../chunk-ZSHL44IQ.js";
|
|
19
|
+
import "../chunk-QZGVPPIJ.js";
|
|
20
20
|
import "../chunk-G3E7SCME.js";
|
|
21
21
|
import "../chunk-4ZNGQH7C.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-SHBPSE7A.js";
|
|
23
23
|
import "../chunk-FXFQNHRU.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-RT5BUHR5.js";
|
|
25
25
|
import "../chunk-B7PUBQQM.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-WR7H7VLJ.js";
|
|
27
|
+
import "../chunk-77LHNQK4.js";
|
|
28
|
+
import "../chunk-AEWZ7F65.js";
|
|
29
29
|
import "../chunk-OB42YVAE.js";
|
|
30
30
|
import "../chunk-6GWA276C.js";
|
|
31
31
|
import "../chunk-B3IT5END.js";
|
|
@@ -153,10 +153,10 @@ async function configureLocalChatPlugins(pluginSet) {
|
|
|
153
153
|
databaseModule
|
|
154
154
|
] = await Promise.all([
|
|
155
155
|
import("../plugins-PZMDS7AT.js"),
|
|
156
|
-
import("../agent-hooks-
|
|
157
|
-
import("../catalog-runtime-
|
|
158
|
-
import("../validation-
|
|
159
|
-
import("../db-
|
|
156
|
+
import("../agent-hooks-I4I2DHSW.js"),
|
|
157
|
+
import("../catalog-runtime-5CVM2DOF.js"),
|
|
158
|
+
import("../validation-EUI2UFRM.js"),
|
|
159
|
+
import("../db-6QP6HY7U.js")
|
|
160
160
|
]);
|
|
161
161
|
const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
|
|
162
162
|
const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
|
|
@@ -217,7 +217,7 @@ function newRunConversationId() {
|
|
|
217
217
|
async function prepareLocalChatRun(io, pluginSet) {
|
|
218
218
|
defaultStateAdapterForLocalChat();
|
|
219
219
|
await configureLocalChatPlugins(pluginSet);
|
|
220
|
-
const { runLocalAgentTurn } = await import("../runner-
|
|
220
|
+
const { runLocalAgentTurn } = await import("../runner-C2ZTIOUD.js");
|
|
221
221
|
const deps = {
|
|
222
222
|
agentRunner: createAgentRunner(executeAgentRun),
|
|
223
223
|
deliverReply: async (reply) => {
|
package/dist/cli/check.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseSkillFile
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-WR7H7VLJ.js";
|
|
4
4
|
import {
|
|
5
5
|
parseInlinePluginManifest,
|
|
6
6
|
parsePluginManifest
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-77LHNQK4.js";
|
|
8
|
+
import "../chunk-AEWZ7F65.js";
|
|
9
9
|
import "../chunk-OB42YVAE.js";
|
|
10
10
|
import "../chunk-6GWA276C.js";
|
|
11
11
|
import "../chunk-B3IT5END.js";
|
package/dist/cli/plugins.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
validatePluginEgressCredentialHooks,
|
|
3
3
|
validatePluginRegistrations
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-MJSJAHBW.js";
|
|
5
5
|
import {
|
|
6
6
|
pluginCatalogConfigFromPluginSet,
|
|
7
7
|
pluginCliRegistrationsFromPluginSet,
|
|
@@ -13,24 +13,24 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
setPlugins,
|
|
15
15
|
validatePlugins
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-X2IPNCB5.js";
|
|
17
|
+
import "../chunk-IQ36I3DF.js";
|
|
18
18
|
import {
|
|
19
19
|
createPluginLogger
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-ZSHL44IQ.js";
|
|
21
21
|
import {
|
|
22
22
|
getDb
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-QZGVPPIJ.js";
|
|
24
24
|
import "../chunk-G3E7SCME.js";
|
|
25
25
|
import "../chunk-4ZNGQH7C.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-SHBPSE7A.js";
|
|
27
27
|
import "../chunk-FXFQNHRU.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-RT5BUHR5.js";
|
|
29
29
|
import "../chunk-B7PUBQQM.js";
|
|
30
30
|
import {
|
|
31
31
|
pluginCatalogRuntime
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import "../chunk-
|
|
32
|
+
} from "../chunk-77LHNQK4.js";
|
|
33
|
+
import "../chunk-AEWZ7F65.js";
|
|
34
34
|
import "../chunk-OB42YVAE.js";
|
|
35
35
|
import "../chunk-6GWA276C.js";
|
|
36
36
|
import "../chunk-B3IT5END.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveRuntimeDependencySnapshot
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-3OABPOHR.js";
|
|
4
4
|
import "../chunk-G3E7SCME.js";
|
|
5
5
|
import "../chunk-4ZNGQH7C.js";
|
|
6
6
|
import {
|
|
7
7
|
disconnectStateAdapter
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-SHBPSE7A.js";
|
|
9
|
+
import "../chunk-RT5BUHR5.js";
|
|
10
10
|
import {
|
|
11
11
|
pluginCatalogRuntime
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-77LHNQK4.js";
|
|
13
|
+
import "../chunk-AEWZ7F65.js";
|
|
14
14
|
import "../chunk-OB42YVAE.js";
|
|
15
15
|
import "../chunk-6GWA276C.js";
|
|
16
16
|
import "../chunk-B3IT5END.js";
|
package/dist/cli/upgrade.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
recordConversationActivity,
|
|
5
5
|
recordConversationExecution,
|
|
6
6
|
requestConversationWork
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-3UK5DFKW.js";
|
|
8
8
|
import {
|
|
9
9
|
defineJuniorPlugins,
|
|
10
10
|
pluginCatalogConfigFromEnv,
|
|
@@ -14,15 +14,15 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
JUNIOR_THREAD_STATE_TTL_MS,
|
|
16
16
|
coerceThreadConversationState
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-XIMUQ4IU.js";
|
|
18
18
|
import {
|
|
19
19
|
addAgentTurnUsage,
|
|
20
20
|
listAgentTurnSessionSummariesForConversations
|
|
21
|
-
} from "../chunk-
|
|
22
|
-
import "../chunk-
|
|
21
|
+
} from "../chunk-EOB77KME.js";
|
|
22
|
+
import "../chunk-B5QS4AVO.js";
|
|
23
23
|
import {
|
|
24
24
|
importConversationFromLegacy
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-VSAFV2GI.js";
|
|
26
26
|
import "../chunk-PDO5BLNM.js";
|
|
27
27
|
import {
|
|
28
28
|
loadAppPluginSet
|
|
@@ -30,28 +30,28 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
createPluginLogger,
|
|
32
32
|
createPluginState
|
|
33
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-ZSHL44IQ.js";
|
|
34
34
|
import {
|
|
35
35
|
createJuniorSqlExecutor,
|
|
36
36
|
createSqlConversationMessageStore,
|
|
37
37
|
createSqlStore,
|
|
38
38
|
getDb
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-QZGVPPIJ.js";
|
|
40
40
|
import {
|
|
41
41
|
disconnectStateAdapter,
|
|
42
42
|
getChatConfig,
|
|
43
43
|
getConnectedStateContext
|
|
44
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-SHBPSE7A.js";
|
|
45
45
|
import "../chunk-FXFQNHRU.js";
|
|
46
|
-
import "../chunk-
|
|
46
|
+
import "../chunk-RT5BUHR5.js";
|
|
47
47
|
import {
|
|
48
48
|
parseDestination,
|
|
49
49
|
sameDestination
|
|
50
50
|
} from "../chunk-B7PUBQQM.js";
|
|
51
51
|
import {
|
|
52
52
|
pluginCatalogRuntime
|
|
53
|
-
} from "../chunk-
|
|
54
|
-
import "../chunk-
|
|
53
|
+
} from "../chunk-77LHNQK4.js";
|
|
54
|
+
import "../chunk-AEWZ7F65.js";
|
|
55
55
|
import {
|
|
56
56
|
isRecord,
|
|
57
57
|
toOptionalNumber,
|
|
@@ -450,6 +450,7 @@ var pluginStorageMigration = {
|
|
|
450
450
|
// src/chat/plugins/migrations.ts
|
|
451
451
|
import { createHash } from "crypto";
|
|
452
452
|
import { readMigrationFiles as readMigrationFiles2 } from "drizzle-orm/migrator";
|
|
453
|
+
var LEGACY_SCHEDULER_BASELINE_HASH = "d1d2f712181dd3a0557808f0fc67fd0722691d25f4c8cfb816b77c71d19e1e42";
|
|
453
454
|
function migrationTable(pluginName) {
|
|
454
455
|
const label = pluginName.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "").slice(0, 32);
|
|
455
456
|
const hash = createHash("sha256").update(pluginName).digest("hex").slice(0, 8);
|
|
@@ -487,7 +488,7 @@ async function legacyMigrationHashes(executor, pluginName) {
|
|
|
487
488
|
);
|
|
488
489
|
return new Set(rows.map((row) => row.checksum));
|
|
489
490
|
}
|
|
490
|
-
function adoptedMigration(migrations, legacyHashes) {
|
|
491
|
+
function adoptedMigration(migrations, legacyHashes, pluginName) {
|
|
491
492
|
let adopted;
|
|
492
493
|
for (const migration of migrations) {
|
|
493
494
|
if (!legacyHashes.has(migration.hash)) {
|
|
@@ -495,7 +496,7 @@ function adoptedMigration(migrations, legacyHashes) {
|
|
|
495
496
|
}
|
|
496
497
|
adopted = migration;
|
|
497
498
|
}
|
|
498
|
-
if (!adopted &&
|
|
499
|
+
if (!adopted && pluginName === "scheduler" && legacyHashes.has(LEGACY_SCHEDULER_BASELINE_HASH)) {
|
|
499
500
|
return migrations[0];
|
|
500
501
|
}
|
|
501
502
|
return adopted;
|
|
@@ -505,7 +506,11 @@ async function adoptLegacyMigrationState2(args) {
|
|
|
505
506
|
args.executor,
|
|
506
507
|
args.pluginName
|
|
507
508
|
);
|
|
508
|
-
const migration = adoptedMigration(
|
|
509
|
+
const migration = adoptedMigration(
|
|
510
|
+
args.migrations,
|
|
511
|
+
legacyHashes,
|
|
512
|
+
args.pluginName
|
|
513
|
+
);
|
|
509
514
|
if (!migration) {
|
|
510
515
|
return void 0;
|
|
511
516
|
}
|
|
@@ -1122,12 +1127,196 @@ var redisConversationStateMigration = {
|
|
|
1122
1127
|
run: migrateRedisConversationState
|
|
1123
1128
|
};
|
|
1124
1129
|
|
|
1130
|
+
// src/cli/upgrade/migrations/agent-turn-session-actor.ts
|
|
1131
|
+
import { THREAD_STATE_TTL_MS } from "chat";
|
|
1132
|
+
var AGENT_TURN_SESSION_PREFIX2 = "junior:agent_turn_session";
|
|
1133
|
+
var AGENT_TURN_SESSION_INDEX_KEY2 = `${AGENT_TURN_SESSION_PREFIX2}:index`;
|
|
1134
|
+
var AGENT_TURN_SESSION_INDEX_MAX_LENGTH = 5e3;
|
|
1135
|
+
var REDIS_SCAN_COUNT = 500;
|
|
1136
|
+
function conversationIndexKey(conversationId) {
|
|
1137
|
+
return `${AGENT_TURN_SESSION_PREFIX2}:conversation:${conversationId}:index`;
|
|
1138
|
+
}
|
|
1139
|
+
function sessionRecordKey(conversationId, sessionId) {
|
|
1140
|
+
return `${AGENT_TURN_SESSION_PREFIX2}:${conversationId}:${sessionId}`;
|
|
1141
|
+
}
|
|
1142
|
+
function logicalConversationIndexPrefix() {
|
|
1143
|
+
const prefix = getChatConfig().state.keyPrefix;
|
|
1144
|
+
return [
|
|
1145
|
+
...prefix ? [prefix] : [],
|
|
1146
|
+
`${AGENT_TURN_SESSION_PREFIX2}:conversation:`
|
|
1147
|
+
].join(":");
|
|
1148
|
+
}
|
|
1149
|
+
function conversationIdFromRedisListKey(key) {
|
|
1150
|
+
const marker = `:list:${logicalConversationIndexPrefix()}`;
|
|
1151
|
+
const markerIndex = key.indexOf(marker);
|
|
1152
|
+
if (markerIndex < 0 || !key.endsWith(":index")) {
|
|
1153
|
+
return void 0;
|
|
1154
|
+
}
|
|
1155
|
+
return toOptionalString(
|
|
1156
|
+
key.slice(markerIndex + marker.length, -":index".length)
|
|
1157
|
+
);
|
|
1158
|
+
}
|
|
1159
|
+
async function discoverRedisConversationIds(redisStateAdapter) {
|
|
1160
|
+
const client = redisStateAdapter?.getClient();
|
|
1161
|
+
if (!client) {
|
|
1162
|
+
return [];
|
|
1163
|
+
}
|
|
1164
|
+
const conversationIds = /* @__PURE__ */ new Set();
|
|
1165
|
+
const match = `*:list:${logicalConversationIndexPrefix()}*:index`;
|
|
1166
|
+
let cursor = "0";
|
|
1167
|
+
do {
|
|
1168
|
+
const reply = await client.sendCommand([
|
|
1169
|
+
"SCAN",
|
|
1170
|
+
cursor,
|
|
1171
|
+
"MATCH",
|
|
1172
|
+
match,
|
|
1173
|
+
"COUNT",
|
|
1174
|
+
String(REDIS_SCAN_COUNT)
|
|
1175
|
+
]);
|
|
1176
|
+
if (!Array.isArray(reply) || reply.length !== 2 || typeof reply[0] !== "string" && typeof reply[0] !== "number" || !Array.isArray(reply[1])) {
|
|
1177
|
+
throw new Error(
|
|
1178
|
+
"Unexpected Redis SCAN response while migrating turn sessions"
|
|
1179
|
+
);
|
|
1180
|
+
}
|
|
1181
|
+
cursor = String(reply[0]);
|
|
1182
|
+
for (const key of reply[1]) {
|
|
1183
|
+
if (typeof key !== "string") {
|
|
1184
|
+
continue;
|
|
1185
|
+
}
|
|
1186
|
+
const conversationId = conversationIdFromRedisListKey(key);
|
|
1187
|
+
if (conversationId) {
|
|
1188
|
+
conversationIds.add(conversationId);
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
} while (cursor !== "0");
|
|
1192
|
+
return [...conversationIds];
|
|
1193
|
+
}
|
|
1194
|
+
function migrateRequesterToActor(value) {
|
|
1195
|
+
if (!isRecord(value) || value.requester === void 0) {
|
|
1196
|
+
return { changed: false, value };
|
|
1197
|
+
}
|
|
1198
|
+
const { requester, ...record } = value;
|
|
1199
|
+
return {
|
|
1200
|
+
changed: true,
|
|
1201
|
+
value: {
|
|
1202
|
+
...record,
|
|
1203
|
+
...record.actor === void 0 ? { actor: requester } : {}
|
|
1204
|
+
}
|
|
1205
|
+
};
|
|
1206
|
+
}
|
|
1207
|
+
async function rewriteList(args) {
|
|
1208
|
+
const values = await args.stateAdapter.getList(args.key);
|
|
1209
|
+
const migrated = values.map(migrateRequesterToActor);
|
|
1210
|
+
const changed = migrated.filter((entry) => entry.changed).length;
|
|
1211
|
+
if (changed === 0) {
|
|
1212
|
+
return { migrated: 0, values };
|
|
1213
|
+
}
|
|
1214
|
+
await args.stateAdapter.delete(args.key);
|
|
1215
|
+
for (const entry of migrated) {
|
|
1216
|
+
await args.stateAdapter.appendToList(args.key, entry.value, {
|
|
1217
|
+
...args.maxLength !== void 0 ? { maxLength: args.maxLength } : {},
|
|
1218
|
+
ttlMs: THREAD_STATE_TTL_MS
|
|
1219
|
+
});
|
|
1220
|
+
}
|
|
1221
|
+
return { migrated: changed, values: migrated.map((entry) => entry.value) };
|
|
1222
|
+
}
|
|
1223
|
+
async function migrateSessionRecord(args) {
|
|
1224
|
+
const key = sessionRecordKey(args.conversationId, args.sessionId);
|
|
1225
|
+
const existing = await args.stateAdapter.get(key);
|
|
1226
|
+
if (existing === void 0) {
|
|
1227
|
+
return "missing";
|
|
1228
|
+
}
|
|
1229
|
+
const migrated = migrateRequesterToActor(existing);
|
|
1230
|
+
if (!migrated.changed) {
|
|
1231
|
+
return "existing";
|
|
1232
|
+
}
|
|
1233
|
+
await args.stateAdapter.set(key, migrated.value, THREAD_STATE_TTL_MS);
|
|
1234
|
+
return "migrated";
|
|
1235
|
+
}
|
|
1236
|
+
async function migrateAgentTurnSessionActor(context) {
|
|
1237
|
+
const result = {
|
|
1238
|
+
existing: 0,
|
|
1239
|
+
migrated: 0,
|
|
1240
|
+
missing: 0,
|
|
1241
|
+
scanned: 0
|
|
1242
|
+
};
|
|
1243
|
+
const global = await rewriteList({
|
|
1244
|
+
key: AGENT_TURN_SESSION_INDEX_KEY2,
|
|
1245
|
+
maxLength: AGENT_TURN_SESSION_INDEX_MAX_LENGTH,
|
|
1246
|
+
stateAdapter: context.stateAdapter
|
|
1247
|
+
});
|
|
1248
|
+
result.scanned += global.values.length;
|
|
1249
|
+
result.migrated += global.migrated;
|
|
1250
|
+
const conversations = /* @__PURE__ */ new Set();
|
|
1251
|
+
const sessions = /* @__PURE__ */ new Set();
|
|
1252
|
+
for (const conversationId of await discoverRedisConversationIds(
|
|
1253
|
+
context.redisStateAdapter
|
|
1254
|
+
)) {
|
|
1255
|
+
conversations.add(conversationId);
|
|
1256
|
+
}
|
|
1257
|
+
for (const value of global.values) {
|
|
1258
|
+
if (!isRecord(value)) {
|
|
1259
|
+
continue;
|
|
1260
|
+
}
|
|
1261
|
+
const conversationId = toOptionalString(value.conversationId);
|
|
1262
|
+
const sessionId = toOptionalString(value.sessionId);
|
|
1263
|
+
if (!conversationId) {
|
|
1264
|
+
continue;
|
|
1265
|
+
}
|
|
1266
|
+
conversations.add(conversationId);
|
|
1267
|
+
if (sessionId) {
|
|
1268
|
+
sessions.add(`${conversationId}\0${sessionId}`);
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
for (const conversationId of conversations) {
|
|
1272
|
+
const conversation = await rewriteList({
|
|
1273
|
+
key: conversationIndexKey(conversationId),
|
|
1274
|
+
stateAdapter: context.stateAdapter
|
|
1275
|
+
});
|
|
1276
|
+
result.scanned += conversation.values.length;
|
|
1277
|
+
result.migrated += conversation.migrated;
|
|
1278
|
+
for (const value of conversation.values) {
|
|
1279
|
+
if (!isRecord(value)) {
|
|
1280
|
+
continue;
|
|
1281
|
+
}
|
|
1282
|
+
const sessionId = toOptionalString(value.sessionId);
|
|
1283
|
+
if (sessionId) {
|
|
1284
|
+
sessions.add(`${conversationId}\0${sessionId}`);
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1288
|
+
for (const session of sessions) {
|
|
1289
|
+
const separator = session.indexOf("\0");
|
|
1290
|
+
const conversationId = session.slice(0, separator);
|
|
1291
|
+
const sessionId = session.slice(separator + 1);
|
|
1292
|
+
result.scanned += 1;
|
|
1293
|
+
const status = await migrateSessionRecord({
|
|
1294
|
+
conversationId,
|
|
1295
|
+
sessionId,
|
|
1296
|
+
stateAdapter: context.stateAdapter
|
|
1297
|
+
});
|
|
1298
|
+
if (status === "migrated") {
|
|
1299
|
+
result.migrated += 1;
|
|
1300
|
+
} else if (status === "existing") {
|
|
1301
|
+
result.existing += 1;
|
|
1302
|
+
} else {
|
|
1303
|
+
result.missing += 1;
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
return result;
|
|
1307
|
+
}
|
|
1308
|
+
var agentTurnSessionActorMigration = {
|
|
1309
|
+
name: "migrate-agent-turn-session-requester-to-actor",
|
|
1310
|
+
run: migrateAgentTurnSessionActor
|
|
1311
|
+
};
|
|
1312
|
+
|
|
1125
1313
|
// src/cli/upgrade.ts
|
|
1126
1314
|
var DEFAULT_IO = {
|
|
1127
1315
|
info: console.log
|
|
1128
1316
|
};
|
|
1129
1317
|
var localPluginLoader = createJiti(import.meta.url, { moduleCache: false });
|
|
1130
1318
|
var MIGRATIONS = [
|
|
1319
|
+
agentTurnSessionActorMigration,
|
|
1131
1320
|
redisConversationStateMigration,
|
|
1132
1321
|
coreSqlSchemaMigration,
|
|
1133
1322
|
sqlConversationMigration,
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
getConversationStore,
|
|
7
7
|
getDb,
|
|
8
8
|
getSqlExecutor
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-QZGVPPIJ.js";
|
|
10
|
+
import "./chunk-SHBPSE7A.js";
|
|
11
11
|
import "./chunk-FXFQNHRU.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-RT5BUHR5.js";
|
|
13
13
|
import "./chunk-B7PUBQQM.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-AEWZ7F65.js";
|
|
15
15
|
import "./chunk-OB42YVAE.js";
|
|
16
16
|
import "./chunk-6GWA276C.js";
|
|
17
17
|
import "./chunk-7FBGKXPE.js";
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildConversationDetail
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NSP6OGL2.js";
|
|
4
4
|
import {
|
|
5
5
|
readConversationRecordFromSql
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LJB2TLVT.js";
|
|
7
7
|
import {
|
|
8
8
|
conversationDetailReportSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HYDQULR2.js";
|
|
10
10
|
import "./chunk-LVUKF5CE.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-EMUZSROX.js";
|
|
12
12
|
import {
|
|
13
13
|
listBoundedAgentTurnSessionSummariesForConversation
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-EOB77KME.js";
|
|
15
|
+
import "./chunk-B5QS4AVO.js";
|
|
16
|
+
import "./chunk-VSAFV2GI.js";
|
|
17
17
|
import "./chunk-PDO5BLNM.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-IQ36I3DF.js";
|
|
19
|
+
import "./chunk-QZGVPPIJ.js";
|
|
20
20
|
import "./chunk-4ZNGQH7C.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-SHBPSE7A.js";
|
|
22
22
|
import "./chunk-FXFQNHRU.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-RT5BUHR5.js";
|
|
24
24
|
import "./chunk-B7PUBQQM.js";
|
|
25
25
|
import {
|
|
26
26
|
logException
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-AEWZ7F65.js";
|
|
28
28
|
import "./chunk-OB42YVAE.js";
|
|
29
29
|
import "./chunk-6GWA276C.js";
|
|
30
30
|
import "./chunk-7FBGKXPE.js";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readLocationDetailFromSql
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MR6H67P2.js";
|
|
4
4
|
import "./chunk-QOZOJNSE.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-F4CQEUTP.js";
|
|
6
6
|
import {
|
|
7
7
|
locationDetailReportSchema
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-HNIT4HXU.js";
|
|
9
|
+
import "./chunk-HYDQULR2.js";
|
|
10
10
|
import "./chunk-PDO5BLNM.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-QZGVPPIJ.js";
|
|
12
|
+
import "./chunk-SHBPSE7A.js";
|
|
13
13
|
import "./chunk-FXFQNHRU.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-RT5BUHR5.js";
|
|
15
15
|
import "./chunk-B7PUBQQM.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-AEWZ7F65.js";
|
|
17
17
|
import "./chunk-OB42YVAE.js";
|
|
18
18
|
import "./chunk-6GWA276C.js";
|
|
19
19
|
import "./chunk-7FBGKXPE.js";
|
package/dist/instrumentation.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
consumePrivateTraceResultMarker
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UIE3R5XU.js";
|
|
4
4
|
import {
|
|
5
5
|
getCurrentConversationPrivacy
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RT5BUHR5.js";
|
|
7
7
|
import "./chunk-OB42YVAE.js";
|
|
8
8
|
import {
|
|
9
9
|
getClient,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureLegacyConversationImport,
|
|
3
3
|
importConversationFromLegacy
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-VSAFV2GI.js";
|
|
5
|
+
import "./chunk-QZGVPPIJ.js";
|
|
6
|
+
import "./chunk-SHBPSE7A.js";
|
|
7
7
|
import "./chunk-FXFQNHRU.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-RT5BUHR5.js";
|
|
9
9
|
import "./chunk-B7PUBQQM.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-AEWZ7F65.js";
|
|
11
11
|
import "./chunk-OB42YVAE.js";
|
|
12
12
|
import "./chunk-6GWA276C.js";
|
|
13
13
|
import "./chunk-7FBGKXPE.js";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readConversationFeedFromSql
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LJB2TLVT.js";
|
|
4
4
|
import {
|
|
5
5
|
conversationFeedSchema
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-HYDQULR2.js";
|
|
7
|
+
import "./chunk-EMUZSROX.js";
|
|
8
8
|
import "./chunk-PDO5BLNM.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-IQ36I3DF.js";
|
|
10
|
+
import "./chunk-QZGVPPIJ.js";
|
|
11
11
|
import "./chunk-4ZNGQH7C.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-SHBPSE7A.js";
|
|
13
13
|
import "./chunk-FXFQNHRU.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-RT5BUHR5.js";
|
|
15
15
|
import "./chunk-B7PUBQQM.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-AEWZ7F65.js";
|
|
17
17
|
import "./chunk-OB42YVAE.js";
|
|
18
18
|
import "./chunk-6GWA276C.js";
|
|
19
19
|
import "./chunk-7FBGKXPE.js";
|