@keboola/api-client 1.0.0 → 2.0.0
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/dist/ai/index.cjs +5 -201
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.js +2 -201
- package/dist/ai/index.js.map +1 -1
- package/dist/assets/index.cjs +5 -180
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.js +2 -180
- package/dist/assets/index.js.map +1 -1
- package/dist/chat/index.cjs +6 -422
- package/dist/chat/index.cjs.map +1 -1
- package/dist/chat/index.d.cts +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +3 -422
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/suggestions.cjs +70 -152
- package/dist/chat/suggestions.cjs.map +1 -1
- package/dist/chat/suggestions.js +1 -138
- package/dist/chat/suggestions.js.map +1 -1
- package/dist/chat/types.d.cts +1 -1
- package/dist/chat/types.d.ts +1 -1
- package/dist/chunk-345V46LR.cjs +934 -0
- package/dist/chunk-345V46LR.cjs.map +1 -0
- package/dist/chunk-3B7L6MCG.js +189 -0
- package/dist/chunk-3B7L6MCG.js.map +1 -0
- package/dist/chunk-3T54WH4X.cjs +42 -0
- package/dist/chunk-3T54WH4X.cjs.map +1 -0
- package/dist/chunk-3Y6NK7TC.js +34 -0
- package/dist/chunk-3Y6NK7TC.js.map +1 -0
- package/dist/chunk-4N7XBMWP.js +930 -0
- package/dist/chunk-4N7XBMWP.js.map +1 -0
- package/dist/chunk-4RC5E3SL.js +140 -0
- package/dist/chunk-4RC5E3SL.js.map +1 -0
- package/dist/chunk-633QJMHH.cjs +73 -0
- package/dist/chunk-633QJMHH.cjs.map +1 -0
- package/dist/chunk-6RQDX6JY.cjs +132 -0
- package/dist/chunk-6RQDX6JY.cjs.map +1 -0
- package/dist/chunk-76AHKXLC.cjs +29 -0
- package/dist/chunk-76AHKXLC.cjs.map +1 -0
- package/dist/chunk-7FY6COWG.js +71 -0
- package/dist/chunk-7FY6COWG.js.map +1 -0
- package/dist/chunk-7J2R6XHB.js +3 -0
- package/dist/chunk-7J2R6XHB.js.map +1 -0
- package/dist/chunk-BGLICNTG.cjs +33 -0
- package/dist/chunk-BGLICNTG.cjs.map +1 -0
- package/dist/chunk-BR3SBEFE.cjs +182 -0
- package/dist/chunk-BR3SBEFE.cjs.map +1 -0
- package/dist/chunk-CVV4HROS.cjs +37 -0
- package/dist/chunk-CVV4HROS.cjs.map +1 -0
- package/dist/chunk-DCTDH77P.cjs +277 -0
- package/dist/chunk-DCTDH77P.cjs.map +1 -0
- package/dist/chunk-EBCZUGUX.js +35 -0
- package/dist/chunk-EBCZUGUX.js.map +1 -0
- package/dist/chunk-EY5LALX2.cjs +26 -0
- package/dist/chunk-EY5LALX2.cjs.map +1 -0
- package/dist/chunk-FBQHHAL5.js +40 -0
- package/dist/chunk-FBQHHAL5.js.map +1 -0
- package/dist/chunk-GF4XZK5N.cjs +43 -0
- package/dist/chunk-GF4XZK5N.cjs.map +1 -0
- package/dist/chunk-GNPQB3MT.js +27 -0
- package/dist/chunk-GNPQB3MT.js.map +1 -0
- package/dist/chunk-GO6SOMGL.js +181 -0
- package/dist/chunk-GO6SOMGL.js.map +1 -0
- package/dist/chunk-HCNNMUTR.cjs +36 -0
- package/dist/chunk-HCNNMUTR.cjs.map +1 -0
- package/dist/chunk-HPVTVQBJ.cjs +238 -0
- package/dist/chunk-HPVTVQBJ.cjs.map +1 -0
- package/dist/chunk-HYUGRMCY.cjs +247 -0
- package/dist/chunk-HYUGRMCY.cjs.map +1 -0
- package/dist/chunk-IJMQCOBC.js +34 -0
- package/dist/chunk-IJMQCOBC.js.map +1 -0
- package/dist/chunk-IY3VNVXD.cjs +183 -0
- package/dist/chunk-IY3VNVXD.cjs.map +1 -0
- package/dist/chunk-JKFIB6SQ.cjs +685 -0
- package/dist/chunk-JKFIB6SQ.cjs.map +1 -0
- package/dist/chunk-JLNOESHX.cjs +47 -0
- package/dist/chunk-JLNOESHX.cjs.map +1 -0
- package/dist/chunk-JURD5MC3.js +178 -0
- package/dist/chunk-JURD5MC3.js.map +1 -0
- package/dist/chunk-LV3ZWNDC.js +75 -0
- package/dist/chunk-LV3ZWNDC.js.map +1 -0
- package/dist/chunk-LZ6A6J2E.cjs +77 -0
- package/dist/chunk-LZ6A6J2E.cjs.map +1 -0
- package/dist/chunk-OKVYLO6C.js +108 -0
- package/dist/chunk-OKVYLO6C.js.map +1 -0
- package/dist/chunk-PD3LJYS2.js +218 -0
- package/dist/chunk-PD3LJYS2.js.map +1 -0
- package/dist/chunk-PV4HIVW2.js +130 -0
- package/dist/chunk-PV4HIVW2.js.map +1 -0
- package/dist/chunk-R7PD3BRA.js +261 -0
- package/dist/chunk-R7PD3BRA.js.map +1 -0
- package/dist/chunk-SAEG42HW.js +64 -0
- package/dist/chunk-SAEG42HW.js.map +1 -0
- package/dist/chunk-TIIRBQUA.cjs +110 -0
- package/dist/chunk-TIIRBQUA.cjs.map +1 -0
- package/dist/chunk-TXFQ4YIK.js +31 -0
- package/dist/chunk-TXFQ4YIK.js.map +1 -0
- package/dist/chunk-U5SE6W5M.cjs +158 -0
- package/dist/chunk-U5SE6W5M.cjs.map +1 -0
- package/dist/chunk-UABYNGBZ.js +39 -0
- package/dist/chunk-UABYNGBZ.js.map +1 -0
- package/dist/chunk-UXF53ZOV.js +220 -0
- package/dist/chunk-UXF53ZOV.js.map +1 -0
- package/dist/chunk-VAOCYA6B.js +20 -0
- package/dist/chunk-VAOCYA6B.js.map +1 -0
- package/dist/chunk-VS5PM7KL.js +45 -0
- package/dist/chunk-VS5PM7KL.js.map +1 -0
- package/dist/chunk-WQ7EZWBF.js +24 -0
- package/dist/chunk-WQ7EZWBF.js.map +1 -0
- package/dist/chunk-XPDEQND7.cjs +4 -0
- package/dist/chunk-XPDEQND7.cjs.map +1 -0
- package/dist/chunk-XUDMML5C.cjs +211 -0
- package/dist/chunk-XUDMML5C.cjs.map +1 -0
- package/dist/chunk-YPCD7M2N.cjs +22 -0
- package/dist/chunk-YPCD7M2N.cjs.map +1 -0
- package/dist/chunk-YUEYMIMI.cjs +67 -0
- package/dist/chunk-YUEYMIMI.cjs.map +1 -0
- package/dist/chunk-YXCVNX2Q.cjs +36 -0
- package/dist/chunk-YXCVNX2Q.cjs.map +1 -0
- package/dist/chunk-ZEMKE6DI.js +681 -0
- package/dist/chunk-ZEMKE6DI.js.map +1 -0
- package/dist/dataScience/index.cjs +8 -412
- package/dist/dataScience/index.cjs.map +1 -1
- package/dist/dataScience/index.js +2 -391
- package/dist/dataScience/index.js.map +1 -1
- package/dist/domain/permissions/index.cjs +131 -2
- package/dist/domain/permissions/index.cjs.map +1 -1
- package/dist/domain/permissions/index.d.cts +108 -2
- package/dist/domain/permissions/index.d.ts +108 -2
- package/dist/domain/permissions/index.js +106 -3
- package/dist/domain/permissions/index.js.map +1 -1
- package/dist/editor/index.cjs +5 -264
- package/dist/editor/index.cjs.map +1 -1
- package/dist/editor/index.js +2 -264
- package/dist/editor/index.js.map +1 -1
- package/dist/encryption/index.cjs +5 -190
- package/dist/encryption/index.cjs.map +1 -1
- package/dist/encryption/index.js +2 -190
- package/dist/encryption/index.js.map +1 -1
- package/dist/import/index.cjs +5 -196
- package/dist/import/index.cjs.map +1 -1
- package/dist/import/index.js +2 -196
- package/dist/import/index.js.map +1 -1
- package/dist/index.cjs +314 -3569
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2004 -105
- package/dist/index.d.ts +2004 -105
- package/dist/index.js +176 -3464
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +10 -881
- package/dist/management/index.cjs.map +1 -1
- package/dist/management/index.js +3 -880
- package/dist/management/index.js.map +1 -1
- package/dist/metastore/index.cjs +5 -337
- package/dist/metastore/index.cjs.map +1 -1
- package/dist/metastore/index.js +2 -337
- package/dist/metastore/index.js.map +1 -1
- package/dist/oauth/index.cjs +5 -226
- package/dist/oauth/index.cjs.map +1 -1
- package/dist/oauth/index.js +2 -226
- package/dist/oauth/index.js.map +1 -1
- package/dist/project-Bzslbq4u.d.ts +16 -0
- package/dist/project-CYhB6rYN.d.cts +16 -0
- package/dist/queryService/index.cjs +5 -248
- package/dist/queryService/index.cjs.map +1 -1
- package/dist/queryService/index.js +2 -248
- package/dist/queryService/index.js.map +1 -1
- package/dist/queue/index.cjs +5 -190
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.js +2 -190
- package/dist/queue/index.js.map +1 -1
- package/dist/sdk/configurations/index.d.cts +2 -12
- package/dist/sdk/configurations/index.d.ts +2 -12
- package/dist/sdk/storage/index.cjs +49 -248
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +2 -2
- package/dist/sdk/storage/index.d.ts +2 -2
- package/dist/sdk/storage/index.js +1 -240
- package/dist/sdk/storage/index.js.map +1 -1
- package/dist/sdk/tag/index.cjs +6 -203
- package/dist/sdk/tag/index.cjs.map +1 -1
- package/dist/sdk/tag/index.js +2 -206
- package/dist/sdk/tag/index.js.map +1 -1
- package/dist/status/index.cjs +6 -176
- package/dist/status/index.cjs.map +1 -1
- package/dist/status/index.js +3 -176
- package/dist/status/index.js.map +1 -1
- package/dist/status/types.cjs +2 -0
- package/dist/status/types.js +1 -1
- package/dist/storage/index.cjs +9 -1023
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.cts +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +3 -1023
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.d.cts +68 -5
- package/dist/storage/types.d.ts +68 -5
- package/dist/{storageClient-C8LDO4gr.d.ts → storageClient-BicsbzZy.d.ts} +7 -1
- package/dist/{storageClient-D05fdGHW.d.cts → storageClient-CmK1LPHr.d.cts} +7 -1
- package/dist/storageSdk-BZ7ZW6_h.d.cts +143 -0
- package/dist/storageSdk-DCcD68FQ.d.ts +143 -0
- package/dist/syncActions/index.cjs +5 -364
- package/dist/syncActions/index.cjs.map +1 -1
- package/dist/syncActions/index.js +2 -345
- package/dist/syncActions/index.js.map +1 -1
- package/dist/telemetry/index.cjs +5 -187
- package/dist/telemetry/index.cjs.map +1 -1
- package/dist/telemetry/index.js +2 -187
- package/dist/telemetry/index.js.map +1 -1
- package/dist/{types-DJ6nbNq5.d.cts → types-CNkgmuhe.d.cts} +1 -1
- package/dist/{types-BjrNNn5I.d.ts → types-DzwzVgyG.d.ts} +1 -1
- package/dist/vault/index.cjs +5 -219
- package/dist/vault/index.cjs.map +1 -1
- package/dist/vault/index.js +2 -219
- package/dist/vault/index.js.map +1 -1
- package/dist/verify/index.cjs +5 -184
- package/dist/verify/index.cjs.map +1 -1
- package/dist/verify/index.js +2 -184
- package/dist/verify/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/storageSdk-CX03lGn-.d.ts +0 -18
- package/dist/storageSdk-DZV4nB3o.d.cts +0 -18
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/clients/chat/suggestions.ts
|
|
6
|
+
var SUGGESTION_CATEGORIES = ["error", "maintenance", "documentation"];
|
|
7
|
+
var suggestionCategorySchema = zod.z.enum(SUGGESTION_CATEGORIES);
|
|
8
|
+
var suggestionSchema = zod.z.object({
|
|
9
|
+
label: zod.z.preprocess((v) => typeof v === "string" ? v.slice(0, 80) : v, zod.z.string().max(80)),
|
|
10
|
+
prompt: zod.z.string(),
|
|
11
|
+
priority: zod.z.number().int().min(1).max(3),
|
|
12
|
+
category: suggestionCategorySchema,
|
|
13
|
+
reasoning: zod.z.string()
|
|
14
|
+
});
|
|
15
|
+
var suggestionsResponseSchema = zod.z.object({
|
|
16
|
+
suggestions: zod.z.array(suggestionSchema).max(4)
|
|
17
|
+
});
|
|
18
|
+
var suggestionWithIdSchema = suggestionSchema.extend({
|
|
19
|
+
id: zod.z.string()
|
|
20
|
+
});
|
|
21
|
+
var suggestionsApiResponseSchema = zod.z.object({
|
|
22
|
+
suggestions: zod.z.array(suggestionWithIdSchema).max(4),
|
|
23
|
+
suggestionSessionId: zod.z.string()
|
|
24
|
+
});
|
|
25
|
+
var recentFailedJobSchema = zod.z.object({
|
|
26
|
+
id: zod.z.string(),
|
|
27
|
+
status: zod.z.enum(["error", "warning"]),
|
|
28
|
+
component: zod.z.string(),
|
|
29
|
+
configId: zod.z.string(),
|
|
30
|
+
configName: zod.z.string().optional(),
|
|
31
|
+
createdTime: zod.z.string(),
|
|
32
|
+
durationSeconds: zod.z.number().int().nonnegative().optional(),
|
|
33
|
+
errorMessage: zod.z.string().max(200).optional()
|
|
34
|
+
});
|
|
35
|
+
var deprecatedComponentSchema = zod.z.object({
|
|
36
|
+
id: zod.z.string(),
|
|
37
|
+
name: zod.z.string(),
|
|
38
|
+
type: zod.z.string(),
|
|
39
|
+
expiredOn: zod.z.string(),
|
|
40
|
+
configCount: zod.z.number().int().nonnegative()
|
|
41
|
+
});
|
|
42
|
+
var userRecentEditSchema = zod.z.object({
|
|
43
|
+
component: zod.z.string(),
|
|
44
|
+
configId: zod.z.string(),
|
|
45
|
+
configName: zod.z.string(),
|
|
46
|
+
lastEdited: zod.z.string()
|
|
47
|
+
});
|
|
48
|
+
var dashboardContextDataSchema = zod.z.object({
|
|
49
|
+
recentFailedJobs: zod.z.array(recentFailedJobSchema).max(5),
|
|
50
|
+
deprecatedComponents: zod.z.array(deprecatedComponentSchema).max(5),
|
|
51
|
+
userRecentEdits: zod.z.array(userRecentEditSchema).max(5),
|
|
52
|
+
currentUserEmail: zod.z.string().email()
|
|
53
|
+
});
|
|
54
|
+
var JOB_STATUSES = [
|
|
55
|
+
"created",
|
|
56
|
+
"waiting",
|
|
57
|
+
"processing",
|
|
58
|
+
"success",
|
|
59
|
+
"error",
|
|
60
|
+
"terminating",
|
|
61
|
+
"terminated",
|
|
62
|
+
"cancelled",
|
|
63
|
+
"warning"
|
|
64
|
+
];
|
|
65
|
+
var jobDetailContextDataSchema = zod.z.object({
|
|
66
|
+
job: zod.z.object({
|
|
67
|
+
id: zod.z.string(),
|
|
68
|
+
status: zod.z.enum(JOB_STATUSES),
|
|
69
|
+
component: zod.z.string(),
|
|
70
|
+
configId: zod.z.string().optional(),
|
|
71
|
+
configName: zod.z.string().optional(),
|
|
72
|
+
createdTime: zod.z.string(),
|
|
73
|
+
startTime: zod.z.string().optional(),
|
|
74
|
+
endTime: zod.z.string().optional(),
|
|
75
|
+
durationSeconds: zod.z.number().int().nonnegative().optional(),
|
|
76
|
+
errorMessage: zod.z.string().max(500).optional(),
|
|
77
|
+
errorType: zod.z.enum(["user", "application"]).optional(),
|
|
78
|
+
backendSize: zod.z.string().optional()
|
|
79
|
+
}),
|
|
80
|
+
component: zod.z.object({
|
|
81
|
+
id: zod.z.string(),
|
|
82
|
+
name: zod.z.string(),
|
|
83
|
+
type: zod.z.string()
|
|
84
|
+
}).optional(),
|
|
85
|
+
runtimeHistory: zod.z.object({
|
|
86
|
+
averageDurationSeconds: zod.z.number().nonnegative().optional(),
|
|
87
|
+
minDurationSeconds: zod.z.number().nonnegative().optional(),
|
|
88
|
+
maxDurationSeconds: zod.z.number().nonnegative().optional(),
|
|
89
|
+
recentJobsCount: zod.z.number().int().nonnegative(),
|
|
90
|
+
isSlowerThanAverage: zod.z.boolean().optional(),
|
|
91
|
+
isFasterThanAverage: zod.z.boolean().optional(),
|
|
92
|
+
percentageDifference: zod.z.number().optional()
|
|
93
|
+
}).optional(),
|
|
94
|
+
currentUserEmail: zod.z.string().email()
|
|
95
|
+
});
|
|
96
|
+
var configurationDetailContextDataSchema = zod.z.object({
|
|
97
|
+
configuration: zod.z.object({
|
|
98
|
+
id: zod.z.string(),
|
|
99
|
+
name: zod.z.string(),
|
|
100
|
+
description: zod.z.string().max(500).optional(),
|
|
101
|
+
component: zod.z.string(),
|
|
102
|
+
hasRows: zod.z.boolean(),
|
|
103
|
+
rowCount: zod.z.number().int().nonnegative().optional(),
|
|
104
|
+
lastChangeDescription: zod.z.string().max(200).optional()
|
|
105
|
+
}),
|
|
106
|
+
component: zod.z.object({
|
|
107
|
+
id: zod.z.string(),
|
|
108
|
+
name: zod.z.string(),
|
|
109
|
+
type: zod.z.string()
|
|
110
|
+
}).optional(),
|
|
111
|
+
latestJobs: zod.z.array(
|
|
112
|
+
zod.z.object({
|
|
113
|
+
id: zod.z.string(),
|
|
114
|
+
status: zod.z.enum(JOB_STATUSES),
|
|
115
|
+
durationSeconds: zod.z.number().int().nonnegative().optional(),
|
|
116
|
+
errorMessage: zod.z.string().max(200).optional(),
|
|
117
|
+
createdTime: zod.z.string()
|
|
118
|
+
})
|
|
119
|
+
).max(5).optional(),
|
|
120
|
+
currentUserEmail: zod.z.string().email()
|
|
121
|
+
});
|
|
122
|
+
var dashboardSuggestionsRequestSchema = zod.z.object({
|
|
123
|
+
context: zod.z.literal("dashboard"),
|
|
124
|
+
data: dashboardContextDataSchema
|
|
125
|
+
});
|
|
126
|
+
var jobDetailSuggestionsRequestSchema = zod.z.object({
|
|
127
|
+
context: zod.z.literal("job-detail"),
|
|
128
|
+
data: jobDetailContextDataSchema
|
|
129
|
+
});
|
|
130
|
+
var configurationDetailSuggestionsRequestSchema = zod.z.object({
|
|
131
|
+
context: zod.z.literal("configuration-detail"),
|
|
132
|
+
data: configurationDetailContextDataSchema
|
|
133
|
+
});
|
|
134
|
+
var suggestionsRequestSchema = zod.z.discriminatedUnion("context", [
|
|
135
|
+
dashboardSuggestionsRequestSchema,
|
|
136
|
+
jobDetailSuggestionsRequestSchema,
|
|
137
|
+
configurationDetailSuggestionsRequestSchema
|
|
138
|
+
]);
|
|
139
|
+
|
|
140
|
+
exports.JOB_STATUSES = JOB_STATUSES;
|
|
141
|
+
exports.SUGGESTION_CATEGORIES = SUGGESTION_CATEGORIES;
|
|
142
|
+
exports.configurationDetailContextDataSchema = configurationDetailContextDataSchema;
|
|
143
|
+
exports.configurationDetailSuggestionsRequestSchema = configurationDetailSuggestionsRequestSchema;
|
|
144
|
+
exports.dashboardContextDataSchema = dashboardContextDataSchema;
|
|
145
|
+
exports.dashboardSuggestionsRequestSchema = dashboardSuggestionsRequestSchema;
|
|
146
|
+
exports.deprecatedComponentSchema = deprecatedComponentSchema;
|
|
147
|
+
exports.jobDetailContextDataSchema = jobDetailContextDataSchema;
|
|
148
|
+
exports.jobDetailSuggestionsRequestSchema = jobDetailSuggestionsRequestSchema;
|
|
149
|
+
exports.recentFailedJobSchema = recentFailedJobSchema;
|
|
150
|
+
exports.suggestionCategorySchema = suggestionCategorySchema;
|
|
151
|
+
exports.suggestionSchema = suggestionSchema;
|
|
152
|
+
exports.suggestionWithIdSchema = suggestionWithIdSchema;
|
|
153
|
+
exports.suggestionsApiResponseSchema = suggestionsApiResponseSchema;
|
|
154
|
+
exports.suggestionsRequestSchema = suggestionsRequestSchema;
|
|
155
|
+
exports.suggestionsResponseSchema = suggestionsResponseSchema;
|
|
156
|
+
exports.userRecentEditSchema = userRecentEditSchema;
|
|
157
|
+
//# sourceMappingURL=chunk-U5SE6W5M.cjs.map
|
|
158
|
+
//# sourceMappingURL=chunk-U5SE6W5M.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/chat/suggestions.ts"],"names":["z"],"mappings":"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","file":"chunk-U5SE6W5M.cjs","sourcesContent":["import { z } from 'zod';\n\n// Response schemas\nexport const SUGGESTION_CATEGORIES = ['error', 'maintenance', 'documentation'] as const;\n\nexport const suggestionCategorySchema = z.enum(SUGGESTION_CATEGORIES);\nexport type SuggestionCategory = z.infer<typeof suggestionCategorySchema>;\n\n// Schema for LLM-generated suggestions (no ID)\nexport const suggestionSchema = z.object({\n label: z.preprocess((v) => (typeof v === 'string' ? v.slice(0, 80) : v), z.string().max(80)),\n prompt: z.string(),\n priority: z.number().int().min(1).max(3),\n category: suggestionCategorySchema,\n reasoning: z.string(),\n});\nexport type Suggestion = z.infer<typeof suggestionSchema>;\n\n// Schema for LLM response (used internally)\nexport const suggestionsResponseSchema = z.object({\n suggestions: z.array(suggestionSchema).max(4),\n});\nexport type SuggestionsResponse = z.infer<typeof suggestionsResponseSchema>;\n\n// Schema for API response with IDs (used by frontend)\nexport const suggestionWithIdSchema = suggestionSchema.extend({\n id: z.string(),\n});\nexport type SuggestionWithId = z.infer<typeof suggestionWithIdSchema>;\n\nexport const suggestionsApiResponseSchema = z.object({\n suggestions: z.array(suggestionWithIdSchema).max(4),\n suggestionSessionId: z.string(),\n});\nexport type SuggestionsApiResponse = z.infer<typeof suggestionsApiResponseSchema>;\n\n// Request schemas\nexport const recentFailedJobSchema = z.object({\n id: z.string(),\n status: z.enum(['error', 'warning']),\n component: z.string(),\n configId: z.string(),\n configName: z.string().optional(),\n createdTime: z.string(),\n durationSeconds: z.number().int().nonnegative().optional(),\n errorMessage: z.string().max(200).optional(),\n});\nexport type RecentFailedJob = z.infer<typeof recentFailedJobSchema>;\n\nexport const deprecatedComponentSchema = z.object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n expiredOn: z.string(),\n configCount: z.number().int().nonnegative(),\n});\nexport type DeprecatedComponent = z.infer<typeof deprecatedComponentSchema>;\n\nexport const userRecentEditSchema = z.object({\n component: z.string(),\n configId: z.string(),\n configName: z.string(),\n lastEdited: z.string(),\n});\nexport type UserRecentEdit = z.infer<typeof userRecentEditSchema>;\n\nexport const dashboardContextDataSchema = z.object({\n recentFailedJobs: z.array(recentFailedJobSchema).max(5),\n deprecatedComponents: z.array(deprecatedComponentSchema).max(5),\n userRecentEdits: z.array(userRecentEditSchema).max(5),\n currentUserEmail: z.string().email(),\n});\nexport type DashboardContextData = z.infer<typeof dashboardContextDataSchema>;\n\nexport const JOB_STATUSES = [\n 'created',\n 'waiting',\n 'processing',\n 'success',\n 'error',\n 'terminating',\n 'terminated',\n 'cancelled',\n 'warning',\n] as const;\n\nexport const jobDetailContextDataSchema = z.object({\n job: z.object({\n id: z.string(),\n status: z.enum(JOB_STATUSES),\n component: z.string(),\n configId: z.string().optional(),\n configName: z.string().optional(),\n createdTime: z.string(),\n startTime: z.string().optional(),\n endTime: z.string().optional(),\n durationSeconds: z.number().int().nonnegative().optional(),\n errorMessage: z.string().max(500).optional(),\n errorType: z.enum(['user', 'application']).optional(),\n backendSize: z.string().optional(),\n }),\n component: z\n .object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n })\n .optional(),\n runtimeHistory: z\n .object({\n averageDurationSeconds: z.number().nonnegative().optional(),\n minDurationSeconds: z.number().nonnegative().optional(),\n maxDurationSeconds: z.number().nonnegative().optional(),\n recentJobsCount: z.number().int().nonnegative(),\n isSlowerThanAverage: z.boolean().optional(),\n isFasterThanAverage: z.boolean().optional(),\n percentageDifference: z.number().optional(),\n })\n .optional(),\n currentUserEmail: z.string().email(),\n});\nexport type JobDetailContextData = z.infer<typeof jobDetailContextDataSchema>;\n\nexport const configurationDetailContextDataSchema = z.object({\n configuration: z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().max(500).optional(),\n component: z.string(),\n hasRows: z.boolean(),\n rowCount: z.number().int().nonnegative().optional(),\n lastChangeDescription: z.string().max(200).optional(),\n }),\n component: z\n .object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n })\n .optional(),\n latestJobs: z\n .array(\n z.object({\n id: z.string(),\n status: z.enum(JOB_STATUSES),\n durationSeconds: z.number().int().nonnegative().optional(),\n errorMessage: z.string().max(200).optional(),\n createdTime: z.string(),\n }),\n )\n .max(5)\n .optional(),\n currentUserEmail: z.string().email(),\n});\nexport type ConfigurationDetailContextData = z.infer<typeof configurationDetailContextDataSchema>;\n\nexport const dashboardSuggestionsRequestSchema = z.object({\n context: z.literal('dashboard'),\n data: dashboardContextDataSchema,\n});\n\nexport const jobDetailSuggestionsRequestSchema = z.object({\n context: z.literal('job-detail'),\n data: jobDetailContextDataSchema,\n});\n\nexport const configurationDetailSuggestionsRequestSchema = z.object({\n context: z.literal('configuration-detail'),\n data: configurationDetailContextDataSchema,\n});\n\nexport const suggestionsRequestSchema = z.discriminatedUnion('context', [\n dashboardSuggestionsRequestSchema,\n jobDetailSuggestionsRequestSchema,\n configurationDetailSuggestionsRequestSchema,\n]);\nexport type SuggestionsRequestBody = z.infer<typeof suggestionsRequestSchema>;\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// src/domain/project.ts
|
|
2
|
+
var hasFeature = (token, ...feature) => {
|
|
3
|
+
if (feature.length === 0) return false;
|
|
4
|
+
const projectFeatureSet = new Set(token.owner.features);
|
|
5
|
+
return feature.every((x) => projectFeatureSet.has(x));
|
|
6
|
+
};
|
|
7
|
+
var hasAdminFeature = (token, ...feature) => {
|
|
8
|
+
if (feature.length === 0) return false;
|
|
9
|
+
const adminFeatureSet = new Set(token.admin.features);
|
|
10
|
+
return feature.every((x) => adminFeatureSet.has(x));
|
|
11
|
+
};
|
|
12
|
+
var createProject = ({ sapiToken }) => {
|
|
13
|
+
const { owner, admin } = sapiToken;
|
|
14
|
+
const projectFeatureSet = new Set(owner.features);
|
|
15
|
+
const adminFeatureSet = new Set(admin.features);
|
|
16
|
+
const hasFeature2 = (...feature) => {
|
|
17
|
+
if (feature.length === 0) return false;
|
|
18
|
+
return feature.every((x) => projectFeatureSet.has(x));
|
|
19
|
+
};
|
|
20
|
+
const hasAdminFeature2 = (...feature) => {
|
|
21
|
+
if (feature.length === 0) return false;
|
|
22
|
+
return feature.every((x) => adminFeatureSet.has(x));
|
|
23
|
+
};
|
|
24
|
+
const hasBackend = (backend) => {
|
|
25
|
+
if (backend === "bigquery") return owner.hasBigquery;
|
|
26
|
+
if (backend === "snowflake") return owner.hasSnowflake;
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
hasFeature: hasFeature2,
|
|
31
|
+
hasAdminFeature: hasAdminFeature2,
|
|
32
|
+
hasBackend,
|
|
33
|
+
sapiToken
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { createProject, hasAdminFeature, hasFeature };
|
|
38
|
+
//# sourceMappingURL=chunk-UABYNGBZ.js.map
|
|
39
|
+
//# sourceMappingURL=chunk-UABYNGBZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/domain/project.ts"],"names":["hasFeature","hasAdminFeature"],"mappings":";AAMO,IAAM,UAAA,GAAa,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AAChF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACtD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AACtD;AAEO,IAAM,eAAA,GAAkB,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AACrF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACpD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AACpD;AAEO,IAAM,aAAA,GAAgB,CAAC,EAAE,SAAA,EAAU,KAAe;AACvD,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAM,GAAI,SAAA;AACzB,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAChD,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAE9C,EAAA,MAAMA,WAAAA,GAAa,IAAI,OAAA,KAAsB;AAC3C,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACtD,CAAA;AAEA,EAAA,MAAMC,gBAAAA,GAAkB,IAAI,OAAA,KAAsB;AAChD,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACpD,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,OAAA,KAA8B;AAChD,IAAA,IAAI,OAAA,KAAY,UAAA,EAAY,OAAO,KAAA,CAAM,WAAA;AACzC,IAAA,IAAI,OAAA,KAAY,WAAA,EAAa,OAAO,KAAA,CAAM,YAAA;AAC1C,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA,EAAAD,WAAAA;AAAA,IACA,eAAA,EAAAC,gBAAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-UABYNGBZ.js","sourcesContent":["import type { Backend, StorageToken } from '../clients/storage/tokens/types';\n\ntype Options = {\n sapiToken: StorageToken;\n};\n\nexport const hasFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const projectFeatureSet = new Set(token.owner.features);\n return feature.every((x) => projectFeatureSet.has(x));\n};\n\nexport const hasAdminFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const adminFeatureSet = new Set(token.admin.features);\n return feature.every((x) => adminFeatureSet.has(x));\n};\n\nexport const createProject = ({ sapiToken }: Options) => {\n const { owner, admin } = sapiToken;\n const projectFeatureSet = new Set(owner.features);\n const adminFeatureSet = new Set(admin.features);\n\n const hasFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => projectFeatureSet.has(x));\n };\n\n const hasAdminFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => adminFeatureSet.has(x));\n };\n\n const hasBackend = (backend: Backend): boolean => {\n if (backend === 'bigquery') return owner.hasBigquery;\n if (backend === 'snowflake') return owner.hasSnowflake;\n return false;\n };\n\n return {\n hasFeature,\n hasAdminFeature,\n hasBackend,\n sapiToken,\n };\n};\n\nexport type Project = ReturnType<typeof createProject>;\n"]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { createOpenapiFetchClient, normalizeBaseUrl, parseContentDispositionHeader, HttpHeader, isApiError, HttpStatus } from './chunk-PD3LJYS2.js';
|
|
2
|
+
import * as z from 'zod';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
import utc from 'dayjs/plugin/utc';
|
|
5
|
+
|
|
6
|
+
var TailError = z.object({
|
|
7
|
+
context: z.object({
|
|
8
|
+
code: z.string()
|
|
9
|
+
})
|
|
10
|
+
});
|
|
11
|
+
dayjs.extend(utc);
|
|
12
|
+
var ISO_TIMESTAMP_REGEX = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z/;
|
|
13
|
+
var LEADING_ISO_TIMESTAMP_REGEX = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)\s?/;
|
|
14
|
+
var tryParseJsonl = (line) => {
|
|
15
|
+
if (!line.startsWith("{")) return null;
|
|
16
|
+
let parsed;
|
|
17
|
+
try {
|
|
18
|
+
parsed = JSON.parse(line);
|
|
19
|
+
} catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
if (typeof parsed !== "object" || parsed === null) return null;
|
|
23
|
+
const record = parsed;
|
|
24
|
+
const { timestamp, message } = record;
|
|
25
|
+
if (typeof timestamp !== "string" || typeof message !== "string") return null;
|
|
26
|
+
return {
|
|
27
|
+
timestamp,
|
|
28
|
+
message
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
var parsePlainTextLine = (line) => {
|
|
32
|
+
const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);
|
|
33
|
+
if (match) {
|
|
34
|
+
return { timestamp: match[1], message: line.slice(match[0].length) };
|
|
35
|
+
}
|
|
36
|
+
return { timestamp: null, message: line };
|
|
37
|
+
};
|
|
38
|
+
var parseLogLine = (line) => tryParseJsonl(line) ?? parsePlainTextLine(line);
|
|
39
|
+
var toLogEntryFromObject = (raw) => {
|
|
40
|
+
if (typeof raw.message !== "string") return null;
|
|
41
|
+
return {
|
|
42
|
+
timestamp: typeof raw.timestamp === "string" ? raw.timestamp : null,
|
|
43
|
+
message: raw.message
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
var isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
47
|
+
var parseLogLines = (raw) => {
|
|
48
|
+
if (raw === null || raw === void 0 || raw === "") return [];
|
|
49
|
+
if (Array.isArray(raw)) {
|
|
50
|
+
return raw.flatMap((item) => {
|
|
51
|
+
if (typeof item === "string") return item === "" ? [] : [parseLogLine(item)];
|
|
52
|
+
if (isPlainObject(item)) {
|
|
53
|
+
const entry = toLogEntryFromObject(item);
|
|
54
|
+
return entry ? [entry] : [];
|
|
55
|
+
}
|
|
56
|
+
return [];
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (isPlainObject(raw)) {
|
|
60
|
+
const entry = toLogEntryFromObject(raw);
|
|
61
|
+
return entry ? [entry] : [];
|
|
62
|
+
}
|
|
63
|
+
if (typeof raw !== "string") return [];
|
|
64
|
+
const lines = raw.split("\n");
|
|
65
|
+
const entries = [];
|
|
66
|
+
for (const line of lines) {
|
|
67
|
+
if (line === "") continue;
|
|
68
|
+
entries.push(parseLogLine(line));
|
|
69
|
+
}
|
|
70
|
+
return entries;
|
|
71
|
+
};
|
|
72
|
+
var parseLastLogTimestamp = (logs) => {
|
|
73
|
+
const entries = parseLogLines(logs);
|
|
74
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
75
|
+
const entry = entries[i];
|
|
76
|
+
if (!entry) continue;
|
|
77
|
+
if (entry.timestamp) return entry.timestamp;
|
|
78
|
+
const match = entry.message.match(ISO_TIMESTAMP_REGEX);
|
|
79
|
+
if (match) return match[0];
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
};
|
|
83
|
+
var calculateNextLogTimestamp = (timestamp) => {
|
|
84
|
+
if (timestamp === null) return null;
|
|
85
|
+
return dayjs(timestamp).utc().add(1, "second").utc().format();
|
|
86
|
+
};
|
|
87
|
+
var prepareAppRun = (appRun) => {
|
|
88
|
+
return {
|
|
89
|
+
...appRun,
|
|
90
|
+
state: appRun.state ?? (appRun.stoppedAt ? "finished" : "running")
|
|
91
|
+
// fallback state for historic non migrated runs
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
// src/clients/dataScience/dataScienceClient.ts
|
|
96
|
+
var createDataScienceClient = ({ baseUrl, middlewares }) => {
|
|
97
|
+
const client = createOpenapiFetchClient({
|
|
98
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
99
|
+
middlewares
|
|
100
|
+
});
|
|
101
|
+
const getAppRuns = async (appId, query, signal) => {
|
|
102
|
+
const { data } = await client.get("/apps/{appId}/runs", { path: { appId }, query }, { signal });
|
|
103
|
+
return data.map(prepareAppRun);
|
|
104
|
+
};
|
|
105
|
+
const getAppRun = async (appId, runId, signal) => {
|
|
106
|
+
const { data } = await client.get(
|
|
107
|
+
"/apps/{appId}/runs/{runId}",
|
|
108
|
+
{ path: { appId, runId } },
|
|
109
|
+
{ signal }
|
|
110
|
+
);
|
|
111
|
+
return prepareAppRun(data);
|
|
112
|
+
};
|
|
113
|
+
const getAppLogsDownload = async (id, signal) => {
|
|
114
|
+
const { data, response } = await client.get(
|
|
115
|
+
"/apps/{appId}/logs/download",
|
|
116
|
+
{ path: { appId: id } },
|
|
117
|
+
{ signal }
|
|
118
|
+
);
|
|
119
|
+
const contentDisposition = parseContentDispositionHeader(
|
|
120
|
+
response.headers.get(HttpHeader.CONTENT_DISPOSITION)
|
|
121
|
+
);
|
|
122
|
+
return {
|
|
123
|
+
logs: data,
|
|
124
|
+
fileName: contentDisposition?.filename ?? "logs.txt"
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
const getAppLogsTail = async (id, { query, signal } = {}) => {
|
|
128
|
+
try {
|
|
129
|
+
const { data } = await client.get(
|
|
130
|
+
"/apps/{appId}/logs/tail",
|
|
131
|
+
{
|
|
132
|
+
query,
|
|
133
|
+
path: {
|
|
134
|
+
appId: id
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
signal
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
const logs = data === "" ? null : data;
|
|
142
|
+
const lastLogTimestamp = parseLastLogTimestamp(logs);
|
|
143
|
+
const nextLogTimestamp = calculateNextLogTimestamp(lastLogTimestamp);
|
|
144
|
+
return {
|
|
145
|
+
entries: parseLogLines(logs),
|
|
146
|
+
nextLogTimestamp
|
|
147
|
+
};
|
|
148
|
+
} catch (error) {
|
|
149
|
+
if (isApiError(error) && error.response.status === HttpStatus.BAD_REQUEST && TailError.safeParse(error.data).data?.context?.code === "apps.appNotRunning") {
|
|
150
|
+
return { entries: [], nextLogTimestamp: null };
|
|
151
|
+
}
|
|
152
|
+
throw error;
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const getApps = async (query, signal) => {
|
|
156
|
+
const { data } = await client.get("/apps", { query }, { signal });
|
|
157
|
+
return data;
|
|
158
|
+
};
|
|
159
|
+
const getApp = async (appId, signal) => {
|
|
160
|
+
const { data } = await client.get("/apps/{appId}", { path: { appId } }, { signal });
|
|
161
|
+
return data;
|
|
162
|
+
};
|
|
163
|
+
const createApp = async (body, signal) => {
|
|
164
|
+
const { data } = await client.post("/apps", { body }, { signal });
|
|
165
|
+
return data;
|
|
166
|
+
};
|
|
167
|
+
const patchApp = async (appId, body, signal) => {
|
|
168
|
+
const { data } = await client.patch(
|
|
169
|
+
"/apps/{appId}",
|
|
170
|
+
{
|
|
171
|
+
path: { appId },
|
|
172
|
+
body
|
|
173
|
+
},
|
|
174
|
+
{ signal }
|
|
175
|
+
);
|
|
176
|
+
return data;
|
|
177
|
+
};
|
|
178
|
+
const deleteApp = async (appId, signal) => {
|
|
179
|
+
return client.delete("/apps/{appId}", { path: { appId } }, { signal });
|
|
180
|
+
};
|
|
181
|
+
const getAppPassword = async (appId, signal) => {
|
|
182
|
+
const { data } = await client.get("/apps/{appId}/password", { path: { appId } }, { signal });
|
|
183
|
+
return data;
|
|
184
|
+
};
|
|
185
|
+
const resetAppPassword = async (appId, signal) => {
|
|
186
|
+
const { data } = await client.post(
|
|
187
|
+
"/apps/{appId}/reset-password",
|
|
188
|
+
{ path: { appId } },
|
|
189
|
+
{ signal }
|
|
190
|
+
);
|
|
191
|
+
return data;
|
|
192
|
+
};
|
|
193
|
+
const getRuntimes = async (signal) => {
|
|
194
|
+
const { data } = await client.get("/runtimes", {}, { signal });
|
|
195
|
+
return data;
|
|
196
|
+
};
|
|
197
|
+
const getSandbox = async (appId, signal) => {
|
|
198
|
+
const { data } = await client.get("/sandboxes/{appId}", { path: { appId } }, { signal });
|
|
199
|
+
return data;
|
|
200
|
+
};
|
|
201
|
+
return {
|
|
202
|
+
getAppRuns,
|
|
203
|
+
getAppRun,
|
|
204
|
+
getAppLogsDownload,
|
|
205
|
+
getAppLogsTail,
|
|
206
|
+
getApps,
|
|
207
|
+
getApp,
|
|
208
|
+
createApp,
|
|
209
|
+
patchApp,
|
|
210
|
+
deleteApp,
|
|
211
|
+
getAppPassword,
|
|
212
|
+
resetAppPassword,
|
|
213
|
+
getRuntimes,
|
|
214
|
+
getSandbox
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
export { createDataScienceClient, parseLogLines };
|
|
219
|
+
//# sourceMappingURL=chunk-UXF53ZOV.js.map
|
|
220
|
+
//# sourceMappingURL=chunk-UXF53ZOV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/dataScience/schemas.ts","../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"names":[],"mappings":"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","file":"chunk-UXF53ZOV.js","sourcesContent":["import * as z from 'zod';\n\nexport const TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\nimport type { RawAppRun } from './types';\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const parseLastLogTimestamp = (logs: unknown) => {\n const entries = parseLogLines(logs);\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nexport const calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\nexport const prepareAppRun = (appRun: RawAppRun) => {\n return {\n ...appRun,\n state: appRun.state ?? (appRun.stoppedAt ? 'finished' : 'running'), // fallback state for historic non migrated runs\n };\n};\n","import { HttpStatus } from '../../constants';\nimport {\n createOpenapiFetchClient,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { TailError } from './schemas';\nimport type {\n CreateDataAppBody,\n DeleteDataAppPath,\n GetAppsQuery,\n GetDataAppLogsDownloadPath,\n GetDataAppLogsTailPath,\n GetDataAppLogsTailQuery,\n GetDataAppPasswordPath,\n GetDataAppPath,\n GetDataAppRunPath,\n GetDataAppRunsPath,\n GetDataAppRunsQuery,\n GetSandboxPath,\n PatchDataAppBody,\n PatchDataAppPath,\n ResetDataAppPasswordPath,\n} from './types';\nimport {\n calculateNextLogTimestamp,\n parseLastLogTimestamp,\n parseLogLines,\n prepareAppRun,\n} from './utils';\n\nexport const createDataScienceClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getAppRuns = async (\n appId: GetDataAppRunsPath['appId'],\n query?: GetDataAppRunsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get('/apps/{appId}/runs', { path: { appId }, query }, { signal });\n\n return data.map(prepareAppRun);\n };\n\n const getAppRun = async (\n appId: GetDataAppRunPath['appId'],\n runId: GetDataAppRunPath['runId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/apps/{appId}/runs/{runId}',\n { path: { appId, runId } },\n { signal },\n );\n\n return prepareAppRun(data);\n };\n\n const getAppLogsDownload = async (\n id: GetDataAppLogsDownloadPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data, response } = await client.get(\n '/apps/{appId}/logs/download',\n { path: { appId: id } },\n { signal },\n );\n\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition?.filename ?? 'logs.txt',\n };\n };\n\n const getAppLogsTail = async (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) => {\n try {\n const { data } = await client.get(\n '/apps/{appId}/logs/tail',\n {\n query,\n path: {\n appId: id,\n },\n },\n {\n signal,\n },\n );\n\n const logs = data === '' ? null : data;\n const lastLogTimestamp = parseLastLogTimestamp(logs);\n const nextLogTimestamp = calculateNextLogTimestamp(lastLogTimestamp);\n\n return {\n entries: parseLogLines(logs),\n nextLogTimestamp: nextLogTimestamp,\n };\n } catch (error) {\n if (\n isApiError(error) &&\n error.response.status === HttpStatus.BAD_REQUEST &&\n TailError.safeParse(error.data).data?.context?.code === 'apps.appNotRunning'\n ) {\n return { entries: [], nextLogTimestamp: null };\n }\n throw error;\n }\n };\n\n const getApps = async (query: GetAppsQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/apps', { query }, { signal });\n\n return data;\n };\n\n const getApp = async (appId: GetDataAppPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n const createApp = async (body: CreateDataAppBody, signal?: AbortSignal) => {\n const { data } = await client.post('/apps', { body }, { signal });\n\n return data;\n };\n\n const patchApp = async (\n appId: PatchDataAppPath['appId'],\n body: PatchDataAppBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/apps/{appId}',\n {\n path: { appId: appId },\n body: body,\n },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (appId: DeleteDataAppPath['appId'], signal?: AbortSignal) => {\n return client.delete('/apps/{appId}', { path: { appId } }, { signal });\n };\n\n const getAppPassword = async (appId: GetDataAppPasswordPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}/password', { path: { appId } }, { signal });\n\n return data;\n };\n\n const resetAppPassword = async (\n appId: ResetDataAppPasswordPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/apps/{appId}/reset-password',\n { path: { appId } },\n { signal },\n );\n\n return data;\n };\n\n const getRuntimes = async (signal?: AbortSignal) => {\n const { data } = await client.get('/runtimes', {}, { signal });\n\n return data;\n };\n\n const getSandbox = async (appId: GetSandboxPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/sandboxes/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n return {\n getAppRuns,\n getAppRun,\n getAppLogsDownload,\n getAppLogsTail,\n getApps,\n getApp,\n createApp,\n patchApp,\n deleteApp,\n getAppPassword,\n resetAppPassword,\n getRuntimes,\n getSandbox,\n };\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createGenericFetchClient, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
|
|
2
|
+
|
|
3
|
+
// src/clients/status/statusClient.ts
|
|
4
|
+
var createStatusClient = ({ baseUrl, middlewares }) => {
|
|
5
|
+
const client = createGenericFetchClient({
|
|
6
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
7
|
+
middlewares
|
|
8
|
+
});
|
|
9
|
+
const getSummary = async (signal) => {
|
|
10
|
+
const { data } = await client.get("/summary.json", {}, { signal });
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
getSummary
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { createStatusClient };
|
|
19
|
+
//# sourceMappingURL=chunk-VAOCYA6B.js.map
|
|
20
|
+
//# sourceMappingURL=chunk-VAOCYA6B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/status/statusClient.ts"],"names":[],"mappings":";;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,KAAyB;AACjD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAmB,eAAA,EAAiB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAChF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-VAOCYA6B.js","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { StatusSummary } from './types';\n\nexport const createStatusClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getSummary = async (signal?: AbortSignal) => {\n const { data } = await client.get<StatusSummary>('/summary.json', {}, { signal });\n return data;\n };\n\n return {\n getSummary,\n };\n};\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createOpenapiFetchClient, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
|
|
2
|
+
|
|
3
|
+
// src/clients/ai/aiClient.ts
|
|
4
|
+
var createAiClient = ({ baseUrl, middlewares }) => {
|
|
5
|
+
const client = createOpenapiFetchClient({
|
|
6
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
7
|
+
middlewares
|
|
8
|
+
});
|
|
9
|
+
const describeConfigurationVersion = async (body) => {
|
|
10
|
+
const { data } = await client.post("/describe/configuration-version", { body });
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
const describeConfigurationMerge = async (body) => {
|
|
14
|
+
const { data } = await client.post("/describe/configuration-merge", { body });
|
|
15
|
+
return data;
|
|
16
|
+
};
|
|
17
|
+
const explainError = async (body) => {
|
|
18
|
+
const { data } = await client.post("/explain", { body });
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
const describeConfiguration = async (body) => {
|
|
22
|
+
const { data } = await client.post("/describe/configuration", { body });
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
const suggestComponent = async (body) => {
|
|
26
|
+
const { data } = await client.post("/suggest/component", { body });
|
|
27
|
+
return data;
|
|
28
|
+
};
|
|
29
|
+
const feedback = async (body) => {
|
|
30
|
+
const { data } = await client.post("/feedback", { body });
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
describeConfigurationVersion,
|
|
35
|
+
describeConfigurationMerge,
|
|
36
|
+
explainError,
|
|
37
|
+
describeConfiguration,
|
|
38
|
+
suggestComponent,
|
|
39
|
+
feedback
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { createAiClient };
|
|
44
|
+
//# sourceMappingURL=chunk-VS5PM7KL.js.map
|
|
45
|
+
//# sourceMappingURL=chunk-VS5PM7KL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":[],"mappings":";;;AAcO,IAAM,cAAA,GAAiB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AAC7E,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,4BAAA,GAA+B,OAAO,IAAA,KAA2C;AACrF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,iCAAA,EAAmC,EAAE,IAAA,EAAM,CAAA;AAE9E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,IAAA,KAAyC;AACjF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,+BAAA,EAAiC,EAAE,IAAA,EAAM,CAAA;AAE5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,UAAA,EAAY,EAAE,IAAA,EAAM,CAAA;AAEvD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAAO,IAAA,KAAoC;AACvE,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,yBAAA,EAA2B,EAAE,IAAA,EAAM,CAAA;AAEtE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,oBAAA,EAAsB,EAAE,IAAA,EAAM,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAuB;AAC7C,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,WAAA,EAAa,EAAE,IAAA,EAAM,CAAA;AAExD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-VS5PM7KL.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n DescribeConfigurationBody,\n DescribeConfigurationMergeBody,\n DescribeConfigurationVersionBody,\n ExplainErrorBody,\n FeedbackBody,\n SuggestComponentBody,\n} from './types';\n\nexport const createAiClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const describeConfigurationVersion = async (body: DescribeConfigurationVersionBody) => {\n const { data } = await client.post('/describe/configuration-version', { body });\n\n return data;\n };\n\n const describeConfigurationMerge = async (body: DescribeConfigurationMergeBody) => {\n const { data } = await client.post('/describe/configuration-merge', { body });\n\n return data;\n };\n\n const explainError = async (body: ExplainErrorBody) => {\n const { data } = await client.post('/explain', { body });\n\n return data;\n };\n\n const describeConfiguration = async (body: DescribeConfigurationBody) => {\n const { data } = await client.post('/describe/configuration', { body });\n\n return data;\n };\n\n const suggestComponent = async (body: SuggestComponentBody) => {\n const { data } = await client.post('/suggest/component', { body });\n\n return data;\n };\n\n const feedback = async (body: FeedbackBody) => {\n const { data } = await client.post('/feedback', { body });\n\n return data;\n };\n\n return {\n describeConfigurationVersion,\n describeConfigurationMerge,\n explainError,\n describeConfiguration,\n suggestComponent,\n feedback,\n };\n};\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createGenericFetchClient, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
|
|
2
|
+
|
|
3
|
+
// src/clients/assets/assetsClient.ts
|
|
4
|
+
var createAssetsClient = ({ baseUrl, middlewares }) => {
|
|
5
|
+
const client = createGenericFetchClient({
|
|
6
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
7
|
+
middlewares
|
|
8
|
+
});
|
|
9
|
+
const getPublishedChangelogPosts = async (signal) => {
|
|
10
|
+
const { data } = await client.get(
|
|
11
|
+
"/platform-changelog/published-posts.json",
|
|
12
|
+
{},
|
|
13
|
+
{ signal }
|
|
14
|
+
);
|
|
15
|
+
return data;
|
|
16
|
+
};
|
|
17
|
+
return {
|
|
18
|
+
getPublishedChangelogPosts
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { createAssetsClient };
|
|
23
|
+
//# sourceMappingURL=chunk-WQ7EZWBF.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-WQ7EZWBF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/assets/assetsClient.ts"],"names":[],"mappings":";;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,0BAAA,GAA6B,OAAO,MAAA,KAAyB;AACjE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,0CAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-WQ7EZWBF.js","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { Post } from './types';\n\nexport const createAssetsClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getPublishedChangelogPosts = async (signal?: AbortSignal) => {\n const { data } = await client.get<Post[]>(\n '/platform-changelog/published-posts.json',\n {},\n { signal },\n );\n\n return data;\n };\n\n return {\n getPublishedChangelogPosts,\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-XPDEQND7.cjs"}
|