@integrity-labs/agt-cli 0.28.1079 → 0.28.1080

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.
@@ -37113,42 +37113,24 @@ var DAY_MS = 24 * HOUR_MS;
37113
37113
  var ALERT_AGE_SEVERITY_FLOORS = [{ afterMs: 24 * HOUR_MS, floor: "critical" }];
37114
37114
 
37115
37115
  // ../core/dist/conversations/metrics.js
37116
+ var DAY_MS2 = 24 * 60 * 60 * 1e3;
37117
+ var ALL_TIME_FLOOR_ISO = "2026-01-01T00:00:00.000Z";
37118
+ var ALL_TIME_FLOOR_MS = Date.parse(ALL_TIME_FLOOR_ISO);
37116
37119
  var PERIOD_CONFIG = {
37117
- "24h": { windowMs: 24 * 60 * 60 * 1e3, bucket: "hour" },
37118
- "7d": { windowMs: 7 * 24 * 60 * 60 * 1e3, bucket: "day" },
37119
- "30d": { windowMs: 30 * 24 * 60 * 60 * 1e3, bucket: "day" }
37120
+ "24h": { windowMs: DAY_MS2, bucket: "hour" },
37121
+ "7d": { windowMs: 7 * DAY_MS2, bucket: "day" },
37122
+ "30d": { windowMs: 30 * DAY_MS2, bucket: "day" },
37123
+ "90d": { windowMs: 90 * DAY_MS2, bucket: "day" },
37124
+ "180d": { windowMs: 180 * DAY_MS2, bucket: "day" },
37125
+ all: { windowMs: null, bucket: "day" }
37120
37126
  };
37121
37127
  var CONVERSATION_METRICS_PERIODS = Object.keys(PERIOD_CONFIG);
37122
37128
 
37123
37129
  // ../core/dist/conversations/eval-scores.js
37124
37130
  var EVAL_SCORE_MA_WINDOW_MS = 28 * 24 * 60 * 60 * 1e3;
37125
- var PERIOD_CONFIG2 = {
37126
- "24h": { windowMs: 24 * 60 * 60 * 1e3, bucket: "hour" },
37127
- "7d": { windowMs: 7 * 24 * 60 * 60 * 1e3, bucket: "day" },
37128
- "30d": { windowMs: 30 * 24 * 60 * 60 * 1e3, bucket: "day" }
37129
- };
37130
-
37131
- // ../core/dist/conversations/eval-failures.js
37132
- var PERIOD_WINDOW_MS = {
37133
- "24h": 24 * 60 * 60 * 1e3,
37134
- "7d": 7 * 24 * 60 * 60 * 1e3,
37135
- "30d": 30 * 24 * 60 * 60 * 1e3
37136
- };
37137
-
37138
- // ../core/dist/conversations/eval-failure-categories.js
37139
- var PERIOD_WINDOW_MS2 = {
37140
- "24h": 24 * 60 * 60 * 1e3,
37141
- "7d": 7 * 24 * 60 * 60 * 1e3,
37142
- "30d": 30 * 24 * 60 * 60 * 1e3
37143
- };
37144
37131
 
37145
37132
  // ../core/dist/ratings/kanban-ratings.js
37146
37133
  var RATING_MA_WINDOW_MS = 28 * 24 * 60 * 60 * 1e3;
37147
- var PERIOD_CONFIG3 = {
37148
- "24h": { windowMs: 24 * 60 * 60 * 1e3, bucket: "hour" },
37149
- "7d": { windowMs: 7 * 24 * 60 * 60 * 1e3, bucket: "day" },
37150
- "30d": { windowMs: 30 * 24 * 60 * 60 * 1e3, bucket: "day" }
37151
- };
37152
37134
 
37153
37135
  // ../core/dist/triggers/registry.js
37154
37136
  var sources = /* @__PURE__ */ new Map();
@@ -37546,6 +37528,36 @@ var FLAG_REGISTRY = [
37546
37528
  // wearing a precise number, which is the failure this field invites.
37547
37529
  since: "0.28.618"
37548
37530
  },
37531
+ {
37532
+ key: "block-self-serve-org-creation",
37533
+ description: "Invite-only onboarding (ENG-11305): refuse self-serve organization creation. On: the signup trigger and /auth/ensure-person create no organization for a new account, POST /organizations returns 403, and the user is told organizations are by invitation. Still allowed: accepting an invitation, and staff organization creation - NOTHING else. A company-domain signup is no longer auto-joined to any existing organization: no signal available here proves domain ownership (a slug is not a domain, and organization_email_domains.verified_at is self-asserted by any org admin), so an invitation is the only door. Existing organizations are untouched. STAGE-WIDE ONLY: it is read inside Postgres (`self_serve_org_creation_blocked`), which sees only the stage value, never an org override - there is no org yet. Turn it OFF here to reopen self-serve signup.",
37534
+ flagType: "boolean",
37535
+ // Ships ARMED (ENG-11305): the block is the point, and a dark default is a
37536
+ // control that is "Done" and never in force. This literal is duplicated as
37537
+ // the fallback inside self_serve_org_creation_blocked() (SQL cannot see the
37538
+ // registry); eng-11305-self-serve-org-block.test.ts asserts they agree. No
37539
+ // envVar on purpose: TS honours env first and SQL cannot see it, so the two
37540
+ // halves of the gate would disagree on any host that set one.
37541
+ defaultValue: true,
37542
+ // An org override is meaningless here (no org exists when this evaluates)
37543
+ // and is ignored by the SQL half; stop org admins setting one that would
37544
+ // read as if it did something.
37545
+ platformAdminOnly: true,
37546
+ // ADR-0022 §4, CodeRabbit on #6733. `platformAdminOnly` answers WHO may
37547
+ // change this; it does not make changing it deliberate. Turning this flag
37548
+ // OFF reopens self-serve organization creation fleet-wide — every new org
37549
+ // carries the default comp subscription and can provision managed hosts —
37550
+ // and it is a single toggle on a list of toggles, with no org-level blast
37551
+ // radius to make anyone hesitate. `sensitive` is what forces the
37552
+ // confirmation: `isSensitiveFlag` gates the API mutation on an explicit
37553
+ // `confirm: true` (`routes/flags.ts:487`) and on `?confirm=true` for an
37554
+ // override removal (`:360`), and the admin page routes it through a
37555
+ // confirm modal rather than an inline write (`page.tsx:179`).
37556
+ //
37557
+ // This rolls FLAGS_SCHEMA_VERSION, which is expected: `sensitive` is part
37558
+ // of the structural projection (`schema-version.ts:37`).
37559
+ sensitive: true
37560
+ },
37549
37561
  {
37550
37562
  key: "agent-hours-billing-enabled",
37551
37563
  description: "Agent-hours (utilisation) billing (ENG-7910). Per-org gate; ships dark. When on for an org, its closed billing periods are settled into org_agent_hours_settlements from the plan/override agent-hours terms, and the customer billing surface shows used-vs-included hours + projected overage. Off = no settlement written, no charge, surface hidden. Launch prices are seeded in plan_billing_terms; flip on per-org for a controlled rollout.",
@@ -40063,7 +40075,7 @@ function watchSuccessTextPlain(fileId, durationMs, reused) {
40063
40075
  var SECOND_MS = 1e3;
40064
40076
  var MINUTE_MS2 = 60 * SECOND_MS;
40065
40077
  var HOUR_MS2 = 60 * MINUTE_MS2;
40066
- var DAY_MS2 = 24 * HOUR_MS2;
40078
+ var DAY_MS3 = 24 * HOUR_MS2;
40067
40079
  var DEFAULT_RATE_LIMITER_CONFIG = Object.freeze({
40068
40080
  pairBurstLimit: 1,
40069
40081
  pairBurstWindowMs: 10 * SECOND_MS,
@@ -40072,9 +40084,9 @@ var DEFAULT_RATE_LIMITER_CONFIG = Object.freeze({
40072
40084
  chatLimit: 10,
40073
40085
  chatWindowMs: 5 * MINUTE_MS2,
40074
40086
  agentDailyLimit: 200,
40075
- agentDailyWindowMs: DAY_MS2,
40087
+ agentDailyWindowMs: DAY_MS3,
40076
40088
  dailyBudgetLimit: 500,
40077
- dailyBudgetWindowMs: DAY_MS2
40089
+ dailyBudgetWindowMs: DAY_MS3
40078
40090
  });
40079
40091
  function readSliding(window2, windowMs, now) {
40080
40092
  if (!window2) return 0;
@@ -40161,7 +40173,7 @@ function createPeerRateLimiter(config2 = DEFAULT_RATE_LIMITER_CONFIG) {
40161
40173
  };
40162
40174
  }
40163
40175
  function createPresenceTracker(opts = {}) {
40164
- const retainMs = opts.retainMs ?? DAY_MS2;
40176
+ const retainMs = opts.retainMs ?? DAY_MS3;
40165
40177
  const lastHumanByChat = /* @__PURE__ */ new Map();
40166
40178
  for (const [chatId, at] of Object.entries(opts.initial ?? {})) {
40167
40179
  if (typeof at === "number" && Number.isFinite(at)) lastHumanByChat.set(chatId, at);
@@ -68,8 +68,8 @@ import {
68
68
  writeDirectChatSessionState,
69
69
  writeEgressAllowlist,
70
70
  writePersistentClaudeWrapper
71
- } from "./chunk-OGMCA67P.js";
72
- import "./chunk-5SASCNYV.js";
71
+ } from "./chunk-SREQF7XT.js";
72
+ import "./chunk-7F2UFKYG.js";
73
73
  import "./chunk-OCMJ5E6J.js";
74
74
  import "./chunk-XWVM4KPK.js";
75
75
  import "./chunk-EL5MWGGH.js";
@@ -145,4 +145,4 @@ export {
145
145
  writeEgressAllowlist,
146
146
  writePersistentClaudeWrapper
147
147
  };
148
- //# sourceMappingURL=persistent-session-UZUEF6BV.js.map
148
+ //# sourceMappingURL=persistent-session-HC2M4YIE.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-OGMCA67P.js";
4
- import "./chunk-5SASCNYV.js";
3
+ } from "./chunk-SREQF7XT.js";
4
+ import "./chunk-7F2UFKYG.js";
5
5
  import "./chunk-OCMJ5E6J.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
  import "./chunk-EL5MWGGH.js";
@@ -802,4 +802,4 @@ export {
802
802
  readAndResetSlackReplyBindingClassifications,
803
803
  readAndResetSlackReplyTargetClassifications
804
804
  };
805
- //# sourceMappingURL=responsiveness-probe-K5DU6QFZ.js.map
805
+ //# sourceMappingURL=responsiveness-probe-FU36EGNL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-5SASCNYV.js";
3
+ } from "./chunk-7F2UFKYG.js";
4
4
  import "./chunk-DGUM43GV.js";
5
5
 
6
6
  // src/lib/session-auth-dead.ts
@@ -204,4 +204,4 @@ export {
204
204
  decideSessionAuthState,
205
205
  probeSessionAuth
206
206
  };
207
- //# sourceMappingURL=session-auth-dead-47ZVQPUP.js.map
207
+ //# sourceMappingURL=session-auth-dead-W6E555FY.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1079",
3
+ "version": "0.28.1080",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {