@fargowealth/fargo-ai-cli 1.1.0 → 1.2.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.0
4
+
5
+ - Added `--login-required yes|no` to select the target company-account sign-in
6
+ policy while preparing a LEGO deployment.
7
+ - Public Apps that switch to `yes` default to Collaborators and Owner only;
8
+ `no` prepares a public deployment without an access scope.
9
+ - Included the target login policy in dry-run output and the immutable deployment
10
+ request so publication cannot drift from the security-checked bundle.
11
+
12
+ ## 1.1.1
13
+
14
+ - Fixed the runtime and OAuth `User-Agent` version so the published CLI reports
15
+ the same version as its npm package metadata and passes Fargo Pass 1.1 compatibility checks.
16
+ - Added a release gate that prevents the executable version constant from drifting
17
+ behind the package version again.
18
+
3
19
  ## 1.1.0
4
20
 
5
21
  - Added Worker Cron Trigger and Queue Consumer deployment options, including
package/README.md CHANGED
@@ -101,6 +101,7 @@ fargo lego deploy \
101
101
  --assets-binding ASSETS \
102
102
  --assets-not-found-handling single-page-application \
103
103
  --assets-run-worker-first \
104
+ --login-required yes \
104
105
  --version 1.4.0 \
105
106
  --name "Full-stack release" \
106
107
  --notes-file CHANGELOG.md
@@ -123,6 +124,12 @@ Run `fargo lego deploy --help` for the complete option list and a full-stack
123
124
  Worker example. A dry run reports the manifest schema version and separate
124
125
  Worker-module and Static Asset file counts.
125
126
 
127
+ Use `--login-required no` to prepare a public deployment with no access scope.
128
+ Use `--login-required yes` to require company-account sign-in; when the current
129
+ App is public, the hosted deployment defaults its scope to Collaborators and
130
+ Owner only. Company-wide and specific-member scopes remain available through
131
+ the hosted MCP deployment contract.
132
+
126
133
  Pass `--source-exclude <gitignore-pattern>` once or multiple times when a
127
134
  release command must make additional source exclusions explicit. Secure
128
135
  defaults already exclude `node_modules/`, build output, credentials, and common
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fargowealth/fargo-ai-cli",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Agent-neutral Fargo AI CLI, MCP client, and LEGO project tooling",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.mjs CHANGED
@@ -87,6 +87,7 @@ export async function runCli(args, options = {}) {
87
87
  deployDir,
88
88
  dryRun: args.includes("--dry-run"),
89
89
  entrypoint: optionValue(args, "--entrypoint"),
90
+ loginRequired: optionalYesNo(args, "--login-required"),
90
91
  releaseNotes,
91
92
  queueConsumer,
92
93
  skipSource: args.includes("--skip-source"),
@@ -164,6 +165,8 @@ Source and execution:
164
165
  --entrypoint <path> Default: index.html for Pages, index.js for Worker
165
166
  --skip-source Do not upload a source snapshot
166
167
  --dry-run Validate and summarize without network writes
168
+ --login-required <yes|no> Target company-account sign-in policy; yes defaults
169
+ the access scope to Collaborators and Owner only
167
170
 
168
171
  Worker Static Assets:
169
172
  --assets-dir <directory> Built browser assets; required for Worker frontends
@@ -265,6 +268,14 @@ function integerOption(args, optionName, propertyName) {
265
268
  return { [propertyName]: parsed };
266
269
  }
267
270
 
271
+ function optionalYesNo(args, optionName) {
272
+ const value = optionValue(args, optionName)?.trim().toLowerCase();
273
+ if (value === undefined) return undefined;
274
+ if (value === "yes") return true;
275
+ if (value === "no") return false;
276
+ throw new Error(`${optionName} must be yes or no`);
277
+ }
278
+
268
279
  function hasOption(args, name) {
269
280
  return args.some((value) => value === name || value.startsWith(`${name}=`));
270
281
  }
package/src/constants.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export const CLI_VERSION = "1.0.0";
1
+ export const CLI_VERSION = "1.2.0";
2
2
  export const DEVICE_CODE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
3
3
  export const DEFAULT_AUTH_URL = "https://auth.fargowealth.app";
4
4
  export const DEFAULT_API_URL = "https://mcp.fargowealth.app";
@@ -34,6 +34,7 @@ export async function deployLocalLegoApp(store, input, options = {}) {
34
34
  return {
35
35
  dryRun: true,
36
36
  release: {
37
+ loginRequired: input.loginRequired,
37
38
  notes: input.releaseNotes,
38
39
  version: input.version,
39
40
  versionName: input.versionName
@@ -69,6 +70,7 @@ export async function deployLocalLegoApp(store, input, options = {}) {
69
70
  ...(input.cronSchedules?.length ? { cronSchedules: input.cronSchedules } : {}),
70
71
  deployArtifactId,
71
72
  entrypoint: artifact.entrypoint,
73
+ ...(input.loginRequired === undefined ? {} : { loginRequired: input.loginRequired }),
72
74
  releaseNotes: input.releaseNotes,
73
75
  ...(input.queueConsumer ? { queueConsumer: input.queueConsumer } : {}),
74
76
  version: input.version,