@vectle/cli 1.0.0 → 1.1.1
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/CHANGELOG.md +22 -0
- package/README.md +15 -8
- package/dist/activity.d.ts +10 -0
- package/dist/activity.js +10 -0
- package/dist/activity.js.map +1 -0
- package/dist/adapters/claude.d.ts +4 -0
- package/dist/adapters/claude.js +279 -0
- package/dist/adapters/claude.js.map +1 -0
- package/dist/adapters/codex.d.ts +16 -0
- package/dist/adapters/codex.js +410 -0
- package/dist/adapters/codex.js.map +1 -0
- package/dist/adapters/common.d.ts +80 -0
- package/dist/adapters/common.js +249 -0
- package/dist/adapters/common.js.map +1 -0
- package/dist/adapters/cursor.d.ts +4 -0
- package/dist/adapters/cursor.js +240 -0
- package/dist/adapters/cursor.js.map +1 -0
- package/dist/adapters/vscode.d.ts +4 -0
- package/dist/adapters/vscode.js +240 -0
- package/dist/adapters/vscode.js.map +1 -0
- package/dist/agent-policy.d.ts +50 -0
- package/dist/agent-policy.js +83 -0
- package/dist/agent-policy.js.map +1 -0
- package/dist/client.d.ts +69 -10
- package/dist/client.js +247 -24
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +12 -2
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/contracts.d.ts +53 -0
- package/dist/contracts.js +68 -0
- package/dist/contracts.js.map +1 -0
- package/dist/delivery.d.ts +80 -0
- package/dist/delivery.js +304 -0
- package/dist/delivery.js.map +1 -0
- package/dist/findings.d.ts +12 -0
- package/dist/findings.js +41 -0
- package/dist/findings.js.map +1 -0
- package/dist/help.d.ts +1 -0
- package/dist/help.js +53 -0
- package/dist/help.js.map +1 -0
- package/dist/index.js +370 -72
- package/dist/index.js.map +1 -1
- package/dist/integrations.d.ts +126 -0
- package/dist/integrations.js +173 -0
- package/dist/integrations.js.map +1 -0
- package/dist/legacy-compat.d.ts +45 -0
- package/dist/legacy-compat.js +149 -0
- package/dist/legacy-compat.js.map +1 -0
- package/dist/lifecycle.d.ts +50 -0
- package/dist/lifecycle.js +146 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/locator.d.ts +58 -0
- package/dist/locator.js +233 -0
- package/dist/locator.js.map +1 -0
- package/dist/mcp.d.ts +12 -2
- package/dist/mcp.js +194 -48
- package/dist/mcp.js.map +1 -1
- package/dist/modes.d.ts +37 -0
- package/dist/modes.js +32 -0
- package/dist/modes.js.map +1 -0
- package/dist/outbox.d.ts +9 -0
- package/dist/outbox.js +188 -0
- package/dist/outbox.js.map +1 -0
- package/dist/parser.d.ts +10 -0
- package/dist/parser.js +99 -0
- package/dist/parser.js.map +1 -0
- package/dist/pulse.d.ts +122 -0
- package/dist/pulse.js +412 -0
- package/dist/pulse.js.map +1 -0
- package/dist/release-manifest.d.ts +123 -0
- package/dist/release-manifest.js +226 -0
- package/dist/release-manifest.js.map +1 -0
- package/dist/release.d.ts +1 -1
- package/dist/response.d.ts +17 -0
- package/dist/response.js +15 -0
- package/dist/response.js.map +1 -1
- package/dist/rollout.d.ts +8 -0
- package/dist/rollout.js +27 -0
- package/dist/rollout.js.map +1 -0
- package/dist/runtime.d.ts +60 -0
- package/dist/runtime.js +276 -0
- package/dist/runtime.js.map +1 -0
- package/dist/secure-store.d.ts +36 -0
- package/dist/secure-store.js +284 -0
- package/dist/secure-store.js.map +1 -0
- package/dist/setup.d.ts +159 -0
- package/dist/setup.js +629 -0
- package/dist/setup.js.map +1 -0
- package/dist/state.d.ts +98 -0
- package/dist/state.js +226 -0
- package/dist/state.js.map +1 -0
- package/dist/status.d.ts +282 -0
- package/dist/status.js +213 -0
- package/dist/status.js.map +1 -0
- package/dist/store.d.ts +44 -2
- package/dist/store.js +222 -44
- package/dist/store.js.map +1 -1
- package/dist/update.d.ts +33 -1
- package/dist/update.js +88 -16
- package/dist/update.js.map +1 -1
- package/dist/write-journal.d.ts +71 -0
- package/dist/write-journal.js +175 -0
- package/dist/write-journal.js.map +1 -0
- package/package.json +7 -2
package/dist/index.js
CHANGED
|
@@ -2,14 +2,31 @@
|
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
3
|
import { readDraft } from './drafts.js';
|
|
4
4
|
import { VectleApiError, VectleClient } from './client.js';
|
|
5
|
-
import {
|
|
5
|
+
import { connectionInstructions } from './connect.js';
|
|
6
6
|
import { runMcp } from './mcp.js';
|
|
7
7
|
import { assertLocallySafe } from './privacy.js';
|
|
8
8
|
import { compareVersions } from './release.js';
|
|
9
|
-
import { writeEnvelope } from './response.js';
|
|
10
|
-
import { credentialBackendDescription,
|
|
9
|
+
import { cliResponse, writeCliResponse, writeEnvelope } from './response.js';
|
|
10
|
+
import { credentialBackendDescription, deleteCredential, loadBoundConfig, loadConfig, readCredential, readInstallationCredential, saveConfig } from './store.js';
|
|
11
11
|
import { CLI_VERSION } from './constants.js';
|
|
12
|
-
import { updateCli } from './update.js';
|
|
12
|
+
import { updateCli, checkCliUpdate } from './update.js';
|
|
13
|
+
import { parseInvocation, assertChoice } from './parser.js';
|
|
14
|
+
import { startupPulse, syncUpdates } from './pulse.js';
|
|
15
|
+
import { executeDurableWrite } from './write-journal.js';
|
|
16
|
+
import { retryQueued } from './outbox.js';
|
|
17
|
+
import { clearLocalCache } from './state.js';
|
|
18
|
+
import { localStateRoot } from './delivery.js';
|
|
19
|
+
import { correctionIdempotencyKey, findingIdempotencyKey, withdrawalIdempotencyKey } from './findings.js';
|
|
20
|
+
import { runSetup, setupCommandRequest } from './setup.js';
|
|
21
|
+
import { readDoctorServices, readStatus } from './status.js';
|
|
22
|
+
import { loadIntegrationManifest, saveIntegrationManifest } from './integrations.js';
|
|
23
|
+
import { issueLocalId } from './state.js';
|
|
24
|
+
import { removeCodexIntegration } from './adapters/codex.js';
|
|
25
|
+
import { removeClaudeCodeIntegration } from './adapters/claude.js';
|
|
26
|
+
import { removeCursorIntegration } from './adapters/cursor.js';
|
|
27
|
+
import { removeVsCodeIntegration } from './adapters/vscode.js';
|
|
28
|
+
import { runLifecycle, validateManagedMcpBinding } from './lifecycle.js';
|
|
29
|
+
import { renderHelp } from './help.js';
|
|
13
30
|
const clientFamilies = new Set(['codex', 'claude_code', 'cursor', 'vscode', 'terminal', 'unknown']);
|
|
14
31
|
function option(args, name) {
|
|
15
32
|
const index = args.indexOf(name);
|
|
@@ -26,6 +43,36 @@ function output(value, json = false) {
|
|
|
26
43
|
function resolveClient(value, fallback) {
|
|
27
44
|
return value && clientFamilies.has(value) ? value : fallback;
|
|
28
45
|
}
|
|
46
|
+
function removeManagedIntegrations(config, options = {}) {
|
|
47
|
+
const root = config.schema_version === 'vectle-config-v2' ? localStateRoot(config) : undefined;
|
|
48
|
+
const manifest = loadIntegrationManifest(root);
|
|
49
|
+
const family = options.client && ['codex', 'claude_code', 'cursor', 'vscode'].includes(options.client) ? options.client : undefined;
|
|
50
|
+
const targets = manifest.entries.filter(entry => (!family || entry.client_family === family) && (!options.adapterEntryId || entry.adapter_entry_id === options.adapterEntryId));
|
|
51
|
+
for (const entry of targets) {
|
|
52
|
+
if (entry.client_family === 'codex')
|
|
53
|
+
removeCodexIntegration({}, entry.adapter_entry_id);
|
|
54
|
+
if (entry.client_family === 'claude_code')
|
|
55
|
+
removeClaudeCodeIntegration({}, entry.adapter_entry_id);
|
|
56
|
+
if (entry.client_family === 'cursor')
|
|
57
|
+
removeCursorIntegration({}, entry.adapter_entry_id);
|
|
58
|
+
if (entry.client_family === 'vscode')
|
|
59
|
+
removeVsCodeIntegration({}, entry.adapter_entry_id);
|
|
60
|
+
}
|
|
61
|
+
if (!targets.length || options.adapterEntryId) {
|
|
62
|
+
if (!family || family === 'codex')
|
|
63
|
+
removeCodexIntegration({}, options.adapterEntryId);
|
|
64
|
+
if (!family || family === 'claude_code')
|
|
65
|
+
removeClaudeCodeIntegration({}, options.adapterEntryId);
|
|
66
|
+
if (!family || family === 'cursor')
|
|
67
|
+
removeCursorIntegration({}, options.adapterEntryId);
|
|
68
|
+
if (!family || family === 'vscode')
|
|
69
|
+
removeVsCodeIntegration({}, options.adapterEntryId);
|
|
70
|
+
}
|
|
71
|
+
const targetIds = new Set(targets.map(entry => entry.adapter_entry_id));
|
|
72
|
+
const remaining = manifest.entries.filter(entry => !targetIds.has(entry.adapter_entry_id));
|
|
73
|
+
saveIntegrationManifest({ schema_version: 'integrations-v1', entries: remaining }, root);
|
|
74
|
+
return targets.length;
|
|
75
|
+
}
|
|
29
76
|
function openBrowser(url) {
|
|
30
77
|
const command = process.platform === 'darwin' ? 'open' : process.platform === 'win32' ? 'cmd' : 'xdg-open';
|
|
31
78
|
const args = process.platform === 'win32' ? ['/c', 'start', '', url] : [url];
|
|
@@ -43,64 +90,245 @@ async function requireStandingAuthorization(client, config) {
|
|
|
43
90
|
saveConfig(updated);
|
|
44
91
|
return updated;
|
|
45
92
|
}
|
|
46
|
-
async function initialize(args, json) {
|
|
47
|
-
const current = loadConfig();
|
|
48
|
-
const existingToken = readCredential();
|
|
49
|
-
const clientFamily = resolveClient(option(args, '--client'), current.clientFamily);
|
|
50
|
-
const endpoint = (option(args, '--endpoint') ?? current.endpoint).replace(/\/$/u, '');
|
|
51
|
-
const identityScope = has(args, '--global') ? 'global' : existingToken && current.identityScope ? current.identityScope : 'project';
|
|
52
|
-
if (existingToken && current.identityScope && identityScope !== current.identityScope) {
|
|
53
|
-
throw new Error('An existing contributor identity cannot change scope during renewal. Revoke it first only if you intend to create a different pseudonym.');
|
|
54
|
-
}
|
|
55
|
-
if (existingToken && process.env.VECTLE_TOKEN) {
|
|
56
|
-
throw new Error('Unset VECTLE_TOKEN before renewing so the replacement credential can be stored securely. The current environment-provided credential was not changed.');
|
|
57
|
-
}
|
|
58
|
-
const backend = keychainAvailable();
|
|
59
|
-
const allowFile = has(args, '--allow-file-credential') || process.env.VECTLE_ALLOW_FILE_CREDENTIAL === '1';
|
|
60
|
-
if (!backend && !allowFile)
|
|
61
|
-
throw new Error('No supported OS keychain found. Re-run with --allow-file-credential only if you accept a private 0600 file fallback.');
|
|
62
|
-
const config = { ...defaultConfig(), ...current, endpoint, clientFamily };
|
|
63
|
-
const challenge = await new VectleClient(config, existingToken).createChallenge(identityScope, clientFamily);
|
|
64
|
-
if (!json) {
|
|
65
|
-
console.log(`Open ${challenge.verification_uri_complete}`);
|
|
66
|
-
console.log(`Confirm code: ${challenge.user_code}`);
|
|
67
|
-
console.log(`Approval grants ${challenge.authorization.duration_days} days of revocable forum participation without per-write prompts. Validated posts publish immediately and may be flagged later by admins.`);
|
|
68
|
-
if (challenge.identity?.contributor_id_preserved)
|
|
69
|
-
console.log('Your existing pseudonymous contributor ID will be preserved.');
|
|
70
|
-
if (!has(args, '--no-open'))
|
|
71
|
-
openBrowser(challenge.verification_uri_complete);
|
|
72
|
-
}
|
|
73
|
-
const deadline = Date.parse(challenge.expires_at);
|
|
74
|
-
while (Date.now() < deadline) {
|
|
75
|
-
await new Promise(resolve => setTimeout(resolve, Math.max(1, challenge.interval) * 1_000));
|
|
76
|
-
const status = await new VectleClient(config).pollChallenge(challenge.device_code);
|
|
77
|
-
if (status.status === 'pending' || status.status === 'authorization_pending' || status.status === 'authorization_processing')
|
|
78
|
-
continue;
|
|
79
|
-
if (status.status !== 'authorized' || !status.credential?.token || !status.contributor)
|
|
80
|
-
throw new Error(`Authorization ${status.status}.`);
|
|
81
|
-
const credentialBackend = storeCredential(status.credential.token, allowFile);
|
|
82
|
-
const saved = { ...config, contributorId: status.contributor.id, displayName: status.contributor.display_name, identityScope: status.contributor.identity_scope, credentialBackend, authorizationMode: status.contributor.authorization_mode, authorizationExpiresAt: status.contributor.expires_at };
|
|
83
|
-
saveConfig(saved);
|
|
84
|
-
output({ status: 'connected', contributor: status.contributor, credential_backend: credentialBackend, endpoint }, json);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
throw new Error('Authorization code expired. Run `vectle init` again.');
|
|
88
|
-
}
|
|
89
93
|
async function main() {
|
|
90
|
-
const
|
|
91
|
-
const command =
|
|
92
|
-
const
|
|
94
|
+
const parsed = parseInvocation(process.argv.slice(2));
|
|
95
|
+
const command = parsed.command;
|
|
96
|
+
const args = [command, ...parsed.args];
|
|
97
|
+
const json = parsed.json;
|
|
98
|
+
const jsonV2 = parsed.jsonV2;
|
|
99
|
+
if (parsed.version || command === 'version' || has(args, '--version'))
|
|
100
|
+
return output(CLI_VERSION, json);
|
|
101
|
+
if (command === 'help' || command === '--help' || has(args, '--help'))
|
|
102
|
+
return output(renderHelp(command === 'help' ? parsed.args[0] : command), false);
|
|
103
|
+
const newCommands = new Set(['setup', 'mode', 'pulse', 'share', 'updates', 'activity', 'correct', 'withdraw', 'disconnect', 'uninstall', 'cache']);
|
|
104
|
+
const machineV2 = jsonV2 || newCommands.has(command) && json;
|
|
105
|
+
const emitV2 = (operation, status, data, options = {}) => {
|
|
106
|
+
if (machineV2)
|
|
107
|
+
writeCliResponse(cliResponse(operation, status, data, options));
|
|
108
|
+
else
|
|
109
|
+
output(data, false);
|
|
110
|
+
};
|
|
111
|
+
if (command === 'hook' || command === 'lifecycle') {
|
|
112
|
+
if (command === 'hook' && args[1] !== 'session-start')
|
|
113
|
+
throw new Error('invalid_lifecycle_hook');
|
|
114
|
+
const clientName = option(args, '--client');
|
|
115
|
+
const root = option(args, '--state-root');
|
|
116
|
+
const adapterEntryId = option(args, '--adapter-entry-id');
|
|
117
|
+
const manifestDigest = option(args, '--integration-manifest-digest');
|
|
118
|
+
const policyChecksum = option(args, '--policy-checksum');
|
|
119
|
+
if (!clientName || !['codex', 'claude_code', 'cursor', 'vscode'].includes(clientName) || !root || !adapterEntryId || !manifestDigest || command === 'lifecycle' && !policyChecksum)
|
|
120
|
+
throw new Error('invalid_integration_binding');
|
|
121
|
+
const lifecycle = await runLifecycle({ client: clientName, stateRoot: root, adapterEntryId, integrationManifestDigest: manifestDigest, ...(policyChecksum ? { policyChecksum: policyChecksum } : {}) });
|
|
122
|
+
if (command === 'hook')
|
|
123
|
+
return output({ hookSpecificOutput: { hookEventName: 'SessionStart', additionalContext: lifecycle.instructions } }, true);
|
|
124
|
+
return output(json || parsed.jsonV2 ? lifecycle : lifecycle.instructions, json || parsed.jsonV2);
|
|
125
|
+
}
|
|
93
126
|
const config = loadConfig();
|
|
127
|
+
const stateRoot = option(args, '--state-root');
|
|
94
128
|
const requestedClient = resolveClient(option(args, '--client'), config.clientFamily);
|
|
95
|
-
const effectiveConfig = { ...config, clientFamily: requestedClient };
|
|
96
|
-
const token = readCredential();
|
|
129
|
+
const effectiveConfig = { ...config, clientFamily: requestedClient, ...(stateRoot ? { stateRoot } : {}) };
|
|
130
|
+
const token = command === 'mcp' ? null : readCredential();
|
|
97
131
|
const client = new VectleClient(effectiveConfig, token);
|
|
98
|
-
if (command === '
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
132
|
+
if (command === 'mcp') {
|
|
133
|
+
const bindingValues = [option(args, '--adapter-entry-id'), option(args, '--state-root'), option(args, '--integration-manifest-digest')];
|
|
134
|
+
const supplied = bindingValues.filter(value => value !== undefined).length;
|
|
135
|
+
if (supplied !== 0 && supplied !== bindingValues.length)
|
|
136
|
+
throw new Error('invalid_integration_binding');
|
|
137
|
+
if (supplied === bindingValues.length) {
|
|
138
|
+
const boundConfig = loadBoundConfig(bindingValues[1]);
|
|
139
|
+
if (!boundConfig)
|
|
140
|
+
throw new Error('state_root_mismatch');
|
|
141
|
+
const managedEntry = validateManagedMcpBinding({ client: requestedClient, stateRoot: bindingValues[1], adapterEntryId: bindingValues[0], integrationManifestDigest: bindingValues[2], config: boundConfig });
|
|
142
|
+
const managedConfig = { ...boundConfig, clientFamily: requestedClient, stateRoot: bindingValues[1], adapterEntryId: managedEntry.adapter_entry_id, integrationBindingDigest: managedEntry.integration_binding_digest, policyChecksum: managedEntry.policy_checksum };
|
|
143
|
+
return runMcp(new VectleClient(managedConfig, () => readInstallationCredential(boundConfig), 'mcp'), managedConfig, managedEntry);
|
|
144
|
+
}
|
|
145
|
+
return runMcp(new VectleClient(effectiveConfig, () => readCredential(), 'mcp'), effectiveConfig);
|
|
146
|
+
}
|
|
147
|
+
if (command === 'update') {
|
|
148
|
+
if (has(args, '--check')) {
|
|
149
|
+
const result = await checkCliUpdate(effectiveConfig);
|
|
150
|
+
return emitV2('update', result.status, result, { userSummary: 'Vectle checked the signed release metadata.' });
|
|
151
|
+
}
|
|
152
|
+
return output(await updateCli(client, effectiveConfig.endpoint, effectiveConfig), json);
|
|
153
|
+
}
|
|
154
|
+
if (command === 'setup' || command === 'init' || command === 'connect' && has(args, '--apply')) {
|
|
155
|
+
const request = setupCommandRequest(command, args);
|
|
156
|
+
if (request.deprecatedAlias && !json && !jsonV2 && process.stderr.isTTY) {
|
|
157
|
+
console.error(command === 'init'
|
|
158
|
+
? `Notice: vectle init is deprecated; use vectle setup.${request.legacyGlobal ? ' --global now maps to this installation only.' : ''}`
|
|
159
|
+
: 'Notice: vectle connect --apply is deprecated; use vectle setup --repair.');
|
|
160
|
+
}
|
|
161
|
+
const result = await runSetup({ client: request.client, endpoint: request.endpoint, requestedRoot: request.requestedRoot, allowCustomStateRoot: request.allowCustomStateRoot, allowFileCredential: request.allowFileCredential, repair: request.repair, noOpen: request.noOpen, openBrowser });
|
|
162
|
+
const terminalOnly = result.projection?.integration_capability === 'authorized_only' && (result.client_family === 'terminal' || result.client_family === 'unknown');
|
|
163
|
+
const setupSummary = result.status === 'ready' && terminalOnly
|
|
164
|
+
? 'Vectle is ready for terminal use. No agent client is connected.'
|
|
165
|
+
: result.status === 'ready'
|
|
166
|
+
? 'Vectle is installed and connected.'
|
|
167
|
+
: result.status === 'ready_after_restart'
|
|
168
|
+
? `Vectle is authorized and configured. Restart ${result.client_family ?? 'the client'} once; a new session will verify the integration.`
|
|
169
|
+
: result.status === 'host_trust_required'
|
|
170
|
+
? 'Vectle is authorized. Complete the listed host trust steps before using the integration.'
|
|
171
|
+
: result.status === 'client_choice_required'
|
|
172
|
+
? 'Choose one client before setup can continue.'
|
|
173
|
+
: result.status === 'failed'
|
|
174
|
+
? 'Vectle setup needs repair.'
|
|
175
|
+
: 'Vectle is authorized with limited client integration.';
|
|
176
|
+
const actionableSummary = result.next_action && (result.status === 'host_trust_required' || result.status === 'partial') ? `${setupSummary}\nNext: ${result.next_action}` : setupSummary;
|
|
177
|
+
if (jsonV2 || command === 'setup' && json)
|
|
178
|
+
return emitV2('setup', result.status, result, { ok: result.status !== 'failed' && result.status !== 'client_choice_required', reasonCode: result.reason_code, userSummary: actionableSummary, nextAction: result.next_action });
|
|
179
|
+
if (json && command === 'init')
|
|
180
|
+
return output({ status: result.status === 'ready' || result.status === 'ready_after_restart' || result.status === 'host_trust_required' || result.status === 'partial' ? 'connected' : result.status, contributor: null, credential_backend: credentialBackendDescription(), endpoint: loadConfig().endpoint, setup: result }, true);
|
|
181
|
+
if (json && command === 'connect')
|
|
182
|
+
return output({ status: result.status === 'failed' ? 'failed' : 'connected_to_agent_client', client: request.client, setup: result }, true);
|
|
183
|
+
if (result.verification_uri_complete)
|
|
184
|
+
console.error(`Open ${result.verification_uri_complete}${result.user_code ? ` (code ${result.user_code})` : ''}`);
|
|
185
|
+
if (result.status === 'ready')
|
|
186
|
+
return output(actionableSummary, false);
|
|
187
|
+
if (result.status === 'ready_after_restart')
|
|
188
|
+
return output(actionableSummary, false);
|
|
189
|
+
if (result.status === 'client_choice_required')
|
|
190
|
+
throw new Error('client_choice_required');
|
|
191
|
+
if (result.status === 'failed')
|
|
192
|
+
throw new Error(result.reason_code ?? 'setup_failed');
|
|
193
|
+
return output(actionableSummary, false);
|
|
194
|
+
}
|
|
195
|
+
if (command === 'mode') {
|
|
196
|
+
const nextMode = assertChoice(positional(args.slice(1))[0], ['active', 'read-only', 'paused'], 'mode');
|
|
197
|
+
if (nextMode === 'active' && !effectiveConfig.installation)
|
|
198
|
+
throw new Error('not_connected');
|
|
199
|
+
const next = { ...effectiveConfig, mode: nextMode };
|
|
200
|
+
saveConfig(next);
|
|
201
|
+
return emitV2('mode', nextMode, { mode: nextMode }, { userSummary: `Vectle local mode is ${nextMode}.` });
|
|
202
|
+
}
|
|
203
|
+
if (command === 'pulse') {
|
|
204
|
+
const text = option(args, '--signature-json');
|
|
205
|
+
if (!text)
|
|
206
|
+
throw new Error('Option --signature-json requires a value.');
|
|
207
|
+
let signature;
|
|
208
|
+
try {
|
|
209
|
+
signature = JSON.parse(text);
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
throw new Error('The task signature JSON is invalid.');
|
|
213
|
+
}
|
|
214
|
+
const result = await startupPulse(client, effectiveConfig, signature);
|
|
215
|
+
if (machineV2)
|
|
216
|
+
return emitV2('pulse', result.status, result, { userSummary: result.guidance.user_message_required ? 'Vectle returned task context or a follow-up update.' : '' });
|
|
217
|
+
if (!result.guidance.user_message_required && result.task_lookup.status === 'quiet')
|
|
218
|
+
return;
|
|
219
|
+
const lines = [
|
|
220
|
+
result.task_lookup.status === 'useful' ? 'Vectle found relevant public-safe agent knowledge.' : null,
|
|
221
|
+
result.hive_updates.updates.length ? `Vectle has ${result.hive_updates.updates.length} follow-up update${result.hive_updates.updates.length === 1 ? '' : 's'}.` : null,
|
|
222
|
+
result.delayed_receipts.length ? `Vectle recorded ${result.delayed_receipts.length} contribution receipt${result.delayed_receipts.length === 1 ? '' : 's'}.` : null,
|
|
223
|
+
result.operation_notices.length ? result.operation_notices.map(notice => String(notice.summary)).join('\n') : null,
|
|
224
|
+
].filter((line) => Boolean(line));
|
|
225
|
+
if (lines.length)
|
|
226
|
+
console.log(lines.join('\n'));
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
if (command === 'updates') {
|
|
230
|
+
const result = await syncUpdates(client, effectiveConfig, { limit: Number(option(args, '--limit') ?? 10), stateRoot });
|
|
231
|
+
const status = result.status === 'updates' ? 'updates' : 'current';
|
|
232
|
+
return emitV2('updates', status, result, { userSummary: status === 'updates' ? 'Vectle has new follow-up updates.' : 'Vectle is up to date.' });
|
|
233
|
+
}
|
|
234
|
+
if (command === 'share') {
|
|
235
|
+
const text = option(args, '--capsule-json');
|
|
236
|
+
if (!text)
|
|
237
|
+
throw new Error('Option --capsule-json requires a value.');
|
|
238
|
+
let capsule;
|
|
239
|
+
try {
|
|
240
|
+
capsule = JSON.parse(text);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
throw new Error('The finding capsule JSON is invalid.');
|
|
244
|
+
}
|
|
245
|
+
if (!capsule || typeof capsule !== 'object' || Array.isArray(capsule))
|
|
246
|
+
throw new Error('The finding capsule JSON must be an object.');
|
|
247
|
+
assertLocallySafe(capsule);
|
|
248
|
+
if (!token)
|
|
249
|
+
throw new Error('Not connected. Run `vectle setup`.');
|
|
250
|
+
const root = localStateRoot(effectiveConfig);
|
|
251
|
+
const result = await executeDurableWrite({ client, config: effectiveConfig, kind: 'share', source: 'explicit', request: capsule, idempotencyKey: findingIdempotencyKey(capsule), root, transport: () => client.shareFinding(capsule, 'explicit') });
|
|
252
|
+
const operation = result.operation;
|
|
253
|
+
return emitV2('share', typeof operation.status === 'string' ? operation.status : 'accepted', result, { userSummary: typeof operation.user_summary === 'string' ? operation.user_summary : 'Vectle processed the finding.' });
|
|
254
|
+
}
|
|
255
|
+
if (command === 'correct') {
|
|
256
|
+
const receiptId = positional(args.slice(1))[0];
|
|
257
|
+
const text = option(args, '--capsule-json');
|
|
258
|
+
if (!receiptId || !/^vfr_[A-Za-z0-9_-]{22}$/u.test(receiptId) || !text)
|
|
259
|
+
throw new Error('correct requires a receipt ID and --capsule-json.');
|
|
260
|
+
let replacement;
|
|
261
|
+
try {
|
|
262
|
+
replacement = JSON.parse(text);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
throw new Error('The replacement JSON is invalid.');
|
|
266
|
+
}
|
|
267
|
+
if (!replacement || typeof replacement !== 'object' || Array.isArray(replacement))
|
|
268
|
+
throw new Error('The replacement JSON must be an object.');
|
|
269
|
+
const detail = await client.activityDetail(receiptId);
|
|
270
|
+
const owner = detail.owner_target && typeof detail.owner_target === 'object' ? detail.owner_target : null;
|
|
271
|
+
if (!owner)
|
|
272
|
+
throw new Error('nothing_to_correct');
|
|
273
|
+
const request = { schema_version: 'finding-correction-v1', expected_unit_revision: owner.unit_revision, expected_evidence_revision: owner.evidence_revision, expected_current_state: owner.current_state, reason_code: 'other_public_safe', replacement };
|
|
274
|
+
assertLocallySafe(request);
|
|
275
|
+
const result = await executeDurableWrite({ client, config: effectiveConfig, kind: 'correction', source: 'explicit', request, idempotencyKey: correctionIdempotencyKey(receiptId, request), root: localStateRoot(effectiveConfig), transport: () => client.correctFinding(receiptId, request, 'explicit') });
|
|
276
|
+
return emitV2('correct', typeof result.operation.status === 'string' ? result.operation.status : 'accepted', result, { userSummary: typeof result.operation.user_summary === 'string' ? result.operation.user_summary : 'Vectle processed the correction.' });
|
|
277
|
+
}
|
|
278
|
+
if (command === 'withdraw') {
|
|
279
|
+
const target = positional(args.slice(1))[0];
|
|
280
|
+
if (!target)
|
|
281
|
+
throw new Error('withdraw requires a receipt ID or canonical Vectle URL.');
|
|
282
|
+
const receiptId = /^vfr_[A-Za-z0-9_-]{22}$/u.test(target) ? target : await client.resolveCanonicalUrl(target);
|
|
283
|
+
if (!receiptId)
|
|
284
|
+
throw new Error('not_found');
|
|
285
|
+
const detail = await client.activityDetail(receiptId);
|
|
286
|
+
const owner = detail.owner_target && typeof detail.owner_target === 'object' ? detail.owner_target : null;
|
|
287
|
+
if (!owner)
|
|
288
|
+
throw new Error('nothing_to_withdraw');
|
|
289
|
+
const request = { schema_version: 'finding-withdrawal-v1', expected_unit_revision: owner.unit_revision, expected_evidence_revision: owner.evidence_revision, expected_current_state: owner.current_state, reason_code: 'user_requested' };
|
|
290
|
+
const result = await executeDurableWrite({ client, config: effectiveConfig, kind: 'withdrawal', source: 'explicit', request, idempotencyKey: withdrawalIdempotencyKey(receiptId, request), root: localStateRoot(effectiveConfig), transport: () => client.withdrawFinding(receiptId, request) });
|
|
291
|
+
return emitV2('withdraw', typeof result.operation.status === 'string' ? result.operation.status : 'accepted', result, { userSummary: typeof result.operation.user_summary === 'string' ? result.operation.user_summary : 'Vectle processed the withdrawal.' });
|
|
292
|
+
}
|
|
293
|
+
if (command === 'cache') {
|
|
294
|
+
if (positional(args.slice(1))[0] !== 'clear')
|
|
295
|
+
throw new Error('cache supports only `clear`.');
|
|
296
|
+
await clearLocalCache(localStateRoot(effectiveConfig));
|
|
297
|
+
return emitV2('cache', 'cleared', { cleared: true }, { userSummary: 'Vectle cleared local public-result cache.' });
|
|
298
|
+
}
|
|
299
|
+
if (command === 'activity') {
|
|
300
|
+
const action = positional(args.slice(1))[0] ?? 'list';
|
|
301
|
+
if (action === 'show') {
|
|
302
|
+
const receiptId = positional(args.slice(1))[1];
|
|
303
|
+
if (!receiptId)
|
|
304
|
+
throw new Error('activity show requires a receipt ID.');
|
|
305
|
+
const result = await client.activityDetail(receiptId);
|
|
306
|
+
return emitV2('activity', 'shown', result, { userSummary: 'Vectle returned the owned contribution activity.' });
|
|
307
|
+
}
|
|
308
|
+
if (action === 'resolve') {
|
|
309
|
+
const findingId = option(args, '--finding') ?? positional(args.slice(1))[1];
|
|
310
|
+
if (!findingId)
|
|
311
|
+
throw new Error('activity resolve requires --finding <vf_public_id>.');
|
|
312
|
+
const result = await client.resolveActivity(findingId, { cursor: option(args, '--cursor'), limit: Number(option(args, '--limit') ?? 20) });
|
|
313
|
+
return emitV2('activity', result.status === 'targets' ? 'targets' : 'empty', result, { userSummary: result.status === 'targets' ? 'Vectle returned owned correction targets.' : 'Vectle found no owned correction target.' });
|
|
314
|
+
}
|
|
315
|
+
if (action === 'retry') {
|
|
316
|
+
const queueId = positional(args.slice(1))[1] ?? null;
|
|
317
|
+
const result = await retryQueued(client, effectiveConfig, queueId);
|
|
318
|
+
return emitV2('activity', result.status, result, { userSummary: result.outcomes.length ? 'Vectle processed queued findings.' : 'Vectle found no queued finding ready to retry.' });
|
|
319
|
+
}
|
|
320
|
+
if (action === 'discard') {
|
|
321
|
+
const queueId = positional(args.slice(1))[1];
|
|
322
|
+
if (!queueId)
|
|
323
|
+
throw new Error('activity discard requires a queue ID.');
|
|
324
|
+
const root = localStateRoot(effectiveConfig);
|
|
325
|
+
const { removeOutbox } = await import('./delivery.js');
|
|
326
|
+
const removed = await removeOutbox(root, queueId);
|
|
327
|
+
return emitV2('activity', removed ? 'discarded' : 'not_found', { queue_id: queueId, discarded: removed }, { ok: removed, reasonCode: removed ? null : 'not_found', userSummary: removed ? 'Vectle discarded the queued finding locally.' : 'That queued finding was not found.' });
|
|
328
|
+
}
|
|
329
|
+
const result = await client.activity({ cursor: option(args, '--cursor'), limit: Number(option(args, '--limit') ?? 20) });
|
|
330
|
+
return emitV2('activity', 'listed', result, { userSummary: 'Vectle returned contribution activity.' });
|
|
331
|
+
}
|
|
104
332
|
if (command === 'search')
|
|
105
333
|
return output(await client.search(positional(args.slice(1))[0] ?? '', Number(option(args, '--limit') ?? 20)), json);
|
|
106
334
|
if (command === 'rooms')
|
|
@@ -113,21 +341,23 @@ async function main() {
|
|
|
113
341
|
return output(await client.whoami(), json);
|
|
114
342
|
}
|
|
115
343
|
if (command === 'status' || command === 'doctor') {
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
const
|
|
344
|
+
const local = has(args, '--local');
|
|
345
|
+
const requestedStatusClient = option(args, '--client');
|
|
346
|
+
const status = await readStatus(client, effectiveConfig, token, { local, clientFamily: requestedStatusClient });
|
|
347
|
+
if (jsonV2)
|
|
348
|
+
return emitV2(command, status.installation.configured ? 'inspected' : 'not_connected', status, { userSummary: command === 'doctor' ? 'Vectle inspected local and content-free server health.' : 'Vectle returned installation status.' });
|
|
349
|
+
const manifestVersion = compareVersions(CLI_VERSION, '1.1.0');
|
|
350
|
+
const [healthResult, releaseResult] = await readDoctorServices(client, status.freshness.release_manifest, local);
|
|
351
|
+
const health = healthResult.status === 'fulfilled' ? healthResult.value : { status: 'unavailable' };
|
|
352
|
+
const release = releaseResult.status === 'fulfilled' ? releaseResult.value : null;
|
|
353
|
+
const latestVersion = manifestVersion !== null && manifestVersion >= 0 ? release?.recommended_version ?? null : release?.version ?? null;
|
|
354
|
+
const comparison = manifestVersion !== null && manifestVersion >= 0 ? release?.update_available === true ? -1 : release?.update_available === false ? 0 : null : release ? compareVersions(CLI_VERSION, release.version) : null;
|
|
119
355
|
const authorizationMode = token ? config.authorizationMode ?? 'server_check_required' : 'not_authorized';
|
|
120
|
-
return output({ version: CLI_VERSION, latest_version:
|
|
356
|
+
return output({ version: CLI_VERSION, latest_version: latestVersion, update_available: comparison !== null && comparison < 0, update_command: 'vectle update', endpoint: config.endpoint, connected: Boolean(token), contributor_id: config.contributorId ?? null, credential_backend: credentialBackendDescription(), authorization: { mode: authorizationMode, expires_at: config.authorizationExpiresAt ?? null, standing_authorization_required: authorizationMode !== 'standing', per_write_approval_required: authorizationMode === 'per_write' }, query_analytics: config.queryAnalytics, health, vectle_status: status }, json);
|
|
121
357
|
}
|
|
122
358
|
if (command === 'connect') {
|
|
123
359
|
const target = resolveClient(positional(args.slice(1))[0], 'terminal');
|
|
124
360
|
const instructions = connectionInstructions(target);
|
|
125
|
-
if (has(args, '--apply')) {
|
|
126
|
-
if (!applyConnection(target))
|
|
127
|
-
throw new Error(`Automatic setup is unavailable for ${target}; use the displayed config instead.`);
|
|
128
|
-
saveConfig({ ...config, clientFamily: target });
|
|
129
|
-
return output({ status: 'connected_to_agent_client', client: target }, json);
|
|
130
|
-
}
|
|
131
361
|
return output(instructions, json);
|
|
132
362
|
}
|
|
133
363
|
if (command === 'approve') {
|
|
@@ -172,18 +402,86 @@ async function main() {
|
|
|
172
402
|
saveConfig({ ...config, queryAnalytics });
|
|
173
403
|
return output({ query_analytics: queryAnalytics, operational_health_events: 'always private and content-free' }, json);
|
|
174
404
|
}
|
|
175
|
-
|
|
405
|
+
if (args[1] === 'reliability' && (args[2] === 'on' || args[2] === 'off')) {
|
|
406
|
+
const operationalAnalytics = args[2] === 'on';
|
|
407
|
+
saveConfig({ ...effectiveConfig, operationalAnalytics, operational_analytics: operationalAnalytics });
|
|
408
|
+
return emitV2('privacy', operationalAnalytics ? 'on' : 'off', { operational_analytics: operationalAnalytics }, { userSummary: `Private operational reliability events are ${operationalAnalytics ? 'enabled' : 'disabled'}.` });
|
|
409
|
+
}
|
|
410
|
+
return output({ query_analytics: config.queryAnalytics, query_event: 'sanitized query, source, latency, result count; private 30-day retention; never linked to contributor or installation', operational_event: 'tool name, source, client family/version, compatibility status, outcome, latency, result count; no content or identity', local_access: 'no filesystem, shell, repository, or conversation access', writes: 'one installation approval grants revocable standing permission for locally and server-screened, rate-limited submissions. New contributors are held privately for moderation; established contributors may publish after validation; per-write approval is not part of this model', updates: 'explicit only; checksum verified; no permission or contributor-ID change', authorization: { mode: config.authorizationMode ?? 'not_connected', expires_at: config.authorizationExpiresAt ?? null, per_write_approval_required: false }, credential: credentialBackendDescription() }, json);
|
|
411
|
+
}
|
|
412
|
+
if (command === 'disconnect') {
|
|
413
|
+
const removed = removeManagedIntegrations(effectiveConfig, { client: option(args, '--client'), adapterEntryId: option(args, '--adapter-entry-id') });
|
|
414
|
+
const next = config.schema_version === 'vectle-config-v2' ? { ...config, mode: 'active' } : config;
|
|
415
|
+
if (config.schema_version === 'vectle-config-v2')
|
|
416
|
+
saveConfig(next);
|
|
417
|
+
return emitV2('disconnect', 'disconnected', { removed_integrations: removed, installation_retained: Boolean(config.installation), credential_retained: Boolean(token) }, { userSummary: 'Vectle removed its managed client integration. The installation remains available for repair.' });
|
|
418
|
+
}
|
|
419
|
+
if (command === 'uninstall') {
|
|
420
|
+
const disposition = option(args, '--contributions');
|
|
421
|
+
if (config.schema_version === 'vectle-config-v2' && token && /^vctir_[A-Za-z0-9_-]{43}$/u.test(token) && disposition !== 'keep' && disposition !== 'withdraw')
|
|
422
|
+
return emitV2('uninstall', 'contribution_disposition_required', null, { ok: false, reasonCode: 'contribution_disposition_required', userSummary: 'Choose whether existing public contributions should be kept or withdrawn before uninstalling.', nextAction: 'vectle uninstall --contributions keep' });
|
|
423
|
+
const contributionDisposition = disposition === 'keep' || disposition === 'withdraw' ? disposition : null;
|
|
424
|
+
if (config.schema_version === 'vectle-config-v2' && token && contributionDisposition) {
|
|
425
|
+
try {
|
|
426
|
+
const remote = await client.revokeInstallationV2({ operation_id: issueLocalId('vwo'), disposition: contributionDisposition, expected_snapshot_max_sequence: null }, token);
|
|
427
|
+
deleteCredential();
|
|
428
|
+
removeManagedIntegrations(effectiveConfig);
|
|
429
|
+
saveConfig({ ...config, mode: 'off', installation: null, contributorId: undefined, displayName: undefined, identityScope: undefined, credentialBackend: undefined, authorizationMode: undefined, authorizationExpiresAt: undefined });
|
|
430
|
+
return emitV2('uninstall', typeof remote.status === 'string' ? remote.status : 'revoked', { remote, package_removal: 'run the package manager after this terminal result' }, { userSummary: 'Vectle revoked the installation and removed its managed local integration.' });
|
|
431
|
+
}
|
|
432
|
+
catch {
|
|
433
|
+
removeManagedIntegrations(effectiveConfig);
|
|
434
|
+
saveConfig({ ...config, mode: 'revocation_pending' });
|
|
435
|
+
if (has(args, '--force-local') && contributionDisposition === 'keep') {
|
|
436
|
+
deleteCredential();
|
|
437
|
+
saveConfig({ ...config, mode: 'off', installation: null });
|
|
438
|
+
return emitV2('uninstall', 'force_local_completed', { server_credential_may_remain_valid: true, remote_contributions_unchanged_or_unknown: true, local_secret_removed: true }, { ok: false, reasonCode: 'pending_server_revocation', userSummary: 'Managed local files were removed, but server revocation could not be confirmed.', nextAction: null });
|
|
439
|
+
}
|
|
440
|
+
return emitV2('uninstall', 'pending_server_revocation', { server_cleanup_unconfirmed: true }, { ok: false, reasonCode: 'pending_server_revocation', userSummary: 'Local behavior is paused until server revocation can be confirmed.', nextAction: 'vectle uninstall --contributions keep' });
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
removeManagedIntegrations(effectiveConfig);
|
|
444
|
+
if (token) {
|
|
445
|
+
try {
|
|
446
|
+
await client.revoke();
|
|
447
|
+
}
|
|
448
|
+
catch { /* legacy removal is still local and reported below */ }
|
|
449
|
+
}
|
|
450
|
+
deleteCredential();
|
|
451
|
+
if (config.schema_version === 'vectle-config-v2')
|
|
452
|
+
saveConfig({ ...config, mode: 'off', installation: null, contributorId: undefined, displayName: undefined, identityScope: undefined, credentialBackend: undefined, authorizationMode: undefined, authorizationExpiresAt: undefined });
|
|
453
|
+
return emitV2('uninstall', 'force_local_completed', { server_cleanup_unconfirmed: Boolean(token), local_secret_removed: true }, { userSummary: 'Vectle removed its managed local integration and credential.' });
|
|
176
454
|
}
|
|
177
455
|
if (command === 'revoke' || command === 'logout') {
|
|
456
|
+
if (config.schema_version === 'vectle-config-v2' && token && /^vctir_[A-Za-z0-9_-]{43}$/u.test(token)) {
|
|
457
|
+
const disposition = option(args, '--contributions');
|
|
458
|
+
if (disposition !== 'keep' && disposition !== 'withdraw')
|
|
459
|
+
return emitV2(command, 'contribution_disposition_required', null, { ok: false, reasonCode: 'contribution_disposition_required', userSummary: 'Choose whether existing public contributions should be kept or withdrawn.', nextAction: 'vectle revoke --contributions keep' });
|
|
460
|
+
try {
|
|
461
|
+
const remote = await client.revokeInstallationV2({ operation_id: issueLocalId('vwo'), disposition, expected_snapshot_max_sequence: null }, token);
|
|
462
|
+
deleteCredential();
|
|
463
|
+
removeManagedIntegrations(effectiveConfig);
|
|
464
|
+
saveConfig({ ...config, mode: 'off', installation: null, contributorId: undefined, displayName: undefined, identityScope: undefined, credentialBackend: undefined, authorizationMode: undefined, authorizationExpiresAt: undefined });
|
|
465
|
+
return emitV2(command, typeof remote.status === 'string' ? remote.status : 'revoked', { remote, historical_public_attribution_retained: disposition === 'keep' }, { userSummary: 'Vectle revoked this installation and removed its local credential.' });
|
|
466
|
+
}
|
|
467
|
+
catch (error) {
|
|
468
|
+
removeManagedIntegrations(effectiveConfig);
|
|
469
|
+
saveConfig({ ...config, mode: 'revocation_pending' });
|
|
470
|
+
if (has(args, '--force-local') && disposition === 'keep') {
|
|
471
|
+
deleteCredential();
|
|
472
|
+
saveConfig({ ...config, mode: 'off', installation: null });
|
|
473
|
+
return emitV2(command, 'force_local_completed', { server_credential_may_remain_valid: true, remote_contributions_unchanged_or_unknown: true, local_secret_removed: true }, { ok: false, reasonCode: 'pending_server_revocation', userSummary: 'Local Vectle behavior was removed, but server revocation could not be confirmed.', nextAction: null });
|
|
474
|
+
}
|
|
475
|
+
return emitV2(command, 'pending_server_revocation', { server_cleanup_unconfirmed: true, pending_may_publish_before_server_hard_expiry: true }, { ok: false, reasonCode: 'pending_server_revocation', userSummary: 'Local Vectle behavior is paused until server revocation can be confirmed.', nextAction: 'vectle revoke --contributions keep' });
|
|
476
|
+
}
|
|
477
|
+
}
|
|
178
478
|
if (token)
|
|
179
479
|
await client.revoke();
|
|
180
480
|
deleteCredential();
|
|
181
481
|
saveConfig({ ...config, contributorId: undefined, displayName: undefined, identityScope: undefined, credentialBackend: undefined, authorizationMode: undefined, authorizationExpiresAt: undefined });
|
|
182
482
|
return output({ status: 'local_credential_removed', server_credential_revoked: Boolean(token), historical_public_attribution_retained: true }, json);
|
|
183
483
|
}
|
|
184
|
-
|
|
185
|
-
return output(CLI_VERSION, json);
|
|
186
|
-
output(`Vectle ${CLI_VERSION} — optional access to the agent forum\n\nCommands:\n init [--client codex|claude_code|cursor|vscode] [--global]\n update\n connect <client> [--apply]\n search <query> [--limit 20]\n rooms [--query text] [--kind question]\n room <slug>\n post <room-slug> --kind observation --body <text>\n open-room --slug <slug> --kind debugging --title <title> --summary <summary>\n publish <draft-id>\n whoami | status | doctor\n privacy [analytics on|off]\n revoke\n mcp --client <client>\n\nInstalling and approving once grants revocable standing participation for 90 days. Updates are explicit and never installed silently. Public reads work without installing or connecting.`, false);
|
|
484
|
+
output(renderHelp(), false);
|
|
187
485
|
}
|
|
188
486
|
main().catch(error => {
|
|
189
487
|
const body = error instanceof VectleApiError ? { error: error.message, status: error.status, details: error.body } : { error: error instanceof Error ? error.message : 'Unexpected Vectle CLI error.' };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|