openryoko 2026.9.23 → 2026.9.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/package.json +1 -1
- package/dist/src/connectors/slack/index.d.ts +6 -0
- package/dist/src/connectors/slack/index.d.ts.map +1 -1
- package/dist/src/connectors/slack/index.js +36 -0
- package/dist/src/connectors/slack/index.js.map +1 -1
- package/dist/src/connectors/slack/model-controls.d.ts +24 -0
- package/dist/src/connectors/slack/model-controls.d.ts.map +1 -0
- package/dist/src/connectors/slack/model-controls.js +91 -0
- package/dist/src/connectors/slack/model-controls.js.map +1 -0
- package/dist/src/gateway/api.d.ts +5 -1
- package/dist/src/gateway/api.d.ts.map +1 -1
- package/dist/src/gateway/api.js +35 -7
- package/dist/src/gateway/api.js.map +1 -1
- package/dist/src/gateway/org.d.ts +1 -0
- package/dist/src/gateway/org.d.ts.map +1 -1
- package/dist/src/gateway/org.js +9 -2
- package/dist/src/gateway/org.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +43 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/models/discovery.d.ts +14 -0
- package/dist/src/models/discovery.d.ts.map +1 -0
- package/dist/src/models/discovery.js +136 -0
- package/dist/src/models/discovery.js.map +1 -0
- package/dist/src/models/service.d.ts +194 -0
- package/dist/src/models/service.d.ts.map +1 -0
- package/dist/src/models/service.js +326 -0
- package/dist/src/models/service.js.map +1 -0
- package/dist/src/sessions/context.js +1 -1
- package/dist/src/sessions/context.js.map +1 -1
- package/dist/src/shared/config-lock.d.ts +2 -0
- package/dist/src/shared/config-lock.d.ts.map +1 -0
- package/dist/src/shared/config-lock.js +8 -0
- package/dist/src/shared/config-lock.js.map +1 -0
- package/dist/src/shared/models.d.ts +2 -1
- package/dist/src/shared/models.d.ts.map +1 -1
- package/dist/src/shared/models.js +40 -2
- package/dist/src/shared/models.js.map +1 -1
- package/dist/src/shared/types.d.ts +13 -1
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/workflows/model.d.ts +10 -10
- package/dist/src/workflows/templates.js +1 -1
- package/dist/src/workflows/templates.js.map +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +11 -11
- package/dist/web/__next._full.txt +12 -12
- package/dist/web/__next._tree.txt +2 -2
- package/dist/web/_next/static/chunks/{3kaw6grc8fn7n.js → 0o0ffx5zou_hd.js} +1 -1
- package/dist/web/_next/static/chunks/1qed95f5sziiq.js +1 -0
- package/dist/web/_next/static/chunks/1se22iw7ku9_t.js +1 -0
- package/dist/web/_next/static/chunks/{0qje78_lr2b9b.js → 244xnte9cod1g.js} +1 -1
- package/dist/web/_next/static/chunks/{08i7uo3uz6_fn.js → 2iqxlc9wtxzm2.js} +1 -1
- package/dist/web/_next/static/chunks/2vgv8ikshu6mf.css +1 -0
- package/dist/web/_next/static/chunks/3hrvzgiir3nwr.js +1 -0
- package/dist/web/_next/static/chunks/{25nob1new8t4s.js → 3nxby51zal3rr.js} +1 -1
- package/dist/web/_not-found/__next._full.txt +10 -10
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +9 -9
- package/dist/web/_not-found/__next._tree.txt +2 -2
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +10 -10
- package/dist/web/chat/__next._full.txt +12 -12
- package/dist/web/chat/__next._tree.txt +2 -2
- package/dist/web/chat/__next.chat.__PAGE__.txt +11 -11
- package/dist/web/chat.html +1 -1
- package/dist/web/chat.txt +12 -12
- package/dist/web/cron/__next._full.txt +12 -12
- package/dist/web/cron/__next._tree.txt +2 -2
- package/dist/web/cron/__next.cron.__PAGE__.txt +11 -11
- package/dist/web/cron.html +1 -1
- package/dist/web/cron.txt +12 -12
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +12 -12
- package/dist/web/kanban/__next._full.txt +12 -12
- package/dist/web/kanban/__next._tree.txt +2 -2
- package/dist/web/kanban/__next.kanban.__PAGE__.txt +11 -11
- package/dist/web/kanban.html +1 -1
- package/dist/web/kanban.txt +12 -12
- package/dist/web/logs/__next._full.txt +12 -12
- package/dist/web/logs/__next._tree.txt +2 -2
- package/dist/web/logs/__next.logs.__PAGE__.txt +11 -11
- package/dist/web/logs.html +1 -1
- package/dist/web/logs.txt +12 -12
- package/dist/web/models/__next._full.txt +21 -0
- package/dist/web/models/__next._tree.txt +2 -0
- package/dist/web/models/__next.models.__PAGE__.txt +27 -0
- package/dist/web/models.html +1 -0
- package/dist/web/models.txt +21 -0
- package/dist/web/org/__next._full.txt +12 -12
- package/dist/web/org/__next._tree.txt +2 -2
- package/dist/web/org/__next.org.__PAGE__.txt +11 -11
- package/dist/web/org.html +1 -1
- package/dist/web/org.txt +12 -12
- package/dist/web/sessions/__next._full.txt +10 -10
- package/dist/web/sessions/__next._tree.txt +2 -2
- package/dist/web/sessions/__next.sessions.__PAGE__.txt +9 -9
- package/dist/web/sessions.html +1 -1
- package/dist/web/sessions.txt +10 -10
- package/dist/web/settings/__next._full.txt +12 -12
- package/dist/web/settings/__next._tree.txt +2 -2
- package/dist/web/settings/__next.settings.__PAGE__.txt +11 -11
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +12 -12
- package/dist/web/skills/__next._full.txt +12 -12
- package/dist/web/skills/__next._tree.txt +2 -2
- package/dist/web/skills/__next.skills.__PAGE__.txt +11 -11
- package/dist/web/skills.html +1 -1
- package/dist/web/skills.txt +12 -12
- package/package.json +1 -1
- package/template/config.default.yaml +3 -3
- package/dist/web/_next/static/chunks/1omkeeu_x8s_6.js +0 -1
- package/dist/web/_next/static/chunks/3_6klkygi417n.js +0 -1
- package/dist/web/_next/static/chunks/3alc-b00c58_3.css +0 -1
- /package/dist/web/_next/static/{p4EyRXPDSjK5SWcAUQ603 → cLnDiYfa-PyCpafoGIEyM}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{p4EyRXPDSjK5SWcAUQ603 → cLnDiYfa-PyCpafoGIEyM}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{p4EyRXPDSjK5SWcAUQ603 → cLnDiYfa-PyCpafoGIEyM}/_ssgManifest.js +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# OpenRyoko
|
|
2
|
+
|
|
3
|
+
Slackで会話し、Claude Code・Codex・Gemini CLIに仕事をつなぐ、常駐AIアシスタントです。Node.js 22以上と、利用するCLIの導入・ログインが必要です。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install -g openryoko
|
|
7
|
+
ryoko setup
|
|
8
|
+
ryoko start
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
ブラウザで http://127.0.0.1:7777 を開きます。設定画面でエンジンとSlackを接続してください。
|
|
12
|
+
|
|
13
|
+
モデル設定画面では、Codex・Claude CLIからモデル一覧を取得し、自動追従・通知して選ぶ・固定を選べます。Slackの管理者用設定カード、社員・定期ジョブの固定設定一覧も利用できます。既存会話と明示した固定設定は維持します。
|
|
14
|
+
|
|
15
|
+
[導入・使い方・更新方法](https://github.com/rsensui2/OpenRyoko#readme) · [リリース](https://github.com/rsensui2/OpenRyoko/releases) · [不具合報告](https://github.com/rsensui2/OpenRyoko/issues)
|
|
16
|
+
|
|
17
|
+
MIT License。Jinnを基盤に開発しています。
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import type { ModelManagement } from "../../models/service.js";
|
|
2
|
+
import type { ManagedEngine } from "../../models/discovery.js";
|
|
1
3
|
import type { Connector, ConnectorCapabilities, ConnectorHealth, IncomingMessage, ReplyContext, SlackConnectorConfig, Target } from "../../shared/types.js";
|
|
2
4
|
import type { TriageCapabilitySnapshot } from "../../shared/triage-capabilities.js";
|
|
3
5
|
export interface SlackConnectorContext {
|
|
6
|
+
getModelManagement?: () => ModelManagement | undefined;
|
|
7
|
+
getOperatorSlackId?: () => string | undefined;
|
|
4
8
|
/** Display name of the Jinn instance (used as botName in triage) */
|
|
5
9
|
portalName?: string;
|
|
6
10
|
/** Current routed assistant name, resolved on each message after org updates. */
|
|
@@ -15,6 +19,7 @@ export interface SlackConnectorContext {
|
|
|
15
19
|
export declare class SlackConnector implements Connector {
|
|
16
20
|
name: string;
|
|
17
21
|
private app;
|
|
22
|
+
private modelControls?;
|
|
18
23
|
private handler;
|
|
19
24
|
private readonly allowedUsers;
|
|
20
25
|
private readonly ignoreOldMessagesOnBoot;
|
|
@@ -65,6 +70,7 @@ export declare class SlackConnector implements Connector {
|
|
|
65
70
|
*/
|
|
66
71
|
private resolveChannelInfo;
|
|
67
72
|
private resolveChannelName;
|
|
73
|
+
sendModelNotice(channel: string, text: string, engine: ManagedEngine, candidate?: string): Promise<void>;
|
|
68
74
|
start(): Promise<void>;
|
|
69
75
|
stop(): Promise<void>;
|
|
70
76
|
getCapabilities(): ConnectorCapabilities;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SlackModelControls } from "./model-controls.js";
|
|
1
2
|
import { App } from "@slack/bolt";
|
|
2
3
|
import { createHash } from "node:crypto";
|
|
3
4
|
import path from "node:path";
|
|
@@ -19,6 +20,7 @@ import { logger } from "../../shared/logger.js";
|
|
|
19
20
|
export class SlackConnector {
|
|
20
21
|
name = "slack";
|
|
21
22
|
app;
|
|
23
|
+
modelControls;
|
|
22
24
|
handler = null;
|
|
23
25
|
allowedUsers;
|
|
24
26
|
ignoreOldMessagesOnBoot;
|
|
@@ -103,6 +105,8 @@ export class SlackConnector {
|
|
|
103
105
|
appToken: config.appToken,
|
|
104
106
|
socketMode: true,
|
|
105
107
|
});
|
|
108
|
+
if (context.getModelManagement && context.getOperatorSlackId)
|
|
109
|
+
this.modelControls = new SlackModelControls(context.getModelManagement, context.getOperatorSlackId, config.id || "slack");
|
|
106
110
|
this.ignoreOldMessagesOnBoot = config.ignoreOldMessagesOnBoot !== false;
|
|
107
111
|
const allowFrom = Array.isArray(config.allowFrom)
|
|
108
112
|
? config.allowFrom
|
|
@@ -283,7 +287,28 @@ export class SlackConnector {
|
|
|
283
287
|
async resolveChannelName(channelId) {
|
|
284
288
|
return (await this.resolveChannelInfo(channelId)).name;
|
|
285
289
|
}
|
|
290
|
+
async sendModelNotice(channel, text, engine, candidate) {
|
|
291
|
+
await this.app.client.chat.postMessage({ channel, text, blocks: this.modelControls?.notice(channel, text, engine, candidate) });
|
|
292
|
+
}
|
|
286
293
|
async start() {
|
|
294
|
+
if (this.modelControls)
|
|
295
|
+
this.app.action(/^ryoko_models_/, async ({ ack, body, action, respond }) => {
|
|
296
|
+
await ack();
|
|
297
|
+
const user = body.user.id;
|
|
298
|
+
const channel = "channel" in body ? body.channel?.id : undefined;
|
|
299
|
+
if (!channel || (this.allowedUsers && !this.allowedUsers.has(user)))
|
|
300
|
+
return;
|
|
301
|
+
try {
|
|
302
|
+
const value = "selected_option" in action ? action.selected_option?.value : "value" in action ? action.value : undefined;
|
|
303
|
+
if (!value)
|
|
304
|
+
return;
|
|
305
|
+
const result = await this.modelControls.execute(value, user, channel);
|
|
306
|
+
await respond({ ...result, response_type: "ephemeral", replace_original: false });
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
await respond({ text: error instanceof Error ? error.message : "設定を変更できませんでした。", response_type: "ephemeral", replace_original: false });
|
|
310
|
+
}
|
|
311
|
+
});
|
|
287
312
|
this.app.message(async ({ event }) => {
|
|
288
313
|
logger.info(`[slack] Received message event: user=${event.user} channel=${event.channel} channel_type=${event.channel_type ?? "-"} thread_ts=${event.thread_ts ?? "-"} subtype=${event.subtype ?? "-"} text="${(event.text || "").slice(0, 50)}"`);
|
|
289
314
|
// Skip bot's own messages
|
|
@@ -313,6 +338,17 @@ export class SlackConnector {
|
|
|
313
338
|
const channelType = event.channel_type || "channel";
|
|
314
339
|
const threadTs = event.thread_ts;
|
|
315
340
|
const wasMentioned = !!this.botUserId && rawText.includes(`<@${this.botUserId}>`);
|
|
341
|
+
const modelCommand = rawText.replace(/<@[A-Z0-9]+>/g, "").trim();
|
|
342
|
+
if (this.modelControls && (wasMentioned || channelType === "im") && ["モデル設定", "/model", "model settings"].includes(modelCommand)) {
|
|
343
|
+
const channel = event.channel;
|
|
344
|
+
if (!this.modelControls.authorized(slackUserId)) {
|
|
345
|
+
await this.app.client.chat.postEphemeral({ channel, user: slackUserId, text: "モデル設定は管理者専用です。Web設定の operatorSlackId に管理者のSlack IDを登録してください。" });
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
await this.app.client.chat.postEphemeral({ channel, user: slackUserId, text: "モデル設定", blocks: this.modelControls.card(channel, slackUserId, deriveSessionKey(event)) });
|
|
349
|
+
}
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
316
352
|
const triageEnabled = this.triageConfig?.enabled === true;
|
|
317
353
|
const conversationKey = {
|
|
318
354
|
channel: event.channel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { App } from "@slack/bolt";
|
|
2
|
+
type WithBlocks = Extract<Parameters<App["client"]["chat"]["postMessage"]>[0], {
|
|
3
|
+
blocks?: unknown;
|
|
4
|
+
}>;
|
|
5
|
+
type KnownBlock = Exclude<NonNullable<WithBlocks["blocks"]>, string>[number];
|
|
6
|
+
import type { ModelManagement } from "../../models/service.js";
|
|
7
|
+
import type { ManagedEngine } from "../../models/discovery.js";
|
|
8
|
+
export declare class SlackModelControls {
|
|
9
|
+
private service;
|
|
10
|
+
private operator;
|
|
11
|
+
private connectorName;
|
|
12
|
+
private grants;
|
|
13
|
+
constructor(service: () => ModelManagement | undefined, operator: () => string | undefined, connectorName?: string);
|
|
14
|
+
authorized(user: string): boolean;
|
|
15
|
+
private token;
|
|
16
|
+
notice(channel: string, text: string, engine: ManagedEngine, candidate?: string): KnownBlock[];
|
|
17
|
+
card(channel: string, user: string, sessionKey?: string): KnownBlock[];
|
|
18
|
+
execute(token: string, user: string, channel: string): Promise<{
|
|
19
|
+
blocks: KnownBlock[];
|
|
20
|
+
text: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=model-controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-controls.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/model-controls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AACrG,KAAK,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,qBAAa,kBAAkB;IAEjB,OAAO,CAAC,OAAO;IAAqC,OAAO,CAAC,QAAQ;IAA4B,OAAO,CAAC,aAAa;IADjI,OAAO,CAAC,MAAM,CAA4B;gBACtB,OAAO,EAAE,MAAM,eAAe,GAAG,SAAS,EAAU,QAAQ,EAAE,MAAM,MAAM,GAAG,SAAS,EAAU,aAAa,SAAU;IAC3I,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IACjC,OAAO,CAAC,KAAK;IAKb,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAU9F,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IA0BhE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAgB7G"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { getSessionBySessionKey, getQueueItems, updateSession } from "../../sessions/registry.js";
|
|
3
|
+
const modeLabels = { auto: "自動追従", notify: "通知して選ぶ", fixed: "固定" };
|
|
4
|
+
const profileLabels = { economy: "節約", balanced: "バランス", performance: "性能優先" };
|
|
5
|
+
export class SlackModelControls {
|
|
6
|
+
service;
|
|
7
|
+
operator;
|
|
8
|
+
connectorName;
|
|
9
|
+
grants = new Map();
|
|
10
|
+
constructor(service, operator, connectorName = "slack") {
|
|
11
|
+
this.service = service;
|
|
12
|
+
this.operator = operator;
|
|
13
|
+
this.connectorName = connectorName;
|
|
14
|
+
}
|
|
15
|
+
authorized(user) { return Boolean(user && this.operator() && user === this.operator()); }
|
|
16
|
+
token(choice, channel, user, sessionKey) {
|
|
17
|
+
for (const [id, grant] of this.grants)
|
|
18
|
+
if (grant.expires < Date.now())
|
|
19
|
+
this.grants.delete(id);
|
|
20
|
+
while (this.grants.size >= 2000)
|
|
21
|
+
this.grants.delete(this.grants.keys().next().value);
|
|
22
|
+
const id = randomUUID();
|
|
23
|
+
this.grants.set(id, { choice, channel, user, sessionKey, expires: Date.now() + 30 * 60_000 });
|
|
24
|
+
return id;
|
|
25
|
+
}
|
|
26
|
+
notice(channel, text, engine, candidate) {
|
|
27
|
+
const choice = candidate ? { action: "accept", engine, model: candidate } : { action: "rollback", engine };
|
|
28
|
+
return [
|
|
29
|
+
{ type: "section", text: { type: "plain_text", text } },
|
|
30
|
+
{ type: "actions", elements: [
|
|
31
|
+
{ type: "button", action_id: "ryoko_models_notice", text: { type: "plain_text", text: candidate ? "今後の既定にする" : "元に戻す" }, value: this.token(choice, channel) },
|
|
32
|
+
{ type: "button", action_id: "ryoko_models_show", text: { type: "plain_text", text: "モデル設定" }, value: this.token({ action: "show" }, channel) },
|
|
33
|
+
] },
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
card(channel, user, sessionKey) {
|
|
37
|
+
const service = this.service();
|
|
38
|
+
if (!service)
|
|
39
|
+
throw new Error("モデル設定の起動準備中です。");
|
|
40
|
+
const status = service.snapshot();
|
|
41
|
+
const button = (text, choice, key) => ({ type: "button", action_id: `ryoko_models_${key}`, text: { type: "plain_text", text }, value: this.token(choice, channel, user, sessionKey) });
|
|
42
|
+
const blocks = [{ type: "section", text: { type: "plain_text", text: "モデル設定 — 既定の変更は新規会話から適用します。" } }];
|
|
43
|
+
for (const entry of status.engines) {
|
|
44
|
+
blocks.push({ type: "section", text: { type: "plain_text", text: `${entry.engine}: ${entry.current}\n方針: ${modeLabels[entry.policy.mode]} / ${profileLabels[entry.policy.profile]}${entry.error ? `\n${entry.error}` : ""}` } });
|
|
45
|
+
const options = entry.models.slice(0, 90).map(m => ({ text: { type: "plain_text", text: m.label.slice(0, 75) }, value: this.token({ action: "default", engine: entry.engine, model: m.id }, channel, user, sessionKey) }));
|
|
46
|
+
if (options.length)
|
|
47
|
+
blocks.push({ type: "actions", elements: [{ type: "static_select", action_id: `ryoko_models_default_${entry.engine}`, placeholder: { type: "plain_text", text: "今後の既定を固定して選ぶ" }, options }] });
|
|
48
|
+
const session = sessionKey ? getSessionBySessionKey(sessionKey) : undefined;
|
|
49
|
+
if (session?.engine === entry.engine && options.length)
|
|
50
|
+
blocks.push({ type: "actions", elements: [{ type: "static_select", action_id: `ryoko_models_session_${entry.engine}`, placeholder: { type: "plain_text", text: "この会話だけ切り替える" }, options: entry.models.slice(0, 90).map(m => ({ text: { type: "plain_text", text: m.label.slice(0, 75) }, value: this.token({ action: "session", engine: entry.engine, model: m.id }, channel, user, sessionKey) })) }] });
|
|
51
|
+
blocks.push({ type: "actions", elements: [
|
|
52
|
+
button("自動追従", { action: "policy", engine: entry.engine, policy: { ...entry.policy, mode: "auto" } }, `auto_${entry.engine}`),
|
|
53
|
+
button("通知して選ぶ", { action: "policy", engine: entry.engine, policy: { ...entry.policy, mode: "notify" } }, `notify_${entry.engine}`),
|
|
54
|
+
button("固定する", { action: "policy", engine: entry.engine, policy: { ...entry.policy, mode: "fixed" } }, `fixed_${entry.engine}`),
|
|
55
|
+
...(entry.previous ? [button("元に戻す", { action: "rollback", engine: entry.engine }, `undo_${entry.engine}`)] : []),
|
|
56
|
+
] });
|
|
57
|
+
blocks.push({ type: "actions", elements: [{ type: "static_select", action_id: `ryoko_models_profile_${entry.engine}`, placeholder: { type: "plain_text", text: "用途を選ぶ" }, options: [['economy', '節約'], ['balanced', 'バランス'], ['performance', '性能優先']].map(([profile, text]) => ({ text: { type: "plain_text", text }, value: this.token({ action: "policy", engine: entry.engine, policy: { ...entry.policy, profile } }, channel, user, sessionKey) })) }] });
|
|
58
|
+
}
|
|
59
|
+
const pinned = status.pins.filter(p => p.model);
|
|
60
|
+
blocks.push({ type: "section", text: { type: "plain_text", text: pinned.length ? `固定設定 ${pinned.length}件\n${pinned.slice(0, 15).map(p => `${p.name}: ${p.model}`).join("\n")}${pinned.length > 15 ? "\n全件はWeb設定で確認できます。" : ""}` : "社員・定期実行の固定指定はありません。" } });
|
|
61
|
+
if (pinned.length)
|
|
62
|
+
blocks.push({ type: "actions", elements: [{ type: "static_select", action_id: "ryoko_models_unpin", placeholder: { type: "plain_text", text: "選んだ対象の固定を解除" }, options: pinned.slice(0, 100).map(p => ({ text: { type: "plain_text", text: `${p.kind === "employee" ? "社員" : "定期実行"}: ${p.name}`.slice(0, 75) }, value: this.token({ action: "pin", kind: p.kind, id: p.id, model: null }, channel, user, sessionKey) })) }] });
|
|
63
|
+
blocks.push({ type: "actions", elements: [button("一覧を更新", { action: "refresh" }, "refresh"), button("このチャンネルで通知", { action: "notification", connector: this.connectorName, channel }, "notifications")] });
|
|
64
|
+
return blocks;
|
|
65
|
+
}
|
|
66
|
+
async execute(token, user, channel) {
|
|
67
|
+
if (!this.authorized(user))
|
|
68
|
+
throw new Error("モデル設定の変更は登録済みの管理者だけが行えます。");
|
|
69
|
+
const grant = this.grants.get(token);
|
|
70
|
+
if (!grant || grant.expires < Date.now() || grant.channel !== channel || (grant.user && grant.user !== user))
|
|
71
|
+
throw new Error("操作の有効期限が切れました。「モデル設定」を開き直してください。");
|
|
72
|
+
this.grants.delete(token);
|
|
73
|
+
const service = this.service();
|
|
74
|
+
if (!service)
|
|
75
|
+
throw new Error("モデル設定の起動準備中です。");
|
|
76
|
+
const { choice } = grant;
|
|
77
|
+
if (choice.action === "session") {
|
|
78
|
+
const session = grant.sessionKey ? getSessionBySessionKey(grant.sessionKey) : undefined;
|
|
79
|
+
if (!session || session.engine !== choice.engine)
|
|
80
|
+
throw new Error("この会話のエンジンが変わりました。設定を開き直してください。");
|
|
81
|
+
if (session.status !== "idle" || getQueueItems(session.sessionKey || session.sourceRef).some(q => q.status === "pending" || q.status === "running"))
|
|
82
|
+
throw new Error("実行中です。処理が終わってから切り替えてください。");
|
|
83
|
+
service.assertAvailable(choice.engine, choice.model);
|
|
84
|
+
updateSession(session.id, { model: choice.model, effortLevel: null });
|
|
85
|
+
}
|
|
86
|
+
else if (choice.action !== "show")
|
|
87
|
+
await service.act(choice);
|
|
88
|
+
return { blocks: this.card(channel, user, grant.sessionKey), text: choice.action === "show" ? "モデル設定" : "モデル設定を更新しました。" };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=model-controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-controls.js","sourceRoot":"","sources":["../../../../src/connectors/slack/model-controls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { ModelManagement } from "../models/service.js";
|
|
1
2
|
import type { IncomingMessage as HttpRequest, ServerResponse } from "node:http";
|
|
2
3
|
import type { JinnConfig } from "../shared/types.js";
|
|
3
4
|
import type { SessionManager } from "../sessions/manager.js";
|
|
4
5
|
import type { WorkflowService } from "../workflows/service.js";
|
|
5
6
|
export interface ApiContext {
|
|
7
|
+
modelManagement?: ModelManagement;
|
|
6
8
|
config: JinnConfig;
|
|
7
9
|
sessionManager: SessionManager;
|
|
8
10
|
startTime: number;
|
|
@@ -64,7 +66,9 @@ export declare function resumePendingWebQueueItems(context: ApiContext): void;
|
|
|
64
66
|
export declare function sanitizeChannelRouting(value: unknown): unknown;
|
|
65
67
|
export declare function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): Record<string, unknown>;
|
|
66
68
|
export declare function handleApiRequest(req: HttpRequest, res: ServerResponse, context: ApiContext): Promise<void>;
|
|
67
|
-
|
|
69
|
+
/** One writer at a time for config.yaml + connector reload. The chain never
|
|
70
|
+
* rejects: a failing writer settles its own promise and the next waiter runs. */
|
|
71
|
+
export { withConfigLock } from "../shared/config-lock.js";
|
|
68
72
|
/** Exposed for tests: forget the cached probe. */
|
|
69
73
|
export declare function _resetEngineProbeCache(): void;
|
|
70
74
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/gateway/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/gateway/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,KAAK,EAAE,eAAe,IAAI,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhF,OAAO,KAAK,EAAmD,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AAKvH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA4E7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgB/D,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,UAAU,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAChE,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrG;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAChG;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;8EAC0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,QAAQ,CAAC;IACrD;qEACiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC;CAC9E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CA4CpE;AAoKD;;+DAE+D;AAC/D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAa9D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCnH;AA4CD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA6mEf;AAqmBD;kFACkF;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiH1D,kDAAkD;AAClD,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
|
package/dist/src/gateway/api.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { withConfigLock } from "../shared/config-lock.js";
|
|
1
2
|
import { validateCommandJob } from "../cron/command.js";
|
|
2
3
|
import { validateCronSchedule } from "../cron/validation.js";
|
|
3
4
|
import http from "node:http";
|
|
@@ -591,6 +592,28 @@ export async function handleApiRequest(req, res, context) {
|
|
|
591
592
|
storage: getDiskSpaceStatus(),
|
|
592
593
|
});
|
|
593
594
|
}
|
|
595
|
+
if (pathname === "/api/models" || pathname === "/api/models/actions") {
|
|
596
|
+
const authenticated = !workflowAuthRequired(context.getConfig()) || Boolean(context.authToken && context.authHome && workflowVerifyAuth(req.headers, context.authToken, context.authHome));
|
|
597
|
+
if (!authenticated)
|
|
598
|
+
return json(res, { error: "Unauthorized" }, 401);
|
|
599
|
+
if (!context.modelManagement)
|
|
600
|
+
return json(res, { error: "Model management unavailable" }, 503);
|
|
601
|
+
res.setHeader("Cache-Control", "no-store");
|
|
602
|
+
if (method === "GET" && pathname === "/api/models")
|
|
603
|
+
return json(res, context.modelManagement.snapshot());
|
|
604
|
+
if (method === "POST" && pathname === "/api/models/actions") {
|
|
605
|
+
const parsed = await readJsonBody(req, res, 16 * 1024);
|
|
606
|
+
if (!parsed.ok)
|
|
607
|
+
return;
|
|
608
|
+
try {
|
|
609
|
+
return json(res, await context.modelManagement.act(parsed.body));
|
|
610
|
+
}
|
|
611
|
+
catch (error) {
|
|
612
|
+
return badRequest(res, error instanceof Error && error.name !== "ZodError" ? error.message : "Invalid model settings");
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
return notFound(res);
|
|
616
|
+
}
|
|
594
617
|
// GET /api/update — fixed-origin npm registry check with a shared cache.
|
|
595
618
|
// `refresh=1` is used only by an explicit user action; normal dashboard
|
|
596
619
|
// loads reuse the six-hour cache to avoid unnecessary external traffic.
|
|
@@ -1080,10 +1103,19 @@ export async function handleApiRequest(req, res, context) {
|
|
|
1080
1103
|
if (!prompt)
|
|
1081
1104
|
return badRequest(res, "prompt or message must be a non-empty string");
|
|
1082
1105
|
const config = context.getConfig();
|
|
1083
|
-
|
|
1106
|
+
// Delegated children name an employee: run them on that employee's engine and model
|
|
1107
|
+
// (cliFlags are already read from the employee at run time). An explicit engine/model
|
|
1108
|
+
// in the request still wins, and an employee's model never crosses onto another engine.
|
|
1109
|
+
const employeeDef = typeof body.employee === "string" && body.employee
|
|
1110
|
+
? (await import("./org.js")).scanOrg().get(body.employee)
|
|
1111
|
+
: undefined;
|
|
1112
|
+
const engineName = body.engine || employeeDef?.engine || config.engines.default;
|
|
1113
|
+
const requestedModel = typeof body.model === "string" && body.model.trim() ? body.model.trim() : undefined;
|
|
1114
|
+
const model = requestedModel ?? (employeeDef && employeeDef.engine === engineName ? employeeDef.model || undefined : undefined);
|
|
1084
1115
|
const sessionKey = `web:${Date.now()}`;
|
|
1085
1116
|
const session = createSession({
|
|
1086
1117
|
engine: engineName,
|
|
1118
|
+
model,
|
|
1087
1119
|
source: "web",
|
|
1088
1120
|
sourceRef: sessionKey,
|
|
1089
1121
|
connector: "web",
|
|
@@ -1782,6 +1814,7 @@ Handle this as a priority request from a colleague.`;
|
|
|
1782
1814
|
"gateway",
|
|
1783
1815
|
"engines",
|
|
1784
1816
|
"models",
|
|
1817
|
+
"modelManagement",
|
|
1785
1818
|
"connectors",
|
|
1786
1819
|
"logging",
|
|
1787
1820
|
"mcp",
|
|
@@ -2973,12 +3006,7 @@ deliverToConnector) {
|
|
|
2973
3006
|
// ---------------------------------------------------------------------------
|
|
2974
3007
|
/** One writer at a time for config.yaml + connector reload. The chain never
|
|
2975
3008
|
* rejects: a failing writer settles its own promise and the next waiter runs. */
|
|
2976
|
-
|
|
2977
|
-
export function withConfigLock(work) {
|
|
2978
|
-
const run = configWriteChain.then(work, work);
|
|
2979
|
-
configWriteChain = run.then(() => undefined, () => undefined);
|
|
2980
|
-
return run;
|
|
2981
|
-
}
|
|
3009
|
+
export { withConfigLock } from "../shared/config-lock.js";
|
|
2982
3010
|
const ENGINE_PROBE_TTL_MS = 10_000;
|
|
2983
3011
|
/** Cache and in-flight probe are keyed by the engine config they were taken
|
|
2984
3012
|
* under, so a bin/default change is never answered from a stale result — and
|