@cejel/cejel 0.6.2 → 0.6.3
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
CHANGED
|
@@ -92,7 +92,7 @@ if (-not $expected -or $actual -ne $expected.ToLowerInvariant()) {
|
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
> **Windows signing status:** `cejel-Windows-x86_64.exe` is intentionally unsigned in
|
|
95
|
-
> 0.6.
|
|
95
|
+
> 0.6.3 and may trigger Microsoft SmartScreen. The release build removes Node's inherited
|
|
96
96
|
> signature before SEA injection and fails unless Windows reports the result as `NotSigned`;
|
|
97
97
|
> it does not ship an invalid signature. Before running it, verify `SHA256SUMS` and the
|
|
98
98
|
> GitHub build-provenance attestation. Each binary also has an attached SPDX SBOM (the packages
|
|
@@ -116,7 +116,7 @@ docker run --rm --network=none -v "$PWD:/w" -w /w -v "$PWD/cejel:/cejel:ro" debi
|
|
|
116
116
|
npx @cejel/cejel@latest .
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
> **Distribution note:** Cejel `0.6.
|
|
119
|
+
> **Distribution note:** Cejel `0.6.3` is the coordinated release version for npm,
|
|
120
120
|
> standalone binaries, Docker/OCI, GitHub Action, Homebrew, and MCP Registry. A GitLab CI
|
|
121
121
|
> template and Code Quality export live in [`docs/gitlab-ci.md`](./docs/gitlab-ci.md).
|
|
122
122
|
|
|
@@ -187,16 +187,16 @@ gh attestation verify ./cejel-Windows-x86_64.exe -R BargLabs/cejel
|
|
|
187
187
|
This is cryptographically signed provenance. It is distinct from Apple Developer ID or
|
|
188
188
|
Microsoft Authenticode code-signing.
|
|
189
189
|
|
|
190
|
-
**Docker / OCI.** The current container release is `0.6.
|
|
190
|
+
**Docker / OCI.** The current container release is `0.6.3`:
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
|
-
docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.6.
|
|
193
|
+
docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.6.3
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
The image defaults to `cejel-mcp` over stdio. To use the CLI instead:
|
|
197
197
|
|
|
198
198
|
```bash
|
|
199
|
-
docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.6.
|
|
199
|
+
docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.6.3 .
|
|
200
200
|
```
|
|
201
201
|
|
|
202
202
|
The OCI image carries an SBOM of its base-image packages, maximum-mode build provenance, and a
|
|
@@ -567,7 +567,7 @@ The OCI image is an alternative when Docker is the preferred execution boundary.
|
|
|
567
567
|
the host path with the repository OpenClaw should allow Cejel to read:
|
|
568
568
|
|
|
569
569
|
```bash
|
|
570
|
-
npx -y openclaw@latest mcp set cejel-oci '{"command":"docker","args":["run","--rm","-i","-v","/absolute/path/to/repo:/workspace:ro","ghcr.io/barglabs/cejel:0.6.
|
|
570
|
+
npx -y openclaw@latest mcp set cejel-oci '{"command":"docker","args":["run","--rm","-i","-v","/absolute/path/to/repo:/workspace:ro","ghcr.io/barglabs/cejel:0.6.3"]}'
|
|
571
571
|
npx -y openclaw@latest mcp doctor cejel-oci --probe
|
|
572
572
|
```
|
|
573
573
|
|
|
@@ -642,14 +642,14 @@ init_esm_shims();
|
|
|
642
642
|
init_esm_shims();
|
|
643
643
|
import { createHash } from "crypto";
|
|
644
644
|
var WITAN_RUBRIC_BEHAVIOUR_FINGERPRINTS = Object.freeze({
|
|
645
|
-
[WITAN_RUBRIC_VERSION_V17]: "sha256:
|
|
646
|
-
[WITAN_RUBRIC_VERSION_V18]: "sha256:
|
|
647
|
-
[WITAN_RUBRIC_VERSION_V19]: "sha256:
|
|
648
|
-
[WITAN_RUBRIC_VERSION_V20]: "sha256:
|
|
649
|
-
[WITAN_RUBRIC_VERSION_V21]: "sha256:
|
|
650
|
-
[WITAN_RUBRIC_VERSION_V22]: "sha256:
|
|
651
|
-
[WITAN_RUBRIC_VERSION_V23]: "sha256:
|
|
652
|
-
[WITAN_RUBRIC_VERSION_V24]: "sha256:
|
|
645
|
+
[WITAN_RUBRIC_VERSION_V17]: "sha256:2da86acf64c39d2edb7824df46250ea23c396264266a2cd925953e9c6ad25858",
|
|
646
|
+
[WITAN_RUBRIC_VERSION_V18]: "sha256:60917d1d81efe7cda6f6adbfaa05293e2d9bf1db37b39d084e47f9011a996b67",
|
|
647
|
+
[WITAN_RUBRIC_VERSION_V19]: "sha256:e050ce8563de0736d9cfb6c23e2ba04725d88465d378a8632576269b9bc9f269",
|
|
648
|
+
[WITAN_RUBRIC_VERSION_V20]: "sha256:0433adc34b58c0fd5500a0bdeaa910c854eedbadbeaabb9045238d4ba9be8878",
|
|
649
|
+
[WITAN_RUBRIC_VERSION_V21]: "sha256:d3796b78a45ea3593f6abe71c77c2d00a0056d0f2d88476a01329dc342166aa6",
|
|
650
|
+
[WITAN_RUBRIC_VERSION_V22]: "sha256:932bc09cbe555c6058a95be581ccf7a286c43887f90d32698f5273b7623824bf",
|
|
651
|
+
[WITAN_RUBRIC_VERSION_V23]: "sha256:db97dc999d37e3c39c3bd3e4b1778c94eb9ad3176fb5c7d7264a7e510b162fc1",
|
|
652
|
+
[WITAN_RUBRIC_VERSION_V24]: "sha256:e313fab25ae1779a11e86b23696881cd6f8fe2a845609dc93e2ff6f3ff8c16d5"
|
|
653
653
|
});
|
|
654
654
|
function rubricBehaviourFingerprint(rubricVersion) {
|
|
655
655
|
return WITAN_RUBRIC_BEHAVIOUR_FINGERPRINTS[rubricVersion];
|
|
@@ -4811,14 +4811,14 @@ function collectA3ProdReadinessEvidence(repoPath, repoFiles, useV27Detectors, us
|
|
|
4811
4811
|
const serverEntrypoint = v22PackageStartHttpEntrypoint ?? findServerEntrypointFile(repoPath, repoFiles, useV27Detectors) ?? v20DirectHttpEntrypoint ?? null;
|
|
4812
4812
|
const runtimeContainer = useV27Detectors ? findRuntimeContainerEntrypointFile(repoPath, repoFiles, useV20ExplicitGaps) : null;
|
|
4813
4813
|
const errorBoundaries = repoFiles.filter(
|
|
4814
|
-
(file) => (!useV27Detectors || isAuthoredProductionPath(file)) &&
|
|
4814
|
+
(file) => (!useV27Detectors || isAuthoredProductionPath(file)) && isImplementationEvidencePath(file) && ERROR_BOUNDARY_FILENAME_PATTERN.test(file)
|
|
4815
4815
|
);
|
|
4816
|
-
const errorBoundaryFileReads = (file) => observabilityDepthReads(file) || (!useV27Detectors || isAuthoredProductionPath(file)) && /(^|\/)server\//.test(file) && /\.(?:mjs|cjs)$/.test(file);
|
|
4816
|
+
const errorBoundaryFileReads = (file) => isImplementationEvidencePath(file) && (observabilityDepthReads(file) || (!useV27Detectors || isAuthoredProductionPath(file)) && /(^|\/)server\//.test(file) && /\.(?:mjs|cjs)$/.test(file));
|
|
4817
4817
|
const expressErrorMiddlewareFile = errorBoundaries.length > 0 ? void 0 : withContentReadSignal(
|
|
4818
4818
|
"A3",
|
|
4819
4819
|
"prod_readiness_primitives",
|
|
4820
4820
|
() => repoFiles.find(
|
|
4821
|
-
(file) => errorBoundaryFileReads(file) &&
|
|
4821
|
+
(file) => errorBoundaryFileReads(file) && fileMatchesOutsideComments(repoPath, file, EXPRESS_ERROR_MIDDLEWARE_PATTERN) && fileMatchesOutsideComments(repoPath, file, EXPRESS_MIDDLEWARE_REACHABLE_PATTERN)
|
|
4822
4822
|
)
|
|
4823
4823
|
);
|
|
4824
4824
|
const errorBoundary = errorBoundaries[0] ?? expressErrorMiddlewareFile;
|
|
@@ -4897,7 +4897,11 @@ function collectA3ProdReadinessEvidence(repoPath, repoFiles, useV27Detectors, us
|
|
|
4897
4897
|
errorBoundary,
|
|
4898
4898
|
"prod_check",
|
|
4899
4899
|
"Error boundary",
|
|
4900
|
-
|
|
4900
|
+
findFirstMatchingLineOutsideComments(
|
|
4901
|
+
repoPath,
|
|
4902
|
+
errorBoundary,
|
|
4903
|
+
EXPRESS_ERROR_MIDDLEWARE_PATTERN
|
|
4904
|
+
)
|
|
4901
4905
|
) : evidenceForRelative(repoPath, errorBoundary, "prod_check", "Error boundary")
|
|
4902
4906
|
);
|
|
4903
4907
|
}
|
|
@@ -5436,7 +5440,7 @@ function collectB2PrTraceEvidence(repoPath, repoFiles) {
|
|
|
5436
5440
|
(file) => /(^|\/)(pull_request_template|PULL_REQUEST_TEMPLATE)(\.md$|\/[^/]+\.md$)/.test(file)
|
|
5437
5441
|
);
|
|
5438
5442
|
const branchProtectionDoc = repoFiles.find(
|
|
5439
|
-
(file) => /branch.*protection|review.*gate
|
|
5443
|
+
(file) => /branch.*protection|review.*gate/i.test(file) || GITHUB_CODEOWNERS_PATH_PATTERN.test(file)
|
|
5440
5444
|
);
|
|
5441
5445
|
const evidence = [
|
|
5442
5446
|
...workflows.slice(0, 3).map((file) => evidenceForRelative(repoPath, file, "ci_run", "Pull-request CI workflow")),
|
|
@@ -5689,32 +5693,36 @@ function collectB4AuditEvidence(repoPath, repoFiles, generatedAt, useV19CommitYe
|
|
|
5689
5693
|
function collectB6PrivilegedOpsGatingEvidence(repoPath, repoFiles, useV39Detectors = false, useV21ExecutedEscalations = false) {
|
|
5690
5694
|
const evidence = [];
|
|
5691
5695
|
const findings = [];
|
|
5692
|
-
const
|
|
5696
|
+
const policyDocFiles = repoFiles.filter(
|
|
5697
|
+
(file) => /\.(md|mdx)$/i.test(file) && isPolicyDocumentEvidencePath(file)
|
|
5698
|
+
);
|
|
5699
|
+
const isPolicyDocMatching = (file, pattern) => fileContains(repoPath, file, pattern) && !isCejelCertificateText(repoPath, file);
|
|
5693
5700
|
const humanGateDoc = withContentReadSignal(
|
|
5694
5701
|
"B6",
|
|
5695
5702
|
"human_gate_documented",
|
|
5696
|
-
() =>
|
|
5703
|
+
() => policyDocFiles.find((file) => isPolicyDocMatching(file, HUMAN_GATE_MARKER_PATTERN))
|
|
5697
5704
|
);
|
|
5698
5705
|
const implFiles = repoFiles.filter(isImplementationFile);
|
|
5706
|
+
const implementationEvidenceFiles = implFiles.filter(isImplementationEvidencePath);
|
|
5699
5707
|
const gatedPrivilegeCheckFile = withContentReadSignal(
|
|
5700
5708
|
"B6",
|
|
5701
5709
|
"fail_closed_privilege_check",
|
|
5702
|
-
() =>
|
|
5703
|
-
(file) =>
|
|
5710
|
+
() => implementationEvidenceFiles.find(
|
|
5711
|
+
(file) => fileMatchesOutsideComments(repoPath, file, GATED_PRIVILEGE_CHECK_PATTERN) && fileMatchesOutsideComments(repoPath, file, SET_ROLE_PATTERN)
|
|
5704
5712
|
)
|
|
5705
5713
|
);
|
|
5706
5714
|
const killSwitchFile = withContentReadSignal(
|
|
5707
5715
|
"B6",
|
|
5708
5716
|
"kill_switch_fail_safe_present",
|
|
5709
|
-
() =>
|
|
5710
|
-
(file) =>
|
|
5717
|
+
() => implementationEvidenceFiles.find(
|
|
5718
|
+
(file) => fileMatchesOutsideComments(repoPath, file, KILL_SWITCH_NAME_PATTERN) && fileMatchesOutsideComments(repoPath, file, KILL_SWITCH_FAIL_CLOSED_PATTERN)
|
|
5711
5719
|
)
|
|
5712
5720
|
);
|
|
5713
|
-
const codeownersFile = repoFiles.find((file) =>
|
|
5721
|
+
const codeownersFile = repoFiles.find((file) => GITHUB_CODEOWNERS_PATH_PATTERN.test(file));
|
|
5714
5722
|
const reviewGateDoc = withContentReadSignal(
|
|
5715
5723
|
"B6",
|
|
5716
5724
|
"protected_path_review_gate",
|
|
5717
|
-
() =>
|
|
5725
|
+
() => policyDocFiles.find((file) => isPolicyDocMatching(file, REQUIRED_REVIEW_PATTERN))
|
|
5718
5726
|
);
|
|
5719
5727
|
const protectedPathReviewGate = codeownersFile ?? reviewGateDoc;
|
|
5720
5728
|
const { executableFiles, v21ExecutedEscalationFileSet, productionUngatedEscalationFiles } = withContentReadSignal("B6", "privilege_escalation_cleanliness", () => {
|
|
@@ -5792,7 +5800,7 @@ function collectB6PrivilegedOpsGatingEvidence(repoPath, repoFiles, useV39Detecto
|
|
|
5792
5800
|
repoPath,
|
|
5793
5801
|
protectedPathReviewGate,
|
|
5794
5802
|
"artifact",
|
|
5795
|
-
"CODEOWNERS
|
|
5803
|
+
protectedPathReviewGate === codeownersFile ? "CODEOWNERS file in a location GitHub reads (protected-path review gate)" : "Documented required-review/branch-protection policy"
|
|
5796
5804
|
)
|
|
5797
5805
|
)
|
|
5798
5806
|
);
|
|
@@ -5883,7 +5891,7 @@ function collectB6PrivilegedOpsGatingEvidence(repoPath, repoFiles, useV39Detecto
|
|
|
5883
5891
|
1,
|
|
5884
5892
|
hasPrivilegedOpsSurface ? 0.2 : 0.6,
|
|
5885
5893
|
"present",
|
|
5886
|
-
"Credits a CODEOWNERS file or documented required-review/branch-protection policy \u2014 the general OSS-observable analogue of human-gating changes to sensitive paths."
|
|
5894
|
+
"Credits a CODEOWNERS file where GitHub reads it (root, .github/ or docs/) or a documented required-review/branch-protection policy (not a changelog, record, review note or report) \u2014 the general OSS-observable analogue of human-gating changes to sensitive paths."
|
|
5887
5895
|
),
|
|
5888
5896
|
...killSwitchMetrics
|
|
5889
5897
|
],
|
|
@@ -5929,6 +5937,19 @@ function isTestFile(file, rubricVersion = WITAN_RUBRIC_VERSION) {
|
|
|
5929
5937
|
}
|
|
5930
5938
|
var NAME_SHAPED_TEST_FILE_PATTERN = /^test(?:-[^/]+)?\.[cm]?[jt]sx?$|\.(test|spec)\.[cm]?[jt]sx?$|(^|\/)__tests__\/|(^|\/)test_[^/]*\.py$|(^|\/)tests?\.py$|_test\.go$|(^|\/)test_[^/]*\.(cpp|cc|cxx)$|_(test|tests)\.(cpp|cc|cxx)$|Tests?\.(java|kt)$|(_test|_spec)\.(rs|rb|php|swift|kt)$/;
|
|
5931
5939
|
var NAME_SHAPED_TEST_FILE_PATTERN_V17 = /\.tftest\.hcl$|\.bats$|(^|\/)test[^/]*\.m$|_test\.m$/i;
|
|
5940
|
+
var CALIBRATION_RECORD_DIR_PATTERN = /(^|\/)calibrations?(\/|$)/i;
|
|
5941
|
+
function isImplementationEvidencePath(path) {
|
|
5942
|
+
return isProductionSourcePath(path) && !CALIBRATION_RECORD_DIR_PATTERN.test(path);
|
|
5943
|
+
}
|
|
5944
|
+
var CHANGELOG_FILE_PATTERN = /(^|\/)(?:CHANGELOG|CHANGES|HISTORY|NEWS|RELEASE[-_]?NOTES|RELEASES)(?:\.[^/]*)?$/i;
|
|
5945
|
+
var NON_POLICY_RECORD_DIR_PATTERN = /(^|\/)(?:\.changesets?|changelogs?|changelog\.d|experiments?|calibrations?|reviews|review[-_]notes?|reports)(\/|$)/i;
|
|
5946
|
+
function isPolicyDocumentEvidencePath(path) {
|
|
5947
|
+
return isProductionSourcePath(path) && !CHANGELOG_FILE_PATTERN.test(path) && !NON_POLICY_RECORD_DIR_PATTERN.test(path);
|
|
5948
|
+
}
|
|
5949
|
+
var CEJEL_CERTIFICATE_TEXT_PATTERN = /^# Cejel Trust Report\b[\s\S]*?^- Rubric: /m;
|
|
5950
|
+
function isCejelCertificateText(repoPath, file) {
|
|
5951
|
+
return fileContains(repoPath, file, CEJEL_CERTIFICATE_TEXT_PATTERN);
|
|
5952
|
+
}
|
|
5932
5953
|
var TEST_RUNNER_PATTERN = /\b(vitest|jest|mocha|ava|tap|pytest|go test|cargo test|rspec|phpunit|gradle test|mvn test|node\s+--test|node:test)\b/i;
|
|
5933
5954
|
function hasCredibleTestScript(scripts) {
|
|
5934
5955
|
const script = scripts.get("test");
|
|
@@ -5980,6 +6001,7 @@ function fileHasV21RawSqlEscalation(repoPath, file) {
|
|
|
5980
6001
|
var GATED_PRIVILEGE_CHECK_PATTERN = /pg_has_role\s*\(|has_role\s*\(|is not a member of/i;
|
|
5981
6002
|
var SET_ROLE_PATTERN = /\bset\s+(local\s+)?role\b/i;
|
|
5982
6003
|
var REQUIRED_REVIEW_PATTERN = /required review|branch protection|protected branch/i;
|
|
6004
|
+
var GITHUB_CODEOWNERS_PATH_PATTERN = /^(?:\.github\/|docs\/)?CODEOWNERS$/;
|
|
5983
6005
|
var HISTORY_SECRET_SCAN_CREDENTIAL_BLOB_LIMIT = 5e3;
|
|
5984
6006
|
var V23_PEM_WIDENED_HISTORY_BLOB_LIMIT = 500;
|
|
5985
6007
|
var SECRET_IDENTIFIER_KEYWORD_PATTERN = /secret|token|api[_-]?key|password|access[_-]?key/gi;
|
|
@@ -8038,6 +8060,7 @@ var HEALTH_ROUTE_FUNCTIONS_DIR_PATTERN = /(^|\/)functions\/.*\.(?:ts|tsx|js|jsx|
|
|
|
8038
8060
|
var V20_HEALTH_OR_READINESS_ROUTE_PATTERN = /["'`](?:[\w${}./-]{0,60}\/[_-]?(?:(?:health|ready|live)z?|readiness|liveness|up)(?=["'`/])|(?:healthz|readiness|liveness)(?=["'`]))|@Get\s*\(\s*(["'`])health\1\s*\)/i;
|
|
8039
8061
|
var EXPRESS_ERROR_MIDDLEWARE_PATTERN = /\(\s*(?:_?err|_?error)(?:\s*:\s*(?:[^,()<]|<[^<>]*>)*)?\s*,\s*(?:req|request)(?:\s*:\s*(?:[^,()<]|<[^<>]*>)*)?\s*,\s*(?:res|response)(?:\s*:\s*(?:[^,()<]|<[^<>]*>)*)?\s*,\s*_?next(?:\s*:\s*(?:[^,()<]|<[^<>]*>)*)?\s*\)\s*(?:=>|\{)/i;
|
|
8040
8062
|
var EXPRESS_MIDDLEWARE_REACHABLE_PATTERN = /\.use\s*\(|\bmodule\.exports\b|\bexport\s+(?:default\b|function\b|const\b|class\b)/;
|
|
8063
|
+
var ERROR_BOUNDARY_FILENAME_PATTERN = /(^|\/)(?:error-boundary|error)\.(?:tsx|jsx|ts|js)$/;
|
|
8041
8064
|
var RACK_SERVER_ENTRYPOINT_PATTERN = /Rack::(?:Server|Handler(?:::\w+)?)\.(?:start|run)\s*\(/;
|
|
8042
8065
|
var RACK_CONFIG_RUN_PATTERN = /^\s*run\s+(?:(?:[A-Z]\w*(?:::\w+)*(?:\.new)?|lambda)\b|->)/m;
|
|
8043
8066
|
var RUNTIME_CONTAINER_COMMAND_PATTERN = /^\s*(?:CMD|ENTRYPOINT)\s+.*(?:\b(?:start|serve|server|qgis|nginx|apache|gunicorn|uvicorn)\b|manage\.py\s+runserver).*$/im;
|
|
@@ -8232,11 +8255,22 @@ function fileContains(repoPath, file, pattern) {
|
|
|
8232
8255
|
if (!isRegularFile(fullPath)) return false;
|
|
8233
8256
|
return pattern.test(readRepoText(fullPath, "utf8"));
|
|
8234
8257
|
}
|
|
8235
|
-
|
|
8258
|
+
var HASH_COMMENT_SOURCE_PATTERN = /\.(?:py|rb)$/i;
|
|
8259
|
+
function stripCodeComments(file, contents) {
|
|
8260
|
+
const withoutComments = contents.replace(/\/\*[\s\S]*?\*\//g, (block) => block.replace(/[^\n]/g, "")).replace(/(?<!:)\/\/.*$/gm, "");
|
|
8261
|
+
return HASH_COMMENT_SOURCE_PATTERN.test(file) ? withoutComments.replace(/^[ \t]*#.*$/gm, "") : withoutComments;
|
|
8262
|
+
}
|
|
8263
|
+
function fileMatchesOutsideComments(repoPath, file, pattern) {
|
|
8236
8264
|
const fullPath = join(repoPath, file);
|
|
8237
8265
|
if (!isRegularFile(fullPath)) return false;
|
|
8238
|
-
|
|
8239
|
-
|
|
8266
|
+
return pattern.test(stripCodeComments(file, readRepoText(fullPath, "utf8")));
|
|
8267
|
+
}
|
|
8268
|
+
function findFirstMatchingLineOutsideComments(repoPath, file, pattern) {
|
|
8269
|
+
const fullPath = join(repoPath, file);
|
|
8270
|
+
if (!isRegularFile(fullPath)) return null;
|
|
8271
|
+
const lines = stripCodeComments(file, readRepoText(fullPath, "utf8")).split("\n");
|
|
8272
|
+
const index = lines.findIndex((line) => pattern.test(line));
|
|
8273
|
+
return index === -1 ? null : index + 1;
|
|
8240
8274
|
}
|
|
8241
8275
|
var PEM_PRIVATE_KEY_ASSIGNMENT_PATTERN = /(?:["'])?([A-Za-z_$][\w$.-]*)(?:["'])?\s*[:=]\s*(?:\|[-+0-9]*\s*\r?\n[ \t]*)?["'`]?-----BEGIN((?: (?:RSA|DSA|EC|OPENSSH|ENCRYPTED))? PRIVATE KEY)-----([\s\S]{0,32768}?)-----END\2-----/g;
|
|
8242
8276
|
var BARE_PEM_PRIVATE_KEY_PATTERN = /["'`]?-----BEGIN((?: (?:RSA|DSA|EC|OPENSSH|ENCRYPTED))? PRIVATE KEY)-----([\s\S]{0,32768}?)-----END\1-----/g;
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createRequire as __cejelCreateRequire } from 'node:module';
|
|
|
3
3
|
const require = __cejelCreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
serveCejelMcpOverStdio
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KAMWXGY7.js";
|
|
7
7
|
import {
|
|
8
8
|
CALLER_CONTEXT_PRODUCT_IDENTITY_NOTICE,
|
|
9
9
|
CERTIFICATE_GLOSSARY,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
runCejelScan,
|
|
30
30
|
serializeWitanReport,
|
|
31
31
|
verifyWitanAttestationBinding
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-FA72HEWJ.js";
|
|
33
33
|
import "./chunk-63XQDYQ5.js";
|
|
34
34
|
import {
|
|
35
35
|
external_exports
|
package/dist/mcp/index.js
CHANGED
|
@@ -3,8 +3,8 @@ import { createRequire as __cejelCreateRequire } from 'node:module';
|
|
|
3
3
|
const require = __cejelCreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
serveCejelMcpOverStdio
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-KAMWXGY7.js";
|
|
7
|
+
import "../chunk-FA72HEWJ.js";
|
|
8
8
|
import "../chunk-63XQDYQ5.js";
|
|
9
9
|
import "../chunk-FSMZV3Y6.js";
|
|
10
10
|
import {
|