@stigmer/cli 3.1.7 → 3.1.8
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/share.d.ts +3 -0
- package/commands/share.d.ts.map +1 -0
- package/commands/share.js +75 -0
- package/commands/share.js.map +1 -0
- package/config/index.d.ts +1 -1
- package/config/index.d.ts.map +1 -1
- package/config/index.js +1 -1
- package/config/index.js.map +1 -1
- package/config/resolve.d.ts +19 -2
- package/config/resolve.d.ts.map +1 -1
- package/config/resolve.js +40 -2
- package/config/resolve.js.map +1 -1
- package/local/runtime/node.d.ts +9 -2
- package/local/runtime/node.d.ts.map +1 -1
- package/local/runtime/node.js +38 -23
- package/local/runtime/node.js.map +1 -1
- package/package.json +6 -6
- package/program.d.ts.map +1 -1
- package/program.js +2 -0
- package/program.js.map +1 -1
- package/resources/connect/oauth.d.ts +0 -9
- package/resources/connect/oauth.d.ts.map +1 -1
- package/resources/connect/oauth.js +1 -17
- package/resources/connect/oauth.js.map +1 -1
- package/resources/share.d.ts +37 -0
- package/resources/share.d.ts.map +1 -0
- package/resources/share.js +144 -0
- package/resources/share.js.map +1 -0
- package/resources/stream/convert.d.ts +6 -2
- package/resources/stream/convert.d.ts.map +1 -1
- package/resources/stream/convert.js +8 -2
- package/resources/stream/convert.js.map +1 -1
- package/resources/stream/events.d.ts +14 -2
- package/resources/stream/events.d.ts.map +1 -1
- package/resources/stream/events.js.map +1 -1
- package/resources/stream/render-ndjson.js +2 -0
- package/resources/stream/render-ndjson.js.map +1 -1
- package/resources/stream/render-plaintext.d.ts.map +1 -1
- package/resources/stream/render-plaintext.js +3 -0
- package/resources/stream/render-plaintext.js.map +1 -1
- package/resources/stream/snapshot.js +6 -1
- package/resources/stream/snapshot.js.map +1 -1
- package/resources/stream/tool-state.d.ts +1 -1
- package/resources/stream/tool-state.d.ts.map +1 -1
- package/resources/stream/tool-state.js +13 -4
- package/resources/stream/tool-state.js.map +1 -1
- package/src/commands/connect.test.ts +26 -4
- package/src/commands/share.ts +99 -0
- package/src/config/index.ts +2 -0
- package/src/config/resolve.test.ts +38 -0
- package/src/config/resolve.ts +42 -3
- package/src/local/runtime/node.ts +43 -25
- package/src/local/runtime/runtime.test.ts +5 -4
- package/src/program.test.ts +7 -0
- package/src/program.ts +2 -0
- package/src/resources/connect/oauth.test.ts +1 -24
- package/src/resources/connect/oauth.ts +1 -17
- package/src/resources/read-verbs.integration.test.ts +1 -1
- package/src/resources/share.test.ts +389 -0
- package/src/resources/share.ts +227 -0
- package/src/resources/stream/convert.ts +17 -3
- package/src/resources/stream/diff.test.ts +22 -0
- package/src/resources/stream/events.ts +15 -1
- package/src/resources/stream/render-ndjson.test.ts +10 -0
- package/src/resources/stream/render-ndjson.ts +2 -0
- package/src/resources/stream/render-plaintext.test.ts +8 -0
- package/src/resources/stream/render-plaintext.ts +3 -0
- package/src/resources/stream/snapshot.test.ts +14 -0
- package/src/resources/stream/snapshot.ts +5 -1
- package/src/resources/stream/tool-state.ts +13 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBpD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// `stigmer share agent <ref>` — enable (default) or disable (--off) public
|
|
2
|
+
// sharing for an agent, printing the hosted chat link and embed snippet.
|
|
3
|
+
//
|
|
4
|
+
// Thin handler: resolve credentials/org and the console origin, delegate the
|
|
5
|
+
// merge-preserving toggle to resources/share, render the result. `--open` is a
|
|
6
|
+
// best-effort browser launch after render (mirrors auth login: the URL is
|
|
7
|
+
// already on screen, so a failed launch costs nothing). Heavy modules are
|
|
8
|
+
// lazy-imported so `--help` stays fast (DD-001).
|
|
9
|
+
import { ensureAuthenticated, resolveConsoleURL, resolveOrganization } from "../config/index.js";
|
|
10
|
+
import { UsageError } from "../errors/index.js";
|
|
11
|
+
import { addResultFlags, globalOrg, resultFormat } from "./shared.js";
|
|
12
|
+
export function registerShare(program) {
|
|
13
|
+
const share = program.command("share").description("share resources via a hosted link");
|
|
14
|
+
const agent = share
|
|
15
|
+
.command("agent <ref>")
|
|
16
|
+
.description("enable sharing for an agent and print its chat link and embed snippet")
|
|
17
|
+
.option("--off", "disable sharing (the link stops working immediately)")
|
|
18
|
+
.option("--audience <audience>", "who can chat: 'public' (anyone with the link) or 'org' (signed-in organization members only); omit to keep the current audience")
|
|
19
|
+
.option("--reset-link", "generate a new share link and kill the current one immediately (public audience)")
|
|
20
|
+
.option("--open", "open the chat link in your browser")
|
|
21
|
+
.action((ref, options, command) => runShareAgent(ref, options, command));
|
|
22
|
+
addResultFlags(agent);
|
|
23
|
+
}
|
|
24
|
+
// Validates --audience before any network work; omitted means "preserve".
|
|
25
|
+
function parseAudience(value) {
|
|
26
|
+
if (value === undefined)
|
|
27
|
+
return undefined;
|
|
28
|
+
if (value === "public" || value === "org")
|
|
29
|
+
return value;
|
|
30
|
+
throw new UsageError(`invalid --audience '${value}'\n\nExpected 'public' or 'org'.`);
|
|
31
|
+
}
|
|
32
|
+
async function runShareAgent(ref, options, command) {
|
|
33
|
+
const format = resultFormat(options);
|
|
34
|
+
const [{ connectBackend }, { shareAgent }, { renderResult }] = await Promise.all([
|
|
35
|
+
import("../backend.js"),
|
|
36
|
+
import("../resources/share.js"),
|
|
37
|
+
import("../output/command-result.js"),
|
|
38
|
+
]);
|
|
39
|
+
const client = connectBackend();
|
|
40
|
+
ensureAuthenticated(client.config);
|
|
41
|
+
const org = resolveOrganization(client.config, globalOrg(command));
|
|
42
|
+
const backendType = client.config.backend.type;
|
|
43
|
+
const appOrigin = resolveConsoleURL(backendType);
|
|
44
|
+
const enabled = options.off !== true;
|
|
45
|
+
const audience = parseAudience(options.audience);
|
|
46
|
+
const resetLink = options.resetLink === true;
|
|
47
|
+
if (resetLink && !enabled) {
|
|
48
|
+
throw new UsageError("--reset-link cannot be combined with --off\n\n" +
|
|
49
|
+
"Disabling sharing already kills the link. Reset is for keeping\n" +
|
|
50
|
+
"sharing on while invalidating the current URL.");
|
|
51
|
+
}
|
|
52
|
+
const result = await shareAgent(client.stigmer, ref, org, {
|
|
53
|
+
enabled,
|
|
54
|
+
...(audience !== undefined ? { audience } : {}),
|
|
55
|
+
resetLink,
|
|
56
|
+
appOrigin,
|
|
57
|
+
isLocal: backendType === "local",
|
|
58
|
+
});
|
|
59
|
+
renderResult(result, format);
|
|
60
|
+
if (options.open === true && enabled) {
|
|
61
|
+
// Best-effort: the link is already rendered above, so a launch failure
|
|
62
|
+
// only needs a nudge, never an error exit (mirrors auth login).
|
|
63
|
+
const url = result.sections.find((s) => s.title.endsWith("chat link"))?.items[0];
|
|
64
|
+
if (url !== undefined) {
|
|
65
|
+
try {
|
|
66
|
+
const { default: open } = await import("open");
|
|
67
|
+
await open(url);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
process.stderr.write("Could not open the browser automatically. Please open the link above.\n");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"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"}
|
package/config/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { type BackendConfig, type BackendType, type CloudBackendConfig, type Config, type ContextConfig, getDefault, isCloudMode, load, save, } from "./config.js";
|
|
2
|
-
export { ensureAuthenticated, resolveContextOrganization, resolveEndpoint, resolveOrganization, resolveToken, } from "./resolve.js";
|
|
2
|
+
export { DEFAULT_CLOUD_CONSOLE_URL, ensureAuthenticated, resolveConsoleURL, resolveContextOrganization, resolveEndpoint, resolveOrganization, resolveToken, } from "./resolve.js";
|
|
3
3
|
export { configDir, configPath, dataDir } from "./paths.js";
|
|
4
4
|
export { configKeyNames, getConfigValue, setConfigValue } from "./keys.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/config/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,UAAU,EACV,WAAW,EACX,IAAI,EACJ,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,UAAU,EACV,WAAW,EACX,IAAI,EACJ,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/config/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Public surface of the CLI config module.
|
|
2
2
|
export { getDefault, isCloudMode, load, save, } from "./config.js";
|
|
3
|
-
export { ensureAuthenticated, resolveContextOrganization, resolveEndpoint, resolveOrganization, resolveToken, } from "./resolve.js";
|
|
3
|
+
export { DEFAULT_CLOUD_CONSOLE_URL, ensureAuthenticated, resolveConsoleURL, resolveContextOrganization, resolveEndpoint, resolveOrganization, resolveToken, } from "./resolve.js";
|
|
4
4
|
export { configDir, configPath, dataDir } from "./paths.js";
|
|
5
5
|
export { configKeyNames, getConfigValue, setConfigValue } from "./keys.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EAML,UAAU,EACV,WAAW,EACX,IAAI,EACJ,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EAML,UAAU,EACV,WAAW,EACX,IAAI,EACJ,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/config/resolve.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type Config } from "./config.js";
|
|
1
|
+
import { type BackendType, type Config } from "./config.js";
|
|
2
|
+
/** Well-known URL for the Stigmer Cloud web console. */
|
|
3
|
+
export declare const DEFAULT_CLOUD_CONSOLE_URL = "https://app.stigmer.ai";
|
|
2
4
|
/**
|
|
3
5
|
* Resolve the server endpoint.
|
|
4
6
|
* STIGMER_SERVER_ADDRESS (explicit override, either backend)
|
|
@@ -19,7 +21,22 @@ export declare function resolveToken(config: Config): string;
|
|
|
19
21
|
* > cloud.org_id (legacy fallback)
|
|
20
22
|
*/
|
|
21
23
|
export declare function resolveOrganization(config: Config, flagOrg?: string): string;
|
|
22
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the web console URL:
|
|
26
|
+
* 1. `STIGMER_CONSOLE_URL` (explicit override)
|
|
27
|
+
* 2. local backend → `http://localhost:{WEB_CONSOLE_PORT}`
|
|
28
|
+
* 3. cloud backend → {@link DEFAULT_CLOUD_CONSOLE_URL}
|
|
29
|
+
*
|
|
30
|
+
* The console origin is also the app origin that serves the hosted chat
|
|
31
|
+
* page (`/chat/<org>/<slug>`) and the embed loader (`/embed.js`), so
|
|
32
|
+
* share-link builders use this same resolver.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveConsoleURL(backendType: BackendType, env?: NodeJS.ProcessEnv): string;
|
|
35
|
+
/**
|
|
36
|
+
* The configured organization, with the legacy cloud.org_id fallback. Reports
|
|
37
|
+
* only what is explicitly set (no implicit local default) so config/context
|
|
38
|
+
* display can faithfully show "(not set)".
|
|
39
|
+
*/
|
|
23
40
|
export declare function resolveContextOrganization(config: Config): string;
|
|
24
41
|
/**
|
|
25
42
|
* Fail fast with a clear "please log in" error when a cloud command has no
|
package/config/resolve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,EAAe,MAAM,aAAa,CAAC;AAKzE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AASlE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAStD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAKxG;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAMxD"}
|
package/config/resolve.js
CHANGED
|
@@ -2,9 +2,18 @@
|
|
|
2
2
|
// the settings the backend client and read verbs depend on; centralizing the
|
|
3
3
|
// precedence keeps every call site consistent (mirrors the Go CLI's Resolve*).
|
|
4
4
|
import { CliExitError, ExitCode } from "../errors/index.js";
|
|
5
|
+
import { WEB_CONSOLE_PORT } from "../local/constants.js";
|
|
5
6
|
import { isCloudMode } from "./config.js";
|
|
6
7
|
const DEFAULT_CLOUD_ENDPOINT = "api.stigmer.ai:443";
|
|
7
8
|
const DEFAULT_LOCAL_ENDPOINT = "localhost:7234";
|
|
9
|
+
/** Well-known URL for the Stigmer Cloud web console. */
|
|
10
|
+
export const DEFAULT_CLOUD_CONSOLE_URL = "https://app.stigmer.ai";
|
|
11
|
+
// Local mode is single-tenant: the seedpack bootstraps resources into the
|
|
12
|
+
// "stigmer" org (see client-apps/cli/src/local/seedpack/apply.ts DEFAULT_ORG).
|
|
13
|
+
// Org-scoped getByReference now requires an org, so bare-slug `get`/`run`/`apply`
|
|
14
|
+
// in local mode fall back to this default when nothing else is configured. Cloud
|
|
15
|
+
// mode has no implicit org — the caller must select one (flag/env/context/login).
|
|
16
|
+
const DEFAULT_LOCAL_ORG = "stigmer";
|
|
8
17
|
/**
|
|
9
18
|
* Resolve the server endpoint.
|
|
10
19
|
* STIGMER_SERVER_ADDRESS (explicit override, either backend)
|
|
@@ -47,9 +56,38 @@ export function resolveOrganization(config, flagOrg) {
|
|
|
47
56
|
if (env !== undefined && env !== "") {
|
|
48
57
|
return env;
|
|
49
58
|
}
|
|
50
|
-
|
|
59
|
+
const context = resolveContextOrganization(config);
|
|
60
|
+
if (context !== "") {
|
|
61
|
+
return context;
|
|
62
|
+
}
|
|
63
|
+
// Nothing configured: local mode falls back to its single-tenant default org
|
|
64
|
+
// so bare-slug operations resolve without ceremony; cloud stays empty (the
|
|
65
|
+
// caller must select an org, e.g. apply raises a clear "organization not set").
|
|
66
|
+
return isCloudMode(config) ? "" : DEFAULT_LOCAL_ORG;
|
|
51
67
|
}
|
|
52
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Resolve the web console URL:
|
|
70
|
+
* 1. `STIGMER_CONSOLE_URL` (explicit override)
|
|
71
|
+
* 2. local backend → `http://localhost:{WEB_CONSOLE_PORT}`
|
|
72
|
+
* 3. cloud backend → {@link DEFAULT_CLOUD_CONSOLE_URL}
|
|
73
|
+
*
|
|
74
|
+
* The console origin is also the app origin that serves the hosted chat
|
|
75
|
+
* page (`/chat/<org>/<slug>`) and the embed loader (`/embed.js`), so
|
|
76
|
+
* share-link builders use this same resolver.
|
|
77
|
+
*/
|
|
78
|
+
export function resolveConsoleURL(backendType, env = process.env) {
|
|
79
|
+
const override = env.STIGMER_CONSOLE_URL;
|
|
80
|
+
if (override !== undefined && override !== "")
|
|
81
|
+
return override;
|
|
82
|
+
if (backendType === "local")
|
|
83
|
+
return `http://localhost:${WEB_CONSOLE_PORT}`;
|
|
84
|
+
return DEFAULT_CLOUD_CONSOLE_URL;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The configured organization, with the legacy cloud.org_id fallback. Reports
|
|
88
|
+
* only what is explicitly set (no implicit local default) so config/context
|
|
89
|
+
* display can faithfully show "(not set)".
|
|
90
|
+
*/
|
|
53
91
|
export function resolveContextOrganization(config) {
|
|
54
92
|
if (config.context?.organization !== undefined && config.context.organization !== "") {
|
|
55
93
|
return config.context.organization;
|
package/config/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
|
package/local/runtime/node.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Minimum Node version the runner requires: 22.13. The runner's durable local
|
|
3
|
+
* checkpointer imports Node's built-in `node:sqlite`, which is only available
|
|
4
|
+
* WITHOUT the --experimental-sqlite flag from v22.13 (and v23.4) onward. A
|
|
5
|
+
* major-only gate would let 22.0-22.12 pass and then crash at checkpointer
|
|
6
|
+
* creation, so the minor is enforced when the major is exactly 22.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MIN_NODE_MAJOR = 22;
|
|
9
|
+
export declare const MIN_NODE_MINOR_ON_MAJOR = 13;
|
|
3
10
|
/**
|
|
4
11
|
* Resolve the Node binary to launch the runner with. Honors STIGMER_NODE_BIN
|
|
5
12
|
* (version-checked); otherwise returns the current runtime.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/local/runtime/node.ts"],"names":[],"mappings":"AAcA
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/local/runtime/node.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAO1C;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CASpC"}
|
package/local/runtime/node.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
// Resolution of the Node.js runtime used to launch the runner subprocess.
|
|
2
2
|
//
|
|
3
3
|
// We reuse the very Node that is running the CLI (process.execPath). The CLI is
|
|
4
|
-
// itself an npm package with `engines: node >=
|
|
5
|
-
// present by construction — there is deliberately no hermetic Node
|
|
6
|
-
// (DD-002: keep the base install lean; nothing to acquire that the host
|
|
7
|
-
// guarantees). This is exactly what the conformance harness does
|
|
4
|
+
// itself an npm package with `engines: node >= 22.13`, so a suitable Node is
|
|
5
|
+
// always present by construction — there is deliberately no hermetic Node
|
|
6
|
+
// download (DD-002: keep the base install lean; nothing to acquire that the host
|
|
7
|
+
// already guarantees). This is exactly what the conformance harness does
|
|
8
8
|
// (`spawn(process.execPath, ...)`). An explicit STIGMER_NODE_BIN override is
|
|
9
9
|
// honored and version-checked for advanced/multi-runtime setups.
|
|
10
10
|
import { execFileSync } from "node:child_process";
|
|
11
11
|
import { CliExitError } from "../../errors/cli-exit-error.js";
|
|
12
12
|
import { ExitCode } from "../../errors/exit-codes.js";
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Minimum Node version the runner requires: 22.13. The runner's durable local
|
|
15
|
+
* checkpointer imports Node's built-in `node:sqlite`, which is only available
|
|
16
|
+
* WITHOUT the --experimental-sqlite flag from v22.13 (and v23.4) onward. A
|
|
17
|
+
* major-only gate would let 22.0-22.12 pass and then crash at checkpointer
|
|
18
|
+
* creation, so the minor is enforced when the major is exactly 22.
|
|
19
|
+
*/
|
|
20
|
+
export const MIN_NODE_MAJOR = 22;
|
|
21
|
+
export const MIN_NODE_MINOR_ON_MAJOR = 13;
|
|
15
22
|
/**
|
|
16
23
|
* Resolve the Node binary to launch the runner with. Honors STIGMER_NODE_BIN
|
|
17
24
|
* (version-checked); otherwise returns the current runtime.
|
|
@@ -19,41 +26,49 @@ export const MIN_NODE_MAJOR = 20;
|
|
|
19
26
|
export function resolveNode() {
|
|
20
27
|
const override = process.env.STIGMER_NODE_BIN;
|
|
21
28
|
if (override !== undefined && override !== "") {
|
|
22
|
-
assertVersion(override,
|
|
29
|
+
assertVersion(override, probeNodeVersion(override));
|
|
23
30
|
return override;
|
|
24
31
|
}
|
|
25
|
-
// The CLI's own runtime:
|
|
26
|
-
assertVersion(process.execPath,
|
|
32
|
+
// The CLI's own runtime: version is readable directly, no subprocess needed.
|
|
33
|
+
assertVersion(process.execPath, parseVersion(process.versions.node));
|
|
27
34
|
return process.execPath;
|
|
28
35
|
}
|
|
29
|
-
function
|
|
30
|
-
return parseMajor(process.versions.node);
|
|
31
|
-
}
|
|
32
|
-
function probeNodeMajor(bin) {
|
|
36
|
+
function probeNodeVersion(bin) {
|
|
33
37
|
try {
|
|
34
38
|
const out = execFileSync(bin, ["--version"], { encoding: "utf8" });
|
|
35
|
-
return
|
|
39
|
+
return parseVersion(out.trim());
|
|
36
40
|
}
|
|
37
41
|
catch {
|
|
38
42
|
return null;
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
|
-
// Parses "v22.22.2" or "22.22.2" to its major
|
|
42
|
-
function
|
|
43
|
-
const match = /^v?(\d+)\./.exec(version.trim());
|
|
45
|
+
// Parses "v22.22.2" or "22.22.2" to its major/minor numbers.
|
|
46
|
+
function parseVersion(version) {
|
|
47
|
+
const match = /^v?(\d+)\.(\d+)\./.exec(version.trim());
|
|
44
48
|
if (match === null)
|
|
45
49
|
return null;
|
|
46
50
|
const major = Number.parseInt(match[1], 10);
|
|
47
|
-
|
|
51
|
+
const minor = Number.parseInt(match[2], 10);
|
|
52
|
+
if (!Number.isInteger(major) || !Number.isInteger(minor))
|
|
53
|
+
return null;
|
|
54
|
+
return { major, minor };
|
|
55
|
+
}
|
|
56
|
+
// True when the version is at or above the 22.13 floor.
|
|
57
|
+
function meetsFloor(v) {
|
|
58
|
+
if (v.major > MIN_NODE_MAJOR)
|
|
59
|
+
return true;
|
|
60
|
+
return v.major === MIN_NODE_MAJOR && v.minor >= MIN_NODE_MINOR_ON_MAJOR;
|
|
48
61
|
}
|
|
49
|
-
function assertVersion(bin,
|
|
50
|
-
|
|
62
|
+
function assertVersion(bin, version) {
|
|
63
|
+
const floor = `${MIN_NODE_MAJOR}.${MIN_NODE_MINOR_ON_MAJOR}`;
|
|
64
|
+
if (version === null) {
|
|
51
65
|
throw new CliExitError(`could not determine the Node version of ${bin}`, ExitCode.General, [
|
|
52
|
-
`Ensure ${bin} is a working Node >= ${
|
|
66
|
+
`Ensure ${bin} is a working Node >= ${floor} runtime.`,
|
|
53
67
|
]);
|
|
54
68
|
}
|
|
55
|
-
if (
|
|
56
|
-
throw new CliExitError(`Node >= ${
|
|
69
|
+
if (!meetsFloor(version)) {
|
|
70
|
+
throw new CliExitError(`Node >= ${floor} is required to run the runner ` +
|
|
71
|
+
`(found ${version.major}.${version.minor} at ${bin})`, ExitCode.General, [`Upgrade Node to ${floor} or newer, or point STIGMER_NODE_BIN at one.`]);
|
|
57
72
|
}
|
|
58
73
|
}
|
|
59
74
|
//# sourceMappingURL=node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/local/runtime/node.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/local/runtime/node.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.1.
|
|
3
|
+
"version": "3.1.8",
|
|
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",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"directory": "client-apps/cli"
|
|
11
11
|
},
|
|
12
12
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
13
|
+
"node": ">=22.13"
|
|
14
14
|
},
|
|
15
15
|
"keywords": [
|
|
16
16
|
"stigmer",
|
|
@@ -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.1.
|
|
39
|
-
"@stigmer/mcp-server": "3.1.
|
|
40
|
-
"@stigmer/protos": "3.1.
|
|
41
|
-
"@stigmer/sdk": "3.1.
|
|
38
|
+
"@stigmer/ink": "3.1.8",
|
|
39
|
+
"@stigmer/mcp-server": "3.1.8",
|
|
40
|
+
"@stigmer/protos": "3.1.8",
|
|
41
|
+
"@stigmer/sdk": "3.1.8",
|
|
42
42
|
"commander": "^12.1.0",
|
|
43
43
|
"fflate": "^0.8.3",
|
|
44
44
|
"ink": "^7.0.0",
|
package/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC,wBAAgB,YAAY,IAAI,OAAO,CA0DtC"}
|
package/program.js
CHANGED
|
@@ -30,6 +30,7 @@ import { registerRun } from "./commands/run.js";
|
|
|
30
30
|
import { registerSearch } from "./commands/search.js";
|
|
31
31
|
import { registerSeedpack } from "./commands/seedpack.js";
|
|
32
32
|
import { registerSetup } from "./commands/setup.js";
|
|
33
|
+
import { registerShare } from "./commands/share.js";
|
|
33
34
|
import { registerStatus } from "./commands/status.js";
|
|
34
35
|
import { registerTag } from "./commands/tag.js";
|
|
35
36
|
import { registerUp } from "./commands/up.js";
|
|
@@ -71,6 +72,7 @@ export function buildProgram() {
|
|
|
71
72
|
registerValidate(program);
|
|
72
73
|
registerDelete(program);
|
|
73
74
|
registerTag(program);
|
|
75
|
+
registerShare(program);
|
|
74
76
|
registerDiff(program);
|
|
75
77
|
registerUsage(program);
|
|
76
78
|
registerPush(program);
|
package/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
2
2
|
import type { Stigmer } from "@stigmer/sdk";
|
|
3
3
|
import type { BackendType } from "../../config/config.js";
|
|
4
|
-
/** Well-known URL for the Stigmer Cloud web console. */
|
|
5
|
-
export declare const DEFAULT_CLOUD_CONSOLE_URL = "https://app.stigmer.ai";
|
|
6
4
|
/** Injectable side effects + inputs for {@link runOAuthFlow}. */
|
|
7
5
|
export interface OAuthFlowDeps {
|
|
8
6
|
readonly client: Stigmer;
|
|
@@ -33,13 +31,6 @@ export declare function runOAuthFlow(deps: OAuthFlowDeps): Promise<void>;
|
|
|
33
31
|
export declare function waitForOAuthGrant(deps: OAuthFlowDeps): Promise<void>;
|
|
34
32
|
/** Query the backend for an existing/just-created OAuth grant. */
|
|
35
33
|
export declare function checkOAuthGrant(client: Stigmer, mcpServerId: string, org: string): Promise<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Resolve the web console URL:
|
|
38
|
-
* 1. `STIGMER_CONSOLE_URL` (explicit override)
|
|
39
|
-
* 2. local backend → `http://localhost:{WEB_CONSOLE_PORT}`
|
|
40
|
-
* 3. cloud backend → {@link DEFAULT_CLOUD_CONSOLE_URL}
|
|
41
|
-
*/
|
|
42
|
-
export declare function resolveConsoleURL(backendType: BackendType, env?: NodeJS.ProcessEnv): string;
|
|
43
34
|
/** The OS-specific command + args to open a URL. Exported for tests. */
|
|
44
35
|
export declare function browserCommand(platform: NodeJS.Platform, url: string): [string | undefined, string[]];
|
|
45
36
|
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,oEAAoE;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBrE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1E;AAED,kEAAkE;AAClE,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzG;AAgDD,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,CAWrG"}
|
|
@@ -12,10 +12,8 @@
|
|
|
12
12
|
// real browser, network, or wall-clock delay.
|
|
13
13
|
import { create } from "@bufbuild/protobuf";
|
|
14
14
|
import { GetOAuthGrantStatusInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
|
|
15
|
+
import { resolveConsoleURL } from "../../config/index.js";
|
|
15
16
|
import { UsageError } from "../../errors/index.js";
|
|
16
|
-
import { WEB_CONSOLE_PORT } from "../../local/constants.js";
|
|
17
|
-
/** Well-known URL for the Stigmer Cloud web console. */
|
|
18
|
-
export const DEFAULT_CLOUD_CONSOLE_URL = "https://app.stigmer.ai";
|
|
19
17
|
const POLL_INTERVAL_MS = 3000;
|
|
20
18
|
const POLL_TIMEOUT_MS = 5 * 60 * 1000;
|
|
21
19
|
const CONSOLE_PROBE_TIMEOUT_MS = 2000;
|
|
@@ -74,20 +72,6 @@ export async function checkOAuthGrant(client, mcpServerId, org) {
|
|
|
74
72
|
const status = await client.mcpServer.getOAuthGrantStatus(create(GetOAuthGrantStatusInputSchema, { resourceId: mcpServerId, org }));
|
|
75
73
|
return status.connected;
|
|
76
74
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Resolve the web console URL:
|
|
79
|
-
* 1. `STIGMER_CONSOLE_URL` (explicit override)
|
|
80
|
-
* 2. local backend → `http://localhost:{WEB_CONSOLE_PORT}`
|
|
81
|
-
* 3. cloud backend → {@link DEFAULT_CLOUD_CONSOLE_URL}
|
|
82
|
-
*/
|
|
83
|
-
export function resolveConsoleURL(backendType, env = process.env) {
|
|
84
|
-
const override = env.STIGMER_CONSOLE_URL;
|
|
85
|
-
if (override !== undefined && override !== "")
|
|
86
|
-
return override;
|
|
87
|
-
if (backendType === "local")
|
|
88
|
-
return `http://localhost:${WEB_CONSOLE_PORT}`;
|
|
89
|
-
return DEFAULT_CLOUD_CONSOLE_URL;
|
|
90
|
-
}
|
|
91
75
|
// Probe the local web console with a short-timeout GET. Any HTTP response (even
|
|
92
76
|
// an error status) means it's serving; a network/timeout failure means it isn't.
|
|
93
77
|
async function probeWebConsole(url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,8BAA8B;AAC9B,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,8CAA8C;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AAGvG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,8BAA8B;AAC9B,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,8CAA8C;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AAGvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACtC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAoBtC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAmB;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;IAClC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEvD,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC;QACnD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YAAE,MAAM,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,gBAAgB,IAAI,EAAE,CAAC;IAEhE,GAAG,CAAC,sCAAsC,IAAI,IAAI,CAAC,CAAC;IACpD,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACzD,GAAG,CAAC,4DAA4D,OAAO,IAAI,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,oFAAoF,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAmB;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC;IAEzC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAEhE,SAAS,CAAC;QACR,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9B,IAAI,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,iCAAiC,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAe,EAAE,WAAmB,EAAE,GAAW;IACrF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,mBAAmB,CACvD,MAAM,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CACzE,CAAC;IACF,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,iFAAiF;AACjF,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC7F,mDAAmD;QACnD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,iFAAiF;AACjF,8EAA8E;AAC9E,4EAA4E;AAC5E,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI,UAAU,CACnB,gFAAgF;QAC9E,uCAAuC;QACvC,gEAAgE,IAAI,oBAAoB;QACxF,6EAA6E,CAChF,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,gFAAgF;AAChF,wDAAwD;AACxD,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,QAAyB,EAAE,GAAW;IACnE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,CAAC,UAAU,EAAE,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5D,KAAK,OAAO;YACV,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B;YACE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type Stigmer } from "@stigmer/sdk";
|
|
2
|
+
import { CommandResult } from "../output/index.js";
|
|
3
|
+
/** Who can chat over the shared link. Mirrors the SDK's SharingAudience. */
|
|
4
|
+
export type ShareAudience = "public" | "org";
|
|
5
|
+
/** Inputs for {@link shareAgent} beyond the reference itself. */
|
|
6
|
+
export interface ShareAgentOptions {
|
|
7
|
+
/** Desired sharing state: `true` to enable, `false` to disable. */
|
|
8
|
+
readonly enabled: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Desired audience. Omitted means "keep the agent's current audience" —
|
|
11
|
+
* a plain toggle must never flip an org-members-only share back to
|
|
12
|
+
* public (or vice versa).
|
|
13
|
+
*/
|
|
14
|
+
readonly audience?: ShareAudience;
|
|
15
|
+
/**
|
|
16
|
+
* Rotate the share-link token: the server generates a fresh `?k=`
|
|
17
|
+
* secret and the current link (tokened or plain) stops working
|
|
18
|
+
* immediately. The token is server-owned status — never part of the
|
|
19
|
+
* sharing block this module merges.
|
|
20
|
+
*/
|
|
21
|
+
readonly resetLink?: boolean;
|
|
22
|
+
/** The app origin serving the hosted chat page and `embed.js`. */
|
|
23
|
+
readonly appOrigin: string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the CLI points at a local backend. Guest chat (the token mint
|
|
26
|
+
* behind the hosted page) is a Stigmer Cloud capability, so a local link
|
|
27
|
+
* gets a "won't serve visitors" warning alongside the result.
|
|
28
|
+
*/
|
|
29
|
+
readonly isLocal: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Enable or disable sharing for the referenced agent and describe the
|
|
33
|
+
* outcome. Idempotent: when the agent is already in the desired state, no
|
|
34
|
+
* write is issued (the link is still reported when sharing is on).
|
|
35
|
+
*/
|
|
36
|
+
export declare function shareAgent(client: Stigmer, ref: string, org: string, options: ShareAgentOptions): Promise<CommandResult>;
|
|
37
|
+
//# sourceMappingURL=share.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/resources/share.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7C,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CA8DxB"}
|