gutterpress 0.10.0 → 0.10.1-beta.2

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 (57) hide show
  1. package/README.md +3 -16
  2. package/dist/api/index.d.ts +10 -19
  3. package/dist/api/index.js +8 -64
  4. package/dist/{audit-cvarpa72.js → audit-dce99css.js} +5 -5
  5. package/dist/{build-6r502chw.js → build-bj4x0727.js} +5 -5
  6. package/dist/checks/source/index.d.ts +1 -0
  7. package/dist/checks/source/merge-markers.d.ts +3 -0
  8. package/dist/{cli-cqtggsng.js → cli-0z6zf98d.js} +2 -47
  9. package/dist/{cli-eq5naw4m.js → cli-7n848af2.js} +370 -1249
  10. package/dist/{cli-zfcryxg8.js → cli-eewynen9.js} +97 -60
  11. package/dist/{cli-k1065rkg.js → cli-w692g6dx.js} +75 -29
  12. package/dist/{cli-149edp6b.js → cli-ydpf09d9.js} +1 -1
  13. package/dist/cli.js +14 -15
  14. package/dist/{doctor-akvxbtjb.js → doctor-7nd6n2aa.js} +2 -2
  15. package/dist/{engine-ft4cr3ep.js → engine-57vw8zpd.js} +1 -1
  16. package/dist/{engine-b159tbns.js → engine-8kdwy0jz.js} +2 -2
  17. package/dist/{gutterpress-viewer-te8g5grx.js → gutterpress-viewer-tma1qwz2.js} +57 -15
  18. package/dist/{index-ycpvr0am.js → index-7hrvksrb.js} +4 -4
  19. package/dist/{index-mdefp0y5.js → index-dtrftayr.js} +75 -27
  20. package/dist/{index-ge7q9xj3.js → index-h1x7krkg.js} +771 -1482
  21. package/dist/{index-wq3r5pj7.js → index-p0ebr7dh.js} +94 -57
  22. package/dist/index.js +9 -65
  23. package/dist/lib/git-fs.d.ts +43 -0
  24. package/dist/lib/host-policy.d.ts +14 -2
  25. package/dist/lib/remote-auth/clone.d.ts +0 -21
  26. package/dist/lib/remote-auth/converge-merge.d.ts +24 -7
  27. package/dist/lib/remote-auth/generic-auth.d.ts +0 -22
  28. package/dist/lib/remote-auth/git-http.d.ts +1 -1
  29. package/dist/lib/remote-auth/github-auth.d.ts +2 -22
  30. package/dist/lib/remote-auth/operation-log.d.ts +4 -9
  31. package/dist/lib/remote-auth/sync-messages.d.ts +35 -12
  32. package/dist/lib/remote-auth/sync-types.d.ts +30 -101
  33. package/dist/lib/remote-auth/sync.d.ts +19 -21
  34. package/dist/lib/remote-auth/token-store.d.ts +0 -10
  35. package/dist/lib/remote-auth/transport.d.ts +42 -40
  36. package/dist/lib/source-provider.d.ts +12 -0
  37. package/dist/{lint-p2sw53d9.js → lint-c8ze8sqw.js} +5 -5
  38. package/dist/{new-hvq0x91q.js → new-xy2qc300.js} +5 -5
  39. package/dist/{plugin-pssmk0dx.js → plugin-g9hwzjsm.js} +5 -5
  40. package/dist/{preflight-4j00yd0g.js → preflight-prcvdvmk.js} +5 -5
  41. package/dist/{preview-bridge-fz7vpk8m.js → preview-bridge-2nnrs2hy.js} +15 -0
  42. package/dist/{preview-d4s6gk6p.js → preview-h479apj9.js} +5 -5
  43. package/dist/{preview-interface-0ssk8bmm.js → preview-interface-2f5v96hd.js} +411 -88
  44. package/dist/{preview-shell-c5mfa3q0.js → preview-shell-kyjq59d9.js} +80 -25
  45. package/dist/{publish-tkc26en7.js → publish-emk644a8.js} +5 -5
  46. package/dist/{source-provider-3tcj6qg2.js → source-provider-2j5x2hyw.js} +1 -1
  47. package/dist/{source-provider-vanafrt9.js → source-provider-kn41jmbs.js} +1 -1
  48. package/dist/{validate-w9vfefrw.js → validate-be54bdc6.js} +5 -5
  49. package/package.json +1 -1
  50. package/dist/lib/app-heartbeat.d.ts +0 -102
  51. package/dist/lib/remote-auth/image-clash.d.ts +0 -17
  52. package/dist/lib/remote-auth/recovery/classify.d.ts +0 -97
  53. package/dist/lib/remote-auth/recovery/inspect.d.ts +0 -75
  54. package/dist/lib/remote-auth/recovery/locks.d.ts +0 -20
  55. package/dist/lib/remote-auth/recovery/repair.d.ts +0 -29
  56. package/dist/lib/remote-auth/recovery/types.d.ts +0 -39
  57. package/dist/repair-2va4w12t.js +0 -137
package/README.md CHANGED
@@ -133,10 +133,9 @@ The full configuration cascade is `CLI flags > manifest.yaml > preset defaults`.
133
133
 
134
134
  ## Commands
135
135
 
136
- Gutterpress has 11 subcommands. `new`, `preview`, `build`, and `publish` are the
136
+ Gutterpress has 10 subcommands. `new`, `preview`, `build`, and `publish` are the
137
137
  primary author commands; `lint`, `validate`, `audit`, and `preflight` are
138
- CI / advanced checks; `repair` is the version-history escape hatch; and
139
- `doctor` reports system readiness. `plugin` manages project plugins. Every
138
+ CI / advanced checks; and `doctor` reports system readiness. `plugin` manages project plugins. Every
140
139
  command also accepts `--help` for the authoritative, always-current flag list
141
140
  (`gutterpress <command> --help`) — this section is regenerated from the same
142
141
  source.
@@ -315,18 +314,6 @@ gutterpress preflight [dir] --pdf <path> [options]
315
314
 
316
315
  Exits 1 when the computed status is `NO-GO` (errors, or a required check skipped/failed).
317
316
 
318
- ### `gutterpress repair`
319
-
320
- Diagnose and repair the project's version history — no git knowledge (and no system git) required. Detects the states that block syncing (an update that didn't finish, a leftover lock from a crash, a damaged or missing history) and applies the same safe repair the desktop app offers: a safety-copy zip is saved first, and nothing changes without your confirmation.
321
-
322
- ```sh
323
- gutterpress repair [dir]
324
-
325
- --check Diagnose only — never change anything (exit 1 when repair is needed)
326
- --yes Approve the repair without prompting
327
- --force Repair even if the Gutterpress app appears to have this project open
328
- ```
329
-
330
317
  ### `gutterpress doctor`
331
318
 
332
319
  Report the Gutterpress version, platform and config paths, and whether each external tool is available. Missing tools include the features that use them and platform-specific installation guidance.
@@ -369,7 +356,7 @@ Every command follows the same exit-code contract, so CI can branch on the resul
369
356
  | `2` | Usage — the invocation itself was wrong: a bad flag, positional argument, preset, or value. |
370
357
  | `3` | Pipeline — the build/render/export pipeline itself failed for a reason unrelated to usage or findings (I/O error, missing tool, renderer crash). |
371
358
 
372
- This applies uniformly across `build`, `preview`, `lint`, `validate`, `preflight`, `audit`, `repair`, `publish`, `plugin`, `new`, and `doctor`.
359
+ This applies uniformly across `build`, `preview`, `lint`, `validate`, `preflight`, `audit`, `publish`, `plugin`, `new`, and `doctor`.
373
360
 
374
361
  ## Plugins
375
362
 
@@ -43,27 +43,24 @@ export { readManifestFields, setManifestFields, setActiveStyles, } from "../lib/
43
43
  export type { ProjectConfigFields } from "../lib/manifest-config.ts";
44
44
  export { providerFor, restoreVersionWithBackup, isNoChangesError, AUTO_SNAPSHOT_MESSAGE, RESTORE_BACKUP_MESSAGE, HISTORY_PAGE_LIMIT, } from "../lib/source-provider.ts";
45
45
  export type { ListHistoryOptions, HistoryPage, } from "../lib/source-provider.ts";
46
- export { appHeartbeatPath, heartbeatTtlMs, isAppHeartbeatFresh, readAppHeartbeat, removeAppHeartbeat, writeAppHeartbeat, APP_HEARTBEAT_FRESH_MS, } from "../lib/app-heartbeat.ts";
47
- export type { AppHeartbeat } from "../lib/app-heartbeat.ts";
48
- export { autoSnapshotDelayMs, autoSyncDelayMs, isGitInternalPath, AUTO_SNAPSHOT_MIN_MINUTES, AUTO_SNAPSHOT_MAX_MINUTES, AUTO_SNAPSHOT_DEFAULT_MINUTES, AUTO_SYNC_MIN_MINUTES, AUTO_SYNC_MAX_MINUTES, AUTO_SYNC_DEFAULT_MINUTES, } from "../lib/host-policy.ts";
46
+ export { autoSnapshotDelayMs, autoSyncDelayMs, isGitInternalPath, AUTO_SNAPSHOT_MIN_MINUTES, AUTO_SNAPSHOT_MAX_MINUTES, AUTO_SNAPSHOT_DEFAULT_MINUTES, AUTO_SYNC_MIN_MINUTES, AUTO_SYNC_MAX_MINUTES, AUTO_SYNC_DEFAULT_MINUTES, AUTO_SYNC_PUSH_INTERVAL_MINUTES, } from "../lib/host-policy.ts";
49
47
  export type { AutoSnapshotPolicy, AutoSyncPolicy, } from "../lib/host-policy.ts";
50
- export { FileTokenStore, defaultConfigDir, redactCredential, extractUrlCredential, migrateUrlCredential, } from "../lib/remote-auth/token-store.ts";
48
+ export { FileTokenStore, defaultConfigDir, extractUrlCredential, } from "../lib/remote-auth/token-store.ts";
51
49
  export type { HostCredential, TokenStore, UrlCredentialExtraction, } from "../lib/remote-auth/token-store.ts";
52
50
  export { GitHubAuthProvider, resolveGitHubClientId, GITHUB_HOST, } from "../lib/remote-auth/github-auth.ts";
53
- export type { RemoteAuthProvider, HostCallbacks, DeviceCodeInfo, GitHubAuthProviderOptions, } from "../lib/remote-auth/github-auth.ts";
51
+ export type { HostCallbacks, DeviceCodeInfo, GitHubAuthProviderOptions, } from "../lib/remote-auth/github-auth.ts";
54
52
  export { listGitHubRepositories, listGitHubBranches, listRepoBooks, } from "../lib/remote-auth/github-repos.ts";
55
53
  export type { RemoteRepository, RemoteBranch, RepoBook, } from "../lib/remote-auth/github-repos.ts";
56
- export { cloneRepository, readProjectProvenance, provenancePath, sanitizeCloneFolderName, } from "../lib/remote-auth/clone.ts";
57
- export type { CloneRepositoryOptions, CloneRepositoryResult, CloneProgressEvent, ProjectProvenance, } from "../lib/remote-auth/clone.ts";
54
+ export { cloneRepository, sanitizeCloneFolderName, } from "../lib/remote-auth/clone.ts";
55
+ export type { CloneRepositoryOptions, CloneRepositoryResult, CloneProgressEvent, } from "../lib/remote-auth/clone.ts";
58
56
  export { testRemoteAccess, isSshRemoteUrl, } from "../lib/remote-auth/test-access.ts";
59
57
  export type { RemoteAccessResult, RemoteAccessFailureReason, TestRemoteAccessOptions, } from "../lib/remote-auth/test-access.ts";
60
- export { GenericTokenAuthProvider, connectGenericHost, knownForgeTokenUrl, normalizeForgeHost, } from "../lib/remote-auth/generic-auth.ts";
61
- export type { GenericTokenConnectInput, GenericHostCallbacks, GenericAuthOptions, } from "../lib/remote-auth/generic-auth.ts";
58
+ export { connectGenericHost, knownForgeTokenUrl, } from "../lib/remote-auth/generic-auth.ts";
59
+ export type { GenericTokenConnectInput, GenericAuthOptions, } from "../lib/remote-auth/generic-auth.ts";
62
60
  export { diagnoseProjectRemote, parseRemoteOrigin, forgeKindForHost, } from "../lib/remote-auth/diagnose.ts";
63
61
  export type { ProjectRemoteDiagnosis, DiagnoseProjectRemoteOptions, RemoteProtocol, RemoteGuidanceId, ForgeKind, } from "../lib/remote-auth/diagnose.ts";
64
- export { syncProject, pullChanges, pushChanges, SYNC_SNAPSHOT_MESSAGE, } from "../lib/remote-auth/sync.ts";
65
- export type { SyncOutcome, PullOutcome, PushOutcome, SyncProjectOptions, ImageClash, } from "../lib/remote-auth/sync.ts";
66
- export { keepImageVersion, readImageVersion } from "../lib/remote-auth/image-clash.ts";
62
+ export { syncProject, SYNC_SNAPSHOT_MESSAGE, } from "../lib/remote-auth/sync.ts";
63
+ export type { SyncOutcome, SyncProjectOptions, KeptBothFile, } from "../lib/remote-auth/sync.ts";
67
64
  export type { SnapshotEntry, InitVersionHistoryOptions, SnapshotOptions, RestoreSnapshotOptions, RestoreVersionOptions, RestoreVersionResult, SourceProvider, } from "../lib/source-provider.ts";
68
65
  export { runPublish, resolvePublishRequest, } from "../lib/publish/run-publish.ts";
69
66
  export type { RunPublishOptions, RunPublishResult, } from "../lib/publish/run-publish.ts";
@@ -76,11 +73,5 @@ export { PublishSelectionsStore } from "../lib/publish/selections.ts";
76
73
  export type { PublishAccountSelection } from "../lib/publish/selections.ts";
77
74
  export { readPublishSettings, setPublishProviderConfig, } from "../lib/publish/manifest-publish.ts";
78
75
  export type { PublishProvider, PublishProviderId, PublishProviderInfo, PublishProviderKind, PublishConfigField, PublishArtifact, PublishArtifactFormat, PublishAuthStatus, PublishDeps, PublishListingMetadata, PublishOutcome, PublishProduct, PublishProject, PublishRequest, PreflightIssue, CommandRunner, CommandResult, } from "../lib/publish/types.ts";
79
- export { repairRepo } from "../lib/remote-auth/recovery/repair.ts";
80
- export type { RepairOptions, RepairResult } from "../lib/remote-auth/recovery/repair.ts";
81
- export { classifyFromHealth, isLikelyRepoCorruption, RepoNeedsRecoveryError, isRepoNeedsRecoveryError, STALE_LOCK_MIN_AGE_MS, } from "../lib/remote-auth/recovery/classify.ts";
82
- export type { RepairNeed } from "../lib/remote-auth/recovery/classify.ts";
83
- export { inspectRepo, preflightStructuralReason, buildPreflightDiagnostics, verifyRepoReadable, isUnbornRepo, } from "../lib/remote-auth/recovery/inspect.ts";
84
- export type { RepoHealth } from "../lib/remote-auth/recovery/types.ts";
85
- export { resolveLogger, shortOid } from "../lib/remote-auth/operation-log.ts";
76
+ export { resolveLogger } from "../lib/remote-auth/operation-log.ts";
86
77
  export type { OperationLogger, LogData } from "../lib/remote-auth/operation-log.ts";
package/dist/api/index.js CHANGED
@@ -1,16 +1,15 @@
1
1
  import {
2
- APP_HEARTBEAT_FRESH_MS,
3
2
  AUTO_SNAPSHOT_DEFAULT_MINUTES,
4
3
  AUTO_SNAPSHOT_MAX_MINUTES,
5
4
  AUTO_SNAPSHOT_MIN_MINUTES,
6
5
  AUTO_SYNC_DEFAULT_MINUTES,
7
6
  AUTO_SYNC_MAX_MINUTES,
8
7
  AUTO_SYNC_MIN_MINUTES,
8
+ AUTO_SYNC_PUSH_INTERVAL_MINUTES,
9
9
  BUILT_IN_TEMPLATE_IDS,
10
10
  BUILT_IN_THEME_IDS,
11
11
  FileTokenStore,
12
12
  GITHUB_HOST,
13
- GenericTokenAuthProvider,
14
13
  GitHubAuthProvider,
15
14
  MANIFEST_FILENAMES,
16
15
  PLUGINS_DIR,
@@ -18,9 +17,7 @@ import {
18
17
  PRESET_IDS,
19
18
  PublishSelectionsStore,
20
19
  RECOMMENDED_PLUGINS,
21
- RepoNeedsRecoveryError,
22
20
  SNIPPETS_DIR,
23
- STALE_LOCK_MIN_AGE_MS,
24
21
  SYNC_SNAPSHOT_MESSAGE,
25
22
  TARGETS,
26
23
  TARGET_IDS,
@@ -28,12 +25,9 @@ import {
28
25
  addLocalPlugin,
29
26
  addNpmPlugin,
30
27
  adoptFolder,
31
- appHeartbeatPath,
32
28
  applyTheme,
33
29
  autoSnapshotDelayMs,
34
30
  autoSyncDelayMs,
35
- buildPreflightDiagnostics,
36
- classifyFromHealth,
37
31
  cloneRepository,
38
32
  connectGenericHost,
39
33
  connectPublishProvider,
@@ -48,19 +42,12 @@ import {
48
42
  getPreviousTheme,
49
43
  getSystemDiagnostics,
50
44
  hasProjectManifest,
51
- heartbeatTtlMs,
52
45
  importTemplateFromFolder,
53
46
  importThemeFromFile,
54
47
  importThemeFromFolder,
55
48
  importThemeFromUrl,
56
- inspectRepo,
57
- isAppHeartbeatFresh,
58
49
  isGitInternalPath,
59
- isLikelyRepoCorruption,
60
- isRepoNeedsRecoveryError,
61
50
  isSshRemoteUrl,
62
- isUnbornRepo,
63
- keepImageVersion,
64
51
  knownForgeTokenUrl,
65
52
  listBuiltInTemplates,
66
53
  listBuiltInThemes,
@@ -75,28 +62,16 @@ import {
75
62
  listRepoBooks,
76
63
  listSnippets,
77
64
  loadManifestWithPath,
78
- migrateUrlCredential,
79
- normalizeForgeHost,
80
65
  parseRemoteOrigin,
81
- preflightStructuralReason,
82
- provenancePath,
83
66
  publishConnectionStatus,
84
67
  publishCredentialKey,
85
68
  publishProviderFor,
86
69
  publishTargetFor,
87
- pullChanges,
88
- pushChanges,
89
- readAppHeartbeat,
90
- readImageVersion,
91
70
  readManifestFields,
92
- readProjectProvenance,
93
71
  readPublishSettings,
94
72
  readSnippet,
95
73
  readThemeCss,
96
- redactCredential,
97
- removeAppHeartbeat,
98
74
  removeProjectTheme,
99
- repairRepo,
100
75
  resolveActiveStyles,
101
76
  resolveBuiltInTheme,
102
77
  resolveConfig,
@@ -119,15 +94,13 @@ import {
119
94
  substituteVariables,
120
95
  syncProject,
121
96
  testRemoteAccess,
122
- validateProjectPlugins,
123
- verifyRepoReadable,
124
- writeAppHeartbeat
125
- } from "../index-ge7q9xj3.js";
97
+ validateProjectPlugins
98
+ } from "../index-h1x7krkg.js";
126
99
  import {
127
100
  BuildError,
128
101
  DEFAULT_PRINT_OPTS,
129
102
  readyProbeExpr
130
- } from "../index-ycpvr0am.js";
103
+ } from "../index-7hrvksrb.js";
131
104
  import {
132
105
  AUTO_SNAPSHOT_MESSAGE,
133
106
  HISTORY_PAGE_LIMIT,
@@ -135,9 +108,8 @@ import {
135
108
  isNoChangesError,
136
109
  providerFor,
137
110
  resolveLogger,
138
- restoreVersionWithBackup,
139
- shortOid
140
- } from "../index-mdefp0y5.js";
111
+ restoreVersionWithBackup
112
+ } from "../index-dtrftayr.js";
141
113
  import {
142
114
  capabilitiesFor,
143
115
  detectProjectSource,
@@ -147,8 +119,6 @@ import {
147
119
  } from "../index-v5mp7a6q.js";
148
120
  import"../index-37x76zdn.js";
149
121
  export {
150
- writeAppHeartbeat,
151
- verifyRepoReadable,
152
122
  validateProjectPlugins,
153
123
  testRemoteAccess,
154
124
  syncProject,
@@ -156,7 +126,6 @@ export {
156
126
  startPreviewServer,
157
127
  splitOutPath,
158
128
  slugifyProjectName,
159
- shortOid,
160
129
  setPublishProviderConfig,
161
130
  setPluginEnabled,
162
131
  setManifestFields,
@@ -177,30 +146,18 @@ export {
177
146
  resolveActiveStyles,
178
147
  repoSubPath,
179
148
  repoRootForSource,
180
- repairRepo,
181
149
  removeProjectTheme,
182
- removeAppHeartbeat,
183
- redactCredential,
184
150
  readyProbeExpr,
185
151
  readThemeCss,
186
152
  readSnippet,
187
153
  readPublishSettings,
188
- readProjectProvenance,
189
154
  readManifestFields,
190
- readImageVersion,
191
- readAppHeartbeat,
192
- pushChanges,
193
- pullChanges,
194
155
  publishTargetFor,
195
156
  publishProviderFor,
196
157
  publishCredentialKey,
197
158
  publishConnectionStatus,
198
159
  providerFor,
199
- provenancePath,
200
- preflightStructuralReason,
201
160
  parseRemoteOrigin,
202
- normalizeForgeHost,
203
- migrateUrlCredential,
204
161
  loadManifestWithPath,
205
162
  listSnippets,
206
163
  listRepoBooks,
@@ -215,20 +172,13 @@ export {
215
172
  listBuiltInThemes,
216
173
  listBuiltInTemplates,
217
174
  knownForgeTokenUrl,
218
- keepImageVersion,
219
- isUnbornRepo,
220
175
  isSshRemoteUrl,
221
- isRepoNeedsRecoveryError,
222
176
  isNoChangesError,
223
- isLikelyRepoCorruption,
224
177
  isGitInternalPath,
225
- isAppHeartbeatFresh,
226
- inspectRepo,
227
178
  importThemeFromUrl,
228
179
  importThemeFromFolder,
229
180
  importThemeFromFile,
230
181
  importTemplateFromFolder,
231
- heartbeatTtlMs,
232
182
  hasProjectManifest,
233
183
  getSystemDiagnostics,
234
184
  getPreviousTheme,
@@ -245,13 +195,10 @@ export {
245
195
  connectPublishProvider,
246
196
  connectGenericHost,
247
197
  cloneRepository,
248
- classifyFromHealth,
249
198
  capabilitiesFor,
250
- buildPreflightDiagnostics,
251
199
  autoSyncDelayMs,
252
200
  autoSnapshotDelayMs,
253
201
  applyTheme,
254
- appHeartbeatPath,
255
202
  adoptFolder,
256
203
  addNpmPlugin,
257
204
  addLocalPlugin,
@@ -259,9 +206,7 @@ export {
259
206
  TARGET_IDS,
260
207
  TARGETS,
261
208
  SYNC_SNAPSHOT_MESSAGE,
262
- STALE_LOCK_MIN_AGE_MS,
263
209
  SNIPPETS_DIR,
264
- RepoNeedsRecoveryError,
265
210
  RESTORE_BACKUP_MESSAGE,
266
211
  RECOMMENDED_PLUGINS,
267
212
  PublishSelectionsStore,
@@ -271,19 +216,18 @@ export {
271
216
  MANIFEST_FILENAMES,
272
217
  HISTORY_PAGE_LIMIT,
273
218
  GitHubAuthProvider,
274
- GenericTokenAuthProvider,
275
219
  GITHUB_HOST,
276
220
  FileTokenStore,
277
221
  DEFAULT_PRINT_OPTS,
278
222
  BuildError,
279
223
  BUILT_IN_THEME_IDS,
280
224
  BUILT_IN_TEMPLATE_IDS,
225
+ AUTO_SYNC_PUSH_INTERVAL_MINUTES,
281
226
  AUTO_SYNC_MIN_MINUTES,
282
227
  AUTO_SYNC_MAX_MINUTES,
283
228
  AUTO_SYNC_DEFAULT_MINUTES,
284
229
  AUTO_SNAPSHOT_MIN_MINUTES,
285
230
  AUTO_SNAPSHOT_MESSAGE,
286
231
  AUTO_SNAPSHOT_MAX_MINUTES,
287
- AUTO_SNAPSHOT_DEFAULT_MINUTES,
288
- APP_HEARTBEAT_FRESH_MS
232
+ AUTO_SNAPSHOT_DEFAULT_MINUTES
289
233
  };
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-eq5naw4m.js";
3
+ } from "./cli-7n848af2.js";
4
4
  import {
5
5
  log
6
- } from "./cli-cqtggsng.js";
6
+ } from "./cli-0z6zf98d.js";
7
7
  import {
8
8
  UsageError,
9
9
  rejectExtraPositionals,
10
10
  rejectUnknownFlags
11
- } from "./cli-149edp6b.js";
12
- import"./cli-zfcryxg8.js";
11
+ } from "./cli-ydpf09d9.js";
12
+ import"./cli-eewynen9.js";
13
13
  import"./cli-c41yr7he.js";
14
14
  import {
15
15
  EXIT_CODES
16
16
  } from "./cli-46ycxe6r.js";
17
- import"./cli-k1065rkg.js";
17
+ import"./cli-w692g6dx.js";
18
18
  import"./cli-v5mp7a6q.js";
19
19
  import"./cli-37x76zdn.js";
20
20
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runBuild,
3
3
  splitOutPath
4
- } from "./cli-eq5naw4m.js";
4
+ } from "./cli-7n848af2.js";
5
5
  import {
6
6
  log
7
- } from "./cli-cqtggsng.js";
7
+ } from "./cli-0z6zf98d.js";
8
8
  import {
9
9
  UsageError,
10
10
  parseEngine,
@@ -12,13 +12,13 @@ import {
12
12
  parsePdfxFlavor,
13
13
  rejectExtraPositionals,
14
14
  rejectUnknownFlags
15
- } from "./cli-149edp6b.js";
16
- import"./cli-zfcryxg8.js";
15
+ } from "./cli-ydpf09d9.js";
16
+ import"./cli-eewynen9.js";
17
17
  import"./cli-c41yr7he.js";
18
18
  import {
19
19
  BuildError
20
20
  } from "./cli-46ycxe6r.js";
21
- import"./cli-k1065rkg.js";
21
+ import"./cli-w692g6dx.js";
22
22
  import"./cli-v5mp7a6q.js";
23
23
  import"./cli-37x76zdn.js";
24
24
 
@@ -5,3 +5,4 @@ import "./local-refs";
5
5
  import "./accessibility-alt-text";
6
6
  import "./accessibility-heading-order";
7
7
  import "./layout-markers";
8
+ import "./merge-markers";
@@ -0,0 +1,3 @@
1
+ import type { Check } from "../types";
2
+ declare const check: Check;
3
+ export default check;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./cli-149edp6b.js";
3
+ } from "./cli-ydpf09d9.js";
4
4
  import {
5
5
  execCapture,
6
6
  findTool,
@@ -307,27 +307,6 @@ async function convertToPdfxCmyk(inputPdf, outPdf, config) {
307
307
  import { chmod, mkdir, readFile as readFile2, rename as rename2, writeFile as writeFile2 } from "node:fs/promises";
308
308
  import os from "node:os";
309
309
  import path from "node:path";
310
- function credentialHostKey(hostOrUrl) {
311
- const trimmed = String(hostOrUrl ?? "").trim();
312
- if (!trimmed)
313
- return "";
314
- const scp = /^[\w.-]+@([\w.][\w.-]*):/.exec(trimmed);
315
- if (scp)
316
- return stripWww(scp[1].toLowerCase());
317
- const candidate = /^[a-z][a-z0-9+.-]*:\/\//i.test(trimmed) ? trimmed : `https://${trimmed}`;
318
- try {
319
- const url = new URL(candidate);
320
- if (!url.hostname)
321
- return "";
322
- const host = url.port ? `${url.hostname}:${url.port}`.toLowerCase() : url.hostname.toLowerCase();
323
- return stripWww(host);
324
- } catch {
325
- return "";
326
- }
327
- }
328
- function stripWww(host) {
329
- return host.startsWith("www.") && host.length > 4 ? host.slice(4) : host;
330
- }
331
310
  function defaultConfigDir() {
332
311
  const override = process.env.GUTTERPRESS_CONFIG_DIR?.trim();
333
312
  if (override)
@@ -422,30 +401,6 @@ class FileTokenStore {
422
401
  function normalizeHost(host) {
423
402
  return host.trim().toLowerCase();
424
403
  }
425
- function extractUrlCredential(url) {
426
- let parsed;
427
- try {
428
- parsed = new URL(url);
429
- } catch {
430
- return { cleanUrl: url };
431
- }
432
- if (!/^https?:$/.test(parsed.protocol))
433
- return { cleanUrl: url };
434
- if (!parsed.username && !parsed.password)
435
- return { cleanUrl: url };
436
- const token = parsed.password ? decodeURIComponent(parsed.password) : decodeURIComponent(parsed.username);
437
- const username = parsed.password ? decodeURIComponent(parsed.username) : undefined;
438
- parsed.username = "";
439
- parsed.password = "";
440
- const credential = {
441
- host: credentialHostKey(parsed.toString()),
442
- kind: "token",
443
- token,
444
- ...username ? { username } : {},
445
- createdAt: Date.now()
446
- };
447
- return { cleanUrl: parsed.toString(), credential };
448
- }
449
404
 
450
405
  // src/lib/diagnostics.ts
451
406
  import { platform, arch, release } from "node:os";
@@ -559,4 +514,4 @@ async function getSystemDiagnostics() {
559
514
  };
560
515
  }
561
516
 
562
- export { setLogLevel, debug, info, warn, error, log, resolveGhostscript, hasLiveTransparency, stripAnnotations, stampCreator, convertToPdfxCmyk, PACKAGE_META, PACKAGE_VERSION, credentialHostKey, defaultConfigDir, FileTokenStore, extractUrlCredential, getSystemDiagnostics };
517
+ export { setLogLevel, debug, info, warn, error, log, resolveGhostscript, hasLiveTransparency, stripAnnotations, stampCreator, convertToPdfxCmyk, PACKAGE_META, PACKAGE_VERSION, defaultConfigDir, FileTokenStore, getSystemDiagnostics };