@akasecurity/ai-tc-claude-code 0.9.7 → 0.9.8

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/scripts/intro.js CHANGED
@@ -492,7 +492,7 @@ var require_ignore = __commonJS({
492
492
  });
493
493
 
494
494
  // src/intro.ts
495
- import { readFileSync as readFileSync11 } from "fs";
495
+ import { readFileSync as readFileSync12 } from "fs";
496
496
 
497
497
  // ../../packages/schema/src/exception-scope.ts
498
498
  var MINUTE_MS = 6e4;
@@ -15960,6 +15960,124 @@ var ConfigScanRecord = external_exports.object({
15960
15960
  findings: external_exports.array(ConfigPostureFindingInput).optional()
15961
15961
  });
15962
15962
 
15963
+ // ../../packages/schema/src/zod/control-plane.ts
15964
+ var ATTACHED_CREDENTIAL_SPEC_VERSION = 1;
15965
+ var AttachedCredential = external_exports.object({
15966
+ specVersion: external_exports.literal(ATTACHED_CREDENTIAL_SPEC_VERSION),
15967
+ // The control-plane endpoint this credential was minted against.
15968
+ endpoint: external_exports.string().min(1),
15969
+ // The bearer credential itself. Never logged, never rendered — status
15970
+ // surfaces show `keyPrefix` and nothing else.
15971
+ apiKey: external_exports.string().min(1),
15972
+ // First few characters of the key, safe to display so a user can match the
15973
+ // credential against their organization's key list.
15974
+ keyPrefix: external_exports.string().min(1).max(16).optional(),
15975
+ mintedAt: external_exports.iso.datetime().optional()
15976
+ });
15977
+ var MAX_DATE_MS = 253402300799999;
15978
+ var MAX_INT4 = 2147483647;
15979
+ var StorePosturePack = external_exports.object({
15980
+ packId: external_exports.string().min(1),
15981
+ // 'namespace/packId'
15982
+ version: external_exports.string().min(1),
15983
+ enabled: external_exports.boolean(),
15984
+ // Stringified pass-through of the local store's `installed_packs.updated_at`
15985
+ // — the column format is store-version-dependent (epoch millis vs ISO), so
15986
+ // the wire shape assumes neither.
15987
+ updatedAt: external_exports.string().nullable()
15988
+ }).meta({ id: "StorePosturePack" });
15989
+ var StorePosturePolicyCounts = external_exports.object({
15990
+ total: external_exports.number().int().min(0),
15991
+ disabled: external_exports.number().int().min(0),
15992
+ // Exhaustive per-action map; the builder pre-fills every action with 0.
15993
+ //
15994
+ // Spelled out member-by-member rather than `z.record(ActionTaken, …)`. Zod
15995
+ // enforces exhaustiveness either way, but z.record emits `propertyNames` +
15996
+ // `additionalProperties` into a generated schema document, and a type
15997
+ // generator renders THAT with every key optional — a sender built against
15998
+ // the generated type would typecheck and still be rejected at runtime. An
15999
+ // explicit object emits `properties` + `required`, so generated types
16000
+ // demand all five.
16001
+ //
16002
+ // `satisfies Record<ActionTaken, …>` keeps the link to the enum: adding an
16003
+ // ActionTaken member is a COMPILE error here instead of silent drift.
16004
+ // `.strict()` is load-bearing — it rejects an unknown action key, which a
16005
+ // bare object would silently STRIP, accepting a miscounted map as valid.
16006
+ byAction: external_exports.object({
16007
+ warn: external_exports.number().int().min(0),
16008
+ redact: external_exports.number().int().min(0),
16009
+ block: external_exports.number().int().min(0),
16010
+ allow: external_exports.number().int().min(0),
16011
+ log: external_exports.number().int().min(0)
16012
+ }).strict()
16013
+ }).meta({ id: "StorePosturePolicyCounts" });
16014
+ var StorePosturePlugin = external_exports.object({
16015
+ /** Package name of the reporting plugin. */
16016
+ package: external_exports.string().min(1).max(200),
16017
+ version: external_exports.string().min(1).max(64),
16018
+ /** Version of the bundled core, when the build records one separately. */
16019
+ ossVersion: external_exports.string().max(64).nullable(),
16020
+ /**
16021
+ * `version` of the policy bundle this machine last fetched. Bounded at 200
16022
+ * rather than the 64 a bare sha256 hex digest needs today, so a later
16023
+ * format with an algorithm prefix does not start rejecting the channel.
16024
+ */
16025
+ policyBundleVersion: external_exports.string().max(200).nullable(),
16026
+ /** Epoch millis, on the CLIENT clock, of that fetch. */
16027
+ policyFetchedAt: external_exports.number().int().min(0).max(MAX_DATE_MS).nullable()
16028
+ }).meta({ id: "StorePosturePlugin" });
16029
+ var StorePostureSnapshot = external_exports.object({
16030
+ deviceId: external_exports.guid(),
16031
+ hostname: external_exports.string().min(1).max(253),
16032
+ // Epoch millis on the CLIENT clock. Bounded by what a receiving store
16033
+ // accepts (see MAX_DATE_MS), not by what a JavaScript Date can hold.
16034
+ capturedAt: external_exports.number().int().min(0).max(MAX_DATE_MS),
16035
+ // False is a measurement, not an error state: "no local store exists on
16036
+ // this machine".
16037
+ storePresent: external_exports.boolean(),
16038
+ schemaVersion: external_exports.number().int().min(0).max(MAX_INT4).nullable(),
16039
+ // PRAGMA user_version
16040
+ findingsTotal: external_exports.number().int().min(0).max(MAX_INT4),
16041
+ // Epoch millis, bounded like `capturedAt` — see MAX_DATE_MS on what that
16042
+ // bound does and does not do. Worth stating for these two specifically:
16043
+ // they are read from the local store's own ROWS rather than from this
16044
+ // machine's clock, so a damaged or hand-edited store is enough to produce
16045
+ // an out-of-range value with no clock skew involved.
16046
+ findingsFirstAt: external_exports.number().int().min(0).max(MAX_DATE_MS).nullable(),
16047
+ findingsLastAt: external_exports.number().int().min(0).max(MAX_DATE_MS).nullable(),
16048
+ packs: external_exports.array(StorePosturePack).max(500),
16049
+ policyCounts: StorePosturePolicyCounts,
16050
+ // OPTIONAL, not nullable: a reporter that predates this member keeps
16051
+ // getting its 200 without a payload change.
16052
+ plugin: StorePosturePlugin.optional()
16053
+ }).meta({ id: "StorePostureSnapshot" });
16054
+ var CAPTURE_VERSION_PREFIX = "capture/";
16055
+ var RecordAuditEventRequest = AuditEventInput.extend({
16056
+ inspections: external_exports.array(ToolCallInspection).default([])
16057
+ }).refine((v) => v.inspections.every((i) => !i.ruleVersion.startsWith(CAPTURE_VERSION_PREFIX)), {
16058
+ message: `inspections[].ruleVersion must not start with \`${CAPTURE_VERSION_PREFIX}\` \u2014 that namespace is reserved for capture definitions the control plane mints itself`,
16059
+ path: ["inspections"]
16060
+ }).meta({ id: "RecordAuditEventRequest" });
16061
+ var IngestAck = external_exports.object({
16062
+ accepted: external_exports.number().int().nonnegative(),
16063
+ duplicates: external_exports.number().int().nonnegative()
16064
+ });
16065
+ var PRINTABLE = /^[^\p{Cc}\p{Cf}]*$/u;
16066
+ var printable = (max) => external_exports.string().max(max).regex(PRINTABLE, "must not contain control characters");
16067
+ var PluginWhoami = external_exports.object({
16068
+ tenantName: printable(200),
16069
+ userEmail: printable(320),
16070
+ role: printable(64),
16071
+ keyKind: printable(64),
16072
+ serverTime: printable(64)
16073
+ });
16074
+ var ControlPlaneErrorBody = external_exports.object({
16075
+ error: external_exports.object({
16076
+ code: external_exports.string().optional(),
16077
+ message: external_exports.string().optional()
16078
+ }).optional()
16079
+ });
16080
+
15963
16081
  // ../../packages/schema/src/zod/registry.ts
15964
16082
  var Namespace = external_exports.string().regex(/^[a-z][a-z0-9-]*$/);
15965
16083
  var PackId = external_exports.string().regex(/^[a-z][a-z0-9-]*$/);
@@ -17603,21 +17721,12 @@ import { execFileSync } from "child_process";
17603
17721
  var USE_SHELL = process.platform === "win32";
17604
17722
 
17605
17723
  // ../../packages/plugin-sdk/src/config.ts
17606
- import { existsSync as existsSync5 } from "fs";
17607
- import { join as join8 } from "path";
17724
+ import { existsSync as existsSync6 } from "fs";
17725
+ import { join as join10 } from "path";
17608
17726
 
17609
- // ../../packages/persistence/src/database.ts
17610
- import { randomUUID as randomUUID10 } from "crypto";
17611
- import { join as join2, sep } from "path";
17612
- import { DatabaseSync } from "node:sqlite";
17613
-
17614
- // ../../packages/persistence/src/ids.ts
17615
- import { createHash } from "crypto";
17616
-
17617
- // ../../packages/persistence/src/internal/snapshot.ts
17618
- import { randomUUID } from "crypto";
17619
- import { existsSync, readdirSync, renameSync as renameSync2, rmSync as rmSync2, statSync } from "fs";
17620
- import { basename, dirname, join } from "path";
17727
+ // ../../packages/persistence/src/control-plane-credential.ts
17728
+ import { chmodSync as chmodSync2, lstatSync as lstatSync2, readFileSync, rmSync as rmSync2, statSync } from "fs";
17729
+ import { join } from "path";
17621
17730
 
17622
17731
  // ../../packages/persistence/src/paths.ts
17623
17732
  import {
@@ -17631,7 +17740,18 @@ import {
17631
17740
  } from "fs";
17632
17741
  import { threadId } from "worker_threads";
17633
17742
 
17743
+ // ../../packages/persistence/src/database.ts
17744
+ import { randomUUID as randomUUID10 } from "crypto";
17745
+ import { join as join3, sep } from "path";
17746
+ import { DatabaseSync } from "node:sqlite";
17747
+
17748
+ // ../../packages/persistence/src/ids.ts
17749
+ import { createHash } from "crypto";
17750
+
17634
17751
  // ../../packages/persistence/src/internal/snapshot.ts
17752
+ import { randomUUID } from "crypto";
17753
+ import { existsSync, readdirSync, renameSync as renameSync2, rmSync as rmSync3, statSync as statSync2 } from "fs";
17754
+ import { basename, dirname, join as join2 } from "path";
17635
17755
  var STALE_PARTIAL_MS = 5 * 6e4;
17636
17756
  var SNAPSHOT_STAGING_SUFFIX = ".partial";
17637
17757
  var STAGED_NAME_SUFFIX = `.bak${SNAPSHOT_STAGING_SUFFIX}`;
@@ -17705,9 +17825,9 @@ import {
17705
17825
  closeSync,
17706
17826
  existsSync as existsSync2,
17707
17827
  openSync,
17708
- readFileSync,
17709
- rmSync as rmSync3,
17710
- statSync as statSync2,
17828
+ readFileSync as readFileSync2,
17829
+ rmSync as rmSync4,
17830
+ statSync as statSync3,
17711
17831
  writeFileSync as writeFileSync2
17712
17832
  } from "fs";
17713
17833
  import { hostname as hostname3 } from "os";
@@ -17718,23 +17838,27 @@ import { createHash as createHash3 } from "crypto";
17718
17838
 
17719
17839
  // ../../packages/persistence/src/fingerprint.ts
17720
17840
  import { createHmac, randomBytes } from "crypto";
17721
- import { existsSync as existsSync3, readFileSync as readFileSync2 } from "fs";
17722
- import { join as join3 } from "path";
17841
+ import { existsSync as existsSync3, readFileSync as readFileSync3 } from "fs";
17842
+ import { join as join4 } from "path";
17723
17843
  import { DatabaseSync as DatabaseSync2 } from "node:sqlite";
17724
17844
 
17725
17845
  // ../../packages/persistence/src/local-layout.ts
17726
17846
  import { renameSync as renameSync3 } from "fs";
17727
17847
  import { mkdir } from "fs/promises";
17728
17848
  import { homedir } from "os";
17729
- import { join as join4 } from "path";
17849
+ import { join as join5 } from "path";
17730
17850
 
17731
17851
  // ../../packages/persistence/src/managed-settings.ts
17732
- import { readFileSync as readFileSync3 } from "fs";
17852
+ import { readFileSync as readFileSync4 } from "fs";
17733
17853
  import { posix, win32 } from "path";
17734
17854
 
17735
17855
  // ../../packages/persistence/src/settings.ts
17736
- import { readFileSync as readFileSync4 } from "fs";
17737
- import { join as join5 } from "path";
17856
+ import { readFileSync as readFileSync5 } from "fs";
17857
+ import { join as join6 } from "path";
17858
+
17859
+ // ../../packages/persistence/src/store-symlinks.ts
17860
+ import { existsSync as existsSync4, lstatSync as lstatSync3, readlinkSync, realpathSync, statSync as statSync4 } from "fs";
17861
+ import { dirname as dirname2, join as join7, resolve } from "path";
17738
17862
 
17739
17863
  // ../../packages/persistence/src/vault/crypto.ts
17740
17864
  import {
@@ -17748,15 +17872,15 @@ import {
17748
17872
  // ../../packages/persistence/src/vault/key-provider.ts
17749
17873
  import { execFileSync as execFileSync2 } from "child_process";
17750
17874
  import { randomBytes as randomBytes2 } from "crypto";
17751
- import { chmodSync as chmodSync2, readFileSync as readFileSync5, renameSync as renameSync4, rmSync as rmSync4, statSync as statSync3, writeFileSync as writeFileSync3 } from "fs";
17752
- import { join as join6 } from "path";
17875
+ import { chmodSync as chmodSync3, readFileSync as readFileSync6, renameSync as renameSync4, rmSync as rmSync5, statSync as statSync5, writeFileSync as writeFileSync3 } from "fs";
17876
+ import { join as join8 } from "path";
17753
17877
 
17754
17878
  // ../../packages/persistence/src/vault/vault.ts
17755
17879
  import { randomBytes as randomBytes3, randomUUID as randomUUID12 } from "crypto";
17756
17880
 
17757
17881
  // ../../packages/persistence/src/warn-era-cap.ts
17758
- import { existsSync as existsSync4, writeFileSync as writeFileSync4 } from "fs";
17759
- import { join as join7 } from "path";
17882
+ import { existsSync as existsSync5, writeFileSync as writeFileSync4 } from "fs";
17883
+ import { join as join9 } from "path";
17760
17884
 
17761
17885
  // ../../packages/plugin-sdk/src/provider-env.ts
17762
17886
  var booleanish = external_exports.string().optional().transform((v) => {
@@ -17777,9 +17901,9 @@ var providerEnvShape = {
17777
17901
  var ProviderEnvSchema = external_exports.object(providerEnvShape);
17778
17902
 
17779
17903
  // ../../packages/plugin-sdk/src/config-inventory.ts
17780
- import { readdirSync as readdirSync2, readFileSync as readFileSync7, realpathSync, statSync as statSync5 } from "fs";
17904
+ import { readdirSync as readdirSync2, readFileSync as readFileSync8, realpathSync as realpathSync2, statSync as statSync7 } from "fs";
17781
17905
  import { homedir as homedir2 } from "os";
17782
- import { basename as basename3, join as join10 } from "path";
17906
+ import { basename as basename3, join as join12 } from "path";
17783
17907
 
17784
17908
  // ../../packages/detections/src/egress/registry.ts
17785
17909
  var EXTRACTOR_VERSION = "1";
@@ -18537,36 +18661,36 @@ var CPU_CORROBORATION_SHARE = 0.2;
18537
18661
  var CORROBORATION_FLOOR_MS = BUDGET_MS * CPU_CORROBORATION_SHARE;
18538
18662
 
18539
18663
  // ../../packages/plugin-sdk/src/repo.ts
18540
- import { existsSync as existsSync6, readFileSync as readFileSync6, statSync as statSync4 } from "fs";
18541
- import { basename as basename2, dirname as dirname2, isAbsolute, join as join9, sep as sep2 } from "path";
18664
+ import { existsSync as existsSync7, readFileSync as readFileSync7, statSync as statSync6 } from "fs";
18665
+ import { basename as basename2, dirname as dirname3, isAbsolute, join as join11, sep as sep2 } from "path";
18542
18666
 
18543
18667
  // ../../packages/plugin-sdk/src/events.ts
18544
18668
  import { createHash as createHash4, randomUUID as randomUUID13 } from "crypto";
18545
18669
 
18546
18670
  // ../../packages/plugin-sdk/src/isolated-scan.ts
18547
- import { existsSync as existsSync7 } from "fs";
18671
+ import { existsSync as existsSync8 } from "fs";
18548
18672
  import { fileURLToPath } from "url";
18549
18673
  import { Worker } from "worker_threads";
18550
18674
 
18551
18675
  // ../../packages/plugin-sdk/src/ignore-layers.ts
18552
18676
  var import_ignore = __toESM(require_ignore(), 1);
18553
- import { readFileSync as readFileSync8 } from "fs";
18554
- import { join as join11 } from "path";
18677
+ import { readFileSync as readFileSync9 } from "fs";
18678
+ import { join as join13 } from "path";
18555
18679
 
18556
18680
  // ../../packages/plugin-sdk/src/inventory-resolver.ts
18557
18681
  import { arch, hostname as hostname4, platform, release } from "os";
18558
18682
 
18559
18683
  // ../../packages/plugin-sdk/src/nudge.ts
18560
- import { mkdirSync as mkdirSync2, readFileSync as readFileSync9, writeFileSync as writeFileSync5 } from "fs";
18561
- import { join as join12 } from "path";
18684
+ import { mkdirSync as mkdirSync2, readFileSync as readFileSync10, writeFileSync as writeFileSync5 } from "fs";
18685
+ import { join as join14 } from "path";
18562
18686
 
18563
18687
  // ../../packages/plugin-sdk/src/paths.ts
18564
- import { readdirSync as readdirSync3, realpathSync as realpathSync2 } from "fs";
18565
- import { basename as basename4, dirname as dirname3, sep as sep3 } from "path";
18688
+ import { readdirSync as readdirSync3, realpathSync as realpathSync3 } from "fs";
18689
+ import { basename as basename4, dirname as dirname4, sep as sep3 } from "path";
18566
18690
 
18567
18691
  // ../../packages/plugin-sdk/src/project-files.ts
18568
- import { existsSync as existsSync8, readdirSync as readdirSync4 } from "fs";
18569
- import { basename as basename5, join as join13 } from "path";
18692
+ import { existsSync as existsSync9, readdirSync as readdirSync4 } from "fs";
18693
+ import { basename as basename5, join as join15 } from "path";
18570
18694
 
18571
18695
  // ../../packages/plugin-sdk/src/provider-env-antigravity.ts
18572
18696
  var optionalBaseUrl2 = external_exports.preprocess((v) => {
@@ -18601,12 +18725,12 @@ import { randomUUID as randomUUID14 } from "crypto";
18601
18725
  var THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1e3;
18602
18726
 
18603
18727
  // ../../packages/plugin-sdk/src/throttle.ts
18604
- import { mkdirSync as mkdirSync3, statSync as statSync6, writeFileSync as writeFileSync6 } from "fs";
18605
- import { join as join14 } from "path";
18728
+ import { mkdirSync as mkdirSync3, statSync as statSync8, writeFileSync as writeFileSync6 } from "fs";
18729
+ import { join as join16 } from "path";
18606
18730
 
18607
18731
  // ../../packages/setup-wizard/src/remediation/rotation-checklist.ts
18608
18732
  import { writeFileSync as writeFileSync7 } from "fs";
18609
- import { join as join15 } from "path";
18733
+ import { join as join17 } from "path";
18610
18734
 
18611
18735
  // ../../packages/setup-wizard/src/triage/merge.ts
18612
18736
  var RANK = Object.fromEntries(
@@ -18614,9 +18738,9 @@ var RANK = Object.fromEntries(
18614
18738
  );
18615
18739
 
18616
18740
  // ../../packages/setup-wizard/src/triage/plan-file.ts
18617
- import { mkdtempSync, readFileSync as readFileSync10, rmdirSync, rmSync as rmSync5, writeFileSync as writeFileSync8 } from "fs";
18741
+ import { mkdtempSync, readFileSync as readFileSync11, rmdirSync, rmSync as rmSync6, writeFileSync as writeFileSync8 } from "fs";
18618
18742
  import { tmpdir } from "os";
18619
- import { basename as basename6, dirname as dirname4, join as join16 } from "path";
18743
+ import { basename as basename6, dirname as dirname5, join as join18 } from "path";
18620
18744
  var SuppressionEntrySchema = external_exports.object({
18621
18745
  ruleId: external_exports.string(),
18622
18746
  category: DetectionCategory,
@@ -18759,7 +18883,7 @@ function buildIntroCard(manifest2, verified) {
18759
18883
  var manifestPath = process.argv[2];
18760
18884
  var manifest = {};
18761
18885
  try {
18762
- manifest = JSON.parse(readFileSync11(manifestPath ?? "", "utf8"));
18886
+ manifest = JSON.parse(readFileSync12(manifestPath ?? "", "utf8"));
18763
18887
  } catch {
18764
18888
  }
18765
18889
  process.stdout.write(show(fenced(buildIntroCard(manifest))));