@opengeni/worker-bundle 0.29.0-canary.0 → 0.29.0-canary.2

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 (49) hide show
  1. package/dist/activities/agent-turn/knowledge-source-tools.d.ts +9 -0
  2. package/dist/activities/agent-turn/knowledge-sources.d.ts +20 -0
  3. package/dist/activities/agent-turn/stream-attempt.d.ts +1 -0
  4. package/dist/activities/agent-turn/tool-environment.d.ts +1 -0
  5. package/dist/activities/knowledge-indexing.d.ts +10 -0
  6. package/dist/activities/run-input.d.ts +1 -0
  7. package/dist/activities/types.d.ts +10 -3
  8. package/dist/{activities-control-MKGEOBXT.js → activities-control-HMFGSKC5.js} +331 -3381
  9. package/dist/activities-control-HMFGSKC5.js.map +1 -0
  10. package/dist/activities-control.d.ts +12 -0
  11. package/dist/{activities-turn-5MZZ6HQA.js → activities-turn-AP67JADS.js} +1296 -1021
  12. package/dist/activities-turn-AP67JADS.js.map +1 -0
  13. package/dist/activities.d.ts +12 -0
  14. package/dist/{chunk-OA5CSY5N.js → chunk-CYITU5UH.js} +3348 -174
  15. package/dist/chunk-CYITU5UH.js.map +1 -0
  16. package/dist/index.d.ts +13 -0
  17. package/dist/index.js +48 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/workflow-bundle.js +65 -35
  20. package/dist/workflows/knowledge-indexing.d.ts +2 -0
  21. package/dist/workflows.d.ts +1 -0
  22. package/package.json +19 -18
  23. package/src/activities/agent-turn/knowledge-source-tools.ts +98 -0
  24. package/src/activities/agent-turn/knowledge-sources.ts +86 -0
  25. package/src/activities/agent-turn/run.ts +1244 -1112
  26. package/src/activities/agent-turn/skill-install.ts +1 -1
  27. package/src/activities/agent-turn/skill-save.ts +1 -1
  28. package/src/activities/agent-turn/skill-selection.ts +2 -0
  29. package/src/activities/agent-turn/skill-tools.ts +5 -12
  30. package/src/activities/agent-turn/stream-attempt.ts +3 -0
  31. package/src/activities/agent-turn/tool-environment.ts +24 -0
  32. package/src/activities/codex-image-generation.ts +1 -2
  33. package/src/activities/documents.ts +17 -52
  34. package/src/activities/knowledge-indexing.ts +130 -0
  35. package/src/activities/knowledge-source-sync.ts +120 -16
  36. package/src/activities/mcp-credentials.ts +2 -0
  37. package/src/activities/run-input.ts +2 -0
  38. package/src/activities/scheduled-tasks.ts +25 -62
  39. package/src/activities/types.ts +8 -2
  40. package/src/activities/video-generation-reconciliation.ts +8 -1
  41. package/src/activities-control.ts +2 -0
  42. package/src/activities.ts +1 -0
  43. package/src/index.ts +49 -0
  44. package/src/pr-review-credentials.ts +2 -2
  45. package/src/workflows/knowledge-indexing.ts +12 -0
  46. package/src/workflows.ts +1 -0
  47. package/dist/activities-control-MKGEOBXT.js.map +0 -1
  48. package/dist/activities-turn-5MZZ6HQA.js.map +0 -1
  49. package/dist/chunk-OA5CSY5N.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -11,6 +11,8 @@ import { type WorkerLifecycleState } from "./http.js";
11
11
  import { type TurnTaskQueueStats } from "./observability-metrics.js";
12
12
  import { type WorkerRunTarget } from "./worker-service-lifecycle.js";
13
13
  export { createHostExportPump, type HostExportDrainResult, type HostExportPump, type HostExportPumpOptions, type HostEventExport, type HostEventExportBatch, type HostEventSink, type HostUsageExport, type HostUsageExportBatch, type HostUsageSink, } from "./host-export.js";
14
+ export declare const KNOWLEDGE_INDEXING_SCHEDULE_ID = "opengeni-knowledge-indexing";
15
+ export declare const KNOWLEDGE_INDEXING_PERIOD_MS = 15000;
14
16
  export declare const FILE_UPLOAD_REAPER_SCHEDULE_ID = "opengeni-file-upload-reaper";
15
17
  export declare const FILE_UPLOAD_REAPER_PERIOD_MS: number;
16
18
  export declare const SITE_AUTH_MAINTENANCE_SCHEDULE_ID = "opengeni-site-auth-maintenance";
@@ -47,6 +49,12 @@ export declare function temporalWorkflowExecutionNotFound(error: unknown): boole
47
49
  * process-RSS conformance benchmark; construction remains side-effect free
48
50
  * until an activity first resolves its injected services. */
49
51
  export declare function createDefaultWorkerActivities(role: OpenGeniWorkerRole, dependencies?: ActivityDependencies): Promise<{
52
+ indexKnowledge: () => Promise<{
53
+ completed: number;
54
+ advanced: number;
55
+ deferred: number;
56
+ unavailable: number;
57
+ }>;
50
58
  getCodexCapacityWait: (input: import("./activities.js").GetCodexCapacityWaitInput) => Promise<{
51
59
  provider?: "xai";
52
60
  waiterId: string;
@@ -260,6 +268,11 @@ export declare function registerSandboxReaperSchedule(settings: Settings, observ
260
268
  registered: boolean;
261
269
  close: () => Promise<void>;
262
270
  }>;
271
+ /** Register the deployment-wide worker for rebuildable Knowledge search projections. */
272
+ export declare function registerKnowledgeIndexingSchedule(settings: Settings, observability: Observability): Promise<{
273
+ registered: boolean;
274
+ close: () => Promise<void>;
275
+ }>;
263
276
  /**
264
277
  * Register the one provider-neutral expired direct-upload cleanup Schedule.
265
278
  * Unlike sandbox GC this is always registered: file uploads can be enabled in
package/dist/index.js CHANGED
@@ -764,6 +764,8 @@ function installWorkerUnhandledRejectionBoundary(runtimeProcess = process, repor
764
764
 
765
765
  // src/index.ts
766
766
  var SANDBOX_REAPER_SCHEDULE_ID = "opengeni-sandbox-lease-reaper";
767
+ var KNOWLEDGE_INDEXING_SCHEDULE_ID = "opengeni-knowledge-indexing";
768
+ var KNOWLEDGE_INDEXING_PERIOD_MS = 15e3;
767
769
  var FILE_UPLOAD_REAPER_SCHEDULE_ID = "opengeni-file-upload-reaper";
768
770
  var FILE_UPLOAD_REAPER_PERIOD_MS = 15 * 60 * 1e3;
769
771
  var SITE_AUTH_MAINTENANCE_SCHEDULE_ID = "opengeni-site-auth-maintenance";
@@ -782,7 +784,7 @@ function temporalWorkflowExecutionNotFound(error) {
782
784
  return isGrpcServiceError(error) && error.code === 5;
783
785
  }
784
786
  async function createDefaultWorkerActivities(role, dependencies = {}) {
785
- return role === "control" ? (await import("./activities-control-MKGEOBXT.js")).createControlActivities(dependencies) : (await import("./activities-turn-5MZZ6HQA.js")).createTurnActivities(dependencies);
787
+ return role === "control" ? (await import("./activities-control-HMFGSKC5.js")).createControlActivities(dependencies) : (await import("./activities-turn-AP67JADS.js")).createTurnActivities(dependencies);
786
788
  }
787
789
  function resolveOpenGeniWorkflowDefinition(moduleUrl = import.meta.url) {
788
790
  const modulePath = fileURLToPath(moduleUrl).replaceAll("\\", "/");
@@ -1119,6 +1121,41 @@ async function registerSandboxReaperSchedule(settings, observability) {
1119
1121
  throw error;
1120
1122
  }
1121
1123
  }
1124
+ async function registerKnowledgeIndexingSchedule(settings, observability) {
1125
+ const connection = await Connection.connect(temporalConnectionOptions(settings));
1126
+ const temporal = new TemporalClient({ connection, namespace: settings.temporalNamespace });
1127
+ try {
1128
+ await temporal.schedule.create({
1129
+ scheduleId: KNOWLEDGE_INDEXING_SCHEDULE_ID,
1130
+ spec: { intervals: [{ every: KNOWLEDGE_INDEXING_PERIOD_MS }] },
1131
+ action: {
1132
+ type: "startWorkflow",
1133
+ workflowType: "knowledgeIndexingWorkflow",
1134
+ taskQueue: settings.temporalTaskQueue,
1135
+ args: []
1136
+ },
1137
+ policies: {
1138
+ overlap: ScheduleOverlapPolicy.SKIP,
1139
+ catchupWindow: "1m",
1140
+ pauseOnFailure: false
1141
+ }
1142
+ });
1143
+ observability.info("Registered the global Knowledge indexer Schedule", {
1144
+ scheduleId: KNOWLEDGE_INDEXING_SCHEDULE_ID,
1145
+ indexingPeriodMs: KNOWLEDGE_INDEXING_PERIOD_MS
1146
+ });
1147
+ return { registered: true, close: async () => connection.close() };
1148
+ } catch (error) {
1149
+ if (error instanceof ScheduleAlreadyRunning) {
1150
+ observability.info("Global Knowledge indexer Schedule already registered", {
1151
+ scheduleId: KNOWLEDGE_INDEXING_SCHEDULE_ID
1152
+ });
1153
+ return { registered: false, close: async () => connection.close() };
1154
+ }
1155
+ await connection.close().catch(() => void 0);
1156
+ throw error;
1157
+ }
1158
+ }
1122
1159
  async function registerFileUploadReaperSchedule(settings, observability) {
1123
1160
  const connection = await Connection.connect(temporalConnectionOptions(settings));
1124
1161
  const temporal = new TemporalClient({ connection, namespace: settings.temporalNamespace });
@@ -1313,6 +1350,13 @@ async function createOpenGeniWorkerService(options) {
1313
1350
  { ...retryOptions, onRetry }
1314
1351
  )
1315
1352
  );
1353
+ schedules.push(
1354
+ await retryStartupDependency(
1355
+ "Temporal schedule (Knowledge indexing)",
1356
+ () => registerKnowledgeIndexingSchedule(settings, observability),
1357
+ { ...retryOptions, onRetry }
1358
+ )
1359
+ );
1316
1360
  schedules.push(
1317
1361
  await retryStartupDependency(
1318
1362
  "Temporal schedule (file upload reaper)",
@@ -1525,6 +1569,8 @@ if (import.meta.main) {
1525
1569
  export {
1526
1570
  FILE_UPLOAD_REAPER_PERIOD_MS,
1527
1571
  FILE_UPLOAD_REAPER_SCHEDULE_ID,
1572
+ KNOWLEDGE_INDEXING_PERIOD_MS,
1573
+ KNOWLEDGE_INDEXING_SCHEDULE_ID,
1528
1574
  SITE_AUTH_MAINTENANCE_PERIOD_MS,
1529
1575
  SITE_AUTH_MAINTENANCE_SCHEDULE_ID,
1530
1576
  createDefaultWorkerActivities,
@@ -1533,6 +1579,7 @@ export {
1533
1579
  createOpenGeniWorkerService,
1534
1580
  createWorkerWorkflowSignaler,
1535
1581
  registerFileUploadReaperSchedule,
1582
+ registerKnowledgeIndexingSchedule,
1536
1583
  registerSandboxReaperSchedule,
1537
1584
  registerSessionWorkflowWakeDispatcherSchedule,
1538
1585
  registerSiteAuthMaintenanceSchedule,