mage-ai 0.9.18__py3-none-any.whl → 0.9.19__py3-none-any.whl
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.
Potentially problematic release.
This version of mage-ai might be problematic. Click here for more details.
- mage_ai/api/middleware.py +9 -6
- mage_ai/api/policies/PageBlockLayoutPolicy.py +46 -0
- mage_ai/api/policies/PipelinePolicy.py +1 -0
- mage_ai/api/presenters/PageBlockLayoutPresenter.py +12 -0
- mage_ai/api/resources/PageBlockLayoutResource.py +22 -0
- mage_ai/api/resources/PipelineResource.py +60 -13
- mage_ai/data_preparation/executors/k8s_pipeline_executor.py +14 -1
- mage_ai/data_preparation/models/block/dbt/__init__.py +2 -0
- mage_ai/data_preparation/models/block/dbt/utils/__init__.py +2 -1
- mage_ai/presenters/__init__.py +0 -0
- mage_ai/presenters/block_layout/__init__.py +0 -0
- mage_ai/presenters/block_layout/constants.py +1 -0
- mage_ai/presenters/block_layout/page.py +86 -0
- mage_ai/presenters/constants.py +2 -0
- mage_ai/server/api/v1.py +16 -0
- mage_ai/server/constants.py +1 -1
- mage_ai/server/frontend_dist/404.html +2 -2
- mage_ai/server/frontend_dist/404.html.html +2 -2
- mage_ai/server/frontend_dist/_next/static/DTEnEDO68KRvd3eboRuhE/_buildManifest.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/1484-e209ef2f20fcfc81.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/4250-9944d52bed19617c.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/overview-d12c3b172bd25751.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-a214672a55b1ce9f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-bf8a8f58e19dca2d.js +1 -0
- mage_ai/server/frontend_dist/files.html +2 -2
- mage_ai/server/frontend_dist/global-data-products/[...slug].html +2 -2
- mage_ai/server/frontend_dist/global-data-products.html +2 -2
- mage_ai/server/frontend_dist/index.html +2 -2
- mage_ai/server/frontend_dist/manage/settings.html +2 -2
- mage_ai/server/frontend_dist/manage/users/[user].html +2 -2
- mage_ai/server/frontend_dist/manage/users/new.html +2 -2
- mage_ai/server/frontend_dist/manage/users.html +2 -2
- mage_ai/server/frontend_dist/manage.html +2 -2
- mage_ai/server/frontend_dist/overview.html +2 -2
- mage_ai/server/frontend_dist/pipeline-runs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills/[...slug].html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/edit.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/logs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runtime.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs/[run].html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/settings.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/syncs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers/[...slug].html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline].html +2 -2
- mage_ai/server/frontend_dist/pipelines.html +2 -2
- mage_ai/server/frontend_dist/settings/account/profile.html +2 -2
- mage_ai/server/frontend_dist/settings/workspace/preferences.html +2 -2
- mage_ai/server/frontend_dist/settings/workspace/sync-data.html +2 -2
- mage_ai/server/frontend_dist/settings/workspace/users.html +2 -2
- mage_ai/server/frontend_dist/settings.html +2 -2
- mage_ai/server/frontend_dist/sign-in.html +2 -2
- mage_ai/server/frontend_dist/templates/[...slug].html +2 -2
- mage_ai/server/frontend_dist/templates.html +2 -2
- mage_ai/server/frontend_dist/terminal.html +2 -2
- mage_ai/server/frontend_dist/test.html +2 -2
- mage_ai/server/frontend_dist/triggers.html +2 -2
- mage_ai/server/frontend_dist/version-control.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/404.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/404.html.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/_next/static/IH3dqMU16smA5y2jlNbyO/_buildManifest.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1484-e209ef2f20fcfc81.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/4250-9944d52bed19617c.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/overview-d12c3b172bd25751.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/edit-a214672a55b1ce9f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines-bf8a8f58e19dca2d.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/files.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/global-data-products/[...slug].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/global-data-products.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/index.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/manage/settings.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/manage/users/[user].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/manage/users/new.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/manage/users.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/manage.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/overview.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipeline-runs.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/backfills/[...slug].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/backfills.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/edit.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/logs.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/monitors/block-runs.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/monitors/block-runtime.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/monitors.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/runs/[run].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/runs.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/settings.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/syncs.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/triggers/[...slug].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/triggers.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/pipelines.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/settings/account/profile.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/preferences.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/sync-data.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/users.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/settings.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/sign-in.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/templates/[...slug].html +2 -2
- mage_ai/server/frontend_dist_base_path_template/templates.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/terminal.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/test.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/triggers.html +2 -2
- mage_ai/server/frontend_dist_base_path_template/version-control.html +2 -2
- mage_ai/server/server.py +6 -0
- {mage_ai-0.9.18.dist-info → mage_ai-0.9.19.dist-info}/METADATA +6 -6
- {mage_ai-0.9.18.dist-info → mage_ai-0.9.19.dist-info}/RECORD +119 -109
- mage_ai/server/frontend_dist/_next/static/awdRBeqr8vM6acFkDuskw/_buildManifest.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1484-65c543b9350ab7a0.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/overview-7f790238fe70d9ab.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-158c1a93ac7a951a.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-cbaf371216a70d43.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1484-65c543b9350ab7a0.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/overview-7f790238fe70d9ab.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/edit-158c1a93ac7a951a.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines-cbaf371216a70d43.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/vkOaw6IoqucwBE_cK1Sp_/_buildManifest.js +0 -1
- /mage_ai/server/frontend_dist/_next/static/{awdRBeqr8vM6acFkDuskw → DTEnEDO68KRvd3eboRuhE}/_middlewareManifest.js +0 -0
- /mage_ai/server/frontend_dist/_next/static/{awdRBeqr8vM6acFkDuskw → DTEnEDO68KRvd3eboRuhE}/_ssgManifest.js +0 -0
- /mage_ai/server/frontend_dist_base_path_template/_next/static/{vkOaw6IoqucwBE_cK1Sp_ → IH3dqMU16smA5y2jlNbyO}/_middlewareManifest.js +0 -0
- /mage_ai/server/frontend_dist_base_path_template/_next/static/{vkOaw6IoqucwBE_cK1Sp_ → IH3dqMU16smA5y2jlNbyO}/_ssgManifest.js +0 -0
- {mage_ai-0.9.18.dist-info → mage_ai-0.9.19.dist-info}/LICENSE +0 -0
- {mage_ai-0.9.18.dist-info → mage_ai-0.9.19.dist-info}/WHEEL +0 -0
- {mage_ai-0.9.18.dist-info → mage_ai-0.9.19.dist-info}/entry_points.txt +0 -0
- {mage_ai-0.9.18.dist-info → mage_ai-0.9.19.dist-info}/top_level.txt +0 -0
mage_ai/api/middleware.py
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
|
+
import json
|
|
1
2
|
from json.decoder import JSONDecodeError
|
|
3
|
+
|
|
4
|
+
from tornado.web import RequestHandler
|
|
5
|
+
|
|
2
6
|
from mage_ai.api.errors import ApiError
|
|
3
7
|
from mage_ai.api.utils import authenticate_client_and_token, parse_cookie_header
|
|
4
8
|
from mage_ai.authentication.oauth2 import decode_token
|
|
5
9
|
from mage_ai.orchestration.db.models.oauth import Oauth2Application
|
|
6
|
-
from mage_ai.settings import OAUTH2_APPLICATION_CLIENT_ID, REQUIRE_USER_AUTHENTICATION
|
|
7
10
|
from mage_ai.server.api.constants import (
|
|
8
11
|
COOKIE_OAUTH_TOKEN,
|
|
9
|
-
ENDPOINTS_BYPASS_OAUTH_CHECK,
|
|
10
12
|
HEADER_API_KEY,
|
|
11
13
|
HEADER_OAUTH_TOKEN,
|
|
12
14
|
URL_PARAMETER_API_KEY,
|
|
13
15
|
)
|
|
16
|
+
from mage_ai.settings import OAUTH2_APPLICATION_CLIENT_ID, REQUIRE_USER_AUTHENTICATION
|
|
14
17
|
from mage_ai.shared.array import find
|
|
15
|
-
from tornado.web import RequestHandler
|
|
16
|
-
import json
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
class OAuthMiddleware(RequestHandler):
|
|
21
|
+
def initialize(self, bypass_oauth_check: bool = False) -> None:
|
|
22
|
+
self.bypass_oauth_check = bypass_oauth_check
|
|
23
|
+
|
|
20
24
|
def prepare(self):
|
|
21
25
|
self.request.__setattr__('current_user', None)
|
|
22
26
|
self.request.__setattr__('error', None)
|
|
@@ -26,8 +30,7 @@ class OAuthMiddleware(RequestHandler):
|
|
|
26
30
|
if not REQUIRE_USER_AUTHENTICATION:
|
|
27
31
|
return
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
if any(p in ENDPOINTS_BYPASS_OAUTH_CHECK for p in paths):
|
|
33
|
+
if self.bypass_oauth_check:
|
|
31
34
|
return
|
|
32
35
|
|
|
33
36
|
api_key = self.request.headers.get(HEADER_API_KEY, None)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from mage_ai.api.oauth_scope import OauthScope
|
|
2
|
+
from mage_ai.api.operations import constants
|
|
3
|
+
from mage_ai.api.policies.BasePolicy import BasePolicy
|
|
4
|
+
from mage_ai.api.presenters.PageBlockLayoutPresenter import PageBlockLayoutPresenter
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class PageBlockLayoutPolicy(BasePolicy):
|
|
8
|
+
pass
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
PageBlockLayoutPolicy.allow_actions([
|
|
12
|
+
constants.DETAIL,
|
|
13
|
+
], scopes=[
|
|
14
|
+
OauthScope.CLIENT_PRIVATE,
|
|
15
|
+
], condition=lambda policy: policy.has_at_least_viewer_role())
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
PageBlockLayoutPolicy.allow_actions([
|
|
19
|
+
constants.UPDATE,
|
|
20
|
+
], scopes=[
|
|
21
|
+
OauthScope.CLIENT_PRIVATE,
|
|
22
|
+
], condition=lambda policy: policy.has_at_least_editor_role())
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
PageBlockLayoutPolicy.allow_read(PageBlockLayoutPresenter.default_attributes + [], scopes=[
|
|
26
|
+
OauthScope.CLIENT_PRIVATE,
|
|
27
|
+
], on_action=[
|
|
28
|
+
constants.DETAIL,
|
|
29
|
+
], condition=lambda policy: policy.has_at_least_viewer_role())
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
PageBlockLayoutPolicy.allow_read(PageBlockLayoutPresenter.default_attributes + [], scopes=[
|
|
33
|
+
OauthScope.CLIENT_PRIVATE,
|
|
34
|
+
], on_action=[
|
|
35
|
+
constants.UPDATE,
|
|
36
|
+
], condition=lambda policy: policy.has_at_least_editor_role())
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
PageBlockLayoutPolicy.allow_write([
|
|
40
|
+
'blocks',
|
|
41
|
+
'layout',
|
|
42
|
+
], scopes=[
|
|
43
|
+
OauthScope.CLIENT_PRIVATE,
|
|
44
|
+
], on_action=[
|
|
45
|
+
constants.UPDATE,
|
|
46
|
+
], condition=lambda policy: policy.has_at_least_editor_role())
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import urllib.parse
|
|
2
|
+
|
|
3
|
+
from mage_ai.api.errors import ApiError
|
|
4
|
+
from mage_ai.api.resources.GenericResource import GenericResource
|
|
5
|
+
from mage_ai.presenters.block_layout.page import PageBlockLayout
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class PageBlockLayoutResource(GenericResource):
|
|
9
|
+
@classmethod
|
|
10
|
+
def member(self, pk, user, **kwargs):
|
|
11
|
+
uuid = urllib.parse.unquote(pk)
|
|
12
|
+
model = PageBlockLayout.load(uuid)
|
|
13
|
+
|
|
14
|
+
if not model:
|
|
15
|
+
raise ApiError(ApiError.RESOURCE_NOT_FOUND)
|
|
16
|
+
|
|
17
|
+
return self(model, user, **kwargs)
|
|
18
|
+
|
|
19
|
+
def update(self, payload, **kwargs):
|
|
20
|
+
self.model.blocks = payload.get('blocks')
|
|
21
|
+
self.model.layout = payload.get('layout')
|
|
22
|
+
self.model.save()
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
from enum import Enum
|
|
2
3
|
from typing import Dict, List
|
|
3
4
|
|
|
4
5
|
from sqlalchemy import or_
|
|
@@ -162,7 +163,7 @@ class PipelineResource(BaseResource):
|
|
|
162
163
|
|
|
163
164
|
@classmethod
|
|
164
165
|
@safe_db_query
|
|
165
|
-
def create(self, payload, user, **kwargs):
|
|
166
|
+
async def create(self, payload, user, **kwargs):
|
|
166
167
|
clone_pipeline_uuid = payload.get('clone_pipeline_uuid')
|
|
167
168
|
template_uuid = payload.get('custom_template_uuid')
|
|
168
169
|
name = payload.get('name')
|
|
@@ -172,24 +173,70 @@ class PipelineResource(BaseResource):
|
|
|
172
173
|
if template_uuid:
|
|
173
174
|
custom_template = CustomPipelineTemplate.load(template_uuid=template_uuid)
|
|
174
175
|
pipeline = custom_template.create_pipeline(name)
|
|
175
|
-
elif clone_pipeline_uuid is None:
|
|
176
|
+
elif clone_pipeline_uuid is not None:
|
|
177
|
+
source = Pipeline.get(clone_pipeline_uuid)
|
|
178
|
+
pipeline = Pipeline.duplicate(source, name)
|
|
179
|
+
else:
|
|
176
180
|
pipeline = Pipeline.create(
|
|
177
181
|
name,
|
|
178
182
|
pipeline_type=pipeline_type,
|
|
179
183
|
repo_path=get_repo_path(),
|
|
180
184
|
)
|
|
181
|
-
elif llm_payload:
|
|
182
|
-
llm_use_case = llm_payload.get('use_case')
|
|
183
|
-
# llm_request = llm_payload.get('request')
|
|
184
185
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
186
|
+
if llm_payload:
|
|
187
|
+
llm_use_case = llm_payload.get('use_case')
|
|
188
|
+
|
|
189
|
+
if LLMUseCase.GENERATE_PIPELINE_WITH_DESCRIPTION == llm_use_case:
|
|
190
|
+
llm_resource = await LlmResource.create(llm_payload, user, **kwargs)
|
|
191
|
+
llm_response = llm_resource.model.get('response')
|
|
192
|
+
|
|
193
|
+
blocks_mapping = {}
|
|
194
|
+
|
|
195
|
+
for block_number, block_payload_orig in llm_response.items():
|
|
196
|
+
block_payload = block_payload_orig.copy()
|
|
197
|
+
|
|
198
|
+
configuration = block_payload.get('configuration')
|
|
199
|
+
if configuration:
|
|
200
|
+
for k, v in configuration.items():
|
|
201
|
+
configuration[k] = v.value if isinstance(v, Enum) else v
|
|
202
|
+
|
|
203
|
+
block_payload['configuration'] = configuration
|
|
204
|
+
|
|
205
|
+
block_uuid = f'{pipeline.uuid}_block_{block_number}'
|
|
206
|
+
block_resource = await BlockResource.create(merge_dict(
|
|
207
|
+
dict(
|
|
208
|
+
name=block_uuid,
|
|
209
|
+
type=block_payload.get('block_type'),
|
|
210
|
+
),
|
|
211
|
+
ignore_keys(block_payload, [
|
|
212
|
+
'block_type',
|
|
213
|
+
'upstream_blocks',
|
|
214
|
+
]),
|
|
215
|
+
), user, **merge_dict(kwargs, dict(
|
|
216
|
+
parent_model=pipeline,
|
|
217
|
+
)))
|
|
218
|
+
|
|
219
|
+
upstream_block_uuids = block_payload.get('upstream_blocks')
|
|
220
|
+
|
|
221
|
+
pipeline.add_block(
|
|
222
|
+
block_resource.model,
|
|
223
|
+
None,
|
|
224
|
+
priority=len(upstream_block_uuids) if upstream_block_uuids else 0,
|
|
225
|
+
widget=False,
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
blocks_mapping[block_number] = dict(
|
|
229
|
+
block=block_resource.model,
|
|
230
|
+
upstream_block_uuids=upstream_block_uuids,
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
for block_number, config in blocks_mapping.items():
|
|
234
|
+
upstream_block_uuids = config['upstream_block_uuids']
|
|
235
|
+
|
|
236
|
+
if upstream_block_uuids and len(upstream_block_uuids) >= 1:
|
|
237
|
+
block = config['block']
|
|
238
|
+
arr = [f'{pipeline.uuid}_block_{bn}' for bn in upstream_block_uuids]
|
|
239
|
+
block.update(dict(upstream_blocks=arr))
|
|
193
240
|
|
|
194
241
|
return self(pipeline, user, **kwargs)
|
|
195
242
|
|
|
@@ -2,10 +2,20 @@ import traceback
|
|
|
2
2
|
from typing import Dict
|
|
3
3
|
|
|
4
4
|
from mage_ai.data_preparation.executors.pipeline_executor import PipelineExecutor
|
|
5
|
+
from mage_ai.data_preparation.models.pipeline import Pipeline
|
|
6
|
+
from mage_ai.services.k8s.config import K8sExecutorConfig
|
|
5
7
|
from mage_ai.services.k8s.job_manager import JobManager as K8sJobManager
|
|
8
|
+
from mage_ai.shared.hash import merge_dict
|
|
6
9
|
|
|
7
10
|
|
|
8
11
|
class K8sPipelineExecutor(PipelineExecutor):
|
|
12
|
+
def __init__(self, pipeline: Pipeline, execution_partition: str = None):
|
|
13
|
+
super().__init__(pipeline, execution_partition=execution_partition)
|
|
14
|
+
self.executor_config = self.pipeline.repo_config.k8s_executor_config or dict()
|
|
15
|
+
if self.pipeline.executor_config is not None:
|
|
16
|
+
self.executor_config = merge_dict(self.executor_config, self.pipeline.executor_config)
|
|
17
|
+
self.executor_config = K8sExecutorConfig.load(config=self.executor_config)
|
|
18
|
+
|
|
9
19
|
def cancel(
|
|
10
20
|
self,
|
|
11
21
|
pipeline_run_id: int = None,
|
|
@@ -42,4 +52,7 @@ class K8sPipelineExecutor(PipelineExecutor):
|
|
|
42
52
|
logger=self.logger,
|
|
43
53
|
logging_tags=kwargs.get('tags', dict()),
|
|
44
54
|
)
|
|
45
|
-
job_manager.run_job(
|
|
55
|
+
job_manager.run_job(
|
|
56
|
+
f'{cmd} {options_str}',
|
|
57
|
+
k8s_config=self.executor_config,
|
|
58
|
+
)
|
|
@@ -297,6 +297,7 @@ class DBTBlock(Block):
|
|
|
297
297
|
cmds,
|
|
298
298
|
preexec_fn=os.setsid, # os.setsid doesn't work on Windows
|
|
299
299
|
stdout=stdout,
|
|
300
|
+
stderr=subprocess.STDOUT,
|
|
300
301
|
)
|
|
301
302
|
|
|
302
303
|
if not snapshot:
|
|
@@ -319,6 +320,7 @@ class DBTBlock(Block):
|
|
|
319
320
|
encoding='utf-8',
|
|
320
321
|
preexec_fn=os.setsid, # os.setsid doesn't work on Windows
|
|
321
322
|
stdout=stdout,
|
|
323
|
+
stderr=subprocess.STDOUT,
|
|
322
324
|
universal_newlines=True,
|
|
323
325
|
)
|
|
324
326
|
for line in proc.stdout:
|
|
@@ -1166,7 +1166,8 @@ def build_command_line_arguments(
|
|
|
1166
1166
|
# If args do not contain "--vars", continue.
|
|
1167
1167
|
pass
|
|
1168
1168
|
|
|
1169
|
-
|
|
1169
|
+
# Add non-empty content args
|
|
1170
|
+
args += [c for c in content_args if c]
|
|
1170
1171
|
|
|
1171
1172
|
variables_json = {}
|
|
1172
1173
|
for k, v in variables.items():
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
BLOCK_LAYOUT_FILENAME_WITH_EXTENSION = 'block_layout.yaml'
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
3
|
+
import yaml
|
|
4
|
+
from dataclasses import dataclass, field
|
|
5
|
+
from typing import Dict
|
|
6
|
+
|
|
7
|
+
from mage_ai.data_preparation.repo_manager import RepoConfig, get_repo_config
|
|
8
|
+
from mage_ai.presenters.block_layout.constants import BLOCK_LAYOUT_FILENAME_WITH_EXTENSION
|
|
9
|
+
from mage_ai.presenters.constants import (
|
|
10
|
+
MAGE_PRESENTERS_DIRECTORY_DEFAULT,
|
|
11
|
+
MAGE_PRESENTERS_DIRECTORY_ENVIRONMENT_VARIABLE_NAME,
|
|
12
|
+
)
|
|
13
|
+
from mage_ai.settings.repo import get_repo_path
|
|
14
|
+
from mage_ai.shared.config import BaseConfig
|
|
15
|
+
from mage_ai.shared.hash import merge_dict
|
|
16
|
+
from mage_ai.shared.io import safe_write
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@dataclass
|
|
20
|
+
class PageBlockLayout(BaseConfig):
|
|
21
|
+
blocks: Dict = field(default_factory=dict)
|
|
22
|
+
directory_path: str = None
|
|
23
|
+
layout: Dict = field(default_factory=dict)
|
|
24
|
+
uuid: str = None
|
|
25
|
+
|
|
26
|
+
@classmethod
|
|
27
|
+
def load(self, uuid: str, repo_config=None, repo_path: str = None):
|
|
28
|
+
repo_path_to_use = repo_path or get_repo_path()
|
|
29
|
+
|
|
30
|
+
if repo_config is None:
|
|
31
|
+
repo_config_to_use = get_repo_config(repo_path=repo_path_to_use)
|
|
32
|
+
elif isinstance(repo_config, dict):
|
|
33
|
+
repo_config_to_use = RepoConfig.from_dict(repo_config)
|
|
34
|
+
else:
|
|
35
|
+
repo_config_to_use = repo_config
|
|
36
|
+
|
|
37
|
+
directory_path = os.getenv(
|
|
38
|
+
MAGE_PRESENTERS_DIRECTORY_ENVIRONMENT_VARIABLE_NAME,
|
|
39
|
+
) or os.path.join(
|
|
40
|
+
repo_config_to_use.variables_dir,
|
|
41
|
+
MAGE_PRESENTERS_DIRECTORY_DEFAULT,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
file_path = os.path.join(
|
|
45
|
+
directory_path,
|
|
46
|
+
uuid,
|
|
47
|
+
BLOCK_LAYOUT_FILENAME_WITH_EXTENSION,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
if os.path.isfile(file_path):
|
|
51
|
+
block_layout = super().load(file_path)
|
|
52
|
+
else:
|
|
53
|
+
block_layout = self()
|
|
54
|
+
|
|
55
|
+
block_layout.directory_path = directory_path
|
|
56
|
+
block_layout.uuid = uuid
|
|
57
|
+
|
|
58
|
+
return block_layout
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def file_path(self) -> str:
|
|
62
|
+
return os.path.join(
|
|
63
|
+
self.directory_path,
|
|
64
|
+
self.uuid,
|
|
65
|
+
BLOCK_LAYOUT_FILENAME_WITH_EXTENSION,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
def to_dict(self, include_content: bool = False) -> Dict:
|
|
69
|
+
return merge_dict(self.to_dict_base(), dict(
|
|
70
|
+
uuid=self.uuid,
|
|
71
|
+
))
|
|
72
|
+
|
|
73
|
+
def to_dict_base(self) -> Dict:
|
|
74
|
+
return dict(
|
|
75
|
+
blocks=self.blocks,
|
|
76
|
+
layout=self.layout,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
def save(self) -> None:
|
|
80
|
+
content = yaml.safe_dump(self.to_dict_base())
|
|
81
|
+
file_path = self.file_path
|
|
82
|
+
os.makedirs(os.path.dirname(file_path), exist_ok=True)
|
|
83
|
+
safe_write(file_path, content)
|
|
84
|
+
|
|
85
|
+
def delete(self) -> None:
|
|
86
|
+
shutil.rmtree(self.file_path)
|
mage_ai/server/api/v1.py
CHANGED
|
@@ -62,3 +62,19 @@ class ApiResourceListHandler(BaseApiHandler):
|
|
|
62
62
|
|
|
63
63
|
async def post(self, resource):
|
|
64
64
|
return await execute_operation(self, resource)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class ApiListHandler(BaseApiHandler):
|
|
68
|
+
def initialize(
|
|
69
|
+
self,
|
|
70
|
+
resource: str,
|
|
71
|
+
bypass_oauth_check: bool = False,
|
|
72
|
+
):
|
|
73
|
+
super().initialize(bypass_oauth_check=bypass_oauth_check)
|
|
74
|
+
self.resource = resource
|
|
75
|
+
|
|
76
|
+
async def get(self):
|
|
77
|
+
return await execute_operation(self, self.resource)
|
|
78
|
+
|
|
79
|
+
async def post(self):
|
|
80
|
+
return await execute_operation(self, self.resource)
|
mage_ai/server/constants.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-8f51011a10b384a1.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-714e8aae7672e1fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b3714d5d4fc803a8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-8f51011a10b384a1.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-714e8aae7672e1fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b3714d5d4fc803a8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/DTEnEDO68KRvd3eboRuhE/_buildManifest.js" defer=""></script><script src="/_next/static/DTEnEDO68KRvd3eboRuhE/_ssgManifest.js" defer=""></script><script src="/_next/static/DTEnEDO68KRvd3eboRuhE/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.6">html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;}/*!sc*/
|
|
2
2
|
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}/*!sc*/
|
|
3
3
|
data-styled.g4[id="sc-global-czSCUT1"]{content:"sc-global-czSCUT1,"}/*!sc*/
|
|
4
4
|
.kOVcuR .Toastify__toast-container{margin-top:24px;padding:0 !important;width:500px !important;}/*!sc*/
|
|
@@ -19,4 +19,4 @@ data-styled.g5[id="ToastWrapper-sc-1a33ph1-0"]{content:"kOVcuR,"}/*!sc*/
|
|
|
19
19
|
.next-error-h1 {
|
|
20
20
|
border-right: 1px solid rgba(255, 255, 255, .3);
|
|
21
21
|
}
|
|
22
|
-
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanLight":"rgba(101, 227, 255, 0.3)","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"rgb(255, 79, 248, 0.5)","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","rose":"#D1A2AB","roseLight":"rgba(209, 162, 171, 0.5)","sky":"#6AA1E0","skyLight":"rgba(106, 161, 224, 0.05)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","dashboard":"#18181C","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","successLight":"rgb(138, 222, 0, 0.3)","table":"#292A2F","tag":"#3A4550"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","linkTextLight":"#9ECBFF","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF","whiteTransparent":"rgba(255, 255, 255, 0.6)"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"
|
|
22
|
+
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanLight":"rgba(101, 227, 255, 0.3)","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"rgb(255, 79, 248, 0.5)","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","rose":"#D1A2AB","roseLight":"rgba(209, 162, 171, 0.5)","sky":"#6AA1E0","skyLight":"rgba(106, 161, 224, 0.05)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","dashboard":"#18181C","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","successLight":"rgb(138, 222, 0, 0.3)","table":"#292A2F","tag":"#3A4550"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","linkTextLight":"#9ECBFF","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF","whiteTransparent":"rgba(255, 255, 255, 0.6)"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"DTEnEDO68KRvd3eboRuhE","nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-8f51011a10b384a1.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-714e8aae7672e1fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b3714d5d4fc803a8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-8f51011a10b384a1.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-714e8aae7672e1fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b3714d5d4fc803a8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/DTEnEDO68KRvd3eboRuhE/_buildManifest.js" defer=""></script><script src="/_next/static/DTEnEDO68KRvd3eboRuhE/_ssgManifest.js" defer=""></script><script src="/_next/static/DTEnEDO68KRvd3eboRuhE/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.6">html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;}/*!sc*/
|
|
2
2
|
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}/*!sc*/
|
|
3
3
|
data-styled.g4[id="sc-global-czSCUT1"]{content:"sc-global-czSCUT1,"}/*!sc*/
|
|
4
4
|
.kOVcuR .Toastify__toast-container{margin-top:24px;padding:0 !important;width:500px !important;}/*!sc*/
|
|
@@ -19,4 +19,4 @@ data-styled.g5[id="ToastWrapper-sc-1a33ph1-0"]{content:"kOVcuR,"}/*!sc*/
|
|
|
19
19
|
.next-error-h1 {
|
|
20
20
|
border-right: 1px solid rgba(255, 255, 255, .3);
|
|
21
21
|
}
|
|
22
|
-
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanLight":"rgba(101, 227, 255, 0.3)","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"rgb(255, 79, 248, 0.5)","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","rose":"#D1A2AB","roseLight":"rgba(209, 162, 171, 0.5)","sky":"#6AA1E0","skyLight":"rgba(106, 161, 224, 0.05)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","dashboard":"#18181C","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","successLight":"rgb(138, 222, 0, 0.3)","table":"#292A2F","tag":"#3A4550"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","linkTextLight":"#9ECBFF","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF","whiteTransparent":"rgba(255, 255, 255, 0.6)"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"
|
|
22
|
+
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanLight":"rgba(101, 227, 255, 0.3)","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"rgb(255, 79, 248, 0.5)","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","rose":"#D1A2AB","roseLight":"rgba(209, 162, 171, 0.5)","sky":"#6AA1E0","skyLight":"rgba(106, 161, 224, 0.05)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","dashboard":"#18181C","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","successLight":"rgb(138, 222, 0, 0.3)","table":"#292A2F","tag":"#3A4550"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","linkTextLight":"#9ECBFF","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF","whiteTransparent":"rgba(255, 255, 255, 0.6)"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"DTEnEDO68KRvd3eboRuhE","nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,i,a,c,t,n,p,l,u,g,d,r,f,k,b,h,j,o,m,_,w,v,y,I,B,F,A,D,E,L,M,N,S,T,U){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/pages/index-32917acd76697307.js"],"/_error":["static/chunks/pages/_error-235304e5badb19eb.js"],"/files":[s,a,d,v,"static/chunks/5643-1f8a6d8a392fe96b.js",e,i,c,t,r,f,B,"static/chunks/pages/files-4dd0647a0f9de375.js"],"/global-data-products":[s,a,e,i,c,h,y,D,"static/chunks/pages/global-data-products-e3e61463b386d805.js"],"/global-data-products/[...slug]":[s,a,e,i,c,h,y,D,"static/chunks/pages/global-data-products/[...slug]-76692897b5c7427a.js"],"/manage":[s,a,d,e,i,c,t,r,"static/chunks/pages/manage-4d1967a685b5a7d7.js"],"/manage/settings":[s,a,d,"static/chunks/4398-5d5c07021ccd37b8.js",e,i,t,r,"static/chunks/pages/manage/settings-06b47c144682af33.js"],"/manage/users":[s,e,i,c,"static/chunks/pages/manage/users-ec748f838b7b8fad.js"],"/manage/users/new":[s,e,i,I,"static/chunks/pages/manage/users/new-dd41d718cbb5990c.js"],"/manage/users/[user]":[s,e,i,c,I,"static/chunks/pages/manage/users/[user]-3b502aa6d1a04cad.js"],"/overview":[s,a,p,l,g,d,k,j,o,m,e,i,c,t,u,r,b,f,_,F,E,L,"static/chunks/pages/overview-d12c3b172bd25751.js"],"/pipeline-runs":[s,a,e,i,c,h,"static/chunks/pages/pipeline-runs-a358405cc6851b55.js"],"/pipelines":[s,a,p,l,g,d,k,o,e,i,c,t,u,r,b,f,_,F,E,"static/chunks/pages/pipelines-bf8a8f58e19dca2d.js"],"/pipelines/[pipeline]":["static/chunks/pages/pipelines/[pipeline]-ca9457e1a6bced4b.js"],"/pipelines/[pipeline]/backfills":[s,a,e,i,c,n,"static/chunks/pages/pipelines/[pipeline]/backfills-63f0524bf604ad08.js"],"/pipelines/[pipeline]/backfills/[...slug]":[s,a,p,l,g,w,A,e,i,c,t,n,u,h,"static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-af67323af26d9cbf.js"],"/pipelines/[pipeline]/edit":[M,s,a,p,l,g,d,k,j,w,o,m,v,N,"static/chunks/2991-d0b13a172f9c1dcd.js",e,i,c,t,u,r,b,f,_,B,S,"static/chunks/pages/pipelines/[pipeline]/edit-a214672a55b1ce9f.js"],"/pipelines/[pipeline]/logs":[s,a,p,k,A,e,i,c,t,n,b,"static/chunks/pages/pipelines/[pipeline]/logs-648c7ba3b2f86ab7.js"],"/pipelines/[pipeline]/monitors":[s,a,j,m,"static/chunks/2834-d2a1c03968995e8e.js",e,i,n,L,"static/chunks/pages/pipelines/[pipeline]/monitors-9fa0c4ce1c921a41.js"],"/pipelines/[pipeline]/monitors/block-runs":[s,a,j,m,"static/chunks/9404-1fb0792716d46efc.js",e,i,t,n,"static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-9eef0c0e0826758c.js"],"/pipelines/[pipeline]/monitors/block-runtime":[M,s,a,j,m,"static/chunks/9464-84f4879568c00a93.js",e,i,t,n,"static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-cd53b52bb605efc5.js"],"/pipelines/[pipeline]/runs":[s,a,p,l,g,w,e,i,c,t,n,u,h,T,"static/chunks/pages/pipelines/[pipeline]/runs-9e9fcf3d102d0321.js"],"/pipelines/[pipeline]/runs/[run]":[s,a,p,l,g,k,j,w,N,e,i,c,t,n,u,b,S,T,"static/chunks/pages/pipelines/[pipeline]/runs/[run]-b6c0e3072d70a707.js"],"/pipelines/[pipeline]/settings":[s,a,e,i,n,U,"static/chunks/pages/pipelines/[pipeline]/settings-f9aa70996abe640b.js"],"/pipelines/[pipeline]/syncs":[s,a,e,i,c,n,"static/chunks/pages/pipelines/[pipeline]/syncs-8cbd966d8080a862.js"],"/pipelines/[pipeline]/triggers":[s,a,p,l,e,i,c,t,n,u,y,"static/chunks/pages/pipelines/[pipeline]/triggers-8c40192b2d7f80c2.js"],"/pipelines/[pipeline]/triggers/[...slug]":[s,a,p,l,g,w,A,"static/chunks/9302-913007e2f801ad65.js",e,i,c,t,n,u,h,U,"static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-a17b40b59c866699.js"],"/settings":["static/chunks/pages/settings-d594a66a568306da.js"],"/settings/account/profile":[s,e,i,I,"static/chunks/pages/settings/account/profile-c3ff06a12baa40a2.js"],"/settings/workspace/preferences":[s,e,i,"static/chunks/pages/settings/workspace/preferences-60b4398d7ae00206.js"],"/settings/workspace/sync-data":[s,e,i,"static/chunks/pages/settings/workspace/sync-data-05b53444f0e7449b.js"],"/settings/workspace/users":[s,e,i,c,I,"static/chunks/pages/settings/workspace/users-1fa319d0e4cfbe4e.js"],"/sign-in":[s,e,"static/chunks/pages/sign-in-a5e9561a6c0d2e38.js"],"/templates":[s,a,p,l,g,d,k,o,e,i,c,t,u,r,b,f,_,F,"static/chunks/pages/templates-ce2a29d477a6ce94.js"],"/templates/[...slug]":[s,a,p,l,g,d,k,o,e,i,c,t,u,r,b,f,_,"static/chunks/pages/templates/[...slug]-c21b269750441494.js"],"/terminal":[s,e,i,"static/chunks/pages/terminal-5f9487966e297cc5.js"],"/test":[v,"static/chunks/pages/test-b24d77dc84843924.js"],"/triggers":[s,a,e,i,c,y,"static/chunks/pages/triggers-a50d6461a2faa665.js"],"/version-control":[s,a,v,"static/chunks/7768-2325216ed654ad05.js",e,i,c,t,f,B,"static/chunks/pages/version-control-1dc780d52fbd1573.js"],sortedPages:["/","/_app","/_error","/files","/global-data-products","/global-data-products/[...slug]","/manage","/manage/settings","/manage/users","/manage/users/new","/manage/users/[user]","/overview","/pipeline-runs","/pipelines","/pipelines/[pipeline]","/pipelines/[pipeline]/backfills","/pipelines/[pipeline]/backfills/[...slug]","/pipelines/[pipeline]/edit","/pipelines/[pipeline]/logs","/pipelines/[pipeline]/monitors","/pipelines/[pipeline]/monitors/block-runs","/pipelines/[pipeline]/monitors/block-runtime","/pipelines/[pipeline]/runs","/pipelines/[pipeline]/runs/[run]","/pipelines/[pipeline]/settings","/pipelines/[pipeline]/syncs","/pipelines/[pipeline]/triggers","/pipelines/[pipeline]/triggers/[...slug]","/settings","/settings/account/profile","/settings/workspace/preferences","/settings/workspace/sync-data","/settings/workspace/users","/sign-in","/templates","/templates/[...slug]","/terminal","/test","/triggers","/version-control"]}}("static/chunks/844-1e171f361e63b36d.js","static/chunks/1424-165f8ba2645e5d79.js","static/chunks/1005-a2f0e3ee378ef02b.js","static/chunks/9902-b7981346a40ecdc3.js","static/chunks/7815-b236acd0d9bbf1c0.js","static/chunks/6422-3f8c932bf4363924.js","static/chunks/547-bd961ea93f3eb98b.js","static/chunks/426-df62b0bd693bbb87.js","static/chunks/1774-aa51ef1da7217ff9.js","static/chunks/8952-050e60a8b1eaa32a.js","static/chunks/8792-10e45963e2486454.js","static/chunks/8789-4f858e520d46973b.js","static/chunks/7722-76c724a66240561b.js","static/chunks/3391-e1578fe1bdb5a557.js","static/chunks/4259-b71c17f69499f7bd.js","static/chunks/4822-ee62acb1927c8150.js","static/chunks/7496-2cbb5a6e63fe5e1a.js","static/chunks/5896-42c94d54cd2c5706.js","static/chunks/9055-d0d25298cb5f4e45.js","static/chunks/2714-1e79e9f2e998b544.js","static/chunks/1484-e209ef2f20fcfc81.js","static/chunks/7849-1081cd94cceb0227.js","static/chunks/7011-81dd8269c4806d26.js","static/chunks/7225-3460871e3daa1137.js","static/chunks/3881-131cf690e54c23a3.js","static/chunks/6299-9b785c07dacf22b3.js","static/chunks/2485-39885e5335888821.js","static/chunks/4495-4f0340aa82e0c623.js","static/chunks/1933-bf7e70107a50ed59.js","static/chunks/4250-9944d52bed19617c.js","static/chunks/6786-56e7c873e9fc25b1.js","static/chunks/29107295-989a0767a635d9d5.js","static/chunks/5872-1767c45ee6690ae5.js","static/chunks/437-331193bd9b2fe777.js","static/chunks/1805-fd8a9883931b898e.js","static/chunks/8190-d38ed1133030797d.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|