@enterpriseai/cli 3.19.3 → 3.19.4

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 (79) hide show
  1. package/dist/commands/chat.d.ts.map +1 -1
  2. package/dist/commands/chat.js +116 -35
  3. package/dist/commands/chat.js.map +1 -1
  4. package/dist/commands/eai-managed-source-move.js +2 -2
  5. package/dist/commands/eai-managed-source-move.js.map +1 -1
  6. package/dist/commands/env.js +15 -2
  7. package/dist/commands/env.js.map +1 -1
  8. package/dist/commands/gofer.js +8 -1
  9. package/dist/commands/gofer.js.map +1 -1
  10. package/dist/commands/init.d.ts +2 -0
  11. package/dist/commands/init.d.ts.map +1 -1
  12. package/dist/commands/init.js +155 -8
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/login.d.ts.map +1 -1
  15. package/dist/commands/login.js +6 -2
  16. package/dist/commands/login.js.map +1 -1
  17. package/dist/commands/provision.d.ts.map +1 -1
  18. package/dist/commands/provision.js +25 -8
  19. package/dist/commands/provision.js.map +1 -1
  20. package/dist/commands/publicapi.d.ts.map +1 -1
  21. package/dist/commands/publicapi.js +14 -2
  22. package/dist/commands/publicapi.js.map +1 -1
  23. package/dist/commands/resources.d.ts.map +1 -1
  24. package/dist/commands/resources.js +41 -20
  25. package/dist/commands/resources.js.map +1 -1
  26. package/dist/commands/tenant.js +39 -3
  27. package/dist/commands/tenant.js.map +1 -1
  28. package/dist/commands/types.d.ts +7 -0
  29. package/dist/commands/types.d.ts.map +1 -1
  30. package/dist/commands/types.js +118 -24
  31. package/dist/commands/types.js.map +1 -1
  32. package/dist/commands/verify.d.ts.map +1 -1
  33. package/dist/commands/verify.js +89 -44
  34. package/dist/commands/verify.js.map +1 -1
  35. package/dist/commands/vertical.d.ts.map +1 -1
  36. package/dist/commands/vertical.js +163 -15
  37. package/dist/commands/vertical.js.map +1 -1
  38. package/dist/index.js +22 -8
  39. package/dist/index.js.map +1 -1
  40. package/dist/lib/api.d.ts +21 -2
  41. package/dist/lib/api.d.ts.map +1 -1
  42. package/dist/lib/api.js +135 -34
  43. package/dist/lib/api.js.map +1 -1
  44. package/dist/lib/cloud-env.d.ts +1 -0
  45. package/dist/lib/cloud-env.d.ts.map +1 -1
  46. package/dist/lib/cloud-env.js +28 -15
  47. package/dist/lib/cloud-env.js.map +1 -1
  48. package/dist/lib/config.d.ts +4 -2
  49. package/dist/lib/config.d.ts.map +1 -1
  50. package/dist/lib/config.js +5 -1
  51. package/dist/lib/config.js.map +1 -1
  52. package/dist/lib/eai-managed-source-client-types.d.ts +3 -0
  53. package/dist/lib/eai-managed-source-client-types.d.ts.map +1 -1
  54. package/dist/lib/object-type-export-filesystem.d.ts +13 -0
  55. package/dist/lib/object-type-export-filesystem.d.ts.map +1 -0
  56. package/dist/lib/object-type-export-filesystem.js +112 -0
  57. package/dist/lib/object-type-export-filesystem.js.map +1 -0
  58. package/dist/lib/object-type-export.d.ts +13 -0
  59. package/dist/lib/object-type-export.d.ts.map +1 -0
  60. package/dist/lib/object-type-export.js +173 -0
  61. package/dist/lib/object-type-export.js.map +1 -0
  62. package/dist/lib/output.d.ts.map +1 -1
  63. package/dist/lib/output.js +21 -1
  64. package/dist/lib/output.js.map +1 -1
  65. package/dist/lib/platform-diagnostics.d.ts +21 -0
  66. package/dist/lib/platform-diagnostics.d.ts.map +1 -0
  67. package/dist/lib/platform-diagnostics.js +50 -0
  68. package/dist/lib/platform-diagnostics.js.map +1 -0
  69. package/dist/lib/profile.d.ts +7 -2
  70. package/dist/lib/profile.d.ts.map +1 -1
  71. package/dist/lib/profile.js +139 -4
  72. package/dist/lib/profile.js.map +1 -1
  73. package/dist/lib/schema-builder.d.ts +2 -0
  74. package/dist/lib/schema-builder.d.ts.map +1 -1
  75. package/dist/lib/schema-builder.js +5 -0
  76. package/dist/lib/schema-builder.js.map +1 -1
  77. package/package.json +2 -2
  78. package/resources/deploy/eai-app-template/producer-pin.json +4 -4
  79. package/resources/linked-sources.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,WAAW,SACgB,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyGpC,eAAO,MAAM,WAAW,SACgB,CAAC"}
@@ -6,6 +6,120 @@ import { randomUUID } from 'node:crypto';
6
6
  import chalk from 'chalk';
7
7
  import { resolveCommandContext } from '../lib/context.js';
8
8
  import * as out from '../lib/output.js';
9
+ import { safePlatformDiagnostics, formatSafePlatformFailure } from '../lib/platform-diagnostics.js';
10
+ class ChatStreamError extends Error {
11
+ }
12
+ async function printChatStream(body) {
13
+ const reader = body.getReader();
14
+ const decoder = new TextDecoder();
15
+ let buffer = '';
16
+ let dataLines = [];
17
+ let eventType = '';
18
+ const dispatchEvent = () => {
19
+ if (dataLines.length === 0) {
20
+ eventType = '';
21
+ return false;
22
+ }
23
+ const data = dataLines.join('\n');
24
+ dataLines = [];
25
+ const declaredType = eventType;
26
+ eventType = '';
27
+ if (data === '[DONE]') {
28
+ if (declaredType === 'error')
29
+ throw new ChatStreamError('Chat stream failed. Retry the request or contact support.');
30
+ return true;
31
+ }
32
+ let parsed;
33
+ try {
34
+ parsed = JSON.parse(data);
35
+ }
36
+ catch {
37
+ // Preserve legacy streams that send plain text data frames.
38
+ if (declaredType === 'error')
39
+ throw new ChatStreamError('Chat stream failed. Retry the request or contact support.');
40
+ process.stdout.write(data);
41
+ return false;
42
+ }
43
+ if (declaredType === 'error' && (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))) {
44
+ throw new ChatStreamError('Chat stream failed. Retry the request or contact support.');
45
+ }
46
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
47
+ return false;
48
+ const event = parsed;
49
+ const kind = event.type ?? event.event ?? declaredType;
50
+ if (declaredType === 'error' || event.type === 'error' || event.event === 'error') {
51
+ throw new ChatStreamError(formatSafePlatformFailure('Chat stream', safePlatformDiagnostics(502, {
52
+ ...event, details: event.data,
53
+ })));
54
+ }
55
+ if (kind === 'done')
56
+ return true;
57
+ if (kind === 'token') {
58
+ if (typeof event.data !== 'string')
59
+ throw new ChatStreamError('Chat stream returned an invalid token');
60
+ process.stdout.write(event.data);
61
+ }
62
+ else if (typeof event.content === 'string') {
63
+ process.stdout.write(event.content);
64
+ }
65
+ else if (typeof event.text === 'string') {
66
+ process.stdout.write(event.text);
67
+ }
68
+ return false;
69
+ };
70
+ try {
71
+ let complete = false;
72
+ while (!complete) {
73
+ const { done, value } = await reader.read();
74
+ buffer += done ? decoder.decode() : decoder.decode(value, { stream: true });
75
+ while (true) {
76
+ const lineEnd = buffer.search(/[\r\n]/);
77
+ if (lineEnd < 0)
78
+ break;
79
+ // A CR may be the first half of a CRLF split across network chunks.
80
+ if (buffer[lineEnd] === '\r' && lineEnd === buffer.length - 1 && !done)
81
+ break;
82
+ const line = buffer.slice(0, lineEnd);
83
+ const delimiterLength = buffer[lineEnd] === '\r' && buffer[lineEnd + 1] === '\n' ? 2 : 1;
84
+ buffer = buffer.slice(lineEnd + delimiterLength);
85
+ if (line === '') {
86
+ complete = dispatchEvent();
87
+ if (complete)
88
+ break;
89
+ }
90
+ else {
91
+ const colon = line.indexOf(':');
92
+ const field = colon < 0 ? line : line.slice(0, colon);
93
+ const rawValue = colon < 0 ? '' : line.slice(colon + 1);
94
+ const fieldValue = rawValue.startsWith(' ') ? rawValue.slice(1) : rawValue;
95
+ if (field === 'data')
96
+ dataLines.push(fieldValue);
97
+ else if (field === 'event')
98
+ eventType = fieldValue;
99
+ }
100
+ }
101
+ if (done && !complete)
102
+ throw new ChatStreamError('Chat stream ended before completion');
103
+ }
104
+ }
105
+ catch (error) {
106
+ if (error instanceof ChatStreamError)
107
+ throw error;
108
+ throw new ChatStreamError('Chat stream could not be completed. Retry the request or contact support.');
109
+ }
110
+ finally {
111
+ // Stop the HTTP body even when a terminal frame arrives before EOF.
112
+ try {
113
+ await reader.cancel();
114
+ }
115
+ catch {
116
+ // Keep the original stream/provider failure if the body is already errored.
117
+ }
118
+ finally {
119
+ reader.releaseLock();
120
+ }
121
+ }
122
+ }
9
123
  export const chatCommand = new Command('chat')
10
124
  .description('Chat with AI workflows');
11
125
  // ─── eai chat send ────────────────────────────────────────────────────────
@@ -60,42 +174,9 @@ chatCommand
60
174
  out.error('No response body');
61
175
  process.exit(1);
62
176
  }
63
- // Read SSE stream
64
- const reader = res.body.getReader();
65
- const decoder = new TextDecoder();
66
- let buffer = '';
67
- while (true) {
68
- const { done, value } = await reader.read();
69
- if (done)
70
- break;
71
- buffer += decoder.decode(value, { stream: true });
72
- const lines = buffer.split('\n');
73
- buffer = lines.pop() || '';
74
- for (const line of lines) {
75
- if (line.startsWith('data: ')) {
76
- const data = line.slice(6);
77
- if (data === '[DONE]') {
78
- out.blank();
79
- out.success('Stream complete');
80
- return;
81
- }
82
- try {
83
- const parsed = JSON.parse(data);
84
- if (parsed.content) {
85
- process.stdout.write(parsed.content);
86
- }
87
- else if (parsed.text) {
88
- process.stdout.write(parsed.text);
89
- }
90
- }
91
- catch {
92
- // Non-JSON data event, print raw
93
- process.stdout.write(data);
94
- }
95
- }
96
- }
97
- }
177
+ await printChatStream(res.body);
98
178
  out.blank();
179
+ out.success('Stream complete');
99
180
  }
100
181
  catch (err) {
101
182
  out.error(err instanceof Error ? err.message : String(err));
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ eaiManagedSourceCommand.command("move")
58
58
  const source = validateCliManagedSourceOperation(await responseOperation(await client.getCliManagedSourceOperation(scope.tenantId, appKey, options.sourceOperation, scope.targetTenantId, scope.environment)), scope, { operationId: options.sourceOperation });
59
59
  if (source.status !== "completed"
60
60
  || !Number.isSafeInteger(source.repository.id) || (source.repository.id ?? 0) < 1
61
- || !source.repository.nodeId || !/^[a-f0-9]{40}$/.test(source.review?.mergedSha || "")) {
61
+ || !source.repository.nodeId || !/^[a-f0-9]{40}$/.test(source.review?.mergedCommitSha || "")) {
62
62
  fail("SOURCE_MOVE_NOT_READY", "The exact source operation lacks completed review and immutable repository evidence.", "Finish the original EAI-managed deployment, then retry this exact source operation.");
63
63
  }
64
64
  const deployment = await readUnifiedExactOperation(client, scope.tenantId, scope.targetTenantId, appKey, options.sourceOperation);
@@ -66,7 +66,7 @@ eaiManagedSourceCommand.command("move")
66
66
  || deployment.environment !== scope.environment
67
67
  || classifyManagedOperationStatus(deployment) !== "succeeded"
68
68
  || deployment.sourceRevision?.repositoryId !== source.repository.id
69
- || deployment.sourceRevision?.sourceCommitSha !== source.review?.mergedSha) {
69
+ || deployment.sourceRevision?.sourceCommitSha !== source.review?.mergedCommitSha) {
70
70
  fail("SOURCE_MOVE_DEPLOYMENT_MISMATCH", "The exact CLI source is not the observed active deployment.", "Resolve the original deployment and read its current source receipt before moving ownership.");
71
71
  }
72
72
  const url = new URL(`/platform/apps/${encodeURIComponent(appKey)}/deployment`, cliManagedSourceMovePortalOrigin(context.publicApiUrl));
@@ -1 +1 @@
1
- {"version":3,"file":"eai-managed-source-move.js","sourceRoot":"","sources":["../../src/commands/eai-managed-source-move.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eai-managed-source-move.js","sourceRoot":"","sources":["../../src/commands/eai-managed-source-move.ts"],"names":[],"mappings":"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"}
@@ -55,11 +55,14 @@ Examples:
55
55
  }
56
56
  const spinner = ora(`Pulling config from ${store} (label: ${label})`).start();
57
57
  try {
58
- const { patches, secretRefs } = await pullCloudEnvValues({
58
+ const cloudValues = await pullCloudEnvValues({
59
59
  environment: options.env,
60
60
  label,
61
61
  includeSecrets: options.includeSecrets,
62
62
  });
63
+ // This is a workstation-local CLI selector, never cloud app configuration.
64
+ const patches = Object.fromEntries(Object.entries(cloudValues.patches).filter(([key]) => key !== 'EAI_PROFILE'));
65
+ const secretRefs = cloudValues.secretRefs.filter((ref) => ref.key !== 'EAI_PROFILE');
63
66
  spinner.succeed(`Found ${Object.keys(patches).length + (!options.includeSecrets ? secretRefs.length : 0)} config values`);
64
67
  for (const [key, value] of Object.entries(patches)) {
65
68
  if (secretRefs.some((ref) => ref.key === key)) {
@@ -160,7 +163,11 @@ envCommand
160
163
  if (!label) {
161
164
  exitWithError(ErrorCode.E303, { field: '--label or NEXT_PUBLIC_APP_NAME' });
162
165
  }
163
- const keysToSync = options.key ? [options.key] : Object.keys(env);
166
+ if (options.key === 'EAI_PROFILE') {
167
+ out.info('EAI_PROFILE is a local CLI selector and is not synced to cloud configuration.');
168
+ return;
169
+ }
170
+ const keysToSync = (options.key ? [options.key] : Object.keys(env)).filter((key) => key !== 'EAI_PROFILE');
164
171
  let store;
165
172
  try {
166
173
  store = resolveAppConfigStore(options.env);
@@ -171,6 +178,7 @@ envCommand
171
178
  }
172
179
  const spinner = ora(`Pushing ${keysToSync.length} values to ${store} (label: ${label})`).start();
173
180
  let pushed = 0;
181
+ const failedKeys = [];
174
182
  for (const key of keysToSync) {
175
183
  if (!env[key])
176
184
  continue;
@@ -189,9 +197,14 @@ envCommand
189
197
  pushed++;
190
198
  }
191
199
  catch (_err) {
200
+ failedKeys.push(key);
192
201
  spinner.warn(`Failed to push ${key}`);
193
202
  }
194
203
  }
204
+ if (failedKeys.length > 0) {
205
+ spinner.fail(`Pushed ${pushed} values to ${store} (label: ${label}); ${failedKeys.length} failed: ${failedKeys.join(', ')}`);
206
+ process.exit(1);
207
+ }
195
208
  spinner.succeed(`Pushed ${pushed} values to ${store} (label: ${label})`);
196
209
  });
197
210
  function truncate(s, max) {
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,14 @@ goferCommand
47
47
  firstRefresh: plan.firstRefresh,
48
48
  bundle: plan.bundle,
49
49
  summary: plan.summary,
50
- items: actionableItems,
50
+ items: actionableItems.map((item) => ({
51
+ relativePath: item.relativePath,
52
+ action: item.action,
53
+ source: item.source,
54
+ desiredHash: item.desiredHash,
55
+ currentHash: item.currentHash,
56
+ executable: item.executable,
57
+ })),
51
58
  });
52
59
  return;
53
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gofer.js","sourceRoot":"","sources":["../../src/commands/gofer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gofer.js","sourceRoot":"","sources":["../../src/commands/gofer.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,8 @@ interface ExistingAppSelection {
106
106
  }
107
107
  /** Select one exact app enrollment and derive its recorded runtime tenant. */
108
108
  export declare function selectExistingAppSelection(payload: unknown, requestedAppKey: string): ExistingAppSelection;
109
+ /** Serialize init writers; existing-target rename is atomic, not a filesystem compare-and-swap. */
110
+ export declare function updateInitProjectFile(targetDir: string, name: ".gitignore" | ".env.local", update: (content: Buffer) => Buffer, mode?: number): Promise<void>;
109
111
  export declare function isMissingGitIdentity(error: unknown): boolean;
110
112
  export declare function describeGitCommitFailure(error: unknown): string;
111
113
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import { execFile } from "node:child_process";
6
6
  import { createRequire } from "node:module";
7
7
  import { tmpdir } from "node:os";
8
8
  import { promisify } from "node:util";
9
- import { readFile, writeFile, access, mkdir, rm, cp, mkdtemp, chmod, realpath, } from "node:fs/promises";
9
+ import { constants } from "node:fs";
10
+ import { readFile, writeFile, access, mkdir, rm, cp, mkdtemp, chmod, realpath, lstat, open, link, rename, unlink, } from "node:fs/promises";
10
11
  import { basename, join, resolve } from "node:path";
11
12
  import { randomBytes } from "node:crypto";
12
13
  import ora from "ora";
@@ -19,7 +20,7 @@ import { browserLogin, isAuthenticated, loadTokens, resolveAuthConfig, storeToke
19
20
  import { publicApiUrlForHomeRegion, resolveActiveTenantContext, resolveMainCompanyTenantId, resolvePublicApiUrl, } from "../lib/tenant-context.js";
20
21
  import { buildTenantHierarchy, promptForTenantFromHierarchy, } from "../lib/tenant-hierarchy.js";
21
22
  import { isManagedPublicRequestTimeout, parseApiError, readManagedPublicResponseText, PlatformAPIClient, } from "../lib/api.js";
22
- import { entraScopeEnvPatch, findProjectRoot, patchEnvFile } from "../lib/config.js";
23
+ import { entraScopeEnvPatch, findProjectRoot, patchEnvContent } from "../lib/config.js";
23
24
  import { pullCloudEnvValues } from "../lib/cloud-env.js";
24
25
  import { findGuidance } from "../lib/error-guidance/match.js";
25
26
  import { formatGuidanceText } from "../lib/error-guidance/render.js";
@@ -528,13 +529,16 @@ Use --no-gofer only when you need a bare app scaffold.
528
529
  // Step 3: Generate .env.local with placeholders
529
530
  const envSpinner = startEaiStep("Generating .env.local...");
530
531
  try {
532
+ await ensureLocalEnvIgnored(targetDir);
531
533
  const envContent = generateEnvFile(initOptions);
532
- await writeFile(join(targetDir, ".env.local"), envContent, "utf-8");
534
+ await updateInitProjectFile(targetDir, ".env.local", () => Buffer.from(envContent), 0o600);
533
535
  await hydrateEnvFromLoginContext(targetDir, initOptions.name, initOptions.parentTenantId, initOptions.tenantId, initOptions.tenantHomeRegion, initOptions.appKey);
534
536
  envSpinner.succeed("Generated .env.local");
535
537
  }
536
- catch (_err) {
538
+ catch (err) {
537
539
  envSpinner.fail("Failed to generate .env.local");
540
+ out.error(errMsg(err));
541
+ process.exit(1);
538
542
  }
539
543
  // Step 4: Generate Object Types scaffold
540
544
  const typesSpinner = startEaiStep("Creating Object Types scaffold...");
@@ -1115,7 +1119,7 @@ async function provisionEntraInline(targetDir, appName, tenantId, publicApiUrl)
1115
1119
  }
1116
1120
  const scopeEnv = entraScopeEnvPatch(result.scopes);
1117
1121
  if (result.clientSecret) {
1118
- await patchEnvFile(targetDir, {
1122
+ await patchInitEnvFile(targetDir, {
1119
1123
  ENTRA_CLIENT_ID: result.clientId,
1120
1124
  ENTRA_CLIENT_SECRET: result.clientSecret,
1121
1125
  AUTH_URL: authEndpointUrl,
@@ -1128,7 +1132,7 @@ async function provisionEntraInline(targetDir, appName, tenantId, publicApiUrl)
1128
1132
  return true;
1129
1133
  }
1130
1134
  if (result.existing) {
1131
- await patchEnvFile(targetDir, {
1135
+ await patchInitEnvFile(targetDir, {
1132
1136
  ENTRA_CLIENT_ID: result.clientId,
1133
1137
  AUTH_URL: authEndpointUrl,
1134
1138
  NEXTAUTH_URL: authSiteUrl,
@@ -1168,7 +1172,7 @@ async function hydrateCloudSecret(targetDir, appName) {
1168
1172
  if (!secret) {
1169
1173
  return false;
1170
1174
  }
1171
- await patchEnvFile(targetDir, { ENTRA_CLIENT_SECRET: secret });
1175
+ await patchInitEnvFile(targetDir, { ENTRA_CLIENT_SECRET: secret });
1172
1176
  return true;
1173
1177
  }
1174
1178
  catch {
@@ -1516,6 +1520,9 @@ async function hydrateEnvFromLoginContext(targetDir, appName, parentTenantId, pl
1516
1520
  const envKey = appName.replace(/-/g, "_").toUpperCase();
1517
1521
  const regionalPublicApiUrl = publicApiUrlForHomeRegion(tenantHomeRegion);
1518
1522
  const profileName = getActiveProfile();
1523
+ // Persist only the selector. Private profile auth/API settings and CLI tokens
1524
+ // remain in the user's local CLI configuration, outside the app repository.
1525
+ patches.EAI_PROFILE = profileName;
1519
1526
  const profileConfig = await loadProfileConfig(profileName);
1520
1527
  if (profileConfig?.publicApiUrl) {
1521
1528
  patches.BASE_URL_PUBLIC_API = profileConfig.publicApiUrl;
@@ -1565,7 +1572,147 @@ async function hydrateEnvFromLoginContext(targetDir, appName, parentTenantId, pl
1565
1572
  patches.NEXT_PUBLIC_EAI_APP_KEY = appKey;
1566
1573
  }
1567
1574
  if (Object.keys(patches).length > 0) {
1568
- await patchEnvFile(targetDir, patches);
1575
+ await patchInitEnvFile(targetDir, patches);
1576
+ }
1577
+ }
1578
+ /** Apply every init hydration/provisioning patch through the protected credential writer. */
1579
+ async function patchInitEnvFile(targetDir, patches) {
1580
+ await updateInitProjectFile(targetDir, ".env.local", content => Buffer.from(patchEnvContent(content.toString("utf8"), patches)), 0o600);
1581
+ }
1582
+ async function ensureLocalEnvIgnored(targetDir) {
1583
+ await updateInitProjectFile(targetDir, ".gitignore", (content) => {
1584
+ // Last-match precedence also protects custom templates which unignore env files.
1585
+ const separator = content.length && content[content.length - 1] !== 10 ? "\n" : "";
1586
+ return Buffer.concat([content, Buffer.from(`${separator}\n# Local app credentials and EAI CLI profile selector\n/.env.local\n/.env.local.eai-*.tmp\n`)]);
1587
+ });
1588
+ }
1589
+ /** Serialize init writers; existing-target rename is atomic, not a filesystem compare-and-swap. */
1590
+ export async function updateInitProjectFile(targetDir, name, update, mode) {
1591
+ const root = await realpath(targetDir);
1592
+ const parent = await lstat(root);
1593
+ const lockPath = join(root, `${name}.eai-init.lock`);
1594
+ const lock = await open(lockPath, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW || 0), 0o600);
1595
+ const ownedLock = await lock.stat();
1596
+ const assertLock = async () => {
1597
+ const current = await lstat(lockPath);
1598
+ if (!current.isFile() || current.nlink !== 1 || current.dev !== ownedLock.dev || current.ino !== ownedLock.ino) {
1599
+ throw new Error(`Project ${name} initialization lock changed; inspect the project files before retrying.`);
1600
+ }
1601
+ };
1602
+ const releaseOwnedLock = async () => {
1603
+ await lock.close();
1604
+ try {
1605
+ const current = await lstat(lockPath);
1606
+ if (current.isFile() && current.nlink === 1 && current.dev === ownedLock.dev && current.ino === ownedLock.ino)
1607
+ await unlink(lockPath);
1608
+ }
1609
+ catch (error) {
1610
+ if (error.code !== "ENOENT")
1611
+ throw error;
1612
+ }
1613
+ };
1614
+ try {
1615
+ await assertLock();
1616
+ await updateLockedInitProjectFile(root, parent, name, update, mode, assertLock);
1617
+ }
1618
+ finally {
1619
+ await releaseOwnedLock();
1620
+ }
1621
+ }
1622
+ async function updateLockedInitProjectFile(root, parent, name, update, mode, assertLock) {
1623
+ const path = join(root, name);
1624
+ const maxBytes = 1024 * 1024;
1625
+ const unsafe = () => new Error(`Project ${name} must be an unlinked regular file within 1 MiB.`);
1626
+ const sameFile = (left, right) => left.dev === right.dev && left.ino === right.ino
1627
+ && left.size === right.size && left.mtimeMs === right.mtimeMs && left.ctimeMs === right.ctimeMs
1628
+ && left.mode === right.mode && right.isFile() && right.nlink === 1;
1629
+ const statLeaf = async () => {
1630
+ try {
1631
+ return await lstat(path);
1632
+ }
1633
+ catch (error) {
1634
+ if (error.code === "ENOENT")
1635
+ return null;
1636
+ throw error;
1637
+ }
1638
+ };
1639
+ const original = await statLeaf();
1640
+ if (original && (!original.isFile() || original.isSymbolicLink() || original.nlink !== 1 || original.size > maxBytes))
1641
+ throw unsafe();
1642
+ let content = Buffer.alloc(0);
1643
+ if (original) {
1644
+ const file = await open(path, constants.O_RDONLY | (constants.O_NOFOLLOW || 0) | (constants.O_NONBLOCK || 0));
1645
+ try {
1646
+ const opened = await file.stat();
1647
+ if (!sameFile(original, opened))
1648
+ throw unsafe();
1649
+ const buffer = Buffer.alloc(maxBytes + 1);
1650
+ let length = 0;
1651
+ while (length < buffer.length) {
1652
+ const { bytesRead } = await file.read(buffer, length, buffer.length - length, null);
1653
+ if (!bytesRead)
1654
+ break;
1655
+ length += bytesRead;
1656
+ }
1657
+ if (length !== original.size || length > maxBytes || !sameFile(original, await file.stat()))
1658
+ throw unsafe();
1659
+ content = buffer.subarray(0, length);
1660
+ }
1661
+ finally {
1662
+ await file.close();
1663
+ }
1664
+ }
1665
+ const assertUnchanged = async () => {
1666
+ const current = await statLeaf();
1667
+ const parentAfter = await lstat(root);
1668
+ if ((original ? !current || !sameFile(original, current) : current !== null)
1669
+ || parent.dev !== parentAfter.dev || parent.ino !== parentAfter.ino || !parentAfter.isDirectory()) {
1670
+ throw new Error(`Project ${name} changed during initialization; retry after checking the project files.`);
1671
+ }
1672
+ };
1673
+ await assertUnchanged();
1674
+ const updated = update(content);
1675
+ const temporary = join(root, `${name}.eai-${randomBytes(16).toString("hex")}.tmp`);
1676
+ const file = await open(temporary, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW || 0), 0o600);
1677
+ const ownedTemporary = await file.stat();
1678
+ const removeOwnedTemporary = async () => {
1679
+ try {
1680
+ const current = await lstat(temporary);
1681
+ if (current.isFile() && current.dev === ownedTemporary.dev && current.ino === ownedTemporary.ino)
1682
+ await unlink(temporary);
1683
+ }
1684
+ catch (error) {
1685
+ if (error.code !== "ENOENT")
1686
+ throw error;
1687
+ }
1688
+ };
1689
+ try {
1690
+ await file.writeFile(updated);
1691
+ await file.chmod(mode ?? (original ? original.mode & 0o777 : 0o666 & ~process.umask()));
1692
+ await file.sync();
1693
+ const written = await file.stat();
1694
+ if (!sameFile(written, await lstat(temporary)))
1695
+ throw unsafe();
1696
+ await assertLock();
1697
+ await assertUnchanged();
1698
+ // link publishes an absent target without replacing a concurrent occupant.
1699
+ // Existing targets are rechecked under the cooperative lock, then renamed.
1700
+ if (original)
1701
+ await rename(temporary, path);
1702
+ else {
1703
+ await link(temporary, path);
1704
+ await removeOwnedTemporary();
1705
+ }
1706
+ const published = await statLeaf();
1707
+ const parentAfter = await lstat(root);
1708
+ if (!published || !sameFile(await file.stat(), published)
1709
+ || parent.dev !== parentAfter.dev || parent.ino !== parentAfter.ino || !parentAfter.isDirectory()) {
1710
+ throw new Error(`Project ${name} publication could not be verified; inspect the project files before retrying.`);
1711
+ }
1712
+ }
1713
+ finally {
1714
+ await file.close();
1715
+ await removeOwnedTemporary();
1569
1716
  }
1570
1717
  }
1571
1718
  function toDisplayName(name) {