Move the canonical host to git.zacharyzhang.com and follow the module path
The GitHub account that hosted this repository is suspended, so the remote is dead and the vanity import github.com/ZacharyZhang-NY/ely-eye/... no longer resolves. The Go module path is that import, so it moves with the host: git.zacharyzhang.com serves a go-import meta tag for the nested ely-eye-mcp submodule, which go build and go get both need. The installers read release assets from the host too, so their API and download URLs move with it. The release workflow's -ldflags symbol path is the module path, so it moves as well; a build stamped with the new path prints the stamped version.
This commit is contained in:
28 files changed
+44
-41
No files matched your search
@@ -37,7 +37,7 @@ jobs:
|
||||
version="${GITHUB_REF_NAME#mcp-}"
|
||||
binary="ely-eye-mcp"
|
||||
if [ "$GOOS" = "windows" ]; then binary="ely-eye-mcp.exe"; fi
|
||||
ldflags="-s -w -X github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/cli.version=${version}"
|
||||
ldflags="-s -w -X git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/cli.version=${version}"
|
||||
mkdir -p dist
|
||||
go build -trimpath -ldflags "$ldflags" -o "dist/${binary}" ./cmd/ely-eye-mcp
|
||||
base="ely-eye-mcp_${GOOS}_${GOARCH}"
|
||||
|
||||
@@ -70,7 +70,10 @@ go run ./cmd/ely-eye-mcp server --ely-eye-home /path/to/.ely_eye
|
||||
|
||||
## Releases
|
||||
|
||||
Pushing a `mcp-v*` tag runs `.github/workflows/mcp-release.yml`, which cross-compiles the pure-Go server (CGO disabled) for Linux, macOS, and Windows on amd64 and arm64, then publishes the archives with a `SHA256SUMS` manifest to a GitHub Release. The installers consume those assets.
|
||||
Pushing a `mcp-v*` tag runs `.github/workflows/mcp-release.yml`, which Gitea Actions
|
||||
picks up, cross-compiles the pure-Go server (CGO disabled) for Linux, macOS, and
|
||||
Windows on amd64 and arm64, then publishes the archives with a `SHA256SUMS`
|
||||
manifest to a release on git.zacharyzhang.com. The installers consume those assets.
|
||||
|
||||
## Security posture
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/cli"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/cli"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
module github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp
|
||||
module git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp
|
||||
|
||||
go 1.25.0
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ function Get-Platform {
|
||||
function Resolve-Version {
|
||||
if ($Version) { return $Version }
|
||||
try {
|
||||
$releases = Invoke-RestMethod -Uri "https://api.github.com/repos/$Repo/releases" -Headers @{ "User-Agent" = "ely-eye-mcp-installer" }
|
||||
$releases = Invoke-RestMethod -Uri "https://git.zacharyzhang.com/api/v1/repos/$Repo/releases" -Headers @{ "User-Agent" = "ely-eye-mcp-installer" }
|
||||
}
|
||||
catch { return "" }
|
||||
$match = $releases | Where-Object { $_.tag_name -like "mcp-*" } | Select-Object -First 1
|
||||
@@ -79,8 +79,8 @@ function Build-FromSource {
|
||||
function Download-Binary([string]$Tag) {
|
||||
$platform = Get-Platform
|
||||
$asset = "ely-eye-mcp_$platform.zip"
|
||||
$url = "https://github.com/$Repo/releases/download/$Tag/$asset"
|
||||
$sumsUrl = "https://github.com/$Repo/releases/download/$Tag/ely-eye-mcp_SHA256SUMS.txt"
|
||||
$url = "https://git.zacharyzhang.com/$Repo/releases/download/$Tag/$asset"
|
||||
$sumsUrl = "https://git.zacharyzhang.com/$Repo/releases/download/$Tag/ely-eye-mcp_SHA256SUMS.txt"
|
||||
$tmp = Join-Path ([IO.Path]::GetTempPath()) ("ely-eye-mcp-" + [Guid]::NewGuid().ToString("N"))
|
||||
New-Item -ItemType Directory -Force -Path $tmp | Out-Null
|
||||
try {
|
||||
|
||||
@@ -3,7 +3,7 @@ set -euo pipefail
|
||||
|
||||
# Ely-Eye MCP installer for Linux and macOS.
|
||||
#
|
||||
# curl -fsSL https://raw.githubusercontent.com/ZacharyZhang-NY/ely-eye/main/ely-eye-mcp/install.sh | bash
|
||||
# curl -fsSL https://git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/raw/branch/main/ely-eye-mcp/install.sh | bash
|
||||
#
|
||||
# By default it downloads a prebuilt, checksum-verified binary for this platform
|
||||
# and needs no toolchain. Run with --method source from a repository checkout to
|
||||
@@ -79,7 +79,7 @@ sha256() {
|
||||
resolve_version() {
|
||||
if [[ -n "$VERSION" ]]; then echo "$VERSION"; return 0; fi
|
||||
local body
|
||||
body="$(curl -fsSL "https://api.github.com/repos/${REPO}/releases" 2>/dev/null)" || return 0
|
||||
body="$(curl -fsSL "https://git.zacharyzhang.com/api/v1/repos/${REPO}/releases" 2>/dev/null)" || return 0
|
||||
printf '%s\n' "$body" \
|
||||
| grep -oE '"tag_name": *"mcp-[^"]*"' \
|
||||
| head -n 1 \
|
||||
@@ -97,8 +97,8 @@ download_binary() {
|
||||
local tag="$1" platform asset url sums tmp
|
||||
platform="$(detect_platform)"
|
||||
asset="ely-eye-mcp_${platform}.tar.gz"
|
||||
url="https://github.com/${REPO}/releases/download/${tag}/${asset}"
|
||||
sums="https://github.com/${REPO}/releases/download/${tag}/ely-eye-mcp_SHA256SUMS.txt"
|
||||
url="https://git.zacharyzhang.com/${REPO}/releases/download/${tag}/${asset}"
|
||||
sums="https://git.zacharyzhang.com/${REPO}/releases/download/${tag}/ely-eye-mcp_SHA256SUMS.txt"
|
||||
tmp="$(mktemp -d)"
|
||||
trap 'rm -rf "$tmp"' RETURN
|
||||
echo "Downloading $asset from release $tag."
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
)
|
||||
|
||||
const maxErrorBody = 4096
|
||||
|
||||
@@ -8,10 +8,10 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/mcpserver"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/setup"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/store"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/mcpserver"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/setup"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/store"
|
||||
)
|
||||
|
||||
// version is stamped at release build time via -ldflags -X. The default is the
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"strings"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
)
|
||||
|
||||
var profileBudgets = map[string]int64{
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"strings"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
)
|
||||
|
||||
const storeCardBody = `{"schema_version":11,"atoms":3,"sources":3,"modalities":{"text":2,"image":1},
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
)
|
||||
|
||||
func directoryServer(t *testing.T, body string, seen *[]string) *httptest.Server {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
)
|
||||
|
||||
const manifestBody = `{"cartridge_id":"home_1","name":"home","created_at":"2026-05-01T12:00:00Z",` +
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
)
|
||||
|
||||
func searchTestServer(t *testing.T, recorded *map[string]any) *httptest.Server {
|
||||
|
||||
@@ -8,9 +8,9 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/store"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/store"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package mcpserver
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
)
|
||||
|
||||
// askingServer records the path and query string of every request so a test can
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/contextpack"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/contextpack"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/apiclient"
|
||||
)
|
||||
|
||||
func recordingServer(t *testing.T, status int, body string, seen *[]string) *httptest.Server {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
)
|
||||
|
||||
type Options struct {
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
)
|
||||
|
||||
func (s *Store) FetchAtom(ctx context.Context, atomID string) (domain.Atom, error) {
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
)
|
||||
|
||||
func (s *Store) ListCartridges(ctx context.Context, limit int) ([]domain.Cartridge, error) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
)
|
||||
|
||||
func (s *Store) evalProofsRoot() string {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"sort"
|
||||
"time"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
)
|
||||
|
||||
type proofDir struct {
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"net/url"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"github.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/config"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/ely-eye/ely-eye-mcp/internal/domain"
|
||||
_ "modernc.org/sqlite"
|
||||
)
|
||||
|
||||
|
||||
Reference in new issue
Block a user