mvanhorn--last30days-skill
2860fb5d18
Security / Dependency review (push) Has been skipped
Scorecard / Scorecard analysis (push) Failing after 0s
Security / Dependency audit (push) Failing after 1s
Security / Secret scan (push) Failing after 1s
Validate / eval (push) Failing after 0s
Validate / tests (push) Failing after 0s
Validate / mcp-tests (push) Failing after 1s
GitHub Actions Security Analysis with zizmor 🌈 / zizmor (push) Failing after 1s
Security / SAST scan (push) Failing after 13m52s
27 行
978 B
Go
27 行
978 B
Go
// Package engine wraps the vendored Python last30days engine. The engine
|
|
// is embedded at build time via //go:embed and extracted into a per-user
|
|
// cache directory on first use, then invoked through python3 in a
|
|
// subprocess. Consumers should call EnsureUserCache to materialize the
|
|
// engine and Run to execute it.
|
|
package engine
|
|
|
|
import (
|
|
"embed"
|
|
"io/fs"
|
|
)
|
|
|
|
// EngineSourceDir is the embed root inside the binary. scripts/sync-engine.sh
|
|
// mirrors skills/last30days/scripts/ into this directory before each build.
|
|
// The all: prefix preserves files starting with "." or "_" so the .gitkeep
|
|
// anchor file survives - without it the embed would error before sync runs.
|
|
//
|
|
//go:embed all:vendored
|
|
var vendored embed.FS
|
|
|
|
// EngineFS returns the embedded engine as a filesystem rooted at the
|
|
// vendored/ directory contents (so callers see "last30days.py" at the
|
|
// root, not "vendored/last30days.py").
|
|
func EngineFS() (fs.FS, error) {
|
|
return fs.Sub(vendored, "vendored")
|
|
}
|