@agent-wire/terminal 1.7.0 → 1.7.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/README.md +44 -1
- package/dist/api.d.ts +78 -16
- package/dist/api.js +42 -5
- package/dist/api.js.map +1 -1
- package/dist/cli.js +104 -10
- package/dist/cli.js.map +1 -1
- package/dist/local-pull.js +19 -0
- package/dist/local-pull.js.map +1 -1
- package/dist/mcp-server.js +40 -4
- package/dist/mcp-server.js.map +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts +41 -3
- package/dist/sync/push.js +51 -2
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/types.d.ts +1 -0
- package/package.json +1 -1
package/dist/sync/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Node.js-only modules (use fs):
|
|
8
8
|
* walk, push, pull
|
|
9
9
|
*/
|
|
10
|
-
export type { SyncState, SyncFileEntry, SyncManifest, LocalFile, RemoteDocument, DiffEntry, DiffResult, PreviewOutput, } from './types.js';
|
|
10
|
+
export type { SyncState, SyncFileEntry, SyncManifest, LocalFile, RemoteDocument, DiffEntry, DiffResult, PreviewOutput, MarketNativeDocsIngestMode, } from './types.js';
|
|
11
11
|
export { computeHash } from './hash.js';
|
|
12
12
|
export { computeDiff } from './diff.js';
|
|
13
13
|
export { normalizeTitle, matchDocuments } from './match.js';
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,+DAA+D;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,+DAA+D;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/sync/push.d.ts
CHANGED
|
@@ -8,20 +8,58 @@
|
|
|
8
8
|
* - push_update (published): call createDocumentVersion RPC to atomically create a new version
|
|
9
9
|
*/
|
|
10
10
|
import type { WireAPI } from '../api.js';
|
|
11
|
-
import type { DiffEntry } from './types.js';
|
|
11
|
+
import type { DiffEntry, MarketNativeDocsIngestMode } from './types.js';
|
|
12
12
|
export interface PushResult {
|
|
13
13
|
relativePath: string;
|
|
14
14
|
documentId: string;
|
|
15
15
|
success: boolean;
|
|
16
|
+
action?: 'created' | 'updated' | 'unchanged';
|
|
17
|
+
version?: number;
|
|
18
|
+
warnings?: string[];
|
|
19
|
+
marketNativeDocsIngest?: {
|
|
20
|
+
mode: MarketNativeDocsIngestMode;
|
|
21
|
+
dispatched: boolean;
|
|
22
|
+
reason: string;
|
|
23
|
+
window_count?: number;
|
|
24
|
+
dispatched_windows?: number;
|
|
25
|
+
failed_windows?: number;
|
|
26
|
+
chain_invocation_id?: string;
|
|
27
|
+
chain_action_id?: string;
|
|
28
|
+
chain_status?: string;
|
|
29
|
+
chain_result_contribution_id?: string;
|
|
30
|
+
chain_result_handle_path?: string;
|
|
31
|
+
market_job_handle_path?: string;
|
|
32
|
+
windows?: Array<{
|
|
33
|
+
window_index: number;
|
|
34
|
+
window_count: number;
|
|
35
|
+
reference_scope_key: string;
|
|
36
|
+
window_body_hash: string;
|
|
37
|
+
window_start_char: number;
|
|
38
|
+
window_end_char: number;
|
|
39
|
+
input_tokens_est: number;
|
|
40
|
+
dispatched: boolean;
|
|
41
|
+
reason?: string;
|
|
42
|
+
chain_invocation_id?: string;
|
|
43
|
+
chain_action_id?: string;
|
|
44
|
+
chain_status?: string;
|
|
45
|
+
chain_result_contribution_id?: string;
|
|
46
|
+
chain_result_handle_path?: string;
|
|
47
|
+
market_job_handle_path?: string;
|
|
48
|
+
}>;
|
|
49
|
+
};
|
|
16
50
|
error?: string;
|
|
17
51
|
}
|
|
52
|
+
export interface PushOptions {
|
|
53
|
+
publish?: boolean;
|
|
54
|
+
marketNativeDocsIngest?: MarketNativeDocsIngestMode;
|
|
55
|
+
}
|
|
18
56
|
/**
|
|
19
57
|
* Push local files to the Wire corpus.
|
|
20
58
|
*
|
|
21
59
|
* @param apiClient - Authenticated WireAPI instance
|
|
22
60
|
* @param corpusSlug - The corpus slug to push to
|
|
23
61
|
* @param entries - DiffEntry items to push (push_new or push_update)
|
|
24
|
-
* @param
|
|
62
|
+
* @param options - Push behavior. marketNativeDocsIngest routes via /wire/sync when enabled.
|
|
25
63
|
* @returns Array of push results per file
|
|
26
64
|
*/
|
|
27
|
-
export declare function pushFiles(apiClient: WireAPI, corpusSlug: string, entries: DiffEntry[],
|
|
65
|
+
export declare function pushFiles(apiClient: WireAPI, corpusSlug: string, entries: DiffEntry[], options?: boolean | PushOptions): Promise<PushResult[]>;
|
package/dist/sync/push.js
CHANGED
|
@@ -7,16 +7,26 @@
|
|
|
7
7
|
* - push_update (draft): PATCH to update body directly
|
|
8
8
|
* - push_update (published): call createDocumentVersion RPC to atomically create a new version
|
|
9
9
|
*/
|
|
10
|
+
function normalizePushOptions(options) {
|
|
11
|
+
if (typeof options === 'boolean') {
|
|
12
|
+
return { publish: options, marketNativeDocsIngest: 'off' };
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
publish: options?.publish ?? false,
|
|
16
|
+
marketNativeDocsIngest: options?.marketNativeDocsIngest ?? 'off',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
10
19
|
/**
|
|
11
20
|
* Push local files to the Wire corpus.
|
|
12
21
|
*
|
|
13
22
|
* @param apiClient - Authenticated WireAPI instance
|
|
14
23
|
* @param corpusSlug - The corpus slug to push to
|
|
15
24
|
* @param entries - DiffEntry items to push (push_new or push_update)
|
|
16
|
-
* @param
|
|
25
|
+
* @param options - Push behavior. marketNativeDocsIngest routes via /wire/sync when enabled.
|
|
17
26
|
* @returns Array of push results per file
|
|
18
27
|
*/
|
|
19
|
-
export async function pushFiles(apiClient, corpusSlug, entries,
|
|
28
|
+
export async function pushFiles(apiClient, corpusSlug, entries, options = false) {
|
|
29
|
+
const { publish, marketNativeDocsIngest } = normalizePushOptions(options);
|
|
20
30
|
const results = [];
|
|
21
31
|
for (const entry of entries) {
|
|
22
32
|
try {
|
|
@@ -30,6 +40,45 @@ export async function pushFiles(apiClient, corpusSlug, entries, publish = false)
|
|
|
30
40
|
continue;
|
|
31
41
|
}
|
|
32
42
|
const { localFile, remoteDoc } = entry;
|
|
43
|
+
if (marketNativeDocsIngest !== 'off') {
|
|
44
|
+
const response = await apiClient.wireSyncDocuments(corpusSlug, [{
|
|
45
|
+
path: localFile.relativePath,
|
|
46
|
+
content: localFile.content,
|
|
47
|
+
format: detectFormat(localFile.relativePath),
|
|
48
|
+
}], marketNativeDocsIngest);
|
|
49
|
+
const error = response.errors.find(e => e.path === localFile.relativePath);
|
|
50
|
+
if (error) {
|
|
51
|
+
results.push({
|
|
52
|
+
relativePath: entry.relativePath,
|
|
53
|
+
documentId: remoteDoc?.id || '',
|
|
54
|
+
success: false,
|
|
55
|
+
error: error.error,
|
|
56
|
+
});
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const synced = response.synced.find(s => s.path === localFile.relativePath) ?? response.synced[0];
|
|
60
|
+
if (!synced) {
|
|
61
|
+
results.push({
|
|
62
|
+
relativePath: entry.relativePath,
|
|
63
|
+
documentId: remoteDoc?.id || '',
|
|
64
|
+
success: false,
|
|
65
|
+
error: 'Wire sync returned no synced document for this path',
|
|
66
|
+
});
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
results.push({
|
|
70
|
+
relativePath: entry.relativePath,
|
|
71
|
+
documentId: synced.document_id,
|
|
72
|
+
success: true,
|
|
73
|
+
action: synced.action,
|
|
74
|
+
version: synced.version,
|
|
75
|
+
warnings: response.warnings
|
|
76
|
+
.filter(w => w.path === localFile.relativePath)
|
|
77
|
+
.map(w => w.message),
|
|
78
|
+
marketNativeDocsIngest: synced.market_native_docs_ingest,
|
|
79
|
+
});
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
33
82
|
// Derive title from filename (strip extension, convert hyphens to spaces)
|
|
34
83
|
const filename = localFile.relativePath.split('/').pop() || localFile.relativePath;
|
|
35
84
|
const title = filename
|
package/dist/sync/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/sync/push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/sync/push.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Isomorphic — no Node.js dependencies.
|
|
4
4
|
*/
|
|
5
5
|
export type SyncState = 'in_sync' | 'local_ahead' | 'remote_ahead' | 'conflict' | 'local_only' | 'remote_only';
|
|
6
|
+
export type MarketNativeDocsIngestMode = 'off' | 'auto' | 'all';
|
|
6
7
|
export interface SyncFileEntry {
|
|
7
8
|
document_id: string;
|
|
8
9
|
local_hash: string;
|