target-supabase-sdk 0.2.10 → 0.2.11

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 (60) hide show
  1. package/dist/browser.d.ts +3 -4
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +3 -3
  4. package/dist/chunks/{enable-log-persist-BB-unD4p.js → enable-log-persist-Cu3SGxK7.js} +160 -30
  5. package/dist/chunks/enable-log-persist-Cu3SGxK7.js.map +1 -0
  6. package/dist/chunks/{list.api-6Q4_-7oN.js → list.api-DSTOHzOC.js} +48 -13
  7. package/dist/chunks/list.api-DSTOHzOC.js.map +1 -0
  8. package/dist/chunks/{task-queue-D5uWjqVN.js → task-queue-BHvNgb-X.js} +54 -3
  9. package/dist/chunks/task-queue-BHvNgb-X.js.map +1 -0
  10. package/dist/core.api.d.ts +6 -15
  11. package/dist/core.api.d.ts.map +1 -1
  12. package/dist/core.interface.d.ts +5 -0
  13. package/dist/core.interface.d.ts.map +1 -1
  14. package/dist/core.schema.d.ts +77 -0
  15. package/dist/core.schema.d.ts.map +1 -0
  16. package/dist/link/index.d.ts +10 -0
  17. package/dist/link/index.d.ts.map +1 -0
  18. package/dist/link/link.build.d.ts +45 -0
  19. package/dist/link/link.build.d.ts.map +1 -0
  20. package/dist/list/index.d.ts +10 -0
  21. package/dist/list/index.d.ts.map +1 -0
  22. package/dist/list/list.build.d.ts +21 -0
  23. package/dist/list/list.build.d.ts.map +1 -0
  24. package/dist/node.js +6 -6
  25. package/dist/parcel/parcel.api.d.ts +3 -3
  26. package/dist/parcel/parcel.api.d.ts.map +1 -1
  27. package/dist/preload.js +3 -2
  28. package/dist/preload.js.map +1 -1
  29. package/dist/service/config.api.d.ts.map +1 -1
  30. package/dist/service/service.api.d.ts +6 -6
  31. package/dist/service/service.api.d.ts.map +1 -1
  32. package/dist/shared/log/log-persist-errors.d.ts +4 -0
  33. package/dist/shared/log/log-persist-errors.d.ts.map +1 -0
  34. package/dist/shared/log/log-persist-logger.d.ts +1 -0
  35. package/dist/shared/log/log-persist-logger.d.ts.map +1 -1
  36. package/dist/shared/log/log-persist.config.d.ts.map +1 -1
  37. package/dist/shared/log/log-persist.d.ts +8 -1
  38. package/dist/shared/log/log-persist.d.ts.map +1 -1
  39. package/dist/shared/log/log-persist.interface.d.ts +8 -0
  40. package/dist/shared/log/log-persist.interface.d.ts.map +1 -1
  41. package/dist/task/task-post-validated.api.d.ts +2 -2
  42. package/dist/task/task-post.api.d.ts +6 -6
  43. package/dist/trigger/trigger.api.d.ts +6 -6
  44. package/package.json +1 -1
  45. package/src/browser.ts +3 -4
  46. package/src/core.api.ts +19 -28
  47. package/src/core.interface.ts +6 -0
  48. package/src/core.schema.ts +51 -0
  49. package/src/link/index.ts +10 -0
  50. package/src/link/link.build.ts +48 -0
  51. package/src/list/index.ts +13 -0
  52. package/src/list/list.build.ts +51 -0
  53. package/src/shared/log/log-persist-errors.ts +16 -0
  54. package/src/shared/log/log-persist-logger.ts +28 -0
  55. package/src/shared/log/log-persist.config.ts +20 -0
  56. package/src/shared/log/log-persist.interface.ts +8 -0
  57. package/src/shared/log/log-persist.ts +161 -43
  58. package/dist/chunks/enable-log-persist-BB-unD4p.js.map +0 -1
  59. package/dist/chunks/list.api-6Q4_-7oN.js.map +0 -1
  60. package/dist/chunks/task-queue-D5uWjqVN.js.map +0 -1
package/dist/browser.d.ts CHANGED
@@ -7,16 +7,15 @@
7
7
  export type { SupabaseClient } from "@supabase/supabase-js";
8
8
  export * from "./core.api";
9
9
  export * from "./core.interface";
10
+ export * from "./core.schema";
10
11
  export * from "./core.utils";
11
12
  export type { GetExtractionPayload, PatchExtractionObjectsPayload, PostExtractionPayload, ScanExtractionListPayload, } from "./extraction/extraction.api";
12
13
  export { getExtraction, getExtractionSchema, patchExtractionObjects, patchExtractionObjectsSchema, postExtraction, postExtractionSchema, scanExtractionList, scanExtractionListSchema, } from "./extraction/extraction.api";
13
14
  export type { Extraction, ExtractionDetails } from "./extraction/extraction.interface";
14
15
  export { CategoryExtraction } from "./extraction/extraction.interface";
15
16
  export * from "./idea/idea.interface";
16
- export * from "./link/link.api";
17
- export * from "./link/link.interface";
18
- export * from "./list/list.api";
19
- export * from "./list/list.interface";
17
+ export * from "./link/index";
18
+ export * from "./list/index";
20
19
  export * from "./node/node.api";
21
20
  export * from "./node/node.interface";
22
21
  export type { EvaluateBusyNodeLivenessOptions, TaskNodeLivenessFreshest, TaskNodeLivenessReport, } from "./node/node-liveness";
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/browser.js CHANGED
@@ -1,6 +1,6 @@
1
- export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LOADER_KEY, b as LOG_PERSIST_LOADER_KEY, c as LogLevel, M as MAX_POLL_TARGET_LIST_SIZE, d as MAX_TARGET_LIST_PAGE_SIZE, O as OPTIMISTIC_LOCK_ERROR_CODE, e as OPTIMISTIC_LOCK_FAILED_MESSAGE, P as PostListValidator, S as StatusCode, U as UPDATE_TARGET_NOT_FOUND_MESSAGE, f as createLogger, g as createTarget, h as deleteTarget, i as generateResponse, j as getPossibleTarget, k as getTarget, l as getTargetList, m as getTargetTotalCount, n as handleSupabaseError, o as isCreateTargetAlreadyExistsError, p as isDevEnvironment, q as isOptimisticLockError, r as isOptimisticLockResponse, s as logDev, t as logDevGroup, u as logManager, v as patchTarget, w as pollTargetList, x as postListCreate, y as postLogListCreate, z as postTarget, A as scanTargetList, D as supabase, E as updateTarget, F as updateTargetDetails, G as validateWith, H as validateWithSchema } from './chunks/list.api-6Q4_-7oN.js';
2
- export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, b as CategoryIdea, c as CategoryLink, d as CategoryNode, e as CategoryParcel, f as CategoryRepo, g as CategoryService, h as CategoryTask, D as DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, M as Market, N as NodeStatus, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, i as ParcelManager, j as PostLinkValidator, R as ResultCode, S as ServiceLifecycleStatus, k as ServiceRegistryError, l as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, m as TASK_REPO_USAGE, n as TaskStatus, o as TaskStatusAction, p as apiDetailsSchema, q as appendSystemRegistrySlots, r as assertRegistrySlotAvailable, s as assertRegistrySlotOwner, t as buildEmptyServiceSlots, u as buildSystemRegistryConfigDetails, v as claimServiceRegistrySlot, w as classifyNetworkError, x as countTasksByType, y as createActiveServiceLifecycle, z as createClaimedRegistrySlotRuntimeState, B as createStorageProviderRegistry, F as createUploadTracker, G as decodeLogBatch, H as decodeLogBatchList, I as defaultL3ServiceDetails, J as deleteParcel, K as deleteParcelSchema, L as evaluateBusyNodeLiveness, O as fetchBinaryWithRetry, Q as fetchWithRetry, U as fieldDefinitionSchema, V as flattenLogBatch, W as flattenLogBatches, X as formatNetworkError, Y as getApi, Z as getApiSchema, _ as getConfig, $ as getConfigSchema, a0 as getExtraction, a1 as getExtractionSchema, a2 as getParcel, a3 as getParcelSchema, a4 as getScanRemoteRepoValues, a5 as getScanRemoteRepoValuesSchema, a6 as getService, a7 as getServiceSchema, a8 as getTargetSystemRegistry, a9 as getValueAtPath, aa as installChunkFetchRegistry, ab as isHttpUrl, ac as isLocalFilesystemPath, ad as isLogBatchList, ae as isLogEntry, af as isOpaqueChunkUrl, ag as isRetryableHttpStatus, ah as parcelDetailsSchema, ai as parseLogBatchMeta, aj as parseProviderPrefixedUrl, ak as parseServiceSlot, al as parseServiceSlots, am as patchChangeNodeStatus, an as patchChangeNodeStatusSchema, ao as patchChangeTaskStatus, ap as patchChangeTaskStatusSchema, aq as patchClaimTask, ar as patchClaimTaskSchema, as as patchExtractionObjects, at as patchExtractionObjectsSchema, au as patchNodeHeartBeat, av as patchNodeHeartBeatSchema, aw as patchServiceRuntime, ax as patchStopNode, ay as patchStopNodeSchema, az as patchTaskProgress, aA as patchTaskProgressSchema, aB as postApi, aC as postApiSchema, aD as postExtraction, aE as postExtractionSchema, aF as postLinkCreate, aG as postParcel, aH as postParcelSchema, aI as postRegisterNode, aJ as postRegisterNodeSchema, aK as postService, aL as postServiceInstance, aM as postServiceSchema, aN as postSystemRegistryConfig, aO as postSystemRegistryConfigSchema, aP as postTask, aQ as postTaskSchema, aR as postTaskWithRetry, aS as publishParcel, aT as registerProviderChunkResolver, aU as registerService, aV as registerServiceAtStartup, aW as registrySlotRuntimePatchFromGuardResult, aX as releaseSystemRegistrySlots, aY as requestHasBody, aZ as resetSystemRegistryConfig, a_ as resetSystemRegistryConfigSchema, a$ as resolveActiveRegistryServiceId, b0 as resolveFetchUrl, b1 as restoreParcel, b2 as restoreParcelById, b3 as runRegistrySlotGuardCheck, b4 as sanitizeFileName, b5 as sanitizeParcelFileName, b6 as scanExtractionList, b7 as scanExtractionListSchema, b8 as schemaDefinitionSchema, b9 as serviceDetailsSchema, ba as serviceLifecycleSchema, bb as serviceNodeSnapshotSchema, bc as serviceRuntimeSchema, bd as sha256Hex, be as summarizeTaskQueue, bf as systemRegistrySeedSlotSchema, bg as unregisterService, bh as unregisterServiceAtShutdown } from './chunks/task-queue-D5uWjqVN.js';
1
+ export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LOADER_KEY, b as LOG_PERSIST_LOADER_KEY, c as LogLevel, M as MAX_POLL_TARGET_LIST_SIZE, d as MAX_TARGET_LIST_PAGE_SIZE, O as OPTIMISTIC_LOCK_ERROR_CODE, e as OPTIMISTIC_LOCK_FAILED_MESSAGE, P as PostListValidator, S as StatusCode, U as UPDATE_TARGET_NOT_FOUND_MESSAGE, f as createLogger, g as createTarget, h as deleteTarget, i as formatZodError, j as generateResponse, k as getPossibleTarget, l as getTarget, m as getTargetList, n as getTargetTotalCount, o as handleSupabaseError, p as isCreateTargetAlreadyExistsError, q as isDevEnvironment, r as isOptimisticLockError, s as isOptimisticLockResponse, t as logDev, u as logDevGroup, v as logManager, w as patchTarget, x as pollTargetList, y as postListCreate, z as postLogListCreate, A as postTarget, D as postTargetPayloadSchema, E as queryFilterSchema, F as safeParseWithSchema, G as scanTargetList, H as supabase, I as targetDraftSchema, J as updateTarget, K as updateTargetDetails, N as validateWith, Q as validateWithSchema } from './chunks/list.api-DSTOHzOC.js';
2
+ export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, b as CategoryIdea, c as CategoryLink, d as CategoryNode, e as CategoryParcel, f as CategoryRepo, g as CategoryService, h as CategoryTask, D as DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, L as LINK_MANIFEST_VERSION, i as LIST_MANIFEST_VERSION, M as Market, N as NodeStatus, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, j as ParcelManager, k as PostLinkValidator, R as ResultCode, S as ServiceLifecycleStatus, l as ServiceRegistryError, m as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, n as TASK_REPO_USAGE, o as TaskStatus, p as TaskStatusAction, q as apiDetailsSchema, r as appendSystemRegistrySlots, s as assertRegistrySlotAvailable, t as assertRegistrySlotOwner, u as buildEmptyServiceSlots, v as buildLinkTargetDraft, w as buildListTargetDraft, x as buildSystemRegistryConfigDetails, y as claimServiceRegistrySlot, z as classifyNetworkError, B as countTasksByType, F as createActiveServiceLifecycle, G as createClaimedRegistrySlotRuntimeState, H as createStorageProviderRegistry, I as createUploadTracker, J as decodeLogBatch, K as decodeLogBatchList, O as defaultL3ServiceDetails, Q as deleteParcel, U as deleteParcelSchema, V as evaluateBusyNodeLiveness, W as fetchBinaryWithRetry, X as fetchWithRetry, Y as fieldDefinitionSchema, Z as flattenLogBatch, _ as flattenLogBatches, $ as formatNetworkError, a0 as getApi, a1 as getApiSchema, a2 as getConfig, a3 as getConfigSchema, a4 as getExtraction, a5 as getExtractionSchema, a6 as getParcel, a7 as getParcelSchema, a8 as getScanRemoteRepoValues, a9 as getScanRemoteRepoValuesSchema, aa as getService, ab as getServiceSchema, ac as getTargetSystemRegistry, ad as getValueAtPath, ae as installChunkFetchRegistry, af as isHttpUrl, ag as isLocalFilesystemPath, ah as isLogBatchList, ai as isLogEntry, aj as isOpaqueChunkUrl, ak as isRetryableHttpStatus, al as linkTargetDraftBuildInputSchema, am as parcelDetailsSchema, an as parseLogBatchMeta, ao as parseProviderPrefixedUrl, ap as parseServiceSlot, aq as parseServiceSlots, ar as patchChangeNodeStatus, as as patchChangeNodeStatusSchema, at as patchChangeTaskStatus, au as patchChangeTaskStatusSchema, av as patchClaimTask, aw as patchClaimTaskSchema, ax as patchExtractionObjects, ay as patchExtractionObjectsSchema, az as patchNodeHeartBeat, aA as patchNodeHeartBeatSchema, aB as patchServiceRuntime, aC as patchStopNode, aD as patchStopNodeSchema, aE as patchTaskProgress, aF as patchTaskProgressSchema, aG as postApi, aH as postApiSchema, aI as postExtraction, aJ as postExtractionSchema, aK as postLinkCreate, aL as postParcel, aM as postParcelSchema, aN as postRegisterNode, aO as postRegisterNodeSchema, aP as postService, aQ as postServiceInstance, aR as postServiceSchema, aS as postSystemRegistryConfig, aT as postSystemRegistryConfigSchema, aU as postTask, aV as postTaskSchema, aW as postTaskWithRetry, aX as publishParcel, aY as registerProviderChunkResolver, aZ as registerService, a_ as registerServiceAtStartup, a$ as registrySlotRuntimePatchFromGuardResult, b0 as releaseSystemRegistrySlots, b1 as requestHasBody, b2 as resetSystemRegistryConfig, b3 as resetSystemRegistryConfigSchema, b4 as resolveActiveRegistryServiceId, b5 as resolveFetchUrl, b6 as restoreParcel, b7 as restoreParcelById, b8 as runRegistrySlotGuardCheck, b9 as sanitizeFileName, ba as sanitizeParcelFileName, bb as scanExtractionList, bc as scanExtractionListSchema, bd as schemaDefinitionSchema, be as serviceDetailsSchema, bf as serviceLifecycleSchema, bg as serviceNodeSnapshotSchema, bh as serviceRuntimeSchema, bi as sha256Hex, bj as summarizeTaskQueue, bk as systemRegistrySeedSlotSchema, bl as unregisterService, bm as unregisterServiceAtShutdown } from './chunks/task-queue-BHvNgb-X.js';
3
+ import 'zod';
3
4
  import 'lodash-es';
4
5
  import '@supabase/supabase-js';
5
- import 'zod';
6
6
  //# sourceMappingURL=browser.js.map
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs';
2
2
  import { resolve, dirname, join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { readFile, unlink, mkdir, writeFile, rename, readdir } from 'node:fs/promises';
5
- import { f as createLogger, b as LOG_PERSIST_LOADER_KEY, a as CategoryList, y as postLogListCreate, o as isCreateTargetAlreadyExistsError, c as LogLevel, I as registerLogPersistOffer } from './list.api-6Q4_-7oN.js';
5
+ import { f as createLogger, b as LOG_PERSIST_LOADER_KEY, a as CategoryList, z as postLogListCreate, p as isCreateTargetAlreadyExistsError, c as LogLevel, R as registerLogPersistOffer } from './list.api-DSTOHzOC.js';
6
6
  import 'lodash-es';
7
7
  import { randomBytes, createHash } from 'node:crypto';
8
8
 
@@ -314,6 +314,9 @@ const DEFAULT_LOG_PERSIST_CONFIG = {
314
314
  },
315
315
  postTimeoutMs: 30_000,
316
316
  shutdownDrainTimeoutMs: 15_000,
317
+ laneRetryIntervalMs: 5_000,
318
+ errorLogRateLimitMs: 5_000,
319
+ circuitBreakerPermanentFailureThreshold: 3,
317
320
  };
318
321
  function resolveLogPersistConfig(partial) {
319
322
  const defaults = DEFAULT_LOG_PERSIST_CONFIG;
@@ -323,6 +326,9 @@ function resolveLogPersistConfig(partial) {
323
326
  slow: { ...defaults.slow, ...partial?.slow },
324
327
  postTimeoutMs: partial?.postTimeoutMs ?? defaults.postTimeoutMs,
325
328
  shutdownDrainTimeoutMs: partial?.shutdownDrainTimeoutMs ?? defaults.shutdownDrainTimeoutMs,
329
+ laneRetryIntervalMs: partial?.laneRetryIntervalMs ?? defaults.laneRetryIntervalMs,
330
+ errorLogRateLimitMs: partial?.errorLogRateLimitMs ?? defaults.errorLogRateLimitMs,
331
+ circuitBreakerPermanentFailureThreshold: partial?.circuitBreakerPermanentFailureThreshold ?? defaults.circuitBreakerPermanentFailureThreshold,
326
332
  };
327
333
  }
328
334
  function logPersistEnabledFromEnv(env = process.env) {
@@ -372,6 +378,11 @@ function logPersistConfigFromEnv(env = process.env) {
372
378
  },
373
379
  postTimeoutMs: envMs("LOG_PERSIST_POST_TIMEOUT_MS", DEFAULT_LOG_PERSIST_CONFIG.postTimeoutMs, { env }),
374
380
  shutdownDrainTimeoutMs: envMs("LOG_PERSIST_SHUTDOWN_DRAIN_MS", DEFAULT_LOG_PERSIST_CONFIG.shutdownDrainTimeoutMs, { env }),
381
+ laneRetryIntervalMs: envMs("LOG_PERSIST_LANE_RETRY_MS", DEFAULT_LOG_PERSIST_CONFIG.laneRetryIntervalMs, {
382
+ env,
383
+ }),
384
+ errorLogRateLimitMs: envMs("LOG_PERSIST_ERROR_LOG_RATE_LIMIT_MS", DEFAULT_LOG_PERSIST_CONFIG.errorLogRateLimitMs, { env }),
385
+ circuitBreakerPermanentFailureThreshold: envInt("LOG_PERSIST_CIRCUIT_BREAKER_THRESHOLD", DEFAULT_LOG_PERSIST_CONFIG.circuitBreakerPermanentFailureThreshold, { env, min: 1 }),
375
386
  });
376
387
  }
377
388
 
@@ -407,15 +418,54 @@ function computeLogBatchIdempotencyKey(input) {
407
418
  return `${hash.slice(0, 32)}`;
408
419
  }
409
420
 
421
+ const PERMANENT_LOG_PERSIST_ERROR_PATTERNS = [
422
+ /not initialized/i,
423
+ /call initialize\(\) first/i,
424
+ /missing required supabase environment/i,
425
+ /preload env incomplete/i,
426
+ ];
427
+ function formatLogPersistError(error) {
428
+ return error instanceof Error ? error.message : String(error);
429
+ }
430
+ /** Errors that will not succeed on retry without fixing process configuration. */
431
+ function isPermanentLogPersistError(error) {
432
+ const message = formatLogPersistError(error);
433
+ return PERMANENT_LOG_PERSIST_ERROR_PATTERNS.some((pattern) => pattern.test(message));
434
+ }
435
+
410
436
  /** User-facing / lifecycle logs — may be persisted like normal app logs. */
411
437
  const LOG_PERSIST_TOPIC = "log-persist";
412
438
  /** Operational logs from the persist pipeline — never re-offered to avoid feedback loops. */
413
439
  const LOG_PERSIST_INTERNAL_TOPIC = "log-persist-internal";
414
440
  const logger = createLogger({ module: "log-persist" });
441
+ let errorLogRateLimitMs = 5_000;
442
+ const lastLoggedAt = new Map();
443
+ function configurePersistLoggerRateLimit(ms) {
444
+ errorLogRateLimitMs = Math.max(0, ms);
445
+ }
415
446
  function isLogPersistInternalTopic(topic) {
416
447
  return topic === LOG_PERSIST_INTERNAL_TOPIC;
417
448
  }
449
+ function shouldEmit(level, message) {
450
+ if (level !== "error" && level !== "warn") {
451
+ return true;
452
+ }
453
+ if (errorLogRateLimitMs <= 0) {
454
+ return true;
455
+ }
456
+ const key = `${level}:${message}`;
457
+ const now = Date.now();
458
+ const last = lastLoggedAt.get(key);
459
+ if (last != null && now - last < errorLogRateLimitMs) {
460
+ return false;
461
+ }
462
+ lastLoggedAt.set(key, now);
463
+ return true;
464
+ }
418
465
  function write(level, message, data) {
466
+ if (!shouldEmit(level, message)) {
467
+ return;
468
+ }
419
469
  logger[level](message, {
420
470
  topic: LOG_PERSIST_INTERNAL_TOPIC,
421
471
  ...(data != null ? { data } : {}),
@@ -759,7 +809,6 @@ var logPersistRegistry = /*#__PURE__*/Object.freeze({
759
809
  unregisterLogPersistProcess: unregisterLogPersistProcess
760
810
  });
761
811
 
762
- const FAST_RETRY_INTERVAL_MS = 5_000;
763
812
  const HEARTBEAT_INTERVAL_MS = 30_000;
764
813
  function routeLane(level) {
765
814
  if (level === LogLevel.CRITICAL) {
@@ -785,8 +834,12 @@ class LogPersist {
785
834
  mediumDebounceTimer = null;
786
835
  slowQueueStartedAt = null;
787
836
  fastRetryTimer = null;
837
+ mediumRetryTimer = null;
838
+ slowRetryTimer = null;
788
839
  heartbeatTimer = null;
789
840
  lastHeartbeatAt = 0;
841
+ permanentFailureCount = 0;
842
+ circuitBreakerTripped = false;
790
843
  laneFlushing = {
791
844
  fast: false,
792
845
  medium: false,
@@ -822,9 +875,12 @@ class LogPersist {
822
875
  this.processName = options.process;
823
876
  this.registryFilePath = options.registryFilePath ?? null;
824
877
  this.config = resolveLogPersistConfig(options.config);
878
+ configurePersistLoggerRateLimit(this.config.errorLogRateLimitMs);
825
879
  this.draining = false;
826
880
  this.shutdownPromise = null;
827
881
  this.consecutiveFailures = { fast: 0, medium: 0, slow: 0 };
882
+ this.permanentFailureCount = 0;
883
+ this.circuitBreakerTripped = false;
828
884
  this.lastError = null;
829
885
  this.lastErrorAt = null;
830
886
  this.enabled = true;
@@ -860,6 +916,7 @@ class LogPersist {
860
916
  }
861
917
  persistLogger.info("log persist core disabling", this.queueSnapshot());
862
918
  this.cancelMediumDebounce();
919
+ this.cancelLaneRetryTimers();
863
920
  this.stopHeartbeat();
864
921
  await this.shutdown();
865
922
  persistLogger.info("log persist core disabled");
@@ -896,6 +953,8 @@ class LogPersist {
896
953
  return {
897
954
  enabled: this.enabled,
898
955
  draining: this.draining,
956
+ circuitBreakerTripped: this.circuitBreakerTripped,
957
+ permanentFailureCount: this.permanentFailureCount,
899
958
  service: this.service,
900
959
  process: this.processName,
901
960
  queues: {
@@ -979,6 +1038,93 @@ class LogPersist {
979
1038
  recordLaneSuccess(lane) {
980
1039
  this.lastError = null;
981
1040
  this.consecutiveFailures[lane] = 0;
1041
+ this.permanentFailureCount = 0;
1042
+ }
1043
+ handleLaneFlushFailure(lane, error, scheduleRetry, logMessage, context) {
1044
+ this.recordLaneError(lane, error);
1045
+ const message = this.lastError ?? formatLogPersistError(error);
1046
+ if (isPermanentLogPersistError(error)) {
1047
+ this.permanentFailureCount += 1;
1048
+ if (this.permanentFailureCount >= this.config.circuitBreakerPermanentFailureThreshold) {
1049
+ this.tripCircuitBreaker(message);
1050
+ return;
1051
+ }
1052
+ }
1053
+ persistLogger.error(logMessage, {
1054
+ ...context,
1055
+ error: message,
1056
+ retryInMs: this.config.laneRetryIntervalMs,
1057
+ permanentFailureCount: this.permanentFailureCount,
1058
+ });
1059
+ scheduleRetry();
1060
+ }
1061
+ tripCircuitBreaker(reason) {
1062
+ if (this.circuitBreakerTripped) {
1063
+ return;
1064
+ }
1065
+ this.circuitBreakerTripped = true;
1066
+ this.cancelMediumDebounce();
1067
+ this.cancelLaneRetryTimers();
1068
+ this.stopHeartbeat();
1069
+ const dropped = this.queueSnapshot();
1070
+ this.fastQueue = [];
1071
+ this.fastRetryQueue = [];
1072
+ this.mediumQueue = [];
1073
+ this.slowQueue = [];
1074
+ this.slowQueueStartedAt = null;
1075
+ this.enabled = false;
1076
+ registerLogPersistOffer(null);
1077
+ persistLogger.error("circuit breaker tripped — log persist disabled", {
1078
+ reason,
1079
+ permanentFailureCount: this.permanentFailureCount,
1080
+ threshold: this.config.circuitBreakerPermanentFailureThreshold,
1081
+ dropped,
1082
+ });
1083
+ }
1084
+ cancelLaneRetryTimers() {
1085
+ if (this.fastRetryTimer != null) {
1086
+ clearTimeout(this.fastRetryTimer);
1087
+ this.fastRetryTimer = null;
1088
+ }
1089
+ if (this.mediumRetryTimer != null) {
1090
+ clearTimeout(this.mediumRetryTimer);
1091
+ this.mediumRetryTimer = null;
1092
+ }
1093
+ if (this.slowRetryTimer != null) {
1094
+ clearTimeout(this.slowRetryTimer);
1095
+ this.slowRetryTimer = null;
1096
+ }
1097
+ }
1098
+ scheduleLaneRetry(lane, flush) {
1099
+ const retryMs = this.config.laneRetryIntervalMs;
1100
+ const existing = lane === "fast" ? this.fastRetryTimer : lane === "medium" ? this.mediumRetryTimer : this.slowRetryTimer;
1101
+ if (existing != null) {
1102
+ return;
1103
+ }
1104
+ persistLogger.warn(`${lane} flush retry scheduled`, { retryInMs: retryMs });
1105
+ const timer = setTimeout(() => {
1106
+ if (lane === "fast") {
1107
+ this.fastRetryTimer = null;
1108
+ }
1109
+ else if (lane === "medium") {
1110
+ this.mediumRetryTimer = null;
1111
+ }
1112
+ else {
1113
+ this.slowRetryTimer = null;
1114
+ }
1115
+ persistLogger.debug(`${lane} flush retry timer fired`);
1116
+ flush();
1117
+ }, retryMs);
1118
+ timer.unref?.();
1119
+ if (lane === "fast") {
1120
+ this.fastRetryTimer = timer;
1121
+ }
1122
+ else if (lane === "medium") {
1123
+ this.mediumRetryTimer = timer;
1124
+ }
1125
+ else {
1126
+ this.slowRetryTimer = timer;
1127
+ }
982
1128
  }
983
1129
  queueSnapshot() {
984
1130
  return {
@@ -1039,6 +1185,9 @@ class LogPersist {
1039
1185
  });
1040
1186
  }
1041
1187
  scheduleMediumFlush() {
1188
+ if (this.mediumRetryTimer != null) {
1189
+ return;
1190
+ }
1042
1191
  const { debounceMs, maxEntries, maxBytes } = this.config.medium;
1043
1192
  const queueBytes = estimateEntriesBytes(this.mediumQueue);
1044
1193
  if (this.mediumQueue.length >= maxEntries || queueBytes >= maxBytes) {
@@ -1075,6 +1224,9 @@ class LogPersist {
1075
1224
  }
1076
1225
  }
1077
1226
  scheduleSlowFlush() {
1227
+ if (this.slowRetryTimer != null) {
1228
+ return;
1229
+ }
1078
1230
  const { maxEntries, maxBytes, maxAgeMs } = this.config.slow;
1079
1231
  const queueBytes = estimateEntriesBytes(this.slowQueue);
1080
1232
  const ageMs = this.slowQueueStartedAt != null ? Date.now() - this.slowQueueStartedAt : 0;
@@ -1206,15 +1358,11 @@ class LogPersist {
1206
1358
  });
1207
1359
  }
1208
1360
  catch (error) {
1209
- this.recordLaneError("fast", error);
1210
1361
  this.fastRetryQueue.push(entry);
1211
- persistLogger.error("fast flush failed — queued for retry", {
1362
+ this.handleLaneFlushFailure("fast", error, () => this.scheduleLaneRetry("fast", () => void this.flushFast()), "fast flush failed — queued for retry", {
1212
1363
  idempotencyKey,
1213
- error: this.lastError,
1214
- retryInMs: FAST_RETRY_INTERVAL_MS,
1215
1364
  fastRetryQueue: this.fastRetryQueue.length,
1216
1365
  });
1217
- this.scheduleFastRetry();
1218
1366
  break;
1219
1367
  }
1220
1368
  }
@@ -1223,18 +1371,6 @@ class LogPersist {
1223
1371
  this.laneFlushing.fast = false;
1224
1372
  }
1225
1373
  }
1226
- scheduleFastRetry() {
1227
- if (this.fastRetryTimer != null) {
1228
- return;
1229
- }
1230
- persistLogger.warn("fast flush retry scheduled", { retryInMs: FAST_RETRY_INTERVAL_MS });
1231
- this.fastRetryTimer = setTimeout(() => {
1232
- this.fastRetryTimer = null;
1233
- persistLogger.debug("fast flush retry timer fired");
1234
- void this.flushFast();
1235
- }, FAST_RETRY_INTERVAL_MS);
1236
- this.fastRetryTimer.unref?.();
1237
- }
1238
1374
  async flushMedium() {
1239
1375
  if (this.laneFlushing.medium) {
1240
1376
  persistLogger.debug("medium flush skipped — already flushing");
@@ -1286,15 +1422,12 @@ class LogPersist {
1286
1422
  });
1287
1423
  }
1288
1424
  catch (error) {
1289
- this.recordLaneError("medium", error);
1290
- persistLogger.error("medium flush failed — entries retained", {
1425
+ this.handleLaneFlushFailure("medium", error, () => this.scheduleLaneRetry("medium", () => void this.flushMedium()), "medium flush failed — entries retained", {
1291
1426
  idempotencyKey,
1292
1427
  batchSize: batch.length,
1293
1428
  batchBytes,
1294
- error: this.lastError,
1295
1429
  queueRemaining: this.mediumQueue.length,
1296
1430
  });
1297
- this.scheduleMediumFlush();
1298
1431
  break;
1299
1432
  }
1300
1433
  }
@@ -1302,7 +1435,7 @@ class LogPersist {
1302
1435
  finally {
1303
1436
  this.laneFlushing.medium = false;
1304
1437
  }
1305
- if (this.mediumQueue.length > 0 && !this.laneFlushing.medium) {
1438
+ if (this.mediumQueue.length > 0 && !this.laneFlushing.medium && this.mediumRetryTimer == null) {
1306
1439
  this.scheduleMediumFlush();
1307
1440
  }
1308
1441
  }
@@ -1357,15 +1490,12 @@ class LogPersist {
1357
1490
  });
1358
1491
  }
1359
1492
  catch (error) {
1360
- this.recordLaneError("slow", error);
1361
- persistLogger.error("slow flush failed — entries retained", {
1493
+ this.handleLaneFlushFailure("slow", error, () => this.scheduleLaneRetry("slow", () => void this.flushSlow()), "slow flush failed — entries retained", {
1362
1494
  idempotencyKey,
1363
1495
  batchSize: batch.length,
1364
1496
  batchBytes,
1365
- error: this.lastError,
1366
1497
  queueRemaining: this.slowQueue.length,
1367
1498
  });
1368
- this.scheduleSlowFlush();
1369
1499
  break;
1370
1500
  }
1371
1501
  }
@@ -1376,7 +1506,7 @@ class LogPersist {
1376
1506
  finally {
1377
1507
  this.laneFlushing.slow = false;
1378
1508
  }
1379
- if (this.slowQueue.length > 0 && !this.laneFlushing.slow) {
1509
+ if (this.slowQueue.length > 0 && !this.laneFlushing.slow && this.slowRetryTimer == null) {
1380
1510
  this.scheduleSlowFlush();
1381
1511
  }
1382
1512
  }
@@ -1541,4 +1671,4 @@ function resolveLogPersistRegistryPath(registryDir) {
1541
1671
  }
1542
1672
 
1543
1673
  export { resolveProjectRootFromModule as A, CLI_PROD_FLAG as C, SERVICE_ENV_PROFILE_ENV_KEY as S, logPersistEnabledFromEnv as a, readEnv as b, requireEnv as c, createJsonFileStateStore as d, disableLogPersist as e, ensureLogPersistFromEnv as f, getLogPersistStats as g, SERVICE_ENV_PROFILE_PROD as h, enableLogPersist as i, envBool as j, envInt as k, loadEnvFiles as l, envMs as m, envNumber as n, envPort as o, pinEnvProfileFromArgv as p, envProfileFromProcess as q, resolveProjectRootByPackageName as r, snapshotLogPersistReady as s, parseEnvFile as t, parseEnvLine as u, validateLogPersistPreloadEnv as v, waitForLogPersistReady as w, pollUntil as x, resolveDefaultEnvFiles as y, resolveLogPersistRegistryPath as z };
1544
- //# sourceMappingURL=enable-log-persist-BB-unD4p.js.map
1674
+ //# sourceMappingURL=enable-log-persist-Cu3SGxK7.js.map