@irvingdinh/porygon-z 0.1.3

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 (98) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +162 -0
  3. package/dist/app.module.d.ts +2 -0
  4. package/dist/app.module.js +21 -0
  5. package/dist/app.module.js.map +1 -0
  6. package/dist/core/config/config.d.ts +13 -0
  7. package/dist/core/config/config.js +67 -0
  8. package/dist/core/config/config.js.map +1 -0
  9. package/dist/core/core.module.d.ts +2 -0
  10. package/dist/core/core.module.js +24 -0
  11. package/dist/core/core.module.js.map +1 -0
  12. package/dist/core/modules/config.module.d.ts +1 -0
  13. package/dist/core/modules/config.module.js +10 -0
  14. package/dist/core/modules/config.module.js.map +1 -0
  15. package/dist/core/modules/index.d.ts +1 -0
  16. package/dist/core/modules/index.js +6 -0
  17. package/dist/core/modules/index.js.map +1 -0
  18. package/dist/core/services/index.d.ts +2 -0
  19. package/dist/core/services/index.js +6 -0
  20. package/dist/core/services/index.js.map +1 -0
  21. package/dist/core/services/template.service.d.ts +7 -0
  22. package/dist/core/services/template.service.js +93 -0
  23. package/dist/core/services/template.service.js.map +1 -0
  24. package/dist/core/templates/slack/commands/command-cd-error-escape.handlebars +1 -0
  25. package/dist/core/templates/slack/commands/command-cd-error-not-found.handlebars +1 -0
  26. package/dist/core/templates/slack/commands/command-cd-ok.handlebars +1 -0
  27. package/dist/core/templates/slack/commands/command-cd-show.handlebars +1 -0
  28. package/dist/core/templates/slack/commands/command-kill-ok.handlebars +1 -0
  29. package/dist/core/templates/slack/commands/command-ll-error.handlebars +2 -0
  30. package/dist/core/templates/slack/commands/command-ll-ok.handlebars +1 -0
  31. package/dist/core/templates/slack/commands/command-sh-error-usage.handlebars +1 -0
  32. package/dist/core/templates/slack/commands/command-workspace-ok-created.handlebars +9 -0
  33. package/dist/core/templates/slack/commands/command-workspace-ok.handlebars +7 -0
  34. package/dist/core/templates/slack/listeners/listener-message-attachments.handlebars +13 -0
  35. package/dist/core/templates/slack/listeners/listener-message-error.handlebars +1 -0
  36. package/dist/core/templates/slack/listeners/listener-message-follow-up-prompt.handlebars +26 -0
  37. package/dist/core/templates/slack/listeners/listener-message-session-corrupted.handlebars +1 -0
  38. package/dist/core/templates/slack/listeners/listener-message-session-expired.handlebars +1 -0
  39. package/dist/core/templates/slack/listeners/listener-message-system-prompt.handlebars +79 -0
  40. package/dist/main.d.ts +2 -0
  41. package/dist/main.js +11 -0
  42. package/dist/main.js.map +1 -0
  43. package/dist/slack/services/attachment.service.d.ts +23 -0
  44. package/dist/slack/services/attachment.service.js +113 -0
  45. package/dist/slack/services/attachment.service.js.map +1 -0
  46. package/dist/slack/services/bot.service.d.ts +16 -0
  47. package/dist/slack/services/bot.service.js +61 -0
  48. package/dist/slack/services/bot.service.js.map +1 -0
  49. package/dist/slack/services/claude-formatter.service.d.ts +9 -0
  50. package/dist/slack/services/claude-formatter.service.js +116 -0
  51. package/dist/slack/services/claude-formatter.service.js.map +1 -0
  52. package/dist/slack/services/claude.service.d.ts +48 -0
  53. package/dist/slack/services/claude.service.js +97 -0
  54. package/dist/slack/services/claude.service.js.map +1 -0
  55. package/dist/slack/services/commands/command-cd.service.d.ts +12 -0
  56. package/dist/slack/services/commands/command-cd.service.js +88 -0
  57. package/dist/slack/services/commands/command-cd.service.js.map +1 -0
  58. package/dist/slack/services/commands/command-kill.service.d.ts +12 -0
  59. package/dist/slack/services/commands/command-kill.service.js +40 -0
  60. package/dist/slack/services/commands/command-kill.service.js.map +1 -0
  61. package/dist/slack/services/commands/command-ll.service.d.ts +12 -0
  62. package/dist/slack/services/commands/command-ll.service.js +52 -0
  63. package/dist/slack/services/commands/command-ll.service.js.map +1 -0
  64. package/dist/slack/services/commands/command-sh.service.d.ts +10 -0
  65. package/dist/slack/services/commands/command-sh.service.js +38 -0
  66. package/dist/slack/services/commands/command-sh.service.js.map +1 -0
  67. package/dist/slack/services/commands/command-workspace.service.d.ts +15 -0
  68. package/dist/slack/services/commands/command-workspace.service.js +302 -0
  69. package/dist/slack/services/commands/command-workspace.service.js.map +1 -0
  70. package/dist/slack/services/commands/index.d.ts +13 -0
  71. package/dist/slack/services/commands/index.js +26 -0
  72. package/dist/slack/services/commands/index.js.map +1 -0
  73. package/dist/slack/services/commands/registry.service.d.ts +13 -0
  74. package/dist/slack/services/commands/registry.service.js +38 -0
  75. package/dist/slack/services/commands/registry.service.js.map +1 -0
  76. package/dist/slack/services/index.d.ts +15 -0
  77. package/dist/slack/services/index.js +22 -0
  78. package/dist/slack/services/index.js.map +1 -0
  79. package/dist/slack/services/listeners/index.d.ts +9 -0
  80. package/dist/slack/services/listeners/index.js +16 -0
  81. package/dist/slack/services/listeners/index.js.map +1 -0
  82. package/dist/slack/services/listeners/listener-message.service.d.ts +28 -0
  83. package/dist/slack/services/listeners/listener-message.service.js +297 -0
  84. package/dist/slack/services/listeners/listener-message.service.js.map +1 -0
  85. package/dist/slack/services/listeners/registry.service.d.ts +13 -0
  86. package/dist/slack/services/listeners/registry.service.js +38 -0
  87. package/dist/slack/services/listeners/registry.service.js.map +1 -0
  88. package/dist/slack/services/thread.service.d.ts +22 -0
  89. package/dist/slack/services/thread.service.js +125 -0
  90. package/dist/slack/services/thread.service.js.map +1 -0
  91. package/dist/slack/services/workspace.service.d.ts +21 -0
  92. package/dist/slack/services/workspace.service.js +98 -0
  93. package/dist/slack/services/workspace.service.js.map +1 -0
  94. package/dist/slack/slack.module.d.ts +2 -0
  95. package/dist/slack/slack.module.js +23 -0
  96. package/dist/slack/slack.module.js.map +1 -0
  97. package/dist/tsconfig.build.tsbuildinfo +1 -0
  98. package/package.json +75 -0
@@ -0,0 +1,125 @@
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 ThreadService_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.ThreadService = 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
+ let ThreadService = ThreadService_1 = class ThreadService {
52
+ configService;
53
+ logger = new common_1.Logger(ThreadService_1.name);
54
+ sessionsDir;
55
+ tempBase;
56
+ constructor(configService) {
57
+ this.configService = configService;
58
+ const config = this.configService.get('root');
59
+ this.sessionsDir = path.join(config.dir.home, 'sessions');
60
+ this.tempBase = path.join(config.dir.temp, 'porygon-z', 'threads');
61
+ fs.mkdirSync(this.sessionsDir, { recursive: true });
62
+ fs.mkdirSync(this.tempBase, { recursive: true });
63
+ }
64
+ exists(threadTs) {
65
+ return fs.existsSync(this.sessionPath(threadTs));
66
+ }
67
+ get(threadTs) {
68
+ const filePath = this.sessionPath(threadTs);
69
+ try {
70
+ const raw = fs.readFileSync(filePath, 'utf-8');
71
+ return JSON.parse(raw);
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ }
77
+ create(threadTs) {
78
+ const session = {
79
+ sessionId: null,
80
+ createdAt: new Date().toISOString(),
81
+ };
82
+ this.writeSession(threadTs, session);
83
+ return session;
84
+ }
85
+ setSessionId(threadTs, sessionId) {
86
+ const session = this.get(threadTs) ?? {
87
+ sessionId: null,
88
+ createdAt: new Date().toISOString(),
89
+ };
90
+ session.sessionId = sessionId;
91
+ this.writeSession(threadTs, session);
92
+ }
93
+ clearSessionId(threadTs) {
94
+ const session = this.get(threadTs);
95
+ if (!session)
96
+ return;
97
+ session.sessionId = null;
98
+ this.writeSession(threadTs, session);
99
+ }
100
+ attachmentsDir(channelId, parentTs) {
101
+ const dir = path.join(this.threadBase(channelId, parentTs), 'attachments');
102
+ fs.mkdirSync(dir, { recursive: true });
103
+ return dir;
104
+ }
105
+ uploadsDir(channelId, parentTs, tempMsgTs) {
106
+ const dir = path.join(this.threadBase(channelId, parentTs), 'uploads', tempMsgTs);
107
+ fs.mkdirSync(dir, { recursive: true });
108
+ return dir;
109
+ }
110
+ sessionPath(threadTs) {
111
+ return path.join(this.sessionsDir, `${threadTs}.json`);
112
+ }
113
+ threadBase(channelId, parentTs) {
114
+ return path.join(this.tempBase, `${channelId}-${parentTs}`);
115
+ }
116
+ writeSession(threadTs, session) {
117
+ fs.writeFileSync(this.sessionPath(threadTs), JSON.stringify(session, null, 2));
118
+ }
119
+ };
120
+ exports.ThreadService = ThreadService;
121
+ exports.ThreadService = ThreadService = ThreadService_1 = __decorate([
122
+ (0, common_1.Injectable)(),
123
+ __metadata("design:paramtypes", [config_1.ConfigService])
124
+ ], ThreadService);
125
+ //# sourceMappingURL=thread.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread.service.js","sourceRoot":"","sources":["../../../src/slack/services/thread.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export type EffortLevel = 'low' | 'medium' | 'high' | 'max';
3
+ export type PermissionMode = 'auto' | 'plan' | 'bypassPermissions';
4
+ export interface WorkspaceConfig {
5
+ cwd: string;
6
+ systemPrompt?: string;
7
+ model?: string;
8
+ effort?: EffortLevel;
9
+ permissionMode?: PermissionMode;
10
+ }
11
+ export declare class WorkspaceService {
12
+ private readonly configService;
13
+ private readonly logger;
14
+ private readonly workspacesDir;
15
+ constructor(configService: ConfigService);
16
+ get(channelId: string): WorkspaceConfig | null;
17
+ set(channelId: string, partial: Partial<WorkspaceConfig>): void;
18
+ resolveCwd(channelId: string): string;
19
+ resolveRelativePath(base: string, target: string): string;
20
+ private configPath;
21
+ }
@@ -0,0 +1,98 @@
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 WorkspaceService_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.WorkspaceService = void 0;
47
+ const fs = __importStar(require("node:fs"));
48
+ const os = __importStar(require("node:os"));
49
+ const path = __importStar(require("node:path"));
50
+ const common_1 = require("@nestjs/common");
51
+ const config_1 = require("@nestjs/config");
52
+ let WorkspaceService = WorkspaceService_1 = class WorkspaceService {
53
+ configService;
54
+ logger = new common_1.Logger(WorkspaceService_1.name);
55
+ workspacesDir;
56
+ constructor(configService) {
57
+ this.configService = configService;
58
+ const config = this.configService.get('root');
59
+ this.workspacesDir = path.join(config.dir.home, 'workspaces');
60
+ fs.mkdirSync(this.workspacesDir, { recursive: true });
61
+ }
62
+ get(channelId) {
63
+ const filePath = this.configPath(channelId);
64
+ try {
65
+ const raw = fs.readFileSync(filePath, 'utf-8');
66
+ return JSON.parse(raw);
67
+ }
68
+ catch {
69
+ return null;
70
+ }
71
+ }
72
+ set(channelId, partial) {
73
+ const existing = this.get(channelId) ?? {};
74
+ const merged = { ...existing, ...partial };
75
+ fs.writeFileSync(this.configPath(channelId), JSON.stringify(merged, null, 2));
76
+ }
77
+ resolveCwd(channelId) {
78
+ return this.get(channelId)?.cwd ?? os.homedir();
79
+ }
80
+ resolveRelativePath(base, target) {
81
+ const resolved = path.resolve(base, target);
82
+ const normalizedBase = path.resolve(base);
83
+ if (resolved !== normalizedBase &&
84
+ !resolved.startsWith(normalizedBase + path.sep)) {
85
+ throw new Error(`Path escapes the base directory: ${target}`);
86
+ }
87
+ return resolved;
88
+ }
89
+ configPath(channelId) {
90
+ return path.join(this.workspacesDir, `${channelId}.json`);
91
+ }
92
+ };
93
+ exports.WorkspaceService = WorkspaceService;
94
+ exports.WorkspaceService = WorkspaceService = WorkspaceService_1 = __decorate([
95
+ (0, common_1.Injectable)(),
96
+ __metadata("design:paramtypes", [config_1.ConfigService])
97
+ ], WorkspaceService);
98
+ //# sourceMappingURL=workspace.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../../src/slack/services/workspace.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,4CAA8B;AAC9B,gDAAkC;AAElC,2CAAoD;AACpD,2CAA+C;AAgBxC,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAKE;IAJZ,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAE3C,aAAa,CAAS;IAEvC,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAY,MAAM,CAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9D,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,OAAiC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAK,EAAsB,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QAE3C,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;IAED,mBAAmB,CAAC,IAAY,EAAE,MAAc;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,IACE,QAAQ,KAAK,cAAc;YAC3B,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AArDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAMiC,sBAAa;GAL9C,gBAAgB,CAqD5B"}
@@ -0,0 +1,2 @@
1
+ export declare class SlackModule {
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.SlackModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const core_module_1 = require("../core/core.module");
12
+ const services_1 = require("./services");
13
+ let SlackModule = class SlackModule {
14
+ };
15
+ exports.SlackModule = SlackModule;
16
+ exports.SlackModule = SlackModule = __decorate([
17
+ (0, common_1.Module)({
18
+ imports: [core_module_1.CoreModule],
19
+ providers: [...services_1.services],
20
+ exports: [...services_1.services],
21
+ })
22
+ ], SlackModule);
23
+ //# sourceMappingURL=slack.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.module.js","sourceRoot":"","sources":["../../src/slack/slack.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,qDAAiD;AACjD,yCAAsC;AAO/B,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wBAAU,CAAC;QACrB,SAAS,EAAE,CAAC,GAAG,mBAAQ,CAAC;QACxB,OAAO,EAAE,CAAC,GAAG,mBAAQ,CAAC;KACvB,CAAC;GACW,WAAW,CAAG"}