@cmssy/ai-tools 0.4.1 → 0.6.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/dist/schemas.d.ts +18 -24
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +49 -2
- package/dist/schemas.js.map +1 -1
- package/dist/tools/create-model.tool.d.ts +20 -24
- package/dist/tools/create-model.tool.d.ts.map +1 -1
- package/dist/tools/create-model.tool.js +21 -3
- package/dist/tools/create-model.tool.js.map +1 -1
- package/dist/tools/update-model.tool.d.ts +20 -25
- package/dist/tools/update-model.tool.d.ts.map +1 -1
- package/dist/tools/update-model.tool.js +10 -8
- package/dist/tools/update-model.tool.js.map +1 -1
- package/dist/types.d.ts +45 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/schemas.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { ProposedField } from "./types.js";
|
|
2
3
|
export declare const fieldTypeSchema: z.ZodEnum<{
|
|
3
4
|
string: "string";
|
|
4
5
|
number: "number";
|
|
5
6
|
boolean: "boolean";
|
|
7
|
+
object: "object";
|
|
6
8
|
richtext: "richtext";
|
|
7
9
|
date: "date";
|
|
8
10
|
datetime: "datetime";
|
|
@@ -12,31 +14,23 @@ export declare const fieldTypeSchema: z.ZodEnum<{
|
|
|
12
14
|
select: "select";
|
|
13
15
|
multiselect: "multiselect";
|
|
14
16
|
relation: "relation";
|
|
17
|
+
list: "list";
|
|
15
18
|
}>;
|
|
16
|
-
export declare const proposedFieldSchema: z.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
boolean: "boolean";
|
|
23
|
-
richtext: "richtext";
|
|
24
|
-
date: "date";
|
|
25
|
-
datetime: "datetime";
|
|
26
|
-
email: "email";
|
|
27
|
-
url: "url";
|
|
28
|
-
media: "media";
|
|
29
|
-
select: "select";
|
|
30
|
-
multiselect: "multiselect";
|
|
31
|
-
relation: "relation";
|
|
19
|
+
export declare const proposedFieldSchema: z.ZodType<ProposedField>;
|
|
20
|
+
export declare const defaultSortSchema: z.ZodObject<{
|
|
21
|
+
field: z.ZodString;
|
|
22
|
+
direction: z.ZodEnum<{
|
|
23
|
+
asc: "asc";
|
|
24
|
+
desc: "desc";
|
|
32
25
|
}>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export declare const statusFieldSchema: z.ZodObject<{
|
|
28
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
30
|
+
defaultValue: z.ZodOptional<z.ZodString>;
|
|
31
|
+
transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
32
|
+
from: z.ZodString;
|
|
33
|
+
to: z.ZodArray<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>>>;
|
|
41
35
|
}, z.core.$strip>;
|
|
42
36
|
//# sourceMappingURL=schemas.d.ts.map
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAe1B,CAAC;AA8CH,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CA6BrD,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;iBAW5B,CAAC"}
|
package/dist/schemas.js
CHANGED
|
@@ -12,17 +12,23 @@ export const fieldTypeSchema = z.enum([
|
|
|
12
12
|
"select",
|
|
13
13
|
"multiselect",
|
|
14
14
|
"relation",
|
|
15
|
+
"object",
|
|
16
|
+
"list",
|
|
15
17
|
]);
|
|
16
|
-
|
|
17
|
-
.object({
|
|
18
|
+
const baseProposedField = z.object({
|
|
18
19
|
key: z.string().min(1),
|
|
19
20
|
label: z.string().min(1),
|
|
20
21
|
type: fieldTypeSchema,
|
|
21
22
|
required: z.boolean().default(false),
|
|
23
|
+
description: z.string().optional(),
|
|
24
|
+
defaultValue: z.string().optional(),
|
|
22
25
|
options: z
|
|
23
26
|
.array(z.string())
|
|
24
27
|
.optional()
|
|
25
28
|
.describe("Choices for a 'select' or 'multiselect' field. Required (non-empty) for those types."),
|
|
29
|
+
itemType: fieldTypeSchema
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("For a 'list' field: the type of each item."),
|
|
26
32
|
relationTo: z
|
|
27
33
|
.string()
|
|
28
34
|
.optional()
|
|
@@ -31,6 +37,31 @@ export const proposedFieldSchema = z
|
|
|
31
37
|
.enum(["hasOne", "hasMany", "manyToMany"])
|
|
32
38
|
.optional()
|
|
33
39
|
.describe("For a 'relation' field: cardinality. 'hasOne' = one linked record, 'hasMany' = many. If omitted, treated as 'hasOne'."),
|
|
40
|
+
acceptedTypes: z
|
|
41
|
+
.array(z.string())
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("For a 'media' field: allowed media kinds (empty = all)."),
|
|
44
|
+
multiple: z
|
|
45
|
+
.boolean()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe("For a 'media' field: true = gallery, false = single."),
|
|
48
|
+
schemaProperty: z.string().optional(),
|
|
49
|
+
minLength: z.number().int().optional(),
|
|
50
|
+
maxLength: z.number().int().optional(),
|
|
51
|
+
minValue: z.number().optional(),
|
|
52
|
+
maxValue: z.number().optional(),
|
|
53
|
+
pattern: z.string().optional(),
|
|
54
|
+
});
|
|
55
|
+
export const proposedFieldSchema = baseProposedField
|
|
56
|
+
.extend({
|
|
57
|
+
fields: z
|
|
58
|
+
.lazy(() => z.array(proposedFieldSchema))
|
|
59
|
+
.optional()
|
|
60
|
+
.describe("For an 'object' field: nested field definitions."),
|
|
61
|
+
itemFields: z
|
|
62
|
+
.lazy(() => z.array(proposedFieldSchema))
|
|
63
|
+
.optional()
|
|
64
|
+
.describe("For a 'list' of objects: nested field definitions."),
|
|
34
65
|
})
|
|
35
66
|
.superRefine((field, ctx) => {
|
|
36
67
|
if ((field.type === "select" || field.type === "multiselect") &&
|
|
@@ -49,4 +80,20 @@ export const proposedFieldSchema = z
|
|
|
49
80
|
});
|
|
50
81
|
}
|
|
51
82
|
});
|
|
83
|
+
export const defaultSortSchema = z.object({
|
|
84
|
+
field: z.string(),
|
|
85
|
+
direction: z.enum(["asc", "desc"]),
|
|
86
|
+
});
|
|
87
|
+
export const statusFieldSchema = z.object({
|
|
88
|
+
enabled: z.boolean().optional(),
|
|
89
|
+
values: z
|
|
90
|
+
.array(z.string())
|
|
91
|
+
.optional()
|
|
92
|
+
.describe("Allowed status values (e.g. ['draft','active'])"),
|
|
93
|
+
defaultValue: z.string().optional(),
|
|
94
|
+
transitions: z
|
|
95
|
+
.array(z.object({ from: z.string(), to: z.array(z.string()) }))
|
|
96
|
+
.optional()
|
|
97
|
+
.describe("Allowed transitions: from one state to a set of states"),
|
|
98
|
+
});
|
|
52
99
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,31 +2,27 @@ import { z } from "zod";
|
|
|
2
2
|
import type { AiTool, ModelCreated } from "../types.js";
|
|
3
3
|
declare const inputSchema: z.ZodObject<{
|
|
4
4
|
name: z.ZodString;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
email: "email";
|
|
16
|
-
url: "url";
|
|
17
|
-
media: "media";
|
|
18
|
-
select: "select";
|
|
19
|
-
multiselect: "multiselect";
|
|
20
|
-
relation: "relation";
|
|
5
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
6
|
+
description: z.ZodOptional<z.ZodString>;
|
|
7
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
8
|
+
color: z.ZodOptional<z.ZodString>;
|
|
9
|
+
displayField: z.ZodOptional<z.ZodString>;
|
|
10
|
+
defaultSort: z.ZodOptional<z.ZodObject<{
|
|
11
|
+
field: z.ZodString;
|
|
12
|
+
direction: z.ZodEnum<{
|
|
13
|
+
asc: "asc";
|
|
14
|
+
desc: "desc";
|
|
21
15
|
}>;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
fields: z.ZodArray<z.ZodType<import("../types.js").ProposedField, unknown, z.core.$ZodTypeInternals<import("../types.js").ProposedField, unknown>>>;
|
|
18
|
+
statusField: z.ZodOptional<z.ZodObject<{
|
|
19
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
+
defaultValue: z.ZodOptional<z.ZodString>;
|
|
22
|
+
transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
23
|
+
from: z.ZodString;
|
|
24
|
+
to: z.ZodArray<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>>>;
|
|
30
26
|
}, z.core.$strip>>;
|
|
31
27
|
}, z.core.$strip>;
|
|
32
28
|
type Input = z.infer<typeof inputSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-model.tool.d.ts","sourceRoot":"","sources":["../../src/tools/create-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"create-model.tool.d.ts","sourceRoot":"","sources":["../../src/tools/create-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOxD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;iBAqBf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAOvD,CAAC"}
|
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { proposedFieldSchema } from "../schemas.js";
|
|
2
|
+
import { proposedFieldSchema, defaultSortSchema, statusFieldSchema, } from "../schemas.js";
|
|
3
3
|
const inputSchema = z.object({
|
|
4
4
|
name: z.string().min(1),
|
|
5
|
+
slug: z
|
|
6
|
+
.string()
|
|
7
|
+
.optional()
|
|
8
|
+
.describe("URL-safe slug (lowercase). Derived from name when omitted."),
|
|
9
|
+
description: z.string().optional(),
|
|
10
|
+
icon: z
|
|
11
|
+
.string()
|
|
12
|
+
.optional()
|
|
13
|
+
.describe("Lucide icon name, defaults to 'database'"),
|
|
14
|
+
color: z.string().optional(),
|
|
15
|
+
displayField: z
|
|
16
|
+
.string()
|
|
17
|
+
.optional()
|
|
18
|
+
.describe("Field key used as the record's display label in UI"),
|
|
19
|
+
defaultSort: defaultSortSchema.optional(),
|
|
5
20
|
fields: z.array(proposedFieldSchema).min(1),
|
|
21
|
+
statusField: statusFieldSchema
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("Enable record lifecycle states with allowed transitions"),
|
|
6
24
|
});
|
|
7
25
|
export const createModelTool = {
|
|
8
26
|
name: "create_model",
|
|
9
|
-
description: "Create a data model in the workspace. Field types include select/multiselect (provide `options`)
|
|
27
|
+
description: "Create a data model in the workspace. Field types include select/multiselect (provide `options`), relation (link to another model via `relationTo` = the target model's slug + `relationType`), and object/list (nested `fields`/`itemFields`). Optional model-level config: slug, description, icon, color, displayField, defaultSort, statusField. Only call AFTER the user has explicitly agreed to a structure you proposed (e.g. replied yes / clicked 'Yes, create'). Never create without that explicit go-ahead.",
|
|
10
28
|
inputSchema,
|
|
11
29
|
requiredPermissions: ["models:create"],
|
|
12
|
-
execute: async (
|
|
30
|
+
execute: async (input, ops) => ops.models.create(input),
|
|
13
31
|
};
|
|
14
32
|
//# sourceMappingURL=create-model.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-model.tool.js","sourceRoot":"","sources":["../../src/tools/create-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"create-model.tool.js","sourceRoot":"","sources":["../../src/tools/create-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,iBAAiB;SAC3B,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,0fAA0f;IAC5f,WAAW;IACX,mBAAmB,EAAE,CAAC,eAAe,CAAC;IACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CACxD,CAAC"}
|
|
@@ -3,33 +3,28 @@ import type { AiTool, ModelUpdated } from "../types.js";
|
|
|
3
3
|
declare const inputSchema: z.ZodObject<{
|
|
4
4
|
idOrSlug: z.ZodString;
|
|
5
5
|
name: z.ZodOptional<z.ZodString>;
|
|
6
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
6
7
|
description: z.ZodOptional<z.ZodString>;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
date: "date";
|
|
16
|
-
datetime: "datetime";
|
|
17
|
-
email: "email";
|
|
18
|
-
url: "url";
|
|
19
|
-
media: "media";
|
|
20
|
-
select: "select";
|
|
21
|
-
multiselect: "multiselect";
|
|
22
|
-
relation: "relation";
|
|
8
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
9
|
+
color: z.ZodOptional<z.ZodString>;
|
|
10
|
+
displayField: z.ZodOptional<z.ZodString>;
|
|
11
|
+
defaultSort: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
field: z.ZodString;
|
|
13
|
+
direction: z.ZodEnum<{
|
|
14
|
+
asc: "asc";
|
|
15
|
+
desc: "desc";
|
|
23
16
|
}>;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
}, z.core.$strip>>;
|
|
18
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodType<import("../types.js").ProposedField, unknown, z.core.$ZodTypeInternals<import("../types.js").ProposedField, unknown>>>>;
|
|
19
|
+
statusField: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
21
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
22
|
+
defaultValue: z.ZodOptional<z.ZodString>;
|
|
23
|
+
transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
24
|
+
from: z.ZodString;
|
|
25
|
+
to: z.ZodArray<z.ZodString>;
|
|
26
|
+
}, z.core.$strip>>>;
|
|
27
|
+
}, z.core.$strip>>;
|
|
33
28
|
}, z.core.$strip>;
|
|
34
29
|
type Input = z.infer<typeof inputSchema>;
|
|
35
30
|
export declare const updateModelTool: AiTool<Input, ModelUpdated>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-model.tool.d.ts","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"update-model.tool.d.ts","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOxD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAavD,CAAC"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { proposedFieldSchema } from "../schemas.js";
|
|
2
|
+
import { proposedFieldSchema, defaultSortSchema, statusFieldSchema, } from "../schemas.js";
|
|
3
3
|
const inputSchema = z.object({
|
|
4
4
|
idOrSlug: z
|
|
5
5
|
.string()
|
|
6
6
|
.min(1)
|
|
7
7
|
.describe("The model's id or slug (from list_models)"),
|
|
8
8
|
name: z.string().min(1).optional(),
|
|
9
|
+
slug: z.string().optional(),
|
|
9
10
|
description: z.string().optional(),
|
|
11
|
+
icon: z.string().optional(),
|
|
12
|
+
color: z.string().optional(),
|
|
13
|
+
displayField: z.string().optional(),
|
|
14
|
+
defaultSort: defaultSortSchema.optional(),
|
|
10
15
|
fields: z
|
|
11
16
|
.array(proposedFieldSchema)
|
|
12
17
|
.min(1)
|
|
13
18
|
.optional()
|
|
14
19
|
.describe("The COMPLETE desired field set - this REPLACES every existing field. Call get_model first and include every field you want to keep plus any new ones, or fields will be dropped."),
|
|
20
|
+
statusField: statusFieldSchema.optional(),
|
|
15
21
|
});
|
|
16
22
|
export const updateModelTool = {
|
|
17
23
|
name: "update_model",
|
|
18
|
-
description: "Update a data model's name, description, or fields, by id or slug. Field types include select/multiselect (provide `options`)
|
|
24
|
+
description: "Update a data model's name, slug, description, icon, color, displayField, defaultSort, statusField, or fields, by id or slug. Field types include select/multiselect (provide `options`), relation (link to another model via `relationTo` = the target model's slug + `relationType`), and object/list (nested `fields`/`itemFields`). `fields` REPLACES the entire field set - call get_model first and pass the full desired list (existing fields you want to keep + new ones), otherwise existing fields are dropped. Only call AFTER the user explicitly agreed to the change.",
|
|
19
25
|
inputSchema,
|
|
20
26
|
requiredPermissions: ["models:edit"],
|
|
21
|
-
execute: async ({ idOrSlug,
|
|
22
|
-
const result = await ops.models.update(idOrSlug,
|
|
23
|
-
name,
|
|
24
|
-
description,
|
|
25
|
-
fields,
|
|
26
|
-
});
|
|
27
|
+
execute: async ({ idOrSlug, ...patch }, ops) => {
|
|
28
|
+
const result = await ops.models.update(idOrSlug, patch);
|
|
27
29
|
if (!result) {
|
|
28
30
|
throw new Error(`Model "${idOrSlug}" not found`);
|
|
29
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-model.tool.js","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"update-model.tool.js","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2CAA2C,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,mBAAmB,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,kLAAkL,CACnL;IACH,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,sjBAAsjB;IACxjB,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,aAAa,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -27,15 +27,52 @@ export interface RecordList {
|
|
|
27
27
|
modelId: string;
|
|
28
28
|
items: RecordSummary[];
|
|
29
29
|
}
|
|
30
|
-
export type FieldType = "string" | "richtext" | "number" | "boolean" | "date" | "datetime" | "email" | "url" | "media" | "select" | "multiselect" | "relation";
|
|
30
|
+
export type FieldType = "string" | "richtext" | "number" | "boolean" | "date" | "datetime" | "email" | "url" | "media" | "select" | "multiselect" | "relation" | "object" | "list";
|
|
31
31
|
export interface ProposedField {
|
|
32
32
|
key: string;
|
|
33
33
|
label: string;
|
|
34
34
|
type: FieldType;
|
|
35
35
|
required: boolean;
|
|
36
|
+
description?: string;
|
|
37
|
+
defaultValue?: string;
|
|
36
38
|
options?: string[];
|
|
39
|
+
fields?: ProposedField[];
|
|
40
|
+
itemType?: FieldType;
|
|
41
|
+
itemFields?: ProposedField[];
|
|
37
42
|
relationTo?: string;
|
|
38
43
|
relationType?: "hasOne" | "hasMany" | "manyToMany";
|
|
44
|
+
acceptedTypes?: string[];
|
|
45
|
+
multiple?: boolean;
|
|
46
|
+
schemaProperty?: string;
|
|
47
|
+
minLength?: number;
|
|
48
|
+
maxLength?: number;
|
|
49
|
+
minValue?: number;
|
|
50
|
+
maxValue?: number;
|
|
51
|
+
pattern?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface ModelDefaultSort {
|
|
54
|
+
field: string;
|
|
55
|
+
direction: "asc" | "desc";
|
|
56
|
+
}
|
|
57
|
+
export interface ModelStatusField {
|
|
58
|
+
enabled?: boolean;
|
|
59
|
+
values?: string[];
|
|
60
|
+
defaultValue?: string;
|
|
61
|
+
transitions?: Array<{
|
|
62
|
+
from: string;
|
|
63
|
+
to: string[];
|
|
64
|
+
}>;
|
|
65
|
+
}
|
|
66
|
+
export interface ModelCreateInput {
|
|
67
|
+
name: string;
|
|
68
|
+
fields: ProposedField[];
|
|
69
|
+
slug?: string;
|
|
70
|
+
description?: string;
|
|
71
|
+
icon?: string;
|
|
72
|
+
color?: string;
|
|
73
|
+
displayField?: string;
|
|
74
|
+
defaultSort?: ModelDefaultSort;
|
|
75
|
+
statusField?: ModelStatusField;
|
|
39
76
|
}
|
|
40
77
|
export interface ModelCreated {
|
|
41
78
|
id: string;
|
|
@@ -57,17 +94,20 @@ export interface ModelUpdated {
|
|
|
57
94
|
}
|
|
58
95
|
export interface ModelUpdateInput {
|
|
59
96
|
name?: string;
|
|
97
|
+
slug?: string;
|
|
60
98
|
description?: string;
|
|
99
|
+
icon?: string;
|
|
100
|
+
color?: string;
|
|
101
|
+
displayField?: string;
|
|
102
|
+
defaultSort?: ModelDefaultSort;
|
|
61
103
|
fields?: ProposedField[];
|
|
104
|
+
statusField?: ModelStatusField;
|
|
62
105
|
}
|
|
63
106
|
export interface ModelOps {
|
|
64
107
|
list(): Promise<ModelSummary[]>;
|
|
65
108
|
get(idOrSlug: string): Promise<ModelDetail | null>;
|
|
66
109
|
listRecords(modelIdOrSlug: string): Promise<RecordList | null>;
|
|
67
|
-
create(input:
|
|
68
|
-
name: string;
|
|
69
|
-
fields: ProposedField[];
|
|
70
|
-
}): Promise<ModelCreated>;
|
|
110
|
+
create(input: ModelCreateInput): Promise<ModelCreated>;
|
|
71
111
|
createRecord(modelIdOrSlug: string, data: Record<string, unknown>): Promise<RecordCreated | null>;
|
|
72
112
|
update(idOrSlug: string, patch: ModelUpdateInput): Promise<ModelUpdated | null>;
|
|
73
113
|
updateRecord(recordId: string, data: Record<string, unknown>): Promise<RecordCreated | null>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,aAAa,GACb,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|