jinn-cli 0.2.0 → 0.3.1

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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/dist/bin/jimmy.js +1 -1
  3. package/dist/src/cli/chrome-allow.d.ts.map +1 -1
  4. package/dist/src/cli/chrome-allow.js +14 -5
  5. package/dist/src/cli/chrome-allow.js.map +1 -1
  6. package/dist/src/cli/list.js +1 -1
  7. package/dist/src/cli/list.js.map +1 -1
  8. package/dist/src/cli/nuke.js +2 -2
  9. package/dist/src/cli/nuke.js.map +1 -1
  10. package/dist/src/cli/setup.d.ts.map +1 -1
  11. package/dist/src/cli/setup.js +2 -1
  12. package/dist/src/cli/setup.js.map +1 -1
  13. package/dist/src/connectors/slack/index.d.ts +9 -1
  14. package/dist/src/connectors/slack/index.d.ts.map +1 -1
  15. package/dist/src/connectors/slack/index.js +172 -8
  16. package/dist/src/connectors/slack/index.js.map +1 -1
  17. package/dist/src/connectors/slack/threads.d.ts +1 -4
  18. package/dist/src/connectors/slack/threads.d.ts.map +1 -1
  19. package/dist/src/connectors/slack/threads.js +17 -7
  20. package/dist/src/connectors/slack/threads.js.map +1 -1
  21. package/dist/src/connectors/slack/threads.test.js +42 -8
  22. package/dist/src/connectors/slack/threads.test.js.map +1 -1
  23. package/dist/src/cron/runner.d.ts.map +1 -1
  24. package/dist/src/cron/runner.js +16 -5
  25. package/dist/src/cron/runner.js.map +1 -1
  26. package/dist/src/engines/claude.d.ts.map +1 -1
  27. package/dist/src/engines/claude.js +19 -4
  28. package/dist/src/engines/claude.js.map +1 -1
  29. package/dist/src/engines/codex.js +2 -2
  30. package/dist/src/engines/codex.js.map +1 -1
  31. package/dist/src/gateway/api.d.ts.map +1 -1
  32. package/dist/src/gateway/api.js +207 -3
  33. package/dist/src/gateway/api.js.map +1 -1
  34. package/dist/src/gateway/lifecycle.d.ts.map +1 -1
  35. package/dist/src/gateway/lifecycle.js +16 -6
  36. package/dist/src/gateway/lifecycle.js.map +1 -1
  37. package/dist/src/gateway/org.d.ts.map +1 -1
  38. package/dist/src/gateway/org.js +1 -0
  39. package/dist/src/gateway/org.js.map +1 -1
  40. package/dist/src/gateway/server.d.ts.map +1 -1
  41. package/dist/src/gateway/server.js +40 -1
  42. package/dist/src/gateway/server.js.map +1 -1
  43. package/dist/src/gateway/watcher.d.ts.map +1 -1
  44. package/dist/src/gateway/watcher.js +9 -2
  45. package/dist/src/gateway/watcher.js.map +1 -1
  46. package/dist/src/mcp/gateway-server.d.ts +13 -0
  47. package/dist/src/mcp/gateway-server.d.ts.map +1 -0
  48. package/dist/src/mcp/gateway-server.js +375 -0
  49. package/dist/src/mcp/gateway-server.js.map +1 -0
  50. package/dist/src/mcp/resolver.d.ts +19 -0
  51. package/dist/src/mcp/resolver.d.ts.map +1 -0
  52. package/dist/src/mcp/resolver.js +153 -0
  53. package/dist/src/mcp/resolver.js.map +1 -0
  54. package/dist/src/sessions/context.d.ts +1 -0
  55. package/dist/src/sessions/context.d.ts.map +1 -1
  56. package/dist/src/sessions/context.js +34 -3
  57. package/dist/src/sessions/context.js.map +1 -1
  58. package/dist/src/sessions/limits.d.ts +7 -0
  59. package/dist/src/sessions/limits.d.ts.map +1 -0
  60. package/dist/src/sessions/limits.js +42 -0
  61. package/dist/src/sessions/limits.js.map +1 -0
  62. package/dist/src/sessions/manager.d.ts +3 -1
  63. package/dist/src/sessions/manager.d.ts.map +1 -1
  64. package/dist/src/sessions/manager.js +38 -17
  65. package/dist/src/sessions/manager.js.map +1 -1
  66. package/dist/src/sessions/registry.d.ts +6 -0
  67. package/dist/src/sessions/registry.d.ts.map +1 -1
  68. package/dist/src/sessions/registry.js +34 -5
  69. package/dist/src/sessions/registry.js.map +1 -1
  70. package/dist/src/shared/effort.d.ts +17 -0
  71. package/dist/src/shared/effort.d.ts.map +1 -0
  72. package/dist/src/shared/effort.js +44 -0
  73. package/dist/src/shared/effort.js.map +1 -0
  74. package/dist/src/shared/paths.d.ts +2 -0
  75. package/dist/src/shared/paths.d.ts.map +1 -1
  76. package/dist/src/shared/paths.js +2 -0
  77. package/dist/src/shared/paths.js.map +1 -1
  78. package/dist/src/shared/types.d.ts +57 -1
  79. package/dist/src/shared/types.d.ts.map +1 -1
  80. package/dist/src/stt/stt.d.ts +24 -0
  81. package/dist/src/stt/stt.d.ts.map +1 -0
  82. package/dist/src/stt/stt.js +203 -0
  83. package/dist/src/stt/stt.js.map +1 -0
  84. package/dist/web/404.html +1 -1
  85. package/dist/web/_next/static/chunks/198-3e82ded4f04a0aae.js +1 -0
  86. package/dist/web/_next/static/chunks/{704-af2893821e1d18dc.js → 704-ca24be493a922639.js} +1 -1
  87. package/dist/web/_next/static/chunks/{73-c226535579393e21.js → 73-2d6e730cea0fe6c8.js} +1 -1
  88. package/dist/web/_next/static/chunks/app/_not-found/{page-bb075b0779827928.js → page-7d43a486b7014af3.js} +1 -1
  89. package/dist/web/_next/static/chunks/app/chat/page-2f3c561ed768ed58.js +1 -0
  90. package/dist/web/_next/static/chunks/app/costs/{page-d6c03718defdb599.js → page-13a6f2c65a827f8a.js} +1 -1
  91. package/dist/web/_next/static/chunks/app/cron/{page-4c563eef2b6231fe.js → page-0ee07a679c7b79aa.js} +1 -1
  92. package/dist/web/_next/static/chunks/app/kanban/{page-55a73165a36f4077.js → page-a7facadd4194faae.js} +1 -1
  93. package/dist/web/_next/static/chunks/app/layout-fd975d16033dab25.js +1 -0
  94. package/dist/web/_next/static/chunks/app/logs/page-6de6b16523e85193.js +1 -0
  95. package/dist/web/_next/static/chunks/app/org/{page-d5cd8d9b7864737b.js → page-cd9d362e77f4799e.js} +1 -1
  96. package/dist/web/_next/static/chunks/app/{page-b81992940fd1dbc6.js → page-b98417ed4f4d45a0.js} +1 -1
  97. package/dist/web/_next/static/chunks/app/sessions/page-7148306182017841.js +1 -0
  98. package/dist/web/_next/static/chunks/app/settings/page-34c9276e2a012445.js +1 -0
  99. package/dist/web/_next/static/chunks/app/skills/page-18cf3b7bb9a7339c.js +1 -0
  100. package/dist/web/_next/static/chunks/main-app-0c65af8a0fd99888.js +1 -0
  101. package/dist/web/_next/static/css/24da9dfc818cea32.css +1 -0
  102. package/dist/web/chat.html +1 -1
  103. package/dist/web/chat.txt +5 -5
  104. package/dist/web/costs.html +2 -2
  105. package/dist/web/costs.txt +5 -5
  106. package/dist/web/cron.html +1 -1
  107. package/dist/web/cron.txt +5 -5
  108. package/dist/web/index.html +1 -1
  109. package/dist/web/index.txt +5 -5
  110. package/dist/web/kanban.html +1 -1
  111. package/dist/web/kanban.txt +5 -5
  112. package/dist/web/logs.html +2 -2
  113. package/dist/web/logs.txt +5 -5
  114. package/dist/web/org.html +1 -1
  115. package/dist/web/org.txt +5 -5
  116. package/dist/web/sessions.html +1 -1
  117. package/dist/web/sessions.txt +5 -5
  118. package/dist/web/settings.html +1 -1
  119. package/dist/web/settings.txt +5 -5
  120. package/dist/web/skills.html +1 -1
  121. package/dist/web/skills.txt +5 -5
  122. package/package.json +9 -9
  123. package/template/config.default.yaml +33 -1
  124. package/template/docs/mcp.md +108 -0
  125. package/dist/web/_next/static/chunks/198-fd91406a158c5c25.js +0 -1
  126. package/dist/web/_next/static/chunks/app/chat/page-6d5bc707a45c92c6.js +0 -1
  127. package/dist/web/_next/static/chunks/app/layout-5129b67d5f126cf0.js +0 -1
  128. package/dist/web/_next/static/chunks/app/logs/page-e18889d67e48c9c9.js +0 -1
  129. package/dist/web/_next/static/chunks/app/sessions/page-c83c890177c18258.js +0 -1
  130. package/dist/web/_next/static/chunks/app/settings/page-2583d55551abdf72.js +0 -1
  131. package/dist/web/_next/static/chunks/app/skills/page-df9465e314561bb5.js +0 -1
  132. package/dist/web/_next/static/chunks/main-app-437f51faf74fbb3b.js +0 -1
  133. package/dist/web/_next/static/css/4a6a5bca9238c104.css +0 -1
  134. /package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Zn588p2VvgjCSLr44R__1}/_buildManifest.js +0 -0
  135. /package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Zn588p2VvgjCSLr44R__1}/_ssgManifest.js +0 -0
@@ -70,7 +70,10 @@ function rowToSession(row) {
70
70
  model: row.model ?? null,
71
71
  title: row.title ?? null,
72
72
  parentSessionId: row.parent_session_id ?? null,
73
+ effortLevel: row.effort_level ?? null,
73
74
  status: row.status,
75
+ totalCost: row.total_cost ?? 0,
76
+ totalTurns: row.total_turns ?? 0,
74
77
  createdAt: row.created_at,
75
78
  lastActivity: row.last_activity,
76
79
  lastError: row.last_error ?? null,
@@ -100,10 +103,14 @@ export function migrateSessionsSchema(database) {
100
103
  ['reply_context', 'TEXT'],
101
104
  ['message_id', 'TEXT'],
102
105
  ['transport_meta', 'TEXT'],
106
+ ['total_cost', 'REAL', '0'],
107
+ ['total_turns', 'INTEGER', '0'],
108
+ ['effort_level', 'TEXT'],
103
109
  ];
104
- for (const [name, type] of missingColumns) {
110
+ for (const [name, type, defaultVal] of missingColumns) {
105
111
  if (!colNames.has(name)) {
106
- database.exec(`ALTER TABLE sessions ADD COLUMN ${name} ${type}`);
112
+ const defaultClause = defaultVal !== undefined ? ` DEFAULT ${defaultVal}` : '';
113
+ database.exec(`ALTER TABLE sessions ADD COLUMN ${name} ${type}${defaultClause}`);
107
114
  }
108
115
  }
109
116
  const refreshedCols = database.prepare('PRAGMA table_info(sessions)').all();
@@ -142,11 +149,11 @@ export function createSession(opts) {
142
149
  const stmt = db.prepare(`
143
150
  INSERT INTO sessions (
144
151
  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
152
+ employee, model, title, parent_session_id, effort_level, status, created_at, last_activity
146
153
  )
147
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'idle', ?, ?)
154
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'idle', ?, ?)
148
155
  `);
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);
156
+ 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, opts.effortLevel ?? null, now, now);
150
157
  return {
151
158
  id,
152
159
  engine: opts.engine,
@@ -162,7 +169,10 @@ export function createSession(opts) {
162
169
  model: opts.model ?? null,
163
170
  title,
164
171
  parentSessionId: opts.parentSessionId ?? null,
172
+ effortLevel: opts.effortLevel ?? null,
165
173
  status: 'idle',
174
+ totalCost: 0,
175
+ totalTurns: 0,
166
176
  createdAt: now,
167
177
  lastActivity: now,
168
178
  lastError: null,
@@ -253,12 +263,31 @@ export function recoverStaleSessions() {
253
263
  const result = db.prepare("UPDATE sessions SET status = 'error', last_activity = ?, last_error = 'Interrupted: gateway restarted while session was running' WHERE status = 'running'").run(now);
254
264
  return result.changes;
255
265
  }
266
+ /**
267
+ * Accumulate cost and turns for a session (called after each engine run).
268
+ */
269
+ export function accumulateSessionCost(id, cost, turns) {
270
+ const db = initDb();
271
+ db.prepare('UPDATE sessions SET total_cost = total_cost + ?, total_turns = total_turns + ? WHERE id = ?').run(cost, turns, id);
272
+ }
256
273
  export function deleteSession(id) {
257
274
  const db = initDb();
258
275
  db.prepare('DELETE FROM messages WHERE session_id = ?').run(id);
259
276
  const result = db.prepare('DELETE FROM sessions WHERE id = ?').run(id);
260
277
  return result.changes > 0;
261
278
  }
279
+ export function deleteSessions(ids) {
280
+ if (ids.length === 0)
281
+ return 0;
282
+ const db = initDb();
283
+ const placeholders = ids.map(() => '?').join(',');
284
+ const txn = db.transaction(() => {
285
+ db.prepare(`DELETE FROM messages WHERE session_id IN (${placeholders})`).run(...ids);
286
+ const result = db.prepare(`DELETE FROM sessions WHERE id IN (${placeholders})`).run(...ids);
287
+ return result.changes;
288
+ });
289
+ return txn();
290
+ }
262
291
  export function insertMessage(sessionId, role, content) {
263
292
  const db = initDb();
264
293
  const id = uuidv4();
@@ -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,17 @@
1
+ import type { Employee, Session } from "./types.js";
2
+ /**
3
+ * Resolve the effort level for a session.
4
+ *
5
+ * For child sessions (has parentSessionId), resolution chain:
6
+ * 1. config.engines.<engine>.childEffortOverride — global cost-control knob
7
+ * 2. session.effortLevel — COO's per-task judgment (from API body)
8
+ * 3. employee.effortLevel — employee YAML default
9
+ * 4. config.engines.<engine>.effortLevel — engine fallback
10
+ *
11
+ * For non-child sessions (COO's own), use engine effortLevel directly.
12
+ */
13
+ export declare function resolveEffort(engineConfig: {
14
+ effortLevel?: string;
15
+ childEffortOverride?: string;
16
+ }, session: Pick<Session, "parentSessionId" | "effortLevel">, employee?: Pick<Employee, "effortLevel"> | null): string;
17
+ //# sourceMappingURL=effort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effort.d.ts","sourceRoot":"","sources":["../../../src/shared/effort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIpD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,EACpE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAAC,EACzD,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,IAAI,GAC9C,MAAM,CA4BR"}
@@ -0,0 +1,44 @@
1
+ import { logger } from "./logger.js";
2
+ const VALID_EFFORTS = new Set(["low", "medium", "high"]);
3
+ /**
4
+ * Resolve the effort level for a session.
5
+ *
6
+ * For child sessions (has parentSessionId), resolution chain:
7
+ * 1. config.engines.<engine>.childEffortOverride — global cost-control knob
8
+ * 2. session.effortLevel — COO's per-task judgment (from API body)
9
+ * 3. employee.effortLevel — employee YAML default
10
+ * 4. config.engines.<engine>.effortLevel — engine fallback
11
+ *
12
+ * For non-child sessions (COO's own), use engine effortLevel directly.
13
+ */
14
+ export function resolveEffort(engineConfig, session, employee) {
15
+ if (session.parentSessionId) {
16
+ const override = engineConfig.childEffortOverride;
17
+ if (override) {
18
+ if (VALID_EFFORTS.has(override))
19
+ return override;
20
+ logger.warn(`Invalid childEffortOverride "${override}" in engine config, skipping`);
21
+ }
22
+ const requested = session.effortLevel;
23
+ if (requested) {
24
+ if (VALID_EFFORTS.has(requested))
25
+ return requested;
26
+ logger.warn(`Invalid effortLevel "${requested}" on session, skipping`);
27
+ }
28
+ const empDefault = employee?.effortLevel;
29
+ if (empDefault) {
30
+ if (VALID_EFFORTS.has(empDefault))
31
+ return empDefault;
32
+ logger.warn(`Invalid effortLevel "${empDefault}" on employee, skipping`);
33
+ }
34
+ }
35
+ // Non-child sessions (COO) or fallback
36
+ const engineDefault = engineConfig.effortLevel;
37
+ if (engineDefault && VALID_EFFORTS.has(engineDefault))
38
+ return engineDefault;
39
+ if (engineDefault) {
40
+ logger.warn(`Invalid effortLevel "${engineDefault}" in engine config, defaulting to "medium"`);
41
+ }
42
+ return "medium";
43
+ }
44
+ //# sourceMappingURL=effort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effort.js","sourceRoot":"","sources":["../../../src/shared/effort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,YAAoE,EACpE,OAAyD,EACzD,QAA+C;IAE/C,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,mBAAmB,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,gCAAgC,QAAQ,8BAA8B,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,wBAAwB,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,CAAC;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,OAAO,UAAU,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,yBAAyB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC;IAC/C,IAAI,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAC5E,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,wBAAwB,aAAa,4CAA4C,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -8,6 +8,8 @@ export declare const SKILLS_DIR: string;
8
8
  export declare const DOCS_DIR: string;
9
9
  export declare const LOGS_DIR: string;
10
10
  export declare const TMP_DIR: string;
11
+ export declare const MODELS_DIR: string;
12
+ export declare const STT_MODELS_DIR: string;
11
13
  export declare const PID_FILE: string;
12
14
  export declare const CLAUDE_SKILLS_DIR: string;
13
15
  export declare const AGENTS_SKILLS_DIR: string;
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/shared/paths.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,SAAS,QAAgB,CAAC;AACvC,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAkD,CAAC;AAC3E,eAAO,MAAM,SAAS,QAA4C,CAAC;AACnE,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,QAAQ,QAAsC,CAAC;AAC5D,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,YAAY,QAAqD,CAAC;AAC/E,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,uBAAuB,QAAwC,CAAC;AAE7E,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,QAAqD,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/shared/paths.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,SAAS,QAAgB,CAAC;AACvC,eAAO,MAAM,WAAW,QAAsC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAkD,CAAC;AAC3E,eAAO,MAAM,SAAS,QAA4C,CAAC;AACnE,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,cAAc,QAA4C,CAAC;AACxE,eAAO,MAAM,QAAQ,QAAsC,CAAC;AAC5D,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,YAAY,QAAqD,CAAC;AAC/E,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,uBAAuB,QAAwC,CAAC;AAE7E,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,QAAqD,CAAC"}
@@ -20,6 +20,8 @@ export const SKILLS_DIR = path.join(JINN_HOME, "skills");
20
20
  export const DOCS_DIR = path.join(JINN_HOME, "docs");
21
21
  export const LOGS_DIR = path.join(JINN_HOME, "logs");
22
22
  export const TMP_DIR = path.join(JINN_HOME, "tmp");
23
+ export const MODELS_DIR = path.join(JINN_HOME, "models");
24
+ export const STT_MODELS_DIR = path.join(JINN_HOME, "models", "whisper");
23
25
  export const PID_FILE = path.join(JINN_HOME, "gateway.pid");
24
26
  export const CLAUDE_SKILLS_DIR = path.join(JINN_HOME, ".claude", "skills");
25
27
  export const AGENTS_SKILLS_DIR = path.join(JINN_HOME, ".agents", "skills");
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,2DAA2D;AAC3D,SAAS,WAAW;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAE7E,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/shared/paths.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export interface EngineRunOpts {
29
29
  attachments?: string[];
30
30
  /** Extra CLI flags to pass to the engine binary (e.g. ["--chrome"]) */
31
31
  cliFlags?: string[];
32
+ /** Path to MCP config JSON file (passed as --mcp-config to Claude Code) */
33
+ mcpConfigPath?: string;
32
34
  onStream?: (delta: StreamDelta) => void;
33
35
  /** Unique Jinn session ID for tracking the spawned process. */
34
36
  sessionId?: string;
@@ -70,6 +72,7 @@ export interface Connector {
70
72
  addReaction(target: Target, emoji: string): Promise<void>;
71
73
  removeReaction(target: Target, emoji: string): Promise<void>;
72
74
  editMessage(target: Target, text: string): Promise<void>;
75
+ setTypingStatus?(channelId: string, threadTs: string | undefined, status: string): Promise<void>;
73
76
  onMessage(handler: (msg: IncomingMessage) => void): void;
74
77
  }
75
78
  export interface IncomingMessage {
@@ -115,6 +118,9 @@ export interface Session {
115
118
  title: string | null;
116
119
  parentSessionId: string | null;
117
120
  status: "idle" | "running" | "error";
121
+ effortLevel: string | null;
122
+ totalCost: number;
123
+ totalTurns: number;
118
124
  queueDepth?: number;
119
125
  transportState?: "idle" | "queued" | "running" | "error";
120
126
  createdAt: string;
@@ -149,18 +155,52 @@ export interface Employee {
149
155
  emoji?: string;
150
156
  /** Extra CLI flags passed to the engine (e.g. ["--chrome"]) */
151
157
  cliFlags?: string[];
158
+ /** MCP servers this employee needs. true = all global, false = none, string[] = specific servers */
159
+ mcp?: boolean | string[];
160
+ /** Max cost in USD for a single session. Overrides global config. */
161
+ maxCostUsd?: number;
162
+ /** Default effort level for sessions assigned to this employee */
163
+ effortLevel?: string;
152
164
  }
153
165
  export interface Department {
154
166
  name: string;
155
167
  displayName: string;
156
168
  description: string;
157
169
  }
170
+ export interface McpServerConfig {
171
+ /** Shell command to start the MCP server */
172
+ command: string;
173
+ /** Arguments to pass to the command */
174
+ args?: string[];
175
+ /** Environment variables for the MCP server process */
176
+ env?: Record<string, string>;
177
+ }
178
+ export interface McpGlobalConfig {
179
+ browser?: {
180
+ enabled: boolean;
181
+ provider?: "playwright" | "puppeteer";
182
+ };
183
+ search?: {
184
+ enabled: boolean;
185
+ provider?: "brave";
186
+ apiKey?: string;
187
+ };
188
+ fetch?: {
189
+ enabled: boolean;
190
+ };
191
+ gateway?: {
192
+ enabled: boolean;
193
+ };
194
+ /** Custom MCP servers defined by the user */
195
+ custom?: Record<string, McpServerConfig & {
196
+ enabled?: boolean;
197
+ }>;
198
+ }
158
199
  export interface WebConnectorConfig {
159
200
  }
160
201
  export interface SlackConnectorConfig {
161
202
  appToken: string;
162
203
  botToken: string;
163
- shareSessionInChannel?: boolean;
164
204
  allowFrom?: string | string[];
165
205
  ignoreOldMessagesOnBoot?: boolean;
166
206
  }
@@ -184,11 +224,13 @@ export interface JinnConfig {
184
224
  bin: string;
185
225
  model: string;
186
226
  effortLevel?: string;
227
+ childEffortOverride?: string;
187
228
  };
188
229
  codex: {
189
230
  bin: string;
190
231
  model: string;
191
232
  effortLevel?: string;
233
+ childEffortOverride?: string;
192
234
  };
193
235
  };
194
236
  connectors: Record<string, any> & {
@@ -200,9 +242,23 @@ export interface JinnConfig {
200
242
  stdout: boolean;
201
243
  level: string;
202
244
  };
245
+ mcp?: McpGlobalConfig;
246
+ sessions?: {
247
+ maxDurationMinutes?: number;
248
+ maxCostUsd?: number;
249
+ };
203
250
  cron?: {
204
251
  defaultDelivery?: CronDelivery;
252
+ alertChannel?: string;
253
+ alertConnector?: string;
205
254
  };
206
255
  portal?: PortalConfig;
256
+ stt?: {
257
+ enabled?: boolean;
258
+ model?: string;
259
+ /** @deprecated Use `languages` instead. Kept for backwards compat. */
260
+ language?: string;
261
+ languages?: string[];
262
+ };
207
263
  }
208
264
  //# sourceMappingURL=types.d.ts.map
@@ -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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"}
@@ -0,0 +1,24 @@
1
+ /** Valid Whisper language codes (ISO 639-1). */
2
+ export declare const WHISPER_LANGUAGES: Record<string, string>;
3
+ /** Ensure models directory exists. */
4
+ export declare function initStt(): void;
5
+ export declare function getModelPath(model: string): string | null;
6
+ export interface SttStatus {
7
+ available: boolean;
8
+ model: string | null;
9
+ downloading: boolean;
10
+ progress: number;
11
+ languages: string[];
12
+ }
13
+ /**
14
+ * Resolve the languages list from config, with backwards compat for the
15
+ * old `language: "en"` string format.
16
+ */
17
+ export declare function resolveLanguages(sttConfig?: {
18
+ language?: string;
19
+ languages?: string[];
20
+ }): string[];
21
+ export declare function getSttStatus(configModel?: string, languages?: string[]): SttStatus;
22
+ export declare function downloadModel(model: string, onProgress: (progress: number) => void): Promise<void>;
23
+ export declare function transcribe(audioPath: string, model: string, language?: string): Promise<string>;
24
+ //# sourceMappingURL=stt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stt.d.ts","sourceRoot":"","sources":["../../../src/stt/stt.ts"],"names":[],"mappings":"AAYA,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASpD,CAAC;AAiCF,sCAAsC;AACtC,wBAAgB,OAAO,IAAI,IAAI,CAG9B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzD;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAIlG;AAED,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAUlF;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,IAAI,CAAC,CAkEf;AAqBD,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAsCjB"}
@@ -0,0 +1,203 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { execFile, spawn } from "node:child_process";
4
+ import { promisify } from "node:util";
5
+ import { STT_MODELS_DIR } from "../shared/paths.js";
6
+ import { logger } from "../shared/logger.js";
7
+ const execFileAsync = promisify(execFile);
8
+ const WHISPER_CLI = "whisper-cli";
9
+ const FFMPEG = "ffmpeg";
10
+ /** Valid Whisper language codes (ISO 639-1). */
11
+ export const WHISPER_LANGUAGES = {
12
+ en: "English", bg: "Bulgarian", de: "German", fr: "French", es: "Spanish",
13
+ it: "Italian", pt: "Portuguese", ru: "Russian", zh: "Chinese", ja: "Japanese",
14
+ ko: "Korean", ar: "Arabic", hi: "Hindi", tr: "Turkish", pl: "Polish",
15
+ nl: "Dutch", sv: "Swedish", cs: "Czech", el: "Greek", ro: "Romanian",
16
+ uk: "Ukrainian", he: "Hebrew", da: "Danish", fi: "Finnish", hu: "Hungarian",
17
+ no: "Norwegian", sk: "Slovak", hr: "Croatian", ca: "Catalan", th: "Thai",
18
+ vi: "Vietnamese", id: "Indonesian", ms: "Malay", tl: "Filipino", sr: "Serbian",
19
+ lt: "Lithuanian", lv: "Latvian", sl: "Slovenian", et: "Estonian",
20
+ };
21
+ const MODEL_URLS = {
22
+ tiny: "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin",
23
+ "tiny.en": "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin",
24
+ base: "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin",
25
+ "base.en": "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin",
26
+ small: "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin",
27
+ "small.en": "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin",
28
+ medium: "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.bin",
29
+ "medium.en": "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin",
30
+ "large-v3-turbo": "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin",
31
+ };
32
+ const MODEL_FILES = Object.fromEntries(Object.entries(MODEL_URLS).map(([k, url]) => [k, path.basename(url)]));
33
+ const EXPECTED_SIZES = {
34
+ tiny: 75_000_000,
35
+ "tiny.en": 75_000_000,
36
+ base: 142_000_000,
37
+ "base.en": 142_000_000,
38
+ small: 466_000_000,
39
+ "small.en": 466_000_000,
40
+ medium: 1_500_000_000,
41
+ "medium.en": 1_500_000_000,
42
+ "large-v3-turbo": 1_500_000_000,
43
+ };
44
+ let downloading = false;
45
+ let downloadProgress = 0;
46
+ /** Ensure models directory exists. */
47
+ export function initStt() {
48
+ fs.mkdirSync(STT_MODELS_DIR, { recursive: true });
49
+ logger.info(`STT initialized, models dir: ${STT_MODELS_DIR}`);
50
+ }
51
+ export function getModelPath(model) {
52
+ const filename = MODEL_FILES[model];
53
+ if (!filename)
54
+ return null;
55
+ const filePath = path.join(STT_MODELS_DIR, filename);
56
+ return fs.existsSync(filePath) ? filePath : null;
57
+ }
58
+ /**
59
+ * Resolve the languages list from config, with backwards compat for the
60
+ * old `language: "en"` string format.
61
+ */
62
+ export function resolveLanguages(sttConfig) {
63
+ if (sttConfig?.languages && sttConfig.languages.length > 0)
64
+ return sttConfig.languages;
65
+ if (sttConfig?.language)
66
+ return [sttConfig.language];
67
+ return ["en"];
68
+ }
69
+ export function getSttStatus(configModel, languages) {
70
+ const model = configModel || "small";
71
+ const modelPath = getModelPath(model);
72
+ return {
73
+ available: modelPath !== null,
74
+ model: modelPath ? model : null,
75
+ downloading,
76
+ progress: downloadProgress,
77
+ languages: languages || ["en"],
78
+ };
79
+ }
80
+ export async function downloadModel(model, onProgress) {
81
+ if (downloading)
82
+ throw new Error("Download already in progress");
83
+ const url = MODEL_URLS[model];
84
+ if (!url)
85
+ throw new Error(`Unknown model: ${model}`);
86
+ if (getModelPath(model)) {
87
+ onProgress(100);
88
+ return;
89
+ }
90
+ downloading = true;
91
+ downloadProgress = 0;
92
+ const filename = MODEL_FILES[model];
93
+ const destPath = path.join(STT_MODELS_DIR, filename);
94
+ const tmpPath = destPath + ".downloading";
95
+ const expectedSize = EXPECTED_SIZES[model] || 466_000_000;
96
+ try {
97
+ fs.mkdirSync(STT_MODELS_DIR, { recursive: true });
98
+ await new Promise((resolve, reject) => {
99
+ // Use curl for download — handles redirects, progress, and is reliable
100
+ const curl = spawn("curl", [
101
+ "-L", // follow redirects
102
+ "-o", tmpPath,
103
+ url,
104
+ ]);
105
+ // Poll file size for progress
106
+ const progressInterval = setInterval(() => {
107
+ try {
108
+ const stat = fs.statSync(tmpPath, { throwIfNoEntry: false });
109
+ if (stat && stat.size > 0) {
110
+ downloadProgress = Math.min(95, Math.round((stat.size / expectedSize) * 100));
111
+ onProgress(downloadProgress);
112
+ }
113
+ }
114
+ catch { /* file not created yet */ }
115
+ }, 1000);
116
+ curl.on("close", (code) => {
117
+ clearInterval(progressInterval);
118
+ if (code === 0)
119
+ resolve();
120
+ else
121
+ reject(new Error(`curl exited with code ${code}`));
122
+ });
123
+ curl.on("error", (err) => {
124
+ clearInterval(progressInterval);
125
+ reject(err);
126
+ });
127
+ });
128
+ // Rename temp file to final path
129
+ fs.renameSync(tmpPath, destPath);
130
+ downloadProgress = 100;
131
+ onProgress(100);
132
+ logger.info(`STT model '${model}' downloaded to ${destPath}`);
133
+ }
134
+ catch (err) {
135
+ // Clean up partial download
136
+ try {
137
+ fs.unlinkSync(tmpPath);
138
+ }
139
+ catch { /* ignore */ }
140
+ throw err;
141
+ }
142
+ finally {
143
+ downloading = false;
144
+ }
145
+ }
146
+ /**
147
+ * Convert audio to WAV (16kHz mono PCM) using ffmpeg.
148
+ * whisper-cli requires this format.
149
+ */
150
+ async function convertToWav(inputPath) {
151
+ const wavPath = inputPath.replace(/\.[^.]+$/, "") + ".wav";
152
+ await execFileAsync(FFMPEG, [
153
+ "-i", inputPath,
154
+ "-ar", "16000", // 16kHz sample rate
155
+ "-ac", "1", // mono
156
+ "-c:a", "pcm_s16le", // 16-bit PCM
157
+ "-y", // overwrite
158
+ wavPath,
159
+ ], {
160
+ timeout: 2 * 60 * 1000, // 2 min timeout
161
+ });
162
+ return wavPath;
163
+ }
164
+ export async function transcribe(audioPath, model, language) {
165
+ const modelPath = getModelPath(model);
166
+ if (!modelPath)
167
+ throw new Error(`Model '${model}' not found. Download it first.`);
168
+ // Convert to WAV if not already
169
+ let wavPath = audioPath;
170
+ let needsCleanup = false;
171
+ if (!audioPath.endsWith(".wav")) {
172
+ wavPath = await convertToWav(audioPath);
173
+ needsCleanup = true;
174
+ }
175
+ try {
176
+ const { stdout } = await execFileAsync(WHISPER_CLI, [
177
+ "-m", modelPath,
178
+ "-l", language || "en",
179
+ "--no-timestamps",
180
+ "-f", wavPath,
181
+ ], {
182
+ maxBuffer: 10 * 1024 * 1024,
183
+ timeout: 15 * 60 * 1000, // 15 min timeout for long recordings
184
+ });
185
+ // Clean up whisper output: remove blank lines, trim whitespace
186
+ const text = stdout
187
+ .split("\n")
188
+ .map((l) => l.trim())
189
+ .filter((l) => l.length > 0)
190
+ .join(" ")
191
+ .trim();
192
+ return text;
193
+ }
194
+ finally {
195
+ if (needsCleanup) {
196
+ try {
197
+ fs.unlinkSync(wavPath);
198
+ }
199
+ catch { /* ignore */ }
200
+ }
201
+ }
202
+ }
203
+ //# sourceMappingURL=stt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stt.js","sourceRoot":"","sources":["../../../src/stt/stt.ts"],"names":[],"mappings":"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"}