mirror of
https://github.com/mudler/LocalAI.git
synced 2026-08-02 19:40:11 -04:00
* chore(deps): bump cogito to v0.11 ahead of the nib harness nib is the agent harness that becomes 'local-ai chat'. It requires cogito v0.11, so pull that bump forward on its own: minimal version selection would apply it to LocalAI anyway, and both repos use cogito and cogito/clients. Landing it separately keeps the harness change reviewable. nib itself is not pinned yet. Nothing in LocalAI imports it, and 'go mod tidy' runs as a goreleaser before-hook in CI, so an unimported require line does not survive. It lands with its first importer. No LocalAI call site needed a change. Both cogito.WithMaxAttempts callers guard the argument above zero, so v0.11's new clamp is unreachable, and LocalAI's Multimedia values implement only URL(), so v0.11's new TypedMultimedia routing treats them as images exactly as v0.10 did. Binary size (cmd/local-ai): 200,301,381 -> 200,336,045 bytes (+34,664). A throwaway probe that links nib measured 201,042,243 bytes (+740,862 over the pre-change baseline). Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * feat(chat): resolve and seed the agent state directory Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): write the agent config atomically and tighten its modes Replacing config.yaml in place truncated it first, so an interrupted write would have destroyed the api_key nib keeps in the same file. Stage through a sibling temp file and rename over the target instead, and match nib's 0700 directory mode. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * feat(chat): probe the endpoint and classify failures Probe lists what a LocalAI endpoint advertises and separates the two failures that need different advice: nothing listening, and rejected credentials. go-openai reports a rejected key as one of two concrete types depending on the error body, and both occur against a real LocalAI. The normal error handler sends an OpenAI error envelope, which arrives as *openai.APIError; the opaque-errors handler replies with a bare status and no body, which arrives as *openai.RequestError. Classifying on only one of them misses half the cases, so the status is read from either. A cancelled probe is not reported as an unreachable server, because it learned nothing about the endpoint, and neither is a reply that could not be parsed, because something did answer. Both would otherwise send the user off to start a server that may already be running. The model list is returned verbatim and in server order. LocalAI lists whatever it finds in the models directory, including stray archives and dotfiles, and deciding which advertised ids are real belongs to whoever presents them. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * feat(chat): resolve the model from flag, config, or the server Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * test(chat): pin that model resolution sorts a copy of the caller's slice The sort spec asserted only on what the chooser was offered, so replacing the defensive copy with an in-place sort of req.Available still passed all 37 specs. Assert the input slice's order after the call, so the guarantee cannot be dropped silently by a later refactor. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * feat(chat): offer to start a server when none is reachable Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): bound the server wait and pin readiness and stop semantics Set cmd.WaitDelay so a backend subprocess holding the child's stderr pipe cannot block cmd.Wait forever, which would leave exited unclosed, burn the whole shutdown grace on a clean exit, and leak the waiter goroutine. Two test gaps closed alongside it: the readiness spec now counts polls, so treating 503 as ready is observable, and Stop's single-interrupt contract is pinned by giving StartedServer interrupt/kill hooks that a spec can count. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactor(chat): drive Stop through one process interface, hide exec plumbing Two independent interrupt/kill func fields plus a nil check admitted wirings no test could distinguish: the pair swapped, so a SIGKILL would strand the backends SIGINT exists to let local-ai run clean up, or kill left nil, so a wedged server never escalates. One two-method interface that *os.Process already satisfies leaves nothing to swap and nothing to nil. Also translate exec.ErrWaitDelay, whose text names an os/exec struct field, into what the user can act on. os/exec only substitutes that sentinel when the process exited without an error of its own, so no exit status is swallowed. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * feat(chat): replace the REPL with the built-in agent local-ai chat is now the nib agent harness compiled into the binary: tool use behind an approval gate, sub-agents, MCP, plugins, and skills, all auto-configured against the local server. The REPL goes with it. Its model listing and its 401 classifier were duplicates of the ones Probe now owns, and the classifier was the version that misreads a bare 401 with no OpenAI error envelope, so keeping either would leave the package with two divergent answers to the same question. github.com/mudler/nib lands in go.mod in this commit rather than earlier: go mod tidy runs as a goreleaser before-hook on every PR, so a require line with no importer is stripped before it reaches CI. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactor(chat): split the pre-agent phase out of Run and pin it Everything before the handoff is testable and nothing after it is: once app.Run owns the terminal there is no seam left. prepare draws that line, takes interactivity as a parameter so the prompts can be driven over a pipe, and hands Run the state dir, the model, and any server it started. The questions move onto one prompter that owns its buffered reader. A fresh bufio.Reader per question reads ahead and discards what it buffered, so the model choice typed behind an answer to "start a server?" was lost and the next question saw EOF. choose answers with a list index and refuses an empty offer, so a value that was never on the list cannot reach ResolveModel, which persists it and starts every later run against it. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): bound each server check with a deadline Nothing bounded the model listing, so pointing chat at an address that accepts the connection and then never replies left the user with no output and no offer to start a server. The budget is context.WithTimeout rather than a cancel plus a timer. Probe deliberately refuses to call an endpoint unreachable on a context.Canceled, since a caller who gave up learned nothing about the server, and only honours a deadline. A cancel-based budget therefore expires as the one error that suppresses ErrUnreachable, exactly for the hung servers the offer exists to rescue. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): tell the user when their model choice cannot be saved The choice is meant to be asked for once. When saving it fails the user is silently asked again on the next run, and the only trace was an xlog.Warn: the agent runs at log level error, and a --log-level=error run swallows it entirely. ModelRequest gains Notify for exactly this class of problem, one that is worth telling the user about but not worth failing over, and the chat wiring points it at the same writer the question was asked on. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): stop a session's server when the process is signalled A server started for the session is stopped by a deferred call, and a signal skips deferred calls: a SIGTERM between the spawn and the exit left 'local-ai run' reparented to init with nothing left that knew to shut it down. Ctrl+C was already safe, but only incidentally, because the child shares this process' foreground process group. A signal handler rather than Pdeathsig on the child. Pdeathsig is Linux-only and, in Go, is delivered when the OS thread that forked exits rather than when the process does, so it can fire on a healthy parent. Setpgid would break the Ctrl+C that works today by taking the child out of the foreground group. SIGHUP joins SIGINT and SIGTERM: a terminal program whose terminal is gone has nobody left to talk to. The same context is what cancels the agent, which nib leaves to its embedder. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): only skip the server checks for work that stays local Two argument shapes were classified wrongly. Every 'mcp ...' invocation counted as management, so 'local-ai chat mcp --stdio', which serves the agent over MCP and needs a model like any other session, was handed an empty one. And --init, whose shell snippet a user pastes into an rc file long before any server exists, went the other way: it demanded a running server to print a static string. The mcp split is asked of nib's own IsMCPManageSubcommand rather than restated here, so a verb added upstream cannot drift out of this list. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): exit with the agent's status instead of reporting it twice nib writes what went wrong to stderr and returns nothing but an exit code, so returning that error unchanged had main log "Error running the application error=exit status 1" underneath the message the user had just read. The refusal to render the full-screen interface into a pipe is the one they meet in practice: it names --cli, and burying that hides the fix. ExitCodeError says "already reported, exit with this status". main honours it and prints nothing more, so a piped or redirected chat still fails a script the way it should. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * style(chat): route interactive chatter through one writer helper The prompts and notices all write to a terminal, where a failed write is not worth failing the session over and the read that follows the question reports the real problem. say says that once instead of five discarded error returns. The command's one-line help comes along: chat is no longer "an interactive chat session". Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs(chat): record why the agent gets this process' streams Injecting them is what makes nib refuse to draw its full-screen interface into a pipe and name --cli, instead of rendering onto a terminal the caller may not own. The tradeoff is worth stating where the wiring is. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): stop the session's server on cancellation, not on the way out The deferred Stop is reached only if the agent returns, and cancelling the context does not make it: nib hands the TUI to bubbletea without the context, so what actually unwinds a running session today is bubbletea's own SIGINT and SIGTERM handler. SIGHUP has no such backstop, and registering for it removed the default disposition that used to end the process outright, so kill -HUP left a live TUI with a cancelled context and the started server still running. runSession watches the context alongside the agent and stops the server the moment it is cancelled, so the guarantee no longer depends on what the agent does with cancellation. Stop is idempotent, so the deferred call stays correct and free. The doc comment on shutdownContext described the mechanism it was supposed to work by rather than the one that does. Corrected, bubbletea's handler included. ResolveModel now checks the chooser's answer against what it offered. The shipped chooser answers by list index and cannot be wrong, but ModelChooser is exported, the answer is persisted, and every later run starts against it, so the invariant belongs at the consumer. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * chore(chat): bump nib to v0.5.1 v0.5.1 carries four fixes that matter to 'local-ai chat': - --init now names the embedder's command, so the emitted widget invokes 'local-ai chat' rather than a bare 'nib' the user does not have. - A piped CLI session that succeeds exits 0 instead of failing with EOF. - EOF at a tool-approval prompt denies the call rather than approving it, and the session exits 3 (app.ExitCodeApprovalNoInput) so a script can tell "answered" from "refused to act" without reading stdout. Read-only tools are unaffected and still run. ExitStatus already unwraps app.ExitError, so the code propagates with no change here. - RunTUI passes the context to bubbletea and gives up bubbletea's own signal handler, which makes shutdownContext the single owner of the signal and stops a SIGHUP leaving a wedged TUI behind. Verified against a live server on 127.0.0.1:8080: the three --init shells, a piped prompt exiting 0, a denied 'touch' that left no file and exited 3, a read-only 'ls' that still ran and exited 0, and a SIGHUP that unwound a TUI running under a pty. Two comment blocks in run.go described the old TUI behavior and are now wrong, so they are corrected in the same change. No behavior change: both shutdownContext and runSession are untouched, and stopping the server on cancellation is still worth keeping independent of how promptly nib unwinds. One known gap, not addressed here. The widget --init now emits runs 'output=$(local-ai chat --height 50%)', and runAgent injects Stdout unconditionally, so under $(...) nib refuses the TUI for a non-terminal stream. This is the cost the runAgent comment already anticipated, now that the snippets no longer hardcode standalone nib. Ctrl+Space should not be documented until that is decided. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): let nib own stdout, so the Ctrl+Space widget works The widget 'local-ai chat --init' emits runs 'output=$(local-ai chat --height 50%)', which puts a pipe on stdout by construction. runAgent injected os.Stdout unconditionally, and nib refuses every mode but --cli when a stream it was handed is not a terminal, so Ctrl+Space printed "Re-run with --cli to use the injected streams" and inserted nothing. Verified against a pty before and after. nib reads a nil stream as "not injected" and falls back to the process stream, which is how an embedder asks for nib's own behavior. That is what stdout needs: the interface renders on /dev/tty but writes the chosen command to stdout even when stdout is a pipe, and that write is the whole of the shell-capture idiom. Stdin is deliberately left injected. A piped or redirected stdin really is ignored by the interface, so the refusal is the honest answer there, and it is the one users meet: 'echo q | local-ai chat' still says to re-run with --cli, once, exit 1. Nilling stdin the way stdout is nilled would delete that silently. Stderr is not gated by nib at all and is unchanged. One case does change and cannot be kept: 'local-ai chat > out.txt' from a terminal no longer refuses, because it is indistinguishable from the widget. It renders on /dev/tty and writes the capture line to the file, which is what standalone nib does. The app.Options literal moves into agentOptions so the decision is reachable from a spec rather than being a detail of a function that takes the terminal. Both sides of the asymmetry are pinned: reinstating 'Stdout: opts.Out' fails "hands nib nothing for the process stdout", and nilling stdin fails "hands the process stdin over". Also rewrites the last comments describing the pre-v0.5.1 behavior. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs(chat): say what the stream refusal actually keys on Two comments still called it the refusal to render the interface "into a pipe". That was true when both stdin and stdout were injected, but a pipe on stdout no longer refuses, so the wording now points at precisely the case that was un-refused to make Ctrl+Space work. Only a stdin that cannot be read triggers it, and both comments now say so and name the command a user meets it with, 'echo q | local-ai chat'. The agentOptions doc also said a "file a caller chose" stays injected and refused, which reads as though 'local-ai chat > out.txt' still refuses. It does not: a shell redirect arrives as os.Stdout and is nil-ed like the widget's pipe, because the two differ only in being a regular file rather than a FIFO and nib's gate does not look at that. What stays injected is a writer an in-process caller chose for itself. Says that now, in the doc and in the spec comment that had the same ambiguity. Comments only. No behavior change. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: local-ai chat is now the built-in terminal agent `local-ai chat` was a plain chat prompt and is now an agent that runs shell commands behind an approval gate, so the pages that described a REPL were wrong rather than merely thin. Adds a Terminal agent feature page at /features/terminal-agent covering the approval gate, piped runs and their exit codes, Ctrl+Space, model resolution, state directory, and the pass-through management commands (including the `--yes` caveat that leaves a plugin installed but disabled in a script). The three-way "looking for something else" notice becomes four-way and moves into an agentic-routing shortcode. Four hand-kept copies of the same paragraph is what produced the drift the new page would otherwise have added to; the shortcode takes `current=` so each page still marks itself, and errors the build on a name that is not one of the four. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * website: the agent is in the binary, not a second install The nib section sold a separate tool you also install, with a GitHub link as the only way in, which is now the wrong order: the agent ships compiled into local-ai, and the standalone binary is the second reason to care rather than the first. Leads with `local-ai chat`, keeps nib as the SSH-anywhere story, and adds a docs CTA pointing at the new Terminal agent page. id="nib" is left alone because localai.io/#nib is linked from outside. The two credits on the demo clip named nib as the thing that drove the machine; they now credit the agent in LocalAI, which is the same agent. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * website: fix the exit keys, the plugin warning, and the redirect gap Three claims on the chat-agent pages that the code does not back. try-it-out told readers to press Ctrl+D. nib has no Ctrl+D handler: the full-screen interface quits on Esc or Ctrl+C, and Ctrl+D is only an exit in --cli, where it arrives as ordinary tty EOF. That sentence had replaced the removed /exit and /quit text, so the page was left with no working way to leave a session. Document both modes, since they differ. The plugin warning said nothing tells you the install stopped short. It does: the command prints that the plugin was left disabled. What it does not do is say so in its exit code, which is 0 either way. That is the part a script cannot work around, and it is the reason to pass --yes. Overstating it in the paragraph that gives the advice only makes the advice easier to dismiss. Redirecting stdout no longer refuses; the interface goes to /dev/tty and only the yanked command reaches the file. It is what lets the Ctrl+Space widget capture a command at all, since a redirect and out=$(...) are the same thing to the stream gate. It was documented nowhere. A non-terminal stdin is still refused, and the new text says which of the two it is. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): make the CLI flags outrank the agent config file local-ai chat routed --endpoint, --model, --api-key, --trace-dir and --yolo through nib's app.Options.Defaults. Defaults are seeds: they sit beneath the config file, so the file silently undoes them. That made the flags accepted and inert, and not in an edge case, since EnsureStateDir writes base_url on the first run and the interactive picker writes model, so from the second run on the file carried a value for both. Observed against a live server: with base_url: http://127.0.0.1:9999/v1 in the config and --endpoint http://127.0.0.1:8080 on the command line, the probe hit 8080 and every agent turn posted to 9999. With model: gemma-4-e2b-it-qat-q4_0 in the config, --model lfm2.5-8b-a1b was ignored on the wire. nib v0.6.0 adds app.Options.Overrides, applied above the config file and above the bare environment block. Move the whole block there: all five values are decisions this invocation already made on the user's behalf, and a flag the config file can undo is not a flag. Nothing is left in Defaults, because LocalAI's one genuine seed, the initial base_url, is written into the config file by EnsureStateDir rather than handed to nib. Two limits come with the channel and are documented on agentOptions rather than worked around. An override can only raise a field, since nib cannot tell "set to the zero value" from "not set", so --yolo can turn approval off but nothing on the command line turns it back on over an approval_mode: auto in the file. And nib's own NIB_TRACE_DIR and NIB_YOLO are resolved after the config load and still outrank these, deliberately, upstream. The existing spec pinned that the right values reach app.Options, which they always did, which is exactly why it could not see nib discarding them. The new specs resolve the config the way app.Run resolves it, against a real config file that disagrees with every flag, and one asserts Defaults stays empty. docs/content/features/terminal-agent.md already documented --model as winning over the saved model; that was false before this change and is true now, so no docs edit was needed. Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(chat): document intentional config file read Assisted-by: Codex:gpt-5 [gosec] --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com>
530 lines
26 KiB
Modula-2
530 lines
26 KiB
Modula-2
module github.com/mudler/LocalAI
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
dario.cat/mergo v1.0.2
|
|
fyne.io/fyne/v2 v2.7.3
|
|
github.com/Masterminds/sprig/v3 v3.3.0
|
|
github.com/alecthomas/kong v1.15.0
|
|
github.com/anthropics/anthropic-sdk-go v1.42.0
|
|
github.com/aws/aws-sdk-go-v2 v1.41.7
|
|
github.com/aws/aws-sdk-go-v2/config v1.32.16
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.19.17
|
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.99.1
|
|
github.com/charmbracelet/glamour v1.0.0
|
|
github.com/containerd/containerd v1.7.31
|
|
github.com/coreos/go-oidc/v3 v3.18.0
|
|
github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8
|
|
github.com/ebitengine/purego v0.10.0
|
|
github.com/emirpasic/gods/v2 v2.0.0-alpha
|
|
github.com/fsnotify/fsnotify v1.10.1
|
|
github.com/go-audio/wav v1.1.0
|
|
github.com/go-skynet/go-llama.cpp v0.0.0-20240314183750-6a8041ef6b46
|
|
github.com/gofrs/flock v0.13.0
|
|
github.com/google/go-containerregistry v0.21.6
|
|
github.com/google/uuid v1.6.0
|
|
github.com/gpustack/gguf-parser-go v0.24.0
|
|
github.com/hpcloud/tail v1.0.0
|
|
github.com/ipfs/go-log v1.0.5
|
|
github.com/jaypipes/ghw v0.24.0
|
|
github.com/joho/godotenv v1.5.1
|
|
github.com/klauspost/cpuid/v2 v2.3.0
|
|
github.com/labstack/echo/v4 v4.15.1
|
|
github.com/libp2p/go-libp2p v0.48.0
|
|
github.com/lithammer/fuzzysearch v1.1.8
|
|
github.com/mholt/archiver/v3 v3.5.1
|
|
github.com/microcosm-cc/bluemonday v1.0.27
|
|
github.com/modelcontextprotocol/go-sdk v1.5.0
|
|
github.com/mudler/cogito v0.11.1-0.20260721122412-6eece18a6bb6
|
|
github.com/mudler/edgevpn v0.34.0
|
|
github.com/mudler/go-processmanager v0.1.2-0.20260720195933-3d64f5c974fc
|
|
github.com/mudler/memory v0.0.0-20260406210934-424c1ecf2cf8
|
|
github.com/mudler/nib v0.6.0
|
|
github.com/mudler/xlog v0.0.6
|
|
github.com/nats-io/jwt/v2 v2.7.4
|
|
github.com/nats-io/nats.go v1.52.0
|
|
github.com/nats-io/nkeys v0.4.15
|
|
github.com/ollama/ollama v0.20.4
|
|
github.com/onsi/ginkgo/v2 v2.29.0
|
|
github.com/onsi/gomega v1.41.0
|
|
github.com/openai/openai-go/v3 v3.26.0
|
|
github.com/otiai10/copy v1.14.1
|
|
github.com/otiai10/openaigo v1.7.0
|
|
github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5
|
|
github.com/prometheus/client_golang v1.23.2
|
|
github.com/robfig/cron/v3 v3.0.1
|
|
github.com/russross/blackfriday v1.6.0
|
|
github.com/sashabaranov/go-openai v1.41.2
|
|
github.com/schollz/progressbar/v3 v3.19.0
|
|
github.com/shirou/gopsutil/v3 v3.24.5
|
|
github.com/sigstore/sigstore-go v1.1.4
|
|
github.com/streamer45/silero-vad-go v0.2.1
|
|
github.com/swaggo/echo-swagger v1.5.2
|
|
github.com/swaggo/swag v1.16.6
|
|
github.com/testcontainers/testcontainers-go v0.42.0
|
|
github.com/testcontainers/testcontainers-go/modules/nats v0.42.0
|
|
github.com/testcontainers/testcontainers-go/modules/postgres v0.42.0
|
|
github.com/timbutler/zxcvbn v1.0.4
|
|
github.com/valkey-io/valkey-go v1.0.76
|
|
github.com/valkey-io/valkey-go/mock v1.0.76
|
|
github.com/yalue/onnxruntime_go v1.11.0
|
|
go.opentelemetry.io/otel v1.44.0
|
|
go.opentelemetry.io/otel/exporters/prometheus v0.66.0
|
|
go.opentelemetry.io/otel/metric v1.44.0
|
|
go.opentelemetry.io/otel/sdk/metric v1.44.0
|
|
google.golang.org/grpc v1.80.0
|
|
google.golang.org/protobuf v1.36.11
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
gorm.io/driver/postgres v1.6.0
|
|
gorm.io/driver/sqlite v1.6.0
|
|
gorm.io/gorm v1.31.1
|
|
oras.land/oras-go/v2 v2.6.0
|
|
)
|
|
|
|
require (
|
|
filippo.io/bigmod v0.1.1-0.20260103110540-f8a47775ebe5 // indirect
|
|
filippo.io/keygen v0.0.0-20260114151900-8e2790ea4c5b // indirect
|
|
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
|
github.com/atotto/clipboard v0.1.4 // indirect
|
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.9 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.14 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.22 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.0 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1 // indirect
|
|
github.com/aws/smithy-go v1.25.1 // indirect
|
|
github.com/bahlo/generic-list-go v0.2.0 // indirect
|
|
github.com/blang/semver v3.5.1+incompatible // indirect
|
|
github.com/buger/jsonparser v1.1.2 // indirect
|
|
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
|
|
github.com/charmbracelet/bubbles v0.21.0 // indirect
|
|
github.com/charmbracelet/bubbletea v1.3.10 // indirect
|
|
github.com/chromedp/cdproto v0.0.0-20260321001828-e3e3800016bc // indirect
|
|
github.com/chromedp/chromedp v0.15.1 // indirect
|
|
github.com/chromedp/sysutil v1.1.0 // indirect
|
|
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 // indirect
|
|
github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352 // indirect
|
|
github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7 // indirect
|
|
github.com/dunglas/httpsfv v1.1.0 // indirect
|
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
|
github.com/filecoin-project/go-clock v0.1.0 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
|
|
github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433 // indirect
|
|
github.com/go-openapi/analysis v0.24.1 // indirect
|
|
github.com/go-openapi/errors v0.22.4 // indirect
|
|
github.com/go-openapi/loads v0.23.2 // indirect
|
|
github.com/go-openapi/runtime v0.29.2 // indirect
|
|
github.com/go-openapi/strfmt v0.25.0 // indirect
|
|
github.com/go-openapi/swag/cmdutils v0.25.4 // indirect
|
|
github.com/go-openapi/swag/conv v0.25.4 // indirect
|
|
github.com/go-openapi/swag/fileutils v0.25.4 // indirect
|
|
github.com/go-openapi/swag/jsonname v0.25.4 // indirect
|
|
github.com/go-openapi/swag/jsonutils v0.25.4 // indirect
|
|
github.com/go-openapi/swag/loading v0.25.4 // indirect
|
|
github.com/go-openapi/swag/mangling v0.25.4 // indirect
|
|
github.com/go-openapi/swag/netutils v0.25.4 // indirect
|
|
github.com/go-openapi/swag/stringutils v0.25.4 // indirect
|
|
github.com/go-openapi/swag/typeutils v0.25.4 // indirect
|
|
github.com/go-openapi/swag/yamlutils v0.25.4 // indirect
|
|
github.com/go-openapi/validate v0.25.1 // indirect
|
|
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
|
|
github.com/gobwas/httphead v0.1.0 // indirect
|
|
github.com/gobwas/pool v0.2.1 // indirect
|
|
github.com/gobwas/ws v1.4.0 // indirect
|
|
github.com/google/certificate-transparency-go v1.3.2 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect
|
|
github.com/in-toto/attestation v1.1.2 // indirect
|
|
github.com/in-toto/in-toto-golang v0.9.0 // indirect
|
|
github.com/invopop/jsonschema v0.13.0 // indirect
|
|
github.com/jinzhu/inflection v1.0.0 // indirect
|
|
github.com/jinzhu/now v1.1.5 // indirect
|
|
github.com/jolestar/go-commons-pool/v2 v2.1.2 // indirect
|
|
github.com/klippa-app/go-pdfium v1.19.2 // indirect
|
|
github.com/mattn/go-localereader v0.0.1 // indirect
|
|
github.com/mattn/go-sqlite3 v1.14.28 // indirect
|
|
github.com/moby/moby/api v1.54.2 // indirect
|
|
github.com/moby/moby/client v0.4.1 // indirect
|
|
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
github.com/oklog/ulid v1.3.1 // indirect
|
|
github.com/secure-systems-lab/go-securesystemslib v0.9.1 // indirect
|
|
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
|
github.com/sigstore/protobuf-specs v0.5.1 // indirect
|
|
github.com/sigstore/rekor v1.4.3 // indirect
|
|
github.com/sigstore/rekor-tiles/v2 v2.0.1 // indirect
|
|
github.com/sigstore/sigstore v1.10.0 // indirect
|
|
github.com/sigstore/timestamp-authority/v2 v2.0.3 // indirect
|
|
github.com/standard-webhooks/standard-webhooks/libraries v0.0.0-20260508151727-1282bb917829 // indirect
|
|
github.com/stretchr/testify v1.11.1 // indirect
|
|
github.com/sv-tools/openapi v0.2.1 // indirect
|
|
github.com/swaggo/swag/v2 v2.0.0-rc4 // indirect
|
|
github.com/tetratelabs/wazero v1.11.0 // indirect
|
|
github.com/theupdateframework/go-tuf/v2 v2.3.0 // indirect
|
|
github.com/tmc/langchaingo v0.1.14 // indirect
|
|
github.com/transparency-dev/formats v0.0.0-20251017110053-404c0d5b696c // indirect
|
|
github.com/transparency-dev/merkle v0.0.2 // indirect
|
|
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
|
|
go.mongodb.org/mongo-driver v1.17.6 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect
|
|
sigs.k8s.io/yaml v1.6.0 // indirect
|
|
)
|
|
|
|
require (
|
|
github.com/JohannesKaufmann/dom v0.2.0 // indirect
|
|
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0 // indirect
|
|
github.com/ProtonMail/go-crypto v1.1.6 // indirect
|
|
github.com/PuerkitoBio/goquery v1.10.3 // indirect
|
|
github.com/RoaringBitmap/roaring/v2 v2.4.5 // indirect
|
|
github.com/andybalholm/cascadia v1.3.3 // indirect
|
|
github.com/antchfx/htmlquery v1.3.4 // indirect
|
|
github.com/antchfx/xmlquery v1.4.4 // indirect
|
|
github.com/antchfx/xpath v1.3.6 // indirect
|
|
github.com/bits-and-blooms/bitset v1.24.0 // indirect
|
|
github.com/blevesearch/bleve/v2 v2.5.7 // indirect
|
|
github.com/blevesearch/bleve_index_api v1.2.11 // indirect
|
|
github.com/blevesearch/geo v0.2.4 // indirect
|
|
github.com/blevesearch/go-faiss v1.0.26 // indirect
|
|
github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
|
|
github.com/blevesearch/gtreap v0.1.1 // indirect
|
|
github.com/blevesearch/mmap-go v1.0.4 // indirect
|
|
github.com/blevesearch/scorch_segment_api/v2 v2.3.13 // indirect
|
|
github.com/blevesearch/segment v0.9.1 // indirect
|
|
github.com/blevesearch/snowballstem v0.9.0 // indirect
|
|
github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect
|
|
github.com/blevesearch/vellum v1.1.0 // indirect
|
|
github.com/blevesearch/zapx/v11 v11.4.2 // indirect
|
|
github.com/blevesearch/zapx/v12 v12.4.2 // indirect
|
|
github.com/blevesearch/zapx/v13 v13.4.2 // indirect
|
|
github.com/blevesearch/zapx/v14 v14.4.2 // indirect
|
|
github.com/blevesearch/zapx/v15 v15.4.2 // indirect
|
|
github.com/blevesearch/zapx/v16 v16.2.8 // indirect
|
|
github.com/bwmarrin/discordgo v0.29.0 // indirect
|
|
github.com/cloudflare/circl v1.6.3 // indirect
|
|
github.com/cyphar/filepath-securejoin v0.6.1 // indirect
|
|
github.com/emersion/go-imap/v2 v2.0.0-beta.5 // indirect
|
|
github.com/emersion/go-message v0.18.2 // indirect
|
|
github.com/emersion/go-sasl v0.0.0-20241020182733-b788ff22d5a6 // indirect
|
|
github.com/emersion/go-smtp v0.24.0 // indirect
|
|
github.com/emirpasic/gods v1.18.1 // indirect
|
|
github.com/eritikass/githubmarkdownconvertergo v0.1.10 // indirect
|
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
|
github.com/go-git/go-billy/v5 v5.9.0 // indirect
|
|
github.com/go-git/go-git/v5 v5.19.0 // indirect
|
|
github.com/go-telegram/bot v1.17.0 // indirect
|
|
github.com/gobwas/glob v0.2.3 // indirect
|
|
github.com/gocolly/colly v1.2.0 // indirect
|
|
github.com/gofiber/fiber/v2 v2.52.13 // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/gomarkdown/markdown v0.0.0-20260411013819-759bbc3e3207 // indirect
|
|
github.com/google/go-github/v69 v69.2.0 // indirect
|
|
github.com/google/go-querystring v1.1.0 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/pgx/v5 v5.9.2 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
github.com/jung-kurt/gofpdf v1.16.2 // indirect
|
|
github.com/kennygrant/sanitize v1.2.4 // indirect
|
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
|
github.com/labstack/gommon v0.4.2 // indirect
|
|
github.com/mschoch/smat v0.2.0 // indirect
|
|
github.com/mudler/LocalAGI v0.0.0-20260606071251-14aed1ae4336
|
|
github.com/mudler/localrecall v0.6.3 // indirect
|
|
github.com/mudler/skillserver v0.0.7-0.20260520220837-a7317cbf9145
|
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
|
github.com/oxffaa/gopher-parse-sitemap v0.0.0-20191021113419-005d2eb1def4 // indirect
|
|
github.com/philippgille/chromem-go v0.7.0 // indirect
|
|
github.com/pion/transport/v4 v4.0.1 // indirect
|
|
github.com/pjbgf/sha1cd v0.6.0 // indirect
|
|
github.com/rs/zerolog v1.31.0 // indirect
|
|
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect
|
|
github.com/segmentio/asm v1.1.3 // indirect
|
|
github.com/segmentio/encoding v0.5.4 // indirect
|
|
github.com/sergi/go-diff v1.4.0 // indirect
|
|
github.com/skeema/knownhosts v1.3.1 // indirect
|
|
github.com/slack-go/slack v0.17.3 // indirect
|
|
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
|
github.com/swaggo/files/v2 v2.0.2 // indirect
|
|
github.com/temoto/robotstxt v1.1.2 // indirect
|
|
github.com/thoj/go-ircevent v0.0.0-20210723090443-73e444401d64 // indirect
|
|
github.com/tidwall/gjson v1.18.0 // indirect
|
|
github.com/tidwall/match v1.2.0 // indirect
|
|
github.com/tidwall/pretty v1.2.1 // indirect
|
|
github.com/tidwall/sjson v1.2.5 // indirect
|
|
github.com/traefik/yaegi v0.16.1 // indirect
|
|
github.com/valyala/fasthttp v1.68.0 // indirect
|
|
github.com/valyala/fasttemplate v1.2.2 // indirect
|
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
|
go.etcd.io/bbolt v1.4.3 // indirect
|
|
go.mau.fi/util v0.3.0 // indirect
|
|
go.starlark.net v0.0.0-20250417143717-f57e51f710eb // indirect
|
|
google.golang.org/appengine v1.6.8 // indirect
|
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
jaytaylor.com/html2text v0.0.0-20230321000545-74c2419ad056 // indirect
|
|
maunium.net/go/maulogger/v2 v2.4.1 // indirect
|
|
maunium.net/go/mautrix v0.17.0 // indirect
|
|
mvdan.cc/xurls/v2 v2.6.0 // indirect
|
|
)
|
|
|
|
require (
|
|
fyne.io/systray v1.12.0 // indirect
|
|
github.com/BurntSushi/toml v1.5.0 // indirect
|
|
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
|
|
github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834 // indirect
|
|
github.com/charmbracelet/x/ansi v0.10.2 // indirect
|
|
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
|
|
github.com/charmbracelet/x/exp/slice v0.0.0-20250327172914-2fdc97757edf // indirect
|
|
github.com/charmbracelet/x/term v0.2.1 // indirect
|
|
github.com/containerd/errdefs/pkg v0.3.0 // indirect
|
|
github.com/containerd/platforms v0.2.1 // indirect
|
|
github.com/cpuguy83/dockercfg v0.3.2 // indirect
|
|
github.com/distribution/reference v0.6.0 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/fredbi/uri v1.1.1 // indirect
|
|
github.com/fyne-io/gl-js v0.2.0 // indirect
|
|
github.com/fyne-io/glfw-js v0.3.0 // indirect
|
|
github.com/fyne-io/image v0.1.1 // indirect
|
|
github.com/fyne-io/oksvg v0.2.0 // indirect
|
|
github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 // indirect
|
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a // indirect
|
|
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
|
|
github.com/go-text/render v0.2.0 // indirect
|
|
github.com/go-text/typesetting v0.3.3 // indirect
|
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
|
github.com/google/jsonschema-go v0.4.2 // indirect
|
|
github.com/hack-pad/go-indexeddb v0.3.2 // indirect
|
|
github.com/hack-pad/safejs v0.1.0 // indirect
|
|
github.com/jeandeaual/go-locale v0.0.0-20250612000132-0ef82f21eade // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25 // indirect
|
|
github.com/libp2p/go-yamux/v5 v5.1.0 // indirect
|
|
github.com/magiconair/properties v1.8.10 // indirect
|
|
github.com/moby/docker-image-spec v1.3.1 // indirect
|
|
github.com/moby/go-archive v0.2.0 // indirect
|
|
github.com/moby/patternmatcher v0.6.1 // indirect
|
|
github.com/moby/sys/user v0.4.0 // indirect
|
|
github.com/moby/sys/userns v0.1.0 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
|
|
github.com/nicksnyder/go-i18n/v2 v2.5.1 // indirect
|
|
github.com/otiai10/mint v1.6.3 // indirect
|
|
github.com/pion/datachannel v1.6.0 // indirect
|
|
github.com/pion/dtls/v3 v3.1.2 // indirect
|
|
github.com/pion/ice/v4 v4.2.2 // indirect
|
|
github.com/pion/interceptor v0.1.44 // indirect
|
|
github.com/pion/logging v0.2.4 // indirect
|
|
github.com/pion/mdns/v2 v2.1.0 // indirect
|
|
github.com/pion/randutil v0.1.0 // indirect
|
|
github.com/pion/rtcp v1.2.16 // indirect
|
|
github.com/pion/rtp v1.10.1
|
|
github.com/pion/sctp v1.9.4 // indirect
|
|
github.com/pion/sdp/v3 v3.0.18 // indirect
|
|
github.com/pion/srtp/v3 v3.0.10 // indirect
|
|
github.com/pion/stun/v3 v3.1.1 // indirect
|
|
github.com/pion/turn/v4 v4.1.4 // indirect
|
|
github.com/pion/webrtc/v4 v4.2.11
|
|
github.com/prometheus/otlptranslator v1.0.0 // indirect
|
|
github.com/rymdport/portal v0.4.2 // indirect
|
|
github.com/shirou/gopsutil/v4 v4.26.3 // indirect
|
|
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c // indirect
|
|
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
|
|
github.com/wlynxg/anet v0.0.5 // indirect
|
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
|
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect
|
|
go.uber.org/mock v0.6.0
|
|
go.yaml.in/yaml/v2 v2.4.4
|
|
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
|
golang.org/x/image v0.38.0 // indirect
|
|
golang.org/x/net v0.54.0 // indirect (for websocket)
|
|
golang.org/x/oauth2 v0.36.0
|
|
golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6 // indirect
|
|
golang.org/x/time v0.14.0 // indirect
|
|
)
|
|
|
|
require (
|
|
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
|
|
github.com/KyleBanks/depth v1.2.1 // indirect
|
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
|
github.com/Masterminds/semver/v3 v3.5.0 // indirect
|
|
github.com/Microsoft/go-winio v0.6.2 // indirect
|
|
github.com/Microsoft/hcsshim v0.11.7 // indirect
|
|
github.com/alecthomas/chroma/v2 v2.20.0 // indirect
|
|
github.com/andybalholm/brotli v1.2.0 // indirect
|
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
|
github.com/aymerick/douceur v0.2.0 // indirect
|
|
github.com/benbjohnson/clock v1.3.5 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/c-robinson/iplib v1.0.8 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0
|
|
github.com/containerd/cgroups v1.1.0 // indirect
|
|
github.com/containerd/continuity v0.4.4 // indirect
|
|
github.com/containerd/errdefs v1.0.0 // indirect
|
|
github.com/containerd/log v0.1.0 // indirect
|
|
github.com/creachadair/otp v0.5.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
|
|
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.1 // indirect
|
|
github.com/dlclark/regexp2 v1.11.5 // indirect
|
|
github.com/docker/cli v29.4.3+incompatible // indirect
|
|
github.com/docker/docker v28.5.2+incompatible
|
|
github.com/docker/docker-credential-helpers v0.9.3 // indirect
|
|
github.com/docker/go-connections v0.7.0 // indirect
|
|
github.com/docker/go-units v0.5.0 // indirect
|
|
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
|
|
github.com/flynn/noise v1.1.0 // indirect
|
|
github.com/go-audio/audio v1.0.0
|
|
github.com/go-audio/riff v1.0.0 // indirect
|
|
github.com/go-logr/logr v1.4.3 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-ole/go-ole v1.3.0 // indirect
|
|
github.com/go-openapi/jsonpointer v0.22.1 // indirect
|
|
github.com/go-openapi/jsonreference v0.21.3 // indirect
|
|
github.com/go-openapi/spec v0.22.1 // indirect
|
|
github.com/go-openapi/swag v0.25.4 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
|
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e // indirect
|
|
github.com/google/btree v1.1.3 // indirect
|
|
github.com/google/go-cmp v0.7.0 // indirect
|
|
github.com/google/gopacket v1.1.19 // indirect
|
|
github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect
|
|
github.com/gorilla/css v1.0.1 // indirect
|
|
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674
|
|
github.com/hashicorp/golang-lru v1.0.2 // indirect
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
|
github.com/henvic/httpretty v0.1.4 // indirect
|
|
github.com/huandu/xstrings v1.5.0 // indirect
|
|
github.com/huin/goupnp v1.3.0 // indirect
|
|
github.com/ipfs/boxo v0.39.0 // indirect
|
|
github.com/ipfs/go-cid v0.6.1 // indirect
|
|
github.com/ipfs/go-datastore v0.9.1 // indirect
|
|
github.com/ipfs/go-log/v2 v2.9.2 // indirect
|
|
github.com/ipld/go-ipld-prime v0.23.0 // indirect
|
|
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
|
|
github.com/jaypipes/pcidb v1.1.1
|
|
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
|
|
github.com/klauspost/compress v1.18.6
|
|
github.com/klauspost/pgzip v1.2.6 // indirect
|
|
github.com/koron/go-ssdp v0.0.6 // indirect
|
|
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
|
|
github.com/libp2p/go-cidranger v1.1.0 // indirect
|
|
github.com/libp2p/go-flow-metrics v0.3.0 // indirect
|
|
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
|
|
github.com/libp2p/go-libp2p-kad-dht v0.40.0 // indirect
|
|
github.com/libp2p/go-libp2p-kbucket v0.8.0 // indirect
|
|
github.com/libp2p/go-libp2p-pubsub v0.16.0 // indirect
|
|
github.com/libp2p/go-libp2p-record v0.3.1 // indirect
|
|
github.com/libp2p/go-libp2p-routing-helpers v0.7.5 // indirect
|
|
github.com/libp2p/go-msgio v0.3.0 // indirect
|
|
github.com/libp2p/go-netroute v0.4.0 // indirect
|
|
github.com/libp2p/go-reuseport v0.4.0 // indirect
|
|
github.com/libp2p/zeroconf/v2 v2.2.0 // indirect
|
|
github.com/lucasb-eyer/go-colorful v1.3.0 // indirect
|
|
github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect
|
|
github.com/mailru/easyjson v0.9.0 // indirect
|
|
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
|
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
|
github.com/mattn/go-isatty v0.0.22 // indirect
|
|
github.com/mattn/go-runewidth v0.0.17 // indirect
|
|
github.com/miekg/dns v1.1.72 // indirect
|
|
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
|
|
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
|
|
github.com/minio/sha256-simd v1.0.1 // indirect
|
|
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
|
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
|
github.com/moby/sys/sequential v0.6.0 // indirect
|
|
github.com/moby/term v0.5.2 // indirect
|
|
github.com/mr-tron/base58 v1.3.0 // indirect
|
|
github.com/mudler/go-piper v0.0.0-20241023091659-2494246fd9fc
|
|
github.com/mudler/water v0.0.0-20250808092830-dd90dcf09025 // indirect
|
|
github.com/muesli/reflow v0.3.0 // indirect
|
|
github.com/muesli/termenv v0.16.0 // indirect
|
|
github.com/multiformats/go-base32 v0.1.0 // indirect
|
|
github.com/multiformats/go-base36 v0.2.0 // indirect
|
|
github.com/multiformats/go-multiaddr v0.16.1
|
|
github.com/multiformats/go-multiaddr-dns v0.5.0 // indirect
|
|
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
|
|
github.com/multiformats/go-multibase v0.3.0 // indirect
|
|
github.com/multiformats/go-multicodec v0.10.0 // indirect
|
|
github.com/multiformats/go-multihash v0.2.3 // indirect
|
|
github.com/multiformats/go-multistream v0.6.1 // indirect
|
|
github.com/multiformats/go-varint v0.1.0 // indirect
|
|
github.com/nwaples/rardecode v1.1.0 // indirect
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
|
github.com/opencontainers/image-spec v1.1.1
|
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
|
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
|
|
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
|
|
github.com/pierrec/lz4/v4 v4.1.8 // indirect
|
|
github.com/pkg/errors v0.9.1
|
|
github.com/pkoukk/tiktoken-go v0.1.7 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/polydawn/refmt v0.89.1-0.20231129105047-37766d95467a // indirect
|
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.67.5 // indirect
|
|
github.com/prometheus/procfs v0.20.1 // indirect
|
|
github.com/quic-go/qpack v0.6.0 // indirect
|
|
github.com/quic-go/quic-go v0.59.0 // indirect
|
|
github.com/quic-go/webtransport-go v0.10.0 // indirect
|
|
github.com/rivo/uniseg v0.4.7
|
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
|
github.com/shopspring/decimal v1.4.0 // indirect
|
|
github.com/sirupsen/logrus v1.9.4 // indirect
|
|
github.com/smallnest/ringbuffer v0.0.0-20241116012123-461381446e3d // indirect
|
|
github.com/songgao/packets v0.0.0-20160404182456-549a10cd4091 // indirect
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/spf13/cast v1.10.0 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.16 // indirect
|
|
github.com/tklauser/numcpus v0.11.0 // indirect
|
|
github.com/ulikunitz/xz v0.5.14 // indirect
|
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
|
github.com/vishvananda/netlink v1.3.1 // indirect
|
|
github.com/vishvananda/netns v0.0.5 // indirect
|
|
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
|
|
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
|
|
github.com/yuin/goldmark v1.7.13 // indirect
|
|
github.com/yuin/goldmark-emoji v1.0.6 // indirect
|
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
|
go.opencensus.io v0.24.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.44.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.44.0 // indirect
|
|
go.uber.org/dig v1.19.0 // indirect
|
|
go.uber.org/fx v1.24.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.uber.org/zap v1.28.0 // indirect
|
|
golang.org/x/crypto v0.51.0
|
|
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect
|
|
golang.org/x/mod v0.36.0 // indirect
|
|
golang.org/x/sync v0.20.0
|
|
golang.org/x/sys v0.45.0 // indirect
|
|
golang.org/x/term v0.43.0
|
|
golang.org/x/text v0.37.0
|
|
golang.org/x/tools v0.45.0 // indirect
|
|
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
|
golang.zx2c4.com/wireguard v0.0.0-20250521234502-f333402bd9cb // indirect
|
|
golang.zx2c4.com/wireguard/windows v0.6.1 // indirect
|
|
gonum.org/v1/gonum v0.17.0 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect
|
|
gopkg.in/fsnotify.v1 v1.4.7 // indirect
|
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
|
howett.net/plist v1.0.2-0.20250314012144-ee69052608d9 // indirect
|
|
lukechampine.com/blake3 v1.4.1 // indirect
|
|
)
|