annotation-kit 0.0.0-stage → 0.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.
Files changed (121) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +75 -0
  3. package/README.md +114 -2
  4. package/README.zh-CN.md +112 -0
  5. package/dist/annotation-kit.css +157 -0
  6. package/dist/chunks/references-ukB-tSle.js +1126 -0
  7. package/dist/chunks/references-ukB-tSle.js.map +1 -0
  8. package/dist/electron/element-context.cjs +72 -0
  9. package/dist/electron/guest-preload.cjs +327 -0
  10. package/dist/electron.js +394 -0
  11. package/dist/electron.js.map +1 -0
  12. package/dist/index.js +910 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/react.js +2282 -0
  15. package/dist/react.js.map +1 -0
  16. package/dist/styles.d.ts +2 -0
  17. package/dist/types/address.d.ts +53 -0
  18. package/dist/types/address.d.ts.map +1 -0
  19. package/dist/types/client/Workbench.d.ts +11 -0
  20. package/dist/types/client/Workbench.d.ts.map +1 -0
  21. package/dist/types/client/composer/PacketPreview.d.ts +12 -0
  22. package/dist/types/client/composer/PacketPreview.d.ts.map +1 -0
  23. package/dist/types/client/composer/ReferenceCard.d.ts +12 -0
  24. package/dist/types/client/composer/ReferenceCard.d.ts.map +1 -0
  25. package/dist/types/client/composer/attachments.d.ts +10 -0
  26. package/dist/types/client/composer/attachments.d.ts.map +1 -0
  27. package/dist/types/client/composer/commit.d.ts +4 -0
  28. package/dist/types/client/composer/commit.d.ts.map +1 -0
  29. package/dist/types/client/composer/packets.d.ts +53 -0
  30. package/dist/types/client/composer/packets.d.ts.map +1 -0
  31. package/dist/types/client/composer/reference-presentation.d.ts +4 -0
  32. package/dist/types/client/composer/reference-presentation.d.ts.map +1 -0
  33. package/dist/types/client/error-copy.d.ts +69 -0
  34. package/dist/types/client/error-copy.d.ts.map +1 -0
  35. package/dist/types/client/errors.d.ts +10 -0
  36. package/dist/types/client/errors.d.ts.map +1 -0
  37. package/dist/types/client/files/FileSelectionAction.d.ts +7 -0
  38. package/dist/types/client/files/FileSelectionAction.d.ts.map +1 -0
  39. package/dist/types/client/files/SelectionCard.d.ts +14 -0
  40. package/dist/types/client/files/SelectionCard.d.ts.map +1 -0
  41. package/dist/types/client/files/document-workflow.d.ts +34 -0
  42. package/dist/types/client/files/document-workflow.d.ts.map +1 -0
  43. package/dist/types/client/files/pages/DocumentChrome.d.ts +30 -0
  44. package/dist/types/client/files/pages/DocumentChrome.d.ts.map +1 -0
  45. package/dist/types/client/files/pages/PageSelectionAction.d.ts +7 -0
  46. package/dist/types/client/files/pages/PageSelectionAction.d.ts.map +1 -0
  47. package/dist/types/client/files/pages/batches.d.ts +21 -0
  48. package/dist/types/client/files/pages/batches.d.ts.map +1 -0
  49. package/dist/types/client/files/pages/geometry.d.ts +16 -0
  50. package/dist/types/client/files/pages/geometry.d.ts.map +1 -0
  51. package/dist/types/client/files/pages/image-store.d.ts +8 -0
  52. package/dist/types/client/files/pages/image-store.d.ts.map +1 -0
  53. package/dist/types/client/files/pages/images.d.ts +41 -0
  54. package/dist/types/client/files/pages/images.d.ts.map +1 -0
  55. package/dist/types/client/files/pages/interaction.d.ts +55 -0
  56. package/dist/types/client/files/pages/interaction.d.ts.map +1 -0
  57. package/dist/types/client/files/pages/selection.d.ts +25 -0
  58. package/dist/types/client/files/pages/selection.d.ts.map +1 -0
  59. package/dist/types/client/files/pages/snapshot.d.ts +31 -0
  60. package/dist/types/client/files/pages/snapshot.d.ts.map +1 -0
  61. package/dist/types/client/files/references.d.ts +80 -0
  62. package/dist/types/client/files/references.d.ts.map +1 -0
  63. package/dist/types/client/files/selection.d.ts +11 -0
  64. package/dist/types/client/files/selection.d.ts.map +1 -0
  65. package/dist/types/client/files/sheets/SheetRecovery.d.ts +12 -0
  66. package/dist/types/client/files/sheets/SheetRecovery.d.ts.map +1 -0
  67. package/dist/types/client/files/sheets/SheetSurface.d.ts +27 -0
  68. package/dist/types/client/files/sheets/SheetSurface.d.ts.map +1 -0
  69. package/dist/types/client/files/sheets/geometry.d.ts +30 -0
  70. package/dist/types/client/files/sheets/geometry.d.ts.map +1 -0
  71. package/dist/types/client/files/sheets/navigation.d.ts +4 -0
  72. package/dist/types/client/files/sheets/navigation.d.ts.map +1 -0
  73. package/dist/types/client/files/sheets/snapshot.d.ts +45 -0
  74. package/dist/types/client/files/sheets/snapshot.d.ts.map +1 -0
  75. package/dist/types/client/locales.d.ts +148 -0
  76. package/dist/types/client/locales.d.ts.map +1 -0
  77. package/dist/types/client/messages/SentAnnotations.d.ts +18 -0
  78. package/dist/types/client/messages/SentAnnotations.d.ts.map +1 -0
  79. package/dist/types/client/messages/presentation.d.ts +39 -0
  80. package/dist/types/client/messages/presentation.d.ts.map +1 -0
  81. package/dist/types/client/model.d.ts +68 -0
  82. package/dist/types/client/model.d.ts.map +1 -0
  83. package/dist/types/client/quoted-context.d.ts +3 -0
  84. package/dist/types/client/quoted-context.d.ts.map +1 -0
  85. package/dist/types/client/responses/ResponseCard.d.ts +12 -0
  86. package/dist/types/client/responses/ResponseCard.d.ts.map +1 -0
  87. package/dist/types/client/responses/ResponseOverlay.d.ts +7 -0
  88. package/dist/types/client/responses/ResponseOverlay.d.ts.map +1 -0
  89. package/dist/types/client/responses/composer.d.ts +11 -0
  90. package/dist/types/client/responses/composer.d.ts.map +1 -0
  91. package/dist/types/client/responses/controller.d.ts +39 -0
  92. package/dist/types/client/responses/controller.d.ts.map +1 -0
  93. package/dist/types/client/responses/references.d.ts +62 -0
  94. package/dist/types/client/responses/references.d.ts.map +1 -0
  95. package/dist/types/client/responses/selection.d.ts +43 -0
  96. package/dist/types/client/responses/selection.d.ts.map +1 -0
  97. package/dist/types/electron/bridge.d.mts +45 -0
  98. package/dist/types/electron/bridge.d.mts.map +1 -0
  99. package/dist/types/electron/build-preload.d.mts +4 -0
  100. package/dist/types/electron/build-preload.d.mts.map +1 -0
  101. package/dist/types/electron/element-context.d.cts +7 -0
  102. package/dist/types/electron/element-context.d.cts.map +1 -0
  103. package/dist/types/electron/guest-preload.d.cts +2 -0
  104. package/dist/types/electron/guest-preload.d.cts.map +1 -0
  105. package/dist/types/electron/index.d.ts +5 -0
  106. package/dist/types/electron/index.d.ts.map +1 -0
  107. package/dist/types/host-contracts.d.ts +104 -0
  108. package/dist/types/host-contracts.d.ts.map +1 -0
  109. package/dist/types/index.d.ts +32 -0
  110. package/dist/types/index.d.ts.map +1 -0
  111. package/dist/types/react.d.ts +14 -0
  112. package/dist/types/react.d.ts.map +1 -0
  113. package/dist/types/shared/desktop.d.ts +75 -0
  114. package/dist/types/shared/desktop.d.ts.map +1 -0
  115. package/dist/types/shared/surface.d.ts +11 -0
  116. package/dist/types/shared/surface.d.ts.map +1 -0
  117. package/dist/types/ui/icons.d.ts +11 -0
  118. package/dist/types/ui/icons.d.ts.map +1 -0
  119. package/dist/types/ui/regions.d.ts +28 -0
  120. package/dist/types/ui/regions.d.ts.map +1 -0
  121. package/package.json +83 -3
@@ -0,0 +1,53 @@
1
+ import type { SessionId } from '../../host-contracts.ts';
2
+ import type { DraftAttachmentId, InputActions, InputState, ReferenceInsert, TokenSpan } from '../../host-contracts.ts';
3
+ import type { BrowserAnnotationSelection } from '../../shared/desktop.ts';
4
+ import { type DraftFactory } from './attachments.ts';
5
+ import { type SerializedAnnotation } from '../messages/presentation.ts';
6
+ export declare const ANNOTATION_SOURCE = "aione-annotations";
7
+ export interface AnnotationEntry {
8
+ readonly id: number;
9
+ readonly source: string;
10
+ readonly surfaceId?: string;
11
+ readonly selection: BrowserAnnotationSelection;
12
+ readonly comment: string;
13
+ readonly image: File;
14
+ }
15
+ export interface AnnotationPacket {
16
+ readonly id: string;
17
+ readonly sessionId: SessionId;
18
+ readonly label: string;
19
+ readonly factory: DraftFactory;
20
+ readonly previews: readonly string[];
21
+ entries: readonly AnnotationEntry[];
22
+ imageIds: readonly DraftAttachmentId[];
23
+ staged: boolean;
24
+ }
25
+ export declare function formatAnnotations(entries: readonly AnnotationEntry[]): string;
26
+ /** Convert the public clipboard coordinates to the editor's atomic-chip coordinates. */
27
+ export declare function packetSpan(input: InputState, id: string): TokenSpan | undefined;
28
+ /** One window owns the semantic reference and its screenshot drafts together. */
29
+ export declare class AnnotationPackets {
30
+ private readonly records;
31
+ private readonly listeners;
32
+ private revision;
33
+ opened: {
34
+ readonly sessionId: SessionId;
35
+ readonly id: string;
36
+ } | undefined;
37
+ readonly subscribe: (listener: () => void) => (() => void);
38
+ readonly getSnapshot: () => number;
39
+ private changed;
40
+ get(id: string): AnnotationPacket | undefined;
41
+ create(sessionId: SessionId, entries: readonly AnnotationEntry[], ids: readonly DraftAttachmentId[], factory: DraftFactory, label: string): AnnotationPacket;
42
+ reference(packet: AnnotationPacket): ReferenceInsert;
43
+ activate(packet: AnnotationPacket): void;
44
+ open(sessionId: SessionId, id: string): boolean;
45
+ readonly close: () => void;
46
+ edit(id: string, index: number, comment: string): void;
47
+ serialize(id: string, signal: AbortSignal): Promise<SerializedAnnotation>;
48
+ imageIdsFor(input: InputState | undefined): ReadonlySet<DraftAttachmentId>;
49
+ reconcile(sessionId: SessionId, input: InputState, actions: InputActions): void;
50
+ discard(id: string): void;
51
+ dispose(): void;
52
+ }
53
+ //# sourceMappingURL=packets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packets.d.ts","sourceRoot":"","sources":["../../../../src/client/composer/packets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { InputState } from '../../host-contracts.ts';
2
+ /** Keep restored Lexical references behind the plugin's grouped attachment UI. */
3
+ export declare function bindReferencePresentation(card: Element, input: Pick<InputState, 'occurrences' | 'draft'>, owns: (source: string, ref: string) => boolean): () => void;
4
+ //# sourceMappingURL=reference-presentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-presentation.d.ts","sourceRoot":"","sources":["../../../../src/client/composer/reference-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,EAChD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GAC7C,MAAM,IAAI,CAgCZ"}
@@ -0,0 +1,69 @@
1
+ /** Stable keys for plugin-owned failures, translated at their presentation boundary. */
2
+ export declare const errorCopy: {
3
+ readonly 'error.responseInvalid': readonly ["消息选区无效或超过限制,请缩小选区后重新添加。", "The response selection is invalid or exceeds the limit. Select a smaller range and add it again."];
4
+ readonly 'error.responseChanged': readonly ["原文已更新,请重新选择要引用的内容。", "The response changed. Select the text again."];
5
+ readonly 'error.responseUnavailable': readonly ["无法定位原文,保存时的选区仍可查看和发送。", "The original response could not be located. The saved selection can still be reviewed and sent."];
6
+ readonly 'error.browserNotReady': readonly ["浏览器页面尚未就绪。", "Browser page is not ready."];
7
+ readonly 'error.originalSession': readonly ["请在选择目标时的会话中添加批注", "Add the annotation in the conversation where the target was selected."];
8
+ readonly 'error.sessionChangedSend': readonly ["会话已切换,批注未发送", "The conversation changed. The annotation was not sent."];
9
+ readonly 'error.sessionChangedAdd': readonly ["会话已切换,内容未添加", "The conversation changed. The content was not added."];
10
+ readonly 'error.sessionChangedDocument': readonly ["会话已切换,批注未保存或发送", "The conversation changed. The annotation was not saved or sent."];
11
+ readonly 'error.documentBusy': readonly ["该文档的批注操作尚未完成", "An annotation operation for this document is still in progress."];
12
+ readonly 'error.fileChanged': readonly ["文件已切换,批注未保存或发送", "The file changed. The annotation was not saved or sent."];
13
+ readonly 'error.quickTextOnly': readonly ["快捷请求只支持转换后幻灯片中的文字选区", "Quick requests support only text selections in converted slides."];
14
+ readonly 'error.senderUnavailable': readonly ["当前会话不支持文档批注发送", "Document annotations cannot be sent in this session."];
15
+ readonly 'error.senderUnsupported': readonly ["当前 DSH 版本不支持文档批注发送", "This DSH version does not support sending document annotations."];
16
+ readonly 'error.sessionNotReady': readonly ["当前会话尚未就绪", "The conversation is not ready yet."];
17
+ readonly 'error.imageLimit': readonly ["截图超出附件数量或大小限制", "The screenshots exceed the attachment count or size limit."];
18
+ readonly 'error.imageDraftLimit': readonly ["截图超出图片附件的数量或大小限制", "The screenshots exceed the image attachment count or size limit."];
19
+ readonly 'error.disposed': readonly ["批注插件已卸载", "The annotations plugin has been unloaded."];
20
+ readonly 'error.emptyContent': readonly ["没有可添加的内容", "There is no content to add."];
21
+ readonly 'error.fileImageMismatch': readonly ["文件选区与截图不匹配", "The file selection does not match its screenshot."];
22
+ readonly 'error.imageMismatch': readonly ["批注与截图不匹配", "The annotations do not match their screenshots."];
23
+ readonly 'error.imageCountMismatch': readonly ["批注与截图数量不一致", "The number of annotations and screenshots does not match."];
24
+ readonly 'error.noSession': readonly ["请先打开一个会话", "Open a conversation first."];
25
+ readonly 'error.composerNotReady': readonly ["当前会话的输入框尚未就绪", "The conversation input is not ready yet."];
26
+ readonly 'error.composerBusy': readonly ["输入框正忙,请稍后再试", "The input is busy. Try again shortly."];
27
+ readonly 'error.imageServiceNotReady': readonly ["当前会话的图片附件服务尚未就绪", "The image attachment service is not ready yet."];
28
+ readonly 'error.imageFormat': readonly ["截图格式不受附件服务支持", "The attachment service does not support this screenshot format."];
29
+ readonly 'error.composerImages': readonly ["输入框暂时无法接收截图", "The input cannot accept screenshots right now."];
30
+ readonly 'error.draftChanged': readonly ["草稿已变化,请重试添加", "The draft changed. Try adding the selection again."];
31
+ readonly 'error.imageDraftUnsupported': readonly ["当前 DSH 版本不支持批注图片草稿", "This DSH version does not support annotation image drafts."];
32
+ readonly 'error.imageDraftIncompatible': readonly ["当前 DSH 图片草稿格式与批注插件不兼容", "The DSH image draft format is incompatible with annotations."];
33
+ readonly 'error.invalidDocument': readonly ["文档批注无效", "The document annotation is invalid."];
34
+ readonly 'error.batchLimit': readonly ["批注总量已达上限", "The annotation batch limit has been reached."];
35
+ readonly 'error.batchFull': readonly ["批注总量已达上限,请先发送或删除部分批注", "The annotation batch limit has been reached. Send or delete some annotations first."];
36
+ readonly 'error.sendFailed': readonly ["批注发送失败,请重试", "Could not send the annotations. Try again."];
37
+ readonly 'error.packetExpired': readonly ["批注草稿已失效,请从网页重新添加", "The annotation draft has expired. Add it again from the page."];
38
+ readonly 'error.packetImageExpired': readonly ["批注截图已失效,请重新添加批注", "The annotation screenshot has expired. Add the annotation again."];
39
+ readonly 'error.invalidSelection': readonly ["文件选区无效或超过 64 KiB,请缩小选区后重试", "The file selection is invalid or exceeds 64 KiB. Select a smaller range and try again."];
40
+ readonly 'error.selectionLimit': readonly ["选区总量已达上限,请先发送或移除部分选区", "The selection limit has been reached. Send or remove some selections first."];
41
+ readonly 'error.selectionDraft': readonly ["文件选区草稿无效,请移除并重新添加", "The file selection draft is invalid. Remove it and add it again."];
42
+ readonly 'error.contiguousSelection': readonly ["请选择一个连续的单元格区域", "Select one contiguous cell range."];
43
+ readonly 'error.separateRanges': readonly ["请选择一个连续区域;多块区域请分别批注", "Select one contiguous range. Annotate separate ranges individually."];
44
+ readonly 'error.selectionTooLarge': readonly ["选区超过 64 KiB,请缩小范围后重试", "The selection exceeds 64 KiB. Select a smaller range and try again."];
45
+ readonly 'error.sheetNotReady': readonly ["表格尚未加载,已保存的选区仍可查看", "The spreadsheet has not loaded. Saved selections are still available."];
46
+ readonly 'error.sheetUnavailable': readonly ["来源工作表已删除或隐藏,已保存的选区仍可查看", "The source sheet was deleted or hidden. Saved selections are still available."];
47
+ readonly 'error.sourceUnavailable': readonly ["无法打开来源文件或工作表,已保存的选区仍可查看", "Could not open the source file or sheet. Saved selections are still available."];
48
+ readonly 'error.invalidBatch': readonly ["文档批注草稿无效", "The document annotation draft is invalid."];
49
+ readonly 'error.commentRequired': readonly ["请输入批注", "Enter an annotation comment."];
50
+ readonly 'error.imageMissing': readonly ["批注截图缺失", "The annotation screenshot is missing."];
51
+ readonly 'error.regionUnavailable': readonly ["区域图片不可用,请重新选择该区域", "The region image is unavailable. Select the region again."];
52
+ readonly 'error.pageNotReady': readonly ["页面尚未渲染完成", "The page has not finished rendering."];
53
+ readonly 'error.captureRegion': readonly ["无法截取页面区域", "Could not capture the page region."];
54
+ readonly 'error.encodeRegion': readonly ["无法生成区域图片", "Could not create the region image."];
55
+ readonly 'error.regionTooLarge': readonly ["区域图片过大,请缩小选区", "The region image is too large. Select a smaller region."];
56
+ readonly 'error.pageImageMismatch': readonly ["页面选区与截图不匹配", "The page selection does not match its screenshot."];
57
+ readonly 'error.cancelled': readonly ["添加已取消", "Adding the selection was cancelled."];
58
+ readonly 'error.imageRestoring': readonly ["页面截图尚未恢复,请稍候再发送", "The page screenshot is still being restored. Wait before sending."];
59
+ readonly 'error.imageDraftLost': readonly ["页面截图草稿已丢失,请重新框选", "The page screenshot draft is missing. Select the region again."];
60
+ readonly 'error.restoreImage': readonly ["无法恢复页面截图", "Could not restore the page screenshot."];
61
+ readonly 'error.restoreAttachmentRetry': readonly ["无法恢复页面截图附件,请移除此引用后重新框选", "Could not restore the screenshot attachment. Remove this reference and select the region again."];
62
+ readonly 'error.restoreAttachment': readonly ["无法恢复页面截图附件", "Could not restore the screenshot attachment."];
63
+ readonly 'error.storeOpen': readonly ["无法保存页面截图草稿", "Could not save the page screenshot draft."];
64
+ readonly 'error.storeWrite': readonly ["页面截图草稿存储失败", "Could not store the page screenshot draft."];
65
+ };
66
+ export type AnnotationErrorKey = keyof typeof errorCopy;
67
+ export declare const errorZh: Record<AnnotationErrorKey, string>;
68
+ export declare const errorEn: Record<AnnotationErrorKey, string>;
69
+ //# sourceMappingURL=error-copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-copy.d.ts","sourceRoot":"","sources":["../../../src/client/error-copy.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DZ,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,SAAS,CAAA;AACvD,eAAO,MAAM,OAAO,EAAyF,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;AAC/I,eAAO,MAAM,OAAO,EAAyF,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { type AnnotationErrorKey } from './error-copy.ts';
2
+ export declare class AnnotationError extends Error {
3
+ readonly key: AnnotationErrorKey;
4
+ constructor(key: AnnotationErrorKey, options?: ErrorOptions);
5
+ }
6
+ export type AnnotationFailure = Error | string;
7
+ export declare const annotationFailure: (error: unknown) => AnnotationFailure;
8
+ /** Keep failure identity until render so an already-visible error follows language changes. */
9
+ export declare function annotationErrorText(error: AnnotationFailure, t: (key: AnnotationErrorKey) => string): string;
10
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAElE,qBAAa,eAAgB,SAAQ,KAAK;IAC5B,QAAQ,CAAC,GAAG,EAAE,kBAAkB;gBAAvB,GAAG,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,YAAY;CAIrE;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAA;AAC9C,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,iBAAmE,CAAA;AAEtH,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,GAAG,MAAM,CAE5G"}
@@ -0,0 +1,7 @@
1
+ import type { PropsLocale, FileActionProps } from '../../host-contracts.ts';
2
+ import type { ComposerBridge } from '../../host-contracts.ts';
3
+ import { type FileKind } from './selection.ts';
4
+ type ActionProps = FileActionProps & PropsLocale<'annotations'>;
5
+ export declare function actionComponent(kind: FileKind, bridge: ComposerBridge): ({ content, useTabInfo, t }: ActionProps) => import("react").JSX.Element | null;
6
+ export {};
7
+ //# sourceMappingURL=FileSelectionAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSelectionAction.d.ts","sourceRoot":"","sources":["../../../../src/client/files/FileSelectionAction.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAqB,KAAK,QAAQ,EAAsB,MAAM,gBAAgB,CAAA;AAIrF,KAAK,WAAW,GAAG,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;AAW/D,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,IAChC,4BAA4B,WAAW,wCAmI5E"}
@@ -0,0 +1,14 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { PropsLocale } from '../../host-contracts.ts';
3
+ import { type FileSnapshot } from './references.ts';
4
+ export declare function SelectionCard({ items, draft, initiallyOpen, onRemove, onClear, onOpen, renderImage, renderText, t }: PropsLocale<'annotations'> & {
5
+ items: readonly FileSnapshot[];
6
+ draft?: boolean;
7
+ initiallyOpen?: boolean;
8
+ onRemove?: (index: number) => void;
9
+ onClear?: () => void;
10
+ onOpen?: (item: FileSnapshot) => void | Promise<void>;
11
+ renderImage?: (item: FileSnapshot) => ReactNode;
12
+ renderText?: (text: string) => ReactNode;
13
+ }): import("react").JSX.Element | null;
14
+ //# sourceMappingURL=SelectionCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionCard.d.ts","sourceRoot":"","sources":["../../../../src/client/files/SelectionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAIxE,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAa,EAAE,aAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAyB,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG;IAChL,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAA;IAC/C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;CACzC,sCAgCA"}
@@ -0,0 +1,34 @@
1
+ import type { ComposerBridge } from '../../host-contracts.ts';
2
+ import type { DocumentAnnotationSnapshot } from './references.ts';
3
+ import type { PageSnapshot } from './pages/snapshot.ts';
4
+ import { PageBatches } from './pages/batches.ts';
5
+ /** Document callers cannot insert or submit the unrelated Composer draft. */
6
+ export type DocumentAnnotationBridge = Pick<ComposerBridge, 'targetKey' | 'subscribe' | 'sendPages'>;
7
+ export interface DocumentScope {
8
+ readonly session: string;
9
+ readonly address: string;
10
+ }
11
+ export type DocumentCommit = {
12
+ readonly kind: 'batch';
13
+ readonly snapshot: DocumentAnnotationSnapshot;
14
+ readonly image?: File | undefined;
15
+ } | {
16
+ readonly kind: 'presentation-request';
17
+ readonly snapshot: PageSnapshot;
18
+ readonly image?: never;
19
+ };
20
+ /** One owner for durable saves, independent sends, retries and exact-batch acknowledgement. */
21
+ export declare class DocumentWorkflow {
22
+ private readonly bridge;
23
+ private readonly batches;
24
+ readonly canSend: boolean;
25
+ private readonly sender;
26
+ private readonly active;
27
+ constructor(bridge: DocumentAnnotationBridge, batches: PageBatches);
28
+ private assertScope;
29
+ private exclusive;
30
+ commit(scope: DocumentScope, request: DocumentCommit, signal: AbortSignal): Promise<void>;
31
+ send(scope: DocumentScope, signal: AbortSignal): Promise<void>;
32
+ remove(scope: DocumentScope, ids: readonly string[], signal: AbortSignal): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=document-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-workflow.d.ts","sourceRoot":"","sources":["../../../../src/client/files/document-workflow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,6EAA6E;AAC7E,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAA;AACpG,MAAM,WAAW,aAAa;IAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACrF,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CAAE,GAC5G;IAAE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAEtG,+FAA+F;AAC/F,qBAAa,gBAAgB;IAKf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA4B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAEd,MAAM,EAAE,wBAAwB,EAAmB,OAAO,EAAE,WAAW;IAKpG,OAAO,CAAC,WAAW;YAKL,SAAS;IAQjB,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW;IAczE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW;IAc9C,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW;CAG/E"}
@@ -0,0 +1,30 @@
1
+ import { type CSSProperties, type RefObject } from 'react';
2
+ import type { PropsLocale } from '../../../host-contracts.ts';
3
+ type Translate = PropsLocale<'annotations'>['t'];
4
+ export declare function RequestIcon(): import("react").JSX.Element;
5
+ export declare function CommentEditor({ t, style, input, comment, setComment, busy, saved, direct, save, cancel, remove, optional }: {
6
+ t: Translate;
7
+ style: CSSProperties;
8
+ input: RefObject<HTMLTextAreaElement>;
9
+ comment: string;
10
+ setComment: (value: string) => void;
11
+ busy: boolean;
12
+ saved: boolean;
13
+ direct?: boolean;
14
+ save: () => void;
15
+ cancel: () => void;
16
+ remove: () => void;
17
+ optional?: boolean;
18
+ }): import("react").JSX.Element;
19
+ export declare function BatchControls({ t, bounds, count, busy, sendDisabled, cancel, send, review }: {
20
+ t: Translate;
21
+ bounds: DOMRect;
22
+ count: number;
23
+ busy: boolean;
24
+ sendDisabled: boolean;
25
+ cancel: () => void;
26
+ send: () => void;
27
+ review?: () => void;
28
+ }): import("react").JSX.Element;
29
+ export {};
30
+ //# sourceMappingURL=DocumentChrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentChrome.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/DocumentChrome.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAG7D,KAAK,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAA;AAChD,wBAAgB,WAAW,gCAI1B;AACD,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAgB,EAAE,EAAE;IACnI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/H,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IACzG,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,+BAwBA;AAED,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC5F,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IACxH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,+BAuBA"}
@@ -0,0 +1,7 @@
1
+ import type { PropsLocale } from '../../../host-contracts.ts';
2
+ import { type DocumentAnnotationBridge } from '../document-workflow.ts';
3
+ import { PageBatches } from './batches.ts';
4
+ export declare function pageActionComponent(bridge: DocumentAnnotationBridge, batches?: PageBatches): ({ absolutePath, t }: PropsLocale<"annotations"> & {
5
+ absolutePath: string;
6
+ }) => import("react").JSX.Element | null;
7
+ //# sourceMappingURL=PageSelectionAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageSelectionAction.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/PageSelectionAction.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAoB,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAe1C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,cAAoB,IAE3D,qBAAqB,WAAW,CAAC,aAAa,CAAC,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,wCAmO/G"}
@@ -0,0 +1,21 @@
1
+ import { type PageImageStore } from './image-store.ts';
2
+ import type { DocumentAnnotationSnapshot } from '../references.ts';
3
+ /** Document requests are separate from Composer drafts and scoped to session + source. */
4
+ export declare class PageBatches {
5
+ private images;
6
+ private storage;
7
+ private namespace;
8
+ private revision;
9
+ private listeners;
10
+ constructor(images?: PageImageStore, storage?: () => Storage, namespace?: string);
11
+ subscribe: (listener: () => void) => () => void;
12
+ getSnapshot: () => number;
13
+ private key;
14
+ read(session: string, address: string): readonly DocumentAnnotationSnapshot[];
15
+ private write;
16
+ save(session: string, snapshot: DocumentAnnotationSnapshot, image?: File, signal?: AbortSignal): Promise<void>;
17
+ remove(session: string, address: string, ids: readonly string[]): Promise<void>;
18
+ acknowledge(session: string, address: string, sent: readonly DocumentAnnotationSnapshot[]): Promise<void>;
19
+ files(items: readonly DocumentAnnotationSnapshot[], signal: AbortSignal): Promise<File[]>;
20
+ }
21
+ //# sourceMappingURL=batches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batches.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/batches.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAElE,0FAA0F;AAC1F,qBAAa,WAAW;IAGV,OAAO,CAAC,MAAM;IAAqC,OAAO,CAAC,OAAO;IAAsC,OAAO,CAAC,SAAS;IAFrI,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,SAAS,CAAwB;gBACrB,MAAM,GAAE,cAAiC,EAAU,OAAO,GAAE,MAAM,OAA4B,EAAU,SAAS,SAA2C;IAChL,SAAS,GAAI,UAAU,MAAM,IAAI,gBAAuF;IACxH,WAAW,eAAsB;IACjC,OAAO,CAAC,GAAG;IACX,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,0BAA0B,EAAE;IAY7E,OAAO,CAAC,KAAK;IAQP,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW;IAkB9F,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE;IAM/D,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,0BAA0B,EAAE;IAKzF,KAAK,CAAC,KAAK,EAAE,SAAS,0BAA0B,EAAE,EAAE,MAAM,EAAE,WAAW;CAY9E"}
@@ -0,0 +1,16 @@
1
+ import type { PageRect, PageSnapshot } from './snapshot.ts';
2
+ export type Box = {
3
+ left: number;
4
+ top: number;
5
+ width: number;
6
+ height: number;
7
+ right: number;
8
+ bottom: number;
9
+ };
10
+ export type Anchor = NonNullable<PageSnapshot['anchors']>[number];
11
+ export declare function normalizeRect(rect: Box, page: Box): PageRect | undefined;
12
+ export declare function pageBounds(preview: HTMLElement, page: number): DOMRect | undefined;
13
+ export declare function rangeAnchors(range: Range, preview: HTMLElement): Anchor[];
14
+ export declare function projectAnchors(anchors: readonly Anchor[], preview: HTMLElement): Box[];
15
+ export declare function enclosing(boxes: readonly Box[]): Box | undefined;
16
+ //# sourceMappingURL=geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC3D,MAAM,MAAM,GAAG,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAC7G,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,QAAQ,GAAG,SAAS,CAKxE;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,uBAG5D;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAgBzE;AACD,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,EAAE,CAQtF;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,SAAS,CAKhE"}
@@ -0,0 +1,8 @@
1
+ /** Binary draft snapshots live in IndexedDB, never in prompt text or Lexical JSON. */
2
+ export interface PageImageStore {
3
+ put(key: string, file: File): Promise<void>;
4
+ get(key: string, name: string): Promise<File | undefined>;
5
+ remove(key: string): Promise<void>;
6
+ }
7
+ export declare function pageImageStore(databaseName?: string): PageImageStore;
8
+ //# sourceMappingURL=image-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-store.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/image-store.ts"],"names":[],"mappings":"AACA,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;IACzD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAED,wBAAgB,cAAc,CAAC,YAAY,SAAmC,GAAG,cAAc,CA6B9F"}
@@ -0,0 +1,41 @@
1
+ import { type AnnotationFailure } from '../../errors.ts';
2
+ import type { SessionId } from '../../../host-contracts.ts';
3
+ import type { DraftAttachmentId, InputActions, InputState } from '../../../host-contracts.ts';
4
+ import { type DraftFactory } from '../../composer/attachments.ts';
5
+ import { type FileSnapshot } from '../references.ts';
6
+ import { type PageImageStore } from './image-store.ts';
7
+ import type { PageSnapshot } from './snapshot.ts';
8
+ interface Entry {
9
+ session: SessionId;
10
+ snapshot: PageSnapshot;
11
+ ids: readonly DraftAttachmentId[];
12
+ factory: DraftFactory;
13
+ file?: File;
14
+ url?: string;
15
+ error?: AnnotationFailure;
16
+ staged: boolean;
17
+ }
18
+ /** Own screenshot admission together with its semantic reference, including undo and restoration. */
19
+ export declare class PageImages {
20
+ private readonly store;
21
+ private entries;
22
+ private listeners;
23
+ private revision;
24
+ private disposed;
25
+ constructor(store?: PageImageStore);
26
+ readonly subscribe: (listener: () => void) => () => void;
27
+ readonly getSnapshot: () => number;
28
+ private changed;
29
+ preview(snapshot: FileSnapshot): Entry | undefined;
30
+ save(snapshot: PageSnapshot, file: File, signal?: AbortSignal): Promise<void>;
31
+ stage(session: SessionId, snapshot: PageSnapshot, file: File, factory: DraftFactory, ids: readonly DraftAttachmentId[]): void;
32
+ activate(id: string): void;
33
+ validate(snapshot: FileSnapshot): void;
34
+ imageIdsFor(input: InputState | undefined): Set<string>;
35
+ reconcile(session: SessionId, input: InputState, actions: InputActions, factory: DraftFactory): void;
36
+ discard(id: string): void;
37
+ cancel(id: string): Promise<void>;
38
+ dispose(): void;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,UAAU,KAAK;IACb,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACjC,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,qGAAqG;AACrG,qBAAa,UAAU;IAKT,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,QAAQ,CAAQ;gBACK,KAAK,GAAE,cAAiC;IACrE,QAAQ,CAAC,SAAS,GAAI,UAAU,MAAM,IAAI,gBAAuF;IACjI,QAAQ,CAAC,WAAW,eAAsB;IAC1C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,EAAE,YAAY;IAExB,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW;IAMnE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,iBAAiB,EAAE;IAGtH,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,QAAQ,EAAE,YAAY;IAO/B,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS;IAGzC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY;IA2C7F,OAAO,CAAC,EAAE,EAAE,MAAM;IAKZ,MAAM,CAAC,EAAE,EAAE,MAAM;IACvB,OAAO;CAKR"}
@@ -0,0 +1,55 @@
1
+ import type { AnnotationFailure } from '../../errors.ts';
2
+ /** Mutually exclusive UI phases; a pending commit always retains its editable snapshot. */
3
+ export type PageInteraction<Selection, Draft> = {
4
+ readonly phase: 'idle';
5
+ readonly error: AnnotationFailure;
6
+ } | {
7
+ readonly phase: 'selected';
8
+ readonly selection: Selection;
9
+ readonly error: AnnotationFailure;
10
+ } | {
11
+ readonly phase: 'editing';
12
+ readonly draft: Draft;
13
+ readonly comment: string;
14
+ readonly error: AnnotationFailure;
15
+ } | {
16
+ readonly phase: 'submitting';
17
+ readonly operation: 'commit' | 'edit-remove';
18
+ readonly draft: Draft;
19
+ readonly comment: string;
20
+ readonly token: number;
21
+ readonly error: '';
22
+ } | {
23
+ readonly phase: 'submitting';
24
+ readonly operation: 'batch-send' | 'batch-remove';
25
+ readonly token: number;
26
+ readonly error: '';
27
+ readonly draft?: never;
28
+ readonly comment?: never;
29
+ };
30
+ export type PageInteractionEvent<Selection, Draft> = {
31
+ readonly type: 'select';
32
+ readonly selection?: Selection | undefined;
33
+ } | {
34
+ readonly type: 'edit';
35
+ readonly draft: Draft;
36
+ readonly comment: string;
37
+ } | {
38
+ readonly type: 'comment';
39
+ readonly value: string;
40
+ } | {
41
+ readonly type: 'cancel';
42
+ } | {
43
+ readonly type: 'start';
44
+ readonly operation: 'commit' | 'batch-send' | 'batch-remove';
45
+ readonly token: number;
46
+ } | {
47
+ readonly type: 'complete';
48
+ readonly token: number;
49
+ } | {
50
+ readonly type: 'fail';
51
+ readonly token: number;
52
+ readonly error: AnnotationFailure;
53
+ };
54
+ export declare function pageInteraction<Selection, Draft>(state: PageInteraction<Selection, Draft>, event: PageInteractionEvent<Selection, Draft>): PageInteraction<Selection, Draft>;
55
+ //# sourceMappingURL=interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,2FAA2F;AAC3F,MAAM,MAAM,eAAe,CAAC,SAAS,EAAE,KAAK,IACxC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GACjH;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAA;CAAE,GAC3K;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAErL,MAAM,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,IAC7C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChH;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAExF,wBAAgB,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAqB5K"}
@@ -0,0 +1,25 @@
1
+ import type { PageRect } from './snapshot.ts';
2
+ /** Read only PDF text-layer nodes; canvas labels and toolbar text are not evidence. */
3
+ export declare function readPageText(range: Range, preview: HTMLElement): {
4
+ startPage: number;
5
+ endPage: number;
6
+ text: string;
7
+ } | undefined;
8
+ export declare function pageRegion(start: {
9
+ x: number;
10
+ y: number;
11
+ }, end: {
12
+ x: number;
13
+ y: number;
14
+ }, bounds: DOMRect): PageRect | undefined;
15
+ /** Crop the page's existing backing pixels, excluding selection chrome and the app UI. */
16
+ export declare function capturePageRegion(canvas: HTMLCanvasElement, rect: PageRect, key: string, signal: AbortSignal): Promise<{
17
+ image: {
18
+ key: string;
19
+ name: string;
20
+ width: number;
21
+ height: number;
22
+ };
23
+ file: File;
24
+ }>;
25
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;;;;cAkB9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAQhI;AAED,0FAA0F;AAC1F,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;;;;;;;;GAiBlH"}
@@ -0,0 +1,31 @@
1
+ /** Page coordinates are normalized to the rendered page, independent of zoom. */
2
+ export type PageRect = {
3
+ readonly x: number;
4
+ readonly y: number;
5
+ readonly width: number;
6
+ readonly height: number;
7
+ };
8
+ export interface PageSnapshot {
9
+ readonly version: 2;
10
+ readonly id: string;
11
+ readonly address: string;
12
+ readonly kind: 'pdf' | 'office';
13
+ readonly text: string;
14
+ readonly startPage: number;
15
+ readonly endPage: number;
16
+ readonly comment?: string;
17
+ readonly anchors?: readonly {
18
+ readonly page: number;
19
+ readonly rect: PageRect;
20
+ }[];
21
+ readonly region?: PageRect;
22
+ readonly image?: {
23
+ readonly key: string;
24
+ readonly name: string;
25
+ readonly width: number;
26
+ readonly height: number;
27
+ };
28
+ }
29
+ export declare function isPageSnapshot(value: Record<string, unknown>): boolean;
30
+ export declare function validPageRect(value: unknown): value is PageRect;
31
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/client/files/pages/snapshot.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAClH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAAE,CAAA;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAClH;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAkBtE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAM/D"}
@@ -0,0 +1,80 @@
1
+ import type { InputState, ReferenceInsert, TokenSpan } from '../../host-contracts.ts';
2
+ import type { FileKind, FileSelection } from './selection.ts';
3
+ import { type PageSnapshot } from './pages/snapshot.ts';
4
+ import { type SpreadsheetSnapshot } from './sheets/snapshot.ts';
5
+ export declare const FILE_SELECTION_SOURCE = "aione-file-selections";
6
+ export declare const MAX_SELECTION_BYTES: number;
7
+ export interface TextSnapshot extends FileSelection {
8
+ readonly version: 1;
9
+ readonly id: string;
10
+ readonly address: string;
11
+ readonly kind: FileKind;
12
+ }
13
+ export type DocumentAnnotationSnapshot = PageSnapshot | SpreadsheetSnapshot;
14
+ export type FileSnapshot = TextSnapshot | DocumentAnnotationSnapshot;
15
+ export declare function decodeFileReference(ref: string): FileSnapshot | undefined;
16
+ export declare function fileLocation(snapshot: FileSnapshot): string;
17
+ export declare function filePath(snapshot: FileSnapshot): string;
18
+ export declare function fileLabel(snapshot: FileSnapshot): string;
19
+ /** The reference carries text and location; region pixels have a separate durable draft store. */
20
+ export declare function fileReference(snapshot: FileSnapshot): ReferenceInsert;
21
+ export declare function assertFileDraftCapacity(input: InputState, ref: string): void;
22
+ export declare function serializeFileReference(ref: string, signal: AbortSignal): {
23
+ text: string;
24
+ presentation: {
25
+ source: string;
26
+ summary: string;
27
+ data: {
28
+ version: 1;
29
+ id: string;
30
+ address: string;
31
+ kind: FileKind;
32
+ text: string;
33
+ startLine: number;
34
+ endLine: number;
35
+ startColumn?: number;
36
+ endColumn?: number;
37
+ } | {
38
+ version: 2;
39
+ id: string;
40
+ address: string;
41
+ kind: "pdf" | "office";
42
+ text: string;
43
+ startPage: number;
44
+ endPage: number;
45
+ comment?: string;
46
+ anchors?: readonly {
47
+ readonly page: number;
48
+ readonly rect: import("./pages/snapshot.ts").PageRect;
49
+ }[];
50
+ region?: import("./pages/snapshot.ts").PageRect;
51
+ image?: {
52
+ readonly key: string;
53
+ readonly name: string;
54
+ readonly width: number;
55
+ readonly height: number;
56
+ };
57
+ } | {
58
+ version: 3;
59
+ id: string;
60
+ address: string;
61
+ kind: "xlsx" | "csv";
62
+ sheet: {
63
+ id: string;
64
+ name: string;
65
+ };
66
+ range: import("./sheets/snapshot.ts").SheetRange;
67
+ a1: string;
68
+ cells: readonly import("./sheets/snapshot.ts").SheetCell[];
69
+ merges: readonly import("./sheets/snapshot.ts").SheetMerge[];
70
+ text: string;
71
+ comment?: string;
72
+ };
73
+ };
74
+ };
75
+ export declare function readSentFile(block: unknown): FileSnapshot | undefined;
76
+ export declare function selectedFiles(input: InputState): {
77
+ snapshot: FileSnapshot;
78
+ span: TokenSpan;
79
+ }[];
80
+ //# sourceMappingURL=references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/client/files/references.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAErF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAExF,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAC5D,eAAO,MAAM,mBAAmB,QAAY,CAAA;AAK5C,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB;AACD,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,mBAAmB,CAAA;AAC3E,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,0BAA0B,CAAA;AAsCpE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAGzE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAI3D;AACD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEvD;AACD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAExD;AAED,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe,CAKrE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAK5E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;;;;;;qBA5EnD,CAAC;gBACN,MAAM;qBACD,MAAM;kBACT,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAIrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU;;;IAS9C"}