repoburg 1.3.168 → 1.3.169

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 (29) hide show
  1. package/backend/dist/src/llm-orchestration/action-handlers/discard-messages.handler.js +19 -9
  2. package/backend/dist/src/llm-orchestration/action-handlers/discard-messages.handler.js.map +1 -1
  3. package/backend/dist/src/llm-orchestration/action-handlers/session-status.handler.js +4 -1
  4. package/backend/dist/src/llm-orchestration/action-handlers/session-status.handler.js.map +1 -1
  5. package/backend/dist/src/llm-orchestration/session-status.util.js +2 -0
  6. package/backend/dist/src/llm-orchestration/session-status.util.js.map +1 -1
  7. package/backend/dist/src/seeding/data/sub-agents/session-compressor.d.ts +7 -0
  8. package/backend/dist/src/seeding/data/sub-agents/session-compressor.js +11 -0
  9. package/backend/dist/src/seeding/data/sub-agents/session-compressor.js.map +1 -0
  10. package/backend/dist/src/seeding/data/system-prompts/session-compressor-agent.d.ts +4 -0
  11. package/backend/dist/src/seeding/data/system-prompts/session-compressor-agent.js +51 -0
  12. package/backend/dist/src/seeding/data/system-prompts/session-compressor-agent.js.map +1 -0
  13. package/backend/dist/src/seeding/data/tool-hooks/session-compression-hook.d.ts +2 -0
  14. package/backend/dist/src/seeding/data/tool-hooks/session-compression-hook.js +41 -0
  15. package/backend/dist/src/seeding/data/tool-hooks/session-compression-hook.js.map +1 -0
  16. package/backend/dist/src/seeding/seeding.module.js +3 -2
  17. package/backend/dist/src/seeding/seeding.module.js.map +1 -1
  18. package/backend/dist/src/seeding/seeding.service.d.ts +3 -1
  19. package/backend/dist/src/seeding/seeding.service.js +6 -2
  20. package/backend/dist/src/seeding/seeding.service.js.map +1 -1
  21. package/backend/dist/src/seeding/tool-hook-seeding.service.d.ts +8 -0
  22. package/backend/dist/src/seeding/tool-hook-seeding.service.js +55 -0
  23. package/backend/dist/src/seeding/tool-hook-seeding.service.js.map +1 -0
  24. package/backend/dist/src/tool-hooks/hook-context.interface.d.ts +1 -0
  25. package/backend/dist/src/tool-hooks/tool-hooks.service.js +7 -1
  26. package/backend/dist/src/tool-hooks/tool-hooks.service.js.map +1 -1
  27. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  28. package/backend/package.json +1 -1
  29. package/package.json +1 -1
@@ -31,12 +31,12 @@ let DiscardMessagesHandler = class DiscardMessagesHandler {
31
31
  getMetadata() {
32
32
  return {
33
33
  name: this.toolName,
34
- description: 'Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically so you can continue working. Call get_messages first to identify short_ids, then call discard_messages with IDs to remove.',
34
+ description: 'Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically so you can continue working. Call get_messages or session_status first to identify short_ids, then call discard_messages with IDs to remove.',
35
35
  arguments: [
36
36
  {
37
37
  name: 'input_ids',
38
38
  type: 'string',
39
- description: 'Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef"). Use get_messages to find short_ids.',
39
+ description: 'Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef"). Use get_messages or session_status to find short_ids.',
40
40
  required: true,
41
41
  },
42
42
  {
@@ -45,19 +45,26 @@ let DiscardMessagesHandler = class DiscardMessagesHandler {
45
45
  description: 'Brief explanation (2-3 sentences max) of what is being discarded, what is kept, and why.',
46
46
  required: true,
47
47
  },
48
+ {
49
+ name: 'sessionId',
50
+ type: 'string',
51
+ description: 'Optional session ID to discard messages from. If not provided, uses the current session. Use this when compressing a parent session from a sub-agent.',
52
+ required: false,
53
+ },
48
54
  ],
49
55
  };
50
56
  }
51
57
  getDefinition() {
52
58
  return `## discard_messages
53
59
 
54
- Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically with reduced context so you can continue your task. Call \`get_messages\` first to identify short_ids, then call \`discard_messages\` with the IDs to remove.
60
+ Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically with reduced context so you can continue your task. Call \`get_messages\` or \`session_status\` first to identify short_ids, then call \`discard_messages\` with the IDs to remove.
55
61
 
56
- **Important:** Check \`total_est_tokens\`, \`target_tokens\`, and \`floor_tokens\` from \`get_messages\` output. Cherry-pick individual messages until \`total_est_tokens\` is near \`target_tokens\`. **Never discard below \`floor_tokens\`.**
62
+ **Important:** Check \`total_est_tokens\`, \`target_tokens\`, and \`floor_tokens\` from \`get_messages\` or \`session_status\` output. Cherry-pick individual messages until \`total_est_tokens\` is near \`target_tokens\`. **Never discard below \`floor_tokens\`.**
57
63
 
58
64
  ### Parameters:
59
- - \`input_ids\` (string, required): Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef,ghi45"). Use \`get_messages\` to find short_ids.
65
+ - \`input_ids\` (string, required): Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef,ghi45"). Use \`get_messages\` or \`session_status\` to find short_ids.
60
66
  - \`reason\` (string, required): Brief explanation (2-3 sentences max) of what is being discarded, what is kept, and why.
67
+ - \`sessionId\` (string, optional): Session ID to discard messages from. If not provided, uses the current session. Use this when compressing a parent session from a sub-agent.
61
68
 
62
69
  ### Returns:
63
70
  JSON object with:
@@ -119,6 +126,7 @@ args: {
119
126
  async execute(args, context) {
120
127
  try {
121
128
  const { input_ids, reason } = args;
129
+ const targetSessionId = args.sessionId || context.session_id;
122
130
  if (!input_ids ||
123
131
  typeof input_ids !== 'string' ||
124
132
  input_ids.trim() === '') {
@@ -158,7 +166,7 @@ args: {
158
166
  },
159
167
  };
160
168
  }
161
- const allInputs = await this.sessionInputsService.findAllBySessionId(context.session_id);
169
+ const allInputs = await this.sessionInputsService.findAllBySessionId(targetSessionId);
162
170
  const shortToFull = new Map();
163
171
  for (const inp of allInputs) {
164
172
  shortToFull.set((0, utils_1.toShortId)(inp.id), inp.id);
@@ -198,7 +206,7 @@ args: {
198
206
  const inputsBeingDiscarded = nonDiscardedInputs.filter((inp) => resolvedIdSet.has(inp.id) || autoDiscardIdSet.has(inp.id));
199
207
  const inputsForEstimation = await this.sessionInputsRepository.find({
200
208
  where: {
201
- session: { id: context.session_id },
209
+ session: { id: targetSessionId },
202
210
  is_discarded: false,
203
211
  },
204
212
  relations: ['aiActions', 'aiActions.executionLogs'],
@@ -217,14 +225,14 @@ args: {
217
225
  }
218
226
  }
219
227
  const newTotalTokens = oldTotalTokens - discardedTokens;
220
- const result = await this.sessionInputsService.toggleDiscardedBatch(context.session_id, {
228
+ const result = await this.sessionInputsService.toggleDiscardedBatch(targetSessionId, {
221
229
  input_ids: resolvedIds,
222
230
  is_discarded: true,
223
231
  });
224
232
  let autoDiscardedCount = 0;
225
233
  const _autoDiscardedTokens = 0;
226
234
  if (getMessagesInputIds.length > 0) {
227
- const autoResult = await this.sessionInputsService.toggleDiscardedBatch(context.session_id, {
235
+ const autoResult = await this.sessionInputsService.toggleDiscardedBatch(targetSessionId, {
228
236
  input_ids: getMessagesInputIds,
229
237
  is_discarded: true,
230
238
  });
@@ -243,6 +251,7 @@ args: {
243
251
  affected: result.affected,
244
252
  short_ids: shortIds,
245
253
  reason: reason.trim(),
254
+ session_id: targetSessionId,
246
255
  discarded_tokens: totalDiscardedTokens,
247
256
  new_total_tokens: finalNewTotal,
248
257
  target_tokens: get_messages_handler_1.CONTEXT_TARGET_TOKENS,
@@ -254,6 +263,7 @@ args: {
254
263
  arguments: JSON.stringify({
255
264
  input_ids: shortIds,
256
265
  reason: reason.trim(),
266
+ ...(args.sessionId ? { sessionId: args.sessionId } : {}),
257
267
  }),
258
268
  },
259
269
  };
@@ -1 +1 @@
1
- {"version":3,"file":"discard-messages.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/discard-messages.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discard-messages.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/discard-messages.handler.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ JSON object with:
57
57
  - \`message_count\`: Number of messages in this group
58
58
  - \`est_tokens\`: Estimated tokens for this group
59
59
  - \`messages\`: Array of message summaries, each with:
60
+ - \`short_id\`: Compact ID (first 3 + last 2 chars of UUID) — use this with \`discard_messages\`
60
61
  - \`role\`: "user" or "model"
61
62
  - \`preview\`: brief description (user prompt text or tool name + args)
62
63
  - \`thoughts\`: full reasoning/thinking content from the model (present only when available)
@@ -89,7 +90,9 @@ args: { sessionId: "abc-123-def" }
89
90
  execution_log: {
90
91
  output: JSON.stringify(status, null, 2),
91
92
  },
92
- persisted_args: {},
93
+ persisted_args: {
94
+ arguments: JSON.stringify({ sessionId }),
95
+ },
93
96
  };
94
97
  }
95
98
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-status.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/session-status.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAMrC,uDAAmD;AACnD,gFAA2E;AAC3E,gEAA8D;AAGvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YAEE,uBAAkE,EACjD,yBAAoD;QADpD,4BAAuB,GAAvB,uBAAuB,CAA0B;QACjD,8BAAyB,GAAzB,yBAAyB,CAA2B;QAL9D,aAAQ,GAAG,gBAAgB,CAAC;IAMlC,CAAC;IAEJ,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EACT,4LAA4L;YAC9L,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sCAAsC;oBACnD,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAyB,EACzB,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,uCAAuC;oBAChD,aAAa,EACX,sFAAsF;oBACxF,aAAa,EAAE;wBACb,MAAM,EAAE,EAAE;wBACV,aAAa,EACX,sFAAsF;qBACzF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,0CAAoB,EACvC,SAAS,EACT,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B,CAAC;YAEF,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,gBAAgB,aAAa;gBACrH,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;gBACD,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,8BAA8B;gBACvC,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,aAAa,EAAE;oBACb,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,KAAK,CAAC,OAAO;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AArGY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,4BAAY,CAAC,CAAA;qCACW,oBAAU;QACR,uDAAyB;GAN5D,oBAAoB,CAqGhC"}
1
+ {"version":3,"file":"session-status.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/session-status.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAMrC,uDAAmD;AACnD,gFAA2E;AAC3E,gEAA8D;AAGvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YAEE,uBAAkE,EACjD,yBAAoD;QADpD,4BAAuB,GAAvB,uBAAuB,CAA0B;QACjD,8BAAyB,GAAzB,yBAAyB,CAA2B;QAL9D,aAAQ,GAAG,gBAAgB,CAAC;IAMlC,CAAC;IAEJ,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EACT,4LAA4L;YAC9L,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sCAAsC;oBACnD,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAyB,EACzB,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,uCAAuC;oBAChD,aAAa,EACX,sFAAsF;oBACxF,aAAa,EAAE;wBACb,MAAM,EAAE,EAAE;wBACV,aAAa,EACX,sFAAsF;qBACzF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,0CAAoB,EACvC,SAAS,EACT,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B,CAAC;YAEF,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,gBAAgB,aAAa;gBACrH,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;gBACD,cAAc,EAAE;oBACd,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;iBACzC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,8BAA8B;gBACvC,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,aAAa,EAAE;oBACb,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,KAAK,CAAC,OAAO;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAxGY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,4BAAY,CAAC,CAAA;qCACW,oBAAU;QACR,uDAAyB;GAN5D,oBAAoB,CAwGhC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.computeSessionStatus = computeSessionStatus;
4
4
  const get_messages_handler_1 = require("./action-handlers/get-messages.handler");
5
+ const utils_1 = require("../utils");
5
6
  async function computeSessionStatus(sessionId, sessionInputsRepository, historyCompressionService) {
6
7
  const inputs = await sessionInputsRepository.find({
7
8
  where: { session: { id: sessionId }, is_discarded: false },
@@ -64,6 +65,7 @@ async function computeSessionStatus(sessionId, sessionInputsRepository, historyC
64
65
  ? Math.round(compressedCharSizes[index] / ratio)
65
66
  : 0;
66
67
  return {
68
+ short_id: (0, utils_1.toShortId)(input.id),
67
69
  role: input.role || 'user',
68
70
  preview,
69
71
  thoughts: input.thoughts || undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"session-status.util.js","sourceRoot":"","sources":["../../../src/llm-orchestration/session-status.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-status.util.js","sourceRoot":"","sources":["../../../src/llm-orchestration/session-status.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const name = "session-compressor";
2
+ export declare const description = "Specialized agent for compressing session context by discarding old messages from a target session";
3
+ export declare const system_prompt_name = "session-compressor-agent";
4
+ export declare const enabled_tools: string[];
5
+ export declare const enabled_mcp_tools: any[];
6
+ export declare const model_id: any;
7
+ export declare const is_active = true;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.is_active = exports.model_id = exports.enabled_mcp_tools = exports.enabled_tools = exports.system_prompt_name = exports.description = exports.name = void 0;
4
+ exports.name = 'session-compressor';
5
+ exports.description = 'Specialized agent for compressing session context by discarding old messages from a target session';
6
+ exports.system_prompt_name = 'session-compressor-agent';
7
+ exports.enabled_tools = ['session_status', 'discard_messages', 'final'];
8
+ exports.enabled_mcp_tools = [];
9
+ exports.model_id = null;
10
+ exports.is_active = true;
11
+ //# sourceMappingURL=session-compressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-compressor.js","sourceRoot":"","sources":["../../../../../src/seeding/data/sub-agents/session-compressor.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,oBAAoB,CAAC;AAC5B,QAAA,WAAW,GACtB,oGAAoG,CAAC;AAC1F,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAChD,QAAA,aAAa,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAChE,QAAA,iBAAiB,GAAG,EAAE,CAAC;AACvB,QAAA,QAAQ,GAAG,IAAI,CAAC;AAChB,QAAA,SAAS,GAAG,IAAI,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const name = "Session Compressor Agent";
2
+ export declare const enabled_tools: string[];
3
+ export declare const enabled_mcp_tools: any[];
4
+ export declare const content = "# Session Compressor Agent\n\n## Role\nYou are a specialized agent that compresses conversation sessions by discarding old, no-longer-needed messages from the context window. You receive a target session ID, current token count, target token count, and floor token count in your task prompt. You selectively discard messages to bring the session near the target.\n\n## Instructions\n1. **Analyze First:** Call `session_status` with the provided `sessionId` to see all messages with their `short_id`, `preview`, `est_tokens`, and the session's `total_est_tokens`.\n2. **Cherry-Pick:** Select individual messages to discard using their `short_id`. Never discard entire groups blindly.\n3. **Stay Above Floor:** Never discard below the floor token count specified in your task prompt. You need enough context for the session to continue working.\n4. **Report:** Call `final` with a summary of what was discarded and the estimated new token count.\n\n## Keep Rules (always preserve)\n- The most recent user message and the model's response to it\n- Code changes (create_file, overwrite_file, quick_edit, delete_file) \u2014 these are the working context\n- Plan conclusions and summaries that anchor ongoing work (write_todo, final)\n\n## Discard Priority (discard these first)\n1. `request_context` outputs for files already examined\n2. `run_command` outputs that served a one-time purpose (find, rg, tree, npm test, etc.)\n3. `execute_code` outputs that were for quick verification\n4. `generate_title` calls\n5. Older user messages that have been fully addressed\n\n## Critical Rules\n- **Cherry-pick individual messages** using their `short_id`. Do NOT discard entire groups.\n- **Never go below the floor token count** from your task prompt \u2014 the session needs context to continue working after compression.\n- **Never discard code changes** \u2014 create_file, overwrite_file, quick_edit, delete_file messages are working context.\n- **Never discard explanation/planning** \u2014 final, html_final, write_todo messages are anchors.\n- Use the `sessionId` parameter on both `session_status` and `discard_messages` to target the correct session.\n- Stop selecting messages once the estimated remaining tokens would be near the target token count from your task prompt.\n- **Always finish with `final`** \u2014 report the number of messages discarded, tokens freed, and new estimated total.\n\n## Process\n1. Call `session_status` with `sessionId` set to the target session ID\n2. Review the groups and messages \u2014 identify candidates for discarding\n3. Call `discard_messages` with `sessionId`, selected `input_ids` (comma-separated short_ids), and a clear `reason`\n4. Call `final` with a summary of the compression result\n\n## Constraints\n- You only have access to `session_status`, `discard_messages`, and `final`.\n- Do not attempt to read files, run commands, or make code changes.\n- If the session is already near or below the target from your task prompt, call `final` reporting no action needed.\n- **Never respond without calling `final`.**\n";
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.content = exports.enabled_mcp_tools = exports.enabled_tools = exports.name = void 0;
4
+ exports.name = 'Session Compressor Agent';
5
+ exports.enabled_tools = ['session_status', 'discard_messages', 'final'];
6
+ exports.enabled_mcp_tools = [];
7
+ exports.content = `# Session Compressor Agent
8
+
9
+ ## Role
10
+ You are a specialized agent that compresses conversation sessions by discarding old, no-longer-needed messages from the context window. You receive a target session ID, current token count, target token count, and floor token count in your task prompt. You selectively discard messages to bring the session near the target.
11
+
12
+ ## Instructions
13
+ 1. **Analyze First:** Call \`session_status\` with the provided \`sessionId\` to see all messages with their \`short_id\`, \`preview\`, \`est_tokens\`, and the session's \`total_est_tokens\`.
14
+ 2. **Cherry-Pick:** Select individual messages to discard using their \`short_id\`. Never discard entire groups blindly.
15
+ 3. **Stay Above Floor:** Never discard below the floor token count specified in your task prompt. You need enough context for the session to continue working.
16
+ 4. **Report:** Call \`final\` with a summary of what was discarded and the estimated new token count.
17
+
18
+ ## Keep Rules (always preserve)
19
+ - The most recent user message and the model's response to it
20
+ - Code changes (create_file, overwrite_file, quick_edit, delete_file) — these are the working context
21
+ - Plan conclusions and summaries that anchor ongoing work (write_todo, final)
22
+
23
+ ## Discard Priority (discard these first)
24
+ 1. \`request_context\` outputs for files already examined
25
+ 2. \`run_command\` outputs that served a one-time purpose (find, rg, tree, npm test, etc.)
26
+ 3. \`execute_code\` outputs that were for quick verification
27
+ 4. \`generate_title\` calls
28
+ 5. Older user messages that have been fully addressed
29
+
30
+ ## Critical Rules
31
+ - **Cherry-pick individual messages** using their \`short_id\`. Do NOT discard entire groups.
32
+ - **Never go below the floor token count** from your task prompt — the session needs context to continue working after compression.
33
+ - **Never discard code changes** — create_file, overwrite_file, quick_edit, delete_file messages are working context.
34
+ - **Never discard explanation/planning** — final, html_final, write_todo messages are anchors.
35
+ - Use the \`sessionId\` parameter on both \`session_status\` and \`discard_messages\` to target the correct session.
36
+ - Stop selecting messages once the estimated remaining tokens would be near the target token count from your task prompt.
37
+ - **Always finish with \`final\`** — report the number of messages discarded, tokens freed, and new estimated total.
38
+
39
+ ## Process
40
+ 1. Call \`session_status\` with \`sessionId\` set to the target session ID
41
+ 2. Review the groups and messages — identify candidates for discarding
42
+ 3. Call \`discard_messages\` with \`sessionId\`, selected \`input_ids\` (comma-separated short_ids), and a clear \`reason\`
43
+ 4. Call \`final\` with a summary of the compression result
44
+
45
+ ## Constraints
46
+ - You only have access to \`session_status\`, \`discard_messages\`, and \`final\`.
47
+ - Do not attempt to read files, run commands, or make code changes.
48
+ - If the session is already near or below the target from your task prompt, call \`final\` reporting no action needed.
49
+ - **Never respond without calling \`final\`.**
50
+ `;
51
+ //# sourceMappingURL=session-compressor-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-compressor-agent.js","sourceRoot":"","sources":["../../../../../src/seeding/data/system-prompts/session-compressor-agent.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,0BAA0B,CAAC;AAClC,QAAA,aAAa,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAChE,QAAA,iBAAiB,GAAG,EAAE,CAAC;AACvB,QAAA,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const filename = "session-compression-hook.ts";
2
+ export declare const content = "/**\n * Session Compression Hook\n *\n * Wildcard after-hook that checks context size after every tool call.\n * If the context exceeds the threshold, invokes the session-compressor\n * sub-agent to discard old messages from the parent session.\n *\n * The sub-agent uses session_status (with sessionId) to see the parent\n * session's messages, then discard_messages (with sessionId) to remove\n * old ones. The discard takes effect on the parent session's next turn.\n */\n\nexport default async function(context: any): Promise<any> {\n const size = await context.api.getContextSize();\n const THRESHOLD = 100000; // tokens\n\n if (size > THRESHOLD) {\n const sessionId = context.session.id;\n const prompt =\n 'Compress session ' + sessionId + '. ' +\n 'Current tokens: ' + size + '. Target: ~75000. Floor: 50000. ' +\n 'Use session_status with sessionId \"' + sessionId + '\" to see messages with short_ids, ' +\n 'then discard_messages with sessionId \"' + sessionId + '\" to remove old ones. ' +\n 'Call final when done.';\n\n const result = await context.api.invokeSubAgent('session-compressor', prompt);\n\n return {\n should_halt_plan: false,\n message: 'Session compression triggered at ' + size + ' tokens. Subagent: ' + result.content,\n };\n }\n\n return { should_halt_plan: false };\n}\n";
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.content = exports.filename = void 0;
4
+ exports.filename = 'session-compression-hook.ts';
5
+ exports.content = `/**
6
+ * Session Compression Hook
7
+ *
8
+ * Wildcard after-hook that checks context size after every tool call.
9
+ * If the context exceeds the threshold, invokes the session-compressor
10
+ * sub-agent to discard old messages from the parent session.
11
+ *
12
+ * The sub-agent uses session_status (with sessionId) to see the parent
13
+ * session's messages, then discard_messages (with sessionId) to remove
14
+ * old ones. The discard takes effect on the parent session's next turn.
15
+ */
16
+
17
+ export default async function(context: any): Promise<any> {
18
+ const size = await context.api.getContextSize();
19
+ const THRESHOLD = 100000; // tokens
20
+
21
+ if (size > THRESHOLD) {
22
+ const sessionId = context.session.id;
23
+ const prompt =
24
+ 'Compress session ' + sessionId + '. ' +
25
+ 'Current tokens: ' + size + '. Target: ~75000. Floor: 50000. ' +
26
+ 'Use session_status with sessionId "' + sessionId + '" to see messages with short_ids, ' +
27
+ 'then discard_messages with sessionId "' + sessionId + '" to remove old ones. ' +
28
+ 'Call final when done.';
29
+
30
+ const result = await context.api.invokeSubAgent('session-compressor', prompt);
31
+
32
+ return {
33
+ should_halt_plan: false,
34
+ message: 'Session compression triggered at ' + size + ' tokens. Subagent: ' + result.content,
35
+ };
36
+ }
37
+
38
+ return { should_halt_plan: false };
39
+ }
40
+ `;
41
+ //# sourceMappingURL=session-compression-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-compression-hook.js","sourceRoot":"","sources":["../../../../../src/seeding/data/tool-hooks/session-compression-hook.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,6BAA6B,CAAC;AACzC,QAAA,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCtB,CAAC"}
@@ -27,7 +27,7 @@ const context_snippets_module_1 = require("../context-snippets/context-snippets.
27
27
  const context_snippet_seeding_service_1 = require("./context-snippet-seeding.service");
28
28
  const agents_module_1 = require("../agents/agents.module");
29
29
  const agent_seeding_service_1 = require("./agent-seeding.service");
30
- const core_entities_2 = require("../core-entities");
30
+ const tool_hook_seeding_service_1 = require("./tool-hook-seeding.service");
31
31
  let SeedingModule = class SeedingModule {
32
32
  };
33
33
  exports.SeedingModule = SeedingModule;
@@ -41,7 +41,7 @@ exports.SeedingModule = SeedingModule = __decorate([
41
41
  sub_agents_module_1.SubAgentsModule,
42
42
  context_snippets_module_1.ContextSnippetsModule,
43
43
  agents_module_1.AgentsModule,
44
- typeorm_1.TypeOrmModule.forFeature([core_entities_1.McpConfig, sub_agent_entity_1.SubAgent, core_entities_2.Agent]),
44
+ typeorm_1.TypeOrmModule.forFeature([core_entities_1.McpConfig, sub_agent_entity_1.SubAgent, core_entities_1.Agent, core_entities_1.ToolHook]),
45
45
  ],
46
46
  providers: [
47
47
  seeding_service_1.SeedingService,
@@ -53,6 +53,7 @@ exports.SeedingModule = SeedingModule = __decorate([
53
53
  sub_agent_seeding_service_1.SubAgentSeedingService,
54
54
  context_snippet_seeding_service_1.ContextSnippetSeedingService,
55
55
  agent_seeding_service_1.AgentSeedingService,
56
+ tool_hook_seeding_service_1.ToolHookSeedingService,
56
57
  ],
57
58
  exports: [seeding_service_1.SeedingService],
58
59
  })
@@ -1 +1 @@
1
- {"version":3,"file":"seeding.module.js","sourceRoot":"","sources":["../../../src/seeding/seeding.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,mFAA8E;AAC9E,4FAAuF;AACvF,mFAA6E;AAC7E,yFAAmF;AACnF,sFAAiF;AACjF,qFAA+E;AAC/E,6CAAgD;AAChD,oDAA6C;AAC7C,6EAAuE;AACvE,yFAAoF;AACpF,uFAAiF;AACjF,uEAAkE;AAClE,2EAAqE;AACrE,qEAA0D;AAC1D,yFAAoF;AACpF,uFAAiF;AACjF,2DAAuD;AACvD,mEAA8D;AAC9D,oDAAyC;AA0BlC,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAxBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,2CAAmB;YACnB,iDAAsB;YACtB,6CAAoB;YACpB,+CAAqB;YACrB,mCAAe;YACf,+CAAqB;YACrB,4BAAY;YACZ,uBAAa,CAAC,UAAU,CAAC,CAAC,yBAAS,EAAE,2BAAQ,EAAE,qBAAK,CAAC,CAAC;SACvD;QACD,SAAS,EAAE;YACT,gCAAc;YACd,0DAA0B;YAC1B,gEAA6B;YAC7B,4DAA2B;YAC3B,oDAAuB;YACvB,8DAA4B;YAC5B,kDAAsB;YACtB,8DAA4B;YAC5B,2CAAmB;SACpB;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
1
+ {"version":3,"file":"seeding.module.js","sourceRoot":"","sources":["../../../src/seeding/seeding.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,mFAA8E;AAC9E,4FAAuF;AACvF,mFAA6E;AAC7E,yFAAmF;AACnF,sFAAiF;AACjF,qFAA+E;AAC/E,6CAAgD;AAChD,oDAA8D;AAC9D,6EAAuE;AACvE,yFAAoF;AACpF,uFAAiF;AACjF,uEAAkE;AAClE,2EAAqE;AACrE,qEAA0D;AAC1D,yFAAoF;AACpF,uFAAiF;AACjF,2DAAuD;AACvD,mEAA8D;AAC9D,2EAAqE;AA2B9D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAzBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,2CAAmB;YACnB,iDAAsB;YACtB,6CAAoB;YACpB,+CAAqB;YACrB,mCAAe;YACf,+CAAqB;YACrB,4BAAY;YACZ,uBAAa,CAAC,UAAU,CAAC,CAAC,yBAAS,EAAE,2BAAQ,EAAE,qBAAK,EAAE,wBAAQ,CAAC,CAAC;SACjE;QACD,SAAS,EAAE;YACT,gCAAc;YACd,0DAA0B;YAC1B,gEAA6B;YAC7B,4DAA2B;YAC3B,oDAAuB;YACvB,8DAA4B;YAC5B,kDAAsB;YACtB,8DAA4B;YAC5B,2CAAmB;YACnB,kDAAsB;SACvB;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
@@ -6,6 +6,7 @@ import { CustomVariableSeedingService } from './custom-variable-seeding.service'
6
6
  import { SubAgentSeedingService } from './sub-agent-seeding.service';
7
7
  import { ContextSnippetSeedingService } from './context-snippet-seeding.service';
8
8
  import { AgentSeedingService } from './agent-seeding.service';
9
+ import { ToolHookSeedingService } from './tool-hook-seeding.service';
9
10
  export declare class SeedingService {
10
11
  private readonly systemPromptSeedingService;
11
12
  private readonly contextTemplateSeedingService;
@@ -15,7 +16,8 @@ export declare class SeedingService {
15
16
  private readonly subAgentSeedingService;
16
17
  private readonly contextSnippetSeedingService;
17
18
  private readonly agentSeedingService;
19
+ private readonly toolHookSeedingService;
18
20
  private readonly logger;
19
- constructor(systemPromptSeedingService: SystemPromptSeedingService, contextTemplateSeedingService: ContextTemplateSeedingService, customSnippetSeedingService: CustomSnippetSeedingService, mcpConfigSeedingService: McpConfigSeedingService, customVariableSeedingService: CustomVariableSeedingService, subAgentSeedingService: SubAgentSeedingService, contextSnippetSeedingService: ContextSnippetSeedingService, agentSeedingService: AgentSeedingService);
21
+ constructor(systemPromptSeedingService: SystemPromptSeedingService, contextTemplateSeedingService: ContextTemplateSeedingService, customSnippetSeedingService: CustomSnippetSeedingService, mcpConfigSeedingService: McpConfigSeedingService, customVariableSeedingService: CustomVariableSeedingService, subAgentSeedingService: SubAgentSeedingService, contextSnippetSeedingService: ContextSnippetSeedingService, agentSeedingService: AgentSeedingService, toolHookSeedingService: ToolHookSeedingService);
20
22
  seed(): Promise<void>;
21
23
  }
@@ -20,8 +20,9 @@ const custom_variable_seeding_service_1 = require("./custom-variable-seeding.ser
20
20
  const sub_agent_seeding_service_1 = require("./sub-agent-seeding.service");
21
21
  const context_snippet_seeding_service_1 = require("./context-snippet-seeding.service");
22
22
  const agent_seeding_service_1 = require("./agent-seeding.service");
23
+ const tool_hook_seeding_service_1 = require("./tool-hook-seeding.service");
23
24
  let SeedingService = SeedingService_1 = class SeedingService {
24
- constructor(systemPromptSeedingService, contextTemplateSeedingService, customSnippetSeedingService, mcpConfigSeedingService, customVariableSeedingService, subAgentSeedingService, contextSnippetSeedingService, agentSeedingService) {
25
+ constructor(systemPromptSeedingService, contextTemplateSeedingService, customSnippetSeedingService, mcpConfigSeedingService, customVariableSeedingService, subAgentSeedingService, contextSnippetSeedingService, agentSeedingService, toolHookSeedingService) {
25
26
  this.systemPromptSeedingService = systemPromptSeedingService;
26
27
  this.contextTemplateSeedingService = contextTemplateSeedingService;
27
28
  this.customSnippetSeedingService = customSnippetSeedingService;
@@ -30,6 +31,7 @@ let SeedingService = SeedingService_1 = class SeedingService {
30
31
  this.subAgentSeedingService = subAgentSeedingService;
31
32
  this.contextSnippetSeedingService = contextSnippetSeedingService;
32
33
  this.agentSeedingService = agentSeedingService;
34
+ this.toolHookSeedingService = toolHookSeedingService;
33
35
  this.logger = new common_1.Logger(SeedingService_1.name);
34
36
  }
35
37
  async seed() {
@@ -41,6 +43,7 @@ let SeedingService = SeedingService_1 = class SeedingService {
41
43
  await this.subAgentSeedingService.seed();
42
44
  await this.contextSnippetSeedingService.seed();
43
45
  await this.agentSeedingService.seed();
46
+ await this.toolHookSeedingService.seed();
44
47
  this.logger.log('Seeding complete.');
45
48
  }
46
49
  };
@@ -54,6 +57,7 @@ exports.SeedingService = SeedingService = SeedingService_1 = __decorate([
54
57
  custom_variable_seeding_service_1.CustomVariableSeedingService,
55
58
  sub_agent_seeding_service_1.SubAgentSeedingService,
56
59
  context_snippet_seeding_service_1.ContextSnippetSeedingService,
57
- agent_seeding_service_1.AgentSeedingService])
60
+ agent_seeding_service_1.AgentSeedingService,
61
+ tool_hook_seeding_service_1.ToolHookSeedingService])
58
62
  ], SeedingService);
59
63
  //# sourceMappingURL=seeding.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seeding.service.js","sourceRoot":"","sources":["../../../src/seeding/seeding.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yFAAmF;AACnF,mFAA6E;AAC7E,qFAA+E;AAC/E,6EAAuE;AACvE,uFAAiF;AACjF,2EAAqE;AACrE,uFAAiF;AACjF,mEAA8D;AAGvD,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGzB,YACmB,0BAAsD,EACtD,6BAA4D,EAC5D,2BAAwD,EACxD,uBAAgD,EAChD,4BAA0D,EAC1D,sBAA8C,EAC9C,4BAA0D,EAC1D,mBAAwC;QAPxC,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,kCAA6B,GAA7B,6BAA6B,CAA+B;QAC5D,gCAA2B,GAA3B,2BAA2B,CAA6B;QACxD,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,wBAAmB,GAAnB,mBAAmB,CAAqB;QAV1C,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAWvD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AAzBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAKoC,0DAA0B;QACvB,gEAA6B;QAC/B,4DAA2B;QAC/B,oDAAuB;QAClB,8DAA4B;QAClC,kDAAsB;QAChB,8DAA4B;QACrC,2CAAmB;GAXhD,cAAc,CAyB1B"}
1
+ {"version":3,"file":"seeding.service.js","sourceRoot":"","sources":["../../../src/seeding/seeding.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yFAAmF;AACnF,mFAA6E;AAC7E,qFAA+E;AAC/E,6EAAuE;AACvE,uFAAiF;AACjF,2EAAqE;AACrE,uFAAiF;AACjF,mEAA8D;AAC9D,2EAAqE;AAG9D,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGzB,YACmB,0BAAsD,EACtD,6BAA4D,EAC5D,2BAAwD,EACxD,uBAAgD,EAChD,4BAA0D,EAC1D,sBAA8C,EAC9C,4BAA0D,EAC1D,mBAAwC,EACxC,sBAA8C;QAR9C,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,kCAA6B,GAA7B,6BAA6B,CAA+B;QAC5D,gCAA2B,GAA3B,2BAA2B,CAA6B;QACxD,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAXhD,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAYvD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AA3BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAKoC,0DAA0B;QACvB,gEAA6B;QAC/B,4DAA2B;QAC/B,oDAAuB;QAClB,8DAA4B;QAClC,kDAAsB;QAChB,8DAA4B;QACrC,2CAAmB;QAChB,kDAAsB;GAZtD,cAAc,CA2B1B"}
@@ -0,0 +1,8 @@
1
+ import { Repository } from 'typeorm';
2
+ import { ToolHook } from '../core-entities';
3
+ export declare class ToolHookSeedingService {
4
+ private readonly toolHookRepository;
5
+ private readonly logger;
6
+ constructor(toolHookRepository: Repository<ToolHook>);
7
+ seed(): Promise<void>;
8
+ }
@@ -0,0 +1,55 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var ToolHookSeedingService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ToolHookSeedingService = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
19
+ const typeorm_2 = require("typeorm");
20
+ const core_entities_1 = require("../core-entities");
21
+ let ToolHookSeedingService = ToolHookSeedingService_1 = class ToolHookSeedingService {
22
+ constructor(toolHookRepository) {
23
+ this.toolHookRepository = toolHookRepository;
24
+ this.logger = new common_1.Logger(ToolHookSeedingService_1.name);
25
+ }
26
+ async seed() {
27
+ const scriptFilename = 'session-compression-hook.ts';
28
+ const existing = await this.toolHookRepository.findOne({
29
+ where: {
30
+ tool_name: '*',
31
+ timing: 'after',
32
+ script_filename: scriptFilename,
33
+ },
34
+ });
35
+ if (existing) {
36
+ this.logger.log(`Session compression hook config already exists (id: ${existing.id}). Skipping seed.`);
37
+ return;
38
+ }
39
+ const hook = this.toolHookRepository.create({
40
+ tool_name: '*',
41
+ timing: 'after',
42
+ script_filename: scriptFilename,
43
+ is_active: true,
44
+ });
45
+ await this.toolHookRepository.save(hook);
46
+ this.logger.log(`Seeded session compression hook config (id: ${hook.id}): tool_name="*", timing="after", script="${scriptFilename}"`);
47
+ }
48
+ };
49
+ exports.ToolHookSeedingService = ToolHookSeedingService;
50
+ exports.ToolHookSeedingService = ToolHookSeedingService = ToolHookSeedingService_1 = __decorate([
51
+ (0, common_1.Injectable)(),
52
+ __param(0, (0, typeorm_1.InjectRepository)(core_entities_1.ToolHook)),
53
+ __metadata("design:paramtypes", [typeorm_2.Repository])
54
+ ], ToolHookSeedingService);
55
+ //# sourceMappingURL=tool-hook-seeding.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-hook-seeding.service.js","sourceRoot":"","sources":["../../../src/seeding/tool-hook-seeding.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAmD;AACnD,qCAAqC;AACrC,oDAA4C;AAQrC,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAGjC,YAEE,kBAAyD;QAAxC,uBAAkB,GAAlB,kBAAkB,CAAsB;QAJ1C,WAAM,GAAG,IAAI,eAAM,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;IAK/D,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,cAAc,GAAG,6BAA6B,CAAC;QAGrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE;gBACL,SAAS,EAAE,GAAG;gBACd,MAAM,EAAE,OAAO;gBACf,eAAe,EAAE,cAAc;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uDAAuD,QAAQ,CAAC,EAAE,mBAAmB,CACtF,CAAC;YACF,OAAO;QACT,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC1C,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,OAAO;YACf,eAAe,EAAE,cAAc;YAC/B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,+CAA+C,IAAI,CAAC,EAAE,6CAA6C,cAAc,GAAG,CACrH,CAAC;IACJ,CAAC;CACF,CAAA;AAxCY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,wBAAQ,CAAC,CAAA;qCACU,oBAAU;GALtC,sBAAsB,CAwClC"}
@@ -52,6 +52,7 @@ export interface HookSessionStatusGroup {
52
52
  message_count: number;
53
53
  est_tokens: number;
54
54
  messages: Array<{
55
+ short_id: string;
55
56
  role: string;
56
57
  preview: string;
57
58
  thoughts?: string;
@@ -24,6 +24,7 @@ const path = require("path");
24
24
  const readmeData = require("../seeding/data/tool-hooks/readme");
25
25
  const exampleHookData = require("../seeding/data/tool-hooks/example-hook");
26
26
  const eslintHookData = require("../seeding/data/tool-hooks/eslint-hook");
27
+ const sessionCompressionHookData = require("../seeding/data/tool-hooks/session-compression-hook");
27
28
  let ToolHooksService = ToolHooksService_1 = class ToolHooksService {
28
29
  constructor(toolHooksRepository, hookRuntime) {
29
30
  this.toolHooksRepository = toolHooksRepository;
@@ -43,7 +44,12 @@ let ToolHooksService = ToolHooksService_1 = class ToolHooksService {
43
44
  }
44
45
  }
45
46
  async createExampleFiles() {
46
- const hooksToSeed = [readmeData, exampleHookData, eslintHookData];
47
+ const hooksToSeed = [
48
+ readmeData,
49
+ exampleHookData,
50
+ eslintHookData,
51
+ sessionCompressionHookData,
52
+ ];
47
53
  for (const hook of hooksToSeed) {
48
54
  const filePath = path.join(this.hooksDir, hook.filename);
49
55
  try {