feat(zcode-plugin-langfuse): add Langfuse observability plugin - #11
Open
erlinerd wants to merge 13 commits into
Open
feat(zcode-plugin-langfuse): add Langfuse observability plugin#11erlinerd wants to merge 13 commits into
erlinerd wants to merge 13 commits into
Conversation
Align with the source repository rename (erlinerd/zcode-plugin-langfuse): - plugins/langfuse-observability -> plugins/zcode-plugin-langfuse - plugin name, marketplace entry, and in-code identifiers - version 0.1.1 -> 0.2.0 (plugin id change is breaking for installed copies)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
zcode-plugin-langfuse, a community ZCode Hook plugin that sends onefail-open Langfuse trace named
ZCode Turnper completed turn.Stopand reads only fields delivered by ZCodeHook stdin.
do not block ZCode.
size-bounded.
Update: official plugin template layout (2026-09-14, v0.2.3)
This head reworks the shipped plugin directory to match the official template
(
zcode-plugins-official/example-plugin) layout, generated by the sourcerepository's unified build (
npm run package:plugin) at source tagv0.2.3(commit
134b4fe):plugins/zcode-plugin-langfuse/now contains exactly 8 files:.zcode-plugin/plugin.json,.claude-plugin/plugin.json(identical copy),hooks/hooks.json(pointing athooks/entry.mjs), the sealedhooks/entry.mjsesbuild bundle,README.md,README_CN.md,LICENSE,and
THIRD_PARTY_NOTICES.md.payload/nesting and the artifactpackage.jsonare gone. Verifiedwith
diff -ragainst the source build output: byte-for-byte identical.hooks/entry.mjs(official template path), notdist/hooks/entry.mjs;the
artifacts/plugin-layoutstaging path no longer exists (the build nowemits
dist/plugins/<name>/directly).Marketplace registration (updated in this push)
plugins/zcode-plugin-langfuse0.2.3developer-tools(moved from the proposedobservability, whichis not in the validator's allowed set)
description_i18n(en + zh-CN)deep-equal to
.zcode-plugin/plugin.json, per the validator rule.python3 scripts/validate.pyon this head reportsOK: 20 plugin(s) validated(exit 0);git diff --checkis clean.Review fixes
options are selected only for the exact
ZCODE_PLUGIN_ID.max_capture_chars.reads, local state writes, HTTPS network access, command-execution boundaries,
and transcript/privacy boundaries.
THIRD_PARTY_NOTICES.mdidentifieslangfuse3.38.20,langfuse-core3.38.20, andmustache4.2.0, all MIT-licensed, withprovenance links.
Provenance and side effects
langfuseJavaScript SDK, so the catalogcopy needs no runtime npm install; it talks to the same Langfuse HTTPS
ingestion API through Node's built-in
fetch.telemetry publishing.
ZCODE_PLUGIN_DATAwhenavailable, or the ZCode plugin data fallback; state is cleaned up after a
completed
Stop.nodewith the current user's permissions. Theplugin does not spawn a shell or execute user commands.
are included.
Verification (2026-09-14, this head)
Catalog checkout:
python3 scripts/validate.py→OK: 20 plugin(s) validatedgit diff --checkclean; working tree cleanplugins/zcode-plugin-langfuse/byte-identical to the source build output(
diff -r)Source repository (tag
v0.2.3):Stophookreturns
{}and leaves zero state files) and a release-ZIP shape checknpm audit --omit=dev --audit-level=high→ 0 vulnerabilitiesRuntime smoke (real ZCode session on the installed v0.2.3 build, verified via
the Langfuse API on 2026-09-14):
ZCode Turntraces at11:10:52Zand11:19:41Z, both withrelease=0.2.3, assistantGENERATIONobservation present, and one turnadditionally carrying a tool
SPAN; local state cleaned up after eachStop. No credentials, prompts, tool payloads, or transcripts were exposedduring verification.
Earlier updates (history)
snapshot (see below); superseded by the 2026-09-14 layout update above.
zcode-plugin-langfuserename (v0.2.0) and laterthe v0.2.1 → v0.2.3 syncs.
Update: catalog-ready bundle layout (2026-09-13) — superseded
This section described the
payload/dist/hooks/entry.mjsentry point and theartifacts/plugin-layoutstaging path of the v0.2.1 build. Both are replacedby the 2026-09-14 official-template layout above; kept for history.