@integrity-labs/agt-cli 0.28.1129 → 0.28.1130

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.
@@ -35569,6 +35569,78 @@ var INTEGRATION_REGISTRY = [
35569
35569
  },
35570
35570
  docs_url: "https://www.framer.com/developers/server-api-quick-start"
35571
35571
  },
35572
+ {
35573
+ // ENG-11540: FlutterFlow, through FlutterFlow's own CLI (`flutterflow ai`).
35574
+ //
35575
+ // WHAT "FLUTTERFLOW MCP" ACTUALLY IS. Not a hosted MCP endpoint. `flutterflow
35576
+ // ai init <dir>` creates a local workspace holding a vendored Dart SDK and an
35577
+ // MCP server registered in a workspace-root `.mcp.json`. The agent's own
35578
+ // `.mcp.json` is platform-rendered, so a workspace-local server is never seen
35579
+ // by the agent's session. The agent drives the same commands over Bash
35580
+ // instead, which is what FlutterFlow's own Claude Code plugin does
35581
+ // (github.com/FlutterFlow/flutterflow-claude) and is the same project state.
35582
+ //
35583
+ // HEADLESS, VERIFIED by running flutterflow_cli 0.0.41 on 2026-10-15: `init`
35584
+ // reads FF_API_KEY from the environment, takes the workspace positionally and
35585
+ // the project as `--project`, and never prompts when stdin is not a TTY. With
35586
+ // no key it fails fast ("API key is required") rather than hanging. A key
35587
+ // from the environment is never written to the CLI's credential store.
35588
+ // Neither `flutterflow --version` nor `flutterflow ai --version` works outside
35589
+ // a workspace, which is why the probe is central HTTP (connectivity-probe.ts).
35590
+ id: "flutterflow",
35591
+ name: "FlutterFlow",
35592
+ category: "code",
35593
+ description: "Build and edit FlutterFlow apps with the FlutterFlow CLI. Start with `flutterflow ai init <dir> --project <project-id>` (the key is already in FF_API_KEY), work inside that folder, inspect and validate before you run, and never read the folder's .flutterflow/.env (it holds the key). Never pass --yes to native-file unlock or lock, and ask a person before publish-library.",
35594
+ supported_auth_types: ["api_key"],
35595
+ // flutterflow_cli is 0.0.x and the AI SDK it downloads is versioned server-side.
35596
+ beta: true,
35597
+ installable: { category: "Code", authTypes: ["api_key"] },
35598
+ capabilities: [
35599
+ {
35600
+ id: "flutterflow:read-project",
35601
+ name: "Read Project",
35602
+ description: "Inspect, search and validate a FlutterFlow project: pages, components, resources, status and run history",
35603
+ access: "read"
35604
+ },
35605
+ {
35606
+ id: "flutterflow:edit-project",
35607
+ name: "Edit Project",
35608
+ description: "Push changes to a FlutterFlow project: pages, widgets, state, actions and theme",
35609
+ access: "write"
35610
+ },
35611
+ {
35612
+ id: "flutterflow:publish-library",
35613
+ name: "Publish Library",
35614
+ description: "Publish a new version of a FlutterFlow library that other projects depend on",
35615
+ access: "write"
35616
+ }
35617
+ ],
35618
+ cli_tool: {
35619
+ package: "flutterflow_cli",
35620
+ binary: "flutterflow",
35621
+ // `flutterflow ai` and the SDK it downloads both authenticate from this
35622
+ // (the legacy FLUTTERFLOW_API_TOKEN feeds only export-code/deploy-firebase).
35623
+ env_key: "FF_API_KEY",
35624
+ installer: "script",
35625
+ // The catalog is the trust boundary for this string (same contract as the
35626
+ // `gh` entry above). The CLI is a Dart pub package, and AL2023 has no Dart
35627
+ // rpm, so this installs Google's official SDK zip into a private prefix
35628
+ // (about 650 MB, which is why it is per-integration and not in the base
35629
+ // image) and puts a wrapper, not pub's shim, at /usr/local/bin/flutterflow.
35630
+ // pub's shim runs a bare `dart`, so a different Dart earlier on PATH would
35631
+ // reject the 3.13.5 snapshot; the wrapper pins our Dart for the CLI AND for
35632
+ // the `dart run` the downloaded SDK does. Re-runnable: a timed-out run
35633
+ // (180s) resumes from whatever finished. The SDK is unzipped into a
35634
+ // staging dir INSIDE the prefix and renamed into place last (CodeRabbit on
35635
+ // #7007): a run killed mid-unzip must never leave a partial dart-sdk that
35636
+ // passes the version check and then fails every retry. Staging on the same
35637
+ // filesystem is what makes the final `mv` a rename rather than a copy.
35638
+ // Versions pinned on purpose: bump
35639
+ // them together, after re-running the headless check above.
35640
+ script: `set -e; d=/usr/local/flutterflow; v=3.13.5; case "$(uname -m)" in x86_64) a=x64;; aarch64|arm64) a=arm64;; *) echo "flutterflow: unsupported architecture $(uname -m)" >&2; exit 1;; esac; if ! "$d/dart-sdk/bin/dart" --version 2>&1 | grep -q "version: $v "; then if ! command -v unzip >/dev/null 2>&1; then if command -v dnf >/dev/null 2>&1; then dnf install -y unzip; elif command -v apt-get >/dev/null 2>&1; then apt-get update && apt-get install -y unzip; else echo "flutterflow: unzip missing and no supported installer (need dnf or apt-get)" >&2; exit 1; fi; fi; mkdir -p "$d"; t=$(mktemp -d "$d/.stage.XXXXXX"); trap 'rm -rf "$t"' EXIT; curl -fsSL "https://storage.googleapis.com/dart-archive/channels/stable/release/$v/sdk/dartsdk-linux-$a-release.zip" -o "$t/dart.zip"; unzip -q "$t/dart.zip" -d "$t/x"; rm -rf "$d/dart-sdk"; mv "$t/x/dart-sdk" "$d/dart-sdk"; fi; PATH="$d/dart-sdk/bin:$PATH" PUB_CACHE="$d/pub-cache" "$d/dart-sdk/bin/dart" pub global activate flutterflow_cli 0.0.41; printf '#!/bin/sh\\nPATH="%s/dart-sdk/bin:$PATH" PUB_CACHE="%s/pub-cache" exec "%s/pub-cache/bin/flutterflow" "$@"\\n' "$d" "$d" "$d" > /usr/local/bin/flutterflow; chmod 755 /usr/local/bin/flutterflow`
35641
+ },
35642
+ docs_url: "https://docs.flutterflow.io/flutterflow-cli/build/"
35643
+ },
35572
35644
  {
35573
35645
  id: "v0",
35574
35646
  name: "v0 by Vercel",
@@ -39806,6 +39878,20 @@ var FLAG_REGISTRY = [
39806
39878
  // on for their own org. Only a platform admin can (PR #6522 review).
39807
39879
  platformAdminOnly: true
39808
39880
  },
39881
+ {
39882
+ key: "direct-chat-voice",
39883
+ description: "Show the microphone (voice) button in the web Direct Chat composer - the Direct Chat drawer and the agent-screen chat dock (ENG-11542). Off by default: voice set expectations it does not yet meet for customers, but the team still needs it for testing, so it is enabled per org rather than removed. Does not gate the mobile PWA voice switch or the server voice-session routes.",
39884
+ flagType: "boolean",
39885
+ // PUBLIC (ADR-0022 §2): read in the browser via usePublicBooleanFlag, so it
39886
+ // must be in the GET /flags map. No env override (UI rollout, not an
39887
+ // operator gate). Ships dark (default false).
39888
+ public: true,
39889
+ defaultValue: false,
39890
+ // Platform admin only: the point of the flag is keeping a not-ready feature
39891
+ // away from customers, so a customer org admin must not be able to switch
39892
+ // it back on for their own org.
39893
+ platformAdminOnly: true
39894
+ },
39809
39895
  {
39810
39896
  key: "platform-maintenance-mode",
39811
39897
  description: 'Platform-wide maintenance mode (ENG-6506; widened to modes by ENG-11436). off = normal operation (ships dark; channels behave exactly as today). tools-offline = every agent KEEPS conversing but every Augmented tool that WRITES to the control plane refuses with a reason, so nothing is created during a window whose database restore would discard it; reads are untouched. fleet-offline = the previous boolean-true behaviour AND the write gate: admitted human inbound gets a "we are offline for maintenance" notice instead of being dispatched, for whole-platform downtime such as DB upgrades. The modes are CUMULATIVE \u2014 fleet-offline gates writes too, because silencing channel inbound does not stop a /loop or a scheduled task filing work. Read host-side per inbound and per tool call from the flags cache (no MCP restart). (Proactive "back online" follow-up is the ENG-6508 fast-follow, not this flag.)',
@@ -68,8 +68,8 @@ import {
68
68
  writeDirectChatSessionState,
69
69
  writeEgressAllowlist,
70
70
  writePersistentClaudeWrapper
71
- } from "./chunk-23GMWGOP.js";
72
- import "./chunk-JFABPA3Z.js";
71
+ } from "./chunk-TRZ4SG77.js";
72
+ import "./chunk-KN4GAY5Z.js";
73
73
  import "./chunk-B6UYVEMD.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-QSE66QYT.js.map
148
+ //# sourceMappingURL=persistent-session-YDKIHRCX.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-23GMWGOP.js";
4
- import "./chunk-JFABPA3Z.js";
3
+ } from "./chunk-TRZ4SG77.js";
4
+ import "./chunk-KN4GAY5Z.js";
5
5
  import "./chunk-B6UYVEMD.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-NC4A3FCR.js.map
805
+ //# sourceMappingURL=responsiveness-probe-5LEQ4ZFE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-JFABPA3Z.js";
3
+ } from "./chunk-KN4GAY5Z.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-23ERZN4N.js.map
207
+ //# sourceMappingURL=session-auth-dead-C3GYATAO.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1129",
3
+ "version": "0.28.1130",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {