Compare commits

..

4 Commits

Author SHA1 Message Date
Jarvis
43145745d7 ci: fail publish pipeline loudly on registry/auth/network errors
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
The publish-npm step ended with `|| echo "[publish] Some packages may
already exist at this version — continuing"`, which unconditionally
converted any failure into success. That fallback silently masked a
real Gitea registry 404 during the @mosaic/* → @mosaicstack/* org
rename — CI reported green for pipelines #681 and #684 while every
single @mosaicstack/* publish fell on the floor, blocking users from
installing the gateway.

Replace the blanket swallow with a targeted rule:

- `E404 / E401 / ENEEDAUTH / ECONNREFUSED / ETIMEDOUT / ENOTFOUND` →
  FATAL, fail the pipeline. These are real registry/auth/network
  problems that must surface.
- `EPUBLISHCONFLICT / cannot publish over / previously published` →
  tolerate. This is the legitimate "only some packages were bumped in
  this merge" case and should not block CI.
- Any other unrecognized failure → FATAL (fail closed, not open).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 22:52:40 -05:00
9a53d55678 Merge pull request 'fix: update Gitea org references from mosaic/ to mosaicstack/' (#394) from fix/gitea-org-rename into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
Reviewed-on: mosaicstack/mosaic-stack#394
2026-04-05 03:35:11 +00:00
Jarvis
31008ef7ff fix: update Gitea org references from mosaic/ to mosaicstack/
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
- Update all package.json repo URLs (mosaic/mosaic-stack → mosaicstack/mosaic-stack)
- Update npm registry URLs (/api/packages/mosaic/npm → /api/packages/mosaicstack/npm)
- Update woodpecker publish destinations
- Update tools/install.sh registry and repo base URLs
2026-04-04 22:31:20 -05:00
621ab260c0 fix(mosaic): resumable gateway install + prominent admin token (#393)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/manual/publish Pipeline failed
ci/woodpecker/manual/ci Pipeline failed
2026-04-05 03:19:07 +00:00
25 changed files with 92 additions and 63 deletions

View File

@@ -35,13 +35,42 @@ steps:
- | - |
echo "//git.mosaicstack.dev/api/packages/mosaicstack/npm/:_authToken=$NPM_TOKEN" > ~/.npmrc echo "//git.mosaicstack.dev/api/packages/mosaicstack/npm/:_authToken=$NPM_TOKEN" > ~/.npmrc
echo "@mosaicstack:registry=https://git.mosaicstack.dev/api/packages/mosaicstack/npm/" >> ~/.npmrc echo "@mosaicstack:registry=https://git.mosaicstack.dev/api/packages/mosaicstack/npm/" >> ~/.npmrc
# Publish non-private packages to Gitea (--no-git-checks skips dirty/branch checks in CI) # Publish non-private packages to Gitea.
# --filter excludes web (private) #
- > # The only publish failure we tolerate is "version already exists" —
pnpm --filter "@mosaicstack/*" # that legitimately happens when only some packages were bumped in
--filter "!@mosaicstack/web" # the merge. Any other failure (registry 404, auth error, network
publish --no-git-checks --access public # error) MUST fail the pipeline loudly: the previous
|| echo "[publish] Some packages may already exist at this version — continuing" # `|| echo "... continuing"` fallback silently hid a 404 from the
# Gitea org rename and caused every @mosaicstack/* publish to fall
# on the floor while CI still reported green.
- |
# Portable sh (Alpine ash) — avoid bashisms like PIPESTATUS.
set +e
pnpm --filter "@mosaicstack/*" --filter "!@mosaicstack/web" publish --no-git-checks --access public >/tmp/publish.log 2>&1
EXIT=$?
set -e
cat /tmp/publish.log
if [ "$EXIT" -eq 0 ]; then
echo "[publish] all packages published successfully"
exit 0
fi
# Hard registry / auth / network errors → fatal. Match npm's own
# error lines specifically to avoid false positives on arbitrary
# log text that happens to contain "E404" etc.
if grep -qE "npm (error|ERR!) code (E404|E401|ENEEDAUTH|ECONNREFUSED|ETIMEDOUT|ENOTFOUND)" /tmp/publish.log; then
echo "[publish] FATAL: registry/auth/network error detected — failing pipeline" >&2
exit 1
fi
# Only tolerate the explicit "version already published" case.
# npm returns this as E403 with body "You cannot publish over..."
# or EPUBLISHCONFLICT depending on version.
if grep -qE "EPUBLISHCONFLICT|You cannot publish over|previously published" /tmp/publish.log; then
echo "[publish] some packages already at this version — continuing (non-fatal)"
exit 0
fi
echo "[publish] FATAL: publish failed with unrecognized error — failing pipeline" >&2
exit 1
depends_on: depends_on:
- build - build
@@ -74,12 +103,12 @@ steps:
- mkdir -p /kaniko/.docker - mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"git.mosaicstack.dev\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASS\"}}}" > /kaniko/.docker/config.json - echo "{\"auths\":{\"git.mosaicstack.dev\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASS\"}}}" > /kaniko/.docker/config.json
- | - |
DESTINATIONS="--destination git.mosaicstack.dev/mosaic/mosaic-stack/gateway:sha-${CI_COMMIT_SHA:0:7}" DESTINATIONS="--destination git.mosaicstack.dev/mosaicstack/mosaic-stack/gateway:sha-${CI_COMMIT_SHA:0:7}"
if [ "$CI_COMMIT_BRANCH" = "main" ]; then if [ "$CI_COMMIT_BRANCH" = "main" ]; then
DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaic/mosaic-stack/gateway:latest" DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaicstack/mosaic-stack/gateway:latest"
fi fi
if [ -n "$CI_COMMIT_TAG" ]; then if [ -n "$CI_COMMIT_TAG" ]; then
DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaic/mosaic-stack/gateway:$CI_COMMIT_TAG" DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaicstack/mosaic-stack/gateway:$CI_COMMIT_TAG"
fi fi
/kaniko/executor --context . --dockerfile docker/gateway.Dockerfile $DESTINATIONS /kaniko/executor --context . --dockerfile docker/gateway.Dockerfile $DESTINATIONS
depends_on: depends_on:
@@ -99,12 +128,12 @@ steps:
- mkdir -p /kaniko/.docker - mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"git.mosaicstack.dev\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASS\"}}}" > /kaniko/.docker/config.json - echo "{\"auths\":{\"git.mosaicstack.dev\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASS\"}}}" > /kaniko/.docker/config.json
- | - |
DESTINATIONS="--destination git.mosaicstack.dev/mosaic/mosaic-stack/web:sha-${CI_COMMIT_SHA:0:7}" DESTINATIONS="--destination git.mosaicstack.dev/mosaicstack/mosaic-stack/web:sha-${CI_COMMIT_SHA:0:7}"
if [ "$CI_COMMIT_BRANCH" = "main" ]; then if [ "$CI_COMMIT_BRANCH" = "main" ]; then
DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaic/mosaic-stack/web:latest" DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaicstack/mosaic-stack/web:latest"
fi fi
if [ -n "$CI_COMMIT_TAG" ]; then if [ -n "$CI_COMMIT_TAG" ]; then
DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaic/mosaic-stack/web:$CI_COMMIT_TAG" DESTINATIONS="$DESTINATIONS --destination git.mosaicstack.dev/mosaicstack/mosaic-stack/web:$CI_COMMIT_TAG"
fi fi
/kaniko/executor --context . --dockerfile docker/web.Dockerfile $DESTINATIONS /kaniko/executor --context . --dockerfile docker/web.Dockerfile $DESTINATIONS
depends_on: depends_on:

View File

@@ -3,7 +3,7 @@
"version": "0.0.6", "version": "0.0.6",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "apps/gateway" "directory": "apps/gateway"
}, },
"type": "module", "type": "module",
@@ -15,7 +15,7 @@
"dist" "dist"
], ],
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"scripts": { "scripts": {

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/agent" "directory": "packages/agent"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -28,7 +28,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/auth" "directory": "packages/auth"
}, },
"type": "module", "type": "module",
@@ -32,7 +32,7 @@
"better-auth": "^1.5.5" "better-auth": "^1.5.5"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/brain" "directory": "packages/brain"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -29,7 +29,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.17", "version": "0.0.17",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/cli" "directory": "packages/cli"
}, },
"type": "module", "type": "module",
@@ -47,7 +47,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/config" "directory": "packages/config"
}, },
"type": "module", "type": "module",
@@ -32,7 +32,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/coord" "directory": "packages/coord"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -29,7 +29,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.3", "version": "0.0.3",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/db" "directory": "packages/db"
}, },
"type": "module", "type": "module",
@@ -38,7 +38,7 @@
"postgres": "^3.4.8" "postgres": "^3.4.8"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/design-tokens" "directory": "packages/design-tokens"
}, },
"type": "module", "type": "module",
@@ -26,7 +26,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/forge" "directory": "packages/forge"
}, },
"type": "module", "type": "module",
@@ -35,7 +35,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
} }
} }

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/log" "directory": "packages/log"
}, },
"type": "module", "type": "module",
@@ -30,7 +30,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/macp" "directory": "packages/macp"
}, },
"type": "module", "type": "module",
@@ -28,7 +28,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.3", "version": "0.0.3",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/memory" "directory": "packages/memory"
}, },
"type": "module", "type": "module",
@@ -32,7 +32,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.20", "version": "0.0.20",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/mosaic" "directory": "packages/mosaic"
}, },
"description": "Mosaic agent framework — installation wizard and meta package", "description": "Mosaic agent framework — installation wizard and meta package",
@@ -52,7 +52,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/prdy" "directory": "packages/prdy"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -33,7 +33,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.3", "version": "0.0.3",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/quality-rails" "directory": "packages/quality-rails"
}, },
"type": "module", "type": "module",
@@ -30,7 +30,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.3", "version": "0.0.3",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/queue" "directory": "packages/queue"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -29,7 +29,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.3", "version": "0.0.3",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/storage" "directory": "packages/storage"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -30,7 +30,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "packages/types" "directory": "packages/types"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -29,7 +29,7 @@
"class-validator": "^0.15.1" "class-validator": "^0.15.1"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "plugins/discord" "directory": "plugins/discord"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -31,7 +31,7 @@
"vitest": "^2.0.0" "vitest": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "plugins/macp" "directory": "plugins/macp"
}, },
"type": "module", "type": "module",
@@ -23,7 +23,7 @@
"openclaw": "*" "openclaw": "*"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "plugins/mosaic-framework" "directory": "plugins/mosaic-framework"
}, },
"type": "module", "type": "module",
@@ -18,7 +18,7 @@
"openclaw": "*" "openclaw": "*"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -3,7 +3,7 @@
"version": "0.0.2", "version": "0.0.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git", "url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
"directory": "plugins/telegram" "directory": "plugins/telegram"
}, },
"main": "dist/index.js", "main": "dist/index.js",
@@ -29,7 +29,7 @@
"telegraf": "^4.16.3" "telegraf": "^4.16.3"
}, },
"publishConfig": { "publishConfig": {
"registry": "https://git.mosaicstack.dev/api/packages/mosaic/npm/", "registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
"access": "public" "access": "public"
}, },
"files": [ "files": [

View File

@@ -6,10 +6,10 @@
# 2. @mosaicstack/mosaic (npm) → ~/.npm-global/ (CLI, TUI, gateway client, wizard) # 2. @mosaicstack/mosaic (npm) → ~/.npm-global/ (CLI, TUI, gateway client, wizard)
# #
# Remote install (recommended): # Remote install (recommended):
# bash <(curl -fsSL https://git.mosaicstack.dev/mosaic/mosaic-stack/raw/branch/main/tools/install.sh) # bash <(curl -fsSL https://git.mosaicstack.dev/mosaicstack/mosaic-stack/raw/branch/main/tools/install.sh)
# #
# Remote install (alternative — use -s -- to pass flags): # Remote install (alternative — use -s -- to pass flags):
# curl -fsSL https://git.mosaicstack.dev/mosaic/mosaic-stack/raw/branch/main/tools/install.sh | bash -s -- # curl -fsSL https://git.mosaicstack.dev/mosaicstack/mosaic-stack/raw/branch/main/tools/install.sh | bash -s --
# #
# Flags: # Flags:
# --check Version check only, no install # --check Version check only, no install
@@ -50,11 +50,11 @@ done
# ─── constants ──────────────────────────────────────────────────────────────── # ─── constants ────────────────────────────────────────────────────────────────
MOSAIC_HOME="${MOSAIC_HOME:-$HOME/.config/mosaic}" MOSAIC_HOME="${MOSAIC_HOME:-$HOME/.config/mosaic}"
REGISTRY="${MOSAIC_REGISTRY:-https://git.mosaicstack.dev/api/packages/mosaic/npm/}" REGISTRY="${MOSAIC_REGISTRY:-https://git.mosaicstack.dev/api/packages/mosaicstack/npm/}"
SCOPE="${MOSAIC_SCOPE:-@mosaicstack}" SCOPE="${MOSAIC_SCOPE:-@mosaicstack}"
PREFIX="${MOSAIC_PREFIX:-$HOME/.npm-global}" PREFIX="${MOSAIC_PREFIX:-$HOME/.npm-global}"
CLI_PKG="${SCOPE}/mosaic" CLI_PKG="${SCOPE}/mosaic"
REPO_BASE="https://git.mosaicstack.dev/mosaic/mosaic-stack" REPO_BASE="https://git.mosaicstack.dev/mosaicstack/mosaic-stack"
ARCHIVE_URL="${REPO_BASE}/archive/${GIT_REF}.tar.gz" ARCHIVE_URL="${REPO_BASE}/archive/${GIT_REF}.tar.gz"
# ─── colours ────────────────────────────────────────────────────────────────── # ─── colours ──────────────────────────────────────────────────────────────────