aj-tool 0.1.0
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/LICENSE +21 -0
- package/README.md +167 -0
- package/bin/aj.js +2 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +64 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/apikey/get.d.ts +3 -0
- package/dist/commands/apikey/get.d.ts.map +1 -0
- package/dist/commands/apikey/get.js +25 -0
- package/dist/commands/apikey/get.js.map +1 -0
- package/dist/commands/auth/login.d.ts +3 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +38 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +3 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +12 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/whoami.d.ts +3 -0
- package/dist/commands/auth/whoami.d.ts.map +1 -0
- package/dist/commands/auth/whoami.js +24 -0
- package/dist/commands/auth/whoami.js.map +1 -0
- package/dist/commands/request/get.d.ts +3 -0
- package/dist/commands/request/get.d.ts.map +1 -0
- package/dist/commands/request/get.js +46 -0
- package/dist/commands/request/get.js.map +1 -0
- package/dist/commands/request/index.d.ts +3 -0
- package/dist/commands/request/index.d.ts.map +1 -0
- package/dist/commands/request/index.js +10 -0
- package/dist/commands/request/index.js.map +1 -0
- package/dist/commands/request/list.d.ts +3 -0
- package/dist/commands/request/list.d.ts.map +1 -0
- package/dist/commands/request/list.js +37 -0
- package/dist/commands/request/list.js.map +1 -0
- package/dist/commands/rule/create.d.ts +3 -0
- package/dist/commands/rule/create.d.ts.map +1 -0
- package/dist/commands/rule/create.js +35 -0
- package/dist/commands/rule/create.js.map +1 -0
- package/dist/commands/rule/delete.d.ts +3 -0
- package/dist/commands/rule/delete.d.ts.map +1 -0
- package/dist/commands/rule/delete.js +32 -0
- package/dist/commands/rule/delete.js.map +1 -0
- package/dist/commands/rule/index.d.ts +3 -0
- package/dist/commands/rule/index.d.ts.map +1 -0
- package/dist/commands/rule/index.js +12 -0
- package/dist/commands/rule/index.js.map +1 -0
- package/dist/commands/rule/list.d.ts +3 -0
- package/dist/commands/rule/list.d.ts.map +1 -0
- package/dist/commands/rule/list.js +34 -0
- package/dist/commands/rule/list.js.map +1 -0
- package/dist/commands/site/create.d.ts +3 -0
- package/dist/commands/site/create.d.ts.map +1 -0
- package/dist/commands/site/create.js +29 -0
- package/dist/commands/site/create.js.map +1 -0
- package/dist/commands/site/delete.d.ts +3 -0
- package/dist/commands/site/delete.d.ts.map +1 -0
- package/dist/commands/site/delete.js +32 -0
- package/dist/commands/site/delete.js.map +1 -0
- package/dist/commands/site/index.d.ts +3 -0
- package/dist/commands/site/index.d.ts.map +1 -0
- package/dist/commands/site/index.js +12 -0
- package/dist/commands/site/index.js.map +1 -0
- package/dist/commands/site/list.d.ts +3 -0
- package/dist/commands/site/list.d.ts.map +1 -0
- package/dist/commands/site/list.js +22 -0
- package/dist/commands/site/list.js.map +1 -0
- package/dist/commands/site/rename.d.ts +3 -0
- package/dist/commands/site/rename.d.ts.map +1 -0
- package/dist/commands/site/rename.js +27 -0
- package/dist/commands/site/rename.js.map +1 -0
- package/dist/commands/team/create.d.ts +3 -0
- package/dist/commands/team/create.d.ts.map +1 -0
- package/dist/commands/team/create.js +24 -0
- package/dist/commands/team/create.js.map +1 -0
- package/dist/commands/team/delete.d.ts +3 -0
- package/dist/commands/team/delete.d.ts.map +1 -0
- package/dist/commands/team/delete.js +34 -0
- package/dist/commands/team/delete.js.map +1 -0
- package/dist/commands/team/index.d.ts +3 -0
- package/dist/commands/team/index.d.ts.map +1 -0
- package/dist/commands/team/index.js +10 -0
- package/dist/commands/team/index.js.map +1 -0
- package/dist/commands/team/list.d.ts +3 -0
- package/dist/commands/team/list.d.ts.map +1 -0
- package/dist/commands/team/list.js +24 -0
- package/dist/commands/team/list.js.map +1 -0
- package/dist/lib/api-client.d.ts +25 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +130 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/auth.d.ts +5 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +29 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +36 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/constants.d.ts +7 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +12 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/errors.d.ts +18 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +35 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/output.d.ts +18 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +101 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/types.d.ts +508 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +104 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/validators.d.ts +10 -0
- package/dist/lib/validators.d.ts.map +1 -0
- package/dist/lib/validators.js +60 -0
- package/dist/lib/validators.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateSiteId, validateRuleId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, success, info, confirm } from "../../lib/output.js";
|
|
5
|
+
export function registerRuleDeleteCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("delete")
|
|
8
|
+
.description("Delete a remote rule")
|
|
9
|
+
.requiredOption("--site-id <siteId>", "Site ID")
|
|
10
|
+
.argument("<ruleId>", "Rule ID to delete")
|
|
11
|
+
.option("--yes", "Skip confirmation prompt")
|
|
12
|
+
.action(async (ruleId, options) => {
|
|
13
|
+
const siteId = validateSiteId(options.siteId);
|
|
14
|
+
const validRuleId = validateRuleId(ruleId);
|
|
15
|
+
const session = requireAuth();
|
|
16
|
+
if (!options.yes) {
|
|
17
|
+
const confirmed = await confirm(`Are you sure you want to delete rule ${validRuleId}?`);
|
|
18
|
+
if (!confirmed) {
|
|
19
|
+
info("Cancelled.");
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const client = new ArcjetApiClient(session);
|
|
24
|
+
await client.deleteRule(siteId, validRuleId);
|
|
25
|
+
if (isJsonMode()) {
|
|
26
|
+
printJson({ deleted: true, id: validRuleId });
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
success(`Deleted rule ${validRuleId}.`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/rule/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEpF,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sBAAsB,CAAC;SACnC,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC;SAC/C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;SACzC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAC3C,MAAM,CACL,KAAK,EACH,MAAc,EACd,OAA0C,EAC1C,EAAE;QACF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,wCAAwC,WAAW,GAAG,CACvD,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE7C,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,gBAAgB,WAAW,GAAG,CAAC,CAAC;IAC1C,CAAC,CACF,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/rule/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ3D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { registerRuleListCommand } from "./list.js";
|
|
2
|
+
import { registerRuleCreateCommand } from "./create.js";
|
|
3
|
+
import { registerRuleDeleteCommand } from "./delete.js";
|
|
4
|
+
export function registerRuleCommands(program) {
|
|
5
|
+
const rule = program
|
|
6
|
+
.command("rule")
|
|
7
|
+
.description("Manage remote rules for a site");
|
|
8
|
+
registerRuleListCommand(rule);
|
|
9
|
+
registerRuleCreateCommand(rule);
|
|
10
|
+
registerRuleDeleteCommand(rule);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/rule/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEjD,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9B,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAkC7D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateSiteId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, printTable, info } from "../../lib/output.js";
|
|
5
|
+
export function registerRuleListCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("list")
|
|
8
|
+
.description("List remote rules for a site")
|
|
9
|
+
.requiredOption("--site-id <siteId>", "Site ID")
|
|
10
|
+
.action(async (options) => {
|
|
11
|
+
const siteId = validateSiteId(options.siteId);
|
|
12
|
+
const session = requireAuth();
|
|
13
|
+
const client = new ArcjetApiClient(session);
|
|
14
|
+
const result = await client.listRules(siteId);
|
|
15
|
+
if (isJsonMode()) {
|
|
16
|
+
printJson(result);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const rules = result.rules;
|
|
20
|
+
if (!rules || Object.keys(rules).length === 0) {
|
|
21
|
+
info("No remote rules configured for this site.");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
printTable(["ID", "Type", "Mode", "Details"], Object.entries(rules).map(([id, config]) => {
|
|
25
|
+
const ruleConfig = config;
|
|
26
|
+
const type = Object.keys(ruleConfig)[0] ?? "unknown";
|
|
27
|
+
const inner = ruleConfig[type];
|
|
28
|
+
const mode = inner?.["mode"] ?? "";
|
|
29
|
+
const details = JSON.stringify(inner ?? {});
|
|
30
|
+
return [id, type, mode.replace("MODE_", ""), details];
|
|
31
|
+
}));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/rule/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACrD,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,MAAiC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAwC,CAAC;YACtE,MAAM,IAAI,GAAI,KAAK,EAAE,CAAC,MAAM,CAAY,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/site/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAyB/D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateTeamId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, printRecord, success } from "../../lib/output.js";
|
|
5
|
+
export function registerSiteCreateCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("create")
|
|
8
|
+
.description("Create a new site")
|
|
9
|
+
.requiredOption("--team-id <teamId>", "Team ID to create the site in")
|
|
10
|
+
.argument("<name>", "Site name")
|
|
11
|
+
.action(async (name, options) => {
|
|
12
|
+
const teamId = validateTeamId(options.teamId);
|
|
13
|
+
const session = requireAuth();
|
|
14
|
+
const client = new ArcjetApiClient(session);
|
|
15
|
+
const site = await client.createSite(teamId, name);
|
|
16
|
+
if (isJsonMode()) {
|
|
17
|
+
printJson(site);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
success(`Created site "${site.name}"`);
|
|
21
|
+
printRecord({
|
|
22
|
+
ID: site.id,
|
|
23
|
+
Name: site.name,
|
|
24
|
+
Key: site.key,
|
|
25
|
+
"Team ID": site.teamId,
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/site/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mBAAmB,CAAC;SAChC,cAAc,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;SACrE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC/B,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA2B,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,iBAAiB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACvC,WAAW,CAAC;YACV,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/site/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAiC/D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateSiteId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, success, info, confirm, } from "../../lib/output.js";
|
|
5
|
+
export function registerSiteDeleteCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("delete")
|
|
8
|
+
.description("Delete a site")
|
|
9
|
+
.requiredOption("--site-id <siteId>", "Site ID to delete")
|
|
10
|
+
.option("--yes", "Skip confirmation prompt")
|
|
11
|
+
.action(async (options) => {
|
|
12
|
+
const siteId = validateSiteId(options.siteId);
|
|
13
|
+
const session = requireAuth();
|
|
14
|
+
const client = new ArcjetApiClient(session);
|
|
15
|
+
// Fetch site name for confirmation
|
|
16
|
+
const site = await client.getSite(siteId);
|
|
17
|
+
if (!options.yes) {
|
|
18
|
+
const confirmed = await confirm(`Are you sure you want to delete site "${site.name}" (${site.id})? This cannot be undone.`);
|
|
19
|
+
if (!confirmed) {
|
|
20
|
+
info("Cancelled.");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
await client.deleteSite(siteId);
|
|
25
|
+
if (isJsonMode()) {
|
|
26
|
+
printJson({ deleted: true, id: siteId, name: site.name });
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
success(`Deleted site "${site.name}".`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/site/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,eAAe,CAAC;SAC5B,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;SACzD,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,OAA0C,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAE5C,mCAAmC;QACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,yCAAyC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,2BAA2B,CAC3F,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/site/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO3D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { registerSiteListCommand } from "./list.js";
|
|
2
|
+
import { registerSiteCreateCommand } from "./create.js";
|
|
3
|
+
import { registerSiteRenameCommand } from "./rename.js";
|
|
4
|
+
import { registerSiteDeleteCommand } from "./delete.js";
|
|
5
|
+
export function registerSiteCommands(program) {
|
|
6
|
+
const site = program.command("site").description("Manage Arcjet sites");
|
|
7
|
+
registerSiteListCommand(site);
|
|
8
|
+
registerSiteCreateCommand(site);
|
|
9
|
+
registerSiteRenameCommand(site);
|
|
10
|
+
registerSiteDeleteCommand(site);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/site/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAExE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9B,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/site/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAqB7D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateTeamId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, printTable } from "../../lib/output.js";
|
|
5
|
+
export function registerSiteListCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("list")
|
|
8
|
+
.description("List all sites for a team")
|
|
9
|
+
.requiredOption("--team-id <teamId>", "Team ID")
|
|
10
|
+
.action(async (options) => {
|
|
11
|
+
const teamId = validateTeamId(options.teamId);
|
|
12
|
+
const session = requireAuth();
|
|
13
|
+
const client = new ArcjetApiClient(session);
|
|
14
|
+
const sites = await client.listSites(teamId);
|
|
15
|
+
if (isJsonMode()) {
|
|
16
|
+
printJson(sites);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
printTable(["ID", "Name", "Key", "Created"], sites.map((s) => [s.id, s.name, s.key, s.createdAt ?? ""]));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/site/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACrD,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAChC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../../src/commands/site/rename.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAuB/D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateSiteId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, printRecord, success } from "../../lib/output.js";
|
|
5
|
+
export function registerSiteRenameCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("rename")
|
|
8
|
+
.description("Rename a site")
|
|
9
|
+
.requiredOption("--site-id <siteId>", "Site ID to rename")
|
|
10
|
+
.argument("<name>", "New site name")
|
|
11
|
+
.action(async (name, options) => {
|
|
12
|
+
const siteId = validateSiteId(options.siteId);
|
|
13
|
+
const session = requireAuth();
|
|
14
|
+
const client = new ArcjetApiClient(session);
|
|
15
|
+
const site = await client.renameSite(siteId, name);
|
|
16
|
+
if (isJsonMode()) {
|
|
17
|
+
printJson(site);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
success(`Renamed site to "${site.name}"`);
|
|
21
|
+
printRecord({
|
|
22
|
+
ID: site.id,
|
|
23
|
+
Name: site.name,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=rename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/site/rename.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,eAAe,CAAC;SAC5B,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;SACzD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA2B,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,oBAAoB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1C,WAAW,CAAC;YACV,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/team/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAqB/D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { isJsonMode, printJson, printRecord, success } from "../../lib/output.js";
|
|
4
|
+
export function registerTeamCreateCommand(parent) {
|
|
5
|
+
parent
|
|
6
|
+
.command("create")
|
|
7
|
+
.description("Create a new team")
|
|
8
|
+
.argument("<name>", "Team name")
|
|
9
|
+
.action(async (name) => {
|
|
10
|
+
const session = requireAuth();
|
|
11
|
+
const client = new ArcjetApiClient(session);
|
|
12
|
+
const team = await client.createTeam(name);
|
|
13
|
+
if (isJsonMode()) {
|
|
14
|
+
printJson(team);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
success(`Created team "${team.name}"`);
|
|
18
|
+
printRecord({
|
|
19
|
+
ID: team.id,
|
|
20
|
+
Name: team.name,
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/team/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mBAAmB,CAAC;SAChC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC/B,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,iBAAiB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACvC,WAAW,CAAC;YACV,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/team/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAmC/D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { validateTeamId } from "../../lib/validators.js";
|
|
4
|
+
import { isJsonMode, printJson, success, info, confirm, } from "../../lib/output.js";
|
|
5
|
+
export function registerTeamDeleteCommand(parent) {
|
|
6
|
+
parent
|
|
7
|
+
.command("delete")
|
|
8
|
+
.description("Delete a team")
|
|
9
|
+
.requiredOption("--team-id <teamId>", "Team ID to delete")
|
|
10
|
+
.option("--yes", "Skip confirmation prompt")
|
|
11
|
+
.action(async (options) => {
|
|
12
|
+
const teamId = validateTeamId(options.teamId);
|
|
13
|
+
const session = requireAuth();
|
|
14
|
+
const client = new ArcjetApiClient(session);
|
|
15
|
+
// Fetch teams to get the name for confirmation
|
|
16
|
+
const teams = await client.listTeams();
|
|
17
|
+
const team = teams.find((t) => t.id === teamId);
|
|
18
|
+
const teamName = team?.name ?? teamId;
|
|
19
|
+
if (!options.yes) {
|
|
20
|
+
const confirmed = await confirm(`Are you sure you want to delete team "${teamName}" (${teamId})? This cannot be undone.`);
|
|
21
|
+
if (!confirmed) {
|
|
22
|
+
info("Cancelled.");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const result = await client.deleteTeam(teamId, teamName);
|
|
27
|
+
if (isJsonMode()) {
|
|
28
|
+
printJson(result);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
success(`Deleted team "${teamName}".`);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/team/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,eAAe,CAAC;SAC5B,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;SACzD,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,OAA0C,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAE5C,+CAA+C;QAC/C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,yCAAyC,QAAQ,MAAM,MAAM,2BAA2B,CACzF,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzD,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,iBAAiB,QAAQ,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/team/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM3D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { registerTeamListCommand } from "./list.js";
|
|
2
|
+
import { registerTeamCreateCommand } from "./create.js";
|
|
3
|
+
import { registerTeamDeleteCommand } from "./delete.js";
|
|
4
|
+
export function registerTeamCommands(program) {
|
|
5
|
+
const team = program.command("team").description("Manage Arcjet teams");
|
|
6
|
+
registerTeamListCommand(team);
|
|
7
|
+
registerTeamCreateCommand(team);
|
|
8
|
+
registerTeamDeleteCommand(team);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/team/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAExE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9B,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/team/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAwB7D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ArcjetApiClient } from "../../lib/api-client.js";
|
|
2
|
+
import { requireAuth } from "../../lib/auth.js";
|
|
3
|
+
import { isJsonMode, printJson, printTable } from "../../lib/output.js";
|
|
4
|
+
export function registerTeamListCommand(parent) {
|
|
5
|
+
parent
|
|
6
|
+
.command("list")
|
|
7
|
+
.description("List all teams")
|
|
8
|
+
.action(async () => {
|
|
9
|
+
const session = requireAuth();
|
|
10
|
+
const client = new ArcjetApiClient(session);
|
|
11
|
+
const teams = await client.listTeams();
|
|
12
|
+
if (isJsonMode()) {
|
|
13
|
+
printJson(teams);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
printTable(["ID", "Name", "Default", "Created"], teams.map((t) => [
|
|
17
|
+
t.id,
|
|
18
|
+
t.name,
|
|
19
|
+
t.isDefault ? "Yes" : "",
|
|
20
|
+
t.createdAt ?? "",
|
|
21
|
+
]));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/team/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACrD,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEvC,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EACpC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,SAAS,IAAI,EAAE;SAClB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type SessionInfo, type Team, type TeamCreateResponse, type TeamDeleteResponse, type Site, type PaginatedRequests, type RequestDetail, type RulesMap, type RuleCreateResponse } from "./types.js";
|
|
2
|
+
export declare class ArcjetApiClient {
|
|
3
|
+
private session;
|
|
4
|
+
constructor(session: string);
|
|
5
|
+
private request;
|
|
6
|
+
private tryParseError;
|
|
7
|
+
validateSession(): Promise<SessionInfo>;
|
|
8
|
+
listTeams(): Promise<Team[]>;
|
|
9
|
+
createTeam(name: string): Promise<TeamCreateResponse>;
|
|
10
|
+
deleteTeam(teamId: string, name: string): Promise<TeamDeleteResponse>;
|
|
11
|
+
listSites(teamId: string): Promise<Site[]>;
|
|
12
|
+
createSite(teamId: string, name: string): Promise<Site>;
|
|
13
|
+
getSite(siteId: string): Promise<Site>;
|
|
14
|
+
renameSite(siteId: string, name: string): Promise<Site>;
|
|
15
|
+
deleteSite(siteId: string): Promise<Site>;
|
|
16
|
+
listRequests(siteId: string, options?: {
|
|
17
|
+
limit?: number;
|
|
18
|
+
cursor?: string;
|
|
19
|
+
}): Promise<PaginatedRequests>;
|
|
20
|
+
getRequest(siteId: string, requestId: string): Promise<RequestDetail>;
|
|
21
|
+
listRules(siteId: string): Promise<RulesMap>;
|
|
22
|
+
createRule(siteId: string, ruleConfig: Record<string, unknown>): Promise<RuleCreateResponse>;
|
|
23
|
+
deleteRule(siteId: string, ruleId: string): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=api-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,IAAI,EAET,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAEvB,KAAK,IAAI,EAGT,KAAK,iBAAiB,EAEtB,KAAK,aAAa,EAElB,KAAK,QAAQ,EAEb,KAAK,kBAAkB,EAGxB,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;YAIb,OAAO;YAyEP,aAAa;IAoBrB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;IAWvC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAI5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUrD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYrE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAS1C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzC,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,iBAAiB,CAAC;IAavB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAWrE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAS5C,UAAU,CACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,kBAAkB,CAAC;IAUxB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQhE"}
|