@codifycli/plugin-core 1.1.0-beta17 → 1.1.0-beta18
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/dist/messages/handlers.js +18 -2
- package/package.json +2 -2
- package/src/messages/handlers.ts +19 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ApplyRequestDataSchema, EmptyResponseDataSchema, GetResourceInfoRequestDataSchema, GetResourceInfoResponseDataSchema, ImportRequestDataSchema, ImportResponseDataSchema, InitializeRequestDataSchema, InitializeResponseDataSchema, IpcMessageSchema, IpcMessageV2Schema, MatchRequestDataSchema, MatchResponseDataSchema, MessageStatus, PlanRequestDataSchema, PlanResponseDataSchema, ResourceSchema, SetVerbosityRequestDataSchema, ValidateRequestDataSchema, ValidateResponseDataSchema } from '@codifycli/schemas';
|
|
1
|
+
import { ApplyRequestDataSchema, EmptyResponseDataSchema, ErrorCode, GetResourceInfoRequestDataSchema, GetResourceInfoResponseDataSchema, ImportRequestDataSchema, ImportResponseDataSchema, InitializeRequestDataSchema, InitializeResponseDataSchema, IpcMessageSchema, IpcMessageV2Schema, MatchRequestDataSchema, MatchResponseDataSchema, MessageStatus, PlanRequestDataSchema, PlanResponseDataSchema, ResourceSchema, SetVerbosityRequestDataSchema, ValidateRequestDataSchema, ValidateResponseDataSchema } from '@codifycli/schemas';
|
|
2
2
|
import { Ajv } from 'ajv';
|
|
3
3
|
import addFormats from 'ajv-formats';
|
|
4
|
+
import { ApplyValidationError } from '../common/errors.js';
|
|
4
5
|
import { SudoError } from '../errors.js';
|
|
5
6
|
const SupportedRequests = {
|
|
6
7
|
'initialize': {
|
|
@@ -122,12 +123,27 @@ export class MessageHandler {
|
|
|
122
123
|
status: MessageStatus.ERROR,
|
|
123
124
|
});
|
|
124
125
|
}
|
|
126
|
+
if (e instanceof ApplyValidationError) {
|
|
127
|
+
return process.send?.({
|
|
128
|
+
cmd,
|
|
129
|
+
// @ts-expect-error TS2239
|
|
130
|
+
requestId: message.requestId || undefined,
|
|
131
|
+
data: {
|
|
132
|
+
errorCode: ErrorCode.APPLY_VALIDATION,
|
|
133
|
+
plan: e.plan.toResponse(),
|
|
134
|
+
},
|
|
135
|
+
status: MessageStatus.ERROR,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
125
138
|
const isDebug = process.env.DEBUG?.includes('*') ?? false;
|
|
126
139
|
process.send?.({
|
|
127
140
|
cmd,
|
|
128
141
|
// @ts-expect-error TS2239
|
|
129
142
|
requestId: message.requestId || undefined,
|
|
130
|
-
data:
|
|
143
|
+
data: {
|
|
144
|
+
errorCode: ErrorCode.UNKNOWN,
|
|
145
|
+
message: isDebug ? (e.stack ?? e.message) : e.message,
|
|
146
|
+
},
|
|
131
147
|
status: MessageStatus.ERROR,
|
|
132
148
|
});
|
|
133
149
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codifycli/plugin-core",
|
|
3
|
-
"version": "1.1.0-
|
|
3
|
+
"version": "1.1.0-beta18",
|
|
4
4
|
"description": "TypeScript library for building Codify plugins to manage system resources (applications, CLI tools, settings) through infrastructure-as-code",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"license": "ISC",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@codifycli/schemas": "1.1.0-
|
|
38
|
+
"@codifycli/schemas": "^1.1.0-beta7",
|
|
39
39
|
"@homebridge/node-pty-prebuilt-multiarch": "^0.13.1",
|
|
40
40
|
"ajv": "^8.18.0",
|
|
41
41
|
"ajv-formats": "^2.1.1",
|
package/src/messages/handlers.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ApplyRequestDataSchema,
|
|
3
3
|
EmptyResponseDataSchema,
|
|
4
|
+
ErrorCode,
|
|
4
5
|
GetResourceInfoRequestDataSchema,
|
|
5
6
|
GetResourceInfoResponseDataSchema,
|
|
6
7
|
ImportRequestDataSchema,
|
|
@@ -24,6 +25,7 @@ import {
|
|
|
24
25
|
import { Ajv, SchemaObject, ValidateFunction } from 'ajv';
|
|
25
26
|
import addFormats from 'ajv-formats';
|
|
26
27
|
|
|
28
|
+
import { ApplyValidationError } from '../common/errors.js';
|
|
27
29
|
import { SudoError } from '../errors.js';
|
|
28
30
|
import { Plugin } from '../plugin/plugin.js';
|
|
29
31
|
|
|
@@ -168,13 +170,29 @@ export class MessageHandler {
|
|
|
168
170
|
})
|
|
169
171
|
}
|
|
170
172
|
|
|
173
|
+
if (e instanceof ApplyValidationError) {
|
|
174
|
+
return process.send?.({
|
|
175
|
+
cmd,
|
|
176
|
+
// @ts-expect-error TS2239
|
|
177
|
+
requestId: message.requestId || undefined,
|
|
178
|
+
data: {
|
|
179
|
+
errorCode: ErrorCode.APPLY_VALIDATION,
|
|
180
|
+
plan: e.plan.toResponse(),
|
|
181
|
+
},
|
|
182
|
+
status: MessageStatus.ERROR,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
171
186
|
const isDebug = process.env.DEBUG?.includes('*') ?? false;
|
|
172
187
|
|
|
173
188
|
process.send?.({
|
|
174
189
|
cmd,
|
|
175
190
|
// @ts-expect-error TS2239
|
|
176
191
|
requestId: message.requestId || undefined,
|
|
177
|
-
data:
|
|
192
|
+
data: {
|
|
193
|
+
errorCode: ErrorCode.UNKNOWN,
|
|
194
|
+
message: isDebug ? (e.stack ?? e.message) : e.message,
|
|
195
|
+
},
|
|
178
196
|
status: MessageStatus.ERROR,
|
|
179
197
|
})
|
|
180
198
|
}
|