jinn-cli 0.1.1 → 0.3.0

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 (89) hide show
  1. package/dist/bin/jimmy.js +1 -1
  2. package/dist/src/connectors/cron/index.d.ts +21 -0
  3. package/dist/src/connectors/cron/index.d.ts.map +1 -0
  4. package/dist/src/connectors/cron/index.js +75 -0
  5. package/dist/src/connectors/cron/index.js.map +1 -0
  6. package/dist/src/connectors/slack/index.d.ts +13 -5
  7. package/dist/src/connectors/slack/index.d.ts.map +1 -1
  8. package/dist/src/connectors/slack/index.js +80 -3
  9. package/dist/src/connectors/slack/index.js.map +1 -1
  10. package/dist/src/connectors/slack/threads.d.ts +14 -1
  11. package/dist/src/connectors/slack/threads.d.ts.map +1 -1
  12. package/dist/src/connectors/slack/threads.js +23 -2
  13. package/dist/src/connectors/slack/threads.js.map +1 -1
  14. package/dist/src/connectors/slack/threads.test.d.ts +2 -0
  15. package/dist/src/connectors/slack/threads.test.d.ts.map +1 -0
  16. package/dist/src/connectors/slack/threads.test.js +45 -0
  17. package/dist/src/connectors/slack/threads.test.js.map +1 -0
  18. package/dist/src/cron/runner.d.ts +3 -2
  19. package/dist/src/cron/runner.d.ts.map +1 -1
  20. package/dist/src/cron/runner.js +48 -89
  21. package/dist/src/cron/runner.js.map +1 -1
  22. package/dist/src/cron/scheduler.d.ts +5 -2
  23. package/dist/src/cron/scheduler.d.ts.map +1 -1
  24. package/dist/src/cron/scheduler.js +29 -4
  25. package/dist/src/cron/scheduler.js.map +1 -1
  26. package/dist/src/engines/claude.js +1 -1
  27. package/dist/src/engines/claude.js.map +1 -1
  28. package/dist/src/engines/codex.js +2 -2
  29. package/dist/src/engines/codex.js.map +1 -1
  30. package/dist/src/gateway/api.d.ts.map +1 -1
  31. package/dist/src/gateway/api.js +58 -26
  32. package/dist/src/gateway/api.js.map +1 -1
  33. package/dist/src/gateway/server.d.ts.map +1 -1
  34. package/dist/src/gateway/server.js +5 -3
  35. package/dist/src/gateway/server.js.map +1 -1
  36. package/dist/src/sessions/manager.d.ts +12 -25
  37. package/dist/src/sessions/manager.d.ts.map +1 -1
  38. package/dist/src/sessions/manager.js +171 -96
  39. package/dist/src/sessions/manager.js.map +1 -1
  40. package/dist/src/sessions/queue.d.ts +5 -0
  41. package/dist/src/sessions/queue.d.ts.map +1 -1
  42. package/dist/src/sessions/queue.js +26 -0
  43. package/dist/src/sessions/queue.js.map +1 -1
  44. package/dist/src/sessions/queue.test.d.ts +2 -0
  45. package/dist/src/sessions/queue.test.d.ts.map +1 -0
  46. package/dist/src/sessions/queue.test.js +28 -0
  47. package/dist/src/sessions/queue.test.js.map +1 -0
  48. package/dist/src/sessions/registry.d.ts +12 -1
  49. package/dist/src/sessions/registry.d.ts.map +1 -1
  50. package/dist/src/sessions/registry.js +89 -11
  51. package/dist/src/sessions/registry.js.map +1 -1
  52. package/dist/src/sessions/registry.test.d.ts +2 -0
  53. package/dist/src/sessions/registry.test.d.ts.map +1 -0
  54. package/dist/src/sessions/registry.test.js +41 -0
  55. package/dist/src/sessions/registry.test.js.map +1 -0
  56. package/dist/src/shared/types.d.ts +43 -1
  57. package/dist/src/shared/types.d.ts.map +1 -1
  58. package/dist/web/404.html +1 -1
  59. package/dist/web/_next/static/chunks/app/sessions/page-c83c890177c18258.js +1 -0
  60. package/dist/web/_next/static/chunks/app/settings/page-2583d55551abdf72.js +1 -0
  61. package/dist/web/chat.html +1 -1
  62. package/dist/web/chat.txt +1 -1
  63. package/dist/web/costs.html +2 -2
  64. package/dist/web/costs.txt +1 -1
  65. package/dist/web/cron.html +1 -1
  66. package/dist/web/cron.txt +1 -1
  67. package/dist/web/index.html +1 -1
  68. package/dist/web/index.txt +1 -1
  69. package/dist/web/kanban.html +1 -1
  70. package/dist/web/kanban.txt +1 -1
  71. package/dist/web/logs.html +2 -2
  72. package/dist/web/logs.txt +1 -1
  73. package/dist/web/org.html +1 -1
  74. package/dist/web/org.txt +1 -1
  75. package/dist/web/sessions.html +1 -1
  76. package/dist/web/sessions.txt +2 -2
  77. package/dist/web/settings.html +1 -1
  78. package/dist/web/settings.txt +2 -2
  79. package/dist/web/skills.html +1 -1
  80. package/dist/web/skills.txt +1 -1
  81. package/package.json +9 -8
  82. package/template/config.default.yaml +5 -2
  83. package/template/migrations/0.2.0/MIGRATION.md +41 -0
  84. package/template/migrations/0.2.0/files/config.default.yaml +30 -0
  85. package/LICENSE +0 -21
  86. package/dist/web/_next/static/chunks/app/sessions/page-2eef6ac7882a28ba.js +0 -1
  87. package/dist/web/_next/static/chunks/app/settings/page-4fb01b9b09500170.js +0 -1
  88. /package/dist/web/_next/static/{vLvOwhC8JocJzSHTHKKOv → jt8R5JvUgfB9CMfFwWFr0}/_buildManifest.js +0 -0
  89. /package/dist/web/_next/static/{vLvOwhC8JocJzSHTHKKOv → jt8R5JvUgfB9CMfFwWFr0}/_ssgManifest.js +0 -0
@@ -11,6 +11,11 @@ CREATE TABLE IF NOT EXISTS sessions (
11
11
  engine_session_id TEXT,
12
12
  source TEXT NOT NULL,
13
13
  source_ref TEXT NOT NULL,
14
+ connector TEXT,
15
+ session_key TEXT,
16
+ reply_context TEXT,
17
+ message_id TEXT,
18
+ transport_meta TEXT,
14
19
  employee TEXT,
15
20
  model TEXT,
16
21
  title TEXT,
@@ -31,13 +36,36 @@ CREATE TABLE IF NOT EXISTS messages (
31
36
  const CREATE_MESSAGES_INDEX = `
32
37
  CREATE INDEX IF NOT EXISTS idx_messages_session ON messages (session_id, timestamp)
33
38
  `;
39
+ const CREATE_SESSION_KEY_INDEX = `
40
+ CREATE INDEX IF NOT EXISTS idx_sessions_session_key ON sessions (session_key, last_activity)
41
+ `;
42
+ function parseJsonObject(value) {
43
+ if (typeof value !== 'string' || !value.trim())
44
+ return null;
45
+ try {
46
+ const parsed = JSON.parse(value);
47
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
48
+ }
49
+ catch {
50
+ return null;
51
+ }
52
+ }
34
53
  function rowToSession(row) {
54
+ const replyContext = parseJsonObject(row.reply_context);
55
+ const transportMeta = parseJsonObject(row.transport_meta);
56
+ const sessionKey = (row.session_key || row.source_ref);
57
+ const connector = row.connector ?? row.source ?? null;
35
58
  return {
36
59
  id: row.id,
37
60
  engine: row.engine,
38
61
  engineSessionId: row.engine_session_id ?? null,
39
62
  source: row.source,
40
63
  sourceRef: row.source_ref,
64
+ connector,
65
+ sessionKey,
66
+ replyContext: replyContext,
67
+ messageId: row.message_id ?? null,
68
+ transportMeta,
41
69
  employee: row.employee ?? null,
42
70
  model: row.model ?? null,
43
71
  title: row.title ?? null,
@@ -57,16 +85,35 @@ export function initDb() {
57
85
  db.exec(CREATE_TABLE);
58
86
  db.exec(CREATE_MESSAGES_TABLE);
59
87
  db.exec(CREATE_MESSAGES_INDEX);
60
- // Migrate: add title column if missing
61
- const cols = db.prepare('PRAGMA table_info(sessions)').all();
88
+ migrateSessionsSchema(db);
89
+ db.exec(CREATE_SESSION_KEY_INDEX);
90
+ return db;
91
+ }
92
+ export function migrateSessionsSchema(database) {
93
+ const cols = database.prepare('PRAGMA table_info(sessions)').all();
62
94
  const colNames = new Set(cols.map((c) => c.name));
63
- if (!colNames.has('title')) {
64
- db.exec('ALTER TABLE sessions ADD COLUMN title TEXT');
95
+ const missingColumns = [
96
+ ['title', 'TEXT'],
97
+ ['parent_session_id', 'TEXT'],
98
+ ['connector', 'TEXT'],
99
+ ['session_key', 'TEXT'],
100
+ ['reply_context', 'TEXT'],
101
+ ['message_id', 'TEXT'],
102
+ ['transport_meta', 'TEXT'],
103
+ ];
104
+ for (const [name, type] of missingColumns) {
105
+ if (!colNames.has(name)) {
106
+ database.exec(`ALTER TABLE sessions ADD COLUMN ${name} ${type}`);
107
+ }
65
108
  }
66
- if (!colNames.has('parent_session_id')) {
67
- db.exec('ALTER TABLE sessions ADD COLUMN parent_session_id TEXT');
109
+ const refreshedCols = database.prepare('PRAGMA table_info(sessions)').all();
110
+ const refreshedNames = new Set(refreshedCols.map((c) => c.name));
111
+ if (refreshedNames.has('session_key')) {
112
+ database.exec(`UPDATE sessions SET session_key = COALESCE(session_key, source_ref) WHERE session_key IS NULL OR session_key = ''`);
113
+ }
114
+ if (refreshedNames.has('connector')) {
115
+ database.exec(`UPDATE sessions SET connector = COALESCE(connector, source) WHERE connector IS NULL OR connector = ''`);
68
116
  }
69
- return db;
70
117
  }
71
118
  function getNextSessionNumber() {
72
119
  const db = initDb();
@@ -88,17 +135,29 @@ export function createSession(opts) {
88
135
  const now = new Date().toISOString();
89
136
  const id = uuidv4();
90
137
  const title = opts.title ?? generateTitle(opts.prompt);
138
+ const sessionKey = opts.sessionKey ?? opts.sourceRef;
139
+ const connector = opts.connector ?? opts.source;
140
+ const replyContext = opts.replyContext ? JSON.stringify(opts.replyContext) : null;
141
+ const transportMeta = opts.transportMeta ? JSON.stringify(opts.transportMeta) : null;
91
142
  const stmt = db.prepare(`
92
- INSERT INTO sessions (id, engine, source, source_ref, employee, model, title, parent_session_id, status, created_at, last_activity)
93
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'idle', ?, ?)
143
+ INSERT INTO sessions (
144
+ id, engine, source, source_ref, connector, session_key, reply_context, message_id, transport_meta,
145
+ employee, model, title, parent_session_id, status, created_at, last_activity
146
+ )
147
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'idle', ?, ?)
94
148
  `);
95
- stmt.run(id, opts.engine, opts.source, opts.sourceRef, opts.employee ?? null, opts.model ?? null, title, opts.parentSessionId ?? null, now, now);
149
+ stmt.run(id, opts.engine, opts.source, opts.sourceRef, connector, sessionKey, replyContext, opts.messageId ?? null, transportMeta, opts.employee ?? null, opts.model ?? null, title, opts.parentSessionId ?? null, now, now);
96
150
  return {
97
151
  id,
98
152
  engine: opts.engine,
99
153
  engineSessionId: null,
100
154
  source: opts.source,
101
155
  sourceRef: opts.sourceRef,
156
+ connector,
157
+ sessionKey,
158
+ replyContext: opts.replyContext ?? null,
159
+ messageId: opts.messageId ?? null,
160
+ transportMeta: opts.transportMeta ?? null,
102
161
  employee: opts.employee ?? null,
103
162
  model: opts.model ?? null,
104
163
  title,
@@ -115,8 +174,11 @@ export function getSession(id) {
115
174
  return row ? rowToSession(row) : undefined;
116
175
  }
117
176
  export function getSessionBySourceRef(sourceRef) {
177
+ return getSessionBySessionKey(sourceRef);
178
+ }
179
+ export function getSessionBySessionKey(sessionKey) {
118
180
  const db = initDb();
119
- const row = db.prepare('SELECT * FROM sessions WHERE source_ref = ? ORDER BY last_activity DESC LIMIT 1').get(sourceRef);
181
+ const row = db.prepare('SELECT * FROM sessions WHERE session_key = ? ORDER BY last_activity DESC LIMIT 1').get(sessionKey);
120
182
  return row ? rowToSession(row) : undefined;
121
183
  }
122
184
  export function updateSession(id, updates) {
@@ -131,6 +193,22 @@ export function updateSession(id, updates) {
131
193
  sets.push('status = ?');
132
194
  values.push(updates.status);
133
195
  }
196
+ if (updates.model !== undefined) {
197
+ sets.push('model = ?');
198
+ values.push(updates.model);
199
+ }
200
+ if (updates.replyContext !== undefined) {
201
+ sets.push('reply_context = ?');
202
+ values.push(updates.replyContext ? JSON.stringify(updates.replyContext) : null);
203
+ }
204
+ if (updates.messageId !== undefined) {
205
+ sets.push('message_id = ?');
206
+ values.push(updates.messageId);
207
+ }
208
+ if (updates.transportMeta !== undefined) {
209
+ sets.push('transport_meta = ?');
210
+ values.push(updates.transportMeta ? JSON.stringify(updates.transportMeta) : null);
211
+ }
134
212
  if (updates.lastActivity !== undefined) {
135
213
  sets.push('last_activity = ?');
136
214
  values.push(updates.lastActivity);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/sessions/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/sessions/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../../../src/sessions/registry.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import test from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import Database from "better-sqlite3";
4
+ import { migrateSessionsSchema } from "./registry.js";
5
+ test("migrateSessionsSchema upgrades an old sessions table before session_key usage", () => {
6
+ const db = new Database(":memory:");
7
+ db.exec(`
8
+ CREATE TABLE sessions (
9
+ id TEXT PRIMARY KEY,
10
+ engine TEXT NOT NULL,
11
+ engine_session_id TEXT,
12
+ source TEXT NOT NULL,
13
+ source_ref TEXT NOT NULL,
14
+ employee TEXT,
15
+ model TEXT,
16
+ status TEXT DEFAULT 'idle',
17
+ created_at TEXT NOT NULL,
18
+ last_activity TEXT NOT NULL,
19
+ last_error TEXT
20
+ )
21
+ `);
22
+ db.exec(`
23
+ INSERT INTO sessions (
24
+ id, engine, engine_session_id, source, source_ref, employee, model, status, created_at, last_activity, last_error
25
+ ) VALUES (
26
+ 's1', 'claude', NULL, 'slack', 'slack:C123', NULL, NULL, 'idle', '2026-03-10T00:00:00.000Z', '2026-03-10T00:00:00.000Z', NULL
27
+ )
28
+ `);
29
+ migrateSessionsSchema(db);
30
+ const cols = db.prepare("PRAGMA table_info(sessions)").all();
31
+ const names = new Set(cols.map((col) => col.name));
32
+ assert.equal(names.has("session_key"), true);
33
+ assert.equal(names.has("connector"), true);
34
+ assert.equal(names.has("reply_context"), true);
35
+ assert.equal(names.has("message_id"), true);
36
+ assert.equal(names.has("transport_meta"), true);
37
+ const row = db.prepare("SELECT session_key, connector FROM sessions WHERE id = 's1'").get();
38
+ assert.equal(row.session_key, "slack:C123");
39
+ assert.equal(row.connector, "slack");
40
+ });
41
+ //# sourceMappingURL=registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/sessions/registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;IACzF,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IACH,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAE1B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAA6B,CAAC;IACxF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,EAGxF,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
@@ -41,25 +41,51 @@ export interface EngineResult {
41
41
  numTurns?: number;
42
42
  error?: string;
43
43
  }
44
+ export type JsonPrimitive = string | number | boolean | null;
45
+ export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
46
+ export interface JsonObject {
47
+ [key: string]: JsonValue;
48
+ }
49
+ export interface ConnectorCapabilities {
50
+ threading: boolean;
51
+ messageEdits: boolean;
52
+ reactions: boolean;
53
+ attachments: boolean;
54
+ }
55
+ export interface ConnectorHealth {
56
+ status: "running" | "stopped" | "error";
57
+ detail?: string;
58
+ capabilities: ConnectorCapabilities;
59
+ }
60
+ export type ReplyContext = JsonObject;
44
61
  export interface Connector {
45
62
  name: string;
46
63
  start(): Promise<void>;
47
64
  stop(): Promise<void>;
65
+ getCapabilities(): ConnectorCapabilities;
66
+ getHealth(): ConnectorHealth;
67
+ reconstructTarget(replyContext: ReplyContext): Target;
48
68
  sendMessage(target: Target, text: string): Promise<string | void>;
69
+ replyMessage(target: Target, text: string): Promise<string | void>;
49
70
  addReaction(target: Target, emoji: string): Promise<void>;
50
71
  removeReaction(target: Target, emoji: string): Promise<void>;
51
72
  editMessage(target: Target, text: string): Promise<void>;
52
73
  onMessage(handler: (msg: IncomingMessage) => void): void;
53
74
  }
54
75
  export interface IncomingMessage {
76
+ connector: string;
55
77
  source: string;
78
+ sessionKey: string;
79
+ replyContext: ReplyContext;
80
+ messageId?: string;
56
81
  channel: string;
57
82
  thread?: string;
58
83
  user: string;
59
84
  userId: string;
60
85
  text: string;
61
86
  attachments: Attachment[];
62
- raw: any;
87
+ raw: unknown;
88
+ transportMeta?: JsonObject;
63
89
  }
64
90
  export interface Attachment {
65
91
  name: string;
@@ -71,6 +97,7 @@ export interface Target {
71
97
  channel: string;
72
98
  thread?: string;
73
99
  messageTs?: string;
100
+ replyContext?: ReplyContext;
74
101
  }
75
102
  export interface Session {
76
103
  id: string;
@@ -78,11 +105,18 @@ export interface Session {
78
105
  engineSessionId: string | null;
79
106
  source: string;
80
107
  sourceRef: string;
108
+ connector: string | null;
109
+ sessionKey: string;
110
+ replyContext: ReplyContext | null;
111
+ messageId: string | null;
112
+ transportMeta: JsonObject | null;
81
113
  employee: string | null;
82
114
  model: string | null;
83
115
  title: string | null;
84
116
  parentSessionId: string | null;
85
117
  status: "idle" | "running" | "error";
118
+ queueDepth?: number;
119
+ transportState?: "idle" | "queued" | "running" | "error";
86
120
  createdAt: string;
87
121
  lastActivity: string;
88
122
  lastError: string | null;
@@ -123,6 +157,13 @@ export interface Department {
123
157
  }
124
158
  export interface WebConnectorConfig {
125
159
  }
160
+ export interface SlackConnectorConfig {
161
+ appToken: string;
162
+ botToken: string;
163
+ shareSessionInChannel?: boolean;
164
+ allowFrom?: string | string[];
165
+ ignoreOldMessagesOnBoot?: boolean;
166
+ }
126
167
  export interface PortalConfig {
127
168
  portalName?: string;
128
169
  operatorName?: string;
@@ -152,6 +193,7 @@ export interface JinnConfig {
152
193
  };
153
194
  connectors: Record<string, any> & {
154
195
  web?: WebConnectorConfig;
196
+ slack?: SlackConnectorConfig;
155
197
  };
156
198
  logging: {
157
199
  file: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"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"}
package/dist/web/404.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><!--vLvOwhC8JocJzSHTHKKOv--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4a6a5bca9238c104.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-437f51faf74fbb3b.js" async=""></script><script src="/_next/static/chunks/app/layout-5129b67d5f126cf0.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-5129b67d5f126cf0.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[2051,[],\"OutletBoundary\"]\n7:I[6658,[],\"AsyncMetadataOutlet\"]\n9:I[2051,[],\"ViewportBoundary\"]\nb:I[2051,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7698,[],\"\"]\n:HL[\"/_next/static/css/4a6a5bca9238c104.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"vLvOwhC8JocJzSHTHKKOv\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4a6a5bca9238c104.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],null],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--jt8R5JvUgfB9CMfFwWFr0--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4a6a5bca9238c104.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-437f51faf74fbb3b.js" async=""></script><script src="/_next/static/chunks/app/layout-5129b67d5f126cf0.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-5129b67d5f126cf0.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[2051,[],\"OutletBoundary\"]\n7:I[6658,[],\"AsyncMetadataOutlet\"]\n9:I[2051,[],\"ViewportBoundary\"]\nb:I[2051,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7698,[],\"\"]\n:HL[\"/_next/static/css/4a6a5bca9238c104.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"jt8R5JvUgfB9CMfFwWFr0\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4a6a5bca9238c104.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],null],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[898],{1142:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>c,av:()=>u,j7:()=>d,tU:()=>o});var r=a(8111);a(5271);var n=a(3916),i=a(7534),s=a(1397);function o(e){let{className:t,orientation:a="horizontal",...n}=e;return(0,r.jsx)(i.bL,{"data-slot":"tabs","data-orientation":a,orientation:a,className:(0,s.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",t),...n})}let l=(0,n.F)("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function d(e){let{className:t,variant:a="default",...n}=e;return(0,r.jsx)(i.B8,{"data-slot":"tabs-list","data-variant":a,className:(0,s.cn)(l({variant:a}),t),...n})}function c(e){let{className:t,...a}=e;return(0,r.jsx)(i.l9,{"data-slot":"tabs-trigger",className:(0,s.cn)("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",t),...a})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(i.UC,{"data-slot":"tabs-content",className:(0,s.cn)("flex-1 outline-none",t),...a})}},1397:(e,t,a)=>{"use strict";a.d(t,{cn:()=>i});var r=a(5242),n=a(3065);function i(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,r.$)(t))}},2876:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(1983).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9033:(e,t,a)=>{Promise.resolve().then(a.bind(a,9504))},9504:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>S});var r=a(8111),n=a(5271),i=a(3176),s=a(1298),o=a(9772),l=a(3916),d=a(1373),c=a(1397);let u=(0,l.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function v(e){let{className:t,variant:a="default",asChild:n=!1,...i}=e,s=n?d.bL:"span";return(0,r.jsx)(s,{"data-slot":"badge","data-variant":a,className:(0,c.cn)(u({variant:a}),t),...i})}var p=a(2755);let x={idle:"secondary",queued:"outline",running:"default",error:"destructive"},g={idle:"Idle",queued:"Queued",running:"Running",error:"Error"};function f(e){var t;let{sessions:a,selectedId:s,onSelect:l,onDeleted:d}=e,{settings:c}=(0,p.t0)(),u=null!=(t=c.portalName)?t:"Jinn",[f,h]=(0,n.useState)(null),[b,y]=(0,n.useState)(null);async function m(){if(b){try{await i.F.deleteSession(b),null==d||d()}catch(e){}y(null)}}return 0===a.length?(0,r.jsx)(o.Zp,{children:(0,r.jsx)(o.Wu,{children:(0,r.jsx)("div",{style:{textAlign:"center",padding:"var(--space-6)",color:"var(--text-tertiary)",fontSize:"var(--text-body)"},children:"No sessions found"})})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},onClick:()=>h(null),children:a.map(e=>{var t;return(0,r.jsx)(o.Zp,{className:"py-3 cursor-pointer transition-colors",onClick:()=>l(e.id),onContextMenu:t=>{var a;return a=e.id,void(t.preventDefault(),h({x:t.clientX,y:t.clientY,sessionId:a}))},style:{cursor:"pointer",borderColor:s===e.id?"var(--accent)":void 0,background:s===e.id?"color-mix(in srgb, var(--accent) 5%, var(--bg-card, var(--bg)))":void 0},children:(0,r.jsxs)(o.Wu,{className:"flex items-center justify-between gap-4",children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",flex:1,minWidth:0},children:[(0,r.jsx)("div",{style:{width:36,height:36,borderRadius:"var(--radius-sm, 8px)",background:"var(--fill-secondary)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-mono)",fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-secondary)",flexShrink:0,textTransform:"uppercase"},children:e.engine.charAt(0)}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",marginBottom:2},children:[(0,r.jsx)("span",{style:{fontSize:"var(--text-body)",fontWeight:"var(--weight-semibold)",color:"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title||e.employee||u}),(0,r.jsx)(v,{variant:null!=(t=x[e.status])?t:"secondary",children:g[e.transportState||e.status]||e.transportState||e.status})]}),(0,r.jsxs)("div",{style:{fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",display:"flex",gap:"var(--space-3)"},children:[(0,r.jsx)("span",{children:e.connector||e.source}),(0,r.jsx)("span",{children:e.employee||u}),"number"==typeof e.queueDepth&&e.queueDepth>0?(0,r.jsxs)("span",{children:["Queue ",e.queueDepth]}):null]})]})]}),(0,r.jsx)("span",{style:{fontSize:"var(--text-caption2)",color:"var(--text-quaternary)",whiteSpace:"nowrap",flexShrink:0},children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"".concat(t,"s ago");let a=Math.floor(t/60);if(a<60)return"".concat(a,"m ago");let r=Math.floor(a/60);if(r<24)return"".concat(r,"h ago");let n=Math.floor(r/24);return"".concat(n,"d ago")}(e.lastActivity)})]})},e.id)})}),f&&(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:50},onClick:()=>h(null),children:(0,r.jsx)("div",{style:{position:"fixed",top:f.y,left:f.x,background:"var(--bg)",border:"1px solid var(--separator)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-lg)",padding:"var(--space-1)",zIndex:51,minWidth:160},onClick:e=>e.stopPropagation(),children:(0,r.jsxs)("button",{onClick:()=>{var e;return e=f.sessionId,void(h(null),y(e))},style:{width:"100%",textAlign:"left",padding:"var(--space-2) var(--space-3)",fontSize:"var(--text-footnote)",color:"var(--system-red)",background:"transparent",border:"none",cursor:"pointer",borderRadius:"var(--radius-sm)",display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,r.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,r.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),"Delete Session"]})})}),b&&(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.5)",zIndex:60,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>y(null),children:(0,r.jsxs)("div",{style:{background:"var(--bg)",borderRadius:"var(--radius-lg)",padding:"var(--space-6)",maxWidth:400,width:"90%",boxShadow:"var(--shadow-overlay)"},onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("h3",{style:{fontSize:"var(--text-headline)",fontWeight:"var(--weight-bold)",color:"var(--text-primary)",marginBottom:"var(--space-2)"},children:"Delete Session?"}),(0,r.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-secondary)",marginBottom:"var(--space-5)"},children:"This will permanently delete the session and all its messages. This cannot be undone."}),(0,r.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",justifyContent:"flex-end"},children:[(0,r.jsx)("button",{onClick:()=>y(null),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--fill-tertiary)",color:"var(--text-primary)",border:"none",cursor:"pointer",fontSize:"var(--text-body)",fontWeight:"var(--weight-medium)"},children:"Cancel"}),(0,r.jsx)("button",{onClick:m,style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--system-red)",color:"#fff",border:"none",cursor:"pointer",fontSize:"var(--text-body)",fontWeight:"var(--weight-semibold)"},children:"Delete"})]})]})})]})}let h={idle:"secondary",queued:"outline",running:"default",error:"destructive"};function b(e){let{label:t,value:a}=e;return(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"var(--space-3)",padding:"var(--space-2) 0",borderBottom:"1px solid var(--separator)"},children:[(0,r.jsx)("span",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-medium)",textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--text-tertiary)",flexShrink:0},children:t}),(0,r.jsx)("span",{style:{fontSize:"var(--text-body)",color:"var(--text-primary)",textAlign:"right",wordBreak:"break-all"},children:a||(0,r.jsx)("span",{style:{color:"var(--text-quaternary)"},children:"--"})})]})}function y(e){return new Date(e).toLocaleString()}function m(e){var t,a;let{session:s,onClose:l,onNavigate:d}=e,{settings:c}=(0,p.t0)(),u=null!=(t=c.portalName)?t:"Jinn",[x,g]=(0,n.useState)([]);return(0,n.useEffect)(()=>{i.F.getSessionChildren(s.id).then(e=>g(e)).catch(()=>g([]))},[s.id]),(0,r.jsxs)(o.Zp,{children:[(0,r.jsx)(o.aR,{children:(0,r.jsx)(o.ZB,{style:{fontSize:"var(--text-headline)",color:"var(--text-primary)"},children:s.title||"Session Detail"})}),(0,r.jsx)(o.Wu,{children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,r.jsx)(b,{label:"Session ID",value:(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--text-caption1)"},children:s.id})}),(0,r.jsx)(b,{label:"Engine",value:(0,r.jsxs)("span",{style:{textTransform:"capitalize"},children:[s.engine,s.model?" (".concat(s.model,")"):""]})}),(0,r.jsx)(b,{label:"Connector",value:s.connector||s.source}),(0,r.jsx)(b,{label:"Session Key",value:s.sessionKey}),(0,r.jsx)(b,{label:"Source",value:s.source}),(0,r.jsx)(b,{label:"Employee",value:s.employee||u}),(0,r.jsx)(b,{label:"Status",value:(0,r.jsx)(v,{variant:null!=(a=h[s.transportState||s.status])?a:"secondary",children:(s.transportState||s.status).charAt(0).toUpperCase()+(s.transportState||s.status).slice(1)})}),(0,r.jsx)(b,{label:"Queue Depth",value:"number"==typeof s.queueDepth?String(s.queueDepth):"--"}),(0,r.jsx)(b,{label:"Message ID",value:s.messageId||"--"}),(0,r.jsx)(b,{label:"Created",value:y(s.createdAt)}),(0,r.jsx)(b,{label:"Last Activity",value:y(s.lastActivity)}),s.parentSessionId&&(0,r.jsx)(b,{label:"Parent Session",value:(0,r.jsxs)("button",{onClick:()=>null==d?void 0:d(s.parentSessionId),style:{fontFamily:"var(--font-mono)",fontSize:"var(--text-caption1)",color:"var(--accent)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",padding:0},children:[s.parentSessionId.slice(0,12),"..."]})}),x.length>0&&(0,r.jsxs)("div",{style:{marginTop:"var(--space-3)"},children:[(0,r.jsxs)("span",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-medium)",textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--text-tertiary)",display:"block",marginBottom:"var(--space-2)"},children:["Child Sessions (",x.length,")"]}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-1)"},children:x.map(e=>{var t;return(0,r.jsxs)("button",{onClick:()=>null==d?void 0:d(e.id),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--space-2) var(--space-3)",background:"var(--fill-secondary)",borderRadius:"var(--radius-sm, 8px)",border:"none",cursor:"pointer",textAlign:"left"},children:[(0,r.jsx)("span",{style:{fontSize:"var(--text-caption1)",color:"var(--text-primary)",fontWeight:"var(--weight-medium)"},children:e.title||e.employee||"Session"}),(0,r.jsx)(v,{variant:null!=(t=h[e.status])?t:"secondary",children:e.status})]},e.id)})})]}),s.lastError&&(0,r.jsxs)("div",{style:{marginTop:"var(--space-3)"},children:[(0,r.jsx)("span",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-medium)",textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--system-red)",display:"block",marginBottom:"var(--space-2)"},children:"Last Error"}),(0,r.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontFamily:"var(--font-mono)",color:"var(--system-red)",background:"color-mix(in srgb, var(--system-red) 10%, transparent)",borderRadius:"var(--radius-sm, 8px)",padding:"var(--space-3)"},children:s.lastError})]})]})})]})}var j=a(3073),k=a(1142),w=a(2876);function S(){let[e,t]=(0,n.useState)([]),[a,o]=(0,n.useState)(null),[l,d]=(0,n.useState)(!0),[c,u]=(0,n.useState)(null),[v,p]=(0,n.useState)("all"),x=(0,n.useRef)(null),g=(0,n.useCallback)(async()=>{try{u(null);let e=await i.F.getSessions();t(e)}catch(e){u(e instanceof Error?e.message:"Failed to load sessions")}finally{d(!1)}},[]);(0,n.useEffect)(()=>{g()},[g]),(0,n.useEffect)(()=>{let e=(0,s.E)(e=>{e.startsWith("session")&&g()});return()=>e.close()},[g]),(0,n.useEffect)(()=>{function e(e){"Escape"===e.key&&a&&o(null)}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a]),(0,n.useEffect)(()=>{a&&x.current&&x.current.focus()},[a]);let h=e.find(e=>e.id===a)||null,b="all"===v?e:e.filter(e=>e.status===v);return(0,r.jsx)(j.M,{children:(0,r.jsxs)("div",{style:{display:"flex",height:"100%",position:"relative",background:"var(--bg)"},children:[(0,r.jsxs)("div",{style:{flex:1,height:"100%",overflowY:"auto",padding:"var(--space-6)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"var(--space-5)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{style:{fontSize:"var(--text-title2)",fontWeight:"var(--weight-bold)",color:"var(--text-primary)",marginBottom:"var(--space-1)"},children:"Sessions"}),(0,r.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-tertiary)"},children:"Active and recent engine sessions"})]}),(0,r.jsxs)("button",{onClick:()=>{d(!0),g()},style:{display:"flex",alignItems:"center",gap:"var(--space-2)",padding:"var(--space-2) var(--space-3)",borderRadius:"var(--radius-md, 12px)",background:"var(--fill-secondary)",color:"var(--text-secondary)",border:"none",cursor:"pointer",fontSize:"var(--text-body)",fontWeight:"var(--weight-medium)"},children:[(0,r.jsx)(w.A,{size:14}),"Refresh"]})]}),c&&(0,r.jsx)("div",{style:{marginBottom:"var(--space-4)",borderRadius:"var(--radius-md, 12px)",background:"color-mix(in srgb, var(--system-red) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--system-red) 30%, transparent)",padding:"var(--space-3) var(--space-4)",fontSize:"var(--text-body)",color:"var(--system-red)"},children:c}),(0,r.jsxs)(k.tU,{value:v,onValueChange:p,children:[(0,r.jsxs)(k.j7,{style:{marginBottom:"var(--space-4)"},children:[(0,r.jsxs)(k.Xi,{value:"all",children:["All (",e.length,")"]}),(0,r.jsxs)(k.Xi,{value:"running",children:["Running (",e.filter(e=>"running"===e.status).length,")"]}),(0,r.jsxs)(k.Xi,{value:"idle",children:["Idle (",e.filter(e=>"idle"===e.status).length,")"]}),(0,r.jsxs)(k.Xi,{value:"error",children:["Error (",e.filter(e=>"error"===e.status).length,")"]})]}),(0,r.jsx)(k.av,{value:v,children:l&&0===e.length?(0,r.jsx)("div",{style:{textAlign:"center",padding:"var(--space-8)",color:"var(--text-tertiary)",fontSize:"var(--text-body)"},children:"Loading sessions..."}):(0,r.jsx)(f,{sessions:b,selectedId:a,onSelect:o,onDeleted:g})})]})]}),h&&(0,r.jsx)("div",{className:"fixed inset-0 z-30 lg:hidden",style:{background:"rgba(0,0,0,0.5)"},onClick:()=>o(null)}),h&&(0,r.jsx)("div",{style:{position:"absolute",top:0,right:0,bottom:0,zIndex:30},children:(0,r.jsxs)("div",{style:{width:400,maxWidth:"100vw",height:"100%",overflowY:"auto",background:"var(--bg)",boxShadow:"var(--shadow-overlay)",display:"flex",flexDirection:"column"},children:[(0,r.jsx)("div",{style:{position:"sticky",top:0,zIndex:10,display:"flex",alignItems:"center",justifyContent:"flex-end",padding:"var(--space-3) var(--space-4)",background:"var(--bg)"},children:(0,r.jsx)("button",{ref:x,onClick:()=>o(null),"aria-label":"Close detail panel",style:{width:30,height:30,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--fill-tertiary)",color:"var(--text-secondary)",border:"none",cursor:"pointer",fontSize:14},children:"✕"})}),(0,r.jsx)("div",{style:{padding:"0 var(--space-4) var(--space-6)"},children:(0,r.jsx)(m,{session:h,onClose:()=>o(null)})})]})})]})})}},9772:(e,t,a)=>{"use strict";a.d(t,{Wu:()=>l,ZB:()=>o,Zp:()=>i,aR:()=>s});var r=a(8111);a(5271);var n=a(1397);function i(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}}},e=>{e.O(0,[704,590,198,534,73,814,743,358],()=>e(e.s=9033)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{7649:(e,a,l)=>{Promise.resolve().then(l.bind(l,7774))},7774:(e,a,l)=>{"use strict";l.r(a),l.d(a,{default:()=>k});var t=l(8111),r=l(5271),n=l(1509),o=l(1983);let i=(0,o.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),s=(0,o.A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),d=(0,o.A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),c=(0,o.A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);var u=l(3073),v=l(2755),p=l(7460),g=l(9834),x=l(3176);let h=[{label:"Red",value:"#EF4444"},{label:"Orange",value:"#F97316"},{label:"Amber",value:"#F59E0B"},{label:"Yellow",value:"#EAB308"},{label:"Lime",value:"#84CC16"},{label:"Green",value:"#22C55E"},{label:"Emerald",value:"#10B981"},{label:"Cyan",value:"#06B6D4"},{label:"Blue",value:"#3B82F6"},{label:"Indigo",value:"#6366F1"},{label:"Violet",value:"#8B5CF6"},{label:"Pink",value:"#EC4899"}];function b(e){let{title:a,children:l}=e;return(0,t.jsxs)("section",{style:{marginBottom:"var(--space-6)"},children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",letterSpacing:"var(--tracking-wide)",textTransform:"uppercase",color:"var(--text-tertiary)",padding:"0 var(--space-2) var(--space-2)"},children:a}),(0,t.jsx)("div",{style:{background:"var(--material-regular)",borderRadius:"var(--radius-md)",border:"1px solid var(--separator)",padding:"var(--space-4)"},children:l})]})}function m(e){let{label:a,children:l}=e;return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--space-2) 0",gap:"var(--space-4)"},children:[(0,t.jsx)("label",{style:{fontSize:"var(--text-subheadline)",color:"var(--text-secondary)",flexShrink:0},children:a}),(0,t.jsx)("div",{style:{width:240,flexShrink:0},children:l})]})}function f(e){let{value:a,onChange:l,type:r="text",placeholder:n}=e;return(0,t.jsx)("input",{type:r,value:a,onChange:e=>l(e.target.value),placeholder:n,className:"apple-input",style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})}function y(e){let{value:a,onChange:l,options:r}=e;return(0,t.jsx)("select",{value:a,onChange:e=>l(e.target.value),style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)",cursor:"pointer"},children:r.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})}function j(e){let{checked:a,onChange:l}=e;return(0,t.jsx)("button",{role:"switch","aria-checked":a,onClick:()=>l(!a),style:{width:44,height:24,borderRadius:12,background:a?"var(--system-green)":"var(--fill-primary)",border:"none",cursor:"pointer",position:"relative",flexShrink:0,transition:"background 200ms var(--ease-smooth)"},children:(0,t.jsx)("span",{style:{position:"absolute",top:2,left:a?22:2,width:20,height:20,borderRadius:"50%",background:"#fff",boxShadow:"0 1px 3px rgba(0,0,0,0.2)",transition:"left 200ms var(--ease-spring)"}})})}function k(){var e,a,l,o,k,C,S,w,z,B,R,E,F,W,N,I,M,T,A,D,P,L,O,G,H,_,V,U,q,J,K,Y,$,Q,X,Z,ee,ea,el,et,er,en,eo,ei,es,ed,ec,eu,ev,ep,eg,ex,eh,eb,em,ef,ey,ej,ek,eC,eS,ew,ez,eB,eR;let{settings:eE,setAccentColor:eF,setPortalName:eW,setPortalSubtitle:eN,setOperatorName:eI,setPortalEmoji:eM,setLanguage:eT,resetAll:eA}=(0,v.t0)(),{theme:eD,setTheme:eP}=(0,p.D)(),[eL,eO]=(0,r.useState)(null!=(et=eE.portalName)?et:""),[eG,eH]=(0,r.useState)(null!=(er=eE.portalSubtitle)?er:""),[e_,eV]=(0,r.useState)(null!=(en=eE.operatorName)?en:""),[eU,eq]=(0,r.useState)(null!=(eo=eE.portalEmoji)?eo:""),[eJ,eK]=(0,r.useState)(null!=(ei=eE.language)?ei:"English"),[eY,e$]=(0,r.useState)(null!=(es=eE.accentColor)?es:""),[eQ,eX]=(0,r.useState)({}),[eZ,e0]=(0,r.useState)(!0),[e1,e2]=(0,r.useState)(null),[e4,e3]=(0,r.useState)(!1),[e6,e5]=(0,r.useState)(null);function e7(){e0(!0),x.F.getConfig().then(e=>{eX(e),e2(null)}).catch(e=>e2(e.message)).finally(()=>e0(!1))}function e8(e,a){eX(l=>{let t=structuredClone(l),r=t;for(let a=0;a<e.length-1;a++)r[e[a]]&&"object"==typeof r[e[a]]||(r[e[a]]={}),r=r[e[a]];return r[e[e.length-1]]=a,t})}return(0,r.useEffect)(()=>{var e,a,l,t,r,n;eO(null!=(e=eE.portalName)?e:""),eH(null!=(a=eE.portalSubtitle)?a:""),eV(null!=(l=eE.operatorName)?l:""),eq(null!=(t=eE.portalEmoji)?t:""),eK(null!=(r=eE.language)?r:"English"),e$(null!=(n=eE.accentColor)?n:"")},[eE.portalName,eE.portalSubtitle,eE.operatorName,eE.portalEmoji,eE.language,eE.accentColor]),(0,r.useEffect)(()=>{e7()},[]),(0,t.jsx)(u.M,{children:(0,t.jsx)("div",{className:"h-full overflow-y-auto",style:{background:"var(--bg)"},children:(0,t.jsxs)("div",{style:{maxWidth:640,margin:"0 auto",padding:"var(--space-6) var(--space-4) var(--space-12)"},children:[(0,t.jsx)("h1",{style:{fontSize:"var(--text-title1)",fontWeight:"var(--weight-bold)",letterSpacing:"var(--tracking-tight)",color:"var(--text-primary)",margin:"0 0 var(--space-6)"},children:"Settings"}),(0,t.jsxs)(b,{title:"Appearance",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",color:"var(--text-secondary)",marginBottom:"var(--space-2)"},children:"Theme"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"var(--space-2)",marginBottom:"var(--space-4)"},children:g.z.map(e=>{let a=eD===e.id;return(0,t.jsxs)("button",{onClick:()=>eP(e.id),style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"var(--space-1)",padding:"var(--space-3) var(--space-2)",borderRadius:"var(--radius-md)",background:"var(--fill-quaternary)",border:a?"2px solid var(--accent)":"2px solid var(--separator)",cursor:"pointer",transition:"all 150ms var(--ease-smooth)"},children:[(0,t.jsx)("span",{style:{fontSize:24},children:e.emoji}),(0,t.jsx)("span",{style:{fontSize:"var(--text-caption2)",fontWeight:a?"var(--weight-semibold)":"var(--weight-medium)",color:a?"var(--accent)":"var(--text-secondary)"},children:e.label})]},e.id)})}),(0,t.jsx)("div",{style:{fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",color:"var(--text-secondary)",marginBottom:"var(--space-2)"},children:"Accent Color"}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-2)",marginBottom:"var(--space-3)"},children:h.map(e=>{let a=eE.accentColor===e.value;return(0,t.jsx)("button",{onClick:()=>eF(e.value),"aria-label":e.label,title:e.label,style:{width:32,height:32,borderRadius:"50%",background:e.value,border:a?"2px solid var(--text-primary)":"2px solid transparent",outline:a?"2px solid ".concat(e.value):"none",outlineOffset:2,cursor:"pointer",transition:"all 100ms var(--ease-smooth)",display:"flex",alignItems:"center",justifyContent:"center"},children:a&&(0,t.jsx)(n.A,{size:14,color:"#fff",strokeWidth:3})},e.value)})}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)"},children:[(0,t.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",fontSize:"var(--text-footnote)",color:"var(--text-secondary)",cursor:"pointer"},children:["Custom:",(0,t.jsx)("input",{type:"color",value:null!=(ed=eE.accentColor)?ed:"#3B82F6",onChange:e=>eF(e.target.value),style:{width:28,height:28,border:"none",borderRadius:"50%",cursor:"pointer",background:"none",padding:0}})]}),(0,t.jsx)("input",{type:"text",placeholder:"#3B82F6",value:eY,onChange:e=>{e$(e.target.value),/^#[0-9a-fA-F]{6}$/.test(e.target.value)&&eF(e.target.value)},className:"apple-input",style:{width:90,padding:"4px 8px",fontSize:"var(--text-caption1)",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",color:"var(--text-primary)",fontFamily:"monospace"}}),eE.accentColor&&(0,t.jsxs)("button",{onClick:()=>eF(null),style:{fontSize:"var(--text-footnote)",color:"var(--system-blue)",background:"none",border:"none",cursor:"pointer",padding:0,display:"inline-flex",alignItems:"center",gap:4},children:[(0,t.jsx)(i,{size:12}),"Reset"]})]})]}),(0,t.jsx)(b,{title:"Branding",children:(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Portal Name"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"Jinn",value:eL,onChange:e=>eO(e.target.value),onBlur:()=>{eW(eL||null),x.F.completeOnboarding({portalName:eL||void 0}).catch(()=>{})},style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Portal Subtitle"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"Command Centre",value:eG,onChange:e=>eH(e.target.value),onBlur:()=>eN(eG||null),style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Operator Name"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"Your Name",value:e_,onChange:e=>eV(e.target.value),onBlur:()=>{eI(e_||null),x.F.completeOnboarding({operatorName:e_||void 0}).catch(()=>{})},style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Portal Emoji"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"\ud83e\udd16",value:eU,onChange:e=>eq(e.target.value),onBlur:()=>eM(eU||null),style:{width:80,textAlign:"center",fontSize:"var(--text-title2)",padding:"6px 8px",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Language"}),(0,t.jsxs)("select",{value:eJ,onChange:e=>eK(e.target.value),onBlur:()=>{eT(eJ||"English"),x.F.completeOnboarding({language:eJ||void 0}).catch(()=>{})},style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)",cursor:"pointer"},children:[(0,t.jsx)("option",{value:"English",children:"English"}),(0,t.jsx)("option",{value:"Spanish",children:"Spanish"}),(0,t.jsx)("option",{value:"French",children:"French"}),(0,t.jsx)("option",{value:"German",children:"German"}),(0,t.jsx)("option",{value:"Portuguese",children:"Portuguese"}),(0,t.jsx)("option",{value:"Italian",children:"Italian"}),(0,t.jsx)("option",{value:"Dutch",children:"Dutch"}),(0,t.jsx)("option",{value:"Russian",children:"Russian"}),(0,t.jsx)("option",{value:"Chinese",children:"Chinese"}),(0,t.jsx)("option",{value:"Japanese",children:"Japanese"}),(0,t.jsx)("option",{value:"Korean",children:"Korean"}),(0,t.jsx)("option",{value:"Arabic",children:"Arabic"}),(0,t.jsx)("option",{value:"Hindi",children:"Hindi"}),(0,t.jsx)("option",{value:"Bulgarian",children:"Bulgarian"})]})]})]})}),e6&&(0,t.jsx)("div",{style:{marginBottom:"var(--space-4)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-md)",background:"success"===e6.type?"rgba(34,197,94,0.1)":"rgba(239,68,68,0.1)",border:"1px solid ".concat("success"===e6.type?"rgba(34,197,94,0.3)":"rgba(239,68,68,0.3)"),fontSize:"var(--text-footnote)",color:"success"===e6.type?"var(--system-green)":"var(--system-red)"},children:e6.message}),eZ?(0,t.jsxs)("div",{style:{textAlign:"center",padding:"var(--space-8)",color:"var(--text-tertiary)",fontSize:"var(--text-footnote)"},children:[(0,t.jsx)(s,{size:20,style:{animation:"spin 1s linear infinite",margin:"0 auto var(--space-2)"}}),"Loading gateway config..."]}):e1?(0,t.jsxs)("div",{style:{marginBottom:"var(--space-6)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-md)",background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.3)",fontSize:"var(--text-footnote)",color:"var(--system-red)"},children:["Failed to load config: ",e1]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(b,{title:"Gateway Configuration",children:[(0,t.jsx)(m,{label:"Port",children:(0,t.jsx)(f,{type:"number",value:String(null!=(ec=null==(e=eQ.gateway)?void 0:e.port)?ec:""),onChange:e=>e8(["gateway","port"],Number(e)||0),placeholder:"7777"})}),(0,t.jsx)(m,{label:"Host",children:(0,t.jsx)(f,{value:null!=(eu=null==(a=eQ.gateway)?void 0:a.host)?eu:"",onChange:e=>e8(["gateway","host"],e),placeholder:"127.0.0.1"})}),(0,t.jsx)(m,{label:"Default Engine",children:(0,t.jsx)(y,{value:null!=(ev=null==(l=eQ.engines)?void 0:l.default)?ev:"claude",onChange:e=>e8(["engines","default"],e),options:[{value:"claude",label:"Claude"},{value:"codex",label:"Codex"}]})})]}),(0,t.jsxs)(b,{title:"Engine Configuration",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Claude"}),(0,t.jsx)(m,{label:"Binary Path",children:(0,t.jsx)(f,{value:null!=(ep=null==(k=eQ.engines)||null==(o=k.claude)?void 0:o.bin)?ep:"",onChange:e=>e8(["engines","claude","bin"],e),placeholder:"claude"})}),(0,t.jsx)(m,{label:"Model",children:(0,t.jsx)(y,{value:null!=(eg=null==(S=eQ.engines)||null==(C=S.claude)?void 0:C.model)?eg:"opus",onChange:e=>e8(["engines","claude","model"],e),options:[{value:"opus",label:"Opus (claude-opus-4-6)"},{value:"sonnet",label:"Sonnet (claude-sonnet-4-6)"},{value:"haiku",label:"Haiku (claude-haiku-4-5)"}]})}),(0,t.jsx)(m,{label:"Effort Level",children:(0,t.jsx)(y,{value:null!=(ex=null==(z=eQ.engines)||null==(w=z.claude)?void 0:w.effortLevel)?ex:"default",onChange:e=>e8(["engines","claude","effortLevel"],e),options:[{value:"default",label:"Default"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}]})}),(0,t.jsx)("div",{style:{borderTop:"1px solid var(--separator)",marginTop:"var(--space-3)",paddingTop:"var(--space-3)"}}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Codex"}),(0,t.jsx)(m,{label:"Binary Path",children:(0,t.jsx)(f,{value:null!=(eh=null==(R=eQ.engines)||null==(B=R.codex)?void 0:B.bin)?eh:"",onChange:e=>e8(["engines","codex","bin"],e),placeholder:"codex"})}),(0,t.jsx)(m,{label:"Model",children:(0,t.jsx)(y,{value:null!=(eb=null==(F=eQ.engines)||null==(E=F.codex)?void 0:E.model)?eb:"gpt-5.4",onChange:e=>e8(["engines","codex","model"],e),options:[{value:"gpt-5.4",label:"GPT-5.4"},{value:"gpt-5.3-codex",label:"GPT-5.3 Codex"},{value:"gpt-5.2-codex",label:"GPT-5.2 Codex"},{value:"gpt-5.2",label:"GPT-5.2"},{value:"gpt-5.1-codex-max",label:"GPT-5.1 Codex Max"},{value:"gpt-5.1-codex-mini",label:"GPT-5.1 Codex Mini"}]})}),(0,t.jsx)(m,{label:"Effort Level",children:(0,t.jsx)(y,{value:null!=(em=null==(N=eQ.engines)||null==(W=N.codex)?void 0:W.effortLevel)?em:"default",onChange:e=>e8(["engines","codex","effortLevel"],e),options:[{value:"default",label:"Default"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"xhigh",label:"Extra High"}]})})]}),(0,t.jsxs)(b,{title:"Connectors",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Slack"}),(0,t.jsx)(m,{label:"App Token",children:(0,t.jsx)(f,{type:"password",value:null!=(ef=null==(M=eQ.connectors)||null==(I=M.slack)?void 0:I.appToken)?ef:"",onChange:e=>e8(["connectors","slack","appToken"],e),placeholder:"xapp-..."})}),(0,t.jsx)(m,{label:"Bot Token",children:(0,t.jsx)(f,{type:"password",value:null!=(ey=null==(A=eQ.connectors)||null==(T=A.slack)?void 0:T.botToken)?ey:"",onChange:e=>e8(["connectors","slack","botToken"],e),placeholder:"xoxb-..."})}),(0,t.jsx)(m,{label:"Share Session in Channel",children:(0,t.jsx)(j,{checked:null!=(ej=null==(P=eQ.connectors)||null==(D=P.slack)?void 0:D.shareSessionInChannel)&&ej,onChange:e=>e8(["connectors","slack","shareSessionInChannel"],e)})}),(0,t.jsx)(m,{label:"Allowed Users",children:(0,t.jsx)(f,{value:Array.isArray(null==(O=eQ.connectors)||null==(L=O.slack)?void 0:L.allowFrom)?null==(_=eQ.connectors)||null==(H=_.slack)||null==(G=H.allowFrom)?void 0:G.join(", "):null!=(ek=null==(U=eQ.connectors)||null==(V=U.slack)?void 0:V.allowFrom)?ek:"",onChange:e=>e8(["connectors","slack","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"U123, U456"})}),(0,t.jsx)(m,{label:"Ignore Old Messages on Boot",children:(0,t.jsx)(j,{checked:null==(eC=null==(J=eQ.connectors)||null==(q=J.slack)?void 0:q.ignoreOldMessagesOnBoot)||eC,onChange:e=>e8(["connectors","slack","ignoreOldMessagesOnBoot"],e)})}),(0,t.jsx)("div",{style:{borderTop:"1px solid var(--separator)",marginTop:"var(--space-3)",paddingTop:"var(--space-3)"}}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Web UI"}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption2)",color:"var(--text-tertiary)"},children:"Web conversations use queued one-shot resume flow for both engines."})]}),(0,t.jsxs)(b,{title:"Cron",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Default Delivery"}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption2)",color:"var(--text-tertiary)",marginBottom:"var(--space-3)"},children:"When a cron job has no delivery configured, results will be sent here."}),(0,t.jsx)(m,{label:"Connector",children:(0,t.jsx)(y,{value:null!=(eS=null==(Y=eQ.cron)||null==(K=Y.defaultDelivery)?void 0:K.connector)?eS:"",onChange:e=>e8(["cron","defaultDelivery","connector"],e||void 0),options:[{value:"",label:"None (fire & forget)"},{value:"web",label:"Web"},{value:"slack",label:"Slack"}]})}),(null==(Q=eQ.cron)||null==($=Q.defaultDelivery)?void 0:$.connector)&&(0,t.jsx)(m,{label:"Channel",children:(0,t.jsx)(f,{value:null!=(ew=null==(Z=eQ.cron)||null==(X=Z.defaultDelivery)?void 0:X.channel)?ew:"",onChange:e=>e8(["cron","defaultDelivery","channel"],e),placeholder:"#general"})})]}),(0,t.jsxs)(b,{title:"Logging",children:[(0,t.jsx)(m,{label:"Level",children:(0,t.jsx)(y,{value:null!=(ez=null==(ee=eQ.logging)?void 0:ee.level)?ez:"info",onChange:e=>e8(["logging","level"],e),options:[{value:"debug",label:"Debug"},{value:"info",label:"Info"},{value:"warn",label:"Warn"},{value:"error",label:"Error"}]})}),(0,t.jsx)(m,{label:"Stdout",children:(0,t.jsx)(j,{checked:null==(eB=null==(ea=eQ.logging)?void 0:ea.stdout)||eB,onChange:e=>e8(["logging","stdout"],e)})}),(0,t.jsx)(m,{label:"File Logging",children:(0,t.jsx)(j,{checked:null!=(eR=null==(el=eQ.logging)?void 0:el.file)&&eR,onChange:e=>e8(["logging","file"],e)})})]}),(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"var(--space-3)",marginBottom:"var(--space-6)"},children:[(0,t.jsxs)("button",{onClick:()=>e7(),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--fill-tertiary)",color:"var(--text-secondary)",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",display:"inline-flex",alignItems:"center",gap:6},children:[(0,t.jsx)(i,{size:14}),"Reload"]}),(0,t.jsxs)("button",{onClick:function(){e3(!0),e5(null),x.F.updateConfig(eQ).then(()=>e5({type:"success",message:"Settings saved successfully"})).catch(e=>e5({type:"error",message:"Failed to save: ".concat(e.message)})).finally(()=>e3(!1))},disabled:e4,style:{padding:"var(--space-2) var(--space-5)",borderRadius:"var(--radius-md)",background:"var(--accent)",color:"var(--accent-contrast)",border:"none",cursor:e4?"wait":"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",display:"inline-flex",alignItems:"center",gap:6,opacity:e4?.7:1,transition:"all 150ms var(--ease-smooth)"},children:[(0,t.jsx)(d,{size:14}),e4?"Saving...":"Save Config"]})]})]}),(0,t.jsx)(b,{title:"Reset",children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"var(--space-3)",flexWrap:"wrap"},children:[(0,t.jsxs)("button",{onClick:()=>{localStorage.removeItem("jinn-onboarded"),window.location.reload()},style:{padding:"var(--space-2) var(--space-5)",borderRadius:"var(--radius-md)",background:"var(--accent)",color:"var(--accent-contrast)",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",transition:"all 150ms var(--ease-spring)",display:"inline-flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,t.jsx)(i,{size:14}),"Re-run Onboarding Wizard"]}),(0,t.jsxs)("button",{onClick:()=>{window.confirm("Reset all settings to defaults?")&&(localStorage.removeItem("jinn-settings"),localStorage.removeItem("jinn-theme"),eA(),window.location.reload())},style:{padding:"var(--space-2) var(--space-5)",borderRadius:"var(--radius-md)",background:"var(--system-red)",color:"#fff",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",transition:"all 150ms var(--ease-spring)",display:"inline-flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,t.jsx)(c,{size:14}),"Reset All Settings"]})]})})]})})})}}},e=>{e.O(0,[704,73,814,743,358],()=>e(e.s=7649)),_N_E=e.O()}]);