cotal-ai 0.95.1 → 0.95.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/package.json +18 -18
- package/seeded-connectors/claude/dist/mcp.cjs +3 -3
- package/seeded-connectors/claude/package.json +1 -1
- package/seeded-connectors/codex/dist/host.js +3 -3
- package/seeded-connectors/codex/package.json +1 -1
- package/seeded-connectors/hermes/dist/launch.js +3 -3
- package/seeded-connectors/hermes/package.json +1 -1
- package/seeded-connectors/hermes/plugin/cotal/_sidecar/standalone.cjs +3 -3
- package/seeded-connectors/jcode/dist/host.js +3 -3
- package/seeded-connectors/jcode/dist/mcp.js +3 -3
- package/seeded-connectors/jcode/package.json +1 -1
- package/seeded-connectors/opencode/dist/plugin/index.js +3 -3
- package/seeded-connectors/opencode/package.json +1 -1
- package/seeded-connectors/pi/dist/index.js +3 -3
- package/seeded-connectors/pi/dist/standalone.js +3 -3
- package/seeded-connectors/pi/package.json +1 -1
- package/seeded-connectors/web/package.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cotal-ai",
|
|
3
|
-
"version": "0.95.
|
|
3
|
+
"version": "0.95.2",
|
|
4
4
|
"description": "Cotal — lateral agent coordination over NATS. Run `npx cotal-ai` for the CLI.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -33,26 +33,26 @@
|
|
|
33
33
|
"node": ">=22"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@cotal-ai/auth": "0.95.
|
|
37
|
-
"@cotal-ai/cli": "0.95.
|
|
38
|
-
"@cotal-ai/connector-core": "0.95.
|
|
39
|
-
"@cotal-ai/core": "0.95.
|
|
40
|
-
"@cotal-ai/delivery": "0.95.
|
|
41
|
-
"@cotal-ai/manager": "0.95.
|
|
42
|
-
"@cotal-ai/runtime": "0.95.
|
|
43
|
-
"@cotal-ai/seat": "0.95.
|
|
44
|
-
"@cotal-ai/workspace": "0.95.
|
|
36
|
+
"@cotal-ai/auth": "0.95.2",
|
|
37
|
+
"@cotal-ai/cli": "0.95.2",
|
|
38
|
+
"@cotal-ai/connector-core": "0.95.2",
|
|
39
|
+
"@cotal-ai/core": "0.95.2",
|
|
40
|
+
"@cotal-ai/delivery": "0.95.2",
|
|
41
|
+
"@cotal-ai/manager": "0.95.2",
|
|
42
|
+
"@cotal-ai/runtime": "0.95.2",
|
|
43
|
+
"@cotal-ai/seat": "0.95.2",
|
|
44
|
+
"@cotal-ai/workspace": "0.95.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@cotal-ai/connector-claude-code": "0.95.
|
|
48
|
-
"@cotal-ai/connector-codex": "0.95.
|
|
49
|
-
"@cotal-ai/connector-hermes": "0.95.
|
|
50
|
-
"@cotal-ai/connector-jcode": "0.95.
|
|
51
|
-
"@cotal-ai/connector-opencode": "0.95.
|
|
52
|
-
"@cotal-ai/linear": "0.95.
|
|
53
|
-
"@cotal-ai/pi": "0.95.
|
|
47
|
+
"@cotal-ai/connector-claude-code": "0.95.2",
|
|
48
|
+
"@cotal-ai/connector-codex": "0.95.2",
|
|
49
|
+
"@cotal-ai/connector-hermes": "0.95.2",
|
|
50
|
+
"@cotal-ai/connector-jcode": "0.95.2",
|
|
51
|
+
"@cotal-ai/connector-opencode": "0.95.2",
|
|
52
|
+
"@cotal-ai/linear": "0.95.2",
|
|
53
|
+
"@cotal-ai/pi": "0.95.2",
|
|
54
54
|
"@cotal-ai/smoke-kit": "0.0.0",
|
|
55
|
-
"@cotal-ai/web": "0.95.
|
|
55
|
+
"@cotal-ai/web": "0.95.2",
|
|
56
56
|
"@nats-io/jetstream": "^3.4.0",
|
|
57
57
|
"@nats-io/transport-node": "^3.4.0",
|
|
58
58
|
"typescript": "^5.9.3"
|
|
@@ -74797,10 +74797,10 @@ async function submitFeedback(input, options = {}) {
|
|
|
74797
74797
|
var import_node_child_process3 = require("node:child_process");
|
|
74798
74798
|
|
|
74799
74799
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
74800
|
-
var DOCS_VERSION = "0.95.
|
|
74800
|
+
var DOCS_VERSION = "0.95.2";
|
|
74801
74801
|
function loadDocsBundle() {
|
|
74802
74802
|
return {
|
|
74803
|
-
"version": "0.95.
|
|
74803
|
+
"version": "0.95.2",
|
|
74804
74804
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
74805
74805
|
"pages": [
|
|
74806
74806
|
{
|
|
@@ -75060,7 +75060,7 @@ function loadDocsBundle() {
|
|
|
75060
75060
|
"title": "Telemetry",
|
|
75061
75061
|
"kind": "",
|
|
75062
75062
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
75063
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
75063
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
75064
75064
|
},
|
|
75065
75065
|
{
|
|
75066
75066
|
"slug": "transport",
|
|
@@ -68887,10 +68887,10 @@ function date4(params) {
|
|
|
68887
68887
|
config(en_default());
|
|
68888
68888
|
|
|
68889
68889
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
68890
|
-
var DOCS_VERSION = "0.95.
|
|
68890
|
+
var DOCS_VERSION = "0.95.2";
|
|
68891
68891
|
function loadDocsBundle() {
|
|
68892
68892
|
return {
|
|
68893
|
-
"version": "0.95.
|
|
68893
|
+
"version": "0.95.2",
|
|
68894
68894
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
68895
68895
|
"pages": [
|
|
68896
68896
|
{
|
|
@@ -69150,7 +69150,7 @@ function loadDocsBundle() {
|
|
|
69150
69150
|
"title": "Telemetry",
|
|
69151
69151
|
"kind": "",
|
|
69152
69152
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
69153
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
69153
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
69154
69154
|
},
|
|
69155
69155
|
{
|
|
69156
69156
|
"slug": "transport",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/connector-codex",
|
|
3
3
|
"description": "Cotal connector for OpenAI Codex: a host-mode peer driving codex app-server, with Codex's own TUI attached and the cotal_* tools served over a loopback MCP endpoint.",
|
|
4
|
-
"version": "0.95.
|
|
4
|
+
"version": "0.95.2",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -62639,10 +62639,10 @@ function date4(params) {
|
|
|
62639
62639
|
config(en_default());
|
|
62640
62640
|
|
|
62641
62641
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
62642
|
-
var DOCS_VERSION = "0.95.
|
|
62642
|
+
var DOCS_VERSION = "0.95.2";
|
|
62643
62643
|
function loadDocsBundle() {
|
|
62644
62644
|
return {
|
|
62645
|
-
"version": "0.95.
|
|
62645
|
+
"version": "0.95.2",
|
|
62646
62646
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
62647
62647
|
"pages": [
|
|
62648
62648
|
{
|
|
@@ -62902,7 +62902,7 @@ function loadDocsBundle() {
|
|
|
62902
62902
|
"title": "Telemetry",
|
|
62903
62903
|
"kind": "",
|
|
62904
62904
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
62905
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
62905
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
62906
62906
|
},
|
|
62907
62907
|
{
|
|
62908
62908
|
"slug": "transport",
|
|
@@ -62476,10 +62476,10 @@ function date4(params) {
|
|
|
62476
62476
|
config(en_default());
|
|
62477
62477
|
|
|
62478
62478
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
62479
|
-
var DOCS_VERSION = "0.95.
|
|
62479
|
+
var DOCS_VERSION = "0.95.2";
|
|
62480
62480
|
function loadDocsBundle() {
|
|
62481
62481
|
return {
|
|
62482
|
-
"version": "0.95.
|
|
62482
|
+
"version": "0.95.2",
|
|
62483
62483
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
62484
62484
|
"pages": [
|
|
62485
62485
|
{
|
|
@@ -62739,7 +62739,7 @@ function loadDocsBundle() {
|
|
|
62739
62739
|
"title": "Telemetry",
|
|
62740
62740
|
"kind": "",
|
|
62741
62741
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
62742
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
62742
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
62743
62743
|
},
|
|
62744
62744
|
{
|
|
62745
62745
|
"slug": "transport",
|
|
@@ -65187,10 +65187,10 @@ function date4(params) {
|
|
|
65187
65187
|
config(en_default());
|
|
65188
65188
|
|
|
65189
65189
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
65190
|
-
var DOCS_VERSION = "0.95.
|
|
65190
|
+
var DOCS_VERSION = "0.95.2";
|
|
65191
65191
|
function loadDocsBundle() {
|
|
65192
65192
|
return {
|
|
65193
|
-
"version": "0.95.
|
|
65193
|
+
"version": "0.95.2",
|
|
65194
65194
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
65195
65195
|
"pages": [
|
|
65196
65196
|
{
|
|
@@ -65450,7 +65450,7 @@ function loadDocsBundle() {
|
|
|
65450
65450
|
"title": "Telemetry",
|
|
65451
65451
|
"kind": "",
|
|
65452
65452
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
65453
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
65453
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
65454
65454
|
},
|
|
65455
65455
|
{
|
|
65456
65456
|
"slug": "transport",
|
|
@@ -58072,10 +58072,10 @@ async function submitFeedback(input, options = {}) {
|
|
|
58072
58072
|
import { execFileSync } from "node:child_process";
|
|
58073
58073
|
|
|
58074
58074
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
58075
|
-
var DOCS_VERSION = "0.95.
|
|
58075
|
+
var DOCS_VERSION = "0.95.2";
|
|
58076
58076
|
function loadDocsBundle() {
|
|
58077
58077
|
return {
|
|
58078
|
-
"version": "0.95.
|
|
58078
|
+
"version": "0.95.2",
|
|
58079
58079
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
58080
58080
|
"pages": [
|
|
58081
58081
|
{
|
|
@@ -58335,7 +58335,7 @@ function loadDocsBundle() {
|
|
|
58335
58335
|
"title": "Telemetry",
|
|
58336
58336
|
"kind": "",
|
|
58337
58337
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
58338
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
58338
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
58339
58339
|
},
|
|
58340
58340
|
{
|
|
58341
58341
|
"slug": "transport",
|
|
@@ -64898,10 +64898,10 @@ function date4(params) {
|
|
|
64898
64898
|
config(en_default());
|
|
64899
64899
|
|
|
64900
64900
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
64901
|
-
var DOCS_VERSION = "0.95.
|
|
64901
|
+
var DOCS_VERSION = "0.95.2";
|
|
64902
64902
|
function loadDocsBundle() {
|
|
64903
64903
|
return {
|
|
64904
|
-
"version": "0.95.
|
|
64904
|
+
"version": "0.95.2",
|
|
64905
64905
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
64906
64906
|
"pages": [
|
|
64907
64907
|
{
|
|
@@ -65161,7 +65161,7 @@ function loadDocsBundle() {
|
|
|
65161
65161
|
"title": "Telemetry",
|
|
65162
65162
|
"kind": "",
|
|
65163
65163
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
65164
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
65164
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
65165
65165
|
},
|
|
65166
65166
|
{
|
|
65167
65167
|
"slug": "transport",
|
|
@@ -27209,10 +27209,10 @@ import { isConcreteChannel as isConcreteChannel3, channelInAllow as channelInAll
|
|
|
27209
27209
|
import { parsePrincipalKey as parsePrincipalKey2, peerLabel as peerLabel3 } from "@cotal-ai/core";
|
|
27210
27210
|
|
|
27211
27211
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
27212
|
-
var DOCS_VERSION = "0.95.
|
|
27212
|
+
var DOCS_VERSION = "0.95.2";
|
|
27213
27213
|
function loadDocsBundle() {
|
|
27214
27214
|
return {
|
|
27215
|
-
"version": "0.95.
|
|
27215
|
+
"version": "0.95.2",
|
|
27216
27216
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
27217
27217
|
"pages": [
|
|
27218
27218
|
{
|
|
@@ -27472,7 +27472,7 @@ function loadDocsBundle() {
|
|
|
27472
27472
|
"title": "Telemetry",
|
|
27473
27473
|
"kind": "",
|
|
27474
27474
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
27475
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
27475
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
27476
27476
|
},
|
|
27477
27477
|
{
|
|
27478
27478
|
"slug": "transport",
|
|
@@ -65196,10 +65196,10 @@ function date4(params) {
|
|
|
65196
65196
|
config(en_default());
|
|
65197
65197
|
|
|
65198
65198
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
65199
|
-
var DOCS_VERSION = "0.95.
|
|
65199
|
+
var DOCS_VERSION = "0.95.2";
|
|
65200
65200
|
function loadDocsBundle() {
|
|
65201
65201
|
return {
|
|
65202
|
-
"version": "0.95.
|
|
65202
|
+
"version": "0.95.2",
|
|
65203
65203
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
65204
65204
|
"pages": [
|
|
65205
65205
|
{
|
|
@@ -65459,7 +65459,7 @@ function loadDocsBundle() {
|
|
|
65459
65459
|
"title": "Telemetry",
|
|
65460
65460
|
"kind": "",
|
|
65461
65461
|
"summary": "The cotal CLI sends anonymous usage data so we can see which commands people use, which fail, and on which platforms.",
|
|
65462
|
-
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,
|
|
65462
|
+
"body": '# Telemetry\n\nThe `cotal` CLI sends anonymous usage data so we can see which commands people use, which fail,\nand on which platforms. It is on by default, it works with no mesh, no Cloud and no sign-in, and\nyou can turn it off in one command. This page is the contract: the intake accepts the bodies below\nand nothing else.\n\n## Levels\n\n| Level | What is sent |\n|---|---|\n| `off` | Nothing. Under the environment opt-outs the settings file is neither read nor created. |\n| `minimal` | One `command` event per command with the command name, outcome, exit code, duration, Cotal version, OS, architecture, Node major and CI flag. |\n| `regular` (default) | The `command` event with the registered subcommand, flag names, typed error code, the failure\'s error text with values and paths masked, whether stdout is a terminal, and the shell and terminal program names; plus one `install` event per UTC day with the installed connectors, extensions, runtimes and mesh count. |\n\n```bash\ncotal telemetry # the level in force, where it comes from, the install id and the URL\ncotal telemetry off\ncotal telemetry minimal\ncotal telemetry regular # the default; `on` is an alias\n```\n\nThe environment outranks the file: `DO_NOT_TRACK=1` or `COTAL_TELEMETRY_DISABLED=1` forces `off`,\nand `COTAL_TELEMETRY=off|minimal|regular` names a level. Any other `COTAL_TELEMETRY` value refuses\nwith `USAGE_INVALID`. `cotal telemetry` names the source of the level in force.\n\nThe settings live in `<home>/telemetry.json` (`~/.cotal/telemetry.json`, or under `COTAL_HOME`),\nmode `0600`: the level, a random install id (uuid v4), the file\'s creation time, and the times of\nthe one-time notice and the last install event. A file that does not validate refuses every\ncommand with `SCHEMA_INVALID` and is never replaced.\n\n## Never sent\n\nArguments, flag values, paths, mesh, space, agent, user and host names, environment values,\nprompts, messages and any other content. The error text of a failure is sent at `regular` only\nafter masking (see `errorMessage` below). The install id identifies the settings file, not a person\nor machine. The daemon, manager, connectors and workflow runtime send nothing; neither do internal\nentries, hidden daemon runners, `agent-bearer` and `cotal telemetry` itself.\n\nThe intake sees the IP address every request comes from, as any web server does. It uses it for a\ncountry and region lookup and does not store it: the stored event carries the derived location only.\n\n## Delivery\n\nOne `command` event is posted as the CLI process exits, whatever the exit path. At `regular`, the\nfirst command of each UTC day also posts an `install` event first. Each is one `POST` of JSON,\n`content-type: application/json`, to `https://cotal.ai/v1/telemetry`, with a 1.5 second timeout, no\nretry, and every failure ignored: telemetry never changes a command\'s output, exit code or timing\nbeyond that timeout. `COTAL_TELEMETRY_URL` points a self-hosted intake.\n\nThe first interactive run at `regular` prints one notice to stderr and records it; a run whose\nstderr is not a terminal (CI logs) sends but prints nothing, so a later terminal run still shows it.\n\n## The `command` event\n\n| Field | Type | Meaning |\n|---|---|---|\n| `v` | `1` | Body version. |\n| `installId` | uuid string | The install id. |\n| `level` | `"minimal"` or `"regular"` | The level the event was sent at. |\n| `event` | `"command"` | |\n| `command` | string | The registered top-level command name (`up`, `spawn`, `ext`), never a user word. |\n| `outcome` | `"ok"`, `"error"` or `"refused"` | Exit 0 is `ok`; a typed refusal, or exit 2 without one, is `refused`; anything else is `error`. |\n| `exitCode` | integer | The process exit code. |\n| `durationMs` | integer | Milliseconds from dispatch to exit. |\n| `version` | string | The `cotal-ai` version. |\n| `os` | string | `process.platform`. |\n| `arch` | string | `process.arch`. |\n| `node` | integer | The Node major version. |\n| `ci` | boolean | Whether `CI` is set. |\n\nAt `regular` the event also carries:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `subcommand` | string or `null` | The registered subcommand the first positional names (`ext add`, `daemon status`), never a user value. |\n| `flags` | string array, at most 32 | Flag names as typed (`--json`, `-j`, `--server`), values stripped; an unknown flag counts by name. |\n| `errorCode` | string or `null` | The typed code of a refusal or failure (`USAGE_INVALID`, `AUTH_REQUIRED`, `OPERATION_PARTIAL`); `null` on success or when the exit carried no code. |\n| `errorMessage` | string or `null`, at most 500 characters | The failure\'s message after masking: quoted words become `<value>` (the CLI quotes every user value it echoes), URLs `<url>`, email addresses `<email>`, IPv4 addresses `<ip>`, paths `<path>` and any run of 32 or more token characters `<token>`. `null` on success. |\n| `errorStack` | string or `null`, at most 2000 characters | At most 12 frames of the failure\'s stack, each file path cut down to its part inside `node_modules` (the installed package and file, never the directory it is installed under); a frame outside one reads `<path>`. `null` on success or when the failure had no stack. |\n| `interactive` | boolean | Whether stdout is a terminal. |\n| `shell` | string or `null` | The basename of `SHELL`. |\n| `terminal` | string or `null` | `TERM_PROGRAM` as set. |\n\n## The `install` event\n\nSent at `regular` only, at most once per UTC day, before that day\'s first `command` event. It\ncarries `v`, `installId`, `level: "regular"`, `event: "install"`, `version`, `os`, `arch`, `node`\nand `ci` as above, and:\n\n| Field | Type | Meaning |\n|---|---|---|\n| `osRelease` | string | `os.release()`. |\n| `packageManager` | string or `null` | The agent in `npm_config_user_agent` as `name@major` (`npm@10`, `pnpm@9`), when a package manager ran the command. |\n| `installMethod` | `"installer"`, `"npm"` or `"unknown"` | `installer` under the launcher `get.cotal.ai` writes, `npm` when the binary runs from a `node_modules` tree. |\n| `connectors` | `{ kind, version }` array | The installed connectors by kind (`claude`, `opencode`, `codex`, `hermes`, `jcode`, `pi`), from the extensions manifest. |\n| `extensions` | `{ name, version }` array | The other installed `@cotal-ai/*` packages. Third-party packages are not listed. |\n| `runtimes` | string array | The registered runtime names (`pty`, `tmux`, `cmux`, `orca`, `herdr`). |\n| `meshes` | integer | How many meshes the mesh registry holds. |\n| `hostedMesh` | boolean | Whether any registered mesh uses user sign-in. |\n| `uptimeDays` | integer | Whole days since `telemetry.json` was created. |\n'
|
|
65463
65463
|
},
|
|
65464
65464
|
{
|
|
65465
65465
|
"slug": "transport",
|