@cats-inc/cats-platform 0.1.1 → 0.1.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 (152) hide show
  1. package/.env.example +2 -2
  2. package/README.md +6 -0
  3. package/build/desktop/bootstrapPage.d.ts.map +1 -1
  4. package/build/desktop/bootstrapPage.js +81 -4
  5. package/build/desktop/bootstrapPage.js.map +1 -1
  6. package/build/desktop/config.d.ts +11 -1
  7. package/build/desktop/config.d.ts.map +1 -1
  8. package/build/desktop/config.js +5 -2
  9. package/build/desktop/config.js.map +1 -1
  10. package/build/desktop/contracts.d.ts +66 -11
  11. package/build/desktop/contracts.d.ts.map +1 -1
  12. package/build/desktop/contracts.js +50 -1
  13. package/build/desktop/contracts.js.map +1 -1
  14. package/build/desktop/hostState.d.ts +4 -3
  15. package/build/desktop/hostState.d.ts.map +1 -1
  16. package/build/desktop/hostState.js +22 -30
  17. package/build/desktop/hostState.js.map +1 -1
  18. package/build/desktop/hostVersion.d.ts +1 -0
  19. package/build/desktop/hostVersion.d.ts.map +1 -1
  20. package/build/desktop/hostVersion.js +29 -5
  21. package/build/desktop/hostVersion.js.map +1 -1
  22. package/build/desktop/main.js +234 -37
  23. package/build/desktop/main.js.map +1 -1
  24. package/build/desktop/packaging.d.ts.map +1 -1
  25. package/build/desktop/packaging.js +10 -4
  26. package/build/desktop/packaging.js.map +1 -1
  27. package/build/desktop/preload.cjs +29 -0
  28. package/build/desktop/preload.cjs.map +1 -1
  29. package/build/desktop/processSupervisor.d.ts +2 -0
  30. package/build/desktop/processSupervisor.d.ts.map +1 -1
  31. package/build/desktop/processSupervisor.js +28 -13
  32. package/build/desktop/processSupervisor.js.map +1 -1
  33. package/build/desktop/readiness.d.ts +2 -2
  34. package/build/desktop/readiness.d.ts.map +1 -1
  35. package/build/desktop/readiness.js +2 -2
  36. package/build/desktop/readiness.js.map +1 -1
  37. package/build/desktop/releaseDescriptor.d.ts +85 -0
  38. package/build/desktop/releaseDescriptor.d.ts.map +1 -0
  39. package/build/desktop/releaseDescriptor.js +246 -0
  40. package/build/desktop/releaseDescriptor.js.map +1 -0
  41. package/build/desktop/tray.d.ts +1 -0
  42. package/build/desktop/tray.d.ts.map +1 -1
  43. package/build/desktop/tray.js +26 -0
  44. package/build/desktop/tray.js.map +1 -1
  45. package/build/desktop/trayMenu.d.ts +22 -1
  46. package/build/desktop/trayMenu.d.ts.map +1 -1
  47. package/build/desktop/trayMenu.js +61 -0
  48. package/build/desktop/trayMenu.js.map +1 -1
  49. package/build/desktop/updateInstallHandoff.d.ts +30 -0
  50. package/build/desktop/updateInstallHandoff.d.ts.map +1 -0
  51. package/build/desktop/updateInstallHandoff.js +39 -0
  52. package/build/desktop/updateInstallHandoff.js.map +1 -0
  53. package/build/desktop/updateIpc.d.ts +42 -0
  54. package/build/desktop/updateIpc.d.ts.map +1 -0
  55. package/build/desktop/updateIpc.js +71 -0
  56. package/build/desktop/updateIpc.js.map +1 -0
  57. package/build/desktop/updateManager.d.ts +76 -0
  58. package/build/desktop/updateManager.d.ts.map +1 -0
  59. package/build/desktop/updateManager.js +342 -0
  60. package/build/desktop/updateManager.js.map +1 -0
  61. package/build/desktop/updateNotifications.d.ts +64 -0
  62. package/build/desktop/updateNotifications.d.ts.map +1 -0
  63. package/build/desktop/updateNotifications.js +143 -0
  64. package/build/desktop/updateNotifications.js.map +1 -0
  65. package/build/desktop/updaterAdapter.d.ts +72 -0
  66. package/build/desktop/updaterAdapter.d.ts.map +1 -0
  67. package/build/desktop/updaterAdapter.js +198 -0
  68. package/build/desktop/updaterAdapter.js.map +1 -0
  69. package/build/renderer/assets/{ActiveSessionPermissionChip-BYr8cDpb.js → ActiveSessionPermissionChip-BoDkKkmi.js} +1 -1
  70. package/build/renderer/assets/{App-BbuTWT6Y.js → App-Bs1eRarv.js} +1 -1
  71. package/build/renderer/assets/{App-B13AzNko.js → App-C4S1Wa9f.js} +1 -1
  72. package/build/renderer/assets/{App-n-RtGh42.js → App-CNJj5gi9.js} +1 -1
  73. package/build/renderer/assets/{WorkspaceAppRoutes-BktWrQK-.js → WorkspaceAppRoutes-CFAuhWGF.js} +1 -1
  74. package/build/renderer/assets/app-uJJx-k1S.js +43 -0
  75. package/build/renderer/assets/{conversationSidebarRecentEntries-BNPz3X1V.js → conversationSidebarRecentEntries-CPGopayy.js} +1 -1
  76. package/build/renderer/assets/{useDraftSessionChips-3z_Je4ju.js → useDraftSessionChips-BsOdYfWw.js} +1 -1
  77. package/build/renderer/index.html +1 -1
  78. package/build/server/app/renderer/settings/settingsDesktopErrorLabels.d.ts +5 -0
  79. package/build/server/app/renderer/settings/settingsDesktopErrorLabels.d.ts.map +1 -0
  80. package/build/server/app/renderer/settings/settingsDesktopErrorLabels.js +16 -0
  81. package/build/server/app/renderer/settings/settingsDesktopErrorLabels.js.map +1 -0
  82. package/build/server/app/renderer/settings/settingsDesktopPreferences.d.ts +11 -0
  83. package/build/server/app/renderer/settings/settingsDesktopPreferences.d.ts.map +1 -0
  84. package/build/server/app/renderer/settings/settingsDesktopPreferences.js +30 -0
  85. package/build/server/app/renderer/settings/settingsDesktopPreferences.js.map +1 -0
  86. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts +31 -0
  87. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts.map +1 -0
  88. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js +101 -0
  89. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js.map +1 -0
  90. package/build/server/app/server/index.js +1 -1
  91. package/build/server/app/server/index.js.map +1 -1
  92. package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -1
  93. package/build/server/app/server/platformSetupRoutes.js +42 -5
  94. package/build/server/app/server/platformSetupRoutes.js.map +1 -1
  95. package/build/server/app/server/requestRouter.d.ts.map +1 -1
  96. package/build/server/app/server/requestRouter.js +2 -0
  97. package/build/server/app/server/requestRouter.js.map +1 -1
  98. package/build/server/design/components/runtimeChips.d.ts +1 -1
  99. package/build/server/design/components/runtimeChips.d.ts.map +1 -1
  100. package/build/server/design/components/runtimeChips.js +4 -1
  101. package/build/server/design/components/runtimeChips.js.map +1 -1
  102. package/build/server/index.js +12 -1
  103. package/build/server/index.js.map +1 -1
  104. package/build/server/platform/auth/sessionSecretProvisioning.d.ts +23 -0
  105. package/build/server/platform/auth/sessionSecretProvisioning.d.ts.map +1 -0
  106. package/build/server/platform/auth/sessionSecretProvisioning.js +291 -0
  107. package/build/server/platform/auth/sessionSecretProvisioning.js.map +1 -0
  108. package/build/server/products/code/livePreview/realProcessAdapter.d.ts.map +1 -1
  109. package/build/server/products/code/livePreview/realProcessAdapter.js +7 -1
  110. package/build/server/products/code/livePreview/realProcessAdapter.js.map +1 -1
  111. package/build/server/products/code/state/appExport.d.ts.map +1 -1
  112. package/build/server/products/code/state/appExport.js +2 -0
  113. package/build/server/products/code/state/appExport.js.map +1 -1
  114. package/build/server/shared/desktopRecoveryBridge.d.ts +46 -0
  115. package/build/server/shared/desktopRecoveryBridge.d.ts.map +1 -1
  116. package/build/server/shared/desktopRecoveryBridge.js +20 -0
  117. package/build/server/shared/desktopRecoveryBridge.js.map +1 -1
  118. package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -1
  119. package/build/server/shared/i18n/catalogs/en.js +37 -0
  120. package/build/server/shared/i18n/catalogs/en.js.map +1 -1
  121. package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -1
  122. package/build/server/shared/i18n/catalogs/zh-TW.js +35 -0
  123. package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -1
  124. package/build/server/shared/i18n/index.d.ts +35 -0
  125. package/build/server/shared/i18n/index.d.ts.map +1 -1
  126. package/build/server/shared/i18n/messageKeys.d.ts +35 -0
  127. package/build/server/shared/i18n/messageKeys.d.ts.map +1 -1
  128. package/build/server/shared/i18n/messageKeys.js +35 -0
  129. package/build/server/shared/i18n/messageKeys.js.map +1 -1
  130. package/build/server/shared/loadProjectEnvFile.d.ts.map +1 -1
  131. package/build/server/shared/loadProjectEnvFile.js +18 -19
  132. package/build/server/shared/loadProjectEnvFile.js.map +1 -1
  133. package/build/server/shared/platformChildProcessEnv.d.ts +2 -0
  134. package/build/server/shared/platformChildProcessEnv.d.ts.map +1 -0
  135. package/build/server/shared/platformChildProcessEnv.js +22 -0
  136. package/build/server/shared/platformChildProcessEnv.js.map +1 -0
  137. package/package.json +19 -27
  138. package/scripts/build-desktop-installer.mjs +438 -37
  139. package/scripts/build-test-ui.mjs +13 -2
  140. package/scripts/generate-desktop-release-descriptor.mjs +258 -0
  141. package/scripts/validate-release-assets.mjs +422 -0
  142. package/scripts/validate-release-version.mjs +217 -0
  143. package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +55 -1
  144. package/build/desktop/update.d.ts +0 -24
  145. package/build/desktop/update.d.ts.map +0 -1
  146. package/build/desktop/update.js +0 -173
  147. package/build/desktop/update.js.map +0 -1
  148. package/build/renderer/assets/app-DnVQMpW_.js +0 -43
  149. package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.d.ts +0 -5
  150. package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.d.ts.map +0 -1
  151. package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.js +0 -11
  152. package/build/server/app/renderer/settings/settingsDesktopStartupErrorLabels.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface PlatformAuthSessionSecretProvisioningConfig {
2
+ platformConfigDir: string;
3
+ }
4
+ export interface PlatformAuthSessionSecretResult {
5
+ secret: string;
6
+ source: 'environment' | 'persisted' | 'generated';
7
+ secretPath: string | null;
8
+ }
9
+ export interface PlatformAuthSessionSecretDependencies {
10
+ generateSecret?: () => string;
11
+ now?: () => Date;
12
+ info?: (message: string) => void | Promise<void>;
13
+ warn?: (message: string) => void | Promise<void>;
14
+ /**
15
+ * Test seam for filesystems that cannot hard link. Production callers use
16
+ * `node:fs/promises` `link`.
17
+ */
18
+ linkFile?: (existingPath: string, newPath: string) => Promise<void>;
19
+ }
20
+ export declare function resolvePlatformAuthSessionSecretConfigDir(env?: NodeJS.ProcessEnv): string;
21
+ export declare function resolvePlatformAuthSessionSecretPath(config: PlatformAuthSessionSecretProvisioningConfig): string;
22
+ export declare function ensurePlatformAuthSessionSecret(config: PlatformAuthSessionSecretProvisioningConfig, env?: NodeJS.ProcessEnv, dependencies?: PlatformAuthSessionSecretDependencies): Promise<PlatformAuthSessionSecretResult>;
23
+ //# sourceMappingURL=sessionSecretProvisioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionSecretProvisioning.d.ts","sourceRoot":"","sources":["../../../../src/platform/auth/sessionSecretProvisioning.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,2CAA2C;IAC1D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IAClD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,qCAAqC;IACpD,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAYD,wBAAgB,yCAAyC,CACvD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAKR;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,2CAA2C,GAClD,MAAM,CAER;AAED,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,2CAA2C,EACnD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,qCAA0C,GACvD,OAAO,CAAC,+BAA+B,CAAC,CAyE1C"}
@@ -0,0 +1,291 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import { constants as fsConstants } from 'node:fs';
3
+ import { chmod, copyFile, link, lstat, mkdir, open, readFile, readdir, rename, rm, } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { resolveDefaultPlatformDir, resolvePlatformConfigDir, } from '../../shared/platformPaths.js';
6
+ const AUTH_SESSION_SECRET_ENV_KEY = 'CATS_AUTH_SESSION_SECRET';
7
+ const AUTH_SESSION_SECRET_FILE_NAME = 'auth-session-secret.local';
8
+ const AUTH_SESSION_SECRET_BYTES = 32;
9
+ const MIN_PERSISTED_SECRET_LENGTH = 32;
10
+ const STALE_TEMP_SECRET_MAX_AGE_MS = 60 * 60 * 1_000;
11
+ const INVALID_SECRET_MAX_AGE_MS = 30 * 24 * 60 * 60 * 1_000;
12
+ const FALLBACK_PUBLISH_RETRY_MS = 25;
13
+ const FALLBACK_PUBLISH_TIMEOUT_MS = 10_000;
14
+ export function resolvePlatformAuthSessionSecretConfigDir(env = process.env) {
15
+ const homeDir = env.HOME?.trim() || env.USERPROFILE?.trim() || undefined;
16
+ const platformDir = env.CATS_PLATFORM_DIR?.trim()
17
+ || resolveDefaultPlatformDir(homeDir);
18
+ return resolvePlatformConfigDir(platformDir);
19
+ }
20
+ export function resolvePlatformAuthSessionSecretPath(config) {
21
+ return join(config.platformConfigDir, AUTH_SESSION_SECRET_FILE_NAME);
22
+ }
23
+ export async function ensurePlatformAuthSessionSecret(config, env = process.env, dependencies = {}) {
24
+ const configuredSecret = env[AUTH_SESSION_SECRET_ENV_KEY]?.trim();
25
+ if (configuredSecret) {
26
+ await cleanupStaleSecretArtifacts(config, dependencies);
27
+ if (!isValidPersistedSecret(configuredSecret)) {
28
+ await reportWarning(dependencies, 'CATS_AUTH_SESSION_SECRET is shorter than 32 characters or contains whitespace; '
29
+ + 'use a 256-bit random value for production auth sessions.');
30
+ }
31
+ return {
32
+ secret: configuredSecret,
33
+ source: 'environment',
34
+ secretPath: null,
35
+ };
36
+ }
37
+ const secretPath = resolvePlatformAuthSessionSecretPath(config);
38
+ await mkdir(config.platformConfigDir, { recursive: true, mode: 0o700 });
39
+ await cleanupStaleSecretArtifacts(config, dependencies);
40
+ let persistedSecret = await readPersistedSecret(secretPath);
41
+ if (persistedSecret.status === 'invalid'
42
+ && await hasTemporarySecretArtifact(config.platformConfigDir)) {
43
+ // The exclusive-copy fallback exposes its destination while a tiny copy is
44
+ // in progress. A later process must adopt it instead of quarantining it.
45
+ const concurrentWinner = await waitForConcurrentWinner(secretPath);
46
+ persistedSecret = {
47
+ status: 'valid',
48
+ secret: concurrentWinner.secret,
49
+ };
50
+ }
51
+ if (persistedSecret.status === 'valid') {
52
+ await restrictSecretFilePermissions(secretPath);
53
+ return {
54
+ secret: persistedSecret.secret,
55
+ source: 'persisted',
56
+ secretPath,
57
+ };
58
+ }
59
+ if (persistedSecret.status === 'invalid') {
60
+ const quarantinedPath = await quarantineInvalidSecret(secretPath);
61
+ await reportWarning(dependencies, `Invalid platform auth session secret was moved to '${quarantinedPath}'; `
62
+ + 'generating a replacement.');
63
+ }
64
+ const generatedSecret = dependencies.generateSecret?.()
65
+ ?? randomBytes(AUTH_SESSION_SECRET_BYTES).toString('base64url');
66
+ assertValidGeneratedSecret(generatedSecret, secretPath);
67
+ const published = await writeSecretAtomically(config, dependencies, secretPath, generatedSecret);
68
+ await restrictSecretFilePermissions(secretPath);
69
+ if (published.created) {
70
+ await reportInfo(dependencies, `Generated a local auth session secret at '${secretPath}'. `
71
+ + 'Set CATS_AUTH_SESSION_SECRET explicitly for clustered or ephemeral deployments.');
72
+ }
73
+ return {
74
+ secret: published.secret,
75
+ source: published.created ? 'generated' : 'persisted',
76
+ secretPath,
77
+ };
78
+ }
79
+ async function readPersistedSecret(secretPath) {
80
+ let raw;
81
+ try {
82
+ raw = await readFile(secretPath, 'utf8');
83
+ }
84
+ catch (error) {
85
+ if (hasErrorCode(error, 'ENOENT')) {
86
+ return { status: 'missing' };
87
+ }
88
+ throw error;
89
+ }
90
+ const secret = raw.trim();
91
+ return isValidPersistedSecret(secret)
92
+ ? { status: 'valid', secret }
93
+ : { status: 'invalid' };
94
+ }
95
+ function assertValidGeneratedSecret(secret, secretPath) {
96
+ if (!isValidPersistedSecret(secret)) {
97
+ throw new Error(`Platform auth session secret is invalid at '${secretPath}'.`);
98
+ }
99
+ }
100
+ function isValidPersistedSecret(secret) {
101
+ return secret.length >= MIN_PERSISTED_SECRET_LENGTH && !/\s/u.test(secret);
102
+ }
103
+ async function quarantineInvalidSecret(secretPath) {
104
+ const quarantinedPath = `${secretPath}.invalid-${randomBytes(6).toString('hex')}`;
105
+ await rename(secretPath, quarantinedPath);
106
+ await restrictSecretFilePermissions(quarantinedPath);
107
+ return quarantinedPath;
108
+ }
109
+ async function writeSecretAtomically(config, dependencies, secretPath, secret) {
110
+ const temporaryPath = `${secretPath}.tmp-${process.pid}-${randomBytes(6).toString('hex')}`;
111
+ let temporaryCreated = false;
112
+ try {
113
+ const handle = await open(temporaryPath, 'wx', 0o600);
114
+ temporaryCreated = true;
115
+ try {
116
+ await handle.writeFile(`${secret}\n`, 'utf8');
117
+ await handle.sync();
118
+ }
119
+ finally {
120
+ await handle.close();
121
+ }
122
+ try {
123
+ // A same-directory hard link publishes the fully flushed file without
124
+ // replacing a value another process may have won concurrently.
125
+ await (dependencies.linkFile ?? link)(temporaryPath, secretPath);
126
+ }
127
+ catch (error) {
128
+ if (hasErrorCode(error, 'EEXIST')) {
129
+ return await readConcurrentWinner(secretPath);
130
+ }
131
+ if (!isHardLinkUnsupported(error)) {
132
+ throw error;
133
+ }
134
+ await reportWarning(dependencies, `Hard links are unavailable for '${secretPath}' (${formatError(error)}); `
135
+ + 'publishing with an exclusive-copy fallback.');
136
+ return await publishSecretWithExclusiveCopyFallback(secretPath, temporaryPath, secret);
137
+ }
138
+ const persisted = await requireValidPersistedSecret(secretPath);
139
+ return {
140
+ created: persisted === secret,
141
+ secret: persisted,
142
+ };
143
+ }
144
+ finally {
145
+ if (temporaryCreated) {
146
+ await rm(temporaryPath, { force: true }).catch(() => undefined);
147
+ }
148
+ }
149
+ }
150
+ async function publishSecretWithExclusiveCopyFallback(secretPath, temporaryPath, secret) {
151
+ try {
152
+ await copyFile(temporaryPath, secretPath, fsConstants.COPYFILE_EXCL);
153
+ }
154
+ catch (error) {
155
+ if (hasErrorCode(error, 'EEXIST')) {
156
+ return await waitForConcurrentWinner(secretPath);
157
+ }
158
+ throw error;
159
+ }
160
+ const canonicalHandle = await open(secretPath, 'r+');
161
+ try {
162
+ await canonicalHandle.sync();
163
+ }
164
+ finally {
165
+ await canonicalHandle.close();
166
+ }
167
+ const persisted = await requireValidPersistedSecret(secretPath);
168
+ return {
169
+ created: persisted === secret,
170
+ secret: persisted,
171
+ };
172
+ }
173
+ async function waitForConcurrentWinner(secretPath) {
174
+ const startedAt = Date.now();
175
+ while (Date.now() - startedAt < FALLBACK_PUBLISH_TIMEOUT_MS) {
176
+ const persisted = await readPersistedSecret(secretPath);
177
+ if (persisted.status === 'valid') {
178
+ return {
179
+ created: false,
180
+ secret: persisted.secret,
181
+ };
182
+ }
183
+ await waitFor(FALLBACK_PUBLISH_RETRY_MS);
184
+ }
185
+ throw new Error(`Timed out waiting for platform auth session secret at '${secretPath}'.`);
186
+ }
187
+ async function waitFor(delayMs) {
188
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
189
+ }
190
+ async function readConcurrentWinner(secretPath) {
191
+ return {
192
+ created: false,
193
+ secret: await requireValidPersistedSecret(secretPath),
194
+ };
195
+ }
196
+ async function requireValidPersistedSecret(secretPath) {
197
+ const persisted = await readPersistedSecret(secretPath);
198
+ if (persisted.status !== 'valid') {
199
+ throw new Error(`Platform auth session secret was not readable at '${secretPath}'.`);
200
+ }
201
+ return persisted.secret;
202
+ }
203
+ async function cleanupStaleSecretArtifacts(config, dependencies) {
204
+ const nowMs = (dependencies.now?.() ?? new Date()).getTime();
205
+ let entries;
206
+ try {
207
+ entries = await readdir(config.platformConfigDir);
208
+ }
209
+ catch (error) {
210
+ if (!hasErrorCode(error, 'ENOENT')) {
211
+ await reportWarning(dependencies, `Could not scan stale platform auth secret artifacts: ${formatError(error)}`);
212
+ }
213
+ return;
214
+ }
215
+ for (const entry of entries) {
216
+ const maxAgeMs = resolveArtifactMaxAgeMs(entry);
217
+ if (maxAgeMs === null) {
218
+ continue;
219
+ }
220
+ const artifactPath = join(config.platformConfigDir, entry);
221
+ try {
222
+ const artifact = await lstat(artifactPath);
223
+ if (!artifact.isFile() || nowMs - artifact.mtimeMs < maxAgeMs) {
224
+ continue;
225
+ }
226
+ await rm(artifactPath, { force: true });
227
+ }
228
+ catch (error) {
229
+ if (!hasErrorCode(error, 'ENOENT')) {
230
+ await reportWarning(dependencies, `Could not remove stale platform auth secret artifact '${artifactPath}': `
231
+ + formatError(error));
232
+ }
233
+ }
234
+ }
235
+ }
236
+ async function hasTemporarySecretArtifact(platformConfigDir) {
237
+ try {
238
+ const entries = await readdir(platformConfigDir);
239
+ return entries.some((entry) => (entry.startsWith(`${AUTH_SESSION_SECRET_FILE_NAME}.tmp-`)));
240
+ }
241
+ catch (error) {
242
+ if (hasErrorCode(error, 'ENOENT')) {
243
+ return false;
244
+ }
245
+ throw error;
246
+ }
247
+ }
248
+ function resolveArtifactMaxAgeMs(fileName) {
249
+ if (fileName.startsWith(`${AUTH_SESSION_SECRET_FILE_NAME}.tmp-`)) {
250
+ return STALE_TEMP_SECRET_MAX_AGE_MS;
251
+ }
252
+ if (fileName.startsWith(`${AUTH_SESSION_SECRET_FILE_NAME}.invalid-`)) {
253
+ return INVALID_SECRET_MAX_AGE_MS;
254
+ }
255
+ return null;
256
+ }
257
+ async function reportInfo(dependencies, message) {
258
+ if (dependencies.info) {
259
+ await dependencies.info(message);
260
+ return;
261
+ }
262
+ process.stderr.write(`[cats-platform-auth] ${message}\n`);
263
+ }
264
+ async function reportWarning(dependencies, message) {
265
+ if (dependencies.warn) {
266
+ await dependencies.warn(message);
267
+ return;
268
+ }
269
+ process.stderr.write(`[cats-platform-auth] ${message}\n`);
270
+ }
271
+ function isHardLinkUnsupported(error) {
272
+ return ['ENOSYS', 'ENOTSUP', 'EOPNOTSUPP'].some((code) => hasErrorCode(error, code));
273
+ }
274
+ function formatError(error) {
275
+ return error instanceof Error ? error.message : String(error);
276
+ }
277
+ async function restrictSecretFilePermissions(secretPath) {
278
+ try {
279
+ await chmod(secretPath, 0o600);
280
+ }
281
+ catch {
282
+ // Windows and some filesystems do not support POSIX mode updates.
283
+ }
284
+ }
285
+ function hasErrorCode(error, code) {
286
+ return Boolean(error
287
+ && typeof error === 'object'
288
+ && 'code' in error
289
+ && error.code === code);
290
+ }
291
+ //# sourceMappingURL=sessionSecretProvisioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionSecretProvisioning.js","sourceRoot":"","sources":["../../../../src/platform/auth/sessionSecretProvisioning.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"realProcessAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/products/code/livePreview/realProcessAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EACV,yBAAyB,EAK1B,MAAM,qBAAqB,CAAC;AAE7B,KAAK,YAAY,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,WAAW,oCAAoC;IACnD;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAOD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,oCAAyC,GACjD,yBAAyB,CAkB3B"}
1
+ {"version":3,"file":"realProcessAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/products/code/livePreview/realProcessAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EACV,yBAAyB,EAK1B,MAAM,qBAAqB,CAAC;AAE7B,KAAK,YAAY,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,WAAW,oCAAoC;IACnD;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAOD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,oCAAyC,GACjD,yBAAyB,CAsB3B"}
@@ -1,4 +1,5 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { createPlatformChildProcessEnv } from '../../../shared/platformChildProcessEnv.js';
2
3
  /**
3
4
  * Real subprocess adapter for Cats Code live previews (PLAN-097 Task 5.3).
4
5
  *
@@ -30,9 +31,13 @@ export function createRealLivePreviewProcessAdapter(options = {}) {
30
31
  };
31
32
  return {
32
33
  spawn(input) {
34
+ const childEnv = createPlatformChildProcessEnv({
35
+ ...input.env,
36
+ PORT: String(input.port),
37
+ });
33
38
  const child = runtime.spawnProcess(input.executable, input.args, {
34
39
  cwd: input.cwd,
35
- env: { ...process.env, ...input.env, PORT: String(input.port) },
40
+ env: childEnv,
36
41
  shell: false,
37
42
  windowsHide: true,
38
43
  detached: runtime.platform !== 'win32',
@@ -184,6 +189,7 @@ function tryTaskkill(child, fallbackSignal, force, runtime) {
184
189
  : ['/pid', String(child.pid), '/T'];
185
190
  try {
186
191
  const tree = runtime.spawnProcess('taskkill', args, {
192
+ env: createPlatformChildProcessEnv(),
187
193
  windowsHide: true,
188
194
  stdio: 'ignore',
189
195
  });
@@ -1 +1 @@
1
- {"version":3,"file":"realProcessAdapter.js","sourceRoot":"","sources":["../../../../../src/products/code/livePreview/realProcessAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realProcessAdapter.js","sourceRoot":"","sources":["../../../../../src/products/code/livePreview/realProcessAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"appExport.d.ts","sourceRoot":"","sources":["../../../../../src/products/code/state/appExport.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,yBAAyB,EAC9B,KAAK,0CAA0C,EAChD,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,sCAAsC,CAAC;AAK9C,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCACf,SAAQ,0CAA0C;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;CACtD;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAAC;CACjD;AA0ED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,kCAAkC,CAAC,CAyC7C"}
1
+ {"version":3,"file":"appExport.d.ts","sourceRoot":"","sources":["../../../../../src/products/code/state/appExport.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,yBAAyB,EAC9B,KAAK,0CAA0C,EAChD,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,sCAAsC,CAAC;AAK9C,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCACf,SAAQ,0CAA0C;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;CACtD;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAAC;CACjD;AA2ED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,kCAAkC,CAAC,CAyC7C"}
@@ -2,6 +2,7 @@ import { execFile as execFileCallback } from 'node:child_process';
2
2
  import { cp, mkdir, rm, stat, writeFile } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import { promisify } from 'node:util';
5
+ import { createPlatformChildProcessEnv } from '../../../shared/platformChildProcessEnv.js';
5
6
  import { CATS_CODE_APP_EXPORT_METADATA_FILE, CATS_CODE_USER_APP_TEMPLATE_PACKAGE_PATH, createCatsCodeAppExportMetadata, createCatsCodeUserAppTemplateManifest, } from '../shared/appExport.js';
6
7
  import { parseCatsAppManifestV1, } from '../../../shared/catsAppValidation.js';
7
8
  const execFile = promisify(execFileCallback);
@@ -41,6 +42,7 @@ async function runPackageBuild(packagePath, input) {
41
42
  : args;
42
43
  const result = await execFile(execCommand, execArgs, {
43
44
  cwd: packagePath,
45
+ env: createPlatformChildProcessEnv(),
44
46
  encoding: 'utf8',
45
47
  timeout: input.buildTimeoutMs ?? 120_000,
46
48
  windowsHide: true,
@@ -1 +1 @@
1
- {"version":3,"file":"appExport.js","sourceRoot":"","sources":["../../../../../src/products/code/state/appExport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appExport.js","sourceRoot":"","sources":["../../../../../src/products/code/state/appExport.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,40 @@ export type DesktopScreenshotCaptureResult = {
80
80
  outcome: 'permission_denied' | 'platform_unsupported' | 'error';
81
81
  message?: string;
82
82
  };
83
+ export type DesktopDistributionMode = 'official_packaged' | 'preview_packaged' | 'development' | 'unofficial_packaged';
84
+ export type DesktopUpdateStatus = 'unavailable' | 'idle' | 'checking' | 'up_to_date' | 'update_available' | 'downloading' | 'downloaded' | 'installing' | 'failed';
85
+ export type DesktopUpdateNextAction = 'none' | 'check' | 'download' | 'restart_install';
86
+ export type DesktopUpdateErrorCode = 'offline' | 'timeout' | 'provider_rejected' | 'metadata_invalid' | 'checksum_mismatch' | 'signature_rejected' | 'unsupported_package' | 'download_cancelled' | 'install_handoff_failed' | 'unknown';
87
+ export interface DesktopUpdateCapability {
88
+ distribution: DesktopDistributionMode;
89
+ provider: 'github_release' | 'none';
90
+ channel: 'stable' | 'beta' | 'alpha';
91
+ currentVersion: string;
92
+ canCheck: boolean;
93
+ canDownload: boolean;
94
+ canInstall: boolean;
95
+ unavailableReason: string | null;
96
+ }
97
+ export interface DesktopUpdateProgress {
98
+ percent: number;
99
+ transferredBytes: number;
100
+ totalBytes: number;
101
+ bytesPerSecond: number;
102
+ }
103
+ export interface DesktopUpdateSnapshot {
104
+ capability: DesktopUpdateCapability;
105
+ status: DesktopUpdateStatus;
106
+ currentVersion: string;
107
+ availableVersion: string | null;
108
+ releaseSummary: string | null;
109
+ lastCheckedAt: string | null;
110
+ progress: DesktopUpdateProgress | null;
111
+ error: {
112
+ code: DesktopUpdateErrorCode;
113
+ summary: string;
114
+ } | null;
115
+ nextAction: DesktopUpdateNextAction;
116
+ }
83
117
  export interface DesktopHostBridge {
84
118
  getSetupSnapshot?: () => Promise<DesktopSetupSnapshot>;
85
119
  runAction?: (actionId: string) => Promise<DesktopBootstrapSnapshot>;
@@ -94,7 +128,19 @@ export interface DesktopHostBridge {
94
128
  stopVoiceCapture?: VoiceCaptureBridge['stopVoiceCapture'];
95
129
  cancelVoiceCapture?: VoiceCaptureBridge['cancelVoiceCapture'];
96
130
  onVoiceCaptureEvent?: VoiceCaptureBridge['onVoiceCaptureEvent'];
131
+ getUpdateSnapshot?: () => Promise<DesktopUpdateSnapshot>;
132
+ checkForUpdates?: () => Promise<DesktopUpdateSnapshot>;
133
+ downloadUpdate?: () => Promise<DesktopUpdateSnapshot>;
134
+ restartAndInstall?: () => Promise<void>;
135
+ onUpdateSnapshot?: (listener: (snapshot: DesktopUpdateSnapshot) => void) => () => void;
97
136
  }
137
+ /**
138
+ * Update controls render only when the host says so. Bridge presence alone is
139
+ * not evidence: the bridge also exists in Electron development runs and in
140
+ * unofficial packages.
141
+ */
142
+ export declare function canRenderDesktopUpdateControls(snapshot: DesktopUpdateSnapshot | null): boolean;
143
+ export declare function getDesktopUpdateSnapshot(): Promise<DesktopUpdateSnapshot | null>;
98
144
  export declare function resolveDesktopHostBridge(): DesktopHostBridge | null;
99
145
  export declare function isDesktopEnvironment(): boolean;
100
146
  export interface DesktopSetupRecommendation {
@@ -1 +1 @@
1
- {"version":3,"file":"desktopRecoveryBridge.d.ts","sourceRoot":"","sources":["../../../src/shared/desktopRecoveryBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktopRecoveryBridge.d.ts","sourceRoot":"","sources":["../../../src/shared/desktopRecoveryBridge.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,26 @@ export const DESKTOP_SCREENSHOT_CANCEL_REASONS = [
11
11
  'too_small',
12
12
  'unknown_display',
13
13
  ];
14
+ /**
15
+ * Update controls render only when the host says so. Bridge presence alone is
16
+ * not evidence: the bridge also exists in Electron development runs and in
17
+ * unofficial packages.
18
+ */
19
+ export function canRenderDesktopUpdateControls(snapshot) {
20
+ return snapshot?.capability.canCheck === true;
21
+ }
22
+ export async function getDesktopUpdateSnapshot() {
23
+ const bridge = resolveDesktopHostBridge();
24
+ if (!bridge?.getUpdateSnapshot) {
25
+ return null;
26
+ }
27
+ try {
28
+ return await bridge.getUpdateSnapshot();
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
14
34
  export function resolveDesktopHostBridge() {
15
35
  const candidate = globalThis.catsDesktopHost;
16
36
  return candidate ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"desktopRecoveryBridge.js","sourceRoot":"","sources":["../../../src/shared/desktopRecoveryBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyEH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,aAAa;IACb,WAAW;IACX,iBAAiB;CACT,CAAC;AAwCX,MAAM,UAAU,wBAAwB;IACtC,MAAM,SAAS,GACb,UAGD,CAAC,eAAe,CAAC;IAClB,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,wBAAwB,EAAE,KAAK,IAAI,CAAC;AAC7C,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC9B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM;gBACpC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO;aACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAE1C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"desktopRecoveryBridge.js","sourceRoot":"","sources":["../../../src/shared/desktopRecoveryBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyEH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,aAAa;IACb,WAAW;IACX,iBAAiB;CACT,CAAC;AA8GX;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAsC;IAEtC,OAAO,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,MAAM,SAAS,GACb,UAGD,CAAC,eAAe,CAAC;IAClB,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,wBAAwB,EAAE,KAAK,IAAI,CAAC;AAC7C,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC9B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM;gBACpC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO;aACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;IAE1C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/shared/i18n/catalogs/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,cA6wGvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/shared/i18n/catalogs/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,cAuzGvB,CAAC;AAEF,eAAe,SAAS,CAAC"}