target-supabase-sdk 0.2.14 → 0.2.16
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 +11 -0
- package/dist/browser.d.ts +5 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -1
- package/dist/chunks/{task-queue-qSnsfiIg.js → task-queue-Gi4DSq74.js} +162 -121
- package/dist/chunks/task-queue-Gi4DSq74.js.map +1 -0
- package/dist/config/config.api.d.ts +61 -0
- package/dist/config/config.api.d.ts.map +1 -0
- package/dist/{service → config}/config.interface.d.ts +1 -3
- package/dist/config/config.interface.d.ts.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/node/runtime-state/service-runtime-state.types.d.ts +1 -1
- package/dist/node/runtime-state/service-runtime-state.types.d.ts.map +1 -1
- package/dist/node/service-guard/registry-slot-guard-step.d.ts +1 -1
- package/dist/node/service-guard/registry-slot-guard-step.d.ts.map +1 -1
- package/dist/node/service-guard/service-guard.interface.d.ts +1 -1
- package/dist/node/service-guard/service-guard.interface.d.ts.map +1 -1
- package/dist/node/service-host/claim-registry-slot.d.ts +1 -1
- package/dist/node/service-host/claim-registry-slot.d.ts.map +1 -1
- package/dist/node/service-host/service-host.d.ts +1 -1
- package/dist/node/service-host/service-host.d.ts.map +1 -1
- package/dist/node/service-host/single-process-service.d.ts +1 -1
- package/dist/node/service-host/single-process-service.d.ts.map +1 -1
- package/dist/node.js +2 -2
- package/dist/node.js.map +1 -1
- package/dist/service/index.d.ts +5 -10
- package/dist/service/index.d.ts.map +1 -1
- package/dist/service/registry/index.d.ts +14 -0
- package/dist/service/registry/index.d.ts.map +1 -0
- package/dist/service/{registry-lifecycle.d.ts → registry/registry-lifecycle.d.ts} +1 -1
- package/dist/service/registry/registry-lifecycle.d.ts.map +1 -0
- package/dist/service/{config.api.d.ts → registry/registry.api.d.ts} +5 -65
- package/dist/service/registry/registry.api.d.ts.map +1 -0
- package/dist/service/registry/registry.constant.d.ts +23 -0
- package/dist/service/registry/registry.constant.d.ts.map +1 -0
- package/dist/service/registry/registry.interface.d.ts +15 -0
- package/dist/service/registry/registry.interface.d.ts.map +1 -0
- package/dist/service/{registry.service.d.ts → registry/registry.service.d.ts} +23 -15
- package/dist/service/registry/registry.service.d.ts.map +1 -0
- package/dist/service/service.interface.d.ts +0 -10
- package/dist/service/service.interface.d.ts.map +1 -1
- package/dist/shared/utils/postgrest.utils.d.ts +23 -0
- package/dist/shared/utils/postgrest.utils.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/browser.ts +11 -9
- package/src/config/config.api.ts +72 -0
- package/src/{service → config}/config.interface.ts +1 -4
- package/src/config/index.ts +9 -0
- package/src/node/runtime-state/create-service-runtime-state-store.ts +1 -1
- package/src/node/runtime-state/service-runtime-state.types.ts +1 -1
- package/src/node/service-guard/registry-slot-guard-step.ts +4 -1
- package/src/node/service-guard/run-service-guard-tick.ts +1 -1
- package/src/node/service-guard/service-guard.interface.ts +1 -1
- package/src/node/service-host/claim-registry-slot.ts +2 -2
- package/src/node/service-host/service-host.ts +2 -2
- package/src/node/service-host/single-process-service.ts +1 -1
- package/src/service/index.ts +30 -40
- package/src/service/registry/index.ts +65 -0
- package/src/service/{registry-lifecycle.ts → registry/registry-lifecycle.ts} +3 -3
- package/src/service/{config.api.ts → registry/registry.api.ts} +6 -80
- package/src/service/registry/registry.constant.ts +17 -0
- package/src/service/registry/registry.interface.ts +16 -0
- package/src/service/{registry.service.ts → registry/registry.service.ts} +66 -65
- package/src/service/service.interface.ts +0 -12
- package/src/shared/utils/postgrest.utils.ts +28 -0
- package/dist/chunks/task-queue-qSnsfiIg.js.map +0 -1
- package/dist/service/config.api.d.ts.map +0 -1
- package/dist/service/config.interface.d.ts.map +0 -1
- package/dist/service/registry-lifecycle.d.ts.map +0 -1
- package/dist/service/registry.service.d.ts.map +0 -1
package/dist/service/index.d.ts
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Service domain public API — curated re-exports only.
|
|
3
|
+
* System registry: `./registry/` (seed, claim, slot views).
|
|
3
4
|
*/
|
|
4
5
|
export type { EnumMembers, FieldDefinition, SchemaDefinition, ServiceLifecycle, } from "./base.interface";
|
|
5
6
|
export { ServiceLifecycleStatus } from "./base.interface";
|
|
6
|
-
export type {
|
|
7
|
-
export { buildEmptyServiceSlots, buildSystemRegistryConfigDetails, DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS,
|
|
8
|
-
export type { Config, ConfigDetails } from "./config.interface";
|
|
9
|
-
export { CategoryConfig, TARGET_SYSTEM_REGISTRY_KEY } from "./config.interface";
|
|
10
|
-
export type { AppendSystemRegistrySlotsInput, AppendSystemRegistrySlotsOutcome, PatchServiceRuntimeInput, RegisterServiceInput, ReleasedRegistrySlot, ReleaseSystemRegistrySlotsByServiceIdInput, ReleaseSystemRegistrySlotsByServiceIdOutcome, ReleaseSystemRegistrySlotsInput, ReleaseSystemRegistrySlotsOutcome, TargetSystemRegistrySlotView, TargetSystemRegistryView, } from "./registry.service";
|
|
11
|
-
export { appendSystemRegistrySlots, assertRegistrySlotAvailable, assertRegistrySlotOwner, getTargetSystemRegistry, parseServiceSlot, parseServiceSlots, patchServiceRuntime, registerService, registerServiceAtStartup, releaseSystemRegistrySlots, releaseSystemRegistrySlotsByServiceId, resolveActiveRegistryServiceId, ServiceRegistryError, unregisterService, unregisterServiceAtShutdown, } from "./registry.service";
|
|
12
|
-
export type { ClaimRegistrySlotInput, RegistrySlotGuardResult, RegistrySlotRuntimeState, ServiceRegistrySession, } from "./registry-lifecycle";
|
|
13
|
-
export { claimServiceRegistrySlot, createClaimedRegistrySlotRuntimeState, EMPTY_REGISTRY_SLOT_RUNTIME_STATE, registrySlotRuntimePatchFromGuardResult, runRegistrySlotGuardCheck, } from "./registry-lifecycle";
|
|
7
|
+
export type { AppendSystemRegistryEmptySlotsInput, AppendSystemRegistryEmptySlotsOutcome, ClaimRegistrySlotInput, PatchServiceRuntimeInput, PostSystemRegistryConfigPayload, RegisterServiceInput, RegistrySlotGuardResult, RegistrySlotRuntimeState, ReleasedRegistrySlot, ReleaseSystemRegistrySlotsByServiceIdInput, ReleaseSystemRegistrySlotsByServiceIdOutcome, ReleaseSystemRegistrySlotsInput, ReleaseSystemRegistrySlotsOutcome, ResetSystemRegistryConfigPayload, ServiceRegistrySession, ServiceSlot, SystemRegistrySeedSlot, TargetSystemRegistrySlotView, TargetSystemRegistryView, } from "./registry/index";
|
|
8
|
+
export { appendSystemRegistryEmptySlots, assertRegistrySlotAvailable, assertRegistrySlotOwner, buildEmptyServiceSlots, buildSystemRegistryConfigDetails, claimServiceRegistrySlot, createClaimedRegistrySlotRuntimeState, DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, EMPTY_REGISTRY_SLOT_RUNTIME_STATE, getTargetSystemRegistry, parseServiceSlot, parseServiceSlots, patchServiceRuntime, postSystemRegistryConfig, postSystemRegistryConfigSchema, registerService, registerServiceAtStartup, registrySlotRuntimePatchFromGuardResult, releaseSystemRegistrySlots, releaseSystemRegistrySlotsByServiceId, resetSystemRegistryConfig, resetSystemRegistryConfigSchema, resolveActiveRegistryServiceId, runRegistrySlotGuardCheck, ServiceRegistryError, ServiceSlotStatus, systemRegistrySeedSlotSchema, TARGET_SYSTEM_REGISTRY_KEY, unregisterService, unregisterServiceAtShutdown, } from "./registry/index";
|
|
14
9
|
export type { GetApiPayload, GetServicePayload, PostApiPayload, PostServicePayload } from "./service.api";
|
|
15
10
|
export { apiDetailsSchema, fieldDefinitionSchema, getApi, getApiSchema, getService, getServiceSchema, postApi, postApiSchema, postService, postServiceSchema, schemaDefinitionSchema, serviceDetailsSchema, serviceLifecycleSchema, serviceNodeSnapshotSchema, serviceRuntimeSchema, } from "./service.api";
|
|
16
|
-
export type { Api, ApiDetails, Service, ServiceDetails, ServiceNodeSnapshot, ServiceRuntime,
|
|
17
|
-
export { ApiMethod, CategoryApi, CategoryService
|
|
11
|
+
export type { Api, ApiDetails, Service, ServiceDetails, ServiceNodeSnapshot, ServiceRuntime, } from "./service.interface";
|
|
12
|
+
export { ApiMethod, CategoryApi, CategoryService } from "./service.interface";
|
|
18
13
|
export type { PostServiceInstanceOptions, ServiceBootstrapResult } from "./service-bootstrap";
|
|
19
14
|
export { createActiveServiceLifecycle, defaultL3ServiceDetails, postServiceInstance, } from "./service-bootstrap";
|
|
20
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACR,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EACR,mCAAmC,EACnC,qCAAqC,EACrC,sBAAsB,EACtB,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,0CAA0C,EAC1C,4CAA4C,EAC5C,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,sBAAsB,EACtB,WAAW,EACX,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,gCAAgC,EAChC,wBAAwB,EACxB,qCAAqC,EACrC,kCAAkC,EAClC,iCAAiC,EACjC,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,0BAA0B,EAC1B,qCAAqC,EACrC,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,2BAA2B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EACN,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACR,GAAG,EACH,UAAU,EACV,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,cAAc,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EACH,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System service registry — curated re-exports only.
|
|
3
|
+
* Generic Config CRUD lives in `src/config/`.
|
|
4
|
+
*/
|
|
5
|
+
export type { PostSystemRegistryConfigPayload, ResetSystemRegistryConfigPayload, SystemRegistrySeedSlot, } from "./registry.api";
|
|
6
|
+
export { buildEmptyServiceSlots, buildSystemRegistryConfigDetails, postSystemRegistryConfig, postSystemRegistryConfigSchema, resetSystemRegistryConfig, resetSystemRegistryConfigSchema, systemRegistrySeedSlotSchema, } from "./registry.api";
|
|
7
|
+
export { DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, TARGET_SYSTEM_REGISTRY_KEY } from "./registry.constant";
|
|
8
|
+
export type { ServiceSlot } from "./registry.interface";
|
|
9
|
+
export { ServiceSlotStatus } from "./registry.interface";
|
|
10
|
+
export type { AppendSystemRegistryEmptySlotsInput, AppendSystemRegistryEmptySlotsOutcome, PatchServiceRuntimeInput, RegisterServiceInput, ReleasedRegistrySlot, ReleaseSystemRegistrySlotsByServiceIdInput, ReleaseSystemRegistrySlotsByServiceIdOutcome, ReleaseSystemRegistrySlotsInput, ReleaseSystemRegistrySlotsOutcome, TargetSystemRegistrySlotView, TargetSystemRegistryView, } from "./registry.service";
|
|
11
|
+
export { appendSystemRegistryEmptySlots, assertRegistrySlotAvailable, assertRegistrySlotOwner, getTargetSystemRegistry, parseServiceSlot, parseServiceSlots, patchServiceRuntime, registerService, registerServiceAtStartup, releaseSystemRegistrySlots, releaseSystemRegistrySlotsByServiceId, resolveActiveRegistryServiceId, ServiceRegistryError, unregisterService, unregisterServiceAtShutdown, } from "./registry.service";
|
|
12
|
+
export type { ClaimRegistrySlotInput, RegistrySlotGuardResult, RegistrySlotRuntimeState, ServiceRegistrySession, } from "./registry-lifecycle";
|
|
13
|
+
export { claimServiceRegistrySlot, createClaimedRegistrySlotRuntimeState, EMPTY_REGISTRY_SLOT_RUNTIME_STATE, registrySlotRuntimePatchFromGuardResult, runRegistrySlotGuardCheck, } from "./registry-lifecycle";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/registry/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACR,+BAA+B,EAC/B,gCAAgC,EAChC,sBAAsB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,sBAAsB,EACtB,gCAAgC,EAChC,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACrG,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EACR,mCAAmC,EACnC,qCAAqC,EACrC,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,0CAA0C,EAC1C,4CAA4C,EAC5C,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,qCAAqC,EACrC,8BAA8B,EAC9B,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACR,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,wBAAwB,EACxB,qCAAqC,EACrC,iCAAiC,EACjC,uCAAuC,EACvC,yBAAyB,GAC5B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/service/registry/registry-lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAWpD,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,iCAAiC,EAAE,wBAM/C,CAAC;AAEF,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,OAAO,GAAG,wBAAwB,CAQhG;AAED,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,iEAAiE;IACjE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwC7G;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmBnC;AAED,wBAAgB,uCAAuC,CACnD,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,MAAM,GAClB,IAAI,CAAC,wBAAwB,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC,CAMxF"}
|
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { type Config, type ConfigDetails } from "
|
|
3
|
-
import { type ServiceSlot } from "./
|
|
4
|
-
export declare const getConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
5
|
-
id: z.ZodOptional<z.ZodString>;
|
|
6
|
-
value: z.ZodOptional<z.ZodString>;
|
|
7
|
-
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
id?: string | undefined;
|
|
9
|
-
value?: string | undefined;
|
|
10
|
-
}, {
|
|
11
|
-
id?: string | undefined;
|
|
12
|
-
value?: string | undefined;
|
|
13
|
-
}>, {
|
|
14
|
-
id?: string | undefined;
|
|
15
|
-
value?: string | undefined;
|
|
16
|
-
}, {
|
|
17
|
-
id?: string | undefined;
|
|
18
|
-
value?: string | undefined;
|
|
19
|
-
}>;
|
|
20
|
-
export type GetConfigPayload = z.infer<typeof getConfigSchema>;
|
|
2
|
+
import { type Config, type ConfigDetails } from "../../config/config.interface";
|
|
3
|
+
import { type ServiceSlot } from "./registry.interface";
|
|
21
4
|
/** One declarative EMPTY slot entry for seeding the system registry. */
|
|
22
5
|
export declare const systemRegistrySeedSlotSchema: z.ZodObject<{
|
|
23
6
|
serviceValue: z.ZodString;
|
|
@@ -72,53 +55,10 @@ export declare const resetSystemRegistryConfigSchema: z.ZodObject<{
|
|
|
72
55
|
}[] | undefined;
|
|
73
56
|
}>;
|
|
74
57
|
export type ResetSystemRegistryConfigPayload = PostSystemRegistryConfigPayload;
|
|
75
|
-
/** Default one EMPTY slot per known L3 service (override via payload or seed file). */
|
|
76
|
-
export declare const DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS: readonly SystemRegistrySeedSlot[];
|
|
77
58
|
/** Build EMPTY {@link ServiceSlot} rows from seed entries (one slot per array item). */
|
|
78
59
|
export declare function buildEmptyServiceSlots(seedSlots: readonly SystemRegistrySeedSlot[]): ServiceSlot[];
|
|
79
60
|
/** Build `ConfigDetails` for the globally unique system registry row. */
|
|
80
61
|
export declare function buildSystemRegistryConfigDetails(slots: readonly ServiceSlot[]): ConfigDetails;
|
|
81
|
-
/** Fetch a Config by id or by {@link Config.value} key (`category=config`). */
|
|
82
|
-
export declare const getConfig: (payload: {
|
|
83
|
-
id?: string | undefined;
|
|
84
|
-
value?: string | undefined;
|
|
85
|
-
}) => {
|
|
86
|
-
data: Config;
|
|
87
|
-
status_code: import("..").StatusCode;
|
|
88
|
-
success: boolean;
|
|
89
|
-
message?: string;
|
|
90
|
-
error?: {
|
|
91
|
-
message: string;
|
|
92
|
-
code?: string;
|
|
93
|
-
};
|
|
94
|
-
} | {
|
|
95
|
-
data: undefined;
|
|
96
|
-
status_code: import("..").StatusCode;
|
|
97
|
-
success: boolean;
|
|
98
|
-
message?: string;
|
|
99
|
-
error?: {
|
|
100
|
-
message: string;
|
|
101
|
-
code?: string;
|
|
102
|
-
};
|
|
103
|
-
} | Promise<{
|
|
104
|
-
data: Config;
|
|
105
|
-
status_code: import("..").StatusCode;
|
|
106
|
-
success: boolean;
|
|
107
|
-
message?: string;
|
|
108
|
-
error?: {
|
|
109
|
-
message: string;
|
|
110
|
-
code?: string;
|
|
111
|
-
};
|
|
112
|
-
} | {
|
|
113
|
-
data: undefined;
|
|
114
|
-
status_code: import("..").StatusCode;
|
|
115
|
-
success: boolean;
|
|
116
|
-
message?: string;
|
|
117
|
-
error?: {
|
|
118
|
-
message: string;
|
|
119
|
-
code?: string;
|
|
120
|
-
};
|
|
121
|
-
}>;
|
|
122
62
|
/**
|
|
123
63
|
* Insert the globally unique system registry Config (`category=config`,
|
|
124
64
|
* `value=target-system-registry`). Rejects duplicates via `checkRedundancyFilterList`.
|
|
@@ -128,7 +68,7 @@ export declare const postSystemRegistryConfig: (payload: {
|
|
|
128
68
|
slots?: {
|
|
129
69
|
serviceValue: string;
|
|
130
70
|
}[] | undefined;
|
|
131
|
-
}) => import("
|
|
71
|
+
}) => import("../..").SupabaseResponse<Config> | Promise<import("../..").SupabaseResponse<Config>>;
|
|
132
72
|
/**
|
|
133
73
|
* Replace the system registry slot layout with fresh EMPTY rows.
|
|
134
74
|
* Creates the row when missing (same as {@link postSystemRegistryConfig}).
|
|
@@ -139,5 +79,5 @@ export declare const resetSystemRegistryConfig: (payload: {
|
|
|
139
79
|
slots?: {
|
|
140
80
|
serviceValue: string;
|
|
141
81
|
}[] | undefined;
|
|
142
|
-
}) => import("
|
|
143
|
-
//# sourceMappingURL=
|
|
82
|
+
}) => import("../..").SupabaseResponse<Config> | Promise<import("../..").SupabaseResponse<Config>>;
|
|
83
|
+
//# sourceMappingURL=registry.api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.api.d.ts","sourceRoot":"","sources":["../../../src/service/registry/registry.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAkB,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAUhG,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,sBAAsB,CAAC;AAE3E,wEAAwE;AACxE,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,8BAA8B;IACvC,wEAAwE;;;;;;;;;;;;;;;;;;;EAG1E,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7F,qGAAqG;AACrG,eAAO,MAAM,+BAA+B;IARxC,wEAAwE;;;;;;;;;;;;;;;;;;;EAQC,CAAC;AAE9E,MAAM,MAAM,gCAAgC,GAAG,+BAA+B,CAAC;AAW/E,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,GAAG,WAAW,EAAE,CAMlG;AAgBD,yEAAyE;AACzE,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,aAAa,CAO7F;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;kGAsBnC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;kGA2CpC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Globally unique Config key for the declarative system service registry. */
|
|
2
|
+
export declare const TARGET_SYSTEM_REGISTRY_KEY = "target-system-registry";
|
|
3
|
+
/**
|
|
4
|
+
* Default one EMPTY slot per known L3 service.
|
|
5
|
+
* Override via `postSystemRegistryConfig` / `resetSystemRegistryConfig` payload or gc-service seed file.
|
|
6
|
+
* Replica count = how many times the same `serviceValue` appears (not a separate maxInstances field).
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS: readonly [{
|
|
9
|
+
readonly serviceValue: "log-service";
|
|
10
|
+
}, {
|
|
11
|
+
readonly serviceValue: "watch-service";
|
|
12
|
+
}, {
|
|
13
|
+
readonly serviceValue: "download-service";
|
|
14
|
+
}, {
|
|
15
|
+
readonly serviceValue: "storage-service";
|
|
16
|
+
}, {
|
|
17
|
+
readonly serviceValue: "gc-service";
|
|
18
|
+
}, {
|
|
19
|
+
readonly serviceValue: "upload-service";
|
|
20
|
+
}, {
|
|
21
|
+
readonly serviceValue: "cv-service";
|
|
22
|
+
}];
|
|
23
|
+
//# sourceMappingURL=registry.constant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.constant.d.ts","sourceRoot":"","sources":["../../../src/service/registry/registry.constant.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;EAQrC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capacity slots on the system registry Config (`details.objects`).
|
|
3
|
+
* Not fields on a Service Target row — see {@link Service} in `service.interface.ts`.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ServiceSlotStatus {
|
|
6
|
+
EMPTY = "EMPTY",
|
|
7
|
+
ACTIVE = "ACTIVE"
|
|
8
|
+
}
|
|
9
|
+
export interface ServiceSlot {
|
|
10
|
+
serviceValue: string;
|
|
11
|
+
/** Bound Service.id when {@link ServiceSlotStatus.ACTIVE}; null when EMPTY. */
|
|
12
|
+
serviceId: string | null;
|
|
13
|
+
status: ServiceSlotStatus;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=registry.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.interface.d.ts","sourceRoot":"","sources":["../../../src/service/registry/registry.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,iBAAiB;IACzB,KAAK,UAAU;IACf,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC7B"}
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
* - Slot release: graceful shutdown via {@link unregisterService}; monitor (later)
|
|
9
9
|
* for crashed / ungraceful exits (stale `Service.details.runtime`)
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
|
|
11
|
+
import type { Config } from "../../config/config.interface";
|
|
12
|
+
import type { Node } from "../../node/node.interface";
|
|
13
|
+
import type { Service } from "../service.interface";
|
|
14
|
+
import { type ServiceSlot } from "./registry.interface";
|
|
15
|
+
export { TARGET_SYSTEM_REGISTRY_KEY } from "./registry.constant";
|
|
15
16
|
export interface TargetSystemRegistrySlotView {
|
|
16
17
|
slot: ServiceSlot;
|
|
17
18
|
/** Resolved when `slot.serviceId` is set; null for EMPTY slots. */
|
|
@@ -56,18 +57,23 @@ export interface ReleaseSystemRegistrySlotsByServiceIdOutcome {
|
|
|
56
57
|
/** Requested `serviceIds` with no ACTIVE slot released (unknown id, already EMPTY, or never bound). */
|
|
57
58
|
unchangedServiceIds: string[];
|
|
58
59
|
}
|
|
59
|
-
export interface
|
|
60
|
-
/** Logical service
|
|
61
|
-
|
|
60
|
+
export interface AppendSystemRegistryEmptySlotsInput {
|
|
61
|
+
/** Logical service key (e.g. `download-service`). */
|
|
62
|
+
serviceValue: string;
|
|
63
|
+
/** How many EMPTY slots to append. Default `1`. */
|
|
64
|
+
count?: number;
|
|
62
65
|
traceId?: string;
|
|
63
66
|
maxAttempts?: number;
|
|
64
67
|
}
|
|
65
|
-
export interface
|
|
68
|
+
export interface AppendSystemRegistryEmptySlotsOutcome {
|
|
66
69
|
config: Config;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
serviceValue: string;
|
|
71
|
+
/** EMPTY slots appended this run. */
|
|
72
|
+
appended: number;
|
|
73
|
+
/** Declared slot count for `serviceValue` before this run. */
|
|
74
|
+
capacityBefore: number;
|
|
75
|
+
/** Declared slot count for `serviceValue` after this run. */
|
|
76
|
+
capacityAfter: number;
|
|
71
77
|
}
|
|
72
78
|
export declare class ServiceRegistryError extends Error {
|
|
73
79
|
readonly code: "REGISTRY_CONFIG_NOT_FOUND" | "SERVICE_NOT_DECLARED" | "SERVICE_SLOTS_FULL" | "REGISTRY_SLOT_LOST" | "REGISTRY_UPDATE_FAILED";
|
|
@@ -109,11 +115,13 @@ export declare function releaseSystemRegistrySlots(input: ReleaseSystemRegistryS
|
|
|
109
115
|
*/
|
|
110
116
|
export declare function releaseSystemRegistrySlotsByServiceId(input: ReleaseSystemRegistrySlotsByServiceIdInput): Promise<ReleaseSystemRegistrySlotsByServiceIdOutcome>;
|
|
111
117
|
/**
|
|
112
|
-
* Append EMPTY {@link ServiceSlot} rows for
|
|
113
|
-
*
|
|
118
|
+
* Append one or more EMPTY {@link ServiceSlot} rows for a given `serviceValue`.
|
|
119
|
+
*
|
|
120
|
+
* Always grows capacity (does not skip when the key is already declared).
|
|
121
|
+
* Use for replica scale-out (e.g. second `download-service` instance).
|
|
114
122
|
* Does not modify existing slots or release ACTIVE bindings.
|
|
115
123
|
*/
|
|
116
|
-
export declare function
|
|
124
|
+
export declare function appendSystemRegistryEmptySlots(input: AppendSystemRegistryEmptySlotsInput): Promise<AppendSystemRegistryEmptySlotsOutcome>;
|
|
117
125
|
/**
|
|
118
126
|
* Claim one EMPTY slot for a running Service instance (`EMPTY → ACTIVE` only).
|
|
119
127
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.service.d.ts","sourceRoot":"","sources":["../../../src/service/registry/registry.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,16 +39,6 @@ export interface ServiceRuntime {
|
|
|
39
39
|
lastHeartBeat: number;
|
|
40
40
|
nodes: ServiceNodeSnapshot[];
|
|
41
41
|
}
|
|
42
|
-
export declare enum ServiceSlotStatus {
|
|
43
|
-
EMPTY = "EMPTY",
|
|
44
|
-
ACTIVE = "ACTIVE"
|
|
45
|
-
}
|
|
46
|
-
export interface ServiceSlot {
|
|
47
|
-
serviceValue: string;
|
|
48
|
-
/** Bound {@link Service.id} when {@link ServiceSlotStatus.ACTIVE}; null when EMPTY. */
|
|
49
|
-
serviceId: string | null;
|
|
50
|
-
status: ServiceSlotStatus;
|
|
51
|
-
}
|
|
52
42
|
export interface Api extends Target {
|
|
53
43
|
/** "core.post.target.0" 唯一键 领域 + METHOD + content + VERSION */
|
|
54
44
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.interface.d.ts","sourceRoot":"","sources":["../../src/service/service.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,MAAM,WAAW,OAAQ,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;CAC3B;AAED,oBAAY,eAAe;IACvB,OAAO,YAAY;CACtB;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,qFAAqF;IACrF,OAAO,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,
|
|
1
|
+
{"version":3,"file":"service.interface.d.ts","sourceRoot":"","sources":["../../src/service/service.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,MAAM,WAAW,OAAQ,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;CAC3B;AAED,oBAAY,eAAe;IACvB,OAAO,YAAY;CACtB;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,qFAAqF;IACrF,OAAO,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,GAAI,SAAQ,MAAM;IAC/B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;CACvB;AAED,oBAAY,WAAW;IACnB,GAAG,QAAQ;CACd;AAED,oBAAY,SAAS;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACL,KAAK,EAAE,eAAe,EAAE,CAAC;KAC5B,CAAC;IACF,QAAQ,EAAE;QACN,KAAK,EAAE,eAAe,EAAE,CAAC;KAC5B,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;CAG/B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgREST / Supabase JS client helpers for `target` table filters.
|
|
3
|
+
*
|
|
4
|
+
* @see `.cursor/skills/postgrest-query-filters/SKILL.md`
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Escape `%`, `_`, and `\` for PostgREST `ilike` patterns.
|
|
8
|
+
* Also strips commas — they break `.or()` filter strings when multiple columns are searched.
|
|
9
|
+
*/
|
|
10
|
+
export declare function escapeIlikePattern(raw: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Format a JS string array as a PostgreSQL `text[]` literal for PostgREST filter values.
|
|
13
|
+
*
|
|
14
|
+
* Required when tag values contain `:` or other special characters, and when using
|
|
15
|
+
* `.filter(column, "not.ov", literal)` — `.not("column", "ov", jsArray)` stringifies
|
|
16
|
+
* with `Array#toString()` and produces an invalid array literal.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* toPostgrestTextArrayLiteral(["stop-word:base", "small-word"])
|
|
20
|
+
* // → '{"stop-word:base","small-word"}'
|
|
21
|
+
*/
|
|
22
|
+
export declare function toPostgrestTextArrayLiteral(values: readonly string[]): string;
|
|
23
|
+
//# sourceMappingURL=postgrest.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgrest.utils.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/postgrest.utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE7E"}
|
package/package.json
CHANGED
package/src/browser.ts
CHANGED
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
export type { SupabaseClient } from "@supabase/supabase-js";
|
|
9
|
+
export type {
|
|
10
|
+
Config,
|
|
11
|
+
ConfigDetails,
|
|
12
|
+
GetConfigPayload,
|
|
13
|
+
} from "./config/index";
|
|
14
|
+
export { CategoryConfig, getConfig, getConfigSchema } from "./config/index";
|
|
9
15
|
export * from "./core.api";
|
|
10
16
|
export * from "./core.interface";
|
|
11
17
|
export * from "./core.schema";
|
|
@@ -102,13 +108,10 @@ export * from "./repo/repo.interface";
|
|
|
102
108
|
export type {
|
|
103
109
|
Api,
|
|
104
110
|
ApiDetails,
|
|
105
|
-
|
|
106
|
-
|
|
111
|
+
AppendSystemRegistryEmptySlotsInput,
|
|
112
|
+
AppendSystemRegistryEmptySlotsOutcome,
|
|
107
113
|
ClaimRegistrySlotInput,
|
|
108
|
-
Config,
|
|
109
|
-
ConfigDetails,
|
|
110
114
|
GetApiPayload,
|
|
111
|
-
GetConfigPayload,
|
|
112
115
|
GetServicePayload,
|
|
113
116
|
PatchServiceRuntimeInput,
|
|
114
117
|
PostApiPayload,
|
|
@@ -136,12 +139,11 @@ export type {
|
|
|
136
139
|
export {
|
|
137
140
|
ApiMethod,
|
|
138
141
|
apiDetailsSchema,
|
|
139
|
-
|
|
142
|
+
appendSystemRegistryEmptySlots,
|
|
140
143
|
assertRegistrySlotAvailable,
|
|
141
144
|
assertRegistrySlotOwner,
|
|
142
145
|
buildEmptyServiceSlots,
|
|
143
146
|
buildSystemRegistryConfigDetails,
|
|
144
|
-
CategoryConfig,
|
|
145
147
|
CategoryService,
|
|
146
148
|
claimServiceRegistrySlot,
|
|
147
149
|
createActiveServiceLifecycle,
|
|
@@ -152,8 +154,6 @@ export {
|
|
|
152
154
|
fieldDefinitionSchema,
|
|
153
155
|
getApi,
|
|
154
156
|
getApiSchema,
|
|
155
|
-
getConfig,
|
|
156
|
-
getConfigSchema,
|
|
157
157
|
getService,
|
|
158
158
|
getServiceSchema,
|
|
159
159
|
getTargetSystemRegistry,
|
|
@@ -189,6 +189,7 @@ export {
|
|
|
189
189
|
unregisterService,
|
|
190
190
|
unregisterServiceAtShutdown,
|
|
191
191
|
} from "./service/index";
|
|
192
|
+
|
|
192
193
|
export type { FetchInitFactory, FetchRetryOptions } from "./shared/http/fetch-retry";
|
|
193
194
|
export {
|
|
194
195
|
fetchBinaryWithRetry,
|
|
@@ -233,6 +234,7 @@ export {
|
|
|
233
234
|
classifyNetworkError,
|
|
234
235
|
formatNetworkError,
|
|
235
236
|
} from "./shared/utils/network-error";
|
|
237
|
+
export { escapeIlikePattern, toPostgrestTextArrayLiteral } from "./shared/utils/postgrest.utils";
|
|
236
238
|
export type { SanitizeFileNameOptions } from "./shared/utils/safe-file-name";
|
|
237
239
|
export { sanitizeFileName, sanitizeParcelFileName } from "./shared/utils/safe-file-name";
|
|
238
240
|
export { sha256Hex } from "./shared/utils/sha256";
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getPossibleTarget, getTarget, type QueryFilter, validateWithSchema } from "../core.api";
|
|
3
|
+
import { CategoryConfig, type Config } from "./config.interface";
|
|
4
|
+
|
|
5
|
+
const targetIdSchema = z.string().trim().min(1);
|
|
6
|
+
|
|
7
|
+
export const getConfigSchema = z
|
|
8
|
+
.object({
|
|
9
|
+
id: targetIdSchema.optional(),
|
|
10
|
+
value: z.string().trim().min(1).optional(),
|
|
11
|
+
})
|
|
12
|
+
.refine(
|
|
13
|
+
(payload) => {
|
|
14
|
+
const hasId = payload.id != null && payload.id !== "";
|
|
15
|
+
const hasValue = payload.value != null && payload.value !== "";
|
|
16
|
+
return hasId !== hasValue;
|
|
17
|
+
},
|
|
18
|
+
{ message: "Provide exactly one of id or value" },
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
export type GetConfigPayload = z.infer<typeof getConfigSchema>;
|
|
22
|
+
|
|
23
|
+
const configCategoryFilter: QueryFilter = {
|
|
24
|
+
field: "category",
|
|
25
|
+
operator: "eq",
|
|
26
|
+
value: CategoryConfig.CONFIG,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
function buildConfigLookupFilters(payload: GetConfigPayload): QueryFilter[] {
|
|
30
|
+
const filters: QueryFilter[] = [configCategoryFilter];
|
|
31
|
+
|
|
32
|
+
if (payload.id == null || payload.id === "") {
|
|
33
|
+
filters.push({ field: "value", operator: "eq", value: payload.value! });
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return filters;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** Fetch a Config by id or by {@link Config.value} key (`category=config`). */
|
|
40
|
+
export const getConfig = validateWithSchema(
|
|
41
|
+
getConfigSchema,
|
|
42
|
+
"getConfigSchema",
|
|
43
|
+
)(async (payload) => {
|
|
44
|
+
const filterList = buildConfigLookupFilters(payload);
|
|
45
|
+
|
|
46
|
+
if (payload.id != null && payload.id !== "") {
|
|
47
|
+
const result = await getTarget({
|
|
48
|
+
id: payload.id,
|
|
49
|
+
filterList,
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
...result,
|
|
53
|
+
data: result.data as Config,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const result = await getPossibleTarget({
|
|
58
|
+
filterList,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
if (result.data == null) {
|
|
62
|
+
return {
|
|
63
|
+
...result,
|
|
64
|
+
data: undefined,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
...result,
|
|
70
|
+
data: result.data as Config,
|
|
71
|
+
};
|
|
72
|
+
});
|
|
@@ -3,7 +3,7 @@ import type { Target } from "../core.interface";
|
|
|
3
3
|
export interface Config extends Target {
|
|
4
4
|
/** Human readable name */
|
|
5
5
|
name: string;
|
|
6
|
-
/** Unique key
|
|
6
|
+
/** Unique key (e.g. system registry Config value) */
|
|
7
7
|
value: string;
|
|
8
8
|
category: CategoryConfig;
|
|
9
9
|
details: ConfigDetails;
|
|
@@ -13,9 +13,6 @@ export enum CategoryConfig {
|
|
|
13
13
|
CONFIG = "config",
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
/** Globally unique Config key for the declarative system service registry. */
|
|
17
|
-
export const TARGET_SYSTEM_REGISTRY_KEY = "target-system-registry";
|
|
18
|
-
|
|
19
16
|
export interface ConfigDetails {
|
|
20
17
|
manifestVersion: number;
|
|
21
18
|
/** How to resolve the Config */
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config domain public API — curated re-exports only.
|
|
3
|
+
* System registry seed / claim APIs live in `src/service/registry/`.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export type { GetConfigPayload } from "./config.api";
|
|
7
|
+
export { getConfig, getConfigSchema } from "./config.api";
|
|
8
|
+
export type { Config, ConfigDetails } from "./config.interface";
|
|
9
|
+
export { CategoryConfig } from "./config.interface";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EMPTY_REGISTRY_SLOT_RUNTIME_STATE } from "../../service/registry-lifecycle";
|
|
1
|
+
import { EMPTY_REGISTRY_SLOT_RUNTIME_STATE } from "../../service/registry/registry-lifecycle";
|
|
2
2
|
import type { JsonStatePatch } from "../fs/json-state-store";
|
|
3
3
|
import { createShardedJsonFileStateStore } from "../fs/sharded-json-state-store";
|
|
4
4
|
import type {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
registrySlotRuntimePatchFromGuardResult,
|
|
3
|
+
runRegistrySlotGuardCheck,
|
|
4
|
+
} from "../../service/registry/registry-lifecycle";
|
|
2
5
|
import type { LoggerWithScope } from "../../shared/log";
|
|
3
6
|
|
|
4
7
|
export interface ApplyRegistrySlotGuardInput {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { scanTargetList } from "../../core.api";
|
|
2
|
-
import { patchServiceRuntime } from "../../service/registry.service";
|
|
2
|
+
import { patchServiceRuntime } from "../../service/registry/registry.service";
|
|
3
3
|
import { CategoryNode, type Node } from "../node.interface";
|
|
4
4
|
import { evaluateBusyNodeLiveness } from "../node-liveness";
|
|
5
5
|
import { applyRegistrySlotGuardStep } from "./registry-slot-guard-step";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RegistrySlotRuntimeState } from "../../service/registry-lifecycle";
|
|
1
|
+
import type { RegistrySlotRuntimeState } from "../../service/registry/registry-lifecycle";
|
|
2
2
|
import type { LoggerWithScope } from "../../shared/log";
|
|
3
3
|
import type { Node } from "../node.interface";
|
|
4
4
|
import type { ReadinessCheck, ReadinessReport } from "../readiness/readiness.types";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ServiceRegistryError } from "../../service/registry.service";
|
|
2
|
-
import { claimServiceRegistrySlot, type ServiceRegistrySession } from "../../service/registry-lifecycle";
|
|
1
|
+
import { ServiceRegistryError } from "../../service/registry/registry.service";
|
|
2
|
+
import { claimServiceRegistrySlot, type ServiceRegistrySession } from "../../service/registry/registry-lifecycle";
|
|
3
3
|
import type { Service } from "../../service/service.interface";
|
|
4
4
|
import type { LoggerWithScope } from "../../shared/log";
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ServiceRegistryError } from "../../service/registry.service";
|
|
2
|
-
import type { ServiceRegistrySession } from "../../service/registry-lifecycle";
|
|
1
|
+
import { ServiceRegistryError } from "../../service/registry/registry.service";
|
|
2
|
+
import type { ServiceRegistrySession } from "../../service/registry/registry-lifecycle";
|
|
3
3
|
import type { Service } from "../../service/service.interface";
|
|
4
4
|
import { createLogger, type LoggerWithScope } from "../../shared/log";
|
|
5
5
|
import { LOG_SPOOL_SERVICE_ID_ENV } from "../../shared/log/spool/config";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ServiceRegistrySession } from "../../service/registry-lifecycle";
|
|
1
|
+
import type { ServiceRegistrySession } from "../../service/registry/registry-lifecycle";
|
|
2
2
|
import type { Service } from "../../service/service.interface";
|
|
3
3
|
import { createLogger, type LoggerWithScope } from "../../shared/log";
|
|
4
4
|
import { claimRegistrySlotOrExit } from "./claim-registry-slot";
|