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.
Files changed (116) hide show
  1. package/README.md +17 -0
  2. package/dist/package.json +1 -1
  3. package/dist/src/connectors/slack/index.d.ts +6 -0
  4. package/dist/src/connectors/slack/index.d.ts.map +1 -1
  5. package/dist/src/connectors/slack/index.js +36 -0
  6. package/dist/src/connectors/slack/index.js.map +1 -1
  7. package/dist/src/connectors/slack/model-controls.d.ts +24 -0
  8. package/dist/src/connectors/slack/model-controls.d.ts.map +1 -0
  9. package/dist/src/connectors/slack/model-controls.js +91 -0
  10. package/dist/src/connectors/slack/model-controls.js.map +1 -0
  11. package/dist/src/gateway/api.d.ts +5 -1
  12. package/dist/src/gateway/api.d.ts.map +1 -1
  13. package/dist/src/gateway/api.js +35 -7
  14. package/dist/src/gateway/api.js.map +1 -1
  15. package/dist/src/gateway/org.d.ts +1 -0
  16. package/dist/src/gateway/org.d.ts.map +1 -1
  17. package/dist/src/gateway/org.js +9 -2
  18. package/dist/src/gateway/org.js.map +1 -1
  19. package/dist/src/gateway/server.d.ts.map +1 -1
  20. package/dist/src/gateway/server.js +43 -0
  21. package/dist/src/gateway/server.js.map +1 -1
  22. package/dist/src/models/discovery.d.ts +14 -0
  23. package/dist/src/models/discovery.d.ts.map +1 -0
  24. package/dist/src/models/discovery.js +136 -0
  25. package/dist/src/models/discovery.js.map +1 -0
  26. package/dist/src/models/service.d.ts +194 -0
  27. package/dist/src/models/service.d.ts.map +1 -0
  28. package/dist/src/models/service.js +326 -0
  29. package/dist/src/models/service.js.map +1 -0
  30. package/dist/src/sessions/context.js +1 -1
  31. package/dist/src/sessions/context.js.map +1 -1
  32. package/dist/src/shared/config-lock.d.ts +2 -0
  33. package/dist/src/shared/config-lock.d.ts.map +1 -0
  34. package/dist/src/shared/config-lock.js +8 -0
  35. package/dist/src/shared/config-lock.js.map +1 -0
  36. package/dist/src/shared/models.d.ts +2 -1
  37. package/dist/src/shared/models.d.ts.map +1 -1
  38. package/dist/src/shared/models.js +40 -2
  39. package/dist/src/shared/models.js.map +1 -1
  40. package/dist/src/shared/types.d.ts +13 -1
  41. package/dist/src/shared/types.d.ts.map +1 -1
  42. package/dist/src/workflows/model.d.ts +10 -10
  43. package/dist/src/workflows/templates.js +1 -1
  44. package/dist/src/workflows/templates.js.map +1 -1
  45. package/dist/web/404.html +1 -1
  46. package/dist/web/__next.__PAGE__.txt +11 -11
  47. package/dist/web/__next._full.txt +12 -12
  48. package/dist/web/__next._tree.txt +2 -2
  49. package/dist/web/_next/static/chunks/{3kaw6grc8fn7n.js → 0o0ffx5zou_hd.js} +1 -1
  50. package/dist/web/_next/static/chunks/1qed95f5sziiq.js +1 -0
  51. package/dist/web/_next/static/chunks/1se22iw7ku9_t.js +1 -0
  52. package/dist/web/_next/static/chunks/{0qje78_lr2b9b.js → 244xnte9cod1g.js} +1 -1
  53. package/dist/web/_next/static/chunks/{08i7uo3uz6_fn.js → 2iqxlc9wtxzm2.js} +1 -1
  54. package/dist/web/_next/static/chunks/2vgv8ikshu6mf.css +1 -0
  55. package/dist/web/_next/static/chunks/3hrvzgiir3nwr.js +1 -0
  56. package/dist/web/_next/static/chunks/{25nob1new8t4s.js → 3nxby51zal3rr.js} +1 -1
  57. package/dist/web/_not-found/__next._full.txt +10 -10
  58. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +9 -9
  59. package/dist/web/_not-found/__next._tree.txt +2 -2
  60. package/dist/web/_not-found.html +1 -1
  61. package/dist/web/_not-found.txt +10 -10
  62. package/dist/web/chat/__next._full.txt +12 -12
  63. package/dist/web/chat/__next._tree.txt +2 -2
  64. package/dist/web/chat/__next.chat.__PAGE__.txt +11 -11
  65. package/dist/web/chat.html +1 -1
  66. package/dist/web/chat.txt +12 -12
  67. package/dist/web/cron/__next._full.txt +12 -12
  68. package/dist/web/cron/__next._tree.txt +2 -2
  69. package/dist/web/cron/__next.cron.__PAGE__.txt +11 -11
  70. package/dist/web/cron.html +1 -1
  71. package/dist/web/cron.txt +12 -12
  72. package/dist/web/index.html +1 -1
  73. package/dist/web/index.txt +12 -12
  74. package/dist/web/kanban/__next._full.txt +12 -12
  75. package/dist/web/kanban/__next._tree.txt +2 -2
  76. package/dist/web/kanban/__next.kanban.__PAGE__.txt +11 -11
  77. package/dist/web/kanban.html +1 -1
  78. package/dist/web/kanban.txt +12 -12
  79. package/dist/web/logs/__next._full.txt +12 -12
  80. package/dist/web/logs/__next._tree.txt +2 -2
  81. package/dist/web/logs/__next.logs.__PAGE__.txt +11 -11
  82. package/dist/web/logs.html +1 -1
  83. package/dist/web/logs.txt +12 -12
  84. package/dist/web/models/__next._full.txt +21 -0
  85. package/dist/web/models/__next._tree.txt +2 -0
  86. package/dist/web/models/__next.models.__PAGE__.txt +27 -0
  87. package/dist/web/models.html +1 -0
  88. package/dist/web/models.txt +21 -0
  89. package/dist/web/org/__next._full.txt +12 -12
  90. package/dist/web/org/__next._tree.txt +2 -2
  91. package/dist/web/org/__next.org.__PAGE__.txt +11 -11
  92. package/dist/web/org.html +1 -1
  93. package/dist/web/org.txt +12 -12
  94. package/dist/web/sessions/__next._full.txt +10 -10
  95. package/dist/web/sessions/__next._tree.txt +2 -2
  96. package/dist/web/sessions/__next.sessions.__PAGE__.txt +9 -9
  97. package/dist/web/sessions.html +1 -1
  98. package/dist/web/sessions.txt +10 -10
  99. package/dist/web/settings/__next._full.txt +12 -12
  100. package/dist/web/settings/__next._tree.txt +2 -2
  101. package/dist/web/settings/__next.settings.__PAGE__.txt +11 -11
  102. package/dist/web/settings.html +1 -1
  103. package/dist/web/settings.txt +12 -12
  104. package/dist/web/skills/__next._full.txt +12 -12
  105. package/dist/web/skills/__next._tree.txt +2 -2
  106. package/dist/web/skills/__next.skills.__PAGE__.txt +11 -11
  107. package/dist/web/skills.html +1 -1
  108. package/dist/web/skills.txt +12 -12
  109. package/package.json +1 -1
  110. package/template/config.default.yaml +3 -3
  111. package/dist/web/_next/static/chunks/1omkeeu_x8s_6.js +0 -1
  112. package/dist/web/_next/static/chunks/3_6klkygi417n.js +0 -1
  113. package/dist/web/_next/static/chunks/3alc-b00c58_3.css +0 -1
  114. /package/dist/web/_next/static/{p4EyRXPDSjK5SWcAUQ603 → cLnDiYfa-PyCpafoGIEyM}/_buildManifest.js +0 -0
  115. /package/dist/web/_next/static/{p4EyRXPDSjK5SWcAUQ603 → cLnDiYfa-PyCpafoGIEyM}/_clientMiddlewareManifest.js +0 -0
  116. /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,6 @@
1
1
  {
2
2
  "name": "openryoko",
3
- "version": "2026.9.23",
3
+ "version": "2026.9.25",
4
4
  "description": "OpenRyoko — Slackで空気を読んで働くAIアシスタント・ゲートウェイ(Jinnベース、Claude Code/Codex/Gemini CLI対応)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -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":"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"}
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGlG,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACnE,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAE/E,MAAM,OAAO,kBAAkB;IAET;IAAoD;IAA4C;IAD5G,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC1C,YAAoB,OAA0C,EAAU,QAAkC,EAAU,gBAAgB,OAAO;QAAvH,YAAO,GAAP,OAAO,CAAmC;QAAU,aAAQ,GAAR,QAAQ,CAA0B;QAAU,kBAAa,GAAb,aAAa,CAAU;IAAG,CAAC;IAC/I,UAAU,CAAC,IAAY,IAAa,OAAO,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAClG,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,IAAa,EAAE,UAAmB;QAC/E,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QACtF,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC;IACpI,CAAC;IACD,MAAM,CAAC,OAAe,EAAE,IAAY,EAAE,MAAqB,EAAE,SAAkB;QAC7E,MAAM,MAAM,GAAW,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACnH,OAAO;YACL,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;YACvD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;oBAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;oBAC7J,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;iBAChJ,EAAE;SACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAe,EAAE,IAAY,EAAE,UAAmB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAqB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACjO,MAAM,MAAM,GAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC;QACrH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACjO,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YACpO,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,KAAK,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACnN,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,KAAK,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClc,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;oBACvC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC7H,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnI,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/H,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClH,EAAE,CAAC,CAAC;YACL,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,KAAK,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAG,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5c,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAC7P,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClb,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3M,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe;QACxD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAClM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;YAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC5H,CAAC;CACF"}
@@ -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
- export declare function withConfigLock<T>(work: () => Promise<T>): Promise<T>;
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":"AAEA,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,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,CAolEf;AAwmBD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIpE;AAiHD,kDAAkD;AAClD,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
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"}
@@ -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
- const engineName = body.engine || config.engines.default;
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
- let configWriteChain = Promise.resolve();
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