@sentry/junior 0.109.0 → 0.111.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 (123) hide show
  1. package/dist/{agent-hooks-FHHVLNPA.js → agent-hooks-QQ2IWKOP.js} +12 -13
  2. package/dist/api/conversations/access.d.ts +9 -0
  3. package/dist/api/conversations/aggregate.d.ts +12 -1
  4. package/dist/api/conversations/archive.d.ts +3 -5
  5. package/dist/api/conversations/detail.d.ts +156 -7
  6. package/dist/api/conversations/events.d.ts +1 -1
  7. package/dist/api/conversations/list.d.ts +57 -6
  8. package/dist/api/conversations/projection.d.ts +6 -7
  9. package/dist/api/conversations/reporting.d.ts +10 -4
  10. package/dist/api/conversations/routes.d.ts +2 -1
  11. package/dist/api/conversations/shared.d.ts +1 -1
  12. package/dist/api/conversations/stats.d.ts +37 -6
  13. package/dist/api/conversations/stats.query.d.ts +1 -1
  14. package/dist/api/conversations/usage.d.ts +9 -0
  15. package/dist/api/http.d.ts +7 -0
  16. package/dist/api/locations/detail.d.ts +102 -6
  17. package/dist/api/locations/list.d.ts +43 -5
  18. package/dist/api/locations/query.d.ts +4 -2
  19. package/dist/api/locations/routes.d.ts +2 -1
  20. package/dist/api/people/list.d.ts +28 -6
  21. package/dist/api/people/list.query.d.ts +1 -1
  22. package/dist/api/people/profile.d.ts +96 -7
  23. package/dist/api/people/profile.query.d.ts +4 -2
  24. package/dist/api/people/routes.d.ts +2 -1
  25. package/dist/api/people/shared.d.ts +1219 -2
  26. package/dist/api/route.d.ts +18 -4
  27. package/dist/api/schema/common.d.ts +6 -0
  28. package/dist/api/{conversations/schema.d.ts → schema/conversation.d.ts} +31 -3
  29. package/dist/api/{locations/schema.d.ts → schema/location.d.ts} +5 -0
  30. package/dist/api/{people/schema.d.ts → schema/person.d.ts} +37 -45
  31. package/dist/api/schema.d.ts +8 -22
  32. package/dist/api/schema.js +10 -2
  33. package/dist/api.d.ts +5 -1
  34. package/dist/api.js +767 -384
  35. package/dist/app.js +591 -447
  36. package/dist/build/virtual-config.d.ts +2 -0
  37. package/dist/catalog-runtime-D22W6QEJ.js +16 -0
  38. package/dist/chat/agent/request.d.ts +3 -6
  39. package/dist/chat/agent/resume.d.ts +11 -12
  40. package/dist/chat/agent/sandbox.d.ts +36 -11
  41. package/dist/chat/agent/tools.d.ts +5 -8
  42. package/dist/chat/config.d.ts +8 -1
  43. package/dist/chat/conversations/history.d.ts +3 -0
  44. package/dist/chat/conversations/sql/privacy.d.ts +3 -15
  45. package/dist/chat/pi/messages.d.ts +2 -2
  46. package/dist/chat/pi/sdk.d.ts +1 -1
  47. package/dist/chat/pi/sql-model-usage.d.ts +4 -1
  48. package/dist/chat/plugins/agent-hooks.d.ts +2 -2
  49. package/dist/chat/runtime/agent-continue-runner.d.ts +7 -3
  50. package/dist/chat/runtime/slack-runtime.d.ts +1 -2
  51. package/dist/chat/runtime/thread-state.d.ts +3 -7
  52. package/dist/chat/runtime/turn-preparation.d.ts +2 -2
  53. package/dist/chat/sandbox/command-result.d.ts +91 -0
  54. package/dist/chat/sandbox/errors.d.ts +3 -1
  55. package/dist/chat/sandbox/ref.d.ts +5 -0
  56. package/dist/chat/sandbox/sandbox.d.ts +19 -46
  57. package/dist/chat/sandbox/session.d.ts +16 -20
  58. package/dist/chat/sandbox/skill-sync.d.ts +2 -2
  59. package/dist/chat/sandbox/workspace.d.ts +14 -12
  60. package/dist/chat/services/auth-pause.d.ts +4 -0
  61. package/dist/chat/services/context-compaction.d.ts +1 -0
  62. package/dist/chat/services/turn-result.d.ts +3 -4
  63. package/dist/chat/task-execution/queue-signing.d.ts +10 -8
  64. package/dist/chat/task-execution/queue.d.ts +9 -7
  65. package/dist/chat/task-execution/slack-work.d.ts +9 -7
  66. package/dist/chat/task-execution/state.d.ts +75 -22
  67. package/dist/chat/task-execution/store.d.ts +34 -3
  68. package/dist/chat/task-execution/worker.d.ts +0 -1
  69. package/dist/chat/tool-support/normalize-result.d.ts +2 -2
  70. package/dist/chat/tool-support/pi-tool-adapter.d.ts +2 -2
  71. package/dist/chat/tool-support/structured-result.d.ts +1 -2
  72. package/dist/chat/tools/sandbox/file-uploads.d.ts +1 -1
  73. package/dist/chat/{runtime → tools/sandbox}/generated-artifacts.d.ts +3 -3
  74. package/dist/chat/tools/types.d.ts +1 -1
  75. package/dist/chat/tools/web/fetch-content.d.ts +5 -0
  76. package/dist/chat/tools/web/image-generate.d.ts +2 -1
  77. package/dist/chat/tools/web/search.d.ts +1 -1
  78. package/dist/{chunk-CEA3A3UA.js → chunk-2ZTTXTSZ.js} +24 -1
  79. package/dist/{chunk-IVVGFRQQ.js → chunk-42WRQLJ6.js} +10 -38
  80. package/dist/{chunk-O3JMSZLI.js → chunk-6Y5L4BOM.js} +3 -5
  81. package/dist/{chunk-HO5NT6OE.js → chunk-B45FPP2A.js} +306 -31
  82. package/dist/{chunk-WHMOBKT7.js → chunk-BTRNMS6A.js} +2 -2
  83. package/dist/{chunk-PLB7MRCQ.js → chunk-C4MZ3GP5.js} +1 -1
  84. package/dist/{chunk-HHVY4SMP.js → chunk-FPK7XY3F.js} +98 -92
  85. package/dist/{chunk-RGX4V75M.js → chunk-IFAHK54X.js} +3 -3
  86. package/dist/{chunk-ISMWX44P.js → chunk-J7APPQIJ.js} +2 -2
  87. package/dist/{chunk-TMBRFULF.js → chunk-JQFJO5WH.js} +7 -1
  88. package/dist/{chunk-FWJRXN4F.js → chunk-L6JPKANW.js} +3 -139
  89. package/dist/{chunk-7Q6WCISF.js → chunk-MIAKQNYX.js} +43 -31
  90. package/dist/chunk-MPVES2IC.js +44 -0
  91. package/dist/{chunk-JNAVF45E.js → chunk-NQLWOTY4.js} +47 -19
  92. package/dist/{chunk-IXKSQGIO.js → chunk-OOLU34J4.js} +8860 -9137
  93. package/dist/{chunk-OUHNWH46.js → chunk-PYKKM4MM.js} +1 -1
  94. package/dist/{chunk-MXW4GL53.js → chunk-PZELBSHC.js} +8 -9
  95. package/dist/{chunk-QY636HZU.js → chunk-QQIVLZW4.js} +96 -17
  96. package/dist/{chunk-72OMGPDS.js → chunk-SL3ZKNLQ.js} +19 -18
  97. package/dist/{chunk-3SXUV423.js → chunk-WSRBFHPX.js} +1 -1
  98. package/dist/{chunk-TT6GMXNA.js → chunk-XQAYFRWT.js} +2 -2
  99. package/dist/{chunk-MGUMR35T.js → chunk-Z2W4SJZ7.js} +1 -1
  100. package/dist/{chunk-OCD3OZRK.js → chunk-Z4G3WCP3.js} +1 -1
  101. package/dist/{chunk-FENLIFJD.js → chunk-ZRZ4SVWG.js} +69 -10
  102. package/dist/cli/chat.js +23 -24
  103. package/dist/cli/check.js +8 -8
  104. package/dist/cli/plugins.js +15 -16
  105. package/dist/cli/snapshot-warmup.js +11 -11
  106. package/dist/cli/upgrade.js +9 -9
  107. package/dist/db/schema/conversations.d.ts +17 -0
  108. package/dist/db/schema.d.ts +17 -0
  109. package/dist/{db-V3NU72O2.js → db-WXQOQESG.js} +8 -9
  110. package/dist/instrumentation.js +4 -4
  111. package/dist/nitro.js +15 -10
  112. package/dist/reporting-schema.d.ts +46 -0
  113. package/dist/{runner-JYBCQBLK.js → runner-4QY4XH4B.js} +23 -33
  114. package/dist/{skills-U6MDAST7.js → skills-P5MU4EBX.js} +8 -8
  115. package/dist/{validation-72N3JVRU.js → validation-PQF5OP6T.js} +8 -8
  116. package/dist/version.js +1 -1
  117. package/migrations/0007_thick_sugar_man.sql +23 -0
  118. package/migrations/meta/0007_snapshot.json +1013 -0
  119. package/migrations/meta/_journal.json +7 -0
  120. package/package.json +6 -6
  121. package/dist/catalog-runtime-DMGJSLV2.js +0 -16
  122. package/dist/chunk-OB42YVAE.js +0 -16
  123. package/dist/chunk-SYAQIR5Z.js +0 -53
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  GLOBAL_RUNTIME_DEPENDENCIES,
3
3
  resolveRuntimeDependencySnapshot
4
- } from "../chunk-HO5NT6OE.js";
4
+ } from "../chunk-B45FPP2A.js";
5
5
  import {
6
6
  disconnectStateAdapter
7
- } from "../chunk-OUHNWH46.js";
7
+ } from "../chunk-PYKKM4MM.js";
8
8
  import "../chunk-4ZNGQH7C.js";
9
- import "../chunk-JNAVF45E.js";
10
- import "../chunk-O3JMSZLI.js";
9
+ import "../chunk-NQLWOTY4.js";
10
+ import "../chunk-6Y5L4BOM.js";
11
11
  import {
12
12
  pluginCatalogRuntime
13
- } from "../chunk-3SXUV423.js";
14
- import "../chunk-TT6GMXNA.js";
15
- import "../chunk-PLB7MRCQ.js";
16
- import "../chunk-ISMWX44P.js";
17
- import "../chunk-OB42YVAE.js";
13
+ } from "../chunk-WSRBFHPX.js";
14
+ import "../chunk-XQAYFRWT.js";
15
+ import "../chunk-C4MZ3GP5.js";
16
+ import "../chunk-J7APPQIJ.js";
17
+ import "../chunk-42WRQLJ6.js";
18
18
  import "../chunk-6GWA276C.js";
19
19
  import "../chunk-B3IT5END.js";
20
20
  import "../chunk-3V7OFJZC.js";
21
- import "../chunk-IVVGFRQQ.js";
22
- import "../chunk-OCD3OZRK.js";
21
+ import "../chunk-MPVES2IC.js";
22
+ import "../chunk-Z4G3WCP3.js";
23
23
  import "../chunk-MLKGABMK.js";
24
24
 
25
25
  // src/cli/snapshot-warmup.ts
@@ -8,23 +8,23 @@ import {
8
8
  } from "../chunk-Y2CM7HXH.js";
9
9
  import {
10
10
  createJuniorSqlExecutor
11
- } from "../chunk-TMBRFULF.js";
11
+ } from "../chunk-JQFJO5WH.js";
12
12
  import {
13
13
  getChatConfig
14
- } from "../chunk-JNAVF45E.js";
14
+ } from "../chunk-NQLWOTY4.js";
15
15
  import "../chunk-VFUK3X5B.js";
16
- import "../chunk-O3JMSZLI.js";
16
+ import "../chunk-6Y5L4BOM.js";
17
17
  import {
18
18
  createPluginCatalogRuntime
19
- } from "../chunk-TT6GMXNA.js";
20
- import "../chunk-PLB7MRCQ.js";
21
- import "../chunk-ISMWX44P.js";
22
- import "../chunk-OB42YVAE.js";
19
+ } from "../chunk-XQAYFRWT.js";
20
+ import "../chunk-C4MZ3GP5.js";
21
+ import "../chunk-J7APPQIJ.js";
22
+ import "../chunk-42WRQLJ6.js";
23
23
  import "../chunk-6GWA276C.js";
24
24
  import "../chunk-B3IT5END.js";
25
25
  import "../chunk-3V7OFJZC.js";
26
- import "../chunk-IVVGFRQQ.js";
27
- import "../chunk-OCD3OZRK.js";
26
+ import "../chunk-MPVES2IC.js";
27
+ import "../chunk-Z4G3WCP3.js";
28
28
  import "../chunk-MLKGABMK.js";
29
29
 
30
30
  // src/chat/conversations/sql/migrations.ts
@@ -430,6 +430,23 @@ export declare const juniorConversations: import("drizzle-orm/pg-core").PgTableW
430
430
  identity: undefined;
431
431
  generated: undefined;
432
432
  }, {}, {}>;
433
+ rootConversationId: import("drizzle-orm/pg-core").PgColumn<{
434
+ name: "root_conversation_id";
435
+ tableName: "junior_conversations";
436
+ dataType: "string";
437
+ columnType: "PgText";
438
+ data: string;
439
+ driverParam: string;
440
+ notNull: false;
441
+ hasDefault: false;
442
+ isPrimaryKey: false;
443
+ isAutoincrement: false;
444
+ hasRuntimeDefault: false;
445
+ enumValues: [string, ...string[]];
446
+ baseColumn: never;
447
+ identity: undefined;
448
+ generated: undefined;
449
+ }, {}, {}>;
433
450
  transcriptPurgedAt: import("drizzle-orm/pg-core").PgColumn<{
434
451
  name: string;
435
452
  tableName: "junior_conversations";
@@ -581,6 +581,23 @@ export declare const juniorSqlSchema: {
581
581
  identity: undefined;
582
582
  generated: undefined;
583
583
  }, {}, {}>;
584
+ rootConversationId: import("drizzle-orm/pg-core").PgColumn<{
585
+ name: "root_conversation_id";
586
+ tableName: "junior_conversations";
587
+ dataType: "string";
588
+ columnType: "PgText";
589
+ data: string;
590
+ driverParam: string;
591
+ notNull: false;
592
+ hasDefault: false;
593
+ isPrimaryKey: false;
594
+ isAutoincrement: false;
595
+ hasRuntimeDefault: false;
596
+ enumValues: [string, ...string[]];
597
+ baseColumn: never;
598
+ identity: undefined;
599
+ generated: undefined;
600
+ }, {}, {}>;
584
601
  transcriptPurgedAt: import("drizzle-orm/pg-core").PgColumn<{
585
602
  name: string;
586
603
  tableName: "junior_conversations";
@@ -5,17 +5,16 @@ import {
5
5
  getConversationStore,
6
6
  getDb,
7
7
  getSqlExecutor
8
- } from "./chunk-FENLIFJD.js";
9
- import "./chunk-TMBRFULF.js";
10
- import "./chunk-JNAVF45E.js";
8
+ } from "./chunk-ZRZ4SVWG.js";
9
+ import "./chunk-JQFJO5WH.js";
10
+ import "./chunk-NQLWOTY4.js";
11
11
  import "./chunk-VFUK3X5B.js";
12
- import "./chunk-O3JMSZLI.js";
13
- import "./chunk-SYAQIR5Z.js";
14
- import "./chunk-ISMWX44P.js";
15
- import "./chunk-OB42YVAE.js";
12
+ import "./chunk-6Y5L4BOM.js";
13
+ import "./chunk-J7APPQIJ.js";
14
+ import "./chunk-42WRQLJ6.js";
16
15
  import "./chunk-6GWA276C.js";
17
- import "./chunk-IVVGFRQQ.js";
18
- import "./chunk-OCD3OZRK.js";
16
+ import "./chunk-MPVES2IC.js";
17
+ import "./chunk-Z4G3WCP3.js";
19
18
  import "./chunk-MLKGABMK.js";
20
19
  export {
21
20
  closeDb,
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-UIE3R5XU.js";
4
4
  import {
5
5
  getCurrentConversationPrivacy
6
- } from "./chunk-O3JMSZLI.js";
7
- import "./chunk-OB42YVAE.js";
6
+ } from "./chunk-6Y5L4BOM.js";
7
+ import "./chunk-42WRQLJ6.js";
8
8
  import {
9
9
  getClient,
10
10
  getGlobalScope,
@@ -15,8 +15,8 @@ import {
15
15
  import {
16
16
  getDeploymentServiceVersion,
17
17
  getDeploymentTelemetryAttributes
18
- } from "./chunk-IVVGFRQQ.js";
19
- import "./chunk-OCD3OZRK.js";
18
+ } from "./chunk-MPVES2IC.js";
19
+ import "./chunk-Z4G3WCP3.js";
20
20
  import "./chunk-MLKGABMK.js";
21
21
 
22
22
  // src/chat/sentry-payload-filter.ts
package/dist/nitro.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveConversationWorkQueueTopic
3
- } from "./chunk-7Q6WCISF.js";
3
+ } from "./chunk-MIAKQNYX.js";
4
4
  import {
5
5
  PLUGIN_TASK_QUEUE_TOPIC
6
6
  } from "./chunk-KNFROR7R.js";
@@ -12,7 +12,6 @@ import {
12
12
  loadPluginSetFromModule,
13
13
  resolvePluginModule
14
14
  } from "./chunk-Y2CM7HXH.js";
15
- import "./chunk-SYAQIR5Z.js";
16
15
  import {
17
16
  discoverInstalledPluginPackageContent,
18
17
  isValidPackageName,
@@ -26,8 +25,8 @@ import {
26
25
  JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE,
27
26
  JUNIOR_RETENTION_CRON_SCHEDULE,
28
27
  JUNIOR_RETENTION_ROUTE
29
- } from "./chunk-IVVGFRQQ.js";
30
- import "./chunk-OCD3OZRK.js";
28
+ } from "./chunk-MPVES2IC.js";
29
+ import "./chunk-Z4G3WCP3.js";
31
30
  import "./chunk-MLKGABMK.js";
32
31
 
33
32
  // src/nitro.ts
@@ -261,7 +260,8 @@ function renderVirtualConfig(options) {
261
260
  ] : ["export const pluginSet = undefined;"],
262
261
  `export const plugins = ${JSON.stringify(options.plugins ?? { packages: [] })};`,
263
262
  `export const pluginRuntimeRegistrations = ${JSON.stringify(options.pluginRuntimeRegistrations ?? [])};`,
264
- `export const dashboard = ${JSON.stringify(options.dashboard)};`
263
+ `export const dashboard = ${JSON.stringify(options.dashboard)};`,
264
+ `export const functionMaxDurationSeconds = ${JSON.stringify(options.functionMaxDurationSeconds)};`
265
265
  ];
266
266
  return lines.join("\n");
267
267
  }
@@ -272,6 +272,7 @@ function injectVirtualConfig(nitro, options = {}) {
272
272
  }
273
273
  const pluginSet = await options.loadPluginSet();
274
274
  return renderVirtualConfig({
275
+ functionMaxDurationSeconds: options.functionMaxDurationSeconds,
275
276
  pluginModule: options.pluginModule,
276
277
  plugins: pluginCatalogConfigFromPluginSet(pluginSet),
277
278
  pluginRuntimeRegistrations: pluginRuntimeRegistrationsFromPluginSet(
@@ -348,8 +349,7 @@ function configureVercelDeployment(nitro, options) {
348
349
  });
349
350
  }
350
351
  nitro.options.vercel.functions ??= {};
351
- nitro.options.vercel.functions.maxDuration ??= defaultMaxDuration;
352
- const callbackMaxDuration = nitro.options.vercel.functions.maxDuration ?? defaultMaxDuration;
352
+ nitro.options.vercel.functions.maxDuration = defaultMaxDuration;
353
353
  nitro.options.vercel.functionRules ??= {};
354
354
  const existingRule = nitro.options.vercel.functionRules[JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE] ?? {};
355
355
  const existingTriggers = Array.isArray(existingRule.experimentalTriggers) ? existingRule.experimentalTriggers : [];
@@ -357,8 +357,8 @@ function configureVercelDeployment(nitro, options) {
357
357
  (trigger) => trigger.type !== VERCEL_QUEUE_TRIGGER_TYPE
358
358
  );
359
359
  nitro.options.vercel.functionRules[JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE] = {
360
- maxDuration: callbackMaxDuration,
361
360
  ...existingRule,
361
+ maxDuration: defaultMaxDuration,
362
362
  experimentalTriggers: [
363
363
  ...otherTriggers,
364
364
  {
@@ -375,8 +375,8 @@ function configureVercelDeployment(nitro, options) {
375
375
  (trigger) => trigger.type !== VERCEL_QUEUE_TRIGGER_TYPE
376
376
  );
377
377
  nitro.options.vercel.functionRules[JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE] = {
378
- maxDuration: callbackMaxDuration,
379
378
  ...existingPluginTaskRule,
379
+ maxDuration: defaultMaxDuration,
380
380
  experimentalTriggers: [
381
381
  ...otherPluginTaskTriggers,
382
382
  {
@@ -385,6 +385,7 @@ function configureVercelDeployment(nitro, options) {
385
385
  }
386
386
  ]
387
387
  };
388
+ return defaultMaxDuration;
388
389
  }
389
390
  function juniorNitro(options = {}) {
390
391
  return {
@@ -393,7 +394,10 @@ function juniorNitro(options = {}) {
393
394
  const cwd = path2.resolve(
394
395
  options.cwd ?? nitro.options.rootDir ?? process.cwd()
395
396
  );
396
- configureVercelDeployment(nitro, options);
397
+ const functionMaxDurationSeconds = configureVercelDeployment(
398
+ nitro,
399
+ options
400
+ );
397
401
  bundleOpenTelemetryLoaderHooks(nitro);
398
402
  applyRolldownTreeshakeWorkaround(nitro);
399
403
  const pluginSource = options.plugins;
@@ -412,6 +416,7 @@ function juniorNitro(options = {}) {
412
416
  (plugin) => plugin.manifest.name
413
417
  );
414
418
  injectVirtualConfig(nitro, {
419
+ functionMaxDurationSeconds,
415
420
  ...pluginModule ? {
416
421
  loadPluginSet: loadConfiguredPluginSet,
417
422
  pluginModule: runtimeModuleForResolvedPluginModule(pluginModule)
@@ -90,6 +90,29 @@ export declare const pluginOperationalReportSchema: z.ZodObject<{
90
90
  }, z.core.$strict>>>;
91
91
  title: z.ZodOptional<z.ZodString>;
92
92
  pluginName: z.ZodString;
93
+ widgets: z.ZodOptional<z.ZodArray<z.ZodObject<{
94
+ categories: z.ZodArray<z.ZodObject<{
95
+ id: z.ZodString;
96
+ label: z.ZodString;
97
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
98
+ }, z.core.$strict>>;
99
+ description: z.ZodOptional<z.ZodString>;
100
+ emptyText: z.ZodOptional<z.ZodString>;
101
+ id: z.ZodString;
102
+ series: z.ZodArray<z.ZodObject<{
103
+ key: z.ZodString;
104
+ label: z.ZodString;
105
+ tone: z.ZodOptional<z.ZodEnum<{
106
+ warning: "warning";
107
+ danger: "danger";
108
+ good: "good";
109
+ neutral: "neutral";
110
+ }>>;
111
+ }, z.core.$strict>>;
112
+ timeRangeDays: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<7>, z.ZodLiteral<30>, z.ZodLiteral<90>]>>>;
113
+ title: z.ZodString;
114
+ type: z.ZodLiteral<"bar_chart">;
115
+ }, z.core.$strict>>>;
93
116
  }, z.core.$strict>;
94
117
  export declare const pluginOperationalReportFeedSchema: z.ZodObject<{
95
118
  generatedAt: z.ZodString;
@@ -125,6 +148,29 @@ export declare const pluginOperationalReportFeedSchema: z.ZodObject<{
125
148
  }, z.core.$strict>>>;
126
149
  title: z.ZodOptional<z.ZodString>;
127
150
  pluginName: z.ZodString;
151
+ widgets: z.ZodOptional<z.ZodArray<z.ZodObject<{
152
+ categories: z.ZodArray<z.ZodObject<{
153
+ id: z.ZodString;
154
+ label: z.ZodString;
155
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
156
+ }, z.core.$strict>>;
157
+ description: z.ZodOptional<z.ZodString>;
158
+ emptyText: z.ZodOptional<z.ZodString>;
159
+ id: z.ZodString;
160
+ series: z.ZodArray<z.ZodObject<{
161
+ key: z.ZodString;
162
+ label: z.ZodString;
163
+ tone: z.ZodOptional<z.ZodEnum<{
164
+ warning: "warning";
165
+ danger: "danger";
166
+ good: "good";
167
+ neutral: "neutral";
168
+ }>>;
169
+ }, z.core.$strict>>;
170
+ timeRangeDays: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<7>, z.ZodLiteral<30>, z.ZodLiteral<90>]>>>;
171
+ title: z.ZodString;
172
+ type: z.ZodLiteral<"bar_chart">;
173
+ }, z.core.$strict>>>;
128
174
  }, z.core.$strict>>;
129
175
  source: z.ZodLiteral<"plugins">;
130
176
  }, z.core.$strict>;
@@ -4,7 +4,7 @@ import {
4
4
  finalizeFailedTurnReplyWithEvent,
5
5
  processPluginTask,
6
6
  scheduleSessionCompletedPluginTasks
7
- } from "./chunk-MXW4GL53.js";
7
+ } from "./chunk-PZELBSHC.js";
8
8
  import "./chunk-KNFROR7R.js";
9
9
  import {
10
10
  buildConversationContext,
@@ -25,32 +25,31 @@ import {
25
25
  startActiveTurn,
26
26
  updateConversationStats,
27
27
  upsertConversationMessage
28
- } from "./chunk-72OMGPDS.js";
28
+ } from "./chunk-SL3ZKNLQ.js";
29
29
  import "./chunk-MU6HHZEN.js";
30
30
  import "./chunk-PDO5BLNM.js";
31
- import "./chunk-QY636HZU.js";
32
- import "./chunk-OUHNWH46.js";
33
- import "./chunk-RGX4V75M.js";
31
+ import "./chunk-QQIVLZW4.js";
32
+ import "./chunk-PYKKM4MM.js";
33
+ import "./chunk-IFAHK54X.js";
34
34
  import {
35
35
  getConversationEventStore
36
- } from "./chunk-FENLIFJD.js";
37
- import "./chunk-TMBRFULF.js";
36
+ } from "./chunk-ZRZ4SVWG.js";
37
+ import "./chunk-JQFJO5WH.js";
38
38
  import "./chunk-4ZNGQH7C.js";
39
39
  import {
40
40
  stripRuntimeTurnContext,
41
41
  trimTrailingAssistantMessages
42
- } from "./chunk-JNAVF45E.js";
42
+ } from "./chunk-NQLWOTY4.js";
43
43
  import "./chunk-VFUK3X5B.js";
44
- import "./chunk-O3JMSZLI.js";
45
- import "./chunk-SYAQIR5Z.js";
46
- import "./chunk-PLB7MRCQ.js";
44
+ import "./chunk-6Y5L4BOM.js";
45
+ import "./chunk-C4MZ3GP5.js";
47
46
  import {
48
47
  logException
49
- } from "./chunk-ISMWX44P.js";
50
- import "./chunk-OB42YVAE.js";
48
+ } from "./chunk-J7APPQIJ.js";
49
+ import "./chunk-42WRQLJ6.js";
51
50
  import "./chunk-6GWA276C.js";
52
- import "./chunk-IVVGFRQQ.js";
53
- import "./chunk-OCD3OZRK.js";
51
+ import "./chunk-MPVES2IC.js";
52
+ import "./chunk-Z4G3WCP3.js";
54
53
  import "./chunk-MLKGABMK.js";
55
54
 
56
55
  // src/chat/local/runner.ts
@@ -117,10 +116,9 @@ async function runLocalAgentTurn(input, deps) {
117
116
  conversationId: input.conversationId
118
117
  });
119
118
  let artifacts = coerceThreadArtifactsState(persisted);
120
- let { sandboxId, sandboxDependencyProfileHash } = getPersistedSandboxState(persisted);
119
+ let sandboxRef = getPersistedSandboxState(persisted);
121
120
  const initialArtifacts = artifacts;
122
- const initialSandboxId = sandboxId;
123
- const initialSandboxDependencyProfileHash = sandboxDependencyProfileHash;
121
+ const initialSandboxRef = sandboxRef;
124
122
  const turnId = localTurnId();
125
123
  const userMessageId = `${turnId}:user`;
126
124
  const startedAtMs = now();
@@ -229,10 +227,7 @@ async function runLocalAgentTurn(input, deps) {
229
227
  },
230
228
  state: {
231
229
  artifactState: artifacts,
232
- sandbox: {
233
- sandboxId,
234
- sandboxDependencyProfileHash
235
- }
230
+ sandboxRef
236
231
  },
237
232
  observers: {
238
233
  onStatus: async (status) => {
@@ -254,18 +249,15 @@ async function runLocalAgentTurn(input, deps) {
254
249
  await persistThreadStateById(input.conversationId, {
255
250
  artifacts,
256
251
  conversation,
257
- sandboxId,
258
- sandboxDependencyProfileHash
252
+ sandboxRef
259
253
  });
260
254
  },
261
- onSandboxAcquired: async (sandbox) => {
262
- sandboxId = sandbox.sandboxId;
263
- sandboxDependencyProfileHash = sandbox.sandboxDependencyProfileHash;
255
+ onSandboxRefChanged: async (nextSandboxRef) => {
256
+ sandboxRef = nextSandboxRef;
264
257
  await persistThreadStateById(input.conversationId, {
265
258
  artifacts,
266
259
  conversation,
267
- sandboxId,
268
- sandboxDependencyProfileHash
260
+ sandboxRef
269
261
  });
270
262
  }
271
263
  }
@@ -312,8 +304,7 @@ async function runLocalAgentTurn(input, deps) {
312
304
  await persistThreadStateById(input.conversationId, {
313
305
  artifacts: initialArtifacts,
314
306
  conversation,
315
- sandboxId: initialSandboxId ?? "",
316
- sandboxDependencyProfileHash: initialSandboxDependencyProfileHash ?? ""
307
+ sandboxRef: initialSandboxRef ?? null
317
308
  });
318
309
  } catch (persistenceError) {
319
310
  const persistenceEventId = captureLocalBoundaryFailure({
@@ -348,8 +339,7 @@ async function runLocalAgentTurn(input, deps) {
348
339
  await persistThreadStateById(input.conversationId, {
349
340
  artifacts: completedState.artifacts ?? artifacts,
350
341
  conversation: completedState.conversation,
351
- sandboxId: reply.sandboxId ?? sandboxId,
352
- sandboxDependencyProfileHash: reply.sandboxDependencyProfileHash ?? sandboxDependencyProfileHash
342
+ sandboxRef: reply.sandboxRef ?? sandboxRef
353
343
  });
354
344
  if (reply.piMessages?.length) {
355
345
  await (deps.completeDeliveredTurn ?? completeDeliveredTurn)({
@@ -6,17 +6,17 @@ import {
6
6
  parseSkillInvocation,
7
7
  resetSkillDiscoveryCache,
8
8
  stripFrontmatter
9
- } from "./chunk-WHMOBKT7.js";
10
- import "./chunk-3SXUV423.js";
11
- import "./chunk-TT6GMXNA.js";
12
- import "./chunk-PLB7MRCQ.js";
13
- import "./chunk-ISMWX44P.js";
14
- import "./chunk-OB42YVAE.js";
9
+ } from "./chunk-BTRNMS6A.js";
10
+ import "./chunk-WSRBFHPX.js";
11
+ import "./chunk-XQAYFRWT.js";
12
+ import "./chunk-C4MZ3GP5.js";
13
+ import "./chunk-J7APPQIJ.js";
14
+ import "./chunk-42WRQLJ6.js";
15
15
  import "./chunk-6GWA276C.js";
16
16
  import "./chunk-B3IT5END.js";
17
17
  import "./chunk-3V7OFJZC.js";
18
- import "./chunk-IVVGFRQQ.js";
19
- import "./chunk-OCD3OZRK.js";
18
+ import "./chunk-MPVES2IC.js";
19
+ import "./chunk-Z4G3WCP3.js";
20
20
  import "./chunk-MLKGABMK.js";
21
21
  export {
22
22
  discoverSkills,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  validatePluginEgressCredentialHooks,
3
3
  validatePluginRegistrations
4
- } from "./chunk-MGUMR35T.js";
5
- import "./chunk-3SXUV423.js";
6
- import "./chunk-TT6GMXNA.js";
7
- import "./chunk-PLB7MRCQ.js";
8
- import "./chunk-ISMWX44P.js";
9
- import "./chunk-OB42YVAE.js";
4
+ } from "./chunk-Z2W4SJZ7.js";
5
+ import "./chunk-WSRBFHPX.js";
6
+ import "./chunk-XQAYFRWT.js";
7
+ import "./chunk-C4MZ3GP5.js";
8
+ import "./chunk-J7APPQIJ.js";
9
+ import "./chunk-42WRQLJ6.js";
10
10
  import "./chunk-6GWA276C.js";
11
11
  import "./chunk-B3IT5END.js";
12
12
  import "./chunk-3V7OFJZC.js";
13
- import "./chunk-IVVGFRQQ.js";
14
- import "./chunk-OCD3OZRK.js";
13
+ import "./chunk-MPVES2IC.js";
14
+ import "./chunk-Z4G3WCP3.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
  export {
17
17
  validatePluginEgressCredentialHooks,
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  JUNIOR_VERSION
3
- } from "./chunk-OCD3OZRK.js";
3
+ } from "./chunk-Z4G3WCP3.js";
4
4
  import "./chunk-MLKGABMK.js";
5
5
  export {
6
6
  JUNIOR_VERSION
@@ -0,0 +1,23 @@
1
+ ALTER TABLE "junior_conversations" ADD COLUMN "root_conversation_id" text;--> statement-breakpoint
2
+ WITH RECURSIVE "conversation_roots" AS (
3
+ SELECT
4
+ "conversation_id",
5
+ "conversation_id" AS "root_conversation_id"
6
+ FROM "junior_conversations"
7
+ WHERE "parent_conversation_id" IS NULL
8
+
9
+ UNION ALL
10
+
11
+ SELECT
12
+ child."conversation_id",
13
+ parent."root_conversation_id"
14
+ FROM "junior_conversations" child
15
+ JOIN "conversation_roots" parent
16
+ ON child."parent_conversation_id" = parent."conversation_id"
17
+ )
18
+ UPDATE "junior_conversations" conversation
19
+ SET "root_conversation_id" = roots."root_conversation_id"
20
+ FROM "conversation_roots" roots
21
+ WHERE conversation."conversation_id" = roots."conversation_id";--> statement-breakpoint
22
+ ALTER TABLE "junior_conversations" ADD CONSTRAINT "junior_conversations_root_conversation_id_junior_conversations_conversation_id_fk" FOREIGN KEY ("root_conversation_id") REFERENCES "public"."junior_conversations"("conversation_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
23
+ CREATE INDEX "junior_conversations_root_idx" ON "junior_conversations" USING btree ("root_conversation_id");