parse-dashboard 7.3.0-alpha.41 → 7.3.0-alpha.43

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.
@@ -126,6 +126,15 @@ object-assign
126
126
  * LICENSE file in the root directory of this source tree.
127
127
  */
128
128
 
129
+ /** @license React v16.14.0
130
+ * react-dom-server.browser.production.min.js
131
+ *
132
+ * Copyright (c) Facebook, Inc. and its affiliates.
133
+ *
134
+ * This source code is licensed under the MIT license found in the
135
+ * LICENSE file in the root directory of this source tree.
136
+ */
137
+
129
138
  /** @license React v16.14.0
130
139
  * react-dom.production.min.js
131
140
  *
@@ -350,6 +350,13 @@
350
350
  <path d="M58 75.25H7.81v-50.5H66V17H0v66h66V51h-8"/>
351
351
  <path d="M80.613 18.543l-7.732 7.733L79.07 32H47.52C36.73 32 28 41.24 28 52.03V66h10.885V52.03c0-4.76 3.873-9.03 8.634-9.03h31.543l-6.187 6.583 7.732 7.733L100 37.93 80.613 18.542z"/>
352
352
  </symbol>
353
+ <symbol id="sparkle-solid" viewBox="0 0 512 512">
354
+ <g>
355
+ <path class="st0" d="M247.355,106.9C222.705,82.241,205.833,39.18,197.46,0c-8.386,39.188-25.24,82.258-49.899,106.917&#xA;&#x9;&#x9;c-24.65,24.642-67.724,41.514-106.896,49.904c39.188,8.373,82.254,25.235,106.904,49.895c24.65,24.65,41.522,67.72,49.908,106.9&#xA;&#x9;&#x9;c8.373-39.188,25.24-82.258,49.886-106.917c24.65-24.65,67.724-41.514,106.896-49.904&#xA;&#x9;&#x9;C315.08,148.422,272.014,131.551,247.355,106.9z"/>
356
+ <path class="st0" d="M407.471,304.339c-14.714-14.721-24.81-40.46-29.812-63.864c-5.011,23.404-15.073,49.142-29.803,63.872&#xA;&#x9;&#x9;c-14.73,14.714-40.464,24.801-63.864,29.812c23.408,5.01,49.134,15.081,63.864,29.811c14.73,14.722,24.81,40.46,29.82,63.864&#xA;&#x9;&#x9;c5.001-23.413,15.081-49.142,29.802-63.872c14.722-14.722,40.46-24.802,63.856-29.82&#xA;&#x9;&#x9;C447.939,329.14,422.201,319.061,407.471,304.339z"/>
357
+ <path class="st0" d="M146.352,354.702c-4.207,19.648-12.655,41.263-25.019,53.626c-12.362,12.354-33.968,20.82-53.613,25.027&#xA;&#x9;&#x9;c19.645,4.216,41.251,12.656,53.613,25.027c12.364,12.362,20.829,33.96,25.036,53.618c4.203-19.658,12.655-41.255,25.023-53.626&#xA;&#x9;&#x9;c12.354-12.362,33.964-20.82,53.605-25.035c-19.64-4.2-41.251-12.656-53.613-25.019&#xA;&#x9;&#x9;C159.024,395.966,150.555,374.351,146.352,354.702z"/>
358
+ </g>
359
+ </symbol>
353
360
  <symbol id="trash-outline" viewBox="0 0 100 100">
354
361
  <path d="M88 20.994C88 14.834 82.524 10 76.363 10H60.48c-.453-5.49-5.056-10-10.66-10S39.61 4.51 39.156 10h-15.52C17.474 10 12 14.833 12 20.994v15.874h4.024v51.96c0 6.16 5.013 11.172 11.174 11.172h45.604c6.16 0 11.173-5.012 11.173-11.173v-51.96H88V20.995zM49.82 5.932c2.328 0 4.266 1.86 4.684 4.068h-9.37c.417-2.21 2.356-4.068 4.685-4.068zM23.635 19h52.727C77.62 19 79 19.738 79 20.994V28H21v-7.006C21 19.738 22.38 19 23.636 19zM75.08 88.827c0 1.255-1.023 2.277-2.278 2.277H27.198c-1.256 0-2.278-1.022-2.278-2.277v-51.96h6.148V83c0 1.64 1.328 2.966 2.966 2.966C35.672 85.966 37 84.64 37 83V36.868h10.034V83c0 1.64 1.328 2.966 2.966 2.966 1.64 0 2.966-1.328 2.966-2.966V36.868H63V83c0 1.64 1.36 2.966 3 2.966s3-1.328 3-2.966V36.868h6.08v51.96z"/>
355
362
  </symbol>
package/README.md CHANGED
@@ -74,10 +74,14 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
74
74
  - [Panel Item](#panel-item)
75
75
  - [Prefetching](#prefetching)
76
76
  - [Freeze Columns](#freeze-columns)
77
- - [Browse as User](#browse-as-user)
78
- - [Change Pointer Key](#change-pointer-key)
79
- - [Limitations](#limitations)
80
- - [CSV Export](#csv-export)
77
+ - [Browse as User](#browse-as-user)
78
+ - [Change Pointer Key](#change-pointer-key)
79
+ - [Limitations](#limitations)
80
+ - [CSV Export](#csv-export)
81
+ - [AI Agent](#ai-agent)
82
+ - [Configuration](#configuration)
83
+ - [Providers](#providers)
84
+ - [OpenAI](#openai)
81
85
  - [Views](#views)
82
86
  - [Data Sources](#data-sources)
83
87
  - [Aggregation Pipeline](#aggregation-pipeline)
@@ -1231,7 +1235,7 @@ Prefetching is particularly useful when navigating through lists of objects. To
1231
1235
 
1232
1236
  Right-click on a table column header to freeze columns from the left up to the clicked column in the data browser. When scrolling horizontally, the frozen columns remain visible while the other columns scroll underneath.
1233
1237
 
1234
- ## Browse as User
1238
+ ### Browse as User
1235
1239
 
1236
1240
  ▶️ *Core > Browser > Browse*
1237
1241
 
@@ -1239,20 +1243,21 @@ This feature allows you to use the data browser as another user, respecting that
1239
1243
 
1240
1244
  > ⚠️ Logging in as another user will trigger the same Cloud Triggers as if the user logged in themselves using any other login method. Logging in as another user requires to enter that user's password.
1241
1245
 
1242
- ## Change Pointer Key
1246
+ ### Change Pointer Key
1243
1247
 
1244
1248
  ▶️ *Core > Browser > Edit > Change pointer key*
1245
1249
 
1246
1250
  This feature allows you to change how a pointer is represented in the browser. By default, a pointer is represented by the `objectId` of the linked object. You can change this to any other column of the object class. For example, if class `Installation` has a field that contains a pointer to class `User`, the pointer will show the `objectId` of the user by default. You can change this to display the field `email` of the user, so that a pointer displays the user's email address instead.
1247
1251
 
1248
- ### Limitations
1252
+ #### Limitations
1249
1253
 
1250
1254
  - This does not work for an array of pointers; the pointer will always display the `objectId`.
1251
1255
  - System columns like `createdAt`, `updatedAt`, `ACL` cannot be set as pointer key.
1252
1256
  - This feature uses browser storage; switching to a different browser resets the pointer key to `objectId`.
1253
1257
 
1254
1258
  > ⚠️ For each custom pointer key in each row, a server request is triggered to resolve the custom pointer key. For example, if the browser shows a class with 50 rows and each row contains 3 custom pointer keys, a total of 150 separate server requests are triggered.
1255
- ## CSV Export
1259
+
1260
+ ### CSV Export
1256
1261
 
1257
1262
  ▶️ *Core > Browser > Export*
1258
1263
 
@@ -1260,6 +1265,83 @@ This feature will take either selected rows or all rows of an individual class a
1260
1265
 
1261
1266
  > ⚠️ There is currently a 10,000 row limit when exporting all data. If more than 10,000 rows are present in the class, the CSV file will only contain 10,000 rows.
1262
1267
 
1268
+ ## AI Agent
1269
+
1270
+ The Parse Dashboard includes an AI agent that can help manage your Parse Server data through natural language commands. The agent can perform operations like creating classes, adding data, querying records, and more.
1271
+
1272
+ > [!Caution]
1273
+ > The AI agent has full access to your database using the master key. It can read, modify, and delete any data. This feature is highly recommended for development environments only. Always back up important data before using the AI agent.
1274
+
1275
+ ### Configuration
1276
+
1277
+ To configure the AI agent for your dashboard, you need to add the `agent` configuration to your Parse Dashboard config:
1278
+
1279
+ ```json
1280
+ {
1281
+ "apps": [
1282
+ // ...
1283
+ ],
1284
+ "agent": {
1285
+ "models": [
1286
+ {
1287
+ "name": "ChatGPT 4.1",
1288
+ "provider": "openai",
1289
+ "model": "gpt-4.1",
1290
+ "apiKey": "YOUR_OPENAI_API_KEY"
1291
+ },
1292
+ ]
1293
+ }
1294
+ }
1295
+ ```
1296
+
1297
+ | Parameter | Type | Required | Description |
1298
+ |-----------------------------|--------|----------|--------------------------------------------------------------------------------|
1299
+ | `agent` | Object | Yes | The AI agent configuration object. |
1300
+ | `agent.models` | Array | Yes | Array of AI model configurations available to the agent. |
1301
+ | `agent.models[*].name` | String | Yes | The display name for the model (e.g., `ChatGPT 4.1`). |
1302
+ | `agent.models[*].provider` | String | Yes | The AI provider identifier (e.g., "openai"). |
1303
+ | `agent.models[*].model` | String | Yes | The specific model name from the provider (e.g., `gpt-4.1`). |
1304
+ | `agent.models[*].apiKey` | String | Yes | The API key for authenticating with the AI provider. |
1305
+
1306
+ The agent will use the configured models to process natural language commands and perform database operations using the master key from your app configuration.
1307
+
1308
+ ### Providers
1309
+
1310
+ > [!Note]
1311
+ > Currently, only OpenAI models are supported. Support for additional providers may be added in future releases.
1312
+
1313
+ #### OpenAI
1314
+
1315
+ To get an OpenAI API key for use with the AI agent:
1316
+
1317
+ 1. **Create an OpenAI account**: Visit [platform.openai.com](https://platform.openai.com) and sign up for an account if you don't already have one.
1318
+
1319
+ 2. **Access the API section**: Once logged in, navigate to the API section of your OpenAI dashboard.
1320
+
1321
+ 3. **Create a new project**:
1322
+ - Go to the "Projects" section
1323
+ - Click "Create project"
1324
+ - Name your project "Parse-Dashboard" (or any descriptive name)
1325
+ - Complete the project setup
1326
+
1327
+ 4. **Configure model access**:
1328
+ - In your project, navigate to "Limits > Model Usage"
1329
+ - Select the AI models you want to use (e.g., `gpt-4`, `gpt-3.5-turbo`)
1330
+ - These model names will be used as the `agent.models[*].model` parameter in your dashboard configuration
1331
+
1332
+ 5. **Generate an API key**:
1333
+ - Go to the "API Keys" page in your project settings
1334
+ - Click "Create new secret key"
1335
+ - Give your key a descriptive name (e.g., "Parse Dashboard Agent")
1336
+ - Copy the generated API key immediately (you won't be able to see it again)
1337
+
1338
+ 6. **Set up billing**: Make sure you have a valid payment method added to your OpenAI account, as API usage incurs charges.
1339
+
1340
+ 7. **Configure the dashboard**: Add the API key to your Parse Dashboard configuration as shown in the example above.
1341
+
1342
+ > [!Important]
1343
+ > Keep your API key secure and never commit it to version control. Consider using environment variables or secure configuration management for production deployments.
1344
+
1263
1345
  ## Views
1264
1346
 
1265
1347
  ▶️ *Core > Views*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parse-dashboard",
3
- "version": "7.3.0-alpha.41",
3
+ "version": "7.3.0-alpha.43",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/parse-community/parse-dashboard"
@@ -53,6 +53,7 @@
53
53
  "immutable-devtools": "0.1.5",
54
54
  "inquirer": "12.6.3",
55
55
  "js-beautify": "1.15.4",
56
+ "node-fetch": "3.3.2",
56
57
  "otpauth": "8.0.3",
57
58
  "package-json": "7.0.0",
58
59
  "parse": "3.5.1",
@@ -101,7 +102,7 @@
101
102
  "http-server": "14.1.1",
102
103
  "husky": "9.1.7",
103
104
  "jest": "30.0.4",
104
- "jest-environment-jsdom": "30.0.4",
105
+ "jest-environment-jsdom": "30.0.5",
105
106
  "madge": "8.0.0",
106
107
  "marked": "15.0.12",
107
108
  "null-loader": "4.0.1",