target-supabase-sdk 0.2.20 → 0.2.22
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/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -1
- package/dist/chunks/{task-queue-CqmIVCBi.js → task-queue-DWFe0rCS.js} +20 -22
- package/dist/chunks/task-queue-DWFe0rCS.js.map +1 -0
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +174 -19
- package/dist/node.js.map +1 -1
- package/dist/shared/feed/feed.build.d.ts +4 -2
- package/dist/shared/feed/feed.build.d.ts.map +1 -1
- package/dist/shared/feed/node/feed.access.d.ts +10 -2
- package/dist/shared/feed/node/feed.access.d.ts.map +1 -1
- package/dist/shared/feed/node/feed.service.d.ts +26 -1
- package/dist/shared/feed/node/feed.service.d.ts.map +1 -1
- package/dist/shared/feed/node/index.d.ts +3 -3
- package/dist/shared/feed/node/index.d.ts.map +1 -1
- package/dist/shared/http/fetch-retry.d.ts +2 -0
- package/dist/shared/http/fetch-retry.d.ts.map +1 -1
- package/dist/shared/media/node/media.service.d.ts +8 -2
- package/dist/shared/media/node/media.service.d.ts.map +1 -1
- package/dist/shared/review/index.d.ts +1 -1
- package/dist/shared/review/index.d.ts.map +1 -1
- package/dist/shared/review/review.build.d.ts +3 -6
- package/dist/shared/review/review.build.d.ts.map +1 -1
- package/dist/shared/review/review.interface.d.ts +2 -2
- package/dist/shared/review/review.query.d.ts +2 -2
- package/dist/shared/review/review.query.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/browser.ts +1 -1
- package/src/node.ts +4 -0
- package/src/shared/feed/README.md +4 -3
- package/src/shared/feed/feed.build.ts +6 -3
- package/src/shared/feed/node/feed.access.ts +33 -6
- package/src/shared/feed/node/feed.service.ts +131 -4
- package/src/shared/feed/node/index.ts +7 -3
- package/src/shared/http/fetch-retry.ts +13 -2
- package/src/shared/media/README.md +4 -4
- package/src/shared/media/node/media.service.ts +77 -10
- package/src/shared/review/README.md +15 -16
- package/src/shared/review/index.ts +1 -1
- package/src/shared/review/review.build.ts +8 -13
- package/src/shared/review/review.interface.ts +2 -2
- package/src/shared/review/review.query.ts +4 -4
- package/dist/chunks/task-queue-CqmIVCBi.js.map +0 -1
package/dist/node.d.ts
CHANGED
|
@@ -27,8 +27,8 @@ export { createL3ChildLauncher, createServiceHost, runSingleProcessService } fro
|
|
|
27
27
|
export type { CallTelegramOptions, ResolvedTelegramStorageOptions, TelegramApiResponse, TelegramChunkDeleteResult, TelegramDocument, TelegramFile, TelegramMessage, TelegramStorageProvider, TelegramStorageProviderOptions, TelegramUploadResult, } from "./node/telegram";
|
|
28
28
|
export { callTelegramApi, createTelegramStorageProvider, downloadTelegramChunk, encodeTelegramChunkUrl, PROVIDER_TELEGRAM, parseTelegramChunkUrl, resolveTelegramStorageOptions, telegramDownloadBinary, telegramFileDownloadUrl, } from "./node/telegram";
|
|
29
29
|
export { RepoManager } from "./repo/repo-manager";
|
|
30
|
-
export type { CheckFeedLocalAvailabilityInput, FeedAvailabilityResult, FeedIngestSource, RegisterFeedInput, RegisterFeedResult, } from "./shared/feed/node";
|
|
31
|
-
export { checkFeedLocalAvailability, checkFeedOssAvailability, FEED_INGEST_SOURCES, isFeedIngestSource, registerFeed, } from "./shared/feed/node";
|
|
30
|
+
export type { CheckFeedLocalAvailabilityInput, CheckFeedOssAvailabilityOptions, CreateFeedInput, CreateFeedResult, FeedAvailabilityResult, FeedIngestSource, RegisterFeedInput, RegisterFeedResult, } from "./shared/feed/node";
|
|
31
|
+
export { checkFeedLocalAvailability, checkFeedOssAvailability, createFeed, FEED_INGEST_SOURCES, isFeedIngestSource, registerFeed, } from "./shared/feed/node";
|
|
32
32
|
export { runCollectLogTick } from "./shared/log/spool/collector";
|
|
33
33
|
export { LOG_SPOOL_SERVICE_ID_ENV } from "./shared/log/spool/config";
|
|
34
34
|
export type { LogSpoolCoordinator, LogSpoolCoordinatorOptions } from "./shared/log/spool/coordinator";
|
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,13 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { M as MAX_POLL_TARGET_LIST_SIZE, V as validateWithSchema, g as createLogger, z as pollTargetList, k as generateResponse, h as createTarget, K as supabase, w as logManager, X as createScope, d as LogLevel, Y as patchScope, J as scanTargetList, Z as withModule, l as getPossibleTarget,
|
|
2
|
+
import { M as MAX_POLL_TARGET_LIST_SIZE, V as validateWithSchema, g as createLogger, z as pollTargetList, k as generateResponse, h as createTarget, K as supabase, w as logManager, X as createScope, d as LogLevel, Y as patchScope, J as scanTargetList, Z as withModule, l as getPossibleTarget, E as postTarget, q as isCreateTargetAlreadyExistsError, m as getTarget, Q as updateTarget, t as isOptimisticLockResponse, R as updateTargetDetails } from './chunks/list.api-BzbTJBsM.js';
|
|
3
3
|
export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LOADER_KEY, b as LOG_MIN_LEVEL_ENV_KEY, c as LOG_PERSIST_LOADER_KEY, e as MAX_TARGET_LIST_PAGE_SIZE, O as OPTIMISTIC_LOCK_ERROR_CODE, f as OPTIMISTIC_LOCK_FAILED_MESSAGE, P as PostListValidator, S as StatusCode, U as UPDATE_TARGET_NOT_FOUND_MESSAGE, i as deleteTarget, 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, T as validateWith } from './chunks/list.api-BzbTJBsM.js';
|
|
4
4
|
import { l as loadEnvFiles, b as readEnv, c as requireEnv, d as resolveLogSpoolSpawnEnvForLabel, e as resolveLogSpoolConfig, f as resolveLogSpoolRoot, g as resolveAllLogSpoolProcessRoles, h as logSpoolProcessDir, s as spoolLogger, i as parseLogSpoolBatchFilename, j as computeLogBatchIdempotencyKey, k as buildLogListDraft, n as postLogBatch, a as logSpoolEnabledFromEnv, o as logSpoolConfigFromEnv, L as LOG_SPOOL_SERVICE_ID_ENV, q as ensureLogSpoolFromEnv, t as shutdownLogSpoolFromEnv, u as getLogSpoolStats } from './chunks/enable-C7lFooTG.js';
|
|
5
5
|
export { C as CLI_PROD_FLAG, S as SERVICE_ENV_PROFILE_ENV_KEY, w as SERVICE_ENV_PROFILE_PROD, x as buildLogSpoolSpawnEnv, y as envBool, z as envInt, A as envMs, B as envNumber, D as envPort, E as envProfileFromProcess, F as resolveDefaultEnvFiles, r as resolveProjectRootByPackageName, G as resolveProjectRootFromModule, v as validateLogSpoolPreloadEnv } from './chunks/enable-C7lFooTG.js';
|
|
6
6
|
import { randomBytes, createHash } from 'node:crypto';
|
|
7
7
|
import { readFile, unlink, mkdir, writeFile, rename, access, stat, readdir, constants } from 'node:fs/promises';
|
|
8
8
|
import { dirname, resolve, join, isAbsolute } from 'node:path';
|
|
9
|
-
import { bx as sha256Hex, bD as getErrorMessage, bE as LOG_TOPIC_NODE, a_ as postRegisterNode, aE as patchChangeNodeStatus, N as NodeStatus, aP as patchStopNode, aM as patchNodeHeartBeat, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, bn as runRegistrySlotGuardCheck, bc as registrySlotRuntimePatchFromGuardResult, c as CategoryNode, a1 as evaluateBusyNodeLiveness, aO as patchServiceRuntime, at as isLogEntry, J as claimServiceRegistrySlot, m as ServiceRegistryError, a4 as fetchWithRetry, aw as isRetryableHttpStatus, a3 as fetchBinaryWithRetry, av as isOpaqueChunkUrl, e as CategoryRepo, aq as isHttpUrl, bF as isFeedIngestSource, bG as resolveFeedOriginalStorageProvider,
|
|
10
|
-
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, bM as FEED_INGEST_SOURCES, F as FEED_VALUES, L as LINK_MANIFEST_VERSION, h as LIST_MANIFEST_VERSION, i as MEDIA_CONTENT_HASH_PREFIX_LENGTH, j as MEDIA_VALUES, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, k as ParcelManager, l as PostLinkValidator, S as ServiceLifecycleStatus, n as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, r as apiDetailsSchema, s as appendSystemRegistryEmptySlots, t as assertRegistrySlotAvailable, u as assertRegistrySlotOwner, v as buildEmptyServiceSlots,
|
|
9
|
+
import { bx as sha256Hex, bD as getErrorMessage, bE as LOG_TOPIC_NODE, a_ as postRegisterNode, aE as patchChangeNodeStatus, N as NodeStatus, aP as patchStopNode, aM as patchNodeHeartBeat, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, bn as runRegistrySlotGuardCheck, bc as registrySlotRuntimePatchFromGuardResult, c as CategoryNode, a1 as evaluateBusyNodeLiveness, aO as patchServiceRuntime, at as isLogEntry, J as claimServiceRegistrySlot, m as ServiceRegistryError, a4 as fetchWithRetry, aw as isRetryableHttpStatus, a3 as fetchBinaryWithRetry, av as isOpaqueChunkUrl, e as CategoryRepo, aq as isHttpUrl, ap as isFeedValue, bF as isFeedIngestSource, bG as resolveFeedOriginalStorageProvider, a2 as feedLinkDedupFilters, w as buildFeedLinkDraft, b as CategoryLink, bH as buildFeedTagList, an as guessMediaMime, M as MEDIA_CONTENT_HASH_ALGORITHM, au as isMediaValue, ay as mediaLinkDedupFilters, B as buildMediaLinkDraft, R as ResultCode, bI as LOG_TOPIC_TASK, o as TASK_REPO_USAGE, ah as getScanRemoteRepoValues, aI as patchClaimTask, bJ as CRITICAL_UNKNOWN_TASK_TRACE_ID, aG as patchChangeTaskStatus, q as TaskStatusAction, bK as toError, b6 as postTaskSchema, bL as createTaskRow, p as TaskStatus } from './chunks/task-queue-DWFe0rCS.js';
|
|
10
|
+
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, bM as FEED_INGEST_SOURCES, F as FEED_VALUES, L as LINK_MANIFEST_VERSION, h as LIST_MANIFEST_VERSION, i as MEDIA_CONTENT_HASH_PREFIX_LENGTH, j as MEDIA_VALUES, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, k as ParcelManager, l as PostLinkValidator, S as ServiceLifecycleStatus, n as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, r as apiDetailsSchema, s as appendSystemRegistryEmptySlots, t as assertRegistrySlotAvailable, u as assertRegistrySlotOwner, v as buildEmptyServiceSlots, x as buildFeedLinkName, y as buildLinkTargetDraft, z as buildListTargetDraft, G as buildMediaNameFromLocator, H as buildReviewLinkDraft, I as buildSystemRegistryConfigDetails, K as classifyNetworkError, O as countTasksByType, Q as createActiveServiceLifecycle, U as createClaimedRegistrySlotRuntimeState, V as createStorageProviderRegistry, W as createUploadTracker, X as decodeLogBatch, Y as decodeLogBatchList, Z as defaultL3ServiceDetails, _ as deleteParcel, $ as deleteParcelSchema, a0 as escapeIlikePattern, a5 as fieldDefinitionSchema, a6 as flattenLogBatch, a7 as flattenLogBatches, a8 as formatNetworkError, a9 as getApi, aa as getApiSchema, ab as getConfig, ac as getConfigSchema, ad as getExtraction, ae as getExtractionSchema, af as getParcel, ag as getParcelSchema, ai as getScanRemoteRepoValuesSchema, aj as getService, ak as getServiceSchema, al as getTargetSystemRegistry, am as getValueAtPath, ao as installChunkFetchRegistry, ar as isLocalFilesystemPath, as as isLogBatchList, ax as linkTargetDraftBuildInputSchema, az as parcelDetailsSchema, aA as parseLogBatchMeta, aB as parseProviderPrefixedUrl, aC as parseServiceSlot, aD as parseServiceSlots, aF as patchChangeNodeStatusSchema, aH as patchChangeTaskStatusSchema, aJ as patchClaimTaskSchema, aK as patchExtractionObjects, aL as patchExtractionObjectsSchema, aN as patchNodeHeartBeatSchema, aQ as patchStopNodeSchema, aR as patchTaskProgress, aS as patchTaskProgressSchema, aT as postApi, aU as postApiSchema, aV as postExtraction, aW as postExtractionSchema, aX as postLinkCreate, aY as postParcel, aZ as postParcelSchema, a$ as postRegisterNodeSchema, b0 as postService, b1 as postServiceInstance, b2 as postServiceSchema, b3 as postSystemRegistryConfig, b4 as postSystemRegistryConfigSchema, b5 as postTask, b7 as postTaskWithRetry, b8 as publishParcel, b9 as registerProviderChunkResolver, ba as registerService, bb as registerServiceAtStartup, bd as releaseSystemRegistrySlots, be as releaseSystemRegistrySlotsByServiceId, bf as requestHasBody, bg as resetSystemRegistryConfig, bh as resetSystemRegistryConfigSchema, bi as resolveActiveRegistryServiceId, bj as resolveFetchUrl, bk as restoreParcel, bl as restoreParcelById, bm as reviewLinksForNameFilters, bo as sanitizeFileName, bp as sanitizeParcelFileName, bq as scanExtractionList, br as scanExtractionListSchema, bs as schemaDefinitionSchema, bt as serviceDetailsSchema, bu as serviceLifecycleSchema, bv as serviceNodeSnapshotSchema, bw as serviceRuntimeSchema, by as summarizeTaskQueue, bz as systemRegistrySeedSlotSchema, bA as toPostgrestTextArrayLiteral, bB as unregisterService, bC as unregisterServiceAtShutdown } from './chunks/task-queue-DWFe0rCS.js';
|
|
11
11
|
import { spawn } from 'node:child_process';
|
|
12
12
|
import { ProxyAgent } from 'undici';
|
|
13
13
|
import { tmpdir } from 'node:os';
|
|
@@ -3414,24 +3414,26 @@ async function checkFeedLocalAvailability(input) {
|
|
|
3414
3414
|
}
|
|
3415
3415
|
const OSS_CHECK_TIMEOUT_MS = 15_000;
|
|
3416
3416
|
const OSS_CHECK_MAX_ATTEMPTS = 2;
|
|
3417
|
-
async function probeHttpLocator(locator, method) {
|
|
3417
|
+
async function probeHttpLocator(locator, method, options) {
|
|
3418
3418
|
return fetchWithRetry(locator, {
|
|
3419
3419
|
method,
|
|
3420
3420
|
...(method === "GET" ? { headers: { Range: "bytes=0-0" } } : {}),
|
|
3421
3421
|
}, {
|
|
3422
3422
|
label: "feed-oss-check",
|
|
3423
|
-
timeoutMs: OSS_CHECK_TIMEOUT_MS,
|
|
3423
|
+
timeoutMs: options?.timeoutMs ?? OSS_CHECK_TIMEOUT_MS,
|
|
3424
3424
|
maxAttempts: OSS_CHECK_MAX_ATTEMPTS,
|
|
3425
|
+
...(options?.fetch != null ? { fetch: options.fetch } : {}),
|
|
3425
3426
|
});
|
|
3426
3427
|
}
|
|
3427
3428
|
/**
|
|
3428
3429
|
* Remote reachability for feed ingest (`.oss` source) via HTTP(S).
|
|
3429
3430
|
*
|
|
3430
|
-
*
|
|
3431
|
+
* Optional `tryLocalResolve` first (same-host Files). Then `HEAD`, then `GET` with
|
|
3432
|
+
* `Range: bytes=0-0` when `HEAD` is not allowed. Pass `fetch` for proxied outbound.
|
|
3431
3433
|
*
|
|
3432
3434
|
* **Node-only**
|
|
3433
3435
|
*/
|
|
3434
|
-
async function checkFeedOssAvailability(locator) {
|
|
3436
|
+
async function checkFeedOssAvailability(locator, options) {
|
|
3435
3437
|
const trimmed = locator.trim();
|
|
3436
3438
|
if (trimmed === "") {
|
|
3437
3439
|
return { ok: false, reason: "locator is empty" };
|
|
@@ -3439,10 +3441,20 @@ async function checkFeedOssAvailability(locator) {
|
|
|
3439
3441
|
if (!isHttpUrl(trimmed)) {
|
|
3440
3442
|
return { ok: false, reason: `oss locator must be an http(s) URL: ${trimmed}` };
|
|
3441
3443
|
}
|
|
3444
|
+
if (options?.tryLocalResolve != null) {
|
|
3445
|
+
try {
|
|
3446
|
+
if (await options.tryLocalResolve(trimmed)) {
|
|
3447
|
+
return { ok: true };
|
|
3448
|
+
}
|
|
3449
|
+
}
|
|
3450
|
+
catch {
|
|
3451
|
+
// fall through to HTTP
|
|
3452
|
+
}
|
|
3453
|
+
}
|
|
3442
3454
|
try {
|
|
3443
|
-
let response = await probeHttpLocator(trimmed, "HEAD");
|
|
3455
|
+
let response = await probeHttpLocator(trimmed, "HEAD", options);
|
|
3444
3456
|
if (response.status === 405 || response.status === 501) {
|
|
3445
|
-
response = await probeHttpLocator(trimmed, "GET");
|
|
3457
|
+
response = await probeHttpLocator(trimmed, "GET", options);
|
|
3446
3458
|
}
|
|
3447
3459
|
if (response.ok || (response.status >= 200 && response.status < 400)) {
|
|
3448
3460
|
return { ok: true };
|
|
@@ -3555,7 +3567,7 @@ async function registerFeed(input) {
|
|
|
3555
3567
|
}
|
|
3556
3568
|
}
|
|
3557
3569
|
else {
|
|
3558
|
-
const availability = await checkFeedOssAvailability(locator);
|
|
3570
|
+
const availability = await checkFeedOssAvailability(locator, input.ossCheck);
|
|
3559
3571
|
if (!availability.ok) {
|
|
3560
3572
|
throw new Error(`registerFeed: oss locator unavailable — ${availability.reason ?? "unknown"}`);
|
|
3561
3573
|
}
|
|
@@ -3595,6 +3607,96 @@ async function registerFeed(input) {
|
|
|
3595
3607
|
});
|
|
3596
3608
|
return { id, updated: true };
|
|
3597
3609
|
}
|
|
3610
|
+
/**
|
|
3611
|
+
* Insert a new feed Link already on `.local` or `.oss` (not a `.public` promote).
|
|
3612
|
+
* Dedup: `category` + `value` + `name`. Same original → `{ created: false }`.
|
|
3613
|
+
*/
|
|
3614
|
+
async function createFeed(input) {
|
|
3615
|
+
if (!isFeedValue(input.value)) {
|
|
3616
|
+
throw new Error(`createFeed: unsupported feed value: ${String(input.value)}`);
|
|
3617
|
+
}
|
|
3618
|
+
if (!isFeedIngestSource(input.source)) {
|
|
3619
|
+
throw new Error(`createFeed: source must be .local or .oss, got ${String(input.source)}`);
|
|
3620
|
+
}
|
|
3621
|
+
const name = input.name.trim();
|
|
3622
|
+
if (name === "") {
|
|
3623
|
+
throw new Error("createFeed: name is empty");
|
|
3624
|
+
}
|
|
3625
|
+
const resolvedStorageProvider = resolveFeedOriginalStorageProvider(input.source, input.storageProvider);
|
|
3626
|
+
const locator = input.locator.trim();
|
|
3627
|
+
if (locator === "") {
|
|
3628
|
+
throw new Error("createFeed: locator is empty");
|
|
3629
|
+
}
|
|
3630
|
+
const { data: existing } = await getPossibleTarget({
|
|
3631
|
+
filterList: feedLinkDedupFilters({ value: input.value, name }),
|
|
3632
|
+
});
|
|
3633
|
+
if (existing != null) {
|
|
3634
|
+
const link = existing;
|
|
3635
|
+
if (isSameIngestState(link, input.source, resolvedStorageProvider, locator)) {
|
|
3636
|
+
return { id: existing.id, created: false };
|
|
3637
|
+
}
|
|
3638
|
+
throw new Error("createFeed: feed name already exists with different source, storageProvider, or locator");
|
|
3639
|
+
}
|
|
3640
|
+
if (input.source === ".local") {
|
|
3641
|
+
const localStorageProvider = input.localStorageProvider?.trim() ?? "";
|
|
3642
|
+
if (localStorageProvider === "") {
|
|
3643
|
+
throw new Error("createFeed: localStorageProvider is required when source is .local");
|
|
3644
|
+
}
|
|
3645
|
+
const availability = await checkFeedLocalAvailability({
|
|
3646
|
+
value: input.value,
|
|
3647
|
+
storageProvider: resolvedStorageProvider,
|
|
3648
|
+
locator,
|
|
3649
|
+
localStorageProvider,
|
|
3650
|
+
});
|
|
3651
|
+
if (!availability.ok) {
|
|
3652
|
+
throw new Error(`createFeed: local locator unavailable — ${availability.reason ?? "unknown"}`);
|
|
3653
|
+
}
|
|
3654
|
+
}
|
|
3655
|
+
else {
|
|
3656
|
+
const availability = await checkFeedOssAvailability(locator, input.ossCheck);
|
|
3657
|
+
if (!availability.ok) {
|
|
3658
|
+
throw new Error(`createFeed: oss locator unavailable — ${availability.reason ?? "unknown"}`);
|
|
3659
|
+
}
|
|
3660
|
+
}
|
|
3661
|
+
const draft = buildFeedLinkDraft({
|
|
3662
|
+
name,
|
|
3663
|
+
value: input.value,
|
|
3664
|
+
source: input.source,
|
|
3665
|
+
storageProvider: resolvedStorageProvider,
|
|
3666
|
+
locator,
|
|
3667
|
+
description: input.description,
|
|
3668
|
+
preview: input.preview ?? locator,
|
|
3669
|
+
tagList: input.tagList,
|
|
3670
|
+
});
|
|
3671
|
+
try {
|
|
3672
|
+
const { data, error } = await postTarget({
|
|
3673
|
+
name: draft.name,
|
|
3674
|
+
value: draft.value,
|
|
3675
|
+
category: draft.category,
|
|
3676
|
+
tagList: draft.tagList,
|
|
3677
|
+
details: draft.details,
|
|
3678
|
+
});
|
|
3679
|
+
if (error != null || data == null) {
|
|
3680
|
+
throw new Error(error?.message ?? "createFeed: postTarget failed");
|
|
3681
|
+
}
|
|
3682
|
+
logger$1.info("feed created", {
|
|
3683
|
+
topic: "register",
|
|
3684
|
+
data: { id: data.id, source: input.source, name, locator },
|
|
3685
|
+
});
|
|
3686
|
+
return { id: data.id, created: true };
|
|
3687
|
+
}
|
|
3688
|
+
catch (error) {
|
|
3689
|
+
if (isCreateTargetAlreadyExistsError(error)) {
|
|
3690
|
+
const raced = await getPossibleTarget({
|
|
3691
|
+
filterList: feedLinkDedupFilters({ value: input.value, name }),
|
|
3692
|
+
});
|
|
3693
|
+
if (raced.data != null) {
|
|
3694
|
+
return { id: raced.data.id, created: false };
|
|
3695
|
+
}
|
|
3696
|
+
}
|
|
3697
|
+
throw error;
|
|
3698
|
+
}
|
|
3699
|
+
}
|
|
3598
3700
|
|
|
3599
3701
|
function createLogSpoolCoordinator(options) {
|
|
3600
3702
|
const { serviceValue, serviceId } = options;
|
|
@@ -3781,9 +3883,47 @@ async function findMediaLink(input) {
|
|
|
3781
3883
|
});
|
|
3782
3884
|
return data != null ? data : null;
|
|
3783
3885
|
}
|
|
3886
|
+
function mediaOriginalFromRow(row) {
|
|
3887
|
+
const details = row.details;
|
|
3888
|
+
const original = details?.original;
|
|
3889
|
+
return original ?? {};
|
|
3890
|
+
}
|
|
3891
|
+
async function patchMediaOriginal(existing, storageProvider, locator) {
|
|
3892
|
+
const original = mediaOriginalFromRow(existing);
|
|
3893
|
+
if (original.storageProvider === storageProvider && original.locator === locator) {
|
|
3894
|
+
return { id: existing.id, created: false };
|
|
3895
|
+
}
|
|
3896
|
+
await updateTarget({
|
|
3897
|
+
id: existing.id,
|
|
3898
|
+
optimisticLockFilterList: [
|
|
3899
|
+
{ field: "category", operator: "eq", value: CategoryLink.LINK },
|
|
3900
|
+
{ field: "value", operator: "eq", value: existing.value },
|
|
3901
|
+
],
|
|
3902
|
+
updateFn: (row) => {
|
|
3903
|
+
const details = row.details;
|
|
3904
|
+
const prev = (details.original ?? {});
|
|
3905
|
+
return {
|
|
3906
|
+
details: {
|
|
3907
|
+
...details,
|
|
3908
|
+
original: {
|
|
3909
|
+
...prev,
|
|
3910
|
+
storageProvider,
|
|
3911
|
+
locator,
|
|
3912
|
+
},
|
|
3913
|
+
},
|
|
3914
|
+
};
|
|
3915
|
+
},
|
|
3916
|
+
});
|
|
3917
|
+
logger.info("media original patched", {
|
|
3918
|
+
topic: "register",
|
|
3919
|
+
data: { id: existing.id, locator },
|
|
3920
|
+
});
|
|
3921
|
+
return { id: existing.id, created: false };
|
|
3922
|
+
}
|
|
3784
3923
|
/**
|
|
3785
3924
|
* Register a media Link: dedup → availability → probe → `postTarget`.
|
|
3786
|
-
* Idempotent when `category`+`value`+`name` already exist.
|
|
3925
|
+
* Idempotent when `category`+`value`+`name` already exist (local path).
|
|
3926
|
+
* HTTP `locator` + `localLocator`: probe local file, persist remote URL; patch if name exists.
|
|
3787
3927
|
*
|
|
3788
3928
|
* **Node-only** — under `shared/media/node/`; do not import from the browser entry.
|
|
3789
3929
|
*/
|
|
@@ -3795,18 +3935,30 @@ async function registerMediaLink(input) {
|
|
|
3795
3935
|
if (name === "") {
|
|
3796
3936
|
throw new Error("registerMediaLink: name is empty");
|
|
3797
3937
|
}
|
|
3938
|
+
const storageProvider = input.storageProvider.trim();
|
|
3939
|
+
const locator = input.locator.trim();
|
|
3940
|
+
const localLocator = input.localLocator?.trim() ?? "";
|
|
3941
|
+
const httpLocator = isHttpUrl(locator);
|
|
3798
3942
|
const existing = await findMediaLink({ value: input.value, name });
|
|
3799
|
-
if (existing != null) {
|
|
3943
|
+
if (existing != null && !httpLocator) {
|
|
3800
3944
|
logger.info("media already registered", {
|
|
3801
3945
|
topic: "dedup",
|
|
3802
3946
|
data: { id: existing.id, value: input.value, name },
|
|
3803
3947
|
});
|
|
3804
3948
|
return { id: existing.id, created: false };
|
|
3805
3949
|
}
|
|
3950
|
+
if (existing != null && httpLocator) {
|
|
3951
|
+
return patchMediaOriginal(existing, storageProvider, locator);
|
|
3952
|
+
}
|
|
3953
|
+
const probeStorageProvider = httpLocator ? input.localStorageProvider.trim() : storageProvider;
|
|
3954
|
+
const probeLocator = httpLocator ? localLocator : locator;
|
|
3955
|
+
if (httpLocator && probeLocator === "") {
|
|
3956
|
+
throw new Error("registerMediaLink: localLocator is required when locator is http(s)");
|
|
3957
|
+
}
|
|
3806
3958
|
const availability = await checkMediaAvailability({
|
|
3807
3959
|
value: input.value,
|
|
3808
|
-
storageProvider:
|
|
3809
|
-
locator:
|
|
3960
|
+
storageProvider: probeStorageProvider,
|
|
3961
|
+
locator: probeLocator,
|
|
3810
3962
|
localStorageProvider: input.localStorageProvider,
|
|
3811
3963
|
});
|
|
3812
3964
|
if (!availability.ok || availability.absolutePath == null) {
|
|
@@ -3814,15 +3966,15 @@ async function registerMediaLink(input) {
|
|
|
3814
3966
|
}
|
|
3815
3967
|
const probed = await probeMediaOriginal({
|
|
3816
3968
|
value: input.value,
|
|
3817
|
-
storageProvider:
|
|
3818
|
-
locator:
|
|
3969
|
+
storageProvider: probeStorageProvider,
|
|
3970
|
+
locator: probeLocator,
|
|
3819
3971
|
absolutePath: availability.absolutePath,
|
|
3820
3972
|
});
|
|
3821
3973
|
const draft = buildMediaLinkDraft({
|
|
3822
3974
|
value: input.value,
|
|
3823
3975
|
name,
|
|
3824
|
-
storageProvider: probed.storageProvider,
|
|
3825
|
-
locator: probed.locator,
|
|
3976
|
+
storageProvider: httpLocator ? storageProvider : probed.storageProvider,
|
|
3977
|
+
locator: httpLocator ? locator : probed.locator,
|
|
3826
3978
|
contentHash: probed.contentHash,
|
|
3827
3979
|
size: probed.size,
|
|
3828
3980
|
mimeType: probed.mimeType,
|
|
@@ -3850,6 +4002,9 @@ async function registerMediaLink(input) {
|
|
|
3850
4002
|
if (isCreateTargetAlreadyExistsError(error)) {
|
|
3851
4003
|
const raced = await findMediaLink({ value: input.value, name });
|
|
3852
4004
|
if (raced != null) {
|
|
4005
|
+
if (httpLocator) {
|
|
4006
|
+
return patchMediaOriginal(raced, storageProvider, locator);
|
|
4007
|
+
}
|
|
3853
4008
|
logger.info("media register race — using existing", {
|
|
3854
4009
|
topic: "dedup",
|
|
3855
4010
|
data: { id: raced.id, value: input.value, name },
|
|
@@ -4772,5 +4927,5 @@ const patchTriggerFired = validateWithSchema(patchTriggerFiredSchema, "patchTrig
|
|
|
4772
4927
|
}
|
|
4773
4928
|
});
|
|
4774
4929
|
|
|
4775
|
-
export { BaseNodeRuntime, COLLECT_LOG_RUNNER_KEY, CategoryCommand, CategoryLink, CategoryNode, CategoryRepo, CategoryTrigger, CommandType, EMPTY_REGISTRY_SLOT_RUNTIME_STATE, LOG_SPOOL_SERVICE_ID_ENV, LOG_TOPIC_TRIGGER, LogLevel, MAX_POLL_TARGET_LIST_SIZE, MEDIA_CONTENT_HASH_ALGORITHM, ManagedChildProcesses, NodeStatus, PROVIDER_TELEGRAM, RepoManager, ResultCode, SERVICE_GUARD_RUNNER_KEY, ServiceGuardNode, ServiceRegistryError, TASK_LOCAL_PACKAGE_CONFIG_FILENAME, TASK_REPO_SCRIPT_CATEGORY, TASK_REPO_USAGE, TASK_RUNNER_CONFIG_DIR, TASK_RUNNER_ROOT_CONFIG_FILENAME, TASK_RUNNER_ROOT_CONFIG_LEGACY_RELATIVE_PATH, TASK_RUNNER_ROOT_CONFIG_RELATIVE_PATH, TRIGGER_LOOP_INTERVAL_MS, TRIGGER_RUNNER_DEFAULT_RETRY_COUNT, TRIGGER_RUNNER_DEFAULT_RETRY_DELAY_MS, TaskManager, TaskNode, TaskRepoValidation, TaskStatus, TaskStatusAction, TriggerManager, TriggerNode, TriggerStatus, applyRegistrySlotGuardStep, buildMediaLinkDraft, buildNodeImportArgs, callTelegramApi, checkFeedLocalAvailability, checkFeedOssAvailability, checkMediaAvailability, claimServiceRegistrySlot, createJsonFileStateStore, createL3ChildLauncher, createLogSpoolCoordinator, createLogger, createManagedChildProcesses, createPathsExistCheck, createRequiredEnvCheck, createServiceHost, createServiceRuntimeStateStore, createSupabaseReachableCheck, createTarget, createTelegramStorageProvider, downloadTelegramChunk, enableLogSpoolFromEnvInChild, encodeTelegramChunkUrl, ensureLogSpoolFromEnv, evaluateBusyNodeLiveness, fetchBinaryWithRetry, fetchWithRetry, findMediaLink, generateResponse, getConfigFileDir, getLogSpoolStats, getMainLogSpoolWriterStats, getPollCommandList, getPollCommandListSchema, getPossibleTarget, getScanRemoteRepoValues, getTarget, guardRetryAfterSec, guessMediaMime, importJsConfigModule, initSupabaseFromStandardEnv, isChildProcessRunning, isCreateTargetAlreadyExistsError, isFeedIngestSource, isFeedValue, isGuardAvailable, isHttpUrl, isLogEntry, isLogSpoolEnabled, isMediaValue, isOpaqueChunkUrl, isOptimisticLockResponse, isRetryableHttpStatus, loadCachedJsConfigModule, loadEnvFiles, logManager, logSpoolEnabledFromEnv, markWorkerSpawned, mediaLinkDedupFilters, nodeBufferToArrayBuffer, parseTelegramChunkUrl, patchChangeNodeStatus, patchChangeTaskStatus, patchClaimTask, patchNodeHeartBeat, patchServiceRuntime, patchStopNode, patchTriggerFired, patchTriggerFiredSchema, pathExists, pollTargetList, pollUntil, postCommand, postCommandSchema, postRegisterNode, postTarget, postTaskSchema, postTaskWithValidation, postTrigger, postTriggerSchema, probeMediaOriginal, publicBaseUrlFromEnv, readAndVerifySourceFile, readEnv, registerCollectLogRunner, registerFeed, registerMediaLink, registerServiceGuardRunner, registrySlotRuntimePatchFromGuardResult, requireEnv, resolveFirstExistingPath, resolveLogSpoolRoot, resolvePathFromBaseDir, resolvePathFromConfigFile, resolvePathFromCwd, resolveTelegramStorageOptions, runCollectLogTick, runReadinessChecks, runReadinessGate, runRegistrySlotGuardCheck, runServiceGuardTick, runSingleProcessService, scanEnabledTriggers, scanEnabledTriggersSchema, scanTargetList, sha256Hex, shutdownLogSpool, shutdownLogSpoolFromEnv, spawnTsxChild, supabase, telegramDownloadBinary, telegramFileDownloadUrl, toFileImportHref, updateTarget, updateTargetDetails, validateTaskRepoAndParams, validateWithSchema, waitForServiceReady };
|
|
4930
|
+
export { BaseNodeRuntime, COLLECT_LOG_RUNNER_KEY, CategoryCommand, CategoryLink, CategoryNode, CategoryRepo, CategoryTrigger, CommandType, EMPTY_REGISTRY_SLOT_RUNTIME_STATE, LOG_SPOOL_SERVICE_ID_ENV, LOG_TOPIC_TRIGGER, LogLevel, MAX_POLL_TARGET_LIST_SIZE, MEDIA_CONTENT_HASH_ALGORITHM, ManagedChildProcesses, NodeStatus, PROVIDER_TELEGRAM, RepoManager, ResultCode, SERVICE_GUARD_RUNNER_KEY, ServiceGuardNode, ServiceRegistryError, TASK_LOCAL_PACKAGE_CONFIG_FILENAME, TASK_REPO_SCRIPT_CATEGORY, TASK_REPO_USAGE, TASK_RUNNER_CONFIG_DIR, TASK_RUNNER_ROOT_CONFIG_FILENAME, TASK_RUNNER_ROOT_CONFIG_LEGACY_RELATIVE_PATH, TASK_RUNNER_ROOT_CONFIG_RELATIVE_PATH, TRIGGER_LOOP_INTERVAL_MS, TRIGGER_RUNNER_DEFAULT_RETRY_COUNT, TRIGGER_RUNNER_DEFAULT_RETRY_DELAY_MS, TaskManager, TaskNode, TaskRepoValidation, TaskStatus, TaskStatusAction, TriggerManager, TriggerNode, TriggerStatus, applyRegistrySlotGuardStep, buildFeedLinkDraft, buildMediaLinkDraft, buildNodeImportArgs, callTelegramApi, checkFeedLocalAvailability, checkFeedOssAvailability, checkMediaAvailability, claimServiceRegistrySlot, createFeed, createJsonFileStateStore, createL3ChildLauncher, createLogSpoolCoordinator, createLogger, createManagedChildProcesses, createPathsExistCheck, createRequiredEnvCheck, createServiceHost, createServiceRuntimeStateStore, createSupabaseReachableCheck, createTarget, createTelegramStorageProvider, downloadTelegramChunk, enableLogSpoolFromEnvInChild, encodeTelegramChunkUrl, ensureLogSpoolFromEnv, evaluateBusyNodeLiveness, feedLinkDedupFilters, fetchBinaryWithRetry, fetchWithRetry, findMediaLink, generateResponse, getConfigFileDir, getLogSpoolStats, getMainLogSpoolWriterStats, getPollCommandList, getPollCommandListSchema, getPossibleTarget, getScanRemoteRepoValues, getTarget, guardRetryAfterSec, guessMediaMime, importJsConfigModule, initSupabaseFromStandardEnv, isChildProcessRunning, isCreateTargetAlreadyExistsError, isFeedIngestSource, isFeedValue, isGuardAvailable, isHttpUrl, isLogEntry, isLogSpoolEnabled, isMediaValue, isOpaqueChunkUrl, isOptimisticLockResponse, isRetryableHttpStatus, loadCachedJsConfigModule, loadEnvFiles, logManager, logSpoolEnabledFromEnv, markWorkerSpawned, mediaLinkDedupFilters, nodeBufferToArrayBuffer, parseTelegramChunkUrl, patchChangeNodeStatus, patchChangeTaskStatus, patchClaimTask, patchNodeHeartBeat, patchServiceRuntime, patchStopNode, patchTriggerFired, patchTriggerFiredSchema, pathExists, pollTargetList, pollUntil, postCommand, postCommandSchema, postRegisterNode, postTarget, postTaskSchema, postTaskWithValidation, postTrigger, postTriggerSchema, probeMediaOriginal, publicBaseUrlFromEnv, readAndVerifySourceFile, readEnv, registerCollectLogRunner, registerFeed, registerMediaLink, registerServiceGuardRunner, registrySlotRuntimePatchFromGuardResult, requireEnv, resolveFirstExistingPath, resolveLogSpoolRoot, resolvePathFromBaseDir, resolvePathFromConfigFile, resolvePathFromCwd, resolveTelegramStorageOptions, runCollectLogTick, runReadinessChecks, runReadinessGate, runRegistrySlotGuardCheck, runServiceGuardTick, runSingleProcessService, scanEnabledTriggers, scanEnabledTriggersSchema, scanTargetList, sha256Hex, shutdownLogSpool, shutdownLogSpoolFromEnv, spawnTsxChild, supabase, telegramDownloadBinary, telegramFileDownloadUrl, toFileImportHref, updateTarget, updateTargetDetails, validateTaskRepoAndParams, validateWithSchema, waitForServiceReady };
|
|
4776
4931
|
//# sourceMappingURL=node.js.map
|