@stigmer/cli 3.10.0 → 3.11.1-dev.20260812192248
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/commands/connect.d.ts.map +1 -1
- package/commands/connect.js +9 -1
- package/commands/connect.js.map +1 -1
- package/commands/usage.js +7 -4
- package/commands/usage.js.map +1 -1
- package/package.json +5 -5
- package/resources/connect/connect.d.ts +9 -0
- package/resources/connect/connect.d.ts.map +1 -1
- package/resources/connect/connect.js +30 -2
- package/resources/connect/connect.js.map +1 -1
- package/resources/list.d.ts +7 -1
- package/resources/list.d.ts.map +1 -1
- package/resources/list.js +35 -15
- package/resources/list.js.map +1 -1
- package/resources/run/attachments.d.ts.map +1 -1
- package/resources/run/attachments.js +33 -5
- package/resources/run/attachments.js.map +1 -1
- package/resources/usage.d.ts +1 -1
- package/resources/usage.d.ts.map +1 -1
- package/resources/usage.js +2 -2
- package/resources/usage.js.map +1 -1
- package/resources/validate.d.ts +1 -0
- package/resources/validate.d.ts.map +1 -1
- package/resources/validate.js +5 -1
- package/resources/validate.js.map +1 -1
- package/src/commands/connect.ts +13 -1
- package/src/commands/usage.ts +7 -4
- package/src/registry/registry.test.ts +7 -0
- package/src/resources/connect/connect.integration.test.ts +45 -1
- package/src/resources/connect/connect.ts +48 -2
- package/src/resources/list.ts +55 -17
- package/src/resources/read-verbs.integration.test.ts +35 -2
- package/src/resources/run/attachments.test.ts +22 -0
- package/src/resources/run/attachments.ts +44 -5
- package/src/resources/usage.ts +2 -1
- package/src/resources/validate.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBtD"}
|
package/commands/connect.js
CHANGED
|
@@ -15,13 +15,20 @@ export function registerConnect(program) {
|
|
|
15
15
|
connect
|
|
16
16
|
.command("mcp-server <slug-or-id>")
|
|
17
17
|
.description("connect to an MCP server and discover its tools")
|
|
18
|
-
.option("--timeout <seconds>", "
|
|
18
|
+
.option("--timeout <seconds>", "bound the wait for connection and discovery (always bounds --dry-run; " +
|
|
19
|
+
"bounds the server-side connect only when set explicitly)", String(DEFAULT_TIMEOUT_SECONDS))
|
|
19
20
|
.option("--dry-run", "discover and display results without pushing to the backend")
|
|
20
21
|
.option("--env <KEY=VALUE>", "environment variable for the MCP server (repeatable)", (value, previous) => [...previous, value], [])
|
|
21
22
|
.action((reference, options, command) => runConnect(reference, options, command));
|
|
22
23
|
}
|
|
23
24
|
async function runConnect(reference, options, command) {
|
|
24
25
|
const timeoutMs = parseTimeout(options.timeout);
|
|
26
|
+
// The 30s default exists for --dry-run's local discovery. A real connect
|
|
27
|
+
// legitimately takes minutes (server-side sandbox boot + discovery + tool
|
|
28
|
+
// classification), so bounding it by the DEFAULT would fail healthy
|
|
29
|
+
// connects — the wait is bounded only when the user set --timeout
|
|
30
|
+
// explicitly (issue #239: the flag used to be silently ignored here).
|
|
31
|
+
const timeoutIsExplicit = command.getOptionValueSource("timeout") === "cli";
|
|
25
32
|
const [{ connectBackend }, { connectMcpServer }, { renderConnectResult }] = await Promise.all([
|
|
26
33
|
import("../backend.js"),
|
|
27
34
|
import("../resources/connect/connect.js"),
|
|
@@ -45,6 +52,7 @@ async function runConnect(reference, options, command) {
|
|
|
45
52
|
reference,
|
|
46
53
|
org,
|
|
47
54
|
timeoutMs,
|
|
55
|
+
pushTimeoutMs: timeoutIsExplicit ? timeoutMs : undefined,
|
|
48
56
|
dryRun: options.dryRun === true,
|
|
49
57
|
envOverrides: options.env,
|
|
50
58
|
backendType: client.config.backend.type,
|
package/commands/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4EAA4E;AAC5E,4DAA4D;AAC5D,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,iBAAiB;AAGjB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,wDAAwD,CAAC,CAAC;IAEjH,OAAO;SACJ,OAAO,CAAC,yBAAyB,CAAC;SAClC,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
package/commands/usage.js
CHANGED
|
@@ -13,11 +13,11 @@ export function registerUsage(program) {
|
|
|
13
13
|
.action((sessionId, options) => runSessionUsage(sessionId, options));
|
|
14
14
|
usage
|
|
15
15
|
.command("agent <agent-id>")
|
|
16
|
-
.description("view the aggregated usage report for an agent")
|
|
16
|
+
.description("view the aggregated usage report for an agent within your organization")
|
|
17
17
|
.option("--from <date>", "start date (ISO 8601, e.g. 2026-03-01)")
|
|
18
18
|
.option("--to <date>", "end date (ISO 8601, e.g. 2026-03-13)")
|
|
19
19
|
.option("-o, --output <format>", "output format: table, json, or yaml")
|
|
20
|
-
.action((agentId, options) => runAgentUsage(agentId, options));
|
|
20
|
+
.action((agentId, options, command) => runAgentUsage(agentId, options, command));
|
|
21
21
|
usage
|
|
22
22
|
.command("org")
|
|
23
23
|
.description("view the organization-wide usage report")
|
|
@@ -33,12 +33,15 @@ async function runSessionUsage(sessionId, options) {
|
|
|
33
33
|
const report = await usage.getSessionUsageReport(client.stigmer, sessionId);
|
|
34
34
|
process.stdout.write(usage.renderSessionUsage(report, readFormat(options)));
|
|
35
35
|
}
|
|
36
|
-
async function runAgentUsage(agentId, options) {
|
|
36
|
+
async function runAgentUsage(agentId, options, command) {
|
|
37
37
|
const [{ connectBackend }, usage] = await Promise.all([import("../backend.js"), import("../resources/usage.js")]);
|
|
38
38
|
const client = connectBackend();
|
|
39
39
|
ensureAuthenticated(client.config);
|
|
40
|
+
// The report is org-scoped (usage of the agent within one org), so the org
|
|
41
|
+
// resolves exactly as `usage org` does: global --org flag or config default.
|
|
42
|
+
const org = resolveOrganization(client.config, globalOrg(command));
|
|
40
43
|
const range = { from: options.from ?? "", to: options.to ?? "" };
|
|
41
|
-
const report = await usage.getAgentUsageReport(client.stigmer, agentId, range);
|
|
44
|
+
const report = await usage.getAgentUsageReport(client.stigmer, agentId, org, range);
|
|
42
45
|
process.stdout.write(usage.renderAgentUsage(report, range, readFormat(options)));
|
|
43
46
|
}
|
|
44
47
|
async function runOrgUsage(options, command) {
|
package/commands/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,4EAA4E;AAG5E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAExF,KAAK;SACF,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;SACtE,MAAM,CAAC,CAAC,SAAiB,EAAE,OAAmB,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3F,KAAK;SACF,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.1-dev.20260812192248",
|
|
4
4
|
"description": "Stigmer command-line interface — manage agents, workflows, MCP servers, skills, and executions from the terminal",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"@connectrpc/connect": "^2.0.0",
|
|
36
36
|
"@connectrpc/connect-node": "^2.1.1",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
38
|
-
"@stigmer/ink": "3.
|
|
39
|
-
"@stigmer/mcp-server": "3.
|
|
40
|
-
"@stigmer/protos": "3.
|
|
41
|
-
"@stigmer/sdk": "3.
|
|
38
|
+
"@stigmer/ink": "3.11.1-dev.20260812192248",
|
|
39
|
+
"@stigmer/mcp-server": "3.11.1-dev.20260812192248",
|
|
40
|
+
"@stigmer/protos": "3.11.1-dev.20260812192248",
|
|
41
|
+
"@stigmer/sdk": "3.11.1-dev.20260812192248",
|
|
42
42
|
"commander": "^12.1.0",
|
|
43
43
|
"fflate": "^0.8.3",
|
|
44
44
|
"ink": "^7.0.0",
|
|
@@ -6,6 +6,15 @@ export interface ConnectOptions {
|
|
|
6
6
|
readonly reference: string;
|
|
7
7
|
readonly org: string;
|
|
8
8
|
readonly timeoutMs: number;
|
|
9
|
+
/**
|
|
10
|
+
* Bound the wait on the server-side connect RPC. Unset by default: a real
|
|
11
|
+
* connect legitimately takes minutes (sandbox boot + discovery + tool
|
|
12
|
+
* classification), so only an EXPLICIT --timeout bounds it — the flag's
|
|
13
|
+
* 30s default is sized for --dry-run's local discovery and would fail
|
|
14
|
+
* healthy connects. The bound is soft (the CLI stops waiting; the backend
|
|
15
|
+
* finishes the connect on its own).
|
|
16
|
+
*/
|
|
17
|
+
readonly pushTimeoutMs?: number;
|
|
9
18
|
readonly dryRun: boolean;
|
|
10
19
|
readonly envOverrides: readonly string[];
|
|
11
20
|
/** Backend type, for resolving the OAuth web-console URL. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAExG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1D,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CACzC;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAExG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1D,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CACzC;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAkCpG"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// Audit identity (reviewer) and token acquisition stay server-side by design.
|
|
11
11
|
import { create } from "@bufbuild/protobuf";
|
|
12
12
|
import { ConnectInputSchema, GetOAuthGrantStatusInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
|
|
13
|
-
import { UsageError } from "../../errors/index.js";
|
|
13
|
+
import { CliExitError, ExitCode, UsageError } from "../../errors/index.js";
|
|
14
14
|
import { defaultRegistry } from "../../registry/index.js";
|
|
15
15
|
import { PlaceholderResolutionError } from "../mcp/placeholder-resolver.js";
|
|
16
16
|
import { buildRuntimeEnv } from "../mcp/runtime-env.js";
|
|
@@ -41,13 +41,41 @@ export async function connectMcpServer(client, opts) {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
await ensureOAuthSatisfied(client, server, opts);
|
|
44
|
-
const
|
|
44
|
+
const push = client.mcpServer.connect(create(ConnectInputSchema, {
|
|
45
45
|
mcpServerId: server.metadata?.id ?? "",
|
|
46
46
|
org: opts.org,
|
|
47
47
|
runtimeEnv: buildRuntimeEnv(server, opts.envOverrides),
|
|
48
48
|
}));
|
|
49
|
+
const updated = opts.pushTimeoutMs === undefined
|
|
50
|
+
? await push
|
|
51
|
+
: await boundedPush(push, opts.pushTimeoutMs, server);
|
|
49
52
|
return { server, capabilities: updated.status?.discoveredCapabilities, updated };
|
|
50
53
|
}
|
|
54
|
+
// Soft timeout on the server-side connect (the client/client.ts idiom): races
|
|
55
|
+
// the RPC against a timer without cancelling it — the backend's connect
|
|
56
|
+
// workflow keeps running and persists its result on its own, so the message
|
|
57
|
+
// says exactly that instead of implying the connect failed.
|
|
58
|
+
async function boundedPush(push, timeoutMs, server) {
|
|
59
|
+
const slug = server.metadata?.slug ?? server.metadata?.id ?? "the server";
|
|
60
|
+
let timer;
|
|
61
|
+
const timeout = new Promise((_, reject) => {
|
|
62
|
+
timer = setTimeout(() => reject(new CliExitError(`Stopped waiting for the connect of MCP server '${slug}' after ${timeoutMs / 1000}s (--timeout)`, ExitCode.Connection, [
|
|
63
|
+
"The server-side connect is still running and will persist its result if it succeeds.",
|
|
64
|
+
`Check the outcome with: stigmer get mcp-server ${slug}`,
|
|
65
|
+
"Re-run without --timeout to wait for completion.",
|
|
66
|
+
])), timeoutMs);
|
|
67
|
+
});
|
|
68
|
+
// The losing push may settle after the CLI has started exiting; swallow its
|
|
69
|
+
// late rejection so it cannot surface as an unhandled-rejection crash.
|
|
70
|
+
void push.catch(() => { });
|
|
71
|
+
try {
|
|
72
|
+
return await Promise.race([push, timeout]);
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
if (timer !== undefined)
|
|
76
|
+
clearTimeout(timer);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
51
79
|
// Resolve a reference (id, org/slug, or bare slug) to an McpServer. Mirrors Go's
|
|
52
80
|
// GetFromBackend.
|
|
53
81
|
async function resolveMcpServer(client, reference, org) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4EAA4E;AAC5E,gFAAgF;AAChF,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AAK3H,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4EAA4E;AAC5E,gFAAgF;AAChF,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AAK3H,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA8B9C,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAe,EAAE,IAAoB;IAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAExE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;QAC5G,6EAA6E;QAC7E,8EAA8E;QAC9E,gFAAgF;QAChF,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACzF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,GAAG,YAAY,0BAA0B;gBAAE,MAAM,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CACnC,MAAM,CAAC,kBAAkB,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE;QACtC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;KACvD,CAAC,CACH,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS;QAC9C,CAAC,CAAC,MAAM,IAAI;QACZ,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC;AACnF,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,4EAA4E;AAC5E,4DAA4D;AAC5D,KAAK,UAAU,WAAW,CAAI,IAAgB,EAAE,SAAiB,EAAE,MAAiB;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,YAAY,CAAC;IAC1E,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,YAAY,CACd,kDAAkD,IAAI,WAAW,SAAS,GAAG,IAAI,eAAe,EAChG,QAAQ,CAAC,UAAU,EACnB;YACE,sFAAsF;YACtF,kDAAkD,IAAI,EAAE;YACxD,kDAAkD;SACnD,CACF,CACF,EACH,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,4EAA4E;IAC5E,uEAAuE;IACvE,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,kBAAkB;AAClB,KAAK,UAAU,gBAAgB,CAAC,MAAe,EAAE,SAAiB,EAAE,GAAW;IAC7E,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,KAAK,UAAU,oBAAoB,CAAC,MAAe,EAAE,MAAiB,EAAE,IAAoB;IAC1F,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO;IAEnC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAEtC,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,kCAAkC;IAClC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,mBAAmB,CACvD,MAAM,CAAC,8BAA8B,EAAE;QACrC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE;QACrC,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CACH,CAAC;IACF,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO;IAE7B,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,kFAAkF;AAClF,8EAA8E;AAC9E,kFAAkF;AAClF,oDAAoD;AACpD,SAAS,kBAAkB,CAAC,MAAiB,EAAE,GAA+B;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,aAAa,CAAC;IACpG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,gCAAgC,GAAG,CAAC,YAAY,GAAG,IAAI,wBAAwB;YAChG,yBAAyB,GAAG,CAAC,YAAY,+DAA+D,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,mBAAmB,GAAG,CAAC,YAAY,IAAI,KAAK,yBAAyB,GAAG,CAAC,YAAY,oBAAoB;QAC1H,0DAA0D,GAAG,CAAC,YAAY,kDAAkD,CAC/H,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiB,EAAE,SAAiB,EAAE,SAAkB;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACzE,MAAM,OAAO,GAAG;QACd,sFAAsF;KACvF,CAAC;IACF,0EAA0E;IAC1E,gFAAgF;IAChF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,gEAAgE,IAAI,kBAAkB,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,2EAA2E;QAC5F,aAAa,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK;QACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,6EAA6E;AAC7E,0DAA0D;AAC1D,SAAS,iBAAiB,CAAC,MAAiB,EAAE,SAAiB;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACzE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,qFAAqF;QACtG,0FAA0F,IAAI,EAAE,CACnG,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,MAAiB,EAAE,SAAiB;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACzE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,oJAAoJ;QACrK,yEAAyE,IAAI,EAAE,CAClF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAiB;IACtC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB;IACpC,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AAC/C,CAAC"}
|
package/resources/list.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
import { type DescMessage, type Message } from "@bufbuild/protobuf";
|
|
1
2
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
2
3
|
import type { Stigmer } from "@stigmer/sdk";
|
|
3
4
|
import type { OutputFormat } from "../output/index.js";
|
|
4
5
|
import { type TableShape } from "./render.js";
|
|
5
6
|
export declare const SEARCH_KINDS: ReadonlySet<ApiResourceKind>;
|
|
6
|
-
|
|
7
|
+
interface ListPage {
|
|
8
|
+
readonly schema: DescMessage;
|
|
9
|
+
readonly entries: readonly Message[];
|
|
10
|
+
readonly table: TableShape;
|
|
11
|
+
}
|
|
12
|
+
type ListFn = (client: Stigmer, org: string, limit: number) => Promise<ListPage>;
|
|
7
13
|
export declare const LIST_HANDLERS: ReadonlyMap<ApiResourceKind, ListFn>;
|
|
8
14
|
export declare function listResources(client: Stigmer, kind: ApiResourceKind, org: string, limit: number, format: OutputFormat): Promise<string>;
|
|
9
15
|
export declare const SEARCH_TABLE: TableShape;
|
package/resources/list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/resources/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/resources/list.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS5E,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAKtH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAQjG,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,eAAe,CAQpD,CAAC;AAKH,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAKD,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAKjF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,eAAe,EAAE,MAAM,CAgE7D,CAAC;AAEH,wBAAsB,aAAa,CACjC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CASjB;AAoBD,eAAO,MAAM,YAAY,EAAE,UAS1B,CAAC"}
|
package/resources/list.js
CHANGED
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
// registered in LIST_HANDLERS — the same map-dispatch shape as the get,
|
|
8
8
|
// delete, and apply registries, so the conformance test in
|
|
9
9
|
// registry/registry.test.ts can hold all four to the verb matrix.
|
|
10
|
+
//
|
|
11
|
+
// Handlers FETCH, the dispatcher RENDERS: every handler returns entries plus
|
|
12
|
+
// its schema/table pair, and listResources alone applies --limit and renders.
|
|
13
|
+
// That split is deliberate (stigmer/stigmer#312): when handlers owned
|
|
14
|
+
// rendering, honoring --limit was per-handler discipline, and the two
|
|
15
|
+
// unpaginated branches (organization, api_key) shipped silently ignoring it.
|
|
10
16
|
import { create } from "@bufbuild/protobuf";
|
|
11
17
|
import { AgentChannelSchema } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
|
|
12
18
|
import { ListAgentChannelsRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/io_pb";
|
|
@@ -44,45 +50,49 @@ export const SEARCH_KINDS = new Set([
|
|
|
44
50
|
export const LIST_HANDLERS = new Map([
|
|
45
51
|
[
|
|
46
52
|
ApiResourceKind.organization,
|
|
47
|
-
async (client
|
|
53
|
+
async (client) => {
|
|
54
|
+
// findMyOrganizations is caller-scoped and unpaginated (Empty request;
|
|
55
|
+
// a caller's org set is small by nature). The paginated `find` RPC is
|
|
56
|
+
// platform-admin-only — the wrong surface for `list organization`.
|
|
48
57
|
const result = await client.organization.findMyOrganizations();
|
|
49
|
-
return
|
|
58
|
+
return { schema: OrganizationSchema, entries: result.entries, table: ORG_TABLE };
|
|
50
59
|
},
|
|
51
60
|
],
|
|
52
61
|
[
|
|
53
62
|
ApiResourceKind.api_key,
|
|
54
|
-
async (client
|
|
63
|
+
async (client) => {
|
|
64
|
+
// findAll is caller-scoped and unpaginated (Empty request).
|
|
55
65
|
const result = await client.apiKey.findAll();
|
|
56
|
-
return
|
|
66
|
+
return { schema: ApiKeySchema, entries: result.entries, table: APIKEY_TABLE };
|
|
57
67
|
},
|
|
58
68
|
],
|
|
59
69
|
[
|
|
60
70
|
ApiResourceKind.agent_instance,
|
|
61
|
-
async (client, org, limit
|
|
71
|
+
async (client, org, limit) => {
|
|
62
72
|
const result = await client.agentInstance.list(create(ListAgentInstancesRequestSchema, { org, pageInfo: create(PageInfoSchema, { num: 1, size: limit }) }));
|
|
63
|
-
return
|
|
73
|
+
return { schema: AgentInstanceSchema, entries: result.items, table: INSTANCE_TABLE };
|
|
64
74
|
},
|
|
65
75
|
],
|
|
66
76
|
[
|
|
67
77
|
ApiResourceKind.agent_channel,
|
|
68
|
-
async (client, org, limit
|
|
78
|
+
async (client, org, limit) => {
|
|
69
79
|
const result = await client.agentChannel.list(create(ListAgentChannelsRequestSchema, { org, pageInfo: create(PageInfoSchema, { num: 1, size: limit }) }));
|
|
70
|
-
return
|
|
80
|
+
return { schema: AgentChannelSchema, entries: result.items, table: AGENT_CHANNEL_TABLE };
|
|
71
81
|
},
|
|
72
82
|
],
|
|
73
83
|
[
|
|
74
84
|
ApiResourceKind.channel_app,
|
|
75
|
-
async (client, org
|
|
85
|
+
async (client, org) => {
|
|
76
86
|
// listByOrg has no pagination on its contract (the per-org set is small
|
|
77
|
-
// by design); the
|
|
87
|
+
// by design); the dispatcher's slice bounds the output.
|
|
78
88
|
// `channelapp` (not `channelApp`) is a recorded SDK codegen naming quirk.
|
|
79
89
|
const result = await client.channelapp.listByOrg(create(ListChannelAppsByOrgInputSchema, { org }));
|
|
80
|
-
return
|
|
90
|
+
return { schema: ChannelAppSchema, entries: result.entries, table: CHANNEL_APP_TABLE };
|
|
81
91
|
},
|
|
82
92
|
],
|
|
83
93
|
[
|
|
84
94
|
ApiResourceKind.schedule,
|
|
85
|
-
async (client, org, limit
|
|
95
|
+
async (client, org, limit) => {
|
|
86
96
|
// ListSchedulesRequest requires an org (min_len 1), but an unset cloud
|
|
87
97
|
// context resolves to "" — refuse with actionable copy instead of
|
|
88
98
|
// relaying the server's raw validation error.
|
|
@@ -90,20 +100,30 @@ export const LIST_HANDLERS = new Map([
|
|
|
90
100
|
throw new UsageError("schedules are org-scoped: pass --org <slug> or configure an organization context");
|
|
91
101
|
}
|
|
92
102
|
const result = await client.schedule.list(create(ListSchedulesRequestSchema, { org, pageInfo: create(PageInfoSchema, { num: 1, size: limit }) }));
|
|
93
|
-
return
|
|
103
|
+
return { schema: ScheduleSchema, entries: result.items, table: SCHEDULE_TABLE };
|
|
94
104
|
},
|
|
95
105
|
],
|
|
96
106
|
]);
|
|
97
107
|
export async function listResources(client, kind, org, limit, format) {
|
|
108
|
+
const page = await fetchListPage(client, kind, org, limit);
|
|
109
|
+
// The single point where --limit binds the output. For paginated RPCs the
|
|
110
|
+
// handler already asked the server for at most `limit` entries and this is
|
|
111
|
+
// a no-op; for unpaginated RPCs it is the truncation itself. Slicing here
|
|
112
|
+
// rather than per-handler is what keeps the flag honest for every kind —
|
|
113
|
+
// organization and api_key shipped ignoring it when handlers owned this
|
|
114
|
+
// (stigmer/stigmer#312).
|
|
115
|
+
return renderCollection(page.schema, page.entries.slice(0, limit), format, page.table);
|
|
116
|
+
}
|
|
117
|
+
async function fetchListPage(client, kind, org, limit) {
|
|
98
118
|
const dedicated = LIST_HANDLERS.get(kind);
|
|
99
119
|
if (dedicated !== undefined) {
|
|
100
|
-
return dedicated(client, org, limit
|
|
120
|
+
return dedicated(client, org, limit);
|
|
101
121
|
}
|
|
102
122
|
if (!SEARCH_KINDS.has(kind)) {
|
|
103
123
|
throw new UsageError("list is not implemented for this resource type");
|
|
104
124
|
}
|
|
105
125
|
const result = await client.search.query({ kinds: [kind], org, page: { num: 1, size: limit } });
|
|
106
|
-
return
|
|
126
|
+
return { schema: SearchResultSchema, entries: result.entries, table: SEARCH_TABLE };
|
|
107
127
|
}
|
|
108
128
|
// Shared with `search` — both render SearchService results identically.
|
|
109
129
|
export const SEARCH_TABLE = {
|
package/resources/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/resources/list.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,sEAAsE;AACtE,gEAAgE;AAChE,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,2DAA2D;AAC3D,kEAAkE;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/resources/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/resources/run/attachments.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,8DAA8D,CAAC;AACjH,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAC9B,MAAM,4DAA4D,CAAC;AAMpE,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAElD,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACnF;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/resources/run/attachments.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,8DAA8D,CAAC;AACjH,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAC9B,MAAM,4DAA4D,CAAC;AAMpE,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAElD,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACnF;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAiB3B"}
|
|
@@ -25,6 +25,7 @@ export async function processAttachments(uploader, paths, workspaceRoots, progre
|
|
|
25
25
|
const workspaceFileRefs = [];
|
|
26
26
|
if (paths.length === 0)
|
|
27
27
|
return { attachments, workspaceFileRefs };
|
|
28
|
+
const takenDirNames = new Set();
|
|
28
29
|
for (const path of paths) {
|
|
29
30
|
const rel = matchWorkspaceRoot(path, workspaceRoots);
|
|
30
31
|
if (rel !== null) {
|
|
@@ -32,7 +33,7 @@ export async function processAttachments(uploader, paths, workspaceRoots, progre
|
|
|
32
33
|
workspaceFileRefs.push(rel);
|
|
33
34
|
continue;
|
|
34
35
|
}
|
|
35
|
-
attachments.push(await processFile(uploader, path, progress));
|
|
36
|
+
attachments.push(await processFile(uploader, path, takenDirNames, progress));
|
|
36
37
|
}
|
|
37
38
|
return { attachments, workspaceFileRefs };
|
|
38
39
|
}
|
|
@@ -58,7 +59,7 @@ function matchWorkspaceRoot(path, roots) {
|
|
|
58
59
|
}
|
|
59
60
|
// Stat the path, then upload a file or zip+upload a directory. Mirrors Go's
|
|
60
61
|
// processFile.
|
|
61
|
-
async function processFile(uploader, path, progress) {
|
|
62
|
+
async function processFile(uploader, path, takenDirNames, progress) {
|
|
62
63
|
let stat;
|
|
63
64
|
try {
|
|
64
65
|
stat = statSync(path);
|
|
@@ -70,7 +71,7 @@ async function processFile(uploader, path, progress) {
|
|
|
70
71
|
throw new UsageError(`failed to stat attachment "${path}": ${e.message}`);
|
|
71
72
|
}
|
|
72
73
|
if (stat.isDirectory())
|
|
73
|
-
return processDirectory(uploader, path, progress);
|
|
74
|
+
return processDirectory(uploader, path, takenDirNames, progress);
|
|
74
75
|
const absPath = resolve(path);
|
|
75
76
|
const filename = basenameOf(path);
|
|
76
77
|
const contentType = detectContentType(filename);
|
|
@@ -81,9 +82,22 @@ async function processFile(uploader, path, progress) {
|
|
|
81
82
|
}
|
|
82
83
|
// Zip a directory (extract=true so the runner unpacks it at mount_path) and
|
|
83
84
|
// upload it as one archive. Mirrors Go's processDirectory.
|
|
84
|
-
async function processDirectory(uploader, path, progress) {
|
|
85
|
+
async function processDirectory(uploader, path, takenDirNames, progress) {
|
|
85
86
|
const absPath = resolve(path);
|
|
86
|
-
|
|
87
|
+
// Two same-named directories (`--attach a/data --attach b/data`) would
|
|
88
|
+
// derive the SAME explicit mount path, which the runner rejects as a user
|
|
89
|
+
// contradiction (attachment-injector.ts resolveMountPaths). The CLI derives
|
|
90
|
+
// these names mechanically from basenames, so it owns the rename — the same
|
|
91
|
+
// principle as the React composer's client-side uniquify (sdk/react
|
|
92
|
+
// attachment-utils.ts). Duplicate FILE attachments need no CLI handling:
|
|
93
|
+
// they carry no mountPath, so the runner renames them itself.
|
|
94
|
+
const requestedName = basenameOf(absPath);
|
|
95
|
+
const dirname = uniquifyDirName(requestedName, takenDirNames);
|
|
96
|
+
takenDirNames.add(dirname);
|
|
97
|
+
if (dirname !== requestedName) {
|
|
98
|
+
progress?.(`Attaching second '${requestedName}/' as '${dirname}/' (a directory ` +
|
|
99
|
+
`named '${requestedName}' is already attached)`);
|
|
100
|
+
}
|
|
87
101
|
const { bytes, fileCount, originalSize } = zipDirectory(absPath, progress);
|
|
88
102
|
const zipSize = bytes.byteLength;
|
|
89
103
|
progress?.(`Zipping directory: ${dirname}/ (${fileCount} files, ` +
|
|
@@ -196,6 +210,20 @@ function formatFileSize(bytes) {
|
|
|
196
210
|
return `${(bytes / KB).toFixed(1)} KB`;
|
|
197
211
|
return `${bytes} B`;
|
|
198
212
|
}
|
|
213
|
+
// Returns `name` unchanged when free, otherwise the first free `name-2`,
|
|
214
|
+
// `name-3`, … variant. Deliberately extension-blind — directory names have no
|
|
215
|
+
// extension semantics ("reports.2024" becomes "reports.2024-2", not
|
|
216
|
+
// "reports-2.2024"), unlike the filename uniquify in the runner and React SDK
|
|
217
|
+
// (shared/attachment-naming.ts / attachment-utils.ts) this mirrors.
|
|
218
|
+
function uniquifyDirName(name, taken) {
|
|
219
|
+
if (!taken.has(name))
|
|
220
|
+
return name;
|
|
221
|
+
for (let n = 2;; n++) {
|
|
222
|
+
const candidate = `${name}-${n}`;
|
|
223
|
+
if (!taken.has(candidate))
|
|
224
|
+
return candidate;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
199
227
|
// path.basename, but resilient to trailing slashes (matches Go filepath.Base
|
|
200
228
|
// semantics closely enough for display/name derivation).
|
|
201
229
|
function basenameOf(p) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/resources/run/attachments.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,mCAAmC;AAEnC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAmB,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACjH,OAAO,EAEL,6BAA6B,GAE9B,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,uEAAuE;AACvE,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;AAoBtD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAA4B,EAC5B,KAAwB,EACxB,cAAiC,EACjC,QAAuB;IAEvB,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACjD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/resources/run/attachments.ts"],"names":[],"mappings":"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"}
|
package/resources/usage.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface DateRange {
|
|
|
6
6
|
readonly to: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function getSessionUsageReport(client: Stigmer, sessionId: string): Promise<GetSessionUsageReportOutput>;
|
|
9
|
-
export declare function getAgentUsageReport(client: Stigmer, agentId: string, range: DateRange): Promise<GetAgentUsageReportOutput>;
|
|
9
|
+
export declare function getAgentUsageReport(client: Stigmer, agentId: string, orgId: string, range: DateRange): Promise<GetAgentUsageReportOutput>;
|
|
10
10
|
export declare function getOrgUsageReport(client: Stigmer, orgId: string, range: DateRange): Promise<GetOrgUsageReportOutput>;
|
|
11
11
|
export declare function renderSessionUsage(report: GetSessionUsageReportOutput, format: OutputFormat): string;
|
|
12
12
|
export declare function renderAgentUsage(report: GetAgentUsageReportOutput, range: DateRange, format: OutputFormat): string;
|
package/resources/usage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/resources/usage.ts"],"names":[],"mappings":"AAaA,OAAO,EAOL,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EACjC,MAAM,4DAA4D,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAID,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAEpH;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,yBAAyB,CAAC,CAIpC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,uBAAuB,CAAC,CAIlC;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CA6DpG;AAID,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,YAAY,GACnB,MAAM,CA0CR;AAID,wBAAgB,cAAc,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,YAAY,GACnB,MAAM,CA2CR"}
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/resources/usage.ts"],"names":[],"mappings":"AAaA,OAAO,EAOL,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EACjC,MAAM,4DAA4D,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAID,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAEpH;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,yBAAyB,CAAC,CAIpC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,uBAAuB,CAAC,CAIlC;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CA6DpG;AAID,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,YAAY,GACnB,MAAM,CA0CR;AAID,wBAAgB,cAAc,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,YAAY,GACnB,MAAM,CA2CR"}
|
package/resources/usage.js
CHANGED
|
@@ -16,8 +16,8 @@ import { renderProtoJson, renderProtoYaml, renderTable } from "../output/index.j
|
|
|
16
16
|
export async function getSessionUsageReport(client, sessionId) {
|
|
17
17
|
return client.agentExecution.getSessionUsageReport(create(GetSessionUsageReportInputSchema, { sessionId }));
|
|
18
18
|
}
|
|
19
|
-
export async function getAgentUsageReport(client, agentId, range) {
|
|
20
|
-
return client.agentExecution.getAgentUsageReport(create(GetAgentUsageReportInputSchema, { agentId, fromDate: range.from, toDate: range.to }));
|
|
19
|
+
export async function getAgentUsageReport(client, agentId, orgId, range) {
|
|
20
|
+
return client.agentExecution.getAgentUsageReport(create(GetAgentUsageReportInputSchema, { agentId, orgId, fromDate: range.from, toDate: range.to }));
|
|
21
21
|
}
|
|
22
22
|
export async function getOrgUsageReport(client, orgId, range) {
|
|
23
23
|
return client.agentExecution.getOrgUsageReport(create(GetOrgUsageReportInputSchema, { orgId, fromDate: range.from, toDate: range.to }));
|