@calltelemetry/cli 0.12.21 → 0.13.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 (68) hide show
  1. package/dist/commands/db.d.ts +1 -0
  2. package/dist/commands/db.d.ts.map +1 -1
  3. package/dist/commands/db.js +29 -0
  4. package/dist/commands/db.js.map +1 -1
  5. package/dist/commands/ship-db.d.ts +1 -1
  6. package/dist/commands/ship-db.d.ts.map +1 -1
  7. package/dist/commands/ship-db.js +30 -1
  8. package/dist/commands/ship-db.js.map +1 -1
  9. package/dist/commands/ship-shell.d.ts.map +1 -1
  10. package/dist/commands/ship-shell.js +8 -5
  11. package/dist/commands/ship-shell.js.map +1 -1
  12. package/dist/commands/ship-update.d.ts.map +1 -1
  13. package/dist/commands/ship-update.js +3 -17
  14. package/dist/commands/ship-update.js.map +1 -1
  15. package/dist/commands/update.d.ts +2 -2
  16. package/dist/commands/update.d.ts.map +1 -1
  17. package/dist/commands/update.js +9 -23
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/lib/auto-update.d.ts +15 -4
  20. package/dist/lib/auto-update.d.ts.map +1 -1
  21. package/dist/lib/auto-update.js +110 -39
  22. package/dist/lib/auto-update.js.map +1 -1
  23. package/dist/lib/migration-012-db-pool-sizes.d.ts +11 -4
  24. package/dist/lib/migration-012-db-pool-sizes.d.ts.map +1 -1
  25. package/dist/lib/migration-012-db-pool-sizes.js +22 -44
  26. package/dist/lib/migration-012-db-pool-sizes.js.map +1 -1
  27. package/dist/lib/migrations.js +1 -1
  28. package/dist/lib/migrations.js.map +1 -1
  29. package/dist/lib/paths.d.ts +5 -0
  30. package/dist/lib/paths.d.ts.map +1 -1
  31. package/dist/lib/paths.js +5 -0
  32. package/dist/lib/paths.js.map +1 -1
  33. package/dist/lib/postgres-profiles.d.ts +51 -0
  34. package/dist/lib/postgres-profiles.d.ts.map +1 -0
  35. package/dist/lib/postgres-profiles.js +103 -0
  36. package/dist/lib/postgres-profiles.js.map +1 -0
  37. package/dist/lib/postgres.d.ts +2 -1
  38. package/dist/lib/postgres.d.ts.map +1 -1
  39. package/dist/lib/postgres.js +3 -30
  40. package/dist/lib/postgres.js.map +1 -1
  41. package/dist/lib/storage-report.d.ts +199 -0
  42. package/dist/lib/storage-report.d.ts.map +1 -0
  43. package/dist/lib/storage-report.js +986 -0
  44. package/dist/lib/storage-report.js.map +1 -0
  45. package/dist/lib/update-steps.d.ts +5 -1
  46. package/dist/lib/update-steps.d.ts.map +1 -1
  47. package/dist/lib/update-steps.js +14 -2
  48. package/dist/lib/update-steps.js.map +1 -1
  49. package/dist/lib/version.d.ts +1 -1
  50. package/dist/lib/version.d.ts.map +1 -1
  51. package/dist/lib/version.js +1 -1
  52. package/dist/lib/version.js.map +1 -1
  53. package/dist/shell/commands/appliance-performance.d.ts +2 -1
  54. package/dist/shell/commands/appliance-performance.d.ts.map +1 -1
  55. package/dist/shell/commands/appliance-performance.js +24 -56
  56. package/dist/shell/commands/appliance-performance.js.map +1 -1
  57. package/dist/shell/commands/db.d.ts +1 -0
  58. package/dist/shell/commands/db.d.ts.map +1 -1
  59. package/dist/shell/commands/db.js +26 -0
  60. package/dist/shell/commands/db.js.map +1 -1
  61. package/dist/shell/commands/registry.d.ts.map +1 -1
  62. package/dist/shell/commands/registry.js +10 -0
  63. package/dist/shell/commands/registry.js.map +1 -1
  64. package/dist/ship-entry.js +1 -1
  65. package/dist/ui/views/SelfUpdateView.d.ts.map +1 -1
  66. package/dist/ui/views/SelfUpdateView.js +15 -24
  67. package/dist/ui/views/SelfUpdateView.js.map +1 -1
  68. package/package.json +3 -2
@@ -0,0 +1,51 @@
1
+ /**
2
+ * PostgreSQL connection/pool sizing profiles — single source within ct-cli.
3
+ *
4
+ * Source of truth: the shipped Go appliance CLI's `postgresProfiles` map in
5
+ * `ct-release/internal/configstatus/configstatus.go`. That binary is the
6
+ * customer-facing `/usr/local/bin/ct` runtime today (ADR 0251); ct-cli is the
7
+ * TypeScript ship-binary destination for net-new operator features
8
+ * (ADR 0289/0290), but operator-visible values must stay identical to what a
9
+ * customer running the Go binary actually gets applied.
10
+ *
11
+ * ct-release and ct-cli are separate repos/checkouts, so there is no
12
+ * cross-repo build-time codegen for this table — it is hand-synced. Update
13
+ * both sides together when either changes (REL-443 folded four divergent
14
+ * copies — one in Go, three in this repo — down to this single TS table).
15
+ *
16
+ * IMPORTANT: a profile name selects CONNECTION/POOL sizing only
17
+ * (PG_MAX_CONNECTIONS + the DB_*_POOL_SIZE keys below). It does NOT choose
18
+ * memory settings (shared_buffers/work_mem/CT_DB_MEMORY_LIMIT) — those are
19
+ * re-derived from detected host RAM alone, independent of the profile name.
20
+ */
21
+ export type PgProfileName = 'small' | 'medium' | 'large';
22
+ export declare const PG_PROFILE_ORDER: readonly PgProfileName[];
23
+ /** Connection/pool env keys a profile controls, in the shipped Go order. */
24
+ export declare const PG_CONNECTION_PROFILES: Record<PgProfileName, Record<string, string>>;
25
+ /** All env keys a profile writes, derived from the small profile's key set. */
26
+ export declare const PG_PROFILE_ENV_KEYS: readonly string[];
27
+ export interface PgProfileRequirement {
28
+ minRamMb: number;
29
+ minCpus: number;
30
+ }
31
+ /**
32
+ * Minimum host RAM/vCPU each connection/pool tier is sized for — used only to
33
+ * *recommend* a tier and to warn when the applied tier no longer matches the
34
+ * host, mirroring Go's `postgresProfileRequirements` (REL-442). Never used to
35
+ * derive memory settings.
36
+ */
37
+ export declare const PG_PROFILE_REQUIREMENTS: Record<PgProfileName, PgProfileRequirement>;
38
+ /**
39
+ * Pick the largest connection/pool profile tier the given host RAM qualifies
40
+ * for, with the same 10% tolerance Go's `recommendedProfile` applies (covers
41
+ * virtualization/BIOS-reserved overhead).
42
+ */
43
+ export declare function recommendedPgProfile(hostMemoryMb: number): PgProfileName;
44
+ /**
45
+ * Whether hostMemoryMb satisfies profile's minimum RAM, with the same 10%
46
+ * tolerance recommendedPgProfile uses.
47
+ */
48
+ export declare function pgProfileMeetsHostRam(hostMemoryMb: number, profile: PgProfileName): boolean;
49
+ /** Sum of the DB_*_POOL_SIZE values for a profile (excludes PG_MAX_CONNECTIONS/PG_PROFILE). */
50
+ export declare function totalPoolConnections(name: PgProfileName): number;
51
+ //# sourceMappingURL=postgres-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-profiles.d.ts","sourceRoot":"","sources":["../../src/lib/postgres-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAAiC,CAAC;AAEvF,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqChF,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAA8C,CAAC;AAEhG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAI/E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAOxE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAG3F;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAKhE"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * PostgreSQL connection/pool sizing profiles — single source within ct-cli.
3
+ *
4
+ * Source of truth: the shipped Go appliance CLI's `postgresProfiles` map in
5
+ * `ct-release/internal/configstatus/configstatus.go`. That binary is the
6
+ * customer-facing `/usr/local/bin/ct` runtime today (ADR 0251); ct-cli is the
7
+ * TypeScript ship-binary destination for net-new operator features
8
+ * (ADR 0289/0290), but operator-visible values must stay identical to what a
9
+ * customer running the Go binary actually gets applied.
10
+ *
11
+ * ct-release and ct-cli are separate repos/checkouts, so there is no
12
+ * cross-repo build-time codegen for this table — it is hand-synced. Update
13
+ * both sides together when either changes (REL-443 folded four divergent
14
+ * copies — one in Go, three in this repo — down to this single TS table).
15
+ *
16
+ * IMPORTANT: a profile name selects CONNECTION/POOL sizing only
17
+ * (PG_MAX_CONNECTIONS + the DB_*_POOL_SIZE keys below). It does NOT choose
18
+ * memory settings (shared_buffers/work_mem/CT_DB_MEMORY_LIMIT) — those are
19
+ * re-derived from detected host RAM alone, independent of the profile name.
20
+ */
21
+ export const PG_PROFILE_ORDER = ['small', 'medium', 'large'];
22
+ /** Connection/pool env keys a profile controls, in the shipped Go order. */
23
+ export const PG_CONNECTION_PROFILES = {
24
+ small: {
25
+ PG_PROFILE: 'small',
26
+ PG_MAX_CONNECTIONS: '128',
27
+ DB_POOL_SIZE: '15',
28
+ DB_MIGRATION_POOL_SIZE: '20',
29
+ DB_CALL_CONTROL_POOL_SIZE: '15',
30
+ DB_BACKGROUND_POOL_SIZE: '6',
31
+ DB_DISCOVERY_POOL_SIZE: '8',
32
+ DB_OBAN_POOL_SIZE: '15',
33
+ DB_CDR_INGEST_POOL_SIZE: '2',
34
+ DB_SFTPD_POOL_SIZE: '4',
35
+ },
36
+ medium: {
37
+ PG_PROFILE: 'medium',
38
+ PG_MAX_CONNECTIONS: '200',
39
+ DB_POOL_SIZE: '20',
40
+ DB_MIGRATION_POOL_SIZE: '20',
41
+ DB_CALL_CONTROL_POOL_SIZE: '20',
42
+ DB_BACKGROUND_POOL_SIZE: '20',
43
+ DB_DISCOVERY_POOL_SIZE: '8',
44
+ DB_OBAN_POOL_SIZE: '20',
45
+ DB_CDR_INGEST_POOL_SIZE: '3',
46
+ DB_SFTPD_POOL_SIZE: '4',
47
+ },
48
+ large: {
49
+ PG_PROFILE: 'large',
50
+ PG_MAX_CONNECTIONS: '300',
51
+ DB_POOL_SIZE: '25',
52
+ DB_MIGRATION_POOL_SIZE: '25',
53
+ DB_CALL_CONTROL_POOL_SIZE: '25',
54
+ DB_BACKGROUND_POOL_SIZE: '25',
55
+ DB_DISCOVERY_POOL_SIZE: '8',
56
+ DB_OBAN_POOL_SIZE: '25',
57
+ DB_CDR_INGEST_POOL_SIZE: '4',
58
+ DB_SFTPD_POOL_SIZE: '4',
59
+ },
60
+ };
61
+ /** All env keys a profile writes, derived from the small profile's key set. */
62
+ export const PG_PROFILE_ENV_KEYS = Object.keys(PG_CONNECTION_PROFILES.small);
63
+ /**
64
+ * Minimum host RAM/vCPU each connection/pool tier is sized for — used only to
65
+ * *recommend* a tier and to warn when the applied tier no longer matches the
66
+ * host, mirroring Go's `postgresProfileRequirements` (REL-442). Never used to
67
+ * derive memory settings.
68
+ */
69
+ export const PG_PROFILE_REQUIREMENTS = {
70
+ small: { minRamMb: 8 * 1024, minCpus: 4 },
71
+ medium: { minRamMb: 12 * 1024, minCpus: 4 },
72
+ large: { minRamMb: 16 * 1024, minCpus: 4 },
73
+ };
74
+ /**
75
+ * Pick the largest connection/pool profile tier the given host RAM qualifies
76
+ * for, with the same 10% tolerance Go's `recommendedProfile` applies (covers
77
+ * virtualization/BIOS-reserved overhead).
78
+ */
79
+ export function recommendedPgProfile(hostMemoryMb) {
80
+ const effective = hostMemoryMb / 0.9;
81
+ for (let i = PG_PROFILE_ORDER.length - 1; i >= 0; i--) {
82
+ const name = PG_PROFILE_ORDER[i];
83
+ if (effective >= PG_PROFILE_REQUIREMENTS[name].minRamMb)
84
+ return name;
85
+ }
86
+ return PG_PROFILE_ORDER[0];
87
+ }
88
+ /**
89
+ * Whether hostMemoryMb satisfies profile's minimum RAM, with the same 10%
90
+ * tolerance recommendedPgProfile uses.
91
+ */
92
+ export function pgProfileMeetsHostRam(hostMemoryMb, profile) {
93
+ const req = PG_PROFILE_REQUIREMENTS[profile];
94
+ return hostMemoryMb >= req.minRamMb * 0.9;
95
+ }
96
+ /** Sum of the DB_*_POOL_SIZE values for a profile (excludes PG_MAX_CONNECTIONS/PG_PROFILE). */
97
+ export function totalPoolConnections(name) {
98
+ const env = PG_CONNECTION_PROFILES[name];
99
+ return Object.entries(env)
100
+ .filter(([key]) => key.startsWith('DB_'))
101
+ .reduce((sum, [, value]) => sum + parseInt(value, 10), 0);
102
+ }
103
+ //# sourceMappingURL=postgres-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-profiles.js","sourceRoot":"","sources":["../../src/lib/postgres-profiles.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { type PgProfileName } from './postgres-profiles.js';
1
2
  export declare function getPostgresVersion(): string;
2
3
  export declare function getCurrentPostgresImage(): string;
3
- export type PgProfile = 'small' | 'medium' | 'large';
4
+ export type PgProfile = PgProfileName;
4
5
  export declare const VALID_PROFILES: PgProfile[];
5
6
  /**
6
7
  * Apply a PG connection profile — overwrites all profile keys in .env.
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/lib/postgres.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAmBhD;AAGD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAgCrD,eAAO,MAAM,cAAc,EAA+B,SAAS,EAAE,CAAC;AAEtE;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAQ1F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYtD;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvE"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/lib/postgres.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEtG,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAmBhD;AASD,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAItC,eAAO,MAAM,cAAc,EAA4B,SAAS,EAAE,CAAC;AAEnE;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAQ1F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYtD;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvE"}
@@ -3,6 +3,7 @@ import { execa } from 'execa';
3
3
  import { getPaths } from './paths.js';
4
4
  import { writeFileSafe } from './fs.js';
5
5
  import { readEnvKeys, updateEnvKeys } from './env.js';
6
+ import { PG_CONNECTION_PROFILES, PG_PROFILE_ORDER } from './postgres-profiles.js';
6
7
  export function getPostgresVersion() {
7
8
  const { overrideFile, postgresDefaultVersion } = getPaths();
8
9
  if (existsSync(overrideFile)) {
@@ -32,36 +33,8 @@ export function getCurrentPostgresImage() {
32
33
  }
33
34
  return 'unknown';
34
35
  }
35
- const PG_PROFILES = {
36
- small: {
37
- PG_PROFILE: 'small',
38
- PG_MAX_CONNECTIONS: '100',
39
- DB_POOL_SIZE: '15',
40
- DB_CALL_CONTROL_POOL_SIZE: '15',
41
- DB_BACKGROUND_POOL_SIZE: '15',
42
- DB_DISCOVERY_POOL_SIZE: '15',
43
- DB_OBAN_POOL_SIZE: '15',
44
- },
45
- medium: {
46
- PG_PROFILE: 'medium',
47
- PG_MAX_CONNECTIONS: '200',
48
- DB_POOL_SIZE: '20',
49
- DB_CALL_CONTROL_POOL_SIZE: '20',
50
- DB_BACKGROUND_POOL_SIZE: '20',
51
- DB_DISCOVERY_POOL_SIZE: '20',
52
- DB_OBAN_POOL_SIZE: '20',
53
- },
54
- large: {
55
- PG_PROFILE: 'large',
56
- PG_MAX_CONNECTIONS: '300',
57
- DB_POOL_SIZE: '25',
58
- DB_CALL_CONTROL_POOL_SIZE: '25',
59
- DB_BACKGROUND_POOL_SIZE: '25',
60
- DB_DISCOVERY_POOL_SIZE: '25',
61
- DB_OBAN_POOL_SIZE: '25',
62
- },
63
- };
64
- export const VALID_PROFILES = Object.keys(PG_PROFILES);
36
+ const PG_PROFILES = PG_CONNECTION_PROFILES;
37
+ export const VALID_PROFILES = [...PG_PROFILE_ORDER];
65
38
  /**
66
39
  * Apply a PG connection profile — overwrites all profile keys in .env.
67
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/lib/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/lib/postgres.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ export declare const STORAGE_REPORT_SCHEMA_VERSION = 1;
2
+ export interface StorageReportOptions {
3
+ top?: number;
4
+ scanDepth?: number;
5
+ timeoutMs?: number;
6
+ }
7
+ export interface FilesystemUsage {
8
+ path: string;
9
+ filesystem: string;
10
+ mount: string;
11
+ sizeBytes: number;
12
+ usedBytes: number;
13
+ availableBytes: number;
14
+ usedPercent: number;
15
+ inodeUsedPercent: number | null;
16
+ }
17
+ export interface StorageEntry {
18
+ path: string;
19
+ bytes: number;
20
+ pretty: string;
21
+ }
22
+ export interface DatabaseRelationUsage {
23
+ schemaName: string;
24
+ tableName: string;
25
+ relationKind: string;
26
+ isPartition: boolean;
27
+ totalBytes: number;
28
+ tableBytes: number;
29
+ heapBytes: number;
30
+ indexBytes: number;
31
+ toastBytes: number;
32
+ estimatedLiveRows: number;
33
+ estimatedDeadRows: number;
34
+ lastVacuum: string | null;
35
+ lastAutovacuum: string | null;
36
+ lastAnalyze: string | null;
37
+ lastAutoanalyze: string | null;
38
+ }
39
+ export interface OldestTableRecord {
40
+ schemaName: string;
41
+ tableName: string;
42
+ columnName: string;
43
+ oldestAt: string | null;
44
+ newestAt: string | null;
45
+ relationBytes: number;
46
+ estimatedRows: number;
47
+ }
48
+ export interface PurgeConfigStatus {
49
+ orgId: number | null;
50
+ tableName: string | null;
51
+ moduleName: string | null;
52
+ enabled: boolean | null;
53
+ status: 'disabled' | 'over_max' | 'over_high' | 'stale' | 'healthy' | 'unknown';
54
+ retentionDaysMax: number | null;
55
+ retentionDaysMinimum: number | null;
56
+ retentionDaysCurrent: number | null;
57
+ sizeThresholdHighKb: number | null;
58
+ sizeThresholdLowKb: number | null;
59
+ sizeMaxKb: number | null;
60
+ lastSizeKb: number | null;
61
+ lastRecordCount: number | null;
62
+ lastPurgeAt: string | null;
63
+ lastEvaluatedAt: string | null;
64
+ purgeStrategy: string | null;
65
+ totalPurges: number | null;
66
+ totalRecordsPurged: number | null;
67
+ relationBytes: number | null;
68
+ }
69
+ export interface PurgeAuditStatus {
70
+ available: boolean;
71
+ rowCount: number;
72
+ successRows: number;
73
+ issueRows: number;
74
+ issueCount: number;
75
+ tablesAudited: number;
76
+ tablesHealthy: number;
77
+ totalDatabaseSizeKb: number;
78
+ oldestAuditAt: string | null;
79
+ newestAuditAt: string | null;
80
+ }
81
+ export interface PurgeHistorySummary {
82
+ action: string | null;
83
+ status: string | null;
84
+ recordCount: number;
85
+ oldestAt: string | null;
86
+ newestAt: string | null;
87
+ payloadBytes: number;
88
+ }
89
+ export interface PurgeHistoryRecord {
90
+ id: string | null;
91
+ action: string | null;
92
+ status: string | null;
93
+ insertedAt: string | null;
94
+ recordBytes: number;
95
+ }
96
+ export interface PurgeFailureRecord {
97
+ orgId: number | null;
98
+ tableName: string | null;
99
+ consecutiveFailures: number;
100
+ lastFailureAt: string | null;
101
+ lastSuccessAt: string | null;
102
+ recordBytes: number;
103
+ }
104
+ export interface PurgeFailureStatus {
105
+ available: boolean;
106
+ rowCount: number;
107
+ failingRows: number;
108
+ totalConsecutiveFailures: number;
109
+ maxConsecutiveFailures: number;
110
+ oldestFailureAt: string | null;
111
+ newestFailureAt: string | null;
112
+ oldestFailures: PurgeFailureRecord[];
113
+ }
114
+ export interface PurgeDispatchStatus {
115
+ available: boolean;
116
+ rowCount: number;
117
+ coveredCount: number;
118
+ totalTables: number;
119
+ minNextOffset: number | null;
120
+ maxNextOffset: number | null;
121
+ oldestUpdatedAt: string | null;
122
+ newestUpdatedAt: string | null;
123
+ }
124
+ export interface ObanQueueSummary {
125
+ queue: string | null;
126
+ state: string | null;
127
+ jobCount: number;
128
+ oldestAt: string | null;
129
+ newestAt: string | null;
130
+ payloadBytes: number;
131
+ }
132
+ export interface ObanJobRecord {
133
+ id: number | null;
134
+ queue: string | null;
135
+ state: string | null;
136
+ worker: string | null;
137
+ attempts: number | null;
138
+ maxAttempts: number | null;
139
+ eventAt: string | null;
140
+ recordBytes: number;
141
+ }
142
+ export interface PartitionSummary {
143
+ schemaName: string;
144
+ parentTableName: string;
145
+ partitionCount: number;
146
+ oldestPartition: string | null;
147
+ newestPartition: string | null;
148
+ totalBytes: number;
149
+ }
150
+ export interface StorageReport {
151
+ schemaVersion: typeof STORAGE_REPORT_SCHEMA_VERSION;
152
+ generatedAt: string;
153
+ hostname: string;
154
+ installDir: string;
155
+ scan: {
156
+ root: string;
157
+ roots: string[];
158
+ filesystemOnly: true;
159
+ topLimit: number;
160
+ maxDepth: number;
161
+ warnings: string[];
162
+ };
163
+ filesystems: FilesystemUsage[];
164
+ topDirectories: StorageEntry[];
165
+ topFiles: StorageEntry[];
166
+ database: {
167
+ name: string;
168
+ totalBytes: number | null;
169
+ nonSystemRelationBytes: number | null;
170
+ relationCount: number | null;
171
+ relations: DatabaseRelationUsage[];
172
+ oldestTables: OldestTableRecord[];
173
+ warnings: string[];
174
+ };
175
+ purge: {
176
+ configs: PurgeConfigStatus[];
177
+ auditStatus: PurgeAuditStatus;
178
+ historySummary: PurgeHistorySummary[];
179
+ oldestHistory: PurgeHistoryRecord[];
180
+ failureStatus: PurgeFailureStatus;
181
+ dispatchStatus: PurgeDispatchStatus;
182
+ obanQueues: ObanQueueSummary[];
183
+ oldestObanJobs: ObanJobRecord[];
184
+ partitions: PartitionSummary[];
185
+ warnings: string[];
186
+ };
187
+ warnings: string[];
188
+ }
189
+ export declare function normalizeStorageReportOptions(options?: StorageReportOptions): Required<StorageReportOptions>;
190
+ export declare function parseDuOutput(output: string, limit: number): StorageEntry[];
191
+ export declare function parseSizedPathOutput(output: string, limit: number): StorageEntry[];
192
+ export declare function buildStorageReport(options?: StorageReportOptions): Promise<StorageReport>;
193
+ export declare function renderStorageReportText(report: StorageReport): string;
194
+ export declare function writeStorageReportJson(path: string, report: StorageReport): Promise<void>;
195
+ export declare function runStorageReportCommand(options?: StorageReportOptions & {
196
+ jsonPath?: string;
197
+ }): Promise<void>;
198
+ export declare const PURGE_REPORT_TABLES: string[];
199
+ //# sourceMappingURL=storage-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-report.d.ts","sourceRoot":"","sources":["../../src/lib/storage-report.ts"],"names":[],"mappings":"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"}