Compare commits

..

10 Commits

Author SHA1 Message Date
allanice001
1dbdd04808 Merge remote-tracking branch 'origin/main' 2025-12-08 16:19:03 +00:00
allanice001
45b55015ac fix: ensure jobs are running
Signed-off-by: allanice001 <allanice001@gmail.com>
2025-12-08 16:18:54 +00:00
public-glueops-renovatebot[bot]
6b191089a5 chore: lock file maintenance (#418)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-08 14:42:04 +00:00
public-glueops-renovatebot[bot]
d2e6ff9812 feat: update lucide-react to 0.556.0 #minor (#408)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-08 13:46:35 +00:00
public-glueops-renovatebot[bot]
98a6cf7e51 feat: update golang.org/x/oauth2 to v0.34.0 #minor (#417)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-08 12:31:38 +00:00
public-glueops-renovatebot[bot]
fb4af74e3c chore: lock file maintenance (#414)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-07 14:38:05 +00:00
public-glueops-renovatebot[bot]
1021e06655 chore: lock file maintenance (#413)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-06 18:42:45 +00:00
public-glueops-renovatebot[bot]
c6be7bf8eb chore: lock file maintenance (#411)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-06 14:37:41 +00:00
public-glueops-renovatebot[bot]
1429c40b2b chore: lock file maintenance (#410)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-05 16:43:39 +00:00
public-glueops-renovatebot[bot]
73c4904a42 chore: lock file maintenance (#409)
Co-authored-by: public-glueops-renovatebot[bot] <186083205+public-glueops-renovatebot[bot]@users.noreply.github.com>
2025-12-05 13:54:39 +00:00
10 changed files with 1102 additions and 280 deletions

View File

@@ -115,6 +115,47 @@ var serveCmd = &cobra.Command{
if err != nil { if err != nil {
log.Printf("failed to enqueue bootstrap_bastion: %v", err) log.Printf("failed to enqueue bootstrap_bastion: %v", err)
} }
_, err = jobs.Enqueue(
context.Background(),
uuid.NewString(),
"prepare_cluster",
bg.ClusterPrepareArgs{IntervalS: 120},
archer.WithMaxRetries(3),
archer.WithScheduleTime(time.Now().Add(60*time.Second)),
)
if err != nil {
log.Printf("failed to enqueue prepare_cluster: %v", err)
}
_, err = jobs.Enqueue(
context.Background(),
uuid.NewString(),
"cluster_setup",
bg.ClusterSetupArgs{
IntervalS: 120,
},
archer.WithMaxRetries(3),
archer.WithScheduleTime(time.Now().Add(60*time.Second)),
)
if err != nil {
log.Printf("failed to enqueue cluster setup: %v", err)
}
_, err = jobs.Enqueue(
context.Background(),
uuid.NewString(),
"cluster_bootstrap",
bg.ClusterBootstrapArgs{
IntervalS: 120,
},
archer.WithMaxRetries(3),
archer.WithScheduleTime(time.Now().Add(60*time.Second)),
)
if err != nil {
log.Printf("failed to enqueue cluster bootstrap: %v", err)
}
} }
_ = auth.Refresh(rt.DB, rt.Cfg.JWTPrivateEncKey) _ = auth.Refresh(rt.DB, rt.Cfg.JWTPrivateEncKey)

2
go.mod
View File

@@ -26,7 +26,7 @@ require (
github.com/spf13/viper v1.21.0 github.com/spf13/viper v1.21.0
github.com/swaggo/swag/v2 v2.0.0-rc4 github.com/swaggo/swag/v2 v2.0.0-rc4
golang.org/x/crypto v0.45.0 golang.org/x/crypto v0.45.0
golang.org/x/oauth2 v0.33.0 golang.org/x/oauth2 v0.34.0
gopkg.in/yaml.v3 v3.0.1 gopkg.in/yaml.v3 v3.0.1
gorm.io/datatypes v1.2.7 gorm.io/datatypes v1.2.7
gorm.io/driver/postgres v1.6.0 gorm.io/driver/postgres v1.6.0

2
go.sum
View File

@@ -306,6 +306,8 @@ golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=

View File

@@ -107,6 +107,28 @@ func NewJobs(gdb *gorm.DB, dbUrl string) (*Jobs, error) {
archer.WithInstances(1), archer.WithInstances(1),
archer.WithTimeout(2*time.Minute), archer.WithTimeout(2*time.Minute),
) )
c.Register(
"prepare_cluster",
ClusterPrepareWorker(gdb, jobs),
archer.WithInstances(1),
archer.WithTimeout(2*time.Minute),
)
c.Register(
"cluster_setup",
ClusterSetupWorker(gdb, jobs),
archer.WithInstances(1),
archer.WithTimeout(2*time.Minute),
)
c.Register(
"cluster_bootstrap",
ClusterBootstrapWorker(gdb, jobs),
archer.WithInstances(1),
archer.WithTimeout(60*time.Minute),
)
return jobs, nil return jobs, nil
} }

View File

@@ -0,0 +1,121 @@
package bg
import (
"context"
"fmt"
"time"
"github.com/dyaksa/archer"
"github.com/dyaksa/archer/job"
"github.com/glueops/autoglue/internal/models"
"github.com/google/uuid"
"github.com/rs/zerolog/log"
"gorm.io/gorm"
)
type ClusterBootstrapArgs struct {
IntervalS int `json:"interval_seconds,omitempty"`
}
type ClusterBootstrapResult struct {
Status string `json:"status"`
Processed int `json:"processed"`
Ready int `json:"ready"`
Failed int `json:"failed"`
ElapsedMs int `json:"elapsed_ms"`
FailedIDs []uuid.UUID `json:"failed_cluster_ids"`
}
func ClusterBootstrapWorker(db *gorm.DB, jobs *Jobs) archer.WorkerFn {
return func(ctx context.Context, j job.Job) (any, error) {
args := ClusterBootstrapArgs{IntervalS: 120}
jobID := j.ID
start := time.Now()
_ = j.ParseArguments(&args)
if args.IntervalS <= 0 {
args.IntervalS = 120
}
var clusters []models.Cluster
if err := db.
Preload("BastionServer.SshKey").
Where("status = ?", clusterStatusProvisioning).
Find(&clusters).Error; err != nil {
log.Error().Err(err).Msg("[cluster_bootstrap] query clusters failed")
return nil, err
}
proc, ready, failCount := 0, 0, 0
var failedIDs []uuid.UUID
perClusterTimeout := 60 * time.Minute
for i := range clusters {
c := &clusters[i]
proc++
if c.BastionServer.ID == uuid.Nil || c.BastionServer.Status != "ready" {
continue
}
logger := log.With().
Str("job", jobID).
Str("cluster_id", c.ID.String()).
Str("cluster_name", c.Name).
Logger()
logger.Info().Msg("[cluster_bootstrap] running make bootstrap")
runCtx, cancel := context.WithTimeout(ctx, perClusterTimeout)
out, err := runMakeOnBastion(runCtx, db, c, "bootstrap")
cancel()
if err != nil {
failCount++
failedIDs = append(failedIDs, c.ID)
logger.Error().Err(err).Str("output", out).Msg("[cluster_bootstrap] make bootstrap failed")
_ = setClusterStatus(db, c.ID, clusterStatusFailed, fmt.Sprintf("make bootstrap: %v", err))
continue
}
// you can choose a different terminal status here if you like
if err := setClusterStatus(db, c.ID, clusterStatusReady, ""); err != nil {
failCount++
failedIDs = append(failedIDs, c.ID)
logger.Error().Err(err).Msg("[cluster_bootstrap] failed to mark cluster ready")
continue
}
ready++
logger.Info().Msg("[cluster_bootstrap] cluster marked ready")
}
res := ClusterBootstrapResult{
Status: "ok",
Processed: proc,
Ready: ready,
Failed: failCount,
ElapsedMs: int(time.Since(start).Milliseconds()),
FailedIDs: failedIDs,
}
log.Info().
Int("processed", proc).
Int("ready", ready).
Int("failed", failCount).
Msg("[cluster_bootstrap] reconcile tick ok")
// self-reschedule
next := time.Now().Add(time.Duration(args.IntervalS) * time.Second)
_, _ = jobs.Enqueue(
ctx,
uuid.NewString(),
"cluster_bootstrap",
args,
archer.WithScheduleTime(next),
archer.WithMaxRetries(1),
)
return res, nil
}
}

View File

@@ -0,0 +1,120 @@
package bg
import (
"context"
"fmt"
"time"
"github.com/dyaksa/archer"
"github.com/dyaksa/archer/job"
"github.com/glueops/autoglue/internal/models"
"github.com/google/uuid"
"github.com/rs/zerolog/log"
"gorm.io/gorm"
)
type ClusterSetupArgs struct {
IntervalS int `json:"interval_seconds,omitempty"`
}
type ClusterSetupResult struct {
Status string `json:"status"`
Processed int `json:"processed"`
Provisioning int `json:"provisioning"`
Failed int `json:"failed"`
ElapsedMs int `json:"elapsed_ms"`
FailedCluster []uuid.UUID `json:"failed_cluster_ids"`
}
func ClusterSetupWorker(db *gorm.DB, jobs *Jobs) archer.WorkerFn {
return func(ctx context.Context, j job.Job) (any, error) {
args := ClusterSetupArgs{IntervalS: 120}
jobID := j.ID
start := time.Now()
_ = j.ParseArguments(&args)
if args.IntervalS <= 0 {
args.IntervalS = 120
}
var clusters []models.Cluster
if err := db.
Preload("BastionServer.SshKey").
Where("status = ?", clusterStatusPending).
Find(&clusters).Error; err != nil {
log.Error().Err(err).Msg("[cluster_setup] query clusters failed")
return nil, err
}
proc, prov, failCount := 0, 0, 0
var failedIDs []uuid.UUID
perClusterTimeout := 30 * time.Minute
for i := range clusters {
c := &clusters[i]
proc++
if c.BastionServer.ID == uuid.Nil || c.BastionServer.Status != "ready" {
continue
}
logger := log.With().
Str("job", jobID).
Str("cluster_id", c.ID.String()).
Str("cluster_name", c.Name).
Logger()
logger.Info().Msg("[cluster_setup] running make setup")
runCtx, cancel := context.WithTimeout(ctx, perClusterTimeout)
out, err := runMakeOnBastion(runCtx, db, c, "setup")
cancel()
if err != nil {
failCount++
failedIDs = append(failedIDs, c.ID)
logger.Error().Err(err).Str("output", out).Msg("[cluster_setup] make setup failed")
_ = setClusterStatus(db, c.ID, clusterStatusFailed, fmt.Sprintf("make setup: %v", err))
continue
}
if err := setClusterStatus(db, c.ID, clusterStatusProvisioning, ""); err != nil {
failCount++
failedIDs = append(failedIDs, c.ID)
logger.Error().Err(err).Msg("[cluster_setup] failed to mark cluster provisioning")
continue
}
prov++
logger.Info().Msg("[cluster_setup] cluster moved to provisioning")
}
res := ClusterSetupResult{
Status: "ok",
Processed: proc,
Provisioning: prov,
Failed: failCount,
ElapsedMs: int(time.Since(start).Milliseconds()),
FailedCluster: failedIDs,
}
log.Info().
Int("processed", proc).
Int("provisioning", prov).
Int("failed", failCount).
Msg("[cluster_setup] reconcile tick ok")
// self-reschedule
next := time.Now().Add(time.Duration(args.IntervalS) * time.Second)
_, _ = jobs.Enqueue(
ctx,
uuid.NewString(),
"cluster_setup",
args,
archer.WithScheduleTime(next),
archer.WithMaxRetries(1),
)
return res, nil
}
}

View File

@@ -0,0 +1,510 @@
package bg
import (
"bytes"
"context"
"encoding/base64"
"encoding/json"
"fmt"
"net"
"strings"
"time"
"github.com/dyaksa/archer"
"github.com/dyaksa/archer/job"
"github.com/glueops/autoglue/internal/models"
"github.com/glueops/autoglue/internal/utils"
"github.com/google/uuid"
"github.com/rs/zerolog/log"
"golang.org/x/crypto/ssh"
"gorm.io/gorm"
)
type ClusterPrepareArgs struct {
IntervalS int `json:"interval_seconds,omitempty"`
}
type ClusterPrepareFailure struct {
ClusterID uuid.UUID `json:"cluster_id"`
Step string `json:"step"`
Reason string `json:"reason"`
}
type ClusterPrepareResult struct {
Status string `json:"status"`
Processed int `json:"processed"`
MarkedPending int `json:"marked_pending"`
Failed int `json:"failed"`
ElapsedMs int `json:"elapsed_ms"`
FailedIDs []uuid.UUID `json:"failed_cluster_ids"`
Failures []ClusterPrepareFailure `json:"failures"`
}
// Alias the status constants from models to avoid string drift.
const (
clusterStatusPrePending = models.ClusterStatusPrePending
clusterStatusPending = models.ClusterStatusPending
clusterStatusProvisioning = models.ClusterStatusProvisioning
clusterStatusReady = models.ClusterStatusReady
clusterStatusFailed = models.ClusterStatusFailed
)
func ClusterPrepareWorker(db *gorm.DB, jobs *Jobs) archer.WorkerFn {
return func(ctx context.Context, j job.Job) (any, error) {
args := ClusterPrepareArgs{IntervalS: 120}
jobID := j.ID
start := time.Now()
_ = j.ParseArguments(&args)
if args.IntervalS <= 0 {
args.IntervalS = 120
}
// Load all clusters that are pre_pending; well filter for bastion.ready in memory.
var clusters []models.Cluster
if err := db.
Preload("BastionServer.SshKey").
Preload("CaptainDomain").
Preload("ControlPlaneRecordSet").
Preload("NodePools.Servers.SshKey").
Where("status = ?", clusterStatusPrePending).
Find(&clusters).Error; err != nil {
log.Error().Err(err).Msg("[cluster_prepare] query clusters failed")
return nil, err
}
proc, ok, fail := 0, 0, 0
var failedIDs []uuid.UUID
var failures []ClusterPrepareFailure
perClusterTimeout := 8 * time.Minute
for i := range clusters {
c := &clusters[i]
proc++
// bastion must exist and be ready
if c.BastionServer == nil || c.BastionServerID == nil || *c.BastionServerID == uuid.Nil || c.BastionServer.Status != "ready" {
continue
}
clusterLog := log.With().
Str("job", jobID).
Str("cluster_id", c.ID.String()).
Str("cluster_name", c.Name).
Logger()
clusterLog.Info().Msg("[cluster_prepare] starting")
if err := validateClusterForPrepare(c); err != nil {
fail++
failedIDs = append(failedIDs, c.ID)
failures = append(failures, ClusterPrepareFailure{
ClusterID: c.ID,
Step: "validate",
Reason: err.Error(),
})
clusterLog.Error().Err(err).Msg("[cluster_prepare] validation failed")
_ = setClusterStatus(db, c.ID, clusterStatusFailed, err.Error())
continue
}
allServers := flattenClusterServers(c)
keyPayloads, sshConfig, err := buildSSHAssetsForCluster(db, c, allServers)
if err != nil {
fail++
failedIDs = append(failedIDs, c.ID)
failures = append(failures, ClusterPrepareFailure{
ClusterID: c.ID,
Step: "build_ssh_assets",
Reason: err.Error(),
})
clusterLog.Error().Err(err).Msg("[cluster_prepare] build ssh assets failed")
_ = setClusterStatus(db, c.ID, clusterStatusFailed, err.Error())
continue
}
payloadJSON, err := json.MarshalIndent(c, "", " ")
if err != nil {
fail++
failedIDs = append(failedIDs, c.ID)
failures = append(failures, ClusterPrepareFailure{
ClusterID: c.ID,
Step: "marshal_payload",
Reason: err.Error(),
})
clusterLog.Error().Err(err).Msg("[cluster_prepare] json marshal failed")
_ = setClusterStatus(db, c.ID, clusterStatusFailed, err.Error())
continue
}
runCtx, cancel := context.WithTimeout(ctx, perClusterTimeout)
err = pushAssetsToBastion(runCtx, db, c, sshConfig, keyPayloads, payloadJSON)
cancel()
if err != nil {
fail++
failedIDs = append(failedIDs, c.ID)
failures = append(failures, ClusterPrepareFailure{
ClusterID: c.ID,
Step: "ssh_push",
Reason: err.Error(),
})
clusterLog.Error().Err(err).Msg("[cluster_prepare] failed to push assets to bastion")
_ = setClusterStatus(db, c.ID, clusterStatusFailed, err.Error())
continue
}
if err := setClusterStatus(db, c.ID, clusterStatusPending, ""); err != nil {
fail++
failedIDs = append(failedIDs, c.ID)
failures = append(failures, ClusterPrepareFailure{
ClusterID: c.ID,
Step: "set_pending",
Reason: err.Error(),
})
clusterLog.Error().Err(err).Msg("[cluster_prepare] failed to mark cluster pending")
continue
}
ok++
clusterLog.Info().Msg("[cluster_prepare] cluster marked pending")
}
res := ClusterPrepareResult{
Status: "ok",
Processed: proc,
MarkedPending: ok,
Failed: fail,
ElapsedMs: int(time.Since(start).Milliseconds()),
FailedIDs: failedIDs,
Failures: failures,
}
log.Info().
Int("processed", proc).
Int("pending", ok).
Int("failed", fail).
Msg("[cluster_prepare] reconcile tick ok")
next := time.Now().Add(time.Duration(args.IntervalS) * time.Second)
_, _ = jobs.Enqueue(
ctx,
uuid.NewString(),
"prepare_cluster",
args,
archer.WithScheduleTime(next),
archer.WithMaxRetries(1),
)
return res, nil
}
}
// ---------- helpers ----------
func validateClusterForPrepare(c *models.Cluster) error {
if c.BastionServer == nil || c.BastionServerID == nil || *c.BastionServerID == uuid.Nil {
return fmt.Errorf("missing bastion server")
}
if c.BastionServer.Status != "ready" {
return fmt.Errorf("bastion server not ready (status=%s)", c.BastionServer.Status)
}
// CaptainDomain is a value type; presence is via *ID
if c.CaptainDomainID == nil || *c.CaptainDomainID == uuid.Nil {
return fmt.Errorf("missing captain domain for cluster")
}
// ControlPlaneRecordSet is a pointer; presence is via *ID + non-nil struct
if c.ControlPlaneRecordSetID == nil || *c.ControlPlaneRecordSetID == uuid.Nil || c.ControlPlaneRecordSet == nil {
return fmt.Errorf("missing control_plane_record_set for cluster")
}
if len(c.NodePools) == 0 {
return fmt.Errorf("cluster has no node pools")
}
hasServer := false
for i := range c.NodePools {
if len(c.NodePools[i].Servers) > 0 {
hasServer = true
break
}
}
if !hasServer {
return fmt.Errorf("cluster has no servers attached to node pools")
}
return nil
}
func flattenClusterServers(c *models.Cluster) []*models.Server {
var out []*models.Server
for i := range c.NodePools {
for j := range c.NodePools[i].Servers {
s := &c.NodePools[i].Servers[j]
out = append(out, s)
}
}
return out
}
type keyPayload struct {
FileName string
PrivateKeyB64 string
}
// build ssh-config for all servers + decrypt keys.
// ssh-config is intended to live on the bastion and connect via *private* IPs.
func buildSSHAssetsForCluster(db *gorm.DB, c *models.Cluster, servers []*models.Server) (map[uuid.UUID]keyPayload, string, error) {
var sb strings.Builder
keys := make(map[uuid.UUID]keyPayload)
for _, s := range servers {
// Defensive checks
if strings.TrimSpace(s.PrivateIPAddress) == "" {
return nil, "", fmt.Errorf("server %s missing private ip", s.ID)
}
if s.SshKeyID == uuid.Nil {
return nil, "", fmt.Errorf("server %s missing ssh key relation", s.ID)
}
// de-dupe keys: many servers may share the same ssh key
if _, ok := keys[s.SshKeyID]; !ok {
priv, err := utils.DecryptForOrg(
s.OrganizationID,
s.SshKey.EncryptedPrivateKey,
s.SshKey.PrivateIV,
s.SshKey.PrivateTag,
db,
)
if err != nil {
return nil, "", fmt.Errorf("decrypt key for server %s: %w", s.ID, err)
}
fname := fmt.Sprintf("%s.pem", s.SshKeyID.String())
keys[s.SshKeyID] = keyPayload{
FileName: fname,
PrivateKeyB64: base64.StdEncoding.EncodeToString([]byte(priv)),
}
}
// ssh config entry per server
keyFile := keys[s.SshKeyID].FileName
hostAlias := s.Hostname
if hostAlias == "" {
hostAlias = s.ID.String()
}
sb.WriteString(fmt.Sprintf("Host %s\n", hostAlias))
sb.WriteString(fmt.Sprintf(" HostName %s\n", s.PrivateIPAddress))
sb.WriteString(fmt.Sprintf(" User %s\n", s.SSHUser))
sb.WriteString(fmt.Sprintf(" IdentityFile ~/.ssh/autoglue/keys/%s\n", keyFile))
sb.WriteString(" IdentitiesOnly yes\n")
sb.WriteString(" StrictHostKeyChecking accept-new\n\n")
}
return keys, sb.String(), nil
}
func pushAssetsToBastion(
ctx context.Context,
db *gorm.DB,
c *models.Cluster,
sshConfig string,
keyPayloads map[uuid.UUID]keyPayload,
payloadJSON []byte,
) error {
bastion := c.BastionServer
if bastion == nil {
return fmt.Errorf("bastion server is nil")
}
if bastion.PublicIPAddress == nil || strings.TrimSpace(*bastion.PublicIPAddress) == "" {
return fmt.Errorf("bastion server missing public ip")
}
privKey, err := utils.DecryptForOrg(
bastion.OrganizationID,
bastion.SshKey.EncryptedPrivateKey,
bastion.SshKey.PrivateIV,
bastion.SshKey.PrivateTag,
db,
)
if err != nil {
return fmt.Errorf("decrypt bastion key: %w", err)
}
signer, err := ssh.ParsePrivateKey([]byte(privKey))
if err != nil {
return fmt.Errorf("parse bastion private key: %w", err)
}
hkcb := makeDBHostKeyCallback(db, bastion)
config := &ssh.ClientConfig{
User: bastion.SSHUser,
Auth: []ssh.AuthMethod{ssh.PublicKeys(signer)},
HostKeyCallback: hkcb,
Timeout: 30 * time.Second,
}
host := net.JoinHostPort(*bastion.PublicIPAddress, "22")
dialer := &net.Dialer{}
conn, err := dialer.DialContext(ctx, "tcp", host)
if err != nil {
return fmt.Errorf("dial bastion: %w", err)
}
defer conn.Close()
cconn, chans, reqs, err := ssh.NewClientConn(conn, host, config)
if err != nil {
return fmt.Errorf("ssh handshake bastion: %w", err)
}
client := ssh.NewClient(cconn, chans, reqs)
defer client.Close()
sess, err := client.NewSession()
if err != nil {
return fmt.Errorf("ssh session: %w", err)
}
defer sess.Close()
// build one shot script to:
// - mkdir ~/.ssh/autoglue/keys
// - write cluster-specific ssh-config
// - write all private keys
// - write payload.json
clusterDir := fmt.Sprintf("$HOME/autoglue/clusters/%s", c.ID.String())
configPath := fmt.Sprintf("$HOME/.ssh/autoglue/cluster-%s.config", c.ID.String())
var script bytes.Buffer
script.WriteString("set -euo pipefail\n")
script.WriteString("mkdir -p \"$HOME/.ssh/autoglue/keys\"\n")
script.WriteString("mkdir -p " + clusterDir + "\n")
script.WriteString("chmod 700 \"$HOME/.ssh\" || true\n")
// ssh-config
script.WriteString("cat > " + configPath + " <<'EOF_CFG'\n")
script.WriteString(sshConfig)
script.WriteString("EOF_CFG\n")
script.WriteString("chmod 600 " + configPath + "\n")
// keys
for id, kp := range keyPayloads {
tag := "KEY_" + id.String()
target := fmt.Sprintf("$HOME/.ssh/autoglue/keys/%s", kp.FileName)
script.WriteString("cat <<'" + tag + "' | base64 -d > " + target + "\n")
script.WriteString(kp.PrivateKeyB64 + "\n")
script.WriteString(tag + "\n")
script.WriteString("chmod 600 " + target + "\n")
}
// payload.json
payloadPath := clusterDir + "/payload.json"
script.WriteString("cat > " + payloadPath + " <<'EOF_PAYLOAD'\n")
script.Write(payloadJSON)
script.WriteString("\nEOF_PAYLOAD\n")
script.WriteString("chmod 600 " + payloadPath + "\n")
// If you later want to always include cluster configs automatically, you can
// optionally manage ~/.ssh/config here (kept simple for now).
sess.Stdin = strings.NewReader(script.String())
out, runErr := sess.CombinedOutput("bash -s")
if runErr != nil {
return wrapSSHError(runErr, string(out))
}
return nil
}
func setClusterStatus(db *gorm.DB, id uuid.UUID, status, lastError string) error {
updates := map[string]any{
"status": status,
"updated_at": time.Now(),
}
if lastError != "" {
updates["last_error"] = lastError
}
return db.Model(&models.Cluster{}).
Where("id = ?", id).
Updates(updates).Error
}
// runMakeOnBastion runs `make <target>` from the cluster's directory on the bastion.
func runMakeOnBastion(
ctx context.Context,
db *gorm.DB,
c *models.Cluster,
target string,
) (string, error) {
bastion := c.BastionServer
if bastion == nil {
return "", fmt.Errorf("bastion server is nil")
}
if bastion.PublicIPAddress == nil || strings.TrimSpace(*bastion.PublicIPAddress) == "" {
return "", fmt.Errorf("bastion server missing public ip")
}
privKey, err := utils.DecryptForOrg(
bastion.OrganizationID,
bastion.SshKey.EncryptedPrivateKey,
bastion.SshKey.PrivateIV,
bastion.SshKey.PrivateTag,
db,
)
if err != nil {
return "", fmt.Errorf("decrypt bastion key: %w", err)
}
signer, err := ssh.ParsePrivateKey([]byte(privKey))
if err != nil {
return "", fmt.Errorf("parse bastion private key: %w", err)
}
hkcb := makeDBHostKeyCallback(db, bastion)
config := &ssh.ClientConfig{
User: bastion.SSHUser,
Auth: []ssh.AuthMethod{ssh.PublicKeys(signer)},
HostKeyCallback: hkcb,
Timeout: 30 * time.Second,
}
host := net.JoinHostPort(*bastion.PublicIPAddress, "22")
dialer := &net.Dialer{}
conn, err := dialer.DialContext(ctx, "tcp", host)
if err != nil {
return "", fmt.Errorf("dial bastion: %w", err)
}
defer conn.Close()
cconn, chans, reqs, err := ssh.NewClientConn(conn, host, config)
if err != nil {
return "", fmt.Errorf("ssh handshake bastion: %w", err)
}
client := ssh.NewClient(cconn, chans, reqs)
defer client.Close()
sess, err := client.NewSession()
if err != nil {
return "", fmt.Errorf("ssh session: %w", err)
}
defer sess.Close()
clusterDir := fmt.Sprintf("$HOME/autoglue/clusters/%s", c.ID.String())
cmd := fmt.Sprintf("cd %s && make %s", clusterDir, target)
out, runErr := sess.CombinedOutput(cmd)
if runErr != nil {
return string(out), wrapSSHError(runErr, string(out))
}
return string(out), nil
}

View File

@@ -46,7 +46,7 @@
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"embla-carousel-react": "^8.6.0", "embla-carousel-react": "^8.6.0",
"input-otp": "^1.4.2", "input-otp": "^1.4.2",
"lucide-react": "^0.555.0", "lucide-react": "^0.556.0",
"motion": "^12.23.25", "motion": "^12.23.25",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"rapidoc": "^9.3.8", "rapidoc": "^9.3.8",

View File

@@ -1,27 +1,33 @@
import { useMemo, useState } from "react"; import { useMemo, useState } from "react"
import { credentialsApi } from "@/api/credentials"; import { credentialsApi } from "@/api/credentials"
import { zodResolver } from "@hookform/resolvers/zod"; import { zodResolver } from "@hookform/resolvers/zod"
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"
import { AlertTriangle, Eye, Loader2, MoreHorizontal, Pencil, Plus, Search, Trash2 } from "lucide-react"; import { AlertTriangle, Eye, Loader2, MoreHorizontal, Pencil, Plus, Search, Trash2 } from "lucide-react"
import { Controller, useForm } from "react-hook-form"; import { Controller, useForm } from "react-hook-form"
import { toast } from "sonner"; import { toast } from "sonner"
import { z } from "zod"; import { z } from "zod"
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from "@/components/ui/alert-dialog";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu";
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
import { Switch } from "@/components/ui/switch";
import { Textarea } from "@/components/ui/textarea";
import {
AlertDialog,
AlertDialogAction,
AlertDialogCancel,
AlertDialogContent,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogHeader,
AlertDialogTitle,
AlertDialogTrigger
} from "@/components/ui/alert-dialog"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"
import { Input } from "@/components/ui/input"
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
import { Switch } from "@/components/ui/switch"
import { Textarea } from "@/components/ui/textarea"
// -------------------- Constants -------------------- // -------------------- Constants --------------------
@@ -954,7 +960,7 @@ export const CredentialPage = () => {
<code className="bg-muted rounded px-1">{row.id.slice(0, 8)}</code> <code className="bg-muted rounded px-1">{row.id.slice(0, 8)}</code>
</div> </div>
</td> </td>
<td className="px-4 py-2">{row.provider}</td> <td className="px-4 py-2">{row.credential_provider}</td>
<td className="px-4 py-2">{row.kind}</td> <td className="px-4 py-2">{row.kind}</td>
<td className="px-4 py-2"> <td className="px-4 py-2">
<Badge variant="secondary">{row.scope_kind}</Badge> <Badge variant="secondary">{row.scope_kind}</Badge>

View File

@@ -1527,26 +1527,26 @@
resolved "https://registry.yarnpkg.com/@standard-schema/utils/-/utils-0.3.0.tgz#3d5e608f16c2390c10528e98e59aef6bf73cae7b" resolved "https://registry.yarnpkg.com/@standard-schema/utils/-/utils-0.3.0.tgz#3d5e608f16c2390c10528e98e59aef6bf73cae7b"
integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g== integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==
"@swagger-api/apidom-ast@^1.0.0": "@swagger-api/apidom-ast@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ast/-/apidom-ast-1.0.0.tgz#3e9f99dd04a2dd4539ae8b2a28a1e6f39f964e26" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ast/-/apidom-ast-1.0.1.tgz#60369b17a358add6121a599d92f2e8cfd969f743"
integrity sha512-Yy57roPVh5I+wz509OX++TY2iR05oUszJI9JSNvY8bHplURnnag6YjKjbklvEVo07ZNl9SfTZ7ZLer+56O/4gg== integrity sha512-inTGo5b49XkHs/Vq48VafXnCzZrwwE+KTNcdfMybdm3RQTbfVFbvSUrS54WoHoaSbef1GsB9rnS/oXoXfNr72g==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
unraw "^3.0.0" unraw "^3.0.0"
"@swagger-api/apidom-core@^1.0.0", "@swagger-api/apidom-core@^1.0.0-rc.1": "@swagger-api/apidom-core@^1.0.0-rc.1", "@swagger-api/apidom-core@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-core/-/apidom-core-1.0.0.tgz#7e8559027236b15d13e968e744c3ffa593c2525e" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-core/-/apidom-core-1.0.1.tgz#bd0a72a15d08ed5264450f0a3fd4062843de2b9f"
integrity sha512-xIVB1g+P5XBJS4OUSlNwtw/8KeeRHjnUQWxXLtT7B4pt22QwhprRJe0CymwxzvubDuIFxo5kgC3CgVvMhwI1sw== integrity sha512-biA53spAUphP2IMJSPdqcRFjvLbvLspv1mJQrZpePUq4XGxGOKOHof7dUc1bXJuYvl6OOxOwnVniv5oK2Wyblw==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-ast" "^1.0.0" "@swagger-api/apidom-ast" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
minim "~0.23.8" minim "~0.23.8"
ramda "~0.30.0" ramda "~0.30.0"
@@ -1554,302 +1554,302 @@
short-unique-id "^5.3.2" short-unique-id "^5.3.2"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-error@^1.0.0", "@swagger-api/apidom-error@^1.0.0-rc.1": "@swagger-api/apidom-error@^1.0.0-rc.1", "@swagger-api/apidom-error@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-error/-/apidom-error-1.0.0.tgz#c39e59919f9b903fe70f45b37423e509e0cdf4d4" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-error/-/apidom-error-1.0.1.tgz#65b4a07f8765f097f9de7e9c85ffc25a009df577"
integrity sha512-L8fmgQYQfuPCPNlF6KvVXrMuWYh4uxsz955gircsPnV5V2oEaaNVRrQQMHCebvSOAp3OaM8jiiR1FVdzSxkoKg== integrity sha512-uwduVNLg9a2qA+Pl4b8gPERH6Xhvm/Ilv4iKMUOpUicLwNmYjrlcRsyYxLvFiNlTghm70xuI3hap1iaXbrer4A==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.20.7" "@babel/runtime-corejs3" "^7.20.7"
"@swagger-api/apidom-json-pointer@^1.0.0", "@swagger-api/apidom-json-pointer@^1.0.0-rc.0", "@swagger-api/apidom-json-pointer@^1.0.0-rc.1": "@swagger-api/apidom-json-pointer@^1.0.0-rc.1", "@swagger-api/apidom-json-pointer@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-1.0.0.tgz#51d46f90275566ed922932ee4d20c9c29f8c93a7" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-1.0.1.tgz#877e08807c9e7a3ac1db200dd4995f194fd1c2ba"
integrity sha512-M2k5/79fEjgfe0EZ+LpwKHi83744WV0/GuU3suAYKRdO/GJclQBUalOMnAyxjSnQLqtNw1jSjVvIsRhArcC9GQ== integrity sha512-Dgxd9hl1AiCIM1b5f4dSfmP+rGtASUso8Lw51+az605hqrohgykxt8voiQtaJxKySWYbS1J9Vz2xjLwrEmfTKg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swaggerexpert/json-pointer" "^2.10.1" "@swaggerexpert/json-pointer" "^2.10.1"
"@swagger-api/apidom-ns-api-design-systems@^1.0.0": "@swagger-api/apidom-ns-api-design-systems@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-1.0.0.tgz#fe714b2a8916880c54fbd16b4cb070fa5e84ca46" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-1.0.1.tgz#9a395ce31afa5f93e5e4da6de5d988af8c1cbf10"
integrity sha512-RUYnXx8jBc01rOygYWLU9i3aJZ7x18Cyf4IXlBtDbqSOjw3oxnmZ6dw52zfrOpaBtsGBFO0VjHWnzPeOoAnGpQ== integrity sha512-frRfiLjcufeBgqnHQOcXgl6dnvcIdP4+18pWb+qT3N+dv87geJBk1CbXo6RjW9AEQX/7BtvWYkfSMLrh8q2TZA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-1" "^1.0.0" "@swagger-api/apidom-ns-openapi-3-1" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-ns-arazzo-1@^1.0.0", "@swagger-api/apidom-ns-arazzo-1@^1.0.0-rc.0": "@swagger-api/apidom-ns-arazzo-1@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-arazzo-1/-/apidom-ns-arazzo-1-1.0.0.tgz#c43324f259fbe1eb8a812ee96fc0f71a5fb80cab" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-arazzo-1/-/apidom-ns-arazzo-1-1.0.1.tgz#fbdc3995ff08bdc2c4318336fab4927823e6d75c"
integrity sha512-zdswSbzGeXu3mvH+FMfI8BP/hC0oReDzZEGmRNN/g9JzyI6bhcciGdFNk3haWFed2Hwa8iWCw6r0O70sJXxktA== integrity sha512-gJJY0vmi3TJtlCYNPsZahQnP6GA9GtJX1a9jEUASaYYxz6cBBfY39y8C5tQTo0Jvc7QEff/UZ8iGX0kltcwlzA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-2020-12" "^1.0.0" "@swagger-api/apidom-ns-json-schema-2020-12" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-ns-asyncapi-2@^1.0.0", "@swagger-api/apidom-ns-asyncapi-2@^1.0.0-rc.0": "@swagger-api/apidom-ns-asyncapi-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-1.0.0.tgz#fb4ce8501462b2ead37ff9f39516983559cea27c" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-1.0.1.tgz#24db11873f988cbc1e307f13f0964693f1eb8d3f"
integrity sha512-n9EswUqPHOv6rBX0OJSNhJMNM2Psdqeux9w0+XVHPfsCwyZqVQ0HxasLlgXurRaOscdRJ3W6z62t2T9krMiPXg== integrity sha512-d8HBr2EVB2gK8FKrxj0Wsss6Qeael//WxnNv1ZtmNeCe1l83iC9RO/hjjq/OFob94ZTOfpPRNwGqZBd4tMxOnA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-draft-7" "^1.0.0" "@swagger-api/apidom-ns-json-schema-draft-7" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-ns-asyncapi-3@^1.0.0": "@swagger-api/apidom-ns-asyncapi-3@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-asyncapi-3/-/apidom-ns-asyncapi-3-1.0.0.tgz#ff198136e72319f918aa27312ac7ea85bb94d95d" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-asyncapi-3/-/apidom-ns-asyncapi-3-1.0.1.tgz#56d75c2f46686440d244404d28ac05379d5e3be8"
integrity sha512-6Rp9C1RhQyBvYJ/OCuihZprXErryPJqilgHU6xg67QWyOBFQ1VTzSmP9pecMtDD+YiJsU6HB6GYDF+oEzXFkKQ== integrity sha512-vonGt1ScMlT+GbbSGa/+oe874Zl7NVylX3ZoMAhMkRyqu49vmWB6dXUcWw6ZsZu2GxVphjNTm+D52Ikw8UAMWg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-asyncapi-2" "^1.0.0" "@swagger-api/apidom-ns-asyncapi-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-ns-json-schema-2019-09@^1.0.0": "@swagger-api/apidom-ns-json-schema-2019-09@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-2019-09/-/apidom-ns-json-schema-2019-09-1.0.0.tgz#5a8dcfa9a53d39350ae4e80b0a43dec26ed74a05" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-2019-09/-/apidom-ns-json-schema-2019-09-1.0.1.tgz#7cc94e08bbccb9cc383810ab6e9595527e2cc651"
integrity sha512-iZHeeQTiLbf5CjbGURusD+OngL/rJjNol35Qg/BeVFsJTzisCyDW6AHMK/0Qe+eRscGwGOkUxr+RhhSgSgXPbg== integrity sha512-wtVkFhkM7a0ybjAR0HCQyXzAwIWWcaoHmXiZGAS7wTpI2sDMLwCrBXBuISa7BoRkG4ieA2odDF5Eac73knWUbA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-draft-7" "^1.0.0" "@swagger-api/apidom-ns-json-schema-draft-7" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.4" ts-mixer "^6.0.4"
"@swagger-api/apidom-ns-json-schema-2020-12@^1.0.0": "@swagger-api/apidom-ns-json-schema-2020-12@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-2020-12/-/apidom-ns-json-schema-2020-12-1.0.0.tgz#64265ab1e11a57ba4e54cca21e21aee245782c8c" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-2020-12/-/apidom-ns-json-schema-2020-12-1.0.1.tgz#d82ef8202f4f781ad0221d3bdb7ed384e063e627"
integrity sha512-gHKECPM2k2BlOY/b8p/9/a96uKmUc2FC1ruRUgm/DOjv4jQtMkEBgVguI04g3wTpSwIg15o9p85RhhhAGHloQg== integrity sha512-YBE5kYKARFWi+8HAiUVJxF9WpkdlW2ebH6K4oZt6mnOWROkPS+30Kjjxlz+Q994KhSZGBHKK0d3TU11xXUqyAQ==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-2019-09" "^1.0.0" "@swagger-api/apidom-ns-json-schema-2019-09" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.4" ts-mixer "^6.0.4"
"@swagger-api/apidom-ns-json-schema-draft-4@^1.0.0": "@swagger-api/apidom-ns-json-schema-draft-4@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-1.0.0.tgz#0ec8261a23ade84bf0152504560bff9688809f2d" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-1.0.1.tgz#708e4b6dbe8a652c0480c289b227300310096929"
integrity sha512-yzkHhq5l0yd1nZbcrqlvUC0uYQ5A8XJo/PHOOD9eibxP/tvhrmkrGVnBEZIS7Y2lIx9goAtCHYJOzwOh2iZ+qQ== integrity sha512-OR3D7EXVq2H07n9uPKpNCikKC5857Pggbi1g5rt9X0znaUgxTtkYu8unPfbEcjQgFVglzIwqbGhMnahUFXYaTA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-ast" "^1.0.0" "@swagger-api/apidom-ast" "^1.0.1"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.4" ts-mixer "^6.0.4"
"@swagger-api/apidom-ns-json-schema-draft-6@^1.0.0": "@swagger-api/apidom-ns-json-schema-draft-6@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-1.0.0.tgz#e1085986390329bd46f184fc476a48a3086152a1" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-1.0.1.tgz#39e1b5170afc171c7c30ecea89eeae6e02ec1076"
integrity sha512-qjxwyq+dRRW4i/D2OMuuPpNfq215V6FMFMMnznAzqkYJIigUyAsslZt1YYGz5hug/tj2psZHDleCYkfeh7b5Vg== integrity sha512-J9/aSU9/YwiRU/avkSN1APYPs9sYVyrzaMpfq7XIY8xMFC4buwrPzCymrqshSOLbn1Qzr9Ruavcqx5Bwt0EuRg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-draft-4" "^1.0.0" "@swagger-api/apidom-ns-json-schema-draft-4" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.4" ts-mixer "^6.0.4"
"@swagger-api/apidom-ns-json-schema-draft-7@^1.0.0": "@swagger-api/apidom-ns-json-schema-draft-7@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-1.0.0.tgz#72c10cb4852b98fa0d9930b2dc4b50e92483f11f" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-1.0.1.tgz#a89704289dc1507075e15d159d4dfc73a8f01561"
integrity sha512-Lo5QqO831IuMKyuYO5gJVttu/fqsvj66JaSyi4/2KC8srn81yQ9HEi1ousiWVGE0dGuRjGZSr3H2J9fxqbnfTA== integrity sha512-b8pNff3epzweot5Edoa05mM/jBMgvjqajvNTOvOa8SNPWHWLjSJNYkBT2jI3BnFqqEMMo7litEfKnblblFuDtQ==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-draft-6" "^1.0.0" "@swagger-api/apidom-ns-json-schema-draft-6" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.4" ts-mixer "^6.0.4"
"@swagger-api/apidom-ns-openapi-2@^1.0.0", "@swagger-api/apidom-ns-openapi-2@^1.0.0-rc.0": "@swagger-api/apidom-ns-openapi-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-1.0.0.tgz#12df7b312d9e428529edc1128a1665a33edb0641" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-1.0.1.tgz#5136d8f22065b1dde6cd31da1a22cb7f9a206559"
integrity sha512-vaEcRti1An4y9jXaHmkEMd/TQlfcJAEq/SLhDoGWIsTb3sdUovdVVY7QAvQzbX7VCoQeRATfUgMnj29wggbE6g== integrity sha512-XZ1xHHvsZZaNNHkqk0KWggZxMM2Av5eJdjbxwLij7TFWjodYVJAMZLyWG15llDBjnTXQYtpFIVLGjndf2oC7Xg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-draft-4" "^1.0.0" "@swagger-api/apidom-ns-json-schema-draft-4" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-ns-openapi-3-0@^1.0.0", "@swagger-api/apidom-ns-openapi-3-0@^1.0.0-rc.0": "@swagger-api/apidom-ns-openapi-3-0@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-1.0.0.tgz#777cc0c106621099b971edbc1283a9ad15672e75" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-1.0.1.tgz#6bd7e4e295b57072a7b47f237bcb54d8adc03951"
integrity sha512-ppBGVheaboTC23LOO+5//C45DDyoda88yFeVxh7Lfqn7HM7D0BSs76tFwr7EUtkEE6vw8tQiwc0Ql6Jk/jmUCQ== integrity sha512-BAypZcl8NO+jYpAmAXJVCLVe4f+v3ZoZN21Oxu03N2lsv+qz/P9vpl+6C0dOfta6X8fACkuGr4KIGU6leUPpJg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-draft-4" "^1.0.0" "@swagger-api/apidom-ns-json-schema-draft-4" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-ns-openapi-3-1@^1.0.0", "@swagger-api/apidom-ns-openapi-3-1@^1.0.0-rc.0", "@swagger-api/apidom-ns-openapi-3-1@^1.0.0-rc.1": "@swagger-api/apidom-ns-openapi-3-1@^1.0.0-rc.1", "@swagger-api/apidom-ns-openapi-3-1@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-1.0.0.tgz#f331749eae22de680c2b75b304735e6e6b0a2ebc" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-1.0.1.tgz#69b9ac2a4483b53a8959d41b3927746a95eabd17"
integrity sha512-iDocUU+y214ZdcPrBHng97EnCzEIFJ/2eZsxQRSDQTZuAECI53jmVH6KdJUh/1nc3IW5nQczhf3K9cCYdIcY9g== integrity sha512-nIkgyIW8XTV+zjzLKxP1JaA/lpgmtsRBLshh1mL+Fspd+RYAhyMpRDRNvBOmkIhva9Dst9LNYyMjBP9ssfKUwg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-ast" "^1.0.0" "@swagger-api/apidom-ast" "^1.0.1"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-json-pointer" "^1.0.0" "@swagger-api/apidom-json-pointer" "^1.0.1"
"@swagger-api/apidom-ns-json-schema-2020-12" "^1.0.0" "@swagger-api/apidom-ns-json-schema-2020-12" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-0" "^1.0.0" "@swagger-api/apidom-ns-openapi-3-0" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
ts-mixer "^6.0.3" ts-mixer "^6.0.3"
"@swagger-api/apidom-parser-adapter-api-design-systems-json@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-api-design-systems-json@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-1.0.0.tgz#85cef9295d4d33b527ae92ced17fdd39c62bacf9" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-1.0.1.tgz#e8a44718e47864d63592fd66f5a8341f83b7cf6f"
integrity sha512-zzEr6VeS5renKsqzT2bRqWntzE/uJA+GRc/cDwHkbq7rF5rWCBxYmECQ1CZzargrznMeYRg5Kvcg3t9NBwI3Tg== integrity sha512-Udj6vJ6Au+fcqZJZtgHlUi1Y/ImLHo8fx4ICSas7hewA7z1/eZ7Y3Yp8YSGZ7ZwqXHS6nnm5fBHws0DgAplnDA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-api-design-systems" "^1.0.0" "@swagger-api/apidom-ns-api-design-systems" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-api-design-systems-yaml@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-api-design-systems-yaml@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-1.0.0.tgz#048d60b4c5b6e3eddf955446126ba4478016e925" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-1.0.1.tgz#bab591fb5270577e97ecb441e37b7d8e4b2cd291"
integrity sha512-/2JG7r3Ok4XAaMtlLTew8y1fVh1BI2jZuVV26QvJAvIcVXhv2Y2+gq9olZUTt1kXqmTx14JOlvxUrg+q/f+EMw== integrity sha512-YZ2IuTEzUGXRF8oFuHHGZpM15hRnSI/rZnweGT984bX53HXi1NFpZdNxOz49vmkhFz6XJgxRXp1R3EDN/98urg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-api-design-systems" "^1.0.0" "@swagger-api/apidom-ns-api-design-systems" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-arazzo-json-1@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-arazzo-json-1@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-arazzo-json-1/-/apidom-parser-adapter-arazzo-json-1-1.0.0.tgz#381cf347bd07c4829896363db9827b70eb0e2c59" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-arazzo-json-1/-/apidom-parser-adapter-arazzo-json-1-1.0.1.tgz#356876a1262975e78619ad02f51fbe6d117ef0a5"
integrity sha512-uS4N1uTbYsgsr9HW3mhwfjPm2qsVN16cL/YB6/j94e30KYVeUwwXEA5c+xE6weAtCqweTTVTBWCGHtTH+PYxSA== integrity sha512-Re8EcgYOITyTXvGeJyE/4ZNsprkSrkXVmHzyM9hqTWoMpDILnqOtbrjc0YwLkbe9awBkUMWJ51CEFLYALSYfDA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-arazzo-1" "^1.0.0" "@swagger-api/apidom-ns-arazzo-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-arazzo-yaml-1@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-arazzo-yaml-1@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-arazzo-yaml-1/-/apidom-parser-adapter-arazzo-yaml-1-1.0.0.tgz#7c61f46373b526be1f389839d862a6804acd407f" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-arazzo-yaml-1/-/apidom-parser-adapter-arazzo-yaml-1-1.0.1.tgz#0365c0db8cb5c68fc622cf540072a72d33bfa4d4"
integrity sha512-D23g2/VBbI/SSFIxabjBqcxtoHjR+Z3A2Lp1slFixgwlmd9viQQuQI9p5EdVbXSlLU4aGPocfydOfJ5Sl7nfoA== integrity sha512-++BB47Vf9sarAf+YCvlt9V2OqFd8O5AZMr/xXBKTls4SzwpUcLf4oIQJpHcr/rl+bgI4CKwxKXHvnhg2vhEVmg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-arazzo-1" "^1.0.0" "@swagger-api/apidom-ns-arazzo-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-asyncapi-json-2@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-asyncapi-json-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-1.0.0.tgz#892a2a0d4b3ddee57d449971abcd065c58b14872" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-1.0.1.tgz#209a61c29919b41c820f88beb116bbfbc9a3718f"
integrity sha512-edOFXHrOl1xLRn/i2yVZKJ1+A7YUZ9WyVnIyEedb+L4uFKxDnArNZhi10R3Is6vWKX1GAlH1Uw8xmqYyG7KVQg== integrity sha512-dd8djfZy2utM1xO7oxDPB/dmExSFgEA2l71gjHaKmhJw7O5NB8E/1663w9lD4NElj2Ft8kuGLLDsqyKNhXW/9w==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-asyncapi-2" "^1.0.0" "@swagger-api/apidom-ns-asyncapi-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-asyncapi-json-3@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-asyncapi-json-3@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-json-3/-/apidom-parser-adapter-asyncapi-json-3-1.0.0.tgz#c1546faa35887d78c89ed926cd8c3c9d8db90b69" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-json-3/-/apidom-parser-adapter-asyncapi-json-3-1.0.1.tgz#fc461058fe16e2ca6f142fcfe92c39979bd57614"
integrity sha512-elGrI0b2wyLVN7UKOsg8GNgzidBtIvBWjKyJvt1oy/ZTvLZ+I5wgD9KENfMRtLCdMtWAv8HSyB094nvlhqP/iw== integrity sha512-qD+gbnSnc9PlZ8b45knyWihrWOMKhnAHDnvzRllX+NiyM3XdBJ7B6yLn8dl6gZuKjTBHoMORLEefoTGvmskneA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-asyncapi-3" "^1.0.0" "@swagger-api/apidom-ns-asyncapi-3" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-1.0.0.tgz#0fb2813797af04d3920fb8f6e9ad85982230603e" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-1.0.1.tgz#da0ba765800430ca9ba832b52d50853799031321"
integrity sha512-cP58L+QR2qFIpe4I4oOT5QShmXYts20/N9GrxfmeebmNiu0RCrO8yomyzKbtLMX4DWZIOjXfm96i20FmdNtxxA== integrity sha512-G5RS0pCFCOIsFflKvWbH+DblunmcAdVi5X9ETTTkGLa1IF5s0DIdjU46WxJAzEQpCXOvmUhpDspjaAYXxGTYpQ==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-asyncapi-2" "^1.0.0" "@swagger-api/apidom-ns-asyncapi-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-3@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-asyncapi-yaml-3@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-yaml-3/-/apidom-parser-adapter-asyncapi-yaml-3-1.0.0.tgz#fee8abb31532fb8839ea457f3628cbcf4b9fe1e0" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-asyncapi-yaml-3/-/apidom-parser-adapter-asyncapi-yaml-3-1.0.1.tgz#72e8410fc3e3e38a8c76d5e5f107e2d340ba0bd7"
integrity sha512-5kVZQ7SI0TvkHNCAr0fAz+FMj+Py8ILW8MbWTbJPPzpcfiBa8wb33xbCrO3aQoXSKL4S3J/a+iDFyrzQgBRlRQ== integrity sha512-hzgUkTsuKYraY0NXQlaYe/j1/LkvNF/8r30Iz7/1B27BYLOKIwHoFGN6jUa8UBA9/0qSp8QPzSwVWFLrgNiqJQ==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-asyncapi-3" "^1.0.0" "@swagger-api/apidom-ns-asyncapi-3" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-json@^1.0.0", "@swagger-api/apidom-parser-adapter-json@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-json@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-1.0.0.tgz#4812a08d906c80bda1f8aa4379455065eb0c474c" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-1.0.1.tgz#4e3aec8e6ac210cd4fe731749c9fa8b85ca95b9d"
integrity sha512-+zaH4MX1/JiSP3bQe1WE2CRsmXLSCPF3zMtvyFhPNtPgIIWqHJg1P4zPXy528m3DH/QqagfXIslk4RpDWStyxA== integrity sha512-95V2aMBGZ76rYXcod/PCJpVEMK+9mPk/gDgsDKEq2ka+YVMTtR1tUkPUIBmWlNC+brh5reks1QocyQL8B4f3TQ==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-ast" "^1.0.0" "@swagger-api/apidom-ast" "^1.0.1"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
@@ -1857,93 +1857,93 @@
tree-sitter-json "=0.24.8" tree-sitter-json "=0.24.8"
web-tree-sitter "=0.24.5" web-tree-sitter "=0.24.5"
"@swagger-api/apidom-parser-adapter-openapi-json-2@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-openapi-json-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-1.0.0.tgz#18f2b9a8c11e1a936184a6fddc3c7ad93fd4662b" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-1.0.1.tgz#a411d048eed1543fedf1b48e5ac2bb96309b2efb"
integrity sha512-rm/wotLRSz1JqTdQKwxydC8MnRLgb8VvtNgWgSWHDHChcgFQmimxVya7dmivy1YywcczK9G0cNcR10o4ebI/vw== integrity sha512-Gp02eAA32SN+hAgVDc82xpkUthHn0oAdLdri5g3co4pa45XVRsBSHS3L/H3NEbhDJ8wpXjcg+FLs/OAwcm42yw==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-openapi-2" "^1.0.0" "@swagger-api/apidom-ns-openapi-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-openapi-json-3-0@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-openapi-json-3-0@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-1.0.0.tgz#270d11f3115874b9eedf026c1e0c0dc04d4ac50a" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-1.0.1.tgz#b4b290356c719d5eed870214ff0b3e9dc4716751"
integrity sha512-leLf9tC7wCzOaL+oiK8CyLTNTf9+xupfHY+6nzWzJrYiq9yI5nJUM/yr38+Bq5cupA+gDWHl59b32bc/jV+iuQ== integrity sha512-Ls3U0stAtMqvzesy981crjDa7vwqGHlCoulHIsWQ/V74dHg3Nl1Vg9AgerefKg8LHxxLiYTZJITfsWQMYsnlkA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-0" "^1.0.0" "@swagger-api/apidom-ns-openapi-3-0" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-openapi-json-3-1@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-openapi-json-3-1@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-1.0.0.tgz#57c6bb2dab1d036ac0346a7fffc1ac96997a13db" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-1.0.1.tgz#8390d00d97a514cf59bc99b34329394ac25208be"
integrity sha512-GDf2IlEMhAPlHUWd1f6/cpP8V2k7e2dPaVS7e7baK5djGSwcGHZEUotqyDkA01Vnhf2DPGfmb6rkvg4dQ/1ChA== integrity sha512-Xsf3jUCfgqZqZjiABWifPynBDLPkW54V210Oa4SvgyI7ZWgubcy5/Wgd68wvhq4knauRXqRmbgKc+WRm0UP3xw==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-1" "^1.0.0" "@swagger-api/apidom-ns-openapi-3-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-openapi-yaml-2@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-openapi-yaml-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-1.0.0.tgz#62cf0b68d498cd1717b4dd841f8b424fdd37cccf" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-1.0.1.tgz#cb8e1cf61536cf2dfb05e84e717eb63051b91c48"
integrity sha512-pYkMetJatd12Cplau9u7MAQYJOJSjs0iuWGzvzG6IkTTNY673aQVxsmdTJK6Mt6sEkG3LK5OOCIqlW63GdtMuQ== integrity sha512-SygtOXG9XF6lYveg6rymk4u1Twgk1VTxzyVkQ8I6eQoGyBoYfJC00sI6qep9bGU/VnsaRaN/H8+N0vXBeAOsPg==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-openapi-2" "^1.0.0" "@swagger-api/apidom-ns-openapi-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-1.0.0.tgz#f5a056b73622e5dc116ad4d74ec4e0874e0a4773" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-1.0.1.tgz#b062075960c17d4a29da58df5f08bcdad5d71988"
integrity sha512-iabLypsj+ygEozgTjBi0zu8VgRjq2VKUFxyNo6lVYjLg4PIvnwem3S8GU3iDmEdEqZTBmTQCOnzdbbw+tEm70Q== integrity sha512-xm8tY1NYe329tGF01WCtCi7uepppORWs3WpwzskSiZnDAmyjIu5ez3R0RFPCiXnMRGgj4wO6UzjawSrKGTJHjA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-0" "^1.0.0" "@swagger-api/apidom-ns-openapi-3-0" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-1.0.0.tgz#d8efeb147a11697c0df62c4313da9edf757c3562" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-1.0.1.tgz#945e7e3408f932de04fabc94c347b42b8bc804c0"
integrity sha512-cmx5MC6nC5KBFxZxmFRwcDW9CPLTAZglYvtLh2ILoMBvYS+ht9WUknTqZFIVVCK/l7wAz8ftOtCrnjb7U143yQ== integrity sha512-p0G3g63Jcd4Z5Y2hStNB0NgjwYJg9VBLhkDcmFdmKCbz9vYA45rMN+wn62pqkWQE7KBZ1F1zY0wacRlUy0VuuQ==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-1" "^1.0.0" "@swagger-api/apidom-ns-openapi-3-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
"@swagger-api/apidom-parser-adapter-yaml-1-2@^1.0.0", "@swagger-api/apidom-parser-adapter-yaml-1-2@^1.0.0-rc.0": "@swagger-api/apidom-parser-adapter-yaml-1-2@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-1.0.0.tgz#f25c45a7b7c0f91ab01cd8fa0b3d0d52c256036c" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-1.0.1.tgz#2eaf730ca506a3387a02203d3192c6d5c01c77f1"
integrity sha512-of/vKMaK5e36kwJrhBRvnrpIC9tikUuhpzSMfzckx/58p1H66oHrzdGrRbQxcy1l/HaylJNIn1YvWlaNJVjNcQ== integrity sha512-ppNo8mncbGA3TchroLmcDv1WUw9vruHa4M96WbWqI7cwH3zdJ1UddwfHkZ5IaCOUU08Iyo2uzMMRaarALAsl8g==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-ast" "^1.0.0" "@swagger-api/apidom-ast" "^1.0.1"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@tree-sitter-grammars/tree-sitter-yaml" "=0.7.1" "@tree-sitter-grammars/tree-sitter-yaml" "=0.7.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
ramda "~0.30.0" ramda "~0.30.0"
@@ -1952,13 +1952,13 @@
web-tree-sitter "=0.24.5" web-tree-sitter "=0.24.5"
"@swagger-api/apidom-reference@^1.0.0-rc.1": "@swagger-api/apidom-reference@^1.0.0-rc.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@swagger-api/apidom-reference/-/apidom-reference-1.0.0.tgz#95a30e36446f04989c8c7a168d7bcf59abcb8636" resolved "https://registry.yarnpkg.com/@swagger-api/apidom-reference/-/apidom-reference-1.0.1.tgz#bcf9784e1a82a084f31ac3d8d5d88599648282ba"
integrity sha512-pT225Muf5pYMaQjyoJ/8+OJuAAvWOLJih2P8ho0EE6pIw4D0Uz9Hq8cODdwBXEr5mOTAwntNDDcPP+FoTfYnyg== integrity sha512-FvM6cooFx1ppWN9gKXSLFG2Y4u3SRdv1FIJxj+5VC/6V3++BF2LUFkb7hK0IOaAjw2vQ7G0NUyP+5UY/3qKBjA==
dependencies: dependencies:
"@babel/runtime-corejs3" "^7.26.10" "@babel/runtime-corejs3" "^7.26.10"
"@swagger-api/apidom-core" "^1.0.0" "@swagger-api/apidom-core" "^1.0.1"
"@swagger-api/apidom-error" "^1.0.0" "@swagger-api/apidom-error" "^1.0.1"
"@types/ramda" "~0.30.0" "@types/ramda" "~0.30.0"
axios "^1.12.2" axios "^1.12.2"
minimatch "^7.4.3" minimatch "^7.4.3"
@@ -1966,28 +1966,28 @@
ramda "~0.30.0" ramda "~0.30.0"
ramda-adjunct "^5.0.0" ramda-adjunct "^5.0.0"
optionalDependencies: optionalDependencies:
"@swagger-api/apidom-json-pointer" "^1.0.0-rc.0" "@swagger-api/apidom-json-pointer" "^1.0.1"
"@swagger-api/apidom-ns-arazzo-1" "^1.0.0-rc.0" "@swagger-api/apidom-ns-arazzo-1" "^1.0.1"
"@swagger-api/apidom-ns-asyncapi-2" "^1.0.0-rc.0" "@swagger-api/apidom-ns-asyncapi-2" "^1.0.1"
"@swagger-api/apidom-ns-openapi-2" "^1.0.0-rc.0" "@swagger-api/apidom-ns-openapi-2" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-0" "^1.0.0-rc.0" "@swagger-api/apidom-ns-openapi-3-0" "^1.0.1"
"@swagger-api/apidom-ns-openapi-3-1" "^1.0.0-rc.0" "@swagger-api/apidom-ns-openapi-3-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-api-design-systems-json" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-api-design-systems-json" "^1.0.1"
"@swagger-api/apidom-parser-adapter-api-design-systems-yaml" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-api-design-systems-yaml" "^1.0.1"
"@swagger-api/apidom-parser-adapter-arazzo-json-1" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-arazzo-json-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-arazzo-yaml-1" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-arazzo-yaml-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-asyncapi-json-2" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-asyncapi-json-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-asyncapi-json-3" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-asyncapi-json-3" "^1.0.1"
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-3" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-asyncapi-yaml-3" "^1.0.1"
"@swagger-api/apidom-parser-adapter-json" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-json" "^1.0.1"
"@swagger-api/apidom-parser-adapter-openapi-json-2" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-openapi-json-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-openapi-json-3-0" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-openapi-json-3-0" "^1.0.1"
"@swagger-api/apidom-parser-adapter-openapi-json-3-1" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-openapi-json-3-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-openapi-yaml-2" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-openapi-yaml-2" "^1.0.1"
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0" "^1.0.1"
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1" "^1.0.1"
"@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.0-rc.0" "@swagger-api/apidom-parser-adapter-yaml-1-2" "^1.0.1"
"@swaggerexpert/cookie@^2.0.2": "@swaggerexpert/cookie@^2.0.2":
version "2.0.2" version "2.0.2"
@@ -2511,9 +2511,9 @@ base64-js@^1.3.1:
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
baseline-browser-mapping@^2.9.0: baseline-browser-mapping@^2.9.0:
version "2.9.2" version "2.9.5"
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz#0ae89ec3e10e07c368b77def89db8044409461d1" resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz#47f9549e0be1a84cd16651ac4c3b7d87a71408e6"
integrity sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw== integrity sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==
body-parser@^2.2.1: body-parser@^2.2.1:
version "2.2.1" version "2.2.1"
@@ -4025,10 +4025,10 @@ lru-cache@^5.1.1:
dependencies: dependencies:
yallist "^3.0.2" yallist "^3.0.2"
lucide-react@^0.555.0: lucide-react@^0.556.0:
version "0.555.0" version "0.556.0"
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.555.0.tgz#8db4322b784e0d14a415d67ee0e8ca219a1714ca" resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.556.0.tgz#aad61a065737aef30322695a11fd21c7542c71aa"
integrity sha512-D8FvHUGbxWBRQM90NZeIyhAvkFfsh3u9ekrMvJ30Z6gnpBHS6HC6ldLg7tL45hwiIz/u66eKDtdA23gwwGsAHA== integrity sha512-iOb8dRk7kLaYBZhR2VlV1CeJGxChBgUthpSP8wom9jfj79qovgG6qcSdiy6vkoREKPnbUYzJsCn4o4PtG3Iy+A==
magic-string@^0.30.21: magic-string@^0.30.21:
version "0.30.21" version "0.30.21"
@@ -4606,9 +4606,9 @@ raw-body@^3.0.0, raw-body@^3.0.1:
unpipe "~1.0.0" unpipe "~1.0.0"
react-day-picker@^9.11.3: react-day-picker@^9.11.3:
version "9.11.3" version "9.12.0"
resolved "https://registry.yarnpkg.com/react-day-picker/-/react-day-picker-9.11.3.tgz#ef88cece2512c3e3c9ca0ce067871f62072cd943" resolved "https://registry.yarnpkg.com/react-day-picker/-/react-day-picker-9.12.0.tgz#f1251c80aa2f932069b1854eeb1fc0ae4dae5ac6"
integrity sha512-7lD12UvGbkyXqgzbYIGQTbl+x29B9bAf+k0pP5Dcs1evfpKk6zv4EdH/edNc8NxcmCiTNXr2HIYPrSZ3XvmVBg== integrity sha512-t8OvG/Zrciso5CQJu5b1A7yzEmebvST+S3pOVQJWxwjjVngyG/CA2htN/D15dLI4uTEuLLkbZyS4YYt480FAtA==
dependencies: dependencies:
"@date-fns/tz" "^1.4.1" "@date-fns/tz" "^1.4.1"
date-fns "^4.1.0" date-fns "^4.1.0"
@@ -5271,9 +5271,9 @@ type-check@^0.4.0, type-check@~0.4.0:
prelude-ls "^1.2.1" prelude-ls "^1.2.1"
type-fest@^5.2.0: type-fest@^5.2.0:
version "5.3.0" version "5.3.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.3.0.tgz#9422125b3094b1087d8446ba151b72fb9f39411a" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.3.1.tgz#251b8d0a813c1dbccf1f9450ba5adcdf7072adc2"
integrity sha512-d9CwU93nN0IA1QL+GSNDdwLAu1Ew5ZjTwupvedwg3WdfoH6pIDvYQ2hV0Uc2nKBLPq7NB5apCx57MLS5qlmO5g== integrity sha512-VCn+LMHbd4t6sF3wfU/+HKT63C9OoyrSIf4b+vtWHpt2U7/4InZG467YDNMFMR70DdHjAdpPWmw2lzRdg0Xqqg==
dependencies: dependencies:
tagged-tag "^1.0.0" tagged-tag "^1.0.0"