@rosthq/cli 0.7.0 → 0.7.2
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 +27 -11
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -41877,7 +41877,7 @@ The Compass is drafted, then activated by a human through supersession.
|
|
|
41877
41877
|
order: 15,
|
|
41878
41878
|
title: "AICOS chat guide",
|
|
41879
41879
|
summary: "How the AI Chief of Staff chat works in the authenticated app shell and what it can safely do today.",
|
|
41880
|
-
version: "2026-07-02.
|
|
41880
|
+
version: "2026-07-02.6",
|
|
41881
41881
|
public: true,
|
|
41882
41882
|
audiences: ["human", "in_app_agent"],
|
|
41883
41883
|
stages: ["company_setup", "operating_rhythm"],
|
|
@@ -41921,10 +41921,18 @@ You can reopen prior threads or start a new one. Session history is stored in te
|
|
|
41921
41921
|
|
|
41922
41922
|
Each turn carries server-normalized page context: route template, current path, safe search state, selected seat or object ids when authorized, and onboarding state when relevant. The server derives tenant and user authority from the authenticated session. Client-supplied tenant context is never accepted as authority.
|
|
41923
41923
|
|
|
41924
|
-
The current chat harness shows the effective lane and model.
|
|
41924
|
+
The current chat harness shows the effective lane and model. Cloud is the default and remains the enforced lane during onboarding, even if a post-onboarding lane has been selected. After onboarding, an owner or admin can select cloud, runner, or MCP only when the server says that lane is ready. Lane changes update the governed AICOS agent seat and write an append-only audit event; the browser never decides tenant authority or runner/MCP readiness.
|
|
41925
|
+
|
|
41926
|
+
Runner mode uses the same AICOS sessions and transcript. A web turn in runner mode records the user's message, queues a governed AICOS work order for the live AICOS agent, links that work order to the assistant message, and leaves the transcript visible while the paired runner claims and reports through the normal runner lane. A runner must be paired, execute-ready, and backed by the live AICOS agent before it can be selected.
|
|
41927
|
+
|
|
41928
|
+
MCP mode uses the existing tenant-authorized MCP surfaces. It requires an active seat-scoped MCP token for the AICOS seat and does not grant hidden tenant-admin access or run browser-side MCP tool calls. Users operate MCP AICOS from their authorized agent interface; the web chat remains the same readable thread surface.
|
|
41925
41929
|
|
|
41926
41930
|
Model behavior is now explicit in the AICOS session contract. A thread can run in **Auto** or use a pinned compatible model from the guided catalog. Auto chooses a fast tier for short low-risk turns, the balanced default for normal operating help, and a higher-reasoning tier for onboarding synthesis or large context. The panel shows the effective model, disables lower-context choices once the active thread outgrows them, and tells the user to start a new session for those models. Session context is estimated and compacted into a durable summary when it crosses the configured threshold; raw messages remain in history, but future model calls can use the summary rather than resending the whole thread. Platform allowance and BYOK state are checked before routing; an exhausted included allowance keeps AICOS in guided mode and points the user toward BYOK/manual continuation. Because the DER-1068 implementation still uses the deterministic harness, it does not create fake llm_calls rows or settle fake allowance usage; reservation/settlement belongs to the real provider call path.
|
|
41927
41931
|
|
|
41932
|
+
During onboarding, the deterministic harness may execute only explicit low-risk draft actions. In the Responsibility Graph step, a user with setup/action authority can ask AICOS to create one named draft seat per turn; the seat stays vacant, is traceable to the AICOS message through artifact sources, and still needs human review before staffing, Charters, manifests, or go-live. Compass and Charter help remains draft guidance and clarifying questions until the live drafting planner lands. AICOS never silently finishes onboarding, approves Compass or Charter content, signs manifests, goes live, stores credentials, changes autonomy policy, or invites external people; those actions remain human-confirmed.
|
|
41933
|
+
|
|
41934
|
+
AICOS posture is resolved on the server from the current user's AICOS access scope plus the tenant's Company guardrails. **Report-only** can read, explain, and draft guidance, but it cannot mutate setup or operating state. **Balanced** can perform narrow low-risk internal draft/setup actions and stops at human gates. **High autonomy** can perform allowed internal low-risk actions without changing the hard prohibitions: AICOS still cannot approve its own Charter or manifest, handle credentials, send externally, spend money, perform destructive/admin changes, go live, expand policy/access, or receive hidden sensitive data.
|
|
41935
|
+
|
|
41928
41936
|
AICOS grounds answers from two source classes before producing user-visible setup or operating guidance:
|
|
41929
41937
|
|
|
41930
41938
|
- **Reference documents** \u2014 public {{brand}} guides such as this chat guide, onboarding guidance, the Responsibility Graph playbook, tool-access guidance, and confirmation guidance. AICOS retrieves the narrowest relevant guide before setup, Charter, Signal, Friction, Cascade, Sync, tool-access, or onboarding advice.
|
|
@@ -44600,7 +44608,7 @@ Every notification should include the seat, cause, evidence, and requested decis
|
|
|
44600
44608
|
order: 75,
|
|
44601
44609
|
title: "Local runner guide",
|
|
44602
44610
|
summary: "How local agent sessions and runner surfaces should operate through {{brand}} without bypassing Charters or audit.",
|
|
44603
|
-
version: "2026-07-02.
|
|
44611
|
+
version: "2026-07-02.2",
|
|
44604
44612
|
public: true,
|
|
44605
44613
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
44606
44614
|
stages: ["staffing", "operating_rhythm"],
|
|
@@ -44632,7 +44640,7 @@ Use Local Runner when a Seat should run on a machine you control. Install it fro
|
|
|
44632
44640
|
|
|
44633
44641
|
Recommended paths:
|
|
44634
44642
|
|
|
44635
|
-
- **Always-on host:** \`{{cli}} runner install-service --name <runner-name> --execute\` installs a background service (macOS launchd user agent) that keeps the runner online
|
|
44643
|
+
- **Always-on host:** \`{{cli}} runner install-service --name <runner-name> --execute\` installs a background service (macOS launchd user agent, \`user/<uid>\` domain) that keeps the runner online. Manage it with \`{{cli}} runner start|stop|restart|status|logs|uninstall --name <runner-name>\`. On macOS this loads reliably when the runner user is logged in at the console; on a purely headless SSH box where that user is not at the console, run \`{{cli}} runner serve\` under a process supervisor instead.
|
|
44636
44644
|
- **Manual smoke:** \`{{cli}} runner serve --once\` heartbeats once and exits; \`{{cli}} runner serve --execute\` claims and executes runner work orders while it runs.
|
|
44637
44645
|
|
|
44638
44646
|
Two ways to authenticate and pair \u2014 both first-class, an agent can drive either entirely from the terminal:
|
|
@@ -49122,10 +49130,16 @@ async function pairIfNeeded(client, fetchImpl, appUrl2, config2, io) {
|
|
|
49122
49130
|
`);
|
|
49123
49131
|
return existing;
|
|
49124
49132
|
}
|
|
49125
|
-
|
|
49126
|
-
|
|
49133
|
+
let userCode;
|
|
49134
|
+
if (config2.userCode !== void 0) {
|
|
49135
|
+
userCode = config2.userCode;
|
|
49136
|
+
} else if (client) {
|
|
49137
|
+
userCode = await startPairing(client, config2);
|
|
49138
|
+
} else {
|
|
49139
|
+
throw new Error(
|
|
49140
|
+
`No paired runner state at ${config2.stateFile}. Provide --user-code <code> from Settings > Runners (Add a runner), or run \`${cliBrand.binName} login --device\` once to pair this runner.`
|
|
49141
|
+
);
|
|
49127
49142
|
}
|
|
49128
|
-
const userCode = config2.userCode ?? await startPairing(client, config2);
|
|
49129
49143
|
const claim = await post2(fetchImpl, appUrl2, "/api/runner/pairing/claim", { user_code: userCode });
|
|
49130
49144
|
const runnerSecret = claim.json.runner_secret;
|
|
49131
49145
|
const runnerId = claim.json.runner_id;
|
|
@@ -49264,10 +49278,12 @@ async function spawnRunnerTurn(appUrl2, workOrder, runtime) {
|
|
|
49264
49278
|
task_id: workOrder.task_id ?? null,
|
|
49265
49279
|
seat: workOrder.seat ?? null,
|
|
49266
49280
|
charter: workOrder.charter ?? null,
|
|
49267
|
-
permission_manifest: workOrder.permission_manifest ?? null
|
|
49281
|
+
permission_manifest: workOrder.permission_manifest ?? null,
|
|
49282
|
+
aicos: workOrder.aicos ?? null
|
|
49268
49283
|
};
|
|
49284
|
+
const hasAicosContext = typeof workOrder.aicos === "object" && workOrder.aicos !== null;
|
|
49269
49285
|
const prompt = [
|
|
49270
|
-
`Load your ${cliBrand.name} context, report one read-only status, and stop.`,
|
|
49286
|
+
hasAicosContext ? `Load your ${cliBrand.name} context, answer the AICOS user turn using only seat-authorized context and tools, and stop.` : `Load your ${cliBrand.name} context, report one read-only status, and stop.`,
|
|
49271
49287
|
"Do not call external systems or mutating tools.",
|
|
49272
49288
|
`Claimed work order context: ${JSON.stringify(context).slice(0, 8e3)}`
|
|
49273
49289
|
].join("\n");
|
|
@@ -49679,10 +49695,10 @@ function serviceLabel(safeName) {
|
|
|
49679
49695
|
return `com.${cliBrand.binName}.runner.${safeName}`;
|
|
49680
49696
|
}
|
|
49681
49697
|
function domainTarget(uid) {
|
|
49682
|
-
return `
|
|
49698
|
+
return `user/${uid}`;
|
|
49683
49699
|
}
|
|
49684
49700
|
function serviceTarget(uid, label) {
|
|
49685
|
-
return `
|
|
49701
|
+
return `user/${uid}/${label}`;
|
|
49686
49702
|
}
|
|
49687
49703
|
async function bootoutQuietly(exec, uid, plistPath) {
|
|
49688
49704
|
try {
|