@ory/argus 0.14.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -46
- package/assets/commands/temporal-up.md +1 -1
- package/assets/skills/auth-setup/SKILL.md +1 -1
- package/assets/skills/local-dev/SKILL.md +17 -7
- package/assets/skills/ory-build-agent/SKILL.md +39 -91
- package/assets/skills/ory-e2b-sandbox/SKILL.md +18 -17
- package/assets/skills/ory-temporal-worker/SKILL.md +31 -33
- package/assets/skills/permissions-onboarding/SKILL.md +131 -104
- package/dist/adapters.d.ts +88 -32
- package/dist/adapters.js +443 -164
- package/dist/agent-auth.d.ts +226 -67
- package/dist/agent-auth.js +951 -205
- package/dist/auth-store.d.ts +37 -2
- package/dist/auth-store.js +37 -3
- package/dist/auth.d.ts +33 -4
- package/dist/auth.js +163 -20
- package/dist/bash-parser.d.ts +98 -0
- package/dist/bash-parser.js +396 -0
- package/dist/branding.d.ts +77 -16
- package/dist/branding.js +93 -23
- package/dist/build-info.json +4 -4
- package/dist/cli-invocation.d.ts +1 -1
- package/dist/cli-invocation.js +2 -1
- package/dist/cli.d.ts +20 -29
- package/dist/cli.js +271 -239
- package/dist/client.d.ts +175 -138
- package/dist/client.js +672 -391
- package/dist/config.d.ts +217 -54
- package/dist/config.js +461 -42
- package/dist/context.d.ts +10 -0
- package/dist/context.js +21 -0
- package/dist/contract-suite.d.ts +3 -5
- package/dist/contract-suite.js +75 -47
- package/dist/denial.d.ts +36 -3
- package/dist/denial.js +79 -10
- package/dist/event-reporter.d.ts +77 -0
- package/dist/event-reporter.js +776 -0
- package/dist/external-registrations-main.d.ts +10 -0
- package/dist/external-registrations-main.js +38 -0
- package/dist/external-registrations.d.ts +79 -0
- package/dist/external-registrations.js +188 -0
- package/dist/help-cli.d.ts +39 -0
- package/dist/help-cli.js +55 -0
- package/dist/hook-timeout.d.ts +64 -0
- package/dist/hook-timeout.js +88 -0
- package/dist/index.d.ts +28 -23
- package/dist/index.js +173 -58
- package/dist/lifecycle.d.ts +3 -3
- package/dist/lifecycle.js +38 -6
- package/dist/local/cli.js +11 -6
- package/dist/local/configs.d.ts +74 -18
- package/dist/local/configs.js +291 -84
- package/dist/local/health.js +7 -7
- package/dist/local/index.d.ts +2 -2
- package/dist/local/index.js +24 -10
- package/dist/local/manager.d.ts +20 -1
- package/dist/local/manager.js +159 -36
- package/dist/local/ports.d.ts +158 -0
- package/dist/local/ports.js +443 -0
- package/dist/local/seed.d.ts +13 -5
- package/dist/local/seed.js +62 -38
- package/dist/logger.d.ts +54 -25
- package/dist/logger.js +329 -63
- package/dist/mcp.d.ts +2 -2
- package/dist/mcp.js +10 -5
- package/dist/mirror-bootstrap.d.ts +48 -0
- package/dist/mirror-bootstrap.js +254 -0
- package/dist/opl.d.ts +289 -0
- package/dist/opl.js +446 -0
- package/dist/permission-mode.d.ts +87 -0
- package/dist/permission-mode.js +307 -0
- package/dist/permissions-cli.d.ts +13 -49
- package/dist/permissions-cli.js +154 -348
- package/dist/permissions.d.ts +148 -38
- package/dist/permissions.js +591 -45
- package/dist/post-install.d.ts +33 -0
- package/dist/post-install.js +127 -0
- package/dist/read-credential.d.ts +65 -0
- package/dist/read-credential.js +86 -0
- package/dist/registry/cli.js +5 -2
- package/dist/registry/config.d.ts +0 -17
- package/dist/registry/config.js +0 -23
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.js +2 -2
- package/dist/registry/manager.d.ts +4 -21
- package/dist/registry/manager.js +21 -37
- package/dist/runtime-credential.d.ts +140 -0
- package/dist/runtime-credential.js +572 -0
- package/dist/runtime.d.ts +413 -0
- package/dist/runtime.js +825 -0
- package/dist/setup.d.ts +23 -47
- package/dist/setup.js +59 -116
- package/dist/skills.js +0 -7
- package/dist/status-cli.d.ts +27 -11
- package/dist/status-cli.js +121 -115
- package/dist/status-data.d.ts +116 -17
- package/dist/status-data.js +121 -38
- package/dist/subject.d.ts +126 -20
- package/dist/subject.js +215 -30
- package/dist/testing.d.ts +74 -38
- package/dist/testing.js +185 -68
- package/dist/tool-catalog.d.ts +53 -11
- package/dist/tool-catalog.js +164 -13
- package/dist/tool-metadata.d.ts +7 -6
- package/dist/tool-metadata.js +6 -5
- package/dist/types.d.ts +11 -1
- package/dist/uninstall.d.ts +71 -34
- package/dist/uninstall.js +217 -85
- package/dist/user-login.d.ts +9 -10
- package/dist/user-login.js +56 -75
- package/dist/watch-cli.d.ts +6 -0
- package/dist/watch-cli.js +217 -0
- package/package.json +4 -27
- package/assets/commands/dashboard.md +0 -34
- package/dist/dashboard-cli.d.ts +0 -8
- package/dist/dashboard-cli.js +0 -70
- package/dist/dev.d.ts +0 -103
- package/dist/dev.js +0 -583
- package/dist/interactive-setup.d.ts +0 -286
- package/dist/interactive-setup.js +0 -1734
- package/dist/local/jaeger-main.d.ts +0 -13
- package/dist/local/jaeger-main.js +0 -85
- package/dist/local/jaeger.d.ts +0 -50
- package/dist/local/jaeger.js +0 -162
- package/dist/otel/exporter.d.ts +0 -17
- package/dist/otel/exporter.js +0 -12
- package/dist/otel/index.d.ts +0 -2
- package/dist/otel/index.js +0 -8
- package/dist/otel/otlp.d.ts +0 -103
- package/dist/otel/otlp.js +0 -385
- package/dist/project-api-key.d.ts +0 -69
- package/dist/project-api-key.js +0 -147
- package/dist/setup-actions.d.ts +0 -232
- package/dist/setup-actions.js +0 -507
- package/dist/tracer.d.ts +0 -190
- package/dist/tracer.js +0 -481
- package/dist/watch-sandbox.d.ts +0 -9
- package/dist/watch-sandbox.js +0 -81
- package/dist/web/api.d.ts +0 -33
- package/dist/web/api.js +0 -294
- package/dist/web/launch.d.ts +0 -11
- package/dist/web/launch.js +0 -96
- package/dist/web/server.d.ts +0 -20
- package/dist/web/server.js +0 -233
- package/dist/web/types.d.ts +0 -65
- package/dist/web/types.js +0 -2
- package/dist/webapp/assets/index-Wucl4SZs.css +0 -1
- package/dist/webapp/assets/index-m-GtEdq0.js +0 -49
- package/dist/webapp/favicon.ico +0 -0
- package/dist/webapp/index.html +0 -15
package/dist/branding.js
CHANGED
|
@@ -8,10 +8,13 @@
|
|
|
8
8
|
* The policy has two tiers, because many users install these plugins against
|
|
9
9
|
* the **same** Ory project:
|
|
10
10
|
*
|
|
11
|
-
* - **Shared** resources (one per project, reused by every user/harness)
|
|
12
|
-
* **stable,
|
|
13
|
-
* resource instead of duplicating it:
|
|
14
|
-
*
|
|
11
|
+
* - **Shared** resources (one per project, reused by every user/harness) are
|
|
12
|
+
* addressed by a **stable, reserved identifier** so all installs find and
|
|
13
|
+
* reuse the one resource instead of duplicating it: the login client's
|
|
14
|
+
* {@link USER_LOGIN_CLIENT_ID} and the permission namespace
|
|
15
|
+
* ({@link PERMISSION_NAMESPACE}). An identifier, not a display name — see
|
|
16
|
+
* {@link USER_LOGIN_CLIENT_ID} for why the distinction is a security
|
|
17
|
+
* property and not a preference.
|
|
15
18
|
* - **Per-installer** resources (many per project by design — confidential
|
|
16
19
|
* per-machine DCR credentials, write-once API keys) get an **attributable**
|
|
17
20
|
* name carrying *who* and *where*, so a shared project's resource list stays
|
|
@@ -21,49 +24,116 @@
|
|
|
21
24
|
* group together and are instantly recognizable in a shared Ory Console.
|
|
22
25
|
*/
|
|
23
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.PERMISSION_NAMESPACE = exports.DEFAULT_PROJECT_NAME = exports.
|
|
27
|
+
exports.PERMISSION_NAMESPACE = exports.DEFAULT_PROJECT_NAME = exports.USER_LOGIN_SCOPE_CLI = exports.USER_LOGIN_SCOPE_OAUTH = exports.USER_LOGIN_SCOPES = exports.USER_LOGIN_BASE_SCOPES = exports.USER_LOGIN_CLIENT_NAME = exports.USER_LOGIN_CLIENT_ID = exports.PRODUCT_NAME = void 0;
|
|
28
|
+
exports.isUserLoginClient = isUserLoginClient;
|
|
25
29
|
exports.agentClientName = agentClientName;
|
|
30
|
+
exports.shortSessionLabel = shortSessionLabel;
|
|
26
31
|
exports.projectApiKeyName = projectApiKeyName;
|
|
27
32
|
/** Human-readable umbrella name for everything this product creates. */
|
|
28
33
|
exports.PRODUCT_NAME = "Ory Agent Security";
|
|
29
34
|
/**
|
|
30
|
-
* The
|
|
31
|
-
*
|
|
32
|
-
*
|
|
35
|
+
* The **reserved client id** of the shared user-login OAuth2 client — the one
|
|
36
|
+
* thing that identifies it. Every provisioning path (Ory Console setup, the
|
|
37
|
+
* local-dev Hydra seed) creates the client *at this id*, and every lookup
|
|
38
|
+
* addresses it by this id, so all of them converge on one client.
|
|
39
|
+
*
|
|
40
|
+
* It is an id rather than a name for a security reason. A project set up for
|
|
41
|
+
* Agent Security has public dynamic client registration enabled, and Hydra's DCR
|
|
42
|
+
* endpoint places no restriction on `client_name` — so anyone can register a
|
|
43
|
+
* client carrying {@link USER_LOGIN_CLIENT_NAME} verbatim with their own
|
|
44
|
+
* `redirect_uris`, and a name-based lookup can resolve to it (Hydra lists
|
|
45
|
+
* clients ordered by id, so re-registering until the assigned UUID sorts first
|
|
46
|
+
* is roughly a coin flip). Whoever then installs a plugin would complete a PKCE
|
|
47
|
+
* login — `offline_access` included — against the attacker's client. A
|
|
48
|
+
* `client_id` is not forgeable the same way: Hydra assigns a fresh UUID to a
|
|
49
|
+
* dynamically registered client and refuses a caller-chosen one, so only a
|
|
50
|
+
* caller holding the project's admin credentials can claim this id.
|
|
51
|
+
*
|
|
52
|
+
* There is deliberately **no name-based fallback** anywhere: a fallback reopens
|
|
53
|
+
* exactly that hole.
|
|
54
|
+
*/
|
|
55
|
+
exports.USER_LOGIN_CLIENT_ID = "ory-agent-security-login";
|
|
56
|
+
/**
|
|
57
|
+
* The **display name** of the shared user-login client — a human-readable label
|
|
58
|
+
* for the Ory Console's client list, and nothing more. It is a *public* client
|
|
59
|
+
* (no secret) that every user on a project shares across every harness plugin,
|
|
60
|
+
* and the name says so plainly; no "PKCE" in it, since how it authenticates is
|
|
61
|
+
* an implementation detail, not what it is.
|
|
62
|
+
*
|
|
63
|
+
* Never resolve the client by this string. It is attacker-supplyable (see
|
|
64
|
+
* {@link USER_LOGIN_CLIENT_ID}); {@link USER_LOGIN_CLIENT_ID} is what dedupes
|
|
65
|
+
* installs onto one client, and {@link isUserLoginClient} is the only accepted
|
|
66
|
+
* test for "is this the login client".
|
|
67
|
+
*/
|
|
68
|
+
exports.USER_LOGIN_CLIENT_NAME = `${exports.PRODUCT_NAME} · shared user login (all plugins)`;
|
|
69
|
+
/**
|
|
70
|
+
* Whether a client is *the* shared user-login client, decided **only** by its
|
|
71
|
+
* id. A client carrying {@link USER_LOGIN_CLIENT_NAME} under any other id is
|
|
72
|
+
* some other client — possibly one an attacker registered — and is rejected.
|
|
33
73
|
*/
|
|
34
|
-
|
|
74
|
+
function isUserLoginClient(client) {
|
|
75
|
+
return client.clientId === exports.USER_LOGIN_CLIENT_ID;
|
|
76
|
+
}
|
|
35
77
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
78
|
+
* The single source of truth for the interactive user-login OAuth2 scopes.
|
|
79
|
+
* Every place that registers the client (`ory create/update oauth2-client`,
|
|
80
|
+
* the local-dev Hydra seed, the manual-setup help) and the PKCE flow that
|
|
81
|
+
* requests them must agree, or the flow fails with `invalid_scope` (or the
|
|
82
|
+
* requested scope is silently dropped). `openid`/`offline_access` are the
|
|
83
|
+
* baseline; `profile`/`email` populate the id_token's name claims so the
|
|
84
|
+
* signed-in user can be shown by name.
|
|
39
85
|
*/
|
|
40
|
-
exports.
|
|
41
|
-
|
|
42
|
-
exports.
|
|
43
|
-
|
|
44
|
-
|
|
86
|
+
exports.USER_LOGIN_BASE_SCOPES = ["openid", "offline_access"];
|
|
87
|
+
exports.USER_LOGIN_SCOPES = [
|
|
88
|
+
...exports.USER_LOGIN_BASE_SCOPES,
|
|
89
|
+
"profile",
|
|
90
|
+
"email",
|
|
45
91
|
];
|
|
92
|
+
/** Space-delimited form for an OAuth2 `authorize` request / Hydra client `scope`. */
|
|
93
|
+
exports.USER_LOGIN_SCOPE_OAUTH = exports.USER_LOGIN_SCOPES.join(" ");
|
|
94
|
+
/** Comma-delimited form for the `ory … oauth2-client --scope` CLI flag. */
|
|
95
|
+
exports.USER_LOGIN_SCOPE_CLI = exports.USER_LOGIN_SCOPES.join(",");
|
|
46
96
|
/** Default name for a project the installer creates. Harness-agnostic, since a
|
|
47
97
|
* team typically points several harnesses at one shared project. */
|
|
48
98
|
exports.DEFAULT_PROJECT_NAME = exports.PRODUCT_NAME;
|
|
49
99
|
/** The shared permission-model namespace (an OPL class name, so it must stay a
|
|
50
100
|
* bare identifier — no spaces/branding — and stable across installs). */
|
|
51
|
-
exports.PERMISSION_NAMESPACE = "
|
|
101
|
+
exports.PERMISSION_NAMESPACE = "AgentTool";
|
|
52
102
|
/**
|
|
53
103
|
* The client_name for an agent's (or sub-agent's) OAuth2 identity registered
|
|
54
104
|
* via DCR. These are confidential, per-machine credentials — many per shared
|
|
55
105
|
* project by design — so the name is attributable: the harness it belongs to
|
|
56
|
-
* and the host it was registered from
|
|
106
|
+
* and the host it was registered from, plus a short session label and the
|
|
107
|
+
* sub-agent type when applicable.
|
|
57
108
|
*/
|
|
58
109
|
function agentClientName(opts) {
|
|
59
|
-
const { harness, host, subAgentType } = opts;
|
|
110
|
+
const { harness, host, subAgentType, sessionId } = opts;
|
|
111
|
+
const session = sessionId?.trim() ? ` · ${shortSessionLabel(sessionId)}` : "";
|
|
60
112
|
if (subAgentType) {
|
|
61
113
|
const scope = harness ? `${harness}/${subAgentType}` : subAgentType;
|
|
62
|
-
return `${exports.PRODUCT_NAME} · sub-agent · ${scope} @ ${host}`;
|
|
114
|
+
return `${exports.PRODUCT_NAME} · sub-agent · ${scope}${session} @ ${host}`;
|
|
63
115
|
}
|
|
64
116
|
return harness
|
|
65
|
-
? `${exports.PRODUCT_NAME} · agent · ${harness} @ ${host}`
|
|
66
|
-
: `${exports.PRODUCT_NAME} · agent @ ${host}`;
|
|
117
|
+
? `${exports.PRODUCT_NAME} · agent · ${harness}${session} @ ${host}`
|
|
118
|
+
: `${exports.PRODUCT_NAME} · agent${session} @ ${host}`;
|
|
119
|
+
}
|
|
120
|
+
/** How much of a session id goes into a display label. */
|
|
121
|
+
const SESSION_LABEL_LENGTH = 8;
|
|
122
|
+
/**
|
|
123
|
+
* A short, stable label for a session id, for **display only** — `status`
|
|
124
|
+
* output and log lines. Ids are usually UUIDs; the leading characters separate
|
|
125
|
+
* them well enough for a human scanning a list, and the full id is always
|
|
126
|
+
* recoverable from the delegation record and activity events.
|
|
127
|
+
*
|
|
128
|
+
* Never use this to build a permission subject. A derived session subject must
|
|
129
|
+
* carry the full session id (`Agent:<clientId>|<session>`) so it matches what an
|
|
130
|
+
* admin writes in the Console after reading the same id off the delegation graph.
|
|
131
|
+
*/
|
|
132
|
+
function shortSessionLabel(sessionId) {
|
|
133
|
+
const trimmed = sessionId.trim();
|
|
134
|
+
return trimmed.length > SESSION_LABEL_LENGTH
|
|
135
|
+
? trimmed.slice(0, SESSION_LABEL_LENGTH)
|
|
136
|
+
: trimmed;
|
|
67
137
|
}
|
|
68
138
|
/**
|
|
69
139
|
* The name for a project API key minted for runtime permission checks. Ory only
|
package/dist/build-info.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"repo": "ory-agent-plugins",
|
|
3
|
-
"commit": "
|
|
4
|
-
"commitShort": "
|
|
3
|
+
"commit": "f803b3fe7be2cd6918652a082a7a4a3eb4ddab53",
|
|
4
|
+
"commitShort": "f803b3f",
|
|
5
5
|
"branch": "main",
|
|
6
|
-
"commitDate": "2026-
|
|
6
|
+
"commitDate": "2026-08-30T11:50:10-07:00",
|
|
7
7
|
"dirty": false,
|
|
8
|
-
"builtAt": "2026-
|
|
8
|
+
"builtAt": "2026-08-30T18:53:36.809Z"
|
|
9
9
|
}
|
package/dist/cli-invocation.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* package is already installed. In the common install flow the user runs
|
|
8
8
|
* `npx @ory/<harness> install` — a one-shot npx invocation that leaves
|
|
9
9
|
* nothing on `PATH` — so a follow-up banner that says `npx ory-claude
|
|
10
|
-
* permissions
|
|
10
|
+
* permissions status` fails: npm can't find a package literally named
|
|
11
11
|
* `ory-claude` and errors out.
|
|
12
12
|
*
|
|
13
13
|
* The always-resolvable form is `npx -y -p @ory/<harness> ory-<short>
|
package/dist/cli-invocation.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* package is already installed. In the common install flow the user runs
|
|
9
9
|
* `npx @ory/<harness> install` — a one-shot npx invocation that leaves
|
|
10
10
|
* nothing on `PATH` — so a follow-up banner that says `npx ory-claude
|
|
11
|
-
* permissions
|
|
11
|
+
* permissions status` fails: npm can't find a package literally named
|
|
12
12
|
* `ory-claude` and errors out.
|
|
13
13
|
*
|
|
14
14
|
* The always-resolvable form is `npx -y -p @ory/<harness> ory-<short>
|
|
@@ -36,6 +36,7 @@ const BIN_TO_PACKAGE = {
|
|
|
36
36
|
"ory-amp": "@ory/amp",
|
|
37
37
|
"ory-pi": "@ory/pi",
|
|
38
38
|
"ory-agy": "@ory/antigravity",
|
|
39
|
+
"ory-cursor": "@ory/cursor",
|
|
39
40
|
};
|
|
40
41
|
/**
|
|
41
42
|
* Render a copy-pasteable `npx` invocation prefix for a harness bin.
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared `configure` command implementation for all plugin CLIs.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* `configure` only ever touches the **security** half of a plugin. The
|
|
5
|
+
* developer-experience half — skills, commands, the local Ory stack, the MCP
|
|
6
|
+
* server, local activity logging — is installed unconditionally and has nothing to
|
|
7
|
+
* configure, so it is never mentioned here as an alternative or a fallback.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
* Connecting takes the project URL and canonical broker origin from the Ory
|
|
10
|
+
* Console (Agent Security). The public OAuth2 client id defaults to the reserved
|
|
11
|
+
* Agent Security login client and can be overridden for custom deployments.
|
|
12
|
+
* Existing configurations use the project URL as a legacy broker fallback.
|
|
13
|
+
* `--disconnect` clears all three stored connection values.
|
|
14
|
+
*
|
|
15
|
+
* With no arguments, prints what is currently resolved.
|
|
14
16
|
*/
|
|
15
17
|
export declare function runConfigureCommand(binName: string, args: string[]): void;
|
|
16
18
|
/**
|
|
17
|
-
* Print the "Configuration:" block showing
|
|
19
|
+
* Print the "Configuration:" block showing the resolved Ory connection.
|
|
18
20
|
*/
|
|
19
21
|
export declare function printOryConfig(): void;
|
|
20
22
|
/**
|
|
@@ -22,32 +24,17 @@ export declare function printOryConfig(): void;
|
|
|
22
24
|
*/
|
|
23
25
|
export declare function printEnvironment(): void;
|
|
24
26
|
/**
|
|
25
|
-
* Print the last
|
|
27
|
+
* Print the last 10 unified activity/debug log entries. When `harness` is given the path is
|
|
26
28
|
* resolved the same way the plugin does at runtime — the default per-harness
|
|
27
29
|
* data-dir location when `ORY_AGENT_LOG_FILE` is unset — so `status` finds the
|
|
28
|
-
* log without the reader hand-setting env vars.
|
|
29
|
-
*
|
|
30
|
-
* one-line pointer on how to turn it on rather than staying silent.
|
|
30
|
+
* log without the reader hand-setting env vars. Activity is always filed;
|
|
31
|
+
* verbose diagnostic entries are included only when `ORY_AGENT_DEBUG=true`.
|
|
31
32
|
*/
|
|
32
33
|
export declare function printLogTail(harness?: string): void;
|
|
33
34
|
/**
|
|
34
35
|
* Print the "Configure your Ory credentials" help text.
|
|
35
36
|
*/
|
|
36
37
|
export declare function printEnvHelp(binName: string): void;
|
|
37
|
-
/**
|
|
38
|
-
* Print the last 5 trace spans. When `harness` is given the path is resolved
|
|
39
|
-
* the same way the plugin does at runtime — the default per-harness data-dir
|
|
40
|
-
* location when `ORY_AGENT_TRACE_FILE` is unset — so `status` shows recent
|
|
41
|
-
* activity out of the box (traces are written on every recorded span). When no
|
|
42
|
-
* spans have been recorded yet, prints a one-line pointer at the trace file so
|
|
43
|
-
* the reader knows where to look (and how to watch it live).
|
|
44
|
-
*/
|
|
45
|
-
export declare function printTraceTail(harness?: string): void;
|
|
46
|
-
/**
|
|
47
|
-
* Run the live trace watcher. Tails the NDJSON trace file and prints
|
|
48
|
-
* formatted spans to stdout as they arrive. Blocks until interrupted.
|
|
49
|
-
*/
|
|
50
|
-
export declare function runWatchCommand(harness: string, args: string[]): void;
|
|
51
38
|
/**
|
|
52
39
|
* Returns true if `/dev/tty` can be opened for reading. Use this before
|
|
53
40
|
* attempting to prompt the user — the harness has already taken stdin so
|
|
@@ -86,6 +73,10 @@ export declare function interactiveConfigPrompt(binName: string): Promise<boolea
|
|
|
86
73
|
* - `unregister` — best-effort RFC 7592 DELETE on the registered
|
|
87
74
|
* client, then clear the persisted block.
|
|
88
75
|
*
|
|
76
|
+
* Each installed harness owns its own agent identity, so both subcommands act
|
|
77
|
+
* on `harness`'s registration by default. `--all` widens them to every
|
|
78
|
+
* harness registered against the shared config.
|
|
79
|
+
*
|
|
89
80
|
* Returns the process exit code (0 on success, non-zero on usage error).
|
|
90
81
|
*/
|
|
91
|
-
export declare function runAgentCommand(binName: string, args: string[]): Promise<number>;
|
|
82
|
+
export declare function runAgentCommand(binName: string, harness: string, args: string[]): Promise<number>;
|