@formigio/fazemos-cli 0.10.63 → 0.10.64

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/dist/index.js CHANGED
@@ -28,6 +28,7 @@ import { registerApprovalsCommands } from './approvals.js';
28
28
  import { registerSecretsCommands } from './commands/secrets.js';
29
29
  import { registerProfilesCommands } from './commands/profiles.js';
30
30
  import { registerImageCommands } from './commands/image.js';
31
+ import { registerIngestCommands } from './commands/ingest.js';
31
32
  import { parseExecutionsJson, resolveWaitOptions, waitForPipelines, buildAwsCommand, validateExecutionEntry, } from './wait-for-pipeline.js';
32
33
  import { readFileSync, readdirSync, writeFileSync, mkdirSync, existsSync, statSync } from 'fs';
33
34
  import { fileURLToPath } from 'url';
@@ -1616,6 +1617,34 @@ projects
1616
1617
  console.log(` Worksheets: ${p.stats.worksheets ?? 0}`);
1617
1618
  console.log(` Templates: ${p.stats.templates ?? 0}`);
1618
1619
  }
1620
+ // F51/F52 — Email Ingest: display known_senders and recent_events when present.
1621
+ // Only returned for owner/admin callers; plain members see no email_ingest key.
1622
+ if (p.email_ingest) {
1623
+ const ei = p.email_ingest;
1624
+ console.log('');
1625
+ console.log(chalk.cyan('Email Ingest:'));
1626
+ const senders = ei.known_senders ?? [];
1627
+ if (senders.length > 0) {
1628
+ console.log(` Known senders (${senders.length}):`);
1629
+ for (const s of senders) {
1630
+ console.log(` ${s}`);
1631
+ }
1632
+ }
1633
+ else {
1634
+ console.log(` Known senders: ${chalk.gray('(none — add with: fazemos ingest sender-map add)')}`);
1635
+ }
1636
+ const events = ei.recent_events ?? [];
1637
+ if (events.length > 0) {
1638
+ console.log(` Recent ingest events (last ${events.length}):`);
1639
+ for (const e of events) {
1640
+ const worksheetRef = e.worksheet_id ? `worksheet ${e.worksheet_id}` : chalk.gray('no worksheet');
1641
+ console.log(` [${e.id}] From: ${e.from} Subject: ${e.subject ?? chalk.gray('(none)')} → ${worksheetRef}`);
1642
+ }
1643
+ }
1644
+ else {
1645
+ console.log(` Recent ingest events: ${chalk.gray('(none)')}`);
1646
+ }
1647
+ }
1619
1648
  }
1620
1649
  catch (err) {
1621
1650
  console.error(chalk.red(err.message));
@@ -10671,6 +10700,18 @@ registerProfilesCommands(program);
10671
10700
  // When codebuildEnabled=false on a build response, the note field is surfaced
10672
10701
  // to the user (infrastructure not yet deployed).
10673
10702
  registerImageCommands(program);
10703
+ // ── F52 — Email Ingest Phase B: unified ingest command group ──────────────────
10704
+ // Registers `ingest` top-level command with four sub-groups:
10705
+ // sender-map add / list / remove → POST/GET/DELETE /api/email-ingest/sender-map
10706
+ // personas list → GET /api/email-ingest/personas
10707
+ // holds list / show / resolve / drop → GET+POST /api/email-ingest/holds
10708
+ // project set-intake / show → PUT/GET /api/email-ingest/projects/:id/intake
10709
+ // Merge-forward of F51's email-ingest verbs (group renamed email-ingest → ingest).
10710
+ // API route prefix /api/email-ingest/… is UNCHANGED — only CLI verb renamed.
10711
+ // All org-scoped calls use noProjectHeader: true (role-gated, not project-header).
10712
+ // Project intake calls: projectId threaded in URL path, noProjectHeader: true.
10713
+ // owner/admin only; agent identities blocked server-side.
10714
+ registerIngestCommands(program);
10674
10715
  // Skip auto-parse only when running under Vitest (which sets process.env.VITEST).
10675
10716
  // Tests import `program` and drive it via `program.parseAsync(...)` after mocking
10676
10717
  // `./api.js`. In every other context — direct invocation, npx tsx, OR the bin