@enterpriseai/cli 3.19.2 → 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.
Files changed (89) hide show
  1. package/README.md +28 -0
  2. package/dist/commands/eai-managed-deploy-customer-source.d.ts.map +1 -1
  3. package/dist/commands/eai-managed-deploy-customer-source.js +24 -0
  4. package/dist/commands/eai-managed-deploy-customer-source.js.map +1 -1
  5. package/dist/commands/eai-managed-deploy-github-dispatch.d.ts.map +1 -1
  6. package/dist/commands/eai-managed-deploy-github-dispatch.js +30 -0
  7. package/dist/commands/eai-managed-deploy-github-dispatch.js.map +1 -1
  8. package/dist/commands/init.d.ts +2 -0
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +33 -1
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/provision.js +2 -5
  13. package/dist/commands/provision.js.map +1 -1
  14. package/dist/commands/support.d.ts +18 -0
  15. package/dist/commands/support.d.ts.map +1 -0
  16. package/dist/commands/support.js +110 -0
  17. package/dist/commands/support.js.map +1 -0
  18. package/dist/commands/types.d.ts +5 -1
  19. package/dist/commands/types.d.ts.map +1 -1
  20. package/dist/commands/types.js +55 -12
  21. package/dist/commands/types.js.map +1 -1
  22. package/dist/index.js +34 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/lib/agent-guide.d.ts.map +1 -1
  25. package/dist/lib/agent-guide.js +25 -4
  26. package/dist/lib/agent-guide.js.map +1 -1
  27. package/dist/lib/api.d.ts +4 -2
  28. package/dist/lib/api.d.ts.map +1 -1
  29. package/dist/lib/api.js +17 -5
  30. package/dist/lib/api.js.map +1 -1
  31. package/dist/lib/config.d.ts +2 -0
  32. package/dist/lib/config.d.ts.map +1 -1
  33. package/dist/lib/config.js +8 -0
  34. package/dist/lib/config.js.map +1 -1
  35. package/dist/lib/eai-managed-deploy-contract.d.ts +4 -0
  36. package/dist/lib/eai-managed-deploy-contract.d.ts.map +1 -1
  37. package/dist/lib/eai-managed-deploy-contract.js.map +1 -1
  38. package/dist/lib/eai-managed-deploy-operation.d.ts.map +1 -1
  39. package/dist/lib/eai-managed-deploy-operation.js +14 -0
  40. package/dist/lib/eai-managed-deploy-operation.js.map +1 -1
  41. package/dist/lib/eai-managed-deploy-state.d.ts.map +1 -1
  42. package/dist/lib/eai-managed-deploy-state.js +15 -1
  43. package/dist/lib/eai-managed-deploy-state.js.map +1 -1
  44. package/dist/lib/error-codes.d.ts.map +1 -1
  45. package/dist/lib/error-codes.js +6 -3
  46. package/dist/lib/error-codes.js.map +1 -1
  47. package/dist/lib/output.d.ts +1 -0
  48. package/dist/lib/output.d.ts.map +1 -1
  49. package/dist/lib/output.js +3 -0
  50. package/dist/lib/output.js.map +1 -1
  51. package/dist/lib/profile.d.ts +2 -0
  52. package/dist/lib/profile.d.ts.map +1 -1
  53. package/dist/lib/profile.js.map +1 -1
  54. package/dist/lib/support-context.d.ts +31 -0
  55. package/dist/lib/support-context.d.ts.map +1 -0
  56. package/dist/lib/support-context.js +193 -0
  57. package/dist/lib/support-context.js.map +1 -0
  58. package/dist/lib/support-redaction.d.ts +10 -0
  59. package/dist/lib/support-redaction.d.ts.map +1 -0
  60. package/dist/lib/support-redaction.js +44 -0
  61. package/dist/lib/support-redaction.js.map +1 -0
  62. package/dist/lib/support-report.d.ts +68 -0
  63. package/dist/lib/support-report.d.ts.map +1 -0
  64. package/dist/lib/support-report.js +165 -0
  65. package/dist/lib/support-report.js.map +1 -0
  66. package/package.json +3 -2
  67. package/resources/deploy/eai-app-template/.github/workflows/eai-app.yml +46 -13
  68. package/resources/deploy/eai-app-template/producer-pin.json +8 -8
  69. package/resources/deploy/eai-app-template/scripts/source-unknown-deployment-evidence.mjs +29 -2
  70. package/resources/deploy/eai-app-template/tests/source-unknown-deployment-evidence.test.mjs +99 -1
  71. package/resources/gofer/agents-skills/eai/SKILL.md +20 -0
  72. package/resources/gofer/claude-commands/eai.md +20 -0
  73. package/resources/gofer/claude-skills/eai/SKILL.md +20 -0
  74. package/resources/gofer/commands/0_gofer_start.md +18 -0
  75. package/resources/gofer/commands/gofer_eai_first_run.md +18 -0
  76. package/resources/gofer/copilot-prompts/eai.prompt.md +20 -0
  77. package/resources/gofer/gemini/commands/gofer/eai.md +20 -0
  78. package/resources/gofer/github-skills/eai/SKILL.md +20 -0
  79. package/resources/gofer/grok-skills/eai/SKILL.md +20 -0
  80. package/resources/gofer/instruction-templates/base/agents-base.md +18 -0
  81. package/resources/gofer/instruction-templates/base/claude-base.md +18 -0
  82. package/resources/gofer/instruction-templates/base/copilot-base.md +18 -0
  83. package/resources/gofer/instruction-templates/gofer/gofer-claude.md +4 -0
  84. package/resources/gofer/node-scripts/generate-commands.mjs +26 -0
  85. package/resources/gofer/references/platform/eai-support.md +19 -0
  86. package/resources/gofer/specify-commands/0_gofer_start.md +18 -0
  87. package/resources/gofer/specify-commands/gofer_eai_first_run.md +18 -0
  88. package/resources/gofer/system-skills/eai/SKILL.md +20 -0
  89. 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,CAqLf"}
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":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EACL,wCAAwC,EACxC,4BAA4B,EAC5B,8BAA8B,EAC9B,kCAAkC,EAClC,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,UAAU,EACV,IAAI,EACJ,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAE3C,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAwC,EACxC,IAAiC;IAEjC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,EACN,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,EACN,OAAO,GACR,GAAG,SAAS,CAAC;IACd,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,CACF,+BAA+B,EAC/B,qEAAqE,EACrE,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,kCAAkC,CACtD,OAAO,CAAC,IAAI,EACZ,YAAY,EACZ,WAAW,CACZ,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GACb,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC7C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,OAAO,GACX,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,uBAAuB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC7D,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CACF,oCAAoC,EACpC,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC,IAAI,EAAE,EAC/B,mLAAmL,CACpL,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,OAAO,CAAC,IAAI,EACZ,UAAU,CAAC,IAAI,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,WAAW,CACZ,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,IAAI,CACF,2BAA2B,EAC3B,8DAA8D,EAC9D,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,CACtB,UAAU,CAAC,IAAI,EACf,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,EAChB,SAAS,EACT,kBAAkB,CACnB,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC;IAE1C,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,iBAAiB,CACrB,MAAM,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QAC9D,SAAS,EAAE,UAAU,CAAC,KAAK;QAC3B,QAAQ,EAAE,UAAU,CAAC,IAAI;QACzB,OAAO,EAAE,sBAAsB,UAAU,CAAC,IAAI,EAAE;QAChD,aAAa,EAAE,MAAM,CAAC,MAAM;QAC5B,YAAY;QACZ,GAAG;QACH,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,gBAAgB;QAC5B,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,kBAAkB;QAChC,cAAc;QACd,mBAAmB,EAAE,IAAI,CAAC,SAAS;QACnC,cAAc;KACf,CAAC,EACF,gCAAgC,EAChC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAClB,oBAAoB,CAClB,MAAM,EACN,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EACvB,OAAO,CAAC,QAAQ,EAChB,UAAU,CAAC,IAAI,CAChB,CACJ,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QAChE,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY;QACZ,GAAG;QACH,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU;QACV,cAAc;QACd,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI,CAAC,SAAS;KACpC,CAAC,EACF,uBAAuB,EACvB,GAAG,EAAE,CACH,wGAAwG,CAC3G,CAAC;IACF,MAAM,WAAW,GACf,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CACF,wBAAwB,EACxB,8DAA8D,EAC9D,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAuB;QAChC,MAAM,EAAE,6BAA6B;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc;QACd,MAAM;QACN,WAAW;QACX,KAAK;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG;QACH,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY;QACZ,UAAU;QACV,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc;QACd,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAC3B,mBAAmB,EAAE,IAAI,CAAC,SAAS;QACnC,YAAY,EAAE,kBAAkB,CAAC,EAAE;QACnC,WAAW,EAAE,kBAAkB,CAAC,KAAK;QACrC,aAAa,EAAE,kBAAkB,CAAC,OAAO;QACzC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,gBAAgB,EAAE;KAChC,CAAC;IACF,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,CAClB,CAAC;IACF,IAAI,CAAC;QACH,wCAAwC,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CACF,iCAAiC,EACjC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,qKAAqK,CACtK,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACxC,MAAM,EACN,KAAK,EACL,OAAO,CAAC,IAAI,EACZ,cAAc,CACf,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;IACH,IAAI,8BAA8B,CAAC,SAAS,CAAC,KAAK,QAAQ;QACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzB,CAAC"}
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;AA2FtC,+GAA+G;AAC/G,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAwHf"}
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":"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"}
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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"}
@@ -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":"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"}
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"}
@@ -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