snow-flow 3.4.39 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -9
- package/dist/index.d.ts +4 -0
- package/dist/index.js +10 -2
- package/dist/mcp/enhancements/smart-query-enhancement.d.ts +49 -0
- package/dist/mcp/enhancements/smart-query-enhancement.js +233 -0
- package/dist/mcp/servicenow-local-development-mcp.d.ts +48 -0
- package/dist/mcp/servicenow-local-development-mcp.js +570 -0
- package/dist/queen/queen-knowledge-base.d.ts +151 -0
- package/dist/queen/queen-knowledge-base.js +283 -0
- package/dist/queen/servicenow-queen.d.ts +2 -0
- package/dist/queen/servicenow-queen.js +91 -0
- package/dist/utils/artifact-local-sync.d.ts +115 -0
- package/dist/utils/artifact-local-sync.js +705 -0
- package/dist/utils/artifact-sync/artifact-registry.d.ts +66 -0
- package/dist/utils/artifact-sync/artifact-registry.js +450 -0
- package/dist/utils/artifact-sync/index.d.ts +33 -0
- package/dist/utils/artifact-sync/index.js +52 -0
- package/dist/utils/mcp-tool-registry.js +109 -0
- package/dist/utils/smart-field-fetcher.d.ts +68 -0
- package/dist/utils/smart-field-fetcher.js +395 -0
- package/package.json +2 -2
- package/website/.dockerignore +64 -0
- package/website/Dockerfile +36 -0
- package/website/README.md +40 -1
- package/website/cloudbuild.yaml +69 -0
- package/website/css/style.css +119 -1
- package/website/index.html +385 -39
- package/website/js/main.js +26 -1
- package/website/nginx.conf +116 -0
- package/website/service.yaml +61 -0
package/website/README.md
CHANGED
|
@@ -60,7 +60,46 @@ Then open `http://localhost:8000` in your browser.
|
|
|
60
60
|
|
|
61
61
|
## Deployment
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
### 🚀 Production (Google Cloud Run)
|
|
64
|
+
|
|
65
|
+
**Live Website:** https://snow-flow-website-[hash]-ew.a.run.app
|
|
66
|
+
|
|
67
|
+
**Automated CI/CD Pipeline:**
|
|
68
|
+
- **Trigger:** Push to `main` branch on GitHub
|
|
69
|
+
- **Build:** Google Cloud Build creates Docker image
|
|
70
|
+
- **Deploy:** Automatically deploys to Cloud Run
|
|
71
|
+
- **Monitor:** Health checks and logging enabled
|
|
72
|
+
|
|
73
|
+
### Docker Deployment
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Build the Docker image
|
|
77
|
+
docker build -t snow-flow-website .
|
|
78
|
+
|
|
79
|
+
# Run locally
|
|
80
|
+
docker run -p 8080:80 snow-flow-website
|
|
81
|
+
|
|
82
|
+
# Test health check
|
|
83
|
+
curl http://localhost:8080/health
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Cloud Run Manual Deploy
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Set project
|
|
90
|
+
gcloud config set project YOUR_PROJECT_ID
|
|
91
|
+
|
|
92
|
+
# Deploy directly from source
|
|
93
|
+
gcloud run deploy snow-flow-website \
|
|
94
|
+
--source . \
|
|
95
|
+
--region europe-west1 \
|
|
96
|
+
--allow-unauthenticated
|
|
97
|
+
|
|
98
|
+
# Or use Cloud Build
|
|
99
|
+
gcloud builds submit --config cloudbuild.yaml .
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Static Hosting Options
|
|
64
103
|
|
|
65
104
|
### GitHub Pages
|
|
66
105
|
1. Push to GitHub repository
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Snow-Flow Website - Google Cloud Build Configuration
|
|
2
|
+
steps:
|
|
3
|
+
# Build the Docker image
|
|
4
|
+
- name: 'gcr.io/cloud-builders/docker'
|
|
5
|
+
args: [
|
|
6
|
+
'build',
|
|
7
|
+
'-t', 'gcr.io/$PROJECT_ID/snow-flow-website:$COMMIT_SHA',
|
|
8
|
+
'-t', 'gcr.io/$PROJECT_ID/snow-flow-website:latest',
|
|
9
|
+
'--cache-from', 'gcr.io/$PROJECT_ID/snow-flow-website:latest',
|
|
10
|
+
'.'
|
|
11
|
+
]
|
|
12
|
+
dir: 'website'
|
|
13
|
+
|
|
14
|
+
# Push the Docker image to Container Registry
|
|
15
|
+
- name: 'gcr.io/cloud-builders/docker'
|
|
16
|
+
args: ['push', 'gcr.io/$PROJECT_ID/snow-flow-website:$COMMIT_SHA']
|
|
17
|
+
|
|
18
|
+
- name: 'gcr.io/cloud-builders/docker'
|
|
19
|
+
args: ['push', 'gcr.io/$PROJECT_ID/snow-flow-website:latest']
|
|
20
|
+
|
|
21
|
+
# Deploy to Cloud Run
|
|
22
|
+
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
|
|
23
|
+
entrypoint: gcloud
|
|
24
|
+
args: [
|
|
25
|
+
'run', 'deploy', 'snow-flow-website',
|
|
26
|
+
'--image', 'gcr.io/$PROJECT_ID/snow-flow-website:$COMMIT_SHA',
|
|
27
|
+
'--region', 'europe-west1',
|
|
28
|
+
'--platform', 'managed',
|
|
29
|
+
'--allow-unauthenticated',
|
|
30
|
+
'--port', '80',
|
|
31
|
+
'--memory', '512Mi',
|
|
32
|
+
'--cpu', '1',
|
|
33
|
+
'--concurrency', '80',
|
|
34
|
+
'--max-instances', '10',
|
|
35
|
+
'--min-instances', '1',
|
|
36
|
+
'--set-env-vars', 'NODE_ENV=production',
|
|
37
|
+
'--timeout', '300'
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
# Get the service URL
|
|
41
|
+
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
|
|
42
|
+
entrypoint: gcloud
|
|
43
|
+
args: [
|
|
44
|
+
'run', 'services', 'describe', 'snow-flow-website',
|
|
45
|
+
'--region', 'europe-west1',
|
|
46
|
+
'--format', 'value(status.url)'
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
# Build options
|
|
50
|
+
options:
|
|
51
|
+
logging: CLOUD_LOGGING_ONLY
|
|
52
|
+
machineType: 'E2_HIGHCPU_8'
|
|
53
|
+
diskSizeGb: 100
|
|
54
|
+
|
|
55
|
+
# Substitutions for environment-specific values
|
|
56
|
+
substitutions:
|
|
57
|
+
_REGION: 'europe-west1'
|
|
58
|
+
_SERVICE_NAME: 'snow-flow-website'
|
|
59
|
+
|
|
60
|
+
# Images to be pushed to Container Registry
|
|
61
|
+
images:
|
|
62
|
+
- 'gcr.io/$PROJECT_ID/snow-flow-website:$COMMIT_SHA'
|
|
63
|
+
- 'gcr.io/$PROJECT_ID/snow-flow-website:latest'
|
|
64
|
+
|
|
65
|
+
# Build timeout
|
|
66
|
+
timeout: '1200s'
|
|
67
|
+
|
|
68
|
+
# Tags for organization
|
|
69
|
+
tags: ['snow-flow', 'website', 'production']
|
package/website/css/style.css
CHANGED
|
@@ -442,9 +442,38 @@ a.link-animated:hover::after {
|
|
|
442
442
|
|
|
443
443
|
/* Removed gradient overlays - clean black background */
|
|
444
444
|
|
|
445
|
+
/* Hero Noise Effect - Subtle Film Grain */
|
|
446
|
+
.hero::after {
|
|
447
|
+
content: '';
|
|
448
|
+
position: absolute;
|
|
449
|
+
top: 0;
|
|
450
|
+
left: 0;
|
|
451
|
+
width: 100%;
|
|
452
|
+
height: 100%;
|
|
453
|
+
opacity: 0.025; /* Very subtle: 2.5% opacity */
|
|
454
|
+
z-index: 1;
|
|
455
|
+
pointer-events: none;
|
|
456
|
+
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='heroNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23heroNoise)'/%3E%3C/svg%3E");
|
|
457
|
+
mix-blend-mode: overlay;
|
|
458
|
+
animation: noiseShift 8s steps(10) infinite;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
@keyframes noiseShift {
|
|
462
|
+
0%, 100% { transform: translate(0, 0); }
|
|
463
|
+
10% { transform: translate(-5%, -5%); }
|
|
464
|
+
20% { transform: translate(-10%, 5%); }
|
|
465
|
+
30% { transform: translate(5%, -10%); }
|
|
466
|
+
40% { transform: translate(-5%, 15%); }
|
|
467
|
+
50% { transform: translate(-10%, 5%); }
|
|
468
|
+
60% { transform: translate(15%, 0); }
|
|
469
|
+
70% { transform: translate(0, 10%); }
|
|
470
|
+
80% { transform: translate(-15%, 0); }
|
|
471
|
+
90% { transform: translate(10%, 5%); }
|
|
472
|
+
}
|
|
473
|
+
|
|
445
474
|
.hero-content {
|
|
446
475
|
position: relative;
|
|
447
|
-
z-index:
|
|
476
|
+
z-index: 2; /* Above the noise overlay */
|
|
448
477
|
text-align: center;
|
|
449
478
|
padding: var(--space-8);
|
|
450
479
|
}
|
|
@@ -718,6 +747,7 @@ a.link-animated:hover::after {
|
|
|
718
747
|
padding: var(--space-6);
|
|
719
748
|
overflow-x: auto;
|
|
720
749
|
position: relative;
|
|
750
|
+
white-space: pre-line; /* Preserve line breaks */
|
|
721
751
|
}
|
|
722
752
|
|
|
723
753
|
.code-block::before {
|
|
@@ -741,6 +771,7 @@ code {
|
|
|
741
771
|
font-size: var(--font-sm);
|
|
742
772
|
color: var(--gray-300);
|
|
743
773
|
line-height: var(--leading-relaxed);
|
|
774
|
+
white-space: pre-line; /* Preserve line breaks */
|
|
744
775
|
}
|
|
745
776
|
|
|
746
777
|
/* =========================================
|
|
@@ -991,6 +1022,93 @@ code {
|
|
|
991
1022
|
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
|
|
992
1023
|
}
|
|
993
1024
|
|
|
1025
|
+
/* =========================================
|
|
1026
|
+
15.5. DOCUMENTATION TABS
|
|
1027
|
+
========================================= */
|
|
1028
|
+
.tabs-container {
|
|
1029
|
+
margin-bottom: var(--space-8);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
.tabs-nav {
|
|
1033
|
+
display: flex;
|
|
1034
|
+
justify-content: center;
|
|
1035
|
+
gap: var(--space-2);
|
|
1036
|
+
flex-wrap: wrap;
|
|
1037
|
+
margin-bottom: var(--space-8);
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
.tab-btn {
|
|
1041
|
+
padding: var(--space-3) var(--space-6);
|
|
1042
|
+
border: none;
|
|
1043
|
+
border-radius: var(--radius-lg);
|
|
1044
|
+
cursor: pointer;
|
|
1045
|
+
font-weight: 500;
|
|
1046
|
+
transition: all var(--duration-200) var(--ease-out);
|
|
1047
|
+
position: relative;
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
.tab-btn:not(.active) {
|
|
1051
|
+
background: var(--gray-200);
|
|
1052
|
+
color: var(--black);
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
.tab-btn:not(.active):hover {
|
|
1056
|
+
background: var(--gray-300);
|
|
1057
|
+
transform: translateY(-2px);
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
.tab-btn.active {
|
|
1061
|
+
background: var(--black);
|
|
1062
|
+
color: var(--white);
|
|
1063
|
+
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
.tab-content {
|
|
1067
|
+
display: none;
|
|
1068
|
+
animation: fadeInUp var(--duration-300) var(--ease-out);
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
.tab-content.active {
|
|
1072
|
+
display: block;
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
.tool-category {
|
|
1076
|
+
background: var(--gray-50);
|
|
1077
|
+
padding: var(--space-4);
|
|
1078
|
+
border-radius: var(--radius-lg);
|
|
1079
|
+
border: 1px solid var(--gray-200);
|
|
1080
|
+
transition: all var(--duration-200) var(--ease-out);
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
.tool-category:hover {
|
|
1084
|
+
border-color: var(--gray-400);
|
|
1085
|
+
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
.alert {
|
|
1089
|
+
background: var(--yellow-100);
|
|
1090
|
+
border: 1px solid var(--yellow-400);
|
|
1091
|
+
padding: var(--space-4);
|
|
1092
|
+
border-radius: var(--radius-md);
|
|
1093
|
+
margin-bottom: var(--space-6);
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
.issue {
|
|
1097
|
+
margin-bottom: var(--space-6);
|
|
1098
|
+
padding: var(--space-4);
|
|
1099
|
+
border: 1px solid var(--red-300);
|
|
1100
|
+
border-radius: var(--radius-md);
|
|
1101
|
+
background: var(--red-50);
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
.step {
|
|
1105
|
+
margin-bottom: var(--space-6);
|
|
1106
|
+
padding: var(--space-4);
|
|
1107
|
+
border-left: 4px solid var(--black);
|
|
1108
|
+
background: var(--gray-50);
|
|
1109
|
+
border-radius: 0 var(--radius-md) var(--radius-md) 0;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
994
1112
|
/* =========================================
|
|
995
1113
|
16. PRINT STYLES
|
|
996
1114
|
========================================= */
|