@hasna/recordings 0.3.13 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +279 -43
  2. package/bun.lock +37 -38
  3. package/contracts/v1/fixtures.json +1206 -0
  4. package/dist/cli/index.js +1909 -619
  5. package/dist/cli/macos-shortcut.d.ts +2 -2
  6. package/dist/contracts/hosted-v1.d.ts +105 -0
  7. package/dist/contracts/hosted-v1.d.ts.map +1 -0
  8. package/dist/contracts/hosted-v1.js +41 -0
  9. package/dist/contracts/stream-v1.d.ts +117 -0
  10. package/dist/contracts/stream-v1.d.ts.map +1 -0
  11. package/dist/contracts/stream-v1.js +35 -0
  12. package/dist/db/database.d.ts.map +1 -1
  13. package/dist/db/pg-migrations.d.ts.map +1 -1
  14. package/dist/db/recordings.d.ts +6 -0
  15. package/dist/db/recordings.d.ts.map +1 -1
  16. package/dist/hosted/index.d.ts +58 -0
  17. package/dist/hosted/index.d.ts.map +1 -0
  18. package/dist/hosted/index.js +266 -0
  19. package/dist/hosted/transport.d.ts +36 -0
  20. package/dist/hosted/transport.d.ts.map +1 -0
  21. package/dist/hosted-v1-aavn7ktb.js +4114 -0
  22. package/dist/hosted-v1-gdr9extc.js +84 -0
  23. package/dist/http/client.d.ts +183 -22
  24. package/dist/http/client.d.ts.map +1 -1
  25. package/dist/index.d.ts +3 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2879 -2288
  28. package/dist/lib/audio-artifact-storage.d.ts +98 -0
  29. package/dist/lib/audio-artifact-storage.d.ts.map +1 -0
  30. package/dist/lib/capture-probe.d.ts +3 -3
  31. package/dist/lib/capture-probe.d.ts.map +1 -1
  32. package/dist/lib/config.d.ts.map +1 -1
  33. package/dist/lib/local-opt-in.d.ts +132 -0
  34. package/dist/lib/local-opt-in.d.ts.map +1 -0
  35. package/dist/lib/macos-bundle.d.ts +1 -1
  36. package/dist/lib/persistence-probe.d.ts +56 -17
  37. package/dist/lib/persistence-probe.d.ts.map +1 -1
  38. package/dist/lib/transcriber.d.ts.map +1 -1
  39. package/dist/mcp/index.d.ts.map +1 -1
  40. package/dist/mcp/index.js +1713 -459
  41. package/dist/sdk/index.d.ts +13 -5
  42. package/dist/sdk/index.d.ts.map +1 -1
  43. package/dist/sdk/index.js +904 -1
  44. package/dist/sdk/resolve.d.ts +53 -0
  45. package/dist/sdk/resolve.d.ts.map +1 -0
  46. package/dist/sdk/v1.generated.d.ts +6 -0
  47. package/dist/sdk/v1.generated.d.ts.map +1 -1
  48. package/dist/server/client-ip.d.ts +39 -0
  49. package/dist/server/client-ip.d.ts.map +1 -0
  50. package/dist/server/cloud-config.d.ts +12 -0
  51. package/dist/server/cloud-config.d.ts.map +1 -1
  52. package/dist/server/cloud-readiness.d.ts.map +1 -1
  53. package/dist/server/cloud.d.ts +20 -2
  54. package/dist/server/cloud.d.ts.map +1 -1
  55. package/dist/server/index.js +590 -287
  56. package/dist/server/migrate-command.d.ts +1 -1
  57. package/dist/server/migrate-command.d.ts.map +1 -1
  58. package/dist/server/openapi.d.ts +21 -0
  59. package/dist/server/openapi.d.ts.map +1 -1
  60. package/dist/server/repo.d.ts.map +1 -1
  61. package/dist/server/serve.d.ts.map +1 -1
  62. package/dist/storage.d.ts +2 -2
  63. package/dist/storage.d.ts.map +1 -1
  64. package/dist/storage.js +1358 -874
  65. package/dist/store.d.ts +12 -3
  66. package/dist/store.d.ts.map +1 -1
  67. package/dist/types/index.d.ts +15 -0
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/docs/hosted-sdk.md +71 -0
  70. package/docs/wire-contracts.md +24 -0
  71. package/package.json +33 -11
  72. package/packaging/macos/build_release_pkg.sh +3 -3
  73. package/packaging/macos/managed_bootstrap.sh +4 -4
  74. package/packaging/macos/scripts/postinstall +2 -2
  75. package/packaging/macos/scripts/preinstall +2 -2
  76. package/scripts/build_companion_cli.sh +7 -1
  77. package/scripts/ci-linux-suite.ts +23 -13
  78. package/scripts/install_macos_app.sh +27 -24
  79. package/scripts/macos_artifact.ts +60 -49
  80. package/scripts/migrate.ts +4 -20
  81. package/scripts/native/prebuilds/darwin-universal/recordings_fs_guard.node +0 -0
  82. package/scripts/native/recordings_fs_guard.c +36 -4
  83. package/scripts/native-core-receipt.py +171 -0
  84. package/scripts/native_fs_guard.ts +2 -0
  85. package/scripts/release-suite-gate.ts +227 -150
  86. package/scripts/resolve_tailscale_cli.sh +24 -3
  87. package/scripts/smoke_macos_app.sh +21 -21
  88. package/src/native/Recordings/App/ContentView.swift +53 -68
  89. package/src/native/Recordings/App/MenuBarStatusView.swift +171 -61
  90. package/src/native/Recordings/App/RecordWorkspaceView.swift +47 -449
  91. package/src/native/Recordings/App/RecorderSettingsView.swift +75 -0
  92. package/src/native/Recordings/App/RecordingDetailView.swift +3 -4
  93. package/src/native/Recordings/App/RecordingsApp.swift +185 -9
  94. package/src/native/Recordings/App/RecordingsListView.swift +60 -112
  95. package/src/native/Recordings/App/RecordingsStore.swift +124 -109
  96. package/src/native/Recordings/App/Theme.swift +73 -61
  97. package/src/native/Recordings/Package.swift +1 -0
  98. package/src/native/Recordings/RecordingsLib/BlockingOperation.swift +29 -0
  99. package/src/native/Recordings/RecordingsLib/CaptureMonitor.swift +65 -0
  100. package/src/native/Recordings/RecordingsLib/Info.plist +3 -3
  101. package/src/native/Recordings/RecordingsLib/OpenAIAPIKeyStore.swift +75 -21
  102. package/src/native/Recordings/RecordingsLib/ProjectStore.swift +4 -4
  103. package/src/native/Recordings/RecordingsLib/Recording.swift +14 -2
  104. package/src/native/Recordings/RecordingsLib/RecordingEngine.swift +539 -89
  105. package/src/native/Recordings/RecordingsLib/RecordingGlassBackground.swift +34 -0
  106. package/src/native/Recordings/RecordingsLib/RecordingPasteTarget.swift +114 -0
  107. package/src/native/Recordings/RecordingsLib/RecordingProvider.swift +112 -0
  108. package/src/native/Recordings/RecordingsLib/RecordingsCLI.swift +17 -10
  109. package/src/native/Recordings/RecordingsLib/ServiceAPIConfiguration.swift +107 -0
  110. package/src/native/Recordings/RecordingsLib/ServiceConnectionView.swift +76 -0
  111. package/src/native/Recordings/RecordingsLib/SettingsView.swift +45 -149
  112. package/src/native/Recordings/RecordingsLib/SettingsWindowController.swift +48 -0
  113. package/src/native/Recordings/RecordingsTests/BlockingOperationTests.swift +85 -0
  114. package/src/native/Recordings/RecordingsTests/CLIRunnerTests.swift +454 -76
  115. package/src/native/Recordings/RecordingsTests/OpenAIAPIKeyStoreTests.swift +43 -38
  116. package/src/native/Recordings/RecordingsTests/PipeClosureFixture.swift +215 -0
  117. package/src/native/Recordings/RecordingsTests/ProjectStoreTests.swift +10 -10
  118. package/src/native/Recordings/RecordingsTests/RecorderSurfaceTests.swift +60 -0
  119. package/src/native/Recordings/RecordingsTests/RecordingDateTests.swift +26 -0
  120. package/src/native/Recordings/RecordingsTests/RecordingEngineDeliveryTests.swift +1 -1
  121. package/src/native/Recordings/RecordingsTests/RecordingFrozenPasteTargetTests.swift +50 -0
  122. package/src/native/Recordings/RecordingsTests/RecordingPasteTargetTrackerTests.swift +48 -0
  123. package/src/native/Recordings/RecordingsTests/RecordingProviderTests.swift +308 -0
  124. package/src/native/Recordings/RecordingsTests/RecordingStartGateTests.swift +1 -1
  125. package/src/native/Recordings/RecordingsTests/RecordingStartTimingTests.swift +123 -21
  126. package/src/native/Recordings/RecordingsTests/ServiceAPIConfigurationTests.swift +75 -0
  127. package/src/native/Recordings/RecordingsTests/SettingsWindowControllerTests.swift +28 -0
  128. package/src/native/Recordings/RecordingsTests/TestHomeDirectory.swift +5 -1
  129. package/src/native/Recordings/Updater/BootstrapPreflight/BootstrapPreflightMain.swift +1 -1
  130. package/src/native/Recordings/Updater/Broker/ApplicationNamespace.swift +2 -2
  131. package/src/native/Recordings/Updater/Broker/BrokerMain.swift +1 -1
  132. package/src/native/Recordings/Updater/Broker/CanonicalTreeCopy.swift +1 -1
  133. package/src/native/Recordings/Updater/Broker/InstallJournal.swift +1 -1
  134. package/src/native/Recordings/Updater/BrokerTests/ActivationRecoveryPolicyTests.swift +2 -2
  135. package/src/native/Recordings/Updater/Protocol/UpdateProtocol.swift +1 -1
  136. package/src/native/Recordings/Updater/VerifierLauncher/RecordingsVerifierLauncher.c +2 -2
  137. package/src/native/Recordings/build.sh +8 -7
  138. package/dist/__tests__/helpers/installer-guard-execution.d.ts +0 -22
  139. package/dist/__tests__/helpers/installer-guard-execution.d.ts.map +0 -1
  140. package/dist/__tests__/helpers/installer-preflight.d.ts +0 -22
  141. package/dist/__tests__/helpers/installer-preflight.d.ts.map +0 -1
  142. package/dist/__tests__/helpers/native-fs-guard.d.ts +0 -2
  143. package/dist/__tests__/helpers/native-fs-guard.d.ts.map +0 -1
  144. package/dist/__tests__/helpers/source-assertions.d.ts +0 -171
  145. package/dist/__tests__/helpers/source-assertions.d.ts.map +0 -1
  146. package/dist/__tests__/preload.d.ts +0 -2
  147. package/dist/__tests__/preload.d.ts.map +0 -1
  148. package/src/native/Recordings/App/SidebarView.swift +0 -212
@@ -80,7 +80,7 @@ export declare const TOGGLE_RECORDING_DEFAULTS_KEY = "KeyboardShortcuts_toggleRe
80
80
  * thing — and so the claim can be pinned against the Swift source that implements it.
81
81
  *
82
82
  * Verified against the shipped bundle on 2026-07-27 with `nm -u` on
83
- * HasnaRecordings.app/Contents/MacOS/Recordings, which lists `_RegisterEventHotKey` (the
83
+ * Hasna Recordings.app/Contents/MacOS/Recordings, which lists `_RegisterEventHotKey` (the
84
84
  * hotkey) and `_CGEventTapCreate` + `_AXIsProcessTrusted` (the fn monitor).
85
85
  */
86
86
  export interface TriggerGrantRequirement {
@@ -124,7 +124,7 @@ export interface BundleScanProbes {
124
124
  readBundleIdentifier?: BundleIdentifierReader;
125
125
  }
126
126
  /**
127
- * Bundle paths of the HasnaRecordings.app instances currently running.
127
+ * Bundle paths of the Hasna Recordings.app instances currently running.
128
128
  *
129
129
  * TCC grants key to a specific bundle (and, for an unstably-signed build, to its cdhash),
130
130
  * so "which bundle is running" is the only honest answer to "where does the Accessibility
@@ -0,0 +1,105 @@
1
+ import { type ContractParser, type JSONValue } from "./stream-v1.js";
2
+ export type { ContractParser, ContractResult, JSONValue } from "./stream-v1.js";
3
+ export { ContractValidationError } from "./stream-v1.js";
4
+ export interface HostedRecordingInput {
5
+ id: string;
6
+ sessionId?: string;
7
+ title: string;
8
+ transcript: string;
9
+ durationMs: number;
10
+ }
11
+ export interface HostedRecording extends HostedRecordingInput {
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ provenance?: Record<string, JSONValue>;
15
+ [key: string]: unknown;
16
+ }
17
+ export interface HostedPasteInput {
18
+ id: string;
19
+ recordingId?: string | null;
20
+ text: string;
21
+ destinationAppId?: string;
22
+ destinationAppName?: string;
23
+ status: "attempted" | "confirmed" | "failed";
24
+ occurredAt?: string;
25
+ }
26
+ export interface HostedPasteReceipt extends HostedPasteInput {
27
+ recordingId: string | null;
28
+ occurredAt: string;
29
+ createdAt: string;
30
+ updatedAt: string;
31
+ /** Reported by the client; the server does not independently observe the paste target. */
32
+ evidenceSource: "client_reported";
33
+ [key: string]: unknown;
34
+ }
35
+ export interface HostedAccount {
36
+ id: string;
37
+ displayName: string;
38
+ email: string;
39
+ createdAt: string;
40
+ [key: string]: unknown;
41
+ }
42
+ export interface HostedPageOptions {
43
+ limit?: number;
44
+ before?: string;
45
+ beforeId?: string;
46
+ }
47
+ export interface HostedAccountResponse {
48
+ account: HostedAccount;
49
+ wireVersion?: string;
50
+ capabilities?: string[];
51
+ [key: string]: unknown;
52
+ }
53
+ export interface HostedVersionResponse {
54
+ name: "recordings";
55
+ version: string;
56
+ apiVersion: "v1";
57
+ wireVersion?: string;
58
+ capabilities?: string[];
59
+ [key: string]: unknown;
60
+ }
61
+ export interface HostedHealthResponse {
62
+ status: "ok";
63
+ [key: string]: unknown;
64
+ }
65
+ export interface HostedReadyResponse {
66
+ status: "ready";
67
+ [key: string]: unknown;
68
+ }
69
+ export declare const recordingInputParser: ContractParser<HostedRecordingInput>;
70
+ export declare const recordingParser: ContractParser<HostedRecording>;
71
+ export declare const pasteInputParser: ContractParser<HostedPasteInput>;
72
+ export declare const pasteReceiptParser: ContractParser<HostedPasteReceipt>;
73
+ export declare const pageOptionsParser: ContractParser<HostedPageOptions>;
74
+ export declare const bootstrapInputParser: ContractParser<Record<string, never>>;
75
+ export declare const renameInputParser: ContractParser<{
76
+ title: string;
77
+ }>;
78
+ export declare const accountResponseParser: ContractParser<HostedAccountResponse>;
79
+ export declare const versionResponseParser: ContractParser<HostedVersionResponse>;
80
+ export declare const healthResponseParser: ContractParser<HostedHealthResponse>;
81
+ export declare const readyResponseParser: ContractParser<HostedReadyResponse>;
82
+ export declare const recordingResponseParser: ContractParser<{
83
+ recording: HostedRecording;
84
+ [key: string]: unknown;
85
+ }>;
86
+ export declare const recordingListParser: ContractParser<{
87
+ recordings: HostedRecording[];
88
+ [key: string]: unknown;
89
+ }>;
90
+ export declare const pasteResponseParser: ContractParser<{
91
+ receipt: HostedPasteReceipt;
92
+ [key: string]: unknown;
93
+ }>;
94
+ export declare const pasteListParser: ContractParser<{
95
+ receipts: HostedPasteReceipt[];
96
+ [key: string]: unknown;
97
+ }>;
98
+ export declare const pendingDeletionParser: ContractParser<{
99
+ audioCleanup: {
100
+ state: "pending";
101
+ [key: string]: unknown;
102
+ };
103
+ [key: string]: unknown;
104
+ }>;
105
+ //# sourceMappingURL=hosted-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-v1.d.ts","sourceRoot":"","sources":["../../src/contracts/hosted-v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ // @bun
2
+ import {
3
+ accountResponseParser,
4
+ bootstrapInputParser,
5
+ healthResponseParser,
6
+ pageOptionsParser,
7
+ pasteInputParser,
8
+ pasteListParser,
9
+ pasteReceiptParser,
10
+ pasteResponseParser,
11
+ pendingDeletionParser,
12
+ readyResponseParser,
13
+ recordingInputParser,
14
+ recordingListParser,
15
+ recordingParser,
16
+ recordingResponseParser,
17
+ renameInputParser,
18
+ versionResponseParser
19
+ } from "../hosted-v1-gdr9extc.js";
20
+ import {
21
+ ContractValidationError
22
+ } from "../hosted-v1-aavn7ktb.js";
23
+ export {
24
+ versionResponseParser,
25
+ renameInputParser,
26
+ recordingResponseParser,
27
+ recordingParser,
28
+ recordingListParser,
29
+ recordingInputParser,
30
+ readyResponseParser,
31
+ pendingDeletionParser,
32
+ pasteResponseParser,
33
+ pasteReceiptParser,
34
+ pasteListParser,
35
+ pasteInputParser,
36
+ pageOptionsParser,
37
+ healthResponseParser,
38
+ bootstrapInputParser,
39
+ accountResponseParser,
40
+ ContractValidationError
41
+ };
@@ -0,0 +1,117 @@
1
+ /** Public wire values only. Implementations own transport, credentials and session state. */
2
+ export type JSONValue = null | boolean | number | string | JSONValue[] | {
3
+ [key: string]: JSONValue;
4
+ };
5
+ export type ContractResult<T> = {
6
+ success: true;
7
+ data: T;
8
+ } | {
9
+ success: false;
10
+ error: {
11
+ code: "invalid_contract";
12
+ };
13
+ };
14
+ export interface ContractParser<T> {
15
+ parse(value: unknown): T;
16
+ safeParse(value: unknown): ContractResult<T>;
17
+ }
18
+ /** Never retains the rejected input, schema issues, a cause or a server message. */
19
+ export declare class ContractValidationError extends Error {
20
+ readonly code = "invalid_contract";
21
+ constructor();
22
+ }
23
+ export declare const WIRE_VERSION: "1.0";
24
+ export declare const REQUIRED_CAPABILITIES: readonly ["version-negotiation", "pcm-s16le-24000-mono", "audio-ack", "session-authorize"];
25
+ export declare const PCM_FORMAT: Readonly<{
26
+ readonly encoding: "pcm_s16le";
27
+ readonly sampleRateHz: 24000;
28
+ readonly channels: 1;
29
+ }>;
30
+ export declare const MAX_PCM_FRAME_BYTES = 24000;
31
+ export declare const MAX_PCM_BYTES = 86400000;
32
+ export declare const MAX_CONTROL_BYTES = 20000;
33
+ export interface WireMetadata {
34
+ wireVersion: string;
35
+ capabilities: string[];
36
+ }
37
+ export interface StreamStart {
38
+ type: "session.start";
39
+ sessionId: string;
40
+ model?: string;
41
+ language?: string;
42
+ wireVersion?: string;
43
+ capabilities?: string[];
44
+ }
45
+ export type StreamControl = StreamStart | {
46
+ type: "input.finish";
47
+ } | {
48
+ type: "session.cancel";
49
+ } | {
50
+ type: "session.authorize";
51
+ accessToken: string;
52
+ };
53
+ export interface StreamSegment {
54
+ id: string;
55
+ text: string;
56
+ startSecond?: number;
57
+ endSecond?: number;
58
+ [key: string]: unknown;
59
+ }
60
+ export interface StreamTranscript {
61
+ sessionId: string;
62
+ text: string;
63
+ segments?: StreamSegment[];
64
+ provenance?: Record<string, JSONValue>;
65
+ [key: string]: unknown;
66
+ }
67
+ interface EventBase {
68
+ sessionId: string;
69
+ sequence?: number;
70
+ [key: string]: unknown;
71
+ }
72
+ export interface AudioAccepted extends EventBase {
73
+ type: "audio.accepted";
74
+ bytes: number;
75
+ totalBytes: number;
76
+ }
77
+ export type StreamEvent = (EventBase & {
78
+ type: "session.ready";
79
+ format: typeof PCM_FORMAT;
80
+ maxInFlightAudioBytes?: number;
81
+ maxAudioDurationMs?: number;
82
+ expiresAt?: number;
83
+ wireVersion?: string;
84
+ capabilities?: string[];
85
+ }) | AudioAccepted | (EventBase & {
86
+ type: "session.authorized";
87
+ expiresAt: number;
88
+ }) | (EventBase & {
89
+ type: "partial" | "committed";
90
+ segment: StreamSegment;
91
+ }) | (EventBase & {
92
+ type: "final";
93
+ transcript: StreamTranscript;
94
+ recordingId?: string;
95
+ }) | (EventBase & {
96
+ type: "error";
97
+ code: string;
98
+ message?: string;
99
+ requestId?: string;
100
+ });
101
+ export declare const recordingIDParser: ContractParser<string>;
102
+ export declare const wireMetadataParser: ContractParser<WireMetadata>;
103
+ /** Absence is legacy v1. An explicit advertisement must be complete and compatible. */
104
+ export declare function optionalWireMetadata(value: {
105
+ wireVersion?: unknown;
106
+ capabilities?: unknown;
107
+ }): WireMetadata | undefined;
108
+ /** A decoded JSON control object; use parseStreamControlJSON for the byte-limited wire message. */
109
+ export declare const streamControlParser: ContractParser<StreamControl>;
110
+ export declare function parseStreamControlJSON(message: string): StreamControl;
111
+ export declare const streamEventParser: ContractParser<StreamEvent>;
112
+ /** No conversion, copy or cumulative accounting. The caller owns the session's total/buffer limits. */
113
+ export declare const pcmFrameParser: ContractParser<Uint8Array>;
114
+ /** Pure readback check; does not mutate counters or acknowledge unsent audio. */
115
+ export declare function acceptsAudioAcknowledgement(event: AudioAccepted, sentBytes: number, acknowledgedBytes: number): boolean;
116
+ export {};
117
+ //# sourceMappingURL=stream-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-v1.d.ts","sourceRoot":"","sources":["../../src/contracts/stream-v1.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACtG,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAA;CAAE,CAAC;AACrH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CAC9C;AACD,oFAAoF;AACpF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,sBAAsB;;CAEpC;AAQD,eAAO,MAAM,YAAY,EAAG,KAAc,CAAC;AAC3C,eAAO,MAAM,qBAAqB,4FAA4G,CAAC;AAC/I,eAAO,MAAM,UAAU;;;;EAAuF,CAAC;AAC/G,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,aAAa,WAAa,CAAC;AACxC,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,MAAM,WAAW,YAAY;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE;AAC7E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/C;AACD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,WAAW,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAC7H,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7H;AACD,UAAU,SAAS;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AACpF,MAAM,WAAW,aAAc,SAAQ,SAAS;IAAG,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAC9G,MAAM,MAAM,WAAW,GACnB,CAAC,SAAS,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,OAAO,UAAU,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC9F,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACnG,aAAa,GACb,CAAC,SAAS,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,CAAC,SAAS,GAAG;IAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,GACvE,CAAC,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACnF,CAAC,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAMxF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAc,CAAC;AAMpE,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CAAoB,CAAC;AACjF,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,GAAG,SAAS,CAGvH;AAYD,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,aAAa,CAAmB,CAAC;AAClF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAKrE;AAyBD,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAAiB,CAAC;AAC5E,uGAAuG;AACvG,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,UAAU,CAAmG,CAAC;AAC1J,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAIvH"}
@@ -0,0 +1,35 @@
1
+ // @bun
2
+ import {
3
+ ContractValidationError,
4
+ MAX_CONTROL_BYTES,
5
+ MAX_PCM_BYTES,
6
+ MAX_PCM_FRAME_BYTES,
7
+ PCM_FORMAT,
8
+ REQUIRED_CAPABILITIES,
9
+ WIRE_VERSION,
10
+ acceptsAudioAcknowledgement,
11
+ optionalWireMetadata,
12
+ parseStreamControlJSON,
13
+ pcmFrameParser,
14
+ recordingIDParser,
15
+ streamControlParser,
16
+ streamEventParser,
17
+ wireMetadataParser
18
+ } from "../hosted-v1-aavn7ktb.js";
19
+ export {
20
+ wireMetadataParser,
21
+ streamEventParser,
22
+ streamControlParser,
23
+ recordingIDParser,
24
+ pcmFrameParser,
25
+ parseStreamControlJSON,
26
+ optionalWireMetadata,
27
+ acceptsAudioAcknowledgement,
28
+ WIRE_VERSION,
29
+ REQUIRED_CAPABILITIES,
30
+ PCM_FORMAT,
31
+ MAX_PCM_FRAME_BYTES,
32
+ MAX_PCM_BYTES,
33
+ MAX_CONTROL_BYTES,
34
+ ContractValidationError
35
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,eAAO,MAAM,UAAU,UAqFtB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAAwB,CAAC;AAE7D,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAiBrD;AA0ED,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,oEAAoE;AACpE,wBAAgB,UAAU,IAAI,aAAa,CAK1C;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,eAAO,MAAM,UAAU,UA8FtB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAAwB,CAAC;AAE7D,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAiBrD;AA6ED,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,oEAAoE;AACpE,wBAAgB,UAAU,IAAI,aAAa,CAK1C;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,EAAE,MAAM,EAgGjC,CAAC"}
1
+ {"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,EAAE,MAAM,EAuGjC,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import { type Database } from "bun:sqlite";
2
2
  import type { Recording, CreateRecordingInput, RecordingFilter } from "../types/index.js";
3
3
  export declare function createRecording(input: CreateRecordingInput, db?: Database, idempotencyKey?: string): Recording;
4
+ /**
5
+ * Link an uploaded audio object to an existing recording row: object key,
6
+ * content digest and byte size. Called after the artifact kit upload at
7
+ * creation; a no-op shape-wise when the row is missing.
8
+ */
9
+ export declare function updateRecordingAudio(id: string, audioObjectKey: string, audioSha256: string, audioBytes: number, db?: Database): Recording | null;
4
10
  export declare function getRecording(id: string, db?: Database): Recording | null;
5
11
  export declare function listRecordings(filter?: RecordingFilter, db?: Database): Recording[];
6
12
  export declare function countRecordings(filter?: RecordingFilter, db?: Database): number;
@@ -1 +1 @@
1
- {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/db/recordings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AA4B3B,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAC3B,EAAE,CAAC,EAAE,QAAQ,EACb,cAAc,CAAC,EAAE,MAAM,GACtB,SAAS,CAsDX;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,GAAG,IAAI,CAgBlB;AAED,wBAAgB,cAAc,CAC5B,MAAM,CAAC,EAAE,eAAe,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,EAAE,CASb;AAED,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,eAAe,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAOR;AAsDD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAIT;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,EAAE,CAEb;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CA2CA"}
1
+ {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/db/recordings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AA+B3B,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAC3B,EAAE,CAAC,EAAE,QAAQ,EACb,cAAc,CAAC,EAAE,MAAM,GACtB,SAAS,CAyDX;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,GAAG,IAAI,CAOlB;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,GAAG,IAAI,CAgBlB;AAED,wBAAgB,cAAc,CAC5B,MAAM,CAAC,EAAE,eAAe,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,EAAE,CASb;AAED,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,eAAe,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAOR;AAsDD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAIT;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,EAAE,CAEb;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CA2CA"}
@@ -0,0 +1,58 @@
1
+ import * as contract from "../contracts/hosted-v1.js";
2
+ import { type ClientOptions, type RequestOptions } from "./transport.js";
3
+ export { RecordingsSDKError, type SDKErrorCode, type CredentialProvider, type ClientOptions, type RequestOptions } from "./transport.js";
4
+ export type { HostedRecordingInput as RecordingInput, HostedRecording as Recording, HostedPasteInput as PasteInput, HostedPasteReceipt as PasteReceipt, HostedAccount as Account, HostedAccountResponse as AccountResponse, HostedPageOptions as PageOptions } from "../contracts/hosted-v1.js";
5
+ export interface Cursor {
6
+ before: string;
7
+ beforeId: string;
8
+ }
9
+ export type DeletionResult = {
10
+ state: "removed";
11
+ } | {
12
+ state: "pending";
13
+ };
14
+ /** Explicit cursor for the last received row. No extra request or inferred total. */
15
+ export declare const recordingCursor: (last: contract.HostedRecording) => Cursor;
16
+ export declare const pasteCursor: (last: contract.HostedPasteReceipt) => Cursor;
17
+ /** Hosted JSON API adapter. No native control, ambient login or automatic retry. */
18
+ export declare class HostedRecordingsClient {
19
+ #private;
20
+ constructor(options: ClientOptions);
21
+ get apiBase(): string;
22
+ health(options?: RequestOptions): Promise<contract.HostedHealthResponse>;
23
+ version(options?: RequestOptions): Promise<contract.HostedVersionResponse>;
24
+ ready(options?: RequestOptions): Promise<contract.HostedReadyResponse>;
25
+ account(options?: RequestOptions): Promise<contract.HostedAccountResponse>;
26
+ /** Caller owns broker OAuth/PKCE. Profile authority comes from the opaque bearer session. */
27
+ bootstrap(options?: RequestOptions): Promise<contract.HostedAccountResponse>;
28
+ logout(options?: RequestOptions): Promise<void>;
29
+ listRecordings(page?: contract.HostedPageOptions, options?: RequestOptions): Promise<{
30
+ [key: string]: unknown;
31
+ recordings: contract.HostedRecording[];
32
+ }>;
33
+ getRecording(id: string, options?: RequestOptions): Promise<{
34
+ [key: string]: unknown;
35
+ recording: contract.HostedRecording;
36
+ }>;
37
+ saveRecording(value: contract.HostedRecordingInput, options?: RequestOptions): Promise<{
38
+ [key: string]: unknown;
39
+ recording: contract.HostedRecording;
40
+ }>;
41
+ renameRecording(id: string, title: string, options?: RequestOptions): Promise<{
42
+ [key: string]: unknown;
43
+ recording: contract.HostedRecording;
44
+ }>;
45
+ /** Pending is durable deletion accepted, not completed audio purge. Repeat explicitly. */
46
+ deleteRecording(id: string, options?: RequestOptions): Promise<DeletionResult>;
47
+ listPasteReceipts(page?: contract.HostedPageOptions, options?: RequestOptions): Promise<{
48
+ [key: string]: unknown;
49
+ receipts: contract.HostedPasteReceipt[];
50
+ }>;
51
+ savePasteReceipt(value: contract.HostedPasteInput, options?: RequestOptions): Promise<{
52
+ [key: string]: unknown;
53
+ receipt: contract.HostedPasteReceipt;
54
+ }>;
55
+ deletePasteReceipt(id: string, options?: RequestOptions): Promise<void>;
56
+ clearPasteHistory(options?: RequestOptions): Promise<void>;
57
+ }
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hosted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAA4B,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzI,YAAY,EAAE,oBAAoB,IAAI,cAAc,EAAE,eAAe,IAAI,SAAS,EAAE,gBAAgB,IAAI,UAAU,EAChH,kBAAkB,IAAI,YAAY,EAAE,aAAa,IAAI,OAAO,EAAE,qBAAqB,IAAI,eAAe,EACtG,iBAAiB,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACtE,MAAM,WAAW,MAAM;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAC5D,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AACzE,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,MAAM,QAAQ,CAAC,eAAe,KAAG,MAAyD,CAAC;AAC3H,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,CAAC,kBAAkB,KAAG,MAA0D,CAAC;AAE3H,oFAAoF;AACpF,qBAAa,sBAAsB;;gBAErB,OAAO,EAAE,aAAa;IAClC,IAAI,OAAO,IAAI,MAAM,CAAiC;IAChD,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc;IAC/B,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc;IAC9B,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc;IACtC,6FAA6F;IACvF,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc;IAGlC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,cAAc,CAAC,IAAI,GAAE,QAAQ,CAAC,iBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;IAG9E,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;IAGjD,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;IAG5E,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;IAGzE,0FAA0F;IACpF,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAK9E,iBAAiB,CAAC,IAAI,GAAE,QAAQ,CAAC,iBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;IAGjF,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;IAG3E,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,iBAAiB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CACjE"}