@memberjunction/open-app-engine 5.42.0 → 5.44.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 (48) hide show
  1. package/dist/dependency/dependency-graph-builder.d.ts +1 -1
  2. package/dist/dependency/dependency-graph-builder.d.ts.map +1 -1
  3. package/dist/dependency/dependency-graph-builder.js +5 -3
  4. package/dist/dependency/dependency-graph-builder.js.map +1 -1
  5. package/dist/dependency/dependency-resolver.d.ts +1 -0
  6. package/dist/dependency/dependency-resolver.d.ts.map +1 -1
  7. package/dist/dependency/dependency-resolver.js.map +1 -1
  8. package/dist/github/github-client.d.ts +10 -5
  9. package/dist/github/github-client.d.ts.map +1 -1
  10. package/dist/github/github-client.js +110 -94
  11. package/dist/github/github-client.js.map +1 -1
  12. package/dist/index.d.ts +2 -4
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/install/config-manager.d.ts +2 -1
  17. package/dist/install/config-manager.d.ts.map +1 -1
  18. package/dist/install/config-manager.js +258 -33
  19. package/dist/install/config-manager.js.map +1 -1
  20. package/dist/install/history-recorder.d.ts +14 -3
  21. package/dist/install/history-recorder.d.ts.map +1 -1
  22. package/dist/install/history-recorder.js +82 -48
  23. package/dist/install/history-recorder.js.map +1 -1
  24. package/dist/install/install-orchestrator.d.ts +9 -2
  25. package/dist/install/install-orchestrator.d.ts.map +1 -1
  26. package/dist/install/install-orchestrator.js +341 -162
  27. package/dist/install/install-orchestrator.js.map +1 -1
  28. package/dist/install/migration-runner.d.ts +25 -0
  29. package/dist/install/migration-runner.d.ts.map +1 -1
  30. package/dist/install/migration-runner.js +5 -3
  31. package/dist/install/migration-runner.js.map +1 -1
  32. package/dist/install/package-manager.d.ts.map +1 -1
  33. package/dist/install/package-manager.js +51 -20
  34. package/dist/install/package-manager.js.map +1 -1
  35. package/dist/install/schema-manager.d.ts.map +1 -1
  36. package/dist/install/schema-manager.js +11 -14
  37. package/dist/install/schema-manager.js.map +1 -1
  38. package/dist/manifest/manifest-schema.d.ts +53 -6
  39. package/dist/manifest/manifest-schema.d.ts.map +1 -1
  40. package/dist/manifest/manifest-schema.js +20 -7
  41. package/dist/manifest/manifest-schema.js.map +1 -1
  42. package/dist/types/open-app-types.d.ts +3 -0
  43. package/dist/types/open-app-types.d.ts.map +1 -1
  44. package/package.json +6 -3
  45. package/dist/install/client-bootstrap-gen.d.ts +0 -8
  46. package/dist/install/client-bootstrap-gen.d.ts.map +0 -1
  47. package/dist/install/client-bootstrap-gen.js +0 -38
  48. package/dist/install/client-bootstrap-gen.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { readFileSync, writeFileSync, existsSync } from 'node:fs';
2
2
  import { resolve } from 'node:path';
3
+ import { compileFunction } from 'node:vm';
3
4
  const CONFIG_FILE_NAME = 'mj.config.cjs';
4
5
  export function AddServerDynamicPackages(repoRoot, manifest) {
5
6
  const configPath = resolveConfigPath(repoRoot);
@@ -13,10 +14,35 @@ export function AddServerDynamicPackages(repoRoot, manifest) {
13
14
  try {
14
15
  let content = readFileSync(configPath, 'utf-8');
15
16
  content = EnsureDynamicPackagesSection(content);
17
+ content = EnsureDynamicArrayPresent(content, 'server');
16
18
  for (const entry of serverPackages) {
17
- content = AddEntryToServerArray(content, entry);
19
+ content = AddEntryToDynamicArray(content, entry, 'server');
18
20
  }
19
- writeFileSync(configPath, content, 'utf-8');
21
+ WriteConfigChecked(configPath, content);
22
+ return { Success: true };
23
+ }
24
+ catch (error) {
25
+ const message = error instanceof Error ? error.message : String(error);
26
+ return { Success: false, ErrorMessage: `Failed to update config: ${message}` };
27
+ }
28
+ }
29
+ export function AddClientDynamicPackages(repoRoot, manifest) {
30
+ const configPath = resolveConfigPath(repoRoot);
31
+ if (!configPath) {
32
+ return { Success: false, ErrorMessage: `No MJ config file found in ${repoRoot}. Expected: ${CONFIG_FILE_NAME}` };
33
+ }
34
+ const clientPackages = GetClientPackagesFromManifest(manifest);
35
+ if (clientPackages.length === 0) {
36
+ return { Success: true };
37
+ }
38
+ try {
39
+ let content = readFileSync(configPath, 'utf-8');
40
+ content = EnsureDynamicPackagesSection(content);
41
+ content = EnsureDynamicArrayPresent(content, 'client');
42
+ for (const entry of clientPackages) {
43
+ content = AddEntryToDynamicArray(content, entry, 'client');
44
+ }
45
+ WriteConfigChecked(configPath, content);
20
46
  return { Success: true };
21
47
  }
22
48
  catch (error) {
@@ -32,7 +58,7 @@ export function RemoveServerDynamicPackages(repoRoot, appName) {
32
58
  try {
33
59
  let content = readFileSync(configPath, 'utf-8');
34
60
  content = RemoveEntriesForApp(content, appName);
35
- writeFileSync(configPath, content, 'utf-8');
61
+ WriteConfigChecked(configPath, content);
36
62
  return { Success: true };
37
63
  }
38
64
  catch (error) {
@@ -48,7 +74,7 @@ export function ToggleServerDynamicPackages(repoRoot, appName, enabled) {
48
74
  try {
49
75
  let content = readFileSync(configPath, 'utf-8');
50
76
  content = ToggleEntriesForApp(content, appName, enabled);
51
- writeFileSync(configPath, content, 'utf-8');
77
+ WriteConfigChecked(configPath, content);
52
78
  return { Success: true };
53
79
  }
54
80
  catch (error) {
@@ -60,6 +86,17 @@ function resolveConfigPath(repoRoot) {
60
86
  const candidate = resolve(repoRoot, CONFIG_FILE_NAME);
61
87
  return existsSync(candidate) ? candidate : undefined;
62
88
  }
89
+ function WriteConfigChecked(configPath, content) {
90
+ try {
91
+ compileFunction(content);
92
+ }
93
+ catch (parseError) {
94
+ const message = parseError instanceof Error ? parseError.message : String(parseError);
95
+ throw new Error(`the edit would produce invalid JavaScript (${message}); the file was left unchanged. ` +
96
+ `This is a bug in the Open App config editor — please report it with your mj.config.cjs shape.`);
97
+ }
98
+ writeFileSync(configPath, content, 'utf-8');
99
+ }
63
100
  function GetServerPackagesFromManifest(manifest) {
64
101
  const entries = [];
65
102
  const serverPkgs = manifest.packages?.server ?? [];
@@ -76,40 +113,92 @@ function GetServerPackagesFromManifest(manifest) {
76
113
  }
77
114
  return entries;
78
115
  }
116
+ function GetClientPackagesFromManifest(manifest) {
117
+ const entries = [];
118
+ const clientPkgs = manifest.packages?.client ?? [];
119
+ const sharedPkgs = manifest.packages?.shared ?? [];
120
+ for (const pkg of [...clientPkgs, ...sharedPkgs]) {
121
+ entries.push({
122
+ PackageName: pkg.name,
123
+ AppName: manifest.name,
124
+ Enabled: true
125
+ });
126
+ }
127
+ return entries;
128
+ }
79
129
  function EnsureDynamicPackagesSection(content) {
80
- if (content.includes('dynamicPackages')) {
130
+ if (/dynamicPackages\s*:/.test(content)) {
81
131
  return content;
82
132
  }
83
- const insertionPoint = content.lastIndexOf('};');
84
- if (insertionPoint === -1) {
133
+ const section = `\n dynamicPackages: {\n server: [],\n client: []\n },\n`;
134
+ return InsertBeforeModuleExportsClose(content, section);
135
+ }
136
+ function EnsureDynamicArrayPresent(content, arrayName) {
137
+ const dynMatch = content.match(/dynamicPackages\s*:\s*\{/);
138
+ if (!dynMatch || dynMatch.index === undefined) {
139
+ throw new Error('dynamicPackages section not found in mj.config.cjs.');
140
+ }
141
+ const openBracePos = dynMatch.index + dynMatch[0].length - 1;
142
+ const closeBracePos = FindMatchingBracket(content, openBracePos);
143
+ if (closeBracePos === -1) {
144
+ throw new Error('Could not find the closing brace of the dynamicPackages section in mj.config.cjs.');
145
+ }
146
+ const sectionBody = content.slice(openBracePos, closeBracePos);
147
+ if (new RegExp(`${arrayName}\\s*:\\s*\\[`).test(sectionBody)) {
85
148
  return content;
86
149
  }
87
- const section = `\n dynamicPackages: {\n server: []\n },\n`;
88
- return content.slice(0, insertionPoint) + section + content.slice(insertionPoint);
150
+ return content.slice(0, openBracePos + 1) + `\n ${arrayName}: [],` + content.slice(openBracePos + 1);
89
151
  }
90
- function AddEntryToServerArray(content, entry) {
91
- const existsPattern = new RegExp(`PackageName:\\s*'${EscapeRegex(entry.PackageName)}'[^{}]*AppName:\\s*'${EscapeRegex(entry.AppName)}'`);
152
+ function AddEntryToDynamicArray(content, entry, arrayName) {
153
+ const existsPattern = new RegExp(`PackageName:\\s*['"]${EscapeRegex(entry.PackageName)}['"][^{}]*AppName:\\s*['"]${EscapeRegex(entry.AppName)}['"]`);
92
154
  if (existsPattern.test(content)) {
93
155
  return content;
94
156
  }
95
- const serverArrayMatch = content.match(/server:\s*\[/);
96
- if (!serverArrayMatch || serverArrayMatch.index === undefined) {
97
- return content;
157
+ const dynMatch = content.match(/dynamicPackages\s*:\s*\{/);
158
+ if (!dynMatch || dynMatch.index === undefined) {
159
+ throw new Error(`dynamicPackages section not found in mj.config.cjs when adding a ${arrayName} package.`);
160
+ }
161
+ const afterDyn = content.slice(dynMatch.index);
162
+ const arrayRel = afterDyn.match(new RegExp(`${arrayName}:\\s*\\[`));
163
+ if (!arrayRel || arrayRel.index === undefined) {
164
+ throw new Error(`dynamicPackages.${arrayName} array not found in mj.config.cjs.`);
98
165
  }
99
- const entryStr = `\n {\n PackageName: '${entry.PackageName}',\n StartupExport: '${entry.StartupExport}',\n AppName: '${entry.AppName}',\n Enabled: ${entry.Enabled}\n },`;
100
- const arrayStart = serverArrayMatch.index + serverArrayMatch[0].length;
166
+ const arrayIndex = dynMatch.index + arrayRel.index;
167
+ const startupLine = entry.StartupExport ? `\n StartupExport: '${entry.StartupExport}',` : '';
168
+ const entryStr = `\n {\n PackageName: '${entry.PackageName}',${startupLine}\n AppName: '${entry.AppName}',\n Enabled: ${entry.Enabled}\n },`;
169
+ const arrayStart = arrayIndex + arrayRel[0].length;
101
170
  const closingBracket = FindMatchingBracket(content, arrayStart - 1);
102
171
  if (closingBracket === -1) {
103
- return content;
172
+ throw new Error(`Could not find the closing bracket of dynamicPackages.${arrayName} in mj.config.cjs.`);
104
173
  }
105
174
  return content.slice(0, closingBracket) + entryStr + '\n ' + content.slice(closingBracket);
106
175
  }
107
176
  function RemoveEntriesForApp(content, appName) {
108
- const pattern = new RegExp(`\\s*\\{[^{}]*AppName:\\s*'${EscapeRegex(appName)}'[^{}]*\\},?`, 'g');
109
- return content.replace(pattern, '');
177
+ const pattern = new RegExp(`\\s*\\{[^{}]*AppName:\\s*['"]${EscapeRegex(appName)}['"][^{}]*\\},?`, 'g');
178
+ let result = content.replace(pattern, '');
179
+ result = NormalizeEmptyDynamicArray(result, 'server');
180
+ result = NormalizeEmptyDynamicArray(result, 'client');
181
+ return result;
182
+ }
183
+ function NormalizeEmptyDynamicArray(content, arrayName) {
184
+ const dynMatch = content.match(/dynamicPackages\s*:\s*\{/);
185
+ if (!dynMatch || dynMatch.index === undefined)
186
+ return content;
187
+ const afterDyn = content.slice(dynMatch.index);
188
+ const arrayRel = afterDyn.match(new RegExp(`${arrayName}:\\s*\\[`));
189
+ if (!arrayRel || arrayRel.index === undefined)
190
+ return content;
191
+ const openBracketPos = dynMatch.index + arrayRel.index + arrayRel[0].length - 1;
192
+ const closePos = FindMatchingBracket(content, openBracketPos);
193
+ if (closePos === -1)
194
+ return content;
195
+ if (content.slice(openBracketPos + 1, closePos).trim() === '') {
196
+ return content.slice(0, openBracketPos) + '[]' + content.slice(closePos + 1);
197
+ }
198
+ return content;
110
199
  }
111
200
  function ToggleEntriesForApp(content, appName, enabled) {
112
- const pattern = new RegExp(`(AppName:\\s*'${EscapeRegex(appName)}'[^{}]*Enabled:\\s*)(?:true|false)`, 'g');
201
+ const pattern = new RegExp(`(AppName:\\s*['"]${EscapeRegex(appName)}['"][^{}]*Enabled:\\s*)(?:true|false)`, 'g');
113
202
  return content.replace(pattern, `$1${enabled}`);
114
203
  }
115
204
  function FindMatchingBracket(content, openPos) {
@@ -117,15 +206,138 @@ function FindMatchingBracket(content, openPos) {
117
206
  const closeChar = openChar === '[' ? ']' : '}';
118
207
  let depth = 1;
119
208
  let pos = openPos + 1;
209
+ let inString = null;
210
+ let inLineComment = false;
211
+ let inBlockComment = false;
120
212
  while (pos < content.length && depth > 0) {
121
- if (content[pos] === openChar)
213
+ const ch = content[pos];
214
+ if (inLineComment) {
215
+ if (ch === '\n')
216
+ inLineComment = false;
217
+ pos++;
218
+ continue;
219
+ }
220
+ if (inBlockComment) {
221
+ if (ch === '*' && content[pos + 1] === '/') {
222
+ inBlockComment = false;
223
+ pos += 2;
224
+ continue;
225
+ }
226
+ pos++;
227
+ continue;
228
+ }
229
+ if (inString) {
230
+ if (ch === '\\') {
231
+ pos += 2;
232
+ continue;
233
+ }
234
+ if (ch === inString)
235
+ inString = null;
236
+ pos++;
237
+ continue;
238
+ }
239
+ if (ch === '/' && content[pos + 1] === '/') {
240
+ inLineComment = true;
241
+ pos += 2;
242
+ continue;
243
+ }
244
+ if (ch === '/' && content[pos + 1] === '*') {
245
+ inBlockComment = true;
246
+ pos += 2;
247
+ continue;
248
+ }
249
+ if (ch === '"' || ch === "'" || ch === '`') {
250
+ inString = ch;
251
+ pos++;
252
+ continue;
253
+ }
254
+ if (ch === openChar)
122
255
  depth++;
123
- if (content[pos] === closeChar)
256
+ else if (ch === closeChar)
124
257
  depth--;
125
258
  pos++;
126
259
  }
127
260
  return depth === 0 ? pos - 1 : -1;
128
261
  }
262
+ function LastSignificantCharIndex(content, end) {
263
+ let pos = 0;
264
+ let last = -1;
265
+ let inString = null;
266
+ let inLineComment = false;
267
+ let inBlockComment = false;
268
+ while (pos < end) {
269
+ const ch = content[pos];
270
+ if (inLineComment) {
271
+ if (ch === '\n')
272
+ inLineComment = false;
273
+ pos++;
274
+ continue;
275
+ }
276
+ if (inBlockComment) {
277
+ if (ch === '*' && content[pos + 1] === '/') {
278
+ inBlockComment = false;
279
+ pos += 2;
280
+ continue;
281
+ }
282
+ pos++;
283
+ continue;
284
+ }
285
+ if (inString) {
286
+ if (ch === '\\') {
287
+ pos += 2;
288
+ continue;
289
+ }
290
+ if (ch === inString) {
291
+ inString = null;
292
+ last = pos;
293
+ }
294
+ pos++;
295
+ continue;
296
+ }
297
+ if (ch === '/' && content[pos + 1] === '/') {
298
+ inLineComment = true;
299
+ pos += 2;
300
+ continue;
301
+ }
302
+ if (ch === '/' && content[pos + 1] === '*') {
303
+ inBlockComment = true;
304
+ pos += 2;
305
+ continue;
306
+ }
307
+ if (ch === '"' || ch === "'" || ch === '`') {
308
+ inString = ch;
309
+ last = pos;
310
+ pos++;
311
+ continue;
312
+ }
313
+ if (ch !== ' ' && ch !== '\t' && ch !== '\r' && ch !== '\n') {
314
+ last = pos;
315
+ }
316
+ pos++;
317
+ }
318
+ return last;
319
+ }
320
+ function EnsureTrailingComma(before, openBracePos) {
321
+ const idx = LastSignificantCharIndex(before, before.length);
322
+ if (idx <= openBracePos || before[idx] === ',') {
323
+ return before;
324
+ }
325
+ return before.slice(0, idx + 1) + ',' + before.slice(idx + 1);
326
+ }
327
+ function InsertBeforeModuleExportsClose(content, section) {
328
+ const exportMatch = content.match(/module\.exports\s*=\s*\{/);
329
+ if (!exportMatch || exportMatch.index === undefined) {
330
+ throw new Error('Could not find a `module.exports = { ... }` object literal in mj.config.cjs to insert into. ' +
331
+ 'If module.exports references a variable (e.g. `module.exports = config;`), add the section manually.');
332
+ }
333
+ const bracePos = content.indexOf('{', exportMatch.index);
334
+ const closePos = FindMatchingBracket(content, bracePos);
335
+ if (closePos === -1) {
336
+ throw new Error('Could not locate the closing brace of module.exports in mj.config.cjs.');
337
+ }
338
+ const before = EnsureTrailingComma(content.slice(0, closePos), bracePos);
339
+ return before + section + content.slice(closePos);
340
+ }
129
341
  export function AddEntityPackageMapping(repoRoot, manifest) {
130
342
  const schemaName = manifest.schema?.name;
131
343
  if (!schemaName) {
@@ -143,7 +355,7 @@ export function AddEntityPackageMapping(repoRoot, manifest) {
143
355
  let content = readFileSync(configPath, 'utf-8');
144
356
  content = EnsureEntityPackageNameSection(content);
145
357
  content = AddEntityPackageEntry(content, schemaName, entityPkg);
146
- writeFileSync(configPath, content, 'utf-8');
358
+ WriteConfigChecked(configPath, content);
147
359
  return { Success: true };
148
360
  }
149
361
  catch (error) {
@@ -162,7 +374,7 @@ export function RemoveEntityPackageMapping(repoRoot, schemaName) {
162
374
  try {
163
375
  let content = readFileSync(configPath, 'utf-8');
164
376
  content = RemoveEntityPackageEntry(content, schemaName);
165
- writeFileSync(configPath, content, 'utf-8');
377
+ WriteConfigChecked(configPath, content);
166
378
  return { Success: true };
167
379
  }
168
380
  catch (error) {
@@ -186,29 +398,42 @@ function EnsureEntityPackageNameSection(content) {
186
398
  const stringMatch = content.match(/entityPackageName\s*:\s*['"]([^'"]*)['"]\s*,?/);
187
399
  if (stringMatch) {
188
400
  const oldValue = stringMatch[1];
189
- const replacement = `entityPackageName: {\n // Converted from string value '${oldValue}' by mj app install\n },`;
401
+ const isDefaultString = oldValue === '' || oldValue === 'mj_generatedentities';
402
+ if (!isDefaultString) {
403
+ throw new Error(`mj.config.cjs sets entityPackageName: '${oldValue}' (a string that applies to ALL non-core schemas). ` +
404
+ `Installing an app needs a per-schema Record, but auto-converting would silently change other schemas ` +
405
+ `to 'mj_generatedentities' (a Record's fallback), not '${oldValue}'. Manually convert entityPackageName ` +
406
+ `to a Record that preserves '${oldValue}' for your existing schemas, then re-run the install.`);
407
+ }
408
+ const replacement = `entityPackageName: {\n },`;
190
409
  return content.replace(stringMatch[0], replacement);
191
410
  }
192
- const insertionPoint = content.lastIndexOf('};');
193
- if (insertionPoint === -1) {
194
- return content;
195
- }
196
411
  const section = `\n entityPackageName: {\n },\n`;
197
- return content.slice(0, insertionPoint) + section + content.slice(insertionPoint);
412
+ return InsertBeforeModuleExportsClose(content, section);
198
413
  }
199
414
  function AddEntityPackageEntry(content, schemaName, packageName) {
200
415
  content = RemoveEntityPackageEntry(content, schemaName);
201
416
  const recordMatch = content.match(/entityPackageName\s*:\s*\{/);
202
417
  if (!recordMatch || recordMatch.index === undefined) {
203
- return content;
418
+ throw new Error('entityPackageName record not found in mj.config.cjs when adding a schema mapping.');
204
419
  }
205
420
  const bracePos = content.indexOf('{', recordMatch.index);
206
421
  const entryStr = `\n '${schemaName}': '${packageName}',`;
207
422
  return content.slice(0, bracePos + 1) + entryStr + content.slice(bracePos + 1);
208
423
  }
209
424
  function RemoveEntityPackageEntry(content, schemaName) {
210
- const pattern = new RegExp(`\\s*'${EscapeRegex(schemaName)}'\\s*:\\s*'[^']*'\\s*,?`, 'g');
211
- return content.replace(pattern, '');
425
+ const recordMatch = content.match(/entityPackageName\s*:\s*\{/);
426
+ if (!recordMatch || recordMatch.index === undefined) {
427
+ return content;
428
+ }
429
+ const bracePos = content.indexOf('{', recordMatch.index);
430
+ const closePos = FindMatchingBracket(content, bracePos);
431
+ if (closePos === -1) {
432
+ return content;
433
+ }
434
+ const pattern = new RegExp(`\\s*['"]${EscapeRegex(schemaName)}['"]\\s*:\\s*['"][^'"]*['"]\\s*,?`, 'g');
435
+ const inner = content.slice(bracePos + 1, closePos).replace(pattern, '');
436
+ return content.slice(0, bracePos + 1) + inner + content.slice(closePos);
212
437
  }
213
438
  function EscapeRegex(str) {
214
439
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/install/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/install/config-manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { UserInfo, TransactionGroupBase, IMetadataProvider } from '@memberjunction/core';
2
+ import type { MJOpenAppEntity } from '@memberjunction/core-entities';
2
3
  import type { AppStatus, InstallAction, ErrorPhase, InstalledAppInfo, AppInstallCallbacks } from '../types/open-app-types.js';
3
4
  import type { MJAppManifest } from '../manifest/manifest-schema.js';
4
- export declare function RecordAppInstallation(contextUser: UserInfo, manifest: MJAppManifest, callbacks?: AppInstallCallbacks, transactionGroup?: TransactionGroupBase, initialStatus?: AppStatus, provider?: IMetadataProvider): Promise<string>;
5
- export declare function UpdateAppRecord(contextUser: UserInfo, appId: string, updates: Record<string, unknown>, provider?: IMetadataProvider): Promise<void>;
5
+ export declare function RecordAppInstallation(contextUser: UserInfo, manifest: MJAppManifest, callbacks?: AppInstallCallbacks, transactionGroup?: TransactionGroupBase, initialStatus?: AppStatus, provider?: IMetadataProvider, subpath?: string): Promise<string>;
6
+ export declare function UpdateAppRecord(contextUser: UserInfo, appId: string, updates: Partial<MJOpenAppEntity>, provider?: IMetadataProvider): Promise<void>;
6
7
  export declare function SetAppStatus(contextUser: UserInfo, appId: string, status: AppStatus): Promise<void>;
7
8
  export declare function RecordInstallHistoryEntry(contextUser: UserInfo, appId: string, action: InstallAction, manifest: MJAppManifest, details: {
8
9
  PreviousVersion?: string;
@@ -18,8 +19,18 @@ export declare function RecordAppDependencies(contextUser: UserInfo, appId: stri
18
19
  version?: string;
19
20
  repository?: string;
20
21
  }>, transactionGroup?: TransactionGroupBase, provider?: IMetadataProvider): Promise<void>;
21
- export declare function DeleteAppDependencies(contextUser: UserInfo, appId: string): Promise<void>;
22
+ export declare function DeleteAppDependencies(contextUser: UserInfo, appId: string, transactionGroup?: TransactionGroupBase): Promise<void>;
23
+ export declare function ReplaceAppDependenciesAtomically(contextUser: UserInfo, appId: string, dependencies: Record<string, string | {
24
+ version?: string;
25
+ repository?: string;
26
+ }>, provider?: IMetadataProvider): Promise<boolean>;
22
27
  export declare function FindInstalledApp(contextUser: UserInfo, appName: string, provider?: IMetadataProvider): Promise<InstalledAppInfo | null>;
28
+ export interface SchemaShareCheck {
29
+ Shared: boolean;
30
+ CheckFailed: boolean;
31
+ ErrorMessage?: string;
32
+ }
33
+ export declare function CheckSchemaSharedByOtherApps(contextUser: UserInfo, schemaName: string, excludeAppId: string, provider?: IMetadataProvider): Promise<SchemaShareCheck>;
23
34
  export declare function ListInstalledApps(contextUser: UserInfo): Promise<InstalledAppInfo[]>;
24
35
  export declare function FindDependentApps(contextUser: UserInfo, appName: string): Promise<string[]>;
25
36
  //# sourceMappingURL=history-recorder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-recorder.d.ts","sourceRoot":"","sources":["../../src/install/history-recorder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC9H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAuBpE,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,aAAa,EACvB,SAAS,CAAC,EAAE,mBAAmB,EAC/B,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,aAAa,GAAE,SAAoB,EACnC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAsCD,wBAAsB,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAczJ;AAKD,wBAAsB,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzG;AAWD,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE;IACP,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA2BjB;AASD,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAChF,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAMD,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/F;AASD,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgB7I;AAQD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgB1F;AASD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqCjG"}
1
+ {"version":3,"file":"history-recorder.d.ts","sourceRoot":"","sources":["../../src/install/history-recorder.ts"],"names":[],"mappings":"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"}