@skrr-ai/cli 0.1.126 → 0.1.128

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.
Files changed (123) hide show
  1. package/dist/base-command.d.ts +23 -0
  2. package/dist/base-command.js +72 -0
  3. package/dist/commands/agents/chat.js +7 -0
  4. package/dist/commands/agents/goals/list.d.ts +2 -2
  5. package/dist/commands/agents/goals/list.js +2 -2
  6. package/dist/commands/commitments/action-history.js +1 -1
  7. package/dist/commands/commitments/cases.js +3 -3
  8. package/dist/commands/commitments/check-now.d.ts +10 -2
  9. package/dist/commands/commitments/check-now.js +53 -3
  10. package/dist/commands/commitments/create.d.ts +6 -14
  11. package/dist/commands/commitments/create.js +61 -6
  12. package/dist/commands/commitments/doctor.js +3 -1
  13. package/dist/commands/commitments/effective-policy.d.ts +11 -1
  14. package/dist/commands/commitments/effective-policy.js +84 -4
  15. package/dist/commands/commitments/hypotheses.js +12 -12
  16. package/dist/commands/commitments/next-tick.js +5 -0
  17. package/dist/commands/commitments/observations.js +18 -17
  18. package/dist/commands/commitments/pack/list.js +2 -1
  19. package/dist/commands/commitments/pack/plan.d.ts +6 -0
  20. package/dist/commands/commitments/pack/plan.js +19 -0
  21. package/dist/commands/commitments/preflight.d.ts +19 -0
  22. package/dist/commands/commitments/preflight.js +108 -10
  23. package/dist/commands/commitments/trigger-status.js +8 -0
  24. package/dist/commands/commitments/update.d.ts +1 -0
  25. package/dist/commands/commitments/update.js +45 -4
  26. package/dist/commands/commitments/wake-capabilities.js +13 -0
  27. package/dist/commands/compass/archive.js +4 -0
  28. package/dist/commands/compass/commitments.js +15 -1
  29. package/dist/commands/compass/create.js +11 -3
  30. package/dist/commands/compass/effective-policy.d.ts +1 -0
  31. package/dist/commands/compass/effective-policy.js +8 -7
  32. package/dist/commands/compass/revert.d.ts +8 -0
  33. package/dist/commands/compass/revert.js +25 -1
  34. package/dist/commands/compass/revisions.d.ts +2 -0
  35. package/dist/commands/compass/revisions.js +18 -2
  36. package/dist/commands/compass/tactic.d.ts +5 -3
  37. package/dist/commands/compass/tactic.js +8 -7
  38. package/dist/commands/compass/update.js +19 -3
  39. package/dist/commands/followups/act.js +1 -1
  40. package/dist/commands/followups/cancel.js +13 -0
  41. package/dist/commands/followups/observability.js +20 -1
  42. package/dist/commands/followups/plans/create.js +12 -1
  43. package/dist/commands/followups/show.js +13 -0
  44. package/dist/commands/followups/watch.js +1 -1
  45. package/dist/commands/goals/create.d.ts +1 -0
  46. package/dist/commands/goals/create.js +4 -1
  47. package/dist/commands/goals/planner-config.d.ts +11 -0
  48. package/dist/commands/goals/planner-config.js +16 -0
  49. package/dist/commands/goals/revisions.js +3 -19
  50. package/dist/commands/machines/update.d.ts +5 -3
  51. package/dist/commands/machines/update.js +70 -9
  52. package/dist/commands/northstars/create.js +3 -1
  53. package/dist/commands/northstars/governance/configure.d.ts +4 -0
  54. package/dist/commands/northstars/governance/configure.js +75 -9
  55. package/dist/commands/northstars/intents/decide.d.ts +6 -0
  56. package/dist/commands/northstars/intents/decide.js +69 -15
  57. package/dist/commands/northstars/intents/list.d.ts +2 -1
  58. package/dist/commands/northstars/intents/list.js +15 -5
  59. package/dist/commands/northstars/intents.d.ts +26 -0
  60. package/dist/commands/northstars/intents.js +49 -0
  61. package/dist/commands/northstars/list.d.ts +1 -0
  62. package/dist/commands/northstars/list.js +24 -3
  63. package/dist/commands/northstars/recommendations/list.d.ts +1 -1
  64. package/dist/commands/northstars/recommendations/list.js +3 -3
  65. package/dist/commands/northstars/recommendations.d.ts +19 -0
  66. package/dist/commands/northstars/recommendations.js +42 -0
  67. package/dist/commands/northstars/review-now.d.ts +1 -0
  68. package/dist/commands/northstars/review-now.js +10 -4
  69. package/dist/commands/northstars/reviews.d.ts +1 -0
  70. package/dist/commands/northstars/reviews.js +19 -3
  71. package/dist/commands/northstars/update.js +8 -1
  72. package/dist/commands/proposals/list.js +11 -2
  73. package/dist/commands/proposals/show.js +9 -1
  74. package/dist/commands/spaces/auto-executor/preview.d.ts +14 -1
  75. package/dist/commands/spaces/auto-executor/preview.js +35 -1
  76. package/dist/commands/spaces/auto-executor/run.d.ts +17 -0
  77. package/dist/commands/spaces/auto-executor/run.js +60 -2
  78. package/dist/commands/spaces/files/upload.js +1 -2
  79. package/dist/commands/spaces/index.js +23 -0
  80. package/dist/commands/spaces/revisions.js +3 -2
  81. package/dist/commands/tasks/revisions.js +3 -2
  82. package/dist/commands/triggers/fire-detail.js +2 -0
  83. package/dist/generated/agent-guides.json +69 -69
  84. package/dist/lib/agentic-stream.d.ts +9 -0
  85. package/dist/lib/agentic-stream.js +14 -0
  86. package/dist/lib/command-miss.js +11 -2
  87. package/dist/lib/commitment-attention-copy.d.ts +96 -0
  88. package/dist/lib/commitment-attention-copy.js +209 -0
  89. package/dist/lib/commitment-loop-status.d.ts +6 -0
  90. package/dist/lib/commitment-loop-status.js +16 -6
  91. package/dist/lib/commitments.d.ts +88 -0
  92. package/dist/lib/commitments.js +188 -0
  93. package/dist/lib/compass-body-help.d.ts +20 -0
  94. package/dist/lib/compass-body-help.js +61 -0
  95. package/dist/lib/compass-refusals.d.ts +35 -0
  96. package/dist/lib/compass-refusals.js +50 -0
  97. package/dist/lib/compasses.d.ts +80 -4
  98. package/dist/lib/compasses.js +232 -12
  99. package/dist/lib/followups.d.ts +22 -1
  100. package/dist/lib/followups.js +21 -1
  101. package/dist/lib/format.d.ts +11 -0
  102. package/dist/lib/format.js +29 -0
  103. package/dist/lib/initiatives.d.ts +9 -2
  104. package/dist/lib/initiatives.js +13 -2
  105. package/dist/lib/machines.d.ts +14 -1
  106. package/dist/lib/machines.js +24 -0
  107. package/dist/lib/northstars.d.ts +158 -24
  108. package/dist/lib/northstars.js +538 -26
  109. package/dist/lib/proposal-decision-command.js +21 -1
  110. package/dist/lib/proposals.d.ts +26 -1
  111. package/dist/lib/proposals.js +163 -0
  112. package/dist/lib/rate-limit-retry.d.ts +5 -0
  113. package/dist/lib/rate-limit-retry.js +19 -0
  114. package/dist/lib/revision-actor.d.ts +2 -0
  115. package/dist/lib/revision-actor.js +16 -0
  116. package/dist/lib/roles.d.ts +1 -1
  117. package/dist/lib/space-charter.js +9 -0
  118. package/dist/lib/task-asset-upload.js +1 -2
  119. package/dist/lib/triggers.d.ts +33 -1
  120. package/dist/lib/triggers.js +77 -3
  121. package/dist/node_modules/@skrr-ai/data-provider/index.js +7537 -7474
  122. package/oclif.manifest.json +357 -34
  123. package/package.json +4 -4
@@ -31699,8 +31699,9 @@
31699
31699
  "<%= config.bin %> commitments create --agent <agent-id> --title \"SLA\" --outcome \"p95 under 200ms\" --criterion \"p95 latency confirmed\" --evaluator metric --measure <measure-id>",
31700
31700
  "<%= config.bin %> commitments create --agent <agent-id> --title \"AWS cost watch\" --outcome \"Cost regressions are investigated\" --agent-directive-file ./aws-cost-policy.md",
31701
31701
  "<%= config.bin %> commitments create --from-json commitment.json --json",
31702
- "# Replace <agent-id> with your Agent ID; this creates a draft, not a running loop.\n# In \"policy\", 0 is a ZERO budget (nothing may run or be spent), not \"no limit\".\n# To remove a limit set it to null (e.g. \"maxCostUsdPerDay\": null) or leave the key out.\ncat > commitment.json <<'JSON'\n{\n \"agentId\": \"<agent-id>\",\n \"title\": \"Daily queue review\",\n \"status\": \"draft\",\n \"target\": { \"outcome\": \"Queue changes are reviewed\" },\n \"cadence\": { \"mode\": \"interval\", \"intervalMs\": 3600000, \"activeHours\": { \"start\": \"09:00\", \"end\": \"22:00\" }, \"daysOfWeek\": [\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"], \"timezone\": \"Asia/Shanghai\" },\n \"watchedSources\": [{\n \"source\": \"agent_run\",\n \"config\": { \"keys\": [\n { \"key\": \"queue.depth\", \"label\": \"Queue depth\", \"requireArtifact\": true,\n \"changeRule\": { \"mode\": \"numeric_delta\", \"minDelta\": 2, \"absoluteFloor\": 1 } },\n \"queue.status\"\n ] }\n }],\n \"policy\": {\n \"maxUserNudgesPerDay\": 0,\n \"executionBudget\": { \"maxRunsPerDay\": 0, \"maxObservationRunsPerDay\": 0, \"maxCostUsdPerDay\": 0 }\n }\n}\nJSON\n<%= config.bin %> commitments preflight --from-json commitment.json\n<%= config.bin %> commitments create --from-json commitment.json --json",
31703
- "<%= config.bin %> commitments create --agent <agent-id> --title \"Keep CI healthy\" --outcome \"Failed checks are repaired\" --watch github --github-event check_run_failed --event-driven --delivery draft-pr --repo owner/repo --base main --status draft"
31702
+ "# Replace <agent-id> with your Agent ID; this creates a draft, not a running loop.\n# In \"policy\", 0 is a ZERO budget (nothing may run or be spent), not \"no limit\".\n# To remove a limit set it to null (e.g. \"maxCostUsdPerDay\": null) or leave the key out.\ncat > commitment.json <<'JSON'\n{\n \"agentId\": \"<agent-id>\",\n \"title\": \"Daily queue review\",\n \"status\": \"draft\",\n \"target\": { \"outcome\": \"Queue changes are reviewed\" },\n \"cadence\": { \"mode\": \"interval\", \"intervalMs\": 3600000, \"activeHours\": { \"start\": \"09:00\", \"end\": \"22:00\" }, \"daysOfWeek\": [\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"], \"timezone\": \"Asia/Shanghai\" },\n \"watchedSources\": [{\n \"source\": \"agent_run\",\n \"config\": { \"keys\": [\n { \"key\": \"queue.depth\", \"label\": \"Queue depth\", \"requireArtifact\": true,\n \"changeRule\": { \"mode\": \"numeric_delta\", \"minDelta\": 2, \"absoluteFloor\": 1 } },\n \"queue.status\"\n ] }\n }],\n \"policy\": {\n \"maxUserNudgesPerDay\": 0,\n \"quietHours\": { \"enabled\": true, \"start\": \"22:00\", \"end\": \"07:00\", \"timezone\": \"Asia/Shanghai\" },\n \"executionBudget\": { \"maxRunsPerDay\": 0, \"maxObservationRunsPerDay\": 0, \"maxCostUsdPerDay\": 0 }\n }\n}\nJSON\n<%= config.bin %> commitments preflight --from-json commitment.json\n<%= config.bin %> commitments create --from-json commitment.json --json",
31703
+ "<%= config.bin %> commitments create --agent <agent-id> --title \"Keep CI healthy\" --outcome \"Failed checks are repaired\" --watch github --github-event check_run_failed --event-driven --delivery draft-pr --repo owner/repo --base main --status draft",
31704
+ "# Govern a Commitment with a Compass. There is no flag: \"compassId\" goes in the --from-json body.\n# It must be an active Compass of the same Agent (a draft may name an archived one).\n# The binding cannot be changed later: bind a successor Commitment to another Compass instead.\ncat > commitment.json <<'JSON'\n{\n \"agentId\": \"<agent-id>\",\n \"compassId\": \"<compass-id>\",\n \"title\": \"Keep p99 under 300 ms\",\n \"status\": \"draft\",\n \"target\": { \"outcome\": \"p99 API latency stays under 300 ms\" }\n}\nJSON\n<%= config.bin %> commitments create --from-json commitment.json --json\n<%= config.bin %> compass commitments <compass-id> --agent <agent-id> # lists it once it is bound"
31704
31705
  ],
31705
31706
  "flags": {
31706
31707
  "bare": {
@@ -31743,7 +31744,7 @@
31743
31744
  "type": "boolean"
31744
31745
  },
31745
31746
  "from-json": {
31746
- "description": "JSON file (or \"-\" for stdin) for fields not exposed as flags. See examples below for daily times, named agent_run keys and zero budgets.",
31747
+ "description": "JSON file (or \"-\" for stdin) for fields not exposed as flags. See examples below for daily times, named agent_run keys, zero budgets and \"compassId\" (binds a Compass; fixed at creation). Quiet hours (no messages to you) go in the JSON as policy.quietHours: {\"enabled\":true,\"start\":\"22:00\",\"end\":\"07:00\",\"timezone\":\"America/Los_Angeles\"}. Times are 24-hour HH:MM (00:00-23:59); the window may cross midnight and its end is not inside it; timezone is an IANA name, and when omitted it is UTC, not your local zone. policy.executionBudget.allowedEventSources limits which event sources may wake the Commitment: an empty or missing list allows every source (it is not \"none\"); name sources to restrict it.",
31747
31748
  "name": "from-json",
31748
31749
  "hasDynamicHelp": false,
31749
31750
  "multiple": false,
@@ -32018,7 +32019,7 @@
32018
32019
  "type": "option"
32019
32020
  },
32020
32021
  "max-nudges": {
32021
- "description": "Max user nudges per day (0..20)",
32022
+ "description": "Daily limit on messages that interrupt you: a whole number from 0 up (0 mutes it: it never contacts you) or \"unlimited\" to remove the limit. Left unset it is unlimited",
32022
32023
  "name": "max-nudges",
32023
32024
  "hasDynamicHelp": false,
32024
32025
  "multiple": false,
@@ -38114,14 +38115,16 @@
38114
38115
  "required": true
38115
38116
  }
38116
38117
  },
38117
- "description": "Update a commitment's contract (title, target, cadence, sources). A cadence is manual, an interval or daily clock times; activeHours and daysOfWeek in --from-json select hours and weekdays. No holiday, business-day or trading-calendar fields",
38118
+ "description": "Update a commitment's contract (title, target, cadence, sources). A cadence is manual, an interval or daily clock times; activeHours and daysOfWeek in --from-json select hours and weekdays. No holiday, business-day or trading-calendar fields. The Compass a commitment is bound to (\"compassId\" in the create body) cannot be changed: create a successor commitment instead",
38118
38119
  "examples": [
38119
38120
  "<%= config.bin %> commitments update <commitment-id> --cadence 12h",
38120
38121
  "<%= config.bin %> commitments update <commitment-id> --title \"Ship v2 (Q3)\" --outcome \"v2 is live for all users\"",
38121
38122
  "<%= config.bin %> commitments update <commitment-id> --watch tasks --watch github",
38122
38123
  "<%= config.bin %> commitments update <commitment-id> --criterion \"signups confirmed\" --evaluator metric --measure <measure-id>",
38123
38124
  "<%= config.bin %> commitments update <commitment-id> --agent-directive-file ./review-policy.md",
38124
- "# Read the current contract and use its version for --if-version.\n<%= config.bin %> commitments show <commitment-id> --json\ncat > commitment-patch.json <<'JSON'\n{\n \"cadence\": { \"mode\": \"interval\", \"intervalMs\": 3600000, \"activeHours\": { \"start\": \"09:00\", \"end\": \"22:00\" }, \"daysOfWeek\": [\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"], \"timezone\": \"Asia/Shanghai\" },\n \"policy\": { \"executionBudget\": { \"maxObservationRunsPerDay\": 0 } }\n}\nJSON\n<%= config.bin %> commitments update <commitment-id> --from-json commitment-patch.json --if-version <observed-version> --json"
38125
+ "# Nudges: how many times a day it may interrupt you. 0 mutes it; \"unlimited\" removes the limit.\n<%= config.bin %> commitments update <commitment-id> --max-nudges 2\n<%= config.bin %> commitments update <commitment-id> --max-nudges unlimited",
38126
+ "# Read the current contract and use its version for --if-version.\n<%= config.bin %> commitments show <commitment-id> --json\ncat > commitment-patch.json <<'JSON'\n{\n \"cadence\": { \"mode\": \"interval\", \"intervalMs\": 3600000, \"activeHours\": { \"start\": \"09:00\", \"end\": \"22:00\" }, \"daysOfWeek\": [\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"], \"timezone\": \"Asia/Shanghai\" },\n \"policy\": { \"executionBudget\": { \"maxObservationRunsPerDay\": 0 } }\n}\nJSON\n<%= config.bin %> commitments update <commitment-id> --from-json commitment-patch.json --if-version <observed-version> --json",
38127
+ "# Quiet hours: no messages to you from 22:00 to 07:00. Times are HH:MM (00:00-23:59); without a timezone UTC is used.\ncat > quiet-hours.json <<'JSON'\n{ \"policy\": { \"quietHours\": { \"enabled\": true, \"start\": \"22:00\", \"end\": \"07:00\", \"timezone\": \"America/Los_Angeles\" } } }\nJSON\n<%= config.bin %> commitments update <commitment-id> --from-json quiet-hours.json"
38125
38128
  ],
38126
38129
  "flags": {
38127
38130
  "bare": {
@@ -38171,7 +38174,7 @@
38171
38174
  "type": "boolean"
38172
38175
  },
38173
38176
  "from-json": {
38174
- "description": "JSON patch file (or \"-\" for stdin). See examples below. JSON cadence and watchedSources replace those fields; policy is deep-merged.",
38177
+ "description": "JSON patch file (or \"-\" for stdin). See examples below. JSON cadence and watchedSources replace those fields; policy is deep-merged. Quiet hours (no messages to you) go in the JSON as policy.quietHours: {\"enabled\":true,\"start\":\"22:00\",\"end\":\"07:00\",\"timezone\":\"America/Los_Angeles\"}. Times are 24-hour HH:MM (00:00-23:59); the window may cross midnight and its end is not inside it; timezone is an IANA name, and when omitted it is UTC, not your local zone. policy.executionBudget.allowedEventSources limits which event sources may wake the Commitment: an empty or missing list allows every source (it is not \"none\"); name sources to restrict it.",
38175
38178
  "name": "from-json",
38176
38179
  "hasDynamicHelp": false,
38177
38180
  "multiple": false,
@@ -38368,6 +38371,13 @@
38368
38371
  ],
38369
38372
  "type": "option"
38370
38373
  },
38374
+ "max-nudges": {
38375
+ "description": "Daily limit on messages that interrupt you: a whole number from 0 up (0 mutes it: it never contacts you) or \"unlimited\" to remove the limit. Left unset it is unlimited",
38376
+ "name": "max-nudges",
38377
+ "hasDynamicHelp": false,
38378
+ "multiple": false,
38379
+ "type": "option"
38380
+ },
38371
38381
  "max-concurrent-runs": {
38372
38382
  "description": "Set 1..100, or \"unlimited\" to remove the owner cap. Finite values require --concurrency-reason.",
38373
38383
  "name": "max-concurrent-runs",
@@ -38727,11 +38737,12 @@
38727
38737
  "compass:create": {
38728
38738
  "aliases": [],
38729
38739
  "args": {},
38730
- "description": "Create a compass for an agent",
38740
+ "description": "Create a compass for an agent.\n\n--json-body takes the API body as a JSON file; the flags are merged over it.\nEach line below names one field by its full path:\ntitle, domain, reason: strings (reason is what the revision ledger shows)\ninvariantTargets[]: what the agent keeps true\ninvariantTargets[]: AT MOST 25: more is refused with the count sent\ninvariantTargets[].id: optional, unique in the list (a repeat is refused)\ninvariantTargets[].id: default invariant_<position>\ninvariantTargets[].description: required on create\ninvariantTargets[].domainKind: optional; leave it off ONE target\ninvariantTargets[].domainKind: the target without one is the general fallback\ninvariantTargets[].maintainedState[]: list of strings\ninvariantTargets[].successMetrics[]: list of strings\ninvariantTargets[].boundaries[]: list of strings\ninvariantTargets[].cadence, .escalation, .stateMonitor: advanced\ninvariantTargets[].learnedTactics[]: advanced; see docs/cli/SKRR_COMPASS.md\nautonomyDefaults.mode: off | suggestions_only | ask_first | auto_run_limited\nautonomyDefaults.mode: auto_run (short forms: suggest, auto)\nautonomyDefaults.quietHours = {\"enabled\":true,\"start\":\"22:00\",\"end\":\"07:00\"}\nautonomyDefaults.quietHours.start, .end: HH:MM, 00:00 to 23:59\nautonomyDefaults.quietHours: start must differ from end; refused otherwise\nautonomyDefaults.quietHours.timezone: an IANA zone, e.g. America/New_York\ncommunicationDefaults: mode, destination, fallbackDestination, quietHours\ncommunicationDefaults.allowedDestinations[]: list of strings\ncommunicationDefaults.requireApprovalRiskLevels[]: list of strings\ncommunicationDefaults: any other key is stored as a note and never read\nrules[]: owner-enforced, Agent owner only; see docs/cli/SKRR_COMPASS.md\n\nTo govern a Commitment with this compass, put \"compassId\" in the Commitment's --from-json create body (see: commitments create --help). The binding is fixed at creation.",
38731
38741
  "examples": [
38732
38742
  "<%= config.bin %> compass create --agent agent_abc --title \"Production reliability\" --domain reliability",
38733
38743
  "<%= config.bin %> compass create --agent agent_abc --title \"FinOps\" --invariant \"Cloud spend stays under $10k/mo\"",
38734
- "<%= config.bin %> compass create --agent agent_abc --json-body ./compass.json"
38744
+ "<%= config.bin %> compass create --agent agent_abc --json-body ./compass.json",
38745
+ "# compass.json\n{\n \"title\": \"Production reliability\",\n \"invariantTargets\": [\n { \"id\": \"api-latency\", \"domainKind\": \"reliability\", \"description\": \"p99 API latency stays under 300 ms\" },\n { \"id\": \"general\", \"description\": \"Nothing the owner has not seen ships on a Friday\" }\n ],\n \"autonomyDefaults\": {\n \"mode\": \"ask_first\",\n \"quietHours\": { \"enabled\": true, \"start\": \"22:00\", \"end\": \"07:00\", \"timezone\": \"America/New_York\" }\n }\n}\n<%= config.bin %> compass create --agent agent_abc --json-body compass.json"
38735
38746
  ],
38736
38747
  "flags": {
38737
38748
  "bare": {
@@ -38796,14 +38807,14 @@
38796
38807
  "type": "option"
38797
38808
  },
38798
38809
  "invariant": {
38799
- "description": "Invariant target description (repeatable). The state the agent keeps true.",
38810
+ "description": "Invariant target description (repeatable, at most 25). The state the agent keeps true. Each gets the id invariant_<position> and no domainKind: use --json-body for ids and domains.",
38800
38811
  "name": "invariant",
38801
38812
  "hasDynamicHelp": false,
38802
38813
  "multiple": true,
38803
38814
  "type": "option"
38804
38815
  },
38805
38816
  "json-body": {
38806
- "description": "Path to a JSON file with the full body (merged under the flags)",
38817
+ "description": "Path to a JSON file with the full body (merged under the flags). Field names and limits are listed in the description above.",
38807
38818
  "name": "json-body",
38808
38819
  "hasDynamicHelp": false,
38809
38820
  "multiple": false,
@@ -38838,6 +38849,10 @@
38838
38849
  }
38839
38850
  },
38840
38851
  "description": "Read a Compass policy revision, effective defaults and field provenance",
38852
+ "examples": [
38853
+ "<%= config.bin %> compass effective-policy agch_abc123 --agent agent_xyz",
38854
+ "<%= config.bin %> compass effective-policy agch_abc123 --agent agent_xyz --json"
38855
+ ],
38841
38856
  "flags": {
38842
38857
  "bare": {
38843
38858
  "description": "Bare mode — ignore keychain/file credential sources. Token must come from env or --token.",
@@ -39010,7 +39025,8 @@
39010
39025
  "description": "Restore an earlier compass version (as a NEW forward revision)",
39011
39026
  "examples": [
39012
39027
  "<%= config.bin %> compass revert agch_abc --agent agent_xyz --to-version 3",
39013
- "<%= config.bin %> compass revert agch_abc --agent agent_xyz --to-version 3 --reason \"new SLO was wrong\""
39028
+ "<%= config.bin %> compass revert agch_abc --agent agent_xyz --to-version 3 --reason \"new SLO was wrong\"",
39029
+ "<%= config.bin %> compass revert agch_abc --agent agent_xyz --to-version 3 --expected-version 9"
39014
39030
  ],
39015
39031
  "flags": {
39016
39032
  "bare": {
@@ -39074,6 +39090,13 @@
39074
39090
  "hasDynamicHelp": false,
39075
39091
  "multiple": false,
39076
39092
  "type": "option"
39093
+ },
39094
+ "expected-version": {
39095
+ "description": "Compass version this revert is based on; it is refused if the compass moved. Defaults to the version read at the start of this command.",
39096
+ "name": "expected-version",
39097
+ "hasDynamicHelp": false,
39098
+ "multiple": false,
39099
+ "type": "option"
39077
39100
  }
39078
39101
  },
39079
39102
  "hasDynamicHelp": false,
@@ -39157,7 +39180,7 @@
39157
39180
  "type": "option"
39158
39181
  },
39159
39182
  "limit": {
39160
- "description": "Max revisions (1..100)",
39183
+ "description": "Max revisions (1..100, default 20); newest first",
39161
39184
  "name": "limit",
39162
39185
  "hasDynamicHelp": false,
39163
39186
  "multiple": false,
@@ -39272,7 +39295,7 @@
39272
39295
  "required": true
39273
39296
  }
39274
39297
  },
39275
- "description": "Append a learned tactic to a compass",
39298
+ "description": "Record a learned tactic on a compass (appends, or updates the tactic with the same --id)",
39276
39299
  "examples": [
39277
39300
  "<%= config.bin %> compass tactic agch_abc --agent agent_xyz --description \"Roll back before paging on a deploy regression\""
39278
39301
  ],
@@ -39333,7 +39356,7 @@
39333
39356
  "type": "option"
39334
39357
  },
39335
39358
  "id": {
39336
- "description": "Stable tactic ID (updates that entry instead of adding one)",
39359
+ "description": "Stable tactic ID. A known ID with a different description updates that entry; with the same description nothing is written.",
39337
39360
  "name": "id",
39338
39361
  "hasDynamicHelp": false,
39339
39362
  "multiple": false,
@@ -39462,7 +39485,7 @@
39462
39485
  "required": true
39463
39486
  }
39464
39487
  },
39465
- "description": "Update a compass (bumps the version, writes a revision)",
39488
+ "description": "Update a compass (bumps the version, writes a revision).\n\n--json-body takes the API body as a JSON file; the flags are merged over it.\nEach line below names one field by its full path:\ntitle, domain, reason: strings (reason is what the revision ledger shows)\ninvariantTargets[]: what the agent keeps true\ninvariantTargets[]: AT MOST 25: more is refused with the count sent\ninvariantTargets[].id: optional, unique in the list (a repeat is refused)\ninvariantTargets[].id: default invariant_<position>\ninvariantTargets[].description: required on create\ninvariantTargets[].domainKind: optional; leave it off ONE target\ninvariantTargets[].domainKind: the target without one is the general fallback\ninvariantTargets[].maintainedState[]: list of strings\ninvariantTargets[].successMetrics[]: list of strings\ninvariantTargets[].boundaries[]: list of strings\ninvariantTargets[].cadence, .escalation, .stateMonitor: advanced\ninvariantTargets[].learnedTactics[]: advanced; see docs/cli/SKRR_COMPASS.md\nautonomyDefaults.mode: off | suggestions_only | ask_first | auto_run_limited\nautonomyDefaults.mode: auto_run (short forms: suggest, auto)\nautonomyDefaults.quietHours = {\"enabled\":true,\"start\":\"22:00\",\"end\":\"07:00\"}\nautonomyDefaults.quietHours.start, .end: HH:MM, 00:00 to 23:59\nautonomyDefaults.quietHours: start must differ from end; refused otherwise\nautonomyDefaults.quietHours.timezone: an IANA zone, e.g. America/New_York\ncommunicationDefaults: mode, destination, fallbackDestination, quietHours\ncommunicationDefaults.allowedDestinations[]: list of strings\ncommunicationDefaults.requireApprovalRiskLevels[]: list of strings\ncommunicationDefaults: any other key is stored as a note and never read\nrules[]: owner-enforced, Agent owner only; see docs/cli/SKRR_COMPASS.md\n\nOn update, invariantTargets (and --invariant) REPLACE the whole list, so send every target you want to keep; identity, scope, autonomyDefaults and communicationDefaults merge field by field onto what is stored; rules replace the list. An archived compass stays archived unless you pass --status active.",
39466
39489
  "examples": [
39467
39490
  "<%= config.bin %> compass update agch_abc --agent agent_xyz --title \"Reliability & cost\"",
39468
39491
  "<%= config.bin %> compass update agch_abc --agent agent_xyz --invariant \"p99 under 300ms\" --reason \"new SLO\"",
@@ -39543,7 +39566,7 @@
39543
39566
  "type": "option"
39544
39567
  },
39545
39568
  "invariant": {
39546
- "description": "Invariant target description (repeatable; REPLACES the list)",
39569
+ "description": "Invariant target description (repeatable, at most 25; REPLACES the list). Each gets the id invariant_<position> and no domainKind, so it drops the ids and domains of the targets it replaces: use --json-body to keep them.",
39547
39570
  "name": "invariant",
39548
39571
  "hasDynamicHelp": false,
39549
39572
  "multiple": true,
@@ -39564,7 +39587,7 @@
39564
39587
  "type": "option"
39565
39588
  },
39566
39589
  "json-body": {
39567
- "description": "Path to a JSON file with the full body",
39590
+ "description": "Path to a JSON file with the body (merged under the flags). Field names and limits are listed in the description above.",
39568
39591
  "name": "json-body",
39569
39592
  "hasDynamicHelp": false,
39570
39593
  "multiple": false,
@@ -49382,6 +49405,13 @@
49382
49405
  "multiple": false,
49383
49406
  "type": "option"
49384
49407
  },
49408
+ "idempotency-key": {
49409
+ "description": "Stable key for retries of this exact Goal creation request",
49410
+ "name": "idempotency-key",
49411
+ "hasDynamicHelp": false,
49412
+ "multiple": false,
49413
+ "type": "option"
49414
+ },
49385
49415
  "description": {
49386
49416
  "description": "Goal description",
49387
49417
  "name": "description",
@@ -55649,8 +55679,12 @@
55649
55679
  "approved",
55650
55680
  "executing",
55651
55681
  "waiting",
55652
- "completed",
55682
+ "followed_up",
55683
+ "reopened",
55684
+ "resolved",
55653
55685
  "dismissed",
55686
+ "snoozed",
55687
+ "expired",
55654
55688
  "failed"
55655
55689
  ],
55656
55690
  "type": "option"
@@ -68681,11 +68715,14 @@
68681
68715
  "required": true
68682
68716
  }
68683
68717
  },
68684
- "description": "Rename a machine, or set its description and tags",
68718
+ "description": "Rename a machine, set its description, tags and icon",
68685
68719
  "examples": [
68686
68720
  "<%= config.bin %> machines update 03548116 --name \"Work laptop\"",
68687
68721
  "<%= config.bin %> machines update 03548116 --tag personal --tag macbook",
68688
- "<%= config.bin %> machines update 03548116 --clear-tags"
68722
+ "<%= config.bin %> machines update 03548116 --clear-tags",
68723
+ "<%= config.bin %> machines update 03548116 --icon laptop",
68724
+ "<%= config.bin %> machines update 03548116 --icon none",
68725
+ "<%= config.bin %> machines update 03548116 --icon-file ./mac.png"
68689
68726
  ],
68690
68727
  "flags": {
68691
68728
  "bare": {
@@ -68756,6 +68793,26 @@
68756
68793
  "name": "clear-tags",
68757
68794
  "allowNo": false,
68758
68795
  "type": "boolean"
68796
+ },
68797
+ "icon": {
68798
+ "description": "Icon for this machine: monitor, laptop, server, cpu, hard-drive, cloud, terminal, database, globe, home, building, briefcase, rocket, gamepad, zap, shield, box, container, router, smartphone. \"none\" goes back to the default.",
68799
+ "exclusive": [
68800
+ "icon-file"
68801
+ ],
68802
+ "name": "icon",
68803
+ "hasDynamicHelp": false,
68804
+ "multiple": false,
68805
+ "type": "option"
68806
+ },
68807
+ "icon-file": {
68808
+ "description": "Use your own image as the icon (.png, .jpg, .jpeg, .webp or .gif). It is resized to a square.",
68809
+ "exclusive": [
68810
+ "icon"
68811
+ ],
68812
+ "name": "icon-file",
68813
+ "hasDynamicHelp": false,
68814
+ "multiple": false,
68815
+ "type": "option"
68759
68816
  }
68760
68817
  },
68761
68818
  "hasDynamicHelp": false,
@@ -75954,7 +76011,7 @@
75954
76011
  "type": "option"
75955
76012
  },
75956
76013
  "max-active": {
75957
- "description": "Soft cap on simultaneously active commitments",
76014
+ "description": "Soft cap on simultaneously active commitments (0 = no cap)",
75958
76015
  "name": "max-active",
75959
76016
  "hasDynamicHelp": false,
75960
76017
  "multiple": false,
@@ -76107,7 +76164,9 @@
76107
76164
  "<%= config.bin %> northstars governance configure nst_abc123 --analysis agent_assisted --reviewer-agent agent_xyz",
76108
76165
  "<%= config.bin %> northstars governance configure nst_abc123 --execution approval",
76109
76166
  "<%= config.bin %> northstars governance configure nst_abc123 --execution bounded_auto --allow request_commitment_check --max-auto-per-day 3",
76110
- "<%= config.bin %> northstars governance configure nst_abc123 --protect cmt_1 --protect cmt_2"
76167
+ "<%= config.bin %> northstars governance configure nst_abc123 --protect cmt_1 --protect cmt_2",
76168
+ "<%= config.bin %> northstars governance configure nst_abc123 --clear-protected",
76169
+ "<%= config.bin %> northstars governance configure nst_abc123 --clear-max-runs-per-day"
76111
76170
  ],
76112
76171
  "flags": {
76113
76172
  "bare": {
@@ -76161,7 +76220,7 @@
76161
76220
  "type": "option"
76162
76221
  },
76163
76222
  "execution": {
76164
- "description": "How much write authority a review outcome carries",
76223
+ "description": "What happens to management intents: advisory records them (none is applied), approval asks first, bounded_auto applies a narrow set. In every mode a review still writes each linked active commitment's allocation (cadence band, run share); it never pauses, resumes, reprioritizes or checks in advisory",
76165
76224
  "name": "execution",
76166
76225
  "hasDynamicHelp": false,
76167
76226
  "multiple": false,
@@ -76219,12 +76278,24 @@
76219
76278
  "type": "option"
76220
76279
  },
76221
76280
  "protect": {
76222
- "description": "Commitment the governor may never touch (repeatable; replaces the current list)",
76281
+ "description": "Commitment the governor may never touch (repeatable; replaces the current list; --clear-protected empties it)",
76282
+ "exclusive": [
76283
+ "clear-protected"
76284
+ ],
76223
76285
  "name": "protect",
76224
76286
  "hasDynamicHelp": false,
76225
76287
  "multiple": true,
76226
76288
  "type": "option"
76227
76289
  },
76290
+ "clear-protected": {
76291
+ "description": "Remove every protected commitment (the list becomes empty)",
76292
+ "exclusive": [
76293
+ "protect"
76294
+ ],
76295
+ "name": "clear-protected",
76296
+ "allowNo": false,
76297
+ "type": "boolean"
76298
+ },
76228
76299
  "max-intents-per-review": {
76229
76300
  "description": "Cap on intents per review",
76230
76301
  "name": "max-intents-per-review",
@@ -76276,25 +76347,61 @@
76276
76347
  },
76277
76348
  "max-observation-runs-per-day": {
76278
76349
  "description": "Opt-in portfolio observation runs per UTC day",
76350
+ "exclusive": [
76351
+ "clear-max-observation-runs-per-day"
76352
+ ],
76279
76353
  "name": "max-observation-runs-per-day",
76280
76354
  "hasDynamicHelp": false,
76281
76355
  "multiple": false,
76282
76356
  "type": "option"
76283
76357
  },
76358
+ "clear-max-observation-runs-per-day": {
76359
+ "description": "Un-set the observation ceiling (0 means never look; un-set means no ceiling)",
76360
+ "exclusive": [
76361
+ "max-observation-runs-per-day"
76362
+ ],
76363
+ "name": "clear-max-observation-runs-per-day",
76364
+ "allowNo": false,
76365
+ "type": "boolean"
76366
+ },
76284
76367
  "max-runs-per-day": {
76285
76368
  "description": "Portfolio-wide action run budget (execution, NOT attention)",
76369
+ "exclusive": [
76370
+ "clear-max-runs-per-day"
76371
+ ],
76286
76372
  "name": "max-runs-per-day",
76287
76373
  "hasDynamicHelp": false,
76288
76374
  "multiple": false,
76289
76375
  "type": "option"
76290
76376
  },
76377
+ "clear-max-runs-per-day": {
76378
+ "description": "Un-set the action run budget (0 is a setting, not un-set)",
76379
+ "exclusive": [
76380
+ "max-runs-per-day"
76381
+ ],
76382
+ "name": "clear-max-runs-per-day",
76383
+ "allowNo": false,
76384
+ "type": "boolean"
76385
+ },
76291
76386
  "max-concurrent-runs": {
76292
- "description": "Portfolio concurrency cap",
76387
+ "description": "Portfolio concurrency cap (recorded, not yet enforced: nothing limits concurrent runs yet)",
76388
+ "exclusive": [
76389
+ "clear-max-concurrent-runs"
76390
+ ],
76293
76391
  "name": "max-concurrent-runs",
76294
76392
  "hasDynamicHelp": false,
76295
76393
  "multiple": false,
76296
76394
  "type": "option"
76297
76395
  },
76396
+ "clear-max-concurrent-runs": {
76397
+ "description": "Un-set the concurrency cap",
76398
+ "exclusive": [
76399
+ "max-concurrent-runs"
76400
+ ],
76401
+ "name": "clear-max-concurrent-runs",
76402
+ "allowNo": false,
76403
+ "type": "boolean"
76404
+ },
76298
76405
  "critical-reserve": {
76299
76406
  "description": "Fraction of the execution budget held for critical commitments (0..1)",
76300
76407
  "name": "critical-reserve",
@@ -76396,6 +76503,110 @@
76396
76503
  "show.js"
76397
76504
  ]
76398
76505
  },
76506
+ "northstars:intents": {
76507
+ "aliases": [],
76508
+ "args": {
76509
+ "northstarId": {
76510
+ "description": "Northstar ID (omit to see the subcommands)",
76511
+ "name": "northstarId",
76512
+ "required": false
76513
+ }
76514
+ },
76515
+ "description": "List northstar management intents; subcommands: list, decide (`intents <id>` is `intents list <id>`)",
76516
+ "examples": [
76517
+ "<%= config.bin %> northstars intents nst_abc123",
76518
+ "<%= config.bin %> northstars intents nst_abc123 --status awaiting_approval",
76519
+ "<%= config.bin %> northstars intents list nst_abc123",
76520
+ "<%= config.bin %> northstars intents decide nst_abc123 nsi_xyz --approve"
76521
+ ],
76522
+ "flags": {
76523
+ "bare": {
76524
+ "description": "Bare mode — ignore keychain/file credential sources. Token must come from env or --token.",
76525
+ "name": "bare",
76526
+ "allowNo": false,
76527
+ "type": "boolean"
76528
+ },
76529
+ "token": {
76530
+ "description": "Bearer token for this invocation (debugging/impersonation). Overrides env and stored creds.",
76531
+ "name": "token",
76532
+ "hasDynamicHelp": false,
76533
+ "multiple": false,
76534
+ "type": "option"
76535
+ },
76536
+ "workspace": {
76537
+ "description": "Workspace ID for workspace-scoped requests (also sets X-Workspace-Id).",
76538
+ "name": "workspace",
76539
+ "hasDynamicHelp": false,
76540
+ "multiple": false,
76541
+ "type": "option"
76542
+ },
76543
+ "profile": {
76544
+ "description": "Which stored session to use. Each profile keeps its own credential and deployment, so signing into one does not sign you out of another. Also OVERSKY_PROFILE. List them with `profiles list`.",
76545
+ "name": "profile",
76546
+ "hasDynamicHelp": false,
76547
+ "multiple": false,
76548
+ "type": "option"
76549
+ },
76550
+ "raw": {
76551
+ "description": "With --json, keep the Mongo storage fields (_id next to id, __v) that the CLI otherwise strips. Also OVERSKY_CLI_RAW=1.",
76552
+ "name": "raw",
76553
+ "allowNo": false,
76554
+ "type": "boolean"
76555
+ },
76556
+ "json": {
76557
+ "description": "Output as JSON",
76558
+ "name": "json",
76559
+ "allowNo": false,
76560
+ "type": "boolean"
76561
+ },
76562
+ "status": {
76563
+ "description": "Filter by verdict",
76564
+ "name": "status",
76565
+ "hasDynamicHelp": false,
76566
+ "multiple": false,
76567
+ "options": [
76568
+ "advisory",
76569
+ "awaiting_approval",
76570
+ "approved",
76571
+ "applying",
76572
+ "applied",
76573
+ "rejected",
76574
+ "invalidated"
76575
+ ],
76576
+ "type": "option"
76577
+ },
76578
+ "limit": {
76579
+ "description": "Max intents (1..500)",
76580
+ "name": "limit",
76581
+ "hasDynamicHelp": false,
76582
+ "multiple": false,
76583
+ "type": "option"
76584
+ },
76585
+ "wide": {
76586
+ "description": "Do not clip the WHY column, and keep the machine code beside the reason as [code]",
76587
+ "name": "wide",
76588
+ "allowNo": false,
76589
+ "type": "boolean"
76590
+ }
76591
+ },
76592
+ "hasDynamicHelp": false,
76593
+ "hiddenAliases": [],
76594
+ "id": "northstars:intents",
76595
+ "pluginAlias": "@skrr-ai/cli",
76596
+ "pluginName": "@skrr-ai/cli",
76597
+ "pluginType": "core",
76598
+ "strict": true,
76599
+ "enableJsonFlag": false,
76600
+ "autonomousCredentialPolicy": "delegated",
76601
+ "resolveSpaceFlag": true,
76602
+ "isESM": false,
76603
+ "relativePath": [
76604
+ "dist",
76605
+ "commands",
76606
+ "northstars",
76607
+ "intents.js"
76608
+ ]
76609
+ },
76399
76610
  "northstars:intents:decide": {
76400
76611
  "aliases": [],
76401
76612
  "args": {
@@ -76511,9 +76722,9 @@
76511
76722
  },
76512
76723
  "description": "List northstar management intents (default: everything recent)",
76513
76724
  "examples": [
76514
- "<%= config.bin %> northstars intents nst_abc123",
76515
- "<%= config.bin %> northstars intents nst_abc123 --status awaiting_approval",
76516
- "<%= config.bin %> northstars intents nst_abc123 --status applied --json"
76725
+ "<%= config.bin %> northstars intents list nst_abc123",
76726
+ "<%= config.bin %> northstars intents list nst_abc123 --status awaiting_approval",
76727
+ "<%= config.bin %> northstars intents list nst_abc123 --status applied --json"
76517
76728
  ],
76518
76729
  "flags": {
76519
76730
  "bare": {
@@ -76577,6 +76788,12 @@
76577
76788
  "hasDynamicHelp": false,
76578
76789
  "multiple": false,
76579
76790
  "type": "option"
76791
+ },
76792
+ "wide": {
76793
+ "description": "Do not clip the WHY column, and keep the machine code beside the reason as [code]",
76794
+ "name": "wide",
76795
+ "allowNo": false,
76796
+ "type": "boolean"
76580
76797
  }
76581
76798
  },
76582
76799
  "hasDynamicHelp": false,
@@ -76745,11 +76962,18 @@
76745
76962
  "type": "option"
76746
76963
  },
76747
76964
  "limit": {
76748
- "description": "Max results (1..100)",
76965
+ "description": "Max results (1..100, default 50)",
76749
76966
  "name": "limit",
76750
76967
  "hasDynamicHelp": false,
76751
76968
  "multiple": false,
76752
76969
  "type": "option"
76970
+ },
76971
+ "cursor": {
76972
+ "description": "Continue from the next_cursor a previous page returned",
76973
+ "name": "cursor",
76974
+ "hasDynamicHelp": false,
76975
+ "multiple": false,
76976
+ "type": "option"
76753
76977
  }
76754
76978
  },
76755
76979
  "hasDynamicHelp": false,
@@ -76770,6 +76994,93 @@
76770
76994
  "list.js"
76771
76995
  ]
76772
76996
  },
76997
+ "northstars:recommendations": {
76998
+ "aliases": [],
76999
+ "args": {
77000
+ "northstarId": {
77001
+ "description": "Northstar ID (omit to see the subcommands)",
77002
+ "name": "northstarId",
77003
+ "required": false
77004
+ }
77005
+ },
77006
+ "description": "List a northstar's recommendations; subcommands: list, apply, dismiss (`recommendations <id>` is `recommendations list <id>`)",
77007
+ "examples": [
77008
+ "<%= config.bin %> northstars recommendations nst_abc123",
77009
+ "<%= config.bin %> northstars recommendations nst_abc123 --status open",
77010
+ "<%= config.bin %> northstars recommendations list nst_abc123",
77011
+ "<%= config.bin %> northstars recommendations apply nst_abc123 <rec-id>"
77012
+ ],
77013
+ "flags": {
77014
+ "bare": {
77015
+ "description": "Bare mode — ignore keychain/file credential sources. Token must come from env or --token.",
77016
+ "name": "bare",
77017
+ "allowNo": false,
77018
+ "type": "boolean"
77019
+ },
77020
+ "token": {
77021
+ "description": "Bearer token for this invocation (debugging/impersonation). Overrides env and stored creds.",
77022
+ "name": "token",
77023
+ "hasDynamicHelp": false,
77024
+ "multiple": false,
77025
+ "type": "option"
77026
+ },
77027
+ "workspace": {
77028
+ "description": "Workspace ID for workspace-scoped requests (also sets X-Workspace-Id).",
77029
+ "name": "workspace",
77030
+ "hasDynamicHelp": false,
77031
+ "multiple": false,
77032
+ "type": "option"
77033
+ },
77034
+ "profile": {
77035
+ "description": "Which stored session to use. Each profile keeps its own credential and deployment, so signing into one does not sign you out of another. Also OVERSKY_PROFILE. List them with `profiles list`.",
77036
+ "name": "profile",
77037
+ "hasDynamicHelp": false,
77038
+ "multiple": false,
77039
+ "type": "option"
77040
+ },
77041
+ "raw": {
77042
+ "description": "With --json, keep the Mongo storage fields (_id next to id, __v) that the CLI otherwise strips. Also OVERSKY_CLI_RAW=1.",
77043
+ "name": "raw",
77044
+ "allowNo": false,
77045
+ "type": "boolean"
77046
+ },
77047
+ "json": {
77048
+ "description": "Output as JSON",
77049
+ "name": "json",
77050
+ "allowNo": false,
77051
+ "type": "boolean"
77052
+ },
77053
+ "status": {
77054
+ "description": "Filter by status (default: all)",
77055
+ "name": "status",
77056
+ "hasDynamicHelp": false,
77057
+ "multiple": false,
77058
+ "options": [
77059
+ "open",
77060
+ "applied",
77061
+ "dismissed"
77062
+ ],
77063
+ "type": "option"
77064
+ }
77065
+ },
77066
+ "hasDynamicHelp": false,
77067
+ "hiddenAliases": [],
77068
+ "id": "northstars:recommendations",
77069
+ "pluginAlias": "@skrr-ai/cli",
77070
+ "pluginName": "@skrr-ai/cli",
77071
+ "pluginType": "core",
77072
+ "strict": true,
77073
+ "enableJsonFlag": false,
77074
+ "autonomousCredentialPolicy": "delegated",
77075
+ "resolveSpaceFlag": true,
77076
+ "isESM": false,
77077
+ "relativePath": [
77078
+ "dist",
77079
+ "commands",
77080
+ "northstars",
77081
+ "recommendations.js"
77082
+ ]
77083
+ },
76773
77084
  "northstars:recommendations:apply": {
76774
77085
  "aliases": [],
76775
77086
  "args": {
@@ -76937,8 +77248,8 @@
76937
77248
  },
76938
77249
  "description": "List a northstar's deterministic portfolio recommendations",
76939
77250
  "examples": [
76940
- "<%= config.bin %> northstars recommendations nst_abc123",
76941
- "<%= config.bin %> northstars recommendations nst_abc123 --status open"
77251
+ "<%= config.bin %> northstars recommendations list nst_abc123",
77252
+ "<%= config.bin %> northstars recommendations list nst_abc123 --status open"
76942
77253
  ],
76943
77254
  "flags": {
76944
77255
  "bare": {
@@ -77065,6 +77376,12 @@
77065
77376
  "name": "json",
77066
77377
  "allowNo": false,
77067
77378
  "type": "boolean"
77379
+ },
77380
+ "wide": {
77381
+ "description": "Do not clip the WHY column, and keep the machine code beside the reason as [code]",
77382
+ "name": "wide",
77383
+ "allowNo": false,
77384
+ "type": "boolean"
77068
77385
  }
77069
77386
  },
77070
77387
  "hasDynamicHelp": false,
@@ -77166,6 +77483,12 @@
77166
77483
  "hasDynamicHelp": false,
77167
77484
  "multiple": false,
77168
77485
  "type": "option"
77486
+ },
77487
+ "wide": {
77488
+ "description": "Do not clip the WHY column, and keep the machine code beside the reason as [code]",
77489
+ "name": "wide",
77490
+ "allowNo": false,
77491
+ "type": "boolean"
77169
77492
  }
77170
77493
  },
77171
77494
  "hasDynamicHelp": false,
@@ -77454,7 +77777,7 @@
77454
77777
  "type": "option"
77455
77778
  },
77456
77779
  "max-active": {
77457
- "description": "Soft cap on active commitments",
77780
+ "description": "Soft cap on active commitments (0 = no cap)",
77458
77781
  "name": "max-active",
77459
77782
  "hasDynamicHelp": false,
77460
77783
  "multiple": false,
@@ -142597,5 +142920,5 @@
142597
142920
  ]
142598
142921
  }
142599
142922
  },
142600
- "version": "0.1.126"
142923
+ "version": "0.1.128"
142601
142924
  }