@opengeni/worker-bundle 3.2.2 → 3.4.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 (38) hide show
  1. package/dist/activities/agent-turn/admission.d.ts +1 -1
  2. package/dist/{activities-control-LC7WXEIX.js → activities-control-EWP3UDZP.js} +5 -5
  3. package/dist/{activities-turn-PEDPUZI4.js → activities-turn-COUX2R3A.js} +17 -4
  4. package/dist/activities-turn-COUX2R3A.js.map +1 -0
  5. package/dist/artifact-materializer-entry.js +1 -0
  6. package/dist/artifact-materializer-entry.js.map +1 -1
  7. package/dist/artifact-outbox-entry.js +3 -1
  8. package/dist/artifact-outbox-entry.js.map +1 -1
  9. package/dist/{chunk-5NNS4327.js → chunk-BX3KRGDM.js} +10 -4
  10. package/dist/{chunk-5NNS4327.js.map → chunk-BX3KRGDM.js.map} +1 -1
  11. package/dist/{chunk-NQDVJ6RI.js → chunk-PFCSGZGA.js} +10 -5
  12. package/dist/{chunk-NQDVJ6RI.js.map → chunk-PFCSGZGA.js.map} +1 -1
  13. package/dist/{chunk-O7HT4LHX.js → chunk-PG66GHGH.js} +3 -3
  14. package/dist/{chunk-436TOEBL.js → chunk-XUIWRRTY.js} +5 -4
  15. package/dist/chunk-XUIWRRTY.js.map +1 -0
  16. package/dist/editable-artifact-outbox-dispatcher.d.ts +2 -0
  17. package/dist/index.js +30 -5
  18. package/dist/index.js.map +1 -1
  19. package/dist/internal-maintenance.d.ts +3 -1
  20. package/dist/observability-metrics.d.ts +14 -0
  21. package/dist/{sandbox-lease-F47EDHHY.js → sandbox-lease-XBZWILZ3.js} +4 -4
  22. package/dist/sandbox-routing.d.ts +1 -0
  23. package/package.json +26 -26
  24. package/src/activities/agent-turn/run.ts +15 -0
  25. package/src/activities/agent-turn/sandbox-establish.ts +2 -0
  26. package/src/activity-services.ts +3 -0
  27. package/src/editable-artifact-materializer-service.ts +3 -0
  28. package/src/editable-artifact-outbox-dispatcher.ts +5 -0
  29. package/src/editable-artifact-outbox-service.ts +3 -0
  30. package/src/index.ts +6 -0
  31. package/src/internal-maintenance.ts +24 -0
  32. package/src/observability-metrics.ts +20 -3
  33. package/src/sandbox-routing.ts +6 -0
  34. package/dist/activities-turn-PEDPUZI4.js.map +0 -1
  35. package/dist/chunk-436TOEBL.js.map +0 -1
  36. /package/dist/{activities-control-LC7WXEIX.js.map → activities-control-EWP3UDZP.js.map} +0 -0
  37. /package/dist/{chunk-O7HT4LHX.js.map → chunk-PG66GHGH.js.map} +0 -0
  38. /package/dist/{sandbox-lease-F47EDHHY.js.map → sandbox-lease-XBZWILZ3.js.map} +0 -0
@@ -14,6 +14,8 @@ export type EditableArtifactOutboxWorkerOptions = Readonly<{
14
14
  dispatcherDatabaseUrl: string;
15
15
  databaseSearchPath?: string;
16
16
  databasePoolSize?: number;
17
+ /** Unset → decided from the URL; see `CreateDbOptions.preparedStatements`. */
18
+ databasePreparedStatements?: boolean;
17
19
  natsUrl: string;
18
20
  natsAuth: EditableArtifactHintNatsAuth;
19
21
  owner?: string;
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ import {
27
27
  telemetryInterval,
28
28
  telemetryScheduler,
29
29
  turnTaskQueueMetricLabels
30
- } from "./chunk-5NNS4327.js";
30
+ } from "./chunk-BX3KRGDM.js";
31
31
  import "./chunk-PZ5AY32C.js";
32
32
 
33
33
  // src/index.ts
@@ -540,11 +540,13 @@ import {
540
540
  automaticSessionTitleFanoutDue,
541
541
  browserDeadlineCheckpointDue,
542
542
  knowledgeIndexDue,
543
+ maintainSubscriptionPlans,
543
544
  sandboxIdleCheckpointDue,
544
545
  sandboxLeaseReaperDue,
545
546
  sandboxMaintenanceDue,
546
547
  sessionWorkflowWakesDue,
547
548
  siteAuthMaintenanceDue,
549
+ subscriptionPlanMaintenanceDue,
548
550
  workspacePauseTimerDue
549
551
  } from "@opengeni/db";
550
552
  import {
@@ -664,13 +666,15 @@ var SITE_AUTH_MAINTENANCE_SCHEDULE_ID = "opengeni-site-auth-maintenance";
664
666
  var SITE_AUTH_MAINTENANCE_WORKFLOW_ID = "opengeni-site-auth-maintenance";
665
667
  var SITE_AUTH_MAINTENANCE_PERIOD_MS = 60 * 1e3;
666
668
  var SANDBOX_REAPER_SCHEDULE_ID = "opengeni-sandbox-lease-reaper";
669
+ var SUBSCRIPTION_PLAN_MAINTENANCE_PERIOD_MS = 6e4;
667
670
  var INTERNAL_MAINTENANCE_JOBS = [
668
671
  "session-workflow-wake-dispatcher",
669
672
  "knowledge-indexing",
670
673
  "site-auth-maintenance",
671
674
  "sandbox-lease-reaper",
672
675
  "sandbox-idle-checkpoint",
673
- "browser-deadline-checkpoint"
676
+ "browser-deadline-checkpoint",
677
+ "subscription-plan-maintenance"
674
678
  ];
675
679
  var LEGACY_SCHEDULE_IDS = {
676
680
  "session-workflow-wake-dispatcher": SESSION_WORKFLOW_WAKE_DISPATCHER_SCHEDULE_ID,
@@ -717,6 +721,24 @@ async function internalMaintenanceCadences(input) {
717
721
  const jobs = new Set(input.jobs ?? INTERNAL_MAINTENANCE_JOBS);
718
722
  const taskQueue = settings.temporalTaskQueue;
719
723
  const cadences = [];
724
+ if (settings.subscriptionPlansEnabled && jobs.has("subscription-plan-maintenance")) {
725
+ cadences.push({
726
+ job: "subscription-plan-maintenance",
727
+ periodMs: SUBSCRIPTION_PLAN_MAINTENANCE_PERIOD_MS,
728
+ hasWork: async () => await subscriptionPlanMaintenanceDue(db),
729
+ start: async () => {
730
+ const result = await maintainSubscriptionPlans(db, {
731
+ onError: (error, accountId) => observability.warn("Subscription plan maintenance account failed", {
732
+ accountId,
733
+ error: error instanceof Error ? error.message : String(error)
734
+ })
735
+ });
736
+ if (result.failedAccounts > 0)
737
+ throw new Error(`${result.failedAccounts} subscription plan maintenance accounts failed`);
738
+ return "started";
739
+ }
740
+ });
741
+ }
720
742
  if (jobs.has("session-workflow-wake-dispatcher")) {
721
743
  const { repairMissedSessionWorkflowWakes } = await import("./parent-wake-PCLH7A3Y.js");
722
744
  cadences.push({
@@ -797,7 +819,7 @@ async function internalMaintenanceCadences(input) {
797
819
  assertSandboxReaperActivityTimeout(settings);
798
820
  const periodMs = settings.sandboxLeaseReaperPeriodMs;
799
821
  const lifecycleQueue = sandboxLifecycleTaskQueue(taskQueue);
800
- const sandbox = await import("./sandbox-lease-F47EDHHY.js");
822
+ const sandbox = await import("./sandbox-lease-XBZWILZ3.js");
801
823
  if (jobs.has("sandbox-lease-reaper")) {
802
824
  const { SANDBOX_CHECKPOINT_GC_CLAIM_TTL_MS } = sandbox;
803
825
  cadences.push({
@@ -1437,7 +1459,7 @@ async function createDefaultWorkerActivities(role, dependencies = {}) {
1437
1459
  if (dependencies.objectStorage == null) {
1438
1460
  prepareObjectStorageProvider(dependencies.settings ?? getSettings());
1439
1461
  }
1440
- return role === "control" ? (await import("./activities-control-LC7WXEIX.js")).createControlActivities(dependencies) : (await import("./activities-turn-PEDPUZI4.js")).createTurnActivities(dependencies);
1462
+ return role === "control" ? (await import("./activities-control-EWP3UDZP.js")).createControlActivities(dependencies) : (await import("./activities-turn-COUX2R3A.js")).createTurnActivities(dependencies);
1441
1463
  }
1442
1464
  function resolveOpenGeniWorkflowDefinition(moduleUrl = import.meta.url) {
1443
1465
  const modulePath = fileURLToPath(moduleUrl).replaceAll("\\", "/");
@@ -2087,13 +2109,16 @@ async function startWorker() {
2087
2109
  const retryOptions = startupRetryOptions(settings);
2088
2110
  const onRetry = (event) => logStartupDependencyRetry(observability, event);
2089
2111
  const searchPath = dbSearchPath(settings);
2112
+ const preparedStatements = settings.databasePreparedStatements === void 0 ? {} : { preparedStatements: settings.databasePreparedStatements };
2090
2113
  const dbClient = createDb(settings.databaseUrl, {
2091
2114
  ...searchPath ? { searchPath } : {},
2092
- rlsStrategy: settings.rlsStrategy
2115
+ rlsStrategy: settings.rlsStrategy,
2116
+ ...preparedStatements
2093
2117
  });
2094
2118
  const readinessDbClient = createDb(settings.databaseUrl, {
2095
2119
  ...searchPath ? { searchPath } : {},
2096
2120
  rlsStrategy: settings.rlsStrategy,
2121
+ ...preparedStatements,
2097
2122
  max: 1
2098
2123
  });
2099
2124
  const databasePosture = {