@granular-software/sdk 0.4.38 → 0.4.39
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-evals.d.mts +4 -3
- package/dist/agent-evals.d.ts +4 -3
- package/dist/agent-evals.js +726 -48
- package/dist/agent-evals.js.map +1 -1
- package/dist/agent-evals.mjs +726 -49
- package/dist/agent-evals.mjs.map +1 -1
- package/dist/agent-harness.d.mts +9 -2
- package/dist/agent-harness.d.ts +9 -2
- package/dist/agent-harness.js +273 -5
- package/dist/agent-harness.js.map +1 -1
- package/dist/agent-harness.mjs +271 -6
- package/dist/agent-harness.mjs.map +1 -1
- package/dist/cli/index.js +164 -31
- package/dist/{client-BNbWA9jQ.d.ts → client-BZ8NuQ_e.d.ts} +17 -1
- package/dist/{client-HDJgcJC5.d.mts → client-CBQFvuKf.d.mts} +17 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +437 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +435 -37
- package/dist/index.mjs.map +1 -1
- package/dist/{spend-rzS1rlFr.d.mts → spend-tAz2a16I.d.mts} +35 -1
- package/dist/{spend-rzS1rlFr.d.ts → spend-tAz2a16I.d.ts} +35 -1
- package/dist/spend.d.mts +1 -1
- package/dist/spend.d.ts +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -18991,7 +18991,10 @@ var WSClient = class {
|
|
|
18991
18991
|
if (!expiresAt) {
|
|
18992
18992
|
return;
|
|
18993
18993
|
}
|
|
18994
|
-
const refreshInMs = Math.max(
|
|
18994
|
+
const refreshInMs = Math.max(
|
|
18995
|
+
1e3,
|
|
18996
|
+
expiresAt - Date.now() - TOKEN_REFRESH_LEEWAY_MS
|
|
18997
|
+
);
|
|
18995
18998
|
const delay = Math.min(refreshInMs, MAX_TIMER_DELAY_MS);
|
|
18996
18999
|
this.tokenRefreshTimer = setTimeout(() => {
|
|
18997
19000
|
void this.refreshTokenInBackground();
|
|
@@ -19037,7 +19040,10 @@ var WSClient = class {
|
|
|
19037
19040
|
return refreshedToken;
|
|
19038
19041
|
} catch (error2) {
|
|
19039
19042
|
if (expiresAt > Date.now()) {
|
|
19040
|
-
console.warn(
|
|
19043
|
+
console.warn(
|
|
19044
|
+
"[Granular] Token refresh failed, using current token:",
|
|
19045
|
+
error2
|
|
19046
|
+
);
|
|
19041
19047
|
return this.token;
|
|
19042
19048
|
}
|
|
19043
19049
|
throw error2;
|
|
@@ -19064,7 +19070,9 @@ var WSClient = class {
|
|
|
19064
19070
|
}
|
|
19065
19071
|
}
|
|
19066
19072
|
if (!WebSocketClass) {
|
|
19067
|
-
throw new Error(
|
|
19073
|
+
throw new Error(
|
|
19074
|
+
'No WebSocket implementation found. If using Node.js, please install "ws" and pass the constructor to the SDK options: { WebSocketCtor: WebSocket }.'
|
|
19075
|
+
);
|
|
19068
19076
|
}
|
|
19069
19077
|
return new Promise((resolve2, reject) => {
|
|
19070
19078
|
try {
|
|
@@ -19196,7 +19204,10 @@ var WSClient = class {
|
|
|
19196
19204
|
try {
|
|
19197
19205
|
this.options.onUnexpectedClose(info2);
|
|
19198
19206
|
} catch (callbackError) {
|
|
19199
|
-
console.error(
|
|
19207
|
+
console.error(
|
|
19208
|
+
"[Granular] onUnexpectedClose callback failed:",
|
|
19209
|
+
callbackError
|
|
19210
|
+
);
|
|
19200
19211
|
}
|
|
19201
19212
|
}
|
|
19202
19213
|
this.reconnectTimer = setTimeout(() => {
|
|
@@ -19213,7 +19224,10 @@ var WSClient = class {
|
|
|
19213
19224
|
try {
|
|
19214
19225
|
this.options.onReconnectError(reconnectInfo);
|
|
19215
19226
|
} catch (callbackError) {
|
|
19216
|
-
console.error(
|
|
19227
|
+
console.error(
|
|
19228
|
+
"[Granular] onReconnectError callback failed:",
|
|
19229
|
+
callbackError
|
|
19230
|
+
);
|
|
19217
19231
|
}
|
|
19218
19232
|
}
|
|
19219
19233
|
});
|
|
@@ -19222,7 +19236,10 @@ var WSClient = class {
|
|
|
19222
19236
|
}
|
|
19223
19237
|
handleMessage(message) {
|
|
19224
19238
|
if (typeof message !== "object" || message === null) return;
|
|
19225
|
-
debugWs(
|
|
19239
|
+
debugWs(
|
|
19240
|
+
"[Granular DEBUG] Received message:",
|
|
19241
|
+
JSON.stringify(message).slice(0, 500)
|
|
19242
|
+
);
|
|
19226
19243
|
if ("type" in message && message.type === "sync") {
|
|
19227
19244
|
const syncMessage = message;
|
|
19228
19245
|
let bytes;
|
|
@@ -19252,21 +19269,39 @@ var WSClient = class {
|
|
|
19252
19269
|
this.syncState = newSyncState;
|
|
19253
19270
|
const docAny = this.doc;
|
|
19254
19271
|
if (docAny.catalog) {
|
|
19255
|
-
debugWs(
|
|
19256
|
-
|
|
19272
|
+
debugWs(
|
|
19273
|
+
"[Granular DEBUG] Doc catalog sync applied. Keys in catalog:",
|
|
19274
|
+
Object.keys(docAny.catalog || {})
|
|
19275
|
+
);
|
|
19276
|
+
debugWs(
|
|
19277
|
+
"[Granular DEBUG] RawToolCatalogs:",
|
|
19278
|
+
Object.keys(docAny.catalog.rawToolCatalogs || {})
|
|
19279
|
+
);
|
|
19257
19280
|
} else {
|
|
19258
|
-
debugWs(
|
|
19281
|
+
debugWs(
|
|
19282
|
+
"[Granular DEBUG] Doc synced but no catalog yet. Keys in doc:",
|
|
19283
|
+
Object.keys(docAny)
|
|
19284
|
+
);
|
|
19259
19285
|
}
|
|
19260
19286
|
this.emit("sync", this.doc);
|
|
19261
19287
|
} catch (e) {
|
|
19262
19288
|
try {
|
|
19263
|
-
debugWs(
|
|
19289
|
+
debugWs(
|
|
19290
|
+
"[Granular DEBUG] receiveSyncMessage failed, trying applyChanges..."
|
|
19291
|
+
);
|
|
19264
19292
|
const [newDoc] = Automerge__namespace.applyChanges(this.doc, [bytes]);
|
|
19265
19293
|
this.doc = newDoc;
|
|
19266
19294
|
this.emit("sync", this.doc);
|
|
19267
|
-
debugWs(
|
|
19295
|
+
debugWs(
|
|
19296
|
+
"[Granular DEBUG] applyChanges succeeded. Doc:",
|
|
19297
|
+
JSON.stringify(Automerge__namespace.toJS(this.doc))
|
|
19298
|
+
);
|
|
19268
19299
|
} catch (applyError) {
|
|
19269
|
-
console.warn(
|
|
19300
|
+
console.warn(
|
|
19301
|
+
"[Granular] Failed to apply sync message (both sync & applyChanges)",
|
|
19302
|
+
e,
|
|
19303
|
+
applyError
|
|
19304
|
+
);
|
|
19270
19305
|
}
|
|
19271
19306
|
}
|
|
19272
19307
|
return;
|
|
@@ -19275,10 +19310,16 @@ var WSClient = class {
|
|
|
19275
19310
|
const snapshotMessage = message;
|
|
19276
19311
|
try {
|
|
19277
19312
|
const bytes = new Uint8Array(snapshotMessage.data);
|
|
19278
|
-
debugWs(
|
|
19313
|
+
debugWs(
|
|
19314
|
+
"[Granular DEBUG] Loading Automerge session snapshot bytes:",
|
|
19315
|
+
bytes.length
|
|
19316
|
+
);
|
|
19279
19317
|
this.doc = Automerge__namespace.load(bytes);
|
|
19280
19318
|
this.emit("sync", this.doc);
|
|
19281
|
-
debugWs(
|
|
19319
|
+
debugWs(
|
|
19320
|
+
"[Granular DEBUG] Automerge session snapshot loaded. Doc:",
|
|
19321
|
+
JSON.stringify(Automerge__namespace.toJS(this.doc))
|
|
19322
|
+
);
|
|
19282
19323
|
} catch (e) {
|
|
19283
19324
|
console.warn("[Granular] Failed to load snapshot message", e);
|
|
19284
19325
|
}
|
|
@@ -19290,6 +19331,7 @@ var WSClient = class {
|
|
|
19290
19331
|
const bytes = new Uint8Array(changeMessage.data);
|
|
19291
19332
|
const [newDoc] = Automerge__namespace.applyChanges(this.doc, [bytes]);
|
|
19292
19333
|
this.doc = newDoc;
|
|
19334
|
+
this.emit("change", changeMessage);
|
|
19293
19335
|
this.emit("sync", this.doc);
|
|
19294
19336
|
} catch (e) {
|
|
19295
19337
|
console.warn("[Granular] Failed to apply change message", e);
|
|
@@ -19302,12 +19344,16 @@ var WSClient = class {
|
|
|
19302
19344
|
if (pending) {
|
|
19303
19345
|
if (response.type === "rpc_error") {
|
|
19304
19346
|
pending.reject(
|
|
19305
|
-
new Error(
|
|
19347
|
+
new Error(
|
|
19348
|
+
`RPC error: ${response.error?.message || "Unknown error"}`
|
|
19349
|
+
)
|
|
19306
19350
|
);
|
|
19307
19351
|
} else {
|
|
19308
19352
|
pending.resolve(response.result);
|
|
19309
19353
|
}
|
|
19310
|
-
this.messageQueue = this.messageQueue.filter(
|
|
19354
|
+
this.messageQueue = this.messageQueue.filter(
|
|
19355
|
+
(q) => q.id !== response.id
|
|
19356
|
+
);
|
|
19311
19357
|
}
|
|
19312
19358
|
return;
|
|
19313
19359
|
}
|
|
@@ -21096,9 +21142,10 @@ function normalizeShowRefs(value) {
|
|
|
21096
21142
|
const show = {
|
|
21097
21143
|
entryPaths: normalizeRefs(record.entryPaths),
|
|
21098
21144
|
listNames: normalizeRefs(record.listNames),
|
|
21099
|
-
variableNames: normalizeRefs(record.variableNames)
|
|
21145
|
+
variableNames: normalizeRefs(record.variableNames),
|
|
21146
|
+
fileIds: normalizeRefs(record.fileIds)
|
|
21100
21147
|
};
|
|
21101
|
-
return show.entryPaths || show.listNames || show.variableNames ? show : void 0;
|
|
21148
|
+
return show.entryPaths || show.listNames || show.variableNames || show.fileIds ? show : void 0;
|
|
21102
21149
|
}
|
|
21103
21150
|
function stringifyTranscriptValue(value, fallback2 = "") {
|
|
21104
21151
|
if (typeof value === "string") {
|
|
@@ -21306,7 +21353,10 @@ function buildJobCodeEntry(jobId, job2) {
|
|
|
21306
21353
|
jobId,
|
|
21307
21354
|
code,
|
|
21308
21355
|
jobStatus,
|
|
21309
|
-
jobResultPreview: stringifyTranscriptValue(
|
|
21356
|
+
jobResultPreview: stringifyTranscriptValue(
|
|
21357
|
+
job2.result,
|
|
21358
|
+
"No job result recorded."
|
|
21359
|
+
),
|
|
21310
21360
|
error: error2,
|
|
21311
21361
|
source: "job_code"
|
|
21312
21362
|
};
|
|
@@ -21315,12 +21365,16 @@ function buildSessionTranscript(input) {
|
|
|
21315
21365
|
const liveDoc = input.liveDoc || null;
|
|
21316
21366
|
const sessionHeap = input.sessionHeap || EMPTY_HEAP;
|
|
21317
21367
|
const transcript = [];
|
|
21318
|
-
const conversationMessages = asArray(
|
|
21368
|
+
const conversationMessages = asArray(
|
|
21369
|
+
asRecord3(liveDoc?.conversation)?.messages
|
|
21370
|
+
).map((message) => normalizeConversationMessage(message)).filter((message) => Boolean(message));
|
|
21319
21371
|
const conversationPromptIds = new Set(
|
|
21320
21372
|
conversationMessages.map((message) => message.promptId).filter((promptId) => Boolean(promptId))
|
|
21321
21373
|
);
|
|
21322
21374
|
const assistantConversationJobIds = new Set(
|
|
21323
|
-
conversationMessages.filter(
|
|
21375
|
+
conversationMessages.filter(
|
|
21376
|
+
(message) => message.role === "assistant" && Boolean(message.jobId)
|
|
21377
|
+
).map((message) => message.jobId)
|
|
21324
21378
|
);
|
|
21325
21379
|
transcript.push(...conversationMessages);
|
|
21326
21380
|
const jobsById = asRecord3(asRecord3(liveDoc?.jobs)?.byId) || {};
|
|
@@ -21338,7 +21392,10 @@ function buildSessionTranscript(input) {
|
|
|
21338
21392
|
...normalizePromptEntries(jobId, job2.prompts, conversationPromptIds)
|
|
21339
21393
|
);
|
|
21340
21394
|
if (!assistantConversationJobIds.has(jobId)) {
|
|
21341
|
-
const agentEntries = normalizeAgentMessageEntries(
|
|
21395
|
+
const agentEntries = normalizeAgentMessageEntries(
|
|
21396
|
+
jobId,
|
|
21397
|
+
job2.agentMessages
|
|
21398
|
+
);
|
|
21342
21399
|
if (agentEntries.length > 0) {
|
|
21343
21400
|
transcript.push(...agentEntries);
|
|
21344
21401
|
} else {
|
|
@@ -21691,6 +21748,25 @@ var LOCAL_CONTROL_REQUEST_RETRY_DELAY_MS = 500;
|
|
|
21691
21748
|
var SESSION_DATA_REQUEST_RETRY_COUNT = 4;
|
|
21692
21749
|
var SESSION_DATA_REQUEST_RETRY_DELAY_MS = 500;
|
|
21693
21750
|
var EFFECT_HOST_CONNECT_TIMEOUT_MS = 15e3;
|
|
21751
|
+
function filenameFromUploadBody(body) {
|
|
21752
|
+
const maybe = body;
|
|
21753
|
+
return typeof maybe.name === "string" && maybe.name.trim() ? maybe.name.trim() : null;
|
|
21754
|
+
}
|
|
21755
|
+
function contentTypeFromUploadBody(body) {
|
|
21756
|
+
const maybe = body;
|
|
21757
|
+
return typeof maybe.type === "string" && maybe.type.trim() ? maybe.type.trim() : null;
|
|
21758
|
+
}
|
|
21759
|
+
function bodyInitFromSessionFileUpload(body) {
|
|
21760
|
+
if (typeof body === "string") return body;
|
|
21761
|
+
if (body instanceof ArrayBuffer) return body;
|
|
21762
|
+
if (ArrayBuffer.isView(body)) {
|
|
21763
|
+
return body.buffer.slice(
|
|
21764
|
+
body.byteOffset,
|
|
21765
|
+
body.byteOffset + body.byteLength
|
|
21766
|
+
);
|
|
21767
|
+
}
|
|
21768
|
+
return body;
|
|
21769
|
+
}
|
|
21694
21770
|
var EFFECT_CATALOG_SYNC_TIMEOUT_MS = 3e4;
|
|
21695
21771
|
var EFFECT_CATALOG_SYNC_RETRY_COUNT = 3;
|
|
21696
21772
|
var EFFECT_CATALOG_SYNC_RETRY_DELAY_MS = 1e3;
|
|
@@ -23175,7 +23251,7 @@ var EnvironmentSession = class extends Session {
|
|
|
23175
23251
|
const doc = this.document;
|
|
23176
23252
|
return normalizeHeapSnapshot(doc?.heap);
|
|
23177
23253
|
}
|
|
23178
|
-
|
|
23254
|
+
buildSessionDataUrl(path7, query) {
|
|
23179
23255
|
const searchParams = new URLSearchParams();
|
|
23180
23256
|
for (const [key, value] of Object.entries(query || {})) {
|
|
23181
23257
|
if (value !== null && typeof value !== "undefined" && value !== "") {
|
|
@@ -23183,20 +23259,21 @@ var EnvironmentSession = class extends Session {
|
|
|
23183
23259
|
}
|
|
23184
23260
|
}
|
|
23185
23261
|
const queryString = searchParams.toString();
|
|
23186
|
-
|
|
23187
|
-
|
|
23262
|
+
return `${this.environment.runtimeBaseUrl}${this.sessionDataRoutePrefix}/${encodeURIComponent(this.sessionId)}${path7}${queryString ? `?${queryString}` : ""}`;
|
|
23263
|
+
}
|
|
23264
|
+
async sessionDataFetch(path7, query, init2 = {}) {
|
|
23265
|
+
const url = this.buildSessionDataUrl(path7, query);
|
|
23188
23266
|
for (let attempt = 1; attempt <= SESSION_DATA_REQUEST_RETRY_COUNT; attempt += 1) {
|
|
23189
23267
|
try {
|
|
23268
|
+
const headers = new Headers(init2.headers);
|
|
23269
|
+
headers.set("Authorization", `Bearer ${this.environment.authToken}`);
|
|
23190
23270
|
const response = await fetch(url, {
|
|
23191
23271
|
method: init2.method || "GET",
|
|
23192
|
-
headers
|
|
23193
|
-
|
|
23194
|
-
"Content-Type": "application/json"
|
|
23195
|
-
},
|
|
23196
|
-
...typeof body === "undefined" ? {} : { body }
|
|
23272
|
+
headers,
|
|
23273
|
+
...typeof init2.body === "undefined" ? {} : { body: init2.body }
|
|
23197
23274
|
});
|
|
23198
23275
|
if (response.ok) {
|
|
23199
|
-
return response
|
|
23276
|
+
return response;
|
|
23200
23277
|
}
|
|
23201
23278
|
const errorText = await response.text();
|
|
23202
23279
|
const error2 = new Error(
|
|
@@ -23217,6 +23294,15 @@ var EnvironmentSession = class extends Session {
|
|
|
23217
23294
|
}
|
|
23218
23295
|
throw new Error(`Session data API Error: exhausted retries for ${url}`);
|
|
23219
23296
|
}
|
|
23297
|
+
async sessionDataRequest(path7, query, init2 = {}) {
|
|
23298
|
+
const body = typeof init2.body === "undefined" ? void 0 : JSON.stringify(init2.body);
|
|
23299
|
+
const response = await this.sessionDataFetch(path7, query, {
|
|
23300
|
+
method: init2.method || "GET",
|
|
23301
|
+
headers: { "Content-Type": "application/json" },
|
|
23302
|
+
...typeof body === "undefined" ? {} : { body }
|
|
23303
|
+
});
|
|
23304
|
+
return response.json();
|
|
23305
|
+
}
|
|
23220
23306
|
async collectAllSessionItems(listPage) {
|
|
23221
23307
|
const items = [];
|
|
23222
23308
|
let cursor = null;
|
|
@@ -23257,6 +23343,53 @@ var EnvironmentSession = class extends Session {
|
|
|
23257
23343
|
)
|
|
23258
23344
|
};
|
|
23259
23345
|
}
|
|
23346
|
+
get files() {
|
|
23347
|
+
return {
|
|
23348
|
+
list: (options = {}) => this.sessionDataRequest(
|
|
23349
|
+
"/files",
|
|
23350
|
+
options
|
|
23351
|
+
),
|
|
23352
|
+
get: (fileId) => this.sessionDataRequest(
|
|
23353
|
+
`/files/${encodeURIComponent(fileId)}`
|
|
23354
|
+
),
|
|
23355
|
+
upload: async (body, options = {}) => {
|
|
23356
|
+
const headers = new Headers({
|
|
23357
|
+
"Content-Type": options.contentType || contentTypeFromUploadBody(body) || "application/octet-stream",
|
|
23358
|
+
"x-granular-filename": options.filename || filenameFromUploadBody(body) || "upload",
|
|
23359
|
+
"x-granular-file-source": options.source || "sdk"
|
|
23360
|
+
});
|
|
23361
|
+
if (options.parentFileIds?.length) {
|
|
23362
|
+
headers.set(
|
|
23363
|
+
"x-granular-parent-file-ids",
|
|
23364
|
+
JSON.stringify(options.parentFileIds)
|
|
23365
|
+
);
|
|
23366
|
+
}
|
|
23367
|
+
if (options.metadata) {
|
|
23368
|
+
headers.set(
|
|
23369
|
+
"x-granular-file-metadata",
|
|
23370
|
+
JSON.stringify(options.metadata)
|
|
23371
|
+
);
|
|
23372
|
+
}
|
|
23373
|
+
const response = await this.sessionDataFetch("/files", void 0, {
|
|
23374
|
+
method: "POST",
|
|
23375
|
+
headers,
|
|
23376
|
+
body: bodyInitFromSessionFileUpload(body)
|
|
23377
|
+
});
|
|
23378
|
+
return response.json();
|
|
23379
|
+
},
|
|
23380
|
+
download: async (fileId) => {
|
|
23381
|
+
const response = await this.sessionDataFetch(
|
|
23382
|
+
`/files/${encodeURIComponent(fileId)}/content`
|
|
23383
|
+
);
|
|
23384
|
+
return response.arrayBuffer();
|
|
23385
|
+
},
|
|
23386
|
+
delete: (fileId) => this.sessionDataRequest(
|
|
23387
|
+
`/files/${encodeURIComponent(fileId)}`,
|
|
23388
|
+
void 0,
|
|
23389
|
+
{ method: "DELETE" }
|
|
23390
|
+
)
|
|
23391
|
+
};
|
|
23392
|
+
}
|
|
23260
23393
|
get heap() {
|
|
23261
23394
|
return {
|
|
23262
23395
|
entries: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b0 as WSClientOptions, L as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aE as Job, g as ToolHandler, I as InstanceToolHandler, aG as ConversationMessageInput, aH as ConversationAppendResult, ar as EffectInfo, P as Prompt, aq as ToolInfo, at as EffectsChangedEvent, as as ToolsChangedEvent, D as DomainState, q as GranularOptions, br as EnvironmentImporter, u as RecordUserOptions, U as User, w as OpenEnvironmentOptions, a5 as EnvironmentData, a2 as BuildPolicy, bp as EnvironmentSetupSummary, y as ConversationSessionInfo, x as CreateSessionOptions, ba as RecordObjectOptions, bb as RecordObjectResult, bd as RecordObjectsOptions, bk as RecordImport, bg as RecordImportStatus, bl as EnvironmentRecordImportSummary, aC as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, aW as SessionDocumentResult, aX as SessionCollectionListOptions, aZ as SessionCollectionListResult, aI as SessionConversationMessage, aJ as SessionTimelineEvent, aY as SessionJobListOptions, aP as SessionJobRecord, aN as SessionFileRecord, aO as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, aS as SessionHeapVariable, d as SessionTranscriptEntry, bN as GraphQLResult, aU as RecordSearchOptions, aT as RecordSearchResult, aV as RecordMentionInput, b9 as DefineRelationshipOptions, b8 as RelationshipInfo, b7 as ModelRef, bM as ManifestContent, bf as RecordImportOptions, C as ConnectOptions, bn as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, X as SandboxListResponse, V as Sandbox, W as CreateSandboxData, bP as DeleteResponse, Z as PermissionProfile, _ as CreatePermissionProfileData, a6 as CreateEnvironmentData, bQ as StreamEvent, bR as StreamSubscription, bS as StreamStats, v as Subject, a1 as AssignmentListResponse } from './spend-tAz2a16I.js';
|
|
2
2
|
import * as Automerge from '@automerge/automerge';
|
|
3
3
|
import { Doc } from '@automerge/automerge/slim';
|
|
4
4
|
|
|
@@ -251,6 +251,7 @@ declare class Session {
|
|
|
251
251
|
private checkForToolChanges;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
+
type SessionFileUploadBody = Blob | ArrayBuffer | Uint8Array | string;
|
|
254
255
|
type EnvironmentImporterHandler = (importer: EnvironmentImporter) => Promise<void> | void;
|
|
255
256
|
/**
|
|
256
257
|
* Environment is the sessionless handle for one resolved ontology environment.
|
|
@@ -670,6 +671,8 @@ declare class EnvironmentSession extends Session {
|
|
|
670
671
|
* Return a plain JS copy of the synced session heap.
|
|
671
672
|
*/
|
|
672
673
|
getHeap(): SessionHeapSnapshot;
|
|
674
|
+
private buildSessionDataUrl;
|
|
675
|
+
private sessionDataFetch;
|
|
673
676
|
private sessionDataRequest;
|
|
674
677
|
private collectAllSessionItems;
|
|
675
678
|
/**
|
|
@@ -689,6 +692,19 @@ declare class EnvironmentSession extends Session {
|
|
|
689
692
|
list: (options?: SessionJobListOptions) => Promise<SessionCollectionListResult<SessionJobRecord>>;
|
|
690
693
|
get: (jobId: string) => Promise<SessionJobRecord>;
|
|
691
694
|
};
|
|
695
|
+
get files(): {
|
|
696
|
+
list: (options?: SessionCollectionListOptions & {
|
|
697
|
+
status?: string | null;
|
|
698
|
+
source?: string | null;
|
|
699
|
+
}) => Promise<SessionCollectionListResult<SessionFileRecord>>;
|
|
700
|
+
get: (fileId: string) => Promise<SessionFileRecord>;
|
|
701
|
+
upload: (body: SessionFileUploadBody, options?: SessionFileUploadOptions) => Promise<SessionFileRecord>;
|
|
702
|
+
download: (fileId: string) => Promise<ArrayBuffer>;
|
|
703
|
+
delete: (fileId: string) => Promise<{
|
|
704
|
+
deleted: boolean;
|
|
705
|
+
fileId: string;
|
|
706
|
+
}>;
|
|
707
|
+
};
|
|
692
708
|
get heap(): {
|
|
693
709
|
entries: {
|
|
694
710
|
list: (options?: SessionCollectionListOptions) => Promise<SessionCollectionListResult<SessionHeapEntry>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b0 as WSClientOptions, L as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aE as Job, g as ToolHandler, I as InstanceToolHandler, aG as ConversationMessageInput, aH as ConversationAppendResult, ar as EffectInfo, P as Prompt, aq as ToolInfo, at as EffectsChangedEvent, as as ToolsChangedEvent, D as DomainState, q as GranularOptions, br as EnvironmentImporter, u as RecordUserOptions, U as User, w as OpenEnvironmentOptions, a5 as EnvironmentData, a2 as BuildPolicy, bp as EnvironmentSetupSummary, y as ConversationSessionInfo, x as CreateSessionOptions, ba as RecordObjectOptions, bb as RecordObjectResult, bd as RecordObjectsOptions, bk as RecordImport, bg as RecordImportStatus, bl as EnvironmentRecordImportSummary, aC as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, aW as SessionDocumentResult, aX as SessionCollectionListOptions, aZ as SessionCollectionListResult, aI as SessionConversationMessage, aJ as SessionTimelineEvent, aY as SessionJobListOptions, aP as SessionJobRecord, aN as SessionFileRecord, aO as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, aS as SessionHeapVariable, d as SessionTranscriptEntry, bN as GraphQLResult, aU as RecordSearchOptions, aT as RecordSearchResult, aV as RecordMentionInput, b9 as DefineRelationshipOptions, b8 as RelationshipInfo, b7 as ModelRef, bM as ManifestContent, bf as RecordImportOptions, C as ConnectOptions, bn as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, X as SandboxListResponse, V as Sandbox, W as CreateSandboxData, bP as DeleteResponse, Z as PermissionProfile, _ as CreatePermissionProfileData, a6 as CreateEnvironmentData, bQ as StreamEvent, bR as StreamSubscription, bS as StreamStats, v as Subject, a1 as AssignmentListResponse } from './spend-tAz2a16I.mjs';
|
|
2
2
|
import * as Automerge from '@automerge/automerge';
|
|
3
3
|
import { Doc } from '@automerge/automerge/slim';
|
|
4
4
|
|
|
@@ -251,6 +251,7 @@ declare class Session {
|
|
|
251
251
|
private checkForToolChanges;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
+
type SessionFileUploadBody = Blob | ArrayBuffer | Uint8Array | string;
|
|
254
255
|
type EnvironmentImporterHandler = (importer: EnvironmentImporter) => Promise<void> | void;
|
|
255
256
|
/**
|
|
256
257
|
* Environment is the sessionless handle for one resolved ontology environment.
|
|
@@ -670,6 +671,8 @@ declare class EnvironmentSession extends Session {
|
|
|
670
671
|
* Return a plain JS copy of the synced session heap.
|
|
671
672
|
*/
|
|
672
673
|
getHeap(): SessionHeapSnapshot;
|
|
674
|
+
private buildSessionDataUrl;
|
|
675
|
+
private sessionDataFetch;
|
|
673
676
|
private sessionDataRequest;
|
|
674
677
|
private collectAllSessionItems;
|
|
675
678
|
/**
|
|
@@ -689,6 +692,19 @@ declare class EnvironmentSession extends Session {
|
|
|
689
692
|
list: (options?: SessionJobListOptions) => Promise<SessionCollectionListResult<SessionJobRecord>>;
|
|
690
693
|
get: (jobId: string) => Promise<SessionJobRecord>;
|
|
691
694
|
};
|
|
695
|
+
get files(): {
|
|
696
|
+
list: (options?: SessionCollectionListOptions & {
|
|
697
|
+
status?: string | null;
|
|
698
|
+
source?: string | null;
|
|
699
|
+
}) => Promise<SessionCollectionListResult<SessionFileRecord>>;
|
|
700
|
+
get: (fileId: string) => Promise<SessionFileRecord>;
|
|
701
|
+
upload: (body: SessionFileUploadBody, options?: SessionFileUploadOptions) => Promise<SessionFileRecord>;
|
|
702
|
+
download: (fileId: string) => Promise<ArrayBuffer>;
|
|
703
|
+
delete: (fileId: string) => Promise<{
|
|
704
|
+
deleted: boolean;
|
|
705
|
+
fileId: string;
|
|
706
|
+
}>;
|
|
707
|
+
};
|
|
692
708
|
get heap(): {
|
|
693
709
|
entries: {
|
|
694
710
|
list: (options?: SessionCollectionListOptions) => Promise<SessionCollectionListResult<SessionHeapEntry>>;
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-
|
|
2
|
-
import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-
|
|
3
|
-
export {
|
|
1
|
+
export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-CBQFvuKf.mjs';
|
|
2
|
+
import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-tAz2a16I.mjs';
|
|
3
|
+
export { bO as APIError, A as AccessTokenProvider, a0 as Assignment, a1 as AssignmentListResponse, ab as Build, ad as BuildListResponse, a2 as BuildPolicy, aa as BuildStatus, C as ConnectOptions, aH as ConversationAppendResult, aG as ConversationMessageInput, aF as ConversationMessageShowRefs, y as ConversationSessionInfo, a6 as CreateEnvironmentData, _ as CreatePermissionProfileData, W as CreateSandboxData, x as CreateSessionOptions, b9 as DefineRelationshipOptions, bP as DeleteResponse, D as DomainState, au as EffectHandler, ar as EffectInfo, al as EffectInvocationMetadata, ak as EffectInvocationMode, am as EffectSchema, ap as EffectVersionSelector, an as EffectWithHandler, at as EffectsChangedEvent, a5 as EnvironmentData, aC as EnvironmentFeedbackRecord, br as EnvironmentImporter, bq as EnvironmentImporterImportOptions, a7 as EnvironmentListResponse, bl as EnvironmentRecordImportSummary, bo as EnvironmentSetupLifecycleStatus, bp as EnvironmentSetupSummary, bm as EnvironmentSetupTriggerReason, s as GranularAuth, q as GranularOptions, K as GranularQuotaPolicy, L as GranularQuotaProgress, G as GranularSpendContext, bN as GraphQLResult, av as InstanceEffectHandler, I as InstanceToolHandler, aE as Job, aA as JobFeedbackInput, az as JobFeedbackMetadata, aB as JobFeedbackRecord, ax as JobFeedbackSentiment, ay as JobFeedbackToolCall, aw as JobStatus, aD as JobSubmitResult, a8 as Manifest, bD as ManifestApprovalRequiredSpec, bM as ManifestContent, bB as ManifestDryRunSpec, bG as ManifestEffectDeclaration, bF as ManifestEffectSchema, bu as ManifestEnumRuleSpec, bI as ManifestEventStreamDef, bH as ManifestEventTypeDef, bv as ManifestFilterBySpec, bK as ManifestImport, a9 as ManifestListResponse, bJ as ManifestOperation, bA as ManifestPostConditionSpec, bs as ManifestPropertySpec, bE as ManifestRelationshipDef, bC as ManifestReverseSpec, bz as ManifestStateMachineSpec, bx as ManifestStateMachineStateSpec, by as ManifestStateMachineTransitionSpec, bt as ManifestValidationOperator, bw as ManifestValidationRuleSpec, bL as ManifestVolume, b7 as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, w as OpenEnvironmentOptions, Z as PermissionProfile, $ as PermissionProfileListResponse, Y as PermissionRules, ao as PublishEffectsResult, f as PublishToolsResult, J as QuotaLineItemFilter, B as QuotaPeriod, Q as QuotaScopeType, F as QuotaStatus, b1 as RPCRequest, b4 as RPCRequestFromServer, b2 as RPCResponse, bk as RecordImport, bj as RecordImportItem, bh as RecordImportItemStatus, bf as RecordImportOptions, bi as RecordImportStats, bg as RecordImportStatus, be as RecordImportWriteMode, aV as RecordMentionInput, ba as RecordObjectOptions, bb as RecordObjectResult, bc as RecordObjectsChunkInfo, bd as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, aU as RecordSearchOptions, aT as RecordSearchResult, u as RecordUserOptions, b8 as RelationshipInfo, aj as ResolvedEffectApprovalRequired, ah as ResolvedEffectDryRun, ag as ResolvedEffectPostCondition, ai as ResolvedEffectReverse, bn as RunEnvironmentImporterOptions, V as Sandbox, X as SandboxListResponse, af as SemanticVersionDiff, ae as SemanticVersionDiffEntry, aX as SessionCollectionListOptions, aZ as SessionCollectionListResult, aI as SessionConversationMessage, aW as SessionDocumentResult, aL as SessionFileKind, aN as SessionFileRecord, aK as SessionFileSource, aM as SessionFileStatus, aO as SessionFileUploadOptions, aQ as SessionHeapFieldType, aR as SessionHeapFieldValue, aS as SessionHeapVariable, aY as SessionJobListOptions, aP as SessionJobRecord, aJ as SessionTimelineEvent, z as SpendLineItemType, H as SpendSummary, bQ as StreamEvent, bS as StreamStats, bR as StreamSubscription, v as Subject, b3 as SyncMessage, g as ToolHandler, aq as ToolInfo, b5 as ToolInvokeParams, b6 as ToolResultParams, e as ToolSchema, as as ToolsChangedEvent, U as User, ac as Version, a4 as VersionTag, a3 as VersionTracking, b0 as WSClientOptions, a_ as WSDisconnectInfo, a$ as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-tAz2a16I.mjs';
|
|
4
4
|
export { ConditionIR, ConditionalPolicySpec, LimitPolicySpec, MatchedPolicy, PermissionActionSpec, PermissionPolicySpec, PermissionProfileFile, PolicyDecision, PolicyEvaluationContext, PolicyOutcome, PolicyRuleIR } from '@granular-software/policy-engine';
|
|
5
|
-
export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, GranularAgentPromptCapabilities, GranularAgentReferentFocus, GranularAgentSessionContext, GranularAgentToolInfo, GranularAgentWorkflowFocus, GranularReasoningTraceChunkResult, GranularReasoningTraceOptions, HarnessContinuationDecision, HarnessControllerBudgets, HarnessProjectionOptions, HarnessPromptLike, HarnessVerifierSnapshot, HarnessVerifierSnapshotInput, ReviewGeneratedJobCodeOptions, buildContinuationInstruction, buildGranularAgentCheckpointBlock, buildGranularAgentDomainBlock, buildGranularAgentHeapBlock, buildGranularAgentLoopBlock, buildGranularAgentReferentBlock, buildGranularAgentSessionBlock, buildGranularAgentSystemPrompt, buildGranularAgentToolBlock, buildGranularAgentWorkflowBlock, consumeGranularReasoningOnlyChunk, consumeGranularReasoningTraceChunk, createHarnessVerifierSnapshot, evaluateContinuation, getCurrentClosureId, getExclusivePromptTarget, hasOpenPrompt, projectConversationReferentFocus, projectConversationReferentSummary, projectHeapSummary, projectLoopSummary, projectWorkflowFocus, projectWorkflowSummary, reviewGeneratedJobCode, stripGranularReasoningTrace } from './agent-harness.mjs';
|
|
5
|
+
export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, GranularAgentPromptCapabilities, GranularAgentReferentFocus, GranularAgentSessionContext, GranularAgentToolInfo, GranularAgentWorkflowFocus, GranularReasoningTraceChunkResult, GranularReasoningTraceOptions, HarnessContinuationDecision, HarnessControllerBudgets, HarnessProjectionOptions, HarnessPromptLike, HarnessVerifierSnapshot, HarnessVerifierSnapshotInput, ReviewGeneratedJobCodeOptions, buildContinuationInstruction, buildGranularAgentCheckpointBlock, buildGranularAgentDomainBlock, buildGranularAgentFileBlock, buildGranularAgentHeapBlock, buildGranularAgentLoopBlock, buildGranularAgentReferentBlock, buildGranularAgentRuntimeImportsBlock, buildGranularAgentSessionBlock, buildGranularAgentSystemPrompt, buildGranularAgentToolBlock, buildGranularAgentWorkflowBlock, consumeGranularReasoningOnlyChunk, consumeGranularReasoningTraceChunk, createHarnessVerifierSnapshot, evaluateContinuation, getCurrentClosureId, getExclusivePromptTarget, hasOpenPrompt, projectConversationReferentFocus, projectConversationReferentSummary, projectHeapSummary, projectLoopSummary, projectSessionFileSummary, projectWorkflowFocus, projectWorkflowSummary, reviewGeneratedJobCode, stripGranularReasoningTrace } from './agent-harness.mjs';
|
|
6
6
|
import '@automerge/automerge';
|
|
7
7
|
import '@automerge/automerge/slim';
|
|
8
8
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-
|
|
2
|
-
import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-
|
|
3
|
-
export {
|
|
1
|
+
export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-BZ8NuQ_e.js';
|
|
2
|
+
import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-tAz2a16I.js';
|
|
3
|
+
export { bO as APIError, A as AccessTokenProvider, a0 as Assignment, a1 as AssignmentListResponse, ab as Build, ad as BuildListResponse, a2 as BuildPolicy, aa as BuildStatus, C as ConnectOptions, aH as ConversationAppendResult, aG as ConversationMessageInput, aF as ConversationMessageShowRefs, y as ConversationSessionInfo, a6 as CreateEnvironmentData, _ as CreatePermissionProfileData, W as CreateSandboxData, x as CreateSessionOptions, b9 as DefineRelationshipOptions, bP as DeleteResponse, D as DomainState, au as EffectHandler, ar as EffectInfo, al as EffectInvocationMetadata, ak as EffectInvocationMode, am as EffectSchema, ap as EffectVersionSelector, an as EffectWithHandler, at as EffectsChangedEvent, a5 as EnvironmentData, aC as EnvironmentFeedbackRecord, br as EnvironmentImporter, bq as EnvironmentImporterImportOptions, a7 as EnvironmentListResponse, bl as EnvironmentRecordImportSummary, bo as EnvironmentSetupLifecycleStatus, bp as EnvironmentSetupSummary, bm as EnvironmentSetupTriggerReason, s as GranularAuth, q as GranularOptions, K as GranularQuotaPolicy, L as GranularQuotaProgress, G as GranularSpendContext, bN as GraphQLResult, av as InstanceEffectHandler, I as InstanceToolHandler, aE as Job, aA as JobFeedbackInput, az as JobFeedbackMetadata, aB as JobFeedbackRecord, ax as JobFeedbackSentiment, ay as JobFeedbackToolCall, aw as JobStatus, aD as JobSubmitResult, a8 as Manifest, bD as ManifestApprovalRequiredSpec, bM as ManifestContent, bB as ManifestDryRunSpec, bG as ManifestEffectDeclaration, bF as ManifestEffectSchema, bu as ManifestEnumRuleSpec, bI as ManifestEventStreamDef, bH as ManifestEventTypeDef, bv as ManifestFilterBySpec, bK as ManifestImport, a9 as ManifestListResponse, bJ as ManifestOperation, bA as ManifestPostConditionSpec, bs as ManifestPropertySpec, bE as ManifestRelationshipDef, bC as ManifestReverseSpec, bz as ManifestStateMachineSpec, bx as ManifestStateMachineStateSpec, by as ManifestStateMachineTransitionSpec, bt as ManifestValidationOperator, bw as ManifestValidationRuleSpec, bL as ManifestVolume, b7 as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, w as OpenEnvironmentOptions, Z as PermissionProfile, $ as PermissionProfileListResponse, Y as PermissionRules, ao as PublishEffectsResult, f as PublishToolsResult, J as QuotaLineItemFilter, B as QuotaPeriod, Q as QuotaScopeType, F as QuotaStatus, b1 as RPCRequest, b4 as RPCRequestFromServer, b2 as RPCResponse, bk as RecordImport, bj as RecordImportItem, bh as RecordImportItemStatus, bf as RecordImportOptions, bi as RecordImportStats, bg as RecordImportStatus, be as RecordImportWriteMode, aV as RecordMentionInput, ba as RecordObjectOptions, bb as RecordObjectResult, bc as RecordObjectsChunkInfo, bd as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, aU as RecordSearchOptions, aT as RecordSearchResult, u as RecordUserOptions, b8 as RelationshipInfo, aj as ResolvedEffectApprovalRequired, ah as ResolvedEffectDryRun, ag as ResolvedEffectPostCondition, ai as ResolvedEffectReverse, bn as RunEnvironmentImporterOptions, V as Sandbox, X as SandboxListResponse, af as SemanticVersionDiff, ae as SemanticVersionDiffEntry, aX as SessionCollectionListOptions, aZ as SessionCollectionListResult, aI as SessionConversationMessage, aW as SessionDocumentResult, aL as SessionFileKind, aN as SessionFileRecord, aK as SessionFileSource, aM as SessionFileStatus, aO as SessionFileUploadOptions, aQ as SessionHeapFieldType, aR as SessionHeapFieldValue, aS as SessionHeapVariable, aY as SessionJobListOptions, aP as SessionJobRecord, aJ as SessionTimelineEvent, z as SpendLineItemType, H as SpendSummary, bQ as StreamEvent, bS as StreamStats, bR as StreamSubscription, v as Subject, b3 as SyncMessage, g as ToolHandler, aq as ToolInfo, b5 as ToolInvokeParams, b6 as ToolResultParams, e as ToolSchema, as as ToolsChangedEvent, U as User, ac as Version, a4 as VersionTag, a3 as VersionTracking, b0 as WSClientOptions, a_ as WSDisconnectInfo, a$ as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-tAz2a16I.js';
|
|
4
4
|
export { ConditionIR, ConditionalPolicySpec, LimitPolicySpec, MatchedPolicy, PermissionActionSpec, PermissionPolicySpec, PermissionProfileFile, PolicyDecision, PolicyEvaluationContext, PolicyOutcome, PolicyRuleIR } from '@granular-software/policy-engine';
|
|
5
|
-
export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, GranularAgentPromptCapabilities, GranularAgentReferentFocus, GranularAgentSessionContext, GranularAgentToolInfo, GranularAgentWorkflowFocus, GranularReasoningTraceChunkResult, GranularReasoningTraceOptions, HarnessContinuationDecision, HarnessControllerBudgets, HarnessProjectionOptions, HarnessPromptLike, HarnessVerifierSnapshot, HarnessVerifierSnapshotInput, ReviewGeneratedJobCodeOptions, buildContinuationInstruction, buildGranularAgentCheckpointBlock, buildGranularAgentDomainBlock, buildGranularAgentHeapBlock, buildGranularAgentLoopBlock, buildGranularAgentReferentBlock, buildGranularAgentSessionBlock, buildGranularAgentSystemPrompt, buildGranularAgentToolBlock, buildGranularAgentWorkflowBlock, consumeGranularReasoningOnlyChunk, consumeGranularReasoningTraceChunk, createHarnessVerifierSnapshot, evaluateContinuation, getCurrentClosureId, getExclusivePromptTarget, hasOpenPrompt, projectConversationReferentFocus, projectConversationReferentSummary, projectHeapSummary, projectLoopSummary, projectWorkflowFocus, projectWorkflowSummary, reviewGeneratedJobCode, stripGranularReasoningTrace } from './agent-harness.js';
|
|
5
|
+
export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, GranularAgentPromptCapabilities, GranularAgentReferentFocus, GranularAgentSessionContext, GranularAgentToolInfo, GranularAgentWorkflowFocus, GranularReasoningTraceChunkResult, GranularReasoningTraceOptions, HarnessContinuationDecision, HarnessControllerBudgets, HarnessProjectionOptions, HarnessPromptLike, HarnessVerifierSnapshot, HarnessVerifierSnapshotInput, ReviewGeneratedJobCodeOptions, buildContinuationInstruction, buildGranularAgentCheckpointBlock, buildGranularAgentDomainBlock, buildGranularAgentFileBlock, buildGranularAgentHeapBlock, buildGranularAgentLoopBlock, buildGranularAgentReferentBlock, buildGranularAgentRuntimeImportsBlock, buildGranularAgentSessionBlock, buildGranularAgentSystemPrompt, buildGranularAgentToolBlock, buildGranularAgentWorkflowBlock, consumeGranularReasoningOnlyChunk, consumeGranularReasoningTraceChunk, createHarnessVerifierSnapshot, evaluateContinuation, getCurrentClosureId, getExclusivePromptTarget, hasOpenPrompt, projectConversationReferentFocus, projectConversationReferentSummary, projectHeapSummary, projectLoopSummary, projectSessionFileSummary, projectWorkflowFocus, projectWorkflowSummary, reviewGeneratedJobCode, stripGranularReasoningTrace } from './agent-harness.js';
|
|
6
6
|
import '@automerge/automerge';
|
|
7
7
|
import '@automerge/automerge/slim';
|
|
8
8
|
|