@integrity-labs/agt-cli 0.28.1003 → 0.28.1004

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/bin/agt.js CHANGED
@@ -40,12 +40,12 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-PU5DFL6O.js";
43
+ } from "../chunk-N4PG4TAD.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
47
47
  readDirectChatSessionState
48
- } from "../chunk-CXU7NLNR.js";
48
+ } from "../chunk-HHBAQ6ZV.js";
49
49
  import {
50
50
  AnchorSessionClient,
51
51
  CHANNEL_REGISTRY,
@@ -79,7 +79,7 @@ import {
79
79
  serializeManifestForSlackCli,
80
80
  sessionFileExists,
81
81
  sessionTranscriptDir
82
- } from "../chunk-BMDLKZHZ.js";
82
+ } from "../chunk-532V7ZSC.js";
83
83
  import "../chunk-DHWNVVX4.js";
84
84
  import "../chunk-XWVM4KPK.js";
85
85
  import "../chunk-DGUM43GV.js";
@@ -5473,7 +5473,7 @@ import { execFileSync, execSync } from "child_process";
5473
5473
  import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
5474
5474
  import chalk18 from "chalk";
5475
5475
  import ora16 from "ora";
5476
- var cliVersion = true ? "0.28.1003" : "dev";
5476
+ var cliVersion = true ? "0.28.1004" : "dev";
5477
5477
  async function fetchLatestVersion() {
5478
5478
  const host2 = getHost();
5479
5479
  if (!host2) return null;
@@ -6733,7 +6733,7 @@ function handleError(err) {
6733
6733
  }
6734
6734
 
6735
6735
  // src/bin/agt.ts
6736
- var cliVersion2 = true ? "0.28.1003" : "dev";
6736
+ var cliVersion2 = true ? "0.28.1004" : "dev";
6737
6737
  var program = new Command();
6738
6738
  program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
6739
6739
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -3153,6 +3153,52 @@ var INTEGRATION_REGISTRY = [
3153
3153
  }]
3154
3154
  }
3155
3155
  },
3156
+ {
3157
+ // ENG-10854 / ADR-0110. The POLICY half of the catalog definition: this
3158
+ // registry is what `isPremiumDefinition` reads, so the premium descriptor
3159
+ // here is what makes the per-org opt-in required at all. The CUSTOMER-FACING
3160
+ // half - the seeded `integration_definitions` row that the Add Integration
3161
+ // picker lists - is deliberately NOT in this change. `/integrations/installs`
3162
+ // reads the DB catalog with a status filter; this registry is not a listing.
3163
+ //
3164
+ // The order matters and is not bookkeeping: `isOrgEntitledToPremium` returns
3165
+ // TRUE for a definition it does not know as premium, because a free
3166
+ // integration has no opt-in concept. So a broker shipped ahead of this entry
3167
+ // would serve an org that had never opted in. The broker additionally fails
3168
+ // closed on `isPremiumDefinition` being false, so the two halves cannot come
3169
+ // apart in that direction either.
3170
+ id: "typed-evaluation",
3171
+ name: "Typed Evaluation",
3172
+ category: "knowledge",
3173
+ description: "Ask closed questions about a piece of text and get calibrated answers back \u2014 yes/no, pick-one, or a position on your own scale \u2014 with a probability for each. It never writes text and cannot answer outside the set of options you give it, which is what makes it safe to point at content you do not trust. Typical uses: is this message a repeat request, which category does this belong to, how urgent does this sound. Answers arrive in about half a second, so an agent can branch on one without spending a model turn.",
3174
+ // No customer credential exists: the call runs on Ninjafy's own gateway key.
3175
+ supported_auth_types: ["none"],
3176
+ capabilities: [
3177
+ {
3178
+ id: "typed-evaluation:evaluate",
3179
+ name: "Evaluate Text",
3180
+ description: "Ask closed questions about text the agent already holds and receive typed answers with probabilities (evaluate_text).",
3181
+ access: "read"
3182
+ }
3183
+ ],
3184
+ beta: true,
3185
+ // ENG-8842's `included`, and the reason is the consent dialog rather than
3186
+ // the price. `pricing` drives the org admin's acknowledgement modal, where
3187
+ // `usage` renders as "manages and bills by usage" and `monthly` as a
3188
+ // subscription. Both would be false statements here: a call costs about
3189
+ // $0.000076 and nothing is metered or billed, so the opt-in exists to record
3190
+ // a decision about a SUB-PROCESSOR, not about money.
3191
+ //
3192
+ // ADR-0110 Decision 11 keeps the door open deliberately: if a genuinely
3193
+ // high-volume capability arrives later - bulk classification of a customer's
3194
+ // own corpus - it is priced at THAT capability's grain and this definition
3195
+ // stays `included`. Ninja Notes is the precedent (ENG-9278): it acquired a
3196
+ // metered capability and did not flip.
3197
+ premium: {
3198
+ pricing: "included",
3199
+ note: "Typed evaluation is included in your plan \u2014 nothing is metered per question. Turning it on is a decision about data, not cost: the text an agent asks about is sent to Typesafe, through our own gateway, to be scored. It is never used to train a model and we store only the answers, never the text."
3200
+ }
3201
+ },
3156
3202
  {
3157
3203
  // Ninja Notes (ADR-0063, ENG-8842). Meeting capture on the user's own Mac,
3158
3204
  // delivered to an agent as a tag-granted note the agent reads and summarises.
@@ -6273,6 +6319,33 @@ var FLAG_REGISTRY = [
6273
6319
  // "these hosts are unreadable". Both outlive this particular version.
6274
6320
  since: "0.28.667"
6275
6321
  },
6322
+ {
6323
+ // ADR-0110 Decision 5 (ENG-10854). Gates PLATFORM-INTERNAL consumers of the
6324
+ // typed evaluation capability - inbound triage, kanban classification,
6325
+ // memory-extraction sensitivity gating, and later the conversation
6326
+ // evaluator. Nobody "installs" those; they are ours, so they are gated
6327
+ // centrally.
6328
+ //
6329
+ // IT DOES NOT GATE THE AGENT TOOL, and that separation is the point. The
6330
+ // agent tool's gate is the customer's own premium opt-in plus a per-agent
6331
+ // install (Decision 4). Pointing this flag at the tool as well would give
6332
+ // it two masters and let a staff flag silently override a decision the
6333
+ // customer made about their own data reaching a sub-processor.
6334
+ //
6335
+ // Ships with no readers: the consumers land in later slices, and the flag
6336
+ // exists now so the first of them has a gate to be born behind rather than
6337
+ // acquiring one afterwards.
6338
+ key: "typed-evaluation",
6339
+ description: "ADR-0110: platform-internal consumers of the typed evaluation model (Jev, via our AI Gateway). OFF (default) = no internal consumer calls it; ON = consumers that have shipped may call, each still subject to the per-org quota, per-agent rate limit and audit row enforced in the broker. Does NOT gate the agent-facing tool, which is governed by the premium opt-in and a per-agent install instead. Customer orgs stay off until the Decision 9 vendor gates close (sub-processor listing with DPA coverage, the legal read on emotion inference, and a recorded disclosure).",
6340
+ flagType: "boolean",
6341
+ // Ships dark. Every consumer degrades to its current behaviour when off,
6342
+ // so the safe value and the no-op value are the same one.
6343
+ defaultValue: false,
6344
+ // Turning it on starts sending customer text to an external sub-processor
6345
+ // on paths the customer did not individually opt into, which is exactly the
6346
+ // class ADR-0022 section 4 reserves the confirmation for.
6347
+ sensitive: true
6348
+ },
6276
6349
  {
6277
6350
  key: "conversation-eval-backend",
6278
6351
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
@@ -15293,4 +15366,4 @@ export {
15293
15366
  peekCurrentSession,
15294
15367
  readDailySessionPin
15295
15368
  };
15296
- //# sourceMappingURL=chunk-BMDLKZHZ.js.map
15369
+ //# sourceMappingURL=chunk-532V7ZSC.js.map