target-supabase-sdk 0.3.2 → 0.3.4

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.d.ts +2 -2
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +2 -3
  5. package/dist/browser.js.map +1 -1
  6. package/dist/chunks/{config-t31awPWL.js → config-BfWyCqKZ.js} +3 -33
  7. package/dist/chunks/config-BfWyCqKZ.js.map +1 -0
  8. package/dist/chunks/{enable-BKsBzEqS.js → enable-BPzz7a9r.js} +36 -3
  9. package/dist/chunks/enable-BPzz7a9r.js.map +1 -0
  10. package/dist/chunks/{task-queue-BpLJ8skY.js → task-post-retry.api-Brc4U6QQ.js} +97 -18
  11. package/dist/chunks/task-post-retry.api-Brc4U6QQ.js.map +1 -0
  12. package/dist/node.d.ts +2 -0
  13. package/dist/node.d.ts.map +1 -1
  14. package/dist/node.js +6 -6
  15. package/dist/preload.js +2 -3
  16. package/dist/preload.js.map +1 -1
  17. package/dist/shared/log/index.d.ts +1 -1
  18. package/dist/shared/log/index.d.ts.map +1 -1
  19. package/dist/shared/log/spool/batch-timestamp.d.ts +3 -0
  20. package/dist/shared/log/spool/batch-timestamp.d.ts.map +1 -0
  21. package/dist/shared/log/spool/file.d.ts +1 -1
  22. package/dist/shared/log/spool/file.d.ts.map +1 -1
  23. package/dist/task/index.d.ts +2 -0
  24. package/dist/task/index.d.ts.map +1 -1
  25. package/dist/task/task-query.api.d.ts +63 -0
  26. package/dist/task/task-query.api.d.ts.map +1 -0
  27. package/package.json +1 -1
  28. package/src/browser.ts +16 -2
  29. package/src/node.ts +16 -0
  30. package/src/shared/log/README.md +4 -1
  31. package/src/shared/log/index.ts +1 -1
  32. package/src/shared/log/spool/batch-timestamp.ts +14 -0
  33. package/src/shared/log/spool/file.ts +5 -14
  34. package/src/task/index.ts +16 -0
  35. package/src/task/task-query.api.ts +155 -0
  36. package/src/task/task.api.ts +1 -1
  37. package/dist/chunks/config-t31awPWL.js.map +0 -1
  38. package/dist/chunks/enable-BKsBzEqS.js.map +0 -1
  39. package/dist/chunks/task-queue-BpLJ8skY.js.map +0 -1
  40. package/dist/task/task-queue.d.ts +0 -7
  41. package/dist/task/task-queue.d.ts.map +0 -1
  42. package/src/task/task-queue.ts +0 -18
package/dist/node.d.ts CHANGED
@@ -52,6 +52,8 @@ export { postTask, postTaskSchema } from "./task/task-post.api";
52
52
  export type { PostTaskWithRetryOptions, PostTaskWithRetryResult } from "./task/task-post-retry.api";
53
53
  export { POST_TASK_DEFAULT_MAX_ATTEMPTS, postTaskWithRetry } from "./task/task-post-retry.api";
54
54
  export { postTaskWithValidation } from "./task/task-post-validated.api";
55
+ export type { CountTasksParams, HasActiveTasksParams, ListTasksParams, TaskSummary, } from "./task/task-query.api";
56
+ export { buildTaskQueryFilters, countTasks, hasActiveTasks, listTasks, TASK_STATUS_FIELD, taskStatusFilterEq, taskStatusFilterIn, taskToSummary, } from "./task/task-query.api";
55
57
  export type { TaskRepoValidationFailureReason, ValidateTaskRepoAndParamsInput, ValidateTaskRepoAndParamsResult, } from "./task/task-repo-validation";
56
58
  export { TaskRepoValidation, validateTaskRepoAndParams, } from "./task/task-repo-validation";
57
59
  export { LOG_TOPIC_TRIGGER, TRIGGER_LOOP_INTERVAL_MS, TRIGGER_RUNNER_DEFAULT_RETRY_COUNT, TRIGGER_RUNNER_DEFAULT_RETRY_DELAY_MS, } from "./trigger/trigger.constant";
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
package/dist/node.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
- import { M as MAX_POLL_TARGET_LIST_SIZE, W as validateWithSchema, f as createLogger, z as pollTargetList, k as generateResponse, g as createTarget, w as logManager, a4 as createScope, c as LogLevel, a5 as patchScope, K as supabase, a6 as readEnv, a7 as requireEnv, J as scanTargetList, a8 as withModule, Z as resolveLogSpoolConfig, a9 as parseLogSpoolBatchFilename, a3 as logSpoolConfigFromEnv, a1 as LOG_SPOOL_SERVICE_ID_ENV, l as getPossibleTarget, E as postTarget, q as isCreateTargetAlreadyExistsError, m as getTarget, Q as updateTarget, t as isOptimisticLockResponse } from './chunks/config-t31awPWL.js';
3
- export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LIST_VALUE, b as LOG_MIN_LEVEL_ENV_KEY, 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, h as deleteTarget, X as envBool, aa as envInt, ab as envMs, ac as envNumber, ad as envPort, i as formatLogSpoolBatchTimestamp, j as formatZodError, n as getTargetList, o as getTargetTotalCount, p as handleSupabaseError, r as isDevEnvironment, s as isOptimisticLockError, u as logDev, v as logDevGroup, x as logMinLevelFromEnv, y as patchTarget, A as postListCreate, D as postLogListCreate, F as postTargetPayloadSchema, G as queryFilterSchema, H as resolveLogMinLevel, I as safeParseWithSchema, N as targetDraftSchema, R as updateTargetCategory, T as updateTargetDetails, V as validateWith } from './chunks/config-t31awPWL.js';
2
+ import { M as MAX_POLL_TARGET_LIST_SIZE, W as validateWithSchema, f as createLogger, z as pollTargetList, k as generateResponse, g as createTarget, w as logManager, a2 as createScope, c as LogLevel, a3 as patchScope, K as supabase, a4 as readEnv, a5 as requireEnv, J as scanTargetList, a6 as withModule, Z as resolveLogSpoolConfig, a1 as logSpoolConfigFromEnv, $ as LOG_SPOOL_SERVICE_ID_ENV, l as getPossibleTarget, E as postTarget, q as isCreateTargetAlreadyExistsError, m as getTarget, Q as updateTarget, t as isOptimisticLockResponse } from './chunks/config-BfWyCqKZ.js';
3
+ export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LIST_VALUE, b as LOG_MIN_LEVEL_ENV_KEY, 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, h as deleteTarget, X as envBool, a7 as envInt, a8 as envMs, a9 as envNumber, aa as envPort, i as formatLogSpoolBatchTimestamp, j as formatZodError, n as getTargetList, o as getTargetTotalCount, p as handleSupabaseError, r as isDevEnvironment, s as isOptimisticLockError, u as logDev, v as logDevGroup, x as logMinLevelFromEnv, y as patchTarget, A as postListCreate, D as postLogListCreate, F as postTargetPayloadSchema, G as queryFilterSchema, H as resolveLogMinLevel, I as safeParseWithSchema, N as targetDraftSchema, R as updateTargetCategory, T as updateTargetDetails, V as validateWith } from './chunks/config-BfWyCqKZ.js';
4
+ import { bZ as getErrorMessage, b_ as LOG_TOPIC_NODE, bz as requireNodeServiceIdFromEnv, bh as postRegisterNode, aX as patchChangeNodeStatus, n as NodeStatus, b6 as patchStopNode, b3 as patchNodeHeartBeat, bR as sha256Hex, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, bH as runRegistrySlotGuardCheck, bv as registrySlotRuntimePatchFromGuardResult, c as CategoryNode, aa as evaluateBusyNodeLiveness, aP as nodesForTaskLiveness, b5 as patchServiceRuntime, aH as isLogEntry, N as NodeKind, Z as claimServiceRegistrySlot, q as ServiceRegistryError, ad as fetchWithRetry, aK as isRetryableHttpStatus, ac as fetchBinaryWithRetry, aJ as isOpaqueChunkUrl, e as CategoryRepo, aD as isHttpUrl, aC as isFeedValue, b$ as isFeedIngestSource, c0 as resolveFeedOriginalStorageProvider, ab as feedLinkDedupFilters, G as buildFeedLinkDraft, b as CategoryLink, c1 as buildFeedTagList, i as IDEA_IMAGE_TEMP_DIR, aw as guessMediaMime, M as MEDIA_CONTENT_HASH_ALGORITHM, aI as isMediaValue, aO as mediaLinkDedupFilters, U as buildMediaLinkDraft, R as ResultCode, c2 as LOG_TOPIC_TASK, s as TASK_REPO_USAGE, aq as getScanRemoteRepoValues, a$ as patchClaimTask, c3 as CRITICAL_UNKNOWN_TASK_TRACE_ID, aZ as patchChangeTaskStatus, v as TaskStatusAction, c4 as toError, bp as postTaskSchema, c5 as createTaskRow } from './chunks/task-post-retry.api-Brc4U6QQ.js';
5
+ export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, d as CategoryParcel, f as CategoryService, g as CategoryTask, D as DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, c6 as FEED_INGEST_SOURCES, F as FEED_VALUES, I as IDEA_IMAGE_LINK_NAME, h as IDEA_IMAGE_TAG_RAW, j as IDEA_LINK_VALUE, L as LINK_MANIFEST_VERSION, k as LIST_MANIFEST_VERSION, l as MEDIA_CONTENT_HASH_PREFIX_LENGTH, m as MEDIA_VALUES, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, o as ParcelManager, p as PostLinkValidator, S as ServiceLifecycleStatus, r as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, t as TASK_STATUS_FIELD, u as TaskStatus, w as apiDetailsSchema, x as appendSystemRegistryEmptySlots, y as assertRegistrySlotAvailable, z as assertRegistrySlotOwner, B as buildEmptyServiceSlots, H as buildFeedLinkName, J as buildIdeaImageLinkDraft, K as buildIdeaLinkDraft, O as buildLinkTargetDraft, Q as buildListTargetDraft, V as buildMediaNameFromLocator, W as buildReviewLinkDraft, X as buildSystemRegistryConfigDetails, Y as buildTaskQueryFilters, _ as classifyNetworkError, $ as countTasks, a0 as createActiveServiceLifecycle, a1 as createClaimedRegistrySlotRuntimeState, a2 as createStorageProviderRegistry, a3 as createUploadTracker, a4 as decodeLogBatch, a5 as decodeLogBatchList, a6 as defaultL3ServiceDetails, a7 as deleteParcel, a8 as deleteParcelSchema, a9 as escapeIlikePattern, ae as fieldDefinitionSchema, af as flattenLogBatch, ag as flattenLogBatches, ah as formatNetworkError, ai as getApi, aj as getApiSchema, ak as getConfig, al as getConfigSchema, am as getExtraction, an as getExtractionSchema, ao as getParcel, ap as getParcelSchema, ar as getScanRemoteRepoValuesSchema, as as getService, at as getServiceSchema, au as getTargetSystemRegistry, av as getValueAtPath, ax as hasActiveTasks, ay as ideaCreateSchema, az as ideaLinkValueFilters, aA as ideaUpdateSchema, aB as installChunkFetchRegistry, aE as isIdeaImageLinkName, aF as isLocalFilesystemPath, aG as isLogBatchList, aL as linkDedupFilters, aM as linkTargetDraftBuildInputSchema, aN as listTasks, aQ as normalizeStringList, aR as parcelDetailsSchema, aS as parseIdeaOriginal, aT as parseLogBatchMeta, aU as parseProviderPrefixedUrl, aV as parseServiceSlot, aW as parseServiceSlots, aY as patchChangeNodeStatusSchema, a_ as patchChangeTaskStatusSchema, b0 as patchClaimTaskSchema, b1 as patchExtractionObjects, b2 as patchExtractionObjectsSchema, b4 as patchNodeHeartBeatSchema, b7 as patchStopNodeSchema, b8 as patchTaskProgress, b9 as patchTaskProgressSchema, ba as postApi, bb as postApiSchema, bc as postExtraction, bd as postExtractionSchema, be as postLinkCreate, bf as postParcel, bg as postParcelSchema, bi as postRegisterNodeSchema, bj as postService, bk as postServiceInstance, bl as postServiceSchema, bm as postSystemRegistryConfig, bn as postSystemRegistryConfigSchema, bo as postTask, bq as postTaskWithRetry, br as publishParcel, bs as registerProviderChunkResolver, bt as registerService, bu as registerServiceAtStartup, bw as releaseSystemRegistrySlots, bx as releaseSystemRegistrySlotsByServiceId, by as requestHasBody, bA as resetSystemRegistryConfig, bB as resetSystemRegistryConfigSchema, bC as resolveActiveRegistryServiceId, bD as resolveFetchUrl, bE as restoreParcel, bF as restoreParcelById, bG as reviewLinksForNameFilters, bI as sanitizeFileName, bJ as sanitizeParcelFileName, bK as scanExtractionList, bL as scanExtractionListSchema, bM as schemaDefinitionSchema, bN as serviceDetailsSchema, bO as serviceLifecycleSchema, bP as serviceNodeSnapshotSchema, bQ as serviceRuntimeSchema, bS as systemRegistrySeedSlotSchema, bT as taskStatusFilterEq, bU as taskStatusFilterIn, bV as taskToSummary, bW as toPostgrestTextArrayLiteral, bX as unregisterService, bY as unregisterServiceAtShutdown } from './chunks/task-post-retry.api-Brc4U6QQ.js';
6
+ import { l as loadEnvFiles, b as resolveLogSpoolSpawnEnvForLabel, c as resolveLogSpoolRoot, d as resolveAllLogSpoolProcessRoles, e as logSpoolProcessDir, s as spoolLogger, f as parseLogSpoolBatchFilename, g as buildLogListDraft, h as postLogBatch, a as logSpoolEnabledFromEnv, i as ensureLogSpoolFromEnv, j as shutdownLogSpoolFromEnv, k as getLogSpoolStats } from './chunks/enable-BPzz7a9r.js';
7
+ export { C as CLI_PROD_FLAG, S as SERVICE_ENV_PROFILE_ENV_KEY, n as SERVICE_ENV_PROFILE_PROD, o as buildLogSpoolSpawnEnv, q as envProfileFromProcess, t as resolveDefaultEnvFiles, r as resolveProjectRootByPackageName, u as resolveProjectRootFromModule, v as validateLogSpoolPreloadEnv } from './chunks/enable-BPzz7a9r.js';
4
8
  import { randomBytes, createHash } from 'node:crypto';
5
- import { bT as getErrorMessage, bU as LOG_TOPIC_NODE, bv as requireNodeServiceIdFromEnv, bd as postRegisterNode, aT as patchChangeNodeStatus, n as NodeStatus, b2 as patchStopNode, a$ as patchNodeHeartBeat, bN as sha256Hex, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, bD as runRegistrySlotGuardCheck, br as registrySlotRuntimePatchFromGuardResult, c as CategoryNode, a8 as evaluateBusyNodeLiveness, aL as nodesForTaskLiveness, b1 as patchServiceRuntime, aE as isLogEntry, N as NodeKind, X as claimServiceRegistrySlot, q as ServiceRegistryError, ab as fetchWithRetry, aH as isRetryableHttpStatus, aa as fetchBinaryWithRetry, aG as isOpaqueChunkUrl, e as CategoryRepo, aA as isHttpUrl, az as isFeedValue, bV as isFeedIngestSource, bW as resolveFeedOriginalStorageProvider, a9 as feedLinkDedupFilters, B as buildFeedLinkDraft, b as CategoryLink, bX as buildFeedTagList, i as IDEA_IMAGE_TEMP_DIR, au as guessMediaMime, M as MEDIA_CONTENT_HASH_ALGORITHM, aF as isMediaValue, aK as mediaLinkDedupFilters, Q as buildMediaLinkDraft, R as ResultCode, bY as LOG_TOPIC_TASK, s as TASK_REPO_USAGE, ao as getScanRemoteRepoValues, aX as patchClaimTask, bZ as CRITICAL_UNKNOWN_TASK_TRACE_ID, aV as patchChangeTaskStatus, u as TaskStatusAction, b_ as toError, bl as postTaskSchema, b$ as createTaskRow } from './chunks/task-queue-BpLJ8skY.js';
6
- export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, d as CategoryParcel, f as CategoryService, g as CategoryTask, D as DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, c0 as FEED_INGEST_SOURCES, F as FEED_VALUES, I as IDEA_IMAGE_LINK_NAME, h as IDEA_IMAGE_TAG_RAW, j as IDEA_LINK_VALUE, L as LINK_MANIFEST_VERSION, k as LIST_MANIFEST_VERSION, l as MEDIA_CONTENT_HASH_PREFIX_LENGTH, m as MEDIA_VALUES, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, o as ParcelManager, p as PostLinkValidator, S as ServiceLifecycleStatus, r as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, t as TaskStatus, v as apiDetailsSchema, w as appendSystemRegistryEmptySlots, x as assertRegistrySlotAvailable, y as assertRegistrySlotOwner, z as buildEmptyServiceSlots, G as buildFeedLinkName, H as buildIdeaImageLinkDraft, J as buildIdeaLinkDraft, K as buildLinkTargetDraft, O as buildListTargetDraft, U as buildMediaNameFromLocator, V as buildReviewLinkDraft, W as buildSystemRegistryConfigDetails, Y as classifyNetworkError, Z as countTasksByType, _ as createActiveServiceLifecycle, $ as createClaimedRegistrySlotRuntimeState, a0 as createStorageProviderRegistry, a1 as createUploadTracker, a2 as decodeLogBatch, a3 as decodeLogBatchList, a4 as defaultL3ServiceDetails, a5 as deleteParcel, a6 as deleteParcelSchema, a7 as escapeIlikePattern, ac as fieldDefinitionSchema, ad as flattenLogBatch, ae as flattenLogBatches, af as formatNetworkError, ag as getApi, ah as getApiSchema, ai as getConfig, aj as getConfigSchema, ak as getExtraction, al as getExtractionSchema, am as getParcel, an as getParcelSchema, ap as getScanRemoteRepoValuesSchema, aq as getService, ar as getServiceSchema, as as getTargetSystemRegistry, at as getValueAtPath, av as ideaCreateSchema, aw as ideaLinkValueFilters, ax as ideaUpdateSchema, ay as installChunkFetchRegistry, aB as isIdeaImageLinkName, aC as isLocalFilesystemPath, aD as isLogBatchList, aI as linkDedupFilters, aJ as linkTargetDraftBuildInputSchema, aM as normalizeStringList, aN as parcelDetailsSchema, aO as parseIdeaOriginal, aP as parseLogBatchMeta, aQ as parseProviderPrefixedUrl, aR as parseServiceSlot, aS as parseServiceSlots, aU as patchChangeNodeStatusSchema, aW as patchChangeTaskStatusSchema, aY as patchClaimTaskSchema, aZ as patchExtractionObjects, a_ as patchExtractionObjectsSchema, b0 as patchNodeHeartBeatSchema, b3 as patchStopNodeSchema, b4 as patchTaskProgress, b5 as patchTaskProgressSchema, b6 as postApi, b7 as postApiSchema, b8 as postExtraction, b9 as postExtractionSchema, ba as postLinkCreate, bb as postParcel, bc as postParcelSchema, be as postRegisterNodeSchema, bf as postService, bg as postServiceInstance, bh as postServiceSchema, bi as postSystemRegistryConfig, bj as postSystemRegistryConfigSchema, bk as postTask, bm as postTaskWithRetry, bn as publishParcel, bo as registerProviderChunkResolver, bp as registerService, bq as registerServiceAtStartup, bs as releaseSystemRegistrySlots, bt as releaseSystemRegistrySlotsByServiceId, bu as requestHasBody, bw as resetSystemRegistryConfig, bx as resetSystemRegistryConfigSchema, by as resolveActiveRegistryServiceId, bz as resolveFetchUrl, bA as restoreParcel, bB as restoreParcelById, bC as reviewLinksForNameFilters, bE as sanitizeFileName, bF as sanitizeParcelFileName, bG as scanExtractionList, bH as scanExtractionListSchema, bI as schemaDefinitionSchema, bJ as serviceDetailsSchema, bK as serviceLifecycleSchema, bL as serviceNodeSnapshotSchema, bM as serviceRuntimeSchema, bO as summarizeTaskQueue, bP as systemRegistrySeedSlotSchema, bQ as toPostgrestTextArrayLiteral, bR as unregisterService, bS as unregisterServiceAtShutdown } from './chunks/task-queue-BpLJ8skY.js';
7
- import { l as loadEnvFiles, b as resolveLogSpoolSpawnEnvForLabel, c as resolveLogSpoolRoot, d as resolveAllLogSpoolProcessRoles, e as logSpoolProcessDir, s as spoolLogger, f as buildLogListDraft, g as postLogBatch, a as logSpoolEnabledFromEnv, h as ensureLogSpoolFromEnv, i as shutdownLogSpoolFromEnv, j as getLogSpoolStats } from './chunks/enable-BKsBzEqS.js';
8
- export { C as CLI_PROD_FLAG, S as SERVICE_ENV_PROFILE_ENV_KEY, k as SERVICE_ENV_PROFILE_PROD, n as buildLogSpoolSpawnEnv, o as envProfileFromProcess, q as resolveDefaultEnvFiles, r as resolveProjectRootByPackageName, t as resolveProjectRootFromModule, v as validateLogSpoolPreloadEnv } from './chunks/enable-BKsBzEqS.js';
9
9
  import { readFile, unlink, mkdir, writeFile, rename, access, stat, readdir, constants } from 'node:fs/promises';
10
10
  import { dirname, resolve, join, isAbsolute } from 'node:path';
11
11
  import { spawn } from 'node:child_process';
package/dist/preload.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { resolve } from 'node:path';
2
- import { w as logManager, H as resolveLogMinLevel } from './chunks/config-t31awPWL.js';
3
- import { r as resolveProjectRootByPackageName, p as pinEnvProfileFromArgv, l as loadEnvFiles, v as validateLogSpoolPreloadEnv, a as logSpoolEnabledFromEnv, m as mergeLogSpoolExtraProcessRolesEnv } from './chunks/enable-BKsBzEqS.js';
4
- import 'node:crypto';
2
+ import { w as logManager, H as resolveLogMinLevel } from './chunks/config-BfWyCqKZ.js';
3
+ import { r as resolveProjectRootByPackageName, p as pinEnvProfileFromArgv, l as loadEnvFiles, v as validateLogSpoolPreloadEnv, a as logSpoolEnabledFromEnv, m as mergeLogSpoolExtraProcessRolesEnv } from './chunks/enable-BPzz7a9r.js';
5
4
  import 'zod';
6
5
  import 'lodash-es';
7
6
  import '@supabase/supabase-js';
@@ -1 +1 @@
1
- {"version":3,"file":"preload.js","sources":["../src/node/preload/run-service-preload.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport { logManager } from \"../../shared/log/core/log-manager\";\nimport { resolveLogMinLevel } from \"../../shared/log/core/log-min-level\";\nimport { validateLogSpoolPreloadEnv } from \"../../shared/log/spool/enable\";\nimport { mergeLogSpoolExtraProcessRolesEnv } from \"../../shared/log/spool/process-roles\";\nimport { logSpoolEnabledFromEnv } from \"../../shared/log/upload/env\";\nimport { loadEnvFiles, pinEnvProfileFromArgv } from \"../env/load-env\";\nimport { resolveProjectRootByPackageName } from \"../env/project-root\";\nimport type { ServicePreloadOptions } from \"./service-preload.interface\";\n\nfunction applyServiceEnvDefaults(projectRoot: string, options: ServicePreloadOptions): void {\n if (!logSpoolEnabledFromEnv()) {\n return;\n }\n\n const service = process.env.LOG_PERSIST_SERVICE?.trim();\n if (service == null || service === \"\") {\n process.env.LOG_PERSIST_SERVICE = options.serviceValue;\n }\n\n const runtimeDir = process.env.RUNTIME_DATA_DIR?.trim();\n if (runtimeDir == null || runtimeDir === \"\") {\n const relative = options.runtimeDataDirRelative ?? \"data/runtime\";\n process.env.RUNTIME_DATA_DIR = resolve(projectRoot, relative);\n }\n\n if (options.logSpoolExtraProcessRoles != null && options.logSpoolExtraProcessRoles.length > 0) {\n mergeLogSpoolExtraProcessRolesEnv(process.env, options.logSpoolExtraProcessRoles);\n }\n}\n\nfunction applyLogMinLevelFromEnv(options: ServicePreloadOptions): void {\n if (options.applyLogMinLevel === false) {\n return;\n }\n logManager.setOptions({\n minLevel: resolveLogMinLevel({ defaultLevel: options.defaultLogMinLevel }),\n });\n}\n\n/**\n * Unified Node `--import` preload runner (sync only).\n *\n * Phase 1 — Resolve project root from service package name\n * Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)\n * Phase 3 — Apply SDK service env defaults + optional L3 hook\n * Phase 3½ — Apply LOG_MIN_LEVEL → logManager.minLevel (after env load)\n * Phase 4 — Validate log-persist env when enabled\n * Phase 5 — Process diagnostics (TODO)\n *\n * Supabase init and log-persist enable stay in app `main()` (async).\n */\nexport function runServicePreload(options: ServicePreloadOptions): void {\n const projectRoot = resolveProjectRootByPackageName(options.callerImportMetaUrl, options.packageName);\n\n pinEnvProfileFromArgv();\n loadEnvFiles(projectRoot, { afterLoad: options.afterLoadEnv });\n\n applyServiceEnvDefaults(projectRoot, options);\n options.applyEnvDefaults?.(projectRoot);\n\n applyLogMinLevelFromEnv(options);\n\n validateLogSpoolPreloadEnv();\n\n // TODO: Phase 5 — optional unhandledRejection / uncaughtException formatters\n // (formerly watch-service preload-diagnostics.mjs)\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAUA,SAAS,uBAAuB,CAAC,WAAmB,EAAE,OAA8B,EAAA;AAChF,IAAA,IAAI,CAAC,sBAAsB,EAAE,EAAE;QAC3B;IACJ;IAEA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;IACvD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,YAAY;IAC1D;IAEA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE;IACvD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE;AACzC,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,IAAI,cAAc;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjE;AAEA,IAAA,IAAI,OAAO,CAAC,yBAAyB,IAAI,IAAI,IAAI,OAAO,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3F,iCAAiC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,yBAAyB,CAAC;IACrF;AACJ;AAEA,SAAS,uBAAuB,CAAC,OAA8B,EAAA;AAC3D,IAAA,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;QACpC;IACJ;IACA,UAAU,CAAC,UAAU,CAAC;QAClB,QAAQ,EAAE,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7E,KAAA,CAAC;AACN;AAEA;;;;;;;;;;;AAWG;AACG,SAAU,iBAAiB,CAAC,OAA8B,EAAA;AAC5D,IAAA,MAAM,WAAW,GAAG,+BAA+B,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC;AAErG,IAAA,qBAAqB,EAAE;IACvB,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;AAE9D,IAAA,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;AAC7C,IAAA,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC;IAEvC,uBAAuB,CAAC,OAAO,CAAC;AAEhC,IAAA,0BAA0B,EAAE;;;AAIhC;;;;"}
1
+ {"version":3,"file":"preload.js","sources":["../src/node/preload/run-service-preload.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport { logManager } from \"../../shared/log/core/log-manager\";\nimport { resolveLogMinLevel } from \"../../shared/log/core/log-min-level\";\nimport { validateLogSpoolPreloadEnv } from \"../../shared/log/spool/enable\";\nimport { mergeLogSpoolExtraProcessRolesEnv } from \"../../shared/log/spool/process-roles\";\nimport { logSpoolEnabledFromEnv } from \"../../shared/log/upload/env\";\nimport { loadEnvFiles, pinEnvProfileFromArgv } from \"../env/load-env\";\nimport { resolveProjectRootByPackageName } from \"../env/project-root\";\nimport type { ServicePreloadOptions } from \"./service-preload.interface\";\n\nfunction applyServiceEnvDefaults(projectRoot: string, options: ServicePreloadOptions): void {\n if (!logSpoolEnabledFromEnv()) {\n return;\n }\n\n const service = process.env.LOG_PERSIST_SERVICE?.trim();\n if (service == null || service === \"\") {\n process.env.LOG_PERSIST_SERVICE = options.serviceValue;\n }\n\n const runtimeDir = process.env.RUNTIME_DATA_DIR?.trim();\n if (runtimeDir == null || runtimeDir === \"\") {\n const relative = options.runtimeDataDirRelative ?? \"data/runtime\";\n process.env.RUNTIME_DATA_DIR = resolve(projectRoot, relative);\n }\n\n if (options.logSpoolExtraProcessRoles != null && options.logSpoolExtraProcessRoles.length > 0) {\n mergeLogSpoolExtraProcessRolesEnv(process.env, options.logSpoolExtraProcessRoles);\n }\n}\n\nfunction applyLogMinLevelFromEnv(options: ServicePreloadOptions): void {\n if (options.applyLogMinLevel === false) {\n return;\n }\n logManager.setOptions({\n minLevel: resolveLogMinLevel({ defaultLevel: options.defaultLogMinLevel }),\n });\n}\n\n/**\n * Unified Node `--import` preload runner (sync only).\n *\n * Phase 1 — Resolve project root from service package name\n * Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)\n * Phase 3 — Apply SDK service env defaults + optional L3 hook\n * Phase 3½ — Apply LOG_MIN_LEVEL → logManager.minLevel (after env load)\n * Phase 4 — Validate log-persist env when enabled\n * Phase 5 — Process diagnostics (TODO)\n *\n * Supabase init and log-persist enable stay in app `main()` (async).\n */\nexport function runServicePreload(options: ServicePreloadOptions): void {\n const projectRoot = resolveProjectRootByPackageName(options.callerImportMetaUrl, options.packageName);\n\n pinEnvProfileFromArgv();\n loadEnvFiles(projectRoot, { afterLoad: options.afterLoadEnv });\n\n applyServiceEnvDefaults(projectRoot, options);\n options.applyEnvDefaults?.(projectRoot);\n\n applyLogMinLevelFromEnv(options);\n\n validateLogSpoolPreloadEnv();\n\n // TODO: Phase 5 — optional unhandledRejection / uncaughtException formatters\n // (formerly watch-service preload-diagnostics.mjs)\n}\n"],"names":[],"mappings":";;;;;;;;;;AAUA,SAAS,uBAAuB,CAAC,WAAmB,EAAE,OAA8B,EAAA;AAChF,IAAA,IAAI,CAAC,sBAAsB,EAAE,EAAE;QAC3B;IACJ;IAEA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;IACvD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,YAAY;IAC1D;IAEA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE;IACvD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE;AACzC,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,IAAI,cAAc;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjE;AAEA,IAAA,IAAI,OAAO,CAAC,yBAAyB,IAAI,IAAI,IAAI,OAAO,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3F,iCAAiC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,yBAAyB,CAAC;IACrF;AACJ;AAEA,SAAS,uBAAuB,CAAC,OAA8B,EAAA;AAC3D,IAAA,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;QACpC;IACJ;IACA,UAAU,CAAC,UAAU,CAAC;QAClB,QAAQ,EAAE,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7E,KAAA,CAAC;AACN;AAEA;;;;;;;;;;;AAWG;AACG,SAAU,iBAAiB,CAAC,OAA8B,EAAA;AAC5D,IAAA,MAAM,WAAW,GAAG,+BAA+B,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC;AAErG,IAAA,qBAAqB,EAAE;IACvB,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;AAE9D,IAAA,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;AAC7C,IAAA,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC;IAEvC,uBAAuB,CAAC,OAAO,CAAC;AAEhC,IAAA,0BAA0B,EAAE;;;AAIhC;;;;"}
@@ -11,7 +11,7 @@ export type { ResolveLogMinLevelOptions } from "./core/log-min-level";
11
11
  export { LOG_MIN_LEVEL_ENV_KEY, logMinLevelFromEnv, resolveLogMinLevel, } from "./core/log-min-level";
12
12
  export type { CreateScopeInput, LoggerResetScopePatch, LogScope, LogScopeInput, LogScopePatch, PatchScopeInput, } from "./core/log-scope";
13
13
  export { createScope, formatScopeLabels, normalizeScope, patchScope, resolveLogData, withModule, } from "./core/log-scope";
14
- export { formatLogSpoolBatchTimestamp } from "./spool/file";
14
+ export { formatLogSpoolBatchTimestamp } from "./spool/batch-timestamp";
15
15
  export type { LogBatchMeta, LogPersistLane } from "./upload/interface";
16
16
  export { LOG_BATCH_LIST_VALUE } from "./upload/interface";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACR,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,iBAAiB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACR,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACR,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,iBAAiB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACR,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** UTC `yyyyMMddHHmmss` segment in log spool batch filenames — browser-safe (no Node built-ins). */
2
+ export declare function formatLogSpoolBatchTimestamp(ms: number): string;
3
+ //# sourceMappingURL=batch-timestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-timestamp.d.ts","sourceRoot":"","sources":["../../../../src/shared/log/spool/batch-timestamp.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAW/D"}
@@ -1,5 +1,5 @@
1
1
  import type { LogSpoolProcessRole } from "./interface";
2
- export declare function formatLogSpoolBatchTimestamp(ms: number): string;
2
+ export { formatLogSpoolBatchTimestamp } from "./batch-timestamp";
3
3
  export declare function randomLogSpoolShortId(): string;
4
4
  export declare function buildLogSpoolBatchBaseName(input: {
5
5
  processRole: LogSpoolProcessRole;
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/shared/log/spool/file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKvD,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAC9C,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAGT;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC1D,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;CACxC,GAAG,IAAI,CAwBP"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/shared/log/spool/file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAC9C,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAGT;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC1D,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;CACxC,GAAG,IAAI,CAwBP"}
@@ -13,6 +13,8 @@ export { postTask, postTaskSchema } from "./task-post.api";
13
13
  export type { PostTaskWithRetryOptions, PostTaskWithRetryResult } from "./task-post-retry.api";
14
14
  export { POST_TASK_DEFAULT_MAX_ATTEMPTS, postTaskWithRetry } from "./task-post-retry.api";
15
15
  export { postTaskWithValidation } from "./task-post-validated.api";
16
+ export type { CountTasksParams, HasActiveTasksParams, ListTasksParams, TaskSummary, } from "./task-query.api";
17
+ export { buildTaskQueryFilters, countTasks, hasActiveTasks, listTasks, TASK_STATUS_FIELD, taskStatusFilterEq, taskStatusFilterIn, taskToSummary, } from "./task-query.api";
16
18
  export type { TaskRepoValidationFailureReason, ValidateTaskRepoAndParamsInput, ValidateTaskRepoAndParamsResult, } from "./task-repo-validation";
17
19
  export { TaskRepoValidation } from "./task-repo-validation";
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACR,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EACH,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACR,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EACR,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,GAClC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACR,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EACH,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACR,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACR,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,GAClC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { type QueryFilter } from "../core.api";
2
+ import { type Task, TaskStatus } from "./task.interface";
3
+ /** PostgREST column for Task lifecycle (not `details.status`). */
4
+ export declare const TASK_STATUS_FIELD: "status";
5
+ export declare function taskStatusFilterEq(status: TaskStatus): QueryFilter;
6
+ export declare function taskStatusFilterIn(statuses: readonly TaskStatus[]): QueryFilter;
7
+ export declare function buildTaskQueryFilters(options: {
8
+ value?: string;
9
+ valueIn?: readonly string[];
10
+ status?: TaskStatus;
11
+ statusIn?: readonly TaskStatus[];
12
+ }): QueryFilter[];
13
+ export interface CountTasksParams {
14
+ value?: string;
15
+ valueIn?: readonly string[];
16
+ status?: TaskStatus;
17
+ statusIn?: readonly TaskStatus[];
18
+ }
19
+ /** Count active `category=task` rows matching optional type and status filters. */
20
+ export declare function countTasks(params: CountTasksParams): Promise<number>;
21
+ export interface HasActiveTasksParams {
22
+ value?: string;
23
+ valueIn?: readonly string[];
24
+ /** Defaults to TODO + DOING. */
25
+ statuses?: readonly TaskStatus[];
26
+ }
27
+ /** True when at least one task row matches (limit-1 probe). */
28
+ export declare function hasActiveTasks(params: HasActiveTasksParams): Promise<boolean>;
29
+ export interface ListTasksParams {
30
+ value?: string;
31
+ valueIn?: readonly string[];
32
+ status?: TaskStatus | "all";
33
+ statusIn?: readonly TaskStatus[];
34
+ orderBy?: {
35
+ field: string;
36
+ ascending: boolean;
37
+ };
38
+ limit?: number;
39
+ /** When set, scan up to this many rows then slice (legacy gc list cap). */
40
+ maxScan?: number;
41
+ }
42
+ /** List Task rows via category-scoped scan (filters pushed to PostgREST). */
43
+ export declare function listTasks(params?: ListTasksParams): Promise<Task[]>;
44
+ /** Stable read model for L3 admin lists (no direct `details.status`). */
45
+ export interface TaskSummary {
46
+ id: string;
47
+ name: string;
48
+ value: string;
49
+ status: TaskStatus;
50
+ category: string;
51
+ createdAt: string;
52
+ extra: string | null;
53
+ tagList: string[];
54
+ manifestVersion: number;
55
+ progress: number;
56
+ nodeId: string | null;
57
+ traceId: string | null;
58
+ params: unknown;
59
+ resultCode: number | null;
60
+ errorMessage: string | null;
61
+ }
62
+ export declare function taskToSummary(task: Task): TaskSummary;
63
+ //# sourceMappingURL=task-query.api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-query.api.d.ts","sourceRoot":"","sources":["../../src/task/task-query.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,WAAW,EAAkB,MAAM,aAAa,CAAC;AACnG,OAAO,EAAgB,KAAK,IAAI,EAAoB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzF,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,EAAG,QAAiB,CAAC;AAInD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAElE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,WAAW,CAK/E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACpC,GAAG,WAAW,EAAE,CAahB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACpC;AAED,mFAAmF;AACnF,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1E;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACpC;AAED,+DAA+D;AAC/D,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAcnF;AAED,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,6EAA6E;AAC7E,wBAAsB,SAAS,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAoB7E;AAED,yEAAyE;AACzE,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAmBrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "target-supabase-sdk",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Supabase client initializer and data access APIs",
5
5
  "license": "MIT",
6
6
  "author": "KyLoc20",
package/src/browser.ts CHANGED
@@ -307,5 +307,19 @@ export type { PostTaskPayload } from "./task/task-post.api";
307
307
  export { postTask, postTaskSchema } from "./task/task-post.api";
308
308
  export type { PostTaskWithRetryOptions, PostTaskWithRetryResult } from "./task/task-post-retry.api";
309
309
  export { POST_TASK_DEFAULT_MAX_ATTEMPTS, postTaskWithRetry } from "./task/task-post-retry.api";
310
- export type { TaskStatusCount } from "./task/task-queue";
311
- export { countTasksByType, summarizeTaskQueue } from "./task/task-queue";
310
+ export type {
311
+ CountTasksParams,
312
+ HasActiveTasksParams,
313
+ ListTasksParams,
314
+ TaskSummary,
315
+ } from "./task/task-query.api";
316
+ export {
317
+ buildTaskQueryFilters,
318
+ countTasks,
319
+ hasActiveTasks,
320
+ listTasks,
321
+ TASK_STATUS_FIELD,
322
+ taskStatusFilterEq,
323
+ taskStatusFilterIn,
324
+ taskToSummary,
325
+ } from "./task/task-query.api";
package/src/node.ts CHANGED
@@ -273,6 +273,22 @@ export { postTask, postTaskSchema } from "./task/task-post.api";
273
273
  export type { PostTaskWithRetryOptions, PostTaskWithRetryResult } from "./task/task-post-retry.api";
274
274
  export { POST_TASK_DEFAULT_MAX_ATTEMPTS, postTaskWithRetry } from "./task/task-post-retry.api";
275
275
  export { postTaskWithValidation } from "./task/task-post-validated.api";
276
+ export type {
277
+ CountTasksParams,
278
+ HasActiveTasksParams,
279
+ ListTasksParams,
280
+ TaskSummary,
281
+ } from "./task/task-query.api";
282
+ export {
283
+ buildTaskQueryFilters,
284
+ countTasks,
285
+ hasActiveTasks,
286
+ listTasks,
287
+ TASK_STATUS_FIELD,
288
+ taskStatusFilterEq,
289
+ taskStatusFilterIn,
290
+ taskToSummary,
291
+ } from "./task/task-query.api";
276
292
  export type {
277
293
  TaskRepoValidationFailureReason,
278
294
  ValidateTaskRepoAndParamsInput,
@@ -29,7 +29,8 @@ src/shared/log/
29
29
  writer.ts # per-process memory buffer → .tmp files
30
30
  collector.ts # guard: upload .tmp, rename .json, periodic GC
31
31
  paths.ts # {RUNTIME_DATA_DIR}/log-spool/{serviceId}/…
32
- file.ts # batch filename parse/build
32
+ batch-timestamp.ts # formatLogSpoolBatchTimestamp (browser-safe; exported on default entry)
33
+ file.ts # batch filename parse/build (Node spool writer/collector only)
33
34
  process-roles.ts # main|guard|scheduler|worker + extras
34
35
  config.ts # writer / GC / collect interval env
35
36
  coordinator.ts # createLogSpoolCoordinator facade
@@ -45,6 +46,8 @@ src/shared/log/
45
46
 
46
47
  Node-only code must not be imported from the browser bundle. Spool files use `node:fs`.
47
48
 
49
+ **Browser export rule:** Do not re-export symbols from `spool/file.ts` on `shared/log/index.ts`. Put any browser-needed pure helpers in a separate file (e.g. `batch-timestamp.ts`). A top-level `import "node:crypto"` in the same module as a browser export ends up in Rollup **shared chunks** and breaks Chrome/Webpack even when that symbol is never called at runtime.
50
+
48
51
  ---
49
52
 
50
53
  ## Data flow
@@ -42,6 +42,6 @@ export {
42
42
  resolveLogData,
43
43
  withModule,
44
44
  } from "./core/log-scope";
45
- export { formatLogSpoolBatchTimestamp } from "./spool/file";
45
+ export { formatLogSpoolBatchTimestamp } from "./spool/batch-timestamp";
46
46
  export type { LogBatchMeta, LogPersistLane } from "./upload/interface";
47
47
  export { LOG_BATCH_LIST_VALUE } from "./upload/interface";
@@ -0,0 +1,14 @@
1
+ /** UTC `yyyyMMddHHmmss` segment in log spool batch filenames — browser-safe (no Node built-ins). */
2
+
3
+ export function formatLogSpoolBatchTimestamp(ms: number): string {
4
+ const d = new Date(ms);
5
+ const pad = (n: number) => String(n).padStart(2, "0");
6
+ return (
7
+ `${d.getUTCFullYear()}` +
8
+ `${pad(d.getUTCMonth() + 1)}` +
9
+ `${pad(d.getUTCDate())}` +
10
+ `${pad(d.getUTCHours())}` +
11
+ `${pad(d.getUTCMinutes())}` +
12
+ `${pad(d.getUTCSeconds())}`
13
+ );
14
+ }
@@ -1,24 +1,15 @@
1
- import { randomBytes } from "node:crypto";
1
+ import { formatLogSpoolBatchTimestamp } from "./batch-timestamp";
2
2
  import type { LogSpoolProcessRole } from "./interface";
3
3
 
4
4
  /** `role.timestamp.hash.tmp|json` — role is lowercase alphanumeric + hyphen. */
5
5
  const BATCH_FILE_PATTERN = /^([a-z][a-z0-9-]*)\.(\d{14})\.([a-f0-9]{8})\.(tmp|json|synced)$/;
6
6
 
7
- export function formatLogSpoolBatchTimestamp(ms: number): string {
8
- const d = new Date(ms);
9
- const pad = (n: number) => String(n).padStart(2, "0");
10
- return (
11
- `${d.getUTCFullYear()}` +
12
- `${pad(d.getUTCMonth() + 1)}` +
13
- `${pad(d.getUTCDate())}` +
14
- `${pad(d.getUTCHours())}` +
15
- `${pad(d.getUTCMinutes())}` +
16
- `${pad(d.getUTCSeconds())}`
17
- );
18
- }
7
+ export { formatLogSpoolBatchTimestamp } from "./batch-timestamp";
19
8
 
20
9
  export function randomLogSpoolShortId(): string {
21
- return randomBytes(4).toString("hex");
10
+ const bytes = new Uint8Array(4);
11
+ globalThis.crypto.getRandomValues(bytes);
12
+ return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
22
13
  }
23
14
 
24
15
  export function buildLogSpoolBatchBaseName(input: {
package/src/task/index.ts CHANGED
@@ -38,6 +38,22 @@ export { postTask, postTaskSchema } from "./task-post.api";
38
38
  export type { PostTaskWithRetryOptions, PostTaskWithRetryResult } from "./task-post-retry.api";
39
39
  export { POST_TASK_DEFAULT_MAX_ATTEMPTS, postTaskWithRetry } from "./task-post-retry.api";
40
40
  export { postTaskWithValidation } from "./task-post-validated.api";
41
+ export type {
42
+ CountTasksParams,
43
+ HasActiveTasksParams,
44
+ ListTasksParams,
45
+ TaskSummary,
46
+ } from "./task-query.api";
47
+ export {
48
+ buildTaskQueryFilters,
49
+ countTasks,
50
+ hasActiveTasks,
51
+ listTasks,
52
+ TASK_STATUS_FIELD,
53
+ taskStatusFilterEq,
54
+ taskStatusFilterIn,
55
+ taskToSummary,
56
+ } from "./task-query.api";
41
57
  export type {
42
58
  TaskRepoValidationFailureReason,
43
59
  ValidateTaskRepoAndParamsInput,
@@ -0,0 +1,155 @@
1
+ import { getTargetList, getTargetTotalCount, type QueryFilter, scanTargetList } from "../core.api";
2
+ import { CategoryTask, type Task, type TaskDetails, TaskStatus } from "./task.interface";
3
+
4
+ /** PostgREST column for Task lifecycle (not `details.status`). */
5
+ export const TASK_STATUS_FIELD = "status" as const;
6
+
7
+ const DEFAULT_ACTIVE_STATUSES: TaskStatus[] = [TaskStatus.TODO, TaskStatus.DOING];
8
+
9
+ export function taskStatusFilterEq(status: TaskStatus): QueryFilter {
10
+ return { field: TASK_STATUS_FIELD, operator: "eq", value: status };
11
+ }
12
+
13
+ export function taskStatusFilterIn(statuses: readonly TaskStatus[]): QueryFilter {
14
+ if (statuses.length === 1) {
15
+ return taskStatusFilterEq(statuses[0]);
16
+ }
17
+ return { field: TASK_STATUS_FIELD, operator: "in", value: [...statuses] };
18
+ }
19
+
20
+ export function buildTaskQueryFilters(options: {
21
+ value?: string;
22
+ valueIn?: readonly string[];
23
+ status?: TaskStatus;
24
+ statusIn?: readonly TaskStatus[];
25
+ }): QueryFilter[] {
26
+ const filterList: QueryFilter[] = [];
27
+ if (options.value != null && options.value !== "") {
28
+ filterList.push({ field: "value", operator: "eq", value: options.value });
29
+ } else if (options.valueIn != null && options.valueIn.length > 0) {
30
+ filterList.push({ field: "value", operator: "in", value: [...options.valueIn] });
31
+ }
32
+ if (options.status != null) {
33
+ filterList.push(taskStatusFilterEq(options.status));
34
+ } else if (options.statusIn != null && options.statusIn.length > 0) {
35
+ filterList.push(taskStatusFilterIn(options.statusIn));
36
+ }
37
+ return filterList;
38
+ }
39
+
40
+ export interface CountTasksParams {
41
+ value?: string;
42
+ valueIn?: readonly string[];
43
+ status?: TaskStatus;
44
+ statusIn?: readonly TaskStatus[];
45
+ }
46
+
47
+ /** Count active `category=task` rows matching optional type and status filters. */
48
+ export async function countTasks(params: CountTasksParams): Promise<number> {
49
+ const filterList = buildTaskQueryFilters(params);
50
+ const { data = 0 } = await getTargetTotalCount({
51
+ category: CategoryTask.TASK,
52
+ filterList,
53
+ });
54
+ return data;
55
+ }
56
+
57
+ export interface HasActiveTasksParams {
58
+ value?: string;
59
+ valueIn?: readonly string[];
60
+ /** Defaults to TODO + DOING. */
61
+ statuses?: readonly TaskStatus[];
62
+ }
63
+
64
+ /** True when at least one task row matches (limit-1 probe). */
65
+ export async function hasActiveTasks(params: HasActiveTasksParams): Promise<boolean> {
66
+ const statuses = params.statuses ?? DEFAULT_ACTIVE_STATUSES;
67
+ const filterList = buildTaskQueryFilters({
68
+ value: params.value,
69
+ valueIn: params.valueIn,
70
+ statusIn: statuses,
71
+ });
72
+ const { data = [] } = await getTargetList<Task>({
73
+ category: CategoryTask.TASK,
74
+ filterList,
75
+ limit: 1,
76
+ orderBy: { field: "created_at", ascending: true },
77
+ });
78
+ return data.length > 0;
79
+ }
80
+
81
+ export interface ListTasksParams {
82
+ value?: string;
83
+ valueIn?: readonly string[];
84
+ status?: TaskStatus | "all";
85
+ statusIn?: readonly TaskStatus[];
86
+ orderBy?: { field: string; ascending: boolean };
87
+ limit?: number;
88
+ /** When set, scan up to this many rows then slice (legacy gc list cap). */
89
+ maxScan?: number;
90
+ }
91
+
92
+ const MAX_LIST_TASKS = 500;
93
+
94
+ /** List Task rows via category-scoped scan (filters pushed to PostgREST). */
95
+ export async function listTasks(params: ListTasksParams = {}): Promise<Task[]> {
96
+ const limit = Math.min(Math.max(params.limit ?? 100, 1), MAX_LIST_TASKS);
97
+ const status = params.status === "all" ? undefined : params.status;
98
+ const filterList = buildTaskQueryFilters({
99
+ value: params.value,
100
+ valueIn: params.valueIn,
101
+ status,
102
+ statusIn: params.statusIn,
103
+ });
104
+ const orderBy = params.orderBy ?? { field: "created_at", ascending: false };
105
+ const maxRows = params.maxScan != null ? Math.min(Math.max(params.maxScan, limit), MAX_LIST_TASKS) : limit;
106
+
107
+ const { data = [] } = await scanTargetList<Task>({
108
+ category: CategoryTask.TASK,
109
+ filterList,
110
+ orderBy,
111
+ maxRows,
112
+ });
113
+
114
+ return data.slice(0, limit);
115
+ }
116
+
117
+ /** Stable read model for L3 admin lists (no direct `details.status`). */
118
+ export interface TaskSummary {
119
+ id: string;
120
+ name: string;
121
+ value: string;
122
+ status: TaskStatus;
123
+ category: string;
124
+ createdAt: string;
125
+ extra: string | null;
126
+ tagList: string[];
127
+ manifestVersion: number;
128
+ progress: number;
129
+ nodeId: string | null;
130
+ traceId: string | null;
131
+ params: unknown;
132
+ resultCode: number | null;
133
+ errorMessage: string | null;
134
+ }
135
+
136
+ export function taskToSummary(task: Task): TaskSummary {
137
+ const details = task.details as TaskDetails;
138
+ return {
139
+ id: task.id,
140
+ name: task.name,
141
+ value: task.value,
142
+ status: task.status,
143
+ category: task.category,
144
+ createdAt: task.created_at,
145
+ extra: task.extra ?? null,
146
+ tagList: task.tagList ?? [],
147
+ manifestVersion: details.manifestVersion,
148
+ progress: details.progress,
149
+ nodeId: details.nodeId,
150
+ traceId: details.traceId ?? null,
151
+ params: details.params,
152
+ resultCode: details.result?.code ?? null,
153
+ errorMessage: details.result?.errorMessage ?? null,
154
+ };
155
+ }
@@ -16,8 +16,8 @@ import { escapeIlikePattern } from "../shared/utils/postgrest.utils";
16
16
  import { supabase } from "../supabase";
17
17
  import { LOG_TOPIC_TASK } from "./task.constant";
18
18
  import { CategoryTask, ResultCode, type Task, type TaskDetails, TaskStatus, TaskStatusAction } from "./task.interface";
19
+ import { TASK_STATUS_FIELD } from "./task-query.api";
19
20
 
20
- const TASK_STATUS_FIELD = "status" as const;
21
21
  const TASK_NODE_ID_FIELD = "details->>nodeId" as const;
22
22
 
23
23
  // ─── State machine ───────────────────────────────────────────────────────────