fullcourtdefense-cli 1.14.0 → 1.14.1

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.
@@ -456,7 +456,7 @@ async function hookCommand(args, config) {
456
456
  const failClosed = args.failClosed === 'true';
457
457
  const timeoutMs = Number(args.timeout) > 0 ? Number(args.timeout) : 8000;
458
458
  const approvalMode = args.approvalMode === 'block' ? 'block' : 'wait';
459
- const approvalTimeoutMs = Number(args.approvalTimeoutMs) > 0 ? Number(args.approvalTimeoutMs) : 300000;
459
+ const approvalTimeoutMs = Number(args.approvalTimeoutMs) > 0 ? Number(args.approvalTimeoutMs) : 900000;
460
460
  const approvalPollMs = Math.max(1000, Number(args.approvalPollMs) > 0 ? Number(args.approvalPollMs) : 3000);
461
461
  const creds = (0, config_1.resolveCliCredentials)(config, {
462
462
  shieldId: args.shieldId,
@@ -191,7 +191,7 @@ function resolveGatewayConfig(args, config, defaults = {}) {
191
191
  userObjective: args.userObjective || process.env.FCD_USER_OBJECTIVE || defaults.userObjective || 'Developer requested this action from Cursor.',
192
192
  authority: args.authority || process.env.FCD_AUTHORITY || 'developer',
193
193
  approvalMode: args.approvalMode === 'block' ? 'block' : 'wait',
194
- approvalTimeoutMs: Number(args.approvalTimeoutMs) > 0 ? Number(args.approvalTimeoutMs) : 300000,
194
+ approvalTimeoutMs: Number(args.approvalTimeoutMs) > 0 ? Number(args.approvalTimeoutMs) : 900000,
195
195
  approvalPollMs: Math.max(1000, Number(args.approvalPollMs) > 0 ? Number(args.approvalPollMs) : 3000),
196
196
  scanResponse: args.scanResponse === 'true',
197
197
  failClosed: args.failClosed !== 'false',
package/dist/telemetry.js CHANGED
@@ -155,8 +155,12 @@ async function flushSpool(input) {
155
155
  const body = await resp.json().catch(() => ({}));
156
156
  if (!body.success)
157
157
  return null;
158
- // Successfully delivered → drop the flushed events, keep any overflow.
159
- rewriteSpool(overflow);
158
+ // Successfully delivered → drop ONLY the events we actually sent. The spool
159
+ // may have gained new events while the POST was in flight (e.g. a terminal
160
+ // guard block landing mid-flush) — rewriting with the pre-flush snapshot
161
+ // (`overflow`) would silently discard them.
162
+ const flushedIds = new Set(batch.map(e => e.eventId));
163
+ rewriteSpool(readSpool().filter(e => !flushedIds.has(e.eventId)));
160
164
  return body.data || { accepted: batch.length, deduped: 0 };
161
165
  }
162
166
  catch {
package/dist/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "1.14.0"
2
+ "version": "1.14.1"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fullcourtdefense-cli",
3
- "version": "1.14.0",
3
+ "version": "1.14.1",
4
4
  "description": "Full Court Defense CLI — security scanning for AI agents from your terminal",
5
5
  "main": "dist/index.js",
6
6
  "bin": {