hammoc 1.0.3 → 1.1.0
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.
- package/README.md +46 -16
- package/bin/hammoc.js +22 -5
- package/package.json +2 -1
- package/packages/client/dist/assets/{index-BfemoSfM.js → index-CFWfpySn.js} +1 -1
- package/packages/client/dist/assets/index-D8ezrT4P.js +1446 -0
- package/packages/client/dist/assets/index-JvaBmdnx.css +32 -0
- package/packages/client/dist/favicon-192.png +0 -0
- package/packages/client/dist/favicon-512.png +0 -0
- package/packages/client/dist/favicon.png +0 -0
- package/packages/client/dist/index.html +5 -3
- package/packages/client/dist/manifest.webmanifest +1 -1
- package/packages/client/dist/sw.js +2 -1
- package/packages/server/dist/app.d.ts.map +1 -1
- package/packages/server/dist/app.js +58 -6
- package/packages/server/dist/app.js.map +1 -1
- package/packages/server/dist/config/index.d.ts +17 -9
- package/packages/server/dist/config/index.d.ts.map +1 -1
- package/packages/server/dist/config/index.js +17 -10
- package/packages/server/dist/config/index.js.map +1 -1
- package/packages/server/dist/controllers/boardController.d.ts +0 -1
- package/packages/server/dist/controllers/boardController.d.ts.map +1 -1
- package/packages/server/dist/controllers/boardController.js +62 -29
- package/packages/server/dist/controllers/boardController.js.map +1 -1
- package/packages/server/dist/controllers/cliController.d.ts.map +1 -1
- package/packages/server/dist/controllers/cliController.js +8 -0
- package/packages/server/dist/controllers/cliController.js.map +1 -1
- package/packages/server/dist/controllers/fileSystemController.d.ts +10 -0
- package/packages/server/dist/controllers/fileSystemController.d.ts.map +1 -1
- package/packages/server/dist/controllers/fileSystemController.js +156 -0
- package/packages/server/dist/controllers/fileSystemController.js.map +1 -1
- package/packages/server/dist/controllers/queueController.d.ts +0 -4
- package/packages/server/dist/controllers/queueController.d.ts.map +1 -1
- package/packages/server/dist/controllers/queueController.js +0 -88
- package/packages/server/dist/controllers/queueController.js.map +1 -1
- package/packages/server/dist/controllers/queueTemplateController.d.ts +4 -0
- package/packages/server/dist/controllers/queueTemplateController.d.ts.map +1 -1
- package/packages/server/dist/controllers/queueTemplateController.js +61 -4
- package/packages/server/dist/controllers/queueTemplateController.js.map +1 -1
- package/packages/server/dist/controllers/serverController.d.ts +3 -3
- package/packages/server/dist/controllers/serverController.d.ts.map +1 -1
- package/packages/server/dist/controllers/serverController.js +91 -39
- package/packages/server/dist/controllers/serverController.js.map +1 -1
- package/packages/server/dist/controllers/sessionController.d.ts.map +1 -1
- package/packages/server/dist/controllers/sessionController.js +2 -1
- package/packages/server/dist/controllers/sessionController.js.map +1 -1
- package/packages/server/dist/handlers/websocket.d.ts +12 -2
- package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
- package/packages/server/dist/handlers/websocket.js +785 -106
- package/packages/server/dist/handlers/websocket.js.map +1 -1
- package/packages/server/dist/index.js +5 -1
- package/packages/server/dist/index.js.map +1 -1
- package/packages/server/dist/locales/en/server.json +12 -3
- package/packages/server/dist/locales/es/server.json +3 -1
- package/packages/server/dist/locales/ja/server.json +3 -1
- package/packages/server/dist/locales/ko/server.json +12 -3
- package/packages/server/dist/locales/pt/server.json +3 -1
- package/packages/server/dist/locales/zh-CN/server.json +3 -1
- package/packages/server/dist/middleware/pathGuard.d.ts +1 -7
- package/packages/server/dist/middleware/pathGuard.d.ts.map +1 -1
- package/packages/server/dist/middleware/pathGuard.js +57 -4
- package/packages/server/dist/middleware/pathGuard.js.map +1 -1
- package/packages/server/dist/middleware/session.d.ts.map +1 -1
- package/packages/server/dist/middleware/session.js +3 -1
- package/packages/server/dist/middleware/session.js.map +1 -1
- package/packages/server/dist/routes/board.d.ts.map +1 -1
- package/packages/server/dist/routes/board.js +0 -1
- package/packages/server/dist/routes/board.js.map +1 -1
- package/packages/server/dist/routes/fileSystem.d.ts.map +1 -1
- package/packages/server/dist/routes/fileSystem.js +39 -0
- package/packages/server/dist/routes/fileSystem.js.map +1 -1
- package/packages/server/dist/routes/preferences.d.ts.map +1 -1
- package/packages/server/dist/routes/preferences.js +80 -2
- package/packages/server/dist/routes/preferences.js.map +1 -1
- package/packages/server/dist/routes/queue.d.ts.map +1 -1
- package/packages/server/dist/routes/queue.js +9 -8
- package/packages/server/dist/routes/queue.js.map +1 -1
- package/packages/server/dist/services/bmadStatusService.d.ts.map +1 -1
- package/packages/server/dist/services/bmadStatusService.js +60 -0
- package/packages/server/dist/services/bmadStatusService.js.map +1 -1
- package/packages/server/dist/services/chatService.d.ts +4 -0
- package/packages/server/dist/services/chatService.d.ts.map +1 -1
- package/packages/server/dist/services/chatService.js +7 -1
- package/packages/server/dist/services/chatService.js.map +1 -1
- package/packages/server/dist/services/cliService.d.ts.map +1 -1
- package/packages/server/dist/services/cliService.js +66 -15
- package/packages/server/dist/services/cliService.js.map +1 -1
- package/packages/server/dist/services/fileSystemService.d.ts +29 -1
- package/packages/server/dist/services/fileSystemService.d.ts.map +1 -1
- package/packages/server/dist/services/fileSystemService.js +240 -5
- package/packages/server/dist/services/fileSystemService.js.map +1 -1
- package/packages/server/dist/services/gitService.js +1 -1
- package/packages/server/dist/services/gitService.js.map +1 -1
- package/packages/server/dist/services/historyParser.d.ts +13 -0
- package/packages/server/dist/services/historyParser.d.ts.map +1 -1
- package/packages/server/dist/services/historyParser.js +159 -14
- package/packages/server/dist/services/historyParser.js.map +1 -1
- package/packages/server/dist/services/issueService.d.ts +3 -10
- package/packages/server/dist/services/issueService.d.ts.map +1 -1
- package/packages/server/dist/services/issueService.js +145 -156
- package/packages/server/dist/services/issueService.js.map +1 -1
- package/packages/server/dist/services/notificationService.d.ts +11 -6
- package/packages/server/dist/services/notificationService.d.ts.map +1 -1
- package/packages/server/dist/services/notificationService.js +75 -20
- package/packages/server/dist/services/notificationService.js.map +1 -1
- package/packages/server/dist/services/preferencesService.d.ts +2 -3
- package/packages/server/dist/services/preferencesService.d.ts.map +1 -1
- package/packages/server/dist/services/preferencesService.js +3 -10
- package/packages/server/dist/services/preferencesService.js.map +1 -1
- package/packages/server/dist/services/projectService.d.ts +26 -1
- package/packages/server/dist/services/projectService.d.ts.map +1 -1
- package/packages/server/dist/services/projectService.js +113 -0
- package/packages/server/dist/services/projectService.js.map +1 -1
- package/packages/server/dist/services/queueService.d.ts +1 -1
- package/packages/server/dist/services/queueService.d.ts.map +1 -1
- package/packages/server/dist/services/queueService.js +6 -2
- package/packages/server/dist/services/queueService.js.map +1 -1
- package/packages/server/dist/services/queueTemplateService.d.ts +5 -0
- package/packages/server/dist/services/queueTemplateService.d.ts.map +1 -1
- package/packages/server/dist/services/queueTemplateService.js +71 -21
- package/packages/server/dist/services/queueTemplateService.js.map +1 -1
- package/packages/server/dist/services/sessionService.d.ts +12 -0
- package/packages/server/dist/services/sessionService.d.ts.map +1 -1
- package/packages/server/dist/services/sessionService.js +121 -107
- package/packages/server/dist/services/sessionService.js.map +1 -1
- package/packages/server/dist/services/streamHandler.d.ts +4 -2
- package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
- package/packages/server/dist/services/streamHandler.js +20 -4
- package/packages/server/dist/services/streamHandler.js.map +1 -1
- package/packages/server/dist/services/webPushService.d.ts +61 -0
- package/packages/server/dist/services/webPushService.d.ts.map +1 -0
- package/packages/server/dist/services/webPushService.js +258 -0
- package/packages/server/dist/services/webPushService.js.map +1 -0
- package/packages/server/dist/utils/networkUtils.d.ts +17 -2
- package/packages/server/dist/utils/networkUtils.d.ts.map +1 -1
- package/packages/server/dist/utils/networkUtils.js +121 -8
- package/packages/server/dist/utils/networkUtils.js.map +1 -1
- package/packages/server/package.json +4 -0
- package/packages/shared/dist/constants/errorCodes.d.ts +1 -0
- package/packages/shared/dist/constants/errorCodes.d.ts.map +1 -1
- package/packages/shared/dist/constants/errorCodes.js +2 -0
- package/packages/shared/dist/constants/errorCodes.js.map +1 -1
- package/packages/shared/dist/index.d.ts +1 -1
- package/packages/shared/dist/index.d.ts.map +1 -1
- package/packages/shared/dist/index.js.map +1 -1
- package/packages/shared/dist/types/bmadStatus.d.ts +2 -0
- package/packages/shared/dist/types/bmadStatus.d.ts.map +1 -1
- package/packages/shared/dist/types/bmadStatus.js.map +1 -1
- package/packages/shared/dist/types/board.d.ts +8 -8
- package/packages/shared/dist/types/board.d.ts.map +1 -1
- package/packages/shared/dist/types/board.js +24 -39
- package/packages/shared/dist/types/board.js.map +1 -1
- package/packages/shared/dist/types/fileSystem.d.ts +36 -0
- package/packages/shared/dist/types/fileSystem.d.ts.map +1 -1
- package/packages/shared/dist/types/fileSystem.js +15 -0
- package/packages/shared/dist/types/fileSystem.js.map +1 -1
- package/packages/shared/dist/types/history.d.ts +10 -2
- package/packages/shared/dist/types/history.d.ts.map +1 -1
- package/packages/shared/dist/types/preferences.d.ts +26 -1
- package/packages/shared/dist/types/preferences.d.ts.map +1 -1
- package/packages/shared/dist/types/preferences.js.map +1 -1
- package/packages/shared/dist/types/sdk.d.ts +23 -0
- package/packages/shared/dist/types/sdk.d.ts.map +1 -1
- package/packages/shared/dist/types/sdk.js +48 -0
- package/packages/shared/dist/types/sdk.js.map +1 -1
- package/packages/shared/dist/types/streaming.d.ts +1 -0
- package/packages/shared/dist/types/streaming.d.ts.map +1 -1
- package/packages/shared/dist/types/streaming.js.map +1 -1
- package/packages/shared/dist/types/websocket.d.ts +41 -1
- package/packages/shared/dist/types/websocket.d.ts.map +1 -1
- package/packages/shared/dist/utils/queueTemplateUtils.d.ts +2 -1
- package/packages/shared/dist/utils/queueTemplateUtils.d.ts.map +1 -1
- package/packages/shared/dist/utils/queueTemplateUtils.js +10 -3
- package/packages/shared/dist/utils/queueTemplateUtils.js.map +1 -1
- package/packages/client/dist/assets/index-B335pbdL.js +0 -1297
- package/packages/client/dist/assets/index-CmTNL_3X.css +0 -32
- package/packages/client/dist/workbox-7a79b53c.js +0 -1
|
@@ -9,6 +9,16 @@ import type { ImageAttachment } from './message.js';
|
|
|
9
9
|
import type { QueueItem, QueueProgressEvent, QueueItemCompleteEvent, QueueErrorEvent, QueueItemsUpdatedEvent } from './queue.js';
|
|
10
10
|
import type { TerminalCreateRequest, TerminalListRequest, TerminalListResponse, TerminalInputEvent, TerminalResizeEvent, TerminalCreatedResponse, TerminalOutputEvent, TerminalExitEvent, TerminalErrorEvent, TerminalAccessInfo } from './terminal.js';
|
|
11
11
|
import type { DashboardStatusChangeEvent } from './dashboard.js';
|
|
12
|
+
/**
|
|
13
|
+
* Story 24.1: Prompt chain item for server-side chain state management
|
|
14
|
+
*/
|
|
15
|
+
export interface PromptChainItem {
|
|
16
|
+
id: string;
|
|
17
|
+
content: string;
|
|
18
|
+
status: 'pending' | 'sending' | 'sent' | 'failed';
|
|
19
|
+
createdAt: number;
|
|
20
|
+
retryCount?: number;
|
|
21
|
+
}
|
|
12
22
|
/**
|
|
13
23
|
* WebSocket connection status
|
|
14
24
|
*/
|
|
@@ -35,8 +45,9 @@ export interface ClientToServerEvents {
|
|
|
35
45
|
}) => void;
|
|
36
46
|
'permission:mode-change': (data: {
|
|
37
47
|
mode: PermissionMode;
|
|
48
|
+
projectSlug?: string;
|
|
38
49
|
}) => void;
|
|
39
|
-
'session:join': (sessionId: string) => void;
|
|
50
|
+
'session:join': (sessionId: string, projectSlug?: string) => void;
|
|
40
51
|
'session:leave': (sessionId: string) => void;
|
|
41
52
|
'queue:start': (data: {
|
|
42
53
|
items: QueueItem[];
|
|
@@ -76,6 +87,20 @@ export interface ClientToServerEvents {
|
|
|
76
87
|
'terminal:list': (data: TerminalListRequest) => void;
|
|
77
88
|
'dashboard:subscribe': () => void;
|
|
78
89
|
'dashboard:unsubscribe': () => void;
|
|
90
|
+
'chain:add': (data: {
|
|
91
|
+
sessionId: string;
|
|
92
|
+
content: string;
|
|
93
|
+
workingDirectory: string;
|
|
94
|
+
permissionMode?: PermissionMode;
|
|
95
|
+
model?: string;
|
|
96
|
+
}) => void;
|
|
97
|
+
'chain:remove': (data: {
|
|
98
|
+
sessionId: string;
|
|
99
|
+
id: string;
|
|
100
|
+
}) => void;
|
|
101
|
+
'chain:clear': (data: {
|
|
102
|
+
sessionId: string;
|
|
103
|
+
}) => void;
|
|
79
104
|
}
|
|
80
105
|
/**
|
|
81
106
|
* Events emitted from server to client
|
|
@@ -140,6 +165,7 @@ export interface ServerToClientEvents {
|
|
|
140
165
|
'stream:status': (data: {
|
|
141
166
|
active: boolean;
|
|
142
167
|
sessionId: string;
|
|
168
|
+
permissionMode?: PermissionMode;
|
|
143
169
|
}) => void;
|
|
144
170
|
'stream:detached': (data: {
|
|
145
171
|
sessionId: string;
|
|
@@ -157,10 +183,13 @@ export interface ServerToClientEvents {
|
|
|
157
183
|
'session:stream-change': (data: {
|
|
158
184
|
sessionId: string;
|
|
159
185
|
active: boolean;
|
|
186
|
+
projectSlug?: string | null;
|
|
160
187
|
}) => void;
|
|
161
188
|
'user:message': (data: {
|
|
162
189
|
content: string;
|
|
163
190
|
sessionId: string;
|
|
191
|
+
timestamp?: string;
|
|
192
|
+
imageCount?: number;
|
|
164
193
|
}) => void;
|
|
165
194
|
'queue:progress': (data: QueueProgressEvent) => void;
|
|
166
195
|
'queue:itemComplete': (data: QueueItemCompleteEvent) => void;
|
|
@@ -178,6 +207,17 @@ export interface ServerToClientEvents {
|
|
|
178
207
|
'terminal:list': (data: TerminalListResponse) => void;
|
|
179
208
|
'terminal:access': (data: TerminalAccessInfo) => void;
|
|
180
209
|
'dashboard:status-change': (data: DashboardStatusChangeEvent) => void;
|
|
210
|
+
'chain:update': (data: {
|
|
211
|
+
sessionId: string;
|
|
212
|
+
items: PromptChainItem[];
|
|
213
|
+
}) => void;
|
|
214
|
+
'stream:buffer-replay': (data: {
|
|
215
|
+
sessionId: string;
|
|
216
|
+
events: Array<{
|
|
217
|
+
event: string;
|
|
218
|
+
data: unknown;
|
|
219
|
+
}>;
|
|
220
|
+
}) => void;
|
|
181
221
|
}
|
|
182
222
|
/**
|
|
183
223
|
* Events for server-to-server communication (if needed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/types/websocket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACrJ,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACjI,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxP,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAIjE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;AAI7E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;KAC5B,KAAK,IAAI,CAAC;IACX,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,oBAAoB,EAAE,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,eAAe,EAAE,YAAY,GAAG,UAAU,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;KAClE,KAAK,IAAI,CAAC;IACX,wBAAwB,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/types/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,8 @@ import type { QueueStoryInfo } from '../types/queue.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function extractStoryNumbers(prdContent: string, epicContext?: number): QueueStoryInfo[];
|
|
12
12
|
/**
|
|
13
|
-
* Generate a queue script by replacing
|
|
13
|
+
* Generate a queue script by replacing template variables for each selected story.
|
|
14
|
+
* Supported variables: {story_num}, {epic_num}, {story_index}, {story_title}, {date}
|
|
14
15
|
* Optionally inserts @pause between different epic groups.
|
|
15
16
|
*/
|
|
16
17
|
export declare function generateQueueFromTemplate(template: string, stories: QueueStoryInfo[], insertPauseBetweenEpics: boolean): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueTemplateUtils.d.ts","sourceRoot":"","sources":["../../src/utils/queueTemplateUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAoC9F;AAED
|
|
1
|
+
{"version":3,"file":"queueTemplateUtils.d.ts","sourceRoot":"","sources":["../../src/utils/queueTemplateUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAoC9F;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EAAE,EACzB,uBAAuB,EAAE,OAAO,GAC/B,MAAM,CAyBR"}
|
|
@@ -42,7 +42,8 @@ export function extractStoryNumbers(prdContent, epicContext) {
|
|
|
42
42
|
return stories;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* Generate a queue script by replacing
|
|
45
|
+
* Generate a queue script by replacing template variables for each selected story.
|
|
46
|
+
* Supported variables: {story_num}, {epic_num}, {story_index}, {story_title}, {date}
|
|
46
47
|
* Optionally inserts @pause between different epic groups.
|
|
47
48
|
*/
|
|
48
49
|
export function generateQueueFromTemplate(template, stories, insertPauseBetweenEpics) {
|
|
@@ -52,12 +53,18 @@ export function generateQueueFromTemplate(template, stories, insertPauseBetweenE
|
|
|
52
53
|
const trimmed = template.replace(/\r\n/g, '\n').replace(/^\n+|\n+$/g, '');
|
|
53
54
|
const blocks = [];
|
|
54
55
|
let prevEpicNum = stories[0].epicNum;
|
|
56
|
+
const dateStr = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
|
|
55
57
|
for (const story of stories) {
|
|
56
58
|
if (insertPauseBetweenEpics && story.epicNum !== prevEpicNum) {
|
|
57
|
-
blocks.push(`@pause Epic ${prevEpicNum}
|
|
59
|
+
blocks.push(`@pause Epic ${prevEpicNum} completed`);
|
|
58
60
|
prevEpicNum = story.epicNum;
|
|
59
61
|
}
|
|
60
|
-
const replaced = trimmed
|
|
62
|
+
const replaced = trimmed
|
|
63
|
+
.replace(/\{story_num\}/g, story.storyNum)
|
|
64
|
+
.replace(/\{epic_num\}/g, String(story.epicNum))
|
|
65
|
+
.replace(/\{story_index\}/g, String(story.storyIndex))
|
|
66
|
+
.replace(/\{story_title\}/g, story.title ?? '')
|
|
67
|
+
.replace(/\{date\}/g, dateStr);
|
|
61
68
|
blocks.push(replaced);
|
|
62
69
|
}
|
|
63
70
|
return blocks.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueTemplateUtils.js","sourceRoot":"","sources":["../../src/utils/queueTemplateUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,WAAoB;IAC1E,MAAM,KAAK,GAAG,8DAA8D,CAAC;IAC7E,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,IAAI,OAAe,CAAC;QACpB,IAAI,UAAkB,CAAC;QACvB,IAAI,KAAyB,CAAC;QAE9B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,qDAAqD;YACrD,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QACxC,CAAC;aAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAC/B,wDAAwD;YACxD,OAAO,GAAG,WAAW,CAAC;YACtB,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE;YACpC,OAAO;YACP,UAAU;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAE7E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"queueTemplateUtils.js","sourceRoot":"","sources":["../../src/utils/queueTemplateUtils.ts"],"names":[],"mappings":"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"}
|