@stoneforge/quarry 1.13.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/quarry-api.d.ts +9 -1
- package/dist/api/quarry-api.d.ts.map +1 -1
- package/dist/api/quarry-api.js +21 -2
- package/dist/api/quarry-api.js.map +1 -1
- package/dist/api/types.d.ts +8 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/cli/commands/auto-link-helper.d.ts.map +1 -1
- package/dist/cli/commands/auto-link-helper.js +1 -0
- package/dist/cli/commands/auto-link-helper.js.map +1 -1
- package/dist/cli/commands/crud.d.ts +2 -0
- package/dist/cli/commands/crud.d.ts.map +1 -1
- package/dist/cli/commands/crud.js +100 -10
- package/dist/cli/commands/crud.js.map +1 -1
- package/dist/cli/commands/docs.js +2 -2
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/document.js +1 -1
- package/dist/cli/commands/document.js.map +1 -1
- package/dist/cli/commands/entity.js +1 -1
- package/dist/cli/commands/entity.js.map +1 -1
- package/dist/cli/commands/external-sync.d.ts +6 -5
- package/dist/cli/commands/external-sync.d.ts.map +1 -1
- package/dist/cli/commands/external-sync.js +1032 -180
- package/dist/cli/commands/external-sync.js.map +1 -1
- package/dist/cli/commands/library.js +1 -1
- package/dist/cli/commands/library.js.map +1 -1
- package/dist/cli/commands/message.js +2 -2
- package/dist/cli/commands/message.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +2 -0
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +7 -4
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/team.js +1 -1
- package/dist/cli/commands/team.js.map +1 -1
- package/dist/cli/commands/workflow.js +1 -1
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/utils/progress.d.ts +30 -0
- package/dist/cli/utils/progress.d.ts.map +1 -0
- package/dist/cli/utils/progress.js +47 -0
- package/dist/cli/utils/progress.js.map +1 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +6 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/file.d.ts.map +1 -1
- package/dist/config/file.js +10 -0
- package/dist/config/file.js.map +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +7 -1
- package/dist/config/merge.js.map +1 -1
- package/dist/config/types.d.ts +7 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +13 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/external-sync/adapters/document-sync-adapter.d.ts +150 -0
- package/dist/external-sync/adapters/document-sync-adapter.d.ts.map +1 -0
- package/dist/external-sync/adapters/document-sync-adapter.js +325 -0
- package/dist/external-sync/adapters/document-sync-adapter.js.map +1 -0
- package/dist/external-sync/index.d.ts +3 -0
- package/dist/external-sync/index.d.ts.map +1 -1
- package/dist/external-sync/index.js +4 -0
- package/dist/external-sync/index.js.map +1 -1
- package/dist/external-sync/provider-registry.d.ts +7 -3
- package/dist/external-sync/provider-registry.d.ts.map +1 -1
- package/dist/external-sync/provider-registry.js +20 -3
- package/dist/external-sync/provider-registry.js.map +1 -1
- package/dist/external-sync/providers/folder/folder-document-adapter.d.ts +97 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.js +261 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.js.map +1 -0
- package/dist/external-sync/providers/folder/folder-fs.d.ts +146 -0
- package/dist/external-sync/providers/folder/folder-fs.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/folder-fs.js +300 -0
- package/dist/external-sync/providers/folder/folder-fs.js.map +1 -0
- package/dist/external-sync/providers/folder/folder-provider.d.ts +28 -0
- package/dist/external-sync/providers/folder/folder-provider.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/folder-provider.js +87 -0
- package/dist/external-sync/providers/folder/folder-provider.js.map +1 -0
- package/dist/external-sync/providers/folder/index.d.ts +11 -0
- package/dist/external-sync/providers/folder/index.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/index.js +13 -0
- package/dist/external-sync/providers/folder/index.js.map +1 -0
- package/dist/external-sync/providers/index.d.ts +4 -0
- package/dist/external-sync/providers/index.d.ts.map +1 -1
- package/dist/external-sync/providers/index.js +5 -0
- package/dist/external-sync/providers/index.js.map +1 -1
- package/dist/external-sync/providers/notion/index.d.ts +19 -0
- package/dist/external-sync/providers/notion/index.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/index.js +20 -0
- package/dist/external-sync/providers/notion/index.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-api.d.ts +253 -0
- package/dist/external-sync/providers/notion/notion-api.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-api.js +492 -0
- package/dist/external-sync/providers/notion/notion-api.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-blocks.d.ts +93 -0
- package/dist/external-sync/providers/notion/notion-blocks.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-blocks.js +773 -0
- package/dist/external-sync/providers/notion/notion-blocks.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.d.ts +176 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.js +413 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-provider.d.ts +57 -0
- package/dist/external-sync/providers/notion/notion-provider.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-provider.js +159 -0
- package/dist/external-sync/providers/notion/notion-provider.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-types.d.ts +388 -0
- package/dist/external-sync/providers/notion/notion-types.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-types.js +47 -0
- package/dist/external-sync/providers/notion/notion-types.js.map +1 -0
- package/dist/external-sync/sync-engine.d.ts +70 -4
- package/dist/external-sync/sync-engine.d.ts.map +1 -1
- package/dist/external-sync/sync-engine.js +436 -67
- package/dist/external-sync/sync-engine.js.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/index.js.map +1 -1
- package/package.json +4 -12
package/dist/api/quarry-api.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* connecting the type system to the storage layer with full CRUD operations.
|
|
6
6
|
*/
|
|
7
7
|
import type { StorageBackend } from '@stoneforge/storage';
|
|
8
|
-
import type { Element, ElementId, EntityId, ElementType, Timestamp, Task, Document, DocumentId, Dependency, DependencyType, Event, EventFilter, Channel, PlanProgress, Entity, CreateTaskInput, OrgChartNode } from '@stoneforge/core';
|
|
8
|
+
import type { Element, ElementId, EntityId, ElementType, Timestamp, Task, Document, DocumentId, Dependency, DependencyType, Event, EventFilter, Channel, PlanProgress, Entity, CreateTaskInput, OrgChartNode, IdGeneratorConfig } from '@stoneforge/core';
|
|
9
9
|
import type { QuarryAPI, ElementFilter, TaskFilter, ChannelFilter, GetOptions, BlockedTask, DependencyTree, DependencyInput, ListResult, ImportResult, ImportOptions, ExportOptions, SystemStats, UpdateOptions, DeleteOptions, AddTaskToPlanOptions, CreateTaskInPlanOptions, BulkCloseOptions, BulkDeferOptions, BulkReassignOptions, BulkTagOptions, BulkOperationResult, DeleteWorkflowOptions, DeleteWorkflowResult, GarbageCollectionOptions, GarbageCollectionResult, TaskGarbageCollectionOptions, TaskGarbageCollectionResult, TeamMembershipResult, TeamMetrics, OperationOptions, ReconstructedState, ElementTimeline, WorkflowProgress, FTSSearchOptions, FTSSearchResult } from './types.js';
|
|
10
10
|
import { type ApprovalResult, type AddMemberOptions, type RemoveMemberOptions, type MembershipResult, type FindOrCreateDirectChannelResult, type SendDirectMessageInput, type SendDirectMessageResult } from './types.js';
|
|
11
11
|
import type { EmbeddingService } from '../services/embeddings/service.js';
|
|
@@ -19,12 +19,20 @@ export declare class QuarryAPIImpl implements QuarryAPI {
|
|
|
19
19
|
private syncService;
|
|
20
20
|
private inboxService;
|
|
21
21
|
private embeddingService?;
|
|
22
|
+
private idLengthCache;
|
|
22
23
|
constructor(backend: StorageBackend);
|
|
23
24
|
/**
|
|
24
25
|
* Internal method to update task status without triggering additional blocked cache updates.
|
|
25
26
|
* Used for automatic blocked/unblocked status transitions.
|
|
26
27
|
*/
|
|
27
28
|
private updateTaskStatusInternal;
|
|
29
|
+
/**
|
|
30
|
+
* Returns an IdGeneratorConfig with adaptive hash length and a collision
|
|
31
|
+
* checker that queries the database. Pass this to factory functions
|
|
32
|
+
* (createTask, createDocument, etc.) so generated IDs use the correct
|
|
33
|
+
* hash length and can detect/retry on collisions.
|
|
34
|
+
*/
|
|
35
|
+
getIdGeneratorConfig(): IdGeneratorConfig;
|
|
28
36
|
get<T extends Element>(id: ElementId, options?: GetOptions): Promise<T | null>;
|
|
29
37
|
list<T extends Element>(filter?: ElementFilter): Promise<T[]>;
|
|
30
38
|
listPaginated<T extends Element>(filter?: ElementFilter): Promise<ListResult<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quarry-api.d.ts","sourceRoot":"","sources":["../../src/api/quarry-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,IAAI,EAGJ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,EACL,WAAW,EAEX,OAAO,EAUP,YAAY,EACZ,MAAM,EACN,eAAe,EACf,YAAY,
|
|
1
|
+
{"version":3,"file":"quarry-api.d.ts","sourceRoot":"","sources":["../../src/api/quarry-api.ts"],"names":[],"mappings":"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"}
|
package/dist/api/quarry-api.js
CHANGED
|
@@ -8,6 +8,7 @@ import { isDocument, reconstructStateAtTime, generateTimelineSnapshots, createTi
|
|
|
8
8
|
import { createBlockedCacheService } from '../services/blocked-cache.js';
|
|
9
9
|
import { createPriorityService } from '../services/priority-service.js';
|
|
10
10
|
import { createInboxService } from '../services/inbox.js';
|
|
11
|
+
import { createIdLengthCache } from '../services/id-length-cache.js';
|
|
11
12
|
import { SyncService } from '../sync/service.js';
|
|
12
13
|
import { computeContentHashSync } from '../sync/hash.js';
|
|
13
14
|
import { DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE, } from './types.js';
|
|
@@ -303,12 +304,14 @@ export class QuarryAPIImpl {
|
|
|
303
304
|
syncService;
|
|
304
305
|
inboxService;
|
|
305
306
|
embeddingService;
|
|
307
|
+
idLengthCache;
|
|
306
308
|
constructor(backend) {
|
|
307
309
|
this.backend = backend;
|
|
308
310
|
this.blockedCache = createBlockedCacheService(backend);
|
|
309
311
|
this.priorityService = createPriorityService(backend);
|
|
310
312
|
this.syncService = new SyncService(backend);
|
|
311
313
|
this.inboxService = createInboxService(backend);
|
|
314
|
+
this.idLengthCache = createIdLengthCache(backend);
|
|
312
315
|
// Set up automatic status transitions for blocked/unblocked states
|
|
313
316
|
this.blockedCache.setStatusTransitionCallback({
|
|
314
317
|
onBlock: (elementId, previousStatus) => {
|
|
@@ -371,6 +374,18 @@ export class QuarryAPIImpl {
|
|
|
371
374
|
// Mark as dirty for sync
|
|
372
375
|
this.backend.markDirty(elementId);
|
|
373
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Returns an IdGeneratorConfig with adaptive hash length and a collision
|
|
379
|
+
* checker that queries the database. Pass this to factory functions
|
|
380
|
+
* (createTask, createDocument, etc.) so generated IDs use the correct
|
|
381
|
+
* hash length and can detect/retry on collisions.
|
|
382
|
+
*/
|
|
383
|
+
getIdGeneratorConfig() {
|
|
384
|
+
return {
|
|
385
|
+
elementCount: this.idLengthCache.getElementCount(),
|
|
386
|
+
checkCollision: (id) => this.get(id).then((r) => r !== null),
|
|
387
|
+
};
|
|
388
|
+
}
|
|
374
389
|
// --------------------------------------------------------------------------
|
|
375
390
|
// CRUD Operations
|
|
376
391
|
// --------------------------------------------------------------------------
|
|
@@ -844,6 +859,8 @@ export class QuarryAPIImpl {
|
|
|
844
859
|
if (isDocument(element)) {
|
|
845
860
|
this.indexDocumentForFTS(element);
|
|
846
861
|
}
|
|
862
|
+
// Notify IdLengthCache so it can track growth and adjust hash length
|
|
863
|
+
this.idLengthCache.notifyCreate();
|
|
847
864
|
return element;
|
|
848
865
|
}
|
|
849
866
|
async update(id, updates, options) {
|
|
@@ -1412,10 +1429,12 @@ export class QuarryAPIImpl {
|
|
|
1412
1429
|
taskId = generateChildId(planId, childNumber);
|
|
1413
1430
|
}
|
|
1414
1431
|
// Create a properly-formed task using the createTask factory
|
|
1432
|
+
// Pass IdGeneratorConfig so the fallback path (non-hierarchical ID)
|
|
1433
|
+
// uses adaptive hash length and collision detection
|
|
1415
1434
|
const taskElement = await createTask({
|
|
1416
1435
|
...taskInput,
|
|
1417
1436
|
id: taskId,
|
|
1418
|
-
});
|
|
1437
|
+
}, this.getIdGeneratorConfig());
|
|
1419
1438
|
const task = await this.create(taskElement);
|
|
1420
1439
|
// Create parent-child dependency
|
|
1421
1440
|
const actor = options?.actor ?? taskInput.createdBy;
|
|
@@ -2719,7 +2738,7 @@ export class QuarryAPIImpl {
|
|
|
2719
2738
|
attachments: input.attachments,
|
|
2720
2739
|
tags: input.tags,
|
|
2721
2740
|
metadata: input.metadata,
|
|
2722
|
-
});
|
|
2741
|
+
}, this.getIdGeneratorConfig());
|
|
2723
2742
|
// Persist the message (membership validation happens in create)
|
|
2724
2743
|
const createdMessage = await this.create(message);
|
|
2725
2744
|
return {
|