chore: strip remaining pre-fork version references
Second pass — removes chat-switchboard version numbers from config field docs, section headers, file headers, and test comments. These were pre-fork version tags that don't apply to switchboard-core. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -490,7 +490,7 @@ func BootstrapAdmin(cfg *config.Config, s store.Stores, uekCache ...*crypto.UEKC
|
||||
})
|
||||
// If the actual password changed, the vault seal is stale. Probe it
|
||||
// with the current password and destroy only if unwrap fails.
|
||||
// Ensure handle exists (backfill for pre-v0.24.0 users)
|
||||
// Ensure handle exists (backfill for users)
|
||||
if existing.Handle == "" {
|
||||
handle := auth.UniqueHandle(ctx, s.Users, models.HandleFromName(cfg.AdminUsername))
|
||||
s.Users.Update(ctx, existing.ID, map[string]interface{}{"handle": handle})
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"switchboard-core/models"
|
||||
)
|
||||
|
||||
// ── Extension Dependencies (v0.38.2) ──────────────────
|
||||
// ── Extension Dependencies ──────────────────
|
||||
// Admin-only read endpoints for dependency graph visibility.
|
||||
// Dependencies are created/deleted implicitly by InstallPackage/DeletePackage.
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ func hasPermission(granted []string, perm string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// ── api_schema support (v0.6.2) ─────────────────────────────────────
|
||||
// ── api_schema support ─────────────────────────────────────
|
||||
|
||||
// APISchemaEntry represents one route's OpenAPI-level documentation
|
||||
// declared via the optional manifest "api_schema" array.
|
||||
|
||||
@@ -243,7 +243,7 @@ func (h *GroupHandler) AddMember(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// Notify the added user (v0.20.0)
|
||||
// Notify the added user
|
||||
if svc := notifications.Default(); svc != nil {
|
||||
notifications.NotifyGroupMemberAdded(svc, req.UserID, groupID, group.Name)
|
||||
}
|
||||
@@ -273,7 +273,7 @@ func (h *GroupHandler) RemoveMember(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// Notify the removed user (v0.20.0)
|
||||
// Notify the removed user
|
||||
if svc := notifications.Default(); svc != nil && group != nil {
|
||||
notifications.NotifyGroupMemberRemoved(svc, userID, groupID, group.Name)
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ func setupNotifHarness(t *testing.T) *notifHarness {
|
||||
protected.PUT("/notifications/preferences/:type", notifH.SetPreference)
|
||||
protected.DELETE("/notifications/preferences/:type", notifH.DeletePreference)
|
||||
|
||||
// Admin broadcast route (v0.28.6)
|
||||
// Admin broadcast route
|
||||
admin := api.Group("/admin")
|
||||
admin.Use(middleware.Auth(cfg, stores.Users, userCache))
|
||||
admin.Use(middleware.RequireAdmin(stores))
|
||||
@@ -560,7 +560,7 @@ func TestNotifications_Unauthenticated(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// ── Admin Broadcast (v0.28.6) ────────────
|
||||
// ── Admin Broadcast ────────────
|
||||
|
||||
func TestBroadcast_Success(t *testing.T) {
|
||||
h := setupNotifHarness(t)
|
||||
|
||||
@@ -175,7 +175,7 @@ func (h *NotificationHandler) Delete(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"ok": true})
|
||||
}
|
||||
|
||||
// ── Notification Preferences (v0.20.0 Phase 3) ──
|
||||
// ── Notification Preferences ──
|
||||
|
||||
// GET /api/v1/notifications/preferences
|
||||
func (h *NotificationHandler) ListPreferences(c *gin.Context) {
|
||||
@@ -282,7 +282,7 @@ func (h *NotificationHandler) DeletePreference(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"ok": true})
|
||||
}
|
||||
|
||||
// ── Admin Broadcast (v0.28.6) ───────────────
|
||||
// ── Admin Broadcast ───────────────
|
||||
|
||||
// POST /api/v1/admin/notifications/broadcast
|
||||
// Admin-only: sends a system.announcement notification to all active users.
|
||||
|
||||
@@ -27,7 +27,7 @@ import (
|
||||
var validPackageID = regexp.MustCompile(`^[a-z0-9][a-z0-9-]{0,62}[a-z0-9]$`)
|
||||
|
||||
// PackageHandler manages unified package lifecycle (admin-only).
|
||||
// Replaces SurfaceHandler (v0.28.7).
|
||||
// Replaces SurfaceHandler.
|
||||
type PackageHandler struct {
|
||||
stores store.Stores
|
||||
packagesDir string // e.g. /data/packages — where archives are extracted
|
||||
@@ -43,12 +43,12 @@ func NewPackageHandler(s store.Stores, packagesDir ...string) *PackageHandler {
|
||||
return &PackageHandler{stores: s, packagesDir: dir}
|
||||
}
|
||||
|
||||
// SetSandbox attaches a Starlark sandbox for schema migrations (v0.30.0).
|
||||
// SetSandbox attaches a Starlark sandbox for schema migrations.
|
||||
func (h *PackageHandler) SetSandbox(sb *sandbox.Sandbox) {
|
||||
h.sandbox = sb
|
||||
}
|
||||
|
||||
// SetRunner attaches the Starlark runner for test-tool execution (v0.38.2).
|
||||
// SetRunner attaches the Starlark runner for test-tool execution.
|
||||
func (h *PackageHandler) SetRunner(r *sandbox.Runner) {
|
||||
h.runner = r
|
||||
}
|
||||
@@ -672,7 +672,7 @@ func extractableRelPath(name string) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// ── Package settings (v0.30.0 CS2) ──────────────
|
||||
// ── Package settings ──────────────
|
||||
|
||||
// GetPackageSettings returns the settings schema from the manifest merged
|
||||
// with current admin-configured values.
|
||||
@@ -806,7 +806,7 @@ func (h *PackageHandler) ListEnabledSurfaces(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"data": enabled})
|
||||
}
|
||||
|
||||
// ── Test Tool (v0.38.2) ─────────────────────────
|
||||
// ── Test Tool ─────────────────────────
|
||||
// POST /admin/packages/:id/test-tool
|
||||
// Invokes a starlark extension's on_tool_call entry point directly,
|
||||
// without going through the AI chat loop. Admin-only test harness.
|
||||
@@ -881,7 +881,7 @@ func (h *PackageHandler) TestTool(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// ── Package update (v0.5.4) ──────────────────────
|
||||
// ── Package update ──────────────────────
|
||||
|
||||
// UpdatePackage applies an in-place update to an existing package.
|
||||
// POST /api/v1/admin/packages/:id/update
|
||||
@@ -1158,7 +1158,7 @@ func mergePackageSettings(existing *store.PackageRegistration, manifest map[stri
|
||||
return data
|
||||
}
|
||||
|
||||
// ── Package export (v0.5.4) ──────────────────────
|
||||
// ── Package export ──────────────────────
|
||||
|
||||
// ExportPackage exports an installed package as a downloadable .pkg archive.
|
||||
// GET /api/v1/admin/packages/:id/export
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package handlers
|
||||
|
||||
// presence.go — Heartbeat upsert and status query (v0.23.1)
|
||||
// presence.go — Heartbeat upsert and status query
|
||||
//
|
||||
// Clients POST /api/v1/presence/heartbeat every 30s while active.
|
||||
// GET /api/v1/presence?users=id1,id2 returns current status.
|
||||
|
||||
@@ -51,7 +51,7 @@ func (s *jsonScanner) Scan(src interface{}) error {
|
||||
// memory on the next rows.Scan() call, corrupting our data after the
|
||||
// fact. This caused intermittent SafeJSON 500s on paginated list
|
||||
// endpoints where row N's Settings pointed to row N+1's overwritten
|
||||
// buffer. Fixed in v0.21.7.
|
||||
// buffer. Fixed.
|
||||
cp := make([]byte, len(v))
|
||||
copy(cp, v)
|
||||
*s.dest = json.RawMessage(cp)
|
||||
|
||||
@@ -185,7 +185,7 @@ func TestSafeJSON_PaginatedWithCorrupt(t *testing.T) {
|
||||
}
|
||||
|
||||
// ── Driver buffer aliasing tests ────────────
|
||||
// These verify the fix for the v0.21.7 corruption bug: scanJSON must
|
||||
// These verify the fix for the buffer-aliasing corruption bug: scanJSON must
|
||||
// copy []byte from the database driver, not alias it. Without the copy,
|
||||
// rows.Next() can overwrite the buffer and corrupt previously-scanned
|
||||
// json.RawMessage values in a paginated list.
|
||||
|
||||
@@ -419,7 +419,7 @@ func (h *TeamHandler) ListTeamAuditActions(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"actions": actions})
|
||||
}
|
||||
|
||||
// ── Team Roles API (v0.3.4) ─────────────────
|
||||
// ── Team Roles API ─────────────────
|
||||
|
||||
// builtinRoles are always present in every team's role list.
|
||||
var builtinRoles = []string{"admin", "member"}
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"switchboard-core/workflow"
|
||||
)
|
||||
|
||||
// ── Public Workflow Handlers (v0.3.3) ───────
|
||||
// ── Public Workflow Handlers ───────
|
||||
|
||||
// WorkflowPublicHandler manages unauthenticated workflow entry endpoints.
|
||||
type WorkflowPublicHandler struct {
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"switchboard-core/workflow"
|
||||
)
|
||||
|
||||
// ── Signoff Handlers (v0.3.4) ─────────────────
|
||||
// ── Signoff Handlers ─────────────────
|
||||
|
||||
// WorkflowSignoffHandler manages signoff HTTP endpoints.
|
||||
type WorkflowSignoffHandler struct {
|
||||
|
||||
@@ -603,7 +603,7 @@ func TestWorkflowAssignment_Cancel(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// ── v0.3.3 Store Tests ──────────────────────
|
||||
// ── Instance Lifecycle Store Tests ──────────────────────
|
||||
|
||||
func TestWorkflowInstance_MarkStale(t *testing.T) {
|
||||
database.RequireTestDB(t)
|
||||
@@ -779,7 +779,7 @@ func TestWorkflowAssignment_ListByTeam(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// ── Signoff store tests (v0.3.4) ──────────────
|
||||
// ── Signoff store tests ──────────────
|
||||
|
||||
func TestWorkflowSignoff_CreateAndList(t *testing.T) {
|
||||
database.RequireTestDB(t)
|
||||
@@ -862,7 +862,7 @@ func TestWorkflowSignoff_ListEmpty(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// ── Clone tests (v0.3.5) ──────────────────
|
||||
// ── Clone tests ──────────────────
|
||||
|
||||
func TestWorkflow_Clone(t *testing.T) {
|
||||
database.RequireTestDB(t)
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"switchboard-core/models"
|
||||
)
|
||||
|
||||
// ── Team-Scoped Workflow Wrappers (v0.31.2) ────────────────
|
||||
// ── Team-Scoped Workflow Wrappers ────────────────
|
||||
//
|
||||
// Thin wrappers that enforce team ownership before delegating
|
||||
// to the existing WorkflowHandler methods. Follows the same
|
||||
|
||||
Reference in New Issue
Block a user