oh-aicoding-tool 0.1.2 → 0.1.5
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 +79 -80
- package/bin/cli.js +257 -384
- package/package.json +27 -55
- package/CODEX_LANGFUSE_PLAN.md +0 -62
- package/bin/langfuse-cli.js +0 -718
- package/codex_langfuse_notify.py +0 -591
- package/langfuse_hook.py +0 -603
- package/opencode-ohai-report/.claude/commands/report-ai-issue.md +0 -60
- package/opencode-ohai-report/.opencode/commands/report-ai-issue.md +0 -30
- package/opencode-ohai-report/.opencode/plugins/oh-ai-report.ts +0 -569
- package/opencode-ohai-report/README.md +0 -45
- package/opencode-ohai-report/bin/cli.js +0 -421
- package/opencode-ohai-report/docs/opencode-ai-issue-collection-architecture.md +0 -313
- package/opencode-ohai-report/docs/opencode-ai-issue-collection-best-practices.md +0 -476
- package/opencode-ohai-report/docs/opencode-ai-issue-collection-phase1-summary.md +0 -405
- package/opencode-ohai-report/examples/issue_output.json +0 -4
- package/opencode-ohai-report/package.json +0 -40
- package/opencode-ohai-report/scripts/claude_report_hook.py +0 -257
- package/opencode-ohai-report/scripts/create_issue.py +0 -34
- package/opencode-ohai-report/scripts/install-claude-plugin.ps1 +0 -254
- package/opencode-ohai-report/scripts/install-opencode-plugin.ps1 +0 -264
- package/opencode-ohai-report/scripts/install-opencode-plugin.sh +0 -218
- package/opencode-ohai-report/scripts/merge-claude-settings.py +0 -99
- package/opencode-ohai-report/tools/ohai-report/README.md +0 -151
- package/opencode-ohai-report/tools/ohai-report/examples/issue-input.json +0 -26
- package/opencode-ohai-report/tools/ohai-report/ohai_report/__init__.py +0 -5
- package/opencode-ohai-report/tools/ohai-report/ohai_report/__main__.py +0 -9
- package/opencode-ohai-report/tools/ohai-report/ohai_report/cli.py +0 -319
- package/opencode-ohai-report/tools/ohai-report/ohai_report/git_context.py +0 -32
- package/opencode-ohai-report/tools/ohai-report/ohai_report/gitcode_defaults.py +0 -14
- package/opencode-ohai-report/tools/ohai-report/ohai_report/issue_markdown.py +0 -313
- package/opencode-ohai-report/tools/ohai-report/ohai_report/metadata.py +0 -360
- package/opencode-ohai-report/tools/ohai-report/ohai_report/observability/__init__.py +0 -1
- package/opencode-ohai-report/tools/ohai-report/ohai_report/observability/langfuse.py +0 -38
- package/opencode-ohai-report/tools/ohai-report/ohai_report/payload.py +0 -64
- package/opencode-ohai-report/tools/ohai-report/ohai_report/schema.py +0 -80
- package/opencode-ohai-report/tools/ohai-report/ohai_report/sinks/__init__.py +0 -1
- package/opencode-ohai-report/tools/ohai-report/ohai_report/sinks/base.py +0 -15
- package/opencode-ohai-report/tools/ohai-report/ohai_report/sinks/gitcode.py +0 -405
- package/opencode-ohai-report/tools/ohai-report/ohai_report/sinks/local.py +0 -21
- package/opencode-ohai-report/tools/ohai-report/ohai_report/sinks/webhook.py +0 -354
- package/opencode-ohai-report/tools/ohai-report/ohai_report/webhook_defaults.py +0 -9
- package/opencode-ohai-report/tools/ohai-report/ohai_report/workspace.py +0 -61
- package/opencode-ohai-report/tools/ohai-report/ohai_report.py +0 -10
- package/opencode-ohai-report/tools/ohai-report/schemas/report_issue.schema.json +0 -166
- package/scripts/codex-langfuse-check.mjs +0 -101
- package/scripts/codex-langfuse-setup.mjs +0 -181
- package/scripts/langfuse-check.mjs +0 -90
- package/scripts/langfuse-setup.mjs +0 -278
- package/scripts/opencode-langfuse-check.mjs +0 -94
- package/scripts/opencode-langfuse-run.mjs +0 -96
- package/scripts/opencode-langfuse-setup.mjs +0 -478
- package/scripts/resolve-opencode-cli.mjs +0 -58
- package/setup-langfuse.bat +0 -163
- package/setup-langfuse.sh +0 -130
package/package.json
CHANGED
|
@@ -1,59 +1,31 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "oh-aicoding-tool",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"private": false,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"description": "
|
|
7
|
-
"bin": {
|
|
8
|
-
"oh-aicoding-tool": "bin/cli.js"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
"files": [
|
|
14
|
-
"bin",
|
|
15
|
-
"scripts",
|
|
16
|
-
"opencode-ohai-report/.opencode",
|
|
17
|
-
"opencode-ohai-report/.claude",
|
|
18
|
-
"opencode-ohai-report/bin",
|
|
19
|
-
"opencode-ohai-report/docs",
|
|
20
|
-
"opencode-ohai-report/examples",
|
|
21
|
-
"opencode-ohai-report/scripts/*.py",
|
|
22
|
-
"opencode-ohai-report/scripts/*.ps1",
|
|
23
|
-
"opencode-ohai-report/scripts/*.sh",
|
|
24
|
-
"opencode-ohai-report/tools/ohai-report/ohai_report.py",
|
|
25
|
-
"opencode-ohai-report/tools/ohai-report/ohai_report/**/*.py",
|
|
26
|
-
"opencode-ohai-report/tools/ohai-report/schemas",
|
|
27
|
-
"opencode-ohai-report/tools/ohai-report/examples",
|
|
28
|
-
"opencode-ohai-report/tools/ohai-report/README.md",
|
|
29
|
-
"opencode-ohai-report/README.md",
|
|
30
|
-
"opencode-ohai-report/package.json",
|
|
31
|
-
"langfuse_hook.py",
|
|
32
|
-
"codex_langfuse_notify.py",
|
|
33
|
-
"README.md",
|
|
34
|
-
"CODEX_LANGFUSE_PLAN.md",
|
|
35
|
-
"setup-langfuse.bat",
|
|
36
|
-
"setup-langfuse.sh"
|
|
2
|
+
"name": "oh-aicoding-tool",
|
|
3
|
+
"version": "0.1.5",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "Interactive installer for AI coding tools: Langfuse tracing and oh-ai-report.",
|
|
7
|
+
"bin": {
|
|
8
|
+
"oh-aicoding-tool": "bin/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"bin",
|
|
12
|
+
"README.md"
|
|
37
13
|
],
|
|
38
14
|
"scripts": {
|
|
39
|
-
"start": "node bin/cli.js",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
"langfuse
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
"codex:langfuse:setup": "node scripts/codex-langfuse-setup.mjs",
|
|
56
|
-
"codex:langfuse:check": "node scripts/codex-langfuse-check.mjs"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {}
|
|
15
|
+
"start": "node bin/cli.js",
|
|
16
|
+
"check": "node --check bin/cli.js",
|
|
17
|
+
"pack:check": "npm pack --dry-run"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"ai-coding",
|
|
21
|
+
"langfuse",
|
|
22
|
+
"opencode",
|
|
23
|
+
"claude-code",
|
|
24
|
+
"issue-report"
|
|
25
|
+
],
|
|
26
|
+
"license": "UNLICENSED",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"oh-langfuse": "^0.1.8",
|
|
29
|
+
"oh-aireport": "^0.1.1"
|
|
30
|
+
}
|
|
59
31
|
}
|
package/CODEX_LANGFUSE_PLAN.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Codex Langfuse implementation plan
|
|
2
|
-
|
|
3
|
-
## Goal
|
|
4
|
-
|
|
5
|
-
Add Codex support without depending on an unstable Codex plugin API. The first
|
|
6
|
-
version uses Codex's `notify` lifecycle command to trigger an exporter after a
|
|
7
|
-
turn, then the exporter reads Codex session JSONL files and sends the new events
|
|
8
|
-
to Langfuse.
|
|
9
|
-
|
|
10
|
-
## Architecture
|
|
11
|
-
|
|
12
|
-
```text
|
|
13
|
-
Codex turn ends
|
|
14
|
-
-> ~/.codex/config.toml notify command
|
|
15
|
-
-> ~/.codex/hooks/codex_langfuse_notify.py
|
|
16
|
-
-> incremental read of ~/.codex/sessions/**/*.jsonl
|
|
17
|
-
-> Langfuse trace / generation / tool observations
|
|
18
|
-
-> ~/.codex/langfuse/state.json stores offsets
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Files
|
|
22
|
-
|
|
23
|
-
- `codex_langfuse_notify.py`: Python notify hook and JSONL exporter.
|
|
24
|
-
- `scripts/codex-langfuse-setup.mjs`: installs the hook, writes Langfuse
|
|
25
|
-
config, creates `~/.codex/langfuse-venv`, updates `~/.codex/config.toml`,
|
|
26
|
-
and installs the Python SDK inside the venv.
|
|
27
|
-
- `scripts/codex-langfuse-check.mjs`: validates hook/config/session/package
|
|
28
|
-
availability.
|
|
29
|
-
- `bin/cli.js`: adds `setup codex` and `check codex`.
|
|
30
|
-
- `package.json`: adds Codex npm scripts and publishes the hook file.
|
|
31
|
-
|
|
32
|
-
## Commands
|
|
33
|
-
|
|
34
|
-
```sh
|
|
35
|
-
npm run codex:setup -- --userId=h00613222
|
|
36
|
-
npm run codex:check
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
or:
|
|
40
|
-
|
|
41
|
-
```sh
|
|
42
|
-
node bin/cli.js setup codex
|
|
43
|
-
node bin/cli.js check codex
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Restart Codex after setup so it reloads `~/.codex/config.toml`.
|
|
47
|
-
|
|
48
|
-
## Behavior
|
|
49
|
-
|
|
50
|
-
- The exporter reads Langfuse keys from environment variables first, then from
|
|
51
|
-
`~/.codex/langfuse/config.json`.
|
|
52
|
-
- It prefers a session path from the notify payload when Codex provides one.
|
|
53
|
-
If no path is present, it falls back to the latest session JSONL file.
|
|
54
|
-
- It fails open. Errors are logged to
|
|
55
|
-
`~/.codex/langfuse/codex_langfuse_notify.log` and never block Codex.
|
|
56
|
-
|
|
57
|
-
## Future improvements
|
|
58
|
-
|
|
59
|
-
- If Codex exposes a stable OTEL or plugin trace API, add it as an optional
|
|
60
|
-
second backend.
|
|
61
|
-
- Split shared Langfuse emit logic from the Claude and Codex Python hooks.
|
|
62
|
-
- Add a redaction layer before sending tool output to Langfuse.
|