iranti 0.3.39 → 0.3.41

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.
@@ -55,6 +55,7 @@ const semanticFactTags_1 = require("../src/lib/semanticFactTags");
55
55
  const staffEventRegistry_1 = require("../src/lib/staffEventRegistry");
56
56
  const scaffoldCloseout_1 = require("../src/lib/scaffoldCloseout");
57
57
  const projectLearning_1 = require("../src/lib/projectLearning");
58
+ const feedbackCollector_1 = require("../src/lib/feedbackCollector");
58
59
  class CliError extends Error {
59
60
  constructor(code, message, hints = [], details) {
60
61
  super(message);
@@ -8587,6 +8588,12 @@ function printResolveHelp() {
8587
8588
  function printProviderKeyHelp() {
8588
8589
  (0, cliHelpRenderer_1.printProviderKeyHelp)({ sectionTitle, commandText });
8589
8590
  }
8591
+ function printFeedbackHelp() {
8592
+ (0, cliHelpRenderer_1.printFeedbackHelp)({ sectionTitle, commandText });
8593
+ }
8594
+ function printUiHelp() {
8595
+ (0, cliHelpRenderer_1.printUiHelp)({ sectionTitle, commandText });
8596
+ }
8590
8597
  function printMcpHelp() {
8591
8598
  console.log([
8592
8599
  'MCP server and maintenance commands.',
@@ -9005,6 +9012,88 @@ async function deleteRuleCommand(args) {
9005
9012
  await (0, client_1.disconnectDb)().catch(() => undefined);
9006
9013
  }
9007
9014
  }
9015
+ // ── UI (control plane launcher) ──────────────────────────────────────────────
9016
+ function openBrowserUrl(url) {
9017
+ try {
9018
+ let cmd;
9019
+ let cmdArgs;
9020
+ if (process.platform === 'win32') {
9021
+ cmd = 'cmd';
9022
+ cmdArgs = ['/c', 'start', '', url];
9023
+ }
9024
+ else if (process.platform === 'darwin') {
9025
+ cmd = 'open';
9026
+ cmdArgs = [url];
9027
+ }
9028
+ else {
9029
+ cmd = 'xdg-open';
9030
+ cmdArgs = [url];
9031
+ }
9032
+ (0, child_process_1.spawn)(cmd, cmdArgs, { stdio: 'ignore', detached: true }).unref();
9033
+ }
9034
+ catch {
9035
+ // Browser open is best-effort; non-fatal
9036
+ }
9037
+ }
9038
+ async function uiCommand(args) {
9039
+ // Resolve DATABASE_URL from project binding or instance env
9040
+ const instanceName = getFlag(args, 'instance');
9041
+ if (instanceName) {
9042
+ const scope = normalizeScope(getFlag(args, 'scope'));
9043
+ const root = resolveInstallRoot(args, scope);
9044
+ const loaded = await loadInstanceEnv(root, instanceName);
9045
+ applyEnvMap(loaded.env);
9046
+ }
9047
+ else {
9048
+ const cwd = path_1.default.resolve(process.cwd());
9049
+ const explicitProjectEnv = getFlag(args, 'project-env');
9050
+ (0, runtimeEnv_1.loadRuntimeEnv)({
9051
+ cwd,
9052
+ projectEnvFile: explicitProjectEnv ? path_1.default.resolve(explicitProjectEnv) : undefined,
9053
+ });
9054
+ }
9055
+ const databaseUrl = process.env.DATABASE_URL?.trim();
9056
+ if (!databaseUrl) {
9057
+ throw cliError('IRANTI_DATABASE_URL_MISSING', 'DATABASE_URL is required. Run from a bound project, pass --instance <name>, or set DATABASE_URL.', ['Run `iranti project init . --instance <name>` to bind this project.']);
9058
+ }
9059
+ const noOpen = hasFlag(args, 'no-open');
9060
+ const port = getFlag(args, 'port') ?? '7500';
9061
+ const url = `http://localhost:${port}`;
9062
+ // npx handles both cases: uses the global install if available, downloads otherwise
9063
+ const npxExe = process.platform === 'win32' ? 'npx.cmd' : 'npx';
9064
+ console.log(`${infoLabel()} Starting Iranti control plane at ${url} …`);
9065
+ if (!noOpen) {
9066
+ // Give the server a moment to bind before opening the browser
9067
+ setTimeout(() => { openBrowserUrl(url); }, 2500);
9068
+ }
9069
+ await new Promise((resolve, reject) => {
9070
+ const child = (0, child_process_1.spawn)(npxExe, ['--yes', 'iranti-control-plane'], {
9071
+ stdio: 'inherit',
9072
+ env: {
9073
+ ...process.env,
9074
+ DATABASE_URL: databaseUrl,
9075
+ PORT: port,
9076
+ },
9077
+ });
9078
+ const onSigint = () => { child.kill('SIGINT'); };
9079
+ process.once('SIGINT', onSigint);
9080
+ child.on('error', (err) => {
9081
+ process.off('SIGINT', onSigint);
9082
+ reject(cliError('IRANTI_CP_SPAWN_FAILED', `Failed to start iranti-control-plane: ${err.message}`, ['Ensure npx is available on PATH (it comes with npm).']));
9083
+ });
9084
+ child.on('exit', (code, signal) => {
9085
+ process.off('SIGINT', onSigint);
9086
+ if (signal === 'SIGINT' || signal === 'SIGTERM') {
9087
+ resolve();
9088
+ return;
9089
+ }
9090
+ if ((code ?? 0) !== 0) {
9091
+ process.exit(code ?? 1);
9092
+ }
9093
+ resolve();
9094
+ });
9095
+ });
9096
+ }
9008
9097
  // ── Export / Import / Snapshot commands ─────────────────────────────────────
9009
9098
  /** Marker file written at the end of every successful export (enables --since last). */
9010
9099
  const EXPORT_MARKER_FILE = '.iranti-export-marker';
@@ -9628,6 +9717,34 @@ async function revertAutowriteCommand(args) {
9628
9717
  await (0, client_1.disconnectDb)().catch(() => undefined);
9629
9718
  }
9630
9719
  }
9720
+ /**
9721
+ * `iranti feedback` — collect a one-keypress satisfaction signal.
9722
+ *
9723
+ * No DB required. Reads .iranti/session-stats.json for passive usage context,
9724
+ * maintains a throttle record in .iranti/feedback-sent.json, and falls back
9725
+ * to .iranti/pending-feedback.json when the endpoint is unreachable.
9726
+ */
9727
+ async function feedbackCommand(args) {
9728
+ const ratingStr = getFlag(args, 'rating');
9729
+ const rating = ratingStr !== undefined ? Number(ratingStr) : undefined;
9730
+ const comment = getFlag(args, 'comment');
9731
+ const typeStr = getFlag(args, 'type') ?? 'general';
9732
+ const dryRun = hasFlag(args, 'dry-run');
9733
+ const offline = hasFlag(args, 'offline');
9734
+ const milestoneContext = getFlag(args, 'milestone') ?? null;
9735
+ const type = typeStr;
9736
+ const opts = {
9737
+ rating,
9738
+ comment: comment ?? undefined,
9739
+ type,
9740
+ dryRun,
9741
+ offline,
9742
+ milestoneContext,
9743
+ factCount: null,
9744
+ version: getPackageVersion(),
9745
+ };
9746
+ await (0, feedbackCollector_1.runFeedbackCommand)(opts);
9747
+ }
9631
9748
  async function main() {
9632
9749
  const args = parseArgs(process.argv.slice(2));
9633
9750
  ACTIVE_PARSED_ARGS = args;
@@ -9962,6 +10079,14 @@ async function main() {
9962
10079
  await revertAutowriteCommand(args);
9963
10080
  return;
9964
10081
  }
10082
+ if (args.command === 'feedback' || args.command === 'fb') {
10083
+ if (hasFlag(args, 'help')) {
10084
+ printFeedbackHelp();
10085
+ return;
10086
+ }
10087
+ await feedbackCommand(args);
10088
+ return;
10089
+ }
9965
10090
  if (args.command === 'claude-setup') {
9966
10091
  await claudeSetupCommand(args);
9967
10092
  return;
@@ -10107,6 +10232,14 @@ async function main() {
10107
10232
  }
10108
10233
  throw new Error(`Unknown integrate target '${args.subcommand ?? ''}'. Use 'claude', 'codex', or 'copilot'.`);
10109
10234
  }
10235
+ if (args.command === 'ui') {
10236
+ if (hasFlag(args, 'help')) {
10237
+ printUiHelp();
10238
+ return;
10239
+ }
10240
+ await uiCommand(args);
10241
+ return;
10242
+ }
10110
10243
  throw cliError('IRANTI_UNKNOWN_COMMAND', `Unknown command '${args.command}'. Run: iranti help`, ['Use `iranti help` to see the current command surface.'], { command: args.command });
10111
10244
  }
10112
10245
  main().then(async () => {
@@ -47,6 +47,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
47
47
  * IRANTI_PROJECT_ENV, IRANTI_INSTANCE_ENV, IRANTI_MCP_AGENT_NAME.
48
48
  */
49
49
  const node_fs_1 = __importDefault(require("node:fs"));
50
+ const promises_1 = __importDefault(require("node:fs/promises"));
50
51
  const node_path_1 = __importDefault(require("node:path"));
51
52
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
52
53
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
@@ -92,6 +93,11 @@ let _activeWatcher = null;
92
93
  let _watchedCwd = null;
93
94
  let _watchDebounceTimer = null;
94
95
  const _watchPendingChanges = new Set();
96
+ // ── Feedback friction detector (Phase 5) ─────────────────────────────────────
97
+ // Counts how many times the write-debt gate has blocked attend this session.
98
+ // After 3 blocks, the next successful attend includes a frictionNudge field.
99
+ let _writeDebtFireCount = 0;
100
+ let _frictionNudgeSentThisSession = false;
95
101
  // ─────────────────────────────────────────────────────────────────────────────
96
102
  async function dbStartup() {
97
103
  if (_dbStartupDone)
@@ -500,6 +506,170 @@ function protocolViolationResult(error) {
500
506
  },
501
507
  };
502
508
  }
509
+ function resolveIrantiDirForCwd(cwd) {
510
+ const local = node_path_1.default.join(cwd, '.iranti');
511
+ if (node_fs_1.default.existsSync(local))
512
+ return local;
513
+ const home = process.env.HOME ?? process.env.USERPROFILE ?? '';
514
+ return node_path_1.default.join(home, '.iranti');
515
+ }
516
+ async function readSessionStatsFile(irantiDir) {
517
+ try {
518
+ const raw = await promises_1.default.readFile(node_path_1.default.join(irantiDir, 'session-stats.json'), 'utf8');
519
+ return JSON.parse(raw);
520
+ }
521
+ catch {
522
+ return null;
523
+ }
524
+ }
525
+ async function updateSessionStats(cwd, host) {
526
+ const irantiDir = resolveIrantiDirForCwd(cwd);
527
+ const existing = (await readSessionStatsFile(irantiDir)) ?? {};
528
+ const now = new Date().toISOString();
529
+ const uniqueHosts = existing.uniqueHosts ?? [];
530
+ if (host && !uniqueHosts.includes(host)) {
531
+ uniqueHosts.push(host);
532
+ }
533
+ const updated = {
534
+ totalSessions: (existing.totalSessions ?? 0) + 1,
535
+ totalWrites: existing.totalWrites ?? 0,
536
+ totalAttends: existing.totalAttends ?? 0,
537
+ totalValueDeliveries: existing.totalValueDeliveries ?? 0,
538
+ uniqueHosts,
539
+ firstSessionAt: existing.firstSessionAt ?? now,
540
+ lastSessionAt: now,
541
+ feedbackMilestonesSeen: existing.feedbackMilestonesSeen ?? [],
542
+ };
543
+ try {
544
+ await promises_1.default.mkdir(irantiDir, { recursive: true });
545
+ await promises_1.default.writeFile(node_path_1.default.join(irantiDir, 'session-stats.json'), JSON.stringify(updated, null, 2) + '\n', 'utf8');
546
+ }
547
+ catch {
548
+ // Non-fatal: session stats are best-effort
549
+ }
550
+ return updated;
551
+ }
552
+ const FEEDBACK_MILESTONES = [
553
+ {
554
+ key: 'first_run',
555
+ check: (s) => s.totalSessions === 1,
556
+ message: "You've just used Iranti for the first time. Got 10 seconds to tell us how it went?",
557
+ trigger: 'first_session',
558
+ },
559
+ {
560
+ key: 'sessions_10',
561
+ check: (s) => s.totalSessions >= 10,
562
+ message: "10 sessions in — how's Iranti working for you?",
563
+ trigger: 'sessions_milestone',
564
+ },
565
+ {
566
+ key: 'sessions_25',
567
+ check: (s) => s.totalSessions >= 25,
568
+ message: "25 sessions with Iranti. We'd love your feedback.",
569
+ trigger: 'sessions_milestone',
570
+ },
571
+ {
572
+ key: 'sessions_50',
573
+ check: (s) => s.totalSessions >= 50,
574
+ message: "50 sessions — you're a power user. Tell us what's working (and what isn't).",
575
+ trigger: 'sessions_milestone',
576
+ },
577
+ {
578
+ key: 'cross_host_2',
579
+ check: (s) => s.uniqueHosts.length >= 2,
580
+ message: "You're using Iranti across multiple environments. How's the experience?",
581
+ trigger: 'cross_host',
582
+ },
583
+ {
584
+ key: 'cross_host_3',
585
+ check: (s) => s.uniqueHosts.length >= 3,
586
+ message: "Three different hosts — Iranti is following you around. Feedback welcome.",
587
+ trigger: 'cross_host',
588
+ },
589
+ {
590
+ key: 'facts_25',
591
+ check: (_s, fc) => fc >= 25,
592
+ message: "You've saved 25+ facts with Iranti. Quick rating?",
593
+ trigger: 'facts_milestone',
594
+ },
595
+ {
596
+ key: 'facts_50',
597
+ check: (_s, fc) => fc >= 50,
598
+ message: "50 facts saved — Iranti is working for you. Would love your thoughts.",
599
+ trigger: 'facts_milestone',
600
+ },
601
+ {
602
+ key: 'facts_100',
603
+ check: (_s, fc) => fc >= 100,
604
+ message: "100 facts in memory. How's it going?",
605
+ trigger: 'facts_milestone',
606
+ },
607
+ {
608
+ key: 'facts_250',
609
+ check: (_s, fc) => fc >= 250,
610
+ message: "250 facts saved. Iranti is earning its keep — got a minute to share?",
611
+ trigger: 'facts_milestone',
612
+ },
613
+ {
614
+ key: 'facts_500',
615
+ check: (_s, fc) => fc >= 500,
616
+ message: "500 facts! That's a lot of context saved. How does Iranti feel after all this use?",
617
+ trigger: 'facts_milestone',
618
+ },
619
+ ];
620
+ async function computeFeedbackNudge(cwd, factCount) {
621
+ try {
622
+ const irantiDir = resolveIrantiDirForCwd(cwd);
623
+ const stats = await readSessionStatsFile(irantiDir);
624
+ if (!stats)
625
+ return null;
626
+ // Suppress if feedback was sent within the last 30 days
627
+ try {
628
+ const throttleFile = node_path_1.default.join(irantiDir, 'feedback-sent.json');
629
+ if (node_fs_1.default.existsSync(throttleFile)) {
630
+ const throttle = JSON.parse(node_fs_1.default.readFileSync(throttleFile, 'utf8'));
631
+ if (throttle.lastSentAt) {
632
+ const daysSince = (Date.now() - new Date(throttle.lastSentAt).getTime()) / 86400000;
633
+ if (daysSince < 30)
634
+ return null;
635
+ }
636
+ }
637
+ }
638
+ catch {
639
+ // Non-fatal: proceed without suppression check
640
+ }
641
+ const seen = new Set(stats.feedbackMilestonesSeen ?? []);
642
+ for (const milestone of FEEDBACK_MILESTONES) {
643
+ if (seen.has(milestone.key))
644
+ continue;
645
+ if (!milestone.check(stats, factCount))
646
+ continue;
647
+ // Mark as seen immediately so it never fires twice
648
+ const updatedStats = {
649
+ ...stats,
650
+ feedbackMilestonesSeen: [...seen, milestone.key],
651
+ };
652
+ try {
653
+ await promises_1.default.writeFile(node_path_1.default.join(irantiDir, 'session-stats.json'), JSON.stringify(updatedStats, null, 2) + '\n', 'utf8');
654
+ }
655
+ catch {
656
+ // Non-fatal
657
+ }
658
+ return {
659
+ command: 'iranti feedback',
660
+ message: milestone.message,
661
+ trigger: milestone.trigger,
662
+ milestone: milestone.key,
663
+ suppressUntil: new Date(Date.now() + 30 * 86400000).toISOString(),
664
+ };
665
+ }
666
+ return null;
667
+ }
668
+ catch {
669
+ return null; // Never fail handshake due to nudge logic
670
+ }
671
+ }
672
+ // ─────────────────────────────────────────────────────────────────────────────
503
673
  function normalizeRecentMessages(messages) {
504
674
  if (!Array.isArray(messages))
505
675
  return [];
@@ -631,7 +801,7 @@ async function main() {
631
801
  // DB startup is deferred to first tool call via dbStartup() — see above.
632
802
  const server = new mcp_js_1.McpServer({
633
803
  name: 'iranti-mcp',
634
- version: '0.3.39',
804
+ version: '0.3.41',
635
805
  });
636
806
  server.registerTool('iranti_handshake', {
637
807
  description: `Initialize or refresh an agent's working-memory brief for the current task.
@@ -669,10 +839,22 @@ Do not use this as a per-turn retrieval tool; use iranti_attend.`,
669
839
  if (resolvedHost !== 'claude_code') {
670
840
  startFileWatcher(process.cwd());
671
841
  }
842
+ // Phase 3: increment session stats and compute milestone nudge.
843
+ await updateSessionStats(process.cwd(), resolvedHost ?? '');
844
+ let factCount = 0;
845
+ try {
846
+ factCount = await (0, client_1.getDb)().knowledgeEntry.count({
847
+ where: { NOT: [{ entityType: 'system' }, { entityType: 'agent' }] },
848
+ });
849
+ }
850
+ catch {
851
+ // Non-fatal: factCount milestones degrade gracefully to 0
852
+ }
853
+ const feedbackNudge = await computeFeedbackNudge(process.cwd(), factCount);
672
854
  if (setupWarnings.length > 0) {
673
- return textResult({ ...result, setupWarnings });
855
+ return textResult({ ...result, ...(feedbackNudge ? { feedbackNudge } : {}), setupWarnings });
674
856
  }
675
- return textResult(result);
857
+ return textResult(feedbackNudge ? { ...result, feedbackNudge } : result);
676
858
  });
677
859
  server.registerTool('iranti_attend', {
678
860
  description: `Ask Iranti whether memory should be injected before the next LLM turn.
@@ -728,8 +910,10 @@ checkpoint state before closing the turn.`,
728
910
  // write-debt comes from its PostToolUse hook; other hosts use the watcher.
729
911
  if (!phase || phase === 'pre-response' || phase === 'mid-turn') {
730
912
  const debtBlock = checkWriteDebtForAttend(process.cwd());
731
- if (debtBlock)
913
+ if (debtBlock) {
914
+ _writeDebtFireCount++;
732
915
  return debtBlock;
916
+ }
733
917
  }
734
918
  // ─────────────────────────────────────────────────────────────────────
735
919
  const resolvedLatestMessage = resolveAttendLatestMessage({ latestMessage, message });
@@ -797,11 +981,24 @@ checkpoint state before closing the turn.`,
797
981
  const injectionBlock = factsBlock || rulesBlock
798
982
  ? `${factsBlock}${rulesBlock}`
799
983
  : '';
984
+ // Phase 5: friction nudge after 3+ write-debt gate fires this session.
985
+ let frictionNudge = null;
986
+ if (!_frictionNudgeSentThisSession && _writeDebtFireCount >= 3) {
987
+ _frictionNudgeSentThisSession = true;
988
+ frictionNudge = {
989
+ command: 'iranti feedback',
990
+ message: "You've hit the write-debt gate a few times this session. Something feeling off? Would love to hear it.",
991
+ trigger: 'friction',
992
+ milestone: 'friction_write_debt',
993
+ suppressUntil: new Date(Date.now() + 7 * 86400000).toISOString(),
994
+ };
995
+ }
800
996
  return textResult({
801
997
  ...result,
802
998
  facts: sanitizeFacts(result.facts),
803
999
  injectionBlock,
804
1000
  ...(postResponseCapture ? { postResponseCapture } : {}),
1001
+ ...(frictionNudge ? { frictionNudge } : {}),
805
1002
  });
806
1003
  }
807
1004
  catch (error) {
@@ -71,7 +71,7 @@ const RUNTIME_AUTHORITY = (0, runtimeLifecycle_1.resolveRuntimeAuthorityFromEnv)
71
71
  const INSTANCE_DIR = RUNTIME_AUTHORITY.instanceDir;
72
72
  const INSTANCE_RUNTIME_FILE = RUNTIME_AUTHORITY.runtimeFile;
73
73
  const INSTANCE_NAME = process.env.IRANTI_INSTANCE_NAME?.trim() || (INSTANCE_DIR ? path_1.default.basename(INSTANCE_DIR) : 'adhoc');
74
- const VERSION = '0.3.39';
74
+ const VERSION = '0.3.41';
75
75
  const PORT_RAW = (process.env.IRANTI_PORT ?? '3001').trim();
76
76
  const PORT = Number.parseInt(PORT_RAW, 10);
77
77
  const runtimeMetadataHealth = (0, healthChecks_1.createHealthCheckState)({
@@ -1 +1 @@
1
- {"version":3,"file":"cliHelpCatalog.d.ts","sourceRoot":"","sources":["../../../src/lib/cliHelpCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,SAAS,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,EA2C7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAyBzC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,EA2C/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,EA2FvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,EAOnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAmExC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAOzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAkBhD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAOrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EAMpD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,EAyBpC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAarC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAS,EAmBhC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAyBrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAyBxC,CAAC;AAEF,eAAO,MAAM,YAAY;;;;CAcxB,CAAC"}
1
+ {"version":3,"file":"cliHelpCatalog.d.ts","sourceRoot":"","sources":["../../../src/lib/cliHelpCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,SAAS,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,EA2C7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAyBzC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,EA2C/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,EAuGvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,EAOnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAmExC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAOzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAkBhD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAOrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EAMpD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,EAyBpC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAarC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAS,EAmBhC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAyBrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAyBxC,CAAC;AAEF,eAAO,MAAM,YAAY;;;;CAcxB,CAAC"}
@@ -248,6 +248,18 @@ exports.DIAGNOSTICS_HELP = [
248
248
  useWhen: 'an attend() call extracted bad or low-quality facts from a tool result and you need to roll them back cleanly.',
249
249
  scenario: 'After a noisy Read/Grep autowrite batch, run with --since 15m to preview, then add --commit to delete.',
250
250
  },
251
+ {
252
+ command: 'iranti feedback [--rating <1-5>] [--comment <text>] [--type bug|praise|suggestion|general] [--dry-run] [--offline]',
253
+ description: 'Send a one-keypress satisfaction signal to the Iranti team.',
254
+ useWhen: 'something feels off, you want to share praise, or you have a suggestion — and you have ten seconds.',
255
+ scenario: 'Running `iranti feedback --type bug` immediately after hitting a frustrating edge case.',
256
+ },
257
+ {
258
+ command: 'iranti ui [--instance <name>] [--project-env <file>] [--port <n>] [--no-open]',
259
+ description: 'Launch the Iranti control plane web UI and open it in your browser.',
260
+ useWhen: 'you want to browse agent memory, inspect facts by entity, check system health, or resolve write conflicts from a visual interface.',
261
+ scenario: 'Run from a bound project after setup to open the Memory Explorer at localhost:7500.',
262
+ },
251
263
  ];
252
264
  exports.CONNECT_HELP = [
253
265
  {
@@ -1 +1 @@
1
- {"version":3,"file":"cliHelpCatalog.js","sourceRoot":"","sources":["../../../src/lib/cliHelpCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliHelpCatalog.js","sourceRoot":"","sources":["../../../src/lib/cliHelpCatalog.ts"],"names":[],"mappings":"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"}
@@ -56,5 +56,7 @@ export declare function printHandoffHelp(style: CliHelpStyle): void;
56
56
  export declare function printChatHelp(style: CliHelpStyle): void;
57
57
  export declare function printResolveHelp(style: CliHelpStyle): void;
58
58
  export declare function printProviderKeyHelp(style: CliHelpStyle): void;
59
+ export declare function printFeedbackHelp(style: CliHelpStyle): void;
60
+ export declare function printUiHelp(style: CliHelpStyle): void;
59
61
  export { printChoiceGuide };
60
62
  //# sourceMappingURL=cliHelpRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cliHelpRenderer.d.ts","sourceRoot":"","sources":["../../../src/lib/cliHelpRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAwBH,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,CAAC;AAuCF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAQ/F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAM1F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAkCvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAGxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAG5D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM9D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAOzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAOzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM5D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAI9D;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"cliHelpRenderer.d.ts","sourceRoot":"","sources":["../../../src/lib/cliHelpRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAwBH,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,CAAC;AAuCF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAQ/F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAM1F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAkCvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAGxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAG5D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM9D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAOzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAOzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM5D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAI9D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM3D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -48,6 +48,8 @@ exports.printHandoffHelp = printHandoffHelp;
48
48
  exports.printChatHelp = printChatHelp;
49
49
  exports.printResolveHelp = printResolveHelp;
50
50
  exports.printProviderKeyHelp = printProviderKeyHelp;
51
+ exports.printFeedbackHelp = printFeedbackHelp;
52
+ exports.printUiHelp = printUiHelp;
51
53
  exports.printChoiceGuide = printChoiceGuide;
52
54
  const cliHelpCatalog_1 = require("./cliHelpCatalog");
53
55
  function printHelpEntries(style, title, entries) {
@@ -215,4 +217,10 @@ function printProviderKeyHelp(style) {
215
217
  console.log(' Target either an instance env or a project binding. If neither is supplied, the CLI will try the current project first.');
216
218
  console.log(' Use instance targeting for shared runtime configuration. Use project targeting when the command should follow a specific `.env.iranti` binding.');
217
219
  }
220
+ function printFeedbackHelp(style) {
221
+ printSingleHelpEntry(style, 'Feedback Command', requireHelpEntry(cliHelpCatalog_1.DIAGNOSTICS_HELP, 'iranti feedback '));
222
+ }
223
+ function printUiHelp(style) {
224
+ printSingleHelpEntry(style, 'UI Command', requireHelpEntry(cliHelpCatalog_1.DIAGNOSTICS_HELP, 'iranti ui '));
225
+ }
218
226
  //# sourceMappingURL=cliHelpRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cliHelpRenderer.js","sourceRoot":"","sources":["../../../src/lib/cliHelpRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliHelpRenderer.js","sourceRoot":"","sources":["../../../src/lib/cliHelpRenderer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AAkFH,4CAMC;AAED,sCAkCC;AAED,wCAGC;AAED,4CAMC;AAED,oCAMC;AAED,gDAGC;AAED,8CAEC;AAED,gDAEC;AAED,gEAMC;AAED,8DAMC;AAED,sCAEC;AAED,wDAMC;AAED,sDAMC;AAED,wDAMC;AAED,gDAEC;AAED,4CAEC;AAED,oDAMC;AAED,wDAMC;AAED,0CAOC;AAED,0CAOC;AAED,4CAMC;AAED,gDAMC;AAED,0CAMC;AAED,0CAMC;AAED,4CAMC;AAED,sCAMC;AAED,4CAMC;AAED,oDAIC;AAED,8CAMC;AAED,kCAMC;AAEQ,4CAAgB;AAlUzB,qDAoB0B;AAa1B,SAAS,gBAAgB,CAAC,KAAmB,EAAE,KAAa,EAAE,OAAoB;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAmB,EAAE,KAAa,EAAE,KAAgB;IAC9E,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB,EAAE,MAAc;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAE,KAAa,EAAE,OAA2B;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAE,KAAa,EAAE,OAA2B;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAmB,EAAE,KAAa,EAAE,KAAe;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAAC,KAAmB;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,oHAAoH,CAAC,CAAC;IAClI,OAAO,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;IAC7G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,gCAAe,CAAC,CAAC;IACvD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,uCAAsB,CAAC,CAAC;IACrE,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,mCAAkB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,yBAAQ,CAAC,CAAC;IAC1C,gBAAgB,CAAC,KAAK,EAAE,gCAAgC,EAAE,iCAAgB,CAAC,CAAC;IAC5E,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,6BAAY,CAAC,CAAC;IACvD,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,kCAAiB,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACvD,KAAK,MAAM,OAAO,IAAI,6BAAY,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,OAAO,IAAI,6BAAY,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,OAAO,IAAI,6BAAY,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAAC,KAAmB;IAC9C,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,mCAAkB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,mCAAkB,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAmB;IAChD,oBAAoB,CAChB,KAAK,EACL,iBAAiB,EACjB,gBAAgB,CAAC,uCAAsB,EAAE,iBAAiB,CAAC,CAC9D,CAAC;AACN,CAAC;AAED,SAAgB,YAAY,CAAC,KAAmB;IAC5C,oBAAoB,CAChB,KAAK,EACL,aAAa,EACb,gBAAgB,CAAC,uCAAsB,EAAE,aAAa,CAAC,CAC1D,CAAC;AACN,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAmB;IAClD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,+BAAc,CAAC,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,EAAE,uCAAsB,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAmB;IACjD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,8BAAa,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAmB;IAClD,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,+BAAc,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,0BAA0B,CAAC,KAAmB;IAC1D,oBAAoB,CAChB,KAAK,EACL,4BAA4B,EAC5B,gBAAgB,CAAC,+BAAc,EAAE,4BAA4B,CAAC,CACjE,CAAC;AACN,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAmB;IACzD,oBAAoB,CAChB,KAAK,EACL,2BAA2B,EAC3B,gBAAgB,CAAC,+BAAc,EAAE,2BAA2B,CAAC,CAChE,CAAC;AACN,CAAC;AAED,SAAgB,aAAa,CAAC,KAAmB;IAC7C,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,0BAAS,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAmB;IACtD,oBAAoB,CAChB,KAAK,EACL,yBAAyB,EACzB,gBAAgB,CAAC,0BAAS,EAAE,yBAAyB,CAAC,CACzD,CAAC;AACN,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAmB;IACrD,oBAAoB,CAChB,KAAK,EACL,wBAAwB,EACxB,gBAAgB,CAAC,0BAAS,EAAE,wBAAwB,CAAC,CACxD,CAAC;AACN,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAmB;IACtD,oBAAoB,CAChB,KAAK,EACL,yBAAyB,EACzB,gBAAgB,CAAC,0BAAS,EAAE,yBAAyB,CAAC,CACzD,CAAC;AACN,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAmB;IAClD,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC5D,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAmB;IAChD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,6BAAY,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAmB;IACpD,oBAAoB,CAChB,KAAK,EACL,sBAAsB,EACtB,gBAAgB,CAAC,mCAAkB,EAAE,sBAAsB,CAAC,CAC/D,CAAC;AACN,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAmB;IACtD,oBAAoB,CAChB,KAAK,EACL,wBAAwB,EACxB,gBAAgB,CAAC,mCAAkB,EAAE,wBAAwB,CAAC,CACjE,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAAC,KAAmB;IAC/C,oBAAoB,CAChB,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,iCAAgB,EAAE,gBAAgB,CAAC,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,8IAA8I,CAAC,CAAC;AAChK,CAAC;AAED,SAAgB,eAAe,CAAC,KAAmB;IAC/C,oBAAoB,CAChB,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,iCAAgB,EAAE,gBAAgB,CAAC,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,8IAA8I,CAAC,CAAC;AAChK,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAmB;IAChD,oBAAoB,CAChB,KAAK,EACL,iBAAiB,EACjB,gBAAgB,CAAC,iCAAgB,EAAE,iBAAiB,CAAC,CACxD,CAAC;AACN,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAmB;IAClD,oBAAoB,CAChB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,CAAC,iCAAgB,EAAE,mBAAmB,CAAC,CAC1D,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAAC,KAAmB;IAC/C,oBAAoB,CAChB,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,iCAAgB,EAAE,gBAAgB,CAAC,CACvD,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAAC,KAAmB;IAC/C,oBAAoB,CAChB,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,iCAAgB,EAAE,gBAAgB,CAAC,CACvD,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAmB;IAChD,oBAAoB,CAChB,KAAK,EACL,iBAAiB,EACjB,gBAAgB,CAAC,iCAAgB,EAAE,iBAAiB,CAAC,CACxD,CAAC;AACN,CAAC;AAED,SAAgB,aAAa,CAAC,KAAmB;IAC7C,oBAAoB,CAChB,KAAK,EACL,cAAc,EACd,gBAAgB,CAAC,iCAAgB,EAAE,cAAc,CAAC,CACrD,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAmB;IAChD,oBAAoB,CAChB,KAAK,EACL,iBAAiB,EACjB,gBAAgB,CAAC,iCAAgB,EAAE,iBAAiB,CAAC,CACxD,CAAC;AACN,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAmB;IACpD,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,EAAE,kCAAiB,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,2HAA2H,CAAC,CAAC;IACzI,OAAO,CAAC,GAAG,CAAC,mJAAmJ,CAAC,CAAC;AACrK,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAmB;IACjD,oBAAoB,CAChB,KAAK,EACL,kBAAkB,EAClB,gBAAgB,CAAC,iCAAgB,EAAE,kBAAkB,CAAC,CACzD,CAAC;AACN,CAAC;AAED,SAAgB,WAAW,CAAC,KAAmB;IAC3C,oBAAoB,CAChB,KAAK,EACL,YAAY,EACZ,gBAAgB,CAAC,iCAAgB,EAAE,YAAY,CAAC,CACnD,CAAC;AACN,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Feedback collection module for the iranti CLI.
3
+ *
4
+ * Surfaces satisfaction signals via the `iranti feedback` command:
5
+ * single-keypress rating, optional free-text comment, anonymous persistent
6
+ * UUID, local throttle, and offline fallback queue. No DB required — relies
7
+ * only on .iranti/ local files and the telemetry endpoint.
8
+ *
9
+ * Passive usage signals (session-stats.json) are read here so that Phase 3
10
+ * (milestone nudges in iranti_handshake) has rich data without any active
11
+ * user action. The MCP server writes that file; this module only reads it.
12
+ *
13
+ * Exported types are also used by the MCP nudge system (Phase 3) which reads
14
+ * SessionStats and calls recordMilestoneNudgeSeen() to prevent repeat nudges.
15
+ */
16
+ export type FeedbackType = 'bug' | 'praise' | 'suggestion' | 'general';
17
+ export type FeedbackPayload = {
18
+ feedbackId: string;
19
+ rating: number;
20
+ comment: string | null;
21
+ type: FeedbackType;
22
+ version: string;
23
+ os: string;
24
+ arch: string;
25
+ nodeVersion: string;
26
+ sessionCount: number | null;
27
+ factCount: number | null;
28
+ instanceId: string;
29
+ milestoneContext: string | null;
30
+ submittedAt: string;
31
+ };
32
+ /** Passive usage stats written by the MCP server at each session. */
33
+ export type SessionStats = {
34
+ totalSessions: number;
35
+ totalWrites: number;
36
+ totalAttends: number;
37
+ totalValueDeliveries: number;
38
+ uniqueHosts: string[];
39
+ firstSessionAt: string;
40
+ lastSessionAt: string;
41
+ feedbackMilestonesSeen: string[];
42
+ };
43
+ export type FeedbackRunOptions = {
44
+ rating?: number;
45
+ comment?: string;
46
+ type?: FeedbackType;
47
+ dryRun?: boolean;
48
+ offline?: boolean;
49
+ milestoneContext?: string | null;
50
+ factCount?: number | null;
51
+ version: string;
52
+ };
53
+ /** Read passive usage stats accumulated by the MCP server. Returns null if absent. */
54
+ export declare function readSessionStats(irantiDir: string): Promise<SessionStats | null>;
55
+ /**
56
+ * Record that a milestone nudge key was shown so it doesn't repeat.
57
+ * Used by the MCP nudge system (Phase 3).
58
+ */
59
+ export declare function recordMilestoneNudgeSeen(irantiDir: string, milestoneKey: string): Promise<void>;
60
+ /**
61
+ * Run the full feedback collection flow.
62
+ *
63
+ * Respects user's time: throttled by default (7 days), bugs by 1 day.
64
+ * If the endpoint is unreachable, saves to .iranti/pending-feedback.json
65
+ * for silent retry on the next run.
66
+ */
67
+ export declare function runFeedbackCommand(opts: FeedbackRunOptions): Promise<void>;
68
+ //# sourceMappingURL=feedbackCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedbackCollector.d.ts","sourceRoot":"","sources":["../../../src/lib/feedbackCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AA2DF,sFAAsF;AACtF,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAOtF;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrG;AAiMD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoFhF"}
@@ -0,0 +1,378 @@
1
+ "use strict";
2
+ /**
3
+ * Feedback collection module for the iranti CLI.
4
+ *
5
+ * Surfaces satisfaction signals via the `iranti feedback` command:
6
+ * single-keypress rating, optional free-text comment, anonymous persistent
7
+ * UUID, local throttle, and offline fallback queue. No DB required — relies
8
+ * only on .iranti/ local files and the telemetry endpoint.
9
+ *
10
+ * Passive usage signals (session-stats.json) are read here so that Phase 3
11
+ * (milestone nudges in iranti_handshake) has rich data without any active
12
+ * user action. The MCP server writes that file; this module only reads it.
13
+ *
14
+ * Exported types are also used by the MCP nudge system (Phase 3) which reads
15
+ * SessionStats and calls recordMilestoneNudgeSeen() to prevent repeat nudges.
16
+ */
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.readSessionStats = readSessionStats;
22
+ exports.recordMilestoneNudgeSeen = recordMilestoneNudgeSeen;
23
+ exports.runFeedbackCommand = runFeedbackCommand;
24
+ const fs_1 = __importDefault(require("fs"));
25
+ const promises_1 = __importDefault(require("fs/promises"));
26
+ const https_1 = __importDefault(require("https"));
27
+ const os_1 = __importDefault(require("os"));
28
+ const path_1 = __importDefault(require("path"));
29
+ const readline_1 = __importDefault(require("readline"));
30
+ const crypto_1 = require("crypto");
31
+ // ── Constants ─────────────────────────────────────────────────────────────────
32
+ const ENDPOINT = 'https://api.iranti.dev/feedback';
33
+ const TIMEOUT_MS = 5000;
34
+ const THROTTLE_DAYS = 7;
35
+ const BUG_THROTTLE_DAYS = 1;
36
+ const RATING_LABELS = {
37
+ 1: 'Great',
38
+ 2: 'OK',
39
+ 3: 'Not great',
40
+ 4: 'Good',
41
+ 5: 'Excellent',
42
+ };
43
+ // ── File path helpers ─────────────────────────────────────────────────────────
44
+ /** Resolve the .iranti/ directory. Prefer cwd/.iranti if it exists. */
45
+ function resolveIrantiDir() {
46
+ const local = path_1.default.join(process.cwd(), '.iranti');
47
+ return fs_1.default.existsSync(local) ? local : path_1.default.join(os_1.default.homedir(), '.iranti');
48
+ }
49
+ async function ensureDir(dir) {
50
+ await promises_1.default.mkdir(dir, { recursive: true });
51
+ }
52
+ // ── Instance ID ───────────────────────────────────────────────────────────────
53
+ /**
54
+ * Return the persistent anonymous instance UUID, creating it if absent.
55
+ * Stored at .iranti/instance-id. Never contains PII.
56
+ */
57
+ async function getOrCreateInstanceId(irantiDir) {
58
+ const file = path_1.default.join(irantiDir, 'instance-id');
59
+ try {
60
+ return (await promises_1.default.readFile(file, 'utf8')).trim();
61
+ }
62
+ catch {
63
+ const id = (0, crypto_1.randomUUID)();
64
+ await ensureDir(irantiDir);
65
+ await promises_1.default.writeFile(file, id, 'utf8');
66
+ return id;
67
+ }
68
+ }
69
+ // ── Session stats (passive signal) ───────────────────────────────────────────
70
+ /** Read passive usage stats accumulated by the MCP server. Returns null if absent. */
71
+ async function readSessionStats(irantiDir) {
72
+ try {
73
+ const raw = await promises_1.default.readFile(path_1.default.join(irantiDir, 'session-stats.json'), 'utf8');
74
+ return JSON.parse(raw);
75
+ }
76
+ catch {
77
+ return null;
78
+ }
79
+ }
80
+ /**
81
+ * Record that a milestone nudge key was shown so it doesn't repeat.
82
+ * Used by the MCP nudge system (Phase 3).
83
+ */
84
+ async function recordMilestoneNudgeSeen(irantiDir, milestoneKey) {
85
+ const file = path_1.default.join(irantiDir, 'session-stats.json');
86
+ const stats = (await readSessionStats(irantiDir)) ?? {};
87
+ const seen = stats.feedbackMilestonesSeen ?? [];
88
+ if (!seen.includes(milestoneKey)) {
89
+ seen.push(milestoneKey);
90
+ const updated = {
91
+ totalSessions: stats.totalSessions ?? 0,
92
+ totalWrites: stats.totalWrites ?? 0,
93
+ totalAttends: stats.totalAttends ?? 0,
94
+ totalValueDeliveries: stats.totalValueDeliveries ?? 0,
95
+ uniqueHosts: stats.uniqueHosts ?? [],
96
+ firstSessionAt: stats.firstSessionAt ?? new Date().toISOString(),
97
+ lastSessionAt: stats.lastSessionAt ?? new Date().toISOString(),
98
+ feedbackMilestonesSeen: seen,
99
+ };
100
+ await ensureDir(irantiDir);
101
+ await promises_1.default.writeFile(file, JSON.stringify(updated, null, 2) + '\n', 'utf8');
102
+ }
103
+ }
104
+ // ── Throttle ──────────────────────────────────────────────────────────────────
105
+ async function isThrottled(irantiDir, type) {
106
+ try {
107
+ const raw = await promises_1.default.readFile(path_1.default.join(irantiDir, 'feedback-sent.json'), 'utf8');
108
+ const record = JSON.parse(raw);
109
+ const lastSent = new Date(record.lastSentAt).getTime();
110
+ const cooldownDays = type === 'bug' ? BUG_THROTTLE_DAYS : THROTTLE_DAYS;
111
+ return Date.now() - lastSent < cooldownDays * 86400000;
112
+ }
113
+ catch {
114
+ return false;
115
+ }
116
+ }
117
+ async function recordSent(irantiDir, rating) {
118
+ const file = path_1.default.join(irantiDir, 'feedback-sent.json');
119
+ let existing = {};
120
+ try {
121
+ existing = JSON.parse(await promises_1.default.readFile(file, 'utf8'));
122
+ }
123
+ catch { /* ok */ }
124
+ const updated = {
125
+ count: (existing.count ?? 0) + 1,
126
+ lastRating: rating,
127
+ lastSentAt: new Date().toISOString(),
128
+ };
129
+ await ensureDir(irantiDir);
130
+ await promises_1.default.writeFile(file, JSON.stringify(updated, null, 2) + '\n', 'utf8');
131
+ }
132
+ // ── Offline queue ─────────────────────────────────────────────────────────────
133
+ async function writePending(irantiDir, payload) {
134
+ const file = path_1.default.join(irantiDir, 'pending-feedback.json');
135
+ let pending = [];
136
+ try {
137
+ pending = JSON.parse(await promises_1.default.readFile(file, 'utf8'));
138
+ }
139
+ catch { /* ok */ }
140
+ pending.push({ ...payload, retryable: true });
141
+ await ensureDir(irantiDir);
142
+ await promises_1.default.writeFile(file, JSON.stringify(pending, null, 2) + '\n', 'utf8');
143
+ }
144
+ /**
145
+ * Silently retry any queued offline submissions.
146
+ * Called at the top of runFeedbackCommand so no signal is permanently lost.
147
+ * Clears each entry as it succeeds; leaves failures for the next attempt.
148
+ */
149
+ async function drainPendingQueue(irantiDir) {
150
+ const file = path_1.default.join(irantiDir, 'pending-feedback.json');
151
+ let pending;
152
+ try {
153
+ pending = JSON.parse(await promises_1.default.readFile(file, 'utf8'));
154
+ }
155
+ catch {
156
+ return; // nothing queued
157
+ }
158
+ if (pending.length === 0)
159
+ return;
160
+ const remaining = [];
161
+ for (const item of pending) {
162
+ try {
163
+ await postFeedback(item);
164
+ }
165
+ catch {
166
+ remaining.push(item);
167
+ }
168
+ }
169
+ if (remaining.length === 0) {
170
+ await promises_1.default.unlink(file).catch(() => { });
171
+ }
172
+ else {
173
+ await promises_1.default.writeFile(file, JSON.stringify(remaining, null, 2) + '\n', 'utf8');
174
+ }
175
+ }
176
+ // ── HTTP submission ───────────────────────────────────────────────────────────
177
+ function postFeedback(payload) {
178
+ return new Promise((resolve, reject) => {
179
+ const body = JSON.stringify(payload);
180
+ const url = new URL(ENDPOINT);
181
+ const req = https_1.default.request({
182
+ hostname: url.hostname,
183
+ path: url.pathname,
184
+ method: 'POST',
185
+ headers: {
186
+ 'Content-Type': 'application/json',
187
+ 'Content-Length': Buffer.byteLength(body),
188
+ },
189
+ timeout: TIMEOUT_MS,
190
+ }, (res) => {
191
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
192
+ resolve();
193
+ }
194
+ else {
195
+ reject(new Error(`HTTP ${res.statusCode}`));
196
+ }
197
+ res.resume();
198
+ });
199
+ req.on('timeout', () => {
200
+ req.destroy();
201
+ reject(new Error('timeout'));
202
+ });
203
+ req.on('error', reject);
204
+ req.write(body);
205
+ req.end();
206
+ });
207
+ }
208
+ // ── Interactive prompts ───────────────────────────────────────────────────────
209
+ /**
210
+ * Read a single keypress without requiring Enter. Uses raw mode.
211
+ * Returns the key pressed, or throws 'ctrl_c' / 'not_tty'.
212
+ */
213
+ function readSingleKey() {
214
+ return new Promise((resolve, reject) => {
215
+ const stdin = process.stdin;
216
+ if (!stdin.isTTY) {
217
+ reject(new Error('not_tty'));
218
+ return;
219
+ }
220
+ const wasRaw = stdin.isRaw ?? false;
221
+ try {
222
+ stdin.setRawMode(true);
223
+ }
224
+ catch {
225
+ reject(new Error('not_tty'));
226
+ return;
227
+ }
228
+ stdin.resume();
229
+ stdin.setEncoding('utf8');
230
+ const onData = (key) => {
231
+ stdin.removeListener('data', onData);
232
+ stdin.pause();
233
+ try {
234
+ stdin.setRawMode(wasRaw);
235
+ }
236
+ catch { /* ok */ }
237
+ if (key === '\u0003')
238
+ reject(new Error('ctrl_c'));
239
+ else
240
+ resolve(key);
241
+ };
242
+ stdin.on('data', onData);
243
+ });
244
+ }
245
+ /**
246
+ * Show the rating prompt and wait for a single keypress (1/2/3).
247
+ * Returns the chosen rating or null on cancellation/invalid input.
248
+ */
249
+ async function promptRating() {
250
+ process.stdout.write('\n How\'s Iranti working for you?\n\n');
251
+ process.stdout.write(' \uD83D\uDE0A Great (1) \uD83D\uDE10 OK (2) \uD83D\uDE1E Not great (3)\n\n');
252
+ process.stdout.write(' Press 1, 2, or 3: ');
253
+ let key;
254
+ try {
255
+ key = await readSingleKey();
256
+ }
257
+ catch (err) {
258
+ const msg = err instanceof Error ? err.message : String(err);
259
+ if (msg === 'ctrl_c')
260
+ process.stdout.write('\n');
261
+ return null;
262
+ }
263
+ if (!['1', '2', '3'].includes(key)) {
264
+ process.stdout.write('\n (invalid key — type 1, 2, or 3)\n');
265
+ return null;
266
+ }
267
+ process.stdout.write(`${key}\n`);
268
+ return Number(key);
269
+ }
270
+ /**
271
+ * Prompt for an optional free-text comment. Enter submits, empty string skips.
272
+ */
273
+ async function promptComment() {
274
+ process.stdout.write('\n Anything specific? (Enter to skip)\n > ');
275
+ return new Promise((resolve) => {
276
+ const rl = readline_1.default.createInterface({
277
+ input: process.stdin,
278
+ output: process.stdout,
279
+ terminal: process.stdout.isTTY,
280
+ });
281
+ rl.question('', (answer) => {
282
+ rl.close();
283
+ const trimmed = answer.trim();
284
+ resolve(trimmed.length > 0 ? trimmed : null);
285
+ });
286
+ });
287
+ }
288
+ // ── Main entrypoint ───────────────────────────────────────────────────────────
289
+ /**
290
+ * Run the full feedback collection flow.
291
+ *
292
+ * Respects user's time: throttled by default (7 days), bugs by 1 day.
293
+ * If the endpoint is unreachable, saves to .iranti/pending-feedback.json
294
+ * for silent retry on the next run.
295
+ */
296
+ async function runFeedbackCommand(opts) {
297
+ const irantiDir = resolveIrantiDir();
298
+ const type = opts.type ?? 'general';
299
+ // Silently drain any queued offline submissions first.
300
+ if (!opts.dryRun && !opts.offline) {
301
+ await drainPendingQueue(irantiDir).catch(() => { });
302
+ }
303
+ if (!opts.dryRun && !opts.offline) {
304
+ if (await isThrottled(irantiDir, type)) {
305
+ const days = type === 'bug' ? BUG_THROTTLE_DAYS : THROTTLE_DAYS;
306
+ console.log(` Feedback already submitted recently. You can send again after ${days} day${days === 1 ? '' : 's'}.`);
307
+ if (type !== 'bug')
308
+ console.log(' To report a bug sooner: iranti feedback --type bug');
309
+ return;
310
+ }
311
+ }
312
+ let rating;
313
+ if (opts.rating !== undefined) {
314
+ rating = opts.rating;
315
+ }
316
+ else {
317
+ const interactive = await promptRating();
318
+ if (interactive === null)
319
+ return;
320
+ rating = interactive;
321
+ }
322
+ let comment;
323
+ if (opts.comment !== undefined) {
324
+ comment = opts.comment;
325
+ }
326
+ else {
327
+ comment = await promptComment();
328
+ }
329
+ const stats = await readSessionStats(irantiDir);
330
+ const instanceId = await getOrCreateInstanceId(irantiDir);
331
+ const payload = {
332
+ feedbackId: (0, crypto_1.randomUUID)(),
333
+ rating,
334
+ comment,
335
+ type,
336
+ version: opts.version,
337
+ os: process.platform,
338
+ arch: process.arch,
339
+ nodeVersion: process.version,
340
+ sessionCount: stats?.totalSessions ?? null,
341
+ factCount: opts.factCount ?? null,
342
+ instanceId,
343
+ milestoneContext: opts.milestoneContext ?? null,
344
+ submittedAt: new Date().toISOString(),
345
+ };
346
+ if (opts.dryRun) {
347
+ console.log('\n [dry-run] Payload that would be sent:\n');
348
+ console.log(JSON.stringify(payload, null, 2));
349
+ return;
350
+ }
351
+ if (opts.offline) {
352
+ await writePending(irantiDir, payload);
353
+ console.log('\n Saved locally \u2014 will retry next time.');
354
+ return;
355
+ }
356
+ try {
357
+ await postFeedback(payload);
358
+ await recordSent(irantiDir, rating);
359
+ const label = RATING_LABELS[rating] ?? String(rating);
360
+ const lines = [
361
+ '',
362
+ ` \u2713 Got it \u2014 thanks for the signal.`,
363
+ '',
364
+ ` ${label}${type !== 'general' ? ` \u00b7 ${type}` : ''}`,
365
+ ];
366
+ if (comment)
367
+ lines.push(` \u201c${comment}\u201d`);
368
+ lines.push('');
369
+ lines.push(' This goes directly to the team. It actually matters.');
370
+ lines.push('');
371
+ process.stdout.write(lines.join('\n') + '\n');
372
+ }
373
+ catch {
374
+ await writePending(irantiDir, payload);
375
+ process.stdout.write('\n Saved locally \u2014 will retry next time.\n\n');
376
+ }
377
+ }
378
+ //# sourceMappingURL=feedbackCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedbackCollector.js","sourceRoot":"","sources":["../../../src/lib/feedbackCollector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iranti",
3
- "version": "0.3.39",
3
+ "version": "0.3.41",
4
4
  "mcpName": "io.github.nfemmanuel/iranti",
5
5
  "description": "Memory infrastructure for multi-agent AI systems",
6
6
  "main": "dist/src/sdk/index.js",