@stratusagent/cli 0.12.6 → 0.13.1

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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/approvals.d.ts +33 -13
  3. package/dist/approvals.d.ts.map +1 -1
  4. package/dist/approvals.js +188 -15
  5. package/dist/approvals.js.map +1 -1
  6. package/dist/autonomy.d.ts +14 -0
  7. package/dist/autonomy.d.ts.map +1 -1
  8. package/dist/autonomy.js +32 -4
  9. package/dist/autonomy.js.map +1 -1
  10. package/dist/commands/chat.d.ts.map +1 -1
  11. package/dist/commands/chat.js +5 -2
  12. package/dist/commands/chat.js.map +1 -1
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +54 -1
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/grants.d.ts.map +1 -1
  17. package/dist/commands/grants.js +9 -2
  18. package/dist/commands/grants.js.map +1 -1
  19. package/dist/commands/serve.d.ts.map +1 -1
  20. package/dist/commands/serve.js +27 -14
  21. package/dist/commands/serve.js.map +1 -1
  22. package/dist/commands/setup.d.ts.map +1 -1
  23. package/dist/commands/setup.js +122 -2
  24. package/dist/commands/setup.js.map +1 -1
  25. package/dist/help.d.ts +1 -1
  26. package/dist/help.d.ts.map +1 -1
  27. package/dist/help.js +12 -8
  28. package/dist/help.js.map +1 -1
  29. package/dist/index.d.ts +2 -2
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +2 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/main.d.ts.map +1 -1
  34. package/dist/main.js +8 -3
  35. package/dist/main.js.map +1 -1
  36. package/dist/npm.d.ts +1 -1
  37. package/dist/npm.js +1 -1
  38. package/dist/parse.d.ts +1 -1
  39. package/dist/parse.d.ts.map +1 -1
  40. package/dist/parse.js +4 -4
  41. package/dist/parse.js.map +1 -1
  42. package/dist/runtime.d.ts.map +1 -1
  43. package/dist/runtime.js +5 -2
  44. package/dist/runtime.js.map +1 -1
  45. package/dist/trusted-config.d.ts +29 -0
  46. package/dist/trusted-config.d.ts.map +1 -1
  47. package/dist/trusted-config.js +69 -5
  48. package/dist/trusted-config.js.map +1 -1
  49. package/package.json +25 -25
package/README.md CHANGED
@@ -77,7 +77,7 @@ Full reference with every subcommand:
77
77
  | `--model` | Model for real providers (anthropic default: `claude-opus-5-5`, codex default: `gpt-5.5`) |
78
78
  | `--base-url` | Override the provider API base URL |
79
79
  | `--config <file>` | Load settings from a specific config file |
80
- | `--approvals` | `run`/`chat`: `always`, `ask`, or `never`. `serve`: `headless` (refuse gated calls) or `remote` (ask in Slack) |
80
+ | `--approvals` | `run`/`chat`: `always`, `ask`, or `never`. `serve`: for a call that needs approval (dangerous under posture `open`, any gated one under `guarded`), `headless` (refuse it) or `remote` (ask in Slack) |
81
81
  | `--max-turns` | Max tool turns per run before it wraps up (default 40) |
82
82
  | `--format` | `text` or `json` |
83
83
  | `--idle-timeout` | `serve`: seconds of provider silence before the watchdog aborts a turn (default 120) |
@@ -19,10 +19,42 @@ export declare const createApprovalPolicy: (mode: CliApprovalMode, streams: CliS
19
19
  * flag needs no commentary; `always` reached because nobody could be
20
20
  * asked gets one line, the first time a call that would have asked runs.
21
21
  */
22
- defaulted?: boolean) => ApprovalPolicy;
22
+ defaulted?: boolean,
23
+ /**
24
+ * For `open`: `approvals.externalContent` is `gate` for this agent, so a
25
+ * conversation that has read external content asks again.
26
+ */
27
+ openOptions?: {
28
+ gateExternalContent?: boolean;
29
+ }) => ApprovalPolicy;
30
+ /**
31
+ * One line saying which agents run gated tools without asking, the way the
32
+ * resolver decides it: the top-level posture with its exceptions named.
33
+ */
34
+ export declare const describePosture: (approvals: ApprovalsConfig, mode: "headless" | "remote", servedAgentIds?: readonly string[]) => string;
23
35
  /** One line saying whose messages arrive as the operator's, per Slack agent. */
24
36
  export declare const describePrincipals: (principals: PrincipalsConfig, agentIds: string[]) => string;
37
+ /**
38
+ * Which calls reach the approval path for these agents (every configured
39
+ * one when none is named): gated ones when all are guarded, dangerous ones
40
+ * when all are open with no external-content gate, and otherwise (mixed, or
41
+ * an open agent whose `externalContent: "gate"` sends gated calls back to
42
+ * asking after external content) the calls that would ask.
43
+ */
44
+ export declare const askingCalls: (approvals: ApprovalsConfig, agentIds: readonly string[]) => {
45
+ call: string;
46
+ calls: string;
47
+ };
48
+ /** The startup warning for served agents no running channel can ask for. */
49
+ export declare const describeUnreachable: (approvals: ApprovalsConfig, unreachable: readonly string[]) => string;
25
50
  export declare const describeApprovers: (approvals: ApprovalsConfig, agentIds: string[]) => string;
51
+ /**
52
+ * The remote-mode startup line, posture-aware: under the open posture only
53
+ * dangerous calls (and, under `externalContent: "gate"`, gated calls in a
54
+ * conversation that read external content) reach Slack, so it must not
55
+ * promise that gated calls are parked.
56
+ */
57
+ export declare const describeRemoteMode: (approvals: ApprovalsConfig, askable: string[], servedAgentIds?: readonly string[]) => string;
26
58
  /**
27
59
  * What a gated call would actually meet on this machine.
28
60
  *
@@ -77,17 +109,5 @@ servedAgentIds: readonly string[] | undefined,
77
109
  * nobody can ask.
78
110
  */
79
111
  apiReachable: boolean) => Promise<string>;
80
- /**
81
- * The clauses above, unjoined and without reading the filesystem, so a
82
- * caller holding unsaved state can render the same verdict. The first
83
- * element is always the verdict itself; the rest qualify it.
84
- *
85
- * Split out because setup's Approvals row wrote its own version of this
86
- * sentence, and every review round found it short a different clause the
87
- * daemon actually applies — the headless exceptions, an explicit
88
- * `timeoutMs: 0`, the control API on a mixed roster. There is one renderer
89
- * now; a menu that wants a shorter line takes fewer clauses, never
90
- * different words.
91
- */
92
112
  export declare const unattendedReachParts: (mode: "headless" | "remote", approvals: ApprovalsConfig, channels: ChannelCredentials, servedAgentIds: readonly string[] | undefined, apiReachable: boolean, env: CliEnvironment) => string[];
93
113
  //# sourceMappingURL=approvals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAWlD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,eAAe,KAAG,MAI/D,CAAC;AAoCF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,eAAe,EACrB,SAAS,UAAU,EACnB,KAAK,cAAc,EACnB,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;AACzC;;;;GAIG;AACH,mBAAiB,KAChB,cA2EF,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAAI,YAAY,gBAAgB,EAAE,UAAU,MAAM,EAAE,KAAG,MA+BrF,CAAC;AAiBF,eAAO,MAAM,iBAAiB,GAAI,WAAW,eAAe,EAAE,UAAU,MAAM,EAAE,KAAG,MAWlF,CAAC;AA6CF;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oFAAoF;IACpF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gGAAgG;IAChG,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,qBAAqB,GAChC,WAAW,eAAe,EAC1B,UAAU,kBAAkB,EAC5B,gBAAgB,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7C,KAAK,cAAc,KAClB,aAcF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,UAAU,GAAG,QAAQ,EAC3B,WAAW,eAAe,EAC1B,KAAK,cAAc;AACnB;;;;;;;;;;GAUG;AACH,gBAAgB,SAAS,MAAM,EAAE,GAAG,SAAS;AAC7C;;;;;GAKG;AACH,cAAc,OAAO,KACpB,OAAO,CAAC,MAAM,CAGhB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,UAAU,GAAG,QAAQ,EAC3B,WAAW,eAAe,EAC1B,UAAU,kBAAkB,EAC5B,gBAAgB,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7C,cAAc,OAAO,EACrB,KAAK,cAAc,KAClB,MAAM,EA4HR,CAAC"}
1
+ {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAWlD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,eAAe,KAAG,MAI/D,CAAC;AAoCF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,eAAe,EACrB,SAAS,UAAU,EACnB,KAAK,cAAc,EACnB,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;AACzC;;;;GAIG;AACH,mBAAiB;AACjB;;;GAGG;AACH,cAAa;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,KAClD,cAyHF,CAAC;AAwCF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,eAAe,EAC1B,MAAM,UAAU,GAAG,QAAQ,EAC3B,iBAAiB,SAAS,MAAM,EAAE,KACjC,MAUF,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAAI,YAAY,gBAAgB,EAAE,UAAU,MAAM,EAAE,KAAG,MAsCrF,CAAC;AAiBF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,eAAe,EAAE,UAAU,SAAS,MAAM,EAAE,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAWlH,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,GAAI,WAAW,eAAe,EAAE,aAAa,SAAS,MAAM,EAAE,KAAG,MAES,CAAC;AAE3G,eAAO,MAAM,iBAAiB,GAAI,WAAW,eAAe,EAAE,UAAU,MAAM,EAAE,KAAG,MAWlF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,eAAe,EAAE,SAAS,MAAM,EAAE,EAAE,iBAAiB,SAAS,MAAM,EAAE,KAAG,MAiBtH,CAAC;AA6CF;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oFAAoF;IACpF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gGAAgG;IAChG,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,qBAAqB,GAChC,WAAW,eAAe,EAC1B,UAAU,kBAAkB,EAC5B,gBAAgB,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7C,KAAK,cAAc,KAClB,aAcF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,UAAU,GAAG,QAAQ,EAC3B,WAAW,eAAe,EAC1B,KAAK,cAAc;AACnB;;;;;;;;;;GAUG;AACH,gBAAgB,SAAS,MAAM,EAAE,GAAG,SAAS;AAC7C;;;;;GAKG;AACH,cAAc,OAAO,KACpB,OAAO,CAAC,MAAM,CAGhB,CAAC;AA4CF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,UAAU,GAAG,QAAQ,EAC3B,WAAW,eAAe,EAC1B,UAAU,kBAAkB,EAC5B,gBAAgB,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7C,cAAc,OAAO,EACrB,KAAK,cAAc,KAClB,MAAM,EA8HR,CAAC"}
package/dist/approvals.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createInterface } from 'node:readline';
2
- import { AllowAllApprovalPolicy, originOf, } from '@stratusagent/core';
2
+ import { AllowAllApprovalPolicy, originOf, sessionTrustOf, } from '@stratusagent/core';
3
3
  import { loadChannelCredentials, resolveAgentApprovals, resolveAgentPrincipals, } from '@stratusagent/state';
4
4
  import { writeLine } from "./io.js";
5
5
  import { packageInstalled } from "./loaders.js";
@@ -58,7 +58,12 @@ export const createApprovalPolicy = (mode, streams, env, ask,
58
58
  * flag needs no commentary; `always` reached because nobody could be
59
59
  * asked gets one line, the first time a call that would have asked runs.
60
60
  */
61
- defaulted = false) => {
61
+ defaulted = false,
62
+ /**
63
+ * For `open`: `approvals.externalContent` is `gate` for this agent, so a
64
+ * conversation that has read external content asks again.
65
+ */
66
+ openOptions = {}) => {
62
67
  if (mode === 'always') {
63
68
  if (!defaulted) {
64
69
  return new AllowAllApprovalPolicy();
@@ -75,9 +80,48 @@ defaulted = false) => {
75
80
  },
76
81
  };
77
82
  }
83
+ // `open` is the daemon's open posture at a terminal: anything short of
84
+ // `dangerous` runs, and a dangerous call still asks a person. So does a
85
+ // gated call in a conversation that read external content, under
86
+ // `externalContent: "gate"`, the same rule the daemon's policy applies.
87
+ if (mode === 'open') {
88
+ // Defaulted means nobody can answer (a pipe, `--stdin`): what would
89
+ // ask is refused, never read from consumed stdin or taken from the
90
+ // next piped chat line, and said once.
91
+ let noted = false;
92
+ const asking = defaulted
93
+ ? {
94
+ async approve(context) {
95
+ if (!noted) {
96
+ noted = true;
97
+ writeLine(streams.stderr, `Note: refusing ${context.call.toolName} — it would ask for approval, and stdin is not a terminal. `
98
+ + 'Pass --approvals always to run it unattended.');
99
+ }
100
+ return false;
101
+ },
102
+ }
103
+ : createApprovalPolicy('ask', streams, env, ask);
104
+ return {
105
+ async approve(context) {
106
+ if (context.risk === 'safe') {
107
+ return true;
108
+ }
109
+ const closedByContent = openOptions.gateExternalContent === true && sessionTrustOf(context.session) === 'external';
110
+ return context.risk === 'dangerous' || closedByContent ? asking.approve(context) : true;
111
+ },
112
+ };
113
+ }
78
114
  if (mode === 'never') {
115
+ // Defaulted here only when the posture is guarded (or its config could
116
+ // not be read) and nobody can be asked: say why, once.
117
+ let noted = !defaulted;
79
118
  return {
80
- async approve() {
119
+ async approve(context) {
120
+ if (!noted && context.risk !== 'safe') {
121
+ noted = true;
122
+ writeLine(streams.stderr, `Note: refusing ${context.call.toolName} — the approvals posture is guarded (or its config could not be read) and stdin is not a terminal. `
123
+ + 'Pass --approvals open or always to run gated tools.');
124
+ }
81
125
  return false;
82
126
  },
83
127
  };
@@ -126,6 +170,57 @@ defaulted = false) => {
126
170
  },
127
171
  };
128
172
  };
173
+ /**
174
+ * The list key that would let someone reach these agents. An agent's own
175
+ * `slackUsers`, even an empty one, wins over the top level, so pointing
176
+ * it at `principals.slackUsers` would be advice that changes nothing.
177
+ */
178
+ const listKeyFor = (principals, agentIds) => {
179
+ const own = agentIds.filter((agentId) => principals.agents?.[agentId]?.slackUsers !== undefined);
180
+ const ownKeys = own.map((agentId) => `principals.agents.${agentId}.slackUsers`);
181
+ if (own.length === agentIds.length) {
182
+ return ownKeys.join(' or ');
183
+ }
184
+ return own.length === 0
185
+ ? 'principals.slackUsers'
186
+ : `principals.slackUsers (${own.map((agentId, at) => `${ownKeys[at]} for ${agentId}`).join(', ')})`;
187
+ };
188
+ /**
189
+ * Under the open posture, `externalContent: "gate"` sends gated calls in a
190
+ * conversation that read external content back to asking. Says so, for
191
+ * every agent or naming the open agents it applies to; empty when none.
192
+ */
193
+ const externalGateNote = (approvals, servedAgentIds) => {
194
+ const resolved = (agentId) => resolveAgentApprovals(approvals, agentId);
195
+ const gates = (agentId) => resolved(agentId).posture === 'open' && resolved(agentId).externalContent === 'gate';
196
+ // Only served agents, like the posture exceptions beside it: a stale
197
+ // override for a removed agent is not an exception anyone will meet.
198
+ const named = Object.keys(approvals.agents ?? {})
199
+ .filter((agentId) => servedAgentIds === undefined || servedAgentIds.includes(agentId));
200
+ if (gates('')) {
201
+ const not = named.filter((agentId) => resolved(agentId).posture === 'open' && !gates(agentId));
202
+ return `, except in a conversation that read external content (externalContent: gate${not.length > 0 ? `; not for ${not.join(', ')}` : ''})`;
203
+ }
204
+ const which = named.filter(gates);
205
+ return which.length > 0
206
+ ? `, except in ${which.map((agentId) => `${agentId}'s`).join(', ')} conversations that read external content (externalContent: gate)`
207
+ : '';
208
+ };
209
+ /**
210
+ * One line saying which agents run gated tools without asking, the way the
211
+ * resolver decides it: the top-level posture with its exceptions named.
212
+ */
213
+ export const describePosture = (approvals, mode, servedAgentIds) => {
214
+ const top = resolveAgentApprovals(approvals, '').posture;
215
+ const exceptions = Object.keys(approvals.agents ?? {})
216
+ .filter((agentId) => servedAgentIds === undefined || servedAgentIds.includes(agentId))
217
+ .filter((agentId) => resolveAgentApprovals(approvals, agentId).posture !== top);
218
+ const except = exceptions.length > 0 ? ` except ${exceptions.join(', ')}` : '';
219
+ // Headless asks nobody: what the posture would ask about is refused.
220
+ return top === 'open'
221
+ ? `posture open for every agent${except} (gated tools run without asking${externalGateNote(approvals, servedAgentIds)}; dangerous ones ${mode === 'headless' ? 'are refused, since headless asks nobody' : 'still ask'})`
222
+ : `posture guarded for every agent${except} (gated tools ${mode === 'headless' ? 'are refused, since headless asks nobody' : 'ask, or are refused with nobody to ask'})`;
223
+ };
129
224
  /** One line saying whose messages arrive as the operator's, per Slack agent. */
130
225
  export const describePrincipals = (principals, agentIds) => {
131
226
  const covered = agentIds.filter((agentId) => (resolveAgentPrincipals(principals, agentId).slackUsers ?? []).length > 0);
@@ -143,7 +238,12 @@ export const describePrincipals = (principals, agentIds) => {
143
238
  if (covered.length === 0) {
144
239
  return closed.length === 0
145
240
  ? 'no principals configured, so every Slack sender is unknown and every fact written in Slack carries that label — set principals.slackUsers in ~/.stratus/config.json'
146
- : `no principals listed, so every Slack sender is unknown${door} — nobody at all can talk to ${closed.join(', ')} until principals.slackUsers names someone`;
241
+ // Codex P2 4310107914: a refused sender never becomes a turn and never
242
+ // gets a trust label, so only the agents that admit them may call
243
+ // their senders unknown.
244
+ : `no principals listed, so every Slack sender is refused${closed.length === agentIds.length
245
+ ? ''
246
+ : ` by ${closed.join(', ')} and unknown to ${agentIds.filter((agentId) => !closed.includes(agentId)).join(', ')}`} — nobody at all can talk to ${closed.join(', ')} until ${listKeyFor(principals, closed)} names someone`;
147
247
  }
148
248
  // An uncovered agent's senders are all unknown only if it admits them: a
149
249
  // closed agent with nobody listed refuses everyone, and saying its
@@ -155,7 +255,7 @@ export const describePrincipals = (principals, agentIds) => {
155
255
  return `principals set for ${covered.join(', ')}`
156
256
  + (uncoveredOpen.length > 0 ? `; none for ${uncoveredOpen.join(', ')}, whose Slack senders are all unknown` : '')
157
257
  + (uncoveredClosed.length > 0
158
- ? `; none for ${uncoveredClosed.join(', ')}, who refuse every sender until principals.slackUsers names someone`
258
+ ? `; none for ${uncoveredClosed.join(', ')}, who refuse every sender until ${listKeyFor(principals, uncoveredClosed)} names someone`
159
259
  : '')
160
260
  + door;
161
261
  };
@@ -170,18 +270,64 @@ const classifyApprovers = (approvals, agentIds) => {
170
270
  const covered = agentIds.filter((agentId) => (resolveAgentApprovals(approvals, agentId).slackApprovers ?? []).length > 0);
171
271
  return { covered, uncovered: agentIds.filter((agentId) => !covered.includes(agentId)) };
172
272
  };
273
+ /**
274
+ * Which calls reach the approval path for these agents (every configured
275
+ * one when none is named): gated ones when all are guarded, dangerous ones
276
+ * when all are open with no external-content gate, and otherwise (mixed, or
277
+ * an open agent whose `externalContent: "gate"` sends gated calls back to
278
+ * asking after external content) the calls that would ask.
279
+ */
280
+ export const askingCalls = (approvals, agentIds) => {
281
+ const ids = agentIds.length > 0 ? agentIds : ['', ...Object.keys(approvals.agents ?? {})];
282
+ const resolved = ids.map((agentId) => resolveAgentApprovals(approvals, agentId));
283
+ const postures = new Set(resolved.map((agent) => agent.posture));
284
+ if (!postures.has('open')) {
285
+ return { call: 'gated call', calls: 'gated calls' };
286
+ }
287
+ const externalGate = resolved.some((agent) => agent.posture === 'open' && agent.externalContent === 'gate');
288
+ return postures.size === 1 && !externalGate
289
+ ? { call: 'dangerous call', calls: 'dangerous calls' }
290
+ : { call: 'call that would ask', calls: 'calls that would ask' };
291
+ };
292
+ /** The startup warning for served agents no running channel can ask for. */
293
+ export const describeUnreachable = (approvals, unreachable) => `no channel can ask for ${unreachable.join(', ')}, so their ${askingCalls(approvals, unreachable).calls} will wait out the `
294
+ + 'approval timeout and then be denied. Connect a Slack app for them, or run with --approvals headless.';
173
295
  export const describeApprovers = (approvals, agentIds) => {
174
296
  if (agentIds.length === 0) {
175
- return 'but no channel is running to ask through, so gated calls will wait out the approval timeout and then be denied';
297
+ return `but no channel is running to ask through, so ${askingCalls(approvals, agentIds).calls} will wait out the approval timeout and then be denied`;
176
298
  }
177
299
  const { covered, uncovered } = classifyApprovers(approvals, agentIds);
178
300
  if (covered.length === 0) {
179
- return 'but no approvers are configured, so every gated call is denied on arrival';
301
+ return `but no approvers are configured, so every ${askingCalls(approvals, agentIds).call} is denied on arrival`;
180
302
  }
181
303
  return uncovered.length === 0
182
304
  ? `approvers set for ${covered.join(', ')}`
183
305
  : `approvers set for ${covered.join(', ')}; none for ${uncovered.join(', ')}, whose calls are denied on arrival`;
184
306
  };
307
+ /**
308
+ * The remote-mode startup line, posture-aware: under the open posture only
309
+ * dangerous calls (and, under `externalContent: "gate"`, gated calls in a
310
+ * conversation that read external content) reach Slack, so it must not
311
+ * promise that gated calls are parked.
312
+ */
313
+ export const describeRemoteMode = (approvals, askable, servedAgentIds) => {
314
+ const top = resolveAgentApprovals(approvals, '').posture;
315
+ const differing = Object.keys(approvals.agents ?? {})
316
+ .filter((agentId) => servedAgentIds === undefined || servedAgentIds.includes(agentId))
317
+ .filter((agentId) => resolveAgentApprovals(approvals, agentId).posture !== top);
318
+ const who = `(${describeApprovers(approvals, askable)})`;
319
+ if (top === 'open') {
320
+ const guarded = differing.length > 0 ? `, except ${differing.join(', ')}'s, whose gated calls are parked too` : '';
321
+ return `approvals: remote — dangerous calls are parked and asked in Slack; gated ones run without asking under the open posture${externalGateNote(approvals, servedAgentIds)}${guarded} ${who}`;
322
+ }
323
+ // "Only dangerous ones" holds only when no open agent gates on external
324
+ // content; otherwise the note before it already says what else is parked.
325
+ const gateNote = externalGateNote(approvals, servedAgentIds);
326
+ const open = differing.length > 0
327
+ ? `, except ${differing.join(', ')}'s, which run without asking${gateNote}${gateNote === '' ? ' (only dangerous ones are parked)' : ''}`
328
+ : '';
329
+ return `approvals: remote — gated calls are parked and asked in Slack${open} ${who}`;
330
+ };
185
331
  /**
186
332
  * The ways a gated call is already authorized before either mode's decision
187
333
  * is reached — the standing tool grants, the approved command scopes, the
@@ -270,10 +416,37 @@ apiReachable) => {
270
416
  * now; a menu that wants a shorter line takes fewer clauses, never
271
417
  * different words.
272
418
  */
419
+ /**
420
+ * What reaches the approval path under the posture: gated calls when every
421
+ * agent is guarded, dangerous ones when every agent is open (the open
422
+ * posture runs gated calls before anything is asked), and, mixed, the calls
423
+ * that would ask. With any agent open, the posture line follows the verdict
424
+ * so the reader sees which agents run gated calls unasked.
425
+ */
426
+ const postureReach = (approvals, mode, servedAgentIds) => {
427
+ // The served roster when it is known: an override left behind for an
428
+ // agent no longer served changes nothing the daemon does.
429
+ const agentIds = servedAgentIds ?? ['', ...Object.keys(approvals.agents ?? {})];
430
+ const postures = new Set(agentIds.map((agentId) => resolveAgentApprovals(approvals, agentId).posture));
431
+ if (!postures.has('open')) {
432
+ return { call: 'an uncovered gated call', calls: 'gated calls', authorized: ` Already-authorized ones still run: ${ALREADY_AUTHORIZED}`, posture: [] };
433
+ }
434
+ // No grant, scope, site or destination ever covers a dangerous call, so
435
+ // the all-open line offers none of them, and the mixed one only for gated.
436
+ const allOpen = postures.size === 1;
437
+ return {
438
+ call: allOpen ? 'an uncovered dangerous call' : 'an uncovered call that would ask',
439
+ calls: allOpen ? 'dangerous calls' : 'calls that would ask',
440
+ authorized: allOpen ? '' : ` Already-authorized gated calls still run: ${ALREADY_AUTHORIZED}`,
441
+ posture: [describePosture(approvals, mode, servedAgentIds)],
442
+ };
443
+ };
273
444
  export const unattendedReachParts = (mode, approvals, channels, servedAgentIds, apiReachable, env) => {
445
+ const reach = postureReach(approvals, mode, servedAgentIds);
274
446
  if (mode === 'headless') {
275
447
  return [
276
- `headless — an uncovered gated call is refused. Already-authorized ones still run: ${ALREADY_AUTHORIZED}`,
448
+ `headless — ${reach.call} is refused${reach.authorized ? `.${reach.authorized}` : ''}`,
449
+ ...reach.posture,
277
450
  ...externalContentClause(approvals, servedAgentIds),
278
451
  ];
279
452
  }
@@ -316,8 +489,8 @@ export const unattendedReachParts = (mode, approvals, channels, servedAgentIds,
316
489
  const verdict = () => {
317
490
  if (askable.length === 0) {
318
491
  return apiReachable
319
- ? `remote — an uncovered gated call parks with no Slack channel to ask through, so the control API is the only way to answer it ${unanswered}`
320
- : 'remote — an uncovered gated call parks with no channel to ask through and no control API to answer it, so it '
492
+ ? `remote — ${reach.call} parks with no Slack channel to ask through, so the control API is the only way to answer it ${unanswered}`
493
+ : `remote — ${reach.call} parks with no channel to ask through and no control API to answer it, so it `
321
494
  + (expires
322
495
  ? 'waits out the approval timeout and is denied'
323
496
  : 'is never answered: this daemon\'s approval timeout is 0, so it parks indefinitely');
@@ -328,11 +501,11 @@ export const unattendedReachParts = (mode, approvals, channels, servedAgentIds,
328
501
  // Same defect as the branch above, one case over — found by auditing
329
502
  // the rest of this function after that one, not by review.
330
503
  if (covered.length === 0) {
331
- return 'remote — an uncovered gated call reaches Slack and is denied on arrival, because no approvers are configured';
504
+ return `remote — ${reach.call} reaches Slack and is denied on arrival, because no approvers are configured`;
332
505
  }
333
- return `remote — an uncovered gated call parks and asks in Slack, ${slack}`;
506
+ return `remote — ${reach.call} parks and asks in Slack, ${slack}`;
334
507
  };
335
- const parts = [verdict()];
508
+ const parts = [verdict(), ...reach.posture];
336
509
  // The reverse of a stale token, and the failure that actually bites: an
337
510
  // agent the daemon serves that no channel can ask for parks its gated
338
511
  // calls until the timeout denies them. `runServe` warns about exactly
@@ -351,9 +524,9 @@ export const unattendedReachParts = (mode, approvals, channels, servedAgentIds,
351
524
  // these calls wait for a client rather than for the timeout — a very
352
525
  // different thing to tell an operator.
353
526
  parts.push(apiReachable
354
- ? `no Slack channel can ask for ${unreachable.join(', ')}, so their gated calls park until the control `
527
+ ? `no Slack channel can ask for ${unreachable.join(', ')}, so their ${reach.calls} park until the control `
355
528
  + `API answers them${expires ? ' or the timeout denies them' : ' — with a timeout of 0, nothing else ever will'}`
356
- : `no channel can ask for ${unreachable.join(', ')}, so their gated calls `
529
+ : `no channel can ask for ${unreachable.join(', ')}, so their ${reach.calls} `
357
530
  + (expires ? 'wait out the timeout and are denied' : 'park indefinitely: this daemon\'s approval timeout is 0'));
358
531
  }
359
532
  // Stored tokens are a *configured* route, not a live one. The adapter
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,18 @@ import { type ApprovalsConfig, type StateEnvironment } from '@stratusagent/state
10
10
  * `@stratusagent/plugins`, whose precedence this follows.
11
11
  */
12
12
  export declare const autonomyDirectory: (approvals: ApprovalsConfig, plugins: Record<string, unknown>, env: StateEnvironment, agentId: string) => string | undefined;
13
+ /**
14
+ * The directory the shell resolves for the agent, whether or not autonomy
15
+ * is on: where a command granted by name may point, and where a compound
16
+ * command may write its output (see `compound.ts` in
17
+ * `@stratusagent/permissions`).
18
+ */
19
+ export declare const agentShellWorkspace: (plugins: Record<string, unknown>, env: StateEnvironment, agentId: string) => string;
20
+ /**
21
+ * The workspace a by-name grant or a compound command may use for this
22
+ * agent (`agentShellWorkspace`), or undefined when its configured shell is
23
+ * not one `POSIX_SHELLS` names, which keeps every command to the scopes
24
+ * judged one at a time.
25
+ */
26
+ export declare const agentShellGrantRoot: (plugins: Record<string, unknown>, env: StateEnvironment, agentId: string) => string | undefined;
13
27
  //# sourceMappingURL=autonomy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autonomy.d.ts","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6C,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7H;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,eAAe,EAC1B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,gBAAgB,EACrB,SAAS,MAAM,KACd,MAAM,GAAG,SASX,CAAC"}
1
+ {"version":3,"file":"autonomy.d.ts","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6C,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7H;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,eAAe,EAC1B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,gBAAgB,EACrB,SAAS,MAAM,KACd,MAAM,GAAG,SAGG,CAAC;AAEhB;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,gBAAgB,EACrB,SAAS,MAAM,KACd,MAMF,CAAC;AAWF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,gBAAgB,EACrB,SAAS,MAAM,KACd,MAAM,GAAG,SAOX,CAAC"}
package/dist/autonomy.js CHANGED
@@ -11,14 +11,42 @@ import { agentWorkspacePath, resolveAgentApprovals } from '@stratusagent/state';
11
11
  * host's workspace otherwise. See `workspaceResolver` in
12
12
  * `@stratusagent/plugins`, whose precedence this follows.
13
13
  */
14
- export const autonomyDirectory = (approvals, plugins, env, agentId) => {
15
- if (resolveAgentApprovals(approvals, agentId).autonomy !== 'workspace') {
16
- return undefined;
17
- }
14
+ export const autonomyDirectory = (approvals, plugins, env, agentId) => resolveAgentApprovals(approvals, agentId).autonomy === 'workspace'
15
+ ? agentShellWorkspace(plugins, env, agentId)
16
+ : undefined;
17
+ /**
18
+ * The directory the shell resolves for the agent, whether or not autonomy
19
+ * is on: where a command granted by name may point, and where a compound
20
+ * command may write its output (see `compound.ts` in
21
+ * `@stratusagent/permissions`).
22
+ */
23
+ export const agentShellWorkspace = (plugins, env, agentId) => {
18
24
  const shell = plugins['@stratusagent/tool-shell'];
19
25
  const root = shell !== null && typeof shell === 'object' && !Array.isArray(shell)
20
26
  ? resolvePluginAgentConfig(shell, agentId).workspaceRoot
21
27
  : undefined;
22
28
  return typeof root === 'string' && root.length > 0 ? path.join(root, agentId) : agentWorkspacePath(env, agentId);
23
29
  };
30
+ /**
31
+ * Shells whose syntax the compound reader in `@stratusagent/permissions`
32
+ * models: POSIX `sh` and the shells that run it as written. zsh, tcsh, csh,
33
+ * fish and ksh each read some line differently (`>!` is a redirection to
34
+ * zsh and tcsh, `=ls` a path to zsh), so for them a line is never read as a
35
+ * compound command and no grant applies by name.
36
+ */
37
+ const POSIX_SHELLS = new Set(['sh', 'bash', 'dash']);
38
+ /**
39
+ * The workspace a by-name grant or a compound command may use for this
40
+ * agent (`agentShellWorkspace`), or undefined when its configured shell is
41
+ * not one `POSIX_SHELLS` names, which keeps every command to the scopes
42
+ * judged one at a time.
43
+ */
44
+ export const agentShellGrantRoot = (plugins, env, agentId) => {
45
+ const shell = plugins['@stratusagent/tool-shell'];
46
+ const configured = shell !== null && typeof shell === 'object' && !Array.isArray(shell)
47
+ ? resolvePluginAgentConfig(shell, agentId).shell
48
+ : undefined;
49
+ const binary = typeof configured === 'string' && configured.length > 0 ? configured : '/bin/sh';
50
+ return POSIX_SHELLS.has(path.basename(binary)) ? agentShellWorkspace(plugins, env, agentId) : undefined;
51
+ };
24
52
  //# sourceMappingURL=autonomy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA+C,MAAM,qBAAqB,CAAC;AAE7H;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAA0B,EAC1B,OAAgC,EAChC,GAAqB,EACrB,OAAe,EACK,EAAE;IACtB,IAAI,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/E,CAAC,CAAC,wBAAwB,CAAC,KAAmB,EAAE,OAAO,CAAC,CAAC,aAAa;QACtE,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnH,CAAC,CAAC"}
1
+ {"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA+C,MAAM,qBAAqB,CAAC;AAE7H;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAA0B,EAC1B,OAAgC,EAChC,GAAqB,EACrB,OAAe,EACK,EAAE,CACtB,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW;IAChE,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;IAC5C,CAAC,CAAC,SAAS,CAAC;AAEhB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAgC,EAChC,GAAqB,EACrB,OAAe,EACP,EAAE;IACV,MAAM,KAAK,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/E,CAAC,CAAC,wBAAwB,CAAC,KAAmB,EAAE,OAAO,CAAC,CAAC,aAAa;QACtE,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAgC,EAChC,GAAqB,EACrB,OAAe,EACK,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrF,CAAC,CAAC,wBAAwB,CAAC,KAAmB,EAAE,OAAO,CAAC,CAAC,KAAK;QAC9D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1G,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqB1E,eAAO,MAAM,OAAO,GAClB,SAAS,iBAAiB,EAC1B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAmNhB,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqB1E,eAAO,MAAM,OAAO,GAClB,SAAS,iBAAiB,EAC1B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAuNhB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { createInterface } from 'node:readline';
3
+ import { DEFAULT_STRATUS_AGENT } from '@stratusagent/state';
4
+ import { defaultPosture, unflaggedApprovals } from "../trusted-config.js";
3
5
  import { formatEvent } from "../events.js";
4
6
  import { writeLine } from "../io.js";
5
7
  import { defaultApprovalMode } from "../parse.js";
@@ -111,8 +113,9 @@ export const runChat = async (command, streams, env = {}) => {
111
113
  };
112
114
  const { runner, agent, metadata, runtimeContext, disposePlugins } = await createAgentRuntime(streams, {
113
115
  runtime,
114
- approvals: command.approvals ?? defaultApprovalMode(env),
115
- approvalsDefaulted: command.approvals === undefined,
116
+ ...(command.approvals !== undefined
117
+ ? { approvals: command.approvals }
118
+ : unflaggedApprovals(await defaultPosture(env, command.configPath, runtime.soul?.agent.id ?? DEFAULT_STRATUS_AGENT.id), defaultApprovalMode(env))),
116
119
  askApproval,
117
120
  ...(command.maxTurns !== undefined ? { maxTurns: command.maxTurns } : {}),
118
121
  ...(command.configPath ? { configPath: command.configPath } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAsBL,KAAK,sBAAsB,EAW5B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvG;AAsGD,4DAA4D;AAC5D,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,gDAAgD;IAChD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4HjG;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,mBAAmB,EAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,MAAK,cAAmB,KACvB,OAAO,CAAC,YAAY,CAydtB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,SAAS,mBAAmB,EAC5B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA4HhB,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAuBL,KAAK,sBAAsB,EAW5B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvG;AAsGD,4DAA4D;AAC5D,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,gDAAgD;IAChD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAoJjG;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,mBAAmB,EAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,MAAK,cAAmB,KACvB,OAAO,CAAC,YAAY,CA4ftB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,SAAS,mBAAmB,EAC5B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA4HhB,CAAC"}