@cairn-tool/cairn 3.2.0 → 3.3.0
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 +48 -0
- 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"}
|
package/dist/cli.js
CHANGED
|
@@ -59,6 +59,7 @@ import { serveAction } from "./commands/serve.js";
|
|
|
59
59
|
import { scriptsListAction, scriptsRunAction, scriptsWhichAction, } from "./commands/scripts.js";
|
|
60
60
|
import { archiveExtractAction, archiveListAction, archiveMigrateAction, archiveRunAction, archiveStatusAction, archiveVerifyAction, } from "./commands/archive.js";
|
|
61
61
|
import { adfActionBoundary, adfFromMarkdownAction, adfInspectAction, adfToMarkdownAction, adfValidateAction, } from "./commands/jira.js";
|
|
62
|
+
import { pdfActionBoundary, pdfAttachmentsAction, pdfFormsAction, pdfInspectAction, pdfOutlineAction, pdfTextAction, pdfToMarkdownAction, pdfValidateAction, } from "./commands/pdf.js";
|
|
62
63
|
import { usageAgentsAction, usageCommandsAction, usageHooksAction, usageImportAction, usageIndexAction, usageMigrateAction, usageProjectsAction, usageProvidersAction, usageSessionsAction, usageSkillsAction, usageSummaryAction, usageTokensAction, usageToolsAction, } from "./commands/usage.js";
|
|
63
64
|
// Pre-process argv to expand -fh/-fj shorthands into --format values
|
|
64
65
|
// before Commander sees them (Commander doesn't support multi-char short flags).
|
|
@@ -467,6 +468,53 @@ adfCommon(adf.command("inspect"))
|
|
|
467
468
|
.description("List the node and mark types in an ADF document, with per-type fidelity")
|
|
468
469
|
.addHelpText("after", "\nAnswers what a conversion will cost before paying it. A type this tool does not model\nis listed as unsupported rather than omitted.\n\nExit codes:\n 0 Inventory written to stdout\n 1 Invocation or I/O error, or the input is not an ADF document")
|
|
469
470
|
.action((source, opts) => adfActionBoundary("inspect", opts, () => adfInspectAction(source, opts)));
|
|
471
|
+
const pdf = program
|
|
472
|
+
.command("pdf")
|
|
473
|
+
.description("Read PDF documents: text, structure, embedded files, and conversion to Markdown")
|
|
474
|
+
.addHelpText("after", "\nEvery subcommand is a local, deterministic read: no credentials, no network, and no model\ncall. Project configuration is not consulted.\n\nThis toolset never writes a PDF. There is no merge, split, page reorder, form fill, or\nredact: input is a PDF, output is Markdown, text, or JSON.\n\nInput is bounded before it is parsed, because a PDF is a container format that usually\narrives off a network. Symlinks are resolved, a non-regular file is refused on the open\ndescriptor, and --max-bytes, --timeout, and --max-pages cap the read, the parse, and the\npage count. Embedded JavaScript, launch, and submit actions are never executed.\n\nStart with `pdf inspect`: document.tagged and the per-page text layer decide what every\nother subcommand can tell you.\n\nFormat shorthands:\n -fh Shorthand for --format=human\n -fj Shorthand for --format=json");
|
|
475
|
+
const pdfCommon = (command) => command
|
|
476
|
+
.argument("<file>", "Input PDF file, or - for stdin")
|
|
477
|
+
.option("--format <fmt>", "Output format: llm, human, json", "llm")
|
|
478
|
+
.option("--envelope", "Wrap --format json output in the versioned result envelope")
|
|
479
|
+
.option("--max-bytes <n>", "Maximum input size in bytes (default: 67108864)")
|
|
480
|
+
.option("--max-pages <n>", "Refuse a document with more pages than this (default: 5000)")
|
|
481
|
+
.option("--timeout <ms>", "Wall-clock budget for parsing, in milliseconds (default: 30000)");
|
|
482
|
+
const pdfDocument = (command) => pdfCommon(command)
|
|
483
|
+
.option("--pages <ranges>", "Pages to read, e.g. 1,3,5-8; every page by default")
|
|
484
|
+
.option("--output <file>", "Write the output to this file instead of stdout")
|
|
485
|
+
.option("--strict", "Treat approximations as blocking findings");
|
|
486
|
+
pdfCommon(pdf.command("inspect"))
|
|
487
|
+
.description("Report page count, metadata, tagging, and a per-page text-layer forecast")
|
|
488
|
+
.addHelpText("after", "\nAnswers what a conversion will cost before paying it, and whether a document needs OCR at\nall. Each page is classified present, sparse, or absent by glyph count per square inch; an\nabsent text layer means the page is an image and `pdf text` returns nothing for it. The\ncharacter count and density are reported beside the label, so a caller who disagrees with\nthe threshold can re-classify from the evidence.\n\ndocument.tagged is the field to read first: a tagged document carries a structure tree that\nnames its own paragraphs, headings, and lists, so `pdf to-markdown` infers almost nothing.\ndocument.structured is the measured version of that claim — some producers declare tagging\nand ship an empty tree.\n\nExit codes:\n 0 Inventory written to stdout\n 1 Invocation or I/O error, or the input is not a PDF\n 2 A page could not be analyzed, leaving the inventory incomplete")
|
|
489
|
+
.action((file, opts) => pdfActionBoundary("inspect", file, opts, () => pdfInspectAction(file, opts)));
|
|
490
|
+
pdfDocument(pdf.command("text"))
|
|
491
|
+
.description("Extract the text layer, page by page")
|
|
492
|
+
.addHelpText("after", "\nExtracts the text a document already carries. It does not recognize text in an image: a\nscanned page has no text layer and reports AP050 rather than returning an empty string with\nno explanation. Run `pdf inspect` first to see which pages have one.\n\nPages are separated by a form feed on stdout, as pdftotext does. Under --format json they\nare a per-page array instead, and a page that could not be decoded is absent from it rather\nthan present and empty.\n\nExamples:\n cairn pdf text report.pdf --pages 1,4-6\n cairn pdf text scan.pdf --strict # fail if any page is an image\n\nExit codes:\n 0 Text written to stdout\n 1 Invocation or I/O error, or the input is not a PDF\n 2 A page could not be decoded, or a page has no text layer under --strict")
|
|
493
|
+
.action((file, opts) => pdfActionBoundary("text", file, opts, () => pdfTextAction(file, opts)));
|
|
494
|
+
pdfCommon(pdf.command("outline"))
|
|
495
|
+
.description("Read the document outline (bookmarks) as a heading tree")
|
|
496
|
+
.addHelpText("after", "\nReports the outline the document declares, not one inferred from its text. A document with\nno /Outlines returns an empty tree and exits 0: that is an answer, not a failure. An entry\nwhose destination does not resolve keeps its title with a null page and reports AP080,\nrather than being dropped.\n\nURLs are recorded and never followed. An entry whose scheme the parser refused carries no\nurl at all, rather than presenting a javascript: or file: URI as though it were clickable.\n\nExit codes:\n 0 Outline written to stdout, possibly empty\n 1 Invocation or I/O error, or the input is not a PDF\n 2 An outline entry could not be resolved")
|
|
497
|
+
.action((file, opts) => pdfActionBoundary("outline", file, opts, () => pdfOutlineAction(file, opts)));
|
|
498
|
+
pdfCommon(pdf.command("validate"))
|
|
499
|
+
.description("Check a PDF's structural integrity without converting it")
|
|
500
|
+
.option("--strict", "Treat an unsupported construct as a blocking finding")
|
|
501
|
+
.addHelpText("after", "\nReports what the parser itself can see: a damaged cross-reference table, a content stream\nit could not decode, a font it could not resolve, a page tree cycle, an unsupported filter.\n\nIt is deliberately not a PDF/A or PDF/UA conformance checker. Full conformance validation is\nveraPDF's job and is a Java program; claiming it here would be a lie. It also does not\nverify signatures or judge whether a document renders, neither of which is reachable\nwithout rasterizing. This is the same line `jira adf validate` draws when it reports AD100\nfor a node type it does not model.\n\nA cross-reference table that was damaged but successfully rebuilt reports AP101 and still\nparses, so a finding here does not mean the document is unreadable.\n\nExit codes:\n 0 No structural errors\n 1 Invocation or I/O error, or the input is not a PDF\n 2 Invalid structure, or an unsupported construct under --strict")
|
|
502
|
+
.action((file, opts) => pdfActionBoundary("validate", file, opts, () => pdfValidateAction(file, opts)));
|
|
503
|
+
pdfDocument(pdf.command("to-markdown"))
|
|
504
|
+
.description("Convert a PDF's content to Markdown, reporting what was inferred")
|
|
505
|
+
.addHelpText("after", "\nA PDF has no paragraphs, no headings, and no lists — only positioned glyph runs. On an\nuntagged page every block boundary is inferred from geometry and font metrics, so the\nconversion is approximate by construction; a tagged page uses the structure tree instead and\nis close to exact. The path is chosen per page, and AP200 always reports which was used.\n\nRead document.tagged before trusting the structure, and run `pdf inspect` before running\nthis at all.\n\nTabular content is flattened to one paragraph per row and reported. A real table is only\nemitted for a tagged document: a geometric reconstruction gets merged and wrapped cells\nwrong and produces a confidently wrong table that cannot be told from a right one.\n\n--pages restricts which pages are emitted, not what the inference saw — the modal body font\nand repeated-header detection still run over the whole document, so a page range is a true\nsubset of the full conversion.\n\nEmits no frontmatter: a PDF's metadata is `pdf inspect`'s answer.\n\nExit codes:\n 0 Converted; read diagnostics to learn what was inferred or lost\n 1 Invocation or I/O error, or the input is not a PDF\n 2 An error, or any approximation under --strict")
|
|
506
|
+
.action((file, opts) => pdfActionBoundary("to-markdown", file, opts, () => pdfToMarkdownAction(file, opts)));
|
|
507
|
+
pdfCommon(pdf.command("attachments"))
|
|
508
|
+
.description("List the files embedded in a PDF, and optionally write them out")
|
|
509
|
+
.option("--extract <dir>", "Write the embedded files into this directory")
|
|
510
|
+
.option("--strict", "Treat a sanitized name or an unreadable file as a blocking finding")
|
|
511
|
+
.addHelpText("after", "\nEmbedded files are files carried inside the document. Without --extract this only\ninventories them — name, size, SHA-256 — which is what makes it safe to reach for and\nsafe to expose over MCP; writing is the opt-in.\n\nBinary never goes to stdout under any format. --extract is the only way bytes leave this\ncommand.\n\nA stored file name is attacker-controlled and is sanitized before it is used as a path. The\npayload reports both the raw stored name and the name actually written, so a rename is\nvisible. Extraction is planned in full before anything is written: one refused destination\nmeans no file is written at all, and a name that collides is written under a resolved name\nrather than overwriting anything.\n\nNothing embedded is ever executed or opened.\n\nExamples:\n cairn pdf attachments report.pdf\n cairn pdf attachments report.pdf --extract ./out\n\nExit codes:\n 0 Listed, and written when --extract was given\n 1 Invocation or I/O error, or the input is not a PDF\n 2 A destination was refused, an embedded file could not be decoded, or any\n name had to be sanitized under --strict")
|
|
512
|
+
.action((file, opts) => pdfActionBoundary("attachments", file, opts, () => pdfAttachmentsAction(file, opts)));
|
|
513
|
+
pdfCommon(pdf.command("forms"))
|
|
514
|
+
.description("List AcroForm fields and their current values")
|
|
515
|
+
.option("--strict", "Treat a form this cannot fully read as a blocking finding")
|
|
516
|
+
.addHelpText("after", "\nReads and never writes. Filling a form is manipulation, which this toolset does not do, so\nthere is no flag that sets a value.\n\nOne field can render as several widgets across pages; they are folded into one row carrying\na count. A field's page is reported 1-based, matching every other page number here.\n\nA field marked as a password field is reported with its value and the flag. The same bytes\nare already reachable through `pdf text`, so withholding them would be theatre.\n\nAn XFA-only document reports type:xfa with no fields and AP311, never a silently empty\nlist: its values live in an XML packet this does not read.\n\nExit codes:\n 0 Reported, including a document that carries no form\n 1 Invocation or I/O error, or the input is not a PDF\n 2 Under --strict, a form this cannot fully read — an XFA form, or a field\n that resolves to no page")
|
|
517
|
+
.action((file, opts) => pdfActionBoundary("forms", file, opts, () => pdfFormsAction(file, opts)));
|
|
470
518
|
const scripts = program
|
|
471
519
|
.command("scripts")
|
|
472
520
|
.description("Resolve and run named scripts declared in .cairn.yml")
|