@zonko-ai/harbor 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/api.d.ts +53 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +842 -0
- package/dist/api.js.map +1 -0
- package/dist/capabilities.d.ts +5 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +308 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -0
- package/dist/dev.d.ts +14 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +203 -0
- package/dist/dev.js.map +1 -0
- package/dist/foreground.d.ts +13 -0
- package/dist/foreground.d.ts.map +1 -0
- package/dist/foreground.js +54 -0
- package/dist/foreground.js.map +1 -0
- package/dist/import-openapi.d.ts +12 -0
- package/dist/import-openapi.d.ts.map +1 -0
- package/dist/import-openapi.js +488 -0
- package/dist/import-openapi.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +941 -0
- package/dist/index.js.map +1 -0
- package/dist/local-config.d.ts +12 -0
- package/dist/local-config.d.ts.map +1 -0
- package/dist/local-config.js +93 -0
- package/dist/local-config.js.map +1 -0
- package/dist/local-daemon-entry.d.ts +2 -0
- package/dist/local-daemon-entry.d.ts.map +1 -0
- package/dist/local-daemon-entry.js +545 -0
- package/dist/local-daemon-entry.js.map +1 -0
- package/dist/local-daemon.d.ts +58 -0
- package/dist/local-daemon.d.ts.map +1 -0
- package/dist/local-daemon.js +385 -0
- package/dist/local-daemon.js.map +1 -0
- package/dist/mcp/api-client.d.ts +72 -0
- package/dist/mcp/api-client.d.ts.map +1 -0
- package/dist/mcp/api-client.js +210 -0
- package/dist/mcp/api-client.js.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +18 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/schema.d.ts +3 -0
- package/dist/mcp/schema.d.ts.map +1 -0
- package/dist/mcp/schema.js +95 -0
- package/dist/mcp/schema.js.map +1 -0
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +57 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +12 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +54 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/output-download.d.ts +8 -0
- package/dist/output-download.d.ts.map +1 -0
- package/dist/output-download.js +210 -0
- package/dist/output-download.js.map +1 -0
- package/dist/output.d.ts +124 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +752 -0
- package/dist/output.js.map +1 -0
- package/dist/passthrough.d.ts +15 -0
- package/dist/passthrough.d.ts.map +1 -0
- package/dist/passthrough.js +68 -0
- package/dist/passthrough.js.map +1 -0
- package/dist/runtime-attribution.d.ts +5 -0
- package/dist/runtime-attribution.d.ts.map +1 -0
- package/dist/runtime-attribution.js +86 -0
- package/dist/runtime-attribution.js.map +1 -0
- package/dist/state.d.ts +56 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +374 -0
- package/dist/state.js.map +1 -0
- package/dist/types.d.ts +284 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { mkdir, stat, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { basename, extname, join, resolve } from 'node:path';
|
|
3
|
+
const URL_PATTERN = /^https?:\/\//i;
|
|
4
|
+
const DATA_URL_PATTERN = /^data:([^;,]+)?(;base64)?,/i;
|
|
5
|
+
const MIME_EXTENSION_MAP = {
|
|
6
|
+
'image/jpeg': '.jpg',
|
|
7
|
+
'image/png': '.png',
|
|
8
|
+
'image/webp': '.webp',
|
|
9
|
+
'image/gif': '.gif',
|
|
10
|
+
'video/mp4': '.mp4',
|
|
11
|
+
'video/webm': '.webm',
|
|
12
|
+
'audio/mpeg': '.mp3',
|
|
13
|
+
'audio/wav': '.wav',
|
|
14
|
+
'application/json': '.json',
|
|
15
|
+
'text/plain': '.txt',
|
|
16
|
+
};
|
|
17
|
+
const sanitizeFileName = (value) => {
|
|
18
|
+
const cleaned = basename(value).replace(/[^A-Za-z0-9._-]+/g, '-');
|
|
19
|
+
const normalized = cleaned.replace(/^-+|-+$/g, '');
|
|
20
|
+
return normalized.length > 0 ? normalized : 'output';
|
|
21
|
+
};
|
|
22
|
+
const extensionFromMime = (mimeType) => {
|
|
23
|
+
if (!mimeType) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
const normalized = mimeType.split(';')[0]?.trim().toLowerCase() ?? '';
|
|
27
|
+
return MIME_EXTENSION_MAP[normalized] ?? '';
|
|
28
|
+
};
|
|
29
|
+
const extensionFromUrl = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
const pathname = new URL(value).pathname;
|
|
32
|
+
return extname(pathname);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const suggestedNameFromUrl = (value) => {
|
|
39
|
+
try {
|
|
40
|
+
const pathname = new URL(value).pathname;
|
|
41
|
+
const candidate = basename(pathname);
|
|
42
|
+
return candidate && candidate !== '/' ? sanitizeFileName(candidate) : undefined;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const parseDataUrl = (value) => {
|
|
49
|
+
const match = value.match(/^data:([^;,]+)?(;base64)?,([\s\S]*)$/i);
|
|
50
|
+
if (!match) {
|
|
51
|
+
throw new Error('Invalid data URL.');
|
|
52
|
+
}
|
|
53
|
+
const mimeType = match[1] ?? 'application/octet-stream';
|
|
54
|
+
const isBase64 = Boolean(match[2]);
|
|
55
|
+
const data = match[3] ?? '';
|
|
56
|
+
const buffer = isBase64
|
|
57
|
+
? Buffer.from(data, 'base64')
|
|
58
|
+
: Buffer.from(decodeURIComponent(data), 'utf8');
|
|
59
|
+
return { mimeType, buffer };
|
|
60
|
+
};
|
|
61
|
+
const pathKind = async (value) => {
|
|
62
|
+
try {
|
|
63
|
+
const metadata = await stat(value);
|
|
64
|
+
if (metadata.isDirectory()) {
|
|
65
|
+
return 'directory';
|
|
66
|
+
}
|
|
67
|
+
return 'file';
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (error.code === 'ENOENT') {
|
|
71
|
+
return 'missing';
|
|
72
|
+
}
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const uniqueFileName = (used, preferred) => {
|
|
77
|
+
const extension = extname(preferred);
|
|
78
|
+
const stem = extension ? preferred.slice(0, -extension.length) : preferred;
|
|
79
|
+
let candidate = preferred;
|
|
80
|
+
let index = 2;
|
|
81
|
+
while (used.has(candidate)) {
|
|
82
|
+
candidate = `${stem}-${index}${extension}`;
|
|
83
|
+
index += 1;
|
|
84
|
+
}
|
|
85
|
+
used.add(candidate);
|
|
86
|
+
return candidate;
|
|
87
|
+
};
|
|
88
|
+
const deriveFileName = (output, index, mimeType) => {
|
|
89
|
+
const preferred = output.suggestedName
|
|
90
|
+
?? (output.kind === 'url' ? suggestedNameFromUrl(output.value) : undefined)
|
|
91
|
+
?? `output-${index + 1}${output.kind === 'url' ? extensionFromUrl(output.value) : extensionFromMime(mimeType)}`;
|
|
92
|
+
const sanitized = sanitizeFileName(preferred);
|
|
93
|
+
if (extname(sanitized)) {
|
|
94
|
+
return sanitized;
|
|
95
|
+
}
|
|
96
|
+
const fallbackExtension = output.kind === 'url'
|
|
97
|
+
? extensionFromUrl(output.value)
|
|
98
|
+
: extensionFromMime(mimeType);
|
|
99
|
+
return `${sanitized}${fallbackExtension || '.bin'}`;
|
|
100
|
+
};
|
|
101
|
+
const MEDIA_OUTPUT_KEYS = new Set([
|
|
102
|
+
'output',
|
|
103
|
+
'outputs',
|
|
104
|
+
'image',
|
|
105
|
+
'images',
|
|
106
|
+
'video',
|
|
107
|
+
'videos',
|
|
108
|
+
'audio',
|
|
109
|
+
'audios',
|
|
110
|
+
'file',
|
|
111
|
+
'files',
|
|
112
|
+
'result',
|
|
113
|
+
'results',
|
|
114
|
+
]);
|
|
115
|
+
export const extractDownloadableOutputs = (payload) => {
|
|
116
|
+
const found = [];
|
|
117
|
+
const seen = new Set();
|
|
118
|
+
const push = (output) => {
|
|
119
|
+
const key = `${output.kind}:${output.value}`;
|
|
120
|
+
if (seen.has(key)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
seen.add(key);
|
|
124
|
+
found.push(output);
|
|
125
|
+
};
|
|
126
|
+
const visit = (value, withinMediaOutput) => {
|
|
127
|
+
if (typeof value === 'string') {
|
|
128
|
+
if (DATA_URL_PATTERN.test(value)) {
|
|
129
|
+
push({ kind: 'data_url', value });
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (withinMediaOutput && URL_PATTERN.test(value)) {
|
|
133
|
+
push({ kind: 'url', value });
|
|
134
|
+
}
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (Array.isArray(value)) {
|
|
138
|
+
for (const entry of value) {
|
|
139
|
+
visit(entry, withinMediaOutput);
|
|
140
|
+
}
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (!value || typeof value !== 'object') {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const record = value;
|
|
147
|
+
const url = typeof record.url === 'string' ? record.url : null;
|
|
148
|
+
const fileName = typeof record.file_name === 'string'
|
|
149
|
+
? record.file_name
|
|
150
|
+
: typeof record.filename === 'string'
|
|
151
|
+
? record.filename
|
|
152
|
+
: undefined;
|
|
153
|
+
if (withinMediaOutput && url && URL_PATTERN.test(url)) {
|
|
154
|
+
push({ kind: 'url', value: url, suggestedName: fileName });
|
|
155
|
+
}
|
|
156
|
+
for (const [key, entry] of Object.entries(record)) {
|
|
157
|
+
const nextWithinMediaOutput = withinMediaOutput || MEDIA_OUTPUT_KEYS.has(key);
|
|
158
|
+
visit(entry, nextWithinMediaOutput);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
visit(payload, false);
|
|
162
|
+
return found;
|
|
163
|
+
};
|
|
164
|
+
export const saveDownloadableOutputs = async (payload, outputPath, fetchImpl = fetch) => {
|
|
165
|
+
const outputs = extractDownloadableOutputs(payload);
|
|
166
|
+
if (outputs.length === 0) {
|
|
167
|
+
throw new Error('No downloadable outputs were found in the result payload.');
|
|
168
|
+
}
|
|
169
|
+
const targetPath = resolve(outputPath);
|
|
170
|
+
const targetKind = await pathKind(targetPath);
|
|
171
|
+
const savedPaths = [];
|
|
172
|
+
const usedNames = new Set();
|
|
173
|
+
const resolveDestination = async (output, index, mimeType) => {
|
|
174
|
+
const fileName = uniqueFileName(usedNames, deriveFileName(output, index, mimeType));
|
|
175
|
+
if (outputs.length === 1) {
|
|
176
|
+
if (targetKind === 'directory' || outputPath.endsWith('/')) {
|
|
177
|
+
await mkdir(targetPath, { recursive: true });
|
|
178
|
+
return join(targetPath, fileName);
|
|
179
|
+
}
|
|
180
|
+
return targetPath;
|
|
181
|
+
}
|
|
182
|
+
if (targetKind === 'file') {
|
|
183
|
+
throw new Error('The -o/--output path must be a directory when saving multiple outputs.');
|
|
184
|
+
}
|
|
185
|
+
await mkdir(targetPath, { recursive: true });
|
|
186
|
+
return join(targetPath, fileName);
|
|
187
|
+
};
|
|
188
|
+
for (const [index, output] of outputs.entries()) {
|
|
189
|
+
if (output.kind === 'data_url') {
|
|
190
|
+
const { mimeType, buffer } = parseDataUrl(output.value);
|
|
191
|
+
const destination = await resolveDestination(output, index, mimeType);
|
|
192
|
+
await mkdir(resolve(destination, '..'), { recursive: true });
|
|
193
|
+
await writeFile(destination, buffer);
|
|
194
|
+
savedPaths.push(destination);
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const response = await fetchImpl(output.value);
|
|
198
|
+
if (!response.ok) {
|
|
199
|
+
throw new Error(`Failed to download ${output.value}: HTTP ${response.status}`);
|
|
200
|
+
}
|
|
201
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
202
|
+
const mimeType = response.headers.get('content-type');
|
|
203
|
+
const destination = await resolveDestination(output, index, mimeType);
|
|
204
|
+
await mkdir(resolve(destination, '..'), { recursive: true });
|
|
205
|
+
await writeFile(destination, Buffer.from(arrayBuffer));
|
|
206
|
+
savedPaths.push(destination);
|
|
207
|
+
}
|
|
208
|
+
return savedPaths;
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=output-download.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-download.js","sourceRoot":"","sources":["../src/output-download.ts"],"names":[],"mappings":"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"}
|
package/dist/output.d.ts
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { CapabilitySummary, ClaimResult, ComposioLinkSessionResult, ComposioRouteResult, ComposioServiceResult, ExecutionStartResult, HealthResult, OutputMode, ProfileCleanupResult, ProfileState, PublishedSnapshot, SecretReference, WhoAmIResult } from './types.js';
|
|
2
|
+
export declare const getOutputMode: (options: Record<string, unknown>) => OutputMode;
|
|
3
|
+
export declare class CliInputError extends Error {
|
|
4
|
+
readonly code = "invalid_input";
|
|
5
|
+
readonly invocation: string;
|
|
6
|
+
readonly note?: string;
|
|
7
|
+
constructor(message: string, invocation: string, note?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare const renderClaim: (mode: OutputMode, payload: ClaimResult & {
|
|
10
|
+
owner: string | null;
|
|
11
|
+
profile: string;
|
|
12
|
+
}) => void;
|
|
13
|
+
export declare const renderWhoAmI: (mode: OutputMode, payload: WhoAmIResult & {
|
|
14
|
+
profile: string;
|
|
15
|
+
}) => void;
|
|
16
|
+
export declare const renderProfileCurrent: (mode: OutputMode, payload: {
|
|
17
|
+
profile: string;
|
|
18
|
+
active_profile: string;
|
|
19
|
+
api_url: string | null;
|
|
20
|
+
owner: string | null;
|
|
21
|
+
agent_id: string | null;
|
|
22
|
+
}) => void;
|
|
23
|
+
export declare const renderProfileList: (mode: OutputMode, profiles: Array<{
|
|
24
|
+
profile_slug: string;
|
|
25
|
+
active: boolean;
|
|
26
|
+
selected: boolean;
|
|
27
|
+
api_url: string | null;
|
|
28
|
+
owner: string | null;
|
|
29
|
+
agent_id: string | null;
|
|
30
|
+
}>) => void;
|
|
31
|
+
export declare const renderDevUp: (mode: OutputMode, payload: {
|
|
32
|
+
status: string;
|
|
33
|
+
profile: string;
|
|
34
|
+
api_url: string | null;
|
|
35
|
+
auth_url: string | null;
|
|
36
|
+
}) => void;
|
|
37
|
+
export declare const renderDevDown: (mode: OutputMode, payload: {
|
|
38
|
+
status: string;
|
|
39
|
+
profile: string;
|
|
40
|
+
}) => void;
|
|
41
|
+
export declare const renderLocalDaemonStatus: (mode: OutputMode, payload: {
|
|
42
|
+
profile: string;
|
|
43
|
+
ready_state: string;
|
|
44
|
+
api_url: string;
|
|
45
|
+
auth_url: string;
|
|
46
|
+
daemon_package_version: string;
|
|
47
|
+
selected_daemon_protocol: number;
|
|
48
|
+
state_schema_version: number;
|
|
49
|
+
api_manifest_revision: string | null;
|
|
50
|
+
last_ready_at: string | null;
|
|
51
|
+
managed_children: {
|
|
52
|
+
api: {
|
|
53
|
+
pid: number | null;
|
|
54
|
+
running: boolean;
|
|
55
|
+
};
|
|
56
|
+
runner: {
|
|
57
|
+
pid: number | null;
|
|
58
|
+
running: boolean;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
paths: {
|
|
62
|
+
socket: string;
|
|
63
|
+
state: string;
|
|
64
|
+
daemon_log: string;
|
|
65
|
+
api_log: string;
|
|
66
|
+
runner_log: string;
|
|
67
|
+
};
|
|
68
|
+
}) => void;
|
|
69
|
+
export declare const renderLocalDaemonLog: (mode: OutputMode, payload: {
|
|
70
|
+
component: string;
|
|
71
|
+
path: string;
|
|
72
|
+
lines: string[];
|
|
73
|
+
}) => void;
|
|
74
|
+
export declare const renderLs: (mode: OutputMode, capabilities: CapabilitySummary[]) => void;
|
|
75
|
+
export declare const renderInspect: (mode: OutputMode, snapshot: PublishedSnapshot) => void;
|
|
76
|
+
export declare const renderComposioLinkSession: (mode: OutputMode, payload: ComposioLinkSessionResult) => void;
|
|
77
|
+
export declare const renderComposioService: (mode: OutputMode, payload: ComposioServiceResult) => void;
|
|
78
|
+
export declare const renderProfileCleanup: (mode: OutputMode, payload: ProfileCleanupResult) => void;
|
|
79
|
+
export declare const renderComposioRoute: (mode: OutputMode, payload: ComposioRouteResult) => void;
|
|
80
|
+
export declare const renderSecretReferenceList: (mode: OutputMode, secretReferences: SecretReference[]) => void;
|
|
81
|
+
export declare const renderSecretReference: (mode: OutputMode, secretReference: SecretReference) => void;
|
|
82
|
+
export declare const renderSecretReferenceDeleted: (mode: OutputMode, payload: {
|
|
83
|
+
name: string;
|
|
84
|
+
ok: boolean;
|
|
85
|
+
}) => void;
|
|
86
|
+
export declare const renderApprove: (mode: OutputMode, payload: {
|
|
87
|
+
approval_id: string;
|
|
88
|
+
status: string;
|
|
89
|
+
}) => void;
|
|
90
|
+
export declare const renderSetup: (mode: OutputMode, payload: {
|
|
91
|
+
profile: string;
|
|
92
|
+
api_url: string;
|
|
93
|
+
status: ClaimResult["result"];
|
|
94
|
+
owner: string | null;
|
|
95
|
+
agent_id: string | null;
|
|
96
|
+
agent_name: string | null;
|
|
97
|
+
approval_url: string | null;
|
|
98
|
+
health: string | null;
|
|
99
|
+
capabilities: number | null;
|
|
100
|
+
pending_approvals: number | null;
|
|
101
|
+
recent_executions: number | null;
|
|
102
|
+
}) => void;
|
|
103
|
+
export declare const renderStatus: (mode: OutputMode, payload: {
|
|
104
|
+
profile: string;
|
|
105
|
+
whoami: WhoAmIResult;
|
|
106
|
+
health: HealthResult;
|
|
107
|
+
capabilityCount: number;
|
|
108
|
+
}) => void;
|
|
109
|
+
export declare const renderExecutionStart: (mode: OutputMode, payload: ExecutionStartResult) => void;
|
|
110
|
+
export declare const renderError: (mode: OutputMode, error: unknown) => void;
|
|
111
|
+
export declare const withOwner: (claim: ClaimResult, whoami: WhoAmIResult | null, profile: ProfileState) => {
|
|
112
|
+
owner: string | null;
|
|
113
|
+
profile: string;
|
|
114
|
+
result: "claimed" | "restored" | "approval_required";
|
|
115
|
+
owner_scope_id: string | null;
|
|
116
|
+
agent_id: string | null;
|
|
117
|
+
agent_display_name?: string | null;
|
|
118
|
+
approval_id: string | null;
|
|
119
|
+
approval_url?: string | null;
|
|
120
|
+
profile_slug?: string | null;
|
|
121
|
+
agent_token: string | null;
|
|
122
|
+
expires_at: string | null;
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|