@biznetgio/neo-app 0.4.77 → 0.4.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/prompt.md +16 -1
- package/src/commands/db.js +1 -1
- package/src/mcp/tools.js +6 -5
package/package.json
CHANGED
package/prompt.md
CHANGED
|
@@ -6,7 +6,7 @@ Keep this in sync with cli/prompt.md (the npm package's bundled copy).
|
|
|
6
6
|
-->
|
|
7
7
|
# Set this repo up on NEO App
|
|
8
8
|
|
|
9
|
-
**Version:** 0.4.
|
|
9
|
+
**Version:** 0.4.79 · **Last updated:** 2026-11-09
|
|
10
10
|
|
|
11
11
|
These are the official setup instructions from NEO App (Biznet Gio's managed-app
|
|
12
12
|
platform). If you are an AI coding agent, complete the steps below yourself by running
|
|
@@ -141,6 +141,21 @@ tools — never the portal UI. The lifecycle is the same for every resource type
|
|
|
141
141
|
For a **scheduled job**, call `neo_cron_questionnaire` first to collect the schedule and
|
|
142
142
|
target, then `neo_create_cron`. To expose a managed database or queue to the internet,
|
|
143
143
|
use `neo_enable_db_public_access` / `neo_enable_queue_public_access` (deploy it first).
|
|
144
|
+
Secure public access is **PostgreSQL only** today — MySQL and Redis public access are
|
|
145
|
+
deferred; keep those private (in-cluster) and reach them from a service in the same project.
|
|
146
|
+
|
|
147
|
+
## Managed databases from the terminal (PostgreSQL · MySQL · Redis)
|
|
148
|
+
|
|
149
|
+
- **Discover from the CLI:** `neo-app db` lists the whole lifecycle; `neo-app db list` and
|
|
150
|
+
`neo-app db get <id>` run directly (read-only). Connection strings are **redacted** in the
|
|
151
|
+
terminal — reveal the credential in the Portal, never in chat or logs.
|
|
152
|
+
- **Create/mutate** through the MCP tools (`neo_create_database`, `neo_deploy_database`,
|
|
153
|
+
`neo_verify_database`, …) so cost-consent and audit apply.
|
|
154
|
+
- **Backup/restore boundaries:** logical backup covers all three engines; **restore is
|
|
155
|
+
PostgreSQL and MySQL only** (`neo_restore_database` takes a SQL dump). **Redis logical
|
|
156
|
+
restore is not supported** — recover Redis from its persistence/replication, not a dump.
|
|
157
|
+
- **Public access:** PostgreSQL only (see above); MySQL/Redis secure public access and Redis
|
|
158
|
+
auth/TLS are deferred follow-ups, not available capabilities.
|
|
144
159
|
|
|
145
160
|
Never deploy to **production** without an explicit request, and never default a missing
|
|
146
161
|
environment — every create/deploy names `staging` or `production`.
|
package/src/commands/db.js
CHANGED
|
@@ -23,7 +23,7 @@ const OPS = [
|
|
|
23
23
|
['metrics', 'neo_get_database_metrics', 'Engine-aware metrics snapshot'],
|
|
24
24
|
['backup', 'neo_run_backup / neo_create_backup', 'Create and run a logical backup'],
|
|
25
25
|
['restore', 'neo_restore_database', 'Restore a SQL dump (postgres/mysql)'],
|
|
26
|
-
['public', 'neo_enable_db_public_access','Enable/disable TLS public access'],
|
|
26
|
+
['public', 'neo_enable_db_public_access','Enable/disable TLS public access (PostgreSQL only — MySQL/Redis public access deferred)'],
|
|
27
27
|
['delete', 'neo_delete_database', 'Delete a database (billable stop)'],
|
|
28
28
|
];
|
|
29
29
|
|
package/src/mcp/tools.js
CHANGED
|
@@ -1048,16 +1048,17 @@ export const TOOLS = [
|
|
|
1048
1048
|
},
|
|
1049
1049
|
{
|
|
1050
1050
|
name: 'neo_list_templates',
|
|
1051
|
-
description: 'List deployable
|
|
1051
|
+
description: 'List deployable (APPROVED) templates with their manifest: the Creates/Reuses resource graph, pinned source/version + reviewedHash, status, min resources, public routes, and limitations — enough to show the graph and a live estimate before deploy. Only approved templates are returned by default (blocked/draft/retired are NOT deployable and are excluded); pass view:"all" for the research view that also includes blocked templates with their status + blockedReason. WordPress was retired.',
|
|
1052
1052
|
mutating: false,
|
|
1053
|
-
schema: { type: 'object', properties: {} },
|
|
1054
|
-
async call(api) {
|
|
1055
|
-
|
|
1053
|
+
schema: { type: 'object', properties: { view: { type: 'string', enum: ['deployable', 'all'], description: 'deployable (default — approved only) | all (research view incl. blocked, with status)' } } },
|
|
1054
|
+
async call(api, args) {
|
|
1055
|
+
const q = args && args.view === 'all' ? '?view=all' : '';
|
|
1056
|
+
return (await api.get('/api/v1/templates' + q)).data;
|
|
1056
1057
|
},
|
|
1057
1058
|
},
|
|
1058
1059
|
{
|
|
1059
1060
|
name: 'neo_deploy_template',
|
|
1060
|
-
description: 'Deploy
|
|
1061
|
+
description: 'Deploy an APPROVED template (e.g. n8n) into a project. Only approved templates deploy: a blocked/draft template returns 409 with the requirements to unblock (e.g. documenso/listmonk need SMTP), and a retired template (e.g. wordpress) returns 410 "no longer available". May return pending_approval.',
|
|
1061
1062
|
mutating: true,
|
|
1062
1063
|
schema: {
|
|
1063
1064
|
type: 'object',
|