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.
- package/README.md +1 -1
- package/dist/browser.d.ts +2 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +2 -3
- package/dist/browser.js.map +1 -1
- package/dist/chunks/{config-t31awPWL.js → config-BfWyCqKZ.js} +3 -33
- package/dist/chunks/config-BfWyCqKZ.js.map +1 -0
- package/dist/chunks/{enable-BKsBzEqS.js → enable-BPzz7a9r.js} +36 -3
- package/dist/chunks/enable-BPzz7a9r.js.map +1 -0
- package/dist/chunks/{task-queue-BpLJ8skY.js → task-post-retry.api-Brc4U6QQ.js} +97 -18
- package/dist/chunks/task-post-retry.api-Brc4U6QQ.js.map +1 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +6 -6
- package/dist/preload.js +2 -3
- package/dist/preload.js.map +1 -1
- package/dist/shared/log/index.d.ts +1 -1
- package/dist/shared/log/index.d.ts.map +1 -1
- package/dist/shared/log/spool/batch-timestamp.d.ts +3 -0
- package/dist/shared/log/spool/batch-timestamp.d.ts.map +1 -0
- package/dist/shared/log/spool/file.d.ts +1 -1
- package/dist/shared/log/spool/file.d.ts.map +1 -1
- package/dist/task/index.d.ts +2 -0
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/task-query.api.d.ts +63 -0
- package/dist/task/task-query.api.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/browser.ts +16 -2
- package/src/node.ts +16 -0
- package/src/shared/log/README.md +4 -1
- package/src/shared/log/index.ts +1 -1
- package/src/shared/log/spool/batch-timestamp.ts +14 -0
- package/src/shared/log/spool/file.ts +5 -14
- package/src/task/index.ts +16 -0
- package/src/task/task-query.api.ts +155 -0
- package/src/task/task.api.ts +1 -1
- package/dist/chunks/config-t31awPWL.js.map +0 -1
- package/dist/chunks/enable-BKsBzEqS.js.map +0 -1
- package/dist/chunks/task-queue-BpLJ8skY.js.map +0 -1
- package/dist/task/task-queue.d.ts +0 -7
- package/dist/task/task-queue.d.ts.map +0 -1
- 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";
|
package/dist/node.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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-
|
|
3
|
-
import { r as resolveProjectRootByPackageName, p as pinEnvProfileFromArgv, l as loadEnvFiles, v as validateLogSpoolPreloadEnv, a as logSpoolEnabledFromEnv, m as mergeLogSpoolExtraProcessRolesEnv } from './chunks/enable-
|
|
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';
|
package/dist/preload.js.map
CHANGED
|
@@ -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":"
|
|
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/
|
|
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,
|
|
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 @@
|
|
|
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
|
|
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,
|
|
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"}
|
package/dist/task/index.d.ts
CHANGED
|
@@ -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
|
package/dist/task/index.d.ts.map
CHANGED
|
@@ -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
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 {
|
|
311
|
-
|
|
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,
|
package/src/shared/log/README.md
CHANGED
|
@@ -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
|
-
|
|
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
|
package/src/shared/log/index.ts
CHANGED
|
@@ -42,6 +42,6 @@ export {
|
|
|
42
42
|
resolveLogData,
|
|
43
43
|
withModule,
|
|
44
44
|
} from "./core/log-scope";
|
|
45
|
-
export { formatLogSpoolBatchTimestamp } from "./spool/
|
|
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 {
|
|
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
|
|
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
|
-
|
|
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
|
+
}
|
package/src/task/task.api.ts
CHANGED
|
@@ -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 ───────────────────────────────────────────────────────────
|