@oomol-lab/open-flow 0.1.0-beta.62 → 0.1.0-beta.63
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/browser/{createResourceDialog-DZgJsr3e.js → createResourceDialog-BAJXbzNH.js} +20 -7
- package/dist/browser/flow-authoring.js +8 -7
- package/dist/browser/flow-change-schema.d.ts +1 -0
- package/dist/browser/flow-change.d.ts +1 -0
- package/dist/browser/flow-change.js +8 -7
- package/dist/browser/{flowChanges-CzYIVevI.js → flowChanges-DpZOQuJE.js} +784 -443
- package/dist/browser/{flowRunInputEditorStore-Dsxyfwae.js → flowRunInputEditorStore-B2Rw4VsT.js} +1 -1
- package/dist/browser/{flowWorkspace-BgZaFKZm.js → flowWorkspace-B7a5NNA_.js} +41 -29
- package/dist/browser/{icons-CajfDpy_.js → icons-Db2Jb2iX.js} +30 -10
- package/dist/browser/preview.css +5 -6
- package/dist/browser/preview.js +437 -402
- package/dist/browser/{typeScriptSession-fXPMFGjW.js → typeScriptSession-D0bjYDeg.js} +1 -1
- package/dist/browser/ui.css +4 -5
- package/dist/browser/ui.js +2 -2
- package/dist/browser/{value-DL_poNiC.js → value-BADHeZ9I.js} +12 -1
- package/dist/browser/workbench-contract.d.ts +10 -0
- package/dist/browser/workbench.css +5 -6
- package/dist/browser/workbench.d.ts +5 -3
- package/dist/browser/workbench.js +198 -171
- package/dist/browser/{workbenchSelect-H9wzEFkH.js → workbenchSelect-C-jf6NIM.js} +1 -1
- package/dist/command/index.js +40 -39
- package/dist/common/authoringSchema.d.ts +1 -0
- package/dist/common/connector-action.d.ts +1 -0
- package/dist/common/connector-action.js +15 -12
- package/dist/common/control-api-conformance.js +107 -8
- package/dist/common/control-api.d.ts +8 -0
- package/dist/common/control-api.js +47 -8
- package/dist/common/control-requests.d.ts +6 -0
- package/dist/common/control-requests.js +41 -18
- package/dist/common/decision.js +8 -7
- package/dist/common/flow-connectionUsage.d.ts +1 -0
- package/dist/common/flow-encoding.d.ts +1 -0
- package/dist/common/flow-encoding.js +202 -10
- package/dist/common/flow-semantics.js +64 -46
- package/dist/common/flow-workflowFile.d.ts +23 -0
- package/dist/common/integration-trigger.js +8 -7
- package/dist/common/localization.d.ts +1 -0
- package/dist/common/localization.js +12 -1
- package/dist/common/mcp.d.ts +61 -0
- package/dist/common/mcp.js +92 -9
- package/dist/common/openapi.js +8 -7
- package/dist/common/poll-trigger.js +8 -7
- package/dist/common/runtime-contract.js +1 -1
- package/dist/common/scheduler.d.ts +22 -2
- package/dist/common/scheduler.js +354 -83
- package/dist/common/trigger-config.d.ts +2 -0
- package/dist/common/webhook-trigger.js +8 -7
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
- package/skills/open-flow/SKILL.md +1 -1
- package/skills/open-flow/references/flow-authoring.md +20 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { o as __toESM, t as __commonJSMin } from "./rolldown-runtime-CEgmsyvS.js";
|
|
2
2
|
import { a as derive, i as compute, l as val, r as combine, t as arrayShallowEqual } from "./dist-bO8nvHFH.js";
|
|
3
|
-
import { l as useTranslate, o as I18nProvider } from "./dist-BFmpkX4P.js";
|
|
4
|
-
import { $ as
|
|
5
|
-
import {
|
|
3
|
+
import { a as toPlainObject, l as useTranslate, o as I18nProvider } from "./dist-BFmpkX4P.js";
|
|
4
|
+
import { $t as InternalBackdrop, Ai as warn, An as createInitialPopupStoreState, At as SelectValue, Bi as useRefWithInit, Bn as FloatingNode, Br as useAnimationsFinished, Bt as COMPOSITE_KEYS, Ci as cn, Cn as useListNavigation, Ct as Select, D as authoringDefinitionSchemas, Di as EMPTY_ARRAY, Dn as useFocus, Dt as SelectItem, Ei as useRenderElement, En as useHoverFloatingInteraction, Et as SelectGroup, Fi as formatErrorMessage, Fn as useTriggerDataForwarding, G as normalizeNodeName, Gn as FloatingTreeStore, Gr as createChangeEventDetails, H as isSchemaKeyword, Hn as useFloatingNodeId, Hr as transitionStatusMapping, I as comparePorts, Ii as mergeProps, In as useTriggerRegistration, Ir as Check, J as clearConditionBindings, Jn as DROPDOWN_COLLISION_AVOIDANCE, K as portsByHandle, Kn as FloatingPortal, L as matchesSchema, Li as useIsoLayoutEffect, Ln as useDismiss, Lr as createLucideIcon, Mi as useButton, Mn as PopupTriggerMap, Mr as isMac, N as decisionTask, Nn as useImplicitActiveTrigger, Nr as ownerDocument, Nt as useCompositeListItem, O as decodeRevisionContent, Oi as EMPTY_OBJECT, On as useSyncedFloatingRootContext, Or as contains, Pi as useCompositeRootContext, Pn as useOpenStateTransitions, Q as nodeInputMappings, Qn as ReactStore, Qr as imperativeAction, Qt as getDisabledMountTransitionStyles, R as schemaObject, Ri as SafeReact, Rn as useClick, Rr as useTransitionStatus, Si as buttonVariants, Sn as useRole, St as unknown, Ti as clsx, Tn as useHoverReferenceInteraction, Tt as SelectContent, U as nextNodeName, Ui as isHTMLElement$1, Un as useFloatingParentNodeId, Ur as useOnMount, V as applyFlowChanges$1, Vi as getParentNode, Vn as FloatingTree, Wi as isLastTraversableNode, Wn as useFloatingTree, Wr as useValueChanged, X as conditionInputPorts, Xn as FocusGuard, Xt as useAnchoredPopupScrollLock, Yn as POPUP_COLLISION_AVOIDANCE, Yr as closePress, Yt as useToolbarRootContext, Zr as focusOut, Zt as usePositioner, _i as fieldValidityMapping, _t as object$1, an as getPseudoElementBounds, ar as createSelector, at as dequal, bi as useControlled, bn as safePolygon, bt as string$1, ci as triggerHover, cn as triggerOpenStateMapping, cr as Label, ct as _enum, d as TooltipContent, di as useFormContext, dr as useTimeout, dt as discriminatedUnion, en as useAnchorPositioning, fi as useRegisterFieldControl, fr as getNextTabbable, ft as int, gt as number, hi as useId$1, hr as isOutsideEvent, ht as literal, ii as none, in as inertValue, it as format, ji as useMergedRefs, jn as popupStoreSelectors, jt as Separator, k as checkJsonDepth, ki as NOOP, kt as SelectTrigger, lr as Input, lt as array, mi as useBaseUiId, mr as getTabbableBeforeElement, mt as lazy$1, ni as itemPress, nn as useDirection, nr as fastComponentRef, oi as siblingOpen, on as popupStateMapping, p as TooltipTrigger, pi as useFieldRootContext, pr as getTabbableAfterElement, pt as json$2, qn as CLICK_TRIGGER_IDENTIFIER, qr as cancelOpen, rn as CompositeList, sn as pressableTriggerOpenStateMapping, sr as useOnFirstRender, st as webhookSupportsBody, tn as adaptiveOrigin, tr as fastComponent, tt as otherwiseOutput, u as Tooltip, ui as useLabelableContext, un as useOpenInteractionType, ur as Timeout, ut as boolean, vi as visuallyHidden, vt as record$2, wi as cva, wn as useInteractions, xi as Button, xn as useTypeahead, xt as union, yi as visuallyHiddenInput, yt as strictObject, zi as useStableCallback, zn as FloatingFocusManager, zr as useOpenChangeComplete } from "./icons-Db2Jb2iX.js";
|
|
5
|
+
import { f as uiLanguages, i as objectValue, l as isUiLanguage, s as valueType, t as initialValue, u as resolveUiLanguage } from "./value-BADHeZ9I.js";
|
|
6
6
|
import "./lib-Dws05GHj.js";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import reactExports, { createContext, forwardRef, memo, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -1132,7 +1132,7 @@ var authoringConfigurations = {
|
|
|
1132
1132
|
outputs: outputFields,
|
|
1133
1133
|
capabilities: authoringDefinitionSchemas.capabilities.optional()
|
|
1134
1134
|
}),
|
|
1135
|
-
connector: authoringDefinitionSchemas.connector.strict(),
|
|
1135
|
+
connector: authoringDefinitionSchemas.connector.omit({ outputMode: true }).strict(),
|
|
1136
1136
|
openapi: authoringOpenApiSchema,
|
|
1137
1137
|
agent: authoringDefinitionSchemas.agent.omit({
|
|
1138
1138
|
prompt: true,
|
|
@@ -1755,6 +1755,218 @@ function providerIconAppearance(metadata, position) {
|
|
|
1755
1755
|
}
|
|
1756
1756
|
};
|
|
1757
1757
|
}
|
|
1758
|
+
//#endregion
|
|
1759
|
+
//#region src/trigger/common/config.ts
|
|
1760
|
+
/** Deployment-bound selections owned by the Trigger configuration contract. */
|
|
1761
|
+
function clearTriggerExternalConfig(key, config) {
|
|
1762
|
+
const fields = key == "feishu_app_bot.on_event" ? [
|
|
1763
|
+
"sourceId",
|
|
1764
|
+
"eventTypes",
|
|
1765
|
+
"resource",
|
|
1766
|
+
"chatIds"
|
|
1767
|
+
] : key == "linear.on_issue_changed" ? ["teamId", "stateIds"] : [];
|
|
1768
|
+
return {
|
|
1769
|
+
...config,
|
|
1770
|
+
...Object.fromEntries(fields.map((field) => [field, { kind: "unset" }]))
|
|
1771
|
+
};
|
|
1772
|
+
}
|
|
1773
|
+
function triggerConfigValue(input, config) {
|
|
1774
|
+
return inputValue(config[input.handle], input.value);
|
|
1775
|
+
}
|
|
1776
|
+
/** Provider-specific controls consume values, never persistence wrappers. */
|
|
1777
|
+
function triggerConfigValues(inputs, config) {
|
|
1778
|
+
return Object.fromEntries(inputs.flatMap((input) => "handle" in input ? [[input.handle, triggerConfigValue(input, config) ?? null]] : []));
|
|
1779
|
+
}
|
|
1780
|
+
//#endregion
|
|
1781
|
+
//#region src/flow/common/connectionUsage.ts
|
|
1782
|
+
function connectionUsage$7(document) {
|
|
1783
|
+
const uses = [];
|
|
1784
|
+
for (const [nodeId, node] of Object.entries(document.graph.nodes)) {
|
|
1785
|
+
const task = node.kind == "task" && "executor" in node.task ? node.task : void 0;
|
|
1786
|
+
const name = node.name ?? task?.name ?? nodeId;
|
|
1787
|
+
const add = (kind, actionId, connectionId) => {
|
|
1788
|
+
uses.push({
|
|
1789
|
+
kind,
|
|
1790
|
+
providerId: actionId.split(".")[0],
|
|
1791
|
+
actionId,
|
|
1792
|
+
connectionId,
|
|
1793
|
+
nodeId,
|
|
1794
|
+
name
|
|
1795
|
+
});
|
|
1796
|
+
};
|
|
1797
|
+
if (node.kind == "poll" || node.kind == "integration") uses.push({
|
|
1798
|
+
kind: "trigger",
|
|
1799
|
+
triggerId: node.definition.key,
|
|
1800
|
+
providerId: node.definition.provider,
|
|
1801
|
+
connectionId: node.connectionId,
|
|
1802
|
+
nodeId,
|
|
1803
|
+
name
|
|
1804
|
+
});
|
|
1805
|
+
if (task?.executor.kind == "connector") add("connector", task.executor.action, task.executor.connectionId);
|
|
1806
|
+
if (node.kind == "task" && "moduleId" in node.task) {
|
|
1807
|
+
for (const capability of node.task.capabilities ?? []) if ("mode" in capability && capability.mode == "independent") for (const action of capability.actions) add("code", action.action, action.connectionId);
|
|
1808
|
+
}
|
|
1809
|
+
if (task?.executor.kind == "agent") {
|
|
1810
|
+
for (const tool of task.executor.tools) add("agent", tool.action, tool.connectionId);
|
|
1811
|
+
const notification = task.executor.notification;
|
|
1812
|
+
if (notification != null) add("notification", notification.action, notification.connectionId);
|
|
1813
|
+
}
|
|
1814
|
+
}
|
|
1815
|
+
return uses;
|
|
1816
|
+
}
|
|
1817
|
+
function clearNodeConnections(graph, connectionId) {
|
|
1818
|
+
return {
|
|
1819
|
+
...graph,
|
|
1820
|
+
nodes: Object.fromEntries(Object.entries(graph.nodes).map(([id, node]) => {
|
|
1821
|
+
if ((node.kind == "poll" || node.kind == "integration") && (connectionId == null || node.connectionId == connectionId)) {
|
|
1822
|
+
const { connectionId: _, ...remaining } = node;
|
|
1823
|
+
return [id, remaining];
|
|
1824
|
+
}
|
|
1825
|
+
if (node.kind != "task") return [id, node];
|
|
1826
|
+
if ("executor" in node.task) {
|
|
1827
|
+
const executor = node.task.executor;
|
|
1828
|
+
const clear = (value) => {
|
|
1829
|
+
if (connectionId != null && value.connectionId != connectionId) return value;
|
|
1830
|
+
const { connectionId: _, ...rest } = value;
|
|
1831
|
+
return rest;
|
|
1832
|
+
};
|
|
1833
|
+
if (executor.kind == "connector") return [id, {
|
|
1834
|
+
...node,
|
|
1835
|
+
task: {
|
|
1836
|
+
...node.task,
|
|
1837
|
+
executor: clear(executor)
|
|
1838
|
+
}
|
|
1839
|
+
}];
|
|
1840
|
+
if (executor.kind == "agent") return [id, {
|
|
1841
|
+
...node,
|
|
1842
|
+
task: {
|
|
1843
|
+
...node.task,
|
|
1844
|
+
executor: {
|
|
1845
|
+
...executor,
|
|
1846
|
+
tools: executor.tools.map(clear),
|
|
1847
|
+
...executor.notification == null ? {} : { notification: clear(executor.notification) }
|
|
1848
|
+
}
|
|
1849
|
+
}
|
|
1850
|
+
}];
|
|
1851
|
+
return [id, node];
|
|
1852
|
+
}
|
|
1853
|
+
const capabilities = node.task.capabilities?.map((capability) => {
|
|
1854
|
+
if (!("mode" in capability)) {
|
|
1855
|
+
if ("action" in capability) {
|
|
1856
|
+
const { connectionId: selected, ...rest } = capability;
|
|
1857
|
+
return {
|
|
1858
|
+
...rest,
|
|
1859
|
+
connections: capability.connections.filter((item) => connectionId != null && item.connectionId != connectionId),
|
|
1860
|
+
...selected != null && connectionId != null && selected != connectionId ? { connectionId: selected } : {}
|
|
1861
|
+
};
|
|
1862
|
+
}
|
|
1863
|
+
return {
|
|
1864
|
+
...capability,
|
|
1865
|
+
...connectionId == null && (capability.connectionHints?.length ?? 0) > 0 ? { actionHints: [.../* @__PURE__ */ new Set([...capability.actionHints ?? [], ...capability.connectionHints.map((hint) => hint.action)])] } : {},
|
|
1866
|
+
...capability.connectionHints == null ? {} : { connectionHints: capability.connectionHints.filter((item) => connectionId != null && item.connectionId != connectionId) }
|
|
1867
|
+
};
|
|
1868
|
+
}
|
|
1869
|
+
if (capability.mode != "independent") return capability;
|
|
1870
|
+
return {
|
|
1871
|
+
...capability,
|
|
1872
|
+
actions: capability.actions.map((action) => {
|
|
1873
|
+
if (connectionId != null && action.connectionId != connectionId) return action;
|
|
1874
|
+
const { connectionId: _, ...remaining } = action;
|
|
1875
|
+
return remaining;
|
|
1876
|
+
})
|
|
1877
|
+
};
|
|
1878
|
+
});
|
|
1879
|
+
return [id, capabilities == null ? node : {
|
|
1880
|
+
...node,
|
|
1881
|
+
task: {
|
|
1882
|
+
...node.task,
|
|
1883
|
+
capabilities
|
|
1884
|
+
}
|
|
1885
|
+
}];
|
|
1886
|
+
}))
|
|
1887
|
+
};
|
|
1888
|
+
}
|
|
1889
|
+
//#endregion
|
|
1890
|
+
//#region src/flow/common/workflowFile.ts
|
|
1891
|
+
var envelope = strictObject({
|
|
1892
|
+
kind: literal("open-flow-workflow"),
|
|
1893
|
+
version: literal(1),
|
|
1894
|
+
name: string$1().optional(),
|
|
1895
|
+
content: unknown(),
|
|
1896
|
+
presentation: record$2(string$1(), json$2()).optional()
|
|
1897
|
+
});
|
|
1898
|
+
/** Structural decoding only: incomplete drafts are supported, repair is never attempted. */
|
|
1899
|
+
function decodeWorkflowFile(value) {
|
|
1900
|
+
checkJsonDepth(value, -1);
|
|
1901
|
+
const file = envelope.parse(value);
|
|
1902
|
+
return {
|
|
1903
|
+
...file,
|
|
1904
|
+
content: decodeRevisionContent(file.content)
|
|
1905
|
+
};
|
|
1906
|
+
}
|
|
1907
|
+
function parseWorkflowFile(text) {
|
|
1908
|
+
return decodeWorkflowFile(JSON.parse(text));
|
|
1909
|
+
}
|
|
1910
|
+
function cleanInput(input) {
|
|
1911
|
+
if (input.kind != "sources" || !input.sources.some((source) => source.kind == "binding")) return input;
|
|
1912
|
+
const sources = input.sources.filter((source) => source.kind != "binding");
|
|
1913
|
+
return sources.length == 0 ? { kind: "unset" } : {
|
|
1914
|
+
kind: "sources",
|
|
1915
|
+
sources
|
|
1916
|
+
};
|
|
1917
|
+
}
|
|
1918
|
+
/** Clear only owned structured references, never strings in code or business values. */
|
|
1919
|
+
function cleanWorkflowFile(value) {
|
|
1920
|
+
const file = decodeWorkflowFile(value);
|
|
1921
|
+
const original = file.content.document.graph;
|
|
1922
|
+
const graph = clearNodeConnections(original);
|
|
1923
|
+
const nodes = Object.fromEntries(Object.entries(graph.nodes).map(([id, source]) => {
|
|
1924
|
+
let node = source;
|
|
1925
|
+
if ("inputs" in node) node = {
|
|
1926
|
+
...node,
|
|
1927
|
+
inputs: Object.fromEntries(Object.entries(node.inputs).map(([key, input]) => [key, cleanInput(input)]))
|
|
1928
|
+
};
|
|
1929
|
+
if (node.kind == "condition") node = clearConditionBindings(node);
|
|
1930
|
+
if (node.kind == "error" && node.sourceFlowIds != null) node = {
|
|
1931
|
+
...node,
|
|
1932
|
+
sourceFlowIds: []
|
|
1933
|
+
};
|
|
1934
|
+
if (node.kind == "poll" || node.kind == "integration") node = {
|
|
1935
|
+
...node,
|
|
1936
|
+
config: clearTriggerExternalConfig(node.definition.key, node.config)
|
|
1937
|
+
};
|
|
1938
|
+
return [id, node];
|
|
1939
|
+
}));
|
|
1940
|
+
return {
|
|
1941
|
+
file: {
|
|
1942
|
+
...file,
|
|
1943
|
+
content: {
|
|
1944
|
+
...file.content,
|
|
1945
|
+
document: {
|
|
1946
|
+
...file.content.document,
|
|
1947
|
+
bindings: {},
|
|
1948
|
+
graph: {
|
|
1949
|
+
...graph,
|
|
1950
|
+
nodes
|
|
1951
|
+
}
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
},
|
|
1955
|
+
summary: {
|
|
1956
|
+
changedNodeIds: Object.keys(nodes).filter((id) => !dequal(nodes[id], original.nodes[id])),
|
|
1957
|
+
removedBindings: Object.keys(file.content.document.bindings).length
|
|
1958
|
+
}
|
|
1959
|
+
};
|
|
1960
|
+
}
|
|
1961
|
+
function encodeWorkflowFile(file) {
|
|
1962
|
+
return `${JSON.stringify(cleanWorkflowFile(file).file, null, 2)}\n`;
|
|
1963
|
+
}
|
|
1964
|
+
function workflowFileName(name) {
|
|
1965
|
+
return `${name.replace(/[<>:"/\\|?*\u0000-\u001f]/g, "_").replace(/[. ]+$/g, "") || "workflow"}.openflow.json`;
|
|
1966
|
+
}
|
|
1967
|
+
function workflowNameFromFile(name) {
|
|
1968
|
+
return name.replace(/(?:\.openflow)?\.json$/i, "");
|
|
1969
|
+
}
|
|
1758
1970
|
new TextEncoder();
|
|
1759
1971
|
//#endregion
|
|
1760
1972
|
//#region src/control/common/providerAccess.ts
|
|
@@ -2120,15 +2332,6 @@ function connectorProvider(value) {
|
|
|
2120
2332
|
};
|
|
2121
2333
|
}
|
|
2122
2334
|
//#endregion
|
|
2123
|
-
//#region src/trigger/common/config.ts
|
|
2124
|
-
function triggerConfigValue(input, config) {
|
|
2125
|
-
return inputValue(config[input.handle], input.value);
|
|
2126
|
-
}
|
|
2127
|
-
/** Provider-specific controls consume values, never persistence wrappers. */
|
|
2128
|
-
function triggerConfigValues(inputs, config) {
|
|
2129
|
-
return Object.fromEntries(inputs.flatMap((input) => "handle" in input ? [[input.handle, triggerConfigValue(input, config) ?? null]] : []));
|
|
2130
|
-
}
|
|
2131
|
-
//#endregion
|
|
2132
2335
|
//#region src/base/common/json.ts
|
|
2133
2336
|
function hasJsonShape(root) {
|
|
2134
2337
|
if (root === null || typeof root == "boolean" || typeof root == "string") return true;
|
|
@@ -2546,18 +2749,13 @@ function mappingAvailable(graph, target, mapping, analysis) {
|
|
|
2546
2749
|
if (target != null && mapping.sources.some((source) => source.kind == "node" && isResolutionNode(graph.nodes[source.nodeId]) && !analysis.resolutionOutputs.get(target)?.has(resolutionOutputKey(source.nodeId, source.output)))) return false;
|
|
2547
2750
|
const sources = mapping.sources.map((source) => sourcePaths(graph, paths, source));
|
|
2548
2751
|
const targetPaths = target == null ? [{}] : paths.get(target) ?? [];
|
|
2549
|
-
for (const [index, routes] of sources.entries()) for (const
|
|
2550
|
-
|
|
2551
|
-
const
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
...targetRoute,
|
|
2557
|
-
...left
|
|
2558
|
-
};
|
|
2559
|
-
if (other.some((right) => routesCompatible(right, path))) return false;
|
|
2560
|
-
}
|
|
2752
|
+
for (const [index, routes] of sources.entries()) for (const other of sources.slice(index + 1)) for (const left of routes) for (const targetRoute of targetPaths) {
|
|
2753
|
+
if (!routesCompatible(left, targetRoute)) continue;
|
|
2754
|
+
const path = {
|
|
2755
|
+
...targetRoute,
|
|
2756
|
+
...left
|
|
2757
|
+
};
|
|
2758
|
+
if (other.some((right) => routesCompatible(right, path))) return false;
|
|
2561
2759
|
}
|
|
2562
2760
|
return true;
|
|
2563
2761
|
}
|
|
@@ -3648,6 +3846,26 @@ var ControlClient = class {
|
|
|
3648
3846
|
exact(source, ["version"]);
|
|
3649
3847
|
if (source.version != 1) return invalidResponse();
|
|
3650
3848
|
}
|
|
3849
|
+
async exportFlow(flowId) {
|
|
3850
|
+
const value = await this.request(`/v1/flows/${segment$1(flowId)}/export`);
|
|
3851
|
+
try {
|
|
3852
|
+
return decodeWorkflowFile(value);
|
|
3853
|
+
} catch {
|
|
3854
|
+
return invalidResponse();
|
|
3855
|
+
}
|
|
3856
|
+
}
|
|
3857
|
+
async importFlow(file, options = {}) {
|
|
3858
|
+
return flow(await this.request("/v1/flows/import", {
|
|
3859
|
+
method: "POST",
|
|
3860
|
+
headers: { "Idempotency-Key": options.idempotencyKey ?? `flow-${randomId()}` },
|
|
3861
|
+
body: JSON.stringify({
|
|
3862
|
+
file,
|
|
3863
|
+
name: options.name,
|
|
3864
|
+
teamId: options.teamId,
|
|
3865
|
+
version: 1
|
|
3866
|
+
})
|
|
3867
|
+
}));
|
|
3868
|
+
}
|
|
3651
3869
|
async createFlow(name, idempotencyKey = `flow-${randomId()}`, teamId) {
|
|
3652
3870
|
return flow(await this.request("/v1/flows", {
|
|
3653
3871
|
body: JSON.stringify({
|
|
@@ -10619,7 +10837,10 @@ var resources$1 = {
|
|
|
10619
10837
|
"enabledHint": "Controls new live runs. Draft tests remain available.",
|
|
10620
10838
|
"publish": "Publish",
|
|
10621
10839
|
"publishUpdate": "Update",
|
|
10622
|
-
"deleteDescription": "This deletes the flow and its run history and stops live triggers. This cannot be undone."
|
|
10840
|
+
"deleteDescription": "This deletes the flow and its run history and stops live triggers. This cannot be undone.",
|
|
10841
|
+
"importFlow": "Import workflow",
|
|
10842
|
+
"exportFlow": "Export workflow",
|
|
10843
|
+
"importInvalid": "Invalid or unsupported workflow file."
|
|
10623
10844
|
},
|
|
10624
10845
|
inspector: {
|
|
10625
10846
|
"outline": "Node outline",
|
|
@@ -10884,7 +11105,9 @@ var resources$1 = {
|
|
|
10884
11105
|
"networkFailed": "Could not reach the service. Check your connection and try again.",
|
|
10885
11106
|
"published": "Published {{name}}.",
|
|
10886
11107
|
"rolledBack": "Rolled Live back to revision {{revision}}.",
|
|
10887
|
-
"requestFailed": "The service could not complete this operation. Try again later."
|
|
11108
|
+
"requestFailed": "The service could not complete this operation. Try again later.",
|
|
11109
|
+
"flowImported": "Workflow imported. Configure external resources before running or publishing.",
|
|
11110
|
+
"exportSaveFailed": "Export stopped because the draft or layout could not be saved. Retry saving before exporting."
|
|
10888
11111
|
},
|
|
10889
11112
|
publication: {
|
|
10890
11113
|
"active": "Active",
|
|
@@ -12059,7 +12282,10 @@ var resources$1 = {
|
|
|
12059
12282
|
"enabledHint": "控制新的线上运行,草稿测试仍可使用。",
|
|
12060
12283
|
"publish": "发布",
|
|
12061
12284
|
"publishUpdate": "更新",
|
|
12062
|
-
"deleteDescription": "此操作将删除工作流及其运行记录,并停止线上触发,无法撤销。"
|
|
12285
|
+
"deleteDescription": "此操作将删除工作流及其运行记录,并停止线上触发,无法撤销。",
|
|
12286
|
+
"importFlow": "导入工作流",
|
|
12287
|
+
"exportFlow": "导出工作流",
|
|
12288
|
+
"importInvalid": "文件损坏或工作流格式不受支持。"
|
|
12063
12289
|
},
|
|
12064
12290
|
inspector: {
|
|
12065
12291
|
"outline": "节点大纲",
|
|
@@ -12324,7 +12550,9 @@ var resources$1 = {
|
|
|
12324
12550
|
"networkFailed": "暂时无法连接服务,请检查网络后重试。",
|
|
12325
12551
|
"published": "已发布 {{name}}。",
|
|
12326
12552
|
"rolledBack": "已将线上版本回滚到修订 {{revision}}。",
|
|
12327
|
-
"requestFailed": "服务未能完成此操作,请稍后重试。"
|
|
12553
|
+
"requestFailed": "服务未能完成此操作,请稍后重试。",
|
|
12554
|
+
"flowImported": "工作流已导入。运行或发布前请重新配置外部资源。",
|
|
12555
|
+
"exportSaveFailed": "草稿或布局未能保存,已停止导出。请保存成功后重试。"
|
|
12328
12556
|
},
|
|
12329
12557
|
publication: {
|
|
12330
12558
|
"active": "运行中",
|
|
@@ -13499,7 +13727,10 @@ var resources$1 = {
|
|
|
13499
13727
|
"enabledHint": "控制新的線上執行,草稿測試仍可使用。",
|
|
13500
13728
|
"publish": "發佈",
|
|
13501
13729
|
"publishUpdate": "更新",
|
|
13502
|
-
"deleteDescription": "此操作將刪除工作流程及其執行記錄,並停止線上觸發,無法復原。"
|
|
13730
|
+
"deleteDescription": "此操作將刪除工作流程及其執行記錄,並停止線上觸發,無法復原。",
|
|
13731
|
+
"importFlow": "匯入工作流",
|
|
13732
|
+
"exportFlow": "匯出工作流",
|
|
13733
|
+
"importInvalid": "檔案損壞或工作流格式不受支援。"
|
|
13503
13734
|
},
|
|
13504
13735
|
inspector: {
|
|
13505
13736
|
"outline": "節點大綱",
|
|
@@ -13764,7 +13995,9 @@ var resources$1 = {
|
|
|
13764
13995
|
"networkFailed": "暫時無法連線到服務,請檢查網路後再試一次。",
|
|
13765
13996
|
"published": "已發布 {{name}}。",
|
|
13766
13997
|
"rolledBack": "已將線上版本還原到修訂 {{revision}}。",
|
|
13767
|
-
"requestFailed": "服務未能完成此操作,請稍後再試一次。"
|
|
13998
|
+
"requestFailed": "服務未能完成此操作,請稍後再試一次。",
|
|
13999
|
+
"flowImported": "工作流已匯入。執行或發佈前請重新設定外部資源。",
|
|
14000
|
+
"exportSaveFailed": "草稿或版面未能儲存,已停止匯出。請儲存成功後重試。"
|
|
13768
14001
|
},
|
|
13769
14002
|
publication: {
|
|
13770
14003
|
"active": "運作中",
|
|
@@ -14939,7 +15172,10 @@ var resources$1 = {
|
|
|
14939
15172
|
"enabledHint": "新しい本番実行を制御します。下書きのテストは引き続き利用できます。",
|
|
14940
15173
|
"publish": "公開",
|
|
14941
15174
|
"publishUpdate": "更新",
|
|
14942
|
-
"deleteDescription": "フローと実行履歴を削除し、本番のトリガーを停止します。この操作は取り消せません。"
|
|
15175
|
+
"deleteDescription": "フローと実行履歴を削除し、本番のトリガーを停止します。この操作は取り消せません。",
|
|
15176
|
+
"importFlow": "ワークフローをインポート",
|
|
15177
|
+
"exportFlow": "ワークフローをエクスポート",
|
|
15178
|
+
"importInvalid": "無効または未対応のワークフローファイルです。"
|
|
14943
15179
|
},
|
|
14944
15180
|
inspector: /* @__PURE__ */ JSON.parse("{\"outline\":\"ノード一覧\",\"backToOutline\":\"ノード一覧に戻る\",\"emptyOutline\":\"ノードはまだありません\",\"triggers\":\"トリガー\",\"nodes\":\"ノード\",\"multipleSelected\":\"{{count}} 個のノードを選択中\",\"account\":{\"contactAdmin\":\"この操作を実行する権限がありません。管理者にお問い合わせください。\",\"accessTitle\":\"アクセス権限\",\"manageFlowAccess\":\"Code で使用できる接続\",\"configureAccess\":\"アカウントを選択\",\"manageAccount\":\"アカウントを管理\",\"required\":\"アカウント接続が必要\",\"addAccount\":\"アカウントを追加\",\"manage\":\"管理\",\"authorizationPending\":\"Connection ページで認証を完了してください。ここに戻ると、このアカウントが更新されます。\",\"chooseAccount\":\"アカウントを選択\",\"connectBeforeRun\":\"このノードを実行または公開するには、先に {{service}} を接続してください。\",\"connectService\":\"{{service}} を接続\",\"connection\":\"Connection\",\"loading\":\"Connection を読み込み中…\",\"oomolBuiltIn\":\"OOMOL 組み込みアカウント\",\"missing\":\"このノードで選択されたアカウントは現在利用できません。別のアカウントを選択するか、アカウントを管理してください。\",\"refreshFailed\":\"Connection を更新できませんでした。\",\"retry\":\"再試行\",\"status\":{\"disconnected\":\"この Connection は切断されています。再接続するか、別のアカウントを選択してください。\",\"error\":\"この Connection にエラーがあります。修復するか、別のアカウントを選択してください。\",\"reauth_required\":\"この Connection は再認証が必要です。再接続するか、別のアカウントを選択してください。\"},\"statusUnavailable\":\"{{action}} の Connection 状態を取得できません。\",\"teamDefault\":\"チームのデフォルト\",\"title\":\"アカウント\",\"unavailable\":\"利用不可\"},\"close\":\"インスペクターを閉じる\",\"configurationRequired\":\"設定が必要\",\"diagnostics\":\"診断\",\"errors\":{\"jsonObject\":\"{{label}} は JSON オブジェクトである必要があります。\",\"portDefinitions\":\"有効なポート定義を入力してください。\"},\"node\":{\"nameDuplicate\":\"このグラフには同じ名前のノードが既に存在します。\",\"nameEmpty\":\"ノード名を空にすることはできません。\",\"timeout\":\"タイムアウト(ミリ秒)\",\"maxExecutions\":\"ノード実行上限\",\"maxExecutionsError\":\"ノード実行上限は正の整数で指定してください。\",\"timeoutError\":\"タイムアウトはミリ秒単位の正の整数で指定してください。\",\"title\":\"ノード設定\",\"description\":\"目的\",\"describe\":\"このステップの目的を記述します。\",\"icon\":\"アイコン\",\"name\":\"タイトル\"},\"selectNode\":\"ドラフトのノードを 1 つ選択すると、内容を確認して編集できます。\",\"locateNode\":\"キャンバス上でこのノードを表示\",\"task\":{\"sharedPermissions\":\"Flow の共有権限グループを使用\",\"sharedPermissionsHint\":\"Flow の共有権限グループで許可されたすべての Action を使用します。個別の追加は不要です。\",\"addAction\":\"Action を追加\",\"removeAction\":\"Action を削除\",\"actionAccount\":\"アカウント\",\"chooseAccount\":\"アカウントを選択\",\"permissionSaveFailed\":\"Code の権限を保存できませんでした。再試行してください。\",\"chatText\":\"チャットテキスト\",\"connectorAction\":\"Connector アクション\",\"definition\":\"タスク定義\",\"discardCode\":\"変更を破棄\",\"editorLoading\":\"エディターを読み込み中…\",\"editorUnavailable\":\"コードエディターを読み込めませんでした。\",\"inputPorts\":\"入力ポート\",\"javascriptModule\":\"コード\",\"missing\":\"参照しているタスクが存在しません。\",\"outputPorts\":\"出力ポート\",\"responseMode\":\"応答モード\",\"source\":\"ソースコード\",\"structuredJson\":\"構造化 JSON\",\"retrySave\":\"保存を再試行\",\"additionalInputs\":\"追加入力\"},\"wait\":{\"approval\":\"承認または拒否\",\"changeNotification\":\"変更\",\"continue\":\"続行\",\"mode\":\"処理方法\",\"inputsLoading\":\"通知パラメーターを読み込んでいます…\",\"pendingDescription\":\"確認待ち出力は待機開始時に一度だけ発火し、確認リンクと関連データを提供します。接続先でメッセージの送信や他のステップを実行できます。\",\"prompt\":\"プロンプト\",\"promptError\":\"プロンプトは1〜1,000文字で入力してください。\"},\"title\":\"インスペクター\",\"sources\":{\"loading\":\"入力元を読み込み中…\",\"loadFailed\":\"入力元を読み込めません。メニューを開き直してください。\",\"checkFailed\":\"このソースを確認できませんでした。\",\"select\":\"入力元を選択\",\"title\":\"入力元\",\"sourceMissing\":\"元の入力元は存在しません。選択し直してください。\",\"outputMissing\":\"「{{source}}」に「{{output}}」が見つかりません。選択し直してください。\",\"wholeObject\":\"オブジェクト全体\",\"fieldMissing\":\"「{{output}}」にフィールド {{field}} が宣言されていません。選択し直してください。\",\"notReady\":\"ここを実行するとき、「{{source}} {{handle}}」にまだ値がない可能性があります。\",\"sourceConflict\":\"同時に値を持つ可能性があります:{{sources}}。ここでは 1 つだけ使用できます。\",\"incompatibleRight\":\"右辺の値の型はこの比較に対応していません。\",\"incompatible\":\"非互換\",\"unverified\":\"未検証\",\"schemaIncompatible\":\"データ形式が一致しません。\",\"schemaPathIncompatible\":\"「{{path}}」のデータ形式が一致しません。\",\"schemaCompareFailed\":\"データ形式を確認できません。JSON Schema を確認してください。\",\"binaryIncompatible\":\"バイナリデータは使用できません。\",\"artifactIncompatible\":\"ファイルデータは使用できません。\",\"nullableIncompatible\":\"値が必要ですが、選択したフィールドは空になる可能性があります。\",\"typeIncompatible\":\"{{target}}が必要ですが、選択したフィールドは{{source}}です。\",\"propertyTypeIncompatible\":\"「{{path}}」は{{target}}である必要がありますが、実際は{{source}}です。\",\"requiredIncompatible\":\"必須プロパティ「{{property}}」がない可能性があります。\",\"enumIncompatible\":\"使用できない値が含まれる可能性があります:{{values}}。\",\"constIncompatible\":\"{{target}}のみ使用できますが、選択したフィールドは常に {{source}} です。\",\"constraintSubject\":\"「{{path}}」は\",\"minLength\":\"{{subject}}少なくとも {{value}} 文字必要です。\",\"maxLength\":\"{{subject}}最大 {{value}} 文字です。\",\"pattern\":\"{{subject}}{{value}} に一致する必要があります。\",\"minimum\":\"{{subject}}{{value}} 未満にできません。\",\"exclusiveMinimum\":\"{{subject}}{{value}} より大きい必要があります。\",\"maximum\":\"{{subject}}{{value}} を超えられません。\",\"exclusiveMaximum\":\"{{subject}}{{value}} より小さい必要があります。\",\"multipleOf\":\"{{subject}}{{value}} の倍数である必要があります。\",\"minItems\":\"{{subject}}少なくとも {{value}} 項必要です。\",\"maxItems\":\"{{subject}}最大 {{value}} 項です。\",\"minProperties\":\"{{subject}}少なくとも {{value}} 個のプロパティが必要です。\",\"maxProperties\":\"{{subject}}最大 {{value}} 個のプロパティです。\",\"integer\":\"整数\",\"unknownType\":\"不明な型\",\"typeSeparator\":\"または\"},\"actions\":{\"flowAccess\":\"利用可能なサービス\",\"flowAccessHint\":\"この Flow のすべての Code ノードで共有する接続を管理\",\"chooseConnection\":\"{{provider}} Connection を選択\",\"connectionDescription\":\"Connection はこの呼び出しに挿入されます。使用可否は引き続き Flow Provider Access によって制御されます。\",\"title\":\"このコードから呼び出せるアクション\",\"search\":\"Action を検索\",\"description\":\"このコードで使用する Action とアカウントを選択します。\",\"empty\":\"一致する Action はありません。\",\"remove\":\"削除\",\"default\":\"既定のアカウント\",\"defaultHint\":\"呼び出し時にアカウントを指定しない場合に使用します。\",\"removeAction\":\"アクションを削除\",\"explicit\":\"コード内で明示的に選択\",\"connect\":\"アカウントを接続\",\"refresh\":\"アカウントを更新\",\"aliases\":\"保存済みの別名を更新\",\"add\":\"アクションを追加\",\"cancel\":\"キャンセル\",\"loading\":\"検索中…\",\"needsAccount\":\"アカウントを接続\",\"accounts\":\"{{count}} アカウント\",\"public\":\"アカウント不要\",\"allowed\":\"使用するアカウント\",\"unavailable\":\"利用不可\",\"details\":\"接続の詳細\",\"example\":\"呼び出し例\",\"syntax\":\"呼び出し形式\",\"nested\":\"プロバイダー形式\",\"fullId\":\"完全な ID\",\"copy\":\"コピー\",\"copied\":\"コピー済み\",\"copyError\":\"コピーできませんでした。コードを選択して手動でコピーしてください。\",\"introDescription\":\"必要に応じてアクションを追加し、{{context}} から外部アプリを呼び出せます。\",\"insertAction\":\"コードを挿入\",\"chooseAccounts\":\"アカウントを管理\"},\"comment\":{\"markdown\":\"Markdown\",\"preview\":\"プレビュー\"},\"ports\":{\"reorder\":\"{{name}} の順序を変更\",\"reorderHint\":\"ドラッグでグループ内の順序を変更。フォーカス時は上下キーでも移動できます。\",\"moved\":\"{{name}} を {{position}} 番目に移動しました。\",\"groupSettings\":\"グループ設定\",\"connected\":\"接続済み\",\"sort\":\"並べ替え\",\"finishSorting\":\"並べ替えを完了\",\"inputsTitle\":\"入力\",\"noInputs\":\"このノードには入力データが必要ありません。\",\"noOutputs\":\"このノードは出力データを提供しません。\",\"outputsTitle\":\"出力\",\"valuesTitle\":\"値\",\"columnHandle\":\"Handle\",\"columnName\":\"名前\",\"columnType\":\"型\",\"columnValue\":\"値\",\"builtIn\":{\"cron\":{\"scheduledAt\":\"この実行をトリガーした予定時刻(ISO 8601 形式)です。\"},\"webhook\":{\"headers\":\"この Webhook リクエストで受信したリクエストヘッダーです。\",\"query\":\"この Webhook リクエストで受信した URL クエリパラメーターです。\",\"body\":\"この Webhook リクエストで受信したリクエストボディです。\",\"webhookUrl\":\"このリクエストを受信した Webhook URL(クエリパラメーターを除く)です。\"}}}}"),
|
|
14945
15181
|
language: { "label": "言語" },
|
|
@@ -15000,7 +15236,9 @@ var resources$1 = {
|
|
|
15000
15236
|
"networkFailed": "サービスに接続できません。ネットワーク接続を確認してから再試行してください。",
|
|
15001
15237
|
"published": "{{name}} を公開しました。",
|
|
15002
15238
|
"rolledBack": "本番をリビジョン {{revision}} にロールバックしました。",
|
|
15003
|
-
"requestFailed": "サービスがこの操作を完了できませんでした。しばらくしてから再試行してください。"
|
|
15239
|
+
"requestFailed": "サービスがこの操作を完了できませんでした。しばらくしてから再試行してください。",
|
|
15240
|
+
"flowImported": "インポートしました。実行や公開の前に外部リソースを設定してください。",
|
|
15241
|
+
"exportSaveFailed": "下書きまたはレイアウトを保存できませんでした。保存後に再度エクスポートしてください。"
|
|
15004
15242
|
},
|
|
15005
15243
|
publication: {
|
|
15006
15244
|
"active": "稼働中",
|
|
@@ -16175,7 +16413,10 @@ var resources$1 = {
|
|
|
16175
16413
|
"enabledHint": "새 프로덕션 실행을 제어합니다. 초안 테스트는 계속 사용할 수 있습니다.",
|
|
16176
16414
|
"publish": "게시",
|
|
16177
16415
|
"publishUpdate": "업데이트",
|
|
16178
|
-
"deleteDescription": "워크플로와 실행 기록을 삭제하고 프로덕션 트리거를 중지합니다. 이 작업은 되돌릴 수 없습니다."
|
|
16416
|
+
"deleteDescription": "워크플로와 실행 기록을 삭제하고 프로덕션 트리거를 중지합니다. 이 작업은 되돌릴 수 없습니다.",
|
|
16417
|
+
"importFlow": "워크플로 가져오기",
|
|
16418
|
+
"exportFlow": "워크플로 내보내기",
|
|
16419
|
+
"importInvalid": "잘못되었거나 지원하지 않는 워크플로 파일입니다."
|
|
16179
16420
|
},
|
|
16180
16421
|
inspector: {
|
|
16181
16422
|
"outline": "노드 목록",
|
|
@@ -16440,7 +16681,9 @@ var resources$1 = {
|
|
|
16440
16681
|
"networkFailed": "서비스에 연결할 수 없습니다. 네트워크 연결을 확인한 뒤 다시 시도하세요.",
|
|
16441
16682
|
"published": "{{name}} 게시를 완료했습니다.",
|
|
16442
16683
|
"rolledBack": "라이브를 리비전 {{revision}}(으)로 롤백했습니다.",
|
|
16443
|
-
"requestFailed": "서비스에서 이 작업을 완료하지 못했습니다. 나중에 다시 시도하세요."
|
|
16684
|
+
"requestFailed": "서비스에서 이 작업을 완료하지 못했습니다. 나중에 다시 시도하세요.",
|
|
16685
|
+
"flowImported": "가져왔습니다. 실행하거나 게시하기 전에 외부 리소스를 설정하세요.",
|
|
16686
|
+
"exportSaveFailed": "초안 또는 레이아웃을 저장하지 못했습니다. 저장 후 다시 내보내세요."
|
|
16444
16687
|
},
|
|
16445
16688
|
publication: {
|
|
16446
16689
|
"active": "활성",
|
|
@@ -17615,7 +17858,10 @@ var resources$1 = {
|
|
|
17615
17858
|
"enabledHint": "Управляет новыми рабочими запусками. Тесты черновика остаются доступны.",
|
|
17616
17859
|
"publish": "Опубликовать",
|
|
17617
17860
|
"publishUpdate": "Обновить",
|
|
17618
|
-
"deleteDescription": "Поток и история запусков будут удалены, рабочие триггеры остановлены. Это действие нельзя отменить."
|
|
17861
|
+
"deleteDescription": "Поток и история запусков будут удалены, рабочие триггеры остановлены. Это действие нельзя отменить.",
|
|
17862
|
+
"importFlow": "Импортировать процесс",
|
|
17863
|
+
"exportFlow": "Экспортировать процесс",
|
|
17864
|
+
"importInvalid": "Некорректный или неподдерживаемый файл процесса."
|
|
17619
17865
|
},
|
|
17620
17866
|
inspector: /* @__PURE__ */ JSON.parse("{\"outline\":\"Список узлов\",\"backToOutline\":\"Вернуться к списку узлов\",\"emptyOutline\":\"Узлов пока нет\",\"triggers\":\"Триггеры\",\"nodes\":\"Узлы\",\"multipleSelected\":\"Выбрано узлов: {{count}}\",\"account\":{\"contactAdmin\":\"У вас нет прав для выполнения этой операции. Обратитесь к администратору.\",\"accessTitle\":\"Права доступа\",\"manageFlowAccess\":\"Подключения, доступные Code\",\"configureAccess\":\"Выбрать аккаунт\",\"manageAccount\":\"Управление аккаунтами\",\"required\":\"Требуется подключение аккаунта\",\"addAccount\":\"Добавить аккаунт\",\"manage\":\"Управление\",\"authorizationPending\":\"Завершите авторизацию на странице Connection, затем вернитесь сюда, чтобы обновить этот аккаунт.\",\"chooseAccount\":\"Выберите аккаунт\",\"connectBeforeRun\":\"Подключите {{service}}, чтобы этот узел можно было запускать и публиковать.\",\"connectService\":\"Подключить {{service}}\",\"connection\":\"Connection\",\"loading\":\"Загрузка Connection…\",\"oomolBuiltIn\":\"Встроенный аккаунт OOMOL\",\"missing\":\"Выбранный для этого узла аккаунт недоступен. Выберите другой аккаунт или откройте управление подключениями.\",\"refreshFailed\":\"Не удалось обновить Connection.\",\"retry\":\"Повторить\",\"status\":{\"disconnected\":\"Этот Connection отключён. Подключите его заново или выберите другой аккаунт.\",\"error\":\"В этом Connection ошибка. Исправьте её или выберите другой аккаунт.\",\"reauth_required\":\"Этому Connection нужна повторная авторизация. Подключите его заново или выберите другой аккаунт.\"},\"statusUnavailable\":\"Статус Connection недоступен для {{action}}.\",\"teamDefault\":\"По умолчанию для команды\",\"title\":\"Аккаунт\",\"unavailable\":\"недоступно\"},\"close\":\"Закрыть инспектор\",\"configurationRequired\":\"Требуется настройка\",\"diagnostics\":\"Диагностика\",\"errors\":{\"jsonObject\":\"{{label}} должен быть JSON-объектом.\",\"portDefinitions\":\"Введите корректные определения портов.\"},\"node\":{\"nameDuplicate\":\"Узел с таким именем уже существует в этом графе.\",\"nameEmpty\":\"Имя узла не может быть пустым.\",\"timeout\":\"Время ожидания (мс)\",\"maxExecutions\":\"Лимит выполнений узла\",\"maxExecutionsError\":\"Лимит выполнений узла должен быть положительным целым числом.\",\"timeoutError\":\"Время ожидания должно быть положительным целым числом в миллисекундах.\",\"title\":\"Настройки узла\",\"description\":\"Назначение\",\"describe\":\"Опишите назначение этого шага.\",\"icon\":\"Значок\",\"name\":\"Заголовок\"},\"selectNode\":\"Выберите один узел черновика, чтобы просмотреть и изменить его.\",\"locateNode\":\"Найти этот узел на холсте\",\"task\":{\"sharedPermissions\":\"Использовать общую группу разрешений Flow\",\"sharedPermissionsHint\":\"Используйте все Actions, разрешённые общей группой Flow. Добавлять их в узел по отдельности не нужно.\",\"addAction\":\"Добавить Action\",\"removeAction\":\"Удалить Action\",\"actionAccount\":\"Аккаунт\",\"chooseAccount\":\"Выбрать аккаунт\",\"permissionSaveFailed\":\"Не удалось сохранить разрешения Code. Повторите попытку.\",\"chatText\":\"Текст чата\",\"connectorAction\":\"Действие Connector\",\"definition\":\"Определение задачи\",\"discardCode\":\"Отменить изменения\",\"editorLoading\":\"Загрузка редактора…\",\"editorUnavailable\":\"Не удалось загрузить редактор кода.\",\"inputPorts\":\"Входные порты\",\"javascriptModule\":\"Код\",\"missing\":\"Указанная задача не существует.\",\"outputPorts\":\"Выходные порты\",\"responseMode\":\"Режим ответа\",\"source\":\"Исходный код\",\"structuredJson\":\"Структурированный JSON\",\"retrySave\":\"Повторить сохранение\",\"additionalInputs\":\"Дополнительные входы\"},\"wait\":{\"approval\":\"Одобрить или отклонить\",\"changeNotification\":\"Изменить\",\"continue\":\"Продолжить\",\"mode\":\"Обработка\",\"inputsLoading\":\"Загрузка параметров уведомления…\",\"pendingDescription\":\"Выход ожидания срабатывает один раз при начале ожидания и передаёт ссылки подтверждения и связанные данные. Подключите его для отправки сообщения или выполнения других шагов.\",\"prompt\":\"Запрос\",\"promptError\":\"Запрос должен содержать от 1 до 1 000 символов.\"},\"title\":\"Инспектор\",\"sources\":{\"loading\":\"Загрузка источников входных данных…\",\"loadFailed\":\"Не удалось загрузить источники входных данных. Откройте меню ещё раз.\",\"checkFailed\":\"Не удалось проверить этот источник.\",\"select\":\"Выбрать источник входных данных\",\"title\":\"Источник входных данных\",\"sourceMissing\":\"Исходный источник входных данных больше не существует. Выберите другой.\",\"outputMissing\":\"«{{output}}» не найден в «{{source}}». Выберите снова.\",\"wholeObject\":\"Весь объект\",\"fieldMissing\":\"Поле {{field}} больше не объявлено в «{{output}}». Выберите снова.\",\"notReady\":\"К моменту выполнения этого шага у «{{source}} {{handle}}» может ещё не быть значения.\",\"sourceConflict\":\"Эти поля могут иметь значения одновременно: {{sources}}. Здесь можно использовать только одно.\",\"incompatibleRight\":\"Тип правого значения несовместим с этим сравнением.\",\"incompatible\":\"Несовместимо\",\"unverified\":\"Не проверено\",\"schemaIncompatible\":\"Формат данных не совпадает.\",\"schemaPathIncompatible\":\"Формат данных «{{path}}» не совпадает.\",\"schemaCompareFailed\":\"Не удалось проверить формат данных. Проверьте схему JSON.\",\"binaryIncompatible\":\"Двоичные данные здесь использовать нельзя.\",\"artifactIncompatible\":\"Файловые данные здесь использовать нельзя.\",\"nullableIncompatible\":\"Требуется значение, но выбранное поле может быть пустым.\",\"typeIncompatible\":\"Ожидается {{target}}, но выбранное поле имеет тип {{source}}.\",\"propertyTypeIncompatible\":\"«{{path}}» должно иметь тип {{target}}, но имеет тип {{source}}.\",\"requiredIncompatible\":\"Обязательное свойство «{{property}}» может отсутствовать.\",\"enumIncompatible\":\"Некоторые возможные значения не принимаются: {{values}}.\",\"constIncompatible\":\"Принимается только {{target}}, но выбранное поле всегда равно {{source}}.\",\"constraintSubject\":\"«{{path}}» \",\"minLength\":\"{{subject}}должно содержать не менее {{value}} символов.\",\"maxLength\":\"{{subject}}должно содержать не более {{value}} символов.\",\"pattern\":\"{{subject}}должно соответствовать {{value}}.\",\"minimum\":\"{{subject}}не может быть меньше {{value}}.\",\"exclusiveMinimum\":\"{{subject}}должно быть больше {{value}}.\",\"maximum\":\"{{subject}}не может быть больше {{value}}.\",\"exclusiveMaximum\":\"{{subject}}должно быть меньше {{value}}.\",\"multipleOf\":\"{{subject}}должно быть кратно {{value}}.\",\"minItems\":\"{{subject}}должно содержать не менее {{value}} элементов.\",\"maxItems\":\"{{subject}}должно содержать не более {{value}} элементов.\",\"minProperties\":\"{{subject}}должно содержать не менее {{value}} свойств.\",\"maxProperties\":\"{{subject}}должно содержать не более {{value}} свойств.\",\"integer\":\"Целое число\",\"unknownType\":\"неизвестный тип\",\"typeSeparator\":\" или \"},\"actions\":{\"flowAccess\":\"Доступные сервисы\",\"flowAccessHint\":\"Управлять подключениями, общими для всех узлов Code в этом Flow\",\"chooseConnection\":\"Выбрать подключение {{provider}}\",\"connectionDescription\":\"Подключение будет вставлено в этот вызов. Возможность его использования по-прежнему контролирует Flow Provider Access.\",\"title\":\"Действия, доступные коду\",\"search\":\"Поиск действий\",\"description\":\"Выберите действия и аккаунты, доступные этому коду.\",\"empty\":\"Подходящих действий нет.\",\"remove\":\"Удалить\",\"default\":\"Аккаунт по умолчанию\",\"defaultHint\":\"Используется, если при вызове не указан аккаунт.\",\"removeAction\":\"Удалить действие\",\"explicit\":\"Выбирать явно в коде\",\"connect\":\"Подключить аккаунт\",\"refresh\":\"Обновить аккаунты\",\"aliases\":\"Обновить сохранённые псевдонимы\",\"add\":\"Добавить действие\",\"cancel\":\"Отмена\",\"loading\":\"Поиск…\",\"needsAccount\":\"Подключите аккаунт\",\"accounts\":\"Аккаунты: {{count}}\",\"public\":\"Без аккаунта\",\"allowed\":\"Разрешённые аккаунты\",\"unavailable\":\"Недоступен\",\"details\":\"Данные подключений\",\"example\":\"Пример вызова\",\"syntax\":\"Синтаксис вызова\",\"nested\":\"Через провайдера\",\"fullId\":\"Полный ID\",\"copy\":\"Копировать\",\"copied\":\"Скопировано\",\"copyError\":\"Не удалось скопировать. Выделите код и скопируйте вручную.\",\"introDescription\":\"При необходимости добавьте действия для вызова внешних приложений через {{context}}.\",\"insertAction\":\"Вставить код\",\"chooseAccounts\":\"Управление аккаунтами\"},\"comment\":{\"markdown\":\"Markdown\",\"preview\":\"Предпросмотр\"},\"ports\":{\"reorder\":\"Изменить порядок {{name}}\",\"reorderHint\":\"Перетащите внутри группы или используйте стрелки вверх / вниз при фокусе.\",\"moved\":\"{{name}} перемещён на позицию {{position}}.\",\"groupSettings\":\"Настройки группы\",\"connected\":\"Подключено\",\"sort\":\"Изменить порядок\",\"finishSorting\":\"Готово\",\"inputsTitle\":\"Входы\",\"noInputs\":\"Этому узлу не требуются входные данные.\",\"noOutputs\":\"Этот узел не предоставляет выходных данных.\",\"outputsTitle\":\"Выходы\",\"valuesTitle\":\"Значения\",\"columnHandle\":\"Handle\",\"columnName\":\"Имя\",\"columnType\":\"Тип\",\"columnValue\":\"Значение\",\"builtIn\":{\"cron\":{\"scheduledAt\":\"Запланированное время этого запуска в формате ISO 8601.\"},\"webhook\":{\"headers\":\"Заголовки, полученные с этим Webhook-запросом.\",\"query\":\"Параметры URL-запроса, полученные с этим Webhook-запросом.\",\"body\":\"Тело, полученное с этим Webhook-запросом.\",\"webhookUrl\":\"URL Webhook, получивший этот запрос, без параметров запроса.\"}}}}"),
|
|
17621
17867
|
language: { "label": "Язык" },
|
|
@@ -17676,7 +17922,9 @@ var resources$1 = {
|
|
|
17676
17922
|
"networkFailed": "Не удалось подключиться к сервису. Проверьте сетевое соединение и повторите попытку.",
|
|
17677
17923
|
"published": "Опубликовано: {{name}}.",
|
|
17678
17924
|
"rolledBack": "Рабочая версия откачена к ревизии {{revision}}.",
|
|
17679
|
-
"requestFailed": "Сервис не смог выполнить эту операцию. Повторите попытку позже."
|
|
17925
|
+
"requestFailed": "Сервис не смог выполнить эту операцию. Повторите попытку позже.",
|
|
17926
|
+
"flowImported": "Процесс импортирован. Настройте внешние ресурсы перед запуском или публикацией.",
|
|
17927
|
+
"exportSaveFailed": "Экспорт остановлен: не удалось сохранить черновик или расположение. Сохраните изменения и повторите попытку."
|
|
17680
17928
|
},
|
|
17681
17929
|
publication: {
|
|
17682
17930
|
"active": "Активно",
|
|
@@ -18710,7 +18958,10 @@ var resources$1 = {
|
|
|
18710
18958
|
"enabledHint": "Contrôle les nouvelles exécutions en production. Les tests du brouillon restent disponibles.",
|
|
18711
18959
|
"publish": "Publier",
|
|
18712
18960
|
"publishUpdate": "Mettre à jour",
|
|
18713
|
-
"deleteDescription": "Le flux et son historique seront supprimés et les déclencheurs arrêtés. Cette action est irréversible."
|
|
18961
|
+
"deleteDescription": "Le flux et son historique seront supprimés et les déclencheurs arrêtés. Cette action est irréversible.",
|
|
18962
|
+
"importFlow": "Importer un workflow",
|
|
18963
|
+
"exportFlow": "Exporter le workflow",
|
|
18964
|
+
"importInvalid": "Fichier de workflow invalide ou non pris en charge."
|
|
18714
18965
|
},
|
|
18715
18966
|
inspector: {
|
|
18716
18967
|
"outline": "Liste des nœuds",
|
|
@@ -18975,7 +19226,9 @@ var resources$1 = {
|
|
|
18975
19226
|
"networkFailed": "Impossible de joindre le service. Vérifiez votre connexion, puis réessayez.",
|
|
18976
19227
|
"published": "{{name}} publié.",
|
|
18977
19228
|
"rolledBack": "Version en ligne restaurée à la révision {{revision}}.",
|
|
18978
|
-
"requestFailed": "Le service n’a pas pu terminer cette opération. Réessayez plus tard."
|
|
19229
|
+
"requestFailed": "Le service n’a pas pu terminer cette opération. Réessayez plus tard.",
|
|
19230
|
+
"flowImported": "Workflow importé. Configurez les ressources externes avant de lancer ou publier.",
|
|
19231
|
+
"exportSaveFailed": "Export arrêté : le brouillon ou la disposition n’a pas pu être enregistré. Réessayez après avoir enregistré."
|
|
18979
19232
|
},
|
|
18980
19233
|
publication: {
|
|
18981
19234
|
"active": "Actif",
|
|
@@ -26568,6 +26821,20 @@ function IdTooltip(props) {
|
|
|
26568
26821
|
});
|
|
26569
26822
|
}
|
|
26570
26823
|
//#endregion
|
|
26824
|
+
//#region src/workbench/browser/runtime/shell/workflowExportMenuItem.tsx
|
|
26825
|
+
function WorkflowExportMenuItem({ disabled, onClick, className }) {
|
|
26826
|
+
const t = useTranslate();
|
|
26827
|
+
return /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
26828
|
+
disabled,
|
|
26829
|
+
onClick,
|
|
26830
|
+
className,
|
|
26831
|
+
children: [/* @__PURE__ */ jsx("i", {
|
|
26832
|
+
"aria-hidden": "true",
|
|
26833
|
+
className: "i-lucide-light:download size-4 shrink-0"
|
|
26834
|
+
}), t("resource.exportFlow")]
|
|
26835
|
+
});
|
|
26836
|
+
}
|
|
26837
|
+
//#endregion
|
|
26571
26838
|
//#region src/flow/common/nodeChanges.ts
|
|
26572
26839
|
var codeTaskTemplate = `export default async function (inputs, context) {
|
|
26573
26840
|
return { result: inputs.value }
|
|
@@ -27526,43 +27793,6 @@ var Latest = class {
|
|
|
27526
27793
|
}
|
|
27527
27794
|
};
|
|
27528
27795
|
//#endregion
|
|
27529
|
-
//#region src/flow/common/connectionUsage.ts
|
|
27530
|
-
function connectionUsage(document) {
|
|
27531
|
-
const uses = [];
|
|
27532
|
-
for (const [nodeId, node] of Object.entries(document.graph.nodes)) {
|
|
27533
|
-
const task = node.kind == "task" && "executor" in node.task ? node.task : void 0;
|
|
27534
|
-
const name = node.name ?? task?.name ?? nodeId;
|
|
27535
|
-
const add = (kind, actionId, connectionId) => {
|
|
27536
|
-
uses.push({
|
|
27537
|
-
kind,
|
|
27538
|
-
providerId: actionId.split(".")[0],
|
|
27539
|
-
actionId,
|
|
27540
|
-
connectionId,
|
|
27541
|
-
nodeId,
|
|
27542
|
-
name
|
|
27543
|
-
});
|
|
27544
|
-
};
|
|
27545
|
-
if (node.kind == "poll" || node.kind == "integration") uses.push({
|
|
27546
|
-
kind: "trigger",
|
|
27547
|
-
triggerId: node.definition.key,
|
|
27548
|
-
providerId: node.definition.provider,
|
|
27549
|
-
connectionId: node.connectionId,
|
|
27550
|
-
nodeId,
|
|
27551
|
-
name
|
|
27552
|
-
});
|
|
27553
|
-
if (task?.executor.kind == "connector") add("connector", task.executor.action, task.executor.connectionId);
|
|
27554
|
-
if (node.kind == "task" && "moduleId" in node.task) {
|
|
27555
|
-
for (const capability of node.task.capabilities ?? []) if ("mode" in capability && capability.mode == "independent") for (const action of capability.actions) add("code", action.action, action.connectionId);
|
|
27556
|
-
}
|
|
27557
|
-
if (task?.executor.kind == "agent") {
|
|
27558
|
-
for (const tool of task.executor.tools) add("agent", tool.action, tool.connectionId);
|
|
27559
|
-
const notification = task.executor.notification;
|
|
27560
|
-
if (notification != null) add("notification", notification.action, notification.connectionId);
|
|
27561
|
-
}
|
|
27562
|
-
}
|
|
27563
|
-
return uses;
|
|
27564
|
-
}
|
|
27565
|
-
//#endregion
|
|
27566
27796
|
//#region src/flow/common/promptTemplate.ts
|
|
27567
27797
|
var promptReferencePattern = /\{\{\s*([^{}\s]+)\s*\}\}/g;
|
|
27568
27798
|
function renamePromptInput(template, before, after) {
|
|
@@ -27732,7 +27962,7 @@ function variableBindings(revision, bindingIds) {
|
|
|
27732
27962
|
}
|
|
27733
27963
|
function flowResourceReferences(content) {
|
|
27734
27964
|
const connections = /* @__PURE__ */ new Map();
|
|
27735
|
-
for (const use of connectionUsage(content.document)) {
|
|
27965
|
+
for (const use of connectionUsage$7(content.document)) {
|
|
27736
27966
|
if (use.connectionId == null) continue;
|
|
27737
27967
|
connections.set(JSON.stringify([use.providerId, use.connectionId]), {
|
|
27738
27968
|
providerId: use.providerId,
|
|
@@ -27976,7 +28206,7 @@ function revisionView(revision) {
|
|
|
27976
28206
|
}
|
|
27977
28207
|
function connectorAccessReferences(document) {
|
|
27978
28208
|
return {
|
|
27979
|
-
accounts: [...new Map(connectionUsage(document).map((use) => [JSON.stringify([
|
|
28209
|
+
accounts: [...new Map(connectionUsage$7(document).map((use) => [JSON.stringify([
|
|
27980
28210
|
use.nodeId,
|
|
27981
28211
|
use.kind,
|
|
27982
28212
|
use.providerId,
|
|
@@ -28517,18 +28747,18 @@ var RunStore = class {
|
|
|
28517
28747
|
//#region \0virtual:oomol-provider-icons
|
|
28518
28748
|
var spriteCatalog = {
|
|
28519
28749
|
"iconSprite": {
|
|
28520
|
-
"version": "
|
|
28750
|
+
"version": "fc73797317d203337fb05a8ccc50220a78ead444f276bc60c80412f87eef9a80",
|
|
28521
28751
|
"pixelRatio": 2,
|
|
28522
28752
|
"iconSize": 48,
|
|
28523
28753
|
"bleed": 1,
|
|
28524
28754
|
"width": 2050,
|
|
28525
28755
|
"height": 2e3,
|
|
28526
|
-
"lightUrl": "https://static.oomol.com/logo/provider-sprites/
|
|
28527
|
-
"darkUrl": "https://static.oomol.com/logo/provider-sprites/
|
|
28756
|
+
"lightUrl": "https://static.oomol.com/logo/provider-sprites/fc73797317d203337fb05a8ccc50220a78ead444f276bc60c80412f87eef9a80/light.png",
|
|
28757
|
+
"darkUrl": "https://static.oomol.com/logo/provider-sprites/fc73797317d203337fb05a8ccc50220a78ead444f276bc60c80412f87eef9a80/dark.png"
|
|
28528
28758
|
},
|
|
28529
28759
|
"positions": {
|
|
28530
28760
|
"solarwinds_service_desk": {
|
|
28531
|
-
"x":
|
|
28761
|
+
"x": 1,
|
|
28532
28762
|
"y": 1601
|
|
28533
28763
|
},
|
|
28534
28764
|
"finlight": {
|
|
@@ -28540,7 +28770,7 @@ var spriteCatalog = {
|
|
|
28540
28770
|
"y": 851
|
|
28541
28771
|
},
|
|
28542
28772
|
"viral_loops": {
|
|
28543
|
-
"x":
|
|
28773
|
+
"x": 1401,
|
|
28544
28774
|
"y": 1801
|
|
28545
28775
|
},
|
|
28546
28776
|
"greip": {
|
|
@@ -28552,11 +28782,11 @@ var spriteCatalog = {
|
|
|
28552
28782
|
"y": 51
|
|
28553
28783
|
},
|
|
28554
28784
|
"unirateapi": {
|
|
28555
|
-
"x":
|
|
28785
|
+
"x": 1751,
|
|
28556
28786
|
"y": 1751
|
|
28557
28787
|
},
|
|
28558
28788
|
"thesportsdb": {
|
|
28559
|
-
"x":
|
|
28789
|
+
"x": 601,
|
|
28560
28790
|
"y": 1701
|
|
28561
28791
|
},
|
|
28562
28792
|
"17track": {
|
|
@@ -28792,7 +29022,7 @@ var spriteCatalog = {
|
|
|
28792
29022
|
"y": 51
|
|
28793
29023
|
},
|
|
28794
29024
|
"voicemaker": {
|
|
28795
|
-
"x":
|
|
29025
|
+
"x": 1601,
|
|
28796
29026
|
"y": 1801
|
|
28797
29027
|
},
|
|
28798
29028
|
"aircall": {
|
|
@@ -29052,7 +29282,7 @@ var spriteCatalog = {
|
|
|
29052
29282
|
"y": 551
|
|
29053
29283
|
},
|
|
29054
29284
|
"xydc_mcp": {
|
|
29055
|
-
"x":
|
|
29285
|
+
"x": 1201,
|
|
29056
29286
|
"y": 1901
|
|
29057
29287
|
},
|
|
29058
29288
|
"sellersprite_mcp": {
|
|
@@ -29060,11 +29290,11 @@ var spriteCatalog = {
|
|
|
29060
29290
|
"y": 1501
|
|
29061
29291
|
},
|
|
29062
29292
|
"slickdeals": {
|
|
29063
|
-
"x":
|
|
29293
|
+
"x": 1251,
|
|
29064
29294
|
"y": 1551
|
|
29065
29295
|
},
|
|
29066
29296
|
"sif": {
|
|
29067
|
-
"x":
|
|
29297
|
+
"x": 301,
|
|
29068
29298
|
"y": 1551
|
|
29069
29299
|
},
|
|
29070
29300
|
"ixspy": {
|
|
@@ -29072,11 +29302,11 @@ var spriteCatalog = {
|
|
|
29072
29302
|
"y": 851
|
|
29073
29303
|
},
|
|
29074
29304
|
"sorftime": {
|
|
29075
|
-
"x":
|
|
29305
|
+
"x": 151,
|
|
29076
29306
|
"y": 1601
|
|
29077
29307
|
},
|
|
29078
29308
|
"sorftime_mcp": {
|
|
29079
|
-
"x":
|
|
29309
|
+
"x": 201,
|
|
29080
29310
|
"y": 1601
|
|
29081
29311
|
},
|
|
29082
29312
|
"sage_hr": {
|
|
@@ -29164,11 +29394,11 @@ var spriteCatalog = {
|
|
|
29164
29394
|
"y": 501
|
|
29165
29395
|
},
|
|
29166
29396
|
"thehive": {
|
|
29167
|
-
"x":
|
|
29397
|
+
"x": 451,
|
|
29168
29398
|
"y": 1701
|
|
29169
29399
|
},
|
|
29170
29400
|
"thehive5": {
|
|
29171
|
-
"x":
|
|
29401
|
+
"x": 501,
|
|
29172
29402
|
"y": 1701
|
|
29173
29403
|
},
|
|
29174
29404
|
"eraser": {
|
|
@@ -29432,11 +29662,11 @@ var spriteCatalog = {
|
|
|
29432
29662
|
"y": 901
|
|
29433
29663
|
},
|
|
29434
29664
|
"waitwhile": {
|
|
29435
|
-
"x":
|
|
29665
|
+
"x": 1951,
|
|
29436
29666
|
"y": 1801
|
|
29437
29667
|
},
|
|
29438
29668
|
"workpath": {
|
|
29439
|
-
"x":
|
|
29669
|
+
"x": 501,
|
|
29440
29670
|
"y": 1901
|
|
29441
29671
|
},
|
|
29442
29672
|
"apiverve": {
|
|
@@ -29532,15 +29762,15 @@ var spriteCatalog = {
|
|
|
29532
29762
|
"y": 1501
|
|
29533
29763
|
},
|
|
29534
29764
|
"smartsheet": {
|
|
29535
|
-
"x":
|
|
29765
|
+
"x": 1551,
|
|
29536
29766
|
"y": 1551
|
|
29537
29767
|
},
|
|
29538
29768
|
"smartrecruiters": {
|
|
29539
|
-
"x":
|
|
29769
|
+
"x": 1501,
|
|
29540
29770
|
"y": 1551
|
|
29541
29771
|
},
|
|
29542
29772
|
"smartlead_ai": {
|
|
29543
|
-
"x":
|
|
29773
|
+
"x": 1451,
|
|
29544
29774
|
"y": 1551
|
|
29545
29775
|
},
|
|
29546
29776
|
"shipengine": {
|
|
@@ -29552,11 +29782,11 @@ var spriteCatalog = {
|
|
|
29552
29782
|
"y": 1151
|
|
29553
29783
|
},
|
|
29554
29784
|
"shotstack": {
|
|
29555
|
-
"x":
|
|
29785
|
+
"x": 251,
|
|
29556
29786
|
"y": 1551
|
|
29557
29787
|
},
|
|
29558
29788
|
"skyvern": {
|
|
29559
|
-
"x":
|
|
29789
|
+
"x": 1051,
|
|
29560
29790
|
"y": 1551
|
|
29561
29791
|
},
|
|
29562
29792
|
"shopify": {
|
|
@@ -29567,18 +29797,14 @@ var spriteCatalog = {
|
|
|
29567
29797
|
"x": 1851,
|
|
29568
29798
|
"y": 1501
|
|
29569
29799
|
},
|
|
29570
|
-
"
|
|
29800
|
+
"shopify_partner": {
|
|
29571
29801
|
"x": 1951,
|
|
29572
29802
|
"y": 1501
|
|
29573
29803
|
},
|
|
29574
|
-
"
|
|
29804
|
+
"shopify_storefront": {
|
|
29575
29805
|
"x": 2001,
|
|
29576
29806
|
"y": 1501
|
|
29577
29807
|
},
|
|
29578
|
-
"shopify_storefront": {
|
|
29579
|
-
"x": 1,
|
|
29580
|
-
"y": 1551
|
|
29581
|
-
},
|
|
29582
29808
|
"shippo": {
|
|
29583
29809
|
"x": 1751,
|
|
29584
29810
|
"y": 1501
|
|
@@ -29648,7 +29874,7 @@ var spriteCatalog = {
|
|
|
29648
29874
|
"y": 1051
|
|
29649
29875
|
},
|
|
29650
29876
|
"wbiztool": {
|
|
29651
|
-
"x":
|
|
29877
|
+
"x": 451,
|
|
29652
29878
|
"y": 1851
|
|
29653
29879
|
},
|
|
29654
29880
|
"calendarific": {
|
|
@@ -29664,7 +29890,7 @@ var spriteCatalog = {
|
|
|
29664
29890
|
"y": 551
|
|
29665
29891
|
},
|
|
29666
29892
|
"zyhub": {
|
|
29667
|
-
"x":
|
|
29893
|
+
"x": 751,
|
|
29668
29894
|
"y": 1951
|
|
29669
29895
|
},
|
|
29670
29896
|
"benchmarkone": {
|
|
@@ -29720,7 +29946,7 @@ var spriteCatalog = {
|
|
|
29720
29946
|
"y": 351
|
|
29721
29947
|
},
|
|
29722
29948
|
"surveymethods": {
|
|
29723
|
-
"x":
|
|
29949
|
+
"x": 451,
|
|
29724
29950
|
"y": 1651
|
|
29725
29951
|
},
|
|
29726
29952
|
"countly": {
|
|
@@ -29748,8 +29974,8 @@ var spriteCatalog = {
|
|
|
29748
29974
|
"y": 351
|
|
29749
29975
|
},
|
|
29750
29976
|
"waiverfile": {
|
|
29751
|
-
"x":
|
|
29752
|
-
"y":
|
|
29977
|
+
"x": 2001,
|
|
29978
|
+
"y": 1801
|
|
29753
29979
|
},
|
|
29754
29980
|
"northbeam": {
|
|
29755
29981
|
"x": 551,
|
|
@@ -29908,7 +30134,7 @@ var spriteCatalog = {
|
|
|
29908
30134
|
"y": 1151
|
|
29909
30135
|
},
|
|
29910
30136
|
"wordpress": {
|
|
29911
|
-
"x":
|
|
30137
|
+
"x": 201,
|
|
29912
30138
|
"y": 1901
|
|
29913
30139
|
},
|
|
29914
30140
|
"onlyoffice_docspace": {
|
|
@@ -29992,7 +30218,7 @@ var spriteCatalog = {
|
|
|
29992
30218
|
"y": 251
|
|
29993
30219
|
},
|
|
29994
30220
|
"sslmate_cert_spotter_api": {
|
|
29995
|
-
"x":
|
|
30221
|
+
"x": 651,
|
|
29996
30222
|
"y": 1601
|
|
29997
30223
|
},
|
|
29998
30224
|
"issue_badge": {
|
|
@@ -31108,7 +31334,7 @@ var spriteCatalog = {
|
|
|
31108
31334
|
"y": 601
|
|
31109
31335
|
},
|
|
31110
31336
|
"square": {
|
|
31111
|
-
"x":
|
|
31337
|
+
"x": 601,
|
|
31112
31338
|
"y": 1601
|
|
31113
31339
|
},
|
|
31114
31340
|
"moonclerk": {
|
|
@@ -31352,7 +31578,7 @@ var spriteCatalog = {
|
|
|
31352
31578
|
"y": 651
|
|
31353
31579
|
},
|
|
31354
31580
|
"wandb": {
|
|
31355
|
-
"x":
|
|
31581
|
+
"x": 201,
|
|
31356
31582
|
"y": 1851
|
|
31357
31583
|
},
|
|
31358
31584
|
"gitee": {
|
|
@@ -31452,7 +31678,7 @@ var spriteCatalog = {
|
|
|
31452
31678
|
"y": 701
|
|
31453
31679
|
},
|
|
31454
31680
|
"youtube": {
|
|
31455
|
-
"x":
|
|
31681
|
+
"x": 1551,
|
|
31456
31682
|
"y": 1901
|
|
31457
31683
|
},
|
|
31458
31684
|
"groqcloud": {
|
|
@@ -31464,11 +31690,11 @@ var spriteCatalog = {
|
|
|
31464
31690
|
"y": 701
|
|
31465
31691
|
},
|
|
31466
31692
|
"x_ai": {
|
|
31467
|
-
"x":
|
|
31693
|
+
"x": 951,
|
|
31468
31694
|
"y": 1901
|
|
31469
31695
|
},
|
|
31470
31696
|
"xata": {
|
|
31471
|
-
"x":
|
|
31697
|
+
"x": 1001,
|
|
31472
31698
|
"y": 1901
|
|
31473
31699
|
},
|
|
31474
31700
|
"quickbooks": {
|
|
@@ -31476,15 +31702,15 @@ var spriteCatalog = {
|
|
|
31476
31702
|
"y": 1351
|
|
31477
31703
|
},
|
|
31478
31704
|
"xero": {
|
|
31479
|
-
"x":
|
|
31705
|
+
"x": 1051,
|
|
31480
31706
|
"y": 1901
|
|
31481
31707
|
},
|
|
31482
31708
|
"xingpan": {
|
|
31483
|
-
"x":
|
|
31709
|
+
"x": 1151,
|
|
31484
31710
|
"y": 1901
|
|
31485
31711
|
},
|
|
31486
31712
|
"xiaohongshu_store": {
|
|
31487
|
-
"x":
|
|
31713
|
+
"x": 1101,
|
|
31488
31714
|
"y": 1901
|
|
31489
31715
|
},
|
|
31490
31716
|
"oura": {
|
|
@@ -31680,7 +31906,7 @@ var spriteCatalog = {
|
|
|
31680
31906
|
"y": 801
|
|
31681
31907
|
},
|
|
31682
31908
|
"tomba": {
|
|
31683
|
-
"x":
|
|
31909
|
+
"x": 1951,
|
|
31684
31910
|
"y": 1701
|
|
31685
31911
|
},
|
|
31686
31912
|
"hubspot": {
|
|
@@ -31816,7 +32042,7 @@ var spriteCatalog = {
|
|
|
31816
32042
|
"y": 851
|
|
31817
32043
|
},
|
|
31818
32044
|
"typesafe_ai": {
|
|
31819
|
-
"x":
|
|
32045
|
+
"x": 1451,
|
|
31820
32046
|
"y": 1751
|
|
31821
32047
|
},
|
|
31822
32048
|
"jira": {
|
|
@@ -31844,7 +32070,7 @@ var spriteCatalog = {
|
|
|
31844
32070
|
"y": 851
|
|
31845
32071
|
},
|
|
31846
32072
|
"zipcodebase": {
|
|
31847
|
-
"x":
|
|
32073
|
+
"x": 451,
|
|
31848
32074
|
"y": 1951
|
|
31849
32075
|
},
|
|
31850
32076
|
"ipqualityscore": {
|
|
@@ -32552,7 +32778,7 @@ var spriteCatalog = {
|
|
|
32552
32778
|
"y": 1051
|
|
32553
32779
|
},
|
|
32554
32780
|
"supermemory": {
|
|
32555
|
-
"x":
|
|
32781
|
+
"x": 201,
|
|
32556
32782
|
"y": 1651
|
|
32557
32783
|
},
|
|
32558
32784
|
"memberstack": {
|
|
@@ -32752,11 +32978,11 @@ var spriteCatalog = {
|
|
|
32752
32978
|
"y": 1151
|
|
32753
32979
|
},
|
|
32754
32980
|
"signwell": {
|
|
32755
|
-
"x":
|
|
32981
|
+
"x": 501,
|
|
32756
32982
|
"y": 1551
|
|
32757
32983
|
},
|
|
32758
32984
|
"signaturely": {
|
|
32759
|
-
"x":
|
|
32985
|
+
"x": 401,
|
|
32760
32986
|
"y": 1551
|
|
32761
32987
|
},
|
|
32762
32988
|
"opencage": {
|
|
@@ -33032,7 +33258,7 @@ var spriteCatalog = {
|
|
|
33032
33258
|
"y": 1351
|
|
33033
33259
|
},
|
|
33034
33260
|
"signalbase": {
|
|
33035
|
-
"x":
|
|
33261
|
+
"x": 351,
|
|
33036
33262
|
"y": 1551
|
|
33037
33263
|
},
|
|
33038
33264
|
"pingbell": {
|
|
@@ -33104,7 +33330,7 @@ var spriteCatalog = {
|
|
|
33104
33330
|
"y": 1301
|
|
33105
33331
|
},
|
|
33106
33332
|
"umami": {
|
|
33107
|
-
"x":
|
|
33333
|
+
"x": 1551,
|
|
33108
33334
|
"y": 1751
|
|
33109
33335
|
},
|
|
33110
33336
|
"pdf_api_io": {
|
|
@@ -33500,7 +33726,7 @@ var spriteCatalog = {
|
|
|
33500
33726
|
"y": 1451
|
|
33501
33727
|
},
|
|
33502
33728
|
"spider": {
|
|
33503
|
-
"x":
|
|
33729
|
+
"x": 401,
|
|
33504
33730
|
"y": 1601
|
|
33505
33731
|
},
|
|
33506
33732
|
"scraperapi": {
|
|
@@ -33524,8 +33750,8 @@ var spriteCatalog = {
|
|
|
33524
33750
|
"y": 1451
|
|
33525
33751
|
},
|
|
33526
33752
|
"zenscrape": {
|
|
33527
|
-
"x":
|
|
33528
|
-
"y":
|
|
33753
|
+
"x": 2001,
|
|
33754
|
+
"y": 1901
|
|
33529
33755
|
},
|
|
33530
33756
|
"search_api": {
|
|
33531
33757
|
"x": 51,
|
|
@@ -33544,11 +33770,11 @@ var spriteCatalog = {
|
|
|
33544
33770
|
"y": 1451
|
|
33545
33771
|
},
|
|
33546
33772
|
"the_colony": {
|
|
33547
|
-
"x":
|
|
33773
|
+
"x": 201,
|
|
33548
33774
|
"y": 1701
|
|
33549
33775
|
},
|
|
33550
33776
|
"the_official_board": {
|
|
33551
|
-
"x":
|
|
33777
|
+
"x": 351,
|
|
33552
33778
|
"y": 1701
|
|
33553
33779
|
},
|
|
33554
33780
|
"semantic_scholar": {
|
|
@@ -33564,7 +33790,7 @@ var spriteCatalog = {
|
|
|
33564
33790
|
"y": 1501
|
|
33565
33791
|
},
|
|
33566
33792
|
"spyfu": {
|
|
33567
|
-
"x":
|
|
33793
|
+
"x": 551,
|
|
33568
33794
|
"y": 1601
|
|
33569
33795
|
},
|
|
33570
33796
|
"serpdog": {
|
|
@@ -33588,11 +33814,11 @@ var spriteCatalog = {
|
|
|
33588
33814
|
"y": 1501
|
|
33589
33815
|
},
|
|
33590
33816
|
"shortpixel": {
|
|
33591
|
-
"x":
|
|
33817
|
+
"x": 201,
|
|
33592
33818
|
"y": 1551
|
|
33593
33819
|
},
|
|
33594
33820
|
"signpath": {
|
|
33595
|
-
"x":
|
|
33821
|
+
"x": 451,
|
|
33596
33822
|
"y": 1551
|
|
33597
33823
|
},
|
|
33598
33824
|
"sendbird": {
|
|
@@ -33648,16 +33874,16 @@ var spriteCatalog = {
|
|
|
33648
33874
|
"y": 1501
|
|
33649
33875
|
},
|
|
33650
33876
|
"sitespeakai": {
|
|
33651
|
-
"x":
|
|
33877
|
+
"x": 901,
|
|
33652
33878
|
"y": 1551
|
|
33653
33879
|
},
|
|
33654
33880
|
"speak_ai": {
|
|
33655
|
-
"x":
|
|
33881
|
+
"x": 251,
|
|
33656
33882
|
"y": 1601
|
|
33657
33883
|
},
|
|
33658
33884
|
"softr": {
|
|
33659
|
-
"x":
|
|
33660
|
-
"y":
|
|
33885
|
+
"x": 2001,
|
|
33886
|
+
"y": 1551
|
|
33661
33887
|
},
|
|
33662
33888
|
"planly": {
|
|
33663
33889
|
"x": 701,
|
|
@@ -33684,11 +33910,11 @@ var spriteCatalog = {
|
|
|
33684
33910
|
"y": 1451
|
|
33685
33911
|
},
|
|
33686
33912
|
"smartsuite": {
|
|
33687
|
-
"x":
|
|
33913
|
+
"x": 1601,
|
|
33688
33914
|
"y": 1551
|
|
33689
33915
|
},
|
|
33690
33916
|
"sportsdata": {
|
|
33691
|
-
"x":
|
|
33917
|
+
"x": 501,
|
|
33692
33918
|
"y": 1601
|
|
33693
33919
|
},
|
|
33694
33920
|
"ringg_ai": {
|
|
@@ -33704,7 +33930,7 @@ var spriteCatalog = {
|
|
|
33704
33930
|
"y": 1401
|
|
33705
33931
|
},
|
|
33706
33932
|
"workiz": {
|
|
33707
|
-
"x":
|
|
33933
|
+
"x": 401,
|
|
33708
33934
|
"y": 1901
|
|
33709
33935
|
},
|
|
33710
33936
|
"salesflare": {
|
|
@@ -33728,87 +33954,87 @@ var spriteCatalog = {
|
|
|
33728
33954
|
"y": 1501
|
|
33729
33955
|
},
|
|
33730
33956
|
"supportbee": {
|
|
33731
|
-
"x":
|
|
33957
|
+
"x": 301,
|
|
33732
33958
|
"y": 1651
|
|
33733
33959
|
},
|
|
33734
33960
|
"similarweb_digitalrank_api": {
|
|
33735
|
-
"x":
|
|
33961
|
+
"x": 551,
|
|
33736
33962
|
"y": 1551
|
|
33737
33963
|
},
|
|
33738
33964
|
"simla": {
|
|
33739
|
-
"x":
|
|
33965
|
+
"x": 601,
|
|
33740
33966
|
"y": 1551
|
|
33741
33967
|
},
|
|
33742
33968
|
"simplybook_me": {
|
|
33743
|
-
"x":
|
|
33969
|
+
"x": 851,
|
|
33744
33970
|
"y": 1551
|
|
33745
33971
|
},
|
|
33746
33972
|
"short_io": {
|
|
33747
|
-
"x":
|
|
33973
|
+
"x": 1,
|
|
33748
33974
|
"y": 1551
|
|
33749
33975
|
},
|
|
33750
33976
|
"shorten_rest": {
|
|
33751
|
-
"x":
|
|
33977
|
+
"x": 151,
|
|
33752
33978
|
"y": 1551
|
|
33753
33979
|
},
|
|
33754
33980
|
"shortcut": {
|
|
33755
|
-
"x":
|
|
33981
|
+
"x": 101,
|
|
33756
33982
|
"y": 1551
|
|
33757
33983
|
},
|
|
33758
33984
|
"short_menu": {
|
|
33759
|
-
"x":
|
|
33985
|
+
"x": 51,
|
|
33760
33986
|
"y": 1551
|
|
33761
33987
|
},
|
|
33762
33988
|
"simple_analytics": {
|
|
33763
|
-
"x":
|
|
33989
|
+
"x": 651,
|
|
33764
33990
|
"y": 1551
|
|
33765
33991
|
},
|
|
33766
33992
|
"simplelocalize": {
|
|
33767
|
-
"x":
|
|
33993
|
+
"x": 701,
|
|
33768
33994
|
"y": 1551
|
|
33769
33995
|
},
|
|
33770
33996
|
"simplesat": {
|
|
33771
|
-
"x":
|
|
33997
|
+
"x": 751,
|
|
33772
33998
|
"y": 1551
|
|
33773
33999
|
},
|
|
33774
34000
|
"slack": {
|
|
33775
|
-
"x":
|
|
34001
|
+
"x": 1151,
|
|
33776
34002
|
"y": 1551
|
|
33777
34003
|
},
|
|
33778
34004
|
"slackbot": {
|
|
33779
|
-
"x":
|
|
34005
|
+
"x": 1201,
|
|
33780
34006
|
"y": 1551
|
|
33781
34007
|
},
|
|
33782
34008
|
"slab": {
|
|
33783
|
-
"x":
|
|
34009
|
+
"x": 1101,
|
|
33784
34010
|
"y": 1551
|
|
33785
34011
|
},
|
|
33786
34012
|
"slicktext": {
|
|
33787
|
-
"x":
|
|
34013
|
+
"x": 1301,
|
|
33788
34014
|
"y": 1551
|
|
33789
34015
|
},
|
|
33790
34016
|
"sling": {
|
|
33791
|
-
"x":
|
|
34017
|
+
"x": 1351,
|
|
33792
34018
|
"y": 1551
|
|
33793
34019
|
},
|
|
33794
34020
|
"splunk_http_event_collector": {
|
|
33795
|
-
"x":
|
|
34021
|
+
"x": 451,
|
|
33796
34022
|
"y": 1601
|
|
33797
34023
|
},
|
|
33798
34024
|
"snipe_it": {
|
|
33799
|
-
"x":
|
|
34025
|
+
"x": 1851,
|
|
33800
34026
|
"y": 1551
|
|
33801
34027
|
},
|
|
33802
34028
|
"snipcart": {
|
|
33803
|
-
"x":
|
|
34029
|
+
"x": 1801,
|
|
33804
34030
|
"y": 1551
|
|
33805
34031
|
},
|
|
33806
34032
|
"snyk": {
|
|
33807
|
-
"x":
|
|
34033
|
+
"x": 1901,
|
|
33808
34034
|
"y": 1551
|
|
33809
34035
|
},
|
|
33810
34036
|
"slite": {
|
|
33811
|
-
"x":
|
|
34037
|
+
"x": 1401,
|
|
33812
34038
|
"y": 1551
|
|
33813
34039
|
},
|
|
33814
34040
|
"picky_assist": {
|
|
@@ -33816,195 +34042,195 @@ var spriteCatalog = {
|
|
|
33816
34042
|
"y": 1251
|
|
33817
34043
|
},
|
|
33818
34044
|
"sms_alert": {
|
|
33819
|
-
"x":
|
|
34045
|
+
"x": 1651,
|
|
33820
34046
|
"y": 1551
|
|
33821
34047
|
},
|
|
33822
34048
|
"smtp2go": {
|
|
33823
|
-
"x":
|
|
34049
|
+
"x": 1701,
|
|
33824
34050
|
"y": 1551
|
|
33825
34051
|
},
|
|
33826
34052
|
"smugmug": {
|
|
33827
|
-
"x":
|
|
34053
|
+
"x": 1751,
|
|
33828
34054
|
"y": 1551
|
|
33829
34055
|
},
|
|
33830
34056
|
"solcast": {
|
|
33831
|
-
"x":
|
|
34057
|
+
"x": 51,
|
|
33832
34058
|
"y": 1601
|
|
33833
34059
|
},
|
|
33834
34060
|
"sonarcloud": {
|
|
33835
|
-
"x":
|
|
34061
|
+
"x": 101,
|
|
33836
34062
|
"y": 1601
|
|
33837
34063
|
},
|
|
33838
34064
|
"social_fetch": {
|
|
33839
|
-
"x":
|
|
34065
|
+
"x": 1951,
|
|
33840
34066
|
"y": 1551
|
|
33841
34067
|
},
|
|
33842
34068
|
"stannp": {
|
|
33843
|
-
"x":
|
|
34069
|
+
"x": 851,
|
|
33844
34070
|
"y": 1601
|
|
33845
34071
|
},
|
|
33846
34072
|
"stealthgpt": {
|
|
33847
|
-
"x":
|
|
34073
|
+
"x": 1301,
|
|
33848
34074
|
"y": 1601
|
|
33849
34075
|
},
|
|
33850
34076
|
"speechmatics": {
|
|
33851
|
-
"x":
|
|
34077
|
+
"x": 301,
|
|
33852
34078
|
"y": 1601
|
|
33853
34079
|
},
|
|
33854
34080
|
"statista": {
|
|
33855
|
-
"x":
|
|
34081
|
+
"x": 1001,
|
|
33856
34082
|
"y": 1601
|
|
33857
34083
|
},
|
|
33858
34084
|
"statamic": {
|
|
33859
|
-
"x":
|
|
34085
|
+
"x": 951,
|
|
33860
34086
|
"y": 1601
|
|
33861
34087
|
},
|
|
33862
34088
|
"statsig": {
|
|
33863
|
-
"x":
|
|
34089
|
+
"x": 1051,
|
|
33864
34090
|
"y": 1601
|
|
33865
34091
|
},
|
|
33866
34092
|
"statuscake": {
|
|
33867
|
-
"x":
|
|
34093
|
+
"x": 1101,
|
|
33868
34094
|
"y": 1601
|
|
33869
34095
|
},
|
|
33870
34096
|
"statuspage": {
|
|
33871
|
-
"x":
|
|
34097
|
+
"x": 1151,
|
|
33872
34098
|
"y": 1601
|
|
33873
34099
|
},
|
|
33874
34100
|
"statuspal": {
|
|
33875
|
-
"x":
|
|
34101
|
+
"x": 1201,
|
|
33876
34102
|
"y": 1601
|
|
33877
34103
|
},
|
|
33878
34104
|
"stay_ai": {
|
|
33879
|
-
"x":
|
|
34105
|
+
"x": 1251,
|
|
33880
34106
|
"y": 1601
|
|
33881
34107
|
},
|
|
33882
34108
|
"store_leads": {
|
|
33883
|
-
"x":
|
|
34109
|
+
"x": 1351,
|
|
33884
34110
|
"y": 1601
|
|
33885
34111
|
},
|
|
33886
34112
|
"storecensus": {
|
|
33887
|
-
"x":
|
|
34113
|
+
"x": 1401,
|
|
33888
34114
|
"y": 1601
|
|
33889
34115
|
},
|
|
33890
34116
|
"stormboard": {
|
|
33891
|
-
"x":
|
|
34117
|
+
"x": 1451,
|
|
33892
34118
|
"y": 1601
|
|
33893
34119
|
},
|
|
33894
34120
|
"storyblok": {
|
|
33895
|
-
"x":
|
|
34121
|
+
"x": 1551,
|
|
33896
34122
|
"y": 1601
|
|
33897
34123
|
},
|
|
33898
34124
|
"stripe": {
|
|
33899
|
-
"x":
|
|
34125
|
+
"x": 1801,
|
|
33900
34126
|
"y": 1601
|
|
33901
34127
|
},
|
|
33902
34128
|
"streak": {
|
|
33903
|
-
"x":
|
|
34129
|
+
"x": 1651,
|
|
33904
34130
|
"y": 1601
|
|
33905
34131
|
},
|
|
33906
34132
|
"stabilityai": {
|
|
33907
|
-
"x":
|
|
34133
|
+
"x": 701,
|
|
33908
34134
|
"y": 1601
|
|
33909
34135
|
},
|
|
33910
34136
|
"subvisory": {
|
|
33911
|
-
"x":
|
|
34137
|
+
"x": 1851,
|
|
33912
34138
|
"y": 1601
|
|
33913
34139
|
},
|
|
33914
34140
|
"supervisely": {
|
|
33915
|
-
"x":
|
|
34141
|
+
"x": 251,
|
|
33916
34142
|
"y": 1651
|
|
33917
34143
|
},
|
|
33918
34144
|
"starton": {
|
|
33919
|
-
"x":
|
|
34145
|
+
"x": 901,
|
|
33920
34146
|
"y": 1601
|
|
33921
34147
|
},
|
|
33922
34148
|
"stormglass_io": {
|
|
33923
|
-
"x":
|
|
34149
|
+
"x": 1501,
|
|
33924
34150
|
"y": 1601
|
|
33925
34151
|
},
|
|
33926
34152
|
"stream_estate": {
|
|
33927
|
-
"x":
|
|
34153
|
+
"x": 1701,
|
|
33928
34154
|
"y": 1601
|
|
33929
34155
|
},
|
|
33930
34156
|
"streamtime": {
|
|
33931
|
-
"x":
|
|
34157
|
+
"x": 1751,
|
|
33932
34158
|
"y": 1601
|
|
33933
34159
|
},
|
|
33934
34160
|
"sunoapi": {
|
|
33935
|
-
"x":
|
|
34161
|
+
"x": 1951,
|
|
33936
34162
|
"y": 1601
|
|
33937
34163
|
},
|
|
33938
34164
|
"strava": {
|
|
33939
|
-
"x":
|
|
34165
|
+
"x": 1601,
|
|
33940
34166
|
"y": 1601
|
|
33941
34167
|
},
|
|
33942
34168
|
"supabase": {
|
|
33943
|
-
"x":
|
|
34169
|
+
"x": 1,
|
|
33944
34170
|
"y": 1651
|
|
33945
34171
|
},
|
|
33946
34172
|
"surecontact": {
|
|
33947
|
-
"x":
|
|
34173
|
+
"x": 351,
|
|
33948
34174
|
"y": 1651
|
|
33949
34175
|
},
|
|
33950
34176
|
"supadata": {
|
|
33951
|
-
"x":
|
|
34177
|
+
"x": 51,
|
|
33952
34178
|
"y": 1651
|
|
33953
34179
|
},
|
|
33954
34180
|
"sumup": {
|
|
33955
|
-
"x":
|
|
34181
|
+
"x": 1901,
|
|
33956
34182
|
"y": 1601
|
|
33957
34183
|
},
|
|
33958
34184
|
"superchat": {
|
|
33959
|
-
"x":
|
|
34185
|
+
"x": 151,
|
|
33960
34186
|
"y": 1651
|
|
33961
34187
|
},
|
|
33962
34188
|
"super_saas": {
|
|
33963
|
-
"x":
|
|
34189
|
+
"x": 101,
|
|
33964
34190
|
"y": 1651
|
|
33965
34191
|
},
|
|
33966
34192
|
"sunsama_mcp": {
|
|
33967
|
-
"x":
|
|
33968
|
-
"y":
|
|
34193
|
+
"x": 2001,
|
|
34194
|
+
"y": 1601
|
|
33969
34195
|
},
|
|
33970
34196
|
"skio": {
|
|
33971
|
-
"x":
|
|
34197
|
+
"x": 951,
|
|
33972
34198
|
"y": 1551
|
|
33973
34199
|
},
|
|
33974
34200
|
"skyfire": {
|
|
33975
|
-
"x":
|
|
34201
|
+
"x": 1001,
|
|
33976
34202
|
"y": 1551
|
|
33977
34203
|
},
|
|
33978
34204
|
"stack_ai": {
|
|
33979
|
-
"x":
|
|
34205
|
+
"x": 751,
|
|
33980
34206
|
"y": 1601
|
|
33981
34207
|
},
|
|
33982
34208
|
"stack_overflow_for_teams": {
|
|
33983
|
-
"x":
|
|
34209
|
+
"x": 801,
|
|
33984
34210
|
"y": 1601
|
|
33985
34211
|
},
|
|
33986
34212
|
"svix": {
|
|
33987
|
-
"x":
|
|
34213
|
+
"x": 501,
|
|
33988
34214
|
"y": 1651
|
|
33989
34215
|
},
|
|
33990
34216
|
"systeme_io": {
|
|
33991
|
-
"x":
|
|
34217
|
+
"x": 601,
|
|
33992
34218
|
"y": 1651
|
|
33993
34219
|
},
|
|
33994
34220
|
"swaggerhub": {
|
|
33995
|
-
"x":
|
|
34221
|
+
"x": 551,
|
|
33996
34222
|
"y": 1651
|
|
33997
34223
|
},
|
|
33998
34224
|
"taggun": {
|
|
33999
|
-
"x":
|
|
34225
|
+
"x": 701,
|
|
34000
34226
|
"y": 1651
|
|
34001
34227
|
},
|
|
34002
34228
|
"tabapi": {
|
|
34003
|
-
"x":
|
|
34229
|
+
"x": 651,
|
|
34004
34230
|
"y": 1651
|
|
34005
34231
|
},
|
|
34006
34232
|
"talenox": {
|
|
34007
|
-
"x":
|
|
34233
|
+
"x": 851,
|
|
34008
34234
|
"y": 1651
|
|
34009
34235
|
},
|
|
34010
34236
|
"commonninja": {
|
|
@@ -34012,7 +34238,7 @@ var spriteCatalog = {
|
|
|
34012
34238
|
"y": 351
|
|
34013
34239
|
},
|
|
34014
34240
|
"simpletexting": {
|
|
34015
|
-
"x":
|
|
34241
|
+
"x": 801,
|
|
34016
34242
|
"y": 1551
|
|
34017
34243
|
},
|
|
34018
34244
|
"pointagram": {
|
|
@@ -34020,7 +34246,7 @@ var spriteCatalog = {
|
|
|
34020
34246
|
"y": 1301
|
|
34021
34247
|
},
|
|
34022
34248
|
"validemail": {
|
|
34023
|
-
"x":
|
|
34249
|
+
"x": 501,
|
|
34024
34250
|
"y": 1801
|
|
34025
34251
|
},
|
|
34026
34252
|
"kenjo": {
|
|
@@ -34028,171 +34254,171 @@ var spriteCatalog = {
|
|
|
34028
34254
|
"y": 901
|
|
34029
34255
|
},
|
|
34030
34256
|
"talenthr": {
|
|
34031
|
-
"x":
|
|
34257
|
+
"x": 901,
|
|
34032
34258
|
"y": 1651
|
|
34033
34259
|
},
|
|
34034
34260
|
"talentlms": {
|
|
34035
|
-
"x":
|
|
34261
|
+
"x": 951,
|
|
34036
34262
|
"y": 1651
|
|
34037
34263
|
},
|
|
34038
34264
|
"tailscale": {
|
|
34039
|
-
"x":
|
|
34265
|
+
"x": 801,
|
|
34040
34266
|
"y": 1651
|
|
34041
34267
|
},
|
|
34042
34268
|
"teamtailor": {
|
|
34043
|
-
"x":
|
|
34269
|
+
"x": 1401,
|
|
34044
34270
|
"y": 1651
|
|
34045
34271
|
},
|
|
34046
34272
|
"teable": {
|
|
34047
|
-
"x":
|
|
34273
|
+
"x": 1301,
|
|
34048
34274
|
"y": 1651
|
|
34049
34275
|
},
|
|
34050
34276
|
"telnyx": {
|
|
34051
|
-
"x":
|
|
34277
|
+
"x": 1551,
|
|
34052
34278
|
"y": 1651
|
|
34053
34279
|
},
|
|
34054
34280
|
"taxjar": {
|
|
34055
|
-
"x":
|
|
34281
|
+
"x": 1251,
|
|
34056
34282
|
"y": 1651
|
|
34057
34283
|
},
|
|
34058
34284
|
"tally": {
|
|
34059
|
-
"x":
|
|
34285
|
+
"x": 1001,
|
|
34060
34286
|
"y": 1651
|
|
34061
34287
|
},
|
|
34062
34288
|
"tapfiliate": {
|
|
34063
|
-
"x":
|
|
34289
|
+
"x": 1101,
|
|
34064
34290
|
"y": 1651
|
|
34065
34291
|
},
|
|
34066
34292
|
"tanium": {
|
|
34067
|
-
"x":
|
|
34293
|
+
"x": 1051,
|
|
34068
34294
|
"y": 1651
|
|
34069
34295
|
},
|
|
34070
34296
|
"taiga": {
|
|
34071
|
-
"x":
|
|
34297
|
+
"x": 751,
|
|
34072
34298
|
"y": 1651
|
|
34073
34299
|
},
|
|
34074
34300
|
"teamcamp": {
|
|
34075
|
-
"x":
|
|
34301
|
+
"x": 1351,
|
|
34076
34302
|
"y": 1651
|
|
34077
34303
|
},
|
|
34078
34304
|
"teamup": {
|
|
34079
|
-
"x":
|
|
34305
|
+
"x": 1451,
|
|
34080
34306
|
"y": 1651
|
|
34081
34307
|
},
|
|
34082
34308
|
"tave": {
|
|
34083
|
-
"x":
|
|
34309
|
+
"x": 1151,
|
|
34084
34310
|
"y": 1651
|
|
34085
34311
|
},
|
|
34086
34312
|
"tavily": {
|
|
34087
|
-
"x":
|
|
34313
|
+
"x": 1201,
|
|
34088
34314
|
"y": 1651
|
|
34089
34315
|
},
|
|
34090
34316
|
"tianyancha": {
|
|
34091
|
-
"x":
|
|
34317
|
+
"x": 701,
|
|
34092
34318
|
"y": 1701
|
|
34093
34319
|
},
|
|
34094
34320
|
"tongdaxin": {
|
|
34095
|
-
"x":
|
|
34321
|
+
"x": 1,
|
|
34096
34322
|
"y": 1751
|
|
34097
34323
|
},
|
|
34098
34324
|
"terraform": {
|
|
34099
|
-
"x":
|
|
34325
|
+
"x": 1951,
|
|
34100
34326
|
"y": 1651
|
|
34101
34327
|
},
|
|
34102
34328
|
"torii": {
|
|
34103
|
-
"x":
|
|
34329
|
+
"x": 51,
|
|
34104
34330
|
"y": 1751
|
|
34105
34331
|
},
|
|
34106
34332
|
"torii_image_translator": {
|
|
34107
|
-
"x":
|
|
34333
|
+
"x": 101,
|
|
34108
34334
|
"y": 1751
|
|
34109
34335
|
},
|
|
34110
34336
|
"the_swarm": {
|
|
34111
|
-
"x":
|
|
34337
|
+
"x": 401,
|
|
34112
34338
|
"y": 1701
|
|
34113
34339
|
},
|
|
34114
34340
|
"valyu": {
|
|
34115
|
-
"x":
|
|
34341
|
+
"x": 551,
|
|
34116
34342
|
"y": 1801
|
|
34117
34343
|
},
|
|
34118
34344
|
"vbout": {
|
|
34119
|
-
"x":
|
|
34345
|
+
"x": 701,
|
|
34120
34346
|
"y": 1801
|
|
34121
34347
|
},
|
|
34122
34348
|
"vitally": {
|
|
34123
|
-
"x":
|
|
34349
|
+
"x": 1501,
|
|
34124
34350
|
"y": 1801
|
|
34125
34351
|
},
|
|
34126
34352
|
"templated": {
|
|
34127
|
-
"x":
|
|
34353
|
+
"x": 1651,
|
|
34128
34354
|
"y": 1651
|
|
34129
34355
|
},
|
|
34130
34356
|
"templatefox": {
|
|
34131
|
-
"x":
|
|
34357
|
+
"x": 1751,
|
|
34132
34358
|
"y": 1651
|
|
34133
34359
|
},
|
|
34134
34360
|
"tikhub": {
|
|
34135
|
-
"x":
|
|
34361
|
+
"x": 1051,
|
|
34136
34362
|
"y": 1701
|
|
34137
34363
|
},
|
|
34138
34364
|
"tianapi": {
|
|
34139
|
-
"x":
|
|
34365
|
+
"x": 651,
|
|
34140
34366
|
"y": 1701
|
|
34141
34367
|
},
|
|
34142
34368
|
"tiktok_business": {
|
|
34143
|
-
"x":
|
|
34369
|
+
"x": 1101,
|
|
34144
34370
|
"y": 1701
|
|
34145
34371
|
},
|
|
34146
34372
|
"tiktok_business_mcp": {
|
|
34147
|
-
"x":
|
|
34373
|
+
"x": 1151,
|
|
34148
34374
|
"y": 1701
|
|
34149
34375
|
},
|
|
34150
34376
|
"timem_space": {
|
|
34151
|
-
"x":
|
|
34377
|
+
"x": 1401,
|
|
34152
34378
|
"y": 1701
|
|
34153
34379
|
},
|
|
34154
34380
|
"timelinesai": {
|
|
34155
|
-
"x":
|
|
34381
|
+
"x": 1301,
|
|
34156
34382
|
"y": 1701
|
|
34157
34383
|
},
|
|
34158
34384
|
"tidb": {
|
|
34159
|
-
"x":
|
|
34385
|
+
"x": 1001,
|
|
34160
34386
|
"y": 1701
|
|
34161
34387
|
},
|
|
34162
34388
|
"teltel": {
|
|
34163
|
-
"x":
|
|
34389
|
+
"x": 1601,
|
|
34164
34390
|
"y": 1651
|
|
34165
34391
|
},
|
|
34166
34392
|
"timelink": {
|
|
34167
|
-
"x":
|
|
34393
|
+
"x": 1351,
|
|
34168
34394
|
"y": 1701
|
|
34169
34395
|
},
|
|
34170
34396
|
"timecamp": {
|
|
34171
|
-
"x":
|
|
34397
|
+
"x": 1251,
|
|
34172
34398
|
"y": 1701
|
|
34173
34399
|
},
|
|
34174
34400
|
"timebuzzer": {
|
|
34175
|
-
"x":
|
|
34401
|
+
"x": 1201,
|
|
34176
34402
|
"y": 1701
|
|
34177
34403
|
},
|
|
34178
34404
|
"tldv": {
|
|
34179
|
-
"x":
|
|
34405
|
+
"x": 1651,
|
|
34180
34406
|
"y": 1701
|
|
34181
34407
|
},
|
|
34182
34408
|
"tencent_docs": {
|
|
34183
|
-
"x":
|
|
34409
|
+
"x": 1801,
|
|
34184
34410
|
"y": 1651
|
|
34185
34411
|
},
|
|
34186
34412
|
"tencent_maps": {
|
|
34187
|
-
"x":
|
|
34413
|
+
"x": 1851,
|
|
34188
34414
|
"y": 1651
|
|
34189
34415
|
},
|
|
34190
34416
|
"terminus_app": {
|
|
34191
|
-
"x":
|
|
34417
|
+
"x": 1901,
|
|
34192
34418
|
"y": 1651
|
|
34193
34419
|
},
|
|
34194
34420
|
"templatedocs": {
|
|
34195
|
-
"x":
|
|
34421
|
+
"x": 1701,
|
|
34196
34422
|
"y": 1651
|
|
34197
34423
|
},
|
|
34198
34424
|
"pdf_vector": {
|
|
@@ -34200,211 +34426,211 @@ var spriteCatalog = {
|
|
|
34200
34426
|
"y": 1251
|
|
34201
34427
|
},
|
|
34202
34428
|
"tinypng": {
|
|
34203
|
-
"x":
|
|
34429
|
+
"x": 1501,
|
|
34204
34430
|
"y": 1701
|
|
34205
34431
|
},
|
|
34206
34432
|
"tinybird": {
|
|
34207
|
-
"x":
|
|
34433
|
+
"x": 1451,
|
|
34208
34434
|
"y": 1701
|
|
34209
34435
|
},
|
|
34210
34436
|
"telegram": {
|
|
34211
|
-
"x":
|
|
34437
|
+
"x": 1501,
|
|
34212
34438
|
"y": 1651
|
|
34213
34439
|
},
|
|
34214
34440
|
"ticketmaster": {
|
|
34215
|
-
"x":
|
|
34441
|
+
"x": 901,
|
|
34216
34442
|
"y": 1701
|
|
34217
34443
|
},
|
|
34218
34444
|
"ticket_tailor": {
|
|
34219
|
-
"x":
|
|
34445
|
+
"x": 851,
|
|
34220
34446
|
"y": 1701
|
|
34221
34447
|
},
|
|
34222
34448
|
"ticket_source": {
|
|
34223
|
-
"x":
|
|
34449
|
+
"x": 801,
|
|
34224
34450
|
"y": 1701
|
|
34225
34451
|
},
|
|
34226
34452
|
"tick": {
|
|
34227
|
-
"x":
|
|
34453
|
+
"x": 751,
|
|
34228
34454
|
"y": 1701
|
|
34229
34455
|
},
|
|
34230
34456
|
"ticktick": {
|
|
34231
|
-
"x":
|
|
34457
|
+
"x": 951,
|
|
34232
34458
|
"y": 1701
|
|
34233
34459
|
},
|
|
34234
34460
|
"textrazor": {
|
|
34235
|
-
"x":
|
|
34461
|
+
"x": 101,
|
|
34236
34462
|
"y": 1701
|
|
34237
34463
|
},
|
|
34238
34464
|
"textcortex": {
|
|
34239
|
-
"x":
|
|
34240
|
-
"y":
|
|
34465
|
+
"x": 2001,
|
|
34466
|
+
"y": 1651
|
|
34241
34467
|
},
|
|
34242
34468
|
"textit": {
|
|
34243
|
-
"x":
|
|
34469
|
+
"x": 1,
|
|
34244
34470
|
"y": 1701
|
|
34245
34471
|
},
|
|
34246
34472
|
"textmagic": {
|
|
34247
|
-
"x":
|
|
34473
|
+
"x": 51,
|
|
34248
34474
|
"y": 1701
|
|
34249
34475
|
},
|
|
34250
34476
|
"wp_maps": {
|
|
34251
|
-
"x":
|
|
34477
|
+
"x": 651,
|
|
34252
34478
|
"y": 1901
|
|
34253
34479
|
},
|
|
34254
34480
|
"you": {
|
|
34255
|
-
"x":
|
|
34481
|
+
"x": 1501,
|
|
34256
34482
|
"y": 1901
|
|
34257
34483
|
},
|
|
34258
34484
|
"y_gy": {
|
|
34259
|
-
"x":
|
|
34485
|
+
"x": 1251,
|
|
34260
34486
|
"y": 1901
|
|
34261
34487
|
},
|
|
34262
34488
|
"yoplanning": {
|
|
34263
|
-
"x":
|
|
34489
|
+
"x": 1451,
|
|
34264
34490
|
"y": 1901
|
|
34265
34491
|
},
|
|
34266
34492
|
"yuandian": {
|
|
34267
|
-
"x":
|
|
34493
|
+
"x": 1651,
|
|
34268
34494
|
"y": 1901
|
|
34269
34495
|
},
|
|
34270
34496
|
"yuanfenju": {
|
|
34271
|
-
"x":
|
|
34497
|
+
"x": 1701,
|
|
34272
34498
|
"y": 1901
|
|
34273
34499
|
},
|
|
34274
34500
|
"zhihu": {
|
|
34275
|
-
"x":
|
|
34501
|
+
"x": 301,
|
|
34276
34502
|
"y": 1951
|
|
34277
34503
|
},
|
|
34278
34504
|
"ynab": {
|
|
34279
|
-
"x":
|
|
34505
|
+
"x": 1401,
|
|
34280
34506
|
"y": 1901
|
|
34281
34507
|
},
|
|
34282
34508
|
"tisane": {
|
|
34283
|
-
"x":
|
|
34509
|
+
"x": 1601,
|
|
34284
34510
|
"y": 1701
|
|
34285
34511
|
},
|
|
34286
34512
|
"tinyurl": {
|
|
34287
|
-
"x":
|
|
34513
|
+
"x": 1551,
|
|
34288
34514
|
"y": 1701
|
|
34289
34515
|
},
|
|
34290
34516
|
"todoist": {
|
|
34291
|
-
"x":
|
|
34517
|
+
"x": 1751,
|
|
34292
34518
|
"y": 1701
|
|
34293
34519
|
},
|
|
34294
34520
|
"tmdb": {
|
|
34295
|
-
"x":
|
|
34521
|
+
"x": 1701,
|
|
34296
34522
|
"y": 1701
|
|
34297
34523
|
},
|
|
34298
34524
|
"toggl": {
|
|
34299
|
-
"x":
|
|
34525
|
+
"x": 1851,
|
|
34300
34526
|
"y": 1701
|
|
34301
34527
|
},
|
|
34302
34528
|
"tomtom": {
|
|
34303
|
-
"x":
|
|
34304
|
-
"y":
|
|
34529
|
+
"x": 2001,
|
|
34530
|
+
"y": 1701
|
|
34305
34531
|
},
|
|
34306
34532
|
"trello": {
|
|
34307
|
-
"x":
|
|
34533
|
+
"x": 301,
|
|
34308
34534
|
"y": 1751
|
|
34309
34535
|
},
|
|
34310
34536
|
"trendshift": {
|
|
34311
|
-
"x":
|
|
34537
|
+
"x": 401,
|
|
34312
34538
|
"y": 1751
|
|
34313
34539
|
},
|
|
34314
34540
|
"trilium": {
|
|
34315
|
-
"x":
|
|
34541
|
+
"x": 601,
|
|
34316
34542
|
"y": 1751
|
|
34317
34543
|
},
|
|
34318
34544
|
"trent": {
|
|
34319
|
-
"x":
|
|
34545
|
+
"x": 451,
|
|
34320
34546
|
"y": 1751
|
|
34321
34547
|
},
|
|
34322
34548
|
"tremendous": {
|
|
34323
|
-
"x":
|
|
34549
|
+
"x": 351,
|
|
34324
34550
|
"y": 1751
|
|
34325
34551
|
},
|
|
34326
34552
|
"trawlingweb": {
|
|
34327
|
-
"x":
|
|
34553
|
+
"x": 251,
|
|
34328
34554
|
"y": 1751
|
|
34329
34555
|
},
|
|
34330
34556
|
"twelve_data": {
|
|
34331
|
-
"x":
|
|
34557
|
+
"x": 1001,
|
|
34332
34558
|
"y": 1751
|
|
34333
34559
|
},
|
|
34334
34560
|
"turbot_pipes": {
|
|
34335
|
-
"x":
|
|
34561
|
+
"x": 801,
|
|
34336
34562
|
"y": 1751
|
|
34337
34563
|
},
|
|
34338
34564
|
"tushare": {
|
|
34339
|
-
"x":
|
|
34565
|
+
"x": 901,
|
|
34340
34566
|
"y": 1751
|
|
34341
34567
|
},
|
|
34342
34568
|
"tuskr": {
|
|
34343
|
-
"x":
|
|
34569
|
+
"x": 951,
|
|
34344
34570
|
"y": 1751
|
|
34345
34571
|
},
|
|
34346
34572
|
"together_ai": {
|
|
34347
|
-
"x":
|
|
34573
|
+
"x": 1801,
|
|
34348
34574
|
"y": 1701
|
|
34349
34575
|
},
|
|
34350
34576
|
"token_metrics": {
|
|
34351
|
-
"x":
|
|
34577
|
+
"x": 1901,
|
|
34352
34578
|
"y": 1701
|
|
34353
34579
|
},
|
|
34354
34580
|
"totp": {
|
|
34355
|
-
"x":
|
|
34581
|
+
"x": 151,
|
|
34356
34582
|
"y": 1751
|
|
34357
34583
|
},
|
|
34358
34584
|
"theirstack": {
|
|
34359
|
-
"x":
|
|
34585
|
+
"x": 551,
|
|
34360
34586
|
"y": 1701
|
|
34361
34587
|
},
|
|
34362
34588
|
"the_odds_api": {
|
|
34363
|
-
"x":
|
|
34589
|
+
"x": 301,
|
|
34364
34590
|
"y": 1701
|
|
34365
34591
|
},
|
|
34366
34592
|
"the_cat_api": {
|
|
34367
|
-
"x":
|
|
34593
|
+
"x": 151,
|
|
34368
34594
|
"y": 1701
|
|
34369
34595
|
},
|
|
34370
34596
|
"the_dog_api": {
|
|
34371
|
-
"x":
|
|
34597
|
+
"x": 251,
|
|
34372
34598
|
"y": 1701
|
|
34373
34599
|
},
|
|
34374
34600
|
"tripadvisor": {
|
|
34375
|
-
"x":
|
|
34601
|
+
"x": 651,
|
|
34376
34602
|
"y": 1751
|
|
34377
34603
|
},
|
|
34378
34604
|
"triple_whale": {
|
|
34379
|
-
"x":
|
|
34605
|
+
"x": 701,
|
|
34380
34606
|
"y": 1751
|
|
34381
34607
|
},
|
|
34382
34608
|
"tpscheck": {
|
|
34383
|
-
"x":
|
|
34609
|
+
"x": 201,
|
|
34384
34610
|
"y": 1751
|
|
34385
34611
|
},
|
|
34386
34612
|
"twochat": {
|
|
34387
|
-
"x":
|
|
34613
|
+
"x": 1251,
|
|
34388
34614
|
"y": 1751
|
|
34389
34615
|
},
|
|
34390
34616
|
"unifapi": {
|
|
34391
|
-
"x":
|
|
34617
|
+
"x": 1601,
|
|
34392
34618
|
"y": 1751
|
|
34393
34619
|
},
|
|
34394
34620
|
"unione": {
|
|
34395
|
-
"x":
|
|
34621
|
+
"x": 1651,
|
|
34396
34622
|
"y": 1751
|
|
34397
34623
|
},
|
|
34398
34624
|
"unipile": {
|
|
34399
|
-
"x":
|
|
34625
|
+
"x": 1701,
|
|
34400
34626
|
"y": 1751
|
|
34401
34627
|
},
|
|
34402
34628
|
"unpaywall": {
|
|
34403
|
-
"x":
|
|
34629
|
+
"x": 1851,
|
|
34404
34630
|
"y": 1751
|
|
34405
34631
|
},
|
|
34406
34632
|
"unthread": {
|
|
34407
|
-
"x":
|
|
34633
|
+
"x": 1951,
|
|
34408
34634
|
"y": 1751
|
|
34409
34635
|
},
|
|
34410
34636
|
"practitest": {
|
|
@@ -34412,155 +34638,155 @@ var spriteCatalog = {
|
|
|
34412
34638
|
"y": 1301
|
|
34413
34639
|
},
|
|
34414
34640
|
"u301": {
|
|
34415
|
-
"x":
|
|
34641
|
+
"x": 1501,
|
|
34416
34642
|
"y": 1751
|
|
34417
34643
|
},
|
|
34418
34644
|
"updown_io": {
|
|
34419
|
-
"x":
|
|
34420
|
-
"y":
|
|
34645
|
+
"x": 2001,
|
|
34646
|
+
"y": 1751
|
|
34421
34647
|
},
|
|
34422
34648
|
"upstash_redis": {
|
|
34423
|
-
"x":
|
|
34649
|
+
"x": 101,
|
|
34424
34650
|
"y": 1801
|
|
34425
34651
|
},
|
|
34426
34652
|
"uploadcare": {
|
|
34427
|
-
"x":
|
|
34653
|
+
"x": 1,
|
|
34428
34654
|
"y": 1801
|
|
34429
34655
|
},
|
|
34430
34656
|
"upsales": {
|
|
34431
|
-
"x":
|
|
34657
|
+
"x": 51,
|
|
34432
34658
|
"y": 1801
|
|
34433
34659
|
},
|
|
34434
34660
|
"uptimerobot": {
|
|
34435
|
-
"x":
|
|
34661
|
+
"x": 151,
|
|
34436
34662
|
"y": 1801
|
|
34437
34663
|
},
|
|
34438
34664
|
"vapi": {
|
|
34439
|
-
"x":
|
|
34665
|
+
"x": 601,
|
|
34440
34666
|
"y": 1801
|
|
34441
34667
|
},
|
|
34442
34668
|
"vonage": {
|
|
34443
|
-
"x":
|
|
34669
|
+
"x": 1651,
|
|
34444
34670
|
"y": 1801
|
|
34445
34671
|
},
|
|
34446
34672
|
"vida": {
|
|
34447
|
-
"x":
|
|
34673
|
+
"x": 1201,
|
|
34448
34674
|
"y": 1801
|
|
34449
34675
|
},
|
|
34450
34676
|
"vtex": {
|
|
34451
|
-
"x":
|
|
34677
|
+
"x": 1701,
|
|
34452
34678
|
"y": 1801
|
|
34453
34679
|
},
|
|
34454
34680
|
"vultr": {
|
|
34455
|
-
"x":
|
|
34681
|
+
"x": 1751,
|
|
34456
34682
|
"y": 1801
|
|
34457
34683
|
},
|
|
34458
34684
|
"venafitlsprotectcloud": {
|
|
34459
|
-
"x":
|
|
34685
|
+
"x": 851,
|
|
34460
34686
|
"y": 1801
|
|
34461
34687
|
},
|
|
34462
34688
|
"venafitlsprotectdatacenter": {
|
|
34463
|
-
"x":
|
|
34689
|
+
"x": 901,
|
|
34464
34690
|
"y": 1801
|
|
34465
34691
|
},
|
|
34466
34692
|
"vectera": {
|
|
34467
|
-
"x":
|
|
34693
|
+
"x": 751,
|
|
34468
34694
|
"y": 1801
|
|
34469
34695
|
},
|
|
34470
34696
|
"vectorshift": {
|
|
34471
|
-
"x":
|
|
34697
|
+
"x": 801,
|
|
34472
34698
|
"y": 1801
|
|
34473
34699
|
},
|
|
34474
34700
|
"twilio": {
|
|
34475
|
-
"x":
|
|
34701
|
+
"x": 1101,
|
|
34476
34702
|
"y": 1751
|
|
34477
34703
|
},
|
|
34478
34704
|
"twenty_crm": {
|
|
34479
|
-
"x":
|
|
34705
|
+
"x": 1051,
|
|
34480
34706
|
"y": 1751
|
|
34481
34707
|
},
|
|
34482
34708
|
"truvera": {
|
|
34483
|
-
"x":
|
|
34709
|
+
"x": 751,
|
|
34484
34710
|
"y": 1751
|
|
34485
34711
|
},
|
|
34486
34712
|
"twitter": {
|
|
34487
|
-
"x":
|
|
34713
|
+
"x": 1151,
|
|
34488
34714
|
"y": 1751
|
|
34489
34715
|
},
|
|
34490
34716
|
"twitterapi_io": {
|
|
34491
|
-
"x":
|
|
34717
|
+
"x": 1201,
|
|
34492
34718
|
"y": 1751
|
|
34493
34719
|
},
|
|
34494
34720
|
"uniswap_api": {
|
|
34495
|
-
"x":
|
|
34721
|
+
"x": 1801,
|
|
34496
34722
|
"y": 1751
|
|
34497
34723
|
},
|
|
34498
34724
|
"typebot": {
|
|
34499
|
-
"x":
|
|
34725
|
+
"x": 1301,
|
|
34500
34726
|
"y": 1751
|
|
34501
34727
|
},
|
|
34502
34728
|
"typeform": {
|
|
34503
|
-
"x":
|
|
34729
|
+
"x": 1351,
|
|
34504
34730
|
"y": 1751
|
|
34505
34731
|
},
|
|
34506
34732
|
"survey_monkey": {
|
|
34507
|
-
"x":
|
|
34733
|
+
"x": 401,
|
|
34508
34734
|
"y": 1651
|
|
34509
34735
|
},
|
|
34510
34736
|
"typefully": {
|
|
34511
|
-
"x":
|
|
34737
|
+
"x": 1401,
|
|
34512
34738
|
"y": 1751
|
|
34513
34739
|
},
|
|
34514
34740
|
"trigger_dev": {
|
|
34515
|
-
"x":
|
|
34741
|
+
"x": 501,
|
|
34516
34742
|
"y": 1751
|
|
34517
34743
|
},
|
|
34518
34744
|
"triggercmd": {
|
|
34519
|
-
"x":
|
|
34745
|
+
"x": 551,
|
|
34520
34746
|
"y": 1751
|
|
34521
34747
|
},
|
|
34522
34748
|
"turso": {
|
|
34523
|
-
"x":
|
|
34749
|
+
"x": 851,
|
|
34524
34750
|
"y": 1751
|
|
34525
34751
|
},
|
|
34526
34752
|
"unsplash": {
|
|
34527
|
-
"x":
|
|
34753
|
+
"x": 1901,
|
|
34528
34754
|
"y": 1751
|
|
34529
34755
|
},
|
|
34530
34756
|
"uspto": {
|
|
34531
|
-
"x":
|
|
34757
|
+
"x": 351,
|
|
34532
34758
|
"y": 1801
|
|
34533
34759
|
},
|
|
34534
34760
|
"urlscan": {
|
|
34535
|
-
"x":
|
|
34761
|
+
"x": 201,
|
|
34536
34762
|
"y": 1801
|
|
34537
34763
|
},
|
|
34538
34764
|
"userflow": {
|
|
34539
|
-
"x":
|
|
34765
|
+
"x": 251,
|
|
34540
34766
|
"y": 1801
|
|
34541
34767
|
},
|
|
34542
34768
|
"userlist": {
|
|
34543
|
-
"x":
|
|
34769
|
+
"x": 301,
|
|
34544
34770
|
"y": 1801
|
|
34545
34771
|
},
|
|
34546
34772
|
"v2ex": {
|
|
34547
|
-
"x":
|
|
34773
|
+
"x": 451,
|
|
34548
34774
|
"y": 1801
|
|
34549
34775
|
},
|
|
34550
34776
|
"viggle": {
|
|
34551
|
-
"x":
|
|
34777
|
+
"x": 1251,
|
|
34552
34778
|
"y": 1801
|
|
34553
34779
|
},
|
|
34554
34780
|
"vimeo": {
|
|
34555
|
-
"x":
|
|
34781
|
+
"x": 1301,
|
|
34556
34782
|
"y": 1801
|
|
34557
34783
|
},
|
|
34558
34784
|
"vercel": {
|
|
34559
|
-
"x":
|
|
34785
|
+
"x": 951,
|
|
34560
34786
|
"y": 1801
|
|
34561
34787
|
},
|
|
34562
34788
|
"veremark": {
|
|
34563
|
-
"x":
|
|
34789
|
+
"x": 1001,
|
|
34564
34790
|
"y": 1801
|
|
34565
34791
|
},
|
|
34566
34792
|
"mumble": {
|
|
@@ -34568,31 +34794,31 @@ var spriteCatalog = {
|
|
|
34568
34794
|
"y": 1101
|
|
34569
34795
|
},
|
|
34570
34796
|
"veriphone": {
|
|
34571
|
-
"x":
|
|
34797
|
+
"x": 1101,
|
|
34572
34798
|
"y": 1801
|
|
34573
34799
|
},
|
|
34574
34800
|
"vincario": {
|
|
34575
|
-
"x":
|
|
34801
|
+
"x": 1351,
|
|
34576
34802
|
"y": 1801
|
|
34577
34803
|
},
|
|
34578
34804
|
"verifiedemail": {
|
|
34579
|
-
"x":
|
|
34805
|
+
"x": 1051,
|
|
34580
34806
|
"y": 1801
|
|
34581
34807
|
},
|
|
34582
34808
|
"vatlayer": {
|
|
34583
|
-
"x":
|
|
34809
|
+
"x": 651,
|
|
34584
34810
|
"y": 1801
|
|
34585
34811
|
},
|
|
34586
34812
|
"vestaboard": {
|
|
34587
|
-
"x":
|
|
34813
|
+
"x": 1151,
|
|
34588
34814
|
"y": 1801
|
|
34589
34815
|
},
|
|
34590
34816
|
"v0": {
|
|
34591
|
-
"x":
|
|
34817
|
+
"x": 401,
|
|
34592
34818
|
"y": 1801
|
|
34593
34819
|
},
|
|
34594
34820
|
"virustotal": {
|
|
34595
|
-
"x":
|
|
34821
|
+
"x": 1451,
|
|
34596
34822
|
"y": 1801
|
|
34597
34823
|
},
|
|
34598
34824
|
"kling": {
|
|
@@ -34612,7 +34838,7 @@ var spriteCatalog = {
|
|
|
34612
34838
|
"y": 451
|
|
34613
34839
|
},
|
|
34614
34840
|
"wanx": {
|
|
34615
|
-
"x":
|
|
34841
|
+
"x": 301,
|
|
34616
34842
|
"y": 1851
|
|
34617
34843
|
},
|
|
34618
34844
|
"qwen": {
|
|
@@ -34620,75 +34846,75 @@ var spriteCatalog = {
|
|
|
34620
34846
|
"y": 1351
|
|
34621
34847
|
},
|
|
34622
34848
|
"voiceflow": {
|
|
34623
|
-
"x":
|
|
34849
|
+
"x": 1551,
|
|
34624
34850
|
"y": 1801
|
|
34625
34851
|
},
|
|
34626
34852
|
"waboxapp": {
|
|
34627
|
-
"x":
|
|
34853
|
+
"x": 1801,
|
|
34628
34854
|
"y": 1801
|
|
34629
34855
|
},
|
|
34630
34856
|
"wachete": {
|
|
34631
|
-
"x":
|
|
34857
|
+
"x": 1851,
|
|
34632
34858
|
"y": 1801
|
|
34633
34859
|
},
|
|
34634
34860
|
"wufoo": {
|
|
34635
|
-
"x":
|
|
34861
|
+
"x": 901,
|
|
34636
34862
|
"y": 1901
|
|
34637
34863
|
},
|
|
34638
34864
|
"waffo": {
|
|
34639
|
-
"x":
|
|
34865
|
+
"x": 1901,
|
|
34640
34866
|
"y": 1801
|
|
34641
34867
|
},
|
|
34642
34868
|
"walmart_marketplace": {
|
|
34643
|
-
"x":
|
|
34869
|
+
"x": 151,
|
|
34644
34870
|
"y": 1851
|
|
34645
34871
|
},
|
|
34646
34872
|
"waiverforever": {
|
|
34647
|
-
"x":
|
|
34873
|
+
"x": 1,
|
|
34648
34874
|
"y": 1851
|
|
34649
34875
|
},
|
|
34650
34876
|
"wakatime": {
|
|
34651
|
-
"x":
|
|
34877
|
+
"x": 51,
|
|
34652
34878
|
"y": 1851
|
|
34653
34879
|
},
|
|
34654
34880
|
"wangdian": {
|
|
34655
|
-
"x":
|
|
34881
|
+
"x": 251,
|
|
34656
34882
|
"y": 1851
|
|
34657
34883
|
},
|
|
34658
34884
|
"waterfall": {
|
|
34659
|
-
"x":
|
|
34885
|
+
"x": 401,
|
|
34660
34886
|
"y": 1851
|
|
34661
34887
|
},
|
|
34662
34888
|
"wappalyzer": {
|
|
34663
|
-
"x":
|
|
34889
|
+
"x": 351,
|
|
34664
34890
|
"y": 1851
|
|
34665
34891
|
},
|
|
34666
34892
|
"walletap": {
|
|
34667
|
-
"x":
|
|
34893
|
+
"x": 101,
|
|
34668
34894
|
"y": 1851
|
|
34669
34895
|
},
|
|
34670
34896
|
"webinarjam": {
|
|
34671
|
-
"x":
|
|
34897
|
+
"x": 851,
|
|
34672
34898
|
"y": 1851
|
|
34673
34899
|
},
|
|
34674
34900
|
"web_of_science": {
|
|
34675
|
-
"x":
|
|
34901
|
+
"x": 651,
|
|
34676
34902
|
"y": 1851
|
|
34677
34903
|
},
|
|
34678
34904
|
"web_of_science_expanded": {
|
|
34679
|
-
"x":
|
|
34905
|
+
"x": 701,
|
|
34680
34906
|
"y": 1851
|
|
34681
34907
|
},
|
|
34682
34908
|
"wejam_ai": {
|
|
34683
|
-
"x":
|
|
34909
|
+
"x": 1351,
|
|
34684
34910
|
"y": 1851
|
|
34685
34911
|
},
|
|
34686
34912
|
"weatherapi": {
|
|
34687
|
-
"x":
|
|
34913
|
+
"x": 501,
|
|
34688
34914
|
"y": 1851
|
|
34689
34915
|
},
|
|
34690
34916
|
"weatherbit": {
|
|
34691
|
-
"x":
|
|
34917
|
+
"x": 551,
|
|
34692
34918
|
"y": 1851
|
|
34693
34919
|
},
|
|
34694
34920
|
"iqair_airvisual": {
|
|
@@ -34696,47 +34922,47 @@ var spriteCatalog = {
|
|
|
34696
34922
|
"y": 851
|
|
34697
34923
|
},
|
|
34698
34924
|
"wttr_in": {
|
|
34699
|
-
"x":
|
|
34925
|
+
"x": 851,
|
|
34700
34926
|
"y": 1901
|
|
34701
34927
|
},
|
|
34702
34928
|
"weaviate": {
|
|
34703
|
-
"x":
|
|
34929
|
+
"x": 601,
|
|
34704
34930
|
"y": 1851
|
|
34705
34931
|
},
|
|
34706
34932
|
"webvizio": {
|
|
34707
|
-
"x":
|
|
34933
|
+
"x": 1051,
|
|
34708
34934
|
"y": 1851
|
|
34709
34935
|
},
|
|
34710
34936
|
"webshare": {
|
|
34711
|
-
"x":
|
|
34937
|
+
"x": 1001,
|
|
34712
34938
|
"y": 1851
|
|
34713
34939
|
},
|
|
34714
34940
|
"webscraping_ai": {
|
|
34715
|
-
"x":
|
|
34941
|
+
"x": 951,
|
|
34716
34942
|
"y": 1851
|
|
34717
34943
|
},
|
|
34718
34944
|
"webflow": {
|
|
34719
|
-
"x":
|
|
34945
|
+
"x": 801,
|
|
34720
34946
|
"y": 1851
|
|
34721
34947
|
},
|
|
34722
34948
|
"woodpecker_co": {
|
|
34723
|
-
"x":
|
|
34949
|
+
"x": 101,
|
|
34724
34950
|
"y": 1901
|
|
34725
34951
|
},
|
|
34726
34952
|
"webscraper_io": {
|
|
34727
|
-
"x":
|
|
34953
|
+
"x": 901,
|
|
34728
34954
|
"y": 1851
|
|
34729
34955
|
},
|
|
34730
34956
|
"what3words": {
|
|
34731
|
-
"x":
|
|
34957
|
+
"x": 1401,
|
|
34732
34958
|
"y": 1851
|
|
34733
34959
|
},
|
|
34734
34960
|
"woocommerce": {
|
|
34735
|
-
"x":
|
|
34961
|
+
"x": 51,
|
|
34736
34962
|
"y": 1901
|
|
34737
34963
|
},
|
|
34738
34964
|
"woot": {
|
|
34739
|
-
"x":
|
|
34965
|
+
"x": 151,
|
|
34740
34966
|
"y": 1901
|
|
34741
34967
|
},
|
|
34742
34968
|
"baizhi_mcp": {
|
|
@@ -34752,7 +34978,7 @@ var spriteCatalog = {
|
|
|
34752
34978
|
"y": 601
|
|
34753
34979
|
},
|
|
34754
34980
|
"zerotier": {
|
|
34755
|
-
"x":
|
|
34981
|
+
"x": 251,
|
|
34756
34982
|
"y": 1951
|
|
34757
34983
|
},
|
|
34758
34984
|
"linear_mcp": {
|
|
@@ -34768,95 +34994,95 @@ var spriteCatalog = {
|
|
|
34768
34994
|
"y": 1101
|
|
34769
34995
|
},
|
|
34770
34996
|
"wisburg": {
|
|
34771
|
-
"x":
|
|
34997
|
+
"x": 1851,
|
|
34772
34998
|
"y": 1851
|
|
34773
34999
|
},
|
|
34774
35000
|
"wise": {
|
|
34775
|
-
"x":
|
|
35001
|
+
"x": 1901,
|
|
34776
35002
|
"y": 1851
|
|
34777
35003
|
},
|
|
34778
35004
|
"wrike": {
|
|
34779
|
-
"x":
|
|
35005
|
+
"x": 751,
|
|
34780
35006
|
"y": 1901
|
|
34781
35007
|
},
|
|
34782
35008
|
"workiom": {
|
|
34783
|
-
"x":
|
|
35009
|
+
"x": 351,
|
|
34784
35010
|
"y": 1901
|
|
34785
35011
|
},
|
|
34786
35012
|
"worksnaps": {
|
|
34787
|
-
"x":
|
|
35013
|
+
"x": 551,
|
|
34788
35014
|
"y": 1901
|
|
34789
35015
|
},
|
|
34790
35016
|
"workable": {
|
|
34791
|
-
"x":
|
|
35017
|
+
"x": 251,
|
|
34792
35018
|
"y": 1901
|
|
34793
35019
|
},
|
|
34794
35020
|
"workast": {
|
|
34795
|
-
"x":
|
|
35021
|
+
"x": 301,
|
|
34796
35022
|
"y": 1901
|
|
34797
35023
|
},
|
|
34798
35024
|
"workos": {
|
|
34799
|
-
"x":
|
|
35025
|
+
"x": 451,
|
|
34800
35026
|
"y": 1901
|
|
34801
35027
|
},
|
|
34802
35028
|
"wecom_bot": {
|
|
34803
|
-
"x":
|
|
35029
|
+
"x": 1101,
|
|
34804
35030
|
"y": 1851
|
|
34805
35031
|
},
|
|
34806
35032
|
"weixin_bot": {
|
|
34807
|
-
"x":
|
|
35033
|
+
"x": 1201,
|
|
34808
35034
|
"y": 1851
|
|
34809
35035
|
},
|
|
34810
35036
|
"weixin_official_account": {
|
|
34811
|
-
"x":
|
|
35037
|
+
"x": 1251,
|
|
34812
35038
|
"y": 1851
|
|
34813
35039
|
},
|
|
34814
35040
|
"weixin_store": {
|
|
34815
|
-
"x":
|
|
35041
|
+
"x": 1301,
|
|
34816
35042
|
"y": 1851
|
|
34817
35043
|
},
|
|
34818
35044
|
"wecom_mcp": {
|
|
34819
|
-
"x":
|
|
35045
|
+
"x": 1151,
|
|
34820
35046
|
"y": 1851
|
|
34821
35047
|
},
|
|
34822
35048
|
"whatsapp": {
|
|
34823
|
-
"x":
|
|
35049
|
+
"x": 1501,
|
|
34824
35050
|
"y": 1851
|
|
34825
35051
|
},
|
|
34826
35052
|
"whatsable": {
|
|
34827
|
-
"x":
|
|
35053
|
+
"x": 1451,
|
|
34828
35054
|
"y": 1851
|
|
34829
35055
|
},
|
|
34830
35056
|
"whop": {
|
|
34831
|
-
"x":
|
|
35057
|
+
"x": 1651,
|
|
34832
35058
|
"y": 1851
|
|
34833
35059
|
},
|
|
34834
35060
|
"who_gho": {
|
|
34835
|
-
"x":
|
|
35061
|
+
"x": 1551,
|
|
34836
35062
|
"y": 1851
|
|
34837
35063
|
},
|
|
34838
35064
|
"whoisfreaks": {
|
|
34839
|
-
"x":
|
|
35065
|
+
"x": 1601,
|
|
34840
35066
|
"y": 1851
|
|
34841
35067
|
},
|
|
34842
35068
|
"wolfram_alpha_api": {
|
|
34843
|
-
"x":
|
|
35069
|
+
"x": 1,
|
|
34844
35070
|
"y": 1901
|
|
34845
35071
|
},
|
|
34846
35072
|
"world_news_api": {
|
|
34847
|
-
"x":
|
|
35073
|
+
"x": 601,
|
|
34848
35074
|
"y": 1901
|
|
34849
35075
|
},
|
|
34850
35076
|
"writer": {
|
|
34851
|
-
"x":
|
|
35077
|
+
"x": 801,
|
|
34852
35078
|
"y": 1901
|
|
34853
35079
|
},
|
|
34854
35080
|
"winston_ai": {
|
|
34855
|
-
"x":
|
|
35081
|
+
"x": 1751,
|
|
34856
35082
|
"y": 1851
|
|
34857
35083
|
},
|
|
34858
35084
|
"wire2air": {
|
|
34859
|
-
"x":
|
|
35085
|
+
"x": 1801,
|
|
34860
35086
|
"y": 1851
|
|
34861
35087
|
},
|
|
34862
35088
|
"optimoroute": {
|
|
@@ -34868,31 +35094,31 @@ var spriteCatalog = {
|
|
|
34868
35094
|
"y": 1451
|
|
34869
35095
|
},
|
|
34870
35096
|
"wiza": {
|
|
34871
|
-
"x":
|
|
34872
|
-
"y":
|
|
35097
|
+
"x": 2001,
|
|
35098
|
+
"y": 1851
|
|
34873
35099
|
},
|
|
34874
35100
|
"wit_ai": {
|
|
34875
|
-
"x":
|
|
35101
|
+
"x": 1951,
|
|
34876
35102
|
"y": 1851
|
|
34877
35103
|
},
|
|
34878
35104
|
"zep": {
|
|
34879
|
-
"x":
|
|
35105
|
+
"x": 101,
|
|
34880
35106
|
"y": 1951
|
|
34881
35107
|
},
|
|
34882
35108
|
"z_api": {
|
|
34883
|
-
"x":
|
|
35109
|
+
"x": 1751,
|
|
34884
35110
|
"y": 1901
|
|
34885
35111
|
},
|
|
34886
35112
|
"zerobounce": {
|
|
34887
|
-
"x":
|
|
35113
|
+
"x": 201,
|
|
34888
35114
|
"y": 1951
|
|
34889
35115
|
},
|
|
34890
35116
|
"yelp": {
|
|
34891
|
-
"x":
|
|
35117
|
+
"x": 1301,
|
|
34892
35118
|
"y": 1901
|
|
34893
35119
|
},
|
|
34894
35120
|
"wind": {
|
|
34895
|
-
"x":
|
|
35121
|
+
"x": 1701,
|
|
34896
35122
|
"y": 1851
|
|
34897
35123
|
},
|
|
34898
35124
|
"investoday_mcp": {
|
|
@@ -34900,71 +35126,71 @@ var spriteCatalog = {
|
|
|
34900
35126
|
"y": 801
|
|
34901
35127
|
},
|
|
34902
35128
|
"yingmi_mcp": {
|
|
34903
|
-
"x":
|
|
35129
|
+
"x": 1351,
|
|
34904
35130
|
"y": 1901
|
|
34905
35131
|
},
|
|
34906
35132
|
"wps_mcp": {
|
|
34907
|
-
"x":
|
|
35133
|
+
"x": 701,
|
|
34908
35134
|
"y": 1901
|
|
34909
35135
|
},
|
|
34910
35136
|
"youzan": {
|
|
34911
|
-
"x":
|
|
35137
|
+
"x": 1601,
|
|
34912
35138
|
"y": 1901
|
|
34913
35139
|
},
|
|
34914
35140
|
"zendesk": {
|
|
34915
|
-
"x":
|
|
35141
|
+
"x": 1851,
|
|
34916
35142
|
"y": 1901
|
|
34917
35143
|
},
|
|
34918
35144
|
"zenkit": {
|
|
34919
|
-
"x":
|
|
35145
|
+
"x": 1901,
|
|
34920
35146
|
"y": 1901
|
|
34921
35147
|
},
|
|
34922
35148
|
"zammad": {
|
|
34923
|
-
"x":
|
|
35149
|
+
"x": 1801,
|
|
34924
35150
|
"y": 1901
|
|
34925
35151
|
},
|
|
34926
35152
|
"zenventory": {
|
|
34927
|
-
"x":
|
|
35153
|
+
"x": 51,
|
|
34928
35154
|
"y": 1951
|
|
34929
35155
|
},
|
|
34930
35156
|
"zenrows": {
|
|
34931
|
-
"x":
|
|
35157
|
+
"x": 1951,
|
|
34932
35158
|
"y": 1901
|
|
34933
35159
|
},
|
|
34934
35160
|
"zenserp": {
|
|
34935
|
-
"x":
|
|
35161
|
+
"x": 1,
|
|
34936
35162
|
"y": 1951
|
|
34937
35163
|
},
|
|
34938
35164
|
"zeplin": {
|
|
34939
|
-
"x":
|
|
35165
|
+
"x": 151,
|
|
34940
35166
|
"y": 1951
|
|
34941
35167
|
},
|
|
34942
35168
|
"zigpoll": {
|
|
34943
|
-
"x":
|
|
35169
|
+
"x": 351,
|
|
34944
35170
|
"y": 1951
|
|
34945
35171
|
},
|
|
34946
35172
|
"zip_archive_api": {
|
|
34947
|
-
"x":
|
|
35173
|
+
"x": 401,
|
|
34948
35174
|
"y": 1951
|
|
34949
35175
|
},
|
|
34950
35176
|
"zlibrary": {
|
|
34951
|
-
"x":
|
|
35177
|
+
"x": 551,
|
|
34952
35178
|
"y": 1951
|
|
34953
35179
|
},
|
|
34954
35180
|
"zylvie": {
|
|
34955
|
-
"x":
|
|
35181
|
+
"x": 801,
|
|
34956
35182
|
"y": 1951
|
|
34957
35183
|
},
|
|
34958
35184
|
"zyte_api": {
|
|
34959
|
-
"x":
|
|
35185
|
+
"x": 851,
|
|
34960
35186
|
"y": 1951
|
|
34961
35187
|
},
|
|
34962
35188
|
"zorus": {
|
|
34963
|
-
"x":
|
|
35189
|
+
"x": 651,
|
|
34964
35190
|
"y": 1951
|
|
34965
35191
|
},
|
|
34966
35192
|
"zixflow": {
|
|
34967
|
-
"x":
|
|
35193
|
+
"x": 501,
|
|
34968
35194
|
"y": 1951
|
|
34969
35195
|
},
|
|
34970
35196
|
"evervault": {
|
|
@@ -34976,19 +35202,19 @@ var spriteCatalog = {
|
|
|
34976
35202
|
"y": 551
|
|
34977
35203
|
},
|
|
34978
35204
|
"zoom": {
|
|
34979
|
-
"x":
|
|
35205
|
+
"x": 601,
|
|
34980
35206
|
"y": 1951
|
|
34981
35207
|
},
|
|
34982
35208
|
"webex": {
|
|
34983
|
-
"x":
|
|
35209
|
+
"x": 751,
|
|
34984
35210
|
"y": 1851
|
|
34985
35211
|
},
|
|
34986
35212
|
"zotero": {
|
|
34987
|
-
"x":
|
|
35213
|
+
"x": 701,
|
|
34988
35214
|
"y": 1951
|
|
34989
35215
|
},
|
|
34990
35216
|
"speedtest_tracker": {
|
|
34991
|
-
"x":
|
|
35217
|
+
"x": 351,
|
|
34992
35218
|
"y": 1601
|
|
34993
35219
|
},
|
|
34994
35220
|
"bloomerang": {
|
|
@@ -35014,6 +35240,8 @@ var _virtual_oomol_provider_icons_default = {
|
|
|
35014
35240
|
"7_shifts": "https://static.oomol.com/logo/third-party/7_shifts.png",
|
|
35015
35241
|
"ably": "https://static.oomol.com/logo/third-party/ably.svg",
|
|
35016
35242
|
"aisa": "https://static.oomol.com/logo/third-party/aisa.svg",
|
|
35243
|
+
"opper": "https://static.oomol.com/logo/third-party/opper.svg",
|
|
35244
|
+
"scanmalware": "https://static.oomol.com/logo/third-party/scanmalware.svg",
|
|
35017
35245
|
"osv": "https://static.oomol.com/logo/third-party/osv.svg",
|
|
35018
35246
|
"ably_control": "https://static.oomol.com/logo/third-party/ably_control.svg",
|
|
35019
35247
|
"abyssale": "https://static.oomol.com/logo/third-party/abyssale.svg",
|
|
@@ -35260,7 +35488,6 @@ var _virtual_oomol_provider_icons_default = {
|
|
|
35260
35488
|
"skyvern": "https://static.oomol.com/logo/third-party/skyvern.png",
|
|
35261
35489
|
"shopify": "https://static.oomol.com/logo/third-party/shopify.svg",
|
|
35262
35490
|
"shopee": "https://static.oomol.com/logo/third-party/shopee.svg",
|
|
35263
|
-
"shopify_admin": "https://static.oomol.com/logo/third-party/shopify_admin.svg",
|
|
35264
35491
|
"shopify_partner": "https://static.oomol.com/logo/third-party/shopify_partner.svg",
|
|
35265
35492
|
"shopify_storefront": "https://static.oomol.com/logo/third-party/shopify_storefront.svg",
|
|
35266
35493
|
"shippo": "https://static.oomol.com/logo/third-party/shippo.png",
|
|
@@ -37725,6 +37952,119 @@ function designerGraph(draft, presentation = {}, diagnostics = [], connectorActi
|
|
|
37725
37952
|
};
|
|
37726
37953
|
}
|
|
37727
37954
|
//#endregion
|
|
37955
|
+
//#region src/connector/common/actionSchema.ts
|
|
37956
|
+
function connectorActionPorts(inputSchema, outputSchema) {
|
|
37957
|
+
const inputs = inputPorts(inputSchema);
|
|
37958
|
+
return {
|
|
37959
|
+
inputs,
|
|
37960
|
+
initialInputs: inputs.flatMap((input) => input.value === void 0 ? [] : [{
|
|
37961
|
+
handle: input.handle,
|
|
37962
|
+
value: input.value
|
|
37963
|
+
}]),
|
|
37964
|
+
outputs: outputPorts(outputSchema)
|
|
37965
|
+
};
|
|
37966
|
+
}
|
|
37967
|
+
function inputPorts(schema) {
|
|
37968
|
+
const root = toPlainObject(schema);
|
|
37969
|
+
if (root == null || root.type != "object" && root.properties == null) throw new Error("Connector action inputSchema must be an object schema.");
|
|
37970
|
+
const properties = toPlainObject(root.properties);
|
|
37971
|
+
if (properties == null) return [];
|
|
37972
|
+
const required = stringSet(root.required);
|
|
37973
|
+
return Object.entries(properties).map(([handle, propertySchema]) => {
|
|
37974
|
+
const nullable = !required.has(handle) || schemaAllowsNull(propertySchema, root);
|
|
37975
|
+
return {
|
|
37976
|
+
description: schemaDescription(root, propertySchema),
|
|
37977
|
+
handle,
|
|
37978
|
+
json_schema: propertySchemaWithDefinitions(root, propertySchema),
|
|
37979
|
+
nullable,
|
|
37980
|
+
value: schemaDefault(root, propertySchema, nullable)
|
|
37981
|
+
};
|
|
37982
|
+
});
|
|
37983
|
+
}
|
|
37984
|
+
function connectorOutputMode(schema) {
|
|
37985
|
+
const root = toPlainObject(schema);
|
|
37986
|
+
const properties = toPlainObject(root?.properties);
|
|
37987
|
+
return properties != null && Object.keys(properties).length > 0 || root?.type == "object" && root.additionalProperties === false ? "fields" : "value";
|
|
37988
|
+
}
|
|
37989
|
+
function outputPorts(schema) {
|
|
37990
|
+
const root = toPlainObject(schema);
|
|
37991
|
+
if (connectorOutputMode(schema) == "value") return [{
|
|
37992
|
+
description: schemaDescription(root, schema),
|
|
37993
|
+
handle: "output",
|
|
37994
|
+
json_schema: schema,
|
|
37995
|
+
nullable: schemaAllowsNull(schema)
|
|
37996
|
+
}];
|
|
37997
|
+
const properties = toPlainObject(root?.properties) ?? {};
|
|
37998
|
+
const required = stringSet(root?.required);
|
|
37999
|
+
return Object.entries(properties).map(([handle, propertySchema]) => ({
|
|
38000
|
+
description: schemaDescription(root, propertySchema),
|
|
38001
|
+
handle,
|
|
38002
|
+
json_schema: propertySchemaWithDefinitions(root, propertySchema),
|
|
38003
|
+
nullable: !required.has(handle) || schemaAllowsNull(propertySchema, root)
|
|
38004
|
+
}));
|
|
38005
|
+
}
|
|
38006
|
+
function propertySchemaWithDefinitions(root, schema) {
|
|
38007
|
+
const property = toPlainObject(schema);
|
|
38008
|
+
if (property == null) return schema;
|
|
38009
|
+
const result = Object.assign({}, property);
|
|
38010
|
+
if (result.$defs == null && root.$defs != null) result.$defs = root.$defs;
|
|
38011
|
+
if (result.definitions == null && root.definitions != null) result.definitions = root.definitions;
|
|
38012
|
+
return result;
|
|
38013
|
+
}
|
|
38014
|
+
function schemaDescription(root, schema) {
|
|
38015
|
+
for (const object of referencedSchemas(root, schema)) if (typeof object.description == "string") return object.description;
|
|
38016
|
+
}
|
|
38017
|
+
function schemaDefault(root, schema, nullable) {
|
|
38018
|
+
for (const object of referencedSchemas(root, schema)) if (Object.hasOwn(object, "default")) return object.default;
|
|
38019
|
+
return nullable ? null : void 0;
|
|
38020
|
+
}
|
|
38021
|
+
function stringSet(value) {
|
|
38022
|
+
if (!Array.isArray(value)) return /* @__PURE__ */ new Set();
|
|
38023
|
+
return new Set(value.filter((item) => typeof item == "string"));
|
|
38024
|
+
}
|
|
38025
|
+
function schemaAllowsNull(schema, root = schema, references = /* @__PURE__ */ new Set()) {
|
|
38026
|
+
const object = toPlainObject(schema);
|
|
38027
|
+
if (object == null) return false;
|
|
38028
|
+
if (Object.hasOwn(object, "type")) return object.type == "null" || Array.isArray(object.type) && object.type.includes("null");
|
|
38029
|
+
if (Object.hasOwn(object, "enum")) return Array.isArray(object.enum) && object.enum.includes(null);
|
|
38030
|
+
for (const key of ["anyOf", "oneOf"]) if (Object.hasOwn(object, key)) return Array.isArray(object[key]) && object[key].some((item) => schemaAllowsNull(item, root, references));
|
|
38031
|
+
const reference = typeof object.$ref == "string" ? object.$ref : void 0;
|
|
38032
|
+
if (reference == null || references.has(reference)) return false;
|
|
38033
|
+
const target = resolveLocalReference(root, reference);
|
|
38034
|
+
if (target === void 0) return false;
|
|
38035
|
+
const nextReferences = new Set(references);
|
|
38036
|
+
nextReferences.add(reference);
|
|
38037
|
+
return schemaAllowsNull(target, root, nextReferences);
|
|
38038
|
+
}
|
|
38039
|
+
function referencedSchemas(root, schema) {
|
|
38040
|
+
const result = [];
|
|
38041
|
+
const references = /* @__PURE__ */ new Set();
|
|
38042
|
+
let current = schema;
|
|
38043
|
+
while (true) {
|
|
38044
|
+
const object = toPlainObject(current);
|
|
38045
|
+
if (object == null) return result;
|
|
38046
|
+
result.push(object);
|
|
38047
|
+
const reference = typeof object.$ref == "string" ? object.$ref : void 0;
|
|
38048
|
+
if (reference == null || references.has(reference)) return result;
|
|
38049
|
+
const target = resolveLocalReference(root, reference);
|
|
38050
|
+
if (target === void 0) return result;
|
|
38051
|
+
references.add(reference);
|
|
38052
|
+
current = target;
|
|
38053
|
+
}
|
|
38054
|
+
}
|
|
38055
|
+
function resolveLocalReference(root, reference) {
|
|
38056
|
+
if (reference == "#") return root;
|
|
38057
|
+
if (!reference.startsWith("#/")) return void 0;
|
|
38058
|
+
let current = root;
|
|
38059
|
+
for (const encodedToken of reference.slice(2).split("/")) {
|
|
38060
|
+
const object = toPlainObject(current);
|
|
38061
|
+
const token = encodedToken.replaceAll("~1", "/").replaceAll("~0", "~");
|
|
38062
|
+
if (object == null || !Object.hasOwn(object, token)) return void 0;
|
|
38063
|
+
current = object[token];
|
|
38064
|
+
}
|
|
38065
|
+
return current;
|
|
38066
|
+
}
|
|
38067
|
+
//#endregion
|
|
37728
38068
|
//#region src/workbench/browser/runtime/stores/resource.ts
|
|
37729
38069
|
var dataSources = /* @__PURE__ */ new WeakMap();
|
|
37730
38070
|
/** Keep data-only consumers independent from refresh and error notifications. */
|
|
@@ -38817,6 +39157,7 @@ function connectorTask(action) {
|
|
|
38817
39157
|
return {
|
|
38818
39158
|
executor: {
|
|
38819
39159
|
action: action.actionId,
|
|
39160
|
+
...action.outputSchema !== void 0 && connectorOutputMode(action.outputSchema) == "value" ? { outputMode: "value" } : {},
|
|
38820
39161
|
...action.defaultConnection == null ? {} : { connectionId: action.defaultConnection.connectionId },
|
|
38821
39162
|
kind: "connector"
|
|
38822
39163
|
},
|
|
@@ -39352,4 +39693,4 @@ function replaceTaskPorts(revision, nodeId, task, values) {
|
|
|
39352
39693
|
return changes;
|
|
39353
39694
|
}
|
|
39354
39695
|
//#endregion
|
|
39355
|
-
export {
|
|
39696
|
+
export { useIconifyData as $, connection as $n, DropdownMenu as $t, datePickerValue as A, uiLocales as An, WorkflowExportMenuItem as At, CacheResource as B, FeishuEventPicker as Bn, NativeScrollArea as Bt, valueForEditor as C, MenuRootContext as Cn, Checkbox as Cr, resetInputValues as Ct, calendarChange as D, SourceForm as Dn, setTriggerConnection as Dt, typeOfSchema as E, EventSourcesPage as En, setInputSources as Et, feishuResourceKind as F, ko_default$3 as Fn, PopoverDescription as Ft, designerGraph as G, allConnectorConnectionsQuery as Gn, InputGroupAddon as Gt, resourceData as H, errorNotice as Hn, VirtualScrollArea as Ht, supportsFeishuChatFilter as I, ja_default$3 as In, PopoverHeader as It, actionSummary as J, resolutionOutputPorts as Jn, EmptyContent as Jt, semanticNodeIcon as K, decodeResultList as Kn, InputGroupInput as Kt, combineSources as L, fr_default$3 as Ln, PopoverPanelContent as Lt, addNodeIntent as M, zh_TW_default$3 as Mn, followWorkbenchLink as Mt, deriveAddNodeOptions as N, zh_CN_default$3 as Nn, Popover as Nt, calendarDate as O, SourceSelect as On, updateTriggerConfig as Ot, indexAddNodeOptions as P, ru_default$3 as Pn, PopoverContent as Pt, useIconifyCollectionLoader as Q, isJsonObject as Qn, EmptyTitle as Qt, mapSource as R, en_default$3 as Rn, PopoverTitle as Rt, schemaForEditor as S, useContextMenuRootContext as Sn, controlErrorCode as Sr, repairNodeNames as St, isUnconstrainedSchema as T, Badge as Tn, IconThemeContext as Tr, setConnectorConnection as Tt, resourceValue as U, WorkbenchClient as Un, Z as Ut, observeResource as V, EventSourceSetup as Vn, ScrollArea as Vt, connectorActionPorts as W, randomId as Wn, InputGroup as Wt, ContentIcon as X, sampleErrorOutputs as Xn, EmptyHeader as Xt, providerIcon as Y, sourceOutputLabel as Yn, EmptyDescription as Yt, IconifyProvider as Z, triggerOutputDefinitions as Zn, EmptyMedia as Zt, updateValue as _, MenuPortal as _n, invalidResponse as _r, restoreCanvasPresentation as _t, nameCreatedNodes as a, DropdownMenuRadioGroup as an, triggerConfigValue as ar, Latest as at, editorComponent as b, MenuGroup as bn, string as br, setNodeContentHidden as bt, updateCondition as c, DropdownMenuSub as cn, listOperations as cr, diagnosticMessage as ct, updateNodeName as d, DropdownMenuTrigger as dn, openApiTask as dr, actionWithConnections as dt, DropdownMenuCheckboxItem as en, connectorActionMetadata as er, RunStore as et, updateNodeSettings as f, isElementDisabled as fn, securityOptions as fr, connectionCatalog as ft, updateTaskPorts as g, MenuPositioner as gn, inputValue as gr, removeComments as gt, updateTaskAdditionalInputs as h, MenuRoot as hn, servers as hr, flowPresentation as ht, deleteSelection as i, DropdownMenuLabel as in, workflowNameFromFile as ir, flowResourceReferences as it, isDateFormat as j, waitBranchDescription as jn, IdTooltip as jt, datePickerChange as k, createI18n as kn, updateTriggerSchedule as kt, updateNodeDescription as l, DropdownMenuSubContent as ln, object as lr, diagnosticNodeId as lt, updateTask as m, useCompositeItem as mn, serverAddress as mr, commentIds as mt, agentTool as n, DropdownMenuGroup as nn, parseWorkflowFile as nr, hasRunFilter as nt, setInputValue as o, DropdownMenuRadioItem as on, triggerConfigValues as or, deriveInspectorDiagnostics as ot, updateResolution as p, findRootOwnerId as pn, selectOperation as pr, canvasPresentationChange as pt, triggerNodeIcon as q, decodeTriggerCatalog as qn, Empty as qt, applyFlowChanges as r, DropdownMenuItem as rn, workflowFileName as rr, revisionView as rt, setInputVariable as s, DropdownMenuSeparator as sn, providerIconAppearance as sr, diagnosticItems as st, addNode as t, DropdownMenuContent as tn, encodeWorkflowFile as tr, canCancelRun as tt, updateNodeIcon as u, DropdownMenuSubTrigger as un, openApiFieldIssues as ur, schemaMismatchMessage as ut, updateWebhook as v, MenuPopup as vn, jsonValue as vr, setComment as vt, getDefaultValue as w, useMenuRootContext as wn, useAriaLabelledBy as wr, setCodeActions as wt, editorGroups as x, ContextMenuRootContext as xn, ApiError as xr, setNodePositions as xt, defaultValueEditorSchema as y, MenuItem as yn, record$1 as yr, setFlowViewport as yt, scopedValue as z, I18n as zn, PopoverTrigger as zt };
|