@objectql/cli 1.8.3 → 1.9.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.
Files changed (94) hide show
  1. package/README.md +157 -1
  2. package/dist/commands/ai.js +4 -3
  3. package/dist/commands/ai.js.map +1 -1
  4. package/dist/commands/build.d.ts +12 -0
  5. package/dist/commands/build.js +119 -0
  6. package/dist/commands/build.js.map +1 -0
  7. package/dist/commands/database-push.d.ts +5 -0
  8. package/dist/commands/database-push.js +15 -0
  9. package/dist/commands/database-push.js.map +1 -0
  10. package/dist/commands/dev.d.ts +11 -0
  11. package/dist/commands/dev.js +111 -0
  12. package/dist/commands/dev.js.map +1 -0
  13. package/dist/commands/doctor.d.ts +4 -0
  14. package/dist/commands/doctor.js +37 -0
  15. package/dist/commands/doctor.js.map +1 -0
  16. package/dist/commands/format.d.ts +9 -0
  17. package/dist/commands/format.js +137 -0
  18. package/dist/commands/format.js.map +1 -0
  19. package/dist/commands/init.js +31 -30
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/lint.d.ts +9 -0
  22. package/dist/commands/lint.js +120 -0
  23. package/dist/commands/lint.js.map +1 -0
  24. package/dist/commands/new.js +0 -52
  25. package/dist/commands/new.js.map +1 -1
  26. package/dist/commands/serve.d.ts +2 -0
  27. package/dist/commands/serve.js +122 -46
  28. package/dist/commands/serve.js.map +1 -1
  29. package/dist/commands/start.d.ts +12 -0
  30. package/dist/commands/start.js +134 -0
  31. package/dist/commands/start.js.map +1 -0
  32. package/dist/commands/test.d.ts +10 -0
  33. package/dist/commands/test.js +120 -0
  34. package/dist/commands/test.js.map +1 -0
  35. package/dist/index.js +189 -149
  36. package/dist/index.js.map +1 -1
  37. package/package.json +13 -8
  38. package/templates/hello-world/.vscode/extensions.json +7 -0
  39. package/templates/hello-world/CHANGELOG.md +41 -0
  40. package/templates/hello-world/README.md +29 -0
  41. package/templates/hello-world/package.json +24 -0
  42. package/templates/hello-world/src/index.ts +58 -0
  43. package/templates/hello-world/tsconfig.json +10 -0
  44. package/templates/starter/.vscode/extensions.json +7 -0
  45. package/{CHANGELOG.md → templates/starter/CHANGELOG.md} +47 -41
  46. package/templates/starter/README.md +17 -0
  47. package/templates/starter/__tests__/projects-hooks-actions.test.ts +490 -0
  48. package/templates/starter/jest.config.js +16 -0
  49. package/templates/starter/package.json +52 -0
  50. package/templates/starter/src/README.pages.md +110 -0
  51. package/templates/starter/src/demo.app.yml +4 -0
  52. package/templates/starter/src/i18n/zh-CN/projects.json +22 -0
  53. package/templates/starter/src/modules/kitchen-sink/kitchen_sink.data.yml +18 -0
  54. package/templates/starter/src/modules/kitchen-sink/kitchen_sink.object.yml +156 -0
  55. package/templates/starter/src/modules/projects/project_approval.workflow.yml +51 -0
  56. package/templates/starter/src/modules/projects/projects.action.ts +472 -0
  57. package/templates/starter/src/modules/projects/projects.data.yml +13 -0
  58. package/templates/starter/src/modules/projects/projects.hook.ts +339 -0
  59. package/templates/starter/src/modules/projects/projects.object.yml +148 -0
  60. package/templates/starter/src/modules/projects/projects.permission.yml +141 -0
  61. package/templates/starter/src/modules/projects/projects.validation.yml +37 -0
  62. package/templates/starter/src/modules/tasks/tasks.data.yml +23 -0
  63. package/templates/starter/src/modules/tasks/tasks.object.yml +34 -0
  64. package/templates/starter/src/modules/tasks/tasks.permission.yml +167 -0
  65. package/templates/starter/src/seed.ts +55 -0
  66. package/templates/starter/src/types/index.ts +3 -0
  67. package/templates/starter/src/types/kitchen_sink.ts +101 -0
  68. package/templates/starter/src/types/projects.ts +49 -0
  69. package/templates/starter/src/types/tasks.ts +33 -0
  70. package/templates/starter/tsconfig.json +11 -0
  71. package/templates/starter/tsconfig.tsbuildinfo +1 -0
  72. package/AI_EXAMPLES.md +0 -154
  73. package/AI_IMPLEMENTATION_SUMMARY.md +0 -509
  74. package/AI_TUTORIAL.md +0 -144
  75. package/IMPLEMENTATION_SUMMARY.md +0 -437
  76. package/USAGE_EXAMPLES.md +0 -951
  77. package/__tests__/commands.test.ts +0 -316
  78. package/dist/commands/studio.d.ts +0 -5
  79. package/dist/commands/studio.js +0 -364
  80. package/dist/commands/studio.js.map +0 -1
  81. package/jest.config.js +0 -19
  82. package/src/commands/ai.ts +0 -508
  83. package/src/commands/generate.ts +0 -135
  84. package/src/commands/i18n.ts +0 -303
  85. package/src/commands/init.ts +0 -191
  86. package/src/commands/migrate.ts +0 -314
  87. package/src/commands/new.ts +0 -273
  88. package/src/commands/repl.ts +0 -120
  89. package/src/commands/serve.ts +0 -96
  90. package/src/commands/studio.ts +0 -354
  91. package/src/commands/sync.ts +0 -328
  92. package/src/index.ts +0 -274
  93. package/tsconfig.json +0 -15
  94. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@objectql/example-hello-world",
3
+ "version": "1.0.5",
4
+ "private": true,
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/objectql/objectql.git",
8
+ "directory": "examples/quickstart/hello-world"
9
+ },
10
+ "description": "Zero-config ObjectQL starter",
11
+ "scripts": {
12
+ "start": "ts-node src/index.ts"
13
+ },
14
+ "dependencies": {
15
+ "@objectql/core": "workspace:*",
16
+ "@objectql/driver-sql": "workspace:*",
17
+ "sqlite3": "^5.1.7"
18
+ },
19
+ "devDependencies": {
20
+ "ts-node": "^10.9.2",
21
+ "typescript": "^5.3.3",
22
+ "@types/node": "^20.11.24"
23
+ }
24
+ }
@@ -0,0 +1,58 @@
1
+ import { ObjectQL } from '@objectql/core';
2
+ import { SqlDriver } from '@objectql/driver-sql';
3
+
4
+ async function main() {
5
+ console.log("🚀 Starting ObjectQL Hello World...");
6
+
7
+ // 1. Initialize Driver
8
+ const driver = new SqlDriver({
9
+ client: 'sqlite3',
10
+ connection: { filename: ':memory:' },
11
+ useNullAsDefault: true
12
+ });
13
+
14
+ // 2. Initialize Engine (Pass driver in config)
15
+ const app = new ObjectQL({
16
+ datasources: {
17
+ default: driver
18
+ }
19
+ });
20
+
21
+ // 3. Define Metadata Inline
22
+ app.registerObject({
23
+ name: 'deal',
24
+ fields: {
25
+ title: { type: 'text', required: true },
26
+ amount: { type: 'currency' },
27
+ stage: {
28
+ type: 'select',
29
+ options: [
30
+ { label: 'New', value: 'new' },
31
+ { label: 'Negotiation', value: 'negotiation' },
32
+ { label: 'Closed', value: 'closed' }
33
+ ],
34
+ defaultValue: 'new'
35
+ }
36
+ }
37
+ });
38
+
39
+ await app.init(); // Boot the engine
40
+
41
+ // 4. Run Business Logic
42
+ const ctx = app.createContext({ isSystem: true });
43
+ const repo = ctx.object('deal');
44
+
45
+ console.log("Creating a new Deal...");
46
+ await repo.create({
47
+ title: 'Enterprise Contract',
48
+ amount: 50000,
49
+ stage: 'new'
50
+ });
51
+
52
+ const results = await repo.find({});
53
+ console.log('✅ Deals found in database:', results);
54
+ }
55
+
56
+ if (require.main === module) {
57
+ main().catch(console.error);
58
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src",
6
+ "module": "CommonJS",
7
+ "moduleResolution": "node"
8
+ },
9
+ "include": ["src/**/*"]
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "recommendations": [
3
+ "objectstack-ai.vscode-objectql",
4
+ "redhat.vscode-yaml",
5
+ "dbaeumer.vscode-eslint"
6
+ ]
7
+ }
@@ -1,4 +1,25 @@
1
- # @objectql/cli
1
+ # @objectql/starter-basic
2
+
3
+ ## 2.0.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @objectql/core@1.9.0
9
+ - @objectql/driver-sql@1.9.0
10
+ - @objectql/types@1.9.0
11
+ - @objectql/platform-node@1.9.0
12
+
13
+ ## 1.8.4
14
+
15
+ ### Patch Changes
16
+
17
+ - Release version 1.8.4 with latest improvements and bug fixes
18
+ - Updated dependencies
19
+ - @objectql/types@1.8.4
20
+ - @objectql/core@1.8.4
21
+ - @objectql/platform-node@1.8.4
22
+ - @objectql/driver-sql@1.8.4
2
23
 
3
24
  ## 1.8.3
4
25
 
@@ -11,7 +32,6 @@
11
32
  - Updated dependencies
12
33
  - @objectql/core@1.8.3
13
34
  - @objectql/driver-sql@1.8.3
14
- - @objectql/server@1.8.3
15
35
  - @objectql/types@1.8.3
16
36
  - @objectql/platform-node@1.8.3
17
37
 
@@ -23,7 +43,6 @@
23
43
  - Updated dependencies
24
44
  - @objectql/core@1.8.2
25
45
  - @objectql/driver-sql@1.8.2
26
- - @objectql/server@1.8.2
27
46
  - @objectql/types@1.8.2
28
47
  - @objectql/platform-node@1.8.2
29
48
 
@@ -35,7 +54,6 @@
35
54
  - Updated dependencies
36
55
  - @objectql/core@1.8.1
37
56
  - @objectql/driver-sql@1.8.1
38
- - @objectql/server@1.8.1
39
57
  - @objectql/types@1.8.1
40
58
  - @objectql/platform-node@1.8.1
41
59
 
@@ -50,9 +68,8 @@
50
68
  - Updated dependencies
51
69
  - @objectql/core@1.8.0
52
70
  - @objectql/driver-sql@2.0.0
53
- - @objectql/server@2.0.0
54
71
  - @objectql/types@1.8.0
55
- - @objectql/platform-node@1.8.0
72
+ - @objectql/platform-node@2.0.0
56
73
 
57
74
  ## 1.7.3
58
75
 
@@ -62,7 +79,6 @@
62
79
  - Updated dependencies
63
80
  - @objectql/core@1.7.3
64
81
  - @objectql/driver-sql@1.7.3
65
- - @objectql/server@1.7.3
66
82
  - @objectql/types@1.7.3
67
83
  - @objectql/platform-node@1.7.3
68
84
 
@@ -76,7 +92,6 @@
76
92
  - @objectql/core@1.7.2
77
93
  - @objectql/platform-node@1.7.2
78
94
  - @objectql/types@1.7.2
79
- - @objectql/server@1.7.2
80
95
 
81
96
  ## 1.7.1
82
97
 
@@ -86,7 +101,6 @@
86
101
  - Updated dependencies
87
102
  - @objectql/core@1.7.1
88
103
  - @objectql/driver-sql@1.7.1
89
- - @objectql/server@1.7.1
90
104
  - @objectql/types@1.7.1
91
105
  - @objectql/platform-node@1.7.1
92
106
 
@@ -106,81 +120,56 @@
106
120
  - Updated dependencies
107
121
  - @objectql/core@1.6.1
108
122
  - @objectql/platform-node@1.6.1
109
- - @objectql/server@1.6.1
110
123
  - @objectql/driver-sql@1.6.1
111
124
  - @objectql/types@1.6.1
112
125
 
113
- ## 1.6.0
114
-
115
- ### Minor Changes
116
-
117
- - Minor version release - 1.6.0
126
+ ## 7.0.0
118
127
 
119
128
  ### Patch Changes
120
129
 
121
130
  - Updated dependencies
122
131
  - @objectql/core@1.6.0
123
132
  - @objectql/driver-sql@1.6.0
124
- - @objectql/server@1.6.0
125
133
  - @objectql/types@1.6.0
126
134
  - @objectql/platform-node@1.6.0
127
135
 
128
- ## 1.5.0
129
-
130
- ### Minor Changes
131
-
132
- - Minor version release - 1.5.0
136
+ ## 6.0.0
133
137
 
134
138
  ### Patch Changes
135
139
 
136
140
  - Updated dependencies
137
141
  - @objectql/core@1.5.0
138
142
  - @objectql/driver-sql@1.5.0
139
- - @objectql/server@1.5.0
140
143
  - @objectql/types@1.5.0
141
144
 
142
- ## 1.4.0
143
-
144
- ### Minor Changes
145
-
146
- - Release version 1.4.0 with new features and enhancements:
147
- - Added complete REST API implementation with CRUD operations
148
- - Enhanced error handling with standardized error codes and HTTP status mapping
149
- - Added AI context support for tracking intent and use cases
150
- - Enhanced metadata API with detailed field information and action listing
151
- - Improved JSON-RPC API with better error categorization
152
- - Added hooks and actions validation and implementation
153
- - Updated documentation and examples
145
+ ## 5.0.0
154
146
 
155
147
  ### Patch Changes
156
148
 
157
149
  - Updated dependencies
158
150
  - @objectql/core@1.4.0
159
151
  - @objectql/driver-sql@1.4.0
160
- - @objectql/server@1.4.0
161
152
  - @objectql/types@1.4.0
162
153
 
163
- ## 1.3.1
154
+ ## 4.0.1
164
155
 
165
156
  ### Patch Changes
166
157
 
167
158
  - Updated dependencies
168
159
  - @objectql/core@1.3.1
169
- - @objectql/server@1.3.1
170
160
  - @objectql/driver-sql@1.3.1
171
161
  - @objectql/types@1.3.1
172
162
 
173
- ## 0.2.1
163
+ ## 4.0.0
174
164
 
175
165
  ### Patch Changes
176
166
 
177
167
  - Updated dependencies
178
168
  - @objectql/core@1.3.0
179
169
  - @objectql/types@1.3.0
180
- - @objectql/server@0.2.1
181
170
  - @objectql/driver-sql@1.2.1
182
171
 
183
- ## 0.2.0
172
+ ## 3.0.0
184
173
 
185
174
  ### Minor Changes
186
175
 
@@ -191,5 +180,22 @@
191
180
  - Updated dependencies [7df2977]
192
181
  - @objectql/core@1.2.0
193
182
  - @objectql/driver-sql@1.2.0
194
- - @objectql/server@0.2.0
195
183
  - @objectql/types@1.2.0
184
+
185
+ ## 1.8.0
186
+
187
+ ### Minor Changes
188
+
189
+ - add metadata loader
190
+
191
+ ### Patch Changes
192
+
193
+ - Updated dependencies
194
+ - @objectql/core@1.1.0
195
+
196
+ ## 1.0.0
197
+
198
+ ### Patch Changes
199
+
200
+ - Updated dependencies
201
+ - @objectql/core@1.0.0
@@ -0,0 +1,17 @@
1
+ # Basic Script Example
2
+
3
+ This is a minimal example demonstrating how to use ObjectQL as a library in a simple Node.js/TypeScript script.
4
+
5
+ It demonstrates:
6
+ 1. How to initialize ObjectQL (`new ObjectQL(...)`)
7
+ 2. How to connect to a SQLite database
8
+ 3. How to define objects (`projects.object.yml`)
9
+ 4. How to perform CRUD operations in a script
10
+
11
+ ## Run
12
+
13
+ ```bash
14
+ pnpm install
15
+ pnpm run build
16
+ node dist/index.js
17
+ ```