Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dagger/dagger-go-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.16.3
Choose a base ref
...
head repository: dagger/dagger-go-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.17.0
Choose a head ref
  • 4 commits
  • 10 files changed
  • 22 contributors

Commits on Mar 17, 2025

  1. fix incorrect Go SDK version.gen.go path (#9868)

    A recent change modified the path of the version.gen.go file the Go SDK
    uses to know which version of the CLI to autodownload. However, the path
    that our release CI uses was not changed, so we ended up in a situation
    where the new path wasn't changed (stayed on v0.16.2) but the old
    (unused) one was.
    
    This manually corrects the version.gen.go file and updates CI with the
    correct path.
    
    Signed-off-by: Erik Sipsma <erik@sipsma.dev>
    sipsma authored Mar 17, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    lukekarrys Luke Karrys
    Copy the full SHA
    eed2961 View commit details

Commits on Mar 19, 2025

  1. chore(deps): bump the engine group across 2 directories with 5 update…

    …s (#9873)
    
    Bumps the engine group with 4 updates in the / directory: [github.com/99designs/gqlgen](https://github.com/99designs/gqlgen), [github.com/charmbracelet/glamour](https://github.com/charmbracelet/glamour), [github.com/goproxy/goproxy](https://github.com/goproxy/goproxy) and [modernc.org/sqlite](https://gitlab.com/cznic/sqlite).
    Bumps the engine group with 1 update in the /sdk/go directory: [github.com/99designs/gqlgen](https://github.com/99designs/gqlgen).
    
    Updates `github.com/99designs/gqlgen` from 0.17.66 to 0.17.68
    - [Release notes](https://github.com/99designs/gqlgen/releases)
    - [Changelog](https://github.com/99designs/gqlgen/blob/master/CHANGELOG.md)
    - [Commits](99designs/gqlgen@v0.17.66...v0.17.68)
    
    Updates `github.com/charmbracelet/glamour` from 0.8.0 to 0.9.0
    - [Release notes](https://github.com/charmbracelet/glamour/releases)
    - [Changelog](https://github.com/charmbracelet/glamour/blob/master/.goreleaser.yml)
    - [Commits](charmbracelet/glamour@v0.8.0...v0.9.0)
    
    Updates `github.com/charmbracelet/lipgloss` from 1.0.0 to 1.1.0
    - [Release notes](https://github.com/charmbracelet/lipgloss/releases)
    - [Changelog](https://github.com/charmbracelet/lipgloss/blob/master/.goreleaser.yml)
    - [Commits](charmbracelet/lipgloss@v1.0.0...v1.1.0)
    
    Updates `github.com/goproxy/goproxy` from 0.19.2 to 0.20.0
    - [Release notes](https://github.com/goproxy/goproxy/releases)
    - [Changelog](https://github.com/goproxy/goproxy/blob/master/CHANGELOG.md)
    - [Commits](goproxy/goproxy@v0.19.2...v0.20.0)
    
    Updates `modernc.org/sqlite` from 1.36.0 to 1.36.1
    - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.36.0...v1.36.1)
    
    Updates `github.com/99designs/gqlgen` from 0.17.66 to 0.17.68
    - [Release notes](https://github.com/99designs/gqlgen/releases)
    - [Changelog](https://github.com/99designs/gqlgen/blob/master/CHANGELOG.md)
    - [Commits](99designs/gqlgen@v0.17.66...v0.17.68)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/99designs/gqlgen
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: engine
    - dependency-name: github.com/charmbracelet/glamour
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: engine
    - dependency-name: github.com/charmbracelet/lipgloss
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: engine
    - dependency-name: github.com/goproxy/goproxy
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: engine
    - dependency-name: modernc.org/sqlite
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: engine
    - dependency-name: github.com/99designs/gqlgen
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: engine
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 19, 2025

    Verified

    This commit was signed with the committer’s verified signature.
    lukekarrys Luke Karrys
    Copy the full SHA
    cbf050e View commit details
  2. POC: native LLM support (#9628)

    * bugfix; API tweaks: asAgent->agent; asObject->state
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * 1) Basic chaining works. 2) only flatten types that we have returned
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * agent: small fixes
    
    * agent: prompt engineering to protect IDs; and send errors back to model for self-correction
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * agent: extra tracing and debugging
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * agent: remove old schema code
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * agent: clean driver pattern for BBI
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * fix module object state field type
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * agent: support secret provider URIs in .env to configure LLM_KEY
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * agent: load .env more securely thanks to secret providers
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * agent: telemetry and history show tool calls & result.
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * wip
    
    * llm: native LLM support for Dagger
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: cleanup state management API
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: bring back simplified middleware (disabled)
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * re-enable object middleware. This causes module load to fail
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * bbi/flat: don't crash on empty state
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * Llm.tools(): dump tools available to the llm
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: fix bug in auto-chaining
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * follow-up fix
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: fix "no field withExec in type Container"
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: make model function calls synced if possible
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * skip LLM fields for types hidden from modules
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: fix JSON number unmarshalling
    
    Signed-off-by: Andrea Luzzardi <al@dagger.io>
    
    * support dynamically updating core typedefs
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add .refresh command
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix sync call
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * pass around current dagql server instead of object state
    
    Signed-off-by: Erik Sipsma <erik@sipsma.dev>
    
    * Refactor LLM Core and Schema:
    
    - Add support for variable expansion in `WithPrompt`.
    - Introduce `WithPromptFile` for reading prompts from a file.
    - Rename `Run` method to `Sync` for clarity.
    - Extend arg documentation for core and schema functions.
    - Remove unused method `Please`.
    - Enhance `sync` function with optional `maxLoops` argument.
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: send span on user message
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm.withPromptVar
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * fix typo in withPromptVar schema
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * reveal llm spans
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * rework LLM using new UI features
    
    * reveal: promotes a span from anywhere in the tree up to its containing
      toplevel span
    * actor: an emoji to display to the left of the span
    * message: indicates that the span represents a message, so the UI can
      e.g. render its logs as markdown (which is also covered via a
      content-type attribute)
    * also use passthrough + reveal to show functions corresponding to tool
      calls
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * better error when id arg not provided
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * durable to empty Choices response
    
    blind guess
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * LLM API changes based on demo feedback
    
    - LLM.withPrompt() and LLM.withPromptFile() are always lazy
    - LLM.loop() actually runs the agent loop: send context, process replies and tool calls, repeat
    - LLM.ask(): removed
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm() supports model selection (openai only for now)
    
    Examples:
    
    - `llm(model: "gpt-4o")`: same as default
    - `llm(model: "gpt-3.5-turbo")`
    - `llm(model: "o1")`
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * improved LLM routing
    
    When calling llm():
    
    1. If no model is specified, a default model is used, taking into account standard env variables OPENAI_MODEL and ANTHROPIC_MODEL
    2. In all cases, models are routed to the correct endpoint using OPENAI_API_KEY, OPENAI_BASE_URL, ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL
    
    Additionally:
    
    - Variables may be overridden with a .env file in the current directory.
    - Variables for secret values (OPENAI_API_KEY, ANTHROPIC_API_KEY) may either contain the secret plaintext (basic convention) or a reference to the secret in 1password (op://...), hashicorp vault (vault://...), or a file (file://...)
    
    Note: all API endpoints are still queried by the standard OpenAI client library. This will break Anthropic endpoints,
    and will be fixed in a follow-up commit.
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * chore: remove unused releaser/.dagger
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * fix(rust): allow loop keyword used in func names
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * llm router: send OPENAI_API_KEY to "other" model endpoints
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * safely check res.Changes in openai streaming response
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * Clean up LLM config (does not work yet)
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * Clean up LLM config, part 2
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm(maxApiCalls): cap number of API calls per LLM instance
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: laziness works like the rest of the Dagger API
    
    - LLM.sync() works like Container.sync(), Directory.sync(), etc
    - LLM.loop() still works but is deprecated by sync()
    - LLM.withPrompt, LLM.withPromptFile, LLM.withPromptVar, and all state setter functions, are lazy
    - LLM.lastReply, LLM.history, and all state getter functions, trigger a sync
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: fix side-effect of laziness change, which broke BBI for module objects
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * feat: introduce Anthropic support to `llm` type (#9656)
    
    * feat: add support to other llm clients
    
    Current codebase is currently very tied to openai library, which works for most of models as they are retrocompatible.
    However, Anthropic is not.
    
    This gives us the opportunity to implement the model-agnostic way of sending queries
    
    This is a hard rebase from shykes/dagger#297, implemented by samalba
    
    Porting the implementation led to a mismatch in the sendQuery function, introducing a segfault. This fixes it
    
    Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
    
    * feat: add anthropic support
    
    Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
    
    * chore: update dependencies
    
    Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
    
    ---------
    
    Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
    Co-authored-by: Sam Alba <216487+samalba@users.noreply.github.com>
    
    * use attr consts, fix emojis
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * properly send tool results back to model
    
    previously we were recording tool results as plain messages from the
    assistant, and we weren't including tool calls in the history. now we
    send both.
    
    along the way:
    
    * keep function args map[string]any since Anthropic accepts it in that
      form anyway
    * explicitly keep track of whether a tool call errored, since Anthropic
      accepts an extra bool param for that. for OpenAI, just put error: in
      front.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * anthropic: fix calling 0-arity tools
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: include stdout/stderr in exec errors
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tweak stdout/stderr spacing
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix openai error with no tool calls
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add yet another stream.Err check
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix(llm/anthropic): add workaround to Anthropic API glitch
    
    Anthropic's API sometimes returns an empty content whilst not accepting it:
    `anthropic.BadRequestError: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'messages: text content blocks must be non-empty'}}`
    
    This workaround overwrites the empty content to space character.
    As soon as this issue is resolved, we can remove this hack: anthropics/anthropic-sdk-python#461 (comment).
    
    Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
    Co-authored-by: Tibor Vass <teabee89@gmail.com>
    
    * correct sync API "shape"
    
    to be consistent with all other syncers, this has to return the ID, not
    the object
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: lowercase type getters
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * feat: gemini llm provider
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * genai: fixes for parameterless functions and unknown format values
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * gemini: check msg Role for valid roles and only look at Candidate 0
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * fix .refresh command
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * display token usage metrics, cache anthropic
    
    * show llm token usage by default via per-metric verbosity
    * implement prompt caching for anthropic
    * always emit a span for LLM requests, instead of just when there's a
      message
    * tweak metrics display in TUI
    * bump openai and anthropic client deps
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tiny refactor
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix span stdio eof causing tui empty log glitch
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * core: support storing values on errors
    
    * add Error.withValue which adds a named arbitrary JSON value
    * Error values get translated to GraphQL error extensions
    * SDKs convert GraphQL extensions back into proper Error
    * LLM now prints all error extension values as <tags> rather than
      special casing buildkit.ExecError
    
    now we have rich error propagation without having to be stringly typed!
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * remove unnecessary branch
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * don't print error logs when exiting shell
    
    also reduce spacing above error trace link
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * python: support sending error values
    
    Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
    
    * GC dead code
    
    this is causing problems, not sure why it was needed, but it's probably
    not needed anymore, guessing it predates the switch to DecodeInput
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tui: look up calls by output digest, too
    
    Currently for uploaded local dirs the UI shows the raw digest or a
    placeholder instead of the Host.directory call that created it. This is
    because the server's Host.directory actually returns a call with a
    custom content digest of the blob, rather than the call digest of the
    Host.directory call.
    
    Now when querying the DB for a call we'll also look for spans that had
    the digest as an output.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add golden test for directory args
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * flush only when running new command
    
    otherwise when the command exceeds screen height it just gets flushed to
    the scrollback leaving the prompt at the top of an empty screen
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * more complete incompleteness detection
    
    The previous approach didn't work at all, and only looked for pipes at
    the end. Now we just YOLO parse the input and check for an IsIncomplete
    error.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * shell: print logs _after_ printing child rows
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix: gemini tool call result was lost if last message was tool call (#9765)
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * more complete incompleteness detection
    
    The previous approach didn't work at all, and only looked for pipes at
    the end. Now we just YOLO parse the input and check for an IsIncomplete
    error.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * shell: print logs _after_ printing child rows
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix two bugs preventing spans from being revealed
    
    Turns out the web UI has been skirting over these issues since it shows
    completed spans by default. We actually need to carefully convey Reveal
    through to Passthrough children.
    
    Also, if a span arrived in the same batch as its parent, before its
    parent, the RevealedSpans addition would not propagate upward. Now we do
    the propagation after processing the batch.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * Revert "flush only when running new command"
    
    this felt even worse since it left the current command chopped off at
    the top
    
    This reverts commit 4159158767398bd147df621f922f6c165e0c704b.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix double-printing output, by consolidating
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * regen go sdk
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add dagger llm
    
    * like dagger shell, but accepts LLM prompts instead
    * builds up a Llm.withPrompt chain
    * use /with command to set the current Llm state + tools
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * more accurate description for test/bench
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: support autocomplete, fix completion check
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * chore: remove dead code
    
    This code isn't used anywhere - additionally the gql bbi has fundamental
    compile errors in it, I think this would need to be fundamentally
    reworked anyway given the more recent changes - so just removing it for
    now, it'll still be in the git history.
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: fix linter errors
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * llm: refactor slash commands, support --no-mod
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * gemini: support streaming, instrument
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fixup google
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: add mode switching, /compact, /clear, /history
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix occasional progress vomit
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: show connect/initialization progress
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: fix history never being flushed
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add debug helpers, slight refactor
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: add /model, Llm.withModel
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix flushing too early
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * keep new model through /clear
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix flushing child spans too early
    
    TODO: fix blank line
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: show current model in prompt
    
    also, get rid of Model field, which wasn't being updated
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * Llm.model: don't append provider, add .provider
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tui: flush whole trees at a time
    
    also ensure we don't miss logs from them not arriving quickly enough
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tuck away Secret.plaintext errors
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * another attempt at reasonable scrollback behavior
    
    * instead of flushing all content, only flush things that don't fit
      onscreen anymore
    * only set highlight background when the tree is focused, otherwise it
      gets pretty confusing. this results in fewer artifacts too.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add support for Azure OpenAI client
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * support LIGHT=1 for overriding markdown
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * yet another attempt at reasonable scrollback
    
    * maintain scrollback buffer to ensure it doesn't all get pushed
      offscreen
    * flush content offscreen line-by-line
    * enter alt screen only when there's >50% scrollback to avoid jarring
      behavior
    
    TODO:
    
    * might be better to move all the alt screen switching into
      flushScrollback
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * remove redundant code + comment
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tui: don't use alt screen
    
    this brings its own jank, and seems mostly unnecessary anyway now that
    the scrollback doesn't get consumed by the view height changing.
    
    if you scroll up while something is running you'll see weird stuff on
    the boundary, but i think that's just about the best we can do.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * get rid of obnoxious background
    
    causing too much jank, reduces contrast
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * flush scrollback on final render, add spacing
    
    that blank line changed to being printed above new toplevel items
    instead
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * chore(sdk/java): improve versioning (#9767)
    
    * chore(sdk/java): set version of java sdk
    
    Update all the pom.xml files when calling `sdk | java | bump`
    This is in preparation to release the dependencies to maven central.
    
    Signed-off-by: Yves Brissaud <gh@lgtd.io>
    
    * chore(sdk/java): fix version in user module
    
    Build the module dependencies using the version of the engine
    and use that version in the user module pom.xml.
    
    Signed-off-by: Yves Brissaud <gh@lgtd.io>
    
    * fix(sdk/java): fix replacement of placeholder
    
    the `dagger-module` placeholder was in conflict with a real
    `dagger-module` entry (generated sources) so make it more clear
    one is a placeholder to be sure to edit the right one
    
    Signed-off-by: Yves Brissaud <gh@lgtd.io>
    
    * update integration tests
    
    Signed-off-by: Yves Brissaud <gh@lgtd.io>
    
    ---------
    
    Signed-off-by: Yves Brissaud <gh@lgtd.io>
    
    * docs: Update docs recorder module (#9580)
    
    * docs: Add recording steps
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Updated code
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Removed old img module
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Updated instructions
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Updated code
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Updated code
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Fix linter
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Updated code
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * Updated code
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    ---------
    
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    
    * alpine: update busybox symlink install hack (#9802)
    
    Did a bit more research and realized the hack to ensure busybox symlinks
    exist in time for glibc's trigger actually may be necessary to get
    compatibility w/ apko's behavior.
    
    The comment added in the code explains more.
    
    Signed-off-by: Erik Sipsma <erik@sipsma.dev>
    
    * docs: update list of features (#9807)
    
    * docs: update list of features
    
    Signed-off-by: Jeremy Adams <jeremy@dagger.io>
    
    * chore: update readme features
    
    Signed-off-by: Jeremy Adams <jeremy@dagger.io>
    
    ---------
    
    Signed-off-by: Jeremy Adams <jeremy@dagger.io>
    Co-authored-by: Greg Kogan <greg.ny@gmail.com>
    
    * notify discord on benchmark failure (#9477)
    
    * notify discord on benchmark failure
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    do not merge: testing with secrets provider
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    disable cancel-in-progress?
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    pass dagger cloud token explicitly
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    try to appease linter
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    add op token wiring
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    add discord webhook
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    secret passing
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    remove test error
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * add conditional to only send notifications for non-PR runs
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * in the op secretprovider, handle OP_SERVICE_ACCOUNT_TOKEN= as though it were unset
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    ---------
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * LLM.withLLM(): allow a LLM to prompt another LLM. Works from the shell, too :)
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * openai: enable token usage stats
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * WIP: multi-object llm env
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * llm: telemetry for builtin tool calls
    
    * Llm.setString, deprecate separate "prompt vars".
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    
    * wip: shell vars -> llm
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix glob, revise prompt
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * checkpoint: loading all tools, use Type@digest everywhere
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tui: don't flush pending spans
    
    otherwise they can never become active
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * reveal calls
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * consistently use Type@hash syntax
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix module usage by passing around *dagql.Server
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * back to single-toolset, _load -> _selectTools
    
    only tested twice but the more explicit name seems to help the model
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * openai: disable parallel tool calls
    
    this is neat, but breaks chaining - maybe tune later
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix _selectTools dumping object
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add tool arg descriptions, remove _type
    
    * don't think we need _type, doesn't seem worth a tool slot
    * clarifies that the object can skip the _objects call to get a variable
      name, and instead just pass a hash directly to _selectTools
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * tweak description again
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * more linting fixes
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * automatically call 'sync' on call results
    
    the model doesn't understand laziness, probably not worth trying to
    teach it
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * syncing llm vars => shell
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix _current dumping object response
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix error values not propagating
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * remove 'self' arg, back to relying on .current
    
    this was only added for the 'load all relevant tools' model, which has
    been removed. as-is this just confuses the model into calling functions
    against the same value expecting mutation.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * chore: add missing dagql golden tests
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * dagql: fix nil panic when Server.Select returns nil
    
    This is a little fraught - turns out Instance.Select will return nil for
    a nullable value (that's actually null). Briefly considered changing
    that, but a bunch of unit tests told me not to.
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * refactor: add ShellHandler interface
    
    easier to maintain than passing around a huge bag of functions
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: support "one-shot" mode switching
    
    * press * to run a prompt
    * press ! to run shell
    * keep track of modes in history
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * remove dead code
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: fix shell completion
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * support swapping mode after-the-fact
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * reset oneshot mode with backspace
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * render our own keymap, not editline's
    
    editline's keymap is mostly intuitive, following readline/etc. - let the
    user discover them naturally.
    
    instead, let the user know about the !/* mode switching and not much
    else
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix prompt having 'sticky' background color
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * bump bubbline
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fixup merge
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix var syncing in the brave new ShellState world
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * avoid dumping large IDs to the model
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * minor cleanups
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * switch llm prompt from * to >
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: document all possible LLM configuration variables
    
    also removes the .env experimental docs about being able to pass secret
    provider URLs
    
    Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
    
    * begin assimilating llm into shell
    
    * fear not, llm stuff is lazily initialized
    * TODO: replace slash commands with builtins
    * TODO: implement >> and !! for persistent switching
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * replace slash commands with builtins
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * chore: refactor dagql middlewares into install hooks
    
    This simplifies the dagql middlewares into install hooks - once the
    object has been installed, a hook can make changes to the server
    *afterwards*. Additionally, we add tests for this behavior, since it's a
    bit fiddly.
    
    The main logic for doing this was to solve the locking problem. What was
    happening before this was:
    - Attempt to install an object (takes the lock)
    - Run a middleware for this installation
    - The middleware attempts to install it's own objects, or modify
      existing objects (attempts to take the lock, and deadlocks because
      this thread already has it)
    
    It wasn't really possible to untangle this without adding additional
    thread unsafety: we need to hold the lock for the duration of the
    install.
    
    By refactoring, we can install the object, and then just hook -
    importantly, the hook can't influence whether the object gets installed,
    which allows us to release the lock before running the middleware, which
    solves our weird dependency problem.
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: remove unused dagql/demo.cast
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: replace new uses of interface{} with any
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * sidequest: more elegant chaining for dumped IDs
    
    before:
    
    ● Attaching terminal:
        container: Container!
        Container.from(address: "docker.io/library/golang:latest@sha256:8678013a2add364dc3d5df2acc2b36893fbbd60ebafa5d5149bc22158512f021"): Container!
        Container.withExec(args: ["go", "version"]): Container!
    
    after:
    
    ● Attaching terminal:
        container: Container!
        .from(address: "docker.io/library/golang:latest@sha256:8678013a2add364dc3d5df2acc2b36893fbbd60ebafa5d5149bc22158512f021"): Container!
        .withExec(args: ["go", "version"]): Container!
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix: ensure rust sdk always correctly formats id scalars
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: rename Llm to LLM
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * render step errors beneath logs
    
    otherwise these are super easy to miss
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: add basic tests to check llm config loading (#9861)
    
    it checks all the current supported variables are being parsed correctly
    as well as the fact that the file://.env is being parsed also
    
    Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
    
    * refactor a bit, check returned type from getFoo
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix straggling loadLlmFromID
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * partial support for selecting array results
    
    TODO: support selecting the Nth value in an array
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * initial backwards compatibility
    
    * feature-flag multi-object (default true for now)
    * bring back withFoo, foo
    * fix a few acronym cases
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * openai: only set parallel_tool_calls with tools
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * add variable changes to message history
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * always persist mode switch
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix prompt var completion
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * shell: syntax highlight spans
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix Ctrl+L to clear virtual scrollback too
    
    annoyingly that 100ms sleep seems necessary, even tried adding a message
    in between
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * shorten LLM metric labels
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * de-jank passing variables to first prompt
    
    * now that we lazily initialize, we were ignoring any vars set before
      the first prompt
    * clean up syncVarsToLLM and make it modify in-place, otherwise we lose
      the synced vars
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * sidequest: word-wrap errors
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * better UI for builtin tool calling
    
    * create a Call representing the tool call
    * support actor emoji on non-message spans
    * consolidate otel setup; consolidate the one from common LLM code down
      into Env
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * llm: add basic tests to check llm config loading (#9861)
    
    it checks all the current supported variables are being parsed correctly
    as well as the fact that the file://.env is being parsed also
    
    Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
    
    * llm: fix gemini text response (#9862)
    
    Signed-off-by: kpenfound <kyle@dagger.io>
    
    * tests: fix scripts tests
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: more refactoring
    
    Some little FIXMEs and TODOs resolved.
    
    Also changed `MainServer` to just `Server` - this makes it more
    composable for other things in the future (I have a memory somewhere of
    needing this *somewhere* else, so figured it would be nice to expose it
    like this).
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * add .llm builtin for read/write to LLM state
    
    * piping to it sets the value as the current LLM context
    * returns the current LLM object, which you can grab state from
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * avoid nil panic when there's no state
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * undo regens
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * undo docs regens
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * avoid panic in plain frontend
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * sdk/rust: handle LLMID, LLM.loop
    
    * check original type name instead of converted one, which ends up
      converting LLMID to Llmid
    * add "loop" to the name exceptions conversion
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * regenerate sdk and docs
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * bring back withPromptVar
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * regen
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * only enable multi-object when a var is set
    
    Signed-off-by: Alex Suraci <alex@dagger.io>
    
    * fix llm state accessors: sync llm state
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * ensure history parent dir exists
    
    otherwise history is silently never saved
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * avoid nil panic when describing value
    
    seems reasonable to handle this, not just defensive. for example, an API
    might return a nullable object type.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * chore: fix llm acronym
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: change content to string type
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * fix: ensure llm gets cloned correctly
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: regen
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: lint fixes
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * feat: add flag to limit LLM access (#9847)
    
    * flag to control llm access in shell
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * wiring working, fails without passing the flag
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * session attachable without actual prompting
    
    or the code that figures out the calling module for the prompt text
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * working remote-module-flag and calling module detection
    
    TODO:frontend side of prompting
    - call wiring
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * support for dagger call and plural allow-llms
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * add llm-allow prompt history
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * wip: prompting in frontend
    
    * generalize prompt caching mechanic
    * implement prompting in pretty + plain frontends
    
    TODO: UI polish
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * better prompting, render markdown
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * remove prompt timeout
    
    reasoning: might be alt-tabbed for a while
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * more prompt bubble polish
    
    * show underline beneath Y and N to indicate keybind
    * show as message bubble
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    ---------
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    Co-authored-by: Alex Suraci <suraci.alex@gmail.com>
    
    * support light/dark overrides, unify with lipgloss
    
    Couldn't decide on an env var so decided to support a few different
    schemes. Can adjust later.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * fix lints
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * dagql: fix Server.Select with non-objects
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * fix: failing llm config tests
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * tests: add super basic test structure
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * add shell script subtest & LLMReplayer failure diffs
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * add TestApiLimit and a toy-workspace dagger_shell subtest
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * fix: update model replay and improve tests
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * tests: table tests for llm suite
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * regen
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: fix test linting
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * couple little refactors
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * fix anthropic tool calling
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * un-handroll TestLLM/TestAPILimit golden fixture
    
    Signed-off-by: Connor Braa <connor@dagger.io>
    
    * fix _undo returning giant JSON object
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * chore: improved scrubbing for disk-metrics test
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * fix error word wrapping when no width known
    
    20 is a goofy default, I blame AI. this was breaking the golden tests
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * fix markdown specimen golden test
    
    we no longer force a particular text color
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * include microseconds rip
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * shell: add 'loading' phase for LLM initialization
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    * avoid panic in cycle detection when span==nil
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    
    ---------
    
    Signed-off-by: Solomon Hykes <solomon@dagger.io>
    Signed-off-by: Alex Suraci <alex@dagger.io>
    Signed-off-by: Andrea Luzzardi <al@dagger.io>
    Signed-off-by: Erik Sipsma <erik@sipsma.dev>
    Signed-off-by: kpenfound <kyle@dagger.io>
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
    Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
    Signed-off-by: Yves Brissaud <gh@lgtd.io>
    Signed-off-by: Vikram Vaswani <vikram@dagger.io>
    Signed-off-by: Jeremy Adams <jeremy@dagger.io>
    Signed-off-by: Connor Braa <connor@dagger.io>
    Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    Co-authored-by: Alex Suraci <alex@dagger.io>
    Co-authored-by: Andrea Luzzardi <al@dagger.io>
    Co-authored-by: Erik Sipsma <erik@sipsma.dev>
    Co-authored-by: kpenfound <kyle@dagger.io>
    Co-authored-by: Justin Chadwell <me@jedevc.com>
    Co-authored-by: Guillaume de Rouville <31691250+grouville@users.noreply.github.com>
    Co-authored-by: Sam Alba <216487+samalba@users.noreply.github.com>
    Co-authored-by: Guillaume de Rouville <guillaume@dagger.io>
    Co-authored-by: Tibor Vass <teabee89@gmail.com>
    Co-authored-by: Helder Correia <174525+helderco@users.noreply.github.com>
    Co-authored-by: Yves Brissaud <gh@lgtd.io>
    Co-authored-by: vikram-dagger <112123850+vikram-dagger@users.noreply.github.com>
    Co-authored-by: Erik Sipsma <erik@dagger.io>
    Co-authored-by: Jeremy Adams <jeremy@dagger.io>
    Co-authored-by: Greg Kogan <greg.ny@gmail.com>
    Co-authored-by: Connor Braa <3478454+cwlbraa@users.noreply.github.com>
    Co-authored-by: Marcos Lilljedahl <marcosnils@gmail.com>
    Co-authored-by: Marcos Nils <1578458+marcosnils@users.noreply.github.com>
    Co-authored-by: Alex Suraci <suraci.alex@gmail.com>
    Co-authored-by: Connor Braa <connor@dagger.io>
    21 people authored Mar 19, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    73d5bb3 View commit details

Commits on Mar 20, 2025

  1. chore: prep for v0.17.0 (#9918)

    * chore: bump dependencies to v0.17.0
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: add release notes for v0.17.0
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: bump next release to v0.17.1
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * ci: skip docs auto-publish for v0.17.0
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    * chore: update releasing with next version detection
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    
    ---------
    
    Signed-off-by: Justin Chadwell <me@jedevc.com>
    jedevc authored Mar 20, 2025
    Copy the full SHA
    ac39efd View commit details
Showing with 2,237 additions and 88 deletions.
  1. +19 −0 .changes/v0.17.0.md
  2. +20 −0 CHANGELOG.md
  3. +24 −0 dag/dag.gen.go
  4. +2,151 −78 dagger.gen.go
  5. +1 −1 engineconn/version.gen.go
  6. +2 −2 go.mod
  7. +2 −2 go.sum
  8. +0 −5 internal/engineconn/version.gen.go
  9. +12 −0 telemetry/metrics.go
  10. +6 −0 telemetry/span.go
19 changes: 19 additions & 0 deletions .changes/v0.17.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## sdk/go/v0.17.0 - 2025-03-20

This SDK uses 🚙 Engine + 🚗 CLI version `v0.17.0`. [See what changed in that release](https://github.com/dagger/dagger/releases/tag/v0.17.0).

🐹 https://pkg.go.dev/dagger.io/dagger@v0.17.0

### Added
- New `sdk.config.goprivate` setting in `dagger.json` for go modules by @rajatjindal in https://github.com/dagger/dagger/pull/9323 \
This setting allows configuring the `GOPRIVATE` env var in the context of building+running the module code, so that private dependencies can be loaded.
- Automatic forwarding of .gitconfig `insteadOf` directives into go module runtime by @rajatjindal in https://github.com/dagger/dagger/pull/9323 \
In combination with `goprivate`, this can be used to load private dependencies.

### Dependencies
- Bump Engine to v0.17.0 by @jedevc in https://github.com/dagger/dagger/pull/9918

### What to do next
- Read the [documentation](https://docs.dagger.io/sdk/go)
- Join our [Discord server](https://discord.gg/dagger-io)
- Follow us on [Twitter](https://twitter.com/dagger_io)
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie).

## sdk/go/v0.17.0 - 2025-03-20

This SDK uses 🚙 Engine + 🚗 CLI version `v0.17.0`. [See what changed in that release](https://github.com/dagger/dagger/releases/tag/v0.17.0).

🐹 https://pkg.go.dev/dagger.io/dagger@v0.17.0

### Added
- New `sdk.config.goprivate` setting in `dagger.json` for go modules by @rajatjindal in https://github.com/dagger/dagger/pull/9323 \
This setting allows configuring the `GOPRIVATE` env var in the context of building+running the module code, so that private dependencies can be loaded.
- Automatic forwarding of .gitconfig `insteadOf` directives into go module runtime by @rajatjindal in https://github.com/dagger/dagger/pull/9323 \
In combination with `goprivate`, this can be used to load private dependencies.

### Dependencies
- Bump Engine to v0.17.0 by @jedevc in https://github.com/dagger/dagger/pull/9918

### What to do next
- Read the [documentation](https://docs.dagger.io/sdk/go)
- Join our [Discord server](https://discord.gg/dagger-io)
- Follow us on [Twitter](https://twitter.com/dagger_io)

## sdk/go/v0.16.3 - 2025-03-12

This SDK uses 🚙 Engine + 🚗 CLI version `v0.16.3`. [See what changed in that release](https://github.com/dagger/dagger/releases/tag/v0.16.3).
24 changes: 24 additions & 0 deletions dag/dag.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading