@cairn-tool/cairn 3.2.0 → 3.3.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 +73 -29
- package/dist/agent/audit/index.d.ts +6 -6
- package/dist/agent/audit/index.js +6 -17
- package/dist/agent/audit/index.js.map +1 -1
- package/dist/atomic-write.d.ts +22 -0
- package/dist/atomic-write.js +42 -0
- package/dist/atomic-write.js.map +1 -0
- package/dist/binary-kind.d.ts +13 -0
- package/dist/binary-kind.js +25 -0
- package/dist/binary-kind.js.map +1 -0
- package/dist/cli.js +543 -250
- package/dist/cli.js.map +1 -1
- package/dist/commands/jira.js +1 -21
- package/dist/commands/jira.js.map +1 -1
- package/dist/commands/pdf.d.ts +29 -0
- package/dist/commands/pdf.js +345 -0
- package/dist/commands/pdf.js.map +1 -0
- package/dist/contract/registry.js +64 -0
- package/dist/contract/registry.js.map +1 -1
- package/dist/contract/schemas/index.js +2 -0
- package/dist/contract/schemas/index.js.map +1 -1
- package/dist/contract/schemas/pdf.d.ts +2 -0
- package/dist/contract/schemas/pdf.js +292 -0
- package/dist/contract/schemas/pdf.js.map +1 -0
- package/dist/jira/adf/to-markdown.js +2 -32
- package/dist/jira/adf/to-markdown.js.map +1 -1
- package/dist/markdown-stringify.d.ts +35 -0
- package/dist/markdown-stringify.js +44 -0
- package/dist/markdown-stringify.js.map +1 -0
- package/dist/pdf/attachments.d.ts +50 -0
- package/dist/pdf/attachments.js +229 -0
- package/dist/pdf/attachments.js.map +1 -0
- package/dist/pdf/diagnostics.d.ts +110 -0
- package/dist/pdf/diagnostics.js +137 -0
- package/dist/pdf/diagnostics.js.map +1 -0
- package/dist/pdf/document.d.ts +159 -0
- package/dist/pdf/document.js +272 -0
- package/dist/pdf/document.js.map +1 -0
- package/dist/pdf/forms.d.ts +9 -0
- package/dist/pdf/forms.js +101 -0
- package/dist/pdf/forms.js.map +1 -0
- package/dist/pdf/inspect.d.ts +42 -0
- package/dist/pdf/inspect.js +232 -0
- package/dist/pdf/inspect.js.map +1 -0
- package/dist/pdf/layout.d.ts +78 -0
- package/dist/pdf/layout.js +524 -0
- package/dist/pdf/layout.js.map +1 -0
- package/dist/pdf/outline.d.ts +30 -0
- package/dist/pdf/outline.js +127 -0
- package/dist/pdf/outline.js.map +1 -0
- package/dist/pdf/read.d.ts +62 -0
- package/dist/pdf/read.js +193 -0
- package/dist/pdf/read.js.map +1 -0
- package/dist/pdf/struct.d.ts +35 -0
- package/dist/pdf/struct.js +226 -0
- package/dist/pdf/struct.js.map +1 -0
- package/dist/pdf/text.d.ts +71 -0
- package/dist/pdf/text.js +166 -0
- package/dist/pdf/text.js.map +1 -0
- package/dist/pdf/to-markdown.d.ts +22 -0
- package/dist/pdf/to-markdown.js +289 -0
- package/dist/pdf/to-markdown.js.map +1 -0
- package/dist/pdf/types.d.ts +205 -0
- package/dist/pdf/types.js +2 -0
- package/dist/pdf/types.js.map +1 -0
- package/dist/pdf/validate.d.ts +51 -0
- package/dist/pdf/validate.js +136 -0
- package/dist/pdf/validate.js.map +1 -0
- package/dist/serve/pdf-tools.d.ts +2 -0
- package/dist/serve/pdf-tools.js +196 -0
- package/dist/serve/pdf-tools.js.map +1 -0
- package/dist/serve/tools.d.ts +2 -17
- package/dist/serve/tools.js +4 -0
- package/dist/serve/tools.js.map +1 -1
- package/dist/serve/types.d.ts +22 -0
- package/dist/serve/types.js +2 -0
- package/dist/serve/types.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -58,16 +58,17 @@ failure to retry. The [complete command listing](docs/commands.md) has all of th
|
|
|
58
58
|
|
|
59
59
|
## What is in it
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
| Toolset | Does
|
|
64
|
-
| --------- |
|
|
65
|
-
| `md` | Lint, validate, query, and safely refactor a Markdown workspace.
|
|
66
|
-
| `agent` | Compile one portable bundle into every assistant's native format.
|
|
67
|
-
| `scripts` | Resolve and run a repository's named commands from anywhere inside it.
|
|
68
|
-
| `usage` | Report on local assistant transcripts: tokens, tools, sessions, and cost.
|
|
69
|
-
| `archive` | Keep what a session produced before the logs are pruned, and get it back.
|
|
70
|
-
| `jira` | Convert Jira and Confluence rich text between ADF and Markdown.
|
|
61
|
+
Seven toolsets, plus `describe`, `schema`, `serve`, `completion`, and `check-update`.
|
|
62
|
+
|
|
63
|
+
| Toolset | Does | Guide |
|
|
64
|
+
| --------- | -------------------------------------------------------------------------------- | -------------------------------------------- |
|
|
65
|
+
| `md` | Lint, validate, query, and safely refactor a Markdown workspace. | [Markdown](docs/guide/markdown.md) |
|
|
66
|
+
| `agent` | Compile one portable bundle into every assistant's native format. | [Agent bundles](docs/guide/agent-bundles.md) |
|
|
67
|
+
| `scripts` | Resolve and run a repository's named commands from anywhere inside it. | [Named scripts](docs/guide/scripts.md) |
|
|
68
|
+
| `usage` | Report on local assistant transcripts: tokens, tools, sessions, and cost. | [Usage reporting](docs/guide/usage.md) |
|
|
69
|
+
| `archive` | Keep what a session produced before the logs are pruned, and get it back. | [Archiving](docs/guide/archiving.md) |
|
|
70
|
+
| `jira` | Convert Jira and Confluence rich text between ADF and Markdown. | [Jira rich text](docs/guide/jira.md) |
|
|
71
|
+
| `pdf` | Read PDF documents: text, structure, embedded files, and conversion to Markdown. | [PDF documents](docs/guide/pdf.md) |
|
|
71
72
|
|
|
72
73
|
Nothing calls a model, and nothing sends anything anywhere. `scripts run` is the only command
|
|
73
74
|
that executes anything, and only what a tracked file in your repository names.
|
|
@@ -77,34 +78,77 @@ that executes anything, and only what a tracked file in your repository names.
|
|
|
77
78
|
Full documentation lives in
|
|
78
79
|
[`docs/`](https://github.com/cairn-tool/cairn/tree/main/docs).
|
|
79
80
|
|
|
80
|
-
| Page | Covers
|
|
81
|
-
| ---------------------------------------------------- |
|
|
82
|
-
| [Documentation contents](docs/_contents.md) | Index of everything below.
|
|
83
|
-
| [Complete command listing](docs/commands.md) | Every command, with a one-line description.
|
|
84
|
-
| [Guides](docs/guide.md) | Why each toolset exists.
|
|
85
|
-
| [Project configuration](docs/configuration.md) | The `.cairn.yml` schema.
|
|
86
|
-
| [Machine-readable result contract](docs/contract.md) | JSON output, the envelope, and what may change.
|
|
87
|
-
| [File formats and schemas](docs/formats.md) | The files Cairn itself reads and writes.
|
|
88
|
-
| [Diagnostic codes](docs/formats/diagnostic-codes.md) | Every `AB
|
|
89
|
-
| [Providers](docs/providers.md) | What is known about each assistant's own formats.
|
|
90
|
-
| [Cairn's own plugins](docs/plugins.md) | The
|
|
91
|
-
| [Installing Cairn](docs/install.md) | Node versions, stable paths, and building from source.
|
|
92
|
-
| [Migrating from claude-cli](docs/migration.md) | Every pre-rename identifier, and what still reads it.
|
|
93
|
-
|
|
94
|
-
##
|
|
81
|
+
| Page | Covers |
|
|
82
|
+
| ---------------------------------------------------- | --------------------------------------------------------------- |
|
|
83
|
+
| [Documentation contents](docs/_contents.md) | Index of everything below. |
|
|
84
|
+
| [Complete command listing](docs/commands.md) | Every command, with a one-line description. |
|
|
85
|
+
| [Guides](docs/guide.md) | Why each toolset exists. |
|
|
86
|
+
| [Project configuration](docs/configuration.md) | The `.cairn.yml` schema. |
|
|
87
|
+
| [Machine-readable result contract](docs/contract.md) | JSON output, the envelope, and what may change. |
|
|
88
|
+
| [File formats and schemas](docs/formats.md) | The files Cairn itself reads and writes. |
|
|
89
|
+
| [Diagnostic codes](docs/formats/diagnostic-codes.md) | Every `AB###`, `AD###`, and `AP###`, with severity and meaning. |
|
|
90
|
+
| [Providers](docs/providers.md) | What is known about each assistant's own formats. |
|
|
91
|
+
| [Cairn's own plugins](docs/plugins.md) | The toolsets, shipped as agent bundles. |
|
|
92
|
+
| [Installing Cairn](docs/install.md) | Node versions, stable paths, and building from source. |
|
|
93
|
+
| [Migrating from claude-cli](docs/migration.md) | Every pre-rename identifier, and what still reads it. |
|
|
94
|
+
|
|
95
|
+
## Plugins
|
|
95
96
|
|
|
96
97
|
Cairn ships its own toolsets as installable plugins, so an assistant has the command surface
|
|
97
|
-
available without rediscovering it from `--help
|
|
98
|
+
available without rediscovering it from `--help`. Each host gets its own marketplace branch,
|
|
99
|
+
holding that host's catalog at the branch root:
|
|
100
|
+
|
|
101
|
+
| Host | Branch | Catalog |
|
|
102
|
+
| ----------- | ---------------- | --------------------------------- |
|
|
103
|
+
| Claude Code | `claude-plugins` | `.claude-plugin/marketplace.json` |
|
|
104
|
+
| Codex | `codex-plugins` | `.codex-plugin/marketplace.json` |
|
|
105
|
+
| Cursor | `cursor-plugins` | `.cursor-plugin/marketplace.json` |
|
|
106
|
+
|
|
107
|
+
The marketplace is named `cairn`, and the plugins in it are `cairn-markdown`, `cairn-scripts`,
|
|
108
|
+
`cairn-usage`, `cairn-archive`, `cairn-agent`, and `cairn-jira`.
|
|
109
|
+
|
|
110
|
+
### Claude Code
|
|
98
111
|
|
|
99
112
|
```text
|
|
100
113
|
/plugin marketplace add cairn-tool/cairn@claude-plugins
|
|
101
114
|
/plugin install cairn-markdown@cairn
|
|
102
115
|
```
|
|
103
116
|
|
|
104
|
-
Codex
|
|
117
|
+
### Codex
|
|
118
|
+
|
|
119
|
+
Add the branch as a marketplace, then install from it by name. `--ref` is what pins the
|
|
120
|
+
marketplace to the published branch rather than `main`:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
codex plugin marketplace add cairn-tool/cairn --ref codex-plugins
|
|
124
|
+
codex plugin add cairn-markdown@cairn
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`codex plugin list --marketplace cairn` shows what the branch offers, and
|
|
128
|
+
`codex plugin marketplace upgrade cairn` re-fetches it after a release — the snapshot Codex
|
|
129
|
+
installs from is local, so it does not update on its own.
|
|
130
|
+
|
|
131
|
+
### Cursor
|
|
132
|
+
|
|
133
|
+
Cursor has no CLI for adding a marketplace; a repository-backed one is a **team marketplace**,
|
|
134
|
+
which is a Teams or Enterprise feature. In the dashboard, go to **Plugins → Team Marketplaces →
|
|
135
|
+
Add Marketplace → Import from Repo**, point it at `https://github.com/cairn-tool/cairn` and the
|
|
136
|
+
`cursor-plugins` branch, then install from **Customize** in the sidebar. Turning on **Auto
|
|
137
|
+
Refresh** re-reads the catalog whenever that branch is pushed.
|
|
138
|
+
|
|
139
|
+
Without a team plan, install locally instead — this drops the plugins into
|
|
140
|
+
`~/.cursor/plugins/local`, which Cursor scans on startup:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
scripts/install-cursor.sh
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Antigravity and OpenCode have no marketplace concept at all; there a plugin is a directory drop,
|
|
147
|
+
so use [`agent install`](docs/commands/agent/install.md) or the
|
|
148
|
+
[install scripts](scripts/README.md).
|
|
105
149
|
|
|
106
|
-
|
|
107
|
-
document. **The `cairn` binary is a separate install** — the plugins invoke it, they do not
|
|
150
|
+
The plugins are authored as agent bundles under `plugins/`, built with the same `agent` commands
|
|
151
|
+
they document. **The `cairn` binary is a separate install** — the plugins invoke it, they do not
|
|
108
152
|
carry it. See [Cairn's own plugins](docs/plugins.md) for what each one contains.
|
|
109
153
|
|
|
110
154
|
## Contributing
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AgentBundle, AgentDiagnostic, AgentProfile, AgentTarget, Artifact, SourceFile } from "../types.js";
|
|
2
2
|
import type { AuditBaseline } from "./baseline.js";
|
|
3
|
+
import { binaryKind } from "../../binary-kind.js";
|
|
3
4
|
/** A single file larger than this is worth a reviewer's attention. */
|
|
4
5
|
export declare const MAX_FILE_BYTES: number;
|
|
5
6
|
/** A bundle larger than this is worth a reviewer's attention. */
|
|
@@ -83,13 +84,12 @@ export declare const AUDIT_CODES: ReadonlySet<string>;
|
|
|
83
84
|
/** Splits a command line into tokens, honoring single and double quotes. */
|
|
84
85
|
export declare function tokenize(command: string): string[];
|
|
85
86
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* for a review nicety.
|
|
87
|
+
* Re-exported so `agent audit`'s consumers keep one import site. The
|
|
88
|
+
* implementation moved to `src/binary-kind.ts` when `pdf attachments` needed
|
|
89
|
+
* the same magic-number test; see that module for why it is shared rather than
|
|
90
|
+
* imported across toolsets.
|
|
91
91
|
*/
|
|
92
|
-
export
|
|
92
|
+
export { binaryKind };
|
|
93
93
|
/** Shannon entropy per character, used only to grade a candidate secret. */
|
|
94
94
|
export declare function entropy(value: string): number;
|
|
95
95
|
/**
|
|
@@ -5,6 +5,7 @@ import { allFiles } from "../parser.js";
|
|
|
5
5
|
import { policyEntries } from "../render.js";
|
|
6
6
|
import { COMPONENT_KEYS } from "../manifest.js";
|
|
7
7
|
import { TARGET_PROFILES } from "../targets/index.js";
|
|
8
|
+
import { binaryKind } from "../../binary-kind.js";
|
|
8
9
|
/** A single file larger than this is worth a reviewer's attention. */
|
|
9
10
|
export const MAX_FILE_BYTES = 1024 * 1024;
|
|
10
11
|
/** A bundle larger than this is worth a reviewer's attention. */
|
|
@@ -133,24 +134,12 @@ export function tokenize(command) {
|
|
|
133
134
|
return tokens;
|
|
134
135
|
}
|
|
135
136
|
/**
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* for a review nicety.
|
|
137
|
+
* Re-exported so `agent audit`'s consumers keep one import site. The
|
|
138
|
+
* implementation moved to `src/binary-kind.ts` when `pdf attachments` needed
|
|
139
|
+
* the same magic-number test; see that module for why it is shared rather than
|
|
140
|
+
* imported across toolsets.
|
|
141
141
|
*/
|
|
142
|
-
export
|
|
143
|
-
if (content.length < 4)
|
|
144
|
-
return null;
|
|
145
|
-
if (content.subarray(0, 4).toString("hex") === "7f454c46")
|
|
146
|
-
return "elf";
|
|
147
|
-
if (content[0] === 0x4d && content[1] === 0x5a)
|
|
148
|
-
return "pe";
|
|
149
|
-
const magic = content.subarray(0, 4).toString("hex");
|
|
150
|
-
if (["feedface", "feedfacf", "cefaedfe", "cffaedfe", "cafebabe"].includes(magic))
|
|
151
|
-
return "macho";
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
142
|
+
export { binaryKind };
|
|
154
143
|
/** Shannon entropy per character, used only to grade a candidate secret. */
|
|
155
144
|
export function entropy(value) {
|
|
156
145
|
const counts = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/audit/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/audit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Writes one file atomically: staged beside the destination with `wx`, then
|
|
3
|
+
* renamed. The same pattern as `src/edit-plan.ts`; `src/agent/writer.ts` stages
|
|
4
|
+
* whole artifact trees and is the wrong tool for a single file.
|
|
5
|
+
*
|
|
6
|
+
* Shared by `jira adf --output`, `pdf --output`, and `pdf attachments --extract`
|
|
7
|
+
* rather than copied into each, for the reason `src/mapping-quality.ts` was
|
|
8
|
+
* extracted: the `wx` flag, the directory refusal, and the unlink-on-rename-failure
|
|
9
|
+
* are one invariant, and a second copy is how the two stop agreeing. The refusal
|
|
10
|
+
* message is user-facing text in two toolsets' documented behavior and must be one
|
|
11
|
+
* string.
|
|
12
|
+
*
|
|
13
|
+
* `content` widened to accept bytes when `pdf attachments --extract` needed to
|
|
14
|
+
* write an embedded file, which is binary and must not go through a utf-8 encode.
|
|
15
|
+
*
|
|
16
|
+
* Note what the `wx` does and does not buy: it guards the *staging* file, so two
|
|
17
|
+
* processes cannot stage over each other. The `rename` still replaces whatever is
|
|
18
|
+
* at the destination. That is right for `--output`, which names one file the user
|
|
19
|
+
* asked to write, and wrong for extracting many attacker-named files — so
|
|
20
|
+
* `src/pdf/attachments.ts` resolves collisions while planning, before calling this.
|
|
21
|
+
*/
|
|
22
|
+
export declare function writeAtomically(destination: string, content: string | Uint8Array): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* Writes one file atomically: staged beside the destination with `wx`, then
|
|
5
|
+
* renamed. The same pattern as `src/edit-plan.ts`; `src/agent/writer.ts` stages
|
|
6
|
+
* whole artifact trees and is the wrong tool for a single file.
|
|
7
|
+
*
|
|
8
|
+
* Shared by `jira adf --output`, `pdf --output`, and `pdf attachments --extract`
|
|
9
|
+
* rather than copied into each, for the reason `src/mapping-quality.ts` was
|
|
10
|
+
* extracted: the `wx` flag, the directory refusal, and the unlink-on-rename-failure
|
|
11
|
+
* are one invariant, and a second copy is how the two stop agreeing. The refusal
|
|
12
|
+
* message is user-facing text in two toolsets' documented behavior and must be one
|
|
13
|
+
* string.
|
|
14
|
+
*
|
|
15
|
+
* `content` widened to accept bytes when `pdf attachments --extract` needed to
|
|
16
|
+
* write an embedded file, which is binary and must not go through a utf-8 encode.
|
|
17
|
+
*
|
|
18
|
+
* Note what the `wx` does and does not buy: it guards the *staging* file, so two
|
|
19
|
+
* processes cannot stage over each other. The `rename` still replaces whatever is
|
|
20
|
+
* at the destination. That is right for `--output`, which names one file the user
|
|
21
|
+
* asked to write, and wrong for extracting many attacker-named files — so
|
|
22
|
+
* `src/pdf/attachments.ts` resolves collisions while planning, before calling this.
|
|
23
|
+
*/
|
|
24
|
+
export function writeAtomically(destination, content) {
|
|
25
|
+
const resolved = path.resolve(destination);
|
|
26
|
+
if (fs.existsSync(resolved) && fs.statSync(resolved).isDirectory())
|
|
27
|
+
throw new Error(`--output is a directory: ${destination}`);
|
|
28
|
+
const staged = `${resolved}.cairn-${process.pid}.tmp`;
|
|
29
|
+
fs.mkdirSync(path.dirname(resolved), { recursive: true });
|
|
30
|
+
if (typeof content === "string")
|
|
31
|
+
fs.writeFileSync(staged, content, { encoding: "utf-8", flag: "wx" });
|
|
32
|
+
else
|
|
33
|
+
fs.writeFileSync(staged, content, { flag: "wx" });
|
|
34
|
+
try {
|
|
35
|
+
fs.renameSync(staged, resolved);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
fs.rmSync(staged, { force: true });
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=atomic-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,OAA4B;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,QAAQ,UAAU,OAAO,CAAC,GAAG,MAAM,CAAC;IACtD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC7B,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;QAClE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Executable-format magic number.
|
|
3
|
+
*
|
|
4
|
+
* Header parsing only, mirroring `imageKind` in the packager: pulling in a
|
|
5
|
+
* binary-format library to answer "is this an executable" would be a dependency
|
|
6
|
+
* for a review nicety.
|
|
7
|
+
*
|
|
8
|
+
* Shared by `agent audit`, which grades a bundle's files, and by
|
|
9
|
+
* `pdf attachments`, which grades an embedded file — for the reason
|
|
10
|
+
* `src/mapping-quality.ts` was extracted. Importing it across toolsets instead
|
|
11
|
+
* would drag the whole agent audit module, and its import graph, into `pdf`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function binaryKind(content: Buffer): "elf" | "pe" | "macho" | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Executable-format magic number.
|
|
3
|
+
*
|
|
4
|
+
* Header parsing only, mirroring `imageKind` in the packager: pulling in a
|
|
5
|
+
* binary-format library to answer "is this an executable" would be a dependency
|
|
6
|
+
* for a review nicety.
|
|
7
|
+
*
|
|
8
|
+
* Shared by `agent audit`, which grades a bundle's files, and by
|
|
9
|
+
* `pdf attachments`, which grades an embedded file — for the reason
|
|
10
|
+
* `src/mapping-quality.ts` was extracted. Importing it across toolsets instead
|
|
11
|
+
* would drag the whole agent audit module, and its import graph, into `pdf`.
|
|
12
|
+
*/
|
|
13
|
+
export function binaryKind(content) {
|
|
14
|
+
if (content.length < 4)
|
|
15
|
+
return null;
|
|
16
|
+
if (content.subarray(0, 4).toString("hex") === "7f454c46")
|
|
17
|
+
return "elf";
|
|
18
|
+
if (content[0] === 0x4d && content[1] === 0x5a)
|
|
19
|
+
return "pe";
|
|
20
|
+
const magic = content.subarray(0, 4).toString("hex");
|
|
21
|
+
if (["feedface", "feedfacf", "cefaedfe", "cffaedfe", "cafebabe"].includes(magic))
|
|
22
|
+
return "macho";
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=binary-kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-kind.js","sourceRoot":"","sources":["../src/binary-kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACjG,OAAO,IAAI,CAAC;AACd,CAAC"}
|