docker-client-mx 1.35.0

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 (148) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +233 -0
  3. package/bin/docker-client-mx.js +42 -0
  4. package/build/icons/icon-1024.png +0 -0
  5. package/build/icons/icon-128.png +0 -0
  6. package/build/icons/icon-16.png +0 -0
  7. package/build/icons/icon-256.png +0 -0
  8. package/build/icons/icon-32.png +0 -0
  9. package/build/icons/icon-48.png +0 -0
  10. package/build/icons/icon-512.png +0 -0
  11. package/build/icons/icon-64.png +0 -0
  12. package/build/icons/icon.ico +0 -0
  13. package/build/icons/icon.iconset/icon_128x128.png +0 -0
  14. package/build/icons/icon.iconset/icon_128x128@2x.png +0 -0
  15. package/build/icons/icon.iconset/icon_16x16.png +0 -0
  16. package/build/icons/icon.iconset/icon_16x16@2x.png +0 -0
  17. package/build/icons/icon.iconset/icon_256x256.png +0 -0
  18. package/build/icons/icon.iconset/icon_256x256@2x.png +0 -0
  19. package/build/icons/icon.iconset/icon_32x32.png +0 -0
  20. package/build/icons/icon.iconset/icon_32x32@2x.png +0 -0
  21. package/build/icons/icon.iconset/icon_512x512.png +0 -0
  22. package/build/icons/icon.iconset/icon_512x512@2x.png +0 -0
  23. package/build/icons/icon.png +0 -0
  24. package/dist/docker-desktop-mx/browser/chunk-64WWLMUP.js +39 -0
  25. package/dist/docker-desktop-mx/browser/chunk-N4VBBC4W.js +1 -0
  26. package/dist/docker-desktop-mx/browser/favicon.ico +0 -0
  27. package/dist/docker-desktop-mx/browser/index.html +14 -0
  28. package/dist/docker-desktop-mx/browser/main-CTIRTSOI.js +5 -0
  29. package/dist/docker-desktop-mx/browser/styles-JS3HDDI4.css +1 -0
  30. package/dist-electron/api.js +10 -0
  31. package/dist-electron/api.js.map +1 -0
  32. package/dist-electron/assistant-key.js +70 -0
  33. package/dist-electron/assistant-key.js.map +1 -0
  34. package/dist-electron/assistant-models.js +19 -0
  35. package/dist-electron/assistant-models.js.map +1 -0
  36. package/dist-electron/assistant-tools.js +335 -0
  37. package/dist-electron/assistant-tools.js.map +1 -0
  38. package/dist-electron/assistant.js +302 -0
  39. package/dist-electron/assistant.js.map +1 -0
  40. package/dist-electron/attention.js +75 -0
  41. package/dist-electron/attention.js.map +1 -0
  42. package/dist-electron/channels.js +113 -0
  43. package/dist-electron/channels.js.map +1 -0
  44. package/dist-electron/compose-files.js +104 -0
  45. package/dist-electron/compose-files.js.map +1 -0
  46. package/dist-electron/compose.js +271 -0
  47. package/dist-electron/compose.js.map +1 -0
  48. package/dist-electron/container-events.js +188 -0
  49. package/dist-electron/container-events.js.map +1 -0
  50. package/dist-electron/containers.js +165 -0
  51. package/dist-electron/containers.js.map +1 -0
  52. package/dist-electron/context-menu.js +56 -0
  53. package/dist-electron/context-menu.js.map +1 -0
  54. package/dist-electron/contexts.js +346 -0
  55. package/dist-electron/contexts.js.map +1 -0
  56. package/dist-electron/crash.js +129 -0
  57. package/dist-electron/crash.js.map +1 -0
  58. package/dist-electron/diagnosis.js +338 -0
  59. package/dist-electron/diagnosis.js.map +1 -0
  60. package/dist-electron/docker-client.js +284 -0
  61. package/dist-electron/docker-client.js.map +1 -0
  62. package/dist-electron/engine.js +145 -0
  63. package/dist-electron/engine.js.map +1 -0
  64. package/dist-electron/event-store.js +146 -0
  65. package/dist-electron/event-store.js.map +1 -0
  66. package/dist-electron/events.js +132 -0
  67. package/dist-electron/events.js.map +1 -0
  68. package/dist-electron/exec.js +138 -0
  69. package/dist-electron/exec.js.map +1 -0
  70. package/dist-electron/files.js +407 -0
  71. package/dist-electron/files.js.map +1 -0
  72. package/dist-electron/health.js +92 -0
  73. package/dist-electron/health.js.map +1 -0
  74. package/dist-electron/host-overview.js +50 -0
  75. package/dist-electron/host-overview.js.map +1 -0
  76. package/dist-electron/host-shell.js +196 -0
  77. package/dist-electron/host-shell.js.map +1 -0
  78. package/dist-electron/i18n.js +58 -0
  79. package/dist-electron/i18n.js.map +1 -0
  80. package/dist-electron/image-history.js +87 -0
  81. package/dist-electron/image-history.js.map +1 -0
  82. package/dist-electron/images.js +141 -0
  83. package/dist-electron/images.js.map +1 -0
  84. package/dist-electron/ipc.js +783 -0
  85. package/dist-electron/ipc.js.map +1 -0
  86. package/dist-electron/links.js +46 -0
  87. package/dist-electron/links.js.map +1 -0
  88. package/dist-electron/logs.js +153 -0
  89. package/dist-electron/logs.js.map +1 -0
  90. package/dist-electron/main.js +494 -0
  91. package/dist-electron/main.js.map +1 -0
  92. package/dist-electron/merged-logs.js +127 -0
  93. package/dist-electron/merged-logs.js.map +1 -0
  94. package/dist-electron/navigation.js +37 -0
  95. package/dist-electron/navigation.js.map +1 -0
  96. package/dist-electron/ndjson.js +30 -0
  97. package/dist-electron/ndjson.js.map +1 -0
  98. package/dist-electron/networks.js +507 -0
  99. package/dist-electron/networks.js.map +1 -0
  100. package/dist-electron/port-conflicts.js +106 -0
  101. package/dist-electron/port-conflicts.js.map +1 -0
  102. package/dist-electron/preload.js +257 -0
  103. package/dist-electron/preload.js.map +1 -0
  104. package/dist-electron/pull.js +220 -0
  105. package/dist-electron/pull.js.map +1 -0
  106. package/dist-electron/redact.js +129 -0
  107. package/dist-electron/redact.js.map +1 -0
  108. package/dist-electron/registry-auth.js +150 -0
  109. package/dist-electron/registry-auth.js.map +1 -0
  110. package/dist-electron/renew.js +162 -0
  111. package/dist-electron/renew.js.map +1 -0
  112. package/dist-electron/restart-policy.js +58 -0
  113. package/dist-electron/restart-policy.js.map +1 -0
  114. package/dist-electron/run-command.js +146 -0
  115. package/dist-electron/run-command.js.map +1 -0
  116. package/dist-electron/run.js +151 -0
  117. package/dist-electron/run.js.map +1 -0
  118. package/dist-electron/self-update.js +163 -0
  119. package/dist-electron/self-update.js.map +1 -0
  120. package/dist-electron/servers.js +108 -0
  121. package/dist-electron/servers.js.map +1 -0
  122. package/dist-electron/settings.js +146 -0
  123. package/dist-electron/settings.js.map +1 -0
  124. package/dist-electron/ssh.js +574 -0
  125. package/dist-electron/ssh.js.map +1 -0
  126. package/dist-electron/stats.js +209 -0
  127. package/dist-electron/stats.js.map +1 -0
  128. package/dist-electron/streams.js +63 -0
  129. package/dist-electron/streams.js.map +1 -0
  130. package/dist-electron/system.js +123 -0
  131. package/dist-electron/system.js.map +1 -0
  132. package/dist-electron/terminal-transcript.js +55 -0
  133. package/dist-electron/terminal-transcript.js.map +1 -0
  134. package/dist-electron/updates.js +136 -0
  135. package/dist-electron/updates.js.map +1 -0
  136. package/dist-electron/volume-backup.js +203 -0
  137. package/dist-electron/volume-backup.js.map +1 -0
  138. package/dist-electron/volume-files.js +124 -0
  139. package/dist-electron/volume-files.js.map +1 -0
  140. package/dist-electron/volumes.js +253 -0
  141. package/dist-electron/volumes.js.map +1 -0
  142. package/dist-electron/wiring-watch.js +93 -0
  143. package/dist-electron/wiring-watch.js.map +1 -0
  144. package/dist-electron/wiring.js +71 -0
  145. package/dist-electron/wiring.js.map +1 -0
  146. package/dist-electron/wsl.js +167 -0
  147. package/dist-electron/wsl.js.map +1 -0
  148. package/package.json +125 -0
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseRememberedLogin = parseRememberedLogin;
4
+ exports.parseStored = parseStored;
5
+ exports.configureSettings = configureSettings;
6
+ exports.readSettings = readSettings;
7
+ exports.updateSettings = updateSettings;
8
+ exports.notificationsEnabled = notificationsEnabled;
9
+ exports.wiringNotificationsEnabled = wiringNotificationsEnabled;
10
+ exports.autoUpdateEnabled = autoUpdateEnabled;
11
+ exports.assistantModel = assistantModel;
12
+ const assistant_models_1 = require("./assistant-models");
13
+ const i18n_1 = require("./i18n");
14
+ const DEFAULTS = {
15
+ notifyCrash: true,
16
+ notifyUnhealthy: true,
17
+ notifyWiring: true,
18
+ autoUpdate: true,
19
+ language: i18n_1.DEFAULT_LANGUAGE,
20
+ assistantModel: assistant_models_1.DEFAULT_ASSISTANT_MODEL,
21
+ };
22
+ let deps = { read: () => null, write: () => undefined, loginItem: null };
23
+ let stored = DEFAULTS;
24
+ /** Wat je het laatst koos voor starten bij aanmelden; `null` als het bestand het nog niet weet. */
25
+ let rememberedLogin = null;
26
+ /** Leest de herinnering aan starten bij aanmelden uit het bestand. */
27
+ function parseRememberedLogin(text) {
28
+ if (text === null) {
29
+ return null;
30
+ }
31
+ try {
32
+ const raw = JSON.parse(text);
33
+ return typeof raw.startAtLogin === 'boolean' ? raw.startAtLogin : null;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
39
+ function persist() {
40
+ const text = JSON.stringify({ ...stored, ...(rememberedLogin === null ? {} : { startAtLogin: rememberedLogin }) }, null, 2);
41
+ deps.write(`${text}\n`);
42
+ }
43
+ /**
44
+ * Brengt Windows en de herinnering bij elkaar, één keer bij het opstarten.
45
+ *
46
+ * - Windows zegt aan: onthoud aan. Zo weet de eerste start met deze versie het al, ruim voordat
47
+ * een versie met een andere naam het nodig heeft.
48
+ * - Je koos aan, maar Windows ziet het item niet: het pad is veranderd. Zet het opnieuw neer.
49
+ * - Windows zegt uit en je koos niets of uit: dan valt er niets te bewaren.
50
+ *
51
+ * Uitzetten via Taakbeheer raakt dit niet: dat laat het item staan en markeert het alleen.
52
+ */
53
+ function reconcileLoginItem() {
54
+ if (deps.loginItem === null) {
55
+ return;
56
+ }
57
+ const live = deps.loginItem.get();
58
+ if (live && rememberedLogin !== true) {
59
+ rememberedLogin = true;
60
+ persist();
61
+ }
62
+ else if (!live && rememberedLogin === true) {
63
+ deps.loginItem.set(true);
64
+ }
65
+ }
66
+ /**
67
+ * Leest het bewaarde bestand. Een kapot of onvolledig bestand valt per veld terug op de
68
+ * standaard: een melding die per ongeluk uit staat is erger dan een die per ongeluk aan staat.
69
+ */
70
+ function parseStored(text) {
71
+ if (text === null) {
72
+ return DEFAULTS;
73
+ }
74
+ try {
75
+ const raw = JSON.parse(text);
76
+ return {
77
+ notifyCrash: typeof raw.notifyCrash === 'boolean' ? raw.notifyCrash : DEFAULTS.notifyCrash,
78
+ notifyUnhealthy: typeof raw.notifyUnhealthy === 'boolean' ? raw.notifyUnhealthy : DEFAULTS.notifyUnhealthy,
79
+ notifyWiring: typeof raw.notifyWiring === 'boolean' ? raw.notifyWiring : DEFAULTS.notifyWiring,
80
+ autoUpdate: typeof raw.autoUpdate === 'boolean' ? raw.autoUpdate : DEFAULTS.autoUpdate,
81
+ language: (0, i18n_1.isLanguage)(raw.language) ? raw.language : DEFAULTS.language,
82
+ // Een model dat deze versie niet kent (of niet meer): terug naar de standaard, anders
83
+ // krijgt de gebruiker bij elke vraag een fout van de API.
84
+ assistantModel: (0, assistant_models_1.isAssistantModel)(raw.assistantModel) ? raw.assistantModel : DEFAULTS.assistantModel,
85
+ };
86
+ }
87
+ catch {
88
+ return DEFAULTS;
89
+ }
90
+ }
91
+ /** Wordt één keer aangeroepen door main.ts, dat de paden en Windows kent. */
92
+ function configureSettings(next) {
93
+ deps = next;
94
+ const text = deps.read();
95
+ stored = parseStored(text);
96
+ rememberedLogin = parseRememberedLogin(text);
97
+ (0, i18n_1.setLanguage)(stored.language);
98
+ reconcileLoginItem();
99
+ }
100
+ /** De huidige stand, met starten bij aanmelden vers uit Windows. */
101
+ function readSettings() {
102
+ return {
103
+ ...stored,
104
+ startAtLogin: deps.loginItem?.get() ?? false,
105
+ startAtLoginAvailable: deps.loginItem !== null,
106
+ };
107
+ }
108
+ /** Past aan wat meegegeven is, bewaart het, en geeft de nieuwe stand terug. */
109
+ function updateSettings(patch) {
110
+ const loginChanged = patch.startAtLogin !== undefined && deps.loginItem !== null && patch.startAtLogin !== rememberedLogin;
111
+ if (patch.startAtLogin !== undefined && deps.loginItem !== null) {
112
+ deps.loginItem.set(patch.startAtLogin);
113
+ rememberedLogin = patch.startAtLogin;
114
+ }
115
+ const next = {
116
+ notifyCrash: patch.notifyCrash ?? stored.notifyCrash,
117
+ notifyUnhealthy: patch.notifyUnhealthy ?? stored.notifyUnhealthy,
118
+ notifyWiring: patch.notifyWiring ?? stored.notifyWiring,
119
+ autoUpdate: patch.autoUpdate ?? stored.autoUpdate,
120
+ language: patch.language ?? stored.language,
121
+ assistantModel: patch.assistantModel ?? stored.assistantModel,
122
+ };
123
+ if (loginChanged || Object.keys(next).some((key) => next[key] !== stored[key])) {
124
+ stored = next;
125
+ persist();
126
+ (0, i18n_1.setLanguage)(stored.language);
127
+ }
128
+ return readSettings();
129
+ }
130
+ /** Of dit soort melding getoond mag worden. */
131
+ function notificationsEnabled(kind) {
132
+ return kind === 'crash' ? stored.notifyCrash : stored.notifyUnhealthy;
133
+ }
134
+ /** Of er een melding komt als een container zijn netwerk of zijn poorten kwijt is. */
135
+ function wiringNotificationsEnabled() {
136
+ return stored.notifyWiring;
137
+ }
138
+ /** Of de app uit zichzelf naar een nieuwe versie zoekt en die alvast binnenhaalt. */
139
+ function autoUpdateEnabled() {
140
+ return stored.autoUpdate;
141
+ }
142
+ /** Het model waarmee de tab Claude zijn vragen stelt. */
143
+ function assistantModel() {
144
+ return stored.assistantModel;
145
+ }
146
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../electron/settings.ts"],"names":[],"mappings":"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"}