@irvingdinh/porygon-z 0.1.3 → 0.1.4

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 (56) hide show
  1. package/dist/app.module.js +8 -1
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/core/templates/slack/commands/command-help-ok.handlebars +9 -0
  4. package/dist/core/templates/slack/commands/command-kill-all-ok.handlebars +1 -0
  5. package/dist/core/templates/slack/commands/command-kill-ok.handlebars +1 -1
  6. package/dist/core/templates/slack/commands/command-sessions-ok.handlebars +8 -0
  7. package/dist/core/templates/slack/commands/command-workspace-ok-created.handlebars +1 -0
  8. package/dist/core/templates/slack/commands/command-workspace-ok.handlebars +1 -0
  9. package/dist/slack/services/claude.service.d.ts +15 -0
  10. package/dist/slack/services/claude.service.js +34 -6
  11. package/dist/slack/services/claude.service.js.map +1 -1
  12. package/dist/slack/services/commands/{command-sh.service.d.ts → command-help.service.d.ts} +3 -3
  13. package/dist/slack/services/commands/{command-sh.service.js → command-help.service.js} +11 -17
  14. package/dist/slack/services/commands/command-help.service.js.map +1 -0
  15. package/dist/slack/services/commands/command-kill-all.service.d.ts +12 -0
  16. package/dist/slack/services/commands/command-kill-all.service.js +40 -0
  17. package/dist/slack/services/commands/command-kill-all.service.js.map +1 -0
  18. package/dist/slack/services/commands/command-kill.service.d.ts +1 -1
  19. package/dist/slack/services/commands/command-kill.service.js +3 -2
  20. package/dist/slack/services/commands/command-kill.service.js.map +1 -1
  21. package/dist/slack/services/commands/command-sessions.service.d.ts +14 -0
  22. package/dist/slack/services/commands/command-sessions.service.js +102 -0
  23. package/dist/slack/services/commands/command-sessions.service.js.map +1 -0
  24. package/dist/slack/services/commands/command-workspace.service.d.ts +1 -0
  25. package/dist/slack/services/commands/command-workspace.service.js +53 -1
  26. package/dist/slack/services/commands/command-workspace.service.js.map +1 -1
  27. package/dist/slack/services/commands/index.d.ts +7 -5
  28. package/dist/slack/services/commands/index.js +6 -2
  29. package/dist/slack/services/commands/index.js.map +1 -1
  30. package/dist/slack/services/index.d.ts +8 -6
  31. package/dist/slack/services/index.js +4 -0
  32. package/dist/slack/services/index.js.map +1 -1
  33. package/dist/slack/services/listeners/index.d.ts +5 -4
  34. package/dist/slack/services/listeners/index.js +2 -1
  35. package/dist/slack/services/listeners/index.js.map +1 -1
  36. package/dist/slack/services/listeners/listener-mention.service.d.ts +10 -0
  37. package/dist/slack/services/listeners/listener-mention.service.js +47 -0
  38. package/dist/slack/services/listeners/listener-mention.service.js.map +1 -0
  39. package/dist/slack/services/listeners/listener-message.service.d.ts +3 -19
  40. package/dist/slack/services/listeners/listener-message.service.js +21 -261
  41. package/dist/slack/services/listeners/listener-message.service.js.map +1 -1
  42. package/dist/slack/services/message-handler.service.d.ts +30 -0
  43. package/dist/slack/services/message-handler.service.js +315 -0
  44. package/dist/slack/services/message-handler.service.js.map +1 -0
  45. package/dist/slack/services/message-handler.types.d.ts +11 -0
  46. package/dist/slack/services/message-handler.types.js +3 -0
  47. package/dist/slack/services/message-handler.types.js.map +1 -0
  48. package/dist/slack/services/streaming-update.service.d.ts +29 -0
  49. package/dist/slack/services/streaming-update.service.js +136 -0
  50. package/dist/slack/services/streaming-update.service.js.map +1 -0
  51. package/dist/slack/services/workspace.service.d.ts +2 -0
  52. package/dist/slack/services/workspace.service.js.map +1 -1
  53. package/dist/tsconfig.build.tsbuildinfo +1 -1
  54. package/package.json +3 -1
  55. package/dist/core/templates/slack/commands/command-sh-error-usage.handlebars +0 -1
  56. package/dist/slack/services/commands/command-sh.service.js.map +0 -1
@@ -8,6 +8,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.AppModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const event_emitter_1 = require("@nestjs/event-emitter");
12
+ const schedule_1 = require("@nestjs/schedule");
11
13
  const core_module_1 = require("./core/core.module");
12
14
  const slack_module_1 = require("./slack/slack.module");
13
15
  let AppModule = class AppModule {
@@ -15,7 +17,12 @@ let AppModule = class AppModule {
15
17
  exports.AppModule = AppModule;
16
18
  exports.AppModule = AppModule = __decorate([
17
19
  (0, common_1.Module)({
18
- imports: [core_module_1.CoreModule, slack_module_1.SlackModule],
20
+ imports: [
21
+ core_module_1.CoreModule,
22
+ event_emitter_1.EventEmitterModule.forRoot(),
23
+ schedule_1.ScheduleModule.forRoot(),
24
+ slack_module_1.SlackModule,
25
+ ],
19
26
  })
20
27
  ], AppModule);
21
28
  //# sourceMappingURL=app.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,oDAAgD;AAChD,uDAAmD;AAK5C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAHrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wBAAU,EAAE,0BAAW,CAAC;KACnC,CAAC;GACW,SAAS,CAAG"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAkD;AAElD,oDAAgD;AAChD,uDAAmD;AAU5C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IARrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,wBAAU;YACV,kCAAkB,CAAC,OAAO,EAAE;YAC5B,yBAAc,CAAC,OAAO,EAAE;YACxB,0BAAW;SACZ;KACF,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,9 @@
1
+ :book: *Porygon-Z Commands*
2
+
3
+ > `/workspace` — Configure workspace settings (directory, model, effort, permissions, channel response mode)
4
+ > `/cd <path>` — Change the working directory for this channel
5
+ > `/ll` — List files in the current working directory
6
+ > `/kill` — Kill running Claude processes in this channel
7
+ > `/kill-all` — Kill all running Claude processes globally
8
+ > `/sessions` — List active Claude sessions
9
+ > `/help` — Show this help message
@@ -0,0 +1 @@
1
+ :skull_and_crossbones: Killed {{count}} running Claude process{{#if plural}}es{{/if}} globally.
@@ -1 +1 @@
1
- :skull_and_crossbones: Killed {{count}} running Claude process{{#if plural}}es{{/if}}.
1
+ :skull_and_crossbones: Killed {{count}} running Claude process{{#if plural}}es{{/if}} in this channel.
@@ -0,0 +1,8 @@
1
+ {{#if empty}}
2
+ :file_folder: No active sessions found.
3
+ {{else}}
4
+ :file_folder: *{{count}} session(s):*
5
+ {{#each sessions}}
6
+ > `{{this.threadTs}}` — Session: `{{#if this.sessionId}}{{this.sessionId}}{{else}}(pending){{/if}}` — Created: {{this.createdAt}}
7
+ {{/each}}
8
+ {{/if}}
@@ -6,4 +6,5 @@
6
6
  > *Model:* `{{model}}`
7
7
  > *Effort:* `{{effort}}`
8
8
  > *Permission Mode:* `{{permissionLabel}}`
9
+ > *Channel Response:* `{{channelResponseLabel}}`
9
10
  {{#if hasSystemPrompt}}> *Workspace Instruction:* _(set)_{{else}}> *Workspace Instruction:* _(none)_{{/if}}
@@ -4,4 +4,5 @@
4
4
  > *Model:* `{{model}}`
5
5
  > *Effort:* `{{effort}}`
6
6
  > *Permission Mode:* `{{permissionLabel}}`
7
+ > *Channel Response:* `{{channelResponseLabel}}`
7
8
  {{#if hasSystemPrompt}}> *Workspace Instruction:* _(set)_{{else}}> *Workspace Instruction:* _(none)_{{/if}}
@@ -1,3 +1,4 @@
1
+ import { type ChildProcess } from 'node:child_process';
1
2
  import { OnApplicationShutdown } from '@nestjs/common';
2
3
  import type { EffortLevel, PermissionMode } from './workspace.service';
3
4
  export interface ThinkingBlock {
@@ -32,6 +33,13 @@ export interface StreamEvent {
32
33
  };
33
34
  result?: string;
34
35
  }
36
+ export interface ProcessInfo {
37
+ process: ChildProcess;
38
+ channelId: string;
39
+ userId: string;
40
+ threadTs: string;
41
+ startedAt: Date;
42
+ }
35
43
  export declare class ClaudeService implements OnApplicationShutdown {
36
44
  private readonly logger;
37
45
  private readonly processes;
@@ -43,6 +51,13 @@ export declare class ClaudeService implements OnApplicationShutdown {
43
51
  model?: string;
44
52
  effort?: EffortLevel;
45
53
  permissionMode?: PermissionMode;
54
+ context?: {
55
+ channelId: string;
56
+ userId: string;
57
+ threadTs: string;
58
+ };
46
59
  }): AsyncGenerator<StreamEvent>;
47
60
  killAll(): number;
61
+ killByChannel(channelId: string): number;
62
+ killByUser(userId: string): number;
48
63
  }
@@ -13,7 +13,7 @@ const node_readline_1 = require("node:readline");
13
13
  const common_1 = require("@nestjs/common");
14
14
  let ClaudeService = ClaudeService_1 = class ClaudeService {
15
15
  logger = new common_1.Logger(ClaudeService_1.name);
16
- processes = new Set();
16
+ processes = new Map();
17
17
  onApplicationShutdown() {
18
18
  this.killAll();
19
19
  }
@@ -39,10 +39,16 @@ let ClaudeService = ClaudeService_1 = class ClaudeService {
39
39
  stdio: ['pipe', 'pipe', 'pipe'],
40
40
  });
41
41
  this.logger.log(`Process started, pid: ${proc.pid}`);
42
- this.processes.add(proc);
42
+ this.processes.set(proc.pid, {
43
+ process: proc,
44
+ channelId: options.context?.channelId ?? '',
45
+ userId: options.context?.userId ?? '',
46
+ threadTs: options.context?.threadTs ?? '',
47
+ startedAt: new Date(),
48
+ });
43
49
  proc.on('exit', (code) => {
44
50
  this.logger.log(`Process ${proc.pid} exited with code: ${code}`);
45
- this.processes.delete(proc);
51
+ this.processes.delete(proc.pid);
46
52
  });
47
53
  if (proc.stderr) {
48
54
  proc.stderr.on('data', (chunk) => {
@@ -78,17 +84,39 @@ let ClaudeService = ClaudeService_1 = class ClaudeService {
78
84
  proc.on('exit', () => resolve());
79
85
  }
80
86
  });
81
- this.processes.delete(proc);
87
+ this.processes.delete(proc.pid);
82
88
  }
83
89
  }
84
90
  killAll() {
85
91
  const count = this.processes.size;
86
- for (const proc of this.processes) {
87
- proc.kill('SIGKILL');
92
+ for (const info of this.processes.values()) {
93
+ info.process.kill('SIGKILL');
88
94
  }
89
95
  this.processes.clear();
90
96
  return count;
91
97
  }
98
+ killByChannel(channelId) {
99
+ let count = 0;
100
+ for (const [pid, info] of this.processes) {
101
+ if (info.channelId === channelId) {
102
+ info.process.kill('SIGKILL');
103
+ this.processes.delete(pid);
104
+ count++;
105
+ }
106
+ }
107
+ return count;
108
+ }
109
+ killByUser(userId) {
110
+ let count = 0;
111
+ for (const [pid, info] of this.processes) {
112
+ if (info.userId === userId) {
113
+ info.process.kill('SIGKILL');
114
+ this.processes.delete(pid);
115
+ count++;
116
+ }
117
+ }
118
+ return count;
119
+ }
92
120
  };
93
121
  exports.ClaudeService = ClaudeService;
94
122
  exports.ClaudeService = ClaudeService = ClaudeService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"claude.service.js","sourceRoot":"","sources":["../../../src/slack/services/claude.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.service.js","sourceRoot":"","sources":["../../../src/slack/services/claude.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { AllMiddlewareArgs, SlackCommandMiddlewareArgs } from '@slack/bolt';
2
2
  import { TemplateService } from '../../../core/services/template.service';
3
3
  import { SlackCommand } from './registry.service';
4
- export declare class CommandShService implements SlackCommand {
4
+ export declare class CommandHelpService implements SlackCommand {
5
5
  private readonly template;
6
6
  private readonly logger;
7
- readonly command = "/sh";
7
+ readonly command = "/help";
8
8
  constructor(template: TemplateService);
9
- handle({ ack, command, }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
9
+ handle({ ack }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
10
10
  }
@@ -8,31 +8,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var CommandShService_1;
11
+ var CommandHelpService_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.CommandShService = void 0;
13
+ exports.CommandHelpService = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const template_service_1 = require("../../../core/services/template.service");
16
- let CommandShService = CommandShService_1 = class CommandShService {
16
+ let CommandHelpService = CommandHelpService_1 = class CommandHelpService {
17
17
  template;
18
- logger = new common_1.Logger(CommandShService_1.name);
19
- command = '/sh';
18
+ logger = new common_1.Logger(CommandHelpService_1.name);
19
+ command = '/help';
20
20
  constructor(template) {
21
21
  this.template = template;
22
22
  }
23
- async handle({ ack, command, }) {
24
- const rawCommand = command.text.trim();
25
- if (!rawCommand) {
26
- await ack(this.template.render('slack.commands.command-sh-error-usage'));
27
- return;
28
- }
29
- await ack();
30
- this.logger.warn('/sh is not yet implemented.');
23
+ async handle({ ack }) {
24
+ await ack(this.template.render('slack.commands.command-help-ok'));
31
25
  }
32
26
  };
33
- exports.CommandShService = CommandShService;
34
- exports.CommandShService = CommandShService = CommandShService_1 = __decorate([
27
+ exports.CommandHelpService = CommandHelpService;
28
+ exports.CommandHelpService = CommandHelpService = CommandHelpService_1 = __decorate([
35
29
  (0, common_1.Injectable)(),
36
30
  __metadata("design:paramtypes", [template_service_1.TemplateService])
37
- ], CommandShService);
38
- //# sourceMappingURL=command-sh.service.js.map
31
+ ], CommandHelpService);
32
+ //# sourceMappingURL=command-help.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-help.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-help.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAMpD,8EAA0E;AAInE,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAKA;IAJZ,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO,GAAG,OAAO,CAAC;IAE3B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAE1D,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAkD;QAClE,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AAVY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAM4B,kCAAe;GAL3C,kBAAkB,CAU9B"}
@@ -0,0 +1,12 @@
1
+ import type { AllMiddlewareArgs, SlackCommandMiddlewareArgs } from '@slack/bolt';
2
+ import { TemplateService } from '../../../core/services/template.service';
3
+ import { ClaudeService } from '../claude.service';
4
+ import { SlackCommand } from './registry.service';
5
+ export declare class CommandKillAllService implements SlackCommand {
6
+ private readonly claude;
7
+ private readonly template;
8
+ private readonly logger;
9
+ readonly command = "/kill-all";
10
+ constructor(claude: ClaudeService, template: TemplateService);
11
+ handle({ ack }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
12
+ }
@@ -0,0 +1,40 @@
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 CommandKillAllService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.CommandKillAllService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const template_service_1 = require("../../../core/services/template.service");
16
+ const claude_service_1 = require("../claude.service");
17
+ let CommandKillAllService = CommandKillAllService_1 = class CommandKillAllService {
18
+ claude;
19
+ template;
20
+ logger = new common_1.Logger(CommandKillAllService_1.name);
21
+ command = '/kill-all';
22
+ constructor(claude, template) {
23
+ this.claude = claude;
24
+ this.template = template;
25
+ }
26
+ async handle({ ack }) {
27
+ const count = this.claude.killAll();
28
+ await ack(this.template.render('slack.commands.command-kill-all-ok', {
29
+ count,
30
+ plural: count !== 1,
31
+ }));
32
+ }
33
+ };
34
+ exports.CommandKillAllService = CommandKillAllService;
35
+ exports.CommandKillAllService = CommandKillAllService = CommandKillAllService_1 = __decorate([
36
+ (0, common_1.Injectable)(),
37
+ __metadata("design:paramtypes", [claude_service_1.ClaudeService,
38
+ template_service_1.TemplateService])
39
+ ], CommandKillAllService);
40
+ //# sourceMappingURL=command-kill-all.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-kill-all.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-kill-all.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAMpD,8EAA0E;AAC1E,sDAAkD;AAI3C,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAMb;IACA;IANF,MAAM,GAAG,IAAI,eAAM,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IAExD,OAAO,GAAG,WAAW,CAAC;IAE/B,YACmB,MAAqB,EACrB,QAAyB;QADzB,WAAM,GAAN,MAAM,CAAe;QACrB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAkD;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,GAAG,CACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oCAAoC,EAAE;YACzD,KAAK;YACL,MAAM,EAAE,KAAK,KAAK,CAAC;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAOgB,8BAAa;QACX,kCAAe;GAPjC,qBAAqB,CAmBjC"}
@@ -8,5 +8,5 @@ export declare class CommandKillService implements SlackCommand {
8
8
  private readonly logger;
9
9
  readonly command = "/kill";
10
10
  constructor(claude: ClaudeService, template: TemplateService);
11
- handle({ ack }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
11
+ handle({ ack, command, }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
12
12
  }
@@ -23,8 +23,9 @@ let CommandKillService = CommandKillService_1 = class CommandKillService {
23
23
  this.claude = claude;
24
24
  this.template = template;
25
25
  }
26
- async handle({ ack }) {
27
- const count = this.claude.killAll();
26
+ async handle({ ack, command, }) {
27
+ const channelId = command.channel_id;
28
+ const count = this.claude.killByChannel(channelId);
28
29
  await ack(this.template.render('slack.commands.command-kill-ok', {
29
30
  count,
30
31
  plural: count !== 1,
@@ -1 +1 @@
1
- {"version":3,"file":"command-kill.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-kill.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAMpD,8EAA0E;AAC1E,sDAAkD;AAI3C,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAMV;IACA;IANF,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO,GAAG,OAAO,CAAC;IAE3B,YACmB,MAAqB,EACrB,QAAyB;QADzB,WAAM,GAAN,MAAM,CAAe;QACrB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAkD;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,GAAG,CACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gCAAgC,EAAE;YACrD,KAAK;YACL,MAAM,EAAE,KAAK,KAAK,CAAC;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAOgB,8BAAa;QACX,kCAAe;GAPjC,kBAAkB,CAmB9B"}
1
+ {"version":3,"file":"command-kill.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-kill.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAMpD,8EAA0E;AAC1E,sDAAkD;AAI3C,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAMV;IACA;IANF,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO,GAAG,OAAO,CAAC;IAE3B,YACmB,MAAqB,EACrB,QAAyB;QADzB,WAAM,GAAN,MAAM,CAAe;QACrB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,EACX,GAAG,EACH,OAAO,GACwC;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,GAAG,CACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gCAAgC,EAAE;YACrD,KAAK;YACL,MAAM,EAAE,KAAK,KAAK,CAAC;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAvBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAOgB,8BAAa;QACX,kCAAe;GAPjC,kBAAkB,CAuB9B"}
@@ -0,0 +1,14 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ import type { AllMiddlewareArgs, SlackCommandMiddlewareArgs } from '@slack/bolt';
3
+ import { TemplateService } from '../../../core/services/template.service';
4
+ import { SlackCommand } from './registry.service';
5
+ export declare class CommandSessionsService implements SlackCommand {
6
+ private readonly configService;
7
+ private readonly template;
8
+ private readonly logger;
9
+ readonly command = "/sessions";
10
+ private readonly sessionsDir;
11
+ constructor(configService: ConfigService, template: TemplateService);
12
+ handle({ ack }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
13
+ private listSessions;
14
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var CommandSessionsService_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.CommandSessionsService = void 0;
47
+ const fs = __importStar(require("node:fs"));
48
+ const path = __importStar(require("node:path"));
49
+ const common_1 = require("@nestjs/common");
50
+ const config_1 = require("@nestjs/config");
51
+ const template_service_1 = require("../../../core/services/template.service");
52
+ let CommandSessionsService = CommandSessionsService_1 = class CommandSessionsService {
53
+ configService;
54
+ template;
55
+ logger = new common_1.Logger(CommandSessionsService_1.name);
56
+ command = '/sessions';
57
+ sessionsDir;
58
+ constructor(configService, template) {
59
+ this.configService = configService;
60
+ this.template = template;
61
+ const config = this.configService.get('root');
62
+ this.sessionsDir = path.join(config.dir.home, 'sessions');
63
+ }
64
+ async handle({ ack }) {
65
+ const sessions = this.listSessions();
66
+ await ack(this.template.render('slack.commands.command-sessions-ok', {
67
+ sessions,
68
+ count: sessions.length,
69
+ empty: sessions.length === 0,
70
+ }));
71
+ }
72
+ listSessions() {
73
+ if (!fs.existsSync(this.sessionsDir))
74
+ return [];
75
+ return fs
76
+ .readdirSync(this.sessionsDir)
77
+ .filter((f) => f.endsWith('.json'))
78
+ .map((f) => {
79
+ try {
80
+ const raw = fs.readFileSync(path.join(this.sessionsDir, f), 'utf-8');
81
+ const data = JSON.parse(raw);
82
+ return {
83
+ threadTs: f.replace('.json', ''),
84
+ sessionId: data.sessionId,
85
+ createdAt: data.createdAt,
86
+ };
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ })
92
+ .filter((s) => s !== null)
93
+ .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
94
+ }
95
+ };
96
+ exports.CommandSessionsService = CommandSessionsService;
97
+ exports.CommandSessionsService = CommandSessionsService = CommandSessionsService_1 = __decorate([
98
+ (0, common_1.Injectable)(),
99
+ __metadata("design:paramtypes", [config_1.ConfigService,
100
+ template_service_1.TemplateService])
101
+ ], CommandSessionsService);
102
+ //# sourceMappingURL=command-sessions.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-sessions.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-sessions.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAElC,2CAAoD;AACpD,2CAA+C;AAO/C,8EAA0E;AAKnE,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAQd;IACA;IARF,MAAM,GAAG,IAAI,eAAM,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;IAEzD,OAAO,GAAG,WAAW,CAAC;IAEd,WAAW,CAAS;IAErC,YACmB,aAA4B,EAC5B,QAAyB;QADzB,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;QAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAY,MAAM,CAAE,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAkD;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,GAAG,CACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oCAAoC,EAAE;YACzD,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,YAAY;QAKlB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,OAAO,EAAE;aACN,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;gBAC9C,OAAO;oBACL,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBAChC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AApDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCASuB,sBAAa;QAClB,kCAAe;GATjC,sBAAsB,CAoDlC"}
@@ -12,4 +12,5 @@ export declare class CommandWorkspaceService implements SlackCommand {
12
12
  handle({ ack, command, client, }: SlackCommandMiddlewareArgs & AllMiddlewareArgs): Promise<void>;
13
13
  handleSubmission({ ack, view, client, }: SlackViewMiddlewareArgs<SlackViewAction> & AllMiddlewareArgs): Promise<void>;
14
14
  private permissionLabel;
15
+ private channelResponseLabel;
15
16
  }
@@ -69,6 +69,7 @@ let CommandWorkspaceService = CommandWorkspaceService_1 = class CommandWorkspace
69
69
  const currentModel = config?.model ?? 'opus[1m]';
70
70
  const currentEffort = config?.effort ?? 'max';
71
71
  const currentPermissionMode = config?.permissionMode ?? 'bypassPermissions';
72
+ const currentChannelResponseMode = config?.channelResponseMode ?? 'mention-only';
72
73
  await client.views.open({
73
74
  trigger_id: command.trigger_id,
74
75
  view: {
@@ -187,6 +188,45 @@ let CommandWorkspaceService = CommandWorkspaceService_1 = class CommandWorkspace
187
188
  ],
188
189
  },
189
190
  },
191
+ {
192
+ type: 'input',
193
+ block_id: 'channel_response_block',
194
+ label: {
195
+ type: 'plain_text',
196
+ text: 'Channel Response Mode',
197
+ },
198
+ element: {
199
+ type: 'static_select',
200
+ action_id: 'channel_response_input',
201
+ initial_option: {
202
+ text: {
203
+ type: 'plain_text',
204
+ text: this.channelResponseLabel(currentChannelResponseMode),
205
+ },
206
+ value: currentChannelResponseMode,
207
+ },
208
+ options: [
209
+ {
210
+ text: {
211
+ type: 'plain_text',
212
+ text: 'Mentions Only',
213
+ },
214
+ value: 'mention-only',
215
+ },
216
+ {
217
+ text: {
218
+ type: 'plain_text',
219
+ text: 'All Messages',
220
+ },
221
+ value: 'all-messages',
222
+ },
223
+ ],
224
+ },
225
+ hint: {
226
+ type: 'plain_text',
227
+ text: 'In channels: respond to @mentions only, or all messages',
228
+ },
229
+ },
190
230
  {
191
231
  type: 'input',
192
232
  block_id: 'system_prompt_block',
@@ -219,6 +259,8 @@ let CommandWorkspaceService = CommandWorkspaceService_1 = class CommandWorkspace
219
259
  ?.value ?? 'max';
220
260
  const permissionMode = values.permission_block.permission_input.selected_option
221
261
  ?.value ?? 'bypassPermissions';
262
+ const channelResponseMode = values.channel_response_block.channel_response_input.selected_option
263
+ ?.value ?? 'mention-only';
222
264
  const systemPrompt = values.system_prompt_block.system_prompt_input.value?.trim() ?? '';
223
265
  if (!cwd.startsWith('/')) {
224
266
  await ack({
@@ -264,9 +306,10 @@ let CommandWorkspaceService = CommandWorkspaceService_1 = class CommandWorkspace
264
306
  model,
265
307
  effort,
266
308
  permissionMode,
309
+ channelResponseMode,
267
310
  systemPrompt,
268
311
  });
269
- this.logger.log(`Workspace config updated for channel ${channelId}: cwd=${cwd}, model=${model}, effort=${effort}, permissionMode=${permissionMode}`);
312
+ this.logger.log(`Workspace config updated for channel ${channelId}: cwd=${cwd}, model=${model}, effort=${effort}, permissionMode=${permissionMode}, channelResponseMode=${channelResponseMode}`);
270
313
  const templateName = dirCreated
271
314
  ? 'slack.commands.command-workspace-ok-created'
272
315
  : 'slack.commands.command-workspace-ok';
@@ -275,6 +318,7 @@ let CommandWorkspaceService = CommandWorkspaceService_1 = class CommandWorkspace
275
318
  model,
276
319
  effort,
277
320
  permissionLabel: this.permissionLabel(permissionMode),
321
+ channelResponseLabel: this.channelResponseLabel(channelResponseMode),
278
322
  hasSystemPrompt: systemPrompt.length > 0,
279
323
  });
280
324
  await client.chat.postMessage({
@@ -292,6 +336,14 @@ let CommandWorkspaceService = CommandWorkspaceService_1 = class CommandWorkspace
292
336
  return 'Plan (read-only)';
293
337
  }
294
338
  }
339
+ channelResponseLabel(mode) {
340
+ switch (mode) {
341
+ case 'mention-only':
342
+ return 'Mentions Only';
343
+ case 'all-messages':
344
+ return 'All Messages';
345
+ }
346
+ }
295
347
  };
296
348
  exports.CommandWorkspaceService = CommandWorkspaceService;
297
349
  exports.CommandWorkspaceService = CommandWorkspaceService = CommandWorkspaceService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"command-workspace.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-workspace.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-workspace.service.js","sourceRoot":"","sources":["../../../../src/slack/services/commands/command-workspace.service.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { CommandCdService } from './command-cd.service';
2
+ import { CommandHelpService } from './command-help.service';
2
3
  import { CommandKillService } from './command-kill.service';
4
+ import { CommandKillAllService } from './command-kill-all.service';
3
5
  import { CommandLlService } from './command-ll.service';
4
- import { CommandShService } from './command-sh.service';
6
+ import { CommandSessionsService } from './command-sessions.service';
5
7
  import { CommandWorkspaceService } from './command-workspace.service';
6
8
  import { RegistryService } from './registry.service';
7
- declare const commandClasses: (typeof CommandWorkspaceService | typeof CommandCdService | typeof CommandKillService | typeof CommandLlService | typeof CommandShService)[];
8
- export declare const commandServices: (typeof RegistryService | typeof CommandWorkspaceService | typeof CommandCdService | typeof CommandKillService | typeof CommandLlService | typeof CommandShService | {
9
+ declare const commandClasses: (typeof CommandWorkspaceService | typeof CommandCdService | typeof CommandHelpService | typeof CommandKillService | typeof CommandKillAllService | typeof CommandLlService | typeof CommandSessionsService)[];
10
+ export declare const commandServices: (typeof RegistryService | typeof CommandWorkspaceService | typeof CommandCdService | typeof CommandHelpService | typeof CommandKillService | typeof CommandKillAllService | typeof CommandLlService | typeof CommandSessionsService | {
9
11
  provide: symbol;
10
- useFactory: (...commands: InstanceType<(typeof commandClasses)[number]>[]) => (CommandWorkspaceService | CommandCdService | CommandKillService | CommandLlService | CommandShService)[];
11
- inject: (typeof CommandWorkspaceService | typeof CommandCdService | typeof CommandKillService | typeof CommandLlService | typeof CommandShService)[];
12
+ useFactory: (...commands: InstanceType<(typeof commandClasses)[number]>[]) => (CommandWorkspaceService | CommandCdService | CommandHelpService | CommandKillService | CommandKillAllService | CommandLlService | CommandSessionsService)[];
13
+ inject: (typeof CommandWorkspaceService | typeof CommandCdService | typeof CommandHelpService | typeof CommandKillService | typeof CommandKillAllService | typeof CommandLlService | typeof CommandSessionsService)[];
12
14
  })[];
13
15
  export {};