@project-ajax/sdk 0.0.80 → 0.0.81
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/capabilities/automation.d.ts +4 -1
- package/dist/capabilities/automation.d.ts.map +1 -1
- package/dist/capabilities/automation.js +13 -7
- package/dist/capabilities/sync.d.ts +2 -2
- package/dist/capabilities/sync.d.ts.map +1 -1
- package/dist/capabilities/sync.js +6 -2
- package/dist/capabilities/tool.d.ts +16 -13
- package/dist/capabilities/tool.d.ts.map +1 -1
- package/dist/capabilities/tool.js +111 -51
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/json-schema.d.ts +117 -0
- package/dist/json-schema.d.ts.map +1 -0
- package/dist/json-schema.js +0 -0
- package/dist/json-schema.test.d.ts +2 -0
- package/dist/json-schema.test.d.ts.map +1 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts +3 -2
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +3 -2
- package/package.json +1 -1
- package/src/capabilities/automation.ts +20 -7
- package/src/capabilities/sync.ts +10 -2
- package/src/capabilities/tool.test.ts +100 -0
- package/src/capabilities/tool.ts +176 -66
- package/src/index.ts +1 -0
- package/src/json-schema.test.ts +719 -0
- package/src/json-schema.ts +179 -0
- package/src/types.ts +4 -0
- package/src/worker.ts +8 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HandlerOptions } from "../types.js";
|
|
1
2
|
import type { CapabilityContext } from "./context.js";
|
|
2
3
|
/**
|
|
3
4
|
* Event provided to automation execute functions
|
|
@@ -83,6 +84,8 @@ export declare function createAutomationCapability(key: string, config: Automati
|
|
|
83
84
|
title: string;
|
|
84
85
|
description: string;
|
|
85
86
|
};
|
|
86
|
-
handler(event: AutomationEvent): Promise<
|
|
87
|
+
handler(event: AutomationEvent, options?: HandlerOptions): Promise<{
|
|
88
|
+
status: "success";
|
|
89
|
+
} | undefined>;
|
|
87
90
|
};
|
|
88
91
|
//# sourceMappingURL=automation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/capabilities/automation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,EAAE,CACR,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,iBAAiB,KACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC5C,OAAO,0BAA0B,CACjC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB;;;;;;;
|
|
1
|
+
{"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/capabilities/automation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,EAAE,CACR,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,iBAAiB,KACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC5C,OAAO,0BAA0B,CACjC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB;;;;;;;mBAUtB,eAAe,YACZ,cAAc,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;EAyB9C"}
|
|
@@ -8,22 +8,28 @@ function createAutomationCapability(key, config) {
|
|
|
8
8
|
title: config.title,
|
|
9
9
|
description: config.description
|
|
10
10
|
},
|
|
11
|
-
async handler(event) {
|
|
11
|
+
async handler(event, options) {
|
|
12
12
|
try {
|
|
13
13
|
const capabilityContext = createCapabilityContext();
|
|
14
14
|
await config.execute(event, capabilityContext);
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if (options?.concreteOutput) {
|
|
16
|
+
return { status: "success" };
|
|
17
|
+
} else {
|
|
18
|
+
process.stdout.write(
|
|
19
|
+
`
|
|
17
20
|
<output>${JSON.stringify({ status: "success" })}</output>
|
|
18
21
|
`
|
|
19
|
-
|
|
22
|
+
);
|
|
23
|
+
}
|
|
20
24
|
} catch (err) {
|
|
21
25
|
const error = new ExecutionError(err);
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
if (!options?.concreteOutput) {
|
|
27
|
+
process.stdout.write(
|
|
28
|
+
`
|
|
24
29
|
<output>${JSON.stringify({ status: "error", error: { name: error.name, message: error.message } })}</output>
|
|
25
30
|
`
|
|
26
|
-
|
|
31
|
+
);
|
|
32
|
+
}
|
|
27
33
|
throw error;
|
|
28
34
|
}
|
|
29
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PropertyConfiguration, PropertySchema, Schema } from "../schema.js";
|
|
2
|
-
import type { Icon, PeopleValue, PlaceValue, RelationValue, Schedule, SyncSchedule, TextValue } from "../types.js";
|
|
2
|
+
import type { HandlerOptions, Icon, PeopleValue, PlaceValue, RelationValue, Schedule, SyncSchedule, TextValue } from "../types.js";
|
|
3
3
|
import type { CapabilityContext } from "./context.js";
|
|
4
4
|
/**
|
|
5
5
|
* Maps a property configuration to its corresponding value type.
|
|
@@ -170,7 +170,7 @@ export declare function createSyncCapability<PK extends string, S extends Schema
|
|
|
170
170
|
mode: SyncMode | undefined;
|
|
171
171
|
schedule: SyncSchedule;
|
|
172
172
|
};
|
|
173
|
-
handler(runtimeContext?: RuntimeContext<Context
|
|
173
|
+
handler(runtimeContext?: RuntimeContext<Context>, options?: HandlerOptions): Promise<{
|
|
174
174
|
changes: SyncChange<PK, PropertySchema<PK>>[];
|
|
175
175
|
hasMore: boolean;
|
|
176
176
|
nextUserContext: Context | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/capabilities/sync.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/capabilities/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ function createSyncCapability(key, syncConfiguration) {
|
|
|
10
10
|
mode: syncConfiguration.mode,
|
|
11
11
|
schedule: parseSchedule(syncConfiguration.schedule)
|
|
12
12
|
},
|
|
13
|
-
async handler(runtimeContext) {
|
|
13
|
+
async handler(runtimeContext, options) {
|
|
14
14
|
const capabilityContext = createCapabilityContext();
|
|
15
15
|
const state = runtimeContext?.state ?? runtimeContext?.userContext;
|
|
16
16
|
const executionResult = await syncConfiguration.execute(state, capabilityContext).catch((err) => {
|
|
@@ -21,9 +21,13 @@ function createSyncCapability(key, syncConfiguration) {
|
|
|
21
21
|
hasMore: executionResult.hasMore,
|
|
22
22
|
nextUserContext: executionResult.nextState
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
if (options?.concreteOutput) {
|
|
25
|
+
return result;
|
|
26
|
+
} else {
|
|
27
|
+
process.stdout.write(`
|
|
25
28
|
<output>${JSON.stringify(result)}</output>
|
|
26
29
|
`);
|
|
30
|
+
}
|
|
27
31
|
return result;
|
|
28
32
|
}
|
|
29
33
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { JSONValue } from "../types.js";
|
|
1
|
+
import type { JSONSchema } from "../json-schema.js";
|
|
2
|
+
import type { HandlerOptions, JSONValue } from "../types.js";
|
|
3
3
|
import type { CapabilityContext } from "./context.js";
|
|
4
4
|
export interface ToolConfiguration<I extends JSONValue, O extends JSONValue = JSONValue> {
|
|
5
5
|
title: string;
|
|
6
6
|
description: string;
|
|
7
|
-
schema:
|
|
8
|
-
outputSchema?:
|
|
7
|
+
schema: JSONSchema<I>;
|
|
8
|
+
outputSchema?: JSONSchema<O>;
|
|
9
9
|
execute: (input: I, context: CapabilityContext) => O | Promise<O>;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
@@ -51,15 +51,18 @@ export declare function createToolCapability<I extends JSONValue, O extends JSON
|
|
|
51
51
|
config: {
|
|
52
52
|
title: string;
|
|
53
53
|
description: string;
|
|
54
|
-
schema:
|
|
55
|
-
outputSchema:
|
|
54
|
+
schema: JSONSchema<I>;
|
|
55
|
+
outputSchema: JSONSchema<O> | undefined;
|
|
56
|
+
};
|
|
57
|
+
handler: {
|
|
58
|
+
(input: JSONValue, options: HandlerOptions): Promise<O>;
|
|
59
|
+
(input: JSONValue): Promise<{
|
|
60
|
+
_tag: "success";
|
|
61
|
+
value: O;
|
|
62
|
+
} | {
|
|
63
|
+
_tag: "error";
|
|
64
|
+
error: InvalidToolInputError | InvalidToolOutputError | ToolExecutionError;
|
|
65
|
+
}>;
|
|
56
66
|
};
|
|
57
|
-
handler(input: JSONValue): Promise<{
|
|
58
|
-
_tag: "success";
|
|
59
|
-
value: O;
|
|
60
|
-
} | {
|
|
61
|
-
_tag: "error";
|
|
62
|
-
error: InvalidToolInputError | InvalidToolOutputError | ToolExecutionError;
|
|
63
|
-
}>;
|
|
64
67
|
};
|
|
65
68
|
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/capabilities/tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/capabilities/tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAiEtD,MAAM,WAAW,iBAAiB,CACjC,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,GAAG,SAAS;IAE/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;IAK3B,MAAM;;;;CAMN;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;IAK3B,MAAM;;;;CAMN;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;IAK3B,MAAM;;;;CAMN;AAED,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,GAAG,SAAS,IAC5B,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;gBAYf,SAAS,WAAW,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;gBAC/C,SAAS,GAAG,OAAO,CAC9C;YACA,IAAI,EAAE,SAAS,CAAC;YAChB,KAAK,EAAE,CAAC,CAAC;SACR,GACD;YACA,IAAI,EAAE,OAAO,CAAC;YACd,KAAK,EACF,qBAAqB,GACrB,sBAAsB,GACtB,kBAAkB,CAAC;SACrB,CACH;;EA6GD"}
|
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import { Ajv } from "ajv";
|
|
2
2
|
import { createCapabilityContext } from "./context.js";
|
|
3
|
+
function validateRequiredProperties(schema, path = "") {
|
|
4
|
+
if ("type" in schema && schema.type === "object" && "properties" in schema) {
|
|
5
|
+
const propKeys = Object.keys(schema.properties).sort();
|
|
6
|
+
const required = [...schema.required ?? []].sort();
|
|
7
|
+
const missing = propKeys.filter((k) => !required.includes(k));
|
|
8
|
+
if (missing.length > 0) {
|
|
9
|
+
throw new Error(
|
|
10
|
+
`Invalid schema${path ? ` at ${path}` : ""}: properties [${missing.join(", ")}] must be listed in "required". Both model providers require all properties to be required. Use anyOf with { type: "null" } for optional fields.`
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
14
|
+
validateRequiredProperties(
|
|
15
|
+
propSchema,
|
|
16
|
+
path ? `${path}.properties.${key}` : `properties.${key}`
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
if ("$defs" in schema && schema.$defs) {
|
|
20
|
+
for (const [key, defSchema] of Object.entries(schema.$defs)) {
|
|
21
|
+
validateRequiredProperties(
|
|
22
|
+
defSchema,
|
|
23
|
+
path ? `${path}.$defs.${key}` : `$defs.${key}`
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if ("type" in schema && schema.type === "array" && "items" in schema) {
|
|
29
|
+
validateRequiredProperties(
|
|
30
|
+
schema.items,
|
|
31
|
+
path ? `${path}.items` : "items"
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
if ("anyOf" in schema && Array.isArray(schema.anyOf)) {
|
|
35
|
+
for (let i = 0; i < schema.anyOf.length; i++) {
|
|
36
|
+
validateRequiredProperties(
|
|
37
|
+
schema.anyOf[i],
|
|
38
|
+
path ? `${path}.anyOf[${i}]` : `anyOf[${i}]`
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
3
43
|
class InvalidToolInputError extends Error {
|
|
4
44
|
constructor(message) {
|
|
5
45
|
super(message);
|
|
@@ -37,73 +77,93 @@ class ToolExecutionError extends Error {
|
|
|
37
77
|
}
|
|
38
78
|
}
|
|
39
79
|
function createToolCapability(key, config) {
|
|
80
|
+
validateRequiredProperties(config.schema);
|
|
81
|
+
if (config.outputSchema) {
|
|
82
|
+
validateRequiredProperties(config.outputSchema);
|
|
83
|
+
}
|
|
40
84
|
const ajv = new Ajv();
|
|
41
85
|
const validateInput = ajv.compile(config.schema);
|
|
42
86
|
const validateOutput = config.outputSchema ? ajv.compile(config.outputSchema) : null;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
87
|
+
async function handler(input, options) {
|
|
88
|
+
if (!validateInput(input)) {
|
|
89
|
+
if (validateInput.errors == null) {
|
|
90
|
+
throw new Error(
|
|
91
|
+
"Unexpected: No validation errors after failed validation"
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
const error = new InvalidToolInputError(
|
|
95
|
+
JSON.stringify(validateInput.errors, null, 2)
|
|
96
|
+
);
|
|
97
|
+
if (options?.concreteOutput) {
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
const result = {
|
|
101
|
+
_tag: "error",
|
|
102
|
+
error
|
|
103
|
+
};
|
|
104
|
+
process.stdout.write(`
|
|
105
|
+
<output>${JSON.stringify(result)}</output>
|
|
106
|
+
`);
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const capabilityContext = createCapabilityContext();
|
|
111
|
+
const result = await config.execute(input, capabilityContext);
|
|
112
|
+
if (validateOutput && !validateOutput(result)) {
|
|
113
|
+
const error = new InvalidToolOutputError(
|
|
114
|
+
JSON.stringify(validateOutput.errors, null, 2)
|
|
115
|
+
);
|
|
116
|
+
if (options?.concreteOutput) {
|
|
117
|
+
throw error;
|
|
58
118
|
}
|
|
59
|
-
const
|
|
119
|
+
const result2 = {
|
|
60
120
|
_tag: "error",
|
|
61
|
-
error: new
|
|
62
|
-
JSON.stringify(
|
|
121
|
+
error: new InvalidToolOutputError(
|
|
122
|
+
JSON.stringify(validateOutput.errors, null, 2)
|
|
63
123
|
)
|
|
64
124
|
};
|
|
65
125
|
process.stdout.write(`
|
|
66
|
-
<output>${JSON.stringify(
|
|
126
|
+
<output>${JSON.stringify(result2)}</output>
|
|
67
127
|
`);
|
|
128
|
+
return result2;
|
|
129
|
+
}
|
|
130
|
+
if (options?.concreteOutput) {
|
|
68
131
|
return result;
|
|
69
132
|
}
|
|
70
|
-
|
|
71
|
-
const capabilityContext = createCapabilityContext();
|
|
72
|
-
const result = await config.execute(input, capabilityContext);
|
|
73
|
-
if (validateOutput && !validateOutput(result)) {
|
|
74
|
-
const result2 = {
|
|
75
|
-
_tag: "error",
|
|
76
|
-
error: new InvalidToolOutputError(
|
|
77
|
-
JSON.stringify(validateOutput.errors, null, 2)
|
|
78
|
-
)
|
|
79
|
-
};
|
|
80
|
-
process.stdout.write(
|
|
81
|
-
`
|
|
82
|
-
<output>${JSON.stringify(result2)}</output>
|
|
83
|
-
`
|
|
84
|
-
);
|
|
85
|
-
return result2;
|
|
86
|
-
}
|
|
87
|
-
process.stdout.write(`
|
|
133
|
+
process.stdout.write(`
|
|
88
134
|
<output>${JSON.stringify(result)}</output>
|
|
89
135
|
`);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
136
|
+
return {
|
|
137
|
+
_tag: "success",
|
|
138
|
+
value: result
|
|
139
|
+
};
|
|
140
|
+
} catch (err) {
|
|
141
|
+
const error = new ToolExecutionError(
|
|
142
|
+
err instanceof Error ? err.message : String(err)
|
|
143
|
+
);
|
|
144
|
+
if (options?.concreteOutput) {
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
const result = {
|
|
148
|
+
_tag: "error",
|
|
149
|
+
error
|
|
150
|
+
};
|
|
151
|
+
process.stdout.write(`
|
|
102
152
|
<output>${JSON.stringify(result)}</output>
|
|
103
153
|
`);
|
|
104
|
-
|
|
105
|
-
}
|
|
154
|
+
return result;
|
|
106
155
|
}
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
_tag: "tool",
|
|
159
|
+
key,
|
|
160
|
+
config: {
|
|
161
|
+
title: config.title,
|
|
162
|
+
description: config.description,
|
|
163
|
+
schema: config.schema,
|
|
164
|
+
outputSchema: config.outputSchema
|
|
165
|
+
},
|
|
166
|
+
handler
|
|
107
167
|
};
|
|
108
168
|
}
|
|
109
169
|
export {
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type { CapabilityContext } from "./capabilities/context.js";
|
|
|
4
4
|
export type { NotionManagedOAuthConfiguration, OAuthCapability, OAuthConfiguration, UserManagedOAuthConfiguration, } from "./capabilities/oauth.js";
|
|
5
5
|
export type { SyncCapability, SyncChange, SyncChangeDelete, SyncChangeUpsert, SyncConfiguration, SyncExecutionResult, SyncMode, } from "./capabilities/sync.js";
|
|
6
6
|
export type { ToolCapability, ToolConfiguration } from "./capabilities/tool.js";
|
|
7
|
+
export type { AnyJSONSchema, JSONSchema } from "./json-schema.js";
|
|
7
8
|
export type { Icon, ImageIcon, NoticonColor, NoticonName, PlaceValue, Schedule, } from "./types.js";
|
|
8
9
|
export { Worker } from "./worker.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EACX,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,6BAA6B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,GACR,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACX,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EACX,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,6BAA6B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,GACR,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EACX,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Schema types compatible with both Anthropic and OpenAI structured
|
|
3
|
+
* output APIs.
|
|
4
|
+
*
|
|
5
|
+
* Constraints enforced by this type (intersection of both providers):
|
|
6
|
+
* - Objects must have `additionalProperties: false`
|
|
7
|
+
* - All object properties should be listed in `required`
|
|
8
|
+
* (use `anyOf` with `null` for optional fields)
|
|
9
|
+
* - No recursive schemas
|
|
10
|
+
* - No `allOf`, `not`, `if/then/else`
|
|
11
|
+
* - No string constraints (`minLength`, `maxLength`, `pattern`)
|
|
12
|
+
* - No number constraints (`minimum`, `maximum`, `multipleOf`)
|
|
13
|
+
* - Array `minItems` limited to 0 or 1; no `maxItems`
|
|
14
|
+
* - String `format` limited to: date-time, time, date, duration,
|
|
15
|
+
* email, hostname, ipv4, ipv6, uuid
|
|
16
|
+
* - `$ref` and `$defs` supported (no external refs)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* String formats supported by both Anthropic and OpenAI structured outputs.
|
|
20
|
+
*/
|
|
21
|
+
export type JSONSchemaStringFormat = "date-time" | "time" | "date" | "duration" | "email" | "hostname" | "ipv4" | "ipv6" | "uuid";
|
|
22
|
+
interface ForbiddenCompositionKeywords {
|
|
23
|
+
anyOf?: never;
|
|
24
|
+
allOf?: never;
|
|
25
|
+
not?: never;
|
|
26
|
+
if?: never;
|
|
27
|
+
then?: never;
|
|
28
|
+
else?: never;
|
|
29
|
+
}
|
|
30
|
+
export interface JSONSchemaStringDef<T extends string = string> extends ForbiddenCompositionKeywords {
|
|
31
|
+
type: "string";
|
|
32
|
+
description?: string;
|
|
33
|
+
format?: JSONSchemaStringFormat;
|
|
34
|
+
enum?: readonly T[];
|
|
35
|
+
}
|
|
36
|
+
export interface JSONSchemaNumberDef<T extends number = number> extends ForbiddenCompositionKeywords {
|
|
37
|
+
type: "number" | "integer";
|
|
38
|
+
description?: string;
|
|
39
|
+
enum?: readonly T[];
|
|
40
|
+
}
|
|
41
|
+
export interface JSONSchemaBooleanDef extends ForbiddenCompositionKeywords {
|
|
42
|
+
type: "boolean";
|
|
43
|
+
description?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface JSONSchemaNullDef extends ForbiddenCompositionKeywords {
|
|
46
|
+
type: "null";
|
|
47
|
+
description?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface JSONSchemaArrayDef<E = unknown> extends ForbiddenCompositionKeywords {
|
|
50
|
+
type: "array";
|
|
51
|
+
description?: string;
|
|
52
|
+
items: JSONSchema<E>;
|
|
53
|
+
minItems?: 0 | 1;
|
|
54
|
+
}
|
|
55
|
+
export interface JSONSchemaObjectDef<T extends Record<string, unknown> = Record<string, unknown>> extends ForbiddenCompositionKeywords {
|
|
56
|
+
type: "object";
|
|
57
|
+
description?: string;
|
|
58
|
+
properties: {
|
|
59
|
+
[K in keyof T]-?: JSONSchema<T[K]>;
|
|
60
|
+
};
|
|
61
|
+
required: readonly (keyof T & string)[];
|
|
62
|
+
additionalProperties: false;
|
|
63
|
+
$defs?: Record<string, AnyJSONSchema>;
|
|
64
|
+
}
|
|
65
|
+
export interface JSONSchemaRefDef extends ForbiddenCompositionKeywords {
|
|
66
|
+
$ref: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface JSONSchemaAnyOfDef<T = unknown> {
|
|
70
|
+
anyOf: readonly JSONSchema<T>[];
|
|
71
|
+
description?: string;
|
|
72
|
+
}
|
|
73
|
+
export type AnyJSONSchema = JSONSchemaStringDef | JSONSchemaNumberDef | JSONSchemaBooleanDef | JSONSchemaNullDef | JSONSchemaArrayDef | JSONSchemaObjectDef | JSONSchemaRefDef | JSONSchemaAnyOfDef;
|
|
74
|
+
/**
|
|
75
|
+
* Maps a TypeScript type T to its corresponding JSON Schema definition.
|
|
76
|
+
*
|
|
77
|
+
* Uses `[T] extends [X]` (non-distributing) so that union types like
|
|
78
|
+
* `string | number` fall through to `AnyJSONSchema` instead of distributing
|
|
79
|
+
* into `JSONSchemaStringDef | JSONSchemaNumberDef`.
|
|
80
|
+
*
|
|
81
|
+
* The `T & X` intersections (e.g. `T & string`) satisfy the generic
|
|
82
|
+
* constraints on each def without widening T.
|
|
83
|
+
*
|
|
84
|
+
* A `$ref` is always valid in any schema position, so `JSONSchemaRefDef`
|
|
85
|
+
* is unioned in at the end.
|
|
86
|
+
*/
|
|
87
|
+
type JSONSchemaFor<T> = JSONSchemaRefDef | ([T] extends [string] ? JSONSchemaStringDef<T & string> : [T] extends [number] ? JSONSchemaNumberDef<T & number> : [T] extends [boolean] ? JSONSchemaBooleanDef : [T] extends [readonly (infer E)[]] ? JSONSchemaArrayDef<E> : [T] extends [Record<string, unknown>] ? JSONSchemaObjectDef<T & Record<string, unknown>> : AnyJSONSchema);
|
|
88
|
+
/**
|
|
89
|
+
* Wraps a non-null schema in an `anyOf` with `{ type: "null" }` for
|
|
90
|
+
* nullable types (e.g. `string | null`).
|
|
91
|
+
*/
|
|
92
|
+
type JSONSchemaNullable<T> = {
|
|
93
|
+
anyOf: readonly [JSONSchemaFor<T>, JSONSchemaNullDef];
|
|
94
|
+
description?: string;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* A JSON Schema definition compatible with both Anthropic and OpenAI
|
|
98
|
+
* structured output APIs.
|
|
99
|
+
*
|
|
100
|
+
* When the generic parameter `T` is provided, the schema structure is
|
|
101
|
+
* constrained at compile time to match `T`:
|
|
102
|
+
*
|
|
103
|
+
* ```ts
|
|
104
|
+
* // Schema is checked against the type:
|
|
105
|
+
* const schema: JSONSchema<{ name: string }> = {
|
|
106
|
+
* type: "object",
|
|
107
|
+
* properties: { name: { type: "string" } },
|
|
108
|
+
* required: ["name"],
|
|
109
|
+
* additionalProperties: false,
|
|
110
|
+
* };
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @template T - The TypeScript type the schema should describe.
|
|
114
|
+
*/
|
|
115
|
+
export type JSONSchema<T = unknown> = unknown extends T ? AnyJSONSchema : null extends T ? JSONSchemaNullable<NonNullable<T>> : JSONSchemaFor<T>;
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=json-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema.test.d.ts","sourceRoot":"","sources":["../src/json-schema.test.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEhC;;;GAGG;AACH,KAAK,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,WAAW,GACpB,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,KAAK,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,aAAa,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,YAAY,GACrB,QAAQ,GACR,oBAAoB,GACpB,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,GACP,KAAK,GACL,MAAM,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GACnB,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,IAAI,GACJ,OAAO,CAAC;AAEX,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACrB,MAAM,GACN,WAAW,GACX,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,KAAK,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;AAE5C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,YAAY,GACrB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { NotionManagedOAuthConfiguration, OAuthCapability, OAuthConfigurati
|
|
|
4
4
|
import type { SyncCapability, SyncConfiguration } from "./capabilities/sync.js";
|
|
5
5
|
import type { ToolCapability, ToolConfiguration } from "./capabilities/tool.js";
|
|
6
6
|
import type { Schema } from "./schema.js";
|
|
7
|
-
import type { JSONValue } from "./types.js";
|
|
7
|
+
import type { HandlerOptions, JSONValue } from "./types.js";
|
|
8
8
|
export type { AutomationConfiguration, AutomationEvent, CapabilityContext, OAuthConfiguration, NotionManagedOAuthConfiguration, UserManagedOAuthConfiguration, SyncConfiguration, ToolConfiguration, };
|
|
9
9
|
type Capability = SyncCapability | ToolCapability<any, any> | AutomationCapability | OAuthCapability;
|
|
10
10
|
export declare class Worker {
|
|
@@ -169,8 +169,9 @@ export declare class Worker {
|
|
|
169
169
|
*
|
|
170
170
|
* @param key - The key of the capability to execute.
|
|
171
171
|
* @param context - The context to pass to the capability.
|
|
172
|
+
* @param options - Additional options for execution (e.g. for testing).
|
|
172
173
|
* @returns The result of the capability execution.
|
|
173
174
|
*/
|
|
174
|
-
run(key: string, context: unknown): Promise<unknown>;
|
|
175
|
+
run(key: string, context: unknown, options?: HandlerOptions): Promise<unknown>;
|
|
175
176
|
}
|
|
176
177
|
//# sourceMappingURL=worker.d.ts.map
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EACX,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EACX,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5D,YAAY,EACX,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,GACjB,CAAC;AAMF,KAAK,UAAU,GACZ,cAAc,GAEd,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GACxB,oBAAoB,GACpB,eAAe,CAAC;AAMnB,qBAAa,MAAM;;IAGlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,EAC9D,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,GACvC,cAAc;IAOjB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACxD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAQvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,UAAU,CACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB,GAC7B,oBAAoB;IAOvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,eAAe;IAO/D;;OAEG;IACH,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE,CAMhE;IAED;;;;;;;OAOG;IACG,GAAG,CACR,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC;CAyBnB"}
|
package/dist/worker.js
CHANGED
|
@@ -190,9 +190,10 @@ class Worker {
|
|
|
190
190
|
*
|
|
191
191
|
* @param key - The key of the capability to execute.
|
|
192
192
|
* @param context - The context to pass to the capability.
|
|
193
|
+
* @param options - Additional options for execution (e.g. for testing).
|
|
193
194
|
* @returns The result of the capability execution.
|
|
194
195
|
*/
|
|
195
|
-
async run(key, context) {
|
|
196
|
+
async run(key, context, options = {}) {
|
|
196
197
|
const capability = this.#capabilities.get(key);
|
|
197
198
|
if (!capability) {
|
|
198
199
|
throw new Error(`Capability "${key}" not found`);
|
|
@@ -202,7 +203,7 @@ class Worker {
|
|
|
202
203
|
`Cannot run OAuth capability "${key}" - OAuth capabilities only provide configuration`
|
|
203
204
|
);
|
|
204
205
|
}
|
|
205
|
-
return capability.handler(context);
|
|
206
|
+
return capability.handler(context, options);
|
|
206
207
|
}
|
|
207
208
|
#validateUniqueKey(key) {
|
|
208
209
|
if (!key || typeof key !== "string") {
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ExecutionError } from "../error.js";
|
|
2
|
+
import type { HandlerOptions } from "../types.js";
|
|
2
3
|
import type { CapabilityContext } from "./context.js";
|
|
3
4
|
import { createCapabilityContext } from "./context.js";
|
|
4
5
|
|
|
@@ -98,18 +99,30 @@ export function createAutomationCapability(
|
|
|
98
99
|
title: config.title,
|
|
99
100
|
description: config.description,
|
|
100
101
|
},
|
|
101
|
-
async handler(
|
|
102
|
+
async handler(
|
|
103
|
+
event: AutomationEvent,
|
|
104
|
+
options?: HandlerOptions,
|
|
105
|
+
): Promise<{ status: "success" } | undefined> {
|
|
102
106
|
try {
|
|
103
107
|
const capabilityContext = createCapabilityContext();
|
|
104
108
|
await config.execute(event, capabilityContext);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
|
|
110
|
+
if (options?.concreteOutput) {
|
|
111
|
+
return { status: "success" };
|
|
112
|
+
} else {
|
|
113
|
+
process.stdout.write(
|
|
114
|
+
`\n<output>${JSON.stringify({ status: "success" })}</output>\n`,
|
|
115
|
+
);
|
|
116
|
+
}
|
|
108
117
|
} catch (err) {
|
|
109
118
|
const error = new ExecutionError(err);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
119
|
+
|
|
120
|
+
if (!options?.concreteOutput) {
|
|
121
|
+
process.stdout.write(
|
|
122
|
+
`\n<output>${JSON.stringify({ status: "error", error: { name: error.name, message: error.message } })}</output>\n`,
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
113
126
|
throw error;
|
|
114
127
|
}
|
|
115
128
|
},
|