@akasecurity/cli 0.8.0 → 0.8.1
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/README.md +65 -0
- package/dist/cli.js +94 -52
- package/package.json +6 -5
- package/web-ui/package.json +1 -1
- package/web-ui/web-ui/.next/BUILD_ID +1 -1
- package/web-ui/web-ui/.next/app-build-manifest.json +23 -23
- package/web-ui/web-ui/.next/app-path-routes-manifest.json +4 -4
- package/web-ui/web-ui/.next/build-manifest.json +2 -2
- package/web-ui/web-ui/.next/prerender-manifest.json +3 -3
- package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.rsc +1 -1
- package/web-ui/web-ui/.next/server/app/index.html +1 -1
- package/web-ui/web-ui/.next/server/app/index.rsc +1 -1
- package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app-paths-manifest.json +4 -4
- package/web-ui/web-ui/.next/server/chunks/226.js +1 -1
- package/web-ui/web-ui/.next/server/functions-config-manifest.json +4 -4
- package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/pages/404.html +1 -1
- package/web-ui/web-ui/.next/server/pages/500.html +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-548fa0d3dee6e829.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-0bfa1f371b65b5ad.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-56ec5c05f347108a.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-cb33dc32fd3648bf.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-b6fbc540ef0a50f8.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-89cf3ac5a30e76a0.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-0d43a6b2acafe349.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-2cf02a09402cfb4d.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/{page-241fdcbac6e942aa.js → page-b9607b5e2e8700d6.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-485a76552d6dbabd.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-8030433ea5c099fa.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-452be710e9e05ad5.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-e8498a1e48943abf.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-1b841b6a60708c6d.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-dd61001da0f891d3.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-158ed3ad2cee998b.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-b9fba600c590896d.js +0 -1
- /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → X9C7-HlMI5zAQEKfIW_6e}/_buildManifest.js +0 -0
- /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → X9C7-HlMI5zAQEKfIW_6e}/_ssgManifest.js +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @akasecurity/cli — `aka`
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@akasecurity/cli)
|
|
4
|
+
[](https://github.com/akasecurity/ai-tc/blob/main/LICENSE)
|
|
5
|
+
|
|
6
|
+
The `aka` command-line tool for **[AI Traffic Control](https://github.com/akasecurity/ai-tc)** (`ai-tc`) — an open-source, local-first control plane for coding agents. It inspects and governs the traffic of an agent session (prompts, tool calls, responses, file reads), scans each event against your rule packs, and records everything to a local SQLite store at `~/.aka/data/aka.db`.
|
|
7
|
+
|
|
8
|
+
Everything runs on your machine. There's no account, no backend, and nothing leaves your computer to be scanned.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install -g @akasecurity/cli
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Or use the bootstrap installer (checks for Node, then installs):
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# macOS / Linux
|
|
20
|
+
curl -fsSL https://raw.githubusercontent.com/akasecurity/ai-tc/cli-latest/tools/installer/install.sh | sh
|
|
21
|
+
|
|
22
|
+
# Windows (PowerShell)
|
|
23
|
+
irm https://raw.githubusercontent.com/akasecurity/ai-tc/cli-latest/tools/installer/install.ps1 | iex
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Requires **Node.js 24+** (the CLI uses the built-in `node:sqlite`).
|
|
27
|
+
|
|
28
|
+
## Quick start
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
aka init # scaffold the local store at ~/.aka
|
|
32
|
+
aka dashboard # open the local web dashboard over your store
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## What it does
|
|
36
|
+
|
|
37
|
+
| Command | What it does |
|
|
38
|
+
| ---------------- | ---------------------------------------------------------------- |
|
|
39
|
+
| `aka init` | Create the local store and settings under `~/.aka`. |
|
|
40
|
+
| `aka dashboard` | Launch the local web dashboard (findings, policies, exceptions). |
|
|
41
|
+
| `aka scan` | Scan working-tree source files for security flaws. |
|
|
42
|
+
| `aka detections` | List installed detection packs and available updates. |
|
|
43
|
+
| `aka exception` | Manage exact-value exceptions that let a specific match through. |
|
|
44
|
+
| `aka stats` | Show detection activity and token/cost summaries from the store. |
|
|
45
|
+
| `aka plugins` | Optional hub to install agent plugins (e.g. Claude Code). |
|
|
46
|
+
|
|
47
|
+
Run `aka --help` for the full command list.
|
|
48
|
+
|
|
49
|
+
## The Claude Code plugin
|
|
50
|
+
|
|
51
|
+
The CLI gives you the dashboard, store, and scanning. To actually **intercept** a Claude Code session you also need the AKA plugin, which installs from the Claude Code plugin marketplace (not npm). With the CLI installed:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
aka plugins install claude-code
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This drives Claude Code to add the plugin for you (or prints the `/plugin` commands to run). See the [installation guide](https://akasecurity.github.io/ai-tc-docs/getting-started/installation/) for both components.
|
|
58
|
+
|
|
59
|
+
## Docs
|
|
60
|
+
|
|
61
|
+
Full documentation, architecture, and the built-in detection catalog live at **[akasecurity.github.io/ai-tc-docs](https://akasecurity.github.io/ai-tc-docs/)**.
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
[Apache-2.0](https://github.com/akasecurity/ai-tc/blob/main/LICENSE)
|
package/dist/cli.js
CHANGED
|
@@ -554,10 +554,10 @@ var AGENT_PLUGINS = [
|
|
|
554
554
|
name: "Claude Code",
|
|
555
555
|
sourceTool: "claude-code",
|
|
556
556
|
description: "Hooks Claude Code sessions to detect + redact sensitive data in prompts, responses, and file writes.",
|
|
557
|
-
npmPackage: "@akasecurity/
|
|
558
|
-
pluginName: "
|
|
559
|
-
marketplace: "
|
|
560
|
-
marketplaceSource: "akasecurity/
|
|
557
|
+
npmPackage: "@akasecurity/ai-tc-claude-code",
|
|
558
|
+
pluginName: "ai-tc",
|
|
559
|
+
marketplace: "akasecurity",
|
|
560
|
+
marketplaceSource: "akasecurity/marketplace"
|
|
561
561
|
}
|
|
562
562
|
];
|
|
563
563
|
function findAgent(id) {
|
|
@@ -26387,50 +26387,14 @@ async function runException(argv, io = terminalPrompter()) {
|
|
|
26387
26387
|
}
|
|
26388
26388
|
|
|
26389
26389
|
// src/commands/init.ts
|
|
26390
|
-
import { existsSync as
|
|
26390
|
+
import { existsSync as existsSync9, renameSync as renameSync5, writeFileSync as writeFileSync6 } from "fs";
|
|
26391
26391
|
import { join as join14 } from "path";
|
|
26392
|
-
import
|
|
26393
|
-
|
|
26394
|
-
const { values } = parseArgs5({ args: argv, options: HOME_OPTION });
|
|
26395
|
-
const home = homeBase(values.home);
|
|
26396
|
-
ensureLayoutDirSync(home);
|
|
26397
|
-
const settings = settingsDir(home);
|
|
26398
|
-
ensureLayoutDirSync(settings);
|
|
26399
|
-
const settingsFile = join14(settings, "settings.json");
|
|
26400
|
-
const settingsCreated = !existsSync8(settingsFile);
|
|
26401
|
-
if (settingsCreated) {
|
|
26402
|
-
const tmp = `${settingsFile}.tmp`;
|
|
26403
|
-
writeFileSync6(tmp, `${JSON.stringify(defaultWorkspaceSettings(), null, 2)}
|
|
26404
|
-
`, {
|
|
26405
|
-
mode: DATA_FILE_MODE
|
|
26406
|
-
});
|
|
26407
|
-
renameSync5(tmp, settingsFile);
|
|
26408
|
-
}
|
|
26409
|
-
const db = openLocalDatabase(dataDir(home));
|
|
26410
|
-
let policyCount;
|
|
26411
|
-
let packCount;
|
|
26412
|
-
let updatesAvailable;
|
|
26413
|
-
try {
|
|
26414
|
-
db.installedPacks.recordInventory(bundledDetections(), cliRecordedBy());
|
|
26415
|
-
policyCount = (await db.policies.readPolicies()).length;
|
|
26416
|
-
packCount = (await db.installedPacks.counts()).packs;
|
|
26417
|
-
updatesAvailable = (await db.detections.listDetections({ filter: "all" })).counts.updates;
|
|
26418
|
-
} finally {
|
|
26419
|
-
db.close();
|
|
26420
|
-
}
|
|
26421
|
-
process.stdout.write(
|
|
26422
|
-
`\u2713 Initialized AKA at ${home}
|
|
26423
|
-
settings: ${settingsFile}${settingsCreated ? "" : " (kept existing)"}
|
|
26424
|
-
database: ${dbPath(home)}
|
|
26425
|
-
seeded ${String(policyCount)} default policies, ${String(packCount)} detection pack(s)
|
|
26426
|
-
` + (updatesAvailable > 0 ? ` \u2B06 ${String(updatesAvailable)} detection pack update(s) available \u2014 review with \`aka detections\`, apply with \`aka detections update --all\`
|
|
26427
|
-
` : "")
|
|
26428
|
-
);
|
|
26429
|
-
}
|
|
26392
|
+
import * as readline from "readline/promises";
|
|
26393
|
+
import { parseArgs as parseArgs6 } from "util";
|
|
26430
26394
|
|
|
26431
26395
|
// src/commands/plugins.ts
|
|
26432
|
-
import { existsSync as
|
|
26433
|
-
import { parseArgs as
|
|
26396
|
+
import { existsSync as existsSync8 } from "fs";
|
|
26397
|
+
import { parseArgs as parseArgs5 } from "util";
|
|
26434
26398
|
function runPlugins(argv) {
|
|
26435
26399
|
const [sub, ...rest] = argv;
|
|
26436
26400
|
if (!sub || sub === "list") return listPlugins(rest);
|
|
@@ -26443,10 +26407,10 @@ function runPlugins(argv) {
|
|
|
26443
26407
|
process.exitCode = 1;
|
|
26444
26408
|
}
|
|
26445
26409
|
async function listPlugins(argv) {
|
|
26446
|
-
const { values } =
|
|
26410
|
+
const { values } = parseArgs5({ args: argv, options: HOME_OPTION });
|
|
26447
26411
|
const home = homeBase(values.home);
|
|
26448
26412
|
const active = /* @__PURE__ */ new Set();
|
|
26449
|
-
if (
|
|
26413
|
+
if (existsSync8(dbPath(home))) {
|
|
26450
26414
|
const db = openLocalDatabase(dataDir(home));
|
|
26451
26415
|
try {
|
|
26452
26416
|
const recent = await db.findings.recentFindings({ limit: 1e3 });
|
|
@@ -26471,7 +26435,7 @@ async function listPlugins(argv) {
|
|
|
26471
26435
|
out.write("Update: aka update (or: aka check-updates)\n");
|
|
26472
26436
|
}
|
|
26473
26437
|
function installPlugin(argv) {
|
|
26474
|
-
const { positionals } =
|
|
26438
|
+
const { positionals } = parseArgs5({ args: argv, options: HOME_OPTION, allowPositionals: true });
|
|
26475
26439
|
const id = positionals[0];
|
|
26476
26440
|
if (!id) {
|
|
26477
26441
|
process.stderr.write("aka plugins install: missing <agent> (try: aka plugins list)\n");
|
|
@@ -26528,6 +26492,84 @@ Then run \`aka init\` to set up the local store.
|
|
|
26528
26492
|
}
|
|
26529
26493
|
}
|
|
26530
26494
|
|
|
26495
|
+
// src/commands/init.ts
|
|
26496
|
+
async function runInit(argv) {
|
|
26497
|
+
const { values } = parseArgs6({
|
|
26498
|
+
args: argv,
|
|
26499
|
+
options: { ...HOME_OPTION, yes: { type: "boolean", short: "y" } }
|
|
26500
|
+
});
|
|
26501
|
+
const home = homeBase(values.home);
|
|
26502
|
+
ensureLayoutDirSync(home);
|
|
26503
|
+
const settings = settingsDir(home);
|
|
26504
|
+
ensureLayoutDirSync(settings);
|
|
26505
|
+
const settingsFile = join14(settings, "settings.json");
|
|
26506
|
+
const settingsCreated = !existsSync9(settingsFile);
|
|
26507
|
+
if (settingsCreated) {
|
|
26508
|
+
const tmp = `${settingsFile}.tmp`;
|
|
26509
|
+
writeFileSync6(tmp, `${JSON.stringify(defaultWorkspaceSettings(), null, 2)}
|
|
26510
|
+
`, {
|
|
26511
|
+
mode: DATA_FILE_MODE
|
|
26512
|
+
});
|
|
26513
|
+
renameSync5(tmp, settingsFile);
|
|
26514
|
+
}
|
|
26515
|
+
const db = openLocalDatabase(dataDir(home));
|
|
26516
|
+
let policyCount;
|
|
26517
|
+
let packCount;
|
|
26518
|
+
let updatesAvailable;
|
|
26519
|
+
try {
|
|
26520
|
+
db.installedPacks.recordInventory(bundledDetections(), cliRecordedBy());
|
|
26521
|
+
policyCount = (await db.policies.readPolicies()).length;
|
|
26522
|
+
packCount = (await db.installedPacks.counts()).packs;
|
|
26523
|
+
updatesAvailable = (await db.detections.listDetections({ filter: "all" })).counts.updates;
|
|
26524
|
+
} finally {
|
|
26525
|
+
db.close();
|
|
26526
|
+
}
|
|
26527
|
+
process.stdout.write(
|
|
26528
|
+
`\u2713 Initialized AKA at ${home}
|
|
26529
|
+
settings: ${settingsFile}${settingsCreated ? "" : " (kept existing)"}
|
|
26530
|
+
database: ${dbPath(home)}
|
|
26531
|
+
seeded ${String(policyCount)} default policies, ${String(packCount)} detection pack(s)
|
|
26532
|
+
` + (updatesAvailable > 0 ? ` \u2B06 ${String(updatesAvailable)} detection pack update(s) available \u2014 review with \`aka detections\`, apply with \`aka detections update --all\`
|
|
26533
|
+
` : "")
|
|
26534
|
+
);
|
|
26535
|
+
await offerPluginInstall(values.yes === true);
|
|
26536
|
+
}
|
|
26537
|
+
async function offerPluginInstall(autoYes) {
|
|
26538
|
+
const agent = findAgent("claude-code");
|
|
26539
|
+
const ref = agent ? pluginRef(agent) : void 0;
|
|
26540
|
+
if (!agent || !ref) return;
|
|
26541
|
+
if (installedPluginVersions().has(ref)) return;
|
|
26542
|
+
const out = process.stdout;
|
|
26543
|
+
if (!autoYes) {
|
|
26544
|
+
if (!process.stdin.isTTY) {
|
|
26545
|
+
out.write(
|
|
26546
|
+
`
|
|
26547
|
+
No Claude Code plugin detected. Install it via the marketplace:
|
|
26548
|
+
/plugin marketplace add ${agent.marketplaceSource ?? ""}
|
|
26549
|
+
/plugin install ${ref}
|
|
26550
|
+
Or re-run \`aka init --yes\` to install it automatically.
|
|
26551
|
+
`
|
|
26552
|
+
);
|
|
26553
|
+
return;
|
|
26554
|
+
}
|
|
26555
|
+
if (!await confirm(`
|
|
26556
|
+
Install the AKA Claude Code plugin now (via the marketplace)? [y/N] `)) {
|
|
26557
|
+
out.write("Skipped. Install anytime with `aka plugins install claude-code`.\n");
|
|
26558
|
+
return;
|
|
26559
|
+
}
|
|
26560
|
+
}
|
|
26561
|
+
await runPlugins(["install", "claude-code"]);
|
|
26562
|
+
}
|
|
26563
|
+
async function confirm(question) {
|
|
26564
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
26565
|
+
try {
|
|
26566
|
+
const answer = (await rl.question(question)).trim().toLowerCase();
|
|
26567
|
+
return answer === "y" || answer === "yes";
|
|
26568
|
+
} finally {
|
|
26569
|
+
rl.close();
|
|
26570
|
+
}
|
|
26571
|
+
}
|
|
26572
|
+
|
|
26531
26573
|
// src/commands/scan.ts
|
|
26532
26574
|
import { parseArgs as parseArgs7 } from "util";
|
|
26533
26575
|
function severityRank(s) {
|
|
@@ -27335,7 +27377,7 @@ async function runTui(argv) {
|
|
|
27335
27377
|
}
|
|
27336
27378
|
|
|
27337
27379
|
// src/commands/update.ts
|
|
27338
|
-
import * as
|
|
27380
|
+
import * as readline2 from "readline/promises";
|
|
27339
27381
|
import { parseArgs as parseArgs10 } from "util";
|
|
27340
27382
|
async function runUpdate(argv) {
|
|
27341
27383
|
const { values, positionals } = parseArgs10({
|
|
@@ -27385,7 +27427,7 @@ async function runUpdate(argv) {
|
|
|
27385
27427
|
out.write("Re-run with --yes to apply (no interactive terminal detected).\n");
|
|
27386
27428
|
return;
|
|
27387
27429
|
}
|
|
27388
|
-
if (!await
|
|
27430
|
+
if (!await confirm2("Apply these updates? [y/N] ")) {
|
|
27389
27431
|
out.write("Aborted \u2014 nothing changed.\n");
|
|
27390
27432
|
return;
|
|
27391
27433
|
}
|
|
@@ -27404,8 +27446,8 @@ async function runUpdate(argv) {
|
|
|
27404
27446
|
}
|
|
27405
27447
|
if (anyFailed) process.exitCode = 1;
|
|
27406
27448
|
}
|
|
27407
|
-
async function
|
|
27408
|
-
const rl =
|
|
27449
|
+
async function confirm2(question) {
|
|
27450
|
+
const rl = readline2.createInterface({ input: process.stdin, output: process.stdout });
|
|
27409
27451
|
try {
|
|
27410
27452
|
const answer = (await rl.question(question)).trim().toLowerCase();
|
|
27411
27453
|
return answer === "y" || answer === "yes";
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akasecurity/cli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "AI Traffic Control — local-first CLI to inspect and govern AI agent traffic on your machine",
|
|
5
|
+
"license": "Apache-2.0",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
7
8
|
"url": "git+https://github.com/akasecurity/ai-tc.git",
|
|
@@ -39,13 +40,13 @@
|
|
|
39
40
|
"typescript": "^5.8.0",
|
|
40
41
|
"vitest": "^4.1.10",
|
|
41
42
|
"@akasecurity/dashboard-ui": "0.8.0",
|
|
42
|
-
"@akasecurity/eslint-config": "0.8.0",
|
|
43
43
|
"@akasecurity/detections": "0.8.0",
|
|
44
|
+
"@akasecurity/eslint-config": "0.8.0",
|
|
44
45
|
"@akasecurity/local-ops": "0.8.0",
|
|
45
|
-
"@akasecurity/persistence": "0.8.0",
|
|
46
|
-
"@akasecurity/web-ui": "0.8.0",
|
|
47
46
|
"@akasecurity/plugin-sdk": "0.8.0",
|
|
48
|
-
"@akasecurity/schema": "0.8.0"
|
|
47
|
+
"@akasecurity/schema": "0.8.0",
|
|
48
|
+
"@akasecurity/persistence": "0.8.0",
|
|
49
|
+
"@akasecurity/web-ui": "0.8.0"
|
|
49
50
|
},
|
|
50
51
|
"scripts": {
|
|
51
52
|
"dev": "tsx src/cli.ts",
|
package/web-ui/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
X9C7-HlMI5zAQEKfIW_6e
|
|
@@ -39,28 +39,28 @@
|
|
|
39
39
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
40
40
|
"static/chunks/24-b20c857178647805.js",
|
|
41
41
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
42
|
-
"static/chunks/app/(app)/data-shares/page-
|
|
42
|
+
"static/chunks/app/(app)/data-shares/page-548fa0d3dee6e829.js"
|
|
43
43
|
],
|
|
44
|
-
"/(app)/
|
|
44
|
+
"/(app)/activity/page": [
|
|
45
45
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
46
46
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
47
47
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
48
48
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
49
49
|
"static/chunks/24-b20c857178647805.js",
|
|
50
|
-
"static/chunks/338-78876603768c14bb.js",
|
|
51
50
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
52
|
-
"static/chunks/app/(app)/
|
|
51
|
+
"static/chunks/app/(app)/activity/page-f6b1b344709ee48e.js"
|
|
53
52
|
],
|
|
54
|
-
"/(app)/
|
|
53
|
+
"/(app)/exceptions/[id]/page": [
|
|
55
54
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
56
55
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
57
56
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
58
57
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
59
58
|
"static/chunks/24-b20c857178647805.js",
|
|
59
|
+
"static/chunks/338-78876603768c14bb.js",
|
|
60
60
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
61
|
-
"static/chunks/app/(app)/
|
|
61
|
+
"static/chunks/app/(app)/exceptions/[id]/page-56ec5c05f347108a.js"
|
|
62
62
|
],
|
|
63
|
-
"/(app)/exceptions/
|
|
63
|
+
"/(app)/exceptions/new/page": [
|
|
64
64
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
65
65
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
66
66
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
@@ -68,16 +68,17 @@
|
|
|
68
68
|
"static/chunks/24-b20c857178647805.js",
|
|
69
69
|
"static/chunks/338-78876603768c14bb.js",
|
|
70
70
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
71
|
-
"static/chunks/app/(app)/exceptions/
|
|
71
|
+
"static/chunks/app/(app)/exceptions/new/page-cb33dc32fd3648bf.js"
|
|
72
72
|
],
|
|
73
|
-
"/(app)/
|
|
73
|
+
"/(app)/exceptions/page": [
|
|
74
74
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
75
75
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
76
76
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
77
77
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
78
78
|
"static/chunks/24-b20c857178647805.js",
|
|
79
|
+
"static/chunks/338-78876603768c14bb.js",
|
|
79
80
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
80
|
-
"static/chunks/app/(app)/
|
|
81
|
+
"static/chunks/app/(app)/exceptions/page-b6fbc540ef0a50f8.js"
|
|
81
82
|
],
|
|
82
83
|
"/(app)/findings/page": [
|
|
83
84
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
@@ -88,7 +89,7 @@
|
|
|
88
89
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
89
90
|
"static/chunks/app/(app)/findings/page-94eb9d838ae00222.js"
|
|
90
91
|
],
|
|
91
|
-
"/(app)/
|
|
92
|
+
"/(app)/scan/page": [
|
|
92
93
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
93
94
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
94
95
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
@@ -96,17 +97,16 @@
|
|
|
96
97
|
"static/chunks/24-b20c857178647805.js",
|
|
97
98
|
"static/chunks/338-78876603768c14bb.js",
|
|
98
99
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
99
|
-
"static/chunks/app/(app)/
|
|
100
|
+
"static/chunks/app/(app)/scan/page-0d43a6b2acafe349.js"
|
|
100
101
|
],
|
|
101
|
-
"/(app)/
|
|
102
|
+
"/(app)/policies/page": [
|
|
102
103
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
103
104
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
104
105
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
105
106
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
106
107
|
"static/chunks/24-b20c857178647805.js",
|
|
107
|
-
"static/chunks/338-78876603768c14bb.js",
|
|
108
108
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
109
|
-
"static/chunks/app/(app)/
|
|
109
|
+
"static/chunks/app/(app)/policies/page-a73f4fb185479b19.js"
|
|
110
110
|
],
|
|
111
111
|
"/(app)/inventory/page": [
|
|
112
112
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
@@ -115,34 +115,34 @@
|
|
|
115
115
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
116
116
|
"static/chunks/24-b20c857178647805.js",
|
|
117
117
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
118
|
-
"static/chunks/app/(app)/inventory/page-
|
|
118
|
+
"static/chunks/app/(app)/inventory/page-89cf3ac5a30e76a0.js"
|
|
119
119
|
],
|
|
120
|
-
"/(app)/
|
|
120
|
+
"/(app)/security/page": [
|
|
121
121
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
122
122
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
123
123
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
124
124
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
125
125
|
"static/chunks/24-b20c857178647805.js",
|
|
126
126
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
127
|
-
"static/chunks/app/(app)/
|
|
127
|
+
"static/chunks/app/(app)/security/page-2675f7fb69829b71.js"
|
|
128
128
|
],
|
|
129
|
-
"/(app)/
|
|
129
|
+
"/(app)/updates/page": [
|
|
130
130
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
131
131
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
132
132
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
133
133
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
134
134
|
"static/chunks/24-b20c857178647805.js",
|
|
135
135
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
136
|
-
"static/chunks/app/(app)/
|
|
136
|
+
"static/chunks/app/(app)/updates/page-b9607b5e2e8700d6.js"
|
|
137
137
|
],
|
|
138
|
-
"/(app)/
|
|
138
|
+
"/(app)/settings/page": [
|
|
139
139
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
140
140
|
"static/chunks/813c9d6d-dc0a9294021710c1.js",
|
|
141
141
|
"static/chunks/496-a8b6c34560896a23.js",
|
|
142
142
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
143
143
|
"static/chunks/24-b20c857178647805.js",
|
|
144
144
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
145
|
-
"static/chunks/app/(app)/
|
|
145
|
+
"static/chunks/app/(app)/settings/page-2cf02a09402cfb4d.js"
|
|
146
146
|
],
|
|
147
147
|
"/(app)/detections/page": [
|
|
148
148
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
"static/chunks/main-app-23de550d13c8bec1.js",
|
|
152
152
|
"static/chunks/24-b20c857178647805.js",
|
|
153
153
|
"static/chunks/561-3a19cd28d2b941fa.js",
|
|
154
|
-
"static/chunks/app/(app)/detections/page-
|
|
154
|
+
"static/chunks/app/(app)/detections/page-0bfa1f371b65b5ad.js"
|
|
155
155
|
]
|
|
156
156
|
}
|
|
157
157
|
}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
"/icon.svg/route": "/icon.svg",
|
|
4
4
|
"/page": "/",
|
|
5
5
|
"/(app)/data-shares/page": "/data-shares",
|
|
6
|
-
"/(app)/exceptions/new/page": "/exceptions/new",
|
|
7
6
|
"/(app)/activity/page": "/activity",
|
|
8
7
|
"/(app)/exceptions/[id]/page": "/exceptions/[id]",
|
|
9
|
-
"/(app)/
|
|
10
|
-
"/(app)/findings/page": "/findings",
|
|
8
|
+
"/(app)/exceptions/new/page": "/exceptions/new",
|
|
11
9
|
"/(app)/exceptions/page": "/exceptions",
|
|
10
|
+
"/(app)/findings/page": "/findings",
|
|
12
11
|
"/(app)/scan/page": "/scan",
|
|
12
|
+
"/(app)/policies/page": "/policies",
|
|
13
13
|
"/(app)/inventory/page": "/inventory",
|
|
14
|
-
"/(app)/settings/page": "/settings",
|
|
15
14
|
"/(app)/security/page": "/security",
|
|
16
15
|
"/(app)/updates/page": "/updates",
|
|
16
|
+
"/(app)/settings/page": "/settings",
|
|
17
17
|
"/(app)/detections/page": "/detections"
|
|
18
18
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/X9C7-HlMI5zAQEKfIW_6e/_buildManifest.js",
|
|
9
|
+
"static/X9C7-HlMI5zAQEKfIW_6e/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [
|
|
12
12
|
"static/chunks/webpack-14166b28d6557de1.js",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"dynamicRoutes": {},
|
|
84
84
|
"notFoundRoutes": [],
|
|
85
85
|
"preview": {
|
|
86
|
-
"previewModeId": "
|
|
87
|
-
"previewModeSigningKey": "
|
|
88
|
-
"previewModeEncryptionKey": "
|
|
86
|
+
"previewModeId": "d66736362409713162de3a642f464f95",
|
|
87
|
+
"previewModeSigningKey": "5d6d5267953a01552658391e640b133717a44f5438b64f1d5371c93ec2b1cbe2",
|
|
88
|
+
"previewModeEncryptionKey": "8aff86254474fb4462a6d1bf78ba2713a98a52e9c10891375db1f1fafc2375ad"
|
|
89
89
|
}
|
|
90
90
|
}
|