@aexol/spectral 0.9.263 → 0.9.264
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/extensions/dataset-uploader/exporter.d.ts +25 -4
- package/dist/extensions/dataset-uploader/exporter.d.ts.map +1 -1
- package/dist/extensions/dataset-uploader/exporter.js +37 -6
- package/dist/extensions/dataset-uploader/upload.d.ts.map +1 -1
- package/dist/extensions/dataset-uploader/upload.js +12 -4
- package/dist/generated/zeus/const.d.ts.map +1 -1
- package/dist/generated/zeus/const.js +15 -0
- package/dist/generated/zeus/index.d.ts +70 -0
- package/dist/generated/zeus/index.d.ts.map +1 -1
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +23 -4
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +31 -3
- package/dist/mcp/state-getter.d.ts +50 -5
- package/dist/mcp/state-getter.d.ts.map +1 -1
- package/dist/mcp/state-getter.js +78 -7
- package/dist/relay/routing.d.ts.map +1 -1
- package/dist/relay/routing.js +18 -8
- package/dist/server/agent-bridge.d.ts +7 -0
- package/dist/server/agent-bridge.d.ts.map +1 -1
- package/dist/server/agent-bridge.js +20 -1
- package/dist/server/handlers/mcp-reload.d.ts +26 -3
- package/dist/server/handlers/mcp-reload.d.ts.map +1 -1
- package/dist/server/handlers/mcp-reload.js +69 -5
- package/dist/server/handlers/mcp-status.d.ts +14 -0
- package/dist/server/handlers/mcp-status.d.ts.map +1 -1
- package/dist/server/handlers/mcp-status.js +31 -0
- package/package.json +1 -1
|
@@ -12,7 +12,13 @@
|
|
|
12
12
|
* matching tool_result → { from: "observation",
|
|
13
13
|
* value: text of result.content,
|
|
14
14
|
* "[ERROR] " prefix when isError }
|
|
15
|
-
*
|
|
15
|
+
* thinking_delta text → { from: "gpt", value:
|
|
16
|
+
* " think\n...\n/think" }
|
|
17
|
+
* (INCLUDED by default;
|
|
18
|
+
* includeThinking: "drop"
|
|
19
|
+
* restores the old
|
|
20
|
+
* non-thinking-target
|
|
21
|
+
* discard behavior)
|
|
16
22
|
*
|
|
17
23
|
* Per-turn expansion: each assistant message row that produces at least one
|
|
18
24
|
* entry becomes one sample — `{ conversations: [all entries up to and
|
|
@@ -70,6 +76,15 @@ export interface ExportSessionsOptions {
|
|
|
70
76
|
* intact). Default false → observations capped at MAX_OBSERVATION_CHARS.
|
|
71
77
|
*/
|
|
72
78
|
includeSubagents?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* How assistant thinking (reasoning) events are exported. "tags"
|
|
81
|
+
* (default): the concatenated thinking_delta text of each thinking
|
|
82
|
+
* block is emitted as a gpt entry wrapped in think tags
|
|
83
|
+
* (` think\n...\n/think`), flushed at the earliest of thinking_end,
|
|
84
|
+
* first text_delta, tool_call, or tool_result. "drop": thinking events
|
|
85
|
+
* are discarded (the old non-thinking-target behavior).
|
|
86
|
+
*/
|
|
87
|
+
includeThinking?: "tags" | "drop";
|
|
73
88
|
/** Output JSONL path. Default: `<configDir>/datasets/export-<timestamp>.jsonl`. */
|
|
74
89
|
outputPath?: string;
|
|
75
90
|
/**
|
|
@@ -132,10 +147,16 @@ export interface ParsedAssistantTurn {
|
|
|
132
147
|
export declare function extractResultText(result: AssistantEvent["result"]): string;
|
|
133
148
|
/**
|
|
134
149
|
* Parse an assistant row's events_jsonl into sharegpt entries, in event
|
|
135
|
-
* order.
|
|
136
|
-
*
|
|
150
|
+
* order. When `includeThinking` is "tags" (default), the concatenated
|
|
151
|
+
* thinking_delta text of each thinking block is flushed as a gpt entry
|
|
152
|
+
* wrapped in think tags (` think\n...\n/think`) at the earliest of
|
|
153
|
+
* thinking_end, first text_delta, tool_call, or tool_result (which also
|
|
154
|
+
* handles the rare mid-row text→thinking→text case). "drop" discards
|
|
155
|
+
* thinking events entirely (byte-identical to the old non-thinking-target
|
|
156
|
+
* behavior). When `capChars` is non-null, observation values are
|
|
157
|
+
* truncated to it + OBSERVATION_TRUNCATION_MARKER.
|
|
137
158
|
*/
|
|
138
|
-
export declare function parseAssistantEvents(eventsJsonl: string, capChars?: number | null): ParsedAssistantTurn;
|
|
159
|
+
export declare function parseAssistantEvents(eventsJsonl: string, capChars?: number | null, includeThinking?: "tags" | "drop"): ParsedAssistantTurn;
|
|
139
160
|
/**
|
|
140
161
|
* Export sessions from the local sessions DB to a sharegpt JSONL file.
|
|
141
162
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../src/extensions/dataset-uploader/exporter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../src/extensions/dataset-uploader/exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,13 @@
|
|
|
12
12
|
* matching tool_result → { from: "observation",
|
|
13
13
|
* value: text of result.content,
|
|
14
14
|
* "[ERROR] " prefix when isError }
|
|
15
|
-
*
|
|
15
|
+
* thinking_delta text → { from: "gpt", value:
|
|
16
|
+
* " think\n...\n/think" }
|
|
17
|
+
* (INCLUDED by default;
|
|
18
|
+
* includeThinking: "drop"
|
|
19
|
+
* restores the old
|
|
20
|
+
* non-thinking-target
|
|
21
|
+
* discard behavior)
|
|
16
22
|
*
|
|
17
23
|
* Per-turn expansion: each assistant message row that produces at least one
|
|
18
24
|
* entry becomes one sample — `{ conversations: [all entries up to and
|
|
@@ -107,20 +113,33 @@ export function extractResultText(result) {
|
|
|
107
113
|
}
|
|
108
114
|
/**
|
|
109
115
|
* Parse an assistant row's events_jsonl into sharegpt entries, in event
|
|
110
|
-
* order.
|
|
111
|
-
*
|
|
116
|
+
* order. When `includeThinking` is "tags" (default), the concatenated
|
|
117
|
+
* thinking_delta text of each thinking block is flushed as a gpt entry
|
|
118
|
+
* wrapped in think tags (` think\n...\n/think`) at the earliest of
|
|
119
|
+
* thinking_end, first text_delta, tool_call, or tool_result (which also
|
|
120
|
+
* handles the rare mid-row text→thinking→text case). "drop" discards
|
|
121
|
+
* thinking events entirely (byte-identical to the old non-thinking-target
|
|
122
|
+
* behavior). When `capChars` is non-null, observation values are
|
|
123
|
+
* truncated to it + OBSERVATION_TRUNCATION_MARKER.
|
|
112
124
|
*/
|
|
113
|
-
export function parseAssistantEvents(eventsJsonl, capChars = null) {
|
|
125
|
+
export function parseAssistantEvents(eventsJsonl, capChars = null, includeThinking = "tags") {
|
|
114
126
|
const entries = [];
|
|
115
127
|
const toolNames = [];
|
|
116
128
|
const pendingCallIds = new Set();
|
|
117
129
|
let textBuffer = "";
|
|
130
|
+
let thinkingBuffer = "";
|
|
118
131
|
const flushText = () => {
|
|
119
132
|
if (textBuffer.length > 0) {
|
|
120
133
|
entries.push({ from: "gpt", value: textBuffer });
|
|
121
134
|
textBuffer = "";
|
|
122
135
|
}
|
|
123
136
|
};
|
|
137
|
+
const flushThinking = () => {
|
|
138
|
+
if (thinkingBuffer.length > 0) {
|
|
139
|
+
entries.push({ from: "gpt", value: ` think\n${thinkingBuffer}\n/think` });
|
|
140
|
+
thinkingBuffer = "";
|
|
141
|
+
}
|
|
142
|
+
};
|
|
124
143
|
for (const line of eventsJsonl.split("\n")) {
|
|
125
144
|
const trimmed = line.trim();
|
|
126
145
|
if (!trimmed)
|
|
@@ -134,9 +153,19 @@ export function parseAssistantEvents(eventsJsonl, capChars = null) {
|
|
|
134
153
|
}
|
|
135
154
|
switch (event.type) {
|
|
136
155
|
case "text_delta":
|
|
156
|
+
// First visible text ends the current thinking block.
|
|
157
|
+
flushThinking();
|
|
137
158
|
textBuffer += event.delta ?? "";
|
|
138
159
|
break;
|
|
160
|
+
case "thinking_delta":
|
|
161
|
+
if (includeThinking !== "drop")
|
|
162
|
+
thinkingBuffer += event.delta ?? "";
|
|
163
|
+
break;
|
|
164
|
+
case "thinking_end":
|
|
165
|
+
flushThinking();
|
|
166
|
+
break;
|
|
139
167
|
case "tool_call":
|
|
168
|
+
flushThinking();
|
|
140
169
|
flushText();
|
|
141
170
|
if (typeof event.name === "string" && event.name.length > 0) {
|
|
142
171
|
entries.push({
|
|
@@ -149,6 +178,7 @@ export function parseAssistantEvents(eventsJsonl, capChars = null) {
|
|
|
149
178
|
}
|
|
150
179
|
break;
|
|
151
180
|
case "tool_result": {
|
|
181
|
+
flushThinking();
|
|
152
182
|
flushText();
|
|
153
183
|
// Only emit observations that match a tool_call from this turn.
|
|
154
184
|
if (typeof event.id !== "string" || !pendingCallIds.has(event.id))
|
|
@@ -164,10 +194,11 @@ export function parseAssistantEvents(eventsJsonl, capChars = null) {
|
|
|
164
194
|
break;
|
|
165
195
|
}
|
|
166
196
|
default:
|
|
167
|
-
//
|
|
197
|
+
// message_*, token_usage, subagent_* → discarded
|
|
168
198
|
break;
|
|
169
199
|
}
|
|
170
200
|
}
|
|
201
|
+
flushThinking();
|
|
171
202
|
flushText();
|
|
172
203
|
return { entries, toolNames };
|
|
173
204
|
}
|
|
@@ -276,7 +307,7 @@ export function exportSessions(options = {}) {
|
|
|
276
307
|
}
|
|
277
308
|
if (row.role !== "assistant")
|
|
278
309
|
continue; // system rows are not part of SFT samples
|
|
279
|
-
const turn = parseAssistantEvents(row.events_jsonl, cap);
|
|
310
|
+
const turn = parseAssistantEvents(row.events_jsonl, cap, options.includeThinking);
|
|
280
311
|
if (turn.entries.length === 0)
|
|
281
312
|
continue;
|
|
282
313
|
for (const name of turn.toolNames) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/extensions/dataset-uploader/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9D,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAQD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE7E;AAmFD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/extensions/dataset-uploader/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9D,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAQD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE7E;AAmFD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA2H9B;AAMD,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CA2CxE"}
|
|
@@ -192,10 +192,18 @@ export async function uploadDataset(options) {
|
|
|
192
192
|
if (projectId)
|
|
193
193
|
args.projectId = projectId;
|
|
194
194
|
const payload = await call(BACKEND_UPLOAD_TOOL, args);
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
const wrapper = (payload && typeof payload === "object" ? payload : {});
|
|
196
|
+
// The backend wraps tool results as `{ ok, result: {...} }`; the
|
|
197
|
+
// DatasetUploadResult counters ({accepted, duplicates, rejected}) live
|
|
198
|
+
// under `result`. Unwrap when present; otherwise fall back to the wrapper
|
|
199
|
+
// itself so older/mock shapes (counters at the top level) and unexpected
|
|
200
|
+
// shapes degrade safely to zero without throwing.
|
|
201
|
+
const resultSource = wrapper.result && typeof wrapper.result === "object"
|
|
202
|
+
? wrapper.result
|
|
203
|
+
: wrapper;
|
|
204
|
+
const accepted = toInt(resultSource.accepted, 0);
|
|
205
|
+
const duplicates = toInt(resultSource.duplicates, 0);
|
|
206
|
+
const rejected = toInt(resultSource.rejected, 0);
|
|
199
207
|
batches.push({ projectId, sent: chunk.length, accepted, duplicates, rejected });
|
|
200
208
|
totals.accepted += accepted;
|
|
201
209
|
totals.duplicates += duplicates;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/generated/zeus/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/generated/zeus/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAq8B5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CA45C1C,CAAA;AAED,eAAO,MAAM,GAAG;;;;CAIf,CAAA"}
|
|
@@ -124,6 +124,7 @@ export const AllTypesProps = {
|
|
|
124
124
|
projectUsage: {
|
|
125
125
|
filter: "TeamUsageFilterInput"
|
|
126
126
|
},
|
|
127
|
+
sharedFile: {},
|
|
127
128
|
fromTask: {},
|
|
128
129
|
fromTasks: {},
|
|
129
130
|
presets: {
|
|
@@ -315,6 +316,8 @@ export const AllTypesProps = {
|
|
|
315
316
|
input: "UpdateProjectFileInput"
|
|
316
317
|
},
|
|
317
318
|
deleteProjectFile: {},
|
|
319
|
+
shareProjectFile: {},
|
|
320
|
+
unshareProjectFile: {},
|
|
318
321
|
generateAexolFromText: {
|
|
319
322
|
input: "GenerateAexolFromTextInput"
|
|
320
323
|
},
|
|
@@ -840,6 +843,15 @@ export const ReturnTypes = {
|
|
|
840
843
|
createdAt: "DateTime",
|
|
841
844
|
updatedAt: "DateTime"
|
|
842
845
|
},
|
|
846
|
+
SharedProjectFile: {
|
|
847
|
+
name: "String",
|
|
848
|
+
content: "String",
|
|
849
|
+
updatedAt: "DateTime"
|
|
850
|
+
},
|
|
851
|
+
ShareProjectFileResult: {
|
|
852
|
+
fileId: "ID",
|
|
853
|
+
token: "String"
|
|
854
|
+
},
|
|
843
855
|
PresetFollowUpMessage: {
|
|
844
856
|
content: "String",
|
|
845
857
|
mode: "FollowUpMode"
|
|
@@ -1070,6 +1082,7 @@ export const ReturnTypes = {
|
|
|
1070
1082
|
project: "Project",
|
|
1071
1083
|
projects: "Project",
|
|
1072
1084
|
projectUsage: "ProjectUsage",
|
|
1085
|
+
sharedFile: "SharedProjectFile",
|
|
1073
1086
|
fromTask: "FromTask",
|
|
1074
1087
|
fromTasks: "FromTask",
|
|
1075
1088
|
presets: "Preset",
|
|
@@ -1202,6 +1215,8 @@ export const ReturnTypes = {
|
|
|
1202
1215
|
createProjectFile: "ProjectFile",
|
|
1203
1216
|
updateProjectFile: "ProjectFile",
|
|
1204
1217
|
deleteProjectFile: "Boolean",
|
|
1218
|
+
shareProjectFile: "ShareProjectFileResult",
|
|
1219
|
+
unshareProjectFile: "Boolean",
|
|
1205
1220
|
generateAexolFromText: "FromTask",
|
|
1206
1221
|
cancelFromTask: "Boolean",
|
|
1207
1222
|
requestCloudDocumentUpload: "CloudDocumentUpload",
|
|
@@ -679,6 +679,19 @@ export type ValueTypes = {
|
|
|
679
679
|
__typename?: boolean | `@${string}`;
|
|
680
680
|
['...on ProjectFile']?: Omit<ValueTypes["ProjectFile"], "...on ProjectFile">;
|
|
681
681
|
}>;
|
|
682
|
+
["SharedProjectFile"]: AliasType<{
|
|
683
|
+
name?: boolean | `@${string}`;
|
|
684
|
+
content?: boolean | `@${string}`;
|
|
685
|
+
updatedAt?: boolean | `@${string}`;
|
|
686
|
+
__typename?: boolean | `@${string}`;
|
|
687
|
+
['...on SharedProjectFile']?: Omit<ValueTypes["SharedProjectFile"], "...on SharedProjectFile">;
|
|
688
|
+
}>;
|
|
689
|
+
["ShareProjectFileResult"]: AliasType<{
|
|
690
|
+
fileId?: boolean | `@${string}`;
|
|
691
|
+
token?: boolean | `@${string}`;
|
|
692
|
+
__typename?: boolean | `@${string}`;
|
|
693
|
+
['...on ShareProjectFileResult']?: Omit<ValueTypes["ShareProjectFileResult"], "...on ShareProjectFileResult">;
|
|
694
|
+
}>;
|
|
682
695
|
["PresetScope"]: PresetScope;
|
|
683
696
|
["PresetCategory"]: PresetCategory;
|
|
684
697
|
["CostTier"]: CostTier;
|
|
@@ -1180,6 +1193,9 @@ export type ValueTypes = {
|
|
|
1180
1193
|
projectId: ValueTypes["ID"] | Variable<any, string>;
|
|
1181
1194
|
filter?: ValueTypes["TeamUsageFilterInput"] | undefined | null | Variable<any, string>;
|
|
1182
1195
|
}, ValueTypes["ProjectUsage"]];
|
|
1196
|
+
sharedFile?: [{
|
|
1197
|
+
token: string | Variable<any, string>;
|
|
1198
|
+
}, ValueTypes["SharedProjectFile"]];
|
|
1183
1199
|
fromTask?: [{
|
|
1184
1200
|
id: ValueTypes["ID"] | Variable<any, string>;
|
|
1185
1201
|
}, ValueTypes["FromTask"]];
|
|
@@ -1628,6 +1644,12 @@ export type ValueTypes = {
|
|
|
1628
1644
|
deleteProjectFile?: [{
|
|
1629
1645
|
id: ValueTypes["ID"] | Variable<any, string>;
|
|
1630
1646
|
}, boolean | `@${string}`];
|
|
1647
|
+
shareProjectFile?: [{
|
|
1648
|
+
id: ValueTypes["ID"] | Variable<any, string>;
|
|
1649
|
+
}, ValueTypes["ShareProjectFileResult"]];
|
|
1650
|
+
unshareProjectFile?: [{
|
|
1651
|
+
id: ValueTypes["ID"] | Variable<any, string>;
|
|
1652
|
+
}, boolean | `@${string}`];
|
|
1631
1653
|
generateAexolFromText?: [{
|
|
1632
1654
|
input: ValueTypes["GenerateAexolFromTextInput"] | Variable<any, string>;
|
|
1633
1655
|
}, ValueTypes["FromTask"]];
|
|
@@ -3523,6 +3545,17 @@ export type ResolverInputTypes = {
|
|
|
3523
3545
|
updatedAt?: boolean | `@${string}`;
|
|
3524
3546
|
__typename?: boolean | `@${string}`;
|
|
3525
3547
|
}>;
|
|
3548
|
+
["SharedProjectFile"]: AliasType<{
|
|
3549
|
+
name?: boolean | `@${string}`;
|
|
3550
|
+
content?: boolean | `@${string}`;
|
|
3551
|
+
updatedAt?: boolean | `@${string}`;
|
|
3552
|
+
__typename?: boolean | `@${string}`;
|
|
3553
|
+
}>;
|
|
3554
|
+
["ShareProjectFileResult"]: AliasType<{
|
|
3555
|
+
fileId?: boolean | `@${string}`;
|
|
3556
|
+
token?: boolean | `@${string}`;
|
|
3557
|
+
__typename?: boolean | `@${string}`;
|
|
3558
|
+
}>;
|
|
3526
3559
|
["PresetScope"]: PresetScope;
|
|
3527
3560
|
["PresetCategory"]: PresetCategory;
|
|
3528
3561
|
["CostTier"]: CostTier;
|
|
@@ -4001,6 +4034,9 @@ export type ResolverInputTypes = {
|
|
|
4001
4034
|
projectId: ResolverInputTypes["ID"];
|
|
4002
4035
|
filter?: ResolverInputTypes["TeamUsageFilterInput"] | undefined | null;
|
|
4003
4036
|
}, ResolverInputTypes["ProjectUsage"]];
|
|
4037
|
+
sharedFile?: [{
|
|
4038
|
+
token: string;
|
|
4039
|
+
}, ResolverInputTypes["SharedProjectFile"]];
|
|
4004
4040
|
fromTask?: [{
|
|
4005
4041
|
id: ResolverInputTypes["ID"];
|
|
4006
4042
|
}, ResolverInputTypes["FromTask"]];
|
|
@@ -4448,6 +4484,12 @@ export type ResolverInputTypes = {
|
|
|
4448
4484
|
deleteProjectFile?: [{
|
|
4449
4485
|
id: ResolverInputTypes["ID"];
|
|
4450
4486
|
}, boolean | `@${string}`];
|
|
4487
|
+
shareProjectFile?: [{
|
|
4488
|
+
id: ResolverInputTypes["ID"];
|
|
4489
|
+
}, ResolverInputTypes["ShareProjectFileResult"]];
|
|
4490
|
+
unshareProjectFile?: [{
|
|
4491
|
+
id: ResolverInputTypes["ID"];
|
|
4492
|
+
}, boolean | `@${string}`];
|
|
4451
4493
|
generateAexolFromText?: [{
|
|
4452
4494
|
input: ResolverInputTypes["GenerateAexolFromTextInput"];
|
|
4453
4495
|
}, ResolverInputTypes["FromTask"]];
|
|
@@ -6248,6 +6290,15 @@ export type ModelTypes = {
|
|
|
6248
6290
|
createdAt: ModelTypes["DateTime"];
|
|
6249
6291
|
updatedAt: ModelTypes["DateTime"];
|
|
6250
6292
|
};
|
|
6293
|
+
["SharedProjectFile"]: {
|
|
6294
|
+
name: string;
|
|
6295
|
+
content: string;
|
|
6296
|
+
updatedAt: ModelTypes["DateTime"];
|
|
6297
|
+
};
|
|
6298
|
+
["ShareProjectFileResult"]: {
|
|
6299
|
+
fileId: ModelTypes["ID"];
|
|
6300
|
+
token: string;
|
|
6301
|
+
};
|
|
6251
6302
|
["PresetScope"]: PresetScope;
|
|
6252
6303
|
["PresetCategory"]: PresetCategory;
|
|
6253
6304
|
["CostTier"]: CostTier;
|
|
@@ -6671,6 +6722,7 @@ export type ModelTypes = {
|
|
|
6671
6722
|
project?: ModelTypes["Project"] | undefined | null;
|
|
6672
6723
|
projects: Array<ModelTypes["Project"]>;
|
|
6673
6724
|
projectUsage: ModelTypes["ProjectUsage"];
|
|
6725
|
+
sharedFile?: ModelTypes["SharedProjectFile"] | undefined | null;
|
|
6674
6726
|
fromTask?: ModelTypes["FromTask"] | undefined | null;
|
|
6675
6727
|
fromTasks: Array<ModelTypes["FromTask"]>;
|
|
6676
6728
|
presets: Array<ModelTypes["Preset"]>;
|
|
@@ -6803,6 +6855,8 @@ export type ModelTypes = {
|
|
|
6803
6855
|
createProjectFile: ModelTypes["ProjectFile"];
|
|
6804
6856
|
updateProjectFile: ModelTypes["ProjectFile"];
|
|
6805
6857
|
deleteProjectFile: boolean;
|
|
6858
|
+
shareProjectFile: ModelTypes["ShareProjectFileResult"];
|
|
6859
|
+
unshareProjectFile: boolean;
|
|
6806
6860
|
generateAexolFromText: ModelTypes["FromTask"];
|
|
6807
6861
|
cancelFromTask: boolean;
|
|
6808
6862
|
requestCloudDocumentUpload: ModelTypes["CloudDocumentUpload"];
|
|
@@ -8305,6 +8359,19 @@ export type GraphQLTypes = {
|
|
|
8305
8359
|
updatedAt: GraphQLTypes["DateTime"];
|
|
8306
8360
|
['...on ProjectFile']: Omit<GraphQLTypes["ProjectFile"], "...on ProjectFile">;
|
|
8307
8361
|
};
|
|
8362
|
+
["SharedProjectFile"]: {
|
|
8363
|
+
__typename: "SharedProjectFile";
|
|
8364
|
+
name: string;
|
|
8365
|
+
content: string;
|
|
8366
|
+
updatedAt: GraphQLTypes["DateTime"];
|
|
8367
|
+
['...on SharedProjectFile']: Omit<GraphQLTypes["SharedProjectFile"], "...on SharedProjectFile">;
|
|
8368
|
+
};
|
|
8369
|
+
["ShareProjectFileResult"]: {
|
|
8370
|
+
__typename: "ShareProjectFileResult";
|
|
8371
|
+
fileId: GraphQLTypes["ID"];
|
|
8372
|
+
token: string;
|
|
8373
|
+
['...on ShareProjectFileResult']: Omit<GraphQLTypes["ShareProjectFileResult"], "...on ShareProjectFileResult">;
|
|
8374
|
+
};
|
|
8308
8375
|
["PresetScope"]: PresetScope;
|
|
8309
8376
|
["PresetCategory"]: PresetCategory;
|
|
8310
8377
|
["CostTier"]: CostTier;
|
|
@@ -8775,6 +8842,7 @@ export type GraphQLTypes = {
|
|
|
8775
8842
|
project?: GraphQLTypes["Project"] | undefined | null;
|
|
8776
8843
|
projects: Array<GraphQLTypes["Project"]>;
|
|
8777
8844
|
projectUsage: GraphQLTypes["ProjectUsage"];
|
|
8845
|
+
sharedFile?: GraphQLTypes["SharedProjectFile"] | undefined | null;
|
|
8778
8846
|
fromTask?: GraphQLTypes["FromTask"] | undefined | null;
|
|
8779
8847
|
fromTasks: Array<GraphQLTypes["FromTask"]>;
|
|
8780
8848
|
presets: Array<GraphQLTypes["Preset"]>;
|
|
@@ -8909,6 +8977,8 @@ export type GraphQLTypes = {
|
|
|
8909
8977
|
createProjectFile: GraphQLTypes["ProjectFile"];
|
|
8910
8978
|
updateProjectFile: GraphQLTypes["ProjectFile"];
|
|
8911
8979
|
deleteProjectFile: boolean;
|
|
8980
|
+
shareProjectFile: GraphQLTypes["ShareProjectFileResult"];
|
|
8981
|
+
unshareProjectFile: boolean;
|
|
8912
8982
|
generateAexolFromText: GraphQLTypes["FromTask"];
|
|
8913
8983
|
cancelFromTask: boolean;
|
|
8914
8984
|
requestCloudDocumentUpload: GraphQLTypes["CloudDocumentUpload"];
|