aontu 0.52.1 → 0.54.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 +88 -0
- package/bin/aontu-mcp.js +4 -0
- package/dist/agentsmd.d.ts +16 -0
- package/dist/agentsmd.js +107 -0
- package/dist/agentsmd.js.map +1 -0
- package/dist/aontu.d.ts +15 -3
- package/dist/aontu.js +126 -5
- package/dist/aontu.js.map +1 -1
- package/dist/cli.d.ts +45 -1
- package/dist/cli.js +2845 -69
- package/dist/cli.js.map +1 -1
- package/dist/ctx.d.ts +18 -0
- package/dist/ctx.js +44 -0
- package/dist/ctx.js.map +1 -1
- package/dist/diff.d.ts +22 -0
- package/dist/diff.js +141 -0
- package/dist/diff.js.map +1 -0
- package/dist/err.d.ts +3 -1
- package/dist/err.js +45 -8
- package/dist/err.js.map +1 -1
- package/dist/graph.d.ts +13 -0
- package/dist/graph.js +110 -0
- package/dist/graph.js.map +1 -0
- package/dist/hcanon.d.ts +3 -0
- package/dist/hcanon.js +145 -0
- package/dist/hcanon.js.map +1 -0
- package/dist/hints.js +235 -8
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.d.ts +20 -0
- package/dist/jsonschema.js +425 -0
- package/dist/jsonschema.js.map +1 -0
- package/dist/lang.js +955 -110
- package/dist/lang.js.map +1 -1
- package/dist/lsp.d.ts +9 -2
- package/dist/lsp.js +343 -48
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.d.ts +20 -0
- package/dist/mcp-server.js +147 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp.d.ts +42 -0
- package/dist/mcp.js +941 -0
- package/dist/mcp.js.map +1 -0
- package/dist/mod-tool.d.ts +58 -0
- package/dist/mod-tool.js +532 -0
- package/dist/mod-tool.js.map +1 -0
- package/dist/mod.d.ts +35 -0
- package/dist/mod.js +345 -0
- package/dist/mod.js.map +1 -0
- package/dist/patch.d.ts +49 -0
- package/dist/patch.js +506 -0
- package/dist/patch.js.map +1 -0
- package/dist/provenance.d.ts +41 -0
- package/dist/provenance.js +336 -0
- package/dist/provenance.js.map +1 -0
- package/dist/query.d.ts +27 -0
- package/dist/query.js +294 -0
- package/dist/query.js.map +1 -0
- package/dist/reach.d.ts +15 -0
- package/dist/reach.js +168 -0
- package/dist/reach.js.map +1 -0
- package/dist/relation.d.ts +23 -0
- package/dist/relation.js +230 -0
- package/dist/relation.js.map +1 -0
- package/dist/report-sarif.d.ts +14 -0
- package/dist/report-sarif.js +102 -0
- package/dist/report-sarif.js.map +1 -0
- package/dist/sig.d.ts +25 -0
- package/dist/sig.js +277 -0
- package/dist/sig.js.map +1 -0
- package/dist/sigdecl.d.ts +2 -0
- package/dist/sigdecl.js +11 -0
- package/dist/sigdecl.js.map +1 -0
- package/dist/siggate.d.ts +4 -0
- package/dist/siggate.js +90 -0
- package/dist/siggate.js.map +1 -0
- package/dist/site.d.ts +4 -0
- package/dist/site.js +31 -0
- package/dist/site.js.map +1 -1
- package/dist/std.d.ts +1 -0
- package/dist/std.js +129 -0
- package/dist/std.js.map +1 -0
- package/dist/subsume.d.ts +39 -0
- package/dist/subsume.js +573 -0
- package/dist/subsume.js.map +1 -0
- package/dist/trim.d.ts +19 -0
- package/dist/trim.js +155 -0
- package/dist/trim.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.d.ts +17 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.d.ts +2 -1
- package/dist/unify.js +234 -38
- package/dist/unify.js.map +1 -1
- package/dist/utility.d.ts +8 -1
- package/dist/utility.js +68 -1
- package/dist/utility.js.map +1 -1
- package/dist/val/AggFuncVal.d.ts +44 -0
- package/dist/val/AggFuncVal.js +364 -0
- package/dist/val/AggFuncVal.js.map +1 -0
- package/dist/val/ArithFuncVal.d.ts +31 -0
- package/dist/val/ArithFuncVal.js +62 -0
- package/dist/val/ArithFuncVal.js.map +1 -0
- package/dist/val/BagVal.d.ts +7 -0
- package/dist/val/BagVal.js +150 -11
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +9 -1
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/ConjunctVal.d.ts +1 -1
- package/dist/val/ConjunctVal.js +19 -0
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.d.ts +7 -1
- package/dist/val/ConstraintVal.js +523 -45
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.d.ts +35 -0
- package/dist/val/ContainerKindVal.js +99 -0
- package/dist/val/ContainerKindVal.js.map +1 -0
- package/dist/val/CopyFuncVal.d.ts +1 -2
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.d.ts +1 -0
- package/dist/val/Decimal.js +13 -0
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.d.ts +11 -0
- package/dist/val/DeprecateFuncVal.js +47 -0
- package/dist/val/DeprecateFuncVal.js.map +1 -0
- package/dist/val/DisjunctVal.d.ts +1 -2
- package/dist/val/DisjunctVal.js +269 -53
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.d.ts +15 -0
- package/dist/val/EachFuncVal.js +75 -0
- package/dist/val/EachFuncVal.js.map +1 -0
- package/dist/val/ExpectVal.js +62 -4
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FeatureVal.js +1 -1
- package/dist/val/FeatureVal.js.map +1 -1
- package/dist/val/FilterFuncVal.d.ts +15 -0
- package/dist/val/FilterFuncVal.js +91 -0
- package/dist/val/FilterFuncVal.js.map +1 -0
- package/dist/val/FuncBaseVal.d.ts +7 -1
- package/dist/val/FuncBaseVal.js +183 -2
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.d.ts +39 -0
- package/dist/val/GraphAtomVal.js +184 -0
- package/dist/val/GraphAtomVal.js.map +1 -0
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/JunctionVal.js +24 -1
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.d.ts +1 -1
- package/dist/val/KeyFuncVal.js +38 -30
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +94 -14
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.d.ts +1 -0
- package/dist/val/MapVal.js +146 -14
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.d.ts +15 -0
- package/dist/val/MatchFuncVal.js +107 -0
- package/dist/val/MatchFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +24 -0
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -1
- package/dist/val/OpBaseVal.js +19 -1
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/OpenFuncVal.js +4 -1
- package/dist/val/OpenFuncVal.js.map +1 -1
- package/dist/val/PackFuncVal.d.ts +15 -0
- package/dist/val/PackFuncVal.js +108 -0
- package/dist/val/PackFuncVal.js.map +1 -0
- package/dist/val/PathFuncVal.d.ts +2 -2
- package/dist/val/PathFuncVal.js +75 -16
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.d.ts +25 -0
- package/dist/val/PathVal.js +150 -0
- package/dist/val/PathVal.js.map +1 -0
- package/dist/val/PlaceVal.d.ts +13 -0
- package/dist/val/PlaceVal.js +131 -0
- package/dist/val/PlaceVal.js.map +1 -0
- package/dist/val/PlusOpVal.d.ts +2 -1
- package/dist/val/PlusOpVal.js +61 -37
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.d.ts +4 -2
- package/dist/val/PrefVal.js +223 -41
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.d.ts +19 -0
- package/dist/val/RecurseVal.js +217 -0
- package/dist/val/RecurseVal.js.map +1 -0
- package/dist/val/RefVal.d.ts +3 -2
- package/dist/val/RefVal.js +181 -66
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.d.ts +59 -0
- package/dist/val/ReferFuncVal.js +604 -0
- package/dist/val/ReferFuncVal.js.map +1 -0
- package/dist/val/ScalarKindVal.d.ts +4 -3
- package/dist/val/ScalarKindVal.js +12 -12
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/SuperFuncVal.d.ts +4 -2
- package/dist/val/SuperFuncVal.js +118 -14
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.d.ts +1 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TypeFuncVal.js.map +1 -1
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +7 -1
- package/dist/val/Val.js +170 -2
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.d.ts +6 -0
- package/dist/val/arith.js +173 -0
- package/dist/val/arith.js.map +1 -0
- package/dist/vet.d.ts +45 -0
- package/dist/vet.js +802 -0
- package/dist/vet.js.map +1 -0
- package/dist/view.d.ts +85 -0
- package/dist/view.js +1948 -0
- package/dist/view.js.map +1 -0
- package/dist/walk.d.ts +2 -0
- package/dist/walk.js +91 -0
- package/dist/walk.js.map +1 -0
- package/grammar/aontu.gbnf +138 -0
- package/grammar/aontu.lark +118 -0
- package/grammar/aontu.tmLanguage.json +184 -0
- package/package.json +30 -8
- package/skill/SKILL.md +37 -0
- package/skill/error-codes.md +62 -0
- package/skill/examples.md +99 -0
- package/skill/grammar-card.md +56 -0
- package/src/agentsmd.ts +135 -0
- package/src/aontu.ts +166 -5
- package/src/cli.ts +3324 -72
- package/src/ctx.ts +93 -1
- package/src/diff.ts +198 -0
- package/src/err.ts +50 -8
- package/src/graph.ts +185 -0
- package/src/hcanon.ts +167 -0
- package/src/hints.ts +291 -8
- package/src/jsonschema.ts +552 -0
- package/src/lang.ts +1049 -110
- package/src/lsp.ts +351 -49
- package/src/mcp-server.ts +187 -0
- package/src/mcp.ts +1130 -0
- package/src/mod-tool.ts +718 -0
- package/src/mod.ts +453 -0
- package/src/patch.ts +628 -0
- package/src/provenance.ts +437 -0
- package/src/query.ts +381 -0
- package/src/reach.ts +213 -0
- package/src/relation.ts +298 -0
- package/src/report-sarif.ts +137 -0
- package/src/sig.ts +345 -0
- package/src/sigdecl.ts +11 -0
- package/src/siggate.ts +144 -0
- package/src/site.ts +36 -1
- package/src/std.ts +131 -0
- package/src/subsume.ts +739 -0
- package/src/trim.ts +195 -0
- package/src/tsconfig.json +10 -4
- package/src/type.ts +51 -2
- package/src/unify.ts +253 -38
- package/src/utility.ts +79 -1
- package/src/val/AggFuncVal.ts +546 -0
- package/src/val/ArithFuncVal.ts +108 -0
- package/src/val/BagVal.ts +158 -12
- package/src/val/CloseFuncVal.ts +9 -1
- package/src/val/ConjunctVal.ts +20 -0
- package/src/val/ConstraintVal.ts +576 -48
- package/src/val/ContainerKindVal.ts +158 -0
- package/src/val/CopyFuncVal.ts +0 -1
- package/src/val/Decimal.ts +15 -0
- package/src/val/DeprecateFuncVal.ts +84 -0
- package/src/val/DisjunctVal.ts +282 -59
- package/src/val/EachFuncVal.ts +133 -0
- package/src/val/ExpectVal.ts +65 -8
- package/src/val/FeatureVal.ts +1 -1
- package/src/val/FilterFuncVal.ts +154 -0
- package/src/val/FuncBaseVal.ts +206 -2
- package/src/val/GraphAtomVal.ts +264 -0
- package/src/val/HideFuncVal.ts +0 -2
- package/src/val/JunctionVal.ts +24 -1
- package/src/val/KeyFuncVal.ts +39 -35
- package/src/val/ListVal.ts +101 -15
- package/src/val/LowerFuncVal.ts +0 -1
- package/src/val/MapVal.ts +153 -14
- package/src/val/MatchFuncVal.ts +176 -0
- package/src/val/MoveFuncVal.ts +0 -2
- package/src/val/NilVal.ts +25 -0
- package/src/val/OpBaseVal.ts +20 -1
- package/src/val/OpenFuncVal.ts +4 -2
- package/src/val/PackFuncVal.ts +175 -0
- package/src/val/PathFuncVal.ts +107 -20
- package/src/val/PathVal.ts +221 -0
- package/src/val/PlaceVal.ts +193 -0
- package/src/val/PlusOpVal.ts +67 -39
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +251 -60
- package/src/val/RecurseVal.ts +285 -0
- package/src/val/RefVal.ts +183 -78
- package/src/val/ReferFuncVal.ts +732 -0
- package/src/val/ScalarKindVal.ts +12 -13
- package/src/val/SuperFuncVal.ts +137 -13
- package/src/val/TopVal.ts +1 -2
- package/src/val/TypeFuncVal.ts +0 -2
- package/src/val/UpperFuncVal.ts +0 -1
- package/src/val/Val.ts +216 -4
- package/src/val/VarVal.ts +0 -1
- package/src/val/arith.ts +319 -0
- package/src/vet.ts +1025 -0
- package/src/view.ts +2563 -0
- package/src/walk.ts +99 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/* Copyright (c) 2025 Richard Rodger, MIT License */
|
|
2
|
+
|
|
3
|
+
// Aontu MCP server (stdio).
|
|
4
|
+
//
|
|
5
|
+
// aontu-mcp [--root <dir>]
|
|
6
|
+
//
|
|
7
|
+
// Speaks the Model Context Protocol over stdio: newline-delimited
|
|
8
|
+
// JSON-RPC 2.0, one message per line. This binary is intentionally
|
|
9
|
+
// thin — every tool and every protocol decision lives in the reusable
|
|
10
|
+
// library ./mcp, the same three-layer split the language server uses
|
|
11
|
+
// (docs/lsp.md).
|
|
12
|
+
//
|
|
13
|
+
// NDJSON, not the LSP's Content-Length framing: MCP stdio transport
|
|
14
|
+
// is line-delimited, and a server that invented its own framing would
|
|
15
|
+
// not be reachable by any client.
|
|
16
|
+
//
|
|
17
|
+
// The one startup decision is the PATH CAPABILITY: `--root <dir>`
|
|
18
|
+
// grants the served evaluation the CLI's `--trust root:<dir>` posture
|
|
19
|
+
// — includes resolve confined below the root, and every tool's
|
|
20
|
+
// document arguments accept `<name>Path` file alternatives, confined
|
|
21
|
+
// the same way. Without it the server denies all includes and refuses
|
|
22
|
+
// path arguments (./mcp). The root is realpath'd HERE, once, so the
|
|
23
|
+
// confinement prefix the library compares against is the real
|
|
24
|
+
// directory, not a spelling of it.
|
|
25
|
+
|
|
26
|
+
import { realpathSync, statSync } from 'node:fs'
|
|
27
|
+
|
|
28
|
+
import { handle, parseError } from './mcp'
|
|
29
|
+
import type { McpRequest, McpResponse } from './mcp'
|
|
30
|
+
import { VERSION } from './aontu'
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
const USAGE = 'aontu-mcp - Aontu MCP server (stdio, NDJSON JSON-RPC)\n' +
|
|
34
|
+
'\n' +
|
|
35
|
+
' aontu-mcp [--root <dir>]\n' +
|
|
36
|
+
'\n' +
|
|
37
|
+
' --root <dir> Serve <name>Path file arguments and resolve\n' +
|
|
38
|
+
' @"..." includes, confined below <dir>\n' +
|
|
39
|
+
' (realpath-checked). Without it, served evaluation\n' +
|
|
40
|
+
' denies every include and refuses path arguments.\n'
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
// The startup arguments. Parsed here rather than in bin/aontu-mcp.js
|
|
44
|
+
// so the parsing is import-testable; unknown options REFUSE rather
|
|
45
|
+
// than warn, because a server whose operator typo'd --root must not
|
|
46
|
+
// come up quietly unconfined.
|
|
47
|
+
export type ServerArgs = {
|
|
48
|
+
root?: string
|
|
49
|
+
help?: boolean
|
|
50
|
+
err?: string
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function parseArgs(argv: string[]): ServerArgs {
|
|
54
|
+
let root: string | undefined
|
|
55
|
+
for (let i = 0; i < argv.length; i++) {
|
|
56
|
+
const arg = argv[i]
|
|
57
|
+
if ('-h' === arg || '--help' === arg) {
|
|
58
|
+
return { help: true }
|
|
59
|
+
}
|
|
60
|
+
if ('--root' === arg) {
|
|
61
|
+
const dir = argv[++i]
|
|
62
|
+
if (null == dir) {
|
|
63
|
+
return { err: 'aontu-mcp: --root needs a directory' }
|
|
64
|
+
}
|
|
65
|
+
root = dir
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return { err: `aontu-mcp: unknown option ${arg} (try --help)` }
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { root }
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// A line-oriented JSON-RPC codec: feed it incoming chunks, and it
|
|
76
|
+
// splits lines, dispatches them, and writes replies. Kept
|
|
77
|
+
// transport-injectable (write/onExit) so the wiring is unit-testable
|
|
78
|
+
// without real stdio, exactly as the LSP's FrameCodec is.
|
|
79
|
+
class LineCodec {
|
|
80
|
+
private buffer = ''
|
|
81
|
+
|
|
82
|
+
constructor(
|
|
83
|
+
private write: (line: string) => void,
|
|
84
|
+
private onExit: (code: number) => void,
|
|
85
|
+
private version: string,
|
|
86
|
+
private root?: string,
|
|
87
|
+
) { }
|
|
88
|
+
|
|
89
|
+
push(chunk: string | Buffer) {
|
|
90
|
+
this.buffer += chunk.toString()
|
|
91
|
+
for (; ;) {
|
|
92
|
+
const nl = this.buffer.indexOf('\n')
|
|
93
|
+
if (nl < 0) {
|
|
94
|
+
return
|
|
95
|
+
}
|
|
96
|
+
const line = this.buffer.slice(0, nl).trim()
|
|
97
|
+
this.buffer = this.buffer.slice(nl + 1)
|
|
98
|
+
if ('' !== line) {
|
|
99
|
+
this.line(line)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
end() {
|
|
105
|
+
this.onExit(0)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
private line(line: string) {
|
|
109
|
+
let msg: McpRequest
|
|
110
|
+
try {
|
|
111
|
+
msg = JSON.parse(line)
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
this.send(parseError())
|
|
115
|
+
return
|
|
116
|
+
}
|
|
117
|
+
const out = handle(msg, this.version, this.root)
|
|
118
|
+
if (null != out) {
|
|
119
|
+
this.send(out)
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
private send(out: McpResponse) {
|
|
124
|
+
this.write(JSON.stringify(out) + '\n')
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
// The streams and exit are injectable (defaulting to real stdio) so
|
|
130
|
+
// the full wiring is unit-testable. Returns undefined when the
|
|
131
|
+
// arguments end the run before a codec exists (--help, a bad option,
|
|
132
|
+
// a --root that is not a directory).
|
|
133
|
+
function main(
|
|
134
|
+
stdin: NodeJS.ReadableStream = process.stdin,
|
|
135
|
+
write: (line: string) => void = (line) => void process.stdout.write(line),
|
|
136
|
+
exit: (code: number) => void = (code) => process.exit(code),
|
|
137
|
+
version: string = VERSION,
|
|
138
|
+
argv: string[] = process.argv.slice(2),
|
|
139
|
+
errwrite: (line: string) => void =
|
|
140
|
+
(line) => void process.stderr.write(line),
|
|
141
|
+
): LineCodec | undefined {
|
|
142
|
+
const args = parseArgs(argv)
|
|
143
|
+
if (true === args.help) {
|
|
144
|
+
write(USAGE)
|
|
145
|
+
exit(0)
|
|
146
|
+
return undefined
|
|
147
|
+
}
|
|
148
|
+
if (null != args.err) {
|
|
149
|
+
errwrite(args.err + '\n')
|
|
150
|
+
exit(2)
|
|
151
|
+
return undefined
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// FAIL FAST on a root that is not a real directory: every later
|
|
155
|
+
// call would refuse anyway, but a misconfigured server that answers
|
|
156
|
+
// a thousand confusing refusals is worse than one that says so at
|
|
157
|
+
// startup.
|
|
158
|
+
let root: string | undefined
|
|
159
|
+
if (null != args.root) {
|
|
160
|
+
try {
|
|
161
|
+
root = realpathSync(args.root)
|
|
162
|
+
if (!statSync(root).isDirectory()) {
|
|
163
|
+
throw new Error('not a directory')
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
errwrite(`aontu-mcp: --root ${args.root} is not a directory\n`)
|
|
168
|
+
exit(2)
|
|
169
|
+
return undefined
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const codec = new LineCodec(write, exit, version, root)
|
|
174
|
+
stdin.on('data', (chunk: Buffer) => codec.push(chunk))
|
|
175
|
+
stdin.on('end', () => codec.end())
|
|
176
|
+
return codec
|
|
177
|
+
} /* node:coverage ignore next 11 */
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
// No require.main guard here: bin/aontu-mcp.js is the executable entry
|
|
181
|
+
// and calls main() itself, so this module stays import-only.
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
export {
|
|
185
|
+
LineCodec,
|
|
186
|
+
main,
|
|
187
|
+
}
|