@rosthq/cli 0.5.20 → 0.5.21

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/index.js CHANGED
@@ -42384,7 +42384,7 @@ External connectors are being rolled out provider by provider, conservatively (r
42384
42384
  order: 48,
42385
42385
  title: "CLI and MCP installation guide",
42386
42386
  summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
42387
- version: "2026-06-21.10",
42387
+ version: "2026-06-21.11",
42388
42388
  public: true,
42389
42389
  audiences: ["human", "cli", "mcp", "in_app_agent"],
42390
42390
  stages: ["company_setup", "staffing"],
@@ -42820,7 +42820,7 @@ The signed-in app exposes the same Skill command surface under **Skills** in the
42820
42820
  | \`{{cli}} runner list|status|work-orders|revoke\` | \`runner.list\`, \`runner.status\`, \`work_order.list\`, \`runner.revoke\` | Inspect runners and work orders; revoke a runner. | Tenant | \`{{cli}} runner list --json\` |
42821
42821
  | \`{{cli}} notification settings|test|errors\` | \`notification.settings.get\`, \`notification.test\`, \`notification.list_errors\` | Read notification settings, send a test, and list failed deliveries with linked product error source, seat id, and run id when available. | Tenant | \`{{cli}} notification errors --limit 10 --json\` |
42822
42822
  | \`{{cli}} integration list|readiness|status|test\` | \`integration.list\`, \`integration.readiness\`, \`integration.status\`, \`integration.test\` | List connector metadata, read the setup-readiness checklist, read one connector's health, and run the provider-specific connection test without exposing credentials. | Tenant | \`{{cli}} integration readiness --provider google --json\` |
42823
- | \`{{cli}} settings get|update\` | \`settings.get\`, \`settings.update\` | Read tenant settings; update budget caps. | Tenant | \`{{cli}} settings get --json\` |
42823
+ | \`{{cli}} settings get|update|product-learning\` | \`settings.get\`, \`settings.update\`, \`settings.product_learning.get\`, \`settings.product_learning.update\` | Read tenant settings, update budget caps, and read or update product-learning participation. Product-learning updates stop at human confirmation in non-interactive CLI/MCP sessions. | Tenant / Tenant-admin for updates | \`{{cli}} settings product-learning get --json\`; \`{{cli}} settings product-learning update --mode disabled --json\` |
42824
42824
  | \`{{cli}} member invite|update|remove\` | \`member.invite\`, \`member.update\`, \`member.remove\` | Manage tenant members. | Tenant | \`{{cli}} member invite --email ops@example.com --role member\` |
42825
42825
  | \`{{cli}} agent templates|create|setup|tools|dry-run|go-live|status|run-now|fleet-digest|get-run|show\` | \`agent_template.list\`, \`agent.create_from_template\`, \`agent.create_custom\`, \`agent_setup.get\`, \`agent_setup.update\`, \`agent.configure_tools\`, \`agent.run_dry_run\`, \`agent.go_live\`, \`agent.status\`, \`agent.run_now\`, \`agent.fleet_digest\`, \`agent.get_run\`, \`agent.show_markdown\` | Run the full agent setup and operation flow: list templates, create a draft from a template or guided custom answers (with \`--model\` and \`--effort\`), read or answer setup state, connect or decline tools, dry-run, go live, run on demand, capture the fleet-health digest, read one run's transcript/error diagnostics, and show a markdown readout. Human CLI dry-runs print the rehearsal transcript and, when present, the per-tool preview labels (\`Would run\`, \`Blocked\`, \`Escalated\`) before go-live. Create and go-live stop at human gates; the dry-run is ungated by human approval but requires a signed manifest first. | Tenant and seat | \`{{cli}} agent fleet-digest --json\` |
42826
42826
  | \`{{cli}} tools list\` | \`tool.catalog\` | List the discoverable tool catalog the builder reads (id, scope tiers, credential requirement, access policy, and execution-boundary guidance). | Tenant | \`{{cli}} tools list --json\` |
@@ -42984,6 +42984,8 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
42984
42984
  | \`rost_update_tenant_settings\` | \`settings.update\` | Update tenant AI budget caps. | Tenant | Call with \`soft_cap_usd\` or \`hard_cap_usd\`; expect human confirmation. |
42985
42985
  | \`rost_get_sync_brief_scope\` | \`settings.sync_brief_scope.get\` | Read the tenant's Sync Brief scope (company_wide or per_cluster). | Tenant | Call with \`{}\`. |
42986
42986
  | \`rost_update_sync_brief_scope\` | \`settings.sync_brief_scope.update\` | Set the tenant's Sync Brief scope (company_wide or per_cluster). | Tenant-admin | Owner-only; call with \`{"sync_brief_scope":"company_wide"}\` or \`{"sync_brief_scope":"per_cluster"}\`. |
42987
+ | \`rost_get_product_learning_policy\` | \`settings.product_learning.get\` | Read whether product/page/recommendation analytics are allowed. | Tenant | Call with \`{}\`; audit/security logs are always enabled. |
42988
+ | \`rost_update_product_learning_policy\` | \`settings.product_learning.update\` | Set product-learning mode. | Tenant-admin | Human-gated; call with \`{"mode":"enabled"}\`, \`{"mode":"disabled"}\`, or \`{"mode":"enterprise_contract"}\`. |
42987
42989
  | \`rost_list_signals\` | \`signal.list\` | List measurables with their latest reading and on/off-track state. | Seat or tenant-admin | Call with \`{}\` to find measurable ids. |
42988
42990
  | \`rost_get_signal\` | \`signal.get\` | Read a measurable with its full reading history. | Seat or tenant-admin | Call with \`{"measurable_id":"<id>"}\`. |
42989
42991
  | \`rost_confirm_signal_reading\` | \`signal.confirm_reading\` | Confirm an unconfirmed reading as human-verified. | Seat or tenant-admin | Humans confirm; call with \`{"reading_id":"<id>"}\`. |
@@ -43829,11 +43831,11 @@ Stop before: approving a Charter, signing a manifest, connecting a tool or crede
43829
43831
  order: 72,
43830
43832
  title: "Settings guide",
43831
43833
  summary: "How to use Settings as the control plane for company access, channels, providers, tokens, and operating defaults.",
43832
- version: "2026-06-21.1",
43834
+ version: "2026-06-21.2",
43833
43835
  public: true,
43834
43836
  audiences: ["human", "cli", "mcp", "in_app_agent"],
43835
43837
  stages: ["company_setup", "staffing"],
43836
- relatedCommandIds: ["onboarding.create_invite", "mcp_token.create", "mcp_token.revoke", "mcp_token.list", "integration.list", "integration.readiness", "integration.status", "integration.test", "settings.get", "settings.update", "settings.sync_brief_scope.get", "settings.sync_brief_scope.update"],
43838
+ relatedCommandIds: ["onboarding.create_invite", "mcp_token.create", "mcp_token.revoke", "mcp_token.list", "integration.list", "integration.readiness", "integration.status", "integration.test", "settings.get", "settings.update", "settings.sync_brief_scope.get", "settings.sync_brief_scope.update", "settings.product_learning.get", "settings.product_learning.update"],
43837
43839
  legal: { publicRisk: "low", notes: ["{{brand}}-native settings guidance."] },
43838
43840
  sources: [
43839
43841
  {
@@ -43860,6 +43862,7 @@ Start with members and invites, then provider and channel connections, then MCP
43860
43862
  - Connected machines (the paired Runners that run scheduled local work orders).
43861
43863
  - Stored credentials (vault references only) and tool access approvals.
43862
43864
  - Operating defaults, including Sync Brief scope.
43865
+ - Product-learning participation for bounded product analytics.
43863
43866
 
43864
43867
  Settings lifecycle timestamps are display metadata for tokens, connected machines, integrations, and stored credentials. They may be emitted by the database as either timestamp values or strings, but Settings renders them as safe labels rather than treating timestamp formatting failures as page-level failures.
43865
43868
 
@@ -43875,6 +43878,16 @@ Reconnects keep historical rows for audit, but provider status in Settings, CLI,
43875
43878
 
43876
43879
  The weekly Sync Brief compiles either company-wide or per cluster. Company-wide is one brief covering the whole company and is the default for a new company. Per cluster compiles one brief per cluster, scoped to each cluster's seats; pick it when clusters run their own weekly sync. Per cluster falls back to a single company-wide brief when the company has no clusters, so the rhythm never produces zero briefs. The owner sets this at onboarding and can change it later in Settings.
43877
43880
 
43881
+ ## Product learning
43882
+
43883
+ Product-learning participation controls whether {{brand}} may record product/page/recommendation analytics for this tenant. It does not disable security logs, audit logs, error logs, events, tool-call guard records, or other operational records required to run and secure the service.
43884
+
43885
+ - \`enabled\` allows bounded product analytics for feature quality, defaults, templates, recommendations, safety checks, and reliability.
43886
+ - \`disabled\` blocks generic product/page/recommendation analytics for the tenant.
43887
+ - \`enterprise_contract\` blocks generic product-learning writes until contract-specific handling exists.
43888
+
43889
+ Read the policy with \`settings.product_learning.get\` (CLI: \`{{cli}} settings product-learning get\`). Change it with \`settings.product_learning.update\` (CLI: \`{{cli}} settings product-learning update --mode disabled\`). Analytics ingestion code should call the shared product-learning policy helper instead of reading \`tenants.settings\` directly.
43890
+
43878
43891
  ## Inference budget
43879
43892
 
43880
43893
  Agents that run on {{brand}}-managed inference draw against a tenant inference budget with a hard cap. A new company starts with a hard cap of $0, so a managed-inference run is blocked until the cap is raised. When a run hits the cap it stops with a typed budget error that names the fix; raise the cap before agents can run again.
@@ -46488,12 +46501,33 @@ function integrationUsage(bin) {
46488
46501
  ${bin} integration test --provider <name>`;
46489
46502
  }
46490
46503
  var settingsWrapper = (context, args) => dispatch(context, "settings", args, {
46504
+ "product-learning": (ctx, rest) => dispatch(ctx, "settings product-learning", rest, {
46505
+ get: (innerCtx, innerRest) => {
46506
+ const parsed = parseFlags(innerRest);
46507
+ return execute(innerCtx, parsed, "settings.product_learning.get", {}, (output) => {
46508
+ const policy = asRecord(asRecord(output).product_learning);
46509
+ return `product_learning ${field(policy, "mode")} product_analytics_enabled=${field(policy, "product_analytics_enabled")} security_audit_logs_enabled=${field(policy, "security_audit_logs_enabled")}`;
46510
+ });
46511
+ },
46512
+ update: (innerCtx, innerRest) => {
46513
+ const parsed = parseFlags(innerRest);
46514
+ const mode = optionalValue(parsed, "mode");
46515
+ if (mode !== "enabled" && mode !== "disabled" && mode !== "enterprise_contract") {
46516
+ throw new UsageError("Provide --mode enabled|disabled|enterprise_contract.");
46517
+ }
46518
+ return execute(innerCtx, parsed, "settings.product_learning.update", { mode }, (output) => {
46519
+ const policy = asRecord(asRecord(output).product_learning);
46520
+ return `Updated product-learning policy to ${field(policy, "mode")} (product_analytics_enabled=${field(policy, "product_analytics_enabled")}).`;
46521
+ });
46522
+ }
46523
+ }, settingsUsage(ctx.binName)),
46491
46524
  get: (ctx, rest) => {
46492
46525
  const parsed = parseFlags(rest);
46493
46526
  return execute(ctx, parsed, "settings.get", {}, (output) => {
46494
46527
  const record2 = asRecord(output);
46495
46528
  const spend = asRecord(record2.spend);
46496
- return `tenant ${field(record2, "tenant_id")} plan=${field(record2, "plan")} status=${field(record2, "status")} spend=$${field(spend, "spend_usd")} has_anthropic_key=${field(record2, "has_anthropic_key")}`;
46529
+ const policy = asRecord(record2.product_learning);
46530
+ return `tenant ${field(record2, "tenant_id")} plan=${field(record2, "plan")} status=${field(record2, "status")} spend=$${field(spend, "spend_usd")} has_anthropic_key=${field(record2, "has_anthropic_key")} product_learning=${field(policy, "mode")}`;
46497
46531
  });
46498
46532
  },
46499
46533
  update: (ctx, rest) => {
@@ -46512,9 +46546,11 @@ var settingsWrapper = (context, args) => dispatch(context, "settings", args, {
46512
46546
  }
46513
46547
  }, settingsUsage(context.binName));
46514
46548
  function settingsUsage(bin) {
46515
- return `Usage: ${bin} settings get|update [--json]
46549
+ return `Usage: ${bin} settings get|update|product-learning [--json]
46516
46550
  ${bin} settings get
46517
- ${bin} settings update [--soft-cap-usd <n>] [--hard-cap-usd <n>]`;
46551
+ ${bin} settings update [--soft-cap-usd <n>] [--hard-cap-usd <n>]
46552
+ ${bin} settings product-learning get
46553
+ ${bin} settings product-learning update --mode enabled|disabled|enterprise_contract`;
46518
46554
  }
46519
46555
  var memberWrapper = (context, args) => dispatch(context, "member", args, {
46520
46556
  invite: (ctx, rest) => {
@@ -47164,7 +47200,7 @@ function operationUsageLines(bin) {
47164
47200
  `${bin} sync brief|compile|complete`,
47165
47201
  `${bin} runner list|status|work-orders|revoke`,
47166
47202
  `${bin} notification settings|test|errors`,
47167
- `${bin} settings get|update`,
47203
+ `${bin} settings get|update|product-learning`,
47168
47204
  `${bin} member invite|update|remove`,
47169
47205
  `${bin} agent templates|create|setup|tools|dry-run|go-live|status|run-now|fleet-digest|get-run|show`,
47170
47206
  `${bin} tools list`,