@elaraai/east-plugin 0.0.0-stage → 1.0.87
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/LICENSE.md +682 -0
- package/README.md +104 -2
- package/dist/daemon/east-py-lsp.d.ts +2 -0
- package/dist/daemon/east-py-lsp.d.ts.map +1 -0
- package/dist/daemon/east-py-lsp.js +9 -0
- package/dist/daemon/east-py-lsp.js.map +1 -0
- package/dist/daemon/lsp.d.ts +2 -0
- package/dist/daemon/lsp.d.ts.map +1 -0
- package/dist/daemon/lsp.js +7 -0
- package/dist/daemon/lsp.js.map +1 -0
- package/dist/daemon/server.d.ts +2 -0
- package/dist/daemon/server.d.ts.map +1 -0
- package/dist/daemon/server.js +71 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/hooks/diagnose-bash.d.ts +2 -0
- package/dist/hooks/diagnose-bash.d.ts.map +1 -0
- package/dist/hooks/diagnose-bash.js +28 -0
- package/dist/hooks/diagnose-bash.js.map +1 -0
- package/dist/hooks/diagnose.d.ts +2 -0
- package/dist/hooks/diagnose.d.ts.map +1 -0
- package/dist/hooks/diagnose.js +33 -0
- package/dist/hooks/diagnose.js.map +1 -0
- package/dist/hooks/pre-read.d.ts +2 -0
- package/dist/hooks/pre-read.d.ts.map +1 -0
- package/dist/hooks/pre-read.js +11 -0
- package/dist/hooks/pre-read.js.map +1 -0
- package/dist/hooks/pre-write.d.ts +2 -0
- package/dist/hooks/pre-write.d.ts.map +1 -0
- package/dist/hooks/pre-write.js +11 -0
- package/dist/hooks/pre-write.js.map +1 -0
- package/dist/hooks/session-start.d.ts +2 -0
- package/dist/hooks/session-start.d.ts.map +1 -0
- package/dist/hooks/session-start.js +34 -0
- package/dist/hooks/session-start.js.map +1 -0
- package/dist/hooks/subagent-start.d.ts +2 -0
- package/dist/hooks/subagent-start.d.ts.map +1 -0
- package/dist/hooks/subagent-start.js +29 -0
- package/dist/hooks/subagent-start.js.map +1 -0
- package/dist/lib/bash-writes.d.ts +11 -0
- package/dist/lib/bash-writes.d.ts.map +1 -0
- package/dist/lib/bash-writes.js +74 -0
- package/dist/lib/bash-writes.js.map +1 -0
- package/dist/lib/codex-hook.d.ts +64 -0
- package/dist/lib/codex-hook.d.ts.map +1 -0
- package/dist/lib/codex-hook.js +94 -0
- package/dist/lib/codex-hook.js.map +1 -0
- package/dist/lib/codex-skills.d.ts +38 -0
- package/dist/lib/codex-skills.d.ts.map +1 -0
- package/dist/lib/codex-skills.js +80 -0
- package/dist/lib/codex-skills.js.map +1 -0
- package/dist/lib/codex-tools.d.ts +11 -0
- package/dist/lib/codex-tools.d.ts.map +1 -0
- package/dist/lib/codex-tools.js +41 -0
- package/dist/lib/codex-tools.js.map +1 -0
- package/dist/lib/diagnostics-client.d.ts +9 -0
- package/dist/lib/diagnostics-client.d.ts.map +1 -0
- package/dist/lib/diagnostics-client.js +123 -0
- package/dist/lib/diagnostics-client.js.map +1 -0
- package/dist/lib/east-index.d.ts +3 -0
- package/dist/lib/east-index.d.ts.map +1 -0
- package/dist/lib/east-index.js +9 -0
- package/dist/lib/east-index.js.map +1 -0
- package/dist/lib/east-project.d.ts +49 -0
- package/dist/lib/east-project.d.ts.map +1 -0
- package/dist/lib/east-project.js +121 -0
- package/dist/lib/east-project.js.map +1 -0
- package/dist/lib/east-py-lint.d.ts +7 -0
- package/dist/lib/east-py-lint.d.ts.map +1 -0
- package/dist/lib/east-py-lint.js +22 -0
- package/dist/lib/east-py-lint.js.map +1 -0
- package/dist/lib/east-rules-context.d.ts +7 -0
- package/dist/lib/east-rules-context.d.ts.map +1 -0
- package/dist/lib/east-rules-context.js +91 -0
- package/dist/lib/east-rules-context.js.map +1 -0
- package/dist/lib/hook-io.d.ts +30 -0
- package/dist/lib/hook-io.d.ts.map +1 -0
- package/dist/lib/hook-io.js +29 -0
- package/dist/lib/hook-io.js.map +1 -0
- package/dist/lib/host.d.ts +3 -0
- package/dist/lib/host.d.ts.map +1 -0
- package/dist/lib/host.js +9 -0
- package/dist/lib/host.js.map +1 -0
- package/dist/lib/lsp-client.d.ts +34 -0
- package/dist/lib/lsp-client.d.ts.map +1 -0
- package/dist/lib/lsp-client.js +200 -0
- package/dist/lib/lsp-client.js.map +1 -0
- package/dist/lib/plugin-status.d.ts +9 -0
- package/dist/lib/plugin-status.d.ts.map +1 -0
- package/dist/lib/plugin-status.js +164 -0
- package/dist/lib/plugin-status.js.map +1 -0
- package/dist/lib/review.d.ts +16 -0
- package/dist/lib/review.d.ts.map +1 -0
- package/dist/lib/review.js +74 -0
- package/dist/lib/review.js.map +1 -0
- package/dist/lib/search-guidance.d.ts +44 -0
- package/dist/lib/search-guidance.d.ts.map +1 -0
- package/dist/lib/search-guidance.js +73 -0
- package/dist/lib/search-guidance.js.map +1 -0
- package/dist/lib/search-hooks.d.ts +75 -0
- package/dist/lib/search-hooks.d.ts.map +1 -0
- package/dist/lib/search-hooks.js +117 -0
- package/dist/lib/search-hooks.js.map +1 -0
- package/dist/lib/search.d.ts +121 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/search.js +181 -0
- package/dist/lib/search.js.map +1 -0
- package/dist/lib/transcript.d.ts +29 -0
- package/dist/lib/transcript.d.ts.map +1 -0
- package/dist/lib/transcript.js +109 -0
- package/dist/lib/transcript.js.map +1 -0
- package/dist/mcp/example-tools.d.ts +33 -0
- package/dist/mcp/example-tools.d.ts.map +1 -0
- package/dist/mcp/example-tools.js +97 -0
- package/dist/mcp/example-tools.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +52 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/scripts/examples-file.d.ts +38 -0
- package/dist/scripts/examples-file.d.ts.map +1 -0
- package/dist/scripts/examples-file.js +224 -0
- package/dist/scripts/examples-file.js.map +1 -0
- package/dist/scripts/generate-index.d.ts +127 -0
- package/dist/scripts/generate-index.d.ts.map +1 -0
- package/dist/scripts/generate-index.js +315 -0
- package/dist/scripts/generate-index.js.map +1 -0
- package/dist/status/report.d.ts +2 -0
- package/dist/status/report.d.ts.map +1 -0
- package/dist/status/report.js +9 -0
- package/dist/status/report.js.map +1 -0
- package/index.json +44926 -0
- package/package.json +65 -3
- package/scripts/render-python.py +67 -0
package/package.json
CHANGED
|
@@ -1,6 +1,68 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/east-plugin",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.0.87",
|
|
4
|
+
"license": "AGPL-3.0-or-later",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "East's agent plugin runtime — the example index generator, the example search and its MCP tools, the search-first hooks and the Codex skill adapter — for a Claude Code or Codex plugin that builds on East's.",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/lib",
|
|
9
|
+
"dist/hooks",
|
|
10
|
+
"dist/daemon",
|
|
11
|
+
"dist/mcp",
|
|
12
|
+
"dist/status",
|
|
13
|
+
"dist/scripts",
|
|
14
|
+
"scripts/render-python.py",
|
|
15
|
+
"index.json",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE.md"
|
|
18
|
+
],
|
|
19
|
+
"bin": {
|
|
20
|
+
"east-plugin-generate-index": "./dist/scripts/generate-index.js"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/elaraai/east-workspace.git",
|
|
25
|
+
"directory": "libs/east-plugin"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"east",
|
|
29
|
+
"elara",
|
|
30
|
+
"claude-code",
|
|
31
|
+
"codex",
|
|
32
|
+
"plugin",
|
|
33
|
+
"mcp"
|
|
34
|
+
],
|
|
35
|
+
"author": "Elara AI Pty Ltd",
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=22.0.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"typescript": ">=5.0.0"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
44
|
+
"minisearch": "^7.1.2",
|
|
45
|
+
"zod": "^3.0.0",
|
|
46
|
+
"@elaraai/east": "1.0.87",
|
|
47
|
+
"@elaraai/east-diagnostics": "1.0.87"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/node": "^22.18.1",
|
|
51
|
+
"esbuild": "^0.27.3",
|
|
52
|
+
"typescript": "~5.9.2"
|
|
53
|
+
},
|
|
54
|
+
"exports": {
|
|
55
|
+
"./lib/*": "./dist/lib/*.js",
|
|
56
|
+
"./hooks/*": "./dist/hooks/*.js",
|
|
57
|
+
"./daemon/*": "./dist/daemon/*.js",
|
|
58
|
+
"./mcp/*": "./dist/mcp/*.js",
|
|
59
|
+
"./status/*": "./dist/status/*.js",
|
|
60
|
+
"./scripts/*": "./dist/scripts/*.js",
|
|
61
|
+
"./index.json": "./index.json"
|
|
62
|
+
},
|
|
63
|
+
"scripts": {
|
|
64
|
+
"build": "tsc",
|
|
65
|
+
"generate-index": "npm run build && node dist/scripts/generate-index.js --base-dir .. && uv run --project ../east-py python scripts/render-python.py index.json && node scripts/sync-assets.mjs",
|
|
66
|
+
"test": "npm run build && node --enable-source-maps --test dist/test/*.spec.js"
|
|
67
|
+
}
|
|
6
68
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
# Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
#
|
|
5
|
+
"""Fill the python renderings of the example index (#654).
|
|
6
|
+
|
|
7
|
+
``generate-index`` stores every program example as its IR and the TypeScript
|
|
8
|
+
printed from it; the python printing is this script's — the same IR through
|
|
9
|
+
``east.codegen.to_python_source``, exact by the round-trip contract. Run after
|
|
10
|
+
the generator, from an environment where ``east`` imports::
|
|
11
|
+
|
|
12
|
+
uv run --project ../east-py python scripts/render-python.py index.json
|
|
13
|
+
|
|
14
|
+
Every entry with an ``ir`` gets its ``python``; entries without one (UI,
|
|
15
|
+
hand-written stubs) are left alone. The file is rewritten in place.
|
|
16
|
+
|
|
17
|
+
A platform call prints as the implementing package's own function and a
|
|
18
|
+
struct or variant type the package names prints by that name (#667) — the
|
|
19
|
+
python reading of what the TypeScript rendering spells through the
|
|
20
|
+
library's handles — for every stock package this environment can import;
|
|
21
|
+
a package that does not import here (an optional dependency missing) is
|
|
22
|
+
skipped with a warning and its calls print as declarations.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
from __future__ import annotations
|
|
26
|
+
|
|
27
|
+
import json
|
|
28
|
+
import sys
|
|
29
|
+
from pathlib import Path
|
|
30
|
+
|
|
31
|
+
from east.codegen import Providers, to_python_source
|
|
32
|
+
from east.serialization.json import decode_json_for
|
|
33
|
+
from east.types.type_of_type import IRType
|
|
34
|
+
|
|
35
|
+
#: The stock platform packages, in provider order.
|
|
36
|
+
STOCK_PACKAGES = ("east_py_std", "east_py_io", "east_py_datascience")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def main(argv: list[str]) -> int:
|
|
40
|
+
if len(argv) != 2:
|
|
41
|
+
print("usage: render-python.py <index.json>", file=sys.stderr)
|
|
42
|
+
return 2
|
|
43
|
+
path = Path(argv[1])
|
|
44
|
+
data = json.loads(path.read_text(encoding="utf-8"))
|
|
45
|
+
decode = decode_json_for(IRType)
|
|
46
|
+
providers = Providers()
|
|
47
|
+
for package in STOCK_PACKAGES:
|
|
48
|
+
try:
|
|
49
|
+
providers.add_module(package)
|
|
50
|
+
except Exception as e: # noqa: BLE001 — an optional dependency this environment lacks
|
|
51
|
+
print(f"[!] {package} does not import here ({e}); its calls print as declarations",
|
|
52
|
+
file=sys.stderr)
|
|
53
|
+
rendered = 0
|
|
54
|
+
for entry in data["entries"]:
|
|
55
|
+
ir = entry.get("ir")
|
|
56
|
+
if ir is None:
|
|
57
|
+
continue
|
|
58
|
+
name = entry["id"].rsplit(":", 1)[1]
|
|
59
|
+
entry["python"] = to_python_source(decode(ir.encode("utf-8")), name=name, providers=providers)
|
|
60
|
+
rendered += 1
|
|
61
|
+
path.write_text(json.dumps(data, indent=2, ensure_ascii=False) + "\n", encoding="utf-8")
|
|
62
|
+
print(f"[+] Rendered {rendered} example(s) as python in {path}", file=sys.stderr)
|
|
63
|
+
return 0
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
if __name__ == "__main__":
|
|
67
|
+
sys.exit(main(sys.argv))
|