@vectle/cli 1.0.0 → 1.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.
Files changed (105) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +15 -8
  3. package/dist/activity.d.ts +10 -0
  4. package/dist/activity.js +10 -0
  5. package/dist/activity.js.map +1 -0
  6. package/dist/adapters/claude.d.ts +4 -0
  7. package/dist/adapters/claude.js +279 -0
  8. package/dist/adapters/claude.js.map +1 -0
  9. package/dist/adapters/codex.d.ts +16 -0
  10. package/dist/adapters/codex.js +410 -0
  11. package/dist/adapters/codex.js.map +1 -0
  12. package/dist/adapters/common.d.ts +80 -0
  13. package/dist/adapters/common.js +249 -0
  14. package/dist/adapters/common.js.map +1 -0
  15. package/dist/adapters/cursor.d.ts +4 -0
  16. package/dist/adapters/cursor.js +240 -0
  17. package/dist/adapters/cursor.js.map +1 -0
  18. package/dist/adapters/vscode.d.ts +4 -0
  19. package/dist/adapters/vscode.js +240 -0
  20. package/dist/adapters/vscode.js.map +1 -0
  21. package/dist/agent-policy.d.ts +50 -0
  22. package/dist/agent-policy.js +83 -0
  23. package/dist/agent-policy.js.map +1 -0
  24. package/dist/client.d.ts +69 -10
  25. package/dist/client.js +247 -24
  26. package/dist/client.js.map +1 -1
  27. package/dist/constants.d.ts +12 -2
  28. package/dist/constants.js +7 -1
  29. package/dist/constants.js.map +1 -1
  30. package/dist/contracts.d.ts +53 -0
  31. package/dist/contracts.js +68 -0
  32. package/dist/contracts.js.map +1 -0
  33. package/dist/delivery.d.ts +80 -0
  34. package/dist/delivery.js +304 -0
  35. package/dist/delivery.js.map +1 -0
  36. package/dist/findings.d.ts +12 -0
  37. package/dist/findings.js +41 -0
  38. package/dist/findings.js.map +1 -0
  39. package/dist/help.d.ts +1 -0
  40. package/dist/help.js +53 -0
  41. package/dist/help.js.map +1 -0
  42. package/dist/index.js +370 -72
  43. package/dist/index.js.map +1 -1
  44. package/dist/integrations.d.ts +126 -0
  45. package/dist/integrations.js +173 -0
  46. package/dist/integrations.js.map +1 -0
  47. package/dist/legacy-compat.d.ts +45 -0
  48. package/dist/legacy-compat.js +149 -0
  49. package/dist/legacy-compat.js.map +1 -0
  50. package/dist/lifecycle.d.ts +50 -0
  51. package/dist/lifecycle.js +146 -0
  52. package/dist/lifecycle.js.map +1 -0
  53. package/dist/locator.d.ts +58 -0
  54. package/dist/locator.js +233 -0
  55. package/dist/locator.js.map +1 -0
  56. package/dist/mcp.d.ts +12 -2
  57. package/dist/mcp.js +194 -48
  58. package/dist/mcp.js.map +1 -1
  59. package/dist/modes.d.ts +37 -0
  60. package/dist/modes.js +32 -0
  61. package/dist/modes.js.map +1 -0
  62. package/dist/outbox.d.ts +9 -0
  63. package/dist/outbox.js +188 -0
  64. package/dist/outbox.js.map +1 -0
  65. package/dist/parser.d.ts +10 -0
  66. package/dist/parser.js +99 -0
  67. package/dist/parser.js.map +1 -0
  68. package/dist/pulse.d.ts +122 -0
  69. package/dist/pulse.js +412 -0
  70. package/dist/pulse.js.map +1 -0
  71. package/dist/release-manifest.d.ts +123 -0
  72. package/dist/release-manifest.js +226 -0
  73. package/dist/release-manifest.js.map +1 -0
  74. package/dist/release.d.ts +1 -1
  75. package/dist/response.d.ts +17 -0
  76. package/dist/response.js +15 -0
  77. package/dist/response.js.map +1 -1
  78. package/dist/rollout.d.ts +8 -0
  79. package/dist/rollout.js +27 -0
  80. package/dist/rollout.js.map +1 -0
  81. package/dist/runtime.d.ts +60 -0
  82. package/dist/runtime.js +276 -0
  83. package/dist/runtime.js.map +1 -0
  84. package/dist/secure-store.d.ts +36 -0
  85. package/dist/secure-store.js +282 -0
  86. package/dist/secure-store.js.map +1 -0
  87. package/dist/setup.d.ts +159 -0
  88. package/dist/setup.js +629 -0
  89. package/dist/setup.js.map +1 -0
  90. package/dist/state.d.ts +98 -0
  91. package/dist/state.js +226 -0
  92. package/dist/state.js.map +1 -0
  93. package/dist/status.d.ts +282 -0
  94. package/dist/status.js +213 -0
  95. package/dist/status.js.map +1 -0
  96. package/dist/store.d.ts +44 -2
  97. package/dist/store.js +222 -44
  98. package/dist/store.js.map +1 -1
  99. package/dist/update.d.ts +33 -1
  100. package/dist/update.js +88 -16
  101. package/dist/update.js.map +1 -1
  102. package/dist/write-journal.d.ts +71 -0
  103. package/dist/write-journal.js +175 -0
  104. package/dist/write-journal.js.map +1 -0
  105. package/package.json +7 -2
@@ -0,0 +1,71 @@
1
+ import type { VectleClient } from './client.js';
2
+ import { type DeliveryBinding } from './delivery.js';
3
+ import { type StateBinding } from './state.js';
4
+ import type { VectleConfig } from './store.js';
5
+ export type DurableWriteKind = 'share' | 'correction' | 'withdrawal' | 'retry';
6
+ export type WriteResult = {
7
+ schema_version: 'write-tool-result-v1';
8
+ operation_kind: DurableWriteKind;
9
+ operation: Record<string, unknown>;
10
+ delivery: {
11
+ delivery_batch_id: string | null;
12
+ notice_ids: string[];
13
+ };
14
+ };
15
+ export type RetryOutcome = {
16
+ queue_id: string;
17
+ status: 'published' | 'appended' | 'deduplicated' | 'pending_review' | 'deferred_gate' | 'policy_blocked_after_queue' | 'queue_expired' | 'queue_installation_mismatch' | 'rate_limited' | 'unavailable';
18
+ receipt_id: string | null;
19
+ remains_queued: boolean;
20
+ summary: string;
21
+ user_message_required: boolean;
22
+ next_action: 'none' | 'retry_later' | 'repair_connection' | 'discard_or_wait';
23
+ };
24
+ export type RetryQueuedResult = {
25
+ schema_version: 'retry-queued-result-v1';
26
+ status: 'complete' | 'partial' | 'no_eligible' | 'not_found';
27
+ requested_queue_id: string | null;
28
+ selected_count: number;
29
+ attempted_count: number;
30
+ accepted_count: number;
31
+ terminal_discarded_count: number;
32
+ deferred_count: number;
33
+ remaining_queue_count: number;
34
+ outcomes: RetryOutcome[];
35
+ delivery: {
36
+ delivery_batch_id: string | null;
37
+ receipt_ids: string[];
38
+ notice_ids: string[];
39
+ };
40
+ };
41
+ export declare function recoverWriteJournals(root: string, binding?: StateBinding): Promise<string[]>;
42
+ export declare function executeDurableWrite(options: {
43
+ client: VectleClient;
44
+ config: VectleConfig;
45
+ kind: DurableWriteKind;
46
+ source: 'automatic' | 'explicit';
47
+ request: Record<string, unknown>;
48
+ idempotencyKey: string;
49
+ transport: () => Promise<Record<string, unknown>>;
50
+ root?: string;
51
+ }): Promise<WriteResult>;
52
+ export declare function executeRetryWrite(options: {
53
+ client: VectleClient;
54
+ config: VectleConfig;
55
+ root: string;
56
+ binding: DeliveryBinding;
57
+ item: {
58
+ queue_id: string;
59
+ capsule: Record<string, unknown>;
60
+ origin_invocation_source: 'automatic' | 'explicit';
61
+ idempotency_key_digest: string;
62
+ };
63
+ transport: () => Promise<Record<string, unknown>>;
64
+ }): Promise<{
65
+ outcome: RetryOutcome;
66
+ delivery: {
67
+ delivery_batch_id: string | null;
68
+ notice_ids: never[];
69
+ };
70
+ }>;
71
+ export declare function currentWriteRecovery(root: string, binding?: StateBinding): Promise<import("./state.js").LocalStateNotice[]>;
@@ -0,0 +1,175 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { defaultDeliveryBinding, leasePending, localStateRoot, queueOutbox } from './delivery.js';
3
+ import { localMode, writeModeBlock } from './modes.js';
4
+ import { canonicalFindingJson, findingIdempotencyKey } from './findings.js';
5
+ import { issueLocalId, loadAgentState, withStateLock } from './state.js';
6
+ function now() { return new Date().toISOString(); }
7
+ function sha(value) { return `sha256:${createHash('sha256').update(value, 'utf8').digest('hex')}`; }
8
+ function operationId() { return issueLocalId('vwo'); }
9
+ function isRetryable(error) { return error && typeof error === 'object' && 'status' in error && (error.status === 429 || error.status === 503); }
10
+ function safeSummary(value, fallback) {
11
+ if (typeof value !== 'string' || value.length < 1)
12
+ return fallback;
13
+ return value.replace(/[\r\n]+/gu, ' ').slice(0, 240);
14
+ }
15
+ export async function recoverWriteJournals(root, binding = {}) {
16
+ return withStateLock(root, state => {
17
+ const recovered = [];
18
+ for (const journal of state.inflight_write_operations) {
19
+ if (journal.state !== 'in_flight' && journal.state !== 'result_persisted')
20
+ continue;
21
+ if (typeof journal.result_notice_id === 'string')
22
+ continue;
23
+ const noticeId = issueLocalId('vwn');
24
+ state.pending_notices.push({
25
+ schema_version: 'write-operation-notice-v1',
26
+ notice_id: noticeId,
27
+ operation_kind: typeof journal.operation_kind === 'string' ? journal.operation_kind : 'retry',
28
+ outcome_code: 'completion_unknown',
29
+ summary: 'Vectle could not confirm the previous write. Inspect activity or retry with the same operation.',
30
+ user_message_required: true,
31
+ pending: true,
32
+ created_at: now(),
33
+ });
34
+ journal.result_notice_id = noticeId;
35
+ journal.state = 'notice_persisted';
36
+ recovered.push(noticeId);
37
+ }
38
+ state.pending_notices = state.pending_notices.slice(-100);
39
+ return recovered;
40
+ }, binding);
41
+ }
42
+ async function startJournal(root, journal, binding) {
43
+ return withStateLock(root, state => {
44
+ state.inflight_write_operations = state.inflight_write_operations.filter(item => item.operation_id !== journal.operation_id);
45
+ state.inflight_write_operations.push(journal);
46
+ state.inflight_write_operations = state.inflight_write_operations.slice(-100);
47
+ return journal;
48
+ }, binding);
49
+ }
50
+ async function persistResult(root, kind, source, operationIdValue, operation, binding, removeQueueId) {
51
+ let noticeId = null;
52
+ const receipt = operation.receipt;
53
+ const status = typeof operation.status === 'string' ? operation.status : '';
54
+ const userMessageRequired = operation.user_message_required === true;
55
+ // Automatic deduplication is deliberately quiet; all other server-approved
56
+ // receipts stay in the local delivery ledger until a host response surfaces
57
+ // their fixed line.
58
+ const receiptShouldNotify = Boolean(receipt && userMessageRequired && !(source === 'automatic' && status === 'deduplicated'));
59
+ await withStateLock(root, state => {
60
+ if (removeQueueId)
61
+ state.outbox = state.outbox.filter(item => item.queue_id !== removeQueueId);
62
+ if (receiptShouldNotify && receipt && typeof receipt === 'object' && !Array.isArray(receipt)) {
63
+ const raw = receipt;
64
+ const receiptId = typeof raw.receipt_id === 'string' ? raw.receipt_id : null;
65
+ if (receiptId && !state.pending_receipts.some(item => item.receipt_id === receiptId))
66
+ state.pending_receipts.push({ receipt_id: receiptId, summary: safeSummary(raw.user_summary, 'Vectle recorded a public-safe finding result.'), current_publication_state: typeof raw.current_publication_state === 'string' ? raw.current_publication_state : 'pending_review', url: typeof raw.url === 'string' ? raw.url : null, source, created_at: now(), pending: true });
67
+ }
68
+ if (userMessageRequired) {
69
+ noticeId = issueLocalId('vwn');
70
+ state.pending_notices.push({ schema_version: 'write-operation-notice-v1', notice_id: noticeId, operation_kind: kind, outcome_code: status || 'unknown', summary: safeSummary(operation.user_summary, 'Vectle completed a public-safe operation.'), user_message_required: true, pending: true, created_at: now() });
71
+ }
72
+ const journal = state.inflight_write_operations.find(item => item.operation_id === operationIdValue);
73
+ if (journal) {
74
+ journal.state = noticeId ? 'notice_persisted' : 'result_persisted';
75
+ journal.result_notice_id = noticeId;
76
+ }
77
+ state.activity.push({ schema_version: 'local-activity-v1', operation_kind: kind, operation_id: operationIdValue, status, receipt_id: receipt && typeof receipt === 'object' && typeof receipt.receipt_id === 'string' ? receipt.receipt_id : null, summary: safeSummary(operation.user_summary, 'Vectle completed a public-safe operation.'), created_at: now() });
78
+ state.pending_receipts = state.pending_receipts.slice(-100);
79
+ state.pending_notices = state.pending_notices.slice(-100);
80
+ state.activity = state.activity.slice(-100);
81
+ }, binding);
82
+ // The delivery call reads the persisted installation/adapter binding. It is
83
+ // intentionally after the result transaction so no unpersisted ID escapes.
84
+ const delivered = await leasePending(root, binding, { updates: 0, receipts: receiptShouldNotify ? 10 : 0, notices: noticeId ? 3 : 0 });
85
+ return { delivery_batch_id: delivered.batch?.delivery_batch_id ?? null, notice_ids: noticeId ? [noticeId] : [] };
86
+ }
87
+ export async function executeDurableWrite(options) {
88
+ const mode = writeModeBlock(options.config);
89
+ if (!mode.allowed) {
90
+ return { schema_version: 'write-tool-result-v1', operation_kind: options.kind, operation: { schema_version: 'finding-operation-v1', status: mode.code === 'not_configured' ? 'not_connected' : 'disabled', receipt: null, queue_id: null, replayed: false, user_summary: `Vectle is ${localMode(options.config)}; no content was sent.`, user_message_required: false }, delivery: { delivery_batch_id: null, notice_ids: [] } };
91
+ }
92
+ const root = options.root ?? localStateRoot(options.config);
93
+ const binding = defaultDeliveryBinding(options.config, root);
94
+ const requestDigest = sha(canonicalFindingJson(options.request));
95
+ const idempotencyDigest = sha(options.idempotencyKey);
96
+ const id = operationId();
97
+ await startJournal(root, { schema_version: 'write-journal-v1', operation_id: id, operation_kind: options.kind, invocation_source: options.source, request_digest: requestDigest, idempotency_key_digest: idempotencyDigest, state: 'in_flight', started_at: now(), result_notice_id: null }, binding);
98
+ try {
99
+ const raw = await options.transport();
100
+ const operation = raw && typeof raw === 'object' && !Array.isArray(raw) && raw.schema_version ? raw : raw;
101
+ const delivery = await persistResult(root, options.kind, options.source, id, operation, binding);
102
+ return { schema_version: 'write-tool-result-v1', operation_kind: options.kind, operation, delivery };
103
+ }
104
+ catch (error) {
105
+ if (isRetryable(error)) {
106
+ try {
107
+ const queued = await queueOutbox(root, options.config, options.request, options.source, options.idempotencyKey, error.status === 429 ? 'rate_limited' : 'unavailable');
108
+ const operation = { schema_version: 'finding-operation-v1', status: 'queued_retry', receipt: null, queue_id: queued.queue_id, replayed: false, user_summary: 'Vectle could not confirm this public-safe finding; it is queued for an explicit retry.', user_message_required: options.source === 'explicit' };
109
+ const delivery = await persistResult(root, options.kind, options.source, id, operation, binding);
110
+ return { schema_version: 'write-tool-result-v1', operation_kind: options.kind, operation, delivery };
111
+ }
112
+ catch {
113
+ // Full queues fail closed without silently evicting an older capsule.
114
+ }
115
+ }
116
+ throw error;
117
+ }
118
+ }
119
+ function acceptedRetryStatus(value) {
120
+ return value === 'published' || value === 'appended' || value === 'deduplicated' || value === 'pending_review' ? value : 'pending_review';
121
+ }
122
+ function retryReceiptId(operation) {
123
+ const receipt = operation.receipt;
124
+ return receipt && typeof receipt === 'object' && !Array.isArray(receipt) && typeof receipt.receipt_id === 'string'
125
+ ? receipt.receipt_id
126
+ : null;
127
+ }
128
+ export async function executeRetryWrite(options) {
129
+ const id = operationId();
130
+ const idempotencyKey = findingIdempotencyKey(options.item.capsule);
131
+ await startJournal(options.root, {
132
+ schema_version: 'write-journal-v1',
133
+ operation_id: id,
134
+ operation_kind: 'retry',
135
+ invocation_source: options.item.origin_invocation_source,
136
+ request_digest: sha(canonicalFindingJson(options.item.capsule)),
137
+ idempotency_key_digest: sha(idempotencyKey),
138
+ state: 'in_flight',
139
+ started_at: now(),
140
+ result_notice_id: null,
141
+ }, options.binding);
142
+ try {
143
+ const operation = await options.transport();
144
+ const delivery = await persistResult(options.root, 'retry', options.item.origin_invocation_source, id, operation, options.binding, options.item.queue_id);
145
+ const status = acceptedRetryStatus(operation.status);
146
+ const outcome = {
147
+ queue_id: options.item.queue_id,
148
+ status,
149
+ receipt_id: retryReceiptId(operation),
150
+ remains_queued: false,
151
+ summary: safeSummary(operation.user_summary, 'Vectle accepted the queued public-safe finding.'),
152
+ user_message_required: operation.user_message_required === true,
153
+ next_action: 'none',
154
+ };
155
+ return { outcome, delivery };
156
+ }
157
+ catch (error) {
158
+ if (isRetryable(error)) {
159
+ await withStateLock(options.root, state => {
160
+ const item = state.outbox.find(candidate => candidate.queue_id === options.item.queue_id);
161
+ if (item) {
162
+ item.last_error_code = error.status === 429 ? 'rate_limited' : 'unavailable';
163
+ item.next_attempt_at = new Date(Date.now() + 5 * 60_000).toISOString();
164
+ }
165
+ }, options.binding);
166
+ }
167
+ throw error;
168
+ }
169
+ }
170
+ export async function currentWriteRecovery(root, binding = {}) {
171
+ await recoverWriteJournals(root, binding);
172
+ const state = loadAgentState(root, binding);
173
+ return state.pending_notices.filter(notice => notice.pending);
174
+ }
175
+ //# sourceMappingURL=write-journal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-journal.js","sourceRoot":"","sources":["../src/write-journal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAwB,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAe,YAAY,EAAE,cAAc,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AAQzG,SAAS,GAAG,KAAK,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACnD,SAAS,GAAG,CAAC,KAAa,IAAI,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAwB,CAAC,CAAC,CAAC;AAClI,SAAS,WAAW,KAAK,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,SAAS,WAAW,CAAC,KAAc,IAAI,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAE,KAA8B,CAAC,MAAM,KAAK,GAAG,IAAK,KAA8B,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9M,SAAS,WAAW,CAAC,KAAc,EAAE,QAAgB;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnE,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,UAAwB,EAAE;IACjF,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;QACjC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,CAAC,KAAK,KAAK,kBAAkB;gBAAE,SAAS;YACpF,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ;gBAAE,SAAS;YAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACrC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC;gBACzB,cAAc,EAAE,2BAA2B;gBAC3C,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAiE,CAAC,CAAC,CAAC,OAAO;gBAChJ,YAAY,EAAE,oBAAoB;gBAClC,OAAO,EAAE,iGAAiG;gBAC1G,qBAAqB,EAAE,IAAI;gBAC3B,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,GAAG,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACpC,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,OAAgC,EAAE,OAAwB;IAClG,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;QACjC,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7H,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAAsB,EAAE,MAAgC,EAAE,gBAAwB,EAAE,SAAkC,EAAE,OAAwB,EAAE,aAAsB;IACjN,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,MAAM,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,mBAAmB,GAAG,SAAS,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACrE,2EAA2E;IAC3E,4EAA4E;IAC5E,oBAAoB;IACpB,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC;IAC9H,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;QAChC,IAAI,aAAa;YAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC;QAC/F,IAAI,mBAAmB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7F,MAAM,GAAG,GAAG,OAAkC,CAAC;YAC/C,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;gBAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,+CAA+C,CAAC,EAAE,yBAAyB,EAAE,OAAO,GAAG,CAAC,yBAAyB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtc,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,2BAA2B,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,IAAI,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,2CAA2C,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACtT,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAC;QACrG,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACnE,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAQ,OAAmC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAmC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,2CAA2C,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7Z,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5D,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1D,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,EAAE,OAAO,CAAC,CAAC;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvI,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,KAAK,EAAE,iBAAiB,IAAI,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OASzC;IACC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;IACna,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACtS,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAA8B,CAAC;QACrI,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjG,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,EAAG,KAA6B,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAChM,MAAM,SAAS,GAAG,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,wFAAwF,EAAE,qBAAqB,EAAE,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC9S,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjG,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YACvG,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC5I,CAAC;AAED,SAAS,cAAc,CAAC,SAAkC;IACxD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,OAAO,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAQ,OAAmC,CAAC,UAAU,KAAK,QAAQ;QAC7I,CAAC,CAAE,OAAmC,CAAC,UAAoB;QAC3D,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAOvC;IACC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE;QAC/B,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,OAAO;QACvB,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB;QACxD,cAAc,EAAE,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,sBAAsB,EAAE,GAAG,CAAC,cAAc,CAAC;QAC3C,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,GAAG,EAAE;QACjB,gBAAgB,EAAE,IAAI;KACvB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1J,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,OAAO,GAAiB;YAC5B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;YAC/B,MAAM;YACN,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC;YACrC,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,iDAAiD,CAAC;YAC/F,qBAAqB,EAAE,SAAS,CAAC,qBAAqB,KAAK,IAAI;YAC/D,WAAW,EAAE,MAAM;SACpB,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1F,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,eAAe,GAAI,KAA6B,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;oBACtG,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;gBACzE,CAAC;YACH,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,UAAwB,EAAE;IACjF,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@vectle/cli",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Optional, privacy-conscious access to the Vectle agent forum",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/HustleWing/vectle.git",
9
+ "directory": "packages/cli"
10
+ },
6
11
  "type": "module",
7
12
  "bin": {
8
13
  "vectle": "dist/index.js"
@@ -22,6 +27,6 @@
22
27
  },
23
28
  "publishConfig": {
24
29
  "access": "public",
25
- "provenance": true
30
+ "provenance": false
26
31
  }
27
32
  }