@elqnt/entity 2.1.1 → 2.1.3

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 ADDED
@@ -0,0 +1,210 @@
1
+ # @elqnt/entity
2
+
3
+ Complete entity management for Eloquent platform - models, API, hooks, and store.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add @elqnt/entity
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ Create app-specific hooks that wrap `useEntities` internally:
14
+
15
+ ```tsx
16
+ // hooks/use-contacts.ts
17
+ import { useEntities } from "@elqnt/entity/hooks";
18
+ import type { EntityRecord } from "@elqnt/entity/models";
19
+ import { useAppConfig } from "@/app/providers";
20
+
21
+ // App-specific model (camelCase)
22
+ interface Contact {
23
+ id: string;
24
+ name: string;
25
+ email: string;
26
+ company?: string;
27
+ }
28
+
29
+ // Transform EntityRecord → App model
30
+ function toContact(record: EntityRecord): Contact {
31
+ return {
32
+ id: record.id,
33
+ name: record.fields.name,
34
+ email: record.fields.email,
35
+ company: record.fields.company,
36
+ };
37
+ }
38
+
39
+ export function useContacts() {
40
+ const config = useAppConfig();
41
+ const { queryRecords, getRecord, createRecord, updateRecord, deleteRecord, loading, error } = useEntities({
42
+ baseUrl: config.apiGatewayUrl,
43
+ orgId: config.orgId,
44
+ });
45
+
46
+ const fetchContacts = async (filters?: Record<string, unknown>) => {
47
+ const result = await queryRecords("contact", { filters });
48
+ return result?.records?.map(toContact) ?? [];
49
+ };
50
+
51
+ const getContact = async (id: string) => {
52
+ const record = await getRecord("contact", id);
53
+ return record ? toContact(record) : null;
54
+ };
55
+
56
+ const createContact = async (data: Omit<Contact, "id">) => {
57
+ const record = await createRecord("contact", { fields: data });
58
+ return record ? toContact(record) : null;
59
+ };
60
+
61
+ const updateContact = async (id: string, data: Partial<Contact>) => {
62
+ const record = await updateRecord("contact", id, { fields: data });
63
+ return record ? toContact(record) : null;
64
+ };
65
+
66
+ return { fetchContacts, getContact, createContact, updateContact, deleteContact: deleteRecord, loading, error };
67
+ }
68
+ ```
69
+
70
+ Usage in components:
71
+
72
+ ```tsx
73
+ // components/contact-list.tsx
74
+ function ContactList() {
75
+ const { fetchContacts, loading, error } = useContacts();
76
+ const [contacts, setContacts] = useState<Contact[]>([]);
77
+
78
+ useEffect(() => {
79
+ fetchContacts({ status: "active" }).then(setContacts);
80
+ }, []);
81
+
82
+ if (loading) return <Spinner />;
83
+ if (error) return <Error message={error} />;
84
+ return <List items={contacts} />;
85
+ }
86
+ ```
87
+
88
+ ## Recommended Pattern
89
+
90
+ ```
91
+ @elqnt/entity/hooks (useEntities)
92
+
93
+ App-specific hook (useContacts, useTickets, etc.)
94
+
95
+ React Component
96
+ ```
97
+
98
+ **Key points:**
99
+ - `useEntities` handles loading states, error handling, and authentication
100
+ - App hooks transform `EntityRecord` → domain models (camelCase)
101
+ - Components consume app hooks, not `useEntities` directly
102
+
103
+ ## Exports
104
+
105
+ ### `/hooks` - React Hooks
106
+
107
+ | Hook | Description |
108
+ |------|-------------|
109
+ | `useEntities(options)` | Full CRUD operations with loading/error states |
110
+
111
+ Use `useEntities` inside your app-specific hooks (not directly in components):
112
+
113
+ ```tsx
114
+ // Inside your custom hook
115
+ import { useEntities } from "@elqnt/entity/hooks";
116
+
117
+ export function useMyEntities() {
118
+ const {
119
+ queryRecords, // Query multiple records with filters/pagination
120
+ getRecord, // Get single record by ID
121
+ createRecord, // Create new record
122
+ updateRecord, // Update existing record
123
+ deleteRecord, // Delete record
124
+ listDefinitions,// List entity definitions
125
+ getDefinition, // Get entity definition by name
126
+ loading, // Loading state
127
+ error, // Error message
128
+ } = useEntities({ baseUrl, orgId });
129
+
130
+ // Transform and expose domain-specific functions
131
+ // ...
132
+ }
133
+ ```
134
+
135
+ ### `/api` - API Functions
136
+
137
+ Low-level API functions for direct HTTP calls.
138
+
139
+ ```tsx
140
+ import {
141
+ // Entity Definitions
142
+ listEntityDefinitionsApi,
143
+ getEntityDefinitionApi,
144
+ createEntityDefinitionApi,
145
+ updateEntityDefinitionApi,
146
+ deleteEntityDefinitionApi,
147
+
148
+ // Entity Records
149
+ queryEntityRecordsApi,
150
+ getEntityRecordApi,
151
+ createEntityRecordApi,
152
+ updateEntityRecordApi,
153
+ deleteEntityRecordApi,
154
+
155
+ // Bulk Operations
156
+ bulkCreateEntityRecordsApi,
157
+ bulkUpdateEntityRecordsApi,
158
+ bulkDeleteEntityRecordsApi,
159
+
160
+ // Count
161
+ countEntityRecordsApi,
162
+ } from "@elqnt/entity/api";
163
+ ```
164
+
165
+ ### `/models` - TypeScript Types
166
+
167
+ Types generated from Go via tygo.
168
+
169
+ ```tsx
170
+ import type {
171
+ EntityDefinition,
172
+ EntityRecord,
173
+ EntityQuery,
174
+ Filter,
175
+ Sort,
176
+ ListEntityRecordsResponse,
177
+ GetEntityRecordResponse,
178
+ } from "@elqnt/entity/models";
179
+ ```
180
+
181
+ ### Main Entry Point
182
+
183
+ You can also import everything from the main entry:
184
+
185
+ ```tsx
186
+ import { useEntities, EntityRecord, queryEntityRecordsApi } from "@elqnt/entity";
187
+ ```
188
+
189
+ ## Options
190
+
191
+ ```tsx
192
+ interface UseEntitiesOptions {
193
+ baseUrl: string; // API Gateway URL
194
+ orgId: string; // Organization ID
195
+ userId?: string; // Optional user ID for headers
196
+ userEmail?: string; // Optional user email for headers
197
+ }
198
+ ```
199
+
200
+ ## Query Options
201
+
202
+ ```tsx
203
+ interface QueryOptions {
204
+ page?: number; // Page number (default: 1)
205
+ pageSize?: number; // Items per page (default: 20)
206
+ filters?: Record<string, unknown>; // Filter conditions
207
+ sortBy?: string; // Field to sort by
208
+ sortOrder?: "asc" | "desc"; // Sort direction
209
+ }
210
+ ```
@@ -41,5 +41,20 @@ declare function countEntityRecordsApi(entityName: string, filters: Record<strin
41
41
  count: number;
42
42
  metadata: ResponseMetadata;
43
43
  }>>;
44
+ interface ProvisionEntitiesResponse {
45
+ created: number;
46
+ updated: number;
47
+ errors: string[];
48
+ success: boolean;
49
+ metadata: ResponseMetadata;
50
+ }
51
+ /**
52
+ * Provision entity definitions for an organization.
53
+ * Creates or updates entity definitions in bulk.
54
+ *
55
+ * @param definitions - Array of EntityDefinition to provision
56
+ * @param options - API client options (baseUrl, orgId)
57
+ */
58
+ declare function provisionEntitiesApi(definitions: EntityDefinition[], options: ApiClientOptions): Promise<ApiResponse<ProvisionEntitiesResponse>>;
44
59
 
45
- export { bulkCreateEntityRecordsApi, bulkDeleteEntityRecordsApi, bulkUpdateEntityRecordsApi, countEntityRecordsApi, createEntityDefinitionApi, createEntityRecordApi, deleteEntityDefinitionApi, deleteEntityRecordApi, getEntityDefinitionApi, getEntityRecordApi, listEntityDefinitionsApi, queryEntityRecordsApi, updateEntityDefinitionApi, updateEntityRecordApi };
60
+ export { type ProvisionEntitiesResponse, bulkCreateEntityRecordsApi, bulkDeleteEntityRecordsApi, bulkUpdateEntityRecordsApi, countEntityRecordsApi, createEntityDefinitionApi, createEntityRecordApi, deleteEntityDefinitionApi, deleteEntityRecordApi, getEntityDefinitionApi, getEntityRecordApi, listEntityDefinitionsApi, provisionEntitiesApi, queryEntityRecordsApi, updateEntityDefinitionApi, updateEntityRecordApi };
@@ -41,5 +41,20 @@ declare function countEntityRecordsApi(entityName: string, filters: Record<strin
41
41
  count: number;
42
42
  metadata: ResponseMetadata;
43
43
  }>>;
44
+ interface ProvisionEntitiesResponse {
45
+ created: number;
46
+ updated: number;
47
+ errors: string[];
48
+ success: boolean;
49
+ metadata: ResponseMetadata;
50
+ }
51
+ /**
52
+ * Provision entity definitions for an organization.
53
+ * Creates or updates entity definitions in bulk.
54
+ *
55
+ * @param definitions - Array of EntityDefinition to provision
56
+ * @param options - API client options (baseUrl, orgId)
57
+ */
58
+ declare function provisionEntitiesApi(definitions: EntityDefinition[], options: ApiClientOptions): Promise<ApiResponse<ProvisionEntitiesResponse>>;
44
59
 
45
- export { bulkCreateEntityRecordsApi, bulkDeleteEntityRecordsApi, bulkUpdateEntityRecordsApi, countEntityRecordsApi, createEntityDefinitionApi, createEntityRecordApi, deleteEntityDefinitionApi, deleteEntityRecordApi, getEntityDefinitionApi, getEntityRecordApi, listEntityDefinitionsApi, queryEntityRecordsApi, updateEntityDefinitionApi, updateEntityRecordApi };
60
+ export { type ProvisionEntitiesResponse, bulkCreateEntityRecordsApi, bulkDeleteEntityRecordsApi, bulkUpdateEntityRecordsApi, countEntityRecordsApi, createEntityDefinitionApi, createEntityRecordApi, deleteEntityDefinitionApi, deleteEntityRecordApi, getEntityDefinitionApi, getEntityRecordApi, listEntityDefinitionsApi, provisionEntitiesApi, queryEntityRecordsApi, updateEntityDefinitionApi, updateEntityRecordApi };
package/dist/api/index.js CHANGED
@@ -14,8 +14,8 @@
14
14
 
15
15
 
16
16
 
17
- var _chunkSXBB42DJjs = require('../chunk-SXBB42DJ.js');
18
17
 
18
+ var _chunk6SB5QDL5js = require('../chunk-6SB5QDL5.js');
19
19
 
20
20
 
21
21
 
@@ -30,5 +30,7 @@ var _chunkSXBB42DJjs = require('../chunk-SXBB42DJ.js');
30
30
 
31
31
 
32
32
 
33
- exports.bulkCreateEntityRecordsApi = _chunkSXBB42DJjs.bulkCreateEntityRecordsApi; exports.bulkDeleteEntityRecordsApi = _chunkSXBB42DJjs.bulkDeleteEntityRecordsApi; exports.bulkUpdateEntityRecordsApi = _chunkSXBB42DJjs.bulkUpdateEntityRecordsApi; exports.countEntityRecordsApi = _chunkSXBB42DJjs.countEntityRecordsApi; exports.createEntityDefinitionApi = _chunkSXBB42DJjs.createEntityDefinitionApi; exports.createEntityRecordApi = _chunkSXBB42DJjs.createEntityRecordApi; exports.deleteEntityDefinitionApi = _chunkSXBB42DJjs.deleteEntityDefinitionApi; exports.deleteEntityRecordApi = _chunkSXBB42DJjs.deleteEntityRecordApi; exports.getEntityDefinitionApi = _chunkSXBB42DJjs.getEntityDefinitionApi; exports.getEntityRecordApi = _chunkSXBB42DJjs.getEntityRecordApi; exports.listEntityDefinitionsApi = _chunkSXBB42DJjs.listEntityDefinitionsApi; exports.queryEntityRecordsApi = _chunkSXBB42DJjs.queryEntityRecordsApi; exports.updateEntityDefinitionApi = _chunkSXBB42DJjs.updateEntityDefinitionApi; exports.updateEntityRecordApi = _chunkSXBB42DJjs.updateEntityRecordApi;
33
+
34
+
35
+ exports.bulkCreateEntityRecordsApi = _chunk6SB5QDL5js.bulkCreateEntityRecordsApi; exports.bulkDeleteEntityRecordsApi = _chunk6SB5QDL5js.bulkDeleteEntityRecordsApi; exports.bulkUpdateEntityRecordsApi = _chunk6SB5QDL5js.bulkUpdateEntityRecordsApi; exports.countEntityRecordsApi = _chunk6SB5QDL5js.countEntityRecordsApi; exports.createEntityDefinitionApi = _chunk6SB5QDL5js.createEntityDefinitionApi; exports.createEntityRecordApi = _chunk6SB5QDL5js.createEntityRecordApi; exports.deleteEntityDefinitionApi = _chunk6SB5QDL5js.deleteEntityDefinitionApi; exports.deleteEntityRecordApi = _chunk6SB5QDL5js.deleteEntityRecordApi; exports.getEntityDefinitionApi = _chunk6SB5QDL5js.getEntityDefinitionApi; exports.getEntityRecordApi = _chunk6SB5QDL5js.getEntityRecordApi; exports.listEntityDefinitionsApi = _chunk6SB5QDL5js.listEntityDefinitionsApi; exports.provisionEntitiesApi = _chunk6SB5QDL5js.provisionEntitiesApi; exports.queryEntityRecordsApi = _chunk6SB5QDL5js.queryEntityRecordsApi; exports.updateEntityDefinitionApi = _chunk6SB5QDL5js.updateEntityDefinitionApi; exports.updateEntityRecordApi = _chunk6SB5QDL5js.updateEntityRecordApi;
34
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/api/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uiCAAC","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/api/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/api/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,6mCAAC","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/api/index.js"}
@@ -11,10 +11,11 @@ import {
11
11
  getEntityDefinitionApi,
12
12
  getEntityRecordApi,
13
13
  listEntityDefinitionsApi,
14
+ provisionEntitiesApi,
14
15
  queryEntityRecordsApi,
15
16
  updateEntityDefinitionApi,
16
17
  updateEntityRecordApi
17
- } from "../chunk-UHASYUCH.mjs";
18
+ } from "../chunk-SHMUKUYC.mjs";
18
19
  export {
19
20
  bulkCreateEntityRecordsApi,
20
21
  bulkDeleteEntityRecordsApi,
@@ -27,6 +28,7 @@ export {
27
28
  getEntityDefinitionApi,
28
29
  getEntityRecordApi,
29
30
  listEntityDefinitionsApi,
31
+ provisionEntitiesApi,
30
32
  queryEntityRecordsApi,
31
33
  updateEntityDefinitionApi,
32
34
  updateEntityRecordApi
@@ -60,6 +60,14 @@ async function countEntityRecordsApi(entityName, filters, options) {
60
60
  const endpoint = `/api/v1/entities/${entityName}/records/count${queryString ? `?${queryString}` : ""}`;
61
61
  return _browser.browserApiRequest.call(void 0, endpoint, { method: "GET", ...options });
62
62
  }
63
+ async function provisionEntitiesApi(definitions, options) {
64
+ return _browser.browserApiRequest.call(void 0, "/api/v1/admin/entities/update", {
65
+ method: "POST",
66
+ body: { definitions },
67
+ ...options
68
+ });
69
+ }
70
+
63
71
 
64
72
 
65
73
 
@@ -76,5 +84,5 @@ async function countEntityRecordsApi(entityName, filters, options) {
76
84
 
77
85
 
78
86
 
79
- exports.listEntityDefinitionsApi = listEntityDefinitionsApi; exports.getEntityDefinitionApi = getEntityDefinitionApi; exports.createEntityDefinitionApi = createEntityDefinitionApi; exports.updateEntityDefinitionApi = updateEntityDefinitionApi; exports.deleteEntityDefinitionApi = deleteEntityDefinitionApi; exports.queryEntityRecordsApi = queryEntityRecordsApi; exports.getEntityRecordApi = getEntityRecordApi; exports.createEntityRecordApi = createEntityRecordApi; exports.updateEntityRecordApi = updateEntityRecordApi; exports.deleteEntityRecordApi = deleteEntityRecordApi; exports.bulkCreateEntityRecordsApi = bulkCreateEntityRecordsApi; exports.bulkUpdateEntityRecordsApi = bulkUpdateEntityRecordsApi; exports.bulkDeleteEntityRecordsApi = bulkDeleteEntityRecordsApi; exports.countEntityRecordsApi = countEntityRecordsApi;
80
- //# sourceMappingURL=chunk-SXBB42DJ.js.map
87
+ exports.listEntityDefinitionsApi = listEntityDefinitionsApi; exports.getEntityDefinitionApi = getEntityDefinitionApi; exports.createEntityDefinitionApi = createEntityDefinitionApi; exports.updateEntityDefinitionApi = updateEntityDefinitionApi; exports.deleteEntityDefinitionApi = deleteEntityDefinitionApi; exports.queryEntityRecordsApi = queryEntityRecordsApi; exports.getEntityRecordApi = getEntityRecordApi; exports.createEntityRecordApi = createEntityRecordApi; exports.updateEntityRecordApi = updateEntityRecordApi; exports.deleteEntityRecordApi = deleteEntityRecordApi; exports.bulkCreateEntityRecordsApi = bulkCreateEntityRecordsApi; exports.bulkUpdateEntityRecordsApi = bulkUpdateEntityRecordsApi; exports.bulkDeleteEntityRecordsApi = bulkDeleteEntityRecordsApi; exports.countEntityRecordsApi = countEntityRecordsApi; exports.provisionEntitiesApi = provisionEntitiesApi;
88
+ //# sourceMappingURL=chunk-6SB5QDL5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/chunk-6SB5QDL5.js","../api/index.ts"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACA;ACKA,oDAAkC;AAgBlC,MAAA,SAAsB,wBAAA,CACpB,OAAA,EACqD;AACrD,EAAA,OAAO,wCAAA,8BAAkB,EAAgC,EAAE,MAAA,EAAQ,KAAA,EAAO,GAAG,QAAQ,CAAC,CAAA;AACxF;AAEA,MAAA,SAAsB,sBAAA,CACpB,UAAA,EACA,OAAA,EACgD;AAChD,EAAA,OAAO,wCAAA,CAAkB,6BAAA,EAAgC,UAAU,CAAA,CAAA;AACrE;AAKkD;AACmB,EAAA;AACrE;AAKE;AAEmE,EAAA;AACrE;AAK0E;AACL,EAAA;AACrE;AAUmD;AACd,EAAA;AACa,EAAA;AACH,IAAA;AACZ,MAAA;AAC/B,IAAA;AACD,EAAA;AACmC,EAAA;AACsB,EAAA;AACM,EAAA;AAClE;AAM8C;AACuB,EAAA;AACrE;AAM8C;AACuB,EAAA;AACrE;AAME;AAEmE,EAAA;AACrE;AAM0E;AACL,EAAA;AACrE;AASE;AAEuD,EAAA;AACzD;AAKE;AAEuD,EAAA;AACzD;AAKE;AAEuD,EAAA;AACzD;AAUuE;AAClC,EAAA;AACe,EAAA;AACL,IAAA;AACZ,MAAA;AAC/B,IAAA;AACD,EAAA;AACmC,EAAA;AAC4B,EAAA;AACA,EAAA;AAClE;AAwBmD;AACS,EAAA;AAChD,IAAA;AACY,IAAA;AACjB,IAAA;AACJ,EAAA;AACH;ADtHsE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/chunk-6SB5QDL5.js","sourcesContent":[null,"/**\n * Entity API functions\n *\n * Browser-side API client for entity operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n EntityDefinition,\n EntityRecord,\n ListEntityDefinitionsResponse,\n EntityDefinitionResponse,\n ListEntityRecordsResponse,\n EntityRecordResponse,\n} from \"../models\";\n\n// =============================================================================\n// ENTITY DEFINITIONS\n// =============================================================================\n\nexport async function listEntityDefinitionsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListEntityDefinitionsResponse>> {\n return browserApiRequest(\"/api/v1/entities/definitions\", { method: \"GET\", ...options });\n}\n\nexport async function getEntityDefinitionApi(\n entityName: string,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"GET\", ...options });\n}\n\nexport async function createEntityDefinitionApi(\n definition: Partial<EntityDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(\"/api/v1/entities/definitions\", { method: \"POST\", body: definition, ...options });\n}\n\nexport async function updateEntityDefinitionApi(\n entityName: string,\n definition: Partial<EntityDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"PUT\", body: definition, ...options });\n}\n\nexport async function deleteEntityDefinitionApi(\n entityName: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// ENTITY RECORDS\n// =============================================================================\n\nexport async function queryEntityRecordsApi(\n entityName: string,\n query: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<ListEntityRecordsResponse>> {\n const params = new URLSearchParams();\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n });\n const queryString = params.toString();\n const endpoint = `/api/v1/entities/${entityName}/records${queryString ? `?${queryString}` : \"\"}`;\n return browserApiRequest(endpoint, { method: \"GET\", ...options });\n}\n\nexport async function getEntityRecordApi(\n entityName: string,\n recordId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"GET\", ...options });\n}\n\nexport async function createEntityRecordApi(\n entityName: string,\n record: Partial<EntityRecord>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records`, { method: \"POST\", body: record, ...options });\n}\n\nexport async function updateEntityRecordApi(\n entityName: string,\n recordId: string,\n record: Partial<EntityRecord>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"PUT\", body: record, ...options });\n}\n\nexport async function deleteEntityRecordApi(\n entityName: string,\n recordId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// BULK OPERATIONS\n// =============================================================================\n\nexport async function bulkCreateEntityRecordsApi(\n entityName: string,\n records: Partial<EntityRecord>[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ records: EntityRecord[]; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"POST\", body: { records }, ...options });\n}\n\nexport async function bulkUpdateEntityRecordsApi(\n entityName: string,\n records: Partial<EntityRecord>[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ records: EntityRecord[]; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"PUT\", body: { records }, ...options });\n}\n\nexport async function bulkDeleteEntityRecordsApi(\n entityName: string,\n recordIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"DELETE\", body: { recordIds }, ...options });\n}\n\n// =============================================================================\n// COUNT\n// =============================================================================\n\nexport async function countEntityRecordsApi(\n entityName: string,\n filters: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<{ count: number; metadata: ResponseMetadata }>> {\n const params = new URLSearchParams();\n Object.entries(filters).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n });\n const queryString = params.toString();\n const endpoint = `/api/v1/entities/${entityName}/records/count${queryString ? `?${queryString}` : \"\"}`;\n return browserApiRequest(endpoint, { method: \"GET\", ...options });\n}\n\n// =============================================================================\n// PROVISIONING\n// =============================================================================\n\nexport interface ProvisionEntitiesResponse {\n created: number;\n updated: number;\n errors: string[];\n success: boolean;\n metadata: ResponseMetadata;\n}\n\n/**\n * Provision entity definitions for an organization.\n * Creates or updates entity definitions in bulk.\n *\n * @param definitions - Array of EntityDefinition to provision\n * @param options - API client options (baseUrl, orgId)\n */\nexport async function provisionEntitiesApi(\n definitions: EntityDefinition[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionEntitiesResponse>> {\n return browserApiRequest(\"/api/v1/admin/entities/update\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n"]}
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
 
10
- var _chunkSXBB42DJjs = require('./chunk-SXBB42DJ.js');
10
+ var _chunk6SB5QDL5js = require('./chunk-6SB5QDL5.js');
11
11
 
12
12
  // hooks/use-entities.ts
13
13
  var _react = require('react');
@@ -18,7 +18,7 @@ function useEntities(options) {
18
18
  setLoading(true);
19
19
  setError(null);
20
20
  try {
21
- const response = await _chunkSXBB42DJjs.listEntityDefinitionsApi.call(void 0, options);
21
+ const response = await _chunk6SB5QDL5js.listEntityDefinitionsApi.call(void 0, options);
22
22
  if (response.error) {
23
23
  setError(response.error);
24
24
  return [];
@@ -37,7 +37,7 @@ function useEntities(options) {
37
37
  setLoading(true);
38
38
  setError(null);
39
39
  try {
40
- const response = await _chunkSXBB42DJjs.getEntityDefinitionApi.call(void 0, entityName, options);
40
+ const response = await _chunk6SB5QDL5js.getEntityDefinitionApi.call(void 0, entityName, options);
41
41
  if (response.error) {
42
42
  setError(response.error);
43
43
  return null;
@@ -71,7 +71,7 @@ function useEntities(options) {
71
71
  if (query.sortOrder) {
72
72
  queryParams.sortOrder = query.sortOrder;
73
73
  }
74
- const response = await _chunkSXBB42DJjs.queryEntityRecordsApi.call(void 0, entityName, queryParams, options);
74
+ const response = await _chunk6SB5QDL5js.queryEntityRecordsApi.call(void 0, entityName, queryParams, options);
75
75
  if (response.error) {
76
76
  setError(response.error);
77
77
  return { records: [], total: 0, page: 1, pageSize: 20 };
@@ -106,7 +106,7 @@ function useEntities(options) {
106
106
  setLoading(true);
107
107
  setError(null);
108
108
  try {
109
- const response = await _chunkSXBB42DJjs.getEntityRecordApi.call(void 0, entityName, recordId, options);
109
+ const response = await _chunk6SB5QDL5js.getEntityRecordApi.call(void 0, entityName, recordId, options);
110
110
  if (response.error) {
111
111
  setError(response.error);
112
112
  return null;
@@ -127,7 +127,7 @@ function useEntities(options) {
127
127
  setLoading(true);
128
128
  setError(null);
129
129
  try {
130
- const response = await _chunkSXBB42DJjs.createEntityRecordApi.call(void 0, entityName, record, options);
130
+ const response = await _chunk6SB5QDL5js.createEntityRecordApi.call(void 0, entityName, record, options);
131
131
  if (response.error) {
132
132
  setError(response.error);
133
133
  return null;
@@ -148,7 +148,7 @@ function useEntities(options) {
148
148
  setLoading(true);
149
149
  setError(null);
150
150
  try {
151
- const response = await _chunkSXBB42DJjs.updateEntityRecordApi.call(void 0, entityName, recordId, record, options);
151
+ const response = await _chunk6SB5QDL5js.updateEntityRecordApi.call(void 0, entityName, recordId, record, options);
152
152
  if (response.error) {
153
153
  setError(response.error);
154
154
  return null;
@@ -169,7 +169,7 @@ function useEntities(options) {
169
169
  setLoading(true);
170
170
  setError(null);
171
171
  try {
172
- const response = await _chunkSXBB42DJjs.deleteEntityRecordApi.call(void 0, entityName, recordId, options);
172
+ const response = await _chunk6SB5QDL5js.deleteEntityRecordApi.call(void 0, entityName, recordId, options);
173
173
  if (response.error) {
174
174
  setError(response.error);
175
175
  return false;
@@ -201,4 +201,4 @@ function useEntities(options) {
201
201
 
202
202
 
203
203
  exports.useEntities = useEntities;
204
- //# sourceMappingURL=chunk-GQJJP4YL.js.map
204
+ //# sourceMappingURL=chunk-ESJH4DJM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/chunk-GQJJP4YL.js","../hooks/use-entities.ts"],"names":[],"mappings":"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","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/chunk-GQJJP4YL.js","sourcesContent":[null,"\"use client\";\n\n/**\n * Entity hooks for React applications\n *\n * Provides React hooks for entity CRUD operations with loading/error states.\n */\n\nimport { useState, useCallback } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { EntityDefinition, EntityRecord } from \"../models\";\nimport {\n listEntityDefinitionsApi,\n getEntityDefinitionApi,\n queryEntityRecordsApi,\n getEntityRecordApi,\n createEntityRecordApi,\n updateEntityRecordApi,\n deleteEntityRecordApi,\n} from \"../api\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type UseEntitiesOptions = ApiClientOptions;\n\nexport interface QueryOptions {\n page?: number;\n pageSize?: number;\n filters?: Record<string, unknown>;\n sortBy?: string;\n sortOrder?: \"asc\" | \"desc\";\n}\n\nexport interface QueryResult {\n records: EntityRecord[];\n total: number;\n page: number;\n pageSize: number;\n}\n\n// =============================================================================\n// USE ENTITIES HOOK\n// =============================================================================\n\n/**\n * Hook for entity CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, queryRecords, createRecord } = useEntities({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * userId: user?.id,\n * userEmail: user?.email,\n * });\n *\n * const records = await queryRecords(\"contacts\", { page: 1, pageSize: 20 });\n * ```\n */\nexport function useEntities(options: UseEntitiesOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const listDefinitions = useCallback(async (): Promise<EntityDefinition[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listEntityDefinitionsApi(options);\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.definitions || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to load definitions\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n }, [options]);\n\n const getDefinition = useCallback(\n async (entityName: string): Promise<EntityDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getEntityDefinitionApi(entityName, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get definition\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const queryRecords = useCallback(\n async (entityName: string, query: QueryOptions = {}): Promise<QueryResult> => {\n setLoading(true);\n setError(null);\n try {\n const queryParams: Record<string, unknown> = {\n page: query.page || 1,\n pageSize: query.pageSize || 20,\n };\n if (query.filters) {\n queryParams.filters = JSON.stringify(query.filters);\n }\n if (query.sortBy) {\n queryParams.sortBy = query.sortBy;\n }\n if (query.sortOrder) {\n queryParams.sortOrder = query.sortOrder;\n }\n\n const response = await queryEntityRecordsApi(entityName, queryParams, options);\n if (response.error) {\n setError(response.error);\n return { records: [], total: 0, page: 1, pageSize: 20 };\n }\n\n // Handle both direct records array and nested ListResult structure\n const data = response.data;\n if (data?.records?.items) {\n // ListEntityRecordsResponse with ListResult\n return {\n records: data.records.items,\n total: data.records.totalCount,\n page: data.records.currentPage,\n pageSize: data.records.pageSize,\n };\n }\n // Fallback for simpler response structure\n return {\n records: (data as any)?.records || [],\n total: (data as any)?.total || 0,\n page: (data as any)?.page || 1,\n pageSize: (data as any)?.pageSize || 20,\n };\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to query records\";\n setError(message);\n return { records: [], total: 0, page: 1, pageSize: 20 };\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const getRecord = useCallback(\n async (entityName: string, recordId: string): Promise<EntityRecord | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getEntityRecordApi(entityName, recordId, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.record || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get record\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const createRecord = useCallback(\n async (entityName: string, record: Partial<EntityRecord>): Promise<EntityRecord | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await createEntityRecordApi(entityName, record, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.record || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to create record\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const updateRecord = useCallback(\n async (\n entityName: string,\n recordId: string,\n record: Partial<EntityRecord>\n ): Promise<EntityRecord | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await updateEntityRecordApi(entityName, recordId, record, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.record || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to update record\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const deleteRecord = useCallback(\n async (entityName: string, recordId: string): Promise<boolean> => {\n setLoading(true);\n setError(null);\n try {\n const response = await deleteEntityRecordApi(entityName, recordId, options);\n if (response.error) {\n setError(response.error);\n return false;\n }\n return true;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to delete record\";\n setError(message);\n return false;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n return {\n loading,\n error,\n listDefinitions,\n getDefinition,\n queryRecords,\n getRecord,\n createRecord,\n updateRecord,\n deleteRecord,\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/chunk-ESJH4DJM.js","../hooks/use-entities.ts"],"names":[],"mappings":"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","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/entity/dist/chunk-ESJH4DJM.js","sourcesContent":[null,"\"use client\";\n\n/**\n * Entity hooks for React applications\n *\n * Provides React hooks for entity CRUD operations with loading/error states.\n */\n\nimport { useState, useCallback } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { EntityDefinition, EntityRecord } from \"../models\";\nimport {\n listEntityDefinitionsApi,\n getEntityDefinitionApi,\n queryEntityRecordsApi,\n getEntityRecordApi,\n createEntityRecordApi,\n updateEntityRecordApi,\n deleteEntityRecordApi,\n} from \"../api\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type UseEntitiesOptions = ApiClientOptions;\n\nexport interface QueryOptions {\n page?: number;\n pageSize?: number;\n filters?: Record<string, unknown>;\n sortBy?: string;\n sortOrder?: \"asc\" | \"desc\";\n}\n\nexport interface QueryResult {\n records: EntityRecord[];\n total: number;\n page: number;\n pageSize: number;\n}\n\n// =============================================================================\n// USE ENTITIES HOOK\n// =============================================================================\n\n/**\n * Hook for entity CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, queryRecords, createRecord } = useEntities({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * userId: user?.id,\n * userEmail: user?.email,\n * });\n *\n * const records = await queryRecords(\"contacts\", { page: 1, pageSize: 20 });\n * ```\n */\nexport function useEntities(options: UseEntitiesOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const listDefinitions = useCallback(async (): Promise<EntityDefinition[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listEntityDefinitionsApi(options);\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.definitions || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to load definitions\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n }, [options]);\n\n const getDefinition = useCallback(\n async (entityName: string): Promise<EntityDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getEntityDefinitionApi(entityName, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get definition\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const queryRecords = useCallback(\n async (entityName: string, query: QueryOptions = {}): Promise<QueryResult> => {\n setLoading(true);\n setError(null);\n try {\n const queryParams: Record<string, unknown> = {\n page: query.page || 1,\n pageSize: query.pageSize || 20,\n };\n if (query.filters) {\n queryParams.filters = JSON.stringify(query.filters);\n }\n if (query.sortBy) {\n queryParams.sortBy = query.sortBy;\n }\n if (query.sortOrder) {\n queryParams.sortOrder = query.sortOrder;\n }\n\n const response = await queryEntityRecordsApi(entityName, queryParams, options);\n if (response.error) {\n setError(response.error);\n return { records: [], total: 0, page: 1, pageSize: 20 };\n }\n\n // Handle both direct records array and nested ListResult structure\n const data = response.data;\n if (data?.records?.items) {\n // ListEntityRecordsResponse with ListResult\n return {\n records: data.records.items,\n total: data.records.totalCount,\n page: data.records.currentPage,\n pageSize: data.records.pageSize,\n };\n }\n // Fallback for simpler response structure\n return {\n records: (data as any)?.records || [],\n total: (data as any)?.total || 0,\n page: (data as any)?.page || 1,\n pageSize: (data as any)?.pageSize || 20,\n };\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to query records\";\n setError(message);\n return { records: [], total: 0, page: 1, pageSize: 20 };\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const getRecord = useCallback(\n async (entityName: string, recordId: string): Promise<EntityRecord | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getEntityRecordApi(entityName, recordId, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.record || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get record\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const createRecord = useCallback(\n async (entityName: string, record: Partial<EntityRecord>): Promise<EntityRecord | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await createEntityRecordApi(entityName, record, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.record || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to create record\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const updateRecord = useCallback(\n async (\n entityName: string,\n recordId: string,\n record: Partial<EntityRecord>\n ): Promise<EntityRecord | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await updateEntityRecordApi(entityName, recordId, record, options);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.record || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to update record\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n const deleteRecord = useCallback(\n async (entityName: string, recordId: string): Promise<boolean> => {\n setLoading(true);\n setError(null);\n try {\n const response = await deleteEntityRecordApi(entityName, recordId, options);\n if (response.error) {\n setError(response.error);\n return false;\n }\n return true;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to delete record\";\n setError(message);\n return false;\n } finally {\n setLoading(false);\n }\n },\n [options]\n );\n\n return {\n loading,\n error,\n listDefinitions,\n getDefinition,\n queryRecords,\n getRecord,\n createRecord,\n updateRecord,\n deleteRecord,\n };\n}\n"]}
@@ -7,7 +7,7 @@ import {
7
7
  listEntityDefinitionsApi,
8
8
  queryEntityRecordsApi,
9
9
  updateEntityRecordApi
10
- } from "./chunk-UHASYUCH.mjs";
10
+ } from "./chunk-SHMUKUYC.mjs";
11
11
 
12
12
  // hooks/use-entities.ts
13
13
  import { useState, useCallback } from "react";
@@ -201,4 +201,4 @@ function useEntities(options) {
201
201
  export {
202
202
  useEntities
203
203
  };
204
- //# sourceMappingURL=chunk-JEDTIUWW.mjs.map
204
+ //# sourceMappingURL=chunk-OIVRV2UT.mjs.map
@@ -60,6 +60,13 @@ async function countEntityRecordsApi(entityName, filters, options) {
60
60
  const endpoint = `/api/v1/entities/${entityName}/records/count${queryString ? `?${queryString}` : ""}`;
61
61
  return browserApiRequest(endpoint, { method: "GET", ...options });
62
62
  }
63
+ async function provisionEntitiesApi(definitions, options) {
64
+ return browserApiRequest("/api/v1/admin/entities/update", {
65
+ method: "POST",
66
+ body: { definitions },
67
+ ...options
68
+ });
69
+ }
63
70
 
64
71
  export {
65
72
  listEntityDefinitionsApi,
@@ -75,6 +82,7 @@ export {
75
82
  bulkCreateEntityRecordsApi,
76
83
  bulkUpdateEntityRecordsApi,
77
84
  bulkDeleteEntityRecordsApi,
78
- countEntityRecordsApi
85
+ countEntityRecordsApi,
86
+ provisionEntitiesApi
79
87
  };
80
- //# sourceMappingURL=chunk-UHASYUCH.mjs.map
88
+ //# sourceMappingURL=chunk-SHMUKUYC.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../api/index.ts"],"sourcesContent":["/**\n * Entity API functions\n *\n * Browser-side API client for entity operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n EntityDefinition,\n EntityRecord,\n ListEntityDefinitionsResponse,\n EntityDefinitionResponse,\n ListEntityRecordsResponse,\n EntityRecordResponse,\n} from \"../models\";\n\n// =============================================================================\n// ENTITY DEFINITIONS\n// =============================================================================\n\nexport async function listEntityDefinitionsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListEntityDefinitionsResponse>> {\n return browserApiRequest(\"/api/v1/entities/definitions\", { method: \"GET\", ...options });\n}\n\nexport async function getEntityDefinitionApi(\n entityName: string,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"GET\", ...options });\n}\n\nexport async function createEntityDefinitionApi(\n definition: Partial<EntityDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(\"/api/v1/entities/definitions\", { method: \"POST\", body: definition, ...options });\n}\n\nexport async function updateEntityDefinitionApi(\n entityName: string,\n definition: Partial<EntityDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"PUT\", body: definition, ...options });\n}\n\nexport async function deleteEntityDefinitionApi(\n entityName: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// ENTITY RECORDS\n// =============================================================================\n\nexport async function queryEntityRecordsApi(\n entityName: string,\n query: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<ListEntityRecordsResponse>> {\n const params = new URLSearchParams();\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n });\n const queryString = params.toString();\n const endpoint = `/api/v1/entities/${entityName}/records${queryString ? `?${queryString}` : \"\"}`;\n return browserApiRequest(endpoint, { method: \"GET\", ...options });\n}\n\nexport async function getEntityRecordApi(\n entityName: string,\n recordId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"GET\", ...options });\n}\n\nexport async function createEntityRecordApi(\n entityName: string,\n record: Partial<EntityRecord>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records`, { method: \"POST\", body: record, ...options });\n}\n\nexport async function updateEntityRecordApi(\n entityName: string,\n recordId: string,\n record: Partial<EntityRecord>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"PUT\", body: record, ...options });\n}\n\nexport async function deleteEntityRecordApi(\n entityName: string,\n recordId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// BULK OPERATIONS\n// =============================================================================\n\nexport async function bulkCreateEntityRecordsApi(\n entityName: string,\n records: Partial<EntityRecord>[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ records: EntityRecord[]; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"POST\", body: { records }, ...options });\n}\n\nexport async function bulkUpdateEntityRecordsApi(\n entityName: string,\n records: Partial<EntityRecord>[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ records: EntityRecord[]; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"PUT\", body: { records }, ...options });\n}\n\nexport async function bulkDeleteEntityRecordsApi(\n entityName: string,\n recordIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"DELETE\", body: { recordIds }, ...options });\n}\n\n// =============================================================================\n// COUNT\n// =============================================================================\n\nexport async function countEntityRecordsApi(\n entityName: string,\n filters: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<{ count: number; metadata: ResponseMetadata }>> {\n const params = new URLSearchParams();\n Object.entries(filters).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n });\n const queryString = params.toString();\n const endpoint = `/api/v1/entities/${entityName}/records/count${queryString ? `?${queryString}` : \"\"}`;\n return browserApiRequest(endpoint, { method: \"GET\", ...options });\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../api/index.ts"],"sourcesContent":["/**\n * Entity API functions\n *\n * Browser-side API client for entity operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n EntityDefinition,\n EntityRecord,\n ListEntityDefinitionsResponse,\n EntityDefinitionResponse,\n ListEntityRecordsResponse,\n EntityRecordResponse,\n} from \"../models\";\n\n// =============================================================================\n// ENTITY DEFINITIONS\n// =============================================================================\n\nexport async function listEntityDefinitionsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListEntityDefinitionsResponse>> {\n return browserApiRequest(\"/api/v1/entities/definitions\", { method: \"GET\", ...options });\n}\n\nexport async function getEntityDefinitionApi(\n entityName: string,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"GET\", ...options });\n}\n\nexport async function createEntityDefinitionApi(\n definition: Partial<EntityDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(\"/api/v1/entities/definitions\", { method: \"POST\", body: definition, ...options });\n}\n\nexport async function updateEntityDefinitionApi(\n entityName: string,\n definition: Partial<EntityDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityDefinitionResponse>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"PUT\", body: definition, ...options });\n}\n\nexport async function deleteEntityDefinitionApi(\n entityName: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/definitions/${entityName}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// ENTITY RECORDS\n// =============================================================================\n\nexport async function queryEntityRecordsApi(\n entityName: string,\n query: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<ListEntityRecordsResponse>> {\n const params = new URLSearchParams();\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n });\n const queryString = params.toString();\n const endpoint = `/api/v1/entities/${entityName}/records${queryString ? `?${queryString}` : \"\"}`;\n return browserApiRequest(endpoint, { method: \"GET\", ...options });\n}\n\nexport async function getEntityRecordApi(\n entityName: string,\n recordId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"GET\", ...options });\n}\n\nexport async function createEntityRecordApi(\n entityName: string,\n record: Partial<EntityRecord>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records`, { method: \"POST\", body: record, ...options });\n}\n\nexport async function updateEntityRecordApi(\n entityName: string,\n recordId: string,\n record: Partial<EntityRecord>,\n options: ApiClientOptions\n): Promise<ApiResponse<EntityRecordResponse>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"PUT\", body: record, ...options });\n}\n\nexport async function deleteEntityRecordApi(\n entityName: string,\n recordId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/${recordId}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// BULK OPERATIONS\n// =============================================================================\n\nexport async function bulkCreateEntityRecordsApi(\n entityName: string,\n records: Partial<EntityRecord>[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ records: EntityRecord[]; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"POST\", body: { records }, ...options });\n}\n\nexport async function bulkUpdateEntityRecordsApi(\n entityName: string,\n records: Partial<EntityRecord>[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ records: EntityRecord[]; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"PUT\", body: { records }, ...options });\n}\n\nexport async function bulkDeleteEntityRecordsApi(\n entityName: string,\n recordIds: string[],\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/entities/${entityName}/records/bulk`, { method: \"DELETE\", body: { recordIds }, ...options });\n}\n\n// =============================================================================\n// COUNT\n// =============================================================================\n\nexport async function countEntityRecordsApi(\n entityName: string,\n filters: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<{ count: number; metadata: ResponseMetadata }>> {\n const params = new URLSearchParams();\n Object.entries(filters).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n });\n const queryString = params.toString();\n const endpoint = `/api/v1/entities/${entityName}/records/count${queryString ? `?${queryString}` : \"\"}`;\n return browserApiRequest(endpoint, { method: \"GET\", ...options });\n}\n\n// =============================================================================\n// PROVISIONING\n// =============================================================================\n\nexport interface ProvisionEntitiesResponse {\n created: number;\n updated: number;\n errors: string[];\n success: boolean;\n metadata: ResponseMetadata;\n}\n\n/**\n * Provision entity definitions for an organization.\n * Creates or updates entity definitions in bulk.\n *\n * @param definitions - Array of EntityDefinition to provision\n * @param options - API client options (baseUrl, orgId)\n */\nexport async function provisionEntitiesApi(\n definitions: EntityDefinition[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionEntitiesResponse>> {\n return browserApiRequest(\"/api/v1/admin/entities/update\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n"],"mappings":";;;AAOA,SAAS,yBAAyB;AAgBlC,eAAsB,yBACpB,SACqD;AACrD,SAAO,kBAAkB,gCAAgC,EAAE,QAAQ,OAAO,GAAG,QAAQ,CAAC;AACxF;AAEA,eAAsB,uBACpB,YACA,SACgD;AAChD,SAAO,kBAAkB,gCAAgC,UAAU,IAAI,EAAE,QAAQ,OAAO,GAAG,QAAQ,CAAC;AACtG;AAEA,eAAsB,0BACpB,YACA,SACgD;AAChD,SAAO,kBAAkB,gCAAgC,EAAE,QAAQ,QAAQ,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC3G;AAEA,eAAsB,0BACpB,YACA,YACA,SACgD;AAChD,SAAO,kBAAkB,gCAAgC,UAAU,IAAI,EAAE,QAAQ,OAAO,MAAM,YAAY,GAAG,QAAQ,CAAC;AACxH;AAEA,eAAsB,0BACpB,YACA,SACwE;AACxE,SAAO,kBAAkB,gCAAgC,UAAU,IAAI,EAAE,QAAQ,UAAU,GAAG,QAAQ,CAAC;AACzG;AAMA,eAAsB,sBACpB,YACA,OACA,SACiD;AACjD,QAAM,SAAS,IAAI,gBAAgB;AACnC,SAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC9C,QAAI,UAAU,UAAa,UAAU,MAAM;AACzC,aAAO,IAAI,KAAK,OAAO,KAAK,CAAC;AAAA,IAC/B;AAAA,EACF,CAAC;AACD,QAAM,cAAc,OAAO,SAAS;AACpC,QAAM,WAAW,oBAAoB,UAAU,WAAW,cAAc,IAAI,WAAW,KAAK,EAAE;AAC9F,SAAO,kBAAkB,UAAU,EAAE,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAClE;AAEA,eAAsB,mBACpB,YACA,UACA,SAC4C;AAC5C,SAAO,kBAAkB,oBAAoB,UAAU,YAAY,QAAQ,IAAI,EAAE,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAC9G;AAEA,eAAsB,sBACpB,YACA,QACA,SAC4C;AAC5C,SAAO,kBAAkB,oBAAoB,UAAU,YAAY,EAAE,QAAQ,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjH;AAEA,eAAsB,sBACpB,YACA,UACA,QACA,SAC4C;AAC5C,SAAO,kBAAkB,oBAAoB,UAAU,YAAY,QAAQ,IAAI,EAAE,QAAQ,OAAO,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAC5H;AAEA,eAAsB,sBACpB,YACA,UACA,SACwE;AACxE,SAAO,kBAAkB,oBAAoB,UAAU,YAAY,QAAQ,IAAI,EAAE,QAAQ,UAAU,GAAG,QAAQ,CAAC;AACjH;AAMA,eAAsB,2BACpB,YACA,SACA,SAC+E;AAC/E,SAAO,kBAAkB,oBAAoB,UAAU,iBAAiB,EAAE,QAAQ,QAAQ,MAAM,EAAE,QAAQ,GAAG,GAAG,QAAQ,CAAC;AAC3H;AAEA,eAAsB,2BACpB,YACA,SACA,SAC+E;AAC/E,SAAO,kBAAkB,oBAAoB,UAAU,iBAAiB,EAAE,QAAQ,OAAO,MAAM,EAAE,QAAQ,GAAG,GAAG,QAAQ,CAAC;AAC1H;AAEA,eAAsB,2BACpB,YACA,WACA,SACwE;AACxE,SAAO,kBAAkB,oBAAoB,UAAU,iBAAiB,EAAE,QAAQ,UAAU,MAAM,EAAE,UAAU,GAAG,GAAG,QAAQ,CAAC;AAC/H;AAMA,eAAsB,sBACpB,YACA,SACA,SACqE;AACrE,QAAM,SAAS,IAAI,gBAAgB;AACnC,SAAO,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAChD,QAAI,UAAU,UAAa,UAAU,MAAM;AACzC,aAAO,IAAI,KAAK,OAAO,KAAK,CAAC;AAAA,IAC/B;AAAA,EACF,CAAC;AACD,QAAM,cAAc,OAAO,SAAS;AACpC,QAAM,WAAW,oBAAoB,UAAU,iBAAiB,cAAc,IAAI,WAAW,KAAK,EAAE;AACpG,SAAO,kBAAkB,UAAU,EAAE,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAClE;AAqBA,eAAsB,qBACpB,aACA,SACiD;AACjD,SAAO,kBAAkB,iCAAiC;AAAA,IACxD,QAAQ;AAAA,IACR,MAAM,EAAE,YAAY;AAAA,IACpB,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -2,9 +2,9 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkGQJJP4YLjs = require('../chunk-GQJJP4YL.js');
6
- require('../chunk-SXBB42DJ.js');
5
+ var _chunkESJH4DJMjs = require('../chunk-ESJH4DJM.js');
6
+ require('../chunk-6SB5QDL5.js');
7
7
 
8
8
 
9
- exports.useEntities = _chunkGQJJP4YLjs.useEntities;
9
+ exports.useEntities = _chunkESJH4DJMjs.useEntities;
10
10
  //# sourceMappingURL=index.js.map
@@ -2,8 +2,8 @@
2
2
  "use client";
3
3
  import {
4
4
  useEntities
5
- } from "../chunk-JEDTIUWW.mjs";
6
- import "../chunk-UHASYUCH.mjs";
5
+ } from "../chunk-OIVRV2UT.mjs";
6
+ import "../chunk-SHMUKUYC.mjs";
7
7
  export {
8
8
  useEntities
9
9
  };
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { EntityDefinition, EntityView, EntityRecord, EntityQuery, ListResult } from './models/index.mjs';
2
- export { BulkCreateRequest, BulkDeleteRequest, BulkUpdateRequest, CountEntityRecordsRequest, CountEntityRecordsResponse, CreateEntityDefinitionRequest, CreateOrgSchemaRequest, CreateOrgSchemaResponse, CreateRecordRequest, CreateViewRequest, DeleteEntityDefinitionRequest, DeleteRecordRequest, DeleteViewRequest, DropOrgSchemaRequest, DropOrgSchemaResponse, EntityDefinitionChangeEvent, EntityDefinitionCreate, EntityDefinitionCreated, EntityDefinitionDelete, EntityDefinitionDeleted, EntityDefinitionGet, EntityDefinitionGetServer, EntityDefinitionList, EntityDefinitionResponse, EntityDefinitionUpdate, EntityDefinitionUpdated, EntityFieldType, EntityFieldTypeBool, EntityFieldTypeCurrency, EntityFieldTypeDate, EntityFieldTypeDateTime, EntityFieldTypeDropdown, EntityFieldTypeEmail, EntityFieldTypeFile, EntityFieldTypeFloat, EntityFieldTypeImage, EntityFieldTypeInt, EntityFieldTypeJSON, EntityFieldTypeLookup, EntityFieldTypeMultiLookup, EntityFieldTypeMultiSelect, EntityFieldTypeOptionTS, EntityFieldTypePhone, EntityFieldTypeString, EntityFieldTypeStringMultiline, EntityFieldTypeTS, EntityFieldTypeText, EntityFieldTypeURL, EntityFieldTypes, EntityFilterOperator, EntityFilterOperatorOptionTS, EntityFilterOperatorTS, EntityFilterOperators, EntityOrgSchemaCreate, EntityOrgSchemaDrop, EntityRecordChangeEvent, EntityRecordCount, EntityRecordCreate, EntityRecordCreated, EntityRecordDelete, EntityRecordDeleted, EntityRecordGet, EntityRecordQuery, EntityRecordResponse, EntityRecordUpdate, EntityRecordUpdated, EntityRecordsBulkCreate, EntityRecordsBulkCreated, EntityRecordsBulkDelete, EntityRecordsBulkDeleted, EntityRecordsBulkUpdate, EntityRecordsBulkUpdated, EntityViewChangeEvent, EntityViewCreate, EntityViewCreated, EntityViewDelete, EntityViewDeleted, EntityViewList, EntityViewResponse, EntityViewUpdate, EntityViewUpdated, FieldValidation, Filter, GetEntityDefinitionRequest, GetEntityRecordRequest, GetEntityRecordResponse, GetViewRequest, InsertOneResult, ListEntityDefinitionsRequest, ListEntityDefinitionsResponse, ListEntityRecordsResponse, ListOptions, ListViewsRequest, ListViewsResponse, LookupInclude, OperatorBetween, OperatorContains, OperatorEmpty, OperatorEndsWith, OperatorEq, OperatorExists, OperatorGt, OperatorGte, OperatorIn, OperatorLt, OperatorLte, OperatorNe, OperatorNin, OperatorStartsWith, QueryRequest, RecordChange, RecordChangeAction, RecordChangeActionCreated, RecordChangeActionDeleted, RecordChangeActionUpdated, RecordReference, ResponseMetadata, Sort, UpdateEntityDefinitionRequest, UpdateRecordRequest, UpdateViewRequest, ValidationRule, ValidationRuleCondition, View, ViewColumn, ViewFilter } from './models/index.mjs';
3
- export { bulkCreateEntityRecordsApi, bulkDeleteEntityRecordsApi, bulkUpdateEntityRecordsApi, countEntityRecordsApi, createEntityDefinitionApi, createEntityRecordApi, deleteEntityDefinitionApi, deleteEntityRecordApi, getEntityDefinitionApi, getEntityRecordApi, listEntityDefinitionsApi, queryEntityRecordsApi, updateEntityDefinitionApi, updateEntityRecordApi } from './api/index.mjs';
2
+ export { EntityDefinitionResponse, EntityFilterOperatorTS, EntityRecordResponse, Filter, GetEntityRecordResponse, ListEntityDefinitionsResponse, ListEntityRecordsResponse, ResponseMetadata, Sort, ViewColumn, ViewFilter } from './models/index.mjs';
4
3
  export { QueryOptions, QueryResult, UseEntitiesOptions, useEntities } from './hooks/index.mjs';
4
+ export { bulkCreateEntityRecordsApi, bulkDeleteEntityRecordsApi, bulkUpdateEntityRecordsApi, countEntityRecordsApi, createEntityDefinitionApi, createEntityRecordApi, deleteEntityDefinitionApi, deleteEntityRecordApi, getEntityDefinitionApi, getEntityRecordApi, listEntityDefinitionsApi, queryEntityRecordsApi, updateEntityDefinitionApi, updateEntityRecordApi } from './api/index.mjs';
5
5
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
6
6
  import '@elqnt/types';
7
7
  import '@elqnt/api-client';