remnote-mcp-server 0.15.0 → 0.17.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/CHANGELOG.md +76 -0
- package/README.md +14 -9
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js +26 -2
- package/dist/config.js.map +1 -1
- package/dist/daemon.js.map +1 -1
- package/dist/http-server.d.ts +2 -1
- package/dist/http-server.js +4 -2
- package/dist/http-server.js.map +1 -1
- package/dist/index.js +3 -8
- package/dist/index.js.map +1 -1
- package/dist/media.d.ts +32 -0
- package/dist/media.js +184 -0
- package/dist/media.js.map +1 -0
- package/dist/remnote-cli/cli.js +8 -2
- package/dist/remnote-cli/cli.js.map +1 -1
- package/dist/remnote-cli/client/mcp-server-client.d.ts +1 -0
- package/dist/remnote-cli/client/mcp-server-client.js +24 -4
- package/dist/remnote-cli/client/mcp-server-client.js.map +1 -1
- package/dist/remnote-cli/commands/create.js +5 -2
- package/dist/remnote-cli/commands/create.js.map +1 -1
- package/dist/remnote-cli/commands/journal.js +1 -1
- package/dist/remnote-cli/commands/journal.js.map +1 -1
- package/dist/remnote-cli/commands/media.d.ts +2 -0
- package/dist/remnote-cli/commands/media.js +62 -0
- package/dist/remnote-cli/commands/media.js.map +1 -0
- package/dist/remnote-cli/commands/read.js +29 -3
- package/dist/remnote-cli/commands/read.js.map +1 -1
- package/dist/remnote-cli/commands/search.d.ts +1 -0
- package/dist/remnote-cli/commands/search.js +91 -7
- package/dist/remnote-cli/commands/search.js.map +1 -1
- package/dist/remnote-cli/commands/update.js +1 -1
- package/dist/remnote-cli/commands/update.js.map +1 -1
- package/dist/remnote-cli/commands/write-actions.d.ts +3 -0
- package/dist/remnote-cli/commands/write-actions.js +158 -2
- package/dist/remnote-cli/commands/write-actions.js.map +1 -1
- package/dist/schemas/remnote-schemas.d.ts +107 -9
- package/dist/schemas/remnote-schemas.js +194 -50
- package/dist/schemas/remnote-schemas.js.map +1 -1
- package/dist/shutdown.d.ts +15 -0
- package/dist/shutdown.js +59 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/tools/index.d.ts +3364 -585
- package/dist/tools/index.js +685 -41
- package/dist/tools/index.js.map +1 -1
- package/dist/types/bridge.d.ts +1 -0
- package/dist/websocket-server.d.ts +5 -1
- package/dist/websocket-server.js +18 -2
- package/dist/websocket-server.js.map +1 -1
- package/mcpb/remnote-local/manifest.json +26 -6
- package/mcpb/remnote-local/package.json +1 -1
- package/mcpb/remnote-local/remnote-local.mcpb +0 -0
- package/mcpb/remnote-local/server/fallback-tools.generated.js +285 -14
- package/mcpb/remnote-local/server/index.js +4 -2
- package/package.json +4 -4
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
const ContentModeSchema = z.enum(['none', 'markdown', 'structured']);
|
|
3
|
+
const ViewSchema = z.enum(['compact', 'standard', 'full']);
|
|
4
|
+
const RemClassificationSchema = z.enum([
|
|
5
|
+
'document',
|
|
6
|
+
'dailyDocument',
|
|
7
|
+
'concept',
|
|
8
|
+
'descriptor',
|
|
9
|
+
'portal',
|
|
10
|
+
'text',
|
|
11
|
+
]);
|
|
12
|
+
const AncestorDepthSchema = z
|
|
13
|
+
.number()
|
|
14
|
+
.int()
|
|
15
|
+
.min(0)
|
|
16
|
+
.max(20)
|
|
17
|
+
.default(0)
|
|
18
|
+
.describe('Number of parent Rems to include, direct parent first');
|
|
19
|
+
const SearchContentShape = {
|
|
20
|
+
contentMode: ContentModeSchema.default('none').describe('Content rendering mode: "none" omits content, "markdown" renders child subtree, "structured" returns nested child objects with remIds'),
|
|
21
|
+
view: ViewSchema.default('standard').describe('Output detail level: compact, standard, or full'),
|
|
22
|
+
ancestorDepth: AncestorDepthSchema,
|
|
20
23
|
depth: z
|
|
21
24
|
.number()
|
|
22
25
|
.int()
|
|
23
26
|
.min(0)
|
|
24
27
|
.max(10)
|
|
25
28
|
.default(1)
|
|
26
|
-
.describe('Depth of child hierarchy to render
|
|
29
|
+
.describe('Depth of child hierarchy to render when contentMode is markdown or structured'),
|
|
27
30
|
childLimit: z
|
|
28
31
|
.number()
|
|
29
32
|
.int()
|
|
@@ -38,75 +41,180 @@ export const SearchSchema = z.object({
|
|
|
38
41
|
.max(200000)
|
|
39
42
|
.default(3000)
|
|
40
43
|
.describe('Maximum character length for rendered content'),
|
|
44
|
+
};
|
|
45
|
+
export const CreateNoteSchema = z
|
|
46
|
+
.object({
|
|
47
|
+
title: z.string().optional().describe('The title of the note'),
|
|
48
|
+
content: z
|
|
49
|
+
.string()
|
|
50
|
+
.optional()
|
|
51
|
+
.describe('Content as child bullets (markdown supported, including exact references as [[id:<remId>]])'),
|
|
52
|
+
parentId: z.string().optional().describe('Parent Rem ID'),
|
|
53
|
+
tagRemIds: z.array(z.string()).optional().describe('Exact tag Rem IDs to apply'),
|
|
54
|
+
asDocument: z
|
|
55
|
+
.boolean()
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('Mark the created title/root Rem as a document without changing card status'),
|
|
58
|
+
})
|
|
59
|
+
.strict()
|
|
60
|
+
.refine((value) => value.title !== undefined || value.content !== undefined, {
|
|
61
|
+
message: 'create_note requires either title or content',
|
|
41
62
|
});
|
|
63
|
+
export const SearchSchema = z
|
|
64
|
+
.object({
|
|
65
|
+
query: z.string().describe('Search query text'),
|
|
66
|
+
parentRemId: z
|
|
67
|
+
.string()
|
|
68
|
+
.min(1)
|
|
69
|
+
.optional()
|
|
70
|
+
.describe("Optional non-empty Rem ID. Scope the search to within this Rem's subtree. The Rem itself is excluded from results."),
|
|
71
|
+
limit: z.number().int().min(1).max(150).default(50).describe('Maximum results'),
|
|
72
|
+
cursor: z
|
|
73
|
+
.string()
|
|
74
|
+
.optional()
|
|
75
|
+
.describe('Opaque cursor returned by a previous remnote_search page'),
|
|
76
|
+
...SearchContentShape,
|
|
77
|
+
})
|
|
78
|
+
.strict();
|
|
42
79
|
export const SearchByTagSchema = z
|
|
43
80
|
.object({
|
|
44
81
|
tagRemId: z.string().min(1).describe('Exact tag Rem ID to search'),
|
|
82
|
+
resultMode: z
|
|
83
|
+
.enum(['context', 'tagged'])
|
|
84
|
+
.default('context')
|
|
85
|
+
.describe('"context" returns resolved ancestor context targets with matchedRems; "tagged" returns directly tagged Rems with context metadata'),
|
|
45
86
|
limit: z.number().int().min(1).max(150).default(50).describe('Maximum results'),
|
|
46
|
-
|
|
47
|
-
.
|
|
48
|
-
.
|
|
49
|
-
.describe('
|
|
87
|
+
cursor: z
|
|
88
|
+
.string()
|
|
89
|
+
.optional()
|
|
90
|
+
.describe('Opaque cursor returned by a previous remnote_search_by_tag page'),
|
|
91
|
+
timeoutMs: z
|
|
92
|
+
.number()
|
|
93
|
+
.int()
|
|
94
|
+
.min(1)
|
|
95
|
+
.max(60000)
|
|
96
|
+
.optional()
|
|
97
|
+
.describe('Per-call bridge wait timeout in milliseconds (default: 15000, max: 60000)'),
|
|
98
|
+
...SearchContentShape,
|
|
99
|
+
})
|
|
100
|
+
.strict();
|
|
101
|
+
export const ReadNoteSchema = z
|
|
102
|
+
.object({
|
|
103
|
+
remId: z.string().describe('The Rem ID to read'),
|
|
50
104
|
depth: z
|
|
51
105
|
.number()
|
|
52
106
|
.int()
|
|
53
107
|
.min(0)
|
|
54
108
|
.max(10)
|
|
55
|
-
.default(
|
|
56
|
-
.describe('Depth of child hierarchy to render
|
|
109
|
+
.default(5)
|
|
110
|
+
.describe('Depth of child hierarchy to render'),
|
|
111
|
+
contentMode: ContentModeSchema.default('markdown').describe('Content rendering mode: "none" omits content, "markdown" renders child subtree, "structured" returns nested child objects with remIds'),
|
|
112
|
+
view: ViewSchema.default('standard').describe('Output detail level: compact, standard, or full'),
|
|
113
|
+
ancestorDepth: AncestorDepthSchema,
|
|
57
114
|
childLimit: z
|
|
58
115
|
.number()
|
|
59
116
|
.int()
|
|
60
117
|
.min(1)
|
|
61
118
|
.max(500)
|
|
62
|
-
.default(
|
|
119
|
+
.default(100)
|
|
63
120
|
.describe('Maximum children per level in rendered content'),
|
|
64
121
|
maxContentLength: z
|
|
65
122
|
.number()
|
|
66
123
|
.int()
|
|
67
124
|
.min(100)
|
|
68
125
|
.max(200000)
|
|
69
|
-
.default(
|
|
126
|
+
.default(100000)
|
|
70
127
|
.describe('Maximum character length for rendered content'),
|
|
128
|
+
includeMediaMetadata: z
|
|
129
|
+
.boolean()
|
|
130
|
+
.default(false)
|
|
131
|
+
.describe('Include ordered image metadata from the root Rem text and backText fields'),
|
|
71
132
|
})
|
|
72
133
|
.strict();
|
|
73
|
-
export const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
.describe('Content rendering mode: "none" omits content, "markdown" renders child subtree, "structured" returns nested child objects with remIds'),
|
|
80
|
-
childLimit: z
|
|
134
|
+
export const GetMediaSchema = z
|
|
135
|
+
.object({
|
|
136
|
+
remId: z.string().min(1).describe('Root Rem ID containing the image'),
|
|
137
|
+
field: z.enum(['text', 'backText']).describe('Rich-text field containing the image'),
|
|
138
|
+
mediaId: z.string().min(1).describe('Stable media ID returned by remnote_read_note'),
|
|
139
|
+
maxInlineBytes: z
|
|
81
140
|
.number()
|
|
82
141
|
.int()
|
|
83
142
|
.min(1)
|
|
84
|
-
.max(
|
|
85
|
-
.default(
|
|
86
|
-
.describe('Maximum
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
143
|
+
.max(10 * 1024 * 1024)
|
|
144
|
+
.default(5 * 1024 * 1024)
|
|
145
|
+
.describe('Maximum image bytes to inline (default 5 MiB, hard maximum 10 MiB)'),
|
|
146
|
+
})
|
|
147
|
+
.strict();
|
|
148
|
+
export const ListChildrenSchema = z
|
|
149
|
+
.object({
|
|
150
|
+
parentRemId: z.string().min(1).describe('Parent Rem ID whose direct children should be listed'),
|
|
151
|
+
limit: z.number().int().min(1).max(150).default(50).describe('Maximum direct children'),
|
|
152
|
+
cursor: z
|
|
153
|
+
.string()
|
|
154
|
+
.optional()
|
|
155
|
+
.describe('Opaque cursor returned by a previous remnote_list_children page'),
|
|
156
|
+
view: ViewSchema.default('compact').describe('Output detail level for child metadata: compact, standard, or full'),
|
|
157
|
+
ancestorDepth: AncestorDepthSchema,
|
|
158
|
+
})
|
|
159
|
+
.strict();
|
|
95
160
|
export const InsertChildrenPositionSchema = z.enum(['first', 'last', 'before', 'after']);
|
|
161
|
+
export const MoveNoteSchema = z
|
|
162
|
+
.object({
|
|
163
|
+
remId: z.string().min(1).describe('Rem ID to move'),
|
|
164
|
+
newParentRemId: z.string().min(1).describe('New parent Rem ID'),
|
|
165
|
+
position: InsertChildrenPositionSchema.default('last').describe('Where to place the moved Rem under the new parent'),
|
|
166
|
+
siblingRemId: z.string().optional().describe('Sibling Rem ID required for before/after'),
|
|
167
|
+
dryRun: z.boolean().default(true).describe('Preview the move without mutating RemNote'),
|
|
168
|
+
expectedOldParentRemId: z
|
|
169
|
+
.string()
|
|
170
|
+
.optional()
|
|
171
|
+
.describe('Reject if the Rem current direct parent is different from this Rem ID'),
|
|
172
|
+
ancestorDepth: AncestorDepthSchema,
|
|
173
|
+
})
|
|
174
|
+
.strict()
|
|
175
|
+
.superRefine((value, ctx) => {
|
|
176
|
+
if ((value.position === 'before' || value.position === 'after') && !value.siblingRemId) {
|
|
177
|
+
ctx.addIssue({
|
|
178
|
+
code: z.ZodIssueCode.custom,
|
|
179
|
+
message: `siblingRemId is required when position is ${value.position}`,
|
|
180
|
+
path: ['siblingRemId'],
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if ((value.position === 'first' || value.position === 'last') && value.siblingRemId) {
|
|
184
|
+
ctx.addIssue({
|
|
185
|
+
code: z.ZodIssueCode.custom,
|
|
186
|
+
message: `siblingRemId must not be provided when position is ${value.position}`,
|
|
187
|
+
path: ['siblingRemId'],
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
});
|
|
96
191
|
export const UpdateNoteSchema = z
|
|
97
192
|
.object({
|
|
98
193
|
remId: z.string().describe('The Rem ID to update'),
|
|
99
|
-
title: z
|
|
194
|
+
title: z
|
|
195
|
+
.string()
|
|
196
|
+
.optional()
|
|
197
|
+
.describe('New title (markdown supported, including exact references as [[id:<remId>]])'),
|
|
100
198
|
})
|
|
101
199
|
.strict()
|
|
102
200
|
.refine((value) => value.title !== undefined, {
|
|
103
201
|
message: 'remnote_update_note requires title',
|
|
104
202
|
path: ['title'],
|
|
105
203
|
});
|
|
204
|
+
export const SetDocumentStatusSchema = z
|
|
205
|
+
.object({
|
|
206
|
+
remId: z.string().min(1).describe('The Rem ID whose document status should change'),
|
|
207
|
+
isDocument: z.boolean().describe('Whether the Rem should be marked as a document'),
|
|
208
|
+
dryRun: z.boolean().default(true).describe('Preview the change without mutating RemNote'),
|
|
209
|
+
expectedOldRemType: RemClassificationSchema.optional().describe('Reject if the current bridge remType differs from this stale-context guard'),
|
|
210
|
+
})
|
|
211
|
+
.strict();
|
|
106
212
|
export const InsertChildrenSchema = z
|
|
107
213
|
.object({
|
|
108
214
|
parentRemId: z.string().describe('Parent Rem ID that will receive the new children'),
|
|
109
|
-
content: z
|
|
215
|
+
content: z
|
|
216
|
+
.string()
|
|
217
|
+
.describe('Markdown content to insert as child Rems; use [[id:<remId>]] for exact Rem references'),
|
|
110
218
|
position: InsertChildrenPositionSchema.describe('Where to insert the new child Rems'),
|
|
111
219
|
siblingRemId: z.string().optional().describe('Sibling Rem ID required for before/after'),
|
|
112
220
|
})
|
|
@@ -130,7 +238,9 @@ export const InsertChildrenSchema = z
|
|
|
130
238
|
export const ReplaceChildrenSchema = z
|
|
131
239
|
.object({
|
|
132
240
|
parentRemId: z.string().describe('Parent Rem ID whose direct children will be replaced'),
|
|
133
|
-
content: z
|
|
241
|
+
content: z
|
|
242
|
+
.string()
|
|
243
|
+
.describe('Markdown content to use as replacement children; use [[id:<remId>]] for exact Rem references'),
|
|
134
244
|
})
|
|
135
245
|
.strict();
|
|
136
246
|
export const UpdateTagsSchema = z
|
|
@@ -144,9 +254,43 @@ export const UpdateTagsSchema = z
|
|
|
144
254
|
message: 'remnote_update_tags requires addTagRemIds or removeTagRemIds',
|
|
145
255
|
path: ['addTagRemIds'],
|
|
146
256
|
});
|
|
257
|
+
export const SetPropertyValueSchema = z.discriminatedUnion('kind', [
|
|
258
|
+
z
|
|
259
|
+
.object({
|
|
260
|
+
kind: z.literal('text'),
|
|
261
|
+
text: z
|
|
262
|
+
.string()
|
|
263
|
+
.describe('Plain text or markdown value to store in the property; use [[id:<remId>]] for exact Rem references'),
|
|
264
|
+
})
|
|
265
|
+
.strict(),
|
|
266
|
+
z
|
|
267
|
+
.object({
|
|
268
|
+
kind: z.literal('rem_reference'),
|
|
269
|
+
remId: z
|
|
270
|
+
.string()
|
|
271
|
+
.min(1)
|
|
272
|
+
.describe('Referenced Rem ID; use this for select-option Rem IDs too'),
|
|
273
|
+
})
|
|
274
|
+
.strict(),
|
|
275
|
+
z
|
|
276
|
+
.object({
|
|
277
|
+
kind: z.literal('clear'),
|
|
278
|
+
})
|
|
279
|
+
.strict(),
|
|
280
|
+
]);
|
|
281
|
+
export const SetPropertySchema = z
|
|
282
|
+
.object({
|
|
283
|
+
remId: z.string().min(1).describe('The Rem ID whose tag property should be set'),
|
|
284
|
+
tagRemId: z.string().min(1).describe('Exact tag/table Rem ID that owns the property'),
|
|
285
|
+
propertyRemId: z.string().min(1).describe('Exact property Rem ID under the tag/table Rem'),
|
|
286
|
+
value: SetPropertyValueSchema.describe('Property value payload'),
|
|
287
|
+
})
|
|
288
|
+
.strict();
|
|
147
289
|
export const AppendJournalSchema = z
|
|
148
290
|
.object({
|
|
149
|
-
content: z
|
|
291
|
+
content: z
|
|
292
|
+
.string()
|
|
293
|
+
.describe("Content to append to today's daily document; use [[id:<remId>]] for exact Rem references"),
|
|
150
294
|
timestamp: z.boolean().default(true).describe('Include timestamp'),
|
|
151
295
|
tagRemIds: z.array(z.string()).optional().describe('Exact tag Rem IDs to apply'),
|
|
152
296
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remnote-schemas.js","sourceRoot":"","sources":["../../src/schemas/remnote-schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remnote-schemas.js","sourceRoot":"","sources":["../../src/schemas/remnote-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Logger } from './logger.js';
|
|
2
|
+
export declare const DEFAULT_SHUTDOWN_TIMEOUT_MS = 5000;
|
|
3
|
+
interface StoppableServer {
|
|
4
|
+
stop: () => Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export interface ShutdownHandlerOptions {
|
|
7
|
+
logger: Pick<Logger, 'info' | 'warn' | 'error'>;
|
|
8
|
+
httpServer: StoppableServer;
|
|
9
|
+
wsServer: StoppableServer;
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
exit?: (code: number) => never | void;
|
|
12
|
+
}
|
|
13
|
+
export type ShutdownHandler = (signal?: NodeJS.Signals) => Promise<void>;
|
|
14
|
+
export declare function createShutdownHandler({ logger, httpServer, wsServer, timeoutMs, exit, }: ShutdownHandlerOptions): ShutdownHandler;
|
|
15
|
+
export {};
|
package/dist/shutdown.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const DEFAULT_SHUTDOWN_TIMEOUT_MS = 5000;
|
|
2
|
+
export function createShutdownHandler({ logger, httpServer, wsServer, timeoutMs = DEFAULT_SHUTDOWN_TIMEOUT_MS, exit = process.exit, }) {
|
|
3
|
+
let shutdownStarted = false;
|
|
4
|
+
let exitRequested = false;
|
|
5
|
+
const exitOnce = (code) => {
|
|
6
|
+
if (exitRequested) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
exitRequested = true;
|
|
10
|
+
exit(code);
|
|
11
|
+
};
|
|
12
|
+
return async (signal) => {
|
|
13
|
+
if (shutdownStarted) {
|
|
14
|
+
logger.warn({ signal }, 'Shutdown already in progress; forcing exit');
|
|
15
|
+
exitOnce(1);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
shutdownStarted = true;
|
|
19
|
+
if (signal) {
|
|
20
|
+
logger.info({ signal }, 'Shutting down');
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
logger.info('Shutting down');
|
|
24
|
+
}
|
|
25
|
+
let timeout;
|
|
26
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
27
|
+
timeout = setTimeout(() => resolve('timeout'), timeoutMs);
|
|
28
|
+
timeout.unref();
|
|
29
|
+
});
|
|
30
|
+
const cleanupPromise = (async () => {
|
|
31
|
+
await httpServer.stop();
|
|
32
|
+
await wsServer.stop();
|
|
33
|
+
return 'stopped';
|
|
34
|
+
})();
|
|
35
|
+
cleanupPromise.catch(() => {
|
|
36
|
+
// The main race handles immediate failures; this suppresses late rejections after timeout exit.
|
|
37
|
+
});
|
|
38
|
+
try {
|
|
39
|
+
const result = await Promise.race([cleanupPromise, timeoutPromise]);
|
|
40
|
+
if (timeout) {
|
|
41
|
+
clearTimeout(timeout);
|
|
42
|
+
}
|
|
43
|
+
if (result === 'timeout') {
|
|
44
|
+
logger.error({ timeoutMs }, 'Shutdown timed out; forcing exit');
|
|
45
|
+
exitOnce(1);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
exitOnce(0);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (timeout) {
|
|
52
|
+
clearTimeout(timeout);
|
|
53
|
+
}
|
|
54
|
+
logger.error({ err: error }, 'Shutdown failed; forcing exit');
|
|
55
|
+
exitOnce(1);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=shutdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAgBhD,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,UAAU,EACV,QAAQ,EACR,SAAS,GAAG,2BAA2B,EACvC,IAAI,GAAG,OAAO,CAAC,IAAI,GACI;IACvB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,KAAK,EAAE,MAAuB,EAAE,EAAE;QACvC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAC;YACtE,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO;QACT,CAAC;QAED,eAAe,GAAG,IAAI,CAAC;QACvB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,OAAmC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1D,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,SAAkB,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;QAEL,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;YACxB,gGAAgG;QAClG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;YACpE,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,kCAAkC,CAAC,CAAC;gBAChE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAC9D,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|