@peers-app/peers-sdk 0.25.10 → 0.25.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/index.js +5 -1
- package/dist/contracts/system/local-folders-contract.d.ts +49 -9
- package/dist/contracts/system/local-folders-contract.js +43 -13
- package/dist/system-ids.d.ts +1 -0
- package/dist/system-ids.js +1 -0
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ export { createRemoteContractEndpoint, getRemoteContractTransportFactory, type I
|
|
|
15
15
|
export { DEVICE_OPERATIONS_CONTRACT_VERSION, DEVICE_OPERATIONS_MAX_QUERY_LENGTH, DEVICE_OPERATIONS_MAX_RESULT_BYTES, DEVICE_OPERATIONS_MAX_ROWS, DEVICE_OPERATIONS_MAX_TOOLS, type DeviceOperationCapability, deviceOperationsProviderPackageId, deviceOperationsToolIds, getDeviceOperationsContractDefinition, type IDeviceDatabaseQueryInput, type IDeviceDatabaseQueryResult, type IDeviceOperationStatus, type IDeviceToolListInput, type IDeviceToolLookupInput, type IDeviceToolLookupResult, type IDeviceToolRunInput, } from "./system/device-operations-contract";
|
|
16
16
|
export { getIdentityContractDefinition, IDENTITY_CONTRACT_VERSION, type IIdentityConsumer, type IIdentitySessionInfo, } from "./system/identity-contract";
|
|
17
17
|
export { getInvitesContractDefinition, type IAcceptInviteResult, type ICreatedInvite, type IInvitePreview, type IInvitesConsumer, INVITES_CONTRACT_VERSION, } from "./system/invites-contract";
|
|
18
|
-
export { getLocalFoldersContractDefinition, type ILocalFolderChange, type ILocalFolderChangedEvent, type ILocalFolderEntry, type ILocalFolderFileBlocks, type ILocalFolderFileBlocksInput, type ILocalFolderGrantInfo, type ILocalFolderIndexInput, type ILocalFolderJobFinishedEvent, type ILocalFolderJobHandle, type ILocalFolderJobInfo, type ILocalFolderJobProgressEvent, type ILocalFolderListInput, type ILocalFolderMoveInput, type ILocalFolderPathInput, type ILocalFolderPurgeTrashInput, type ILocalFolderReadRangeInput, type ILocalFolderReadRangeResult, type ILocalFolderRequestGrantInput, type ILocalFolderStatInput, LOCAL_FOLDERS_CHUNK_AVG, LOCAL_FOLDERS_CHUNK_MAX, LOCAL_FOLDERS_CHUNK_MIN, LOCAL_FOLDERS_CONTRACT_VERSION, LOCAL_FOLDERS_JOB_TTL_MS, LOCAL_FOLDERS_READ_RANGE_MAX, LOCAL_FOLDERS_RESERVED_DIR, type LocalFolderChangeKind, type LocalFolderEntryKind, type LocalFolderMode, localFoldersProviderPackageId, } from "./system/local-folders-contract";
|
|
18
|
+
export { getLocalFoldersContractDefinition, type ILocalFolderAssembleInput, type ILocalFolderAssembleResult, type ILocalFolderChange, type ILocalFolderChangedEvent, type ILocalFolderEntry, type ILocalFolderFileBlocks, type ILocalFolderFileBlocksInput, type ILocalFolderGrantInfo, type ILocalFolderIndexInput, type ILocalFolderIndexResult, type ILocalFolderJobFinishedEvent, type ILocalFolderJobHandle, type ILocalFolderJobInfo, type ILocalFolderJobProgressEvent, type ILocalFolderListInput, type ILocalFolderManifestBlock, type ILocalFolderMoveInput, type ILocalFolderPathInput, type ILocalFolderPurgeTrashInput, type ILocalFolderReadRangeInput, type ILocalFolderReadRangeResult, type ILocalFolderRequestGrantInput, type ILocalFolderStatInput, LOCAL_FOLDERS_ASSEMBLE_STALL_MS, LOCAL_FOLDERS_CHUNK_AVG, LOCAL_FOLDERS_CHUNK_MAX, LOCAL_FOLDERS_CHUNK_MIN, LOCAL_FOLDERS_CONTRACT_VERSION, LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS, LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES, LOCAL_FOLDERS_HAVE_BATCH, LOCAL_FOLDERS_JOB_TTL_MS, LOCAL_FOLDERS_READ_RANGE_MAX, LOCAL_FOLDERS_RESERVED_DIR, type LocalFolderChangeKind, type LocalFolderEntryKind, type LocalFolderJobKind, type LocalFolderMode, localFoldersProviderPackageId, } from "./system/local-folders-contract";
|
|
19
19
|
export { getLogsContractDefinition, type ILogsConsumer, LOGS_CONTRACT_VERSION, resolveLogsContract, } from "./system/logs-contract";
|
|
20
20
|
export * from "./system/network-contracts";
|
|
21
21
|
export { getToolAccessControlContractDefinition, type IToolAccessControlConsumer, TOOL_ACCESS_CONTROL_CONTRACT_VERSION, } from "./system/tool-access-control-contract";
|
package/dist/contracts/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.DEVICE_OPERATIONS_MAX_ROWS = exports.DEVICE_OPERATIONS_MAX_RESULT_BYTES = exports.DEVICE_OPERATIONS_MAX_QUERY_LENGTH = exports.DEVICE_OPERATIONS_CONTRACT_VERSION = exports.setRemoteContractTransportFactory = exports.resolveRemoteTargetEndpoint = exports.getRemoteContractTransportFactory = exports.createRemoteContractEndpoint = exports.ContractRegistry = exports.PersistentContractRegistry = exports.waitForHostContractTransport = exports.subscribeHostContractTransport = exports.registerHostContractTransport = exports.getHostContractTransport = exports.hostContractConsumer = exports.setSchemaToFieldsFn = exports.extractToolShape = exports.extractTableShape = exports.createLocalContractConsumer = exports.contractsSchema = exports.contractsMetaData = exports.ContractsTable = exports.Contracts = exports.inProcessTransportPair = exports.connectionContractTransport = exports.CONTRACT_REQUEST_CHANNEL = exports.CONTRACT_NOTIFY_CHANNEL = exports.verifyRemoteContractIdentity = exports.registerContractResolver = exports.isSelfTrustedContractCaller = exports.handleContractCall = exports.getContractResolver = exports.createUserContextContractProviderRouter = exports.createLocalUserContextContractProviderRouter = exports.authorizeRemoteContractCall = exports.sameUserContractPermissionCheck = exports.createRemoteContractConsumer = exports.createContractProviderSession = exports.createContractProviderEndpoint = exports.createContractProvider = exports.createContractConsumer = exports.CONTRACT_CALL_RPC = exports.contractProvidersSchema = exports.contractProvidersMetaData = exports.ContractProvidersTable = exports.ContractProviders = exports.createContractProviderRouter = exports.PackageBuilder = exports.definePackage = exports.ContractBuilder = void 0;
|
|
18
|
-
exports.validateProviderSatisfiesContract = exports.validateImmutability = exports.validateAlsoImplements = exports.contractKey = exports.registerSystemContract = exports.listSystemContracts = exports.installSystemContracts = exports.TOOL_ACCESS_CONTROL_CONTRACT_VERSION = exports.getToolAccessControlContractDefinition = exports.resolveLogsContract = exports.LOGS_CONTRACT_VERSION = exports.getLogsContractDefinition = exports.localFoldersProviderPackageId = exports.LOCAL_FOLDERS_RESERVED_DIR = exports.LOCAL_FOLDERS_READ_RANGE_MAX = exports.LOCAL_FOLDERS_JOB_TTL_MS = exports.LOCAL_FOLDERS_CONTRACT_VERSION = exports.LOCAL_FOLDERS_CHUNK_MIN = exports.LOCAL_FOLDERS_CHUNK_MAX = exports.LOCAL_FOLDERS_CHUNK_AVG = exports.getLocalFoldersContractDefinition = exports.INVITES_CONTRACT_VERSION = exports.getInvitesContractDefinition = exports.IDENTITY_CONTRACT_VERSION = exports.getIdentityContractDefinition = exports.getDeviceOperationsContractDefinition = exports.deviceOperationsToolIds = exports.deviceOperationsProviderPackageId = exports.DEVICE_OPERATIONS_MAX_TOOLS = void 0;
|
|
18
|
+
exports.validateProviderSatisfiesContract = exports.validateImmutability = exports.validateAlsoImplements = exports.contractKey = exports.registerSystemContract = exports.listSystemContracts = exports.installSystemContracts = exports.TOOL_ACCESS_CONTROL_CONTRACT_VERSION = exports.getToolAccessControlContractDefinition = exports.resolveLogsContract = exports.LOGS_CONTRACT_VERSION = exports.getLogsContractDefinition = exports.localFoldersProviderPackageId = exports.LOCAL_FOLDERS_RESERVED_DIR = exports.LOCAL_FOLDERS_READ_RANGE_MAX = exports.LOCAL_FOLDERS_JOB_TTL_MS = exports.LOCAL_FOLDERS_HAVE_BATCH = exports.LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES = exports.LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS = exports.LOCAL_FOLDERS_CONTRACT_VERSION = exports.LOCAL_FOLDERS_CHUNK_MIN = exports.LOCAL_FOLDERS_CHUNK_MAX = exports.LOCAL_FOLDERS_CHUNK_AVG = exports.LOCAL_FOLDERS_ASSEMBLE_STALL_MS = exports.getLocalFoldersContractDefinition = exports.INVITES_CONTRACT_VERSION = exports.getInvitesContractDefinition = exports.IDENTITY_CONTRACT_VERSION = exports.getIdentityContractDefinition = exports.getDeviceOperationsContractDefinition = exports.deviceOperationsToolIds = exports.deviceOperationsProviderPackageId = exports.DEVICE_OPERATIONS_MAX_TOOLS = void 0;
|
|
19
19
|
var builder_1 = require("./builder");
|
|
20
20
|
Object.defineProperty(exports, "ContractBuilder", { enumerable: true, get: function () { return builder_1.ContractBuilder; } });
|
|
21
21
|
Object.defineProperty(exports, "definePackage", { enumerable: true, get: function () { return builder_1.definePackage; } });
|
|
@@ -93,10 +93,14 @@ Object.defineProperty(exports, "getInvitesContractDefinition", { enumerable: tru
|
|
|
93
93
|
Object.defineProperty(exports, "INVITES_CONTRACT_VERSION", { enumerable: true, get: function () { return invites_contract_1.INVITES_CONTRACT_VERSION; } });
|
|
94
94
|
var local_folders_contract_1 = require("./system/local-folders-contract");
|
|
95
95
|
Object.defineProperty(exports, "getLocalFoldersContractDefinition", { enumerable: true, get: function () { return local_folders_contract_1.getLocalFoldersContractDefinition; } });
|
|
96
|
+
Object.defineProperty(exports, "LOCAL_FOLDERS_ASSEMBLE_STALL_MS", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_ASSEMBLE_STALL_MS; } });
|
|
96
97
|
Object.defineProperty(exports, "LOCAL_FOLDERS_CHUNK_AVG", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_CHUNK_AVG; } });
|
|
97
98
|
Object.defineProperty(exports, "LOCAL_FOLDERS_CHUNK_MAX", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_CHUNK_MAX; } });
|
|
98
99
|
Object.defineProperty(exports, "LOCAL_FOLDERS_CHUNK_MIN", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_CHUNK_MIN; } });
|
|
99
100
|
Object.defineProperty(exports, "LOCAL_FOLDERS_CONTRACT_VERSION", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_CONTRACT_VERSION; } });
|
|
101
|
+
Object.defineProperty(exports, "LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS; } });
|
|
102
|
+
Object.defineProperty(exports, "LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES; } });
|
|
103
|
+
Object.defineProperty(exports, "LOCAL_FOLDERS_HAVE_BATCH", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_HAVE_BATCH; } });
|
|
100
104
|
Object.defineProperty(exports, "LOCAL_FOLDERS_JOB_TTL_MS", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_JOB_TTL_MS; } });
|
|
101
105
|
Object.defineProperty(exports, "LOCAL_FOLDERS_READ_RANGE_MAX", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_READ_RANGE_MAX; } });
|
|
102
106
|
Object.defineProperty(exports, "LOCAL_FOLDERS_RESERVED_DIR", { enumerable: true, get: function () { return local_folders_contract_1.LOCAL_FOLDERS_RESERVED_DIR; } });
|
|
@@ -11,8 +11,20 @@ export declare const LOCAL_FOLDERS_CHUNK_AVG: number;
|
|
|
11
11
|
export declare const LOCAL_FOLDERS_CHUNK_MAX: number;
|
|
12
12
|
/** Directory name reserved inside every grant for trash and in-flight files. */
|
|
13
13
|
export declare const LOCAL_FOLDERS_RESERVED_DIR = ".peers";
|
|
14
|
-
/** How long finished index jobs stay readable via `getJob`. */
|
|
14
|
+
/** How long finished index and assemble jobs stay readable via `getJob`. */
|
|
15
15
|
export declare const LOCAL_FOLDERS_JOB_TTL_MS: number;
|
|
16
|
+
/**
|
|
17
|
+
* How long an assemble job waits without receiving a block before it fails
|
|
18
|
+
* with `stalled`. A later assemble of the same block list resumes from the
|
|
19
|
+
* partial file.
|
|
20
|
+
*/
|
|
21
|
+
export declare const LOCAL_FOLDERS_ASSEMBLE_STALL_MS: number;
|
|
22
|
+
/** Maximum hashes in one `haveBlocks` request on the block-exchange path. */
|
|
23
|
+
export declare const LOCAL_FOLDERS_HAVE_BATCH = 2000;
|
|
24
|
+
/** Maximum blocks in one `getBlocks` request. */
|
|
25
|
+
export declare const LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS = 32;
|
|
26
|
+
/** Maximum total bytes in one `getBlocks` request. */
|
|
27
|
+
export declare const LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES: number;
|
|
16
28
|
/** Package ID used by live System Local Folders tool instances. */
|
|
17
29
|
export declare const localFoldersProviderPackageId = "000peers0system0000000001";
|
|
18
30
|
/** Grant mode accepted by `requestGrant`. */
|
|
@@ -101,20 +113,48 @@ export interface ILocalFolderFileBlocks {
|
|
|
101
113
|
size: number;
|
|
102
114
|
}[];
|
|
103
115
|
}
|
|
104
|
-
/**
|
|
116
|
+
/** One content-defined block in an assemble manifest. */
|
|
117
|
+
export interface ILocalFolderManifestBlock {
|
|
118
|
+
hash: string;
|
|
119
|
+
size: number;
|
|
120
|
+
}
|
|
121
|
+
/** Input for `assemble`. `blocks` is the ordered manifest to write. */
|
|
122
|
+
export interface ILocalFolderAssembleInput {
|
|
123
|
+
grantId: string;
|
|
124
|
+
/** Relative file path to create or replace. */
|
|
125
|
+
relPath: string;
|
|
126
|
+
blocks: ILocalFolderManifestBlock[];
|
|
127
|
+
/** mtime applied to the finished file, in unix epoch milliseconds. */
|
|
128
|
+
mtimeMs?: number;
|
|
129
|
+
/** Unix permission bits. Only the low 9 bits are applied. */
|
|
130
|
+
mode?: number;
|
|
131
|
+
/** Device ids allowed to serve blocks. Omit to ask every eligible peer. */
|
|
132
|
+
sources?: string[];
|
|
133
|
+
}
|
|
134
|
+
/** Counts from a finished index job. */
|
|
135
|
+
export interface ILocalFolderIndexResult {
|
|
136
|
+
files: number;
|
|
137
|
+
rehashed: number;
|
|
138
|
+
skipped: number;
|
|
139
|
+
removed: number;
|
|
140
|
+
}
|
|
141
|
+
/** Counts from a finished assemble job. `sources` is how many peers sent bytes. */
|
|
142
|
+
export interface ILocalFolderAssembleResult {
|
|
143
|
+
bytesPulled: number;
|
|
144
|
+
bytesReused: number;
|
|
145
|
+
sources: number;
|
|
146
|
+
}
|
|
147
|
+
/** Host job kind reported by `getJob`. */
|
|
148
|
+
export type LocalFolderJobKind = "index" | "assemble";
|
|
149
|
+
/** Index or assemble job snapshot returned by `getJob`. */
|
|
105
150
|
export interface ILocalFolderJobInfo {
|
|
106
151
|
jobId: string;
|
|
107
|
-
kind:
|
|
152
|
+
kind: LocalFolderJobKind;
|
|
108
153
|
status: "running" | "done" | "error" | "cancelled";
|
|
109
154
|
done: number;
|
|
110
155
|
total: number;
|
|
111
156
|
error?: string;
|
|
112
|
-
result?:
|
|
113
|
-
files: number;
|
|
114
|
-
rehashed: number;
|
|
115
|
-
skipped: number;
|
|
116
|
-
removed: number;
|
|
117
|
-
};
|
|
157
|
+
result?: ILocalFolderIndexResult | ILocalFolderAssembleResult;
|
|
118
158
|
}
|
|
119
159
|
/** Input for `move`. */
|
|
120
160
|
export interface ILocalFolderMoveInput {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.localFoldersProviderPackageId = exports.LOCAL_FOLDERS_JOB_TTL_MS = exports.LOCAL_FOLDERS_RESERVED_DIR = exports.LOCAL_FOLDERS_CHUNK_MAX = exports.LOCAL_FOLDERS_CHUNK_AVG = exports.LOCAL_FOLDERS_CHUNK_MIN = exports.LOCAL_FOLDERS_READ_RANGE_MAX = exports.LOCAL_FOLDERS_CONTRACT_VERSION = void 0;
|
|
3
|
+
exports.localFoldersProviderPackageId = exports.LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES = exports.LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS = exports.LOCAL_FOLDERS_HAVE_BATCH = exports.LOCAL_FOLDERS_ASSEMBLE_STALL_MS = exports.LOCAL_FOLDERS_JOB_TTL_MS = exports.LOCAL_FOLDERS_RESERVED_DIR = exports.LOCAL_FOLDERS_CHUNK_MAX = exports.LOCAL_FOLDERS_CHUNK_AVG = exports.LOCAL_FOLDERS_CHUNK_MIN = exports.LOCAL_FOLDERS_READ_RANGE_MAX = exports.LOCAL_FOLDERS_CONTRACT_VERSION = void 0;
|
|
4
4
|
exports.getLocalFoldersContractDefinition = getLocalFoldersContractDefinition;
|
|
5
5
|
const system_ids_1 = require("../../system-ids");
|
|
6
6
|
const field_type_1 = require("../../types/field-type");
|
|
@@ -17,8 +17,20 @@ exports.LOCAL_FOLDERS_CHUNK_AVG = 1024 * 1024;
|
|
|
17
17
|
exports.LOCAL_FOLDERS_CHUNK_MAX = 4 * 1024 * 1024;
|
|
18
18
|
/** Directory name reserved inside every grant for trash and in-flight files. */
|
|
19
19
|
exports.LOCAL_FOLDERS_RESERVED_DIR = ".peers";
|
|
20
|
-
/** How long finished index jobs stay readable via `getJob`. */
|
|
20
|
+
/** How long finished index and assemble jobs stay readable via `getJob`. */
|
|
21
21
|
exports.LOCAL_FOLDERS_JOB_TTL_MS = 60 * 60 * 1000;
|
|
22
|
+
/**
|
|
23
|
+
* How long an assemble job waits without receiving a block before it fails
|
|
24
|
+
* with `stalled`. A later assemble of the same block list resumes from the
|
|
25
|
+
* partial file.
|
|
26
|
+
*/
|
|
27
|
+
exports.LOCAL_FOLDERS_ASSEMBLE_STALL_MS = 10 * 60 * 1000;
|
|
28
|
+
/** Maximum hashes in one `haveBlocks` request on the block-exchange path. */
|
|
29
|
+
exports.LOCAL_FOLDERS_HAVE_BATCH = 2000;
|
|
30
|
+
/** Maximum blocks in one `getBlocks` request. */
|
|
31
|
+
exports.LOCAL_FOLDERS_GETBLOCKS_MAX_BLOCKS = 32;
|
|
32
|
+
/** Maximum total bytes in one `getBlocks` request. */
|
|
33
|
+
exports.LOCAL_FOLDERS_GETBLOCKS_MAX_BYTES = 64 * 1024 * 1024;
|
|
22
34
|
/** Package ID used by live System Local Folders tool instances. */
|
|
23
35
|
exports.localFoldersProviderPackageId = system_ids_1.peersSystemPackageId;
|
|
24
36
|
const field = (name, type, description, opts = {}) => ({ name, type, description, ...opts });
|
|
@@ -36,7 +48,7 @@ function getLocalFoldersContractDefinition() {
|
|
|
36
48
|
version: exports.LOCAL_FOLDERS_CONTRACT_VERSION,
|
|
37
49
|
devTag: "dev",
|
|
38
50
|
name: "System Local Folders",
|
|
39
|
-
description: "Scoped access to operator-granted folders on this device: listing, bounded reads, indexing, move, and trash.",
|
|
51
|
+
description: "Scoped access to operator-granted folders on this device: listing, bounded reads, indexing, assemble, move, and trash.",
|
|
40
52
|
tables: [],
|
|
41
53
|
tools: [
|
|
42
54
|
{
|
|
@@ -144,26 +156,44 @@ function getLocalFoldersContractDefinition() {
|
|
|
144
156
|
}),
|
|
145
157
|
],
|
|
146
158
|
},
|
|
159
|
+
{
|
|
160
|
+
name: "assemble",
|
|
161
|
+
usageDescription: "Start a host job that writes a file from an ordered block list. Missing blocks are pulled from opted-in devices. Requires a readwrite grant.",
|
|
162
|
+
inputFields: [
|
|
163
|
+
grantIdField,
|
|
164
|
+
field("relPath", field_type_1.FieldType.string, "Relative file path to create or replace."),
|
|
165
|
+
field("blocks", field_type_1.FieldType.object, "Ordered blocks with hash and size.", {
|
|
166
|
+
isArray: true,
|
|
167
|
+
}),
|
|
168
|
+
field("mtimeMs", field_type_1.FieldType.number, "mtime applied to the finished file.", {
|
|
169
|
+
optional: true,
|
|
170
|
+
}),
|
|
171
|
+
field("mode", field_type_1.FieldType.number, "Unix permission bits (low 9 bits).", { optional: true }),
|
|
172
|
+
field("sources", field_type_1.FieldType.id, "Device ids allowed to serve blocks.", {
|
|
173
|
+
optional: true,
|
|
174
|
+
isArray: true,
|
|
175
|
+
}),
|
|
176
|
+
],
|
|
177
|
+
outputFields: [field("jobId", field_type_1.FieldType.id, "Assemble job id.")],
|
|
178
|
+
},
|
|
147
179
|
{
|
|
148
180
|
name: "getJob",
|
|
149
|
-
usageDescription: "Return the status of an index job, including after it finishes.",
|
|
150
|
-
inputFields: [field("jobId", field_type_1.FieldType.id, "Job id returned by index.")],
|
|
181
|
+
usageDescription: "Return the status of an index or assemble job, including after it finishes.",
|
|
182
|
+
inputFields: [field("jobId", field_type_1.FieldType.id, "Job id returned by index or assemble.")],
|
|
151
183
|
outputFields: [
|
|
152
184
|
field("jobId", field_type_1.FieldType.id, "Job id."),
|
|
153
|
-
field("kind", field_type_1.FieldType.string,
|
|
185
|
+
field("kind", field_type_1.FieldType.string, 'Job kind: "index" or "assemble".'),
|
|
154
186
|
field("status", field_type_1.FieldType.string, "running, done, error, or cancelled."),
|
|
155
187
|
field("done", field_type_1.FieldType.number, "Units completed."),
|
|
156
188
|
field("total", field_type_1.FieldType.number, "Units discovered."),
|
|
157
189
|
field("error", field_type_1.FieldType.string, "Failure message.", { optional: true }),
|
|
158
|
-
field("result", field_type_1.FieldType.object, "Index counts when status is done.", {
|
|
159
|
-
optional: true,
|
|
160
|
-
}),
|
|
190
|
+
field("result", field_type_1.FieldType.object, "Index counts ({ files, rehashed, skipped, removed }) or assemble counts ({ bytesPulled, bytesReused, sources }) when status is done.", { optional: true }),
|
|
161
191
|
],
|
|
162
192
|
},
|
|
163
193
|
{
|
|
164
194
|
name: "cancelJob",
|
|
165
|
-
usageDescription: "Cancel a running index job.",
|
|
166
|
-
inputFields: [field("jobId", field_type_1.FieldType.id, "Job id returned by index.")],
|
|
195
|
+
usageDescription: "Cancel a running index or assemble job. An assemble keeps its partial file.",
|
|
196
|
+
inputFields: [field("jobId", field_type_1.FieldType.id, "Job id returned by index or assemble.")],
|
|
167
197
|
outputFields: [field("cancelled", field_type_1.FieldType.boolean, "Whether the job was cancelled.")],
|
|
168
198
|
},
|
|
169
199
|
{
|
|
@@ -207,7 +237,7 @@ function getLocalFoldersContractDefinition() {
|
|
|
207
237
|
},
|
|
208
238
|
{
|
|
209
239
|
name: "jobProgress",
|
|
210
|
-
description: "Progress for a host index job.",
|
|
240
|
+
description: "Progress for a host index or assemble job.",
|
|
211
241
|
payloadFields: [
|
|
212
242
|
field("jobId", field_type_1.FieldType.id, "Job id."),
|
|
213
243
|
field("done", field_type_1.FieldType.number, "Units completed."),
|
|
@@ -216,7 +246,7 @@ function getLocalFoldersContractDefinition() {
|
|
|
216
246
|
},
|
|
217
247
|
{
|
|
218
248
|
name: "jobFinished",
|
|
219
|
-
description: "An index job finished, failed, or was cancelled.",
|
|
249
|
+
description: "An index or assemble job finished, failed, or was cancelled.",
|
|
220
250
|
payloadFields: [
|
|
221
251
|
field("jobId", field_type_1.FieldType.id, "Job id."),
|
|
222
252
|
field("status", field_type_1.FieldType.string, "done, error, or cancelled."),
|
package/dist/system-ids.d.ts
CHANGED
|
@@ -109,6 +109,7 @@ export declare const localFoldersToolIds: {
|
|
|
109
109
|
readonly readRange: "00mukk9dwdih6mh8rrofph80o";
|
|
110
110
|
readonly index: "00mukk9dwdm01bxg3hrby6pli";
|
|
111
111
|
readonly getFileBlocks: "00mumw1pmmf3y2ujfdc99h4ib";
|
|
112
|
+
readonly assemble: "00mungara9ixeolgxukzj2aku";
|
|
112
113
|
readonly getJob: "00mukk9dwd1c1f51xjysssgtv";
|
|
113
114
|
readonly cancelJob: "00mukk9dweizvif4ghp6kfa92";
|
|
114
115
|
readonly move: "00mukk9dwer8wsw5eiwis8tzm";
|
package/dist/system-ids.js
CHANGED
|
@@ -113,6 +113,7 @@ exports.localFoldersToolIds = {
|
|
|
113
113
|
readRange: "00mukk9dwdih6mh8rrofph80o",
|
|
114
114
|
index: "00mukk9dwdm01bxg3hrby6pli",
|
|
115
115
|
getFileBlocks: "00mumw1pmmf3y2ujfdc99h4ib",
|
|
116
|
+
assemble: "00mungara9ixeolgxukzj2aku",
|
|
116
117
|
getJob: "00mukk9dwd1c1f51xjysssgtv",
|
|
117
118
|
cancelJob: "00mukk9dweizvif4ghp6kfa92",
|
|
118
119
|
move: "00mukk9dwer8wsw5eiwis8tzm",
|