target-supabase-sdk 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/README.md +24 -18
  2. package/dist/browser.d.ts +11 -4
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +3 -3
  5. package/dist/chunks/{enable-log-persist-C7GJo_Nc.js → enable-log-persist-BL2FaGQp.js} +10 -8
  6. package/dist/chunks/enable-log-persist-BL2FaGQp.js.map +1 -0
  7. package/dist/chunks/{create-logger-DyH3mZ8p.js → list.api-Ab9v8yOg.js} +66 -57
  8. package/dist/chunks/list.api-Ab9v8yOg.js.map +1 -0
  9. package/dist/chunks/{word.interface-DLgRobKV.js → word.interface-Mw7bTSqs.js} +1191 -97
  10. package/dist/chunks/word.interface-Mw7bTSqs.js.map +1 -0
  11. package/dist/extraction/extraction.api.d.ts +117 -0
  12. package/dist/extraction/extraction.api.d.ts.map +1 -0
  13. package/dist/extraction/extraction.interface.d.ts +43 -0
  14. package/dist/extraction/extraction.interface.d.ts.map +1 -0
  15. package/dist/list/list.interface.d.ts +2 -2
  16. package/dist/list/list.interface.d.ts.map +1 -1
  17. package/dist/node/fs/json-state-store.d.ts.map +1 -1
  18. package/dist/node/fs/runtime-state-path.d.ts +17 -0
  19. package/dist/node/fs/runtime-state-path.d.ts.map +1 -0
  20. package/dist/node/fs/sharded-json-state-store.d.ts +19 -0
  21. package/dist/node/fs/sharded-json-state-store.d.ts.map +1 -0
  22. package/dist/node/node-runtime.base.d.ts +13 -1
  23. package/dist/node/node-runtime.base.d.ts.map +1 -1
  24. package/dist/node/process/create-managed-child-processes.d.ts +12 -0
  25. package/dist/node/process/create-managed-child-processes.d.ts.map +1 -0
  26. package/dist/node/process/index.d.ts +3 -1
  27. package/dist/node/process/index.d.ts.map +1 -1
  28. package/dist/node/process/managed-child-processes.d.ts +15 -2
  29. package/dist/node/process/managed-child-processes.d.ts.map +1 -1
  30. package/dist/node/runtime-state/create-service-runtime-state-store.d.ts +27 -0
  31. package/dist/node/runtime-state/create-service-runtime-state-store.d.ts.map +1 -0
  32. package/dist/node/runtime-state/index.d.ts +4 -0
  33. package/dist/node/runtime-state/index.d.ts.map +1 -0
  34. package/dist/node/runtime-state/service-runtime-state.types.d.ts +57 -0
  35. package/dist/node/runtime-state/service-runtime-state.types.d.ts.map +1 -0
  36. package/dist/node/service-guard/index.d.ts +9 -0
  37. package/dist/node/service-guard/index.d.ts.map +1 -0
  38. package/dist/node/service-guard/register-service-guard-runner.d.ts +9 -0
  39. package/dist/node/service-guard/register-service-guard-runner.d.ts.map +1 -0
  40. package/dist/node/service-guard/run-readiness-gate.d.ts +11 -0
  41. package/dist/node/service-guard/run-readiness-gate.d.ts.map +1 -0
  42. package/dist/node/service-guard/run-service-guard-tick.d.ts +7 -0
  43. package/dist/node/service-guard/run-service-guard-tick.d.ts.map +1 -0
  44. package/dist/node/service-guard/service-guard-node.d.ts +18 -0
  45. package/dist/node/service-guard/service-guard-node.d.ts.map +1 -0
  46. package/dist/node/service-guard/service-guard.interface.d.ts +58 -0
  47. package/dist/node/service-guard/service-guard.interface.d.ts.map +1 -0
  48. package/dist/node/service-guard/worker-spawn-cooldown.d.ts +4 -0
  49. package/dist/node/service-guard/worker-spawn-cooldown.d.ts.map +1 -0
  50. package/dist/node/service-host/index.d.ts +9 -0
  51. package/dist/node/service-host/index.d.ts.map +1 -0
  52. package/dist/node/service-host/registry-slot-guard-step.d.ts +21 -0
  53. package/dist/node/service-host/registry-slot-guard-step.d.ts.map +1 -0
  54. package/dist/node/service-host/service-host.d.ts +36 -0
  55. package/dist/node/service-host/service-host.d.ts.map +1 -0
  56. package/dist/node/service-host/single-process-service.d.ts +21 -0
  57. package/dist/node/service-host/single-process-service.d.ts.map +1 -0
  58. package/dist/node.d.ts +15 -2
  59. package/dist/node.d.ts.map +1 -1
  60. package/dist/node.js +2221 -1485
  61. package/dist/node.js.map +1 -1
  62. package/dist/preload.js +3 -3
  63. package/dist/service/config.api.d.ts +143 -0
  64. package/dist/service/config.api.d.ts.map +1 -0
  65. package/dist/service/config.interface.d.ts +22 -0
  66. package/dist/service/config.interface.d.ts.map +1 -0
  67. package/dist/service/index.d.ts +16 -17
  68. package/dist/service/index.d.ts.map +1 -1
  69. package/dist/service/registry-lifecycle.d.ts +43 -0
  70. package/dist/service/registry-lifecycle.d.ts.map +1 -0
  71. package/dist/service/registry.service.d.ts +117 -0
  72. package/dist/service/registry.service.d.ts.map +1 -0
  73. package/dist/service/service-bootstrap.d.ts +28 -0
  74. package/dist/service/service-bootstrap.d.ts.map +1 -0
  75. package/dist/service/service.api.d.ts +160 -0
  76. package/dist/service/service.api.d.ts.map +1 -1
  77. package/dist/service/service.interface.d.ts +32 -1
  78. package/dist/service/service.interface.d.ts.map +1 -1
  79. package/dist/shared/log/index.d.ts +4 -0
  80. package/dist/shared/log/index.d.ts.map +1 -1
  81. package/dist/shared/log/log-batch.d.ts +44 -0
  82. package/dist/shared/log/log-batch.d.ts.map +1 -0
  83. package/dist/shared/log/log-persist-coordinator.d.ts +37 -0
  84. package/dist/shared/log/log-persist-coordinator.d.ts.map +1 -0
  85. package/dist/shared/log/log-persist-flush.d.ts.map +1 -1
  86. package/dist/shared/log/log-persist.config.d.ts +0 -1
  87. package/dist/shared/log/log-persist.config.d.ts.map +1 -1
  88. package/dist/shared/log/log-persist.interface.d.ts +8 -0
  89. package/dist/shared/log/log-persist.interface.d.ts.map +1 -1
  90. package/dist/shared/utils/config-path.utils.d.ts +21 -0
  91. package/dist/shared/utils/config-path.utils.d.ts.map +1 -1
  92. package/dist/shared/utils/get-value-at-path.d.ts +3 -0
  93. package/dist/shared/utils/get-value-at-path.d.ts.map +1 -0
  94. package/dist/task/index.d.ts +2 -0
  95. package/dist/task/index.d.ts.map +1 -1
  96. package/dist/task/task-manager.d.ts +1 -1
  97. package/dist/task/task-manager.d.ts.map +1 -1
  98. package/dist/task/task-post-retry.api.d.ts +24 -0
  99. package/dist/task/task-post-retry.api.d.ts.map +1 -0
  100. package/dist/task/task-repo-context.d.ts +7 -1
  101. package/dist/task/task-repo-context.d.ts.map +1 -1
  102. package/dist/trigger/trigger-manager.d.ts +1 -1
  103. package/dist/trigger/trigger-manager.d.ts.map +1 -1
  104. package/dist/trigger/trigger-node.d.ts +1 -0
  105. package/dist/trigger/trigger-node.d.ts.map +1 -1
  106. package/dist/trigger/trigger.constant.d.ts +1 -1
  107. package/dist/trigger/trigger.constant.d.ts.map +1 -1
  108. package/dist/trigger/trigger.interface.d.ts +10 -0
  109. package/dist/trigger/trigger.interface.d.ts.map +1 -1
  110. package/package.json +4 -2
  111. package/src/browser.ts +102 -4
  112. package/src/extraction/extraction.api.ts +232 -0
  113. package/src/extraction/extraction.interface.ts +45 -0
  114. package/src/list/list.interface.ts +2 -2
  115. package/src/node/fs/json-state-store.ts +5 -2
  116. package/src/node/fs/runtime-state-path.ts +35 -0
  117. package/src/node/fs/sharded-json-state-store.ts +157 -0
  118. package/src/node/node-runtime.base.ts +37 -6
  119. package/src/node/process/create-managed-child-processes.ts +27 -0
  120. package/src/node/process/index.ts +4 -0
  121. package/src/node/process/managed-child-processes.ts +48 -15
  122. package/src/node/runtime-state/create-service-runtime-state-store.ts +125 -0
  123. package/src/node/runtime-state/index.ts +17 -0
  124. package/src/node/runtime-state/service-runtime-state.types.ts +64 -0
  125. package/src/node/service-guard/index.ts +17 -0
  126. package/src/node/service-guard/register-service-guard-runner.ts +64 -0
  127. package/src/node/service-guard/run-readiness-gate.ts +34 -0
  128. package/src/node/service-guard/run-service-guard-tick.ts +106 -0
  129. package/src/node/service-guard/service-guard-node.ts +52 -0
  130. package/src/node/service-guard/service-guard.interface.ts +64 -0
  131. package/src/node/service-guard/worker-spawn-cooldown.ts +13 -0
  132. package/src/node/service-host/index.ts +30 -0
  133. package/src/node/service-host/registry-slot-guard-step.ts +57 -0
  134. package/src/node/service-host/service-host.ts +168 -0
  135. package/src/node/service-host/single-process-service.ts +58 -0
  136. package/src/node.ts +69 -0
  137. package/src/service/config.api.ts +224 -0
  138. package/src/service/config.interface.ts +25 -0
  139. package/src/service/index.ts +78 -149
  140. package/src/service/registry-lifecycle.ts +144 -0
  141. package/src/service/registry.service.ts +726 -0
  142. package/src/service/service-bootstrap.ts +74 -0
  143. package/src/service/service.api.ts +13 -0
  144. package/src/service/service.interface.ts +36 -1
  145. package/src/shared/log/index.ts +13 -0
  146. package/src/shared/log/log-batch.ts +156 -0
  147. package/src/shared/log/log-persist-coordinator.ts +107 -0
  148. package/src/shared/log/log-persist-flush.ts +3 -3
  149. package/src/shared/log/log-persist.config.ts +0 -2
  150. package/src/shared/log/log-persist.interface.ts +10 -0
  151. package/src/shared/utils/config-path.utils.ts +35 -0
  152. package/src/shared/utils/get-value-at-path.ts +17 -0
  153. package/src/task/index.ts +2 -0
  154. package/src/task/task-manager.ts +10 -4
  155. package/src/task/task-post-retry.api.ts +61 -0
  156. package/src/task/task-repo-context.ts +8 -1
  157. package/src/trigger/trigger-manager.ts +4 -2
  158. package/src/trigger/trigger-node.ts +10 -4
  159. package/src/trigger/trigger.constant.ts +1 -1
  160. package/src/trigger/trigger.interface.ts +10 -0
  161. package/dist/chunks/create-logger-DyH3mZ8p.js.map +0 -1
  162. package/dist/chunks/enable-log-persist-C7GJo_Nc.js.map +0 -1
  163. package/dist/chunks/word.interface-DLgRobKV.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import { deleteTarget } from "../core.api";
2
+ import { createLogger } from "../shared/log";
3
+ import {
4
+ assertRegistrySlotAvailable,
5
+ assertRegistrySlotOwner,
6
+ registerServiceAtStartup,
7
+ ServiceRegistryError,
8
+ unregisterServiceAtShutdown,
9
+ } from "./registry.service";
10
+ import type { Service } from "./service.interface";
11
+
12
+ const LOG_TOPIC = "service-registry-lifecycle";
13
+
14
+ /** Shared registry slice for L3 runtime state files (`state.json`). */
15
+ export interface RegistrySlotRuntimeState {
16
+ serviceId: string | null;
17
+ serviceValue: string | null;
18
+ slotOwned: boolean | null;
19
+ lastSlotCheckAt: string | null;
20
+ lastSlotCheckError: string | null;
21
+ }
22
+
23
+ export const EMPTY_REGISTRY_SLOT_RUNTIME_STATE: RegistrySlotRuntimeState = {
24
+ serviceId: null,
25
+ serviceValue: null,
26
+ slotOwned: null,
27
+ lastSlotCheckAt: null,
28
+ lastSlotCheckError: null,
29
+ };
30
+
31
+ export function createClaimedRegistrySlotRuntimeState(service: Service): RegistrySlotRuntimeState {
32
+ return {
33
+ serviceId: service.id,
34
+ serviceValue: service.value,
35
+ slotOwned: true,
36
+ lastSlotCheckAt: null,
37
+ lastSlotCheckError: null,
38
+ };
39
+ }
40
+
41
+ export interface ClaimRegistrySlotInput {
42
+ serviceValue: string;
43
+ createInstance: () => Promise<Service>;
44
+ traceId?: string;
45
+ }
46
+
47
+ export interface ServiceRegistrySession {
48
+ service: Service;
49
+ /** Graceful shutdown — releases ACTIVE registry slot. */
50
+ release: () => Promise<void>;
51
+ /** Abandon orphan instance row when register never succeeded. */
52
+ abandon: () => Promise<void>;
53
+ }
54
+
55
+ /**
56
+ * Preflight → create Service instance → claim registry slot.
57
+ * On register failure after `createInstance`, deletes the orphan Service row.
58
+ */
59
+ export async function claimServiceRegistrySlot(input: ClaimRegistrySlotInput): Promise<ServiceRegistrySession> {
60
+ const logger = createLogger({
61
+ module: "claimServiceRegistrySlot",
62
+ traceId: input.traceId,
63
+ labels: { serviceValue: input.serviceValue },
64
+ });
65
+
66
+ await assertRegistrySlotAvailable(input.serviceValue);
67
+
68
+ const service = await input.createInstance();
69
+ let registered = false;
70
+
71
+ try {
72
+ await registerServiceAtStartup({ service, traceId: input.traceId });
73
+ registered = true;
74
+ } catch (error) {
75
+ await deleteTarget({ id: service.id }).catch((deleteError: unknown) => {
76
+ const message = deleteError instanceof Error ? deleteError.message : String(deleteError);
77
+ logger.warn("Failed to delete orphan Service row after register failure", {
78
+ topic: LOG_TOPIC,
79
+ data: { serviceId: service.id, message },
80
+ });
81
+ });
82
+ throw error;
83
+ }
84
+
85
+ logger.info("registry slot claimed", {
86
+ topic: LOG_TOPIC,
87
+ data: { serviceValue: service.value, serviceId: service.id, registered },
88
+ });
89
+
90
+ return {
91
+ service,
92
+ release: async () => {
93
+ await unregisterServiceAtShutdown({ service, traceId: input.traceId });
94
+ },
95
+ abandon: async () => {
96
+ await deleteTarget({ id: service.id }).catch(() => undefined);
97
+ },
98
+ };
99
+ }
100
+
101
+ export interface RegistrySlotGuardResult {
102
+ slotOwned: boolean | null;
103
+ shouldShutdown: boolean;
104
+ error?: string;
105
+ }
106
+
107
+ /**
108
+ * Runtime guard step for service supervisor loops.
109
+ * Transient read failures soft-fail; confirmed slot loss returns `shouldShutdown: true`.
110
+ */
111
+ export async function runRegistrySlotGuardCheck(input: {
112
+ serviceValue: string;
113
+ serviceId: string;
114
+ }): Promise<RegistrySlotGuardResult> {
115
+ try {
116
+ await assertRegistrySlotOwner(input);
117
+ return { slotOwned: true, shouldShutdown: false };
118
+ } catch (error) {
119
+ if (error instanceof ServiceRegistryError && error.code === "REGISTRY_SLOT_LOST") {
120
+ return {
121
+ slotOwned: false,
122
+ shouldShutdown: true,
123
+ error: error.message,
124
+ };
125
+ }
126
+ const message = error instanceof Error ? error.message : String(error);
127
+ return {
128
+ slotOwned: null,
129
+ shouldShutdown: false,
130
+ error: message,
131
+ };
132
+ }
133
+ }
134
+
135
+ export function registrySlotRuntimePatchFromGuardResult(
136
+ result: RegistrySlotGuardResult,
137
+ checkedAt: string,
138
+ ): Pick<RegistrySlotRuntimeState, "slotOwned" | "lastSlotCheckAt" | "lastSlotCheckError"> {
139
+ return {
140
+ slotOwned: result.slotOwned,
141
+ lastSlotCheckAt: checkedAt,
142
+ lastSlotCheckError: result.error ?? null,
143
+ };
144
+ }