repoburg 1.3.211 → 1.3.213

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 (25) hide show
  1. package/agent-pane/backend/dist/index.js +88 -9
  2. package/agent-pane/backend/dist/server.js +88 -9
  3. package/backend/dist/src/app.module.js +2 -0
  4. package/backend/dist/src/app.module.js.map +1 -1
  5. package/backend/dist/src/session-inputs/session-input-context.service.d.ts +3 -1
  6. package/backend/dist/src/session-inputs/session-input-context.service.js +25 -7
  7. package/backend/dist/src/session-inputs/session-input-context.service.js.map +1 -1
  8. package/backend/dist/src/session-inputs/session-inputs.module.js +2 -0
  9. package/backend/dist/src/session-inputs/session-inputs.module.js.map +1 -1
  10. package/backend/dist/src/slash-commands/slash-commands.controller.d.ts +10 -0
  11. package/backend/dist/src/slash-commands/slash-commands.controller.js +37 -0
  12. package/backend/dist/src/slash-commands/slash-commands.controller.js.map +1 -0
  13. package/backend/dist/src/slash-commands/slash-commands.module.d.ts +2 -0
  14. package/backend/dist/src/slash-commands/slash-commands.module.js +23 -0
  15. package/backend/dist/src/slash-commands/slash-commands.module.js.map +1 -0
  16. package/backend/dist/src/slash-commands/slash-commands.service.d.ts +23 -0
  17. package/backend/dist/src/slash-commands/slash-commands.service.js +136 -0
  18. package/backend/dist/src/slash-commands/slash-commands.service.js.map +1 -0
  19. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  20. package/backend/package.json +2 -0
  21. package/discuss-e2e-open.png +0 -0
  22. package/hasan-thread-after-fix.png +0 -0
  23. package/hasan-threads.png +0 -0
  24. package/package.json +1 -1
  25. package/visual-editor-proxy/dist/tsconfig.tsbuildinfo +1 -1
@@ -44044,6 +44044,9 @@ var RepoburgHttpClient = class {
44044
44044
  const result = await this.request("GET", "/llm-provider/models");
44045
44045
  return result.models ?? [];
44046
44046
  }
44047
+ async getSlashCommands() {
44048
+ return this.request("GET", "/slash-commands");
44049
+ }
44047
44050
  };
44048
44051
 
44049
44052
  // src/repoburg/backend-resolver.ts
@@ -45026,6 +45029,7 @@ async function ensureSession(session, client, baseUrl) {
45026
45029
  // undefined forces a re-push on the next turn — heals sessions created
45027
45030
  // before unsafe effort values (e.g. ollama xhigh) were clamped.
45028
45031
  reasoningEffort: void 0,
45032
+ threadId: null,
45029
45033
  activeTurn: null
45030
45034
  };
45031
45035
  sessionMap3.set(session.id, entry2);
@@ -45051,11 +45055,47 @@ async function ensureSession(session, client, baseUrl) {
45051
45055
  baseUrl,
45052
45056
  modelId: session.model ?? null,
45053
45057
  reasoningEffort: mappedEffort,
45058
+ threadId: null,
45054
45059
  activeTurn: null
45055
45060
  };
45056
45061
  sessionMap3.set(session.id, entry);
45057
45062
  return entry;
45058
45063
  }
45064
+ async function ensureThreadSession(session, turn, client, baseUrl) {
45065
+ const mapKey = `${session.id}:thread:${turn.thread_id}`;
45066
+ const existing = sessionMap3.get(mapKey);
45067
+ if (existing) return existing;
45068
+ const db2 = getDb();
45069
+ const thread = db2.prepare("SELECT external_thread_id FROM discussion_threads WHERE id = ?").get(turn.thread_id);
45070
+ let runtimeId = thread?.external_thread_id ?? null;
45071
+ if (!runtimeId) {
45072
+ const created = await client.createSession({
45073
+ session_title: session.title ? `Discussion: ${session.title}` : "Discussion",
45074
+ model_id: session.model ?? void 0,
45075
+ reasoning_effort: mapReasoningEffort(session.model, session.model_reasoning_effort)
45076
+ });
45077
+ runtimeId = created.id;
45078
+ const now = (/* @__PURE__ */ new Date()).toISOString();
45079
+ db2.prepare("UPDATE discussion_threads SET external_thread_id = ?, updated_at = ? WHERE id = ?").run(
45080
+ runtimeId,
45081
+ now,
45082
+ turn.thread_id
45083
+ );
45084
+ }
45085
+ const entry = {
45086
+ agentPaneSessionId: session.id,
45087
+ repoburgSessionId: runtimeId,
45088
+ client,
45089
+ baseUrl,
45090
+ modelId: session.model ?? null,
45091
+ reasoningEffort: void 0,
45092
+ // re-pushed on the first thread turn
45093
+ threadId: turn.thread_id,
45094
+ activeTurn: null
45095
+ };
45096
+ sessionMap3.set(mapKey, entry);
45097
+ return entry;
45098
+ }
45059
45099
  function failTurnBeforeStart(db2, sessionId, turnId, error) {
45060
45100
  const now = (/* @__PURE__ */ new Date()).toISOString();
45061
45101
  db2.prepare("UPDATE turns SET status = ?, error = ?, updated_at = ? WHERE id = ?").run(
@@ -45152,7 +45192,7 @@ async function startTurn3(session, turn) {
45152
45192
  }
45153
45193
  let entry;
45154
45194
  try {
45155
- entry = await ensureSession(session, client, baseUrl);
45195
+ entry = turn.thread_id ? await ensureThreadSession(session, turn, client, baseUrl) : await ensureSession(session, client, baseUrl);
45156
45196
  } catch (err) {
45157
45197
  if (isConnectionError(err)) invalidateBackend(baseUrl);
45158
45198
  failTurnBeforeStart(db2, session.id, turn.id, `Failed to create repoburg session: ${err.message}`);
@@ -45200,7 +45240,15 @@ async function startTurn3(session, turn) {
45200
45240
  }
45201
45241
  }
45202
45242
  async function interruptTurn3(sessionId) {
45203
- const entry = sessionMap3.get(sessionId);
45243
+ let entry = sessionMap3.get(sessionId);
45244
+ if (!entry?.activeTurn) {
45245
+ for (const [key, threadEntry] of sessionMap3) {
45246
+ if (key.startsWith(`${sessionId}:thread:`) && threadEntry.activeTurn) {
45247
+ entry = threadEntry;
45248
+ break;
45249
+ }
45250
+ }
45251
+ }
45204
45252
  const active = entry?.activeTurn;
45205
45253
  if (!entry || !active) return false;
45206
45254
  active.cancelled = true;
@@ -45222,14 +45270,29 @@ async function interruptTurn3(sessionId) {
45222
45270
  return true;
45223
45271
  }
45224
45272
  function clearThread3(sessionId) {
45225
- const entry = sessionMap3.get(sessionId);
45226
- if (entry?.activeTurn) {
45227
- const active = entry.activeTurn;
45228
- entry.activeTurn = null;
45229
- active.projector.close();
45230
- active.sseAbort.abort();
45273
+ for (const [key, entry] of sessionMap3) {
45274
+ if (key !== sessionId && !key.startsWith(`${sessionId}:thread:`)) continue;
45275
+ if (entry.activeTurn) {
45276
+ const active = entry.activeTurn;
45277
+ entry.activeTurn = null;
45278
+ active.projector.close();
45279
+ active.sseAbort.abort();
45280
+ }
45281
+ sessionMap3.delete(key);
45282
+ }
45283
+ }
45284
+ function clearThreadBranch2(sessionId, threadId) {
45285
+ const key = `${sessionId}:thread:${threadId}`;
45286
+ const entry = sessionMap3.get(key);
45287
+ if (entry) {
45288
+ if (entry.activeTurn) {
45289
+ const active = entry.activeTurn;
45290
+ entry.activeTurn = null;
45291
+ active.projector.close();
45292
+ active.sseAbort.abort();
45293
+ }
45294
+ sessionMap3.delete(key);
45231
45295
  }
45232
- sessionMap3.delete(sessionId);
45233
45296
  }
45234
45297
  function parseRuntimeInputIds(turn) {
45235
45298
  const raw = turn.runtime_input_ids;
@@ -45307,6 +45370,20 @@ async function getModels3() {
45307
45370
  return [];
45308
45371
  }
45309
45372
  }
45373
+ async function getCommands2() {
45374
+ try {
45375
+ const resolved = await resolveBackendUrl(process.cwd(), { autoStart: false });
45376
+ if (!resolved) return [];
45377
+ const commands = await new RepoburgHttpClient(resolved.baseUrl).getSlashCommands();
45378
+ return commands.map((c) => ({
45379
+ name: c.name,
45380
+ description: c.description ?? "",
45381
+ argumentHint: c.argument_hint
45382
+ }));
45383
+ } catch {
45384
+ return [];
45385
+ }
45386
+ }
45310
45387
  async function shutdown3() {
45311
45388
  clearAllThreads3();
45312
45389
  }
@@ -45314,8 +45391,10 @@ var repoburgProvider = {
45314
45391
  startTurn: startTurn3,
45315
45392
  interruptTurn: interruptTurn3,
45316
45393
  clearThread: clearThread3,
45394
+ clearThreadBranch: clearThreadBranch2,
45317
45395
  clearAllThreads: clearAllThreads3,
45318
45396
  getModels: getModels3,
45397
+ getCommands: getCommands2,
45319
45398
  rewindRuntime,
45320
45399
  forkSession,
45321
45400
  shutdown: shutdown3
@@ -44031,6 +44031,9 @@ var RepoburgHttpClient = class {
44031
44031
  const result = await this.request("GET", "/llm-provider/models");
44032
44032
  return result.models ?? [];
44033
44033
  }
44034
+ async getSlashCommands() {
44035
+ return this.request("GET", "/slash-commands");
44036
+ }
44034
44037
  };
44035
44038
 
44036
44039
  // src/repoburg/backend-resolver.ts
@@ -45013,6 +45016,7 @@ async function ensureSession(session, client, baseUrl) {
45013
45016
  // undefined forces a re-push on the next turn — heals sessions created
45014
45017
  // before unsafe effort values (e.g. ollama xhigh) were clamped.
45015
45018
  reasoningEffort: void 0,
45019
+ threadId: null,
45016
45020
  activeTurn: null
45017
45021
  };
45018
45022
  sessionMap3.set(session.id, entry2);
@@ -45038,11 +45042,47 @@ async function ensureSession(session, client, baseUrl) {
45038
45042
  baseUrl,
45039
45043
  modelId: session.model ?? null,
45040
45044
  reasoningEffort: mappedEffort,
45045
+ threadId: null,
45041
45046
  activeTurn: null
45042
45047
  };
45043
45048
  sessionMap3.set(session.id, entry);
45044
45049
  return entry;
45045
45050
  }
45051
+ async function ensureThreadSession(session, turn, client, baseUrl) {
45052
+ const mapKey = `${session.id}:thread:${turn.thread_id}`;
45053
+ const existing = sessionMap3.get(mapKey);
45054
+ if (existing) return existing;
45055
+ const db2 = getDb();
45056
+ const thread = db2.prepare("SELECT external_thread_id FROM discussion_threads WHERE id = ?").get(turn.thread_id);
45057
+ let runtimeId = thread?.external_thread_id ?? null;
45058
+ if (!runtimeId) {
45059
+ const created = await client.createSession({
45060
+ session_title: session.title ? `Discussion: ${session.title}` : "Discussion",
45061
+ model_id: session.model ?? void 0,
45062
+ reasoning_effort: mapReasoningEffort(session.model, session.model_reasoning_effort)
45063
+ });
45064
+ runtimeId = created.id;
45065
+ const now = (/* @__PURE__ */ new Date()).toISOString();
45066
+ db2.prepare("UPDATE discussion_threads SET external_thread_id = ?, updated_at = ? WHERE id = ?").run(
45067
+ runtimeId,
45068
+ now,
45069
+ turn.thread_id
45070
+ );
45071
+ }
45072
+ const entry = {
45073
+ agentPaneSessionId: session.id,
45074
+ repoburgSessionId: runtimeId,
45075
+ client,
45076
+ baseUrl,
45077
+ modelId: session.model ?? null,
45078
+ reasoningEffort: void 0,
45079
+ // re-pushed on the first thread turn
45080
+ threadId: turn.thread_id,
45081
+ activeTurn: null
45082
+ };
45083
+ sessionMap3.set(mapKey, entry);
45084
+ return entry;
45085
+ }
45046
45086
  function failTurnBeforeStart(db2, sessionId, turnId, error) {
45047
45087
  const now = (/* @__PURE__ */ new Date()).toISOString();
45048
45088
  db2.prepare("UPDATE turns SET status = ?, error = ?, updated_at = ? WHERE id = ?").run(
@@ -45139,7 +45179,7 @@ async function startTurn3(session, turn) {
45139
45179
  }
45140
45180
  let entry;
45141
45181
  try {
45142
- entry = await ensureSession(session, client, baseUrl);
45182
+ entry = turn.thread_id ? await ensureThreadSession(session, turn, client, baseUrl) : await ensureSession(session, client, baseUrl);
45143
45183
  } catch (err) {
45144
45184
  if (isConnectionError(err)) invalidateBackend(baseUrl);
45145
45185
  failTurnBeforeStart(db2, session.id, turn.id, `Failed to create repoburg session: ${err.message}`);
@@ -45187,7 +45227,15 @@ async function startTurn3(session, turn) {
45187
45227
  }
45188
45228
  }
45189
45229
  async function interruptTurn3(sessionId) {
45190
- const entry = sessionMap3.get(sessionId);
45230
+ let entry = sessionMap3.get(sessionId);
45231
+ if (!entry?.activeTurn) {
45232
+ for (const [key, threadEntry] of sessionMap3) {
45233
+ if (key.startsWith(`${sessionId}:thread:`) && threadEntry.activeTurn) {
45234
+ entry = threadEntry;
45235
+ break;
45236
+ }
45237
+ }
45238
+ }
45191
45239
  const active = entry?.activeTurn;
45192
45240
  if (!entry || !active) return false;
45193
45241
  active.cancelled = true;
@@ -45209,14 +45257,29 @@ async function interruptTurn3(sessionId) {
45209
45257
  return true;
45210
45258
  }
45211
45259
  function clearThread3(sessionId) {
45212
- const entry = sessionMap3.get(sessionId);
45213
- if (entry?.activeTurn) {
45214
- const active = entry.activeTurn;
45215
- entry.activeTurn = null;
45216
- active.projector.close();
45217
- active.sseAbort.abort();
45260
+ for (const [key, entry] of sessionMap3) {
45261
+ if (key !== sessionId && !key.startsWith(`${sessionId}:thread:`)) continue;
45262
+ if (entry.activeTurn) {
45263
+ const active = entry.activeTurn;
45264
+ entry.activeTurn = null;
45265
+ active.projector.close();
45266
+ active.sseAbort.abort();
45267
+ }
45268
+ sessionMap3.delete(key);
45269
+ }
45270
+ }
45271
+ function clearThreadBranch2(sessionId, threadId) {
45272
+ const key = `${sessionId}:thread:${threadId}`;
45273
+ const entry = sessionMap3.get(key);
45274
+ if (entry) {
45275
+ if (entry.activeTurn) {
45276
+ const active = entry.activeTurn;
45277
+ entry.activeTurn = null;
45278
+ active.projector.close();
45279
+ active.sseAbort.abort();
45280
+ }
45281
+ sessionMap3.delete(key);
45218
45282
  }
45219
- sessionMap3.delete(sessionId);
45220
45283
  }
45221
45284
  function parseRuntimeInputIds(turn) {
45222
45285
  const raw = turn.runtime_input_ids;
@@ -45294,6 +45357,20 @@ async function getModels3() {
45294
45357
  return [];
45295
45358
  }
45296
45359
  }
45360
+ async function getCommands2() {
45361
+ try {
45362
+ const resolved = await resolveBackendUrl(process.cwd(), { autoStart: false });
45363
+ if (!resolved) return [];
45364
+ const commands = await new RepoburgHttpClient(resolved.baseUrl).getSlashCommands();
45365
+ return commands.map((c) => ({
45366
+ name: c.name,
45367
+ description: c.description ?? "",
45368
+ argumentHint: c.argument_hint
45369
+ }));
45370
+ } catch {
45371
+ return [];
45372
+ }
45373
+ }
45297
45374
  async function shutdown3() {
45298
45375
  clearAllThreads3();
45299
45376
  }
@@ -45301,8 +45378,10 @@ var repoburgProvider = {
45301
45378
  startTurn: startTurn3,
45302
45379
  interruptTurn: interruptTurn3,
45303
45380
  clearThread: clearThread3,
45381
+ clearThreadBranch: clearThreadBranch2,
45304
45382
  clearAllThreads: clearAllThreads3,
45305
45383
  getModels: getModels3,
45384
+ getCommands: getCommands2,
45306
45385
  rewindRuntime,
45307
45386
  forkSession,
45308
45387
  shutdown: shutdown3
@@ -46,6 +46,7 @@ const agents_module_1 = require("./agents/agents.module");
46
46
  const mcp_server_module_1 = require("./mcp-server/mcp-server.module");
47
47
  const marketplace_module_1 = require("./mcp/marketplace/marketplace.module");
48
48
  const agent_runtime_module_1 = require("./agent-runtime/agent-runtime.module");
49
+ const slash_commands_module_1 = require("./slash-commands/slash-commands.module");
49
50
  let dbPath = ':memory:';
50
51
  if (process.env.NODE_ENV === 'production') {
51
52
  const projectPath = process.env.REPOBURG_PROJECT_PATH || process.cwd();
@@ -119,6 +120,7 @@ exports.AppModule = AppModule = __decorate([
119
120
  mcp_server_module_1.McpServerModule,
120
121
  marketplace_module_1.MarketplaceModule,
121
122
  agent_runtime_module_1.AgentRuntimeModule,
123
+ slash_commands_module_1.SlashCommandsModule,
122
124
  ],
123
125
  controllers: [app_controller_1.AppController],
124
126
  providers: [app_service_1.AppService],
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,16 @@ import { CreateSessionInputDto } from './dto/session-input.dto';
3
3
  import { ContextGenerationService } from '../context-generation/context-generation.service';
4
4
  import { ApplicationStateService } from '../application-state/application-state.service';
5
5
  import { ContextSnippetsService } from '../context-snippets/context-snippets.service';
6
+ import { SlashCommandsService } from '../slash-commands/slash-commands.service';
6
7
  import { CustomVariablesService } from '../custom-variables/custom-variables.service';
7
8
  export declare class SessionInputContextService {
8
9
  private readonly contextGenerationService;
9
10
  private readonly applicationStateService;
10
11
  private readonly contextSnippetsService;
12
+ private readonly slashCommandsService;
11
13
  private readonly customVariablesService;
12
14
  private readonly logger;
13
- constructor(contextGenerationService: ContextGenerationService, applicationStateService: ApplicationStateService, contextSnippetsService: ContextSnippetsService, customVariablesService: CustomVariablesService);
15
+ constructor(contextGenerationService: ContextGenerationService, applicationStateService: ApplicationStateService, contextSnippetsService: ContextSnippetsService, slashCommandsService: SlashCommandsService, customVariablesService: CustomVariablesService);
14
16
  private resolveContextSnippets;
15
17
  generateContext(dto: CreateSessionInputDto, contextTemplate: ContextTemplate | null, previousActionsSummary?: string): Promise<string>;
16
18
  }
@@ -15,13 +15,15 @@ const common_1 = require("@nestjs/common");
15
15
  const context_generation_service_1 = require("../context-generation/context-generation.service");
16
16
  const application_state_service_1 = require("../application-state/application-state.service");
17
17
  const context_snippets_service_1 = require("../context-snippets/context-snippets.service");
18
+ const slash_commands_service_1 = require("../slash-commands/slash-commands.service");
18
19
  const gpt_tokenizer_1 = require("gpt-tokenizer");
19
20
  const custom_variables_service_1 = require("../custom-variables/custom-variables.service");
20
21
  let SessionInputContextService = SessionInputContextService_1 = class SessionInputContextService {
21
- constructor(contextGenerationService, applicationStateService, contextSnippetsService, customVariablesService) {
22
+ constructor(contextGenerationService, applicationStateService, contextSnippetsService, slashCommandsService, customVariablesService) {
22
23
  this.contextGenerationService = contextGenerationService;
23
24
  this.applicationStateService = applicationStateService;
24
25
  this.contextSnippetsService = contextSnippetsService;
26
+ this.slashCommandsService = slashCommandsService;
25
27
  this.customVariablesService = customVariablesService;
26
28
  this.logger = new common_1.Logger(SessionInputContextService_1.name);
27
29
  }
@@ -55,8 +57,23 @@ let SessionInputContextService = SessionInputContextService_1 = class SessionInp
55
57
  };
56
58
  }
57
59
  async generateContext(dto, contextTemplate, previousActionsSummary) {
58
- const { resolvedContent: context_snippets_content, cleanedPrompt } = await this.resolveContextSnippets(dto.user_prompt);
59
- dto.user_prompt = cleanedPrompt;
60
+ let effectivePrompt = dto.user_prompt;
61
+ let slashExpanded = false;
62
+ try {
63
+ const expanded = await this.slashCommandsService.tryExpand(dto.user_prompt);
64
+ if (expanded !== null) {
65
+ effectivePrompt = expanded;
66
+ slashExpanded = true;
67
+ }
68
+ }
69
+ catch (error) {
70
+ this.logger.error(`Slash command expansion failed: ${error.message}`);
71
+ }
72
+ const { resolvedContent: context_snippets_content, cleanedPrompt } = await this.resolveContextSnippets(effectivePrompt);
73
+ const userInput = cleanedPrompt;
74
+ if (!slashExpanded) {
75
+ dto.user_prompt = cleanedPrompt;
76
+ }
60
77
  this.logger.log(`Generating context. Template: ${contextTemplate?.template_name || 'None'}. Ad-hoc: ${!!dto.ad_hoc_context_definition}. Snippets: ${context_snippets_content.length > 0 ? 'Yes' : 'No'}.`);
61
78
  const defaultTemplate = `<%~ it.context_snippets_content %>
62
79
 
@@ -70,7 +87,7 @@ let SessionInputContextService = SessionInputContextService_1 = class SessionInp
70
87
  const templateContent = contextTemplate?.template_content ?? defaultTemplate;
71
88
  if (templateContent.trim() === '') {
72
89
  this.logger.warn('Context template is empty. Using only the user prompt.');
73
- return dto.user_prompt;
90
+ return userInput;
74
91
  }
75
92
  const adHocData = {
76
93
  adhoc_files_content: '',
@@ -132,7 +149,7 @@ let SessionInputContextService = SessionInputContextService_1 = class SessionInp
132
149
  }, {});
133
150
  const data = {
134
151
  ad_hoc_context_definition: dto.ad_hoc_context_definition || null,
135
- user_input: dto.user_prompt,
152
+ user_input: userInput,
136
153
  user_prev_action: previousActionsSummary || '',
137
154
  context_snippets_content,
138
155
  ...adHocData,
@@ -150,8 +167,8 @@ let SessionInputContextService = SessionInputContextService_1 = class SessionInp
150
167
  if (!templateContent.includes('it.user_input')) {
151
168
  this.logger.warn("Template does not explicitly use 'it.user_input'. Appending user prompt to the end.");
152
169
  return generatedString.trim()
153
- ? `${generatedString}\n\n${dto.user_prompt}`
154
- : dto.user_prompt;
170
+ ? `${generatedString}\n\n${userInput}`
171
+ : userInput;
155
172
  }
156
173
  this.logger.log(`Generated context string of length ${generatedString.length} (${tokenCount} tokens)`);
157
174
  return generatedString;
@@ -168,6 +185,7 @@ exports.SessionInputContextService = SessionInputContextService = SessionInputCo
168
185
  __metadata("design:paramtypes", [context_generation_service_1.ContextGenerationService,
169
186
  application_state_service_1.ApplicationStateService,
170
187
  context_snippets_service_1.ContextSnippetsService,
188
+ slash_commands_service_1.SlashCommandsService,
171
189
  custom_variables_service_1.CustomVariablesService])
172
190
  ], SessionInputContextService);
173
191
  //# sourceMappingURL=session-input-context.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-input-context.service.js","sourceRoot":"","sources":["../../../src/session-inputs/session-input-context.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-input-context.service.js","sourceRoot":"","sources":["../../../src/session-inputs/session-input-context.service.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ const llm_provider_module_1 = require("../llm-provider/llm-provider.module");
23
23
  const chat_module_1 = require("../interactive-chat/chat.module");
24
24
  const llm_responses_module_1 = require("../llm-responses/llm-responses.module");
25
25
  const custom_variables_module_1 = require("../custom-variables/custom-variables.module");
26
+ const slash_commands_module_1 = require("../slash-commands/slash-commands.module");
26
27
  let SessionInputsModule = class SessionInputsModule {
27
28
  };
28
29
  exports.SessionInputsModule = SessionInputsModule;
@@ -46,6 +47,7 @@ exports.SessionInputsModule = SessionInputsModule = __decorate([
46
47
  (0, common_1.forwardRef)(() => chat_module_1.InteractiveChatModule),
47
48
  (0, common_1.forwardRef)(() => llm_responses_module_1.LlmResponsesModule),
48
49
  custom_variables_module_1.CustomVariablesModule,
50
+ slash_commands_module_1.SlashCommandsModule,
49
51
  ],
50
52
  controllers: [session_inputs_controller_1.SessionInputsController],
51
53
  providers: [session_inputs_service_1.SessionInputsService, session_input_context_service_1.SessionInputContextService],
@@ -1 +1 @@
1
- {"version":3,"file":"session-inputs.module.js","sourceRoot":"","sources":["../../../src/session-inputs/session-inputs.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,oDAM0B;AAC1B,qEAAgE;AAChE,2EAAsE;AACtE,uEAAkE;AAClE,+FAA0F;AAC1F,mFAA8E;AAC9E,mFAA6E;AAC7E,4FAAuF;AACvF,2DAAuD;AACvD,yFAAoF;AACpF,6EAAwE;AACxE,iEAAwE;AACxE,gFAA2E;AAC3E,yFAAoF;AA0B7E,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAxB/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,uBAAO;gBACP,4BAAY;gBACZ,+BAAe;gBACf,wBAAQ;gBACR,4BAAY;aACb,CAAC;YACF,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAe,CAAC;YACjC,mDAAuB;YACvB,2CAAmB;YACnB,iDAAsB;YACtB,4BAAY;YACZ,+CAAqB;YACrB,uCAAiB;YACjB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAqB,CAAC;YACvC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yCAAkB,CAAC;YACpC,+CAAqB;SACtB;QACD,WAAW,EAAE,CAAC,mDAAuB,CAAC;QACtC,SAAS,EAAE,CAAC,6CAAoB,EAAE,0DAA0B,CAAC;QAC7D,OAAO,EAAE,CAAC,6CAAoB,EAAE,0DAA0B,CAAC;KAC5D,CAAC;GACW,mBAAmB,CAAG"}
1
+ {"version":3,"file":"session-inputs.module.js","sourceRoot":"","sources":["../../../src/session-inputs/session-inputs.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,oDAM0B;AAC1B,qEAAgE;AAChE,2EAAsE;AACtE,uEAAkE;AAClE,+FAA0F;AAC1F,mFAA8E;AAC9E,mFAA6E;AAC7E,4FAAuF;AACvF,2DAAuD;AACvD,yFAAoF;AACpF,6EAAwE;AACxE,iEAAwE;AACxE,gFAA2E;AAC3E,yFAAoF;AACpF,mFAA8E;AA2BvE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAzB/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,uBAAO;gBACP,4BAAY;gBACZ,+BAAe;gBACf,wBAAQ;gBACR,4BAAY;aACb,CAAC;YACF,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAe,CAAC;YACjC,mDAAuB;YACvB,2CAAmB;YACnB,iDAAsB;YACtB,4BAAY;YACZ,+CAAqB;YACrB,uCAAiB;YACjB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,mCAAqB,CAAC;YACvC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yCAAkB,CAAC;YACpC,+CAAqB;YACrB,2CAAmB;SACpB;QACD,WAAW,EAAE,CAAC,mDAAuB,CAAC;QACtC,SAAS,EAAE,CAAC,6CAAoB,EAAE,0DAA0B,CAAC;QAC7D,OAAO,EAAE,CAAC,6CAAoB,EAAE,0DAA0B,CAAC;KAC5D,CAAC;GACW,mBAAmB,CAAG"}
@@ -0,0 +1,10 @@
1
+ import { SlashCommandsService } from './slash-commands.service';
2
+ export declare class SlashCommandsController {
3
+ private readonly slashCommandsService;
4
+ constructor(slashCommandsService: SlashCommandsService);
5
+ list(): Promise<{
6
+ name: string;
7
+ description?: string;
8
+ argument_hint?: string;
9
+ }[]>;
10
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SlashCommandsController = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const slash_commands_service_1 = require("./slash-commands.service");
16
+ let SlashCommandsController = class SlashCommandsController {
17
+ constructor(slashCommandsService) {
18
+ this.slashCommandsService = slashCommandsService;
19
+ }
20
+ async list() {
21
+ return this.slashCommandsService.list();
22
+ }
23
+ };
24
+ exports.SlashCommandsController = SlashCommandsController;
25
+ __decorate([
26
+ (0, common_1.Get)(),
27
+ (0, swagger_1.ApiOperation)({ summary: 'List available slash commands (no bodies)' }),
28
+ __metadata("design:type", Function),
29
+ __metadata("design:paramtypes", []),
30
+ __metadata("design:returntype", Promise)
31
+ ], SlashCommandsController.prototype, "list", null);
32
+ exports.SlashCommandsController = SlashCommandsController = __decorate([
33
+ (0, swagger_1.ApiTags)('slash-commands'),
34
+ (0, common_1.Controller)('slash-commands'),
35
+ __metadata("design:paramtypes", [slash_commands_service_1.SlashCommandsService])
36
+ ], SlashCommandsController);
37
+ //# sourceMappingURL=slash-commands.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-commands.controller.js","sourceRoot":"","sources":["../../../src/slash-commands/slash-commands.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiD;AACjD,6CAAwD;AACxD,qEAAgE;AAKzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAIrE,AAAN,KAAK,CAAC,IAAI;QAGR,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF,CAAA;AAVY,0DAAuB;AAK5B;IAFL,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;;;;mDAKtE;kCATU,uBAAuB;IAFnC,IAAA,iBAAO,EAAC,gBAAgB,CAAC;IACzB,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAEwB,6CAAoB;GAD5D,uBAAuB,CAUnC"}
@@ -0,0 +1,2 @@
1
+ export declare class SlashCommandsModule {
2
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SlashCommandsModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const slash_commands_service_1 = require("./slash-commands.service");
12
+ const slash_commands_controller_1 = require("./slash-commands.controller");
13
+ let SlashCommandsModule = class SlashCommandsModule {
14
+ };
15
+ exports.SlashCommandsModule = SlashCommandsModule;
16
+ exports.SlashCommandsModule = SlashCommandsModule = __decorate([
17
+ (0, common_1.Module)({
18
+ controllers: [slash_commands_controller_1.SlashCommandsController],
19
+ providers: [slash_commands_service_1.SlashCommandsService],
20
+ exports: [slash_commands_service_1.SlashCommandsService],
21
+ })
22
+ ], SlashCommandsModule);
23
+ //# sourceMappingURL=slash-commands.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-commands.module.js","sourceRoot":"","sources":["../../../src/slash-commands/slash-commands.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAAgE;AAChE,2EAAsE;AAO/D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAL/B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,mDAAuB,CAAC;QACtC,SAAS,EAAE,CAAC,6CAAoB,CAAC;QACjC,OAAO,EAAE,CAAC,6CAAoB,CAAC;KAChC,CAAC;GACW,mBAAmB,CAAG"}
@@ -0,0 +1,23 @@
1
+ export interface SlashCommandDefinition {
2
+ name: string;
3
+ description?: string;
4
+ argumentHint?: string;
5
+ body: string;
6
+ }
7
+ export interface SlashCommandSummary {
8
+ name: string;
9
+ description?: string;
10
+ argument_hint?: string;
11
+ }
12
+ export declare class SlashCommandsService {
13
+ private readonly logger;
14
+ private commandsDir;
15
+ list(): Promise<SlashCommandSummary[]>;
16
+ tryExpand(prompt: string): Promise<string | null>;
17
+ findByName(name: string): Promise<SlashCommandDefinition | null>;
18
+ private substitute;
19
+ private tokenizeArgs;
20
+ private loadAll;
21
+ private readHint;
22
+ private parseFile;
23
+ }