@objectql/create 4.0.0 → 4.0.2
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/package.json +1 -1
- package/templates/enterprise/CHANGELOG.md +20 -0
- package/templates/enterprise/README.md +2 -2
- package/templates/enterprise/package.json +2 -2
- package/templates/enterprise/src/core/attachment.object.yml +10 -1
- package/templates/enterprise/src/core/organization.object.yml +41 -6
- package/templates/enterprise/src/core/user.object.yml +37 -12
- package/templates/enterprise/src/extensions/README.md +4 -4
- package/templates/enterprise/src/extensions/user_extension.object.yml +65 -0
- package/templates/enterprise/src/modules/crm/crm_account.object.yml +57 -13
- package/templates/enterprise/src/modules/crm/crm_contact.object.yml +42 -8
- package/templates/enterprise/src/modules/crm/crm_lead.object.yml +82 -21
- package/templates/enterprise/src/modules/crm/crm_opportunity.object.yml +65 -15
- package/templates/enterprise/src/modules/finance/finance_budget.object.yml +67 -16
- package/templates/enterprise/src/modules/finance/finance_expense.object.yml +75 -19
- package/templates/enterprise/src/modules/finance/finance_invoice.object.yml +61 -16
- package/templates/enterprise/src/modules/finance/finance_payment.object.yml +65 -16
- package/templates/enterprise/src/modules/hr/hr_department.object.yml +29 -2
- package/templates/enterprise/src/modules/hr/hr_employee.object.yml +50 -8
- package/templates/enterprise/src/modules/hr/hr_position.object.yml +46 -10
- package/templates/enterprise/src/modules/hr/hr_timesheet.object.yml +44 -8
- package/templates/enterprise/src/modules/project/project_milestone.object.yml +36 -4
- package/templates/enterprise/src/modules/project/project_project.object.yml +64 -13
- package/templates/enterprise/src/modules/project/project_task.object.yml +70 -9
- package/templates/enterprise/src/modules/project/project_timesheet_entry.object.yml +39 -4
- package/templates/enterprise/src/plugins/audit/audit.plugin.ts +1 -1
- package/templates/enterprise/src/plugins/audit/note.object.yml +17 -0
- package/templates/enterprise/tsconfig.tsbuildinfo +1 -1
- package/templates/hello-world/CHANGELOG.md +16 -0
- package/templates/hello-world/README.md +73 -10
- package/templates/hello-world/package.json +1 -1
- package/templates/hello-world/src/index.ts +17 -5
- package/templates/starter/CHANGELOG.md +20 -0
- package/templates/starter/package.json +1 -1
- package/templates/starter/src/modules/projects/projects.action.ts +195 -346
- package/templates/starter/src/modules/projects/projects.hook.ts +98 -263
- package/templates/starter/src/modules/projects/projects.object.yml +65 -6
- package/templates/starter/src/modules/projects/projects.validation.yml +13 -4
- package/templates/starter/src/seed.ts +1 -1
- package/templates/starter/tsconfig.tsbuildinfo +1 -1
- package/templates/enterprise/__tests__/data-api.test.ts +0 -554
- package/templates/enterprise/__tests__/data-api.test.ts.backup +0 -526
- package/templates/enterprise/__tests__/metadata-api.test.ts +0 -315
- package/templates/enterprise/__tests__/metadata-loading.test.ts +0 -258
- package/templates/enterprise/src/extensions/user.extension.object.yml +0 -42
- package/templates/starter/__tests__/projects-hooks-actions.test.ts +0 -498
|
@@ -1,13 +1,26 @@
|
|
|
1
|
+
# File: project_task.object.yml
|
|
2
|
+
# Object name is inferred from filename as 'project_task'
|
|
1
3
|
label: Task
|
|
2
4
|
description: Project task or work item
|
|
3
5
|
icon: task-line
|
|
4
6
|
|
|
7
|
+
ai_context:
|
|
8
|
+
intent: "Track individual work items and tasks within projects"
|
|
9
|
+
domain: project_management
|
|
10
|
+
aliases: [task, work item, issue]
|
|
11
|
+
common_queries:
|
|
12
|
+
- "Show my assigned tasks"
|
|
13
|
+
- "Find overdue tasks"
|
|
14
|
+
- "List tasks by project"
|
|
15
|
+
|
|
5
16
|
fields:
|
|
6
17
|
name:
|
|
7
18
|
type: text
|
|
8
19
|
required: true
|
|
9
20
|
label: Task Name
|
|
10
21
|
index: true
|
|
22
|
+
ai_context:
|
|
23
|
+
intent: "Brief description of the task"
|
|
11
24
|
|
|
12
25
|
project:
|
|
13
26
|
type: lookup
|
|
@@ -15,73 +28,121 @@ fields:
|
|
|
15
28
|
label: Project
|
|
16
29
|
required: true
|
|
17
30
|
index: true
|
|
31
|
+
ai_context:
|
|
32
|
+
intent: "Parent project containing this task"
|
|
33
|
+
semantic_type: hierarchy
|
|
18
34
|
|
|
19
35
|
parent_task:
|
|
20
36
|
type: lookup
|
|
21
37
|
reference_to: project_task
|
|
22
38
|
label: Parent Task
|
|
23
39
|
index: true
|
|
40
|
+
ai_context:
|
|
41
|
+
intent: "Parent task for hierarchical task structure"
|
|
42
|
+
semantic_type: hierarchy
|
|
24
43
|
|
|
25
44
|
description:
|
|
26
45
|
type: textarea
|
|
27
46
|
label: Description
|
|
47
|
+
ai_context:
|
|
48
|
+
intent: "Detailed task requirements and acceptance criteria"
|
|
28
49
|
|
|
29
50
|
status:
|
|
30
51
|
type: select
|
|
52
|
+
label: Task Status
|
|
31
53
|
options:
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
-
|
|
54
|
+
- label: To Do
|
|
55
|
+
value: todo
|
|
56
|
+
- label: In Progress
|
|
57
|
+
value: in_progress
|
|
58
|
+
- label: In Review
|
|
59
|
+
value: in_review
|
|
60
|
+
- label: Blocked
|
|
61
|
+
value: blocked
|
|
62
|
+
- label: Completed
|
|
63
|
+
value: completed
|
|
37
64
|
defaultValue: todo
|
|
38
65
|
required: true
|
|
39
66
|
index: true
|
|
67
|
+
ai_context:
|
|
68
|
+
intent: "Current state of task execution"
|
|
69
|
+
is_state_machine: true
|
|
70
|
+
transitions:
|
|
71
|
+
todo: [in_progress]
|
|
72
|
+
in_progress: [in_review, blocked, completed]
|
|
73
|
+
in_review: [in_progress, completed]
|
|
74
|
+
blocked: [in_progress, todo]
|
|
75
|
+
completed: []
|
|
40
76
|
|
|
41
77
|
priority:
|
|
42
78
|
type: select
|
|
79
|
+
label: Priority
|
|
43
80
|
options:
|
|
44
|
-
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
81
|
+
- label: Low
|
|
82
|
+
value: low
|
|
83
|
+
- label: Medium
|
|
84
|
+
value: medium
|
|
85
|
+
- label: High
|
|
86
|
+
value: high
|
|
87
|
+
- label: Critical
|
|
88
|
+
value: critical
|
|
48
89
|
defaultValue: medium
|
|
49
90
|
index: true
|
|
91
|
+
ai_context:
|
|
92
|
+
intent: "Task urgency and importance level"
|
|
93
|
+
selection_guidance: "Critical for blockers; High for urgent items"
|
|
50
94
|
|
|
51
95
|
assigned_to:
|
|
52
96
|
type: lookup
|
|
53
97
|
reference_to: user
|
|
54
98
|
label: Assigned To
|
|
55
99
|
index: true
|
|
100
|
+
ai_context:
|
|
101
|
+
intent: "User responsible for completing this task"
|
|
102
|
+
semantic_type: ownership
|
|
103
|
+
selection_guidance: "Active team members with relevant skills"
|
|
56
104
|
|
|
57
105
|
due_date:
|
|
58
106
|
type: date
|
|
59
107
|
label: Due Date
|
|
60
108
|
index: true
|
|
109
|
+
ai_context:
|
|
110
|
+
intent: "Target completion deadline"
|
|
61
111
|
|
|
62
112
|
completed_date:
|
|
63
113
|
type: datetime
|
|
64
114
|
label: Completion Date
|
|
115
|
+
ai_context:
|
|
116
|
+
intent: "Actual completion timestamp for reporting"
|
|
65
117
|
|
|
66
118
|
estimated_hours:
|
|
67
119
|
type: number
|
|
68
120
|
label: Estimated Hours
|
|
69
121
|
scale: 2
|
|
122
|
+
ai_context:
|
|
123
|
+
intent: "Planned effort for capacity planning"
|
|
70
124
|
|
|
71
125
|
actual_hours:
|
|
72
126
|
type: number
|
|
73
127
|
label: Actual Hours
|
|
74
128
|
scale: 2
|
|
129
|
+
ai_context:
|
|
130
|
+
intent: "Actual time spent for productivity tracking"
|
|
75
131
|
|
|
76
132
|
milestone:
|
|
77
133
|
type: lookup
|
|
78
134
|
reference_to: project_milestone
|
|
79
135
|
label: Milestone
|
|
80
136
|
index: true
|
|
137
|
+
ai_context:
|
|
138
|
+
intent: "Associated milestone for tracking progress"
|
|
139
|
+
semantic_type: association
|
|
81
140
|
|
|
82
141
|
tags:
|
|
83
142
|
type: text
|
|
84
143
|
label: Tags
|
|
144
|
+
ai_context:
|
|
145
|
+
intent: "Categorization labels for filtering and organization"
|
|
85
146
|
|
|
86
147
|
indexes:
|
|
87
148
|
# For project task list
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
+
# File: project_timesheet_entry.object.yml
|
|
2
|
+
# Object name is inferred from filename as 'project_timesheet_entry'
|
|
1
3
|
label: Timesheet Entry
|
|
2
4
|
description: Time entry for project tasks
|
|
3
5
|
icon: time-line
|
|
4
6
|
|
|
7
|
+
ai_context:
|
|
8
|
+
intent: "Track time spent on project tasks for billing and productivity"
|
|
9
|
+
domain: project_management
|
|
10
|
+
aliases: [time entry, timesheet, time log]
|
|
11
|
+
common_queries:
|
|
12
|
+
- "Show time entries by project"
|
|
13
|
+
- "Find billable hours by employee"
|
|
14
|
+
- "List time entries for approval"
|
|
15
|
+
|
|
5
16
|
fields:
|
|
6
17
|
employee:
|
|
7
18
|
type: lookup
|
|
@@ -9,6 +20,9 @@ fields:
|
|
|
9
20
|
label: Employee
|
|
10
21
|
required: true
|
|
11
22
|
index: true
|
|
23
|
+
ai_context:
|
|
24
|
+
intent: "Employee who performed the work"
|
|
25
|
+
semantic_type: association
|
|
12
26
|
|
|
13
27
|
project:
|
|
14
28
|
type: lookup
|
|
@@ -16,12 +30,18 @@ fields:
|
|
|
16
30
|
label: Project
|
|
17
31
|
required: true
|
|
18
32
|
index: true
|
|
33
|
+
ai_context:
|
|
34
|
+
intent: "Project this time is charged to"
|
|
35
|
+
semantic_type: hierarchy
|
|
19
36
|
|
|
20
37
|
task:
|
|
21
38
|
type: lookup
|
|
22
39
|
reference_to: project_task
|
|
23
40
|
label: Task
|
|
24
41
|
index: true
|
|
42
|
+
ai_context:
|
|
43
|
+
intent: "Specific task this time is charged to"
|
|
44
|
+
semantic_type: association
|
|
25
45
|
|
|
26
46
|
work_date:
|
|
27
47
|
type: date
|
|
@@ -50,17 +70,32 @@ fields:
|
|
|
50
70
|
status:
|
|
51
71
|
type: select
|
|
52
72
|
options:
|
|
53
|
-
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
|
|
73
|
+
- label: Draft
|
|
74
|
+
value: draft
|
|
75
|
+
- label: Submitted
|
|
76
|
+
value: submitted
|
|
77
|
+
- label: Approved
|
|
78
|
+
value: approved
|
|
79
|
+
- label: Rejected
|
|
80
|
+
value: rejected
|
|
57
81
|
defaultValue: draft
|
|
58
82
|
index: true
|
|
83
|
+
ai_context:
|
|
84
|
+
intent: "Approval workflow state"
|
|
85
|
+
is_state_machine: true
|
|
86
|
+
transitions:
|
|
87
|
+
draft: [submitted]
|
|
88
|
+
submitted: [approved, rejected]
|
|
89
|
+
approved: []
|
|
90
|
+
rejected: [draft]
|
|
59
91
|
|
|
60
92
|
approved_by:
|
|
61
93
|
type: lookup
|
|
62
94
|
reference_to: user
|
|
63
95
|
label: Approved By
|
|
96
|
+
ai_context:
|
|
97
|
+
intent: "Manager who approved this time entry"
|
|
98
|
+
semantic_type: association
|
|
64
99
|
|
|
65
100
|
approved_at:
|
|
66
101
|
type: datetime
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
// Import RuntimePlugin types from @objectql/core instead of @
|
|
9
|
+
// Import RuntimePlugin types from @objectql/core instead of @objectql/runtime
|
|
10
10
|
// to avoid ESM/CJS compatibility issues
|
|
11
11
|
interface RuntimeContext {
|
|
12
12
|
engine: any; // ObjectStackKernel
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# File: note.object.yml
|
|
2
|
+
# Object name is inferred from filename as 'note'
|
|
3
|
+
label: Note
|
|
4
|
+
description: Audit note or comment
|
|
5
|
+
icon: file-text-line
|
|
6
|
+
|
|
7
|
+
ai_context:
|
|
8
|
+
intent: "Track audit notes and comments on records"
|
|
9
|
+
domain: audit
|
|
10
|
+
aliases: [note, comment, audit log]
|
|
11
|
+
common_queries:
|
|
12
|
+
- "Show recent notes"
|
|
13
|
+
- "Find notes by user"
|
|
14
|
+
- "List notes on a record"
|
|
15
|
+
|
|
1
16
|
fields:
|
|
2
17
|
content:
|
|
3
18
|
type: text
|
|
19
|
+
ai_context:
|
|
20
|
+
intent: "Note content or comment text"
|