@dboio/cli 0.20.4 → 0.20.5
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/plugins/claude/dbo/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/track/.claude-plugin/plugin.json +1 -1
- package/src/commands/clone.js +43 -0
- package/plugins/claude/dbo/docs/_audit_required/API/all.md +0 -40
- package/plugins/claude/dbo/docs/_audit_required/API/app.md +0 -38
- package/plugins/claude/dbo/docs/_audit_required/API/athenticate.md +0 -26
- package/plugins/claude/dbo/docs/_audit_required/API/cache.md +0 -29
- package/plugins/claude/dbo/docs/_audit_required/API/content.md +0 -14
- package/plugins/claude/dbo/docs/_audit_required/API/data_source.md +0 -28
- package/plugins/claude/dbo/docs/_audit_required/API/email.md +0 -18
- package/plugins/claude/dbo/docs/_audit_required/API/input.md +0 -25
- package/plugins/claude/dbo/docs/_audit_required/API/instance.md +0 -28
- package/plugins/claude/dbo/docs/_audit_required/API/log.md +0 -8
- package/plugins/claude/dbo/docs/_audit_required/API/media.md +0 -12
- package/plugins/claude/dbo/docs/_audit_required/API/output_by_entity.md +0 -12
- package/plugins/claude/dbo/docs/_audit_required/API/upload.md +0 -7
- package/plugins/claude/dbo/docs/_audit_required/dbo-api-syntax.md +0 -1487
- package/plugins/claude/dbo/docs/_audit_required/dbo-problems-code.md +0 -111
- package/plugins/claude/dbo/docs/_audit_required/dbo-problems-performance.md +0 -109
- package/plugins/claude/dbo/docs/_audit_required/dbo-problems-syntax.md +0 -97
- package/plugins/claude/dbo/docs/_audit_required/dbo-product-market.md +0 -119
- package/plugins/claude/dbo/docs/_audit_required/dbo-white-paper.md +0 -125
package/package.json
CHANGED
package/src/commands/clone.js
CHANGED
|
@@ -4556,6 +4556,30 @@ async function _promoteNoBinContentToRoot(contentRefs, handledUids, rootFiles) {
|
|
|
4556
4556
|
}
|
|
4557
4557
|
}
|
|
4558
4558
|
|
|
4559
|
+
/**
|
|
4560
|
+
* Read ~/.claude/plugins/installed_plugins.json and return install paths for
|
|
4561
|
+
* relevant plugins. Returns an object with optional `dbo` and `track` keys.
|
|
4562
|
+
*/
|
|
4563
|
+
async function _getInstalledPluginPaths() {
|
|
4564
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
4565
|
+
if (!homeDir) return {};
|
|
4566
|
+
const installedPath = join(homeDir, '.claude', 'plugins', 'installed_plugins.json');
|
|
4567
|
+
try {
|
|
4568
|
+
const raw = await readFile(installedPath, 'utf8');
|
|
4569
|
+
const data = JSON.parse(raw);
|
|
4570
|
+
const result = {};
|
|
4571
|
+
for (const [key, entries] of Object.entries(data.plugins || {})) {
|
|
4572
|
+
const installPath = entries[0]?.installPath;
|
|
4573
|
+
if (!installPath) continue;
|
|
4574
|
+
if (key.startsWith('dbo@')) result.dbo = installPath;
|
|
4575
|
+
if (key.startsWith('track@')) result.track = installPath;
|
|
4576
|
+
}
|
|
4577
|
+
return result;
|
|
4578
|
+
} catch {
|
|
4579
|
+
return {};
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
|
|
4559
4583
|
/**
|
|
4560
4584
|
* Generate a fallback stub for a root content file when the server has no record.
|
|
4561
4585
|
* Skips if the file already exists at the project root.
|
|
@@ -4583,6 +4607,11 @@ async function _generateRootFileStub(filename, appJson) {
|
|
|
4583
4607
|
const label = s.Title || s.Name || s.ShortName;
|
|
4584
4608
|
return `- \`${url}\` — ${label} (add \`?dev=true\` to serve uncompiled JS; add \`&console=true\` for verbose debug logging)`;
|
|
4585
4609
|
});
|
|
4610
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
4611
|
+
const toTilde = (p) => homeDir ? p.replace(homeDir, '~') : p;
|
|
4612
|
+
const pluginPaths = await _getInstalledPluginPaths();
|
|
4613
|
+
const dboDocsPath = pluginPaths.dbo ? toTilde(join(pluginPaths.dbo, 'docs')) : null;
|
|
4614
|
+
const trackPluginPath = pluginPaths.track ? toTilde(pluginPaths.track) : null;
|
|
4586
4615
|
const stub = [
|
|
4587
4616
|
`# ${appName}`,
|
|
4588
4617
|
...(siteLines.length > 0 ? [``, `## App Sites`, ``, ...siteLines] : []),
|
|
@@ -4623,6 +4652,20 @@ async function _generateRootFileStub(filename, appJson) {
|
|
|
4623
4652
|
``,
|
|
4624
4653
|
`1. \`app_dependencies/_system/lib/bins/docs/\` — authoritative source`,
|
|
4625
4654
|
`2. \`plugins/claude/dbo/skills/white-paper/references/\` — fallback reference`,
|
|
4655
|
+
...(dboDocsPath ? [
|
|
4656
|
+
`3. \`${dboDocsPath}/\` — installed dbo plugin reference docs:`,
|
|
4657
|
+
` - \`${dboDocsPath}/dbo-cheat-sheet.md\` — quick reference`,
|
|
4658
|
+
` - \`${dboDocsPath}/dbo-cli-readme.md\` — CLI usage`,
|
|
4659
|
+
` - \`${dboDocsPath}/dbo-core-entities.md\` — core entity schema`,
|
|
4660
|
+
` - \`${dboDocsPath}/dbo-output-query.md\` — output query syntax`,
|
|
4661
|
+
` - \`${dboDocsPath}/dbo-output-customsql.md\` — custom SQL outputs`,
|
|
4662
|
+
] : []),
|
|
4663
|
+
...(trackPluginPath ? [
|
|
4664
|
+
``,
|
|
4665
|
+
`### Track Plugin Reference`,
|
|
4666
|
+
``,
|
|
4667
|
+
`Track plugin docs are available at \`${trackPluginPath}/\`.`,
|
|
4668
|
+
] : []),
|
|
4626
4669
|
``,
|
|
4627
4670
|
].join('\n');
|
|
4628
4671
|
await writeFile(rootPath, stub);
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# All
|
|
2
|
-
|
|
3
|
-
These parameters work on all endpoints
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
| Impersonation | |
|
|
8
|
-
| ------------- | ------------------------------------------------------------ |
|
|
9
|
-
| _as | The request key that is used to indicate that a request should be run as another user |
|
|
10
|
-
| _as_cookie | The request key that is used to indicate that a cookie should be set for the _as user that is being used |
|
|
11
|
-
| _security_log | The request key that is used to request a full security log to be included in the response headers |
|
|
12
|
-
|
|
13
|
-
| Debug | |
|
|
14
|
-
| -------------------------- | ----------------------------------------------------------- |
|
|
15
|
-
| _debug | Nuclear debug option |
|
|
16
|
-
| _debug_sql | The (legacy) request key that will trigger debug output sql |
|
|
17
|
-
| _debug:sql | Debugging only SQL key |
|
|
18
|
-
| _debug:http_modules | Debugging only HTTP modules |
|
|
19
|
-
| _debug:instance | Debugging only instance |
|
|
20
|
-
| _debug:rewrites | Debugging only rewrites |
|
|
21
|
-
| _debug:cache | Debugging only cache |
|
|
22
|
-
| _debug:com | Debugging only COM |
|
|
23
|
-
| _debug:executable_contents | Debugging only executable contents |
|
|
24
|
-
| _debug:request_log | Debugging only request logs |
|
|
25
|
-
| _debug:security | Debugging only security |
|
|
26
|
-
| _debug:controllers | Debugging only controllers |
|
|
27
|
-
| _debug:embeds | Debugging only embeds |
|
|
28
|
-
| _debug:includes | Debugging only includes |
|
|
29
|
-
| _debug:contents | Debugging only contents |
|
|
30
|
-
| _debug:template_render | Debugging only template render |
|
|
31
|
-
| _debug:result_set_access | Debugging only result set access |
|
|
32
|
-
| _debug:template_parsing | Debugging only template parsing |
|
|
33
|
-
| _debug:entity_internals | Debugging only entity internal operations/save |
|
|
34
|
-
| _debug:query_execution | Debugging only query execution |
|
|
35
|
-
| _debug:query_building | Debugging only query building |
|
|
36
|
-
| _debug:tokens | Debugging only tokens |
|
|
37
|
-
| _debug:messages | Debugging only messages |
|
|
38
|
-
| _debug:request_stack | Debugging only request stack |
|
|
39
|
-
| _debug:skip | |
|
|
40
|
-
| _really_cmon_doit | The really-cmon-doit request key |
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# App
|
|
2
|
-
|
|
3
|
-
## URL Endpoints
|
|
4
|
-
|
|
5
|
-
- api/app/delete/{appUid}
|
|
6
|
-
- api/app/import/{appUid}
|
|
7
|
-
- api/app_version/populate/{appVersionUid}
|
|
8
|
-
- api/app_version/clear/{appVersionUid}
|
|
9
|
-
- api/app/export/{appUid}
|
|
10
|
-
|
|
11
|
-
## Parameters
|
|
12
|
-
|
|
13
|
-
| Parameter | Description |
|
|
14
|
-
| ------------------------------------ | ------------------------------------------------------------ |
|
|
15
|
-
| _app_version_info | Request parameter that can be included (as 'false', '0', or 'no') to turn off addressing app version info on app import |
|
|
16
|
-
| _app_data | Request parameter that can be included (as 'false', '0', or 'no') to turn off addressing app data on app import |
|
|
17
|
-
| _app_media | Request parameter that can be included (as 'false', '0', or 'no') to turn off addressing app media on app import |
|
|
18
|
-
| _schema_migration_check | Request parameter that can be included (as 'false', '0', or 'no') to turn off checking the schema migration of the import against that of the local core |
|
|
19
|
-
| _skip_media_rearch_2020_validation | When truthy, app import will not fail if the import account's MediaRearch2020 is false and the app's is true |
|
|
20
|
-
| _skip_dboio_version_validation | When truthy, app import will not fail if the import system's dbo.io version is less than the export system's |
|
|
21
|
-
| _legacy_import_data_generation | When truthy, app import generate app version and app version updates in the legacy (pre-.9.48) fashion |
|
|
22
|
-
| _app_url | Request parameter that can be used to specify a url to import an app from |
|
|
23
|
-
| _skip_archival_export | Request parameter that can be included (as 'true', '1', or 'yes') to skip the archival export that is normally done before deleting an app |
|
|
24
|
-
| _legacy_by_appid | For use after MediaRearch2020, when truthy app operations will use asset AppID to collect app assets, instead of bin structure |
|
|
25
|
-
| _force_local_record_check | Request parameter to force an app import to check for all records locally, by record UID |
|
|
26
|
-
| _patch | DEPRECATED Parameter to use when exporting a patch version |
|
|
27
|
-
| _type | Parameter to use when exporting, to specify "update" (patch) version |
|
|
28
|
-
| _continue_on_execution_group_failure | During import, if this is truthy, then when an execution group fails, the import process will log it as a warning and continue |
|
|
29
|
-
| _no_rollback | During import, if this is truthy, then when a failure causes the import to stop, there will be no rollback performed |
|
|
30
|
-
| _media_only | During import, if this is truthy, then when a failure causes the import to stop, there will be no rollback performed |
|
|
31
|
-
| _nullify_parentbinid | |
|
|
32
|
-
| _legacy_app_delete | When true, will use legacy app delete (instead of app_delete SPROC) |
|
|
33
|
-
| _modify_key | Request parameter used to indicate a valid update of an app asset by a client (non-owner) of the app |
|
|
34
|
-
| _modify_key_check_override | Modify key check override. If this key is set in HttpContext.Current.Items = true, then the check for whether a modify key is present to modify an app will be bypassed (used in app import, for example). |
|
|
35
|
-
| _db_timeout_seconds | Request parameter to indicate a custom db timeout |
|
|
36
|
-
| _no_transaction | Request parameter to indicate that a transaction should NOT be used |
|
|
37
|
-
| _no_db_ops | Request parameter to indicate that db ops should not be executed for the given request |
|
|
38
|
-
| _skip_minimum_content_uid_length | When this is truthy, we'll skip the validation that says contents must be less than 5 characters |
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Authenticate
|
|
2
|
-
|
|
3
|
-
Used to log users in an out of dbo.io. Can be invoked through any endpoint by use of `_login=true` parameter.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## URL Endpoint
|
|
8
|
-
|
|
9
|
-
api/authenticate
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Parameters
|
|
14
|
-
|
|
15
|
-
| Paremeter | Description | Shorthand |
|
|
16
|
-
| ------------ | ------------------------------------------------------------ | --------- |
|
|
17
|
-
| _username | Corresponds to user.username | _un |
|
|
18
|
-
| _email | Corresponds to user.email | _em |
|
|
19
|
-
| _phonenumber | Corresponds to user.PhoneNumber | _pn |
|
|
20
|
-
| _password | Corresponds to user.Password | _pw |
|
|
21
|
-
| _passkey | Corresponds to user.Passkey | _pk |
|
|
22
|
-
| _login | When true the `athenticate` API is invoked for all endpoints | |
|
|
23
|
-
| _logout | Logs the user out of [dbo.io](http://dbo.io/) | _lo |
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Cache
|
|
2
|
-
|
|
3
|
-
Used to retreive and refresh asset cache.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## URL Endpoints
|
|
8
|
-
|
|
9
|
-
api/cache/list
|
|
10
|
-
api/cache/refresh
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
## Parameters
|
|
15
|
-
|
|
16
|
-
_key=[entity]:meta:[AssetUID]
|
|
17
|
-
|
|
18
|
-
_key=secure:[entity]:meta:[AssetUID]
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Example
|
|
23
|
-
|
|
24
|
-
Voiding cache on output with UID `nd7vddus4kayiga4fbnhqw` requires two calls, the second is for `https`.
|
|
25
|
-
|
|
26
|
-
`/api/cache/refresh?_key=output:meta:nd7vddus4kayiga4fbnhqw`
|
|
27
|
-
|
|
28
|
-
`/api/cache/refresh?_key=secure:output:meta:nd7vddus4kayiga4fbnhqw`
|
|
29
|
-
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Content
|
|
2
|
-
|
|
3
|
-
## URL Endpoints
|
|
4
|
-
|
|
5
|
-
- api/content/{uid}
|
|
6
|
-
|
|
7
|
-
`content` can be shortened to `c`
|
|
8
|
-
|
|
9
|
-
## Parameters
|
|
10
|
-
|
|
11
|
-
| Parameter | Description |
|
|
12
|
-
| --------------------- | ------------------------------------------------------------ |
|
|
13
|
-
| _format | The request key that is used to manually specify OutputFormat - NOPE, THIS IS NOW USED FOR WHAT THE NEW summary INDICATES!! |
|
|
14
|
-
| _template_content_uid | The key that is used to specify master template content UID |
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Data Source
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## URL Endpoints
|
|
6
|
-
|
|
7
|
-
- api/data_source/metadata/synchronize/in/{dataSourceUidOrShortName}
|
|
8
|
-
- api/data_source/metadata/synchronize/out/{dataSourceUidOrShortName}
|
|
9
|
-
- api/data_source/metadata/synchronize/{dataSourceUidOrShortName}
|
|
10
|
-
- api/data_source/migrate/core/{num}
|
|
11
|
-
|
|
12
|
-
## Parameters
|
|
13
|
-
|
|
14
|
-
| Parameter | Description |
|
|
15
|
-
| ------------------------------------- | ------------------------------------------------------------ |
|
|
16
|
-
| _include_data_source_uids | When synchronizing a data source, this parameter can specify a comma-separated list of data source UIDs that need to be included in the synchronization process for foreign key resolution |
|
|
17
|
-
| _entity_column_updates | When synchronizing a data source, this parameter can specify a value that indicates to perform any updates encountered for entity column metadata. It can be the literal value "entity_column" (which indicates that ALL entity_column metadata updates should be executed), or it can be a comma-separated list of entity column UIDs (ie. "entity_column.NotNull,entity_column.DefaultValue"). This is ALSO used for /api/media/metadata/apply, to specify which entity columns to apply any applicable updates to. |
|
|
18
|
-
| _tables | Instead of trying to synchronize ALL tables from an external data source, a comma-separated list of physical table names can be included with this parameter. Can be "_all", defaults to NONE! SAME AS _entities parameter! |
|
|
19
|
-
| _entities | Instead of trying to synchronize ALL tables from an external data source, a comma-separated list of entity.PhysicalNames can be included with this parameter. Can be "_all", defaults to NONE! SAME AS _tables parameter! |
|
|
20
|
-
| _columns | Use to provide a comma-separated list of physical column names to include in synchronization. Defaults to "_all", but restricted to tables included! SAME AS _entity_column parameter! |
|
|
21
|
-
| _entity_columns | Use to provide a comma-separated list of physical column names to include in synchronization. Defaults to "_all", but restricted to tables included! SAME AS _columns parameter! |
|
|
22
|
-
| _attributes | Use to provide a comma-separated list of attributes (columns of entity_column) to include in synchronization. Defaults to "_all", but restricted to tables/columns included! |
|
|
23
|
-
| _db_timeout_seconds | Request parameter to indicate a custom db timeout |
|
|
24
|
-
| _no_transaction | Request parameter to indicate that a transaction should NOT be used |
|
|
25
|
-
| _no_db_ops | Request parameter to indicate that db ops should not be executed for the given request |
|
|
26
|
-
| _protect_after | Request parameter to indicate a date/time that specifies a date/time to check for overwrite protection |
|
|
27
|
-
| _skip_auto_update_columns_LastUpdated | When this is truthy, then we will not update any _LastUpdated auto-update columns that are usually set automatically |
|
|
28
|
-
| _skip_minimum_content_uid_length | When this is truthy, we'll skip the validation that says contents must be less than 5 characters |
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Email
|
|
2
|
-
|
|
3
|
-
## URL Endpoints
|
|
4
|
-
|
|
5
|
-
- api/content/email/{uid}
|
|
6
|
-
- api/message/content/{uid}
|
|
7
|
-
- api/message/receive/{messageServerUid}
|
|
8
|
-
- api/message/c/{messageServerUid}
|
|
9
|
-
|
|
10
|
-
### Shorter versions
|
|
11
|
-
|
|
12
|
-
`content` can be shortened to `c`
|
|
13
|
-
|
|
14
|
-
`message` can be shortened to `m`
|
|
15
|
-
|
|
16
|
-
`receive` can be shortened to `r`
|
|
17
|
-
|
|
18
|
-
## Parameters
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Input
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## URL Endpoint
|
|
6
|
-
|
|
7
|
-
- api/input/submit
|
|
8
|
-
|
|
9
|
-
## Parameters
|
|
10
|
-
|
|
11
|
-
| Parameter | Description |
|
|
12
|
-
| ------------------------------------- | ------------------------------------------------------------ |
|
|
13
|
-
| _input_field_delimiter | Can be used to indicate a custom field delimiter on an input submission |
|
|
14
|
-
| _input_descriptor_delimiter | Can be used to indicate a custom descriptor delimiter on an input submission |
|
|
15
|
-
| _media_filename_suffix | Key used to automatically append a suffix to a media file uploaded (if value is 'uid', will use the UID of the media) |
|
|
16
|
-
| _root | DEPRECATED/UNUSED? Can be used to indicate a custom root directory for a media upload |
|
|
17
|
-
| _media_server_uid | Key used to specify a media server to use with entity API submission, if there are multiple media_server records associated to the entity (media_server.UID) |
|
|
18
|
-
| _media_server_id | Key used to specify a media server to use with entity API submission, if there are multiple media_server records associated to the entity (media_server.MediaServerID) |
|
|
19
|
-
| _download | Key used to force download, instead of inline browser display |
|
|
20
|
-
| _db_timeout_seconds | Request parameter to indicate a custom db timeout |
|
|
21
|
-
| _no_transaction | Request parameter to indicate that a transaction should NOT be used |
|
|
22
|
-
| _no_db_ops | Request parameter to indicate that db ops should not be executed for the given request |
|
|
23
|
-
| _protect_after | Request parameter to indicate a date/time that specifies a date/time to check for overwrite protection |
|
|
24
|
-
| _skip_auto_update_columns_LastUpdated | When this is truthy, then we will not update any _LastUpdated auto-update columns that are usually set automatically |
|
|
25
|
-
| _skip_minimum_content_uid_length | When this is truthy, we'll skip the validation that says contents must be less than 5 characters |
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Instance
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## URL Endpoints
|
|
6
|
-
|
|
7
|
-
- api/instance/debug
|
|
8
|
-
- api/instance/export
|
|
9
|
-
- api/instance/import
|
|
10
|
-
- api/instance/generate/{accountUid}
|
|
11
|
-
- api/instance/build/{instanceUid}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Parameters
|
|
16
|
-
|
|
17
|
-
| Parameter | Description |
|
|
18
|
-
| ------------------- | ------------------------------------------------------------ |
|
|
19
|
-
| _no_ddl | [InstanceGenerator] When truthy, the DDL portion of instance generation will be skipped |
|
|
20
|
-
| _pk_override | When truthy, allows setting a value for a primary key value |
|
|
21
|
-
| _skip_control_data | [InstanceGenerator] When truthy, the Control data portion of instance generation will be skipped |
|
|
22
|
-
| _skip_baseline | [InstanceGenerator] When truthy, the core baseline portion of instance generation will be skipped |
|
|
23
|
-
| _skip_migrations | [InstanceGenerator] When truthy, the core migrations portion of instance generation will be skipped |
|
|
24
|
-
| _skip_core_data | [InstanceGenerator] When truthy, the core data portion of instance generation will be skipped |
|
|
25
|
-
| _model_url | Request parameter that can be used to specify a url to a model to build with |
|
|
26
|
-
| _model | Request parameter that can be used to specify a zip package for the model to build with |
|
|
27
|
-
| _skip_non_core_data | Request parameter to skip non-core data when exporting an instance |
|
|
28
|
-
| _callback_url | Request parameter to provide a callback URL (for an offline operation) |
|