cxgrd 0.1.1 → 0.1.2

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.
Files changed (115) hide show
  1. package/dist/auth/audit-usage.js +34 -21
  2. package/dist/auth/audit-usage.js.map +1 -1
  3. package/dist/auth/auth-session.js +26 -20
  4. package/dist/auth/auth-session.js.map +1 -1
  5. package/dist/auth/auth-store.js +22 -16
  6. package/dist/auth/auth-store.js.map +1 -1
  7. package/dist/auth/entitlements.js +35 -22
  8. package/dist/auth/entitlements.js.map +1 -1
  9. package/dist/auth/open-browser.js +6 -3
  10. package/dist/auth/open-browser.js.map +1 -1
  11. package/dist/auth/plans.js +13 -6
  12. package/dist/auth/plans.js.map +1 -1
  13. package/dist/auth/plans.test.js +23 -18
  14. package/dist/auth/plans.test.js.map +1 -1
  15. package/dist/cg-directory.js +40 -35
  16. package/dist/cg-directory.js.map +1 -1
  17. package/dist/check/check-runner.js +16 -13
  18. package/dist/check/check-runner.js.map +1 -1
  19. package/dist/check/compiler-service.js +22 -19
  20. package/dist/check/compiler-service.js.map +1 -1
  21. package/dist/check/parsers/cargo.js +4 -1
  22. package/dist/check/parsers/cargo.js.map +1 -1
  23. package/dist/check/parsers/parsers.test.js +30 -25
  24. package/dist/check/parsers/parsers.test.js.map +1 -1
  25. package/dist/check/parsers/pyright.js +4 -1
  26. package/dist/check/parsers/pyright.js.map +1 -1
  27. package/dist/check/parsers/tsc-cli.js +4 -1
  28. package/dist/check/parsers/tsc-cli.js.map +1 -1
  29. package/dist/check/project-tooling.js +23 -16
  30. package/dist/check/project-tooling.js.map +1 -1
  31. package/dist/check/run-command.js +9 -5
  32. package/dist/check/run-command.js.map +1 -1
  33. package/dist/check/scope.js +14 -8
  34. package/dist/check/scope.js.map +1 -1
  35. package/dist/check/scope.test.js +15 -10
  36. package/dist/check/scope.test.js.map +1 -1
  37. package/dist/check/strict-mode.js +6 -2
  38. package/dist/check/strict-mode.js.map +1 -1
  39. package/dist/check/strict-mode.test.js +19 -14
  40. package/dist/check/strict-mode.test.js.map +1 -1
  41. package/dist/check/structural-checks.js +4 -1
  42. package/dist/check/structural-checks.js.map +1 -1
  43. package/dist/check/types.js +2 -1
  44. package/dist/check/verifiers/python.js +11 -8
  45. package/dist/check/verifiers/python.js.map +1 -1
  46. package/dist/check/verifiers/rust.js +11 -8
  47. package/dist/check/verifiers/rust.js.map +1 -1
  48. package/dist/check/verifiers/typescript.js +24 -18
  49. package/dist/check/verifiers/typescript.js.map +1 -1
  50. package/dist/commands/auth.js +42 -34
  51. package/dist/commands/auth.js.map +1 -1
  52. package/dist/commands/check.js +49 -43
  53. package/dist/commands/check.js.map +1 -1
  54. package/dist/commands/doctor.js +33 -27
  55. package/dist/commands/doctor.js.map +1 -1
  56. package/dist/commands/init-hooks.js +34 -31
  57. package/dist/commands/init-hooks.js.map +1 -1
  58. package/dist/commands/input.js +46 -43
  59. package/dist/commands/input.js.map +1 -1
  60. package/dist/commands/prompt.js +40 -34
  61. package/dist/commands/prompt.js.map +1 -1
  62. package/dist/commands/scan.js +49 -43
  63. package/dist/commands/scan.js.map +1 -1
  64. package/dist/commands/watch.js +20 -17
  65. package/dist/commands/watch.js.map +1 -1
  66. package/dist/config/env.js +21 -16
  67. package/dist/config/env.js.map +1 -1
  68. package/dist/graph.js +38 -36
  69. package/dist/graph.js.map +1 -1
  70. package/dist/index.js +32 -27
  71. package/dist/index.js.map +1 -1
  72. package/dist/memory/pattern-analyzer.js +6 -2
  73. package/dist/memory/pattern-analyzer.js.map +1 -1
  74. package/dist/memory/repo-memory.js +10 -4
  75. package/dist/memory/repo-memory.js.map +1 -1
  76. package/dist/memory/types.js +2 -1
  77. package/dist/prompt/llm-client.js +10 -7
  78. package/dist/prompt/llm-client.js.map +1 -1
  79. package/dist/prompt/subgraph.js +10 -6
  80. package/dist/prompt/subgraph.js.map +1 -1
  81. package/dist/scanner.js +51 -49
  82. package/dist/scanner.js.map +1 -1
  83. package/dist/team/audit.js +10 -7
  84. package/dist/team/audit.js.map +1 -1
  85. package/dist/team/cloud-client.js +23 -17
  86. package/dist/team/cloud-client.js.map +1 -1
  87. package/dist/team/dev-store.js +34 -25
  88. package/dist/team/dev-store.js.map +1 -1
  89. package/dist/team/graph-sync.js +28 -20
  90. package/dist/team/graph-sync.js.map +1 -1
  91. package/dist/team/policy-cache.js +19 -14
  92. package/dist/team/policy-cache.js.map +1 -1
  93. package/dist/team/policy-engine.js +4 -1
  94. package/dist/team/policy-engine.js.map +1 -1
  95. package/dist/team/policy-engine.test.js +18 -13
  96. package/dist/team/policy-engine.test.js.map +1 -1
  97. package/dist/team/repo-identity.js +9 -6
  98. package/dist/team/repo-identity.js.map +1 -1
  99. package/dist/team/types.js +2 -1
  100. package/dist/toolchain/probe.js +23 -14
  101. package/dist/toolchain/probe.js.map +1 -1
  102. package/dist/toolchain/project-languages.js +20 -16
  103. package/dist/toolchain/project-languages.js.map +1 -1
  104. package/dist/toolchain/types.js +2 -1
  105. package/dist/utils/blast-radius-analyzer.js +7 -2
  106. package/dist/utils/blast-radius-analyzer.js.map +1 -1
  107. package/dist/utils/change-detector.js +8 -3
  108. package/dist/utils/change-detector.js.map +1 -1
  109. package/dist/utils/cli-formatter.js +34 -26
  110. package/dist/utils/cli-formatter.js.map +1 -1
  111. package/dist/utils/git-hook-manager.js +42 -34
  112. package/dist/utils/git-hook-manager.js.map +1 -1
  113. package/dist/utils/project-watcher.js +17 -12
  114. package/dist/utils/project-watcher.js.map +1 -1
  115. package/package.json +1 -2
package/dist/scanner.js CHANGED
@@ -1,47 +1,48 @@
1
- import { readdir, readFile } from 'fs/promises';
2
- import { join, relative, extname } from 'path';
3
- export class FileScanner {
4
- constructor() {
5
- this.ignorePatterns = [
6
- 'node_modules',
7
- '.git',
8
- 'dist',
9
- 'build',
10
- '.next',
11
- '.venv',
12
- '__pycache__',
13
- 'target',
14
- '.cg',
15
- '.vscode',
16
- '.idea',
17
- 'coverage',
18
- "venv",
19
- ".env",
20
- "env",
21
- "site-packages",
22
- ];
23
- this.languageMap = {
24
- '.ts': 'typescript',
25
- '.tsx': 'typescript',
26
- '.js': 'javascript',
27
- '.jsx': 'javascript',
28
- '.py': 'python',
29
- '.java': 'java',
30
- '.cpp': 'cpp',
31
- '.cc': 'cpp',
32
- '.cxx': 'cpp',
33
- '.h': 'cpp',
34
- '.hpp': 'cpp',
35
- '.cs': 'csharp',
36
- '.rb': 'ruby',
37
- '.go': 'go',
38
- '.rs': 'rust',
39
- '.sql': 'sql',
40
- '.json': 'json',
41
- '.yaml': 'yaml',
42
- '.yml': 'yaml',
43
- };
44
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileScanner = void 0;
4
+ const promises_1 = require("fs/promises");
5
+ const path_1 = require("path");
6
+ class FileScanner {
7
+ ignorePatterns = [
8
+ 'node_modules',
9
+ '.git',
10
+ 'dist',
11
+ 'build',
12
+ '.next',
13
+ '.venv',
14
+ '__pycache__',
15
+ 'target',
16
+ '.cg',
17
+ '.vscode',
18
+ '.idea',
19
+ 'coverage',
20
+ "venv",
21
+ ".env",
22
+ "env",
23
+ "site-packages",
24
+ ];
25
+ languageMap = {
26
+ '.ts': 'typescript',
27
+ '.tsx': 'typescript',
28
+ '.js': 'javascript',
29
+ '.jsx': 'javascript',
30
+ '.py': 'python',
31
+ '.java': 'java',
32
+ '.cpp': 'cpp',
33
+ '.cc': 'cpp',
34
+ '.cxx': 'cpp',
35
+ '.h': 'cpp',
36
+ '.hpp': 'cpp',
37
+ '.cs': 'csharp',
38
+ '.rb': 'ruby',
39
+ '.go': 'go',
40
+ '.rs': 'rust',
41
+ '.sql': 'sql',
42
+ '.json': 'json',
43
+ '.yaml': 'yaml',
44
+ '.yml': 'yaml',
45
+ };
45
46
  shouldIgnore(filePath) {
46
47
  return this.ignorePatterns.some(pattern => {
47
48
  const parts = filePath.replace(/\\/g, '/').split('/');
@@ -52,10 +53,10 @@ export class FileScanner {
52
53
  const files = [];
53
54
  const walkDir = async (dir) => {
54
55
  try {
55
- const entries = await readdir(dir, { withFileTypes: true });
56
+ const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
56
57
  for (const entry of entries) {
57
- const fullPath = join(dir, entry.name);
58
- const relativePath = relative(rootPath, fullPath);
58
+ const fullPath = (0, path_1.join)(dir, entry.name);
59
+ const relativePath = (0, path_1.relative)(rootPath, fullPath);
59
60
  if (this.shouldIgnore(relativePath)) {
60
61
  continue;
61
62
  }
@@ -63,11 +64,11 @@ export class FileScanner {
63
64
  await walkDir(fullPath);
64
65
  }
65
66
  else if (entry.isFile()) {
66
- const ext = extname(entry.name).toLowerCase();
67
+ const ext = (0, path_1.extname)(entry.name).toLowerCase();
67
68
  const language = this.languageMap[ext];
68
69
  if (language) {
69
70
  try {
70
- const content = await readFile(fullPath, 'utf-8');
71
+ const content = await (0, promises_1.readFile)(fullPath, 'utf-8');
71
72
  files.push({
72
73
  path: relativePath.replace(/\\/g, '/'),
73
74
  content,
@@ -89,4 +90,5 @@ export class FileScanner {
89
90
  return files;
90
91
  }
91
92
  }
93
+ exports.FileScanner = FileScanner;
92
94
  //# sourceMappingURL=scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
- import { planIncludesFeature } from '../auth/plans';
2
- import { postAuditEvent } from './cloud-client';
3
- import { resolveRepoIdentity } from './repo-identity';
4
- export async function recordAuditEventIfTeam(session, projectRoot, partial) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordAuditEventIfTeam = recordAuditEventIfTeam;
4
+ const plans_1 = require("../auth/plans");
5
+ const cloud_client_1 = require("./cloud-client");
6
+ const repo_identity_1 = require("./repo-identity");
7
+ async function recordAuditEventIfTeam(session, projectRoot, partial) {
5
8
  if (!session?.orgId)
6
9
  return;
7
- if (!planIncludesFeature(session.plan, 'team_cloud'))
10
+ if (!(0, plans_1.planIncludesFeature)(session.plan, 'team_cloud'))
8
11
  return;
9
- const identity = resolveRepoIdentity(projectRoot);
10
- await postAuditEvent(session, {
12
+ const identity = (0, repo_identity_1.resolveRepoIdentity)(projectRoot);
13
+ await (0, cloud_client_1.postAuditEvent)(session, {
11
14
  ...partial,
12
15
  repoId: identity.repoId,
13
16
  gitRef: identity.gitRef,
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/team/audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA6B,EAC7B,WAAmB,EACnB,OAAqD;IAErD,IAAI,CAAC,OAAO,EAAE,KAAK;QAAE,OAAO;IAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,OAAO;IAE7D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,cAAc,CAAC,OAAO,EAAE;QAC5B,GAAG,OAAO;QACV,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/team/audit.ts"],"names":[],"mappings":";;AAMA,wDAcC;AAnBD,yCAAoD;AAEpD,iDAAgD;AAChD,mDAAsD;AAE/C,KAAK,UAAU,sBAAsB,CAC1C,OAA6B,EAC7B,WAAmB,EACnB,OAAqD;IAErD,IAAI,CAAC,OAAO,EAAE,KAAK;QAAE,OAAO;IAC5B,IAAI,CAAC,IAAA,2BAAmB,EAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,OAAO;IAE7D,MAAM,QAAQ,GAAG,IAAA,mCAAmB,EAAC,WAAW,CAAC,CAAC;IAClD,MAAM,IAAA,6BAAc,EAAC,OAAO,EAAE;QAC5B,GAAG,OAAO;QACV,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,13 @@
1
- import { envString } from '../config/env';
2
- import { devAppendEvent, devGetGraph, devGetPolicy, devPutGraph, isDevCloudEnabled, } from './dev-store';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pushGraph = pushGraph;
4
+ exports.pullGraph = pullGraph;
5
+ exports.fetchOrgPolicy = fetchOrgPolicy;
6
+ exports.postAuditEvent = postAuditEvent;
7
+ const env_1 = require("../config/env");
8
+ const dev_store_1 = require("./dev-store");
3
9
  function apiBase() {
4
- return envString('CXGRD_AUTH_BASE_URL', 'https://cxgrd.com').replace(/\/$/, '');
10
+ return (0, env_1.envString)('CXGRD_AUTH_BASE_URL', 'https://cxgrd.com').replace(/\/$/, '');
5
11
  }
6
12
  function authHeaders(token) {
7
13
  return {
@@ -17,15 +23,15 @@ async function apiFetch(path, token, init) {
17
23
  });
18
24
  }
19
25
  function useDevStore(session) {
20
- return isDevCloudEnabled() || session.source === 'dev_override';
26
+ return (0, dev_store_1.isDevCloudEnabled)() || session.source === 'dev_override';
21
27
  }
22
- export async function pushGraph(session, bundle) {
28
+ async function pushGraph(session, bundle) {
23
29
  const orgId = session.orgId;
24
30
  if (!orgId) {
25
31
  throw new Error('No organization on this account. Team features require an org.');
26
32
  }
27
33
  if (useDevStore(session)) {
28
- await devPutGraph(orgId, bundle);
34
+ await (0, dev_store_1.devPutGraph)(orgId, bundle);
29
35
  return;
30
36
  }
31
37
  const res = await apiFetch(`/api/orgs/${orgId}/graphs`, session.token, {
@@ -33,7 +39,7 @@ export async function pushGraph(session, bundle) {
33
39
  body: JSON.stringify(bundle),
34
40
  });
35
41
  if (res.status === 404 || res.status === 501) {
36
- await devPutGraph(orgId, bundle);
42
+ await (0, dev_store_1.devPutGraph)(orgId, bundle);
37
43
  return;
38
44
  }
39
45
  if (!res.ok) {
@@ -41,20 +47,20 @@ export async function pushGraph(session, bundle) {
41
47
  throw new Error(`Graph push failed (${res.status}): ${body || res.statusText}`);
42
48
  }
43
49
  }
44
- export async function pullGraph(session, repoId, gitRef) {
50
+ async function pullGraph(session, repoId, gitRef) {
45
51
  const orgId = session.orgId;
46
52
  if (!orgId) {
47
53
  throw new Error('No organization on this account.');
48
54
  }
49
55
  if (useDevStore(session)) {
50
- return devGetGraph(orgId, repoId, gitRef);
56
+ return (0, dev_store_1.devGetGraph)(orgId, repoId, gitRef);
51
57
  }
52
58
  const res = await apiFetch(`/api/orgs/${orgId}/graphs?repoId=${encodeURIComponent(repoId)}&ref=${encodeURIComponent(gitRef)}`, session.token, { method: 'GET' });
53
59
  if (res.status === 404) {
54
- return devGetGraph(orgId, repoId, gitRef);
60
+ return (0, dev_store_1.devGetGraph)(orgId, repoId, gitRef);
55
61
  }
56
62
  if (res.status === 501) {
57
- return devGetGraph(orgId, repoId, gitRef);
63
+ return (0, dev_store_1.devGetGraph)(orgId, repoId, gitRef);
58
64
  }
59
65
  if (!res.ok) {
60
66
  const body = await res.text().catch(() => '');
@@ -62,18 +68,18 @@ export async function pullGraph(session, repoId, gitRef) {
62
68
  }
63
69
  return (await res.json());
64
70
  }
65
- export async function fetchOrgPolicy(session) {
71
+ async function fetchOrgPolicy(session) {
66
72
  const orgId = session.orgId;
67
73
  if (!orgId) {
68
74
  throw new Error('No organization on this account.');
69
75
  }
70
76
  if (useDevStore(session)) {
71
- const policy = await devGetPolicy(orgId);
77
+ const policy = await (0, dev_store_1.devGetPolicy)(orgId);
72
78
  return policy;
73
79
  }
74
80
  const res = await apiFetch(`/api/orgs/${orgId}/policies`, session.token, { method: 'GET' });
75
81
  if (res.status === 404 || res.status === 501) {
76
- const policy = await devGetPolicy(orgId);
82
+ const policy = await (0, dev_store_1.devGetPolicy)(orgId);
77
83
  return policy;
78
84
  }
79
85
  if (!res.ok) {
@@ -82,12 +88,12 @@ export async function fetchOrgPolicy(session) {
82
88
  }
83
89
  return (await res.json());
84
90
  }
85
- export async function postAuditEvent(session, payload) {
91
+ async function postAuditEvent(session, payload) {
86
92
  const orgId = session.orgId;
87
93
  if (!orgId)
88
94
  return;
89
95
  if (useDevStore(session)) {
90
- await devAppendEvent(orgId, payload);
96
+ await (0, dev_store_1.devAppendEvent)(orgId, payload);
91
97
  return;
92
98
  }
93
99
  const res = await apiFetch(`/api/orgs/${orgId}/events`, session.token, {
@@ -95,7 +101,7 @@ export async function postAuditEvent(session, payload) {
95
101
  body: JSON.stringify(payload),
96
102
  });
97
103
  if (res.status === 404 || res.status === 501) {
98
- await devAppendEvent(orgId, payload);
104
+ await (0, dev_store_1.devAppendEvent)(orgId, payload);
99
105
  return;
100
106
  }
101
107
  if (!res.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-client.js","sourceRoot":"","sources":["../../src/team/cloud-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-client.js","sourceRoot":"","sources":["../../src/team/cloud-client.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,60 @@
1
- import { mkdir, readFile, writeFile, appendFile } from 'fs/promises';
2
- import { existsSync } from 'fs';
3
- import { homedir } from 'os';
4
- import { join } from 'path';
5
- const DEV_ROOT = join(homedir(), '.cg', 'dev-cloud');
6
- export function isDevCloudEnabled() {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDevCloudEnabled = isDevCloudEnabled;
4
+ exports.devPutGraph = devPutGraph;
5
+ exports.devGetGraph = devGetGraph;
6
+ exports.devGetPolicy = devGetPolicy;
7
+ exports.devPutPolicy = devPutPolicy;
8
+ exports.devAppendEvent = devAppendEvent;
9
+ exports.getDevCloudRoot = getDevCloudRoot;
10
+ const promises_1 = require("fs/promises");
11
+ const fs_1 = require("fs");
12
+ const os_1 = require("os");
13
+ const path_1 = require("path");
14
+ const DEV_ROOT = (0, path_1.join)((0, os_1.homedir)(), '.cg', 'dev-cloud');
15
+ function isDevCloudEnabled() {
7
16
  const v = process.env.CXGRD_DEV_CLOUD?.trim().toLowerCase();
8
17
  return v === '1' || v === 'true' || v === 'yes';
9
18
  }
10
19
  function graphPath(orgId, repoId, gitRef) {
11
20
  const safeRef = gitRef.replace(/[^a-zA-Z0-9._-]/g, '_');
12
- return join(DEV_ROOT, 'orgs', orgId, 'graphs', repoId, `${safeRef}.json`);
21
+ return (0, path_1.join)(DEV_ROOT, 'orgs', orgId, 'graphs', repoId, `${safeRef}.json`);
13
22
  }
14
23
  function policyPath(orgId) {
15
- return join(DEV_ROOT, 'orgs', orgId, 'policy.json');
24
+ return (0, path_1.join)(DEV_ROOT, 'orgs', orgId, 'policy.json');
16
25
  }
17
26
  function eventsPath(orgId) {
18
- return join(DEV_ROOT, 'orgs', orgId, 'events.jsonl');
27
+ return (0, path_1.join)(DEV_ROOT, 'orgs', orgId, 'events.jsonl');
19
28
  }
20
- export async function devPutGraph(orgId, bundle) {
29
+ async function devPutGraph(orgId, bundle) {
21
30
  const path = graphPath(orgId, bundle.repoId, bundle.gitRef);
22
- await mkdir(join(path, '..'), { recursive: true });
23
- await writeFile(path, JSON.stringify(bundle, null, 2), 'utf-8');
31
+ await (0, promises_1.mkdir)((0, path_1.join)(path, '..'), { recursive: true });
32
+ await (0, promises_1.writeFile)(path, JSON.stringify(bundle, null, 2), 'utf-8');
24
33
  }
25
- export async function devGetGraph(orgId, repoId, gitRef) {
34
+ async function devGetGraph(orgId, repoId, gitRef) {
26
35
  const path = graphPath(orgId, repoId, gitRef);
27
- if (!existsSync(path))
36
+ if (!(0, fs_1.existsSync)(path))
28
37
  return null;
29
- const raw = await readFile(path, 'utf-8');
38
+ const raw = await (0, promises_1.readFile)(path, 'utf-8');
30
39
  return JSON.parse(raw);
31
40
  }
32
- export async function devGetPolicy(orgId) {
41
+ async function devGetPolicy(orgId) {
33
42
  const path = policyPath(orgId);
34
- if (!existsSync(path)) {
43
+ if (!(0, fs_1.existsSync)(path)) {
35
44
  return defaultDevPolicy(orgId);
36
45
  }
37
- const raw = await readFile(path, 'utf-8');
46
+ const raw = await (0, promises_1.readFile)(path, 'utf-8');
38
47
  return JSON.parse(raw);
39
48
  }
40
- export async function devPutPolicy(orgId, policy) {
49
+ async function devPutPolicy(orgId, policy) {
41
50
  const path = policyPath(orgId);
42
- await mkdir(join(path, '..'), { recursive: true });
43
- await writeFile(path, JSON.stringify(policy, null, 2), 'utf-8');
51
+ await (0, promises_1.mkdir)((0, path_1.join)(path, '..'), { recursive: true });
52
+ await (0, promises_1.writeFile)(path, JSON.stringify(policy, null, 2), 'utf-8');
44
53
  }
45
- export async function devAppendEvent(orgId, payload) {
54
+ async function devAppendEvent(orgId, payload) {
46
55
  const path = eventsPath(orgId);
47
- await mkdir(join(path, '..'), { recursive: true });
48
- await appendFile(path, `${JSON.stringify({ ...payload, recordedAt: Date.now() })}\n`, 'utf-8');
56
+ await (0, promises_1.mkdir)((0, path_1.join)(path, '..'), { recursive: true });
57
+ await (0, promises_1.appendFile)(path, `${JSON.stringify({ ...payload, recordedAt: Date.now() })}\n`, 'utf-8');
49
58
  }
50
59
  function defaultDevPolicy(orgId) {
51
60
  return {
@@ -63,7 +72,7 @@ function defaultDevPolicy(orgId) {
63
72
  },
64
73
  };
65
74
  }
66
- export function getDevCloudRoot() {
75
+ function getDevCloudRoot() {
67
76
  return DEV_ROOT;
68
77
  }
69
78
  //# sourceMappingURL=dev-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-store.js","sourceRoot":"","sources":["../../src/team/dev-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-store.js","sourceRoot":"","sources":["../../src/team/dev-store.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,21 @@
1
- import { join } from 'path';
2
- import { writeFile, readFile } from 'fs/promises';
3
- import { existsSync } from 'fs';
4
- import { resolveRepoIdentity } from './repo-identity';
5
- import { pushGraph, pullGraph } from './cloud-client';
6
- export async function buildBundleFromCg(cgDir, projectRoot, session) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildBundleFromCg = buildBundleFromCg;
4
+ exports.applyBundleToCg = applyBundleToCg;
5
+ exports.readSyncMeta = readSyncMeta;
6
+ exports.writeSyncMeta = writeSyncMeta;
7
+ exports.syncPush = syncPush;
8
+ exports.syncPull = syncPull;
9
+ const path_1 = require("path");
10
+ const promises_1 = require("fs/promises");
11
+ const fs_1 = require("fs");
12
+ const repo_identity_1 = require("./repo-identity");
13
+ const cloud_client_1 = require("./cloud-client");
14
+ async function buildBundleFromCg(cgDir, projectRoot, session) {
7
15
  const graph = await cgDir.readGraph();
8
16
  if (!graph)
9
17
  return null;
10
- const identity = resolveRepoIdentity(projectRoot);
18
+ const identity = (0, repo_identity_1.resolveRepoIdentity)(projectRoot);
11
19
  return {
12
20
  version: 1,
13
21
  repoId: identity.repoId,
@@ -21,7 +29,7 @@ export async function buildBundleFromCg(cgDir, projectRoot, session) {
21
29
  patterns: await cgDir.readPatterns(),
22
30
  };
23
31
  }
24
- export async function applyBundleToCg(cgDir, bundle) {
32
+ async function applyBundleToCg(cgDir, bundle) {
25
33
  await cgDir.writeGraph(bundle.graph);
26
34
  await cgDir.writeSymbols(bundle.symbols);
27
35
  if (bundle.arch)
@@ -31,27 +39,27 @@ export async function applyBundleToCg(cgDir, bundle) {
31
39
  if (bundle.patterns)
32
40
  await cgDir.writePatterns(bundle.patterns);
33
41
  }
34
- export async function readSyncMeta(cgDir) {
35
- const path = join(cgDir.getPath(), 'sync-meta.json');
36
- if (!existsSync(path))
42
+ async function readSyncMeta(cgDir) {
43
+ const path = (0, path_1.join)(cgDir.getPath(), 'sync-meta.json');
44
+ if (!(0, fs_1.existsSync)(path))
37
45
  return null;
38
46
  try {
39
- return JSON.parse(await readFile(path, 'utf-8'));
47
+ return JSON.parse(await (0, promises_1.readFile)(path, 'utf-8'));
40
48
  }
41
49
  catch {
42
50
  return null;
43
51
  }
44
52
  }
45
- export async function writeSyncMeta(cgDir, meta) {
46
- const path = join(cgDir.getPath(), 'sync-meta.json');
47
- await writeFile(path, JSON.stringify(meta, null, 2), 'utf-8');
53
+ async function writeSyncMeta(cgDir, meta) {
54
+ const path = (0, path_1.join)(cgDir.getPath(), 'sync-meta.json');
55
+ await (0, promises_1.writeFile)(path, JSON.stringify(meta, null, 2), 'utf-8');
48
56
  }
49
- export async function syncPush(cgDir, projectRoot, session) {
57
+ async function syncPush(cgDir, projectRoot, session) {
50
58
  const bundle = await buildBundleFromCg(cgDir, projectRoot, session);
51
59
  if (!bundle) {
52
60
  throw new Error('No local graph. Run cxgrd scan first.');
53
61
  }
54
- await pushGraph(session, bundle);
62
+ await (0, cloud_client_1.pushGraph)(session, bundle);
55
63
  await writeSyncMeta(cgDir, {
56
64
  repoId: bundle.repoId,
57
65
  gitRef: bundle.gitRef,
@@ -60,9 +68,9 @@ export async function syncPush(cgDir, projectRoot, session) {
60
68
  });
61
69
  return bundle;
62
70
  }
63
- export async function syncPull(cgDir, projectRoot, session) {
64
- const identity = resolveRepoIdentity(projectRoot);
65
- const remote = await pullGraph(session, identity.repoId, identity.gitRef);
71
+ async function syncPull(cgDir, projectRoot, session) {
72
+ const identity = (0, repo_identity_1.resolveRepoIdentity)(projectRoot);
73
+ const remote = await (0, cloud_client_1.pullGraph)(session, identity.repoId, identity.gitRef);
66
74
  if (!remote) {
67
75
  return null;
68
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graph-sync.js","sourceRoot":"","sources":["../../src/team/graph-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-sync.js","sourceRoot":"","sources":["../../src/team/graph-sync.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,31 @@
1
- import { readFile, writeFile, mkdir } from 'fs/promises';
2
- import { join } from 'path';
3
- import { existsSync } from 'fs';
4
- import { fetchOrgPolicy } from './cloud-client';
5
- export async function refreshOrgPolicyCache(cgDir, session) {
6
- const policy = await fetchOrgPolicy(session);
7
- const path = join(cgDir.getPath(), 'org-policy.json');
8
- await mkdir(cgDir.getPath(), { recursive: true });
9
- await writeFile(path, JSON.stringify(policy, null, 2), 'utf-8');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.refreshOrgPolicyCache = refreshOrgPolicyCache;
4
+ exports.readCachedOrgPolicy = readCachedOrgPolicy;
5
+ exports.getOrgPolicy = getOrgPolicy;
6
+ const promises_1 = require("fs/promises");
7
+ const path_1 = require("path");
8
+ const fs_1 = require("fs");
9
+ const cloud_client_1 = require("./cloud-client");
10
+ async function refreshOrgPolicyCache(cgDir, session) {
11
+ const policy = await (0, cloud_client_1.fetchOrgPolicy)(session);
12
+ const path = (0, path_1.join)(cgDir.getPath(), 'org-policy.json');
13
+ await (0, promises_1.mkdir)(cgDir.getPath(), { recursive: true });
14
+ await (0, promises_1.writeFile)(path, JSON.stringify(policy, null, 2), 'utf-8');
10
15
  return policy;
11
16
  }
12
- export async function readCachedOrgPolicy(cgDir) {
13
- const path = join(cgDir.getPath(), 'org-policy.json');
14
- if (!existsSync(path))
17
+ async function readCachedOrgPolicy(cgDir) {
18
+ const path = (0, path_1.join)(cgDir.getPath(), 'org-policy.json');
19
+ if (!(0, fs_1.existsSync)(path))
15
20
  return null;
16
21
  try {
17
- return JSON.parse(await readFile(path, 'utf-8'));
22
+ return JSON.parse(await (0, promises_1.readFile)(path, 'utf-8'));
18
23
  }
19
24
  catch {
20
25
  return null;
21
26
  }
22
27
  }
23
- export async function getOrgPolicy(cgDir, session, refresh = false) {
28
+ async function getOrgPolicy(cgDir, session, refresh = false) {
24
29
  if (!refresh) {
25
30
  const cached = await readCachedOrgPolicy(cgDir);
26
31
  if (cached)
@@ -1 +1 @@
1
- {"version":3,"file":"policy-cache.js","sourceRoot":"","sources":["../../src/team/policy-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAGhC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAkB,EAClB,OAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAkB;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAsB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAkB,EAClB,OAAsB,EACtB,OAAO,GAAG,KAAK;IAEf,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"policy-cache.js","sourceRoot":"","sources":["../../src/team/policy-cache.ts"],"names":[],"mappings":";;AAQA,sDASC;AAED,kDAQC;AAED,oCAUC;AAvCD,0CAAyD;AACzD,+BAA4B;AAC5B,2BAAgC;AAGhC,iDAAgD;AAGzC,KAAK,UAAU,qBAAqB,CACzC,KAAkB,EAClB,OAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAc,EAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACtD,MAAM,IAAA,gBAAK,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,KAAkB;IAC1D,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACtD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAsB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,KAAkB,EAClB,OAAsB,EACtB,OAAO,GAAG,KAAK;IAEf,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,4 +1,7 @@
1
- export function evaluateOrgPolicy(riskScore, riskLevel, role, policy) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evaluateOrgPolicy = evaluateOrgPolicy;
4
+ function evaluateOrgPolicy(riskScore, riskLevel, role, policy) {
2
5
  const rolePolicy = policy.roles[role] || policy.roles.member;
3
6
  const mergeThreshold = policy.merge.blockIfBlastRadiusAbove;
4
7
  const roleThreshold = rolePolicy.maxBlastRadius;
@@ -1 +1 @@
1
- {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../../src/team/policy-engine.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,SAAiB,EACjB,IAAa,EACb,MAAyB;IAEzB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC5D,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,EAA4C,CAAC;IAE1F,IAAI,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gDAAgD,eAAe,cAAc,IAAI,GAAG;YAC5F,SAAS;YACT,SAAS;YACT,aAAa,EAAE,kBAAkB;YACjC,IAAI;SACL,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,sBAAsB,SAAS,0BAA0B,kBAAkB,WAAW,IAAI,GAAG;YACrG,SAAS;YACT,SAAS;YACT,aAAa,EAAE,kBAAkB;YACjC,IAAI;SACL,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS;QACT,SAAS;QACT,aAAa,EAAE,kBAAkB;QACjC,IAAI;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../../src/team/policy-engine.ts"],"names":[],"mappings":";;AAEA,8CA0CC;AA1CD,SAAgB,iBAAiB,CAC/B,SAAiB,EACjB,SAAiB,EACjB,IAAa,EACb,MAAyB;IAEzB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC5D,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,EAA4C,CAAC;IAE1F,IAAI,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gDAAgD,eAAe,cAAc,IAAI,GAAG;YAC5F,SAAS;YACT,SAAS;YACT,aAAa,EAAE,kBAAkB;YACjC,IAAI;SACL,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,sBAAsB,SAAS,0BAA0B,kBAAkB,WAAW,IAAI,GAAG;YACrG,SAAS;YACT,SAAS;YACT,aAAa,EAAE,kBAAkB;YACjC,IAAI;SACL,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS;QACT,SAAS;QACT,aAAa,EAAE,kBAAkB;QACjC,IAAI;KACL,CAAC;AACJ,CAAC"}