From 3501e6bfd7fa5b98a3cfc110650d04e136810d48 Mon Sep 17 00:00:00 2001 From: claude-ceo-assistant Date: Thu, 7 May 2026 22:37:42 +0000 Subject: [PATCH] fix(post-suspension): vanity import paths go.moleculesai.app/core/{platform,tests/harness/cp-stub} (closes molecule-ai/internal#71 phase 2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Migrates the two Go modules under molecule-core off the dead github.com/Molecule-AI/molecule-monorepo/... identity onto the vanity host go.moleculesai.app. Also fixes the historical naming inconsistency where the Gitea repo is molecule-core but the Go module path said molecule-monorepo. Module changes: - workspace-server/go.mod: github.com/Molecule-AI/molecule-monorepo/platform -> go.moleculesai.app/core/platform - tests/harness/cp-stub/go.mod: github.com/Molecule-AI/molecule-monorepo/tests/harness/cp-stub -> go.moleculesai.app/core/tests/harness/cp-stub Surfaces touched - 174 *.go files (374 import lines) — every import under workspace-server/ + tests/harness/cp-stub/ - 2 Dockerfiles (workspace-server/Dockerfile + Dockerfile.tenant) — -ldflags strings updated in lockstep with the module rename so buildinfo.GitSHA injection still resolves correctly - README + docs + scripts + comment URLs to git.moleculesai.app form - NEW workspace-server/internal/lint/import_path_lint_test.go — structural lint gate rejecting future github.com/Molecule-AI/ or Molecule-AI/molecule-monorepo references. Identical template to the other migration PRs (plugin-gh-identity#3, molecule-cli#2, molecule-controlplane#32). Cross-repo dep allowlist (documented in lint gate) workspace-server requires molecule-ai-plugin-gh-identity, whose own vanity migration is PR molecule-ai-plugin-gh-identity#3. Until that PR merges + a tag is cut at go.moleculesai.app/plugin/gh-identity, the two locations referencing the legacy github.com path (workspace-server/go.mod require, cmd/server/main.go import) remain allowlisted. Follow-up PR drops the allowlist + updates both refs in one shot once gh-identity is fully migrated. Test plan - go build ./... clean for both modules - go test ./... green except two pre-existing failures (TestStartSweeper_RecordsMetricsOnSuccess flaky-on-suite, TestLocalResolver_BubblesUpCopyFailure relies on read-only fs perms but runs as root on operator host) — both reproduce identically on baseline main pre-migration; NOT regressions of this PR - Mutation-tested: lint gate fails on canaries in .go + .md; allowlist correctly suppresses cross-repo dep references in go.mod while still flagging unrelated additions Open dependency - go.moleculesai.app responder must be deployed before fresh-clone external builds resolve the vanity path. Existing CI / Docker builds ride pinned go.sum + self-referential module path + responder is not on critical path for those. Co-Authored-By: Claude Opus 4.7 (1M context) --- CONTRIBUTING.md | 12 +- README.md | 6 +- README.zh-CN.md | 6 +- canvas/src/app/pricing/page.tsx | 2 +- docs/architecture/canary-release.md | 2 +- docs/architecture/molecule-technical-doc.md | 12 +- docs/architecture/secrets-key-custody.md | 4 +- docs/blog/2026-04-17-deploy-anywhere/index.md | 4 +- .../index.md | 4 +- .../2026-04-20-remote-workspaces/index.md | 4 +- .../blog/2026-04-20-secure-by-design/index.md | 8 +- docs/blog/2026-04-21-discord-adapter/index.md | 6 +- .../2026-04-22-a2a-v1-agent-platform/index.md | 2 +- .../2026-04-22-remote-workspaces/index.md | 4 +- .../a2a-v1-production-reference-2026-04-24.md | 2 +- .../postmortem-2026-04-23-boot-event-401.md | 12 +- docs/engineering/pr-hygiene.md | 2 +- docs/engineering/testing-strategy.md | 12 +- docs/guides/external-workspace-quickstart.md | 6 +- docs/guides/remote-workspaces.md | 4 +- docs/guides/skill-catalog.md | 4 +- docs/integrations/opencode.md | 2 +- .../integrations/runtime-native-mcp-status.md | 8 +- docs/internal-content-policy.md | 10 +- docs/memory-plugins/CHANGELOG.md | 2 +- docs/memory-plugins/testing-your-plugin.md | 4 +- docs/plugins/agentskills-compat.md | 10 +- docs/quickstart.md | 4 +- .../chrome-devtools-mcp-quickstart.md | 2 +- docs/tutorials/fly-machines-provisioner.md | 6 +- docs/tutorials/gemini-cli-runtime.md | 2 +- docs/tutorials/google-adk-runtime.md | 2 +- .../hermes-multi-provider-dispatch.md | 8 +- docs/tutorials/lark-feishu-channel.md | 2 +- docs/workspace-runtime-package.md | 22 +-- scripts/README.md | 2 +- tests/e2e/STAGING_SAAS_E2E.md | 2 +- tests/harness/cp-stub/go.mod | 2 +- workspace-server/Dockerfile | 4 +- workspace-server/Dockerfile.tenant | 4 +- workspace-server/cmd/memory-backfill/main.go | 6 +- .../cmd/memory-backfill/main_test.go | 4 +- .../cmd/memory-backfill/verify.go | 4 +- .../cmd/memory-backfill/verify_test.go | 2 +- .../memory-plugin-postgres/boot_e2e_test.go | 4 +- .../cmd/memory-plugin-postgres/main.go | 2 +- workspace-server/cmd/server/main.go | 32 ++-- workspace-server/go.mod | 2 +- .../internal/artifacts/client_test.go | 4 +- .../internal/buildinfo/buildinfo.go | 2 +- .../internal/buildinfo/buildinfo_test.go | 2 +- workspace-server/internal/bundle/exporter.go | 4 +- workspace-server/internal/bundle/importer.go | 8 +- .../internal/channels/channels_test.go | 2 +- workspace-server/internal/channels/manager.go | 4 +- workspace-server/internal/channels/secret.go | 2 +- .../internal/channels/secret_test.go | 2 +- .../internal/db/architecture_test.go | 2 +- .../internal/events/broadcaster.go | 6 +- .../internal/handlers/a2a_proxy.go | 12 +- .../internal/handlers/a2a_proxy_helpers.go | 8 +- .../handlers/a2a_proxy_preflight_test.go | 4 +- .../internal/handlers/a2a_proxy_test.go | 4 +- .../internal/handlers/a2a_queue.go | 6 +- .../internal/handlers/a2a_queue_status.go | 4 +- .../internal/handlers/a2a_queue_test.go | 2 +- .../internal/handlers/activity.go | 4 +- .../internal/handlers/activity_test.go | 2 +- .../internal/handlers/admin_delegations.go | 2 +- .../internal/handlers/admin_memories.go | 8 +- .../handlers/admin_memories_cutover_test.go | 6 +- .../handlers/admin_schedules_health.go | 4 +- .../internal/handlers/admin_test_token.go | 4 +- .../handlers/admin_test_token_test.go | 4 +- .../handlers/admin_workspace_images.go | 2 +- workspace-server/internal/handlers/agent.go | 4 +- .../internal/handlers/agent_message_writer.go | 4 +- .../handlers/agent_message_writer_test.go | 2 +- .../internal/handlers/approvals.go | 4 +- .../internal/handlers/artifacts.go | 4 +- .../internal/handlers/artifacts_test.go | 6 +- workspace-server/internal/handlers/audit.go | 2 +- workspace-server/internal/handlers/budget.go | 2 +- workspace-server/internal/handlers/bundle.go | 6 +- .../internal/handlers/channels.go | 4 +- .../internal/handlers/channels_test.go | 2 +- .../internal/handlers/chat_files.go | 6 +- .../internal/handlers/chat_files_poll_test.go | 2 +- .../internal/handlers/chat_history.go | 2 +- .../internal/handlers/chat_history_test.go | 2 +- .../handlers/checkpoints_integration_test.go | 2 +- .../internal/handlers/checkpoints_test.go | 2 +- workspace-server/internal/handlers/config.go | 2 +- .../internal/handlers/container_files.go | 4 +- .../internal/handlers/delegation.go | 6 +- .../internal/handlers/delegation_ledger.go | 4 +- .../delegation_ledger_integration_test.go | 2 +- .../internal/handlers/delegation_sweeper.go | 2 +- .../internal/handlers/discovery.go | 10 +- workspace-server/internal/handlers/events.go | 2 +- .../internal/handlers/external_connection.go | 10 +- .../internal/handlers/external_rotate.go | 6 +- .../internal/handlers/github_token.go | 2 +- .../internal/handlers/github_token_test.go | 2 +- .../handlers/handlers_additional_test.go | 2 +- .../internal/handlers/handlers_test.go | 10 +- .../internal/handlers/hibernation_test.go | 2 +- .../internal/handlers/instructions.go | 2 +- workspace-server/internal/handlers/mcp.go | 2 +- .../internal/handlers/mcp_test.go | 2 +- .../internal/handlers/mcp_tools.go | 6 +- .../handlers/mcp_tools_memory_legacy_shim.go | 2 +- .../mcp_tools_memory_legacy_shim_test.go | 4 +- .../internal/handlers/mcp_tools_memory_v2.go | 6 +- .../handlers/mcp_tools_memory_v2_test.go | 6 +- .../internal/handlers/memories.go | 4 +- .../internal/handlers/memories_v2.go | 6 +- .../internal/handlers/memories_v2_test.go | 4 +- workspace-server/internal/handlers/memory.go | 2 +- .../internal/handlers/mock_runtime.go | 2 +- .../handlers/native_status_mgmt_test.go | 2 +- workspace-server/internal/handlers/org.go | 8 +- .../internal/handlers/org_import.go | 16 +- .../internal/handlers/org_plugin_allowlist.go | 4 +- .../internal/handlers/org_test.go | 2 +- .../internal/handlers/org_tokens.go | 4 +- .../internal/handlers/org_tokens_test.go | 2 +- .../internal/handlers/pending_uploads.go | 2 +- .../pending_uploads_integration_test.go | 2 +- .../internal/handlers/pending_uploads_test.go | 4 +- workspace-server/internal/handlers/plugins.go | 4 +- .../internal/handlers/plugins_install.go | 6 +- .../handlers/plugins_install_pipeline.go | 4 +- .../handlers/plugins_install_pipeline_test.go | 2 +- .../internal/handlers/provlog_emit_test.go | 2 +- .../internal/handlers/registry.go | 8 +- .../internal/handlers/registry_test.go | 2 +- .../internal/handlers/restart_context.go | 2 +- .../internal/handlers/runtime_image_pin.go | 4 +- .../handlers/runtime_image_pin_test.go | 2 +- .../handlers/saas_default_tier_test.go | 2 +- .../handlers/sanitize_filename_test.go | 2 +- .../internal/handlers/schedules.go | 6 +- workspace-server/internal/handlers/secrets.go | 6 +- ...ecurity_regression_685_686_687_688_test.go | 2 +- workspace-server/internal/handlers/socket.go | 8 +- workspace-server/internal/handlers/sse.go | 4 +- .../internal/handlers/template_import.go | 4 +- .../internal/handlers/templates.go | 4 +- .../internal/handlers/terminal.go | 8 +- .../internal/handlers/terminal_diagnose.go | 6 +- .../handlers/testdata/derive-provider.sh | 2 +- workspace-server/internal/handlers/tokens.go | 4 +- .../internal/handlers/tokens_sqlmock_test.go | 2 +- .../internal/handlers/tokens_test.go | 4 +- .../internal/handlers/transcript.go | 2 +- .../internal/handlers/viewport.go | 2 +- .../internal/handlers/webhooks.go | 4 +- .../internal/handlers/webhooks_test.go | 12 +- .../handlers/webhooks_workflow_test.go | 6 +- .../internal/handlers/workspace.go | 14 +- .../internal/handlers/workspace_bootstrap.go | 6 +- .../handlers/workspace_bootstrap_test.go | 2 +- .../handlers/workspace_budget_test.go | 2 +- .../internal/handlers/workspace_crud.go | 8 +- .../handlers/workspace_dispatchers.go | 4 +- .../internal/handlers/workspace_metrics.go | 2 +- .../internal/handlers/workspace_provision.go | 10 +- .../handlers/workspace_provision_auto_test.go | 4 +- ...rkspace_provision_concurrent_repro_test.go | 4 +- .../workspace_provision_panic_test.go | 2 +- .../handlers/workspace_provision_shared.go | 10 +- .../workspace_provision_shared_test.go | 4 +- .../handlers/workspace_provision_test.go | 8 +- .../internal/handlers/workspace_restart.go | 8 +- .../workspace_restart_stop_retry_test.go | 2 +- .../handlers/workspace_restart_test.go | 2 +- .../internal/handlers/workspace_test.go | 2 +- workspace-server/internal/imagewatch/watch.go | 2 +- .../internal/imagewatch/watch_test.go | 2 +- .../internal/lint/import_path_lint_test.go | 153 ++++++++++++++++++ .../internal/memory/client/client.go | 4 +- .../internal/memory/client/client_test.go | 2 +- .../internal/memory/e2e/swap_test.go | 8 +- .../internal/memory/namespace/resolver.go | 2 +- .../memory/namespace/resolver_test.go | 2 +- .../internal/memory/pgplugin/handlers.go | 2 +- .../internal/memory/pgplugin/handlers_test.go | 2 +- .../internal/memory/pgplugin/store.go | 2 +- .../internal/memory/pgplugin/store_test.go | 2 +- .../internal/memory/wiring/wiring.go | 4 +- .../internal/middleware/wsauth_middleware.go | 4 +- .../internal/models/architecture_test.go | 2 +- .../internal/pendinguploads/storage_test.go | 2 +- .../internal/pendinguploads/sweeper.go | 2 +- .../internal/pendinguploads/sweeper_test.go | 4 +- .../internal/provisioner/architecture_test.go | 2 +- .../internal/provisioner/cp_provisioner.go | 4 +- workspace-server/internal/registry/access.go | 2 +- .../internal/registry/access_test.go | 2 +- .../internal/registry/healthsweep.go | 4 +- .../internal/registry/healthsweep_test.go | 4 +- .../internal/registry/hibernation.go | 4 +- .../internal/registry/hibernation_test.go | 2 +- .../internal/registry/liveness.go | 4 +- .../internal/registry/liveness_test.go | 4 +- .../internal/registry/orphan_sweeper.go | 2 +- .../internal/registry/provisiontimeout.go | 6 +- .../registry/provisiontimeout_test.go | 2 +- .../router/admin_delegations_route_test.go | 6 +- .../router/admin_test_token_route_test.go | 6 +- workspace-server/internal/router/router.go | 26 +-- .../internal/scheduler/scheduler.go | 10 +- .../internal/scheduler/scheduler_test.go | 4 +- workspace-server/internal/ws/hub.go | 2 +- .../internal/wsauth/architecture_test.go | 2 +- workspace-server/pkg/provisionhook/mutator.go | 2 +- workspace/build-all.sh | 2 +- 218 files changed, 639 insertions(+), 486 deletions(-) create mode 100644 workspace-server/internal/lint/import_path_lint_test.go diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 601533f4..5e90e4d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,7 +22,7 @@ development workflow, conventions, and how to get your changes merged. ```bash # Clone the repo -git clone https://github.com/Molecule-AI/molecule-core.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-core # Install git hooks @@ -57,7 +57,7 @@ See `CLAUDE.md` for a full list of environment variables and their purposes. This repo is scoped to **code** (canvas, workspace, workspace-server, related infra). Public content (blog posts, marketing copy, OG images, SEO briefs, -DevRel demos) lives in [`Molecule-AI/docs`](https://github.com/Molecule-AI/docs). +DevRel demos) lives in [`Molecule-AI/docs`](https://git.moleculesai.app/molecule-ai/docs). The `Block forbidden paths` CI gate fails any PR that writes to `marketing/` or other removed paths — open against `Molecule-AI/docs` instead. @@ -110,7 +110,7 @@ causing a render loop when any node position changed. 1. **Repo-wide:** "Automatically delete head branches" is on. Once a PR merges, the branch is deleted server-side. Any subsequent `git push` to that branch fails with `remote rejected — no such branch`. -2. **CI:** the `pr-guards` workflow (calling [molecule-ci `disable-auto-merge-on-push`](https://github.com/Molecule-AI/molecule-ci/blob/main/.github/workflows/disable-auto-merge-on-push.yml)) fires on every push to an open PR. If auto-merge was already enabled, it's disabled and a comment is posted. You must explicitly re-enable after verifying the new commit. +2. **CI:** the `pr-guards` workflow (calling [molecule-ci `disable-auto-merge-on-push`](https://git.moleculesai.app/molecule-ai/molecule-ci/blob/main/.github/workflows/disable-auto-merge-on-push.yml)) fires on every push to an open PR. If auto-merge was already enabled, it's disabled and a comment is posted. You must explicitly re-enable after verifying the new commit. **Workflow rules that follow from the guards:** - Push **all** commits before running `gh pr merge --auto`. @@ -180,9 +180,9 @@ and run CI manually. Code in this repo lands in molecule-core. Some related runtime artifacts live in their own repos: -- [`Molecule-AI/molecule-ai-workspace-runtime`](https://github.com/Molecule-AI/molecule-ai-workspace-runtime) — Python adapter SDK (`molecule_runtime`) that runs inside containerized Molecule workspaces. Bridges Claude Code SDK / hermes / langgraph / etc. → A2A queue. -- [`Molecule-AI/molecule-sdk-python`](https://github.com/Molecule-AI/molecule-sdk-python) — `A2AServer` + `RemoteAgentClient` for external agents that register over the public `/registry/register` flow. -- [`Molecule-AI/molecule-mcp-claude-channel`](https://github.com/Molecule-AI/molecule-mcp-claude-channel) — Claude Code channel plugin. Bridges A2A traffic into a running Claude Code session via MCP `notifications/claude/channel`. Polling-based (no tunnel required); install with `claude --channels plugin:molecule@Molecule-AI/molecule-mcp-claude-channel`. +- [`Molecule-AI/molecule-ai-workspace-runtime`](https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-runtime) — Python adapter SDK (`molecule_runtime`) that runs inside containerized Molecule workspaces. Bridges Claude Code SDK / hermes / langgraph / etc. → A2A queue. +- [`Molecule-AI/molecule-sdk-python`](https://git.moleculesai.app/molecule-ai/molecule-sdk-python) — `A2AServer` + `RemoteAgentClient` for external agents that register over the public `/registry/register` flow. +- [`Molecule-AI/molecule-mcp-claude-channel`](https://git.moleculesai.app/molecule-ai/molecule-mcp-claude-channel) — Claude Code channel plugin. Bridges A2A traffic into a running Claude Code session via MCP `notifications/claude/channel`. Polling-based (no tunnel required); install with `claude --channels plugin:molecule@Molecule-AI/molecule-mcp-claude-channel`. When extending the **A2A surface** in molecule-core (`workspace-server/internal/handlers/a2a_proxy.go` etc.), consider whether the change has a downstream impact on the runtime SDK or the channel plugin — they're versioned independently but share the wire shape. diff --git a/README.md b/README.md index c054253d..4fde7b3d 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,8 @@ Workspace Runtime

-[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template?template=https://github.com/Molecule-AI/molecule-monorepo) -[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/Molecule-AI/molecule-monorepo) +[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template?template=https://git.moleculesai.app/molecule-ai/molecule-core) +[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://git.moleculesai.app/molecule-ai/molecule-core) @@ -249,7 +249,7 @@ Workspace Runtime (Python image with adapters) ## Quick Start ```bash -git clone https://github.com/Molecule-AI/molecule-monorepo.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-monorepo cp .env.example .env diff --git a/README.zh-CN.md b/README.zh-CN.md index 20df5685..52ca6fb3 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -38,8 +38,8 @@ Workspace Runtime

-[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template?template=https://github.com/Molecule-AI/molecule-core) -[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/Molecule-AI/molecule-core) +[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template?template=https://git.moleculesai.app/molecule-ai/molecule-core) +[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://git.moleculesai.app/molecule-ai/molecule-core) @@ -248,7 +248,7 @@ Workspace Runtime (Python image with adapters) ## 快速开始 ```bash -git clone https://github.com/Molecule-AI/molecule-core.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-core cp .env.example .env diff --git a/canvas/src/app/pricing/page.tsx b/canvas/src/app/pricing/page.tsx index 3ef6f319..ff01a81a 100644 --- a/canvas/src/app/pricing/page.tsx +++ b/canvas/src/app/pricing/page.tsx @@ -41,7 +41,7 @@ export default function PricingPage() {

We publish the{" "} full source on GitHub diff --git a/docs/architecture/canary-release.md b/docs/architecture/canary-release.md index d6873a8d..3977bfe6 100644 --- a/docs/architecture/canary-release.md +++ b/docs/architecture/canary-release.md @@ -4,7 +4,7 @@ How a workspace-server code change reaches the prod tenant fleet — and how to > **⚠️ State note (2026-04-22):** this doc describes the **intended design**. As of this write, the canary fleet described below is **not actually running** — no canary tenants are provisioned, `CANARY_TENANT_URLS` / `CANARY_ADMIN_TOKENS` / `CANARY_CP_SHARED_SECRET` are empty in repo secrets, and `canary-verify.yml` fails every run. > -> Current merges gate on manual `promote-latest.yml` dispatches, not canary. See [molecule-controlplane/docs/canary-tenants.md](https://github.com/Molecule-AI/molecule-controlplane/blob/main/docs/canary-tenants.md) for the Phase 1 code work that's already shipped + the Phase 2 plan for actually standing up the fleet + a "should we even do this now?" decision framework. +> Current merges gate on manual `promote-latest.yml` dispatches, not canary. See [molecule-controlplane/docs/canary-tenants.md](https://git.moleculesai.app/molecule-ai/molecule-controlplane/blob/main/docs/canary-tenants.md) for the Phase 1 code work that's already shipped + the Phase 2 plan for actually standing up the fleet + a "should we even do this now?" decision framework. > > **Account-specific identifiers (AWS account ID, IAM role name) referenced below in the original design have been redacted from this public doc.** The actual values — if they exist — are in `Molecule-AI/internal/runbooks/canary-fleet.md`. If you're implementing Phase 2, start there. > diff --git a/docs/architecture/molecule-technical-doc.md b/docs/architecture/molecule-technical-doc.md index cd3dc957..da593599 100644 --- a/docs/architecture/molecule-technical-doc.md +++ b/docs/architecture/molecule-technical-doc.md @@ -1,7 +1,7 @@ # Molecule AI — Comprehensive Technical Documentation > Definitive technical reference for the Molecule AI Agent Team platform. -> Based on a full non-invasive scan of the [molecule-monorepo](https://github.com/Molecule-AI/molecule-monorepo) repository. +> Based on a full non-invasive scan of the [molecule-monorepo](https://git.moleculesai.app/molecule-ai/molecule-core) repository. --- @@ -1149,11 +1149,11 @@ Molecule AI's workspace abstraction is **runtime-agnostic by design**. A workspa ## Links -- **GitHub**: https://github.com/Molecule-AI/molecule-monorepo -- **Architecture Docs**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/architecture -- **API Protocol**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/api-protocol -- **Agent Runtime**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/agent-runtime -- **Product Docs**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/product +- **GitHub**: https://git.moleculesai.app/molecule-ai/molecule-core +- **Architecture Docs**: https://git.moleculesai.app/molecule-ai/molecule-core/tree/main/docs/architecture +- **API Protocol**: https://git.moleculesai.app/molecule-ai/molecule-core/tree/main/docs/api-protocol +- **Agent Runtime**: https://git.moleculesai.app/molecule-ai/molecule-core/tree/main/docs/agent-runtime +- **Product Docs**: https://git.moleculesai.app/molecule-ai/molecule-core/tree/main/docs/product --- diff --git a/docs/architecture/secrets-key-custody.md b/docs/architecture/secrets-key-custody.md index 75e9f9c4..b34ef8a5 100644 --- a/docs/architecture/secrets-key-custody.md +++ b/docs/architecture/secrets-key-custody.md @@ -79,7 +79,7 @@ For SOC2 / ISO 27001 / customer security questionnaires: ## Pointers -- KMS envelope code: [`molecule-controlplane/internal/crypto/kms.go`](https://github.com/Molecule-AI/molecule-controlplane/blob/main/internal/crypto/kms.go) -- Static-key fallback: [`molecule-controlplane/internal/crypto/aes.go`](https://github.com/Molecule-AI/molecule-controlplane/blob/main/internal/crypto/aes.go) +- KMS envelope code: [`molecule-controlplane/internal/crypto/kms.go`](https://git.moleculesai.app/molecule-ai/molecule-controlplane/blob/main/internal/crypto/kms.go) +- Static-key fallback: [`molecule-controlplane/internal/crypto/aes.go`](https://git.moleculesai.app/molecule-ai/molecule-controlplane/blob/main/internal/crypto/aes.go) - Tenant secrets handler: [`workspace-server/internal/crypto/aes.go`](../../workspace-server/internal/crypto/aes.go) - Tenant secrets schema: [database-schema.md](./database-schema.md#workspace_secrets) diff --git a/docs/blog/2026-04-17-deploy-anywhere/index.md b/docs/blog/2026-04-17-deploy-anywhere/index.md index 6279301d..6af51a4b 100644 --- a/docs/blog/2026-04-17-deploy-anywhere/index.md +++ b/docs/blog/2026-04-17-deploy-anywhere/index.md @@ -10,7 +10,7 @@ tags: [platform, fly.io, deployment, infrastructure] Your infrastructure choice just got decoupled from your agent platform choice. Molecule AI now ships three production-ready workspace backends — `docker`, `flyio`, and `controlplane` — and switching between them takes a single environment variable. Your agent code, model choices, and workspace topology stay exactly the same. -This post covers what shipped in [PR #501](https://github.com/Molecule-AI/molecule-core/pull/501) (Fly Machines provisioner) and [PR #503](https://github.com/Molecule-AI/molecule-core/pull/503) (control plane provisioner), and which backend fits your situation. +This post covers what shipped in [PR #501](https://git.moleculesai.app/molecule-ai/molecule-core/pull/501) (Fly Machines provisioner) and [PR #503](https://git.moleculesai.app/molecule-ai/molecule-core/pull/503) (control plane provisioner), and which backend fits your situation. ## Before: One Deployment Model for Every Use Case @@ -107,4 +107,4 @@ No changes to agent code, tool definitions, or orchestration logic. Swap `CONTAI --- -*[PR #501](https://github.com/Molecule-AI/molecule-core/pull/501) (Fly Machines provisioner) and [PR #503](https://github.com/Molecule-AI/molecule-core/pull/503) (control plane provisioner) are both merged to `main`. Molecule AI is open source — contributions welcome.* +*[PR #501](https://git.moleculesai.app/molecule-ai/molecule-core/pull/501) (Fly Machines provisioner) and [PR #503](https://git.moleculesai.app/molecule-ai/molecule-core/pull/503) (control plane provisioner) are both merged to `main`. Molecule AI is open source — contributions welcome.* diff --git a/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md b/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md index ccfa1d8b..cee7c7cc 100644 --- a/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md +++ b/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md @@ -299,8 +299,8 @@ Or use the Canvas UI: Workspace → Config → MCP Servers → Add browser MCP s **Try it free** — Molecule AI is open source and self-hostable. Get a workspace running in under 5 minutes. -→ [Get started on GitHub →](https://github.com/Molecule-AI/molecule-core) +→ [Get started on GitHub →](https://git.moleculesai.app/molecule-ai/molecule-core) --- -*Have a browser automation use case you want to see covered? Open a discussion on [GitHub Discussions](https://github.com/Molecule-AI/molecule-core/discussions) — or file an issue with the `enhancement` label.* +*Have a browser automation use case you want to see covered? Open a discussion on [GitHub Discussions](https://git.moleculesai.app/molecule-ai/molecule-core/discussions) — or file an issue with the `enhancement` label.* diff --git a/docs/blog/2026-04-20-remote-workspaces/index.md b/docs/blog/2026-04-20-remote-workspaces/index.md index cbd9e787..db660050 100644 --- a/docs/blog/2026-04-20-remote-workspaces/index.md +++ b/docs/blog/2026-04-20-remote-workspaces/index.md @@ -148,7 +148,7 @@ Then follow the [quick-start guide](/docs/guides/remote-workspaces.md). Or run the annotated example directly: ```bash -git clone https://github.com/Molecule-AI/molecule-sdk-python +git clone https://git.moleculesai.app/molecule-ai/molecule-sdk-python cd molecule-sdk-python/examples/remote-agent # Create workspace with runtime:external, grab the ID, then: WORKSPACE_ID= PLATFORM_URL=https://acme.moleculesai.app python3 run.py @@ -160,6 +160,6 @@ The agent appears on the canvas within seconds. → [Remote Workspaces Guide →](/docs/guides/remote-workspaces.md) → [External Agent Registration Reference →](/docs/guides/external-agent-registration.md) -→ [molecule-sdk-python →](https://github.com/Molecule-AI/molecule-sdk-python) +→ [molecule-sdk-python →](https://git.moleculesai.app/molecule-ai/molecule-sdk-python) *Phase 30 shipped in PRs #1075–#1083 and #1085–#1100 on `molecule-core`.* diff --git a/docs/blog/2026-04-20-secure-by-design/index.md b/docs/blog/2026-04-20-secure-by-design/index.md index 3a56c20c..6372c8ed 100644 --- a/docs/blog/2026-04-20-secure-by-design/index.md +++ b/docs/blog/2026-04-20-secure-by-design/index.md @@ -27,7 +27,7 @@ The biggest user-facing change: every Molecule AI org can now mint named, revoca → [User guide: Organization API Keys](/docs/guides/org-api-keys.md) → [Architecture: Org API Keys](/docs/architecture/org-api-keys.md) -→ PRs: [#1105](https://github.com/Molecule-AI/molecule-core/pull/1105), [#1107](https://github.com/Molecule-AI/molecule-core/pull/1107), [#1109](https://github.com/Molecule-AI/molecule-core/pull/1109), [#1110](https://github.com/Molecule-AI/molecule-core/pull/1110) +→ PRs: [#1105](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1105), [#1107](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1107), [#1109](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1109), [#1110](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1110) --- @@ -48,7 +48,7 @@ AdminAuth now accepts a session-verification tier that runs **before** the beare **Self-hosted / local dev:** `CP_UPSTREAM_URL` is unset → this feature is disabled, behaviour is unchanged. → [Guide: Same-Origin Canvas Fetches & Session Auth](/docs/guides/same-origin-canvas-fetches.md) -→ PRs: [#1099](https://github.com/Molecule-AI/molecule-core/pull/1099), [#1100](https://github.com/Molecule-AI/molecule-core/pull/1100) +→ PRs: [#1099](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1099), [#1100](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1100) --- @@ -87,7 +87,7 @@ The proxy is **fail-closed**: only an explicit allowlist of paths (`/cp/auth/`, This is also the structural fix for the lateral-movement risk that session auth introduced: without the allowlist, a tenant-authed browser user could have proxied `/cp/admin/*` requests upstream and exploited the fact that those endpoints accept WorkOS session cookies. The allowlist makes that impossible by construction. → [Guide: Same-Origin Canvas Fetches & Session Auth](/docs/guides/same-origin-canvas-fetches.md) -→ PR: [#1095](https://github.com/Molecule-AI/molecule-core/pull/1095) +→ PR: [#1095](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1095) --- @@ -99,7 +99,7 @@ The waitlist itself is a Canvas-administered list with email hashing in audit lo This is the operational surface that makes the above security work matter: the beta is invitation-only, credentials are scoped, and every admin action is auditable. -→ Control plane PRs [#145](https://github.com/Molecule-AI/molecule-controlplane/pull/145), [#148](https://github.com/Molecule-AI/molecule-controlplane/pull/148), [#150](https://github.com/Molecule-AI/molecule-controlplane/pull/150) +→ Control plane PRs [#145](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/145), [#148](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/148), [#150](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/150) --- diff --git a/docs/blog/2026-04-21-discord-adapter/index.md b/docs/blog/2026-04-21-discord-adapter/index.md index 238df057..dbb38824 100644 --- a/docs/blog/2026-04-21-discord-adapter/index.md +++ b/docs/blog/2026-04-21-discord-adapter/index.md @@ -12,7 +12,7 @@ Your team is in Discord. Your AI agents are in Molecule AI. Until today, those t That's now one webhook URL. -Molecule AI workspaces can now connect to Discord. Here's what shipped in [PR #656](https://github.com/Molecule-AI/molecule-core/pull/656). +Molecule AI workspaces can now connect to Discord. Here's what shipped in [PR #656](https://git.moleculesai.app/molecule-ai/molecule-core/pull/656). --- @@ -70,7 +70,7 @@ For inbound slash commands, point your Discord app's **Interactions Endpoint URL ## Security: Webhook Tokens Don't Appear in Logs -Webhook URLs contain a token (`/webhooks/{id}/{token}`). If that token leaks into server logs, it's a rotation event. The Discord adapter is explicit about this: HTTP request errors are logged without the URL, and the adapter returns a generic error message. This was hardened in [PR #659](https://github.com/Molecule-AI/molecule-core/pull/659). +Webhook URLs contain a token (`/webhooks/{id}/{token}`). If that token leaks into server logs, it's a rotation event. The Discord adapter is explicit about this: HTTP request errors are logged without the URL, and the adapter returns a generic error message. This was hardened in [PR #659](https://git.moleculesai.app/molecule-ai/molecule-core/pull/659). --- @@ -97,4 +97,4 @@ Documentation: [Social Channels guide](/docs/agent-runtime/social-channels#disco --- -*Discord adapter shipped in [PR #656](https://github.com/Molecule-AI/molecule-core/pull/656). Security hardening in [PR #659](https://github.com/Molecule-AI/molecule-core/pull/659). Molecule AI is open source — contributions welcome.* +*Discord adapter shipped in [PR #656](https://git.moleculesai.app/molecule-ai/molecule-core/pull/656). Security hardening in [PR #659](https://git.moleculesai.app/molecule-ai/molecule-core/pull/659). Molecule AI is open source — contributions welcome.* diff --git a/docs/blog/2026-04-22-a2a-v1-agent-platform/index.md b/docs/blog/2026-04-22-a2a-v1-agent-platform/index.md index 2e57780f..c77917cb 100644 --- a/docs/blog/2026-04-22-a2a-v1-agent-platform/index.md +++ b/docs/blog/2026-04-22-a2a-v1-agent-platform/index.md @@ -133,4 +133,4 @@ With protocol-native A2A, you get: Molecule AI's external agent registration is production-ready. Documentation is live at [External Agent Registration Guide](https://docs.molecule.ai/docs/guides/external-agent-registration). The npm package for the MCP server is available at [`@molecule-ai/mcp-server`](https://www.npmjs.com/package/@molecule-ai/mcp-server). -Read the full [A2A v1.0 protocol spec](https://github.com/Molecule-AI/molecule-core/blob/main/docs/api-protocol/a2a-protocol.md) on GitHub. \ No newline at end of file +Read the full [A2A v1.0 protocol spec](https://git.moleculesai.app/molecule-ai/molecule-core/blob/main/docs/api-protocol/a2a-protocol.md) on GitHub. \ No newline at end of file diff --git a/docs/blog/2026-04-22-remote-workspaces/index.md b/docs/blog/2026-04-22-remote-workspaces/index.md index a8780ece..85b4d25b 100644 --- a/docs/blog/2026-04-22-remote-workspaces/index.md +++ b/docs/blog/2026-04-22-remote-workspaces/index.md @@ -45,7 +45,7 @@ canonicalUrl: "https://docs.molecule.ai/blog/remote-workspaces" " proficiencyLevel": "Expert", "genre": ["technical documentation", "product announcement"], "sameAs": [ - "https://github.com/Molecule-AI/molecule-core", + "https://git.moleculesai.app/molecule-ai/molecule-core", "https://molecule.ai" ] } @@ -270,7 +270,7 @@ Configure it in your project's `.mcp.json` and any AI agent (Claude Code, Cursor → [External Agent Registration Guide](/docs/guides/external-agent-registration) — full step-by-step with Python and Node.js reference implementations -→ [GitHub: molecule-core](https://github.com/Molecule-AI/molecule-core) — source and issues +→ [GitHub: molecule-core](https://git.moleculesai.app/molecule-ai/molecule-core) — source and issues → [Phase 30 Launch Thread on X](https://x.com) — follow for updates diff --git a/docs/blog/a2a-v1-production-reference-2026-04-24.md b/docs/blog/a2a-v1-production-reference-2026-04-24.md index 181c1335..c4306cca 100644 --- a/docs/blog/a2a-v1-production-reference-2026-04-24.md +++ b/docs/blog/a2a-v1-production-reference-2026-04-24.md @@ -170,4 +170,4 @@ The `staging` branch is now on `a2a-sdk` 1.0.0. The `main` branch still carries If you're running `a2a-sdk` 0.3.x and planning the 1.0.0 migration, this post is the reference. The four breaking changes are well-contained, the migration is a single PR, and the eight smoke scenarios above will tell you whether the upgrade is clean before you merge. -Questions? The [A2A protocol spec](https://github.com/google-a2a/a2a-specification) is the authoritative source. For Molecule AI's production A2A implementation, see [External Agent Registration](https://docs.molecule.ai/docs/guides/external-agent-registration) or open an issue in the [molecule-core](https://github.com/Molecule-AI/molecule-core) repo. +Questions? The [A2A protocol spec](https://github.com/google-a2a/a2a-specification) is the authoritative source. For Molecule AI's production A2A implementation, see [External Agent Registration](https://docs.molecule.ai/docs/guides/external-agent-registration) or open an issue in the [molecule-core](https://git.moleculesai.app/molecule-ai/molecule-core) repo. diff --git a/docs/engineering/postmortem-2026-04-23-boot-event-401.md b/docs/engineering/postmortem-2026-04-23-boot-event-401.md index c9c3eed9..74c26f19 100644 --- a/docs/engineering/postmortem-2026-04-23-boot-event-401.md +++ b/docs/engineering/postmortem-2026-04-23-boot-event-401.md @@ -3,8 +3,8 @@ **Date:** 2026-04-23 **Severity:** High — every new SaaS tenant blocked **Detection path:** E2E Staging SaaS run 24848425822 failed at "tenant provisioning"; investigation of CP Railway logs surfaced the auth mismatch. -**Status:** Fix pushed on [molecule-controlplane#238](https://github.com/Molecule-AI/molecule-controlplane/pull/238). -**Related:** [issue #239](https://github.com/Molecule-AI/molecule-controlplane/issues/239) (Cloudflare DNS record quota), [testing-strategy.md](../engineering/testing-strategy.md) +**Status:** Fix pushed on [molecule-controlplane#238](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/238). +**Related:** [issue #239](https://git.moleculesai.app/molecule-ai/molecule-controlplane/issues/239) (Cloudflare DNS record quota), [testing-strategy.md](../engineering/testing-strategy.md) ## Summary @@ -35,7 +35,7 @@ The flow was: ### The commit that introduced the bug -[molecule-controlplane#235](https://github.com/Molecule-AI/molecule-controlplane/pull/235) — "fix(provision): wait for tenant boot-event before falling back to canary". Merged 2026-04-22. +[molecule-controlplane#235](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/235) — "fix(provision): wait for tenant boot-event before falling back to canary". Merged 2026-04-22. Before #235, readiness was determined via a canary probe through Cloudflare's edge — which didn't need CP-side auth, so the INSERT ordering didn't matter. #235 made boot-events the primary readiness signal but didn't move the INSERT earlier. The race was latent before but became load-bearing after. @@ -90,7 +90,7 @@ bootReady, _ := provisioner.WaitForTenantReady(ctx, h.db, org.ID, 4*time.Minute) h.db.ExecContext(ctx, `UPDATE org_instances SET status = 'running' WHERE org_id = $1`, org.ID) ``` -See [molecule-controlplane#238](https://github.com/Molecule-AI/molecule-controlplane/pull/238) for the full diff. +See [molecule-controlplane#238](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/238) for the full diff. ## Lessons @@ -122,9 +122,9 @@ Early investigation blamed the hermes provider 401 bug (a separate, known issue ## Follow-ups -- [ ] Land [molecule-controlplane#238](https://github.com/Molecule-AI/molecule-controlplane/pull/238) +- [ ] Land [molecule-controlplane#238](https://git.moleculesai.app/molecule-ai/molecule-controlplane/pull/238) - [ ] Redeploy staging-api, verify E2E goes green - [ ] Add CP integration test suite (see lesson #2) - [ ] Wire E2E failure → notification (see lesson #3) - [ ] Add invariant comment in `provisionTenant` (see lesson #4) -- [ ] Cloudflare DNS quota cleanup — [molecule-controlplane#239](https://github.com/Molecule-AI/molecule-controlplane/issues/239) +- [ ] Cloudflare DNS quota cleanup — [molecule-controlplane#239](https://git.moleculesai.app/molecule-ai/molecule-controlplane/issues/239) diff --git a/docs/engineering/pr-hygiene.md b/docs/engineering/pr-hygiene.md index bdef0802..78a859e6 100644 --- a/docs/engineering/pr-hygiene.md +++ b/docs/engineering/pr-hygiene.md @@ -138,5 +138,5 @@ If you see any of these, don't try to "clean it up in place" — **cherry-pick o ## Related -- [Issue #1822](https://github.com/Molecule-AI/molecule-core/issues/1822) — backend parity drift tracker (example of docs that have to stay current) +- [Issue #1822](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1822) — backend parity drift tracker (example of docs that have to stay current) - [Postmortem: CP boot-event 401](./postmortem-2026-04-23-boot-event-401.md) — caught before shipping because a reviewer could read the diff diff --git a/docs/engineering/testing-strategy.md b/docs/engineering/testing-strategy.md index 86c0d342..55fbee9d 100644 --- a/docs/engineering/testing-strategy.md +++ b/docs/engineering/testing-strategy.md @@ -103,9 +103,9 @@ A bad test: ## Related -- [Issue #1821](https://github.com/Molecule-AI/molecule-core/issues/1821) — policy tracking issue -- [Issue #1815](https://github.com/Molecule-AI/molecule-core/issues/1815) — Canvas coverage instrumentation -- [Issue #1818](https://github.com/Molecule-AI/molecule-core/issues/1818) — Python pytest-cov -- [Issue #1814](https://github.com/Molecule-AI/molecule-core/issues/1814) — workspace_provision_test.go unblock -- [Issue #1816](https://github.com/Molecule-AI/molecule-core/issues/1816) — tokens.go coverage -- [Issue #1819](https://github.com/Molecule-AI/molecule-core/issues/1819) — wsauth_middleware coverage +- [Issue #1821](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1821) — policy tracking issue +- [Issue #1815](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1815) — Canvas coverage instrumentation +- [Issue #1818](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1818) — Python pytest-cov +- [Issue #1814](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1814) — workspace_provision_test.go unblock +- [Issue #1816](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1816) — tokens.go coverage +- [Issue #1819](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1819) — wsauth_middleware coverage diff --git a/docs/guides/external-workspace-quickstart.md b/docs/guides/external-workspace-quickstart.md index 4f7f0aba..bda97fed 100644 --- a/docs/guides/external-workspace-quickstart.md +++ b/docs/guides/external-workspace-quickstart.md @@ -153,7 +153,7 @@ The `id` field is your workspace ID — remember it. |---|---| | "Failed to send message — agent may be unreachable" | The tenant couldn't POST to your URL. Verify `curl https:///health` returns 200 from another machine. | | Response takes > 30s | Canvas times out around 30s. Keep initial implementations simple. For long-running work, return a placeholder and use [polling mode](#next-step-polling-mode-preview) (once available). | -| Agent duplicated in chat | Known canvas bug where WebSocket + HTTP responses both render. Fixed in [PR #1517](https://github.com/Molecule-AI/molecule-core/pull/1517). | +| Agent duplicated in chat | Known canvas bug where WebSocket + HTTP responses both render. Fixed in [PR #1517](https://git.moleculesai.app/molecule-ai/molecule-core/pull/1517). | | Agent replies but canvas shows "Agent unreachable" | Check the tenant can reach your URL. Cloudflare quick tunnels rotate — the URL in your canvas may point at a dead tunnel after restart. | | Getting 404 when POSTing to tenant | Add `X-Molecule-Org-Id` header. The tenant's security layer 404s unmatched origin requests by design. | @@ -215,7 +215,7 @@ Push mode (this guide) works today but requires an inbound-reachable URL — whi Your agent makes only outbound HTTPS calls to the platform, pulling messages from an inbox queue and posting replies back. Works behind any NAT/firewall, tolerates offline laptops, no tunnel needed. -See the [design doc](https://github.com/Molecule-AI/internal/blob/main/product/external-workspaces-polling.md) (internal) and [implementation tracking issue](https://github.com/Molecule-AI/molecule-core/issues?q=polling+mode) once opened. +See the [design doc](https://git.moleculesai.app/molecule-ai/internal/blob/main/product/external-workspaces-polling.md) (internal) and [implementation tracking issue](https://git.moleculesai.app/molecule-ai/molecule-core/issues?q=polling+mode) once opened. --- @@ -255,7 +255,7 @@ If all four pass and canvas still shows your agent as unreachable, see the [remo ## Feedback This is a new path. Tell us what broke: -- Open an issue: https://github.com/Molecule-AI/molecule-core/issues/new?labels=external-workspace +- Open an issue: https://git.moleculesai.app/molecule-ai/molecule-core/issues/new?labels=external-workspace - Join #external-workspaces on our Slack - Submit a PR improving this doc if something tripped you up — the faster we can make the quickstart, the more developers we bring in diff --git a/docs/guides/remote-workspaces.md b/docs/guides/remote-workspaces.md index 6fb45574..b808a497 100644 --- a/docs/guides/remote-workspaces.md +++ b/docs/guides/remote-workspaces.md @@ -143,5 +143,5 @@ The agent appears on the canvas with a **purple REMOTE badge** within seconds. F ## Next Steps - **[External Agent Registration Guide →](/docs/guides/external-agent-registration)** — full endpoint reference, Python + Node.js examples, troubleshooting -- **[molecule-sdk-python →](https://github.com/Molecule-AI/molecule-sdk-python)** — SDK source, `RemoteAgentClient` API docs -- **[SDK Examples →](https://github.com/Molecule-AI/molecule-sdk-python/tree/main/examples/remote-agent)** — `run.py` demo script, annotated walkthrough +- **[molecule-sdk-python →](https://git.moleculesai.app/molecule-ai/molecule-sdk-python)** — SDK source, `RemoteAgentClient` API docs +- **[SDK Examples →](https://git.moleculesai.app/molecule-ai/molecule-sdk-python/tree/main/examples/remote-agent)** — `run.py` demo script, annotated walkthrough diff --git a/docs/guides/skill-catalog.md b/docs/guides/skill-catalog.md index 337becc2..94f5a53d 100644 --- a/docs/guides/skill-catalog.md +++ b/docs/guides/skill-catalog.md @@ -61,7 +61,7 @@ molecule skills install arxiv-research --from community Community skills are reviewed by the Molecule AI team before being listed. Submit a skill for review by opening a PR against -[`molecule-ai/skills`](https://github.com/Molecule-AI/skills). +[`molecule-ai/skills`](https://git.moleculesai.app/molecule-ai/skills). ## Installing via config.yaml @@ -151,7 +151,7 @@ molecule skills bundle my-custom-skill --output ./org-templates/my-role/ ``` **Publishing to the community:** Open a PR against -[`molecule-ai/skills`](https://github.com/Molecule-AI/skills) with a +[`molecule-ai/skills`](https://git.moleculesai.app/molecule-ai/skills) with a complete skill package. Community skills are reviewed for security and correctness before listing. diff --git a/docs/integrations/opencode.md b/docs/integrations/opencode.md index 4d69ef72..cd1d708f 100644 --- a/docs/integrations/opencode.md +++ b/docs/integrations/opencode.md @@ -64,7 +64,7 @@ When opencode connects to the Molecule MCP endpoint, the agent gains access to: "tool": "delegate_task", "arguments": { "target": "research-lead", - "task": "Summarise the last 7 days of commits in Molecule-AI/molecule-monorepo" + "task": "Summarise the last 7 days of commits in molecule-ai/molecule-core" } } ``` diff --git a/docs/integrations/runtime-native-mcp-status.md b/docs/integrations/runtime-native-mcp-status.md index b322ebc8..dabd5875 100644 --- a/docs/integrations/runtime-native-mcp-status.md +++ b/docs/integrations/runtime-native-mcp-status.md @@ -96,10 +96,10 @@ fork needed in production. `resolve_platform_id` for plugin-platform-safe deserialization, and `self.adapters[adapter.platform]` keying fix (caught by real-subprocess test before merge — see below). -- **Plugin package**: [Molecule-AI/hermes-platform-molecule-a2a](https://github.com/Molecule-AI/hermes-platform-molecule-a2a) +- **Plugin package**: [Molecule-AI/hermes-platform-molecule-a2a](https://git.moleculesai.app/molecule-ai/hermes-platform-molecule-a2a) v0.1.0 — public, MIT-licensed. 11 unit tests + 8 in-process E2E + 4 real-subprocess E2E checkpoints all green. -- **Workspace template patch**: [Molecule-AI/molecule-ai-workspace-template-hermes#32](https://github.com/Molecule-AI/molecule-ai-workspace-template-hermes/pull/32) +- **Workspace template patch**: [Molecule-AI/molecule-ai-workspace-template-hermes#32](https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-hermes/pull/32) — Dockerfile installs the patched fork + plugin into the hermes installer's venv; start.sh seeds `platforms.molecule-a2a` config stanza. Pre-demo deliberately install-only; adapter.py rewrite to @@ -154,9 +154,9 @@ intermediate shim earns its complexity. ## Codex (OpenAI Codex CLI) **Status:** Template SHIPPED. Repo live at -[`Molecule-AI/molecule-ai-workspace-template-codex`](https://github.com/Molecule-AI/molecule-ai-workspace-template-codex) +[`Molecule-AI/molecule-ai-workspace-template-codex`](https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-codex) (14 files, 1411 LOC, 12/12 tests). molecule-core registration in -[PR #2512](https://github.com/Molecule-AI/molecule-core/pull/2512). +[PR #2512](https://git.moleculesai.app/molecule-ai/molecule-core/pull/2512). E2E with real A2A traffic remains. **Path:** Persistent `codex app-server` stdio JSON-RPC client diff --git a/docs/internal-content-policy.md b/docs/internal-content-policy.md index b0c5e165..a1c14b39 100644 --- a/docs/internal-content-policy.md +++ b/docs/internal-content-policy.md @@ -1,6 +1,6 @@ # Internal content policy -The `Molecule-AI/molecule-monorepo` repo is **public**. Anything internal +The `molecule-ai/molecule-core` repo is **public**. Anything internal (positioning, competitive briefs, sales playbooks, PMM/press drip, draft campaigns, raw research notes, ops runbooks, retrospectives) lives in **`Molecule-AI/internal`**. @@ -18,10 +18,10 @@ This page is the canonical decision tree. | Draft campaign asset (still iterating, not yet customer-visible) | `Molecule-AI/internal/marketing/campaigns/` | | Roadmap discussion, planning doc, retrospective | `Molecule-AI/internal/PLAN.md` or `Molecule-AI/internal/retrospectives/` | | Runbook, ops procedure, incident postmortem | `Molecule-AI/internal/runbooks/` | -| **Public-ready** blog post (final draft, ready to ship to docs site) | `Molecule-AI/molecule-monorepo/docs/blog/` | -| **Public-ready** tutorial / quickstart | `Molecule-AI/molecule-monorepo/docs/tutorials/` | -| Public DevRel content (code samples, demos for users) | `Molecule-AI/molecule-monorepo/docs/devrel/` | -| API reference, architecture docs for external developers | `Molecule-AI/molecule-monorepo/docs/api/` | +| **Public-ready** blog post (final draft, ready to ship to docs site) | `molecule-ai/molecule-core/docs/blog/` | +| **Public-ready** tutorial / quickstart | `molecule-ai/molecule-core/docs/tutorials/` | +| Public DevRel content (code samples, demos for users) | `molecule-ai/molecule-core/docs/devrel/` | +| API reference, architecture docs for external developers | `molecule-ai/molecule-core/docs/api/` | | Code, tests, infrastructure | wherever is appropriate inside this repo | **Rule of thumb:** *"Would I be comfortable if a competitor / journalist / customer diff --git a/docs/memory-plugins/CHANGELOG.md b/docs/memory-plugins/CHANGELOG.md index a811620b..79051e20 100644 --- a/docs/memory-plugins/CHANGELOG.md +++ b/docs/memory-plugins/CHANGELOG.md @@ -101,7 +101,7 @@ incident-shaped. ## [v1.0.0] — initial release (RFC #2728, PRs #2729-#2742) Initial plugin contract + 11-PR rollout. See -[issue #2728](https://github.com/Molecule-AI/molecule-core/issues/2728) +[issue #2728](https://git.moleculesai.app/molecule-ai/molecule-core/issues/2728) for the full RFC. Endpoints: `/v1/health`, `/v1/namespaces/{name}` (PUT/PATCH/DELETE), diff --git a/docs/memory-plugins/testing-your-plugin.md b/docs/memory-plugins/testing-your-plugin.md index 0b7df8e6..3273ff25 100644 --- a/docs/memory-plugins/testing-your-plugin.md +++ b/docs/memory-plugins/testing-your-plugin.md @@ -19,8 +19,8 @@ import ( "context" "testing" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + mclient "github.com/go.moleculesai.app/core/platform/internal/memory/client" + "github.com/go.moleculesai.app/core/platform/internal/memory/contract" ) func TestMyPlugin_FullRoundTrip(t *testing.T) { diff --git a/docs/plugins/agentskills-compat.md b/docs/plugins/agentskills-compat.md index 1cfff2ca..9f935c6a 100644 --- a/docs/plugins/agentskills-compat.md +++ b/docs/plugins/agentskills-compat.md @@ -160,11 +160,11 @@ not expose. | `molecule-skill-update-docs` | `[claude_code]` | `[claude_code, hermes]` | Companion PRs: -- [molecule-ai-plugin-ecc#2](https://github.com/Molecule-AI/molecule-ai-plugin-ecc/pull/2) -- [molecule-ai-plugin-superpowers#2](https://github.com/Molecule-AI/molecule-ai-plugin-superpowers/pull/2) -- [molecule-ai-plugin-molecule-dev#2](https://github.com/Molecule-AI/molecule-ai-plugin-molecule-dev/pull/2) -- [molecule-ai-plugin-molecule-skill-cron-learnings#2](https://github.com/Molecule-AI/molecule-ai-plugin-molecule-skill-cron-learnings/pull/2) -- [molecule-ai-plugin-molecule-skill-update-docs#2](https://github.com/Molecule-AI/molecule-ai-plugin-molecule-skill-update-docs/pull/2) +- [molecule-ai-plugin-ecc#2](https://git.moleculesai.app/molecule-ai/molecule-ai-plugin-ecc/pull/2) +- [molecule-ai-plugin-superpowers#2](https://git.moleculesai.app/molecule-ai/molecule-ai-plugin-superpowers/pull/2) +- [molecule-ai-plugin-molecule-dev#2](https://git.moleculesai.app/molecule-ai/molecule-ai-plugin-molecule-dev/pull/2) +- [molecule-ai-plugin-molecule-skill-cron-learnings#2](https://git.moleculesai.app/molecule-ai/molecule-ai-plugin-molecule-skill-cron-learnings/pull/2) +- [molecule-ai-plugin-molecule-skill-update-docs#2](https://git.moleculesai.app/molecule-ai/molecule-ai-plugin-molecule-skill-update-docs/pull/2) Security note: Security Auditor was offline at time of change. Self-assessed as non-security-impacting — adding `hermes` to a string list in `plugin.yaml` diff --git a/docs/quickstart.md b/docs/quickstart.md index 4f0f2ff7..45cc5ba7 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -17,7 +17,7 @@ This path is aligned to the current repository and current UI. It gets you from ## The one-command path ```bash -git clone https://github.com/Molecule-AI/molecule-monorepo.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-monorepo ./scripts/dev-start.sh ``` @@ -42,7 +42,7 @@ If you'd rather run each component yourself — useful when you're iterating on ### Step 1: Clone the repository ```bash -git clone https://github.com/Molecule-AI/molecule-monorepo.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-monorepo ``` diff --git a/docs/tutorials/chrome-devtools-mcp-quickstart.md b/docs/tutorials/chrome-devtools-mcp-quickstart.md index 9703e64f..5aebd46f 100644 --- a/docs/tutorials/chrome-devtools-mcp-quickstart.md +++ b/docs/tutorials/chrome-devtools-mcp-quickstart.md @@ -198,7 +198,7 @@ Lighthouse audit against staging.yourapp.com: FCP: 2.4s | LCP: 5.2s | CLS: 0.18 | TBT: 620ms Performance regression detected — opening GitHub issue. -Issue: https://github.com/Molecule-AI/molecule-core/issues/1527 +Issue: https://git.moleculesai.app/molecule-ai/molecule-core/issues/1527 Label: performance-regression | Assignees: @your-team ``` diff --git a/docs/tutorials/fly-machines-provisioner.md b/docs/tutorials/fly-machines-provisioner.md index fa811b46..e711fa67 100644 --- a/docs/tutorials/fly-machines-provisioner.md +++ b/docs/tutorials/fly-machines-provisioner.md @@ -85,8 +85,8 @@ Fly Machines start in milliseconds and run in 35+ regions. Provisioning agent wo ## Related -- PR #501: [feat(platform): Fly Machines provisioner](https://github.com/Molecule-AI/molecule-core/pull/501) -- PR #481: [feat(ci): deploy to Fly after image push](https://github.com/Molecule-AI/molecule-core/pull/481) +- PR #501: [feat(platform): Fly Machines provisioner](https://git.moleculesai.app/molecule-ai/molecule-core/pull/501) +- PR #481: [feat(ci): deploy to Fly after image push](https://git.moleculesai.app/molecule-ai/molecule-core/pull/481) - [Fly Machines API docs](https://fly.io/docs/machines/api/) - [Platform API reference](../api-reference.md) -- Issue [#525](https://github.com/Molecule-AI/molecule-core/issues/525) +- Issue [#525](https://git.moleculesai.app/molecule-ai/molecule-core/issues/525) diff --git a/docs/tutorials/gemini-cli-runtime.md b/docs/tutorials/gemini-cli-runtime.md index d2802635..0c1331df 100644 --- a/docs/tutorials/gemini-cli-runtime.md +++ b/docs/tutorials/gemini-cli-runtime.md @@ -61,6 +61,6 @@ The real power surfaces when you mix runtimes on the same Molecule AI tenant. Yo ## Related -- PR #379: [feat(adapters): add gemini-cli runtime adapter](https://github.com/Molecule-AI/molecule-core/pull/379) +- PR #379: [feat(adapters): add gemini-cli runtime adapter](https://git.moleculesai.app/molecule-ai/molecule-core/pull/379) - [Multi-provider Hermes docs](../architecture/hermes.md) - [Workspace runtimes reference](../reference/runtimes.md) diff --git a/docs/tutorials/google-adk-runtime.md b/docs/tutorials/google-adk-runtime.md index 05c8589d..2d751019 100644 --- a/docs/tutorials/google-adk-runtime.md +++ b/docs/tutorials/google-adk-runtime.md @@ -68,7 +68,7 @@ ADK workspaces participate in the same A2A network as Claude Code, Gemini CLI, H ## Related -- PR #550: [feat(adapters): add google-adk runtime adapter](https://github.com/Molecule-AI/molecule-core/pull/550) +- PR #550: [feat(adapters): add google-adk runtime adapter](https://git.moleculesai.app/molecule-ai/molecule-core/pull/550) - [Google ADK (adk-python)](https://github.com/google/adk-python) - [Gemini CLI runtime tutorial](./gemini-cli-runtime.md) - [Platform API reference](../api-reference.md) diff --git a/docs/tutorials/hermes-multi-provider-dispatch.md b/docs/tutorials/hermes-multi-provider-dispatch.md index bd30eb9b..a6b1f3a3 100644 --- a/docs/tutorials/hermes-multi-provider-dispatch.md +++ b/docs/tutorials/hermes-multi-provider-dispatch.md @@ -176,9 +176,9 @@ What is on the roadmap for Phase 2d (not yet shipped): ## Related -- PR #240: [Phase 2a — native Anthropic dispatch](https://github.com/Molecule-AI/molecule-core/pull/240) -- PR #255: [Phase 2b — native Gemini dispatch](https://github.com/Molecule-AI/molecule-core/pull/255) -- PR #267: [Phase 2c — multi-turn history on all paths](https://github.com/Molecule-AI/molecule-core/pull/267) +- PR #240: [Phase 2a — native Anthropic dispatch](https://git.moleculesai.app/molecule-ai/molecule-core/pull/240) +- PR #255: [Phase 2b — native Gemini dispatch](https://git.moleculesai.app/molecule-ai/molecule-core/pull/255) +- PR #267: [Phase 2c — multi-turn history on all paths](https://git.moleculesai.app/molecule-ai/molecule-core/pull/267) - [Hermes adapter design](../adapters/hermes-adapter-design.md) - [Platform API reference](../api-reference.md) -- Issue [#513](https://github.com/Molecule-AI/molecule-core/issues/513) +- Issue [#513](https://git.moleculesai.app/molecule-ai/molecule-core/issues/513) diff --git a/docs/tutorials/lark-feishu-channel.md b/docs/tutorials/lark-feishu-channel.md index fc70d826..4f05d896 100644 --- a/docs/tutorials/lark-feishu-channel.md +++ b/docs/tutorials/lark-feishu-channel.md @@ -90,6 +90,6 @@ Molecule AI canvas without code changes. ## Related -- PR #480: [feat(channels): Lark / Feishu channel adapter](https://github.com/Molecule-AI/molecule-core/pull/480) +- PR #480: [feat(channels): Lark / Feishu channel adapter](https://git.moleculesai.app/molecule-ai/molecule-core/pull/480) - [Social channels architecture](../agent-runtime/social-channels.md) - [Channel adapter reference](../api-reference.md#channels) \ No newline at end of file diff --git a/docs/workspace-runtime-package.md b/docs/workspace-runtime-package.md index aec351bc..fa36e218 100644 --- a/docs/workspace-runtime-package.md +++ b/docs/workspace-runtime-package.md @@ -98,14 +98,14 @@ Each of the 8 adapter template repos contains: | Adapter | Repo | |---------|------| -| claude-code | https://github.com/Molecule-AI/molecule-ai-workspace-template-claude-code | -| langgraph | https://github.com/Molecule-AI/molecule-ai-workspace-template-langgraph | -| crewai | https://github.com/Molecule-AI/molecule-ai-workspace-template-crewai | -| autogen | https://github.com/Molecule-AI/molecule-ai-workspace-template-autogen | -| deepagents | https://github.com/Molecule-AI/molecule-ai-workspace-template-deepagents | -| hermes | https://github.com/Molecule-AI/molecule-ai-workspace-template-hermes | -| gemini-cli | https://github.com/Molecule-AI/molecule-ai-workspace-template-gemini-cli | -| openclaw | https://github.com/Molecule-AI/molecule-ai-workspace-template-openclaw | +| claude-code | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-claude-code | +| langgraph | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-langgraph | +| crewai | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-crewai | +| autogen | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-autogen | +| deepagents | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-deepagents | +| hermes | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-hermes | +| gemini-cli | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-gemini-cli | +| openclaw | https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-openclaw | ## Adapter discovery (ADAPTER_MODULE) @@ -244,7 +244,7 @@ correctness before pushing a `runtime-v*` tag. ## Writing a new adapter Use the GitHub template repo -[`Molecule-AI/molecule-ai-workspace-template-starter`](https://github.com/Molecule-AI/molecule-ai-workspace-template-starter) +[`Molecule-AI/molecule-ai-workspace-template-starter`](https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-starter) — it ships with the canonical Dockerfile + adapter.py skeleton + config.yaml schema + the `repository_dispatch: [runtime-published]` cascade receiver already wired up. No follow-up setup PR required. @@ -256,7 +256,7 @@ gh repo create Molecule-AI/molecule-ai-workspace-template- \ --public \ --description "Molecule AI workspace template: " -git clone https://github.com/Molecule-AI/molecule-ai-workspace-template- +git clone https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template- cd molecule-ai-workspace-template- ``` @@ -286,7 +286,7 @@ After `git push`: If the canonical shape changes (e.g. `config.yaml` schema gets a new field, the `BaseAdapter` interface adds a method, the reusable CI workflow signature changes), update the -[starter](https://github.com/Molecule-AI/molecule-ai-workspace-template-starter) +[starter](https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-starter) **first**. Existing templates can either migrate at their own pace or be touched in a coordinated cleanup PR. Either way, future templates pick up the new shape from day one. diff --git a/scripts/README.md b/scripts/README.md index 71c603f3..e4360c63 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -11,7 +11,7 @@ There are three related scripts; pick the right one: |---|---|---| | `measure-coordinator-task-bounds.sh` | **Canonical** v1 harness for the RFC #2251 / Issue 4 reproduction. Provisions a PM coordinator + Researcher child via `claude-code-default` + `langgraph` templates, sends a synthesis-heavy A2A kickoff, observes elapsed time + activity trace. | OSS-shape platform — localhost or any `/workspaces`-shaped endpoint. Has tenant/admin-token guards for non-localhost runs. | | `measure-coordinator-task-bounds-runner.sh` | Generalised runner for the same measurement contract but with **arbitrary template + secret + model combinations** (Hermes/MiniMax, etc.). Useful for cross-runtime variants without modifying the canonical harness. | Same as above (local or SaaS via `MODE=saas`). | -| `measure-coordinator-task-bounds.sh` (in [molecule-controlplane](https://github.com/Molecule-AI/molecule-controlplane)) | **Production-shape** variant that bootstraps a real staging tenant via `POST /cp/admin/orgs`, then runs the same measurement against `.staging.moleculesai.app`. | Staging controlplane only — refuses to run against production. | +| `measure-coordinator-task-bounds.sh` (in [molecule-controlplane](https://git.moleculesai.app/molecule-ai/molecule-controlplane)) | **Production-shape** variant that bootstraps a real staging tenant via `POST /cp/admin/orgs`, then runs the same measurement against `.staging.moleculesai.app`. | Staging controlplane only — refuses to run against production. | See `reference_harness_pair_pattern` (auto-memory) for when to use which and the cross-repo design rationale. diff --git a/tests/e2e/STAGING_SAAS_E2E.md b/tests/e2e/STAGING_SAAS_E2E.md index dd4e3095..00ab166b 100644 --- a/tests/e2e/STAGING_SAAS_E2E.md +++ b/tests/e2e/STAGING_SAAS_E2E.md @@ -105,5 +105,5 @@ Hard per-workflow timeouts (15–40 min) cap runaway cost. Three teardown layers ## Known gaps (tracked elsewhere) -- [#1369](https://github.com/Molecule-AI/molecule-core/issues/1369): SaaS canvas Files / Terminal / Peers tabs — architecturally broken; whitelisted in the spec +- [#1369](https://git.moleculesai.app/molecule-ai/molecule-core/issues/1369): SaaS canvas Files / Terminal / Peers tabs — architecturally broken; whitelisted in the spec - LLM-driven delegation (autonomous `delegate_task` tool use) — probabilistic, not in v1; proxy mechanics covered diff --git a/tests/harness/cp-stub/go.mod b/tests/harness/cp-stub/go.mod index 0a2902c8..077a78be 100644 --- a/tests/harness/cp-stub/go.mod +++ b/tests/harness/cp-stub/go.mod @@ -1,3 +1,3 @@ -module github.com/Molecule-AI/molecule-monorepo/tests/harness/cp-stub +module go.moleculesai.app/core/tests/harness/cp-stub go 1.25 diff --git a/workspace-server/Dockerfile b/workspace-server/Dockerfile index 3209e78a..4d5961b4 100644 --- a/workspace-server/Dockerfile +++ b/workspace-server/Dockerfile @@ -23,7 +23,7 @@ COPY workspace-server/ . # GIT_SHA mirror of Dockerfile.tenant — see that file for the rationale. ARG GIT_SHA=dev RUN CGO_ENABLED=0 GOOS=linux go build \ - -ldflags "-X github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ + -ldflags "-X go.moleculesai.app/core/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ -o /platform ./cmd/server # Bundle the built-in memory-plugin-postgres binary so an operator can # activate Memory v2 by setting MEMORY_V2_CUTOVER=true + (default) @@ -31,7 +31,7 @@ RUN CGO_ENABLED=0 GOOS=linux go build \ # binary in the background; main /platform talks to it over loopback. # Stays inert until the operator flips the cutover env var. RUN CGO_ENABLED=0 GOOS=linux go build \ - -ldflags "-X github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ + -ldflags "-X go.moleculesai.app/core/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ -o /memory-plugin ./cmd/memory-plugin-postgres FROM alpine:3.20 diff --git a/workspace-server/Dockerfile.tenant b/workspace-server/Dockerfile.tenant index 5c9fda55..9160d3f3 100644 --- a/workspace-server/Dockerfile.tenant +++ b/workspace-server/Dockerfile.tenant @@ -53,14 +53,14 @@ COPY workspace-server/ . # fails closed — which is the correct fail-direction (#2395 root fix). ARG GIT_SHA=dev RUN CGO_ENABLED=0 GOOS=linux go build \ - -ldflags "-X github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ + -ldflags "-X go.moleculesai.app/core/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ -o /platform ./cmd/server # Memory v2 sidecar binary (Memory v2 #2728). Bundled so an operator # can activate cutover by flipping MEMORY_V2_CUTOVER=true without # provisioning a separate service. See entrypoint-tenant.sh for the # launch logic. RUN CGO_ENABLED=0 GOOS=linux go build \ - -ldflags "-X github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ + -ldflags "-X go.moleculesai.app/core/platform/internal/buildinfo.GitSHA=${GIT_SHA}" \ -o /memory-plugin ./cmd/memory-plugin-postgres # ── Stage 2: Canvas Next.js standalone ──────────────────────────────── diff --git a/workspace-server/cmd/memory-backfill/main.go b/workspace-server/cmd/memory-backfill/main.go index f01dc264..bb910c93 100644 --- a/workspace-server/cmd/memory-backfill/main.go +++ b/workspace-server/cmd/memory-backfill/main.go @@ -30,9 +30,9 @@ import ( _ "github.com/lib/pq" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + mclient "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) const defaultLimit = 1000000 // effectively unlimited; cap keeps SQL pageable diff --git a/workspace-server/cmd/memory-backfill/main_test.go b/workspace-server/cmd/memory-backfill/main_test.go index 667b3f5e..fab7dfb9 100644 --- a/workspace-server/cmd/memory-backfill/main_test.go +++ b/workspace-server/cmd/memory-backfill/main_test.go @@ -10,8 +10,8 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // stubBackfillPlugin records calls for assertions. diff --git a/workspace-server/cmd/memory-backfill/verify.go b/workspace-server/cmd/memory-backfill/verify.go index cf11435e..f61cf4a4 100644 --- a/workspace-server/cmd/memory-backfill/verify.go +++ b/workspace-server/cmd/memory-backfill/verify.go @@ -20,8 +20,8 @@ import ( "math/rand" "os" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/textutil" ) // verifyConfig is the typed dependency bundle for verifyParity. diff --git a/workspace-server/cmd/memory-backfill/verify_test.go b/workspace-server/cmd/memory-backfill/verify_test.go index 1610da43..e049314e 100644 --- a/workspace-server/cmd/memory-backfill/verify_test.go +++ b/workspace-server/cmd/memory-backfill/verify_test.go @@ -9,7 +9,7 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // stubVerifyPlugin records search calls and returns canned results. diff --git a/workspace-server/cmd/memory-plugin-postgres/boot_e2e_test.go b/workspace-server/cmd/memory-plugin-postgres/boot_e2e_test.go index b8b76543..c4209d4f 100644 --- a/workspace-server/cmd/memory-plugin-postgres/boot_e2e_test.go +++ b/workspace-server/cmd/memory-plugin-postgres/boot_e2e_test.go @@ -45,8 +45,8 @@ import ( "testing" "time" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + mclient "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" ) const ( diff --git a/workspace-server/cmd/memory-plugin-postgres/main.go b/workspace-server/cmd/memory-plugin-postgres/main.go index 2a1b2dee..09c986ca 100644 --- a/workspace-server/cmd/memory-plugin-postgres/main.go +++ b/workspace-server/cmd/memory-plugin-postgres/main.go @@ -25,7 +25,7 @@ import ( _ "github.com/lib/pq" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/pgplugin" + "go.moleculesai.app/core/platform/internal/memory/pgplugin" ) // migrationsFS bundles the .up.sql files into the binary at build time diff --git a/workspace-server/cmd/server/main.go b/workspace-server/cmd/server/main.go index 8b1db57e..03409d76 100644 --- a/workspace-server/cmd/server/main.go +++ b/workspace-server/cmd/server/main.go @@ -12,28 +12,28 @@ import ( "syscall" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/channels" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/imagewatch" - memwiring "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/wiring" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/router" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/scheduler" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/supervised" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/ws" + "go.moleculesai.app/core/platform/internal/channels" + "go.moleculesai.app/core/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/imagewatch" + memwiring "go.moleculesai.app/core/platform/internal/memory/wiring" + "go.moleculesai.app/core/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/router" + "go.moleculesai.app/core/platform/internal/scheduler" + "go.moleculesai.app/core/platform/internal/supervised" + "go.moleculesai.app/core/platform/internal/ws" // External plugins — each registers EnvMutator(s) that run at workspace // provision time. Loaded via soft-dep gates in main() so self-hosters // without per-agent identity configured keep working. ghidentity "github.com/Molecule-AI/molecule-ai-plugin-gh-identity/pluginloader" - "github.com/Molecule-AI/molecule-monorepo/platform/pkg/provisionhook" + "go.moleculesai.app/core/platform/pkg/provisionhook" ) func main() { diff --git a/workspace-server/go.mod b/workspace-server/go.mod index 85a949fa..935d55b0 100644 --- a/workspace-server/go.mod +++ b/workspace-server/go.mod @@ -1,4 +1,4 @@ -module github.com/Molecule-AI/molecule-monorepo/platform +module go.moleculesai.app/core/platform go 1.25.0 diff --git a/workspace-server/internal/artifacts/client_test.go b/workspace-server/internal/artifacts/client_test.go index 1be79525..4906085b 100644 --- a/workspace-server/internal/artifacts/client_test.go +++ b/workspace-server/internal/artifacts/client_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/artifacts" + "go.moleculesai.app/core/platform/internal/artifacts" ) // cfEnvelope wraps a result value in the Cloudflare v4 response envelope. @@ -250,7 +250,7 @@ func TestImportRepo_Success(t *testing.T) { client := newTestClient(t, mux) repo, err := client.ImportRepo(context.Background(), "imported", artifacts.ImportRepoRequest{ - URL: "https://github.com/Molecule-AI/molecule-core.git", + URL: "https://git.moleculesai.app/molecule-ai/molecule-core.git", Branch: "main", Depth: 1, }) diff --git a/workspace-server/internal/buildinfo/buildinfo.go b/workspace-server/internal/buildinfo/buildinfo.go index af92945a..db6233a2 100644 --- a/workspace-server/internal/buildinfo/buildinfo.go +++ b/workspace-server/internal/buildinfo/buildinfo.go @@ -2,7 +2,7 @@ // // Set at link time: // -// go build -ldflags "-X github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo.GitSHA=" +// go build -ldflags "-X github.com/go.moleculesai.app/core/platform/internal/buildinfo.GitSHA=" // // CI passes ${{ github.sha }} via Dockerfile.tenant ARG GIT_SHA; local // dev builds default to "dev" so unset never reads as success. diff --git a/workspace-server/internal/buildinfo/buildinfo_test.go b/workspace-server/internal/buildinfo/buildinfo_test.go index a1582ba4..a418ba08 100644 --- a/workspace-server/internal/buildinfo/buildinfo_test.go +++ b/workspace-server/internal/buildinfo/buildinfo_test.go @@ -6,7 +6,7 @@ import ( "net/http/httptest" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo" + "go.moleculesai.app/core/platform/internal/buildinfo" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/bundle/exporter.go b/workspace-server/internal/bundle/exporter.go index 9ecd2db4..fc1eeb53 100644 --- a/workspace-server/internal/bundle/exporter.go +++ b/workspace-server/internal/bundle/exporter.go @@ -11,8 +11,8 @@ import ( "path/filepath" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" "github.com/docker/docker/pkg/stdcopy" diff --git a/workspace-server/internal/bundle/importer.go b/workspace-server/internal/bundle/importer.go index f61c7a98..983df2ab 100644 --- a/workspace-server/internal/bundle/importer.go +++ b/workspace-server/internal/bundle/importer.go @@ -5,10 +5,10 @@ import ( "fmt" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/google/uuid" ) diff --git a/workspace-server/internal/channels/channels_test.go b/workspace-server/internal/channels/channels_test.go index b57fad41..ae3e5261 100644 --- a/workspace-server/internal/channels/channels_test.go +++ b/workspace-server/internal/channels/channels_test.go @@ -6,7 +6,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) // ==================== Adapter Interface Tests ==================== diff --git a/workspace-server/internal/channels/manager.go b/workspace-server/internal/channels/manager.go index 3085de35..d351827c 100644 --- a/workspace-server/internal/channels/manager.go +++ b/workspace-server/internal/channels/manager.go @@ -9,8 +9,8 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" ) const ( diff --git a/workspace-server/internal/channels/secret.go b/workspace-server/internal/channels/secret.go index 836f33d1..2ffc69f2 100644 --- a/workspace-server/internal/channels/secret.go +++ b/workspace-server/internal/channels/secret.go @@ -29,7 +29,7 @@ import ( "encoding/base64" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/crypto" ) // sensitiveFields is the set of channel_config keys that get encrypted at diff --git a/workspace-server/internal/channels/secret_test.go b/workspace-server/internal/channels/secret_test.go index eb33585e..acc31690 100644 --- a/workspace-server/internal/channels/secret_test.go +++ b/workspace-server/internal/channels/secret_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/crypto" ) // withTestEncryptionKey installs a deterministic 32-byte key for the diff --git a/workspace-server/internal/db/architecture_test.go b/workspace-server/internal/db/architecture_test.go index d585db62..466b48a2 100644 --- a/workspace-server/internal/db/architecture_test.go +++ b/workspace-server/internal/db/architecture_test.go @@ -18,7 +18,7 @@ import ( "testing" ) -const moduleInternalPrefix = "github.com/Molecule-AI/molecule-monorepo/platform/internal/" +const moduleInternalPrefix = "go.moleculesai.app/core/platform/internal/" func TestDBHasNoInternalDependencies(t *testing.T) { t.Parallel() diff --git a/workspace-server/internal/events/broadcaster.go b/workspace-server/internal/events/broadcaster.go index 53427010..024df850 100644 --- a/workspace-server/internal/events/broadcaster.go +++ b/workspace-server/internal/events/broadcaster.go @@ -7,9 +7,9 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/ws" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/ws" "github.com/redis/go-redis/v9" ) diff --git a/workspace-server/internal/handlers/a2a_proxy.go b/workspace-server/internal/handlers/a2a_proxy.go index 6143982e..95770a95 100644 --- a/workspace-server/internal/handlers/a2a_proxy.go +++ b/workspace-server/internal/handlers/a2a_proxy.go @@ -20,12 +20,12 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/a2a_proxy_helpers.go b/workspace-server/internal/handlers/a2a_proxy_helpers.go index ded26ec5..d778f063 100644 --- a/workspace-server/internal/handlers/a2a_proxy_helpers.go +++ b/workspace-server/internal/handlers/a2a_proxy_helpers.go @@ -13,10 +13,10 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/a2a_proxy_preflight_test.go b/workspace-server/internal/handlers/a2a_proxy_preflight_test.go index f9639162..0ba17724 100644 --- a/workspace-server/internal/handlers/a2a_proxy_preflight_test.go +++ b/workspace-server/internal/handlers/a2a_proxy_preflight_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" ) // preflightLocalProv is a controllable LocalProvisionerAPI stub for the diff --git a/workspace-server/internal/handlers/a2a_proxy_test.go b/workspace-server/internal/handlers/a2a_proxy_test.go index ceab1b7c..7f1e6f70 100644 --- a/workspace-server/internal/handlers/a2a_proxy_test.go +++ b/workspace-server/internal/handlers/a2a_proxy_test.go @@ -16,8 +16,8 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/a2a_queue.go b/workspace-server/internal/handlers/a2a_queue.go index a3e25a9c..5dcf79d0 100644 --- a/workspace-server/internal/handlers/a2a_queue.go +++ b/workspace-server/internal/handlers/a2a_queue.go @@ -20,9 +20,9 @@ import ( "net/http" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/textutil" ) // extractIdempotencyKey pulls params.message.messageId out of an A2A JSON-RPC diff --git a/workspace-server/internal/handlers/a2a_queue_status.go b/workspace-server/internal/handlers/a2a_queue_status.go index c9f22e3a..0fb5fbe5 100644 --- a/workspace-server/internal/handlers/a2a_queue_status.go +++ b/workspace-server/internal/handlers/a2a_queue_status.go @@ -42,8 +42,8 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/a2a_queue_test.go b/workspace-server/internal/handlers/a2a_queue_test.go index 57000910..0eca1bb2 100644 --- a/workspace-server/internal/handlers/a2a_queue_test.go +++ b/workspace-server/internal/handlers/a2a_queue_test.go @@ -19,7 +19,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/alicebob/miniredis/v2" ) diff --git a/workspace-server/internal/handlers/activity.go b/workspace-server/internal/handlers/activity.go index cd1ef86d..4f70454d 100644 --- a/workspace-server/internal/handlers/activity.go +++ b/workspace-server/internal/handlers/activity.go @@ -12,8 +12,8 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" "github.com/gin-gonic/gin" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/activity_test.go b/workspace-server/internal/handlers/activity_test.go index b6b3c42e..cdad3377 100644 --- a/workspace-server/internal/handlers/activity_test.go +++ b/workspace-server/internal/handlers/activity_test.go @@ -14,7 +14,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/admin_delegations.go b/workspace-server/internal/handlers/admin_delegations.go index b2165397..6ed7e78b 100644 --- a/workspace-server/internal/handlers/admin_delegations.go +++ b/workspace-server/internal/handlers/admin_delegations.go @@ -7,7 +7,7 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/admin_memories.go b/workspace-server/internal/handlers/admin_memories.go index 15e66641..d65bd9e0 100644 --- a/workspace-server/internal/handlers/admin_memories.go +++ b/workspace-server/internal/handlers/admin_memories.go @@ -9,10 +9,10 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/db" + mclient "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/admin_memories_cutover_test.go b/workspace-server/internal/handlers/admin_memories_cutover_test.go index 36aa2409..329ba5f9 100644 --- a/workspace-server/internal/handlers/admin_memories_cutover_test.go +++ b/workspace-server/internal/handlers/admin_memories_cutover_test.go @@ -14,9 +14,9 @@ import ( "github.com/DATA-DOG/go-sqlmock" "github.com/gin-gonic/gin" - platformdb "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + platformdb "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // --- stubs --- diff --git a/workspace-server/internal/handlers/admin_schedules_health.go b/workspace-server/internal/handlers/admin_schedules_health.go index 9310edb4..073eb926 100644 --- a/workspace-server/internal/handlers/admin_schedules_health.go +++ b/workspace-server/internal/handlers/admin_schedules_health.go @@ -7,8 +7,8 @@ import ( "github.com/gin-gonic/gin" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/scheduler" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/scheduler" ) // AdminSchedulesHealthHandler serves GET /admin/schedules/health — a cross-workspace diff --git a/workspace-server/internal/handlers/admin_test_token.go b/workspace-server/internal/handlers/admin_test_token.go index ea005688..addcee78 100644 --- a/workspace-server/internal/handlers/admin_test_token.go +++ b/workspace-server/internal/handlers/admin_test_token.go @@ -25,8 +25,8 @@ import ( "os" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/admin_test_token_test.go b/workspace-server/internal/handlers/admin_test_token_test.go index 62d3f2b6..d3ccff64 100644 --- a/workspace-server/internal/handlers/admin_test_token_test.go +++ b/workspace-server/internal/handlers/admin_test_token_test.go @@ -8,8 +8,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/admin_workspace_images.go b/workspace-server/internal/handlers/admin_workspace_images.go index 68bc50f1..5019f85b 100644 --- a/workspace-server/internal/handlers/admin_workspace_images.go +++ b/workspace-server/internal/handlers/admin_workspace_images.go @@ -18,7 +18,7 @@ import ( dockerclient "github.com/docker/docker/client" "github.com/gin-gonic/gin" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/provisioner" ) // WorkspaceImageService is the production-side end of the runtime CD chain. diff --git a/workspace-server/internal/handlers/agent.go b/workspace-server/internal/handlers/agent.go index f98afd93..6b0720ee 100644 --- a/workspace-server/internal/handlers/agent.go +++ b/workspace-server/internal/handlers/agent.go @@ -5,8 +5,8 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/agent_message_writer.go b/workspace-server/internal/handlers/agent_message_writer.go index 6efea603..c5797d28 100644 --- a/workspace-server/internal/handlers/agent_message_writer.go +++ b/workspace-server/internal/handlers/agent_message_writer.go @@ -43,8 +43,8 @@ import ( "fmt" "log" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/textutil" ) // ErrWorkspaceNotFound is returned by AgentMessageWriter.Send when the diff --git a/workspace-server/internal/handlers/agent_message_writer_test.go b/workspace-server/internal/handlers/agent_message_writer_test.go index 20f5540f..fb11eff4 100644 --- a/workspace-server/internal/handlers/agent_message_writer_test.go +++ b/workspace-server/internal/handlers/agent_message_writer_test.go @@ -10,7 +10,7 @@ import ( "unicode/utf8" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) // AgentMessageWriter is the SSOT for agent → user chat delivery diff --git a/workspace-server/internal/handlers/approvals.go b/workspace-server/internal/handlers/approvals.go index 1f091afa..3fce3acf 100644 --- a/workspace-server/internal/handlers/approvals.go +++ b/workspace-server/internal/handlers/approvals.go @@ -5,8 +5,8 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/artifacts.go b/workspace-server/internal/handlers/artifacts.go index 12463c7a..aeb75190 100644 --- a/workspace-server/internal/handlers/artifacts.go +++ b/workspace-server/internal/handlers/artifacts.go @@ -28,8 +28,8 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/artifacts" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/artifacts" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/artifacts_test.go b/workspace-server/internal/handlers/artifacts_test.go index 283dea0b..52c31489 100644 --- a/workspace-server/internal/handlers/artifacts_test.go +++ b/workspace-server/internal/handlers/artifacts_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/artifacts" + "go.moleculesai.app/core/platform/internal/artifacts" "github.com/gin-gonic/gin" ) @@ -205,7 +205,7 @@ func TestArtifactsCreate_WithImportURL(t *testing.T) { } var body map[string]interface{} json.NewDecoder(r.Body).Decode(&body) - if body["url"] != "https://github.com/Molecule-AI/molecule-core.git" { + if body["url"] != "https://git.moleculesai.app/molecule-ai/molecule-core.git" { http.Error(w, "unexpected url", http.StatusBadRequest) return } @@ -238,7 +238,7 @@ func TestArtifactsCreate_WithImportURL(t *testing.T) { w := httptest.NewRecorder() c, _ := gin.CreateTestContext(w) c.Params = gin.Params{{Key: "id", Value: "ws-import"}} - body := `{"name":"imported-repo","description":"Imported from GitHub","import_url":"https://github.com/Molecule-AI/molecule-core.git","import_branch":"main","import_depth":1}` + body := `{"name":"imported-repo","description":"Imported from GitHub","import_url":"https://git.moleculesai.app/molecule-ai/molecule-core.git","import_branch":"main","import_depth":1}` c.Request = httptest.NewRequest("POST", "/workspaces/ws-import/artifacts", bytes.NewBufferString(body)) c.Request.Header.Set("Content-Type", "application/json") diff --git a/workspace-server/internal/handlers/audit.go b/workspace-server/internal/handlers/audit.go index 16f4392b..dc6ff045 100644 --- a/workspace-server/internal/handlers/audit.go +++ b/workspace-server/internal/handlers/audit.go @@ -55,7 +55,7 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" "golang.org/x/crypto/pbkdf2" ) diff --git a/workspace-server/internal/handlers/budget.go b/workspace-server/internal/handlers/budget.go index 1430ace0..cfa4e9c8 100644 --- a/workspace-server/internal/handlers/budget.go +++ b/workspace-server/internal/handlers/budget.go @@ -5,7 +5,7 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/bundle.go b/workspace-server/internal/handlers/bundle.go index 0c080398..49729374 100644 --- a/workspace-server/internal/handlers/bundle.go +++ b/workspace-server/internal/handlers/bundle.go @@ -3,9 +3,9 @@ package handlers import ( "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/bundle" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/bundle" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/docker/docker/client" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/channels.go b/workspace-server/internal/handlers/channels.go index 6d9008bf..2e258294 100644 --- a/workspace-server/internal/handlers/channels.go +++ b/workspace-server/internal/handlers/channels.go @@ -17,8 +17,8 @@ import ( "github.com/gin-gonic/gin" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/channels" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/channels" + "go.moleculesai.app/core/platform/internal/db" ) // ChannelHandler manages workspace social channel integrations. diff --git a/workspace-server/internal/handlers/channels_test.go b/workspace-server/internal/handlers/channels_test.go index d05909ea..cd1e261b 100644 --- a/workspace-server/internal/handlers/channels_test.go +++ b/workspace-server/internal/handlers/channels_test.go @@ -14,7 +14,7 @@ import ( "testing" sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/channels" + "go.moleculesai.app/core/platform/internal/channels" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/chat_files.go b/workspace-server/internal/handlers/chat_files.go index 01efe27f..a86123a4 100644 --- a/workspace-server/internal/handlers/chat_files.go +++ b/workspace-server/internal/handlers/chat_files.go @@ -46,9 +46,9 @@ import ( "github.com/gin-gonic/gin" "github.com/google/uuid" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // ChatFilesHandler serves file upload + download for chat. Holds a diff --git a/workspace-server/internal/handlers/chat_files_poll_test.go b/workspace-server/internal/handlers/chat_files_poll_test.go index 8b3f9c3c..563e6bcc 100644 --- a/workspace-server/internal/handlers/chat_files_poll_test.go +++ b/workspace-server/internal/handlers/chat_files_poll_test.go @@ -24,7 +24,7 @@ import ( "github.com/DATA-DOG/go-sqlmock" "github.com/google/uuid" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // inMemStorage is a process-local pendinguploads.Storage for branch diff --git a/workspace-server/internal/handlers/chat_history.go b/workspace-server/internal/handlers/chat_history.go index 12aff51d..d05ec705 100644 --- a/workspace-server/internal/handlers/chat_history.go +++ b/workspace-server/internal/handlers/chat_history.go @@ -22,7 +22,7 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/messagestore" + "go.moleculesai.app/core/platform/internal/messagestore" "github.com/gin-gonic/gin" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/chat_history_test.go b/workspace-server/internal/handlers/chat_history_test.go index cd3aa270..94424c66 100644 --- a/workspace-server/internal/handlers/chat_history_test.go +++ b/workspace-server/internal/handlers/chat_history_test.go @@ -22,7 +22,7 @@ import ( "strings" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/messagestore" + "go.moleculesai.app/core/platform/internal/messagestore" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/checkpoints_integration_test.go b/workspace-server/internal/handlers/checkpoints_integration_test.go index 40d9cdc9..3afd5baa 100644 --- a/workspace-server/internal/handlers/checkpoints_integration_test.go +++ b/workspace-server/internal/handlers/checkpoints_integration_test.go @@ -19,7 +19,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/middleware" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/checkpoints_test.go b/workspace-server/internal/handlers/checkpoints_test.go index 3e22ac04..b050f17a 100644 --- a/workspace-server/internal/handlers/checkpoints_test.go +++ b/workspace-server/internal/handlers/checkpoints_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/config.go b/workspace-server/internal/handlers/config.go index fa83b98b..6c77970a 100644 --- a/workspace-server/internal/handlers/config.go +++ b/workspace-server/internal/handlers/config.go @@ -7,7 +7,7 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/container_files.go b/workspace-server/internal/handlers/container_files.go index 290bd5f7..7cf5d38e 100644 --- a/workspace-server/internal/handlers/container_files.go +++ b/workspace-server/internal/handlers/container_files.go @@ -9,8 +9,8 @@ import ( "path/filepath" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/docker/docker/api/types/container" "github.com/docker/docker/pkg/stdcopy" ) diff --git a/workspace-server/internal/handlers/delegation.go b/workspace-server/internal/handlers/delegation.go index 1bda2c63..799c5cb2 100644 --- a/workspace-server/internal/handlers/delegation.go +++ b/workspace-server/internal/handlers/delegation.go @@ -8,9 +8,9 @@ import ( "os" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/textutil" "github.com/gin-gonic/gin" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/delegation_ledger.go b/workspace-server/internal/handlers/delegation_ledger.go index 89ee2d80..dcd5bbe6 100644 --- a/workspace-server/internal/handlers/delegation_ledger.go +++ b/workspace-server/internal/handlers/delegation_ledger.go @@ -7,8 +7,8 @@ import ( "log" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/textutil" ) // delegation_ledger.go — durable per-task ledger for A2A delegation diff --git a/workspace-server/internal/handlers/delegation_ledger_integration_test.go b/workspace-server/internal/handlers/delegation_ledger_integration_test.go index 78c0a874..43e59d10 100644 --- a/workspace-server/internal/handlers/delegation_ledger_integration_test.go +++ b/workspace-server/internal/handlers/delegation_ledger_integration_test.go @@ -40,7 +40,7 @@ import ( "strings" "testing" - mdb "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + mdb "go.moleculesai.app/core/platform/internal/db" _ "github.com/lib/pq" ) diff --git a/workspace-server/internal/handlers/delegation_sweeper.go b/workspace-server/internal/handlers/delegation_sweeper.go index 8ac673c4..e21b668c 100644 --- a/workspace-server/internal/handlers/delegation_sweeper.go +++ b/workspace-server/internal/handlers/delegation_sweeper.go @@ -8,7 +8,7 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) // delegation_sweeper.go — RFC #2829 PR-3: stuck-task sweeper. diff --git a/workspace-server/internal/handlers/discovery.go b/workspace-server/internal/handlers/discovery.go index 79315016..97703fd4 100644 --- a/workspace-server/internal/handlers/discovery.go +++ b/workspace-server/internal/handlers/discovery.go @@ -9,11 +9,11 @@ import ( "net/http" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/events.go b/workspace-server/internal/handlers/events.go index d297026b..07e6ceb9 100644 --- a/workspace-server/internal/handlers/events.go +++ b/workspace-server/internal/handlers/events.go @@ -6,7 +6,7 @@ import ( "net/http" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/external_connection.go b/workspace-server/internal/handlers/external_connection.go index 320e761e..1af8a7b9 100644 --- a/workspace-server/internal/handlers/external_connection.go +++ b/workspace-server/internal/handlers/external_connection.go @@ -121,7 +121,7 @@ curl -fsS -X POST "{{PLATFORM_URL}}/registry/register" \ // operators whose external agent IS a Claude Code session (laptop or // remote dev VM); routes the workspace's A2A traffic into the running // Claude Code session as conversation turns via MCP. The plugin source -// lives at github.com/Molecule-AI/molecule-mcp-claude-channel — polling +// lives at git.moleculesai.app/molecule-ai/molecule-mcp-claude-channel — polling // based, no tunnel required (uses /workspaces/:id/activity?since_secs=, // platform-side support shipped in #2300). const externalChannelTemplate = `# Claude Code channel — bridges this workspace's A2A traffic into your @@ -176,7 +176,7 @@ claude --dangerously-load-development-channels \ # add the plugin to allowedChannelPlugins in claude.ai admin settings. # # Multi-workspace: comma-separate IDs and tokens (same order). See -# https://github.com/Molecule-AI/molecule-mcp-claude-channel for +# https://git.moleculesai.app/molecule-ai/molecule-mcp-claude-channel for # pairing flow, push-mode upgrade, and v0.2 roadmap. # Need help? @@ -258,7 +258,7 @@ claude mcp add molecule -s user -- env \ // externalPythonTemplate uses molecule-sdk-python's RemoteAgentClient + // A2AServer (PR #13 in that repo). Until the SDK cuts a v0.y release // to PyPI the snippet pins git+main. -const externalPythonTemplate = `# pip install 'git+https://github.com/Molecule-AI/molecule-sdk-python.git@main' +const externalPythonTemplate = `# pip install 'git+https://git.moleculesai.app/molecule-ai/molecule-sdk-python.git@main' import asyncio from molecule_agent import RemoteAgentClient, A2AServer @@ -336,7 +336,7 @@ const externalHermesChannelTemplate = `# Hermes channel — bridges this workspa # # 1. Install the runtime + plugin: pip install molecule-ai-workspace-runtime -pip install 'git+https://github.com/Molecule-AI/hermes-channel-molecule.git' +pip install 'git+https://git.moleculesai.app/molecule-ai/hermes-channel-molecule.git' # 2. Export the workspace credentials: export MOLECULE_WORKSPACE_ID={{WORKSPACE_ID}} @@ -366,7 +366,7 @@ hermes gateway --replace # by the plugin's molecule_runtime MCP subprocess). # # Source + issue tracker: -# https://github.com/Molecule-AI/hermes-channel-molecule +# https://git.moleculesai.app/molecule-ai/hermes-channel-molecule # Need help? # Documentation: https://doc.moleculesai.app/docs/guides/external-agent-registration diff --git a/workspace-server/internal/handlers/external_rotate.go b/workspace-server/internal/handlers/external_rotate.go index ce029958..ff0b0ed3 100644 --- a/workspace-server/internal/handlers/external_rotate.go +++ b/workspace-server/internal/handlers/external_rotate.go @@ -7,9 +7,9 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/github_token.go b/workspace-server/internal/handlers/github_token.go index ce9492a9..d7f09451 100644 --- a/workspace-server/internal/handlers/github_token.go +++ b/workspace-server/internal/handlers/github_token.go @@ -51,7 +51,7 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/pkg/provisionhook" + "go.moleculesai.app/core/platform/pkg/provisionhook" "github.com/gin-gonic/gin" "github.com/golang-jwt/jwt/v5" ) diff --git a/workspace-server/internal/handlers/github_token_test.go b/workspace-server/internal/handlers/github_token_test.go index 01076c81..399830de 100644 --- a/workspace-server/internal/handlers/github_token_test.go +++ b/workspace-server/internal/handlers/github_token_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/pkg/provisionhook" + "go.moleculesai.app/core/platform/pkg/provisionhook" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/handlers_additional_test.go b/workspace-server/internal/handlers/handlers_additional_test.go index c08d138f..fac42937 100644 --- a/workspace-server/internal/handlers/handlers_additional_test.go +++ b/workspace-server/internal/handlers/handlers_additional_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/handlers_test.go b/workspace-server/internal/handlers/handlers_test.go index d57e5811..b3a31cec 100644 --- a/workspace-server/internal/handlers/handlers_test.go +++ b/workspace-server/internal/handlers/handlers_test.go @@ -12,11 +12,11 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/ws" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/ws" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/alicebob/miniredis/v2" "github.com/gin-gonic/gin" "github.com/redis/go-redis/v9" diff --git a/workspace-server/internal/handlers/hibernation_test.go b/workspace-server/internal/handlers/hibernation_test.go index 43ae6371..5ddf72c7 100644 --- a/workspace-server/internal/handlers/hibernation_test.go +++ b/workspace-server/internal/handlers/hibernation_test.go @@ -22,7 +22,7 @@ import ( "testing" sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/instructions.go b/workspace-server/internal/handlers/instructions.go index 2e8e89ac..fd51c258 100644 --- a/workspace-server/internal/handlers/instructions.go +++ b/workspace-server/internal/handlers/instructions.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/mcp.go b/workspace-server/internal/handlers/mcp.go index 44290487..b205188a 100644 --- a/workspace-server/internal/handlers/mcp.go +++ b/workspace-server/internal/handlers/mcp.go @@ -32,7 +32,7 @@ import ( "os" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/events" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/mcp_test.go b/workspace-server/internal/handlers/mcp_test.go index 6ede0c2c..88bff0da 100644 --- a/workspace-server/internal/handlers/mcp_test.go +++ b/workspace-server/internal/handlers/mcp_test.go @@ -14,7 +14,7 @@ import ( "errors" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/mcp_tools.go b/workspace-server/internal/handlers/mcp_tools.go index dfb93e48..913c2aca 100644 --- a/workspace-server/internal/handlers/mcp_tools.go +++ b/workspace-server/internal/handlers/mcp_tools.go @@ -20,9 +20,9 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/registry" "github.com/google/uuid" ) // ───────────────────────────────────────────────────────────────────────────── diff --git a/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim.go b/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim.go index 88cb7c33..ad96f470 100644 --- a/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim.go +++ b/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim.go @@ -28,7 +28,7 @@ import ( "fmt" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // scopeToWritableNamespace maps a legacy scope value to the namespace diff --git a/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim_test.go b/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim_test.go index dd62fe53..54d0ccbe 100644 --- a/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim_test.go +++ b/workspace-server/internal/handlers/mcp_tools_memory_legacy_shim_test.go @@ -10,8 +10,8 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // --- scopeToWritableNamespace --- diff --git a/workspace-server/internal/handlers/mcp_tools_memory_v2.go b/workspace-server/internal/handlers/mcp_tools_memory_v2.go index 00c99152..8888b9ed 100644 --- a/workspace-server/internal/handlers/mcp_tools_memory_v2.go +++ b/workspace-server/internal/handlers/mcp_tools_memory_v2.go @@ -31,9 +31,9 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // memoryV2Deps bundles the dependencies the v2 tools need. Lifted diff --git a/workspace-server/internal/handlers/mcp_tools_memory_v2_test.go b/workspace-server/internal/handlers/mcp_tools_memory_v2_test.go index f5731790..1d2f6625 100644 --- a/workspace-server/internal/handlers/mcp_tools_memory_v2_test.go +++ b/workspace-server/internal/handlers/mcp_tools_memory_v2_test.go @@ -12,9 +12,9 @@ import ( "github.com/DATA-DOG/go-sqlmock" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + mclient "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // --- stubs --- diff --git a/workspace-server/internal/handlers/memories.go b/workspace-server/internal/handlers/memories.go index 137bab90..a38d1573 100644 --- a/workspace-server/internal/handlers/memories.go +++ b/workspace-server/internal/handlers/memories.go @@ -11,8 +11,8 @@ import ( "regexp" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/registry" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/memories_v2.go b/workspace-server/internal/handlers/memories_v2.go index 007ab35c..97eb524e 100644 --- a/workspace-server/internal/handlers/memories_v2.go +++ b/workspace-server/internal/handlers/memories_v2.go @@ -28,9 +28,9 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/memories_v2_test.go b/workspace-server/internal/handlers/memories_v2_test.go index c9a4b8bc..5229d65c 100644 --- a/workspace-server/internal/handlers/memories_v2_test.go +++ b/workspace-server/internal/handlers/memories_v2_test.go @@ -27,8 +27,8 @@ import ( "testing" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/memory.go b/workspace-server/internal/handlers/memory.go index 8f945a26..b52bf546 100644 --- a/workspace-server/internal/handlers/memory.go +++ b/workspace-server/internal/handlers/memory.go @@ -7,7 +7,7 @@ import ( "net/http" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/mock_runtime.go b/workspace-server/internal/handlers/mock_runtime.go index 9d4493d2..59c382e2 100644 --- a/workspace-server/internal/handlers/mock_runtime.go +++ b/workspace-server/internal/handlers/mock_runtime.go @@ -34,7 +34,7 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/native_status_mgmt_test.go b/workspace-server/internal/handlers/native_status_mgmt_test.go index 3a91db9e..e1dc90b0 100644 --- a/workspace-server/internal/handlers/native_status_mgmt_test.go +++ b/workspace-server/internal/handlers/native_status_mgmt_test.go @@ -7,7 +7,7 @@ import ( "testing" sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/org.go b/workspace-server/internal/handlers/org.go index 5f57b24c..06ad6840 100644 --- a/workspace-server/internal/handlers/org.go +++ b/workspace-server/internal/handlers/org.go @@ -14,10 +14,10 @@ import ( "strconv" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/channels" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/channels" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/gin-gonic/gin" "gopkg.in/yaml.v3" ) diff --git a/workspace-server/internal/handlers/org_import.go b/workspace-server/internal/handlers/org_import.go index d67087ca..a1d19ef0 100644 --- a/workspace-server/internal/handlers/org_import.go +++ b/workspace-server/internal/handlers/org_import.go @@ -17,14 +17,14 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/channels" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provlog" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/scheduler" + "go.moleculesai.app/core/platform/internal/channels" + "go.moleculesai.app/core/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/provlog" + "go.moleculesai.app/core/platform/internal/scheduler" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/org_plugin_allowlist.go b/workspace-server/internal/handlers/org_plugin_allowlist.go index 89dc69e6..01212404 100644 --- a/workspace-server/internal/handlers/org_plugin_allowlist.go +++ b/workspace-server/internal/handlers/org_plugin_allowlist.go @@ -8,8 +8,8 @@ import ( "net/http" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/orgtoken" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/orgtoken" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/org_test.go b/workspace-server/internal/handlers/org_test.go index 19dbece9..7fb5761c 100644 --- a/workspace-server/internal/handlers/org_test.go +++ b/workspace-server/internal/handlers/org_test.go @@ -8,7 +8,7 @@ import ( "gopkg.in/yaml.v3" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/scheduler" + "go.moleculesai.app/core/platform/internal/scheduler" ) func TestOrgDefaults_InitialPrompt_YAMLParsing(t *testing.T) { diff --git a/workspace-server/internal/handlers/org_tokens.go b/workspace-server/internal/handlers/org_tokens.go index 799f7f21..36c81d6f 100644 --- a/workspace-server/internal/handlers/org_tokens.go +++ b/workspace-server/internal/handlers/org_tokens.go @@ -4,8 +4,8 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/orgtoken" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/orgtoken" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/org_tokens_test.go b/workspace-server/internal/handlers/org_tokens_test.go index b8f2c29d..1d45802f 100644 --- a/workspace-server/internal/handlers/org_tokens_test.go +++ b/workspace-server/internal/handlers/org_tokens_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/pending_uploads.go b/workspace-server/internal/handlers/pending_uploads.go index aec1ca0f..db389c13 100644 --- a/workspace-server/internal/handlers/pending_uploads.go +++ b/workspace-server/internal/handlers/pending_uploads.go @@ -31,7 +31,7 @@ import ( "github.com/gin-gonic/gin" "github.com/google/uuid" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // PendingUploadsHandler serves the workspace-side fetch + ack endpoints. diff --git a/workspace-server/internal/handlers/pending_uploads_integration_test.go b/workspace-server/internal/handlers/pending_uploads_integration_test.go index f54f8df0..85175f6e 100644 --- a/workspace-server/internal/handlers/pending_uploads_integration_test.go +++ b/workspace-server/internal/handlers/pending_uploads_integration_test.go @@ -51,7 +51,7 @@ import ( "github.com/google/uuid" _ "github.com/lib/pq" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // integrationDB_PendingUploads opens a connection from $INTEGRATION_DB_URL diff --git a/workspace-server/internal/handlers/pending_uploads_test.go b/workspace-server/internal/handlers/pending_uploads_test.go index 990dfc6d..49b63597 100644 --- a/workspace-server/internal/handlers/pending_uploads_test.go +++ b/workspace-server/internal/handlers/pending_uploads_test.go @@ -14,8 +14,8 @@ import ( "github.com/gin-gonic/gin" "github.com/google/uuid" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // fakeStorage is an in-memory pendinguploads.Storage. Lets handler diff --git a/workspace-server/internal/handlers/plugins.go b/workspace-server/internal/handlers/plugins.go index 4befcfe3..edefde63 100644 --- a/workspace-server/internal/handlers/plugins.go +++ b/workspace-server/internal/handlers/plugins.go @@ -9,8 +9,8 @@ import ( "path/filepath" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/plugins" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/plugins" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" "github.com/docker/docker/pkg/stdcopy" diff --git a/workspace-server/internal/handlers/plugins_install.go b/workspace-server/internal/handlers/plugins_install.go index 1665a54e..eb7bc5ea 100644 --- a/workspace-server/internal/handlers/plugins_install.go +++ b/workspace-server/internal/handlers/plugins_install.go @@ -12,9 +12,9 @@ import ( "os" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/envx" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/envx" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/plugins_install_pipeline.go b/workspace-server/internal/handlers/plugins_install_pipeline.go index 07fb428b..d2958ce7 100644 --- a/workspace-server/internal/handlers/plugins_install_pipeline.go +++ b/workspace-server/internal/handlers/plugins_install_pipeline.go @@ -17,8 +17,8 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/envx" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/plugins" + "go.moleculesai.app/core/platform/internal/envx" + "go.moleculesai.app/core/platform/internal/plugins" "github.com/docker/docker/api/types/container" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/plugins_install_pipeline_test.go b/workspace-server/internal/handlers/plugins_install_pipeline_test.go index 0618c219..5588b1bf 100644 --- a/workspace-server/internal/handlers/plugins_install_pipeline_test.go +++ b/workspace-server/internal/handlers/plugins_install_pipeline_test.go @@ -15,7 +15,7 @@ import ( "strings" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/plugins" + "go.moleculesai.app/core/platform/internal/plugins" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/provlog_emit_test.go b/workspace-server/internal/handlers/provlog_emit_test.go index 6681c203..f8579d18 100644 --- a/workspace-server/internal/handlers/provlog_emit_test.go +++ b/workspace-server/internal/handlers/provlog_emit_test.go @@ -19,7 +19,7 @@ import ( "sync" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" ) // captureProvLog redirects the global logger to a buffer for the test diff --git a/workspace-server/internal/handlers/registry.go b/workspace-server/internal/handlers/registry.go index 84333985..6676665f 100644 --- a/workspace-server/internal/handlers/registry.go +++ b/workspace-server/internal/handlers/registry.go @@ -14,10 +14,10 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/registry_test.go b/workspace-server/internal/handlers/registry_test.go index bd8e65d8..426c1ba4 100644 --- a/workspace-server/internal/handlers/registry_test.go +++ b/workspace-server/internal/handlers/registry_test.go @@ -10,7 +10,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/restart_context.go b/workspace-server/internal/handlers/restart_context.go index 3ae2f41d..dc3d7941 100644 --- a/workspace-server/internal/handlers/restart_context.go +++ b/workspace-server/internal/handlers/restart_context.go @@ -17,7 +17,7 @@ import ( "sort" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/runtime_image_pin.go b/workspace-server/internal/handlers/runtime_image_pin.go index 2cd90bd4..36b2cb7d 100644 --- a/workspace-server/internal/handlers/runtime_image_pin.go +++ b/workspace-server/internal/handlers/runtime_image_pin.go @@ -8,8 +8,8 @@ import ( "os" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" ) // resolveRuntimeImage returns the digest-pinned image ref for a runtime when diff --git a/workspace-server/internal/handlers/runtime_image_pin_test.go b/workspace-server/internal/handlers/runtime_image_pin_test.go index b7589bc6..e5fcf2ef 100644 --- a/workspace-server/internal/handlers/runtime_image_pin_test.go +++ b/workspace-server/internal/handlers/runtime_image_pin_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" sqlmock "github.com/DATA-DOG/go-sqlmock" ) diff --git a/workspace-server/internal/handlers/saas_default_tier_test.go b/workspace-server/internal/handlers/saas_default_tier_test.go index c4d32a94..b5bb4a4f 100644 --- a/workspace-server/internal/handlers/saas_default_tier_test.go +++ b/workspace-server/internal/handlers/saas_default_tier_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/provisioner" ) // Tests for the SaaS-aware default-tier resolution introduced in #2901 diff --git a/workspace-server/internal/handlers/sanitize_filename_test.go b/workspace-server/internal/handlers/sanitize_filename_test.go index 82a6d355..af6d400d 100644 --- a/workspace-server/internal/handlers/sanitize_filename_test.go +++ b/workspace-server/internal/handlers/sanitize_filename_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/handlers" ) // SanitizeFilename mirrors workspace/internal_chat_uploads.py's diff --git a/workspace-server/internal/handlers/schedules.go b/workspace-server/internal/handlers/schedules.go index 3139a217..f5f3915c 100644 --- a/workspace-server/internal/handlers/schedules.go +++ b/workspace-server/internal/handlers/schedules.go @@ -10,9 +10,9 @@ import ( "github.com/gin-gonic/gin" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/scheduler" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/scheduler" ) type ScheduleHandler struct{} diff --git a/workspace-server/internal/handlers/secrets.go b/workspace-server/internal/handlers/secrets.go index 43a8a0d7..15ef2c18 100644 --- a/workspace-server/internal/handlers/secrets.go +++ b/workspace-server/internal/handlers/secrets.go @@ -7,9 +7,9 @@ import ( "net/http" "regexp" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/security_regression_685_686_687_688_test.go b/workspace-server/internal/handlers/security_regression_685_686_687_688_test.go index aa35a517..f89486ee 100644 --- a/workspace-server/internal/handlers/security_regression_685_686_687_688_test.go +++ b/workspace-server/internal/handlers/security_regression_685_686_687_688_test.go @@ -22,7 +22,7 @@ import ( "testing" sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/middleware" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/socket.go b/workspace-server/internal/handlers/socket.go index 6aa92ff2..d9b48881 100644 --- a/workspace-server/internal/handlers/socket.go +++ b/workspace-server/internal/handlers/socket.go @@ -6,10 +6,10 @@ import ( "os" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/metrics" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/ws" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/metrics" + "go.moleculesai.app/core/platform/internal/ws" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" "github.com/gorilla/websocket" ) diff --git a/workspace-server/internal/handlers/sse.go b/workspace-server/internal/handlers/sse.go index 5e578b15..c0a9574e 100644 --- a/workspace-server/internal/handlers/sse.go +++ b/workspace-server/internal/handlers/sse.go @@ -6,8 +6,8 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/template_import.go b/workspace-server/internal/handlers/template_import.go index 7b16c17f..ccaeada7 100644 --- a/workspace-server/internal/handlers/template_import.go +++ b/workspace-server/internal/handlers/template_import.go @@ -8,8 +8,8 @@ import ( "path/filepath" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/templates.go b/workspace-server/internal/handlers/templates.go index 2b3b66d6..038aa51b 100644 --- a/workspace-server/internal/handlers/templates.go +++ b/workspace-server/internal/handlers/templates.go @@ -10,8 +10,8 @@ import ( "strconv" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/docker/docker/client" "github.com/gin-gonic/gin" "gopkg.in/yaml.v3" diff --git a/workspace-server/internal/handlers/terminal.go b/workspace-server/internal/handlers/terminal.go index 434ae1f0..cc78b5c7 100644 --- a/workspace-server/internal/handlers/terminal.go +++ b/workspace-server/internal/handlers/terminal.go @@ -13,10 +13,10 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/registry" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/registry" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" diff --git a/workspace-server/internal/handlers/terminal_diagnose.go b/workspace-server/internal/handlers/terminal_diagnose.go index b78c8955..2df725ff 100644 --- a/workspace-server/internal/handlers/terminal_diagnose.go +++ b/workspace-server/internal/handlers/terminal_diagnose.go @@ -11,9 +11,9 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/testdata/derive-provider.sh b/workspace-server/internal/handlers/testdata/derive-provider.sh index e82c0938..c4de00ee 100755 --- a/workspace-server/internal/handlers/testdata/derive-provider.sh +++ b/workspace-server/internal/handlers/testdata/derive-provider.sh @@ -2,7 +2,7 @@ # VENDORED COPY — DO NOT EDIT THIS FILE BY HAND. # # Source of truth: -# github.com/Molecule-AI/molecule-ai-workspace-template-hermes +# git.moleculesai.app/molecule-ai/molecule-ai-workspace-template-hermes # scripts/derive-provider.sh # # This snapshot is read by derive_provider_drift_test.go so the AST diff --git a/workspace-server/internal/handlers/tokens.go b/workspace-server/internal/handlers/tokens.go index e63eff29..470cb057 100644 --- a/workspace-server/internal/handlers/tokens.go +++ b/workspace-server/internal/handlers/tokens.go @@ -7,8 +7,8 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/tokens_sqlmock_test.go b/workspace-server/internal/handlers/tokens_sqlmock_test.go index b0166293..de2c140c 100644 --- a/workspace-server/internal/handlers/tokens_sqlmock_test.go +++ b/workspace-server/internal/handlers/tokens_sqlmock_test.go @@ -35,7 +35,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/tokens_test.go b/workspace-server/internal/handlers/tokens_test.go index 1b62e106..647580a3 100644 --- a/workspace-server/internal/handlers/tokens_test.go +++ b/workspace-server/internal/handlers/tokens_test.go @@ -8,8 +8,8 @@ import ( "net/http/httptest" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/transcript.go b/workspace-server/internal/handlers/transcript.go index 4690f8d6..674b8efe 100644 --- a/workspace-server/internal/handlers/transcript.go +++ b/workspace-server/internal/handlers/transcript.go @@ -21,7 +21,7 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/viewport.go b/workspace-server/internal/handlers/viewport.go index 6bbba394..d2737ea4 100644 --- a/workspace-server/internal/handlers/viewport.go +++ b/workspace-server/internal/handlers/viewport.go @@ -4,7 +4,7 @@ import ( "log" "net/http" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/webhooks.go b/workspace-server/internal/handlers/webhooks.go index 78173d36..9ed1994a 100644 --- a/workspace-server/internal/handlers/webhooks.go +++ b/workspace-server/internal/handlers/webhooks.go @@ -12,8 +12,8 @@ import ( "os" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/webhooks_test.go b/workspace-server/internal/handlers/webhooks_test.go index 36e9dda4..74128b17 100644 --- a/workspace-server/internal/handlers/webhooks_test.go +++ b/workspace-server/internal/handlers/webhooks_test.go @@ -227,7 +227,7 @@ func TestGitHubWebhook_IssuesOpened_TriggersCrons(t *testing.T) { "action": "opened", "repository": {"full_name": "Molecule-AI/molecule-core"}, "sender": {"login": "alice"}, - "issue": {"number": 42, "title": "New feature request", "html_url": "https://github.com/Molecule-AI/molecule-core/issues/42"} + "issue": {"number": 42, "title": "New feature request", "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/issues/42"} }`) // Expect the UPDATE that sets next_run_at = now() on pick-up-work schedules. @@ -271,7 +271,7 @@ func TestGitHubWebhook_IssuesClosed_Ignored(t *testing.T) { "action": "closed", "repository": {"full_name": "Molecule-AI/molecule-core"}, "sender": {"login": "alice"}, - "issue": {"number": 42, "title": "Old issue", "html_url": "https://github.com/Molecule-AI/molecule-core/issues/42"} + "issue": {"number": 42, "title": "Old issue", "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/issues/42"} }`) w, c := newWebhookTestContext(t, "", body) @@ -298,8 +298,8 @@ func TestGitHubWebhook_PRReviewSubmitted_TriggersCrons(t *testing.T) { "action": "submitted", "repository": {"full_name": "Molecule-AI/molecule-core"}, "sender": {"login": "bob"}, - "review": {"state": "changes_requested", "html_url": "https://github.com/Molecule-AI/molecule-core/pull/7#pullrequestreview-1"}, - "pull_request": {"number": 7, "title": "Fix scheduler bug", "html_url": "https://github.com/Molecule-AI/molecule-core/pull/7"} + "review": {"state": "changes_requested", "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/pull/7#pullrequestreview-1"}, + "pull_request": {"number": 7, "title": "Fix scheduler bug", "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/pull/7"} }`) // Expect the UPDATE that sets next_run_at = now() on review schedules. @@ -339,8 +339,8 @@ func TestGitHubWebhook_PRReviewDismissed_Ignored(t *testing.T) { "action": "dismissed", "repository": {"full_name": "Molecule-AI/molecule-core"}, "sender": {"login": "bob"}, - "review": {"state": "dismissed", "html_url": "https://github.com/Molecule-AI/molecule-core/pull/7#pullrequestreview-1"}, - "pull_request": {"number": 7, "title": "Fix scheduler bug", "html_url": "https://github.com/Molecule-AI/molecule-core/pull/7"} + "review": {"state": "dismissed", "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/pull/7#pullrequestreview-1"}, + "pull_request": {"number": 7, "title": "Fix scheduler bug", "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/pull/7"} }`) w, c := newWebhookTestContext(t, "", body) diff --git a/workspace-server/internal/handlers/webhooks_workflow_test.go b/workspace-server/internal/handlers/webhooks_workflow_test.go index 3236cb59..883655e0 100644 --- a/workspace-server/internal/handlers/webhooks_workflow_test.go +++ b/workspace-server/internal/handlers/webhooks_workflow_test.go @@ -12,7 +12,7 @@ func TestBuildGitHubA2APayload_WorkflowRunFailure(t *testing.T) { raw := []byte(`{ "workspace_id": "ws-devops", "action": "completed", - "repository": {"full_name": "Molecule-AI/molecule-monorepo"}, + "repository": {"full_name": "molecule-ai/molecule-core"}, "sender": {"login": "test-user"}, "workflow_run": { "id": 123456, @@ -22,7 +22,7 @@ func TestBuildGitHubA2APayload_WorkflowRunFailure(t *testing.T) { "conclusion": "failure", "head_branch": "fix/thing", "head_sha": "deadbeef1234567", - "html_url": "https://github.com/Molecule-AI/molecule-monorepo/actions/runs/123456", + "html_url": "https://git.moleculesai.app/molecule-ai/molecule-core/actions/runs/123456", "run_number": 42 } }`) @@ -37,7 +37,7 @@ func TestBuildGitHubA2APayload_WorkflowRunFailure(t *testing.T) { body, _ := json.Marshal(payload) text := string(body) - for _, needle := range []string{"failure", "CI", "run #42", "fix/thing", "deadbee", "Molecule-AI/molecule-monorepo"} { + for _, needle := range []string{"failure", "CI", "run #42", "fix/thing", "deadbee", "molecule-ai/molecule-core"} { if !strings.Contains(text, needle) { t.Errorf("missing %q in payload: %s", needle, text) } diff --git a/workspace-server/internal/handlers/workspace.go b/workspace-server/internal/handlers/workspace.go index a163cee9..bbc3bc09 100644 --- a/workspace-server/internal/handlers/workspace.go +++ b/workspace-server/internal/handlers/workspace.go @@ -16,13 +16,13 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" - "github.com/Molecule-AI/molecule-monorepo/platform/pkg/provisionhook" + "go.moleculesai.app/core/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/wsauth" + "go.moleculesai.app/core/platform/pkg/provisionhook" "github.com/gin-gonic/gin" "github.com/google/uuid" ) diff --git a/workspace-server/internal/handlers/workspace_bootstrap.go b/workspace-server/internal/handlers/workspace_bootstrap.go index 2928ffd0..49ed8fea 100644 --- a/workspace-server/internal/handlers/workspace_bootstrap.go +++ b/workspace-server/internal/handlers/workspace_bootstrap.go @@ -5,9 +5,9 @@ import ( "net/http" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_bootstrap_test.go b/workspace-server/internal/handlers/workspace_bootstrap_test.go index 278ef901..c42d5c97 100644 --- a/workspace-server/internal/handlers/workspace_bootstrap_test.go +++ b/workspace-server/internal/handlers/workspace_bootstrap_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_budget_test.go b/workspace-server/internal/handlers/workspace_budget_test.go index 920dad9c..250a6c40 100644 --- a/workspace-server/internal/handlers/workspace_budget_test.go +++ b/workspace-server/internal/handlers/workspace_budget_test.go @@ -23,7 +23,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_crud.go b/workspace-server/internal/handlers/workspace_crud.go index 200356b1..330b943f 100644 --- a/workspace-server/internal/handlers/workspace_crud.go +++ b/workspace-server/internal/handlers/workspace_crud.go @@ -15,10 +15,10 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" "github.com/google/uuid" "github.com/lib/pq" diff --git a/workspace-server/internal/handlers/workspace_dispatchers.go b/workspace-server/internal/handlers/workspace_dispatchers.go index 3df25877..11382171 100644 --- a/workspace-server/internal/handlers/workspace_dispatchers.go +++ b/workspace-server/internal/handlers/workspace_dispatchers.go @@ -34,8 +34,8 @@ import ( "log" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provlog" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provlog" ) // HasProvisioner reports whether either backend (CP or local Docker) is diff --git a/workspace-server/internal/handlers/workspace_metrics.go b/workspace-server/internal/handlers/workspace_metrics.go index 92d65a2e..575d8c1b 100644 --- a/workspace-server/internal/handlers/workspace_metrics.go +++ b/workspace-server/internal/handlers/workspace_metrics.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_provision.go b/workspace-server/internal/handlers/workspace_provision.go index 981ee5da..e72954c9 100644 --- a/workspace-server/internal/handlers/workspace_provision.go +++ b/workspace-server/internal/handlers/workspace_provision.go @@ -10,11 +10,11 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/crypto" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/crypto" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/wsauth" ) // logProvisionPanic is the deferred recover at the top of every provision diff --git a/workspace-server/internal/handlers/workspace_provision_auto_test.go b/workspace-server/internal/handlers/workspace_provision_auto_test.go index ebb168dc..f4b19c8f 100644 --- a/workspace-server/internal/handlers/workspace_provision_auto_test.go +++ b/workspace-server/internal/handlers/workspace_provision_auto_test.go @@ -30,8 +30,8 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" ) // trackingCPProv records every Start() call in a thread-safe slice. diff --git a/workspace-server/internal/handlers/workspace_provision_concurrent_repro_test.go b/workspace-server/internal/handlers/workspace_provision_concurrent_repro_test.go index a17d5037..8a2b1d6f 100644 --- a/workspace-server/internal/handlers/workspace_provision_concurrent_repro_test.go +++ b/workspace-server/internal/handlers/workspace_provision_concurrent_repro_test.go @@ -11,8 +11,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" ) // Issue #2486 reproduction harness: 7 simultaneous claude-code provisions diff --git a/workspace-server/internal/handlers/workspace_provision_panic_test.go b/workspace-server/internal/handlers/workspace_provision_panic_test.go index d9705f30..d275781c 100644 --- a/workspace-server/internal/handlers/workspace_provision_panic_test.go +++ b/workspace-server/internal/handlers/workspace_provision_panic_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) // Pin the issue #2486 contract: a panic inside the provision goroutine must diff --git a/workspace-server/internal/handlers/workspace_provision_shared.go b/workspace-server/internal/handlers/workspace_provision_shared.go index e879521a..5f72fad7 100644 --- a/workspace-server/internal/handlers/workspace_provision_shared.go +++ b/workspace-server/internal/handlers/workspace_provision_shared.go @@ -40,11 +40,11 @@ import ( "log" "path/filepath" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/wsauth" ) // readOrLazyHealInboundSecret reads the workspace's diff --git a/workspace-server/internal/handlers/workspace_provision_shared_test.go b/workspace-server/internal/handlers/workspace_provision_shared_test.go index 51391c93..64edfbf9 100644 --- a/workspace-server/internal/handlers/workspace_provision_shared_test.go +++ b/workspace-server/internal/handlers/workspace_provision_shared_test.go @@ -32,8 +32,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provisioner" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_provision_test.go b/workspace-server/internal/handlers/workspace_provision_test.go index 18d5777d..ef9d216e 100644 --- a/workspace-server/internal/handlers/workspace_provision_test.go +++ b/workspace-server/internal/handlers/workspace_provision_test.go @@ -10,10 +10,10 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/plugins" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/pkg/provisionhook" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/plugins" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/pkg/provisionhook" "gopkg.in/yaml.v3" ) diff --git a/workspace-server/internal/handlers/workspace_restart.go b/workspace-server/internal/handlers/workspace_restart.go index 2af5291c..612c9231 100644 --- a/workspace-server/internal/handlers/workspace_restart.go +++ b/workspace-server/internal/handlers/workspace_restart.go @@ -10,10 +10,10 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provlog" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" + "go.moleculesai.app/core/platform/internal/provlog" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_restart_stop_retry_test.go b/workspace-server/internal/handlers/workspace_restart_stop_retry_test.go index 1104feec..3fd1bfb0 100644 --- a/workspace-server/internal/handlers/workspace_restart_stop_retry_test.go +++ b/workspace-server/internal/handlers/workspace_restart_stop_retry_test.go @@ -43,7 +43,7 @@ import ( "testing" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/provisioner" ) // scriptedCPStop returns a fakeCPStop that returns errs[i] on call i, then diff --git a/workspace-server/internal/handlers/workspace_restart_test.go b/workspace-server/internal/handlers/workspace_restart_test.go index f36b5232..29ad6880 100644 --- a/workspace-server/internal/handlers/workspace_restart_test.go +++ b/workspace-server/internal/handlers/workspace_restart_test.go @@ -12,7 +12,7 @@ import ( "testing" sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/handlers/workspace_test.go b/workspace-server/internal/handlers/workspace_test.go index 4e17ca6a..d88f58fc 100644 --- a/workspace-server/internal/handlers/workspace_test.go +++ b/workspace-server/internal/handlers/workspace_test.go @@ -12,7 +12,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/imagewatch/watch.go b/workspace-server/internal/imagewatch/watch.go index d39d57f3..0eb35909 100644 --- a/workspace-server/internal/imagewatch/watch.go +++ b/workspace-server/internal/imagewatch/watch.go @@ -28,7 +28,7 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/handlers" ) // DefaultInterval is the polling cadence. Runtime publishes happen at most diff --git a/workspace-server/internal/imagewatch/watch_test.go b/workspace-server/internal/imagewatch/watch_test.go index b29d17a3..70bd38be 100644 --- a/workspace-server/internal/imagewatch/watch_test.go +++ b/workspace-server/internal/imagewatch/watch_test.go @@ -6,7 +6,7 @@ import ( "sync" "testing" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/handlers" ) // fakeRefresher records every Refresh call and lets tests inject errors. diff --git a/workspace-server/internal/lint/import_path_lint_test.go b/workspace-server/internal/lint/import_path_lint_test.go new file mode 100644 index 00000000..7cf2635c --- /dev/null +++ b/workspace-server/internal/lint/import_path_lint_test.go @@ -0,0 +1,153 @@ +// Issue molecule-ai/internal#71 lint gate. +// +// Walks every *.go file in the module + the go.mod declaration + any +// Dockerfile in the repo, and rejects any reference to the dead +// github.com/Molecule-AI/* identity (or the historical +// Molecule-AI/molecule-monorepo path). +// +// We had a 374+131+30+1-line "github.com/Molecule-AI/" footprint across +// the org pre-migration. The class of bug this gate prevents: +// +// - copy-pastes from old branches re-introducing the dead path +// - Dockerfile -ldflags strings drifting back to github.com on a +// refactor (the path has to match the module declaration to inject +// buildinfo correctly; if they disagree the binary builds but +// reports a wrong / stale GitSHA) +// - new modules added to the repo with the wrong import root because +// someone copied an old go.mod without thinking +// +// Why not just a CI shell grep: a Go test runs everywhere `go test ./...` +// runs, including local pre-push hooks and contributor IDEs. The gate +// fires immediately, with a per-file message that points at the line — +// CI shell grep failures are silent until the runner picks them up. + +package lint + +import ( + "os" + "path/filepath" + "strings" + "testing" +) + +// forbiddenSubstrings is the literal-match list. Each string MUST NOT +// appear anywhere under the module root. Entries are checked with +// substring matching, not regex — keep the patterns specific enough +// that a false-positive needs an explicit allowlist entry. +var forbiddenSubstrings = []string{ + "github.com/Molecule-AI/", + "Molecule-AI/molecule-monorepo", +} + +// allowlistedFiles is the per-file escape hatch. Empty by default — +// add an entry only when there is a documented reason a forbidden +// string MUST appear (e.g. a regression-test fixture that asserts +// the lint gate itself rejects the string). Each entry MUST be +// accompanied by a comment explaining why. +var allowlistedFiles = map[string]bool{ + // go.mod "require" line + main.go import for molecule-ai-plugin-gh-identity. + // This cross-repo dep is in transit: gh-identity's vanity migration is + // PR molecule-ai-plugin-gh-identity#3 (parallel with internal#71). Until + // that PR merges AND a tag is cut at go.moleculesai.app/plugin/gh-identity, + // this go.mod must reference the legacy github.com path. Follow-up PR + // removes both allowlist entries + updates the require/import in one shot. + // Filed as the post-#71 cleanup note in the PR description. + "go.mod": true, + "cmd/server/main.go": true, +} + +func TestNoLegacyGitHubImportPaths(t *testing.T) { + moduleRoot, err := findModuleRoot() + if err != nil { + t.Fatalf("findModuleRoot: %v", err) + } + + checkExt := map[string]bool{ + ".go": true, + ".mod": true, + ".sum": false, // go.sum is auto-generated, refs flow from go.mod + ".sh": true, + ".yml": true, + ".yaml": true, + ".toml": true, + ".md": true, + } + checkBasename := map[string]bool{ + "Dockerfile": true, + "Dockerfile.tenant": true, + } + + violations := 0 + walkErr := filepath.Walk(moduleRoot, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if info.IsDir() { + // Skip vendor + .git + node_modules — not our code. + base := info.Name() + if base == "vendor" || base == ".git" || base == "node_modules" || base == "testdata" { + return filepath.SkipDir + } + return nil + } + ext := filepath.Ext(path) + base := filepath.Base(path) + if !checkExt[ext] && !checkBasename[base] { + return nil + } + rel, _ := filepath.Rel(moduleRoot, path) + if allowlistedFiles[rel] { + return nil + } + // Skip the lint test itself — it legitimately names the forbidden + // strings as match patterns. + if strings.HasSuffix(rel, "import_path_lint_test.go") { + return nil + } + data, err := os.ReadFile(path) + if err != nil { + return err + } + text := string(data) + for _, bad := range forbiddenSubstrings { + if strings.Contains(text, bad) { + // Find the line number for a useful error message. + for lineNo, line := range strings.Split(text, "\n") { + if strings.Contains(line, bad) { + t.Errorf("%s:%d — forbidden substring %q (use go.moleculesai.app//... per molecule-ai/internal#71)", rel, lineNo+1, bad) + violations++ + break + } + } + } + } + return nil + }) + if walkErr != nil { + t.Fatalf("walk: %v", walkErr) + } + if violations > 0 { + t.Logf("Total violations: %d. Add to allowlistedFiles ONLY with a documented justification.", violations) + } +} + +// findModuleRoot walks up from the test's CWD to find go.mod. The Go +// test harness sets CWD to the package directory; the module root may +// be one or more parents up. +func findModuleRoot() (string, error) { + cwd, err := os.Getwd() + if err != nil { + return "", err + } + dir := cwd + for { + if _, err := os.Stat(filepath.Join(dir, "go.mod")); err == nil { + return dir, nil + } + parent := filepath.Dir(dir) + if parent == dir { + return "", os.ErrNotExist + } + dir = parent + } +} diff --git a/workspace-server/internal/memory/client/client.go b/workspace-server/internal/memory/client/client.go index 2dce9267..437e7fe0 100644 --- a/workspace-server/internal/memory/client/client.go +++ b/workspace-server/internal/memory/client/client.go @@ -34,8 +34,8 @@ import ( "sync" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/textutil" ) const ( diff --git a/workspace-server/internal/memory/client/client_test.go b/workspace-server/internal/memory/client/client_test.go index 3f7830b4..755ceeba 100644 --- a/workspace-server/internal/memory/client/client_test.go +++ b/workspace-server/internal/memory/client/client_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // roundTripperFunc lets tests inject a fully synthetic transport. diff --git a/workspace-server/internal/memory/e2e/swap_test.go b/workspace-server/internal/memory/e2e/swap_test.go index df535488..5eedb20e 100644 --- a/workspace-server/internal/memory/e2e/swap_test.go +++ b/workspace-server/internal/memory/e2e/swap_test.go @@ -34,10 +34,10 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + "go.moleculesai.app/core/platform/internal/handlers" + mclient "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // flatPlugin is a deliberately minimal contract-satisfying memory diff --git a/workspace-server/internal/memory/namespace/resolver.go b/workspace-server/internal/memory/namespace/resolver.go index c6790edd..cb813d81 100644 --- a/workspace-server/internal/memory/namespace/resolver.go +++ b/workspace-server/internal/memory/namespace/resolver.go @@ -17,7 +17,7 @@ import ( "errors" "fmt" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // Max parent_id chain depth we will walk before bailing out. Today's diff --git a/workspace-server/internal/memory/namespace/resolver_test.go b/workspace-server/internal/memory/namespace/resolver_test.go index 7f7122d0..4afe1bee 100644 --- a/workspace-server/internal/memory/namespace/resolver_test.go +++ b/workspace-server/internal/memory/namespace/resolver_test.go @@ -9,7 +9,7 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // chainQueryMatcher matches the recursive-CTE query loosely (substring diff --git a/workspace-server/internal/memory/pgplugin/handlers.go b/workspace-server/internal/memory/pgplugin/handlers.go index 6627791b..2fe85c93 100644 --- a/workspace-server/internal/memory/pgplugin/handlers.go +++ b/workspace-server/internal/memory/pgplugin/handlers.go @@ -6,7 +6,7 @@ import ( "net/http" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // SchemaVersion is what the plugin reports on /v1/health. Pinned to diff --git a/workspace-server/internal/memory/pgplugin/handlers_test.go b/workspace-server/internal/memory/pgplugin/handlers_test.go index ff683224..94f81176 100644 --- a/workspace-server/internal/memory/pgplugin/handlers_test.go +++ b/workspace-server/internal/memory/pgplugin/handlers_test.go @@ -14,7 +14,7 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) func setupMockDB(t *testing.T) (*sql.DB, sqlmock.Sqlmock) { diff --git a/workspace-server/internal/memory/pgplugin/store.go b/workspace-server/internal/memory/pgplugin/store.go index 6896dc75..b4ac862e 100644 --- a/workspace-server/internal/memory/pgplugin/store.go +++ b/workspace-server/internal/memory/pgplugin/store.go @@ -18,7 +18,7 @@ import ( "github.com/lib/pq" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // ErrNotFound is the typed sentinel for "namespace or memory not diff --git a/workspace-server/internal/memory/pgplugin/store_test.go b/workspace-server/internal/memory/pgplugin/store_test.go index 129b55a2..c97413ca 100644 --- a/workspace-server/internal/memory/pgplugin/store_test.go +++ b/workspace-server/internal/memory/pgplugin/store_test.go @@ -10,7 +10,7 @@ import ( "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/contract" + "go.moleculesai.app/core/platform/internal/memory/contract" ) // --- marshalMetadata corner cases --- diff --git a/workspace-server/internal/memory/wiring/wiring.go b/workspace-server/internal/memory/wiring/wiring.go index 12badfdc..e94c3140 100644 --- a/workspace-server/internal/memory/wiring/wiring.go +++ b/workspace-server/internal/memory/wiring/wiring.go @@ -21,8 +21,8 @@ import ( "os" "time" - mclient "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/client" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/namespace" + mclient "go.moleculesai.app/core/platform/internal/memory/client" + "go.moleculesai.app/core/platform/internal/memory/namespace" ) // Bundle is the v2 dependency bundle. Pass it through Setup as a diff --git a/workspace-server/internal/middleware/wsauth_middleware.go b/workspace-server/internal/middleware/wsauth_middleware.go index ef82d8e7..367dfe6d 100644 --- a/workspace-server/internal/middleware/wsauth_middleware.go +++ b/workspace-server/internal/middleware/wsauth_middleware.go @@ -9,8 +9,8 @@ import ( "os" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/orgtoken" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/wsauth" + "go.moleculesai.app/core/platform/internal/orgtoken" + "go.moleculesai.app/core/platform/internal/wsauth" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/models/architecture_test.go b/workspace-server/internal/models/architecture_test.go index 40b65ba6..02679a07 100644 --- a/workspace-server/internal/models/architecture_test.go +++ b/workspace-server/internal/models/architecture_test.go @@ -18,7 +18,7 @@ import ( "testing" ) -const moduleInternalPrefix = "github.com/Molecule-AI/molecule-monorepo/platform/internal/" +const moduleInternalPrefix = "go.moleculesai.app/core/platform/internal/" func TestModelsHasNoInternalDependencies(t *testing.T) { t.Parallel() diff --git a/workspace-server/internal/pendinguploads/storage_test.go b/workspace-server/internal/pendinguploads/storage_test.go index 79bbebb8..18fbe559 100644 --- a/workspace-server/internal/pendinguploads/storage_test.go +++ b/workspace-server/internal/pendinguploads/storage_test.go @@ -11,7 +11,7 @@ import ( "github.com/DATA-DOG/go-sqlmock" "github.com/google/uuid" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // Tests pin the SQL the handler relies on. Drift detection: if the diff --git a/workspace-server/internal/pendinguploads/sweeper.go b/workspace-server/internal/pendinguploads/sweeper.go index b29a87ad..5aa45a0f 100644 --- a/workspace-server/internal/pendinguploads/sweeper.go +++ b/workspace-server/internal/pendinguploads/sweeper.go @@ -30,7 +30,7 @@ import ( "log" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/metrics" + "go.moleculesai.app/core/platform/internal/metrics" ) // SweepInterval is the cadence of the GC loop. 5 minutes is a balance diff --git a/workspace-server/internal/pendinguploads/sweeper_test.go b/workspace-server/internal/pendinguploads/sweeper_test.go index 4133125d..723e2b80 100644 --- a/workspace-server/internal/pendinguploads/sweeper_test.go +++ b/workspace-server/internal/pendinguploads/sweeper_test.go @@ -10,8 +10,8 @@ import ( "github.com/google/uuid" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/metrics" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" + "go.moleculesai.app/core/platform/internal/metrics" + "go.moleculesai.app/core/platform/internal/pendinguploads" ) // fakeSweepStorage is a minimal Storage that records every Sweep call diff --git a/workspace-server/internal/provisioner/architecture_test.go b/workspace-server/internal/provisioner/architecture_test.go index c7455e52..4ac9274f 100644 --- a/workspace-server/internal/provisioner/architecture_test.go +++ b/workspace-server/internal/provisioner/architecture_test.go @@ -25,7 +25,7 @@ import ( "testing" ) -const moduleInternalPrefix = "github.com/Molecule-AI/molecule-monorepo/platform/internal/" +const moduleInternalPrefix = "go.moleculesai.app/core/platform/internal/" var provisionerForbiddenImports = []string{ moduleInternalPrefix + "handlers", diff --git a/workspace-server/internal/provisioner/cp_provisioner.go b/workspace-server/internal/provisioner/cp_provisioner.go index bdc5bff7..dbd9e6c0 100644 --- a/workspace-server/internal/provisioner/cp_provisioner.go +++ b/workspace-server/internal/provisioner/cp_provisioner.go @@ -13,8 +13,8 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provlog" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/provlog" ) // CPProvisionerAPI is the contract WorkspaceHandler uses to talk to the diff --git a/workspace-server/internal/registry/access.go b/workspace-server/internal/registry/access.go index 530356be..df5d43f5 100644 --- a/workspace-server/internal/registry/access.go +++ b/workspace-server/internal/registry/access.go @@ -4,7 +4,7 @@ import ( "database/sql" "log" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) // maxAncestorWalk caps the depth of the parent-chain walk in diff --git a/workspace-server/internal/registry/access_test.go b/workspace-server/internal/registry/access_test.go index 537a0b62..29db586d 100644 --- a/workspace-server/internal/registry/access_test.go +++ b/workspace-server/internal/registry/access_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) func setupMockDB(t *testing.T) sqlmock.Sqlmock { diff --git a/workspace-server/internal/registry/healthsweep.go b/workspace-server/internal/registry/healthsweep.go index fdeef4f9..85c264b5 100644 --- a/workspace-server/internal/registry/healthsweep.go +++ b/workspace-server/internal/registry/healthsweep.go @@ -7,8 +7,8 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/models" ) // ContainerChecker checks if a workspace container is running via Docker API. diff --git a/workspace-server/internal/registry/healthsweep_test.go b/workspace-server/internal/registry/healthsweep_test.go index ce82e027..43f38508 100644 --- a/workspace-server/internal/registry/healthsweep_test.go +++ b/workspace-server/internal/registry/healthsweep_test.go @@ -7,8 +7,8 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/models" "github.com/alicebob/miniredis/v2" "github.com/redis/go-redis/v9" ) diff --git a/workspace-server/internal/registry/hibernation.go b/workspace-server/internal/registry/hibernation.go index 8d3884da..143e4c1b 100644 --- a/workspace-server/internal/registry/hibernation.go +++ b/workspace-server/internal/registry/hibernation.go @@ -5,8 +5,8 @@ import ( "log" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/supervised" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/supervised" ) // HibernateHandler is called for each workspace that the hibernation monitor diff --git a/workspace-server/internal/registry/hibernation_test.go b/workspace-server/internal/registry/hibernation_test.go index 76d6555f..9e6c225e 100644 --- a/workspace-server/internal/registry/hibernation_test.go +++ b/workspace-server/internal/registry/hibernation_test.go @@ -8,7 +8,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" ) func setupHibernationMock(t *testing.T) sqlmock.Sqlmock { diff --git a/workspace-server/internal/registry/liveness.go b/workspace-server/internal/registry/liveness.go index ae53231a..b4a21fcc 100644 --- a/workspace-server/internal/registry/liveness.go +++ b/workspace-server/internal/registry/liveness.go @@ -5,8 +5,8 @@ import ( "log" "strings" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/models" ) // OfflineHandler is called when a workspace's liveness key expires. diff --git a/workspace-server/internal/registry/liveness_test.go b/workspace-server/internal/registry/liveness_test.go index d53fc007..0d22f402 100644 --- a/workspace-server/internal/registry/liveness_test.go +++ b/workspace-server/internal/registry/liveness_test.go @@ -6,8 +6,8 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/models" "github.com/alicebob/miniredis/v2" "github.com/redis/go-redis/v9" ) diff --git a/workspace-server/internal/registry/orphan_sweeper.go b/workspace-server/internal/registry/orphan_sweeper.go index 6e4110cb..ead9801b 100644 --- a/workspace-server/internal/registry/orphan_sweeper.go +++ b/workspace-server/internal/registry/orphan_sweeper.go @@ -22,7 +22,7 @@ import ( "log" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" + "go.moleculesai.app/core/platform/internal/db" "github.com/lib/pq" ) diff --git a/workspace-server/internal/registry/provisiontimeout.go b/workspace-server/internal/registry/provisiontimeout.go index 46b9e157..6171ed48 100644 --- a/workspace-server/internal/registry/provisiontimeout.go +++ b/workspace-server/internal/registry/provisiontimeout.go @@ -7,9 +7,9 @@ import ( "strconv" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/models" ) // ProvisionTimeoutEmitter is the narrow broadcaster dependency the sweeper diff --git a/workspace-server/internal/registry/provisiontimeout_test.go b/workspace-server/internal/registry/provisiontimeout_test.go index 29cc904e..974f1b9c 100644 --- a/workspace-server/internal/registry/provisiontimeout_test.go +++ b/workspace-server/internal/registry/provisiontimeout_test.go @@ -8,7 +8,7 @@ import ( "time" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" ) // fakeEmitter records every RecordAndBroadcast call so tests can assert diff --git a/workspace-server/internal/router/admin_delegations_route_test.go b/workspace-server/internal/router/admin_delegations_route_test.go index 062b6967..b549eb06 100644 --- a/workspace-server/internal/router/admin_delegations_route_test.go +++ b/workspace-server/internal/router/admin_delegations_route_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/middleware" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/router/admin_test_token_route_test.go b/workspace-server/internal/router/admin_test_token_route_test.go index 8f59250b..19c2a6bc 100644 --- a/workspace-server/internal/router/admin_test_token_route_test.go +++ b/workspace-server/internal/router/admin_test_token_route_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/middleware" "github.com/gin-gonic/gin" ) diff --git a/workspace-server/internal/router/router.go b/workspace-server/internal/router/router.go index e3b9171b..6e1b9b8c 100644 --- a/workspace-server/internal/router/router.go +++ b/workspace-server/internal/router/router.go @@ -8,19 +8,19 @@ import ( "strings" "time" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/buildinfo" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/channels" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/messagestore" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/handlers" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/pendinguploads" - memwiring "github.com/Molecule-AI/molecule-monorepo/platform/internal/memory/wiring" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/metrics" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/middleware" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/provisioner" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/supervised" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/ws" + "go.moleculesai.app/core/platform/internal/buildinfo" + "go.moleculesai.app/core/platform/internal/channels" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/messagestore" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/handlers" + "go.moleculesai.app/core/platform/internal/pendinguploads" + memwiring "go.moleculesai.app/core/platform/internal/memory/wiring" + "go.moleculesai.app/core/platform/internal/metrics" + "go.moleculesai.app/core/platform/internal/middleware" + "go.moleculesai.app/core/platform/internal/provisioner" + "go.moleculesai.app/core/platform/internal/supervised" + "go.moleculesai.app/core/platform/internal/ws" "github.com/docker/docker/client" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" diff --git a/workspace-server/internal/scheduler/scheduler.go b/workspace-server/internal/scheduler/scheduler.go index 53f17e0c..a98bdb8b 100644 --- a/workspace-server/internal/scheduler/scheduler.go +++ b/workspace-server/internal/scheduler/scheduler.go @@ -13,11 +13,11 @@ import ( "github.com/google/uuid" cronlib "github.com/robfig/cron/v3" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/events" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/metrics" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/supervised" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/events" + "go.moleculesai.app/core/platform/internal/metrics" + "go.moleculesai.app/core/platform/internal/supervised" + "go.moleculesai.app/core/platform/internal/textutil" ) const ( diff --git a/workspace-server/internal/scheduler/scheduler_test.go b/workspace-server/internal/scheduler/scheduler_test.go index 742ec0ad..66cf5925 100644 --- a/workspace-server/internal/scheduler/scheduler_test.go +++ b/workspace-server/internal/scheduler/scheduler_test.go @@ -9,8 +9,8 @@ import ( sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/db" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/textutil" + "go.moleculesai.app/core/platform/internal/db" + "go.moleculesai.app/core/platform/internal/textutil" ) // errDBDown is a sentinel error used by tests to simulate a DB connection failure. diff --git a/workspace-server/internal/ws/hub.go b/workspace-server/internal/ws/hub.go index 3f4d5681..3b82e68f 100644 --- a/workspace-server/internal/ws/hub.go +++ b/workspace-server/internal/ws/hub.go @@ -5,7 +5,7 @@ import ( "log" "sync" - "github.com/Molecule-AI/molecule-monorepo/platform/internal/models" + "go.moleculesai.app/core/platform/internal/models" "github.com/gorilla/websocket" ) diff --git a/workspace-server/internal/wsauth/architecture_test.go b/workspace-server/internal/wsauth/architecture_test.go index c61e5b7e..a01fb646 100644 --- a/workspace-server/internal/wsauth/architecture_test.go +++ b/workspace-server/internal/wsauth/architecture_test.go @@ -21,7 +21,7 @@ import ( "testing" ) -const moduleInternalPrefix = "github.com/Molecule-AI/molecule-monorepo/platform/internal/" +const moduleInternalPrefix = "go.moleculesai.app/core/platform/internal/" func TestWsauthHasNoInternalDependencies(t *testing.T) { t.Parallel() diff --git a/workspace-server/pkg/provisionhook/mutator.go b/workspace-server/pkg/provisionhook/mutator.go index 9433467d..88b71b15 100644 --- a/workspace-server/pkg/provisionhook/mutator.go +++ b/workspace-server/pkg/provisionhook/mutator.go @@ -23,7 +23,7 @@ // registry before each workspace container starts. // // Plugins live in their own Go modules + repos (e.g. -// github.com/Molecule-AI/molecule-ai-plugin-github-app-auth). Each +// git.moleculesai.app/molecule-ai/molecule-ai-plugin-github-app-auth). Each // plugin ships its own cmd/server/main.go that imports core's startup // function + registers the plugin's mutator. Operators deploy the // plugin binary instead of core's vanilla cmd/server when they want diff --git a/workspace/build-all.sh b/workspace/build-all.sh index 3ef07486..51c4ecb2 100755 --- a/workspace/build-all.sh +++ b/workspace/build-all.sh @@ -2,7 +2,7 @@ # build-all.sh — Rebuild base image and optionally adapter images. # # NOTE: Adapters have been extracted to standalone template repos: -# https://github.com/Molecule-AI/molecule-ai-workspace-template- +# https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-template- # # This script now only builds the base image from workspace/Dockerfile. # Each adapter repo has its own Dockerfile that installs molecule-ai-workspace-runtime