busa-cli 0.9.13 → 0.9.14
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/dist/{chunk-LRUXSAKS.js → chunk-P4Z4SWET.js} +38 -18
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
|
@@ -1464,11 +1464,11 @@ var createBaseInputSchema = z5.object({
|
|
|
1464
1464
|
options: fieldOptionsSchema.optional().default({})
|
|
1465
1465
|
})
|
|
1466
1466
|
).default([]),
|
|
1467
|
-
//
|
|
1468
|
-
//
|
|
1469
|
-
//
|
|
1470
|
-
// review
|
|
1471
|
-
autoMerge: z5.boolean().optional()
|
|
1467
|
+
// Permission-aware default: omitted merges immediately if the actor has
|
|
1468
|
+
// write access on the parent node, otherwise falls back to a pending
|
|
1469
|
+
// ChangeRequest (status "in_review"). Pass explicit `autoMerge: false` to
|
|
1470
|
+
// force review even with write access.
|
|
1471
|
+
autoMerge: z5.boolean().optional()
|
|
1472
1472
|
});
|
|
1473
1473
|
var createBaseFieldInputSchema = z5.object({
|
|
1474
1474
|
name: fieldNameSchema,
|
|
@@ -2116,8 +2116,8 @@ var createNodeChangeRequestInputSchema = z6.object({
|
|
|
2116
2116
|
'Explanation shown to the human reviewer. Write a conventional-commit style subject \u2014 imperative verb + what + why, e.g. "Reorganize marketing docs under a Campaigns folder".'
|
|
2117
2117
|
),
|
|
2118
2118
|
submittedBy: z6.string().optional().default("local-producer"),
|
|
2119
|
-
autoMerge: z6.boolean().optional().
|
|
2120
|
-
"Whether to approve and merge this structural node change immediately.
|
|
2119
|
+
autoMerge: z6.boolean().optional().describe(
|
|
2120
|
+
"Whether to approve and merge this structural node change immediately. Omitted defaults to merging immediately if the actor has write access on every target node, otherwise falling back to a pending Change Request; pass explicit false to force review even with write access."
|
|
2121
2121
|
),
|
|
2122
2122
|
operations: z6.array(nodeOperationInputSchema).min(1)
|
|
2123
2123
|
});
|
|
@@ -4802,14 +4802,21 @@ The flags below skip the menu (handy for scripts / CI):
|
|
|
4802
4802
|
addGlobalFlags(nodes.command("list")).description("Workspace node tree").action(runAction(state, (client) => client.nodes.list()));
|
|
4803
4803
|
addGlobalFlags(nodes.command("create-change-request")).description("Propose a new node via a Change Request").addOption(
|
|
4804
4804
|
new Option(`--type <${CREATABLE_NODE_TYPES2.join("|")}>`, "node type").choices(CREATABLE_NODE_TYPES2).makeOptionMandatory()
|
|
4805
|
-
).requiredOption("--slug <slug>", "node slug").requiredOption("--name <name>", "node name").option("--description <text>", "optional node description").option("--parent-node-id <id>", "parent folder node id; omit for root").option("--message <text>", "reviewer-facing Change Request message").option("--submitted-by <name>", "producer label").option("--field <slug:name:type...>", "base field, repeatable (for --type base)").option("--fields-json <json|@file>", "base fields as JSON array (for --type base)").option("--asset-id <id>", "backing Asset id (required for --type file)").
|
|
4805
|
+
).requiredOption("--slug <slug>", "node slug").requiredOption("--name <name>", "node name").option("--description <text>", "optional node description").option("--parent-node-id <id>", "parent folder node id; omit for root").option("--message <text>", "reviewer-facing Change Request message").option("--submitted-by <name>", "producer label").option("--field <slug:name:type...>", "base field, repeatable (for --type base)").option("--fields-json <json|@file>", "base fields as JSON array (for --type base)").option("--asset-id <id>", "backing Asset id (required for --type file)").option(
|
|
4806
|
+
"--auto-merge",
|
|
4807
|
+
"skip review and create the node immediately if you have write access (default: merge immediately if you have write access, otherwise propose a pending Change Request)"
|
|
4808
|
+
).option(
|
|
4809
|
+
"--require-review",
|
|
4810
|
+
"always propose a pending Change Request, even if you have write access"
|
|
4811
|
+
).addHelpText(
|
|
4806
4812
|
"after",
|
|
4807
4813
|
`
|
|
4808
4814
|
Examples:
|
|
4809
4815
|
busabase-cli nodes create-change-request --type folder --slug cms --name "\u5185\u5BB9\u7BA1\u7406 CMS"
|
|
4810
4816
|
busabase-cli nodes create-change-request --type base --slug blog --name "\u535A\u5BA2\u6587\u7AE0 Blog Posts" --field title:Title:text --field body:Body:markdown
|
|
4811
4817
|
busabase-cli nodes create-change-request --type base --slug products --name "\u4EA7\u54C1\u76EE\u5F55 Products" --fields-json @fields.json
|
|
4812
|
-
busabase-cli nodes create-change-request --type file --slug board-plan --name "Board Plan" --asset-id ast_123
|
|
4818
|
+
busabase-cli nodes create-change-request --type file --slug board-plan --name "Board Plan" --asset-id ast_123
|
|
4819
|
+
busabase-cli nodes create-change-request --type folder --slug cms --name "\u5185\u5BB9\u7BA1\u7406 CMS" --require-review # always propose a Change Request`
|
|
4813
4820
|
).action(
|
|
4814
4821
|
runAction(state, (client, opts) => {
|
|
4815
4822
|
const nodeType = opts.type;
|
|
@@ -4823,6 +4830,7 @@ Examples:
|
|
|
4823
4830
|
return client.nodes.createChangeRequest({
|
|
4824
4831
|
message: opts.message ?? `Create ${nodeType} ${name}`,
|
|
4825
4832
|
submittedBy: opts.submittedBy,
|
|
4833
|
+
...opts.requireReview ? { autoMerge: false } : opts.autoMerge ? { autoMerge: true } : {},
|
|
4826
4834
|
operations: [
|
|
4827
4835
|
{
|
|
4828
4836
|
kind: "create",
|
|
@@ -4902,14 +4910,18 @@ Examples:
|
|
|
4902
4910
|
);
|
|
4903
4911
|
addGlobalFlags(bases.command("create")).description("Create a Base \u2014 review-first by default: returns a pending Change Request").requiredOption("--slug <slug>", "Base slug").requiredOption("--name <name>", "Base name").option("--field <slug:name:type...>", "field definition, repeatable").option("--fields-json <json|@file>", "field definitions as JSON array").option("--description <text>", "optional description").option("--parent-node-id <id>", "parent folder node id; omit for root").option(
|
|
4904
4912
|
"--auto-merge",
|
|
4905
|
-
"skip review and create the Base immediately (default: propose a pending Change Request)"
|
|
4913
|
+
"skip review and create the Base immediately if you have write access (default: merge immediately if you have write access, otherwise propose a pending Change Request)"
|
|
4914
|
+
).option(
|
|
4915
|
+
"--require-review",
|
|
4916
|
+
"always propose a pending Change Request, even if you have write access"
|
|
4906
4917
|
).addHelpText(
|
|
4907
4918
|
"after",
|
|
4908
4919
|
`
|
|
4909
4920
|
Examples:
|
|
4910
4921
|
busabase-cli bases create --slug products --name "\u4EA7\u54C1\u76EE\u5F55 Products" --field product_name:"Product Name":text
|
|
4911
4922
|
busabase-cli bases create --slug products --name "\u4EA7\u54C1\u76EE\u5F55 Products" --fields-json @fields.json
|
|
4912
|
-
busabase-cli bases create --slug products --name "Products" --auto-merge # skip review, create immediately
|
|
4923
|
+
busabase-cli bases create --slug products --name "Products" --auto-merge # skip review, create immediately
|
|
4924
|
+
busabase-cli bases create --slug products --name "Products" --require-review # always propose a Change Request`
|
|
4913
4925
|
).action(
|
|
4914
4926
|
runAction(
|
|
4915
4927
|
state,
|
|
@@ -4919,7 +4931,7 @@ Examples:
|
|
|
4919
4931
|
description: opts.description,
|
|
4920
4932
|
parentNodeId: opts.parentNodeId,
|
|
4921
4933
|
fields: parseFieldDefinitions(opts),
|
|
4922
|
-
...opts.autoMerge ? { autoMerge: true } : {}
|
|
4934
|
+
...opts.requireReview ? { autoMerge: false } : opts.autoMerge ? { autoMerge: true } : {}
|
|
4923
4935
|
})
|
|
4924
4936
|
)
|
|
4925
4937
|
);
|
|
@@ -4976,14 +4988,18 @@ Examples:
|
|
|
4976
4988
|
);
|
|
4977
4989
|
addGlobalFlags(bases.command("create-change-request")).description("Propose a new record via a Change Request \u2014 review-first by default").requiredOption("--base-id <id>", "target Base id").requiredOption("--fields-json <json|@file>", "record fields as JSON, or @file.json").option("--message <text>", "reviewer-facing Change Request message").option("--submitted-by <name>", "producer label").option(
|
|
4978
4990
|
"--auto-merge",
|
|
4979
|
-
"skip review and create the record immediately (default: propose a pending Change Request)"
|
|
4991
|
+
"skip review and create the record immediately if you have write access (default: merge immediately if you have write access, otherwise propose a pending Change Request)"
|
|
4992
|
+
).option(
|
|
4993
|
+
"--require-review",
|
|
4994
|
+
"always propose a pending Change Request, even if you have write access"
|
|
4980
4995
|
).addHelpText(
|
|
4981
4996
|
"after",
|
|
4982
4997
|
`
|
|
4983
4998
|
Examples:
|
|
4984
4999
|
busabase-cli bases create-change-request --base-id bse_123 --fields-json '{"title":"Hello","status":"draft"}'
|
|
4985
5000
|
busabase-cli bases create-change-request --base-id bse_123 --fields-json @record.json
|
|
4986
|
-
busabase-cli bases create-change-request --base-id bse_123 --fields-json '{"title":"Hello"}' --auto-merge # skip review, create immediately
|
|
5001
|
+
busabase-cli bases create-change-request --base-id bse_123 --fields-json '{"title":"Hello"}' --auto-merge # skip review, create immediately
|
|
5002
|
+
busabase-cli bases create-change-request --base-id bse_123 --fields-json '{"title":"Hello"}' --require-review # always propose a Change Request`
|
|
4987
5003
|
).action(
|
|
4988
5004
|
runAction(
|
|
4989
5005
|
state,
|
|
@@ -4992,7 +5008,7 @@ Examples:
|
|
|
4992
5008
|
fields: parseJsonValue(opts.fieldsJson, "fields-json"),
|
|
4993
5009
|
message: opts.message,
|
|
4994
5010
|
submittedBy: opts.submittedBy,
|
|
4995
|
-
...opts.autoMerge ? { autoMerge: true } : {}
|
|
5011
|
+
...opts.requireReview ? { autoMerge: false } : opts.autoMerge ? { autoMerge: true } : {}
|
|
4996
5012
|
})
|
|
4997
5013
|
)
|
|
4998
5014
|
);
|
|
@@ -5016,7 +5032,10 @@ Examples:
|
|
|
5016
5032
|
).choices(["merge", "replace"])
|
|
5017
5033
|
).option(
|
|
5018
5034
|
"--auto-merge",
|
|
5019
|
-
"skip review and create the AirApp immediately (default: propose a pending Change Request)"
|
|
5035
|
+
"skip review and create the AirApp immediately if you have write access (default: merge immediately if you have write access, otherwise propose a pending Change Request)"
|
|
5036
|
+
).option(
|
|
5037
|
+
"--require-review",
|
|
5038
|
+
"always propose a pending Change Request, even if you have write access"
|
|
5020
5039
|
).addHelpText(
|
|
5021
5040
|
"after",
|
|
5022
5041
|
`
|
|
@@ -5033,7 +5052,8 @@ mergeMode explains how --files-json combines with the AirApp's default scaffold:
|
|
|
5033
5052
|
Examples:
|
|
5034
5053
|
busabase-cli airapps create --slug hello-app --name "Hello App" --files-json @files.json
|
|
5035
5054
|
busabase-cli airapps create --slug vite-app --name "Vite App" --files-json @files.json --merge-mode replace
|
|
5036
|
-
busabase-cli airapps create --slug hello-app --name "Hello App" --files-json @files.json --auto-merge # skip review, create immediately
|
|
5055
|
+
busabase-cli airapps create --slug hello-app --name "Hello App" --files-json @files.json --auto-merge # skip review, create immediately
|
|
5056
|
+
busabase-cli airapps create --slug hello-app --name "Hello App" --files-json @files.json --require-review # always propose a Change Request`
|
|
5037
5057
|
).action(
|
|
5038
5058
|
runAction(
|
|
5039
5059
|
state,
|
|
@@ -5046,7 +5066,7 @@ Examples:
|
|
|
5046
5066
|
version: opts.version,
|
|
5047
5067
|
files: opts.filesJson ? parseJsonValue(opts.filesJson, "files-json") : void 0,
|
|
5048
5068
|
mergeMode: opts.mergeMode,
|
|
5049
|
-
...opts.autoMerge ? { autoMerge: true } : {}
|
|
5069
|
+
...opts.requireReview ? { autoMerge: false } : opts.autoMerge ? { autoMerge: true } : {}
|
|
5050
5070
|
})
|
|
5051
5071
|
)
|
|
5052
5072
|
);
|
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "busa-cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.14",
|
|
4
4
|
"description": "Command-line client for the Busabase OpenAPI REST API. Talks to a local or remote `busabase server`. Short-name alias for busabase-cli.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/busabase/busabase/tree/main/apps/busabase-cli",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@zip.js/zip.js": "^2.8.20",
|
|
35
35
|
"busabase-package": "workspace:*",
|
|
36
|
-
"busabase-sdk": "0.9.
|
|
36
|
+
"busabase-sdk": "0.9.14",
|
|
37
37
|
"commander": "^14.0.0",
|
|
38
38
|
"tar-stream": "^3.1.7",
|
|
39
39
|
"yaml": "^2.9.0",
|