openryoko 2026.8.19 → 2026.8.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/jimmy.js +9 -0
- package/dist/bin/jimmy.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/cli/api.d.ts +24 -0
- package/dist/src/cli/api.d.ts.map +1 -0
- package/dist/src/cli/api.js +66 -0
- package/dist/src/cli/api.js.map +1 -0
- package/dist/src/cli/gateway-audit.d.ts +14 -0
- package/dist/src/cli/gateway-audit.d.ts.map +1 -0
- package/dist/src/cli/gateway-audit.js +120 -0
- package/dist/src/cli/gateway-audit.js.map +1 -0
- package/dist/src/cli/migrate.d.ts +1 -0
- package/dist/src/cli/migrate.d.ts.map +1 -1
- package/dist/src/cli/migrate.js +22 -0
- package/dist/src/cli/migrate.js.map +1 -1
- package/dist/src/cli/pair.d.ts.map +1 -1
- package/dist/src/cli/pair.js +1 -8
- package/dist/src/cli/pair.js.map +1 -1
- package/dist/src/cli/status.d.ts.map +1 -1
- package/dist/src/cli/status.js +16 -4
- package/dist/src/cli/status.js.map +1 -1
- package/dist/src/gateway/host-guard.d.ts.map +1 -1
- package/dist/src/gateway/host-guard.js +1 -1
- package/dist/src/gateway/host-guard.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +45 -6
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/jobs/notify.d.ts +2 -0
- package/dist/src/jobs/notify.d.ts.map +1 -1
- package/dist/src/jobs/notify.js +8 -1
- package/dist/src/jobs/notify.js.map +1 -1
- package/dist/src/sessions/context.d.ts.map +1 -1
- package/dist/src/sessions/context.js +27 -20
- package/dist/src/sessions/context.js.map +1 -1
- package/dist/src/shared/gateway-url.d.ts +26 -0
- package/dist/src/shared/gateway-url.d.ts.map +1 -0
- package/dist/src/shared/gateway-url.js +41 -0
- package/dist/src/shared/gateway-url.js.map +1 -0
- package/dist/web/__next._head.txt +6 -0
- package/dist/web/__next._index.txt +6 -0
- package/dist/web/_next/static/UDwWEfKiZ-eIOpfOIPKQr/_buildManifest.js +11 -0
- package/dist/web/_next/static/UDwWEfKiZ-eIOpfOIPKQr/_clientMiddlewareManifest.js +1 -0
- package/dist/web/_next/static/UDwWEfKiZ-eIOpfOIPKQr/_ssgManifest.js +1 -0
- package/dist/web/_next/static/chunks/012aakl34ff5a.js +5 -0
- package/dist/web/_next/static/chunks/03~yq9q893hmn.js +1 -0
- package/dist/web/_next/static/chunks/0a2uy1kw.~j~c.js +1 -0
- package/dist/web/_next/static/chunks/0agxgztb0b~.7.js +5 -0
- package/dist/web/_next/static/chunks/0dtbl8648b3u9.js +7 -0
- package/dist/web/_next/static/chunks/0e3pdjkorr5zl.js +2 -0
- package/dist/web/_next/static/chunks/0ewpxy-mzj3j3.js +1 -0
- package/dist/web/_next/static/chunks/0g6xt.91k~0bc.js +5 -0
- package/dist/web/_next/static/chunks/0jm3e~uc~qd~p.js +79 -0
- package/dist/web/_next/static/chunks/0jzw1gpuag8bc.js +5 -0
- package/dist/web/_next/static/chunks/0lkp92-ovteta.js +5 -0
- package/dist/web/_next/static/chunks/0lt7kv1k1jla0.js +1 -0
- package/dist/web/_next/static/chunks/0msmlzd_~uk0y.js +5 -0
- package/dist/web/_next/static/chunks/0ru56x83x4rkk.js +1 -0
- package/dist/web/_next/static/chunks/0tcvgwr3rcw29.js +1 -0
- package/dist/web/_next/static/chunks/0tf9kpygstdls.js +1 -0
- package/dist/web/_next/static/chunks/0y3dnnq~kxyz_.js +1 -0
- package/dist/web/_next/static/chunks/0~6m1p5hnsx2f.js +1 -0
- package/dist/web/_next/static/chunks/10-liamt-ipcu.js +1 -0
- package/dist/web/_next/static/chunks/103zsy0q9psfj.css +1 -0
- package/dist/web/_next/static/chunks/10l08hq.acixl.js +5 -0
- package/dist/web/_next/static/chunks/11rbefjn.e-3-.js +1 -0
- package/dist/web/_next/static/chunks/11rodb4s1x4of.js +1 -0
- package/dist/web/_next/static/chunks/12_uxtnrqhoo1.js +1 -0
- package/dist/web/_next/static/chunks/12m97bwrg1tuu.js +5 -0
- package/dist/web/_next/static/chunks/13juizw904g.e.js +1 -0
- package/dist/web/_next/static/chunks/14ge_q22f0n.f.js +1 -0
- package/dist/web/_next/static/chunks/17-u9c_weg12-.js +31 -0
- package/dist/web/_next/static/chunks/17oc2l.ekcs8b.css +1 -0
- package/dist/web/_next/static/chunks/turbopack-0dt987bw_1nyf.js +1 -0
- package/dist/web/_next/static/media/apple-icon.0.wpl4.d-5bkf.jpg +0 -0
- package/dist/web/_next/static/media/icon.0.wpl4.d-5bkf.jpg +0 -0
- package/dist/web/_not-found/__next._head.txt +6 -0
- package/dist/web/_not-found/__next._index.txt +6 -0
- package/dist/web/_not-found/__next._not-found.txt +5 -0
- package/dist/web/chat/__next._head.txt +6 -0
- package/dist/web/chat/__next._index.txt +6 -0
- package/dist/web/chat/__next.chat.txt +5 -0
- package/dist/web/cron/__next._head.txt +6 -0
- package/dist/web/cron/__next._index.txt +6 -0
- package/dist/web/cron/__next.cron.txt +5 -0
- package/dist/web/kanban/__next._head.txt +6 -0
- package/dist/web/kanban/__next._index.txt +6 -0
- package/dist/web/kanban/__next.kanban.txt +5 -0
- package/dist/web/logs/__next._head.txt +6 -0
- package/dist/web/logs/__next._index.txt +6 -0
- package/dist/web/logs/__next.logs.txt +5 -0
- package/dist/web/org/__next._head.txt +6 -0
- package/dist/web/org/__next._index.txt +6 -0
- package/dist/web/org/__next.org.txt +5 -0
- package/dist/web/sessions/__next._head.txt +6 -0
- package/dist/web/sessions/__next._index.txt +6 -0
- package/dist/web/sessions/__next.sessions.txt +5 -0
- package/dist/web/settings/__next._head.txt +6 -0
- package/dist/web/settings/__next._index.txt +6 -0
- package/dist/web/settings/__next.settings.txt +5 -0
- package/dist/web/skills/__next._head.txt +6 -0
- package/dist/web/skills/__next._index.txt +6 -0
- package/dist/web/skills/__next.skills.txt +5 -0
- package/package.json +1 -1
- package/template/config.default.yaml +4 -1
- package/template/migrations/2026.8.20/MIGRATION.md +46 -0
- package/template/skills/sync/SKILL.md +5 -5
|
@@ -40,6 +40,7 @@ import { createDailyDatabaseBackup } from "../sessions/backup.js";
|
|
|
40
40
|
import { getDiskSpaceStatus } from "../shared/storage-health.js";
|
|
41
41
|
import { requestOriginAllowed } from "./request-origin.js";
|
|
42
42
|
import { hostHeaderAllowed, localInterfaceHosts } from "./host-guard.js";
|
|
43
|
+
import { isWildcardBindHost, localGatewayUrl } from "../shared/gateway-url.js";
|
|
43
44
|
import { staticPathWithinRoot } from "./static-path.js";
|
|
44
45
|
const __filename = fileURLToPath(import.meta.url);
|
|
45
46
|
const __dirname = path.dirname(__filename);
|
|
@@ -886,8 +887,34 @@ export async function startGateway(config) {
|
|
|
886
887
|
// `Host` is not loopback, a local interface, or explicitly configured.
|
|
887
888
|
const configuredHost = config.gateway.host || "127.0.0.1";
|
|
888
889
|
const interfaceHosts = localInterfaceHosts();
|
|
889
|
-
|
|
890
|
-
|
|
890
|
+
const connectUrl = localGatewayUrl(configuredHost, config.gateway.port || 7777);
|
|
891
|
+
const configuredAllowedHosts = Array.isArray(currentConfig.gateway.allowedHosts) ? currentConfig.gateway.allowedHosts : [];
|
|
892
|
+
const ignoredWildcardAllowedHosts = configuredAllowedHosts.filter((host) => isWildcardBindHost(host));
|
|
893
|
+
if (ignoredWildcardAllowedHosts.length > 0) {
|
|
894
|
+
logger.warn(`Ignoring wildcard value(s) in gateway.allowedHosts (${ignoredWildcardAllowedHosts.join(", ")}). `
|
|
895
|
+
+ `Wildcard bind addresses are never safe Host allowlist entries; connect to ${connectUrl} instead.`);
|
|
896
|
+
}
|
|
897
|
+
// Publish the *connectable* URL to every child process we spawn (engine CLIs
|
|
898
|
+
// inherit process.env via buildChildEnv). Skills and scripts should read
|
|
899
|
+
// $RYOKO_GATEWAY_URL rather than hard-coding a host they can get wrong.
|
|
900
|
+
process.env.RYOKO_GATEWAY_URL = connectUrl;
|
|
901
|
+
function hostIsAllowed(req) {
|
|
902
|
+
return hostHeaderAllowed(req.headers.host, configuredHost, currentConfig.gateway.allowedHosts, interfaceHosts);
|
|
903
|
+
}
|
|
904
|
+
// A silent 421 is how this guard bites: a cron script gets an empty body, the
|
|
905
|
+
// run is still recorded "success", and the Slack post just never happens. Say
|
|
906
|
+
// out loud what was rejected and what to use instead — but only once per
|
|
907
|
+
// distinct Host, so a hostile tab in a retry loop can't flood the log.
|
|
908
|
+
const warnedRejectedHosts = new Set();
|
|
909
|
+
function warnHostRejected(hostHeader) {
|
|
910
|
+
const key = (hostHeader || "<missing>").toLowerCase().replace(/[^\x20-\x7e]/g, "?").slice(0, 200);
|
|
911
|
+
if (warnedRejectedHosts.has(key))
|
|
912
|
+
return;
|
|
913
|
+
if (warnedRejectedHosts.size >= 50)
|
|
914
|
+
return;
|
|
915
|
+
warnedRejectedHosts.add(key);
|
|
916
|
+
logger.warn(`host_not_allowed: rejected Host="${key}". `
|
|
917
|
+
+ `Connect to ${connectUrl} instead. Real proxy hostnames may be added to gateway.allowedHosts; wildcard bind addresses cannot.`);
|
|
891
918
|
}
|
|
892
919
|
// Create HTTP server
|
|
893
920
|
const server = http.createServer((req, res) => {
|
|
@@ -895,9 +922,15 @@ export async function startGateway(config) {
|
|
|
895
922
|
// Host header check before anything else — applies to both API and
|
|
896
923
|
// static asset paths so a malicious cross-origin browser tab can't
|
|
897
924
|
// pull session JSON either.
|
|
898
|
-
if (!hostIsAllowed(req
|
|
925
|
+
if (!hostIsAllowed(req)) {
|
|
926
|
+
warnHostRejected(req.headers.host);
|
|
899
927
|
res.writeHead(421, { "Content-Type": "application/json" });
|
|
900
|
-
res.end(JSON.stringify({
|
|
928
|
+
res.end(JSON.stringify({
|
|
929
|
+
error: "host_not_allowed",
|
|
930
|
+
host: req.headers.host ?? null,
|
|
931
|
+
hint: `Use ${connectUrl} — "${configuredHost}" is the bind address, not a connectable host. `
|
|
932
|
+
+ `Real proxy hostnames may be added to gateway.allowedHosts; wildcard bind addresses cannot.`,
|
|
933
|
+
}));
|
|
901
934
|
return;
|
|
902
935
|
}
|
|
903
936
|
const origin = req.headers.origin;
|
|
@@ -968,7 +1001,8 @@ export async function startGateway(config) {
|
|
|
968
1001
|
const reqUrl = req.url || "";
|
|
969
1002
|
// DNS-rebinding / cross-host guard — mirror the HTTP request path so a WS
|
|
970
1003
|
// upgrade can't bypass it. Applies to both /ws and /ws/pty.
|
|
971
|
-
if (!hostIsAllowed(req
|
|
1004
|
+
if (!hostIsAllowed(req)) {
|
|
1005
|
+
warnHostRejected(req.headers.host);
|
|
972
1006
|
socket.destroy();
|
|
973
1007
|
return;
|
|
974
1008
|
}
|
|
@@ -1112,7 +1146,12 @@ export async function startGateway(config) {
|
|
|
1112
1146
|
reject(err);
|
|
1113
1147
|
});
|
|
1114
1148
|
server.listen(port, host, () => {
|
|
1115
|
-
logger.info(`${gatewayName} gateway listening on
|
|
1149
|
+
logger.info(`${gatewayName} gateway listening on ${host}:${port} (boot ${bootId})`);
|
|
1150
|
+
if (isWildcardBindHost(host)) {
|
|
1151
|
+
// Wildcard/network binds are the case people get wrong: they copy the
|
|
1152
|
+
// bind address into a client URL and get 421'd by the guard above.
|
|
1153
|
+
logger.info(`Local clients must connect to ${localGatewayUrl(host, port)} — not http://${host}:${port}`);
|
|
1154
|
+
}
|
|
1116
1155
|
resolve();
|
|
1117
1156
|
});
|
|
1118
1157
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/gateway/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/gateway/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export declare function assertLoopbackGatewayUrl(gatewayUrl: string): void;
|
|
|
9
9
|
export interface NotifyDeps {
|
|
10
10
|
fetchFn?: typeof fetch;
|
|
11
11
|
sleep?: (ms: number) => Promise<void>;
|
|
12
|
+
/** Read on every attempt so a gateway restart can create or rotate the token. */
|
|
13
|
+
readAuthToken?: () => string | null;
|
|
12
14
|
/** Retry delays in ms. Default spans ~10 minutes so a gateway restart is survived. */
|
|
13
15
|
retryDelaysMs?: number[];
|
|
14
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../src/jobs/notify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../src/jobs/notify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C;yCACyC;AACzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAuB,GAAG,MAAM,CAkBtF;AAWD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiC7E;AAED;mEACmE;AACnE,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAWjE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAID;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCtD"}
|
package/dist/src/jobs/notify.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
|
+
import { readGatewayAuthToken } from "../gateway/auth.js";
|
|
3
|
+
import { JINN_HOME } from "../shared/paths.js";
|
|
2
4
|
/**
|
|
3
5
|
* Wake-up notification for a finished detached job.
|
|
4
6
|
*
|
|
@@ -101,15 +103,20 @@ const DEFAULT_RETRY_DELAYS_MS = [5_000, 15_000, 60_000, 120_000, 180_000, 240_00
|
|
|
101
103
|
export async function sendJobNotification(state, message, deps = {}) {
|
|
102
104
|
const fetchFn = deps.fetchFn ?? fetch;
|
|
103
105
|
const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
106
|
+
const readAuthToken = deps.readAuthToken ?? (() => readGatewayAuthToken(JINN_HOME));
|
|
104
107
|
const delays = deps.retryDelaysMs ?? DEFAULT_RETRY_DELAYS_MS;
|
|
105
108
|
assertLoopbackGatewayUrl(state.gatewayUrl);
|
|
106
109
|
const url = `${state.gatewayUrl.replace(/\/$/, "")}/api/sessions/${state.sessionId}/message`;
|
|
107
110
|
let lastError = "unknown";
|
|
108
111
|
for (let attempt = 0; attempt <= delays.length; attempt++) {
|
|
109
112
|
try {
|
|
113
|
+
const token = readAuthToken();
|
|
110
114
|
const res = await fetchFn(url, {
|
|
111
115
|
method: "POST",
|
|
112
|
-
headers: {
|
|
116
|
+
headers: {
|
|
117
|
+
"Content-Type": "application/json",
|
|
118
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
119
|
+
},
|
|
113
120
|
// dedupeKey: if the gateway accepted an earlier attempt but the
|
|
114
121
|
// response was lost, the retry must not enqueue a second turn.
|
|
115
122
|
body: JSON.stringify({ message, role: "notification", dedupeKey: `job:${state.id}` }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/jobs/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/jobs/notify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/sessions/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/sessions/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAyC/D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;CACvD,GAAG,MAAM,CAgMT;AA+aD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8B5F"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { gatewayUrlFromConfig } from "../shared/gateway-url.js";
|
|
3
4
|
import { JINN_HOME, ORG_DIR, CRON_JOBS, DOCS_DIR } from "../shared/paths.js";
|
|
4
5
|
import { isOperatorSpeaker } from "../shared/operator-match.js";
|
|
5
6
|
import { scanOrg } from "../gateway/org.js";
|
|
@@ -37,10 +38,11 @@ var Tier;
|
|
|
37
38
|
export function buildContext(opts) {
|
|
38
39
|
const maxChars = opts.config?.context?.maxChars ?? DEFAULT_MAX_CONTEXT_CHARS;
|
|
39
40
|
const sections = [];
|
|
40
|
-
// Compute gateway URL once — used by multiple sections
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
// Compute gateway URL once — used by multiple sections.
|
|
42
|
+
// MUST go through gatewayUrlFromConfig: `gateway.host` is a *bind* address, and
|
|
43
|
+
// a wildcard bind (0.0.0.0) is not a connectable target — the host guard would
|
|
44
|
+
// 421 every curl example we bake into this prompt.
|
|
45
|
+
const gatewayUrl = gatewayUrlFromConfig(opts.config);
|
|
44
46
|
// Resolve personalized names from config
|
|
45
47
|
const portalName = opts.portalName || opts.config?.portal?.portalName || "Ryoko";
|
|
46
48
|
const operatorName = opts.operatorName || opts.config?.portal?.operatorName;
|
|
@@ -128,7 +130,7 @@ export function buildContext(opts) {
|
|
|
128
130
|
tier: Tier.STANDARD,
|
|
129
131
|
marker: "## Available services",
|
|
130
132
|
content: svcCtx,
|
|
131
|
-
summary:
|
|
133
|
+
summary: "## Available services\nUse `ryoko api POST /api/org/cross-request --data '{...}'` to request services from other employees.",
|
|
132
134
|
});
|
|
133
135
|
}
|
|
134
136
|
}
|
|
@@ -186,7 +188,7 @@ export function buildContext(opts) {
|
|
|
186
188
|
tier: Tier.OPTIONAL,
|
|
187
189
|
marker: "## Employee Delegation",
|
|
188
190
|
content: buildDelegationProtocol(gatewayUrl, portalName, opts.config),
|
|
189
|
-
summary:
|
|
191
|
+
summary: "## Employee Delegation Protocol\nDelegate via `ryoko api POST /api/sessions --data '{...}'`. Check children via `ryoko api GET /api/sessions/:id/children`.",
|
|
190
192
|
});
|
|
191
193
|
}
|
|
192
194
|
// ── STANDARD: Gateway API reference ─────────────────────────
|
|
@@ -276,7 +278,7 @@ function buildChainOfCommand(employee, portalName, node, hierarchy) {
|
|
|
276
278
|
lines.push(`- **Escalation path**: ${unique.join(" → ")}`);
|
|
277
279
|
return "\n" + lines.join("\n") + "\n";
|
|
278
280
|
}
|
|
279
|
-
function buildServicesContext(employee,
|
|
281
|
+
function buildServicesContext(employee, _gatewayUrl) {
|
|
280
282
|
try {
|
|
281
283
|
const registry = scanOrg();
|
|
282
284
|
const services = buildServiceRegistry(registry);
|
|
@@ -284,7 +286,7 @@ function buildServicesContext(employee, gatewayUrl) {
|
|
|
284
286
|
return null;
|
|
285
287
|
const lines = ["## Available services"];
|
|
286
288
|
lines.push("Other employees provide the following services. To request one, use the cross-request API:");
|
|
287
|
-
lines.push(`\`POST
|
|
289
|
+
lines.push(`\`ryoko api POST /api/org/cross-request --data '{"fromEmployee": "${employee.name}", "service": "<name>", "prompt": "<what you need>"}'\``);
|
|
288
290
|
lines.push("");
|
|
289
291
|
for (const [svcName, entry] of services) {
|
|
290
292
|
// Skip services from own department
|
|
@@ -610,7 +612,7 @@ export function buildDetachedJobsContext(sessionId, jobsDir) {
|
|
|
610
612
|
lines.push(`Read each log, complete or recover the deferred work, then delete the job's state file under \`~/.ryoko/jobs/\` so this list clears.`);
|
|
611
613
|
return lines.join("\n");
|
|
612
614
|
}
|
|
613
|
-
function buildConnectorContext(connectors,
|
|
615
|
+
function buildConnectorContext(connectors, _gatewayUrl, portalName) {
|
|
614
616
|
const lines = [`## Available connectors: ${connectors.join(", ")}`];
|
|
615
617
|
lines.push(`You can send messages and interact with external services via the ${portalName} gateway API.`);
|
|
616
618
|
lines.push("Use connector messaging only for proactive messages to a different channel or conversation.\n");
|
|
@@ -630,7 +632,7 @@ function buildConnectorContext(connectors, gatewayUrl, portalName) {
|
|
|
630
632
|
lines.push(" `<!--RYOKO-DISPOSITION:v1:<base64url of {\"internal\":\"...\",\"react\":\":emoji:\",\"suppressPublic\":false}>-->`");
|
|
631
633
|
lines.push(" The `internal` field is never posted publicly (saved for the operator). `react` makes the public reply a single emoji reaction; `suppressPublic` omits the public body.");
|
|
632
634
|
lines.push("- When you are directly addressed (mentioned / asked), ALWAYS give a non-empty public reply. Use react-only for pure acknowledgments or social confirmations — never as the answer to a substantive question.");
|
|
633
|
-
lines.push(
|
|
635
|
+
lines.push("\n- **List all connectors**: `ryoko api GET /api/connectors`");
|
|
634
636
|
lines.push(`- Channel IDs and connector config can be found in \`~/.jinn/config.yaml\``);
|
|
635
637
|
return lines.join("\n");
|
|
636
638
|
}
|
|
@@ -726,7 +728,7 @@ function buildEvolutionContext(portalName, config) {
|
|
|
726
728
|
lines.push(`**Do NOT proactively pitch this on every turn.** Only suggest it when ALL of these hold:`);
|
|
727
729
|
lines.push(`- The user just asked something that benefits from seeing live session state (e.g. "what is Ryoko doing right now?", "I want a dashboard of your work", "is there a way to see all the agents?")`);
|
|
728
730
|
lines.push(`- OR the user just successfully connected Slack and is exploring what to do next.`);
|
|
729
|
-
lines.push(`When you do bring it up, keep it to one sentence and point them to **Settings → Slack → Agents View Canvas** in the Web UI. The user can also delegate the toggling to you (Bash tool: \`
|
|
731
|
+
lines.push(`When you do bring it up, keep it to one sentence and point them to **Settings → Slack → Agents View Canvas** in the Web UI. The user can also delegate the toggling to you (Bash tool: \`ryoko api PUT /api/config --data '{...}'\`) if they ask.`);
|
|
730
732
|
}
|
|
731
733
|
}
|
|
732
734
|
return lines.join("\n");
|
|
@@ -735,7 +737,7 @@ function buildEvolutionContext(portalName, config) {
|
|
|
735
737
|
* Delegation protocol: condensed version focusing on the essential API patterns.
|
|
736
738
|
* Verbose examples and multi-paragraph explanations have been trimmed.
|
|
737
739
|
*/
|
|
738
|
-
function buildDelegationProtocol(
|
|
740
|
+
function buildDelegationProtocol(_gatewayUrl, _portalName, config) {
|
|
739
741
|
const defaultEngine = config?.engines.default || "claude";
|
|
740
742
|
const engineConfig = defaultEngine === "codex"
|
|
741
743
|
? config?.engines.codex
|
|
@@ -756,7 +758,7 @@ You are the COO. You orchestrate employees by creating **linked child sessions**
|
|
|
756
758
|
|
|
757
759
|
2. **Check for existing children first**:
|
|
758
760
|
\`\`\`bash
|
|
759
|
-
|
|
761
|
+
ryoko api GET /api/sessions/<your-session-id>/children
|
|
760
762
|
\`\`\`
|
|
761
763
|
If a child exists for this employee, reuse it (skip to step 5).
|
|
762
764
|
|
|
@@ -764,16 +766,14 @@ If a child exists for this employee, reuse it (skip to step 5).
|
|
|
764
766
|
|
|
765
767
|
4. **Spawn**:
|
|
766
768
|
\`\`\`bash
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
-d '{"prompt": "<brief>", "employee": "<name>", "parentSessionId": "<your-session-id>"}'
|
|
769
|
+
ryoko api POST /api/sessions \\
|
|
770
|
+
--data '{"prompt": "<brief>", "employee": "<name>", "parentSessionId": "<your-session-id>"}'
|
|
770
771
|
\`\`\`
|
|
771
772
|
|
|
772
773
|
5. **Follow up** (existing child):
|
|
773
774
|
\`\`\`bash
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
-d '{"message": "<follow-up>"}'
|
|
775
|
+
ryoko api POST /api/sessions/<child-id>/message \\
|
|
776
|
+
--data '{"message": "<follow-up>"}'
|
|
777
777
|
\`\`\`
|
|
778
778
|
|
|
779
779
|
6. **Respond immediately**: Tell the user you've delegated and will follow up when it's done. **Do NOT poll or wait** — end your turn now.
|
|
@@ -808,7 +808,14 @@ Your current session ID is in the "Current session" section above. Use it as \`p
|
|
|
808
808
|
function buildApiReference(gatewayUrl, portalName) {
|
|
809
809
|
return `## ${portalName} Gateway API (${gatewayUrl})
|
|
810
810
|
|
|
811
|
-
|
|
811
|
+
Use \`ryoko api GET /api/status\` (or \`POST ... --data '{...}'\`) for local API calls.
|
|
812
|
+
It chooses a connectable loopback URL, adds the instance's bearer token, refuses external URLs,
|
|
813
|
+
and reports non-2xx responses instead of failing silently. For tools that cannot invoke the CLI,
|
|
814
|
+
the connectable URL is exported as \`$RYOKO_GATEWAY_URL\`; those callers must still add the bearer
|
|
815
|
+
token. Never turn the bind address from config (\`gateway.host\`) into a URL: a wildcard bind like
|
|
816
|
+
\`0.0.0.0\` is not a client destination and the gateway answers \`421 host_not_allowed\`.
|
|
817
|
+
|
|
818
|
+
You can call these endpoints with \`ryoko api\` to inspect and manage the gateway:
|
|
812
819
|
|
|
813
820
|
| Endpoint | Method | Description |
|
|
814
821
|
|----------|--------|-------------|
|