@enterpriseai/cli 3.19.1 → 3.19.3
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.
- package/README.md +28 -0
- package/dist/commands/eai-managed-deploy-customer-source.d.ts.map +1 -1
- package/dist/commands/eai-managed-deploy-customer-source.js +24 -0
- package/dist/commands/eai-managed-deploy-customer-source.js.map +1 -1
- package/dist/commands/eai-managed-deploy-github-dispatch.d.ts.map +1 -1
- package/dist/commands/eai-managed-deploy-github-dispatch.js +30 -0
- package/dist/commands/eai-managed-deploy-github-dispatch.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +33 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/provision.js +2 -5
- package/dist/commands/provision.js.map +1 -1
- package/dist/commands/support.d.ts +18 -0
- package/dist/commands/support.d.ts.map +1 -0
- package/dist/commands/support.js +110 -0
- package/dist/commands/support.js.map +1 -0
- package/dist/commands/types.d.ts +5 -1
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js +55 -12
- package/dist/commands/types.js.map +1 -1
- package/dist/index.js +34 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-guide.d.ts.map +1 -1
- package/dist/lib/agent-guide.js +25 -4
- package/dist/lib/agent-guide.js.map +1 -1
- package/dist/lib/api.d.ts +4 -2
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +17 -5
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +8 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/eai-managed-deploy-contract.d.ts +4 -0
- package/dist/lib/eai-managed-deploy-contract.d.ts.map +1 -1
- package/dist/lib/eai-managed-deploy-contract.js.map +1 -1
- package/dist/lib/eai-managed-deploy-operation.d.ts.map +1 -1
- package/dist/lib/eai-managed-deploy-operation.js +14 -0
- package/dist/lib/eai-managed-deploy-operation.js.map +1 -1
- package/dist/lib/eai-managed-deploy-state.d.ts.map +1 -1
- package/dist/lib/eai-managed-deploy-state.js +15 -1
- package/dist/lib/eai-managed-deploy-state.js.map +1 -1
- package/dist/lib/error-codes.d.ts.map +1 -1
- package/dist/lib/error-codes.js +6 -3
- package/dist/lib/error-codes.js.map +1 -1
- package/dist/lib/output.d.ts +1 -0
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +3 -0
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/profile.d.ts +2 -0
- package/dist/lib/profile.d.ts.map +1 -1
- package/dist/lib/profile.js.map +1 -1
- package/dist/lib/support-context.d.ts +31 -0
- package/dist/lib/support-context.d.ts.map +1 -0
- package/dist/lib/support-context.js +193 -0
- package/dist/lib/support-context.js.map +1 -0
- package/dist/lib/support-redaction.d.ts +10 -0
- package/dist/lib/support-redaction.d.ts.map +1 -0
- package/dist/lib/support-redaction.js +44 -0
- package/dist/lib/support-redaction.js.map +1 -0
- package/dist/lib/support-report.d.ts +68 -0
- package/dist/lib/support-report.d.ts.map +1 -0
- package/dist/lib/support-report.js +165 -0
- package/dist/lib/support-report.js.map +1 -0
- package/package.json +5 -4
- package/resources/deploy/eai-app-template/.github/workflows/eai-app.yml +46 -13
- package/resources/deploy/eai-app-template/producer-pin.json +8 -8
- package/resources/deploy/eai-app-template/scripts/source-unknown-deployment-evidence.mjs +29 -2
- package/resources/deploy/eai-app-template/tests/source-unknown-deployment-evidence.test.mjs +2239 -1
- package/resources/gofer/agents-skills/eai/SKILL.md +20 -0
- package/resources/gofer/claude-commands/eai.md +20 -0
- package/resources/gofer/claude-skills/eai/SKILL.md +20 -0
- package/resources/gofer/commands/0_gofer_start.md +18 -0
- package/resources/gofer/commands/gofer_eai_first_run.md +18 -0
- package/resources/gofer/copilot-prompts/eai.prompt.md +20 -0
- package/resources/gofer/gemini/commands/gofer/eai.md +20 -0
- package/resources/gofer/github-skills/eai/SKILL.md +20 -0
- package/resources/gofer/grok-skills/eai/SKILL.md +20 -0
- package/resources/gofer/instruction-templates/base/agents-base.md +18 -0
- package/resources/gofer/instruction-templates/base/claude-base.md +18 -0
- package/resources/gofer/instruction-templates/base/copilot-base.md +18 -0
- package/resources/gofer/instruction-templates/gofer/gofer-claude.md +4 -0
- package/resources/gofer/node-scripts/generate-commands.mjs +26 -0
- package/resources/gofer/references/platform/eai-support.md +19 -0
- package/resources/gofer/specify-commands/0_gofer_start.md +18 -0
- package/resources/gofer/specify-commands/gofer_eai_first_run.md +18 -0
- package/resources/gofer/system-skills/eai/SKILL.md +20 -0
- package/resources/linked-sources.json +2 -2
package/README.md
CHANGED
|
@@ -506,6 +506,34 @@ prerequisite calls return `MISSING_TENANT` or "Tenant context required for app
|
|
|
506
506
|
tokens"; retry workspace-scoped V4 platform routes before changing workspace members,
|
|
507
507
|
role definitions, Entra configuration, databases, or cloud portals.
|
|
508
508
|
|
|
509
|
+
## Support reports
|
|
510
|
+
|
|
511
|
+
Run `eai support` after an unresolved CLI failure. It shows a locally redacted
|
|
512
|
+
report and asks before sending. The report includes the last failing command,
|
|
513
|
+
catalog error code and reason, CLI version, OS, and known workspace/app context.
|
|
514
|
+
Credentials and unrelated environment settings are excluded.
|
|
515
|
+
Saved failure context contains command and catalog metadata only. Raw error text
|
|
516
|
+
is never saved for a later report; recognized errors use the catalog's title.
|
|
517
|
+
|
|
518
|
+
For an AI harness, preview first:
|
|
519
|
+
|
|
520
|
+
```bash
|
|
521
|
+
eai support --source harness --tool codex --format json
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
Show the person the returned bundle. After they explicitly approve that report,
|
|
525
|
+
rerun the same command with `--yes`. JSON runs without `--yes` never send a report.
|
|
526
|
+
The returned link contains only a draft id and one-time token in its fragment.
|
|
527
|
+
Open it to review and submit the report before the draft expires.
|
|
528
|
+
|
|
529
|
+
A missing or expired `eai login` session, or a website 401, returns the plain
|
|
530
|
+
Support link and creates no draft. `--no-open` prints the link without opening a
|
|
531
|
+
browser. Reports never go in URL parameters.
|
|
532
|
+
|
|
533
|
+
Existing projects can preview updated harness instructions with
|
|
534
|
+
`eai gofer refresh --check`, then apply the supported refresh. `eai update`
|
|
535
|
+
upgrades the CLI package; it does not rewrite project instructions.
|
|
536
|
+
|
|
509
537
|
## Machine-Readable Output
|
|
510
538
|
|
|
511
539
|
Most data-returning commands that advertise `--format <format>` support
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eai-managed-deploy-customer-source.d.ts","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-customer-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAWjE,OAAO,EAKL,KAAK,6BAA6B,EACnC,MAAM,kCAAkC,CAAC;AAa1C,uGAAuG;AACvG,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,6BAA6B,EACxC,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"eai-managed-deploy-customer-source.d.ts","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-customer-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAWjE,OAAO,EAKL,KAAK,6BAA6B,EACnC,MAAM,kCAAkC,CAAC;AAa1C,uGAAuG;AACvG,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,6BAA6B,EACxC,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CA4Mf"}
|
|
@@ -31,6 +31,10 @@ export async function startCustomerSource(execution, link) {
|
|
|
31
31
|
await verifyGitHubAccess(repository.slug, source.branch, source.commitSha, undefined, verifiedGithubUser);
|
|
32
32
|
const configHash = await buildManagedDeployConfigHash(context.root, rootBinding);
|
|
33
33
|
const ref = `refs/heads/${source.branch}`;
|
|
34
|
+
const localE2eTunnel = /^https:\/\/[a-z0-9-]+-8000\.[a-z0-9-]+\.devtunnels\.ms$/.test(context.publicApiUrl);
|
|
35
|
+
if (localE2eTunnel && !["dev", "preview"].includes(options.environment)) {
|
|
36
|
+
fail("LOCAL_SOURCE_UNKNOWN_ENVIRONMENT_INVALID", "A local callback requires DEV or preview.", "Select an authorized DEV profile.");
|
|
37
|
+
}
|
|
34
38
|
await rootBinding.assert();
|
|
35
39
|
await requireApiSuccess(await client.registerSourceUnknownApp(context.tenantId, appKey, {
|
|
36
40
|
repoOwner: repository.owner,
|
|
@@ -56,6 +60,7 @@ export async function startCustomerSource(execution, link) {
|
|
|
56
60
|
configHash,
|
|
57
61
|
targetTenantId,
|
|
58
62
|
deployOnSuccess: true,
|
|
63
|
+
localE2eTunnel,
|
|
59
64
|
githubLinkSessionId: link.sessionId,
|
|
60
65
|
}), "WORKFLOW_SETUP_FAILED", () => "Confirm the app enrollment, repository authority, exact commit, and target tenant binding, then retry.");
|
|
61
66
|
const operationId = typeof setup.operationId === "string" ? setup.operationId : "";
|
|
@@ -87,6 +92,25 @@ export async function startCustomerSource(execution, link) {
|
|
|
87
92
|
publicApiUrl: context.publicApiUrl,
|
|
88
93
|
profileName: getActiveProfile(),
|
|
89
94
|
};
|
|
95
|
+
const setupBinding = setup.setup && typeof setup.setup === "object" ? setup.setup : {};
|
|
96
|
+
const localBinding = setupBinding.localE2e && typeof setupBinding.localE2e === "object"
|
|
97
|
+
? setupBinding.localE2e : null;
|
|
98
|
+
if (localE2eTunnel) {
|
|
99
|
+
if (!localBinding || localBinding.mode !== "source-unknown-local-v1"
|
|
100
|
+
|| localBinding.origin !== context.publicApiUrl
|
|
101
|
+
|| typeof localBinding.expiresAt !== "string"
|
|
102
|
+
|| typeof localBinding.nonceDigest !== "string"
|
|
103
|
+
|| typeof localBinding.audience !== "string") {
|
|
104
|
+
fail("LOCAL_SOURCE_UNKNOWN_SETUP_INVALID", "Server setup did not bind the exact local callback.", "Start a fresh source operation after the local DEV configuration is repaired.");
|
|
105
|
+
}
|
|
106
|
+
state.localE2eOrigin = localBinding.origin;
|
|
107
|
+
state.localE2eExpiresAt = localBinding.expiresAt;
|
|
108
|
+
state.localE2eNonceDigest = localBinding.nonceDigest;
|
|
109
|
+
state.localE2eAudience = localBinding.audience;
|
|
110
|
+
}
|
|
111
|
+
else if (localBinding !== null) {
|
|
112
|
+
fail("LOCAL_SOURCE_UNKNOWN_SETUP_UNEXPECTED", "Regional setup unexpectedly contains a local callback.", "Do not dispatch this operation.");
|
|
113
|
+
}
|
|
90
114
|
await saveManagedDeployState(state);
|
|
91
115
|
const issuedOperation = await readExactOperation(client, state.tenantId, state.targetTenantId, state.appKey, state.operationId);
|
|
92
116
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eai-managed-deploy-customer-source.js","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-customer-source.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eai-managed-deploy-customer-source.js","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-customer-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eai-managed-deploy-github-dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-github-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"eai-managed-deploy-github-dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-github-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,8BAA8B,CAAC;AAqGtC,+GAA+G;AAC/G,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAiJf"}
|
|
@@ -4,6 +4,11 @@ import { verifyGitHubAccess } from "./eai-managed-deploy-github-access.js";
|
|
|
4
4
|
function managedWorkflowRunName(state) {
|
|
5
5
|
return `EAI deploy ${state.appKey} (${state.operationId})`;
|
|
6
6
|
}
|
|
7
|
+
function requireFreshLocalDispatch(state) {
|
|
8
|
+
if (state.localE2eExpiresAt && Date.parse(state.localE2eExpiresAt) <= Date.now()) {
|
|
9
|
+
fail("LOCAL_SOURCE_UNKNOWN_EXPIRED", "The local source callback binding expired before GitHub dispatch.", "Start a fresh source operation; the original operation remains available for read-only inspection.");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
7
12
|
async function findManagedWorkflowRun(state, claimedAt, runCommand = run) {
|
|
8
13
|
let parsed;
|
|
9
14
|
try {
|
|
@@ -59,6 +64,17 @@ export async function dispatchWorkflow(state, publicApiUrl, root) {
|
|
|
59
64
|
if (state.publicApiUrl && state.publicApiUrl !== trustedPublicApiUrl) {
|
|
60
65
|
fail("RETRY_API_BINDING_MISMATCH", "Retry profile differs from the original workflow endpoint.", "Select the original EAI profile, then resume this exact operation.");
|
|
61
66
|
}
|
|
67
|
+
if (state.localE2eExpiresAt && Date.parse(state.localE2eExpiresAt) <= Date.now()) {
|
|
68
|
+
try {
|
|
69
|
+
// A prior one-use claim may still need reconciliation; expiry only forbids a new dispatch.
|
|
70
|
+
await readManagedDeployDispatchClaim(state);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
if (error.code !== "ENOENT")
|
|
74
|
+
throw error;
|
|
75
|
+
fail("LOCAL_SOURCE_UNKNOWN_EXPIRED", "The local source callback binding expired before GitHub dispatch.", "Start a fresh source operation; the original operation remains available for read-only inspection.");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
62
78
|
if (!state.githubUserId || !state.githubLogin) {
|
|
63
79
|
fail("GITHUB_ACTOR_BINDING_MISSING", "Retry state does not contain the verified GitHub actor.", NEW_SOURCE_OPERATION_ACTION);
|
|
64
80
|
}
|
|
@@ -72,6 +88,16 @@ export async function dispatchWorkflow(state, publicApiUrl, root) {
|
|
|
72
88
|
state.dispatchStartedAt ||= new Date().toISOString();
|
|
73
89
|
state.publicApiUrl = trustedPublicApiUrl;
|
|
74
90
|
await saveManagedDeployState(state);
|
|
91
|
+
// The access check and state write can cross the callback deadline. Existing
|
|
92
|
+
// one-use claims still reconcile, but a new claim needs fresh authority.
|
|
93
|
+
try {
|
|
94
|
+
await readManagedDeployDispatchClaim(state);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error.code !== "ENOENT")
|
|
98
|
+
throw error;
|
|
99
|
+
requireFreshLocalDispatch(state);
|
|
100
|
+
}
|
|
75
101
|
const acquired = await claimManagedDeployDispatch(state);
|
|
76
102
|
const existingClaim = await readManagedDeployDispatchClaim(state);
|
|
77
103
|
if (state.dispatchedAt || existingClaim.status === "accepted") {
|
|
@@ -97,6 +123,7 @@ export async function dispatchWorkflow(state, publicApiUrl, root) {
|
|
|
97
123
|
}
|
|
98
124
|
// The exclusive claim already records `dispatching` before provider mutation.
|
|
99
125
|
try {
|
|
126
|
+
requireFreshLocalDispatch(state);
|
|
100
127
|
await run("gh", [
|
|
101
128
|
"workflow",
|
|
102
129
|
"run",
|
|
@@ -124,6 +151,9 @@ export async function dispatchWorkflow(state, publicApiUrl, root) {
|
|
|
124
151
|
"-f",
|
|
125
152
|
`public_api_url=${trustedPublicApiUrl}`,
|
|
126
153
|
"-f",
|
|
154
|
+
`local_e2e_tunnel=${state.localE2eOrigin ? "true" : "false"}`,
|
|
155
|
+
...(state.localE2eOrigin ? ["-f", `local_e2e_expires_at=${state.localE2eExpiresAt}`] : []),
|
|
156
|
+
"-f",
|
|
127
157
|
`env=${state.environment}`,
|
|
128
158
|
], root);
|
|
129
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eai-managed-deploy-github-dispatch.js","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-github-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,GAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,2BAA2B,EAC3B,IAAI,EACJ,QAAQ,EACR,GAAG,GAEJ,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAU3E,SAAS,sBAAsB,CAAC,KAAyB;IACvD,OAAO,cAAc,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAyB,EACzB,SAAiB,EACjB,aAAyC,GAAG;IAE5C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CACjB,MAAM,UAAU,CAAC,IAAI,EAAE;YACrB,KAAK;YACL,MAAM;YACN,QAAQ;YACR,KAAK,CAAC,IAAI;YACV,YAAY;YACZ,KAAK,CAAC,YAAY;YAClB,UAAU;YACV,KAAK,CAAC,MAAM;YACZ,UAAU;YACV,KAAK,CAAC,SAAS;YACf,SAAS;YACT,mBAAmB;YACnB,SAAS;YACT,KAAK;YACL,QAAQ;YACR,iDAAiD;SAClD,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CACF,uCAAuC,EACvC,MAAM,CAAC,KAAK,CAAC,EACb,8BAA8B,KAAK,CAAC,WAAW,mCAAmC,CACnF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,CACF,uCAAuC,EACvC,+CAA+C,EAC/C,8BAA8B,KAAK,CAAC,WAAW,mCAAmC,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,SAAS,EAAkC,EAAE,CAC5C,QAAQ,CAAC,SAAS,CAAC;QACnB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAChC,SAAS,CAAC,YAAY,KAAK,sBAAsB,CAAC,KAAK,CAAC;QACxD,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,SAAS;QACrC,SAAS,CAAC,KAAK,KAAK,mBAAmB;QACvC,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;QACvC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,KAAK,CACtB,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,KAAyB,EACzB,QAAQ,GAAG,CAAC;IAEZ,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAC1D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,GAAG,QAAQ;YACxB,MAAM,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB,EACzB,YAAoB,EACpB,IAAY;IAEZ,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;QACrE,IAAI,CACF,4BAA4B,EAC5B,4DAA4D,EAC5D,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CACF,8BAA8B,EAC9B,yDAAyD,EACzD,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,CACtB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,SAAS,EACT;QACE,EAAE,EAAE,KAAK,CAAC,YAAY;QACtB,KAAK,EAAE,KAAK,CAAC,WAAW;KACzB,CACF,CAAC;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,KAAK,CAAC,iBAAiB,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC;IACzC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9D,IAAI,aAAa,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC;YAC/C,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS;gBAAE,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;YAC3F,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,2BAA2B,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,CAAC,UAAU,CACrB,CAAC;YACF,KAAK,CAAC,iBAAiB,KAAK,aAAa,CAAC,SAAS,CAAC;YACpD,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;YACzC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC;YACzC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,CACF,oCAAoC,EACpC,kCAAkC,KAAK,CAAC,WAAW,wBAAwB,EAC3E,+CAA+C,sBAAsB,CAAC,KAAK,CAAC,gHAAgH,CAC7L,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,IAAI,CAAC;QACH,MAAM,GAAG,CACP,IAAI,EACJ;YACE,UAAU;YACV,KAAK;YACL,KAAK,CAAC,YAAY;YAClB,QAAQ;YACR,KAAK,CAAC,IAAI;YACV,OAAO;YACP,KAAK,CAAC,MAAM;YACZ,IAAI;YACJ,WAAW,KAAK,CAAC,MAAM,EAAE;YACzB,IAAI;YACJ,aAAa,KAAK,CAAC,QAAQ,EAAE;YAC7B,IAAI;YACJ,oBAAoB,KAAK,CAAC,cAAc,EAAE;YAC1C,IAAI;YACJ,4BAA4B;YAC5B,IAAI;YACJ,gBAAgB,KAAK,CAAC,WAAW,EAAE;YACnC,IAAI;YACJ,SAAS,KAAK,CAAC,KAAK,EAAE;YACtB,IAAI;YACJ,eAAe,KAAK,CAAC,UAAU,EAAE;YACjC,IAAI;YACJ,cAAc,KAAK,CAAC,SAAS,EAAE;YAC/B,IAAI;YACJ,kBAAkB,mBAAmB,EAAE;YACvC,IAAI;YACJ,OAAO,KAAK,CAAC,WAAW,EAAE;SAC3B,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,2BAA2B,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,CAAC,UAAU,CACrB,CAAC;YACF,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;YACzC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC;YACzC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,CACF,iCAAiC,EACjC,MAAM,CAAC,KAAK,CAAC,EACb,2CAA2C,KAAK,CAAC,WAAW,oDAAoD,sBAAsB,CAAC,KAAK,CAAC,4CAA4C,CAC1L,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACzF,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,SAAS,CAAC;IAC1C,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjF,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"eai-managed-deploy-github-dispatch.js","sourceRoot":"","sources":["../../src/commands/eai-managed-deploy-github-dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare function resolveTemplateClonePlan(templateSource: string, version
|
|
|
34
34
|
export declare function buildTemplateInstallArgs(from: string): string[];
|
|
35
35
|
export declare function canRunTemplateScripts(from: string, trustTemplateScripts: boolean): boolean;
|
|
36
36
|
export declare function consumeLastInitBinding(): InitTenantAppBinding | undefined;
|
|
37
|
+
/** Scaffolds an app and its managed guidance, with optional AI tool selection for generated instructions. */
|
|
37
38
|
export declare const initCommand: Command;
|
|
38
39
|
export interface CreateCommandOptions {
|
|
39
40
|
from: string;
|
|
@@ -79,6 +80,7 @@ export declare function resolveCreateCompletionPublicApiUrl(publicApiUrl: string
|
|
|
79
80
|
* the operator's choice on a state-changing app create.
|
|
80
81
|
*/
|
|
81
82
|
export declare function resolveCreateTenantContext(publicApiUrl: string, options: CreateCommandOptions): ReturnType<typeof resolveActiveTenantContext>;
|
|
83
|
+
/** Builds init arguments from create's validated binding, onboarding answers, and selected AI tool. */
|
|
82
84
|
export declare function buildForwardedInitArgs(nameArg: string | undefined, options: CreateCommandOptions, answers?: CreateOnboardingAnswers, tenantId?: string): string[];
|
|
83
85
|
/**
|
|
84
86
|
* Next-step copy for guided create. A failed or unchecked builder readiness must
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,OAAO,EAEL,0BAA0B,EAI3B,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AA2BvB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAgCxE;AAED,mGAAmG;AACnG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAO1F;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWhE;AAgBD,KAAK,YAAY,GACb,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,aAAa,CAAC;AAsDlB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAsDD,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,OAAO,GACb,MAAM,CAmCR;AAUD,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAEvE;AAID;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB,iBAAiB,CAqCnB;AA4ED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/D;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAET;AAQD,wBAAgB,sBAAsB,IAAI,oBAAoB,GAAG,SAAS,CAIzE;AAED,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,OAAO,EAEL,0BAA0B,EAI3B,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AA2BvB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAgCxE;AAED,mGAAmG;AACnG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAO1F;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWhE;AAgBD,KAAK,YAAY,GACb,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,aAAa,CAAC;AAsDlB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAsDD,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,OAAO,GACb,MAAM,CAmCR;AAUD,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAEvE;AAID;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB,iBAAiB,CAqCnB;AA4ED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/D;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAET;AAQD,wBAAgB,sBAAsB,IAAI,oBAAoB,GAAG,SAAS,CAIzE;AAED,6GAA6G;AAC7G,eAAO,MAAM,WAAW,SA8hBpB,CAAC;AAEL,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,SAgFtB,CAAC;AA0EL,wHAAwH;AACxH,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGnH;AAaD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,oBAAoB,GAC5B,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAM/C;AAED,uGAAuG;AACvG,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,uBAAuB,EACjC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAkCV;AAqND;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,YAAY,GACnB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBtC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOjD;AAwKD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAuGD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAgBD,8EAA8E;AAC9E,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,GACtB,oBAAoB,CAyCtB;AA2VD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAS/D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -19,7 +19,7 @@ import { browserLogin, isAuthenticated, loadTokens, resolveAuthConfig, storeToke
|
|
|
19
19
|
import { publicApiUrlForHomeRegion, resolveActiveTenantContext, resolveMainCompanyTenantId, resolvePublicApiUrl, } from "../lib/tenant-context.js";
|
|
20
20
|
import { buildTenantHierarchy, promptForTenantFromHierarchy, } from "../lib/tenant-hierarchy.js";
|
|
21
21
|
import { isManagedPublicRequestTimeout, parseApiError, readManagedPublicResponseText, PlatformAPIClient, } from "../lib/api.js";
|
|
22
|
-
import { findProjectRoot, patchEnvFile } from "../lib/config.js";
|
|
22
|
+
import { entraScopeEnvPatch, findProjectRoot, patchEnvFile } from "../lib/config.js";
|
|
23
23
|
import { pullCloudEnvValues } from "../lib/cloud-env.js";
|
|
24
24
|
import { findGuidance } from "../lib/error-guidance/match.js";
|
|
25
25
|
import { formatGuidanceText } from "../lib/error-guidance/render.js";
|
|
@@ -319,6 +319,7 @@ export function consumeLastInitBinding() {
|
|
|
319
319
|
lastInitBinding = undefined;
|
|
320
320
|
return binding;
|
|
321
321
|
}
|
|
322
|
+
/** Scaffolds an app and its managed guidance, with optional AI tool selection for generated instructions. */
|
|
322
323
|
export const initCommand = new Command("init")
|
|
323
324
|
.description("Scaffold a new application")
|
|
324
325
|
.argument("[name]", "Name for the app (kebab-case)")
|
|
@@ -340,6 +341,7 @@ export const initCommand = new Command("init")
|
|
|
340
341
|
.option("--binding-receipt-nonce <uuid>", "Fresh UUID binding this invocation to its private receipt")
|
|
341
342
|
.option("--app-key <key>", "Bind the local project to an existing app instead of creating a new app")
|
|
342
343
|
.option("--template-version <tag>", "Scaffold from a specific published app-template release (for example v1.2.0)")
|
|
344
|
+
.option("--tool <tool>", "AI tool to prepare for: codex, claude, vscode, grok, or antigravity")
|
|
343
345
|
.option("--no-splash", "Skip the interactive EAI wordmark")
|
|
344
346
|
.addHelpText("after", `
|
|
345
347
|
Gofer AI CLI assets are installed by default:
|
|
@@ -356,6 +358,7 @@ repo or local path.
|
|
|
356
358
|
Use --no-gofer only when you need a bare app scaffold.
|
|
357
359
|
`)
|
|
358
360
|
.action(async (nameArg, options) => {
|
|
361
|
+
const aiTool = validateCreateAiTool(options.tool);
|
|
359
362
|
if ((options.bindingReceipt !== undefined || options.bindingReceiptNonce !== undefined)
|
|
360
363
|
&& (!options.skipPrompts || !nameArg))
|
|
361
364
|
throw new Error("Init binding receipts require a named --skip-prompts invocation.");
|
|
@@ -697,6 +700,9 @@ Use --no-gofer only when you need a bare app scaffold.
|
|
|
697
700
|
out.nestedDim(`Run ${chalk.cyan("eai provision entra")} inside the project to set up Entra authentication.`);
|
|
698
701
|
}
|
|
699
702
|
out.nestedDim(`Template: ${templatePlan.displaySource}`);
|
|
703
|
+
if (aiTool) {
|
|
704
|
+
out.nestedInfo(`AI tool: ${CREATE_AI_TOOL_LABELS[aiTool]}. Run \`eai start\` in the project to open your AI workspace.`);
|
|
705
|
+
}
|
|
700
706
|
if (options.gofer) {
|
|
701
707
|
out.nestedDim("Gofer: run eai start to open this project in a detected AI workspace with the public EAI skill.");
|
|
702
708
|
}
|
|
@@ -820,6 +826,7 @@ export function resolveCreateTenantContext(publicApiUrl, options) {
|
|
|
820
826
|
tenantId: options.companyTenant || options.tenant,
|
|
821
827
|
});
|
|
822
828
|
}
|
|
829
|
+
/** Builds init arguments from create's validated binding, onboarding answers, and selected AI tool. */
|
|
823
830
|
export function buildForwardedInitArgs(nameArg, options, answers, tenantId) {
|
|
824
831
|
const appName = answers?.name || nameArg;
|
|
825
832
|
const args = [];
|
|
@@ -862,6 +869,9 @@ export function buildForwardedInitArgs(nameArg, options, answers, tenantId) {
|
|
|
862
869
|
if (options.packageProfile) {
|
|
863
870
|
args.push("--package-profile", options.packageProfile);
|
|
864
871
|
}
|
|
872
|
+
const aiTool = answers?.aiTool || validateCreateAiTool(options.tool);
|
|
873
|
+
if (aiTool)
|
|
874
|
+
args.push("--tool", aiTool);
|
|
865
875
|
return args;
|
|
866
876
|
}
|
|
867
877
|
async function runCreatePreflight() {
|
|
@@ -1103,6 +1113,7 @@ async function provisionEntraInline(targetDir, appName, tenantId, publicApiUrl)
|
|
|
1103
1113
|
out.warn(`The app registration ${result.clientId} exists, but the workspace allowlist was not updated. Run \`eai provision entra --force --debug\` after platform access is fixed.`);
|
|
1104
1114
|
return false;
|
|
1105
1115
|
}
|
|
1116
|
+
const scopeEnv = entraScopeEnvPatch(result.scopes);
|
|
1106
1117
|
if (result.clientSecret) {
|
|
1107
1118
|
await patchEnvFile(targetDir, {
|
|
1108
1119
|
ENTRA_CLIENT_ID: result.clientId,
|
|
@@ -1110,6 +1121,7 @@ async function provisionEntraInline(targetDir, appName, tenantId, publicApiUrl)
|
|
|
1110
1121
|
AUTH_URL: authEndpointUrl,
|
|
1111
1122
|
NEXTAUTH_URL: authSiteUrl,
|
|
1112
1123
|
AUTH_TRUST_HOST: "true",
|
|
1124
|
+
...scopeEnv,
|
|
1113
1125
|
});
|
|
1114
1126
|
spinner.succeed(`Entra app registration ${result.existing ? "confirmed" : "created"}: ${chalk.dim(result.clientId)}`);
|
|
1115
1127
|
out.warn("The client secret has been written to .env.local and cannot be retrieved again.");
|
|
@@ -1121,6 +1133,7 @@ async function provisionEntraInline(targetDir, appName, tenantId, publicApiUrl)
|
|
|
1121
1133
|
AUTH_URL: authEndpointUrl,
|
|
1122
1134
|
NEXTAUTH_URL: authSiteUrl,
|
|
1123
1135
|
AUTH_TRUST_HOST: "true",
|
|
1136
|
+
...scopeEnv,
|
|
1124
1137
|
});
|
|
1125
1138
|
const hydratedSecret = await hydrateCloudSecret(targetDir, appName);
|
|
1126
1139
|
spinner.succeed(`Entra app registration confirmed: ${chalk.dim(result.clientId)}`);
|
|
@@ -2298,6 +2311,25 @@ await client.resources.create('MyType', { title: 'Hello' });
|
|
|
2298
2311
|
| \`eai deploy trigger\` | Trigger deployment |
|
|
2299
2312
|
| \`eai verify\` | Platform connectivity check |
|
|
2300
2313
|
| \`eai doctor\` | Diagnose issues |
|
|
2314
|
+
| \`eai support\` | Review and approve a support report |
|
|
2315
|
+
|
|
2316
|
+
## Support after an unresolved EAI error
|
|
2317
|
+
|
|
2318
|
+
After an \`eai\` command fails, run \`eai errors explain <code-or-reason> --format json\`.
|
|
2319
|
+
Follow its diagnostics, approval requirements, and fixes once. Stop at its retry limit.
|
|
2320
|
+
If the command still fails, prepare a report with
|
|
2321
|
+
\`eai support --source harness --tool <current-tool> --format json\`.
|
|
2322
|
+
Use \`codex\`, \`claude\`, \`vscode\`, \`grok\`, or \`antigravity\` for \`<current-tool>\`.
|
|
2323
|
+
This command previews the locally redacted bundle in a noninteractive harness.
|
|
2324
|
+
Show the person the bundle summary and ask for explicit consent in the chat.
|
|
2325
|
+
Only after they approve that bundle, repeat the command with \`--yes --no-open\` and give them the returned link.
|
|
2326
|
+
If the bundle changes, show it again and ask for fresh consent. Never assume consent or run \`--yes\` automatically.
|
|
2327
|
+
Keep secrets, tokens, raw logs, and local \`.env\` values out of the chat.
|
|
2328
|
+
The CLI creates the draft; the AI never calls the support API itself.
|
|
2329
|
+
Report content stays in the draft body. The Support link fragment carries only its id and token.
|
|
2330
|
+
If sign-in is unavailable, give the person the plain Support page link returned by the CLI.
|
|
2331
|
+
In the welcome reply, say: If anything fails, say "get help" or type \`eai support\`; I can prepare a report for you to approve.
|
|
2332
|
+
If the person asks for help with a silent failure, start with the same report preview.
|
|
2301
2333
|
|
|
2302
2334
|
## App Delivery Checklist
|
|
2303
2335
|
|