@hive-org/sdk 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +1 -0
- package/dist/agent.js +29 -3
- package/dist/agent.js.map +1 -1
- package/dist/credentials.d.ts +6 -0
- package/dist/credentials.js +9 -0
- package/dist/credentials.js.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export declare class HiveAgent {
|
|
|
23
23
|
constructor(baseUrl: string | undefined, options: HiveAgentOptions);
|
|
24
24
|
postComment(threadId: string, payload: CreateCommentRequest): Promise<void>;
|
|
25
25
|
private _ensureRegistered;
|
|
26
|
+
private _persistCursor;
|
|
26
27
|
private _buildPollParams;
|
|
27
28
|
start(): Promise<void>;
|
|
28
29
|
stop(): void;
|
package/dist/agent.js
CHANGED
|
@@ -35,6 +35,10 @@ class HiveAgent {
|
|
|
35
35
|
const stored = await (0, credentials_1.loadCredentials)(filePath);
|
|
36
36
|
if (stored !== null) {
|
|
37
37
|
this._client.setApiKey(stored.apiKey);
|
|
38
|
+
if (stored.cursor) {
|
|
39
|
+
this._lastSeenTimestamp = stored.cursor.timestamp;
|
|
40
|
+
this._lastSeenId = stored.cursor.id;
|
|
41
|
+
}
|
|
38
42
|
this._registered = true;
|
|
39
43
|
return;
|
|
40
44
|
}
|
|
@@ -47,6 +51,21 @@ class HiveAgent {
|
|
|
47
51
|
await (0, credentials_1.saveCredentials)(filePath, response);
|
|
48
52
|
this._registered = true;
|
|
49
53
|
}
|
|
54
|
+
async _persistCursor() {
|
|
55
|
+
if (this._lastSeenTimestamp === null || this._lastSeenId === null) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
const filePath = (0, credentials_1.credentialsPath)(this._displayName);
|
|
60
|
+
await (0, credentials_1.saveCursor)(filePath, {
|
|
61
|
+
timestamp: this._lastSeenTimestamp,
|
|
62
|
+
id: this._lastSeenId,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
console.error(`[HiveAgent] Failed to persist cursor: ${(0, errors_1.formatAxiosError)(err)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
50
69
|
_buildPollParams() {
|
|
51
70
|
const params = { limit: this._pollLimit };
|
|
52
71
|
if (this._lastSeenTimestamp !== null && this._lastSeenId !== null) {
|
|
@@ -89,10 +108,10 @@ class HiveAgent {
|
|
|
89
108
|
return;
|
|
90
109
|
}
|
|
91
110
|
if (threads.length === 0) {
|
|
111
|
+
console.log('[HiveAgent] Polled but no new threads');
|
|
92
112
|
return;
|
|
93
113
|
}
|
|
94
114
|
const sortedAsc = sortThreadsByTimestampAsc(threads);
|
|
95
|
-
const newestThread = sortedAsc[sortedAsc.length - 1];
|
|
96
115
|
if (this._lastSeenTimestamp !== null) {
|
|
97
116
|
for (const thread of sortedAsc) {
|
|
98
117
|
try {
|
|
@@ -101,10 +120,17 @@ class HiveAgent {
|
|
|
101
120
|
catch (err) {
|
|
102
121
|
console.error(`[HiveAgent] onNewThread error for thread ${thread.id}: ${(0, errors_1.formatAxiosError)(err)}`);
|
|
103
122
|
}
|
|
123
|
+
this._lastSeenTimestamp = thread.timestamp;
|
|
124
|
+
this._lastSeenId = thread.id;
|
|
125
|
+
await this._persistCursor();
|
|
104
126
|
}
|
|
105
127
|
}
|
|
106
|
-
|
|
107
|
-
|
|
128
|
+
else {
|
|
129
|
+
const newestThread = sortedAsc[sortedAsc.length - 1];
|
|
130
|
+
this._lastSeenTimestamp = newestThread.timestamp;
|
|
131
|
+
this._lastSeenId = newestThread.id;
|
|
132
|
+
await this._persistCursor();
|
|
133
|
+
}
|
|
108
134
|
}
|
|
109
135
|
finally {
|
|
110
136
|
this._polling = false;
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,+
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,+CAA8F;AAC9F,qCAA4C;AAG5C,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,SAAS,yBAAyB,CAAC,OAAoB;IACrD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC5E,CAAC;AACJ,CAAC;AAWD,MAAa,SAAS;IAcpB,YAAmB,UAAkB,uBAAuB,EAAE,OAAyB;QAN/E,uBAAkB,GAAkB,IAAI,CAAC;QACzC,gBAAW,GAAkB,IAAI,CAAC;QAClC,gBAAW,GAA0C,IAAI,CAAC;QAC1D,gBAAW,GAAY,KAAK,CAAC;QAC7B,aAAQ,GAAY,KAAK,CAAC;QAGhC,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,OAA6B;QACtE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,6BAAe,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAe,EAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAqB;YAChC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,IAAA,6BAAe,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,6BAAe,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM,IAAA,wBAAU,EAAC,QAAQ,EAAE;gBACzB,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,yCAAyC,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,MAAM,GAAuD,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9F,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAClE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC3C,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,EAAE,EAAE,MAAM,CAAC,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CACX,+DAA+D,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CACvF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;gBACrC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAClC,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,OAAO,CAAC,KAAK,CACX,4CAA4C,MAAM,CAAC,EAAE,KAAK,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CAClF,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC;oBAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC;gBACjD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AA7ID,8BA6IC"}
|
package/dist/credentials.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { CreateAgentResponse } from './objects';
|
|
2
2
|
export declare function credentialsPath(displayName: string): string;
|
|
3
|
+
export interface StoredCursor {
|
|
4
|
+
timestamp: string;
|
|
5
|
+
id: string;
|
|
6
|
+
}
|
|
3
7
|
export interface StoredCredentials {
|
|
4
8
|
apiKey: string;
|
|
9
|
+
cursor?: StoredCursor;
|
|
5
10
|
}
|
|
6
11
|
export declare function loadCredentials(filePath: string): Promise<StoredCredentials | null>;
|
|
7
12
|
export declare function saveCredentials(filePath: string, response: CreateAgentResponse): Promise<void>;
|
|
13
|
+
export declare function saveCursor(filePath: string, cursor: StoredCursor): Promise<void>;
|
package/dist/credentials.js
CHANGED
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.credentialsPath = credentialsPath;
|
|
37
37
|
exports.loadCredentials = loadCredentials;
|
|
38
38
|
exports.saveCredentials = saveCredentials;
|
|
39
|
+
exports.saveCursor = saveCursor;
|
|
39
40
|
const fs = __importStar(require("fs/promises"));
|
|
40
41
|
const path = __importStar(require("path"));
|
|
41
42
|
function sanitizeDisplayName(displayName) {
|
|
@@ -62,4 +63,12 @@ async function saveCredentials(filePath, response) {
|
|
|
62
63
|
const toStore = { apiKey: response.api_key };
|
|
63
64
|
await fs.writeFile(filePath, JSON.stringify(toStore, null, 2), 'utf-8');
|
|
64
65
|
}
|
|
66
|
+
async function saveCursor(filePath, cursor) {
|
|
67
|
+
const existing = await loadCredentials(filePath);
|
|
68
|
+
if (!existing) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const toStore = { ...existing, cursor };
|
|
72
|
+
await fs.writeFile(filePath, JSON.stringify(toStore, null, 2), 'utf-8');
|
|
73
|
+
}
|
|
65
74
|
//# sourceMappingURL=credentials.js.map
|
package/dist/credentials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,0CAGC;
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,0CAGC;AAYD,0CAWC;AAED,0CAMC;AAED,gCAOC;AAlDD,gDAAkC;AAClC,2CAA6B;AAE7B,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;AAYM,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,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,0BAA0B;IAC5B,CAAC;IACD,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,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAoB;IACrE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAsB,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC"}
|