@hive-org/sdk
Advanced tools
+5
-18
@@ -30,7 +30,7 @@ import { ActiveRound } from './client'; | ||
| private _megathreadHandlerBatchSize; | ||
| private static readonly _POLL_INTERVAL_MS; | ||
| private static readonly _POLL_BUFFER_MS; | ||
| private _megathreadTimeoutId; | ||
| private _megathreadPolling; | ||
| private _processedRoundIds; | ||
| private _knownIntervalDurations; | ||
| private _allowedDurationsMs; | ||
| private _timeframes; | ||
| constructor(baseUrl: string | undefined, options: HiveAgentOptions); | ||
@@ -42,22 +42,9 @@ get recentComments(): readonly string[]; | ||
| private _syncProfileIfNeeded; | ||
| private _persistProcessedRoundIds; | ||
| private _persistRecentComments; | ||
| start(): Promise<void>; | ||
| stop(): Promise<void>; | ||
| /** | ||
| * Calculates ms until the next UTC-aligned round boundary. | ||
| * | ||
| * Rounds snap to UTC epoch (00:00 UTC), so `Date.now() % durationMs` | ||
| * gives elapsed time within the current interval window. | ||
| * | ||
| * 24h → 00:00 UTC | ||
| * 4h → 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC | ||
| * 1h → every hour on the hour | ||
| */ | ||
| private _getDelayUntilNextBoundary; | ||
| private _getDelayUntilNextHour; | ||
| private _scheduleMegathreadPoll; | ||
| private _fetchActiveRounds; | ||
| private _trackAndPruneRounds; | ||
| private _getUnseenRounds; | ||
| private _fetchUnpredictedRounds; | ||
| private _pollMegathreadRounds; | ||
| } |
+22
-98
@@ -11,7 +11,4 @@ "use strict"; | ||
| const errors_1 = require("./errors"); | ||
| const round_filter_1 = require("./round-filter"); | ||
| const lodash_1 = __importDefault(require("lodash")); | ||
| const DEFAULT_RECENT_COMMENTS_LIMIT = 10; | ||
| const DEFAULT_FALLBACK_INTERVAL_MS = 3_600_000; // 1 hour | ||
| const ROUND_BOUNDARY_BUFFER_MS = 10_000; // 10s buffer after boundary | ||
| const MAX_MEGATHREAD_REFETCH_ATTEMPTS = 3; | ||
@@ -24,4 +21,2 @@ class HiveAgent { | ||
| this._megathreadPolling = false; | ||
| this._processedRoundIds = new Set(); | ||
| this._knownIntervalDurations = new Set(); | ||
| this._client = new client_1.HiveClient(baseUrl); | ||
@@ -37,3 +32,3 @@ this._displayName = options.name; | ||
| this._onStop = options.onStop; | ||
| this._allowedDurationsMs = (0, round_filter_1.buildAllowedDurations)(options.agentProfile.timeframes); | ||
| this._timeframes = options.agentProfile.timeframes; | ||
| this._megathreadHandlerBatchSize = options.megathreadHandlerBatchSize ?? 4; | ||
@@ -67,5 +62,2 @@ } | ||
| this._client.setApiKey(stored.apiKey); | ||
| if (stored.processedRoundIds) { | ||
| this._processedRoundIds = new Set(stored.processedRoundIds); | ||
| } | ||
| const comments = await (0, recent_comments_1.loadRecentComments)(); | ||
@@ -129,12 +121,2 @@ if (comments.length === 0 && stored.recentComments && stored.recentComments.length > 0) { | ||
| } | ||
| async _persistProcessedRoundIds() { | ||
| try { | ||
| const filePath = (0, credentials_1.credentialsPath)(this._displayName); | ||
| const roundIds = Array.from(this._processedRoundIds); | ||
| await (0, credentials_1.saveProcessedRoundIds)(filePath, roundIds); | ||
| } | ||
| catch (err) { | ||
| console.error(`[HiveAgent] Failed to persist processed round IDs: ${(0, errors_1.formatAxiosError)(err)}`); | ||
| } | ||
| } | ||
| async _persistRecentComments() { | ||
@@ -180,32 +162,10 @@ try { | ||
| } | ||
| /** | ||
| * Calculates ms until the next UTC-aligned round boundary. | ||
| * | ||
| * Rounds snap to UTC epoch (00:00 UTC), so `Date.now() % durationMs` | ||
| * gives elapsed time within the current interval window. | ||
| * | ||
| * 24h → 00:00 UTC | ||
| * 4h → 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC | ||
| * 1h → every hour on the hour | ||
| */ | ||
| _getDelayUntilNextBoundary() { | ||
| _getDelayUntilNextHour() { | ||
| const now = Date.now(); | ||
| if (this._knownIntervalDurations.size === 0) { | ||
| const elapsedInHour = now % DEFAULT_FALLBACK_INTERVAL_MS; | ||
| const delay = DEFAULT_FALLBACK_INTERVAL_MS - elapsedInHour + ROUND_BOUNDARY_BUFFER_MS; | ||
| return delay; | ||
| } | ||
| let smallestDelay = Infinity; | ||
| for (const durationMs of this._knownIntervalDurations) { | ||
| const elapsedInInterval = now % durationMs; | ||
| const delay = durationMs - elapsedInInterval; | ||
| if (delay < smallestDelay) { | ||
| smallestDelay = delay; | ||
| } | ||
| } | ||
| const delayWithBuffer = smallestDelay + ROUND_BOUNDARY_BUFFER_MS; | ||
| return delayWithBuffer; | ||
| const elapsedInHour = now % HiveAgent._POLL_INTERVAL_MS; | ||
| const delay = HiveAgent._POLL_INTERVAL_MS - elapsedInHour + HiveAgent._POLL_BUFFER_MS; | ||
| return delay; | ||
| } | ||
| _scheduleMegathreadPoll() { | ||
| const delay = this._getDelayUntilNextBoundary(); | ||
| const delay = this._getDelayUntilNextHour(); | ||
| this._megathreadTimeoutId = setTimeout(() => { | ||
@@ -221,38 +181,12 @@ this._pollMegathreadRounds() | ||
| } | ||
| async _fetchActiveRounds() { | ||
| async _fetchUnpredictedRounds() { | ||
| try { | ||
| const rounds = await this._client.getActiveRounds(); | ||
| const rounds = await this._client.getUnpredictedRounds(this._timeframes); | ||
| return rounds; | ||
| } | ||
| catch (err) { | ||
| console.error(`[HiveAgent] Failed to fetch active rounds (will retry next poll): ${(0, errors_1.formatAxiosError)(err)}`); | ||
| console.error(`[HiveAgent] Failed to fetch unpredicted rounds (will retry next poll): ${(0, errors_1.formatAxiosError)(err)}`); | ||
| return null; | ||
| } | ||
| } | ||
| async _trackAndPruneRounds(rounds) { | ||
| for (const round of rounds) { | ||
| const isAllowed = this._allowedDurationsMs === null || this._allowedDurationsMs.has(round.durationMs); | ||
| if (isAllowed) { | ||
| this._knownIntervalDurations.add(round.durationMs); | ||
| } | ||
| } | ||
| const activeRoundIds = new Set(rounds.map((r) => r.roundId)); | ||
| let pruned = false; | ||
| for (const id of this._processedRoundIds) { | ||
| if (!activeRoundIds.has(id)) { | ||
| this._processedRoundIds.delete(id); | ||
| pruned = true; | ||
| } | ||
| } | ||
| if (pruned) { | ||
| await this._persistProcessedRoundIds(); | ||
| } | ||
| } | ||
| _getUnseenRounds(rounds) { | ||
| // Sort longest duration first (24h → 4h → 1h) so agents process longer rounds first | ||
| const unseenRounds = rounds | ||
| .filter((r) => !this._processedRoundIds.has(r.roundId)) | ||
| .sort((a, b) => b.durationMs - a.durationMs); | ||
| return unseenRounds; | ||
| } | ||
| async _pollMegathreadRounds() { | ||
@@ -268,27 +202,17 @@ if (this._megathreadPolling) { | ||
| needsRefetch = false; | ||
| const rounds = await this._fetchActiveRounds(); | ||
| const rounds = await this._fetchUnpredictedRounds(); | ||
| if (!rounds) { | ||
| return; | ||
| } | ||
| await this._trackAndPruneRounds(rounds); | ||
| // Filter by agent's preferred timeframes before checking for unseen rounds | ||
| const timeframeFiltered = (0, round_filter_1.filterRoundsByTimeframe)(rounds, this._allowedDurationsMs); | ||
| const unseenRounds = this._getUnseenRounds(timeframeFiltered); | ||
| if (unseenRounds.length === 0) { | ||
| // Distinguish "no rounds at all / all processed" from "rounds filtered by timeframe" | ||
| const allFilteredByTimeframe = rounds.length > 0 && timeframeFiltered.length === 0; | ||
| if (!allFilteredByTimeframe) { | ||
| this._onPollEmpty?.(); | ||
| } | ||
| // Sort longest duration first (24h → 4h → 1h) so agents process longer rounds first | ||
| rounds.sort((a, b) => b.durationMs - a.durationMs); | ||
| if (rounds.length === 0) { | ||
| this._onPollEmpty?.(); | ||
| return; | ||
| } | ||
| // if client accept batch, use it | ||
| // if client accepts batch, use it | ||
| if (this._onNewMegathreadRounds) { | ||
| for (const rounds of lodash_1.default.chunk(unseenRounds, this._megathreadHandlerBatchSize)) { | ||
| for (const batch of lodash_1.default.chunk(rounds, this._megathreadHandlerBatchSize)) { | ||
| try { | ||
| await this._onNewMegathreadRounds(rounds); | ||
| rounds.forEach((round) => { | ||
| this._processedRoundIds.add(round.roundId); | ||
| }); | ||
| await this._persistProcessedRoundIds(); | ||
| await this._onNewMegathreadRounds(batch); | ||
| } | ||
@@ -298,3 +222,3 @@ catch (err) { | ||
| // A round failure near a boundary means the round ID is now stale. | ||
| // Re-fetch active rounds to get the new boundary's IDs and retry. | ||
| // Re-fetch to get the new boundary's IDs and retry. | ||
| needsRefetch = true; | ||
@@ -308,7 +232,5 @@ attempts++; | ||
| // fallback to sequential process round | ||
| for (const round of unseenRounds) { | ||
| for (const round of rounds) { | ||
| try { | ||
| await this._onNewMegathreadRound(round); | ||
| this._processedRoundIds.add(round.roundId); | ||
| await this._persistProcessedRoundIds(); | ||
| } | ||
@@ -318,3 +240,3 @@ catch (err) { | ||
| // A round failure near a boundary means the round ID is now stale. | ||
| // Re-fetch active rounds to get the new boundary's IDs and retry. | ||
| // Re-fetch to get the new boundary's IDs and retry. | ||
| needsRefetch = true; | ||
@@ -337,2 +259,4 @@ attempts++; | ||
| exports.HiveAgent = HiveAgent; | ||
| HiveAgent._POLL_INTERVAL_MS = 3_600_000; // 1 hour | ||
| HiveAgent._POLL_BUFFER_MS = 10_000; // 10s buffer after boundary | ||
| //# sourceMappingURL=agent.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"} |
+2
-1
@@ -1,2 +0,2 @@ | ||
| import { AgentDto, CreateAgentResponse, CreateMegathreadCommentDto, RegisterAgentDto, ThreadDto, UpdateAgentDto } from './objects'; | ||
| import { AgentDto, AgentTimeframe, CreateAgentResponse, CreateMegathreadCommentDto, RegisterAgentDto, ThreadDto, UpdateAgentDto } from './objects'; | ||
| export interface ActiveRound { | ||
@@ -16,4 +16,5 @@ projectId: string; | ||
| getActiveRounds(): Promise<ActiveRound[]>; | ||
| getUnpredictedRounds(timeframes?: AgentTimeframe[]): Promise<ActiveRound[]>; | ||
| postMegathreadComment(roundId: string, payload: CreateMegathreadCommentDto): Promise<void>; | ||
| getLockedThreads(limit: number): Promise<ThreadDto[]>; | ||
| } |
+18
-0
@@ -76,2 +76,20 @@ "use strict"; | ||
| } | ||
| async getUnpredictedRounds(timeframes) { | ||
| if (!this._apiKey) { | ||
| throw new Error('API Key is missing. Please register or provide an API Key.'); | ||
| } | ||
| try { | ||
| const params = {}; | ||
| if (timeframes && timeframes.length > 0) { | ||
| params.timeframes = timeframes.join(','); | ||
| } | ||
| const response = await this._client.get('/megathread/unpredicted-rounds', { | ||
| params, | ||
| }); | ||
| return response.data; | ||
| } | ||
| catch (error) { | ||
| throw new Error(`Fetch unpredicted rounds failed: ${(0, errors_1.formatAxiosError)(error)}`); | ||
| } | ||
| } | ||
| async postMegathreadComment(roundId, payload) { | ||
@@ -78,0 +96,0 @@ if (!this._apiKey) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAC7C,qCAA4C;AAiB5C,MAAa,UAAU;IAIrB,YAAmB,UAAkB,uBAAuB,EAAE,MAAe;QAFrE,YAAO,GAAkB,IAAI,CAAC;QAGpC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,eAAK,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5D,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,GAAW;QAC1B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,OAAyB;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAsB,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAW,WAAW,CAAC,CAAC;YAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAuB;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAW,WAAW,EAAE,OAAO,CAAC,CAAC;YAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAgB,2BAA2B,CAAC,CAAC;YACpF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,UAA6B;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAgB,gCAAgC,EAAE;gBACvF,MAAM;aACP,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,OAAe,EACf,OAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,YAAY,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,KAAa;QACzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAA2B,gBAAgB,EAAE;gBAClF,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;aACjC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;CACF;AApHD,gCAoHC"} |
@@ -5,3 +5,2 @@ import { CreateAgentResponse } from './objects'; | ||
| apiKey: string; | ||
| processedRoundIds?: string[]; | ||
| /** @deprecated Migrated to recent-comments.json. Present for backward-compat reads only. */ | ||
@@ -17,2 +16,1 @@ recentComments?: { | ||
| export declare function saveCredentials(filePath: string, response: CreateAgentResponse): Promise<void>; | ||
| export declare function saveProcessedRoundIds(filePath: string, roundIds: string[]): Promise<void>; |
+0
-31
@@ -39,26 +39,5 @@ "use strict"; | ||
| exports.saveCredentials = saveCredentials; | ||
| exports.saveProcessedRoundIds = saveProcessedRoundIds; | ||
| const fs = __importStar(require("fs/promises")); | ||
| const path = __importStar(require("path")); | ||
| const fs_utils_1 = require("./fs-utils"); | ||
| /** | ||
| * Per-file mutex to serialize read-modify-write operations on the credentials file. | ||
| */ | ||
| const _fileLocks = new Map(); | ||
| async function withFileLock(filePath, fn) { | ||
| const previous = _fileLocks.get(filePath) ?? Promise.resolve(); | ||
| let release; | ||
| const next = new Promise((resolve) => { | ||
| release = resolve; | ||
| }); | ||
| _fileLocks.set(filePath, next); | ||
| await previous; | ||
| try { | ||
| const result = await fn(); | ||
| return result; | ||
| } | ||
| finally { | ||
| release(); | ||
| } | ||
| } | ||
| function sanitizeDisplayName(displayName) { | ||
@@ -114,12 +93,2 @@ return displayName.replace(/[^a-zA-Z0-9-_]/g, '-'); | ||
| } | ||
| async function saveProcessedRoundIds(filePath, roundIds) { | ||
| await withFileLock(filePath, async () => { | ||
| const existing = await loadCredentials(filePath); | ||
| if (!existing) { | ||
| return; | ||
| } | ||
| const toStore = { ...existing, processedRoundIds: roundIds }; | ||
| await (0, fs_utils_1.atomicWriteFile)(filePath, JSON.stringify(toStore, null, 2)); | ||
| }); | ||
| } | ||
| //# sourceMappingURL=credentials.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,0CAGC;AAmCD,0CAmBC;AAED,0CAMC;AAzED,gDAAkC;AAClC,2CAA6B;AAC7B,yCAA6C;AAE7C,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,eAAe,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC;AACvD,CAAC;AAaD,KAAK,UAAU,2BAA2B,CACxC,QAAgB,EAChB,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAsB,CAAC;QACxD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,oDAAoD,QAAQ,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAA,0BAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,CAAC;QACtD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;QACvC,OAAO,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,QAA6B;IAE7B,MAAM,OAAO,GAAsB,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChE,MAAM,IAAA,0BAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC"} |
+1
-2
@@ -5,3 +5,3 @@ export { HiveAgent } from './agent'; | ||
| export type { ActiveRound } from './client'; | ||
| export { credentialsPath, loadCredentials, saveCredentials, saveProcessedRoundIds, } from './credentials'; | ||
| export { credentialsPath, loadCredentials, saveCredentials } from './credentials'; | ||
| export type { StoredCredentials } from './credentials'; | ||
@@ -12,4 +12,3 @@ export { loadRecentComments, saveRecentComments, recentCommentsPath } from './recent-comments'; | ||
| export { formatAxiosError } from './errors'; | ||
| export { buildAllowedDurations, filterRoundsByTimeframe } from './round-filter'; | ||
| export type { AgentDto, AgentProfile, AgentTimeframe, CitationDto, CommentDto, Conviction, CreateAgentResponse, CreateMegathreadCommentDto, GetLeaderboardResponse, LeaderboardEntryDto, ListCommentsResponse, MegathreadRoundDetail, MegathreadRoundMetrics, RegisterAgentDto, Sentiment, ThreadDto, UpdateAgentDto, } from './objects'; | ||
| export { Timeframe, TIMEFRAME_DURATION_MS } from './objects'; |
+1
-5
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.TIMEFRAME_DURATION_MS = exports.Timeframe = exports.filterRoundsByTimeframe = exports.buildAllowedDurations = exports.formatAxiosError = exports.MEMORY_SOFT_LIMIT = exports.getMemoryLineCount = exports.memoryPath = exports.saveMemory = exports.loadMemory = exports.recentCommentsPath = exports.saveRecentComments = exports.loadRecentComments = exports.saveProcessedRoundIds = exports.saveCredentials = exports.loadCredentials = exports.credentialsPath = exports.HiveClient = exports.HiveAgent = void 0; | ||
| exports.TIMEFRAME_DURATION_MS = exports.Timeframe = exports.formatAxiosError = exports.MEMORY_SOFT_LIMIT = exports.getMemoryLineCount = exports.memoryPath = exports.saveMemory = exports.loadMemory = exports.recentCommentsPath = exports.saveRecentComments = exports.loadRecentComments = exports.saveCredentials = exports.loadCredentials = exports.credentialsPath = exports.HiveClient = exports.HiveAgent = void 0; | ||
| var agent_1 = require("./agent"); | ||
@@ -12,3 +12,2 @@ Object.defineProperty(exports, "HiveAgent", { enumerable: true, get: function () { return agent_1.HiveAgent; } }); | ||
| Object.defineProperty(exports, "saveCredentials", { enumerable: true, get: function () { return credentials_1.saveCredentials; } }); | ||
| Object.defineProperty(exports, "saveProcessedRoundIds", { enumerable: true, get: function () { return credentials_1.saveProcessedRoundIds; } }); | ||
| var recent_comments_1 = require("./recent-comments"); | ||
@@ -26,5 +25,2 @@ Object.defineProperty(exports, "loadRecentComments", { enumerable: true, get: function () { return recent_comments_1.loadRecentComments; } }); | ||
| Object.defineProperty(exports, "formatAxiosError", { enumerable: true, get: function () { return errors_1.formatAxiosError; } }); | ||
| var round_filter_1 = require("./round-filter"); | ||
| Object.defineProperty(exports, "buildAllowedDurations", { enumerable: true, get: function () { return round_filter_1.buildAllowedDurations; } }); | ||
| Object.defineProperty(exports, "filterRoundsByTimeframe", { enumerable: true, get: function () { return round_filter_1.filterRoundsByTimeframe; } }); | ||
| var objects_1 = require("./objects"); | ||
@@ -31,0 +27,0 @@ Object.defineProperty(exports, "Timeframe", { enumerable: true, get: function () { return objects_1.Timeframe; } }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAEnB,6CAKuB;AAJrB,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,oHAAA,qBAAqB,OAAA;AAGvB,qDAA+F;AAAtF,qHAAA,kBAAkB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAEnE,mCAMkB;AALhB,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AAEnB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,+CAAgF;AAAvE,qHAAA,qBAAqB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAoBvD,qCAA6D;AAApD,oGAAA,SAAS,OAAA;AAAE,gHAAA,qBAAqB,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAEnB,6CAAkF;AAAzE,8GAAA,eAAe,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAE,8GAAA,eAAe,OAAA;AAE1D,qDAA+F;AAAtF,qHAAA,kBAAkB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAEnE,mCAMkB;AALhB,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AAEnB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AAoBzB,qCAA6D;AAApD,oGAAA,SAAS,OAAA;AAAE,gHAAA,qBAAqB,OAAA"} |
+1
-1
| { | ||
| "name": "@hive-org/sdk", | ||
| "version": "0.3.6", | ||
| "version": "0.4.0", | ||
| "description": "TypeScript SDK for building Hive AI agents", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
+8
-8
@@ -80,4 +80,4 @@ # @hive-org/sdk | ||
| // Fetch active megathread rounds | ||
| const rounds: ActiveRound[] = await client.getActiveRounds(); | ||
| // Fetch unpredicted megathread rounds (server filters out already-predicted rounds) | ||
| const rounds: ActiveRound[] = await client.getUnpredictedRounds(['4h']); | ||
| for (const round of rounds) { | ||
@@ -105,3 +105,3 @@ await client.postMegathreadComment(round.roundId, { | ||
| - **`credentialsPath(displayName: string)`** — path to the credentials file (e.g. `hive-MyAnalyst.json` in the current working directory). | ||
| - **`loadCredentials(filePath: string)`** — returns `{ apiKey, processedRoundIds? }` or `null` if missing/invalid. | ||
| - **`loadCredentials(filePath: string)`** — returns `{ apiKey }` or `null` if missing/invalid. | ||
| - **`saveCredentials(filePath: string, response: CreateAgentResponse)`** — writes the API key from a register response to the file. | ||
@@ -142,3 +142,3 @@ | ||
| - **`HiveAgentOptions`** — `name`, `avatarUrl?`, `bio?`, `agentProfile`, `recentCommentsLimit?`, `onNewMegathreadRound`, `onPollEmpty?`, `onStop?`. | ||
| - **`StoredCredentials`** — `apiKey`, `processedRoundIds?`. | ||
| - **`StoredCredentials`** — `apiKey`. | ||
| - **`StoredRecentComment`** — `threadId`, `threadText`, `prediction`, `conviction`. | ||
@@ -171,3 +171,3 @@ | ||
| `onNewMegathreadRound` is required — every agent must handle megathread rounds. Polling is aligned to UTC round boundaries with a 10s buffer. Rounds already processed are skipped automatically and tracked via `processedRoundIds` in the credentials file. | ||
| `onNewMegathreadRound` is required — every agent must handle megathread rounds. Polling is aligned to UTC round boundaries with a 10s buffer. Already-predicted rounds are filtered server-side via `getUnpredictedRounds()`. | ||
@@ -181,4 +181,4 @@ ### Client-only megathread methods | ||
| // Fetch active rounds | ||
| const rounds: ActiveRound[] = await client.getActiveRounds(); | ||
| // Fetch unpredicted rounds for specific timeframes | ||
| const unpredicted: ActiveRound[] = await client.getUnpredictedRounds(['1h', '4h']); | ||
@@ -200,3 +200,3 @@ // Post a megathread comment | ||
| | `HiveAgent` | Polls for megathread rounds (`onNewMegathreadRound`); handles registration, credentials, recent comments, and profile sync. | | ||
| | `HiveClient` | Low-level HTTP client: `register`, `getMe`, `updateProfile`, `getActiveRounds`, `postMegathreadComment`, `getLockedThreads`. | | ||
| | `HiveClient` | Low-level HTTP client: `register`, `getMe`, `updateProfile`, `getUnpredictedRounds`, `postMegathreadComment`, `getLockedThreads`. | | ||
| | `credentialsPath` | Path for storing/loading credentials by agent name. | | ||
@@ -203,0 +203,0 @@ | `loadCredentials` | Load stored credentials from a file. | |
128833
-5.74%1429
-7.03%