@zudello/modelcontextprotocol 1.0.0 → 1.1.1
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 +115 -512
- package/dist/services/zudello/admin.d.ts +124 -74
- package/dist/services/zudello/admin.d.ts.map +1 -1
- package/dist/services/zudello/admin.js +443 -112
- package/dist/services/zudello/admin.js.map +1 -1
- package/dist/services/zudello/document-context.js +2 -2
- package/dist/services/zudello/document-context.js.map +1 -1
- package/dist/services/zudello/inboxes.d.ts +88 -7
- package/dist/services/zudello/inboxes.d.ts.map +1 -1
- package/dist/services/zudello/inboxes.js +317 -34
- package/dist/services/zudello/inboxes.js.map +1 -1
- package/dist/services/zudello/users.d.ts +36 -6
- package/dist/services/zudello/users.d.ts.map +1 -1
- package/dist/services/zudello/users.js +183 -82
- package/dist/services/zudello/users.js.map +1 -1
- package/dist/tools/admin/datasets/create-dataset.d.ts +35 -7
- package/dist/tools/admin/datasets/create-dataset.d.ts.map +1 -1
- package/dist/tools/admin/datasets/create-dataset.js +59 -20
- package/dist/tools/admin/datasets/create-dataset.js.map +1 -1
- package/dist/tools/admin/datasets/get-dataset.d.ts +1 -1
- package/dist/tools/admin/datasets/get-dataset.d.ts.map +1 -1
- package/dist/tools/admin/datasets/get-dataset.js +8 -2
- package/dist/tools/admin/datasets/get-dataset.js.map +1 -1
- package/dist/tools/admin/datasets/list-datasets.d.ts +2 -4
- package/dist/tools/admin/datasets/list-datasets.d.ts.map +1 -1
- package/dist/tools/admin/datasets/list-datasets.js +21 -11
- package/dist/tools/admin/datasets/list-datasets.js.map +1 -1
- package/dist/tools/admin/datasets/update-dataset.d.ts +39 -6
- package/dist/tools/admin/datasets/update-dataset.d.ts.map +1 -1
- package/dist/tools/admin/datasets/update-dataset.js +39 -17
- package/dist/tools/admin/datasets/update-dataset.js.map +1 -1
- package/dist/tools/admin/fields/create-field.d.ts +7 -17
- package/dist/tools/admin/fields/create-field.d.ts.map +1 -1
- package/dist/tools/admin/fields/create-field.js +59 -28
- package/dist/tools/admin/fields/create-field.js.map +1 -1
- package/dist/tools/admin/fields/get-field.d.ts +1 -1
- package/dist/tools/admin/fields/get-field.d.ts.map +1 -1
- package/dist/tools/admin/fields/get-field.js +9 -2
- package/dist/tools/admin/fields/get-field.js.map +1 -1
- package/dist/tools/admin/fields/list-fields.d.ts +3 -5
- package/dist/tools/admin/fields/list-fields.d.ts.map +1 -1
- package/dist/tools/admin/fields/list-fields.js +21 -13
- package/dist/tools/admin/fields/list-fields.js.map +1 -1
- package/dist/tools/admin/fields/update-field.d.ts +11 -6
- package/dist/tools/admin/fields/update-field.d.ts.map +1 -1
- package/dist/tools/admin/fields/update-field.js +23 -17
- package/dist/tools/admin/fields/update-field.js.map +1 -1
- package/dist/tools/admin/quick-actions/create-quick-action.d.ts +9 -9
- package/dist/tools/admin/quick-actions/create-quick-action.d.ts.map +1 -1
- package/dist/tools/admin/quick-actions/create-quick-action.js +33 -20
- package/dist/tools/admin/quick-actions/create-quick-action.js.map +1 -1
- package/dist/tools/admin/quick-actions/get-quick-action.d.ts +1 -1
- package/dist/tools/admin/quick-actions/get-quick-action.d.ts.map +1 -1
- package/dist/tools/admin/quick-actions/get-quick-action.js +3 -2
- package/dist/tools/admin/quick-actions/get-quick-action.js.map +1 -1
- package/dist/tools/admin/quick-actions/list-quick-actions.d.ts +4 -3
- package/dist/tools/admin/quick-actions/list-quick-actions.d.ts.map +1 -1
- package/dist/tools/admin/quick-actions/list-quick-actions.js +22 -12
- package/dist/tools/admin/quick-actions/list-quick-actions.js.map +1 -1
- package/dist/tools/admin/quick-actions/trigger-quick-action.d.ts +4 -6
- package/dist/tools/admin/quick-actions/trigger-quick-action.d.ts.map +1 -1
- package/dist/tools/admin/quick-actions/trigger-quick-action.js +31 -12
- package/dist/tools/admin/quick-actions/trigger-quick-action.js.map +1 -1
- package/dist/tools/admin/quick-actions/update-quick-action.d.ts +11 -6
- package/dist/tools/admin/quick-actions/update-quick-action.d.ts.map +1 -1
- package/dist/tools/admin/quick-actions/update-quick-action.js +22 -14
- package/dist/tools/admin/quick-actions/update-quick-action.js.map +1 -1
- package/dist/tools/approvals/get-approval-flows.js +3 -3
- package/dist/tools/approvals/get-approval-flows.js.map +1 -1
- package/dist/tools/automation/get-run-logs-content.d.ts.map +1 -1
- package/dist/tools/automation/get-run-logs-content.js +3 -1
- package/dist/tools/automation/get-run-logs-content.js.map +1 -1
- package/dist/tools/automation/get-run-logs.d.ts.map +1 -1
- package/dist/tools/automation/get-run-logs.js +3 -1
- package/dist/tools/automation/get-run-logs.js.map +1 -1
- package/dist/tools/automation/get-script.d.ts.map +1 -1
- package/dist/tools/automation/get-script.js +3 -1
- package/dist/tools/automation/get-script.js.map +1 -1
- package/dist/tools/automation/get-trigger.d.ts.map +1 -1
- package/dist/tools/automation/get-trigger.js +3 -1
- package/dist/tools/automation/get-trigger.js.map +1 -1
- package/dist/tools/automation/list-scripts.d.ts.map +1 -1
- package/dist/tools/automation/list-scripts.js +5 -1
- package/dist/tools/automation/list-scripts.js.map +1 -1
- package/dist/tools/automation/search-runs.d.ts.map +1 -1
- package/dist/tools/automation/search-runs.js +3 -1
- package/dist/tools/automation/search-runs.js.map +1 -1
- package/dist/tools/config/list-configs.d.ts.map +1 -1
- package/dist/tools/config/list-configs.js +10 -3
- package/dist/tools/config/list-configs.js.map +1 -1
- package/dist/tools/control/initiate-sync.d.ts.map +1 -1
- package/dist/tools/control/initiate-sync.js +13 -3
- package/dist/tools/control/initiate-sync.js.map +1 -1
- package/dist/tools/control/set-trigger-enabled.d.ts.map +1 -1
- package/dist/tools/control/set-trigger-enabled.js +13 -3
- package/dist/tools/control/set-trigger-enabled.js.map +1 -1
- package/dist/tools/core/fetch.d.ts.map +1 -1
- package/dist/tools/core/fetch.js +12 -1
- package/dist/tools/core/fetch.js.map +1 -1
- package/dist/tools/core/push-message.d.ts.map +1 -1
- package/dist/tools/core/push-message.js +3 -1
- package/dist/tools/core/push-message.js.map +1 -1
- package/dist/tools/core/search.d.ts.map +1 -1
- package/dist/tools/core/search.js +28 -1
- package/dist/tools/core/search.js.map +1 -1
- package/dist/tools/document-context/check-contract-pricing.d.ts.map +1 -1
- package/dist/tools/document-context/check-contract-pricing.js +44 -1
- package/dist/tools/document-context/check-contract-pricing.js.map +1 -1
- package/dist/tools/document-context/check-document-budgets.d.ts.map +1 -1
- package/dist/tools/document-context/check-document-budgets.js +34 -1
- package/dist/tools/document-context/check-document-budgets.js.map +1 -1
- package/dist/tools/documents/document-types/create-document-type.d.ts.map +1 -1
- package/dist/tools/documents/document-types/create-document-type.js +24 -1
- package/dist/tools/documents/document-types/create-document-type.js.map +1 -1
- package/dist/tools/documents/document-types/get-document-type.d.ts.map +1 -1
- package/dist/tools/documents/document-types/get-document-type.js +11 -1
- package/dist/tools/documents/document-types/get-document-type.js.map +1 -1
- package/dist/tools/documents/document-types/get-merged-form-metadata.d.ts.map +1 -1
- package/dist/tools/documents/document-types/get-merged-form-metadata.js +13 -1
- package/dist/tools/documents/document-types/get-merged-form-metadata.js.map +1 -1
- package/dist/tools/documents/document-types/list-document-types.d.ts.map +1 -1
- package/dist/tools/documents/document-types/list-document-types.js +14 -1
- package/dist/tools/documents/document-types/list-document-types.js.map +1 -1
- package/dist/tools/documents/document-types/update-document-type.d.ts.map +1 -1
- package/dist/tools/documents/document-types/update-document-type.js +32 -1
- package/dist/tools/documents/document-types/update-document-type.js.map +1 -1
- package/dist/tools/documents/export-templates/create-export-template.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/create-export-template.js +35 -1
- package/dist/tools/documents/export-templates/create-export-template.js.map +1 -1
- package/dist/tools/documents/export-templates/get-export-download-url.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/get-export-download-url.js +6 -1
- package/dist/tools/documents/export-templates/get-export-download-url.js.map +1 -1
- package/dist/tools/documents/export-templates/get-export-template.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/get-export-template.js +3 -2
- package/dist/tools/documents/export-templates/get-export-template.js.map +1 -1
- package/dist/tools/documents/export-templates/list-export-templates.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/list-export-templates.js +12 -2
- package/dist/tools/documents/export-templates/list-export-templates.js.map +1 -1
- package/dist/tools/documents/export-templates/list-exports.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/list-exports.js +6 -1
- package/dist/tools/documents/export-templates/list-exports.js.map +1 -1
- package/dist/tools/documents/export-templates/run-export.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/run-export.js +20 -1
- package/dist/tools/documents/export-templates/run-export.js.map +1 -1
- package/dist/tools/documents/export-templates/update-export-template.d.ts.map +1 -1
- package/dist/tools/documents/export-templates/update-export-template.js +9 -1
- package/dist/tools/documents/export-templates/update-export-template.js.map +1 -1
- package/dist/tools/history/get-history.d.ts.map +1 -1
- package/dist/tools/history/get-history.js +9 -1
- package/dist/tools/history/get-history.js.map +1 -1
- package/dist/tools/inboxes/create-inbox-template.d.ts +1 -1
- package/dist/tools/inboxes/create-inbox-template.d.ts.map +1 -1
- package/dist/tools/inboxes/create-inbox-template.js +26 -1
- package/dist/tools/inboxes/create-inbox-template.js.map +1 -1
- package/dist/tools/inboxes/create-inbox.d.ts +1 -1
- package/dist/tools/inboxes/create-inbox.d.ts.map +1 -1
- package/dist/tools/inboxes/create-inbox.js +22 -1
- package/dist/tools/inboxes/create-inbox.js.map +1 -1
- package/dist/tools/inboxes/fetch-inbox.d.ts +1 -1
- package/dist/tools/inboxes/fetch-inbox.d.ts.map +1 -1
- package/dist/tools/inboxes/fetch-inbox.js +14 -1
- package/dist/tools/inboxes/fetch-inbox.js.map +1 -1
- package/dist/tools/inboxes/get-inbound-domain.d.ts.map +1 -1
- package/dist/tools/inboxes/get-inbound-domain.js +14 -1
- package/dist/tools/inboxes/get-inbound-domain.js.map +1 -1
- package/dist/tools/inboxes/list-inbox-templates.d.ts +1 -1
- package/dist/tools/inboxes/list-inbox-templates.d.ts.map +1 -1
- package/dist/tools/inboxes/list-inbox-templates.js +26 -1
- package/dist/tools/inboxes/list-inbox-templates.js.map +1 -1
- package/dist/tools/inboxes/list-inboxes.d.ts +1 -1
- package/dist/tools/inboxes/list-inboxes.d.ts.map +1 -1
- package/dist/tools/inboxes/list-inboxes.js +22 -1
- package/dist/tools/inboxes/list-inboxes.js.map +1 -1
- package/dist/tools/inboxes/update-inbox-template.d.ts +1 -1
- package/dist/tools/inboxes/update-inbox-template.d.ts.map +1 -1
- package/dist/tools/inboxes/update-inbox-template.js +22 -1
- package/dist/tools/inboxes/update-inbox-template.js.map +1 -1
- package/dist/tools/inboxes/update-inbox.d.ts +1 -1
- package/dist/tools/inboxes/update-inbox.d.ts.map +1 -1
- package/dist/tools/inboxes/update-inbox.js +25 -3
- package/dist/tools/inboxes/update-inbox.js.map +1 -1
- package/dist/tools/index.js +2 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/language/get-language-placeholders.d.ts.map +1 -1
- package/dist/tools/language/get-language-placeholders.js +33 -3
- package/dist/tools/language/get-language-placeholders.js.map +1 -1
- package/dist/tools/language/update-language-placeholders.d.ts.map +1 -1
- package/dist/tools/language/update-language-placeholders.js +21 -4
- package/dist/tools/language/update-language-placeholders.js.map +1 -1
- package/dist/tools/models/list-models.js +2 -2
- package/dist/tools/org-admin/teams/fetch-org-team.d.ts.map +1 -1
- package/dist/tools/org-admin/teams/fetch-org-team.js +15 -1
- package/dist/tools/org-admin/teams/fetch-org-team.js.map +1 -1
- package/dist/tools/org-admin/teams/list-org-teams.d.ts.map +1 -1
- package/dist/tools/org-admin/teams/list-org-teams.js +17 -1
- package/dist/tools/org-admin/teams/list-org-teams.js.map +1 -1
- package/dist/tools/org-admin/teams/update-org-team.d.ts.map +1 -1
- package/dist/tools/org-admin/teams/update-org-team.js +16 -1
- package/dist/tools/org-admin/teams/update-org-team.js.map +1 -1
- package/dist/tools/org-admin/users/assign-user-to-team.d.ts +1 -1
- package/dist/tools/org-admin/users/assign-user-to-team.d.ts.map +1 -1
- package/dist/tools/org-admin/users/assign-user-to-team.js +22 -4
- package/dist/tools/org-admin/users/assign-user-to-team.js.map +1 -1
- package/dist/tools/org-admin/users/create-org-user.d.ts.map +1 -1
- package/dist/tools/org-admin/users/create-org-user.js +15 -1
- package/dist/tools/org-admin/users/create-org-user.js.map +1 -1
- package/dist/tools/org-admin/users/fetch-org-user.d.ts.map +1 -1
- package/dist/tools/org-admin/users/fetch-org-user.js +15 -1
- package/dist/tools/org-admin/users/fetch-org-user.js.map +1 -1
- package/dist/tools/org-admin/users/index.d.ts +1 -1
- package/dist/tools/org-admin/users/index.d.ts.map +1 -1
- package/dist/tools/org-admin/users/index.js +1 -1
- package/dist/tools/org-admin/users/index.js.map +1 -1
- package/dist/tools/org-admin/users/list-org-user-groups.d.ts.map +1 -1
- package/dist/tools/org-admin/users/list-org-user-groups.js +20 -1
- package/dist/tools/org-admin/users/list-org-user-groups.js.map +1 -1
- package/dist/tools/org-admin/users/list-org-users.d.ts.map +1 -1
- package/dist/tools/org-admin/users/list-org-users.js +15 -1
- package/dist/tools/org-admin/users/list-org-users.js.map +1 -1
- package/dist/tools/org-admin/users/update-org-user.d.ts.map +1 -1
- package/dist/tools/org-admin/users/update-org-user.js +12 -1
- package/dist/tools/org-admin/users/update-org-user.js.map +1 -1
- package/dist/tools/resources/get-resources.d.ts.map +1 -1
- package/dist/tools/resources/get-resources.js +12 -3
- package/dist/tools/resources/get-resources.js.map +1 -1
- package/dist/tools/resources/update-or-create-resources.d.ts.map +1 -1
- package/dist/tools/resources/update-or-create-resources.js +36 -5
- package/dist/tools/resources/update-or-create-resources.js.map +1 -1
- package/dist/tools/sentences/create-sentence.d.ts.map +1 -1
- package/dist/tools/sentences/create-sentence.js +22 -1
- package/dist/tools/sentences/create-sentence.js.map +1 -1
- package/dist/tools/sentences/get-sentence-template.d.ts.map +1 -1
- package/dist/tools/sentences/get-sentence-template.js +3 -1
- package/dist/tools/sentences/get-sentence-template.js.map +1 -1
- package/dist/tools/sentences/get-sentence.d.ts.map +1 -1
- package/dist/tools/sentences/get-sentence.js +3 -1
- package/dist/tools/sentences/get-sentence.js.map +1 -1
- package/dist/tools/sentences/list-sentence-resources.d.ts.map +1 -1
- package/dist/tools/sentences/list-sentence-resources.js +11 -1
- package/dist/tools/sentences/list-sentence-resources.js.map +1 -1
- package/dist/tools/sentences/list-sentence-templates.d.ts.map +1 -1
- package/dist/tools/sentences/list-sentence-templates.js +5 -1
- package/dist/tools/sentences/list-sentence-templates.js.map +1 -1
- package/dist/tools/sentences/list-sentences.d.ts.map +1 -1
- package/dist/tools/sentences/list-sentences.js +7 -1
- package/dist/tools/sentences/list-sentences.js.map +1 -1
- package/dist/tools/sentences/update-sentence.d.ts.map +1 -1
- package/dist/tools/sentences/update-sentence.js +24 -1
- package/dist/tools/sentences/update-sentence.js.map +1 -1
- package/dist/tools/sentences/update-sentences-order.d.ts.map +1 -1
- package/dist/tools/sentences/update-sentences-order.js +16 -1
- package/dist/tools/sentences/update-sentences-order.js.map +1 -1
- package/dist/tools/users/get-user-groups.d.ts.map +1 -1
- package/dist/tools/users/get-user-groups.js +28 -3
- package/dist/tools/users/get-user-groups.js.map +1 -1
- package/dist/tools/users/get-users.d.ts.map +1 -1
- package/dist/tools/users/get-users.js +34 -3
- package/dist/tools/users/get-users.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,10 +2,42 @@ import { logger } from "../../../utils/logger.js";
|
|
|
2
2
|
import { createZudelloDataset } from "../../../services/zudello/admin.js";
|
|
3
3
|
export const zudelloCreateDataset = {
|
|
4
4
|
name: "zudelloCreateDataset",
|
|
5
|
-
description: `Create a new dataset.
|
|
5
|
+
description: `Create a new dataset in Zudello.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
## Dataset Types
|
|
8
|
+
- "" (empty): Generic lookup/mapping table
|
|
9
|
+
- "approval_doa": Delegation of Authority with user/limit
|
|
10
|
+
- "approval_doa_group": DOA using user groups
|
|
11
|
+
- "approval_management_tree": Manager hierarchy
|
|
12
|
+
- "approval_user_limit": User-specific limits
|
|
13
|
+
|
|
14
|
+
## Editor Types
|
|
15
|
+
- TEXT: Free text input
|
|
16
|
+
- NUMERIC: Number input
|
|
17
|
+
- DD_SINGLE: Single-select dropdown (requires select config)
|
|
18
|
+
- DD_MULTIPLE: Multi-select dropdown (requires select config)
|
|
19
|
+
- DATE: Date picker
|
|
20
|
+
|
|
21
|
+
## Common Storage Getters for Dropdowns
|
|
22
|
+
- activeTeamUsers: Team users (label: "{first_name} {last_name}")
|
|
23
|
+
- departmentList: Departments (label: "{code} - {name}")
|
|
24
|
+
- projectList: Projects (label: "{code} - {name}")
|
|
25
|
+
- supplierList: Suppliers (label: "{code} - {trading_name}")
|
|
26
|
+
- customerList: Customers (label: "{code} - {trading_name}")
|
|
27
|
+
- getLocations: Locations (label: "{code} - {name}")
|
|
28
|
+
- getSubsidiaries: Entities (label: "{code} - {name}")
|
|
29
|
+
- glAccountList: GL Accounts (label: "{code} - {name}")
|
|
30
|
+
- costCentreList: Cost Centres (label: "{code} - {name}")
|
|
31
|
+
- UserGroup: User groups (label: "name")
|
|
32
|
+
|
|
33
|
+
## Approval Field Values
|
|
34
|
+
- "": No approval significance
|
|
35
|
+
- "step_name": Step identifier
|
|
36
|
+
- "user": Approver user
|
|
37
|
+
- "user_group": Approver group
|
|
38
|
+
- "limit": Approval limit threshold
|
|
39
|
+
- "dimension": Dimensional filter for DOA
|
|
40
|
+
- "manager": Manager in hierarchy`,
|
|
9
41
|
inputSchema: {
|
|
10
42
|
type: "object",
|
|
11
43
|
properties: {
|
|
@@ -13,30 +45,37 @@ Requires name, model type, and optional description and configuration.`,
|
|
|
13
45
|
type: "string",
|
|
14
46
|
description: "Name of the dataset"
|
|
15
47
|
},
|
|
16
|
-
|
|
17
|
-
type: "
|
|
18
|
-
description: "
|
|
48
|
+
columnDefs: {
|
|
49
|
+
type: "array",
|
|
50
|
+
description: "Array of column definitions with id, name, type, and optional required/options",
|
|
51
|
+
items: {
|
|
52
|
+
type: "object",
|
|
53
|
+
properties: {
|
|
54
|
+
id: { type: "string", description: "Column identifier" },
|
|
55
|
+
name: { type: "string", description: "Column display name" },
|
|
56
|
+
type: { type: "string", description: "Column data type" },
|
|
57
|
+
required: { type: "boolean", description: "Whether column is required" },
|
|
58
|
+
options: { type: "object", description: "Additional column options" }
|
|
59
|
+
},
|
|
60
|
+
required: ["id", "name", "type"]
|
|
61
|
+
}
|
|
19
62
|
},
|
|
20
|
-
|
|
63
|
+
datasetType: {
|
|
21
64
|
type: "string",
|
|
22
|
-
description: "Optional:
|
|
65
|
+
description: "Optional: Type categorization for the dataset"
|
|
23
66
|
},
|
|
24
|
-
|
|
25
|
-
type: "
|
|
26
|
-
|
|
67
|
+
onDimensionMismatch: {
|
|
68
|
+
type: "string",
|
|
69
|
+
enum: ["fail_sentence", "skip_sentence", "skip_line"],
|
|
70
|
+
description: "Optional: How to handle dimension mismatches"
|
|
27
71
|
}
|
|
28
72
|
},
|
|
29
|
-
required: ["name", "
|
|
73
|
+
required: ["name", "columnDefs"]
|
|
30
74
|
},
|
|
31
75
|
execute: async (input, authContext) => {
|
|
32
76
|
try {
|
|
33
|
-
logger.info("zudelloCreateDataset executed", input);
|
|
34
|
-
const response = await createZudelloDataset(authContext,
|
|
35
|
-
name: input.name,
|
|
36
|
-
model: input.model,
|
|
37
|
-
description: input.description,
|
|
38
|
-
configuration: input.configuration
|
|
39
|
-
});
|
|
77
|
+
logger.info("zudelloCreateDataset executed", { name: input.name, columnCount: input.columnDefs.length });
|
|
78
|
+
const response = await createZudelloDataset(authContext, input.name, input.columnDefs, input.datasetType || "", input.onDimensionMismatch);
|
|
40
79
|
if (!response.success) {
|
|
41
80
|
throw new Error(response.error || "Failed to create dataset");
|
|
42
81
|
}
|
|
@@ -47,7 +86,7 @@ Requires name, model type, and optional description and configuration.`,
|
|
|
47
86
|
};
|
|
48
87
|
}
|
|
49
88
|
catch (error) {
|
|
50
|
-
logger.error("zudelloCreateDataset error", input, error);
|
|
89
|
+
logger.error("zudelloCreateDataset error", { name: input.name }, error);
|
|
51
90
|
return {
|
|
52
91
|
success: false,
|
|
53
92
|
error: error.message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-dataset.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/create-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-dataset.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/create-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAmCmB;IAChC,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;aACnC;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,gFAAgF;gBAC7F,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;wBACxD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;wBAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;wBACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;wBACxE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;qBACtE;oBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;iBACjC;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC;gBACrD,WAAW,EAAE,8CAA8C;aAC5D;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;KACjC;IACD,OAAO,EAAE,KAAK,EACZ,KAKC,EACD,WAAwB,EACxB,EAAE;QACF,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzG,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,WAAW,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,WAAW,IAAI,EAAE,EACvB,KAAK,CAAC,mBAAmB,CAC1B,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC;YAChE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,OAAO,EAAE,YAAY,KAAK,CAAC,IAAI,wBAAwB;aACxD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const zudelloGetDataset: {
|
|
|
16
16
|
uuid: string;
|
|
17
17
|
}, authContext: AuthContext) => Promise<{
|
|
18
18
|
success: boolean;
|
|
19
|
-
dataset: import("../../../services/zudello/admin.js").
|
|
19
|
+
dataset: import("../../../services/zudello/admin.js").ZudelloDataset | undefined;
|
|
20
20
|
error?: undefined;
|
|
21
21
|
} | {
|
|
22
22
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-dataset.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/get-dataset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-dataset.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/get-dataset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;qBAsBnB;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,eACV,WAAW;;;;;;;;;CAuB3B,CAAC"}
|
|
@@ -2,9 +2,15 @@ import { logger } from "../../../utils/logger.js";
|
|
|
2
2
|
import { getZudelloDataset } from "../../../services/zudello/admin.js";
|
|
3
3
|
export const zudelloGetDataset = {
|
|
4
4
|
name: "zudelloGetDataset",
|
|
5
|
-
description: `Get details
|
|
5
|
+
description: `Get full details of a specific dataset by UUID.
|
|
6
6
|
|
|
7
|
-
Returns complete dataset
|
|
7
|
+
Returns the complete dataset schema including:
|
|
8
|
+
- name: Display name
|
|
9
|
+
- settings.datasetType: Type for approval workflows
|
|
10
|
+
- settings.columnDefs: Array of column definitions
|
|
11
|
+
- settings.on_dimension_mismatch: Handling for unmatched dimensions
|
|
12
|
+
|
|
13
|
+
Use zudelloListDatasets first to find the UUID.`,
|
|
8
14
|
inputSchema: {
|
|
9
15
|
type: "object",
|
|
10
16
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-dataset.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/get-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"get-dataset.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/get-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE;;;;;;;;gDAQiC;IAC9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,OAAO,EAAE,KAAK,EACZ,KAAuB,EACvB,WAAwB,EACxB,EAAE;QACF,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,QAAQ,CAAC,IAAI;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAE,KAAc,CAAC,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -18,10 +18,8 @@ export declare const zudelloListDatasets: {
|
|
|
18
18
|
datasets: {
|
|
19
19
|
uuid: string;
|
|
20
20
|
name: string;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
createdAt: string;
|
|
24
|
-
updatedAt: string;
|
|
21
|
+
datasetType: string;
|
|
22
|
+
columnDefs: import("../../../services/zudello/admin.js").DatasetColumnDef[] | undefined;
|
|
25
23
|
}[];
|
|
26
24
|
count: number;
|
|
27
25
|
error?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-datasets.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/list-datasets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"list-datasets.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/list-datasets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;qBAuBrB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,eACZ,WAAW;;;;;;;;;;;;;;;;CAwC3B,CAAC"}
|
|
@@ -2,10 +2,17 @@ import { logger } from "../../../utils/logger.js";
|
|
|
2
2
|
import { listZudelloDatasets } from "../../../services/zudello/admin.js";
|
|
3
3
|
export const zudelloListDatasets = {
|
|
4
4
|
name: "zudelloListDatasets",
|
|
5
|
-
description: `List all datasets
|
|
5
|
+
description: `List all datasets in Zudello with their names, UUIDs, and types.
|
|
6
6
|
|
|
7
|
-
Datasets
|
|
8
|
-
|
|
7
|
+
Datasets are virtual tables that can be used for:
|
|
8
|
+
- Lookup/mapping tables (empty datasetType)
|
|
9
|
+
- Approval DOA workflows (datasetType: approval_doa, approval_doa_group)
|
|
10
|
+
- Manager hierarchy (datasetType: approval_management_tree)
|
|
11
|
+
- User approval limits (datasetType: approval_user_limit)
|
|
12
|
+
|
|
13
|
+
Returns: uuid, name, datasetType, and optionally columnDefs.
|
|
14
|
+
|
|
15
|
+
Set includeColumns=true when looking for existing approval datasets to reference in sentences - this shows the schema structure including dimension columns and approval fields.`,
|
|
9
16
|
inputSchema: {
|
|
10
17
|
type: "object",
|
|
11
18
|
properties: {
|
|
@@ -17,27 +24,30 @@ Returns dataset names, models, descriptions, and configuration details.`,
|
|
|
17
24
|
},
|
|
18
25
|
execute: async (input, authContext) => {
|
|
19
26
|
try {
|
|
20
|
-
logger.debug("zudelloListDatasets executed", input);
|
|
21
|
-
|
|
27
|
+
logger.debug("zudelloListDatasets executed", { model: input.model });
|
|
28
|
+
// Note: The API doesn't support model filtering, but we can filter client-side if needed
|
|
29
|
+
const response = await listZudelloDatasets(authContext, { includeColumns: true });
|
|
22
30
|
if (!response.success) {
|
|
23
31
|
throw new Error(response.error || "Failed to list datasets");
|
|
24
32
|
}
|
|
25
|
-
|
|
33
|
+
let datasets = response.data || [];
|
|
34
|
+
// Client-side filtering if model is specified
|
|
35
|
+
if (input.model) {
|
|
36
|
+
datasets = datasets.filter((d) => d.datasetType?.toLowerCase().includes(input.model.toLowerCase()));
|
|
37
|
+
}
|
|
26
38
|
return {
|
|
27
39
|
success: true,
|
|
28
40
|
datasets: datasets.map((d) => ({
|
|
29
41
|
uuid: d.uuid,
|
|
30
42
|
name: d.name,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
createdAt: d.createdAt,
|
|
34
|
-
updatedAt: d.updatedAt,
|
|
43
|
+
datasetType: d.datasetType,
|
|
44
|
+
columnDefs: d.columnDefs,
|
|
35
45
|
})),
|
|
36
46
|
count: datasets.length,
|
|
37
47
|
};
|
|
38
48
|
}
|
|
39
49
|
catch (error) {
|
|
40
|
-
logger.error("zudelloListDatasets error", input, error);
|
|
50
|
+
logger.error("zudelloListDatasets error", { model: input.model }, error);
|
|
41
51
|
return {
|
|
42
52
|
success: false,
|
|
43
53
|
error: error.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-datasets.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/list-datasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"list-datasets.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/list-datasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;;;;;;;;iLAUkK;IAC/K,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;SACF;KACF;IACD,OAAO,EAAE,KAAK,EACZ,KAAyB,EACzB,WAAwB,EACxB,EAAE;QACF,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAErE,yFAAyF;YACzF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAElF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAEnC,8CAA8C;YAC9C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAC,WAAW,EAAE,CAAC,CAClE,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;gBACH,KAAK,EAAE,QAAQ,CAAC,MAAM;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAc,CAAC,CAAC;YAClF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAG,KAAe,CAAC,OAAO;gBAC/B,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AuthContext } from "../../../context/auth.js";
|
|
2
|
+
import type { DatasetColumnDef } from "../../../services/zudello/admin.js";
|
|
2
3
|
export declare const zudelloUpdateDataset: {
|
|
3
4
|
name: string;
|
|
4
5
|
description: string;
|
|
@@ -13,25 +14,57 @@ export declare const zudelloUpdateDataset: {
|
|
|
13
14
|
type: string;
|
|
14
15
|
description: string;
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
+
columnDefs: {
|
|
17
18
|
type: string;
|
|
18
19
|
description: string;
|
|
20
|
+
items: {
|
|
21
|
+
type: string;
|
|
22
|
+
properties: {
|
|
23
|
+
id: {
|
|
24
|
+
type: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
name: {
|
|
28
|
+
type: string;
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
type: {
|
|
32
|
+
type: string;
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
required: {
|
|
36
|
+
type: string;
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
options: {
|
|
40
|
+
type: string;
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
required: string[];
|
|
45
|
+
};
|
|
19
46
|
};
|
|
20
|
-
|
|
47
|
+
datasetType: {
|
|
21
48
|
type: string;
|
|
22
49
|
description: string;
|
|
23
50
|
};
|
|
51
|
+
onDimensionMismatch: {
|
|
52
|
+
type: string;
|
|
53
|
+
enum: string[];
|
|
54
|
+
description: string;
|
|
55
|
+
};
|
|
24
56
|
};
|
|
25
57
|
required: string[];
|
|
26
58
|
};
|
|
27
59
|
execute: (input: {
|
|
28
60
|
uuid: string;
|
|
29
|
-
name
|
|
30
|
-
|
|
31
|
-
|
|
61
|
+
name: string;
|
|
62
|
+
columnDefs: DatasetColumnDef[];
|
|
63
|
+
datasetType?: string;
|
|
64
|
+
onDimensionMismatch?: "fail_sentence" | "skip_sentence" | "skip_line";
|
|
32
65
|
}, authContext: AuthContext) => Promise<{
|
|
33
66
|
success: boolean;
|
|
34
|
-
dataset: import("../../../services/zudello/admin.js").
|
|
67
|
+
dataset: import("../../../services/zudello/admin.js").ZudelloDataset | undefined;
|
|
35
68
|
message: string;
|
|
36
69
|
error?: undefined;
|
|
37
70
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-dataset.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/update-dataset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"update-dataset.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/update-dataset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAuDtB;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,gBAAgB,EAAE,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,WAAW,CAAC;KACvE,eACY,WAAW;;;;;;;;;;;CA+B3B,CAAC"}
|
|
@@ -2,10 +2,20 @@ import { logger } from "../../../utils/logger.js";
|
|
|
2
2
|
import { updateZudelloDataset } from "../../../services/zudello/admin.js";
|
|
3
3
|
export const zudelloUpdateDataset = {
|
|
4
4
|
name: "zudelloUpdateDataset",
|
|
5
|
-
description: `Update an existing dataset.
|
|
5
|
+
description: `Update an existing dataset schema in Zudello.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
IMPORTANT: Always use zudelloGetDataset first to retrieve the current schema.
|
|
8
|
+
When updating, provide the complete column definitions - columns not included will be removed.
|
|
9
|
+
|
|
10
|
+
To preserve existing columns:
|
|
11
|
+
1. Get the current dataset with zudelloGetDataset
|
|
12
|
+
2. Modify the columnDefs as needed
|
|
13
|
+
3. Pass all columns (modified and unchanged) to this tool
|
|
14
|
+
|
|
15
|
+
Column IDs (colId) must be preserved for existing columns to maintain data integrity.
|
|
16
|
+
New columns will get auto-generated IDs.
|
|
17
|
+
|
|
18
|
+
See zudelloCreateDataset description for column configuration details.`,
|
|
9
19
|
inputSchema: {
|
|
10
20
|
type: "object",
|
|
11
21
|
properties: {
|
|
@@ -15,27 +25,39 @@ Changes affect how data is structured and accessed.`,
|
|
|
15
25
|
},
|
|
16
26
|
name: {
|
|
17
27
|
type: "string",
|
|
18
|
-
description: "
|
|
28
|
+
description: "Name for the dataset"
|
|
19
29
|
},
|
|
20
|
-
|
|
30
|
+
columnDefs: {
|
|
31
|
+
type: "array",
|
|
32
|
+
description: "Array of column definitions with id, name, type, and optional required/options",
|
|
33
|
+
items: {
|
|
34
|
+
type: "object",
|
|
35
|
+
properties: {
|
|
36
|
+
id: { type: "string", description: "Column identifier" },
|
|
37
|
+
name: { type: "string", description: "Column display name" },
|
|
38
|
+
type: { type: "string", description: "Column data type" },
|
|
39
|
+
required: { type: "boolean", description: "Whether column is required" },
|
|
40
|
+
options: { type: "object", description: "Additional column options" }
|
|
41
|
+
},
|
|
42
|
+
required: ["id", "name", "type"]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
datasetType: {
|
|
21
46
|
type: "string",
|
|
22
|
-
description: "Optional:
|
|
47
|
+
description: "Optional: Type categorization for the dataset"
|
|
23
48
|
},
|
|
24
|
-
|
|
25
|
-
type: "
|
|
26
|
-
|
|
49
|
+
onDimensionMismatch: {
|
|
50
|
+
type: "string",
|
|
51
|
+
enum: ["fail_sentence", "skip_sentence", "skip_line"],
|
|
52
|
+
description: "Optional: How to handle dimension mismatches"
|
|
27
53
|
}
|
|
28
54
|
},
|
|
29
|
-
required: ["uuid"]
|
|
55
|
+
required: ["uuid", "name", "columnDefs"]
|
|
30
56
|
},
|
|
31
57
|
execute: async (input, authContext) => {
|
|
32
58
|
try {
|
|
33
|
-
logger.info("zudelloUpdateDataset executed", input);
|
|
34
|
-
const response = await updateZudelloDataset(authContext, input.uuid,
|
|
35
|
-
name: input.name,
|
|
36
|
-
description: input.description,
|
|
37
|
-
configuration: input.configuration
|
|
38
|
-
});
|
|
59
|
+
logger.info("zudelloUpdateDataset executed", { uuid: input.uuid, name: input.name });
|
|
60
|
+
const response = await updateZudelloDataset(authContext, input.uuid, input.name, input.columnDefs, input.datasetType || "", input.onDimensionMismatch);
|
|
39
61
|
if (!response.success) {
|
|
40
62
|
throw new Error(response.error || "Failed to update dataset");
|
|
41
63
|
}
|
|
@@ -46,7 +68,7 @@ Changes affect how data is structured and accessed.`,
|
|
|
46
68
|
};
|
|
47
69
|
}
|
|
48
70
|
catch (error) {
|
|
49
|
-
logger.error("zudelloUpdateDataset error", input, error);
|
|
71
|
+
logger.error("zudelloUpdateDataset error", { uuid: input.uuid }, error);
|
|
50
72
|
return {
|
|
51
73
|
success: false,
|
|
52
74
|
error: error.message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-dataset.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/update-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"update-dataset.js","sourceRoot":"","sources":["../../../../src/tools/admin/datasets/update-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;;;;;;;uEAawD;IACrE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sBAAsB;aACpC;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,gFAAgF;gBAC7F,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;wBACxD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;wBAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;wBACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;wBACxE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;qBACtE;oBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;iBACjC;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC;gBACrD,WAAW,EAAE,8CAA8C;aAC5D;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;KACzC;IACD,OAAO,EAAE,KAAK,EACZ,KAMC,EACD,WAAwB,EACxB,EAAE;QACF,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAErF,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,WAAW,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,WAAW,IAAI,EAAE,EACvB,KAAK,CAAC,mBAAmB,CAC1B,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC;YAChE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,OAAO,EAAE,8BAA8B;aACxC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -5,7 +5,7 @@ export declare const zudelloCreateField: {
|
|
|
5
5
|
inputSchema: {
|
|
6
6
|
type: "object";
|
|
7
7
|
properties: {
|
|
8
|
-
|
|
8
|
+
path: {
|
|
9
9
|
type: string;
|
|
10
10
|
description: string;
|
|
11
11
|
};
|
|
@@ -13,19 +13,11 @@ export declare const zudelloCreateField: {
|
|
|
13
13
|
type: string;
|
|
14
14
|
description: string;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
model_name: {
|
|
17
17
|
type: string;
|
|
18
18
|
description: string;
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
type: string;
|
|
22
|
-
description: string;
|
|
23
|
-
};
|
|
24
|
-
required: {
|
|
25
|
-
type: string;
|
|
26
|
-
description: string;
|
|
27
|
-
};
|
|
28
|
-
options: {
|
|
20
|
+
context: {
|
|
29
21
|
type: string;
|
|
30
22
|
description: string;
|
|
31
23
|
};
|
|
@@ -33,15 +25,13 @@ export declare const zudelloCreateField: {
|
|
|
33
25
|
required: string[];
|
|
34
26
|
};
|
|
35
27
|
execute: (input: {
|
|
36
|
-
|
|
28
|
+
path: string;
|
|
37
29
|
label: string;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
required?: boolean;
|
|
41
|
-
options?: Record<string, unknown>;
|
|
30
|
+
model_name: string;
|
|
31
|
+
context?: Record<string, string[]>;
|
|
42
32
|
}, authContext: AuthContext) => Promise<{
|
|
43
33
|
success: boolean;
|
|
44
|
-
field: import("../../../services/zudello/admin.js").
|
|
34
|
+
field: import("../../../services/zudello/admin.js").ZudelloFieldSettings | undefined;
|
|
45
35
|
message: string;
|
|
46
36
|
error?: undefined;
|
|
47
37
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-field.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/fields/create-field.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"create-field.d.ts","sourceRoot":"","sources":["../../../../src/tools/admin/fields/create-field.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;qBAuEpB;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACpC,eACY,WAAW;;;;;;;;;;;CAgC3B,CAAC"}
|
|
@@ -1,52 +1,83 @@
|
|
|
1
1
|
import { logger } from "../../../utils/logger.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createZudelloFieldSettings } from "../../../services/zudello/admin.js";
|
|
3
3
|
export const zudelloCreateField = {
|
|
4
4
|
name: "zudelloCreateField",
|
|
5
|
-
description: `Create a new custom field.
|
|
5
|
+
description: `Create a new custom field or override a system field's behavior in Zudello.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
## Path Naming Conventions
|
|
8
|
+
- System field override: Use existing path (e.g., 'document_number', 'payment_method', 'code')
|
|
9
|
+
- Custom header field: 'custom__fieldname' (e.g., 'custom__employer_name')
|
|
10
|
+
- Custom line field: 'lines__custom__fieldname' (e.g., 'lines__custom__vehicleRegistrationNumber')
|
|
11
|
+
|
|
12
|
+
## Editor Types
|
|
13
|
+
- TEXT: Simple text input. Optional 'mask' for formatting (e.g., 'XXX-XX-XXXX', '######')
|
|
14
|
+
- NUMERIC: Number input. Set 'numeric.precision' (0, 2, or 4)
|
|
15
|
+
- BOOLEAN: Checkbox. Optional 'default' value
|
|
16
|
+
- DATE: Date picker
|
|
17
|
+
- DD_SINGLE: Single-select dropdown (requires 'select' config)
|
|
18
|
+
- DD_MULTIPLE: Multi-select dropdown (requires 'select' config)
|
|
19
|
+
|
|
20
|
+
## Common Storage Getters for Dropdowns
|
|
21
|
+
- activeTeamUsers: Team users (label: "{first_name} {last_name}")
|
|
22
|
+
- departmentList: Departments (label: "{code} - {name}")
|
|
23
|
+
- getLocations: Locations (label: "{code} - {name}")
|
|
24
|
+
- getSubsidiaries: Entities (label: "{code} - {name}")
|
|
25
|
+
- glAccountList: GL Accounts (label: "{code} - {name}")
|
|
26
|
+
- costCentreList: Cost Centres (label: "{code} - {name}")
|
|
27
|
+
- taxRateList: Tax Rates (label: "{code} - {name}")
|
|
28
|
+
- projectList: Projects (label: "{code} - {name}")
|
|
29
|
+
- supplierList: Suppliers (label: "{code} - {trading_name}")
|
|
30
|
+
- customerList: Customers (label: "{code} - {trading_name}")
|
|
31
|
+
- PaymentMethod: Payment methods (label: "name")
|
|
32
|
+
- ExpenseCategory: Expense categories (label: "name")
|
|
33
|
+
|
|
34
|
+
## Validations
|
|
35
|
+
- required: Field must have a value. Params: {}
|
|
36
|
+
- requiredIf: Conditional. Params: {path, value, condition: "==", category: "field", subcategory: "static"}
|
|
37
|
+
- number: Must be numeric. Params: {}
|
|
38
|
+
- maxLength: Max string length. Params: {value: 40}
|
|
39
|
+
- minLength: Min string length. Params: {value: 6}
|
|
40
|
+
- Levels: "error" (blocks save), "warning" (allows with warning), "info" (informational)
|
|
41
|
+
|
|
42
|
+
## Rules
|
|
43
|
+
- visibleIf: Show field conditionally. Params: {path, value, condition: "==", category: "field", subcategory: "static"}
|
|
44
|
+
- computeField: Auto-generate value. Params: {template: "PO-{{ \\"%05d\\" % counter }}", counterKey: "{{ module }}-{{ submodule }}"}
|
|
45
|
+
|
|
46
|
+
## Context Scoping
|
|
47
|
+
- {} (empty): Applies to all modules/submodules
|
|
48
|
+
- {"MODULE": []}: Applies to all submodules in module
|
|
49
|
+
- {"MODULE": ["SUBMODULE"]}: Applies to specific submodule
|
|
50
|
+
- {"SALES": ["INVOICE"], "PURCHASING": ["INVOICE"]}: Multiple modules`,
|
|
9
51
|
inputSchema: {
|
|
10
52
|
type: "object",
|
|
11
53
|
properties: {
|
|
12
|
-
|
|
54
|
+
path: {
|
|
13
55
|
type: "string",
|
|
14
|
-
description: "Field
|
|
56
|
+
description: "Field path (internal identifier)"
|
|
15
57
|
},
|
|
16
58
|
label: {
|
|
17
59
|
type: "string",
|
|
18
60
|
description: "Display label for the field"
|
|
19
61
|
},
|
|
20
|
-
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "Field type (text, number, date, select, etc.)"
|
|
23
|
-
},
|
|
24
|
-
model: {
|
|
62
|
+
model_name: {
|
|
25
63
|
type: "string",
|
|
26
|
-
description: "Model
|
|
27
|
-
},
|
|
28
|
-
required: {
|
|
29
|
-
type: "boolean",
|
|
30
|
-
description: "Optional: Whether field is required"
|
|
64
|
+
description: "Model name this field belongs to"
|
|
31
65
|
},
|
|
32
|
-
|
|
66
|
+
context: {
|
|
33
67
|
type: "object",
|
|
34
|
-
description: "Optional:
|
|
68
|
+
description: "Optional: Module/submodule context mapping (e.g., {PURCHASING: ['INVOICE']})"
|
|
35
69
|
}
|
|
36
70
|
},
|
|
37
|
-
required: ["
|
|
71
|
+
required: ["path", "label", "model_name"]
|
|
38
72
|
},
|
|
39
73
|
execute: async (input, authContext) => {
|
|
40
74
|
try {
|
|
41
|
-
logger.info("zudelloCreateField executed", input);
|
|
42
|
-
const response = await
|
|
43
|
-
|
|
75
|
+
logger.info("zudelloCreateField executed", { path: input.path, label: input.label, model_name: input.model_name });
|
|
76
|
+
const response = await createZudelloFieldSettings(authContext, {
|
|
77
|
+
path: input.path,
|
|
44
78
|
label: input.label,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
required: input.required,
|
|
48
|
-
options: input.options
|
|
49
|
-
});
|
|
79
|
+
model_name: input.model_name,
|
|
80
|
+
}, input.context || {});
|
|
50
81
|
if (!response.success) {
|
|
51
82
|
throw new Error(response.error || "Failed to create field");
|
|
52
83
|
}
|
|
@@ -57,7 +88,7 @@ Fields extend data models with custom attributes.`,
|
|
|
57
88
|
};
|
|
58
89
|
}
|
|
59
90
|
catch (error) {
|
|
60
|
-
logger.error("zudelloCreateField error", input, error);
|
|
91
|
+
logger.error("zudelloCreateField error", { path: input.path }, error);
|
|
61
92
|
return {
|
|
62
93
|
success: false,
|
|
63
94
|
error: error.message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-field.js","sourceRoot":"","sources":["../../../../src/tools/admin/fields/create-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-field.js","sourceRoot":"","sources":["../../../../src/tools/admin/fields/create-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEA6CuD;IACpE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;aAC5F;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;KAC1C;IACD,OAAO,EAAE,KAAK,EACZ,KAKC,EACD,WAAwB,EACxB,EAAE;QACF,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAEnH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAC/C,WAAW,EACX;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,EACD,KAAK,CAAC,OAAO,IAAI,EAAE,CACpB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,QAAQ,CAAC,IAAI;gBACpB,OAAO,EAAE,UAAU,KAAK,CAAC,KAAK,wBAAwB;aACvD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;YAC/E,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const zudelloGetField: {
|
|
|
16
16
|
uuid: string;
|
|
17
17
|
}, authContext: AuthContext) => Promise<{
|
|
18
18
|
success: boolean;
|
|
19
|
-
field: import("../../../services/zudello/admin.js").
|
|
19
|
+
field: import("../../../services/zudello/admin.js").ZudelloFieldSettings | undefined;
|
|
20
20
|
error?: undefined;
|
|
21
21
|
} | {
|
|
22
22
|
success: boolean;
|