refactor(auth): delegate access control to be-system

Remove Agent Desk users, roles, login sessions, tokens, and local permission persistence. Expose the backend as an embeddable ai-agent module with host-provided subject lookup and operation authorization callbacks, and complete the frontend/backend repository split.
This commit is contained in:
t
2026-08-21 00:41:07 +08:00
parent 3d47227fbd
commit 2bbf42b741
447 changed files with 1901 additions and 8920 deletions
+8 -8
View File
@@ -8,14 +8,14 @@ import (
"github.com/mlogclub/simple/sqls"
"agent-desk/internal/ai"
"agent-desk/internal/models"
"agent-desk/internal/pkg/dto"
"agent-desk/internal/pkg/dto/request"
"agent-desk/internal/pkg/dto/response"
"agent-desk/internal/pkg/enums"
"agent-desk/internal/pkg/errorsx"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto/request"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto/response"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/errorsx"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
)
type answer struct {
+3 -3
View File
@@ -3,9 +3,9 @@ package rag
import (
"testing"
"agent-desk/internal/models"
"agent-desk/internal/pkg/dto/response"
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto/response"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
)
func TestBuildFallbackAnswer(t *testing.T) {
+1 -1
View File
@@ -1,7 +1,7 @@
package chunk
import (
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"context"
)
+1 -1
View File
@@ -1,7 +1,7 @@
package chunk
import (
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"context"
)
+1 -1
View File
@@ -1,7 +1,7 @@
package chunk
import (
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"context"
"fmt"
)
+1 -1
View File
@@ -1,7 +1,7 @@
package chunk
import (
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"context"
"strings"
+1 -1
View File
@@ -1,6 +1,6 @@
package chunk
import "agent-desk/internal/pkg/enums"
import "code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
type ChunkRequest struct {
KnowledgeBaseID int64
+1 -1
View File
@@ -1,7 +1,7 @@
package chunk
import (
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"crypto/sha256"
"encoding/hex"
"strings"
+6 -6
View File
@@ -9,12 +9,12 @@ import (
"log/slog"
"time"
"agent-desk/internal/ai"
ragchunk "agent-desk/internal/ai/rag/chunk"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
ragchunk "code.tczkiot.com/wlw/ai-agent/internal/ai/rag/chunk"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/google/uuid"
"github.com/mlogclub/simple/sqls"
+3 -3
View File
@@ -5,9 +5,9 @@ import (
"fmt"
"log/slog"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/mlogclub/simple/common/strs"
"github.com/mlogclub/simple/sqls"
+5 -5
View File
@@ -6,12 +6,12 @@ import (
"log/slog"
"time"
ragchunk "agent-desk/internal/ai/rag/chunk"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
ragchunk "code.tczkiot.com/wlw/ai-agent/internal/ai/rag/chunk"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"agent-desk/internal/ai"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
)
func (s *index) buildDocumentChunkRequest(document models.KnowledgeDocument, knowledgeBase models.KnowledgeBase) *ragchunk.ChunkRequest {
+4 -4
View File
@@ -5,10 +5,10 @@ import (
"fmt"
"time"
"agent-desk/internal/ai"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
)
func buildFAQChunkModel(knowledgeBase models.KnowledgeBase, faq models.KnowledgeFAQ, content string) (models.KnowledgeChunk, string) {
+3 -3
View File
@@ -4,9 +4,9 @@ import (
"fmt"
"strings"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/mlogclub/simple/sqls"
)
@@ -4,7 +4,7 @@ import (
"strings"
"testing"
"agent-desk/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/models"
)
func TestBuildFAQChunkContent(t *testing.T) {
+4 -4
View File
@@ -5,10 +5,10 @@ import (
"fmt"
"log/slog"
"agent-desk/internal/ai"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/mlogclub/simple/sqls"
)
+3 -3
View File
@@ -3,9 +3,9 @@ package rag
import (
"time"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/mlogclub/simple/sqls"
)
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"fmt"
"log/slog"
"agent-desk/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
)
func (s *index) ensureCollection(ctx context.Context, provider vectordb.Provider, collectionName string, dimension int) error {
+2 -2
View File
@@ -10,8 +10,8 @@ import (
"sort"
"time"
"agent-desk/internal/ai"
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
)
type rerank struct{}
+4 -4
View File
@@ -6,10 +6,10 @@ import (
"log/slog"
"strings"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/mlogclub/simple/sqls"
)
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"fmt"
"log/slog"
"agent-desk/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/models"
)
func newRetrieveTrace() *RetrieveTrace {
+3 -3
View File
@@ -5,9 +5,9 @@ import (
"fmt"
"time"
"agent-desk/internal/models"
"agent-desk/internal/pkg/dto"
"agent-desk/internal/pkg/dto/response"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto/response"
"github.com/google/uuid"
"github.com/mlogclub/simple/sqls"
+5 -5
View File
@@ -8,11 +8,11 @@ import (
"strings"
"time"
"agent-desk/internal/ai"
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/models"
"agent-desk/internal/pkg/enums"
"agent-desk/internal/repositories"
"code.tczkiot.com/wlw/ai-agent/internal/ai"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/repositories"
"github.com/mlogclub/simple/sqls"
)
+1 -1
View File
@@ -3,7 +3,7 @@ package rag
import (
"testing"
"agent-desk/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/models"
)
func TestResolveKnowledgeBaseSearchOptionsUsesKnowledgeBaseDefaults(t *testing.T) {
+1 -1
View File
@@ -1,7 +1,7 @@
package rag
import (
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"strings"
"github.com/yuin/goldmark"
+2 -2
View File
@@ -1,8 +1,8 @@
package rag
import (
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/ai/rag/vectordb"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"testing"
)
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"strconv"
"strings"
"agent-desk/internal/pkg/config"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/config"
"github.com/apache/arrow/go/v17/arrow"
"github.com/apache/arrow/go/v17/arrow/array"
+1 -1
View File
@@ -5,7 +5,7 @@ package vectordb
import (
"fmt"
"agent-desk/internal/pkg/config"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/config"
)
func NewLanceDBProvider(_ *config.LanceDBVectorDBConfig) (Provider, error) {
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"context"
"testing"
"agent-desk/internal/pkg/config"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/config"
)
func TestLanceDBProviderVectorLifecycle(t *testing.T) {
+2 -2
View File
@@ -4,8 +4,8 @@ import (
"context"
"fmt"
"agent-desk/internal/pkg/config"
"agent-desk/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/config"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
)
var defaultProvider Provider
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"agent-desk/internal/pkg/config"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/config"
)
func TestInitLanceDBWithoutBuildTagReturnsActionableError(t *testing.T) {
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"github.com/qdrant/go-client/qdrant"
"agent-desk/internal/pkg/config"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/config"
)
type QdrantProvider struct {