@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.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/templates/enterprise/CHANGELOG.md +20 -0
  3. package/templates/enterprise/README.md +2 -2
  4. package/templates/enterprise/package.json +2 -2
  5. package/templates/enterprise/src/core/attachment.object.yml +10 -1
  6. package/templates/enterprise/src/core/organization.object.yml +41 -6
  7. package/templates/enterprise/src/core/user.object.yml +37 -12
  8. package/templates/enterprise/src/extensions/README.md +4 -4
  9. package/templates/enterprise/src/extensions/user_extension.object.yml +65 -0
  10. package/templates/enterprise/src/modules/crm/crm_account.object.yml +57 -13
  11. package/templates/enterprise/src/modules/crm/crm_contact.object.yml +42 -8
  12. package/templates/enterprise/src/modules/crm/crm_lead.object.yml +82 -21
  13. package/templates/enterprise/src/modules/crm/crm_opportunity.object.yml +65 -15
  14. package/templates/enterprise/src/modules/finance/finance_budget.object.yml +67 -16
  15. package/templates/enterprise/src/modules/finance/finance_expense.object.yml +75 -19
  16. package/templates/enterprise/src/modules/finance/finance_invoice.object.yml +61 -16
  17. package/templates/enterprise/src/modules/finance/finance_payment.object.yml +65 -16
  18. package/templates/enterprise/src/modules/hr/hr_department.object.yml +29 -2
  19. package/templates/enterprise/src/modules/hr/hr_employee.object.yml +50 -8
  20. package/templates/enterprise/src/modules/hr/hr_position.object.yml +46 -10
  21. package/templates/enterprise/src/modules/hr/hr_timesheet.object.yml +44 -8
  22. package/templates/enterprise/src/modules/project/project_milestone.object.yml +36 -4
  23. package/templates/enterprise/src/modules/project/project_project.object.yml +64 -13
  24. package/templates/enterprise/src/modules/project/project_task.object.yml +70 -9
  25. package/templates/enterprise/src/modules/project/project_timesheet_entry.object.yml +39 -4
  26. package/templates/enterprise/src/plugins/audit/audit.plugin.ts +1 -1
  27. package/templates/enterprise/src/plugins/audit/note.object.yml +17 -0
  28. package/templates/enterprise/tsconfig.tsbuildinfo +1 -1
  29. package/templates/hello-world/CHANGELOG.md +16 -0
  30. package/templates/hello-world/README.md +73 -10
  31. package/templates/hello-world/package.json +1 -1
  32. package/templates/hello-world/src/index.ts +17 -5
  33. package/templates/starter/CHANGELOG.md +20 -0
  34. package/templates/starter/package.json +1 -1
  35. package/templates/starter/src/modules/projects/projects.action.ts +195 -346
  36. package/templates/starter/src/modules/projects/projects.hook.ts +98 -263
  37. package/templates/starter/src/modules/projects/projects.object.yml +65 -6
  38. package/templates/starter/src/modules/projects/projects.validation.yml +13 -4
  39. package/templates/starter/src/seed.ts +1 -1
  40. package/templates/starter/tsconfig.tsbuildinfo +1 -1
  41. package/templates/enterprise/__tests__/data-api.test.ts +0 -554
  42. package/templates/enterprise/__tests__/data-api.test.ts.backup +0 -526
  43. package/templates/enterprise/__tests__/metadata-api.test.ts +0 -315
  44. package/templates/enterprise/__tests__/metadata-loading.test.ts +0 -258
  45. package/templates/enterprise/src/extensions/user.extension.object.yml +0 -42
  46. 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
- - todo
33
- - in_progress
34
- - in_review
35
- - blocked
36
- - completed
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
- - low
45
- - medium
46
- - high
47
- - critical
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
- - draft
54
- - submitted
55
- - approved
56
- - rejected
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 @objectstack/runtime
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"